Compare commits

...

170 Commits

Author SHA1 Message Date
ida schmidt 8059e3574d make it say doot damn it 2022-06-14 13:49:00 -07:00
ida schmidt e09482ad29 Merge tag 'v3.5.3' of https://github.com/mastodon/mastodon into HEAD 2022-06-14 13:41:49 -07:00
Eugen Rochko fbcbf7898f
Bump version to 3.5.3 (#18530) 2022-05-26 23:26:15 +02:00
Eugen Rochko 0a1992430d
Fix errors when rendering RSS feeds (#18531) 2022-05-26 23:02:42 +02:00
Eugen Rochko 52f4e834f2
Fix concurrent unfollowing decrementing follower count more than once (#18527) 2022-05-26 22:14:47 +02:00
Eugen Rochko 8a9acbe604
Fix being able to appeal a strike unlimited times (#18529)
Peculiarity of the `has_one` association is that the convenience
creation method deletes the previous association even if the new
one is invalid
2022-05-26 22:08:12 +02:00
Eugen Rochko c4d2c39a75
Fix being able to report otherwise inaccessible statuses (#18528) 2022-05-26 22:08:02 +02:00
Eugen Rochko 1ff4877945
Fix empty votes arbitrarily increasing voters count in polls (#18526) 2022-05-26 22:06:10 +02:00
Eugen Rochko 976cd6413e
Fix moderator leak in undo_mark_statuses_as_sensitive (#18525)
Signed-off-by: Eugen Rochko <eugen@zeonfederated.com>

Co-authored-by: 40826d <74816220+40826d@users.noreply.github.com>
2022-05-26 22:04:16 +02:00
Eugen Rochko 9f81b9f29a
Fix suspended users being able to access APIs that don't require a user (#18524) 2022-05-26 22:04:05 +02:00
Eugen Rochko 96129c2f10
Fix confirmation redirect to app without `Location` header (#18523) 2022-05-26 22:03:54 +02:00
Eugen Rochko 3e0e7a1cfb
Fix follower and other counters being able to go negative (#18517) 2022-05-26 20:32:48 +02:00
Yamagishi Kazutoshi 702b709d9a
Add ES6 compatibility to browserslist (#18519) 2022-05-26 20:29:28 +02:00
Eugen Rochko d8abc0018f
Remove 3.3.x from supported versions in security policy (#18516) 2022-05-26 18:43:14 +02:00
Eugen Rochko 088dc0ec5a
Fix regression in `tootctl search deploy` caused by unloaded attribute (#18514) 2022-05-26 18:05:47 +02:00
Eugen Rochko a4fa9e23fc
Change "dangerous" to "sensitive" in privacy policy and web UI (#18515)
Fix #18470
2022-05-26 17:55:05 +02:00
Claire 440eb71310
Change unapproved and unconfirmed account to not be accessible in the REST API (#17530)
* Change unapproved and unconfirmed account to not be accessible in the REST API

* Change Account#searchable? to reject unconfirmed and unapproved users

* Disable search for unapproved and unconfirmed users in Account.search_for

* Disable search for unapproved and unconfirmed users in Account.advanced_search_for

* Remove unconfirmed and unapproved accounts from Account.searchable scope

* Prevent mentions to unapproved/unconfirmed accounts

* Fix some old tests for Account.advanced_search_for

* Add some Account.advanced_search_for tests for existing behaviors

* Add some tests for Account.search_for

* Add Account.advanced_search_for tests unconfirmed and unapproved accounts

* Add Account.searchable tests

* Fix Account.without_unapproved scope potentially messing with previously-applied scopes

* Allow lookup of unconfirmed/unapproved accounts through /api/v1/accounts/lookup

This is so that the API can still be used to check whether an username is free
to use.
2022-05-26 15:50:33 +02:00
dependabot[bot] 86f4dba47e
Bump @babel/preset-env from 7.17.12 to 7.18.2 (#18512)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.17.12 to 7.18.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.2/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-26 09:16:19 +09:00
dependabot[bot] 77823333bb
Bump @babel/plugin-transform-runtime from 7.17.12 to 7.18.2 (#18511)
Bumps [@babel/plugin-transform-runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-runtime) from 7.17.12 to 7.18.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.2/packages/babel-plugin-transform-runtime)

---
updated-dependencies:
- dependency-name: "@babel/plugin-transform-runtime"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-26 09:06:44 +09:00
dependabot[bot] ddddd4c043
Bump immutable from 4.0.0 to 4.1.0 (#18502)
Bumps [immutable](https://github.com/immutable-js/immutable-js) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/immutable-js/immutable-js/releases)
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/immutable-js/immutable-js/compare/v4.0.0...v4.1.0)

---
updated-dependencies:
- dependency-name: immutable
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-26 08:41:07 +09:00
dependabot[bot] 01db331657
Bump @babel/plugin-transform-runtime from 7.17.12 to 7.18.0 (#18489)
Bumps [@babel/plugin-transform-runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-runtime) from 7.17.12 to 7.18.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.0/packages/babel-plugin-transform-runtime)

---
updated-dependencies:
- dependency-name: "@babel/plugin-transform-runtime"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-26 08:06:55 +09:00
dependabot[bot] 2bc5e41b83
Bump @babel/runtime from 7.17.9 to 7.18.0 (#18494)
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.17.9 to 7.18.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.0/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-26 08:06:29 +09:00
dependabot[bot] 4d48d83b00
Bump @babel/core from 7.17.12 to 7.18.0 (#18490)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.17.12 to 7.18.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.0/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-26 08:05:53 +09:00
Claire 25dda3061e
Fix unnecessary query on status creation (#17901) 2022-05-26 00:20:30 +02:00
Eugen Rochko 96f29ce91a
New Crowdin updates (#18458)
* New translations en.yml (Ido)

* New translations en.json (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations devise.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (Ido)

* New translations en.yml (Ido)

* New translations en.json (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations doorkeeper.en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations en.yml (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.json (Armenian)

* New translations en.json (Armenian)

* New translations en.json (Armenian)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.yml (Russian)

* New translations en.json (Estonian)

* New translations en.json (Estonian)

* New translations en.json (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Russian)

* New translations en.yml (Russian)

* New translations simple_form.en.yml (Russian)

* New translations en.yml (Russian)

* New translations simple_form.en.yml (Russian)

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

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

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

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

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

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

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

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

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

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

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

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

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-05-24 23:33:18 +09:00
Claire e5997a1956
Fix warning an account outside of a report closing all reports for that account (#18387)
* Fix warning an account outside of a report closing all reports for that account

* Make it clear what actions solve other reports

* Revert "Make it clear what actions solve other reports"

This reverts commit ad006de821f72e75480701298d13f0945b509059.
2022-05-23 20:38:29 +02:00
Eugen Rochko a9b64b24d6
Change algorithm of `tootctl search deploy` to improve performance (#18463) 2022-05-22 22:16:43 +02:00
dependabot[bot] 54bb659ad1
Bump sidekiq from 6.4.1 to 6.4.2 (#18091)
Bumps [sidekiq](https://github.com/mperham/sidekiq) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/mperham/sidekiq/releases)
- [Changelog](https://github.com/mperham/sidekiq/blob/main/Changes.md)
- [Commits](https://github.com/mperham/sidekiq/compare/v6.4.1...v6.4.2)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-21 15:43:36 +09:00
Yamagishi Kazutoshi dfb9e6dab1
Disable transpile to older iOS versions (#18462) 2022-05-20 04:39:05 +02:00
Yamagishi Kazutoshi e925b06721
Fix languages dropdown on light theme (#18460) 2022-05-19 19:26:19 +02:00
Eugen Rochko 9a0fa28993
New Crowdin updates (#18419)
* New translations en.json (German)

* New translations en.json (Welsh)

* New translations en.json (Japanese)

* New translations en.json (Korean)

* New translations en.json (Turkish)

* New translations en.json (Chinese Simplified)

* New translations en.json (Vietnamese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Asturian)

* New translations en.json (Irish)

* New translations en.json (Arabic)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Galician)

* New translations en.json (Czech)

* New translations en.json (Slovak)

* New translations en.json (Icelandic)

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

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

* New translations en.json (Norwegian)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Afrikaans)

* New translations en.json (Bulgarian)

* New translations en.json (Persian)

* New translations en.json (Tamil)

* New translations en.json (Malayalam)

* New translations en.json (Silesian)

* New translations en.json (Taigi)

* New translations en.json (Ido)

* New translations en.json (Kabyle)

* New translations en.json (Sanskrit)

* New translations en.json (Sardinian)

* New translations en.json (Corsican)

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

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

* New translations en.json (Occitan)

* New translations en.json (Kannada)

* New translations en.json (Cornish)

* New translations en.json (Sinhala)

* New translations en.json (Breton)

* New translations en.json (Tatar)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Kazakh)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Bengali)

* New translations en.json (Marathi)

* New translations en.json (Thai)

* New translations en.json (Croatian)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Estonian)

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

* New translations en.json (Latvian)

* New translations en.json (Hindi)

* New translations en.json (Malay)

* New translations en.json (Telugu)

* New translations en.json (Esperanto)

* New translations en.json (Uyghur)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.yml (Icelandic)

* New translations en.json (German)

* New translations en.json (Turkish)

* New translations en.json (Icelandic)

* New translations en.json (Greek)

* New translations en.json (Chinese Traditional)

* New translations en.json (Catalan)

* New translations en.json (Latvian)

* New translations en.json (Czech)

* New translations en.json (Indonesian)

* New translations en.json (Korean)

* New translations en.json (Russian)

* New translations en.json (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (German)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Danish)

* New translations en.json (Chinese Simplified)

* New translations en.json (Afrikaans)

* New translations en.json (Ukrainian)

* New translations en.json (Portuguese)

* New translations en.yml (Italian)

* New translations en.json (Italian)

* New translations en.yml (Italian)

* New translations en.json (Catalan)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (French)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (Arabic)

* New translations en.yml (Arabic)

* New translations en.yml (Hungarian)

* New translations en.json (Hungarian)

* New translations en.yml (Galician)

* New translations en.json (Galician)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Ido)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (Catalan)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (Korean)

* New translations en.json (Polish)

* New translations en.yml (Ido)

* New translations en.json (Czech)

* New translations en.json (Hungarian)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Ido)

* New translations en.json (Russian)

* New translations en.json (Latvian)

* New translations en.yml (Russian)

* New translations en.json (Russian)

* New translations devise.en.yml (Russian)

* New translations en.yml (Ido)

* New translations en.json (Icelandic)

* New translations en.json (Portuguese)

* New translations en.yml (Ido)

* New translations en.json (Catalan)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* Run `yarn manage:translations`

* New translations en.json (Chinese Simplified)

* New translations en.yml (Slovenian)

* New translations en.json (Slovenian)

* New translations en.json (Vietnamese)

* New translations en.json (Chinese Traditional)

* New translations en.json (Chinese Simplified)

* New translations en.json (Spanish)

* New translations en.json (Greek)

* New translations en.json (Thai)

* New translations en.json (Turkish)

* New translations en.json (Turkish)

* New translations en.json (Italian)

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

* New translations en.yml (Japanese)

* New translations en.json (Japanese)

* New translations en.json (Afrikaans)

* New translations en.yml (Basque)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Esperanto)

* New translations en.json (German)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (Chinese Simplified)

* New translations en.json (German)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Korean)

* New translations en.yml (Galician)

* New translations en.json (Galician)

* New translations devise.en.yml (Galician)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Russian)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

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

* New translations en.yml (Ido)

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

* New translations en.yml (German)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Korean)

* New translations en.json (Korean)

* New translations simple_form.en.yml (Korean)

* New translations en.yml (Korean)

* New translations en.json (Ukrainian)

* New translations en.yml (Arabic)

* New translations en.json (Arabic)

* New translations en.json (Arabic)

* New translations en.json (Arabic)

* New translations en.json (Arabic)

* New translations en.json (Thai)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Russian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Chinese Simplified)

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

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

* New translations en.yml (Ido)

* New translations en.json (French)

* New translations en.json (Indonesian)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Vietnamese)

* New translations en.json (Esperanto)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

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

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-05-19 19:58:16 +09:00
Eugen Rochko 679b7158e3
Change search indexing to use batches to minimize resource usage (#18451) 2022-05-18 23:29:14 +02:00
dependabot[bot] ded5a0254a
Bump yargs from 17.4.1 to 17.5.1 (#18437)
Bumps [yargs](https://github.com/yargs/yargs) from 17.4.1 to 17.5.1.
- [Release notes](https://github.com/yargs/yargs/releases)
- [Changelog](https://github.com/yargs/yargs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/yargs/yargs/compare/v17.4.1...v17.5.1)

---
updated-dependencies:
- dependency-name: yargs
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-19 03:33:13 +09:00
dependabot[bot] ffc2971466
Bump dotenv from 16.0.0 to 16.0.1 (#18438)
Bumps [dotenv](https://github.com/motdotla/dotenv) from 16.0.0 to 16.0.1.
- [Release notes](https://github.com/motdotla/dotenv/releases)
- [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md)
- [Commits](https://github.com/motdotla/dotenv/compare/v16.0.0...v16.0.1)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-19 03:30:31 +09:00
dependabot[bot] a918a76bfb
Bump glob from 8.0.1 to 8.0.3 (#18440)
Bumps [glob](https://github.com/isaacs/node-glob) from 8.0.1 to 8.0.3.
- [Release notes](https://github.com/isaacs/node-glob/releases)
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v8.0.1...v8.0.3)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-19 03:29:53 +09:00
dependabot[bot] 6b4e2d5ce6
Bump rubocop from 1.28.2 to 1.29.1 (#18433)
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.28.2 to 1.29.1.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.28.2...v1.29.1)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-19 03:27:55 +09:00
dependabot[bot] 6048eeed04
Bump faker from 2.20.0 to 2.21.0 (#18434)
Bumps [faker](https://github.com/faker-ruby/faker) from 2.20.0 to 2.21.0.
- [Release notes](https://github.com/faker-ruby/faker/releases)
- [Changelog](https://github.com/faker-ruby/faker/blob/master/CHANGELOG.md)
- [Commits](https://github.com/faker-ruby/faker/compare/v2.20.0...v2.21.0)

---
updated-dependencies:
- dependency-name: faker
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-19 03:27:02 +09:00
dependabot[bot] 1a880533ac
Bump @babel/preset-env from 7.17.10 to 7.17.12 (#18443)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.17.10 to 7.17.12.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.17.12/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-05-18 21:25:23 +09:00
dependabot[bot] d842f645d1
Bump @babel/plugin-proposal-decorators from 7.17.9 to 7.17.12 (#18442)
Bumps [@babel/plugin-proposal-decorators](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-decorators) from 7.17.9 to 7.17.12.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.17.12/packages/babel-plugin-proposal-decorators)

---
updated-dependencies:
- dependency-name: "@babel/plugin-proposal-decorators"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-05-18 21:16:16 +09:00
dependabot[bot] a4d7426f10
Bump @babel/plugin-transform-runtime from 7.17.10 to 7.17.12 (#18441)
Bumps [@babel/plugin-transform-runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-runtime) from 7.17.10 to 7.17.12.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.17.12/packages/babel-plugin-transform-runtime)

---
updated-dependencies:
- dependency-name: "@babel/plugin-transform-runtime"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-18 21:02:31 +09:00
dependabot[bot] 82d4a45630
Bump @babel/preset-react from 7.16.7 to 7.17.12 (#18436)
Bumps [@babel/preset-react](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react) from 7.16.7 to 7.17.12.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.17.12/packages/babel-preset-react)

---
updated-dependencies:
- dependency-name: "@babel/preset-react"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-18 21:01:58 +09:00
dependabot[bot] 9fcef31580
Bump @babel/core from 7.17.10 to 7.17.12 (#18439)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.17.10 to 7.17.12.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.17.12/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-18 21:01:23 +09:00
Claire e0bdaeab65
Fix NoMethodError when resolving a link that redirects to a local post (#18314)
* Fix NoMethodError when resolving a link that redirects to a local post

* Fix tests
2022-05-17 14:52:26 +02:00
Yamagishi Kazutoshi c78a622ba4
Prevent update to redis 4.1.0 (#18444) 2022-05-17 10:12:00 +02:00
Eugen Rochko d25015fc5b
Revert "Bump redis from 4.0.6 to 4.1.0" (#18430) 2022-05-16 20:14:20 +02:00
Eugen Rochko 6c699b1723
Fix preferred posting language returning unusable value in REST API (#18428) 2022-05-16 19:13:36 +02:00
Eugen Rochko 0cdb077570
Add language dropdown to compose in web UI (#18420) 2022-05-16 11:18:35 +02:00
Yamagishi Kazutoshi c3fac61f56
Fix `Mastodon::RaceConditionError` that occurs when external status is reblogged (#18424)
* Fix `Mastodon::RaceConditionError` that occurs when external status is reblogged

* Replace to `@object`
2022-05-16 01:00:09 +02:00
Eugen Rochko 95a036c598
New Crowdin updates (#18339)
* New translations en.yml (Asturian)

* New translations en.yml (Kannada)

* New translations en.yml (Sinhala)

* New translations en.yml (Marathi)

* New translations en.yml (Malay)

* 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 (Hindi)

* New translations en.yml (Telugu)

* New translations en.yml (Breton)

* 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 (Malayalam)

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

* New translations en.yml (Korean)

* New translations en.yml (Russian)

* New translations en.yml (Turkish)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Swedish)

* New translations en.yml (Catalan)

* New translations en.yml (Czech)

* New translations en.yml (Spanish)

* New translations en.yml (Greek)

* New translations en.yml (Portuguese)

* New translations en.yml (Ukrainian)

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

* New translations en.yml (German)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Polish)

* New translations en.yml (Asturian)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Chinese Traditional)

* New translations en.json (Persian)

* New translations en.yml (Persian)

* New translations en.yml (Chinese Traditional)

* New translations en.json (Chinese Traditional)

* New translations en.json (Persian)

* New translations en.yml (Persian)

* New translations en.yml (Chinese Traditional)

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

* New translations en.json (Persian)

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

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

* New translations en.yml (Chinese Traditional)

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

* New translations en.yml (Chinese Traditional)

* New translations en.json (Chinese Traditional)

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

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

* New translations en.yml (Icelandic)

* New translations en.yml (Indonesian)

* New translations en.yml (Japanese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Japanese)

* New translations en.yml (Latvian)

* New translations en.yml (Galician)

* New translations en.yml (Thai)

* New translations en.yml (Italian)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Welsh)

* New translations en.yml (Welsh)

* New translations en.yml (Welsh)

* New translations en.yml (Welsh)

* New translations en.yml (Welsh)

* New translations en.json (Korean)

* New translations en.yml (Hungarian)

* New translations en.yml (Welsh)

* New translations en.yml (French)

* New translations en.yml (Scottish Gaelic)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.yml (Afrikaans)

* New translations en.json (Afrikaans)

* New translations en.json (Ido)

* New translations en.json (Afrikaans)

* New translations en.json (Afrikaans)

* New translations en.json (Afrikaans)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Catalan)

* New translations en.json (Catalan)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Arabic)

* New translations en.json (Arabic)

* New translations en.yml (Arabic)

* New translations en.json (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations devise.en.yml (Ido)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Catalan)

* New translations en.yml (Afrikaans)

* New translations en.yml (Latvian)

* New translations en.yml (Italian)

* New translations en.yml (Greek)

* New translations en.yml (Hungarian)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Ido)

* New translations en.yml (Hungarian)

* New translations en.json (Hungarian)

* New translations simple_form.en.yml (Hungarian)

* New translations en.yml (Korean)

* New translations en.yml (Russian)

* New translations en.yml (Hungarian)

* New translations en.yml (Turkish)

* New translations en.yml (Korean)

* New translations en.yml (Portuguese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Portuguese)

* New translations en.yml (Icelandic)

* New translations en.yml (Albanian)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Danish)

* New translations simple_form.en.yml (Ido)

* New translations en.yml (Polish)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Ukrainian)

* New translations en.yml (Indonesian)

* New translations en.yml (Spanish)

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

* New translations en.json (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

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

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Chinese Simplified)

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

* New translations en.yml (German)

* New translations en.json (Chinese Simplified)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Galician)

* New translations en.yml (French)

* New translations en.json (Galician)

* New translations en.yml (French)

* New translations en.yml (Welsh)

* New translations en.yml (Arabic)

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

* New translations en.yml (Arabic)

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

* New translations en.yml (Arabic)

* New translations doorkeeper.en.yml (Arabic)

* New translations en.json (Arabic)

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

* New translations simple_form.en.yml (Arabic)

* New translations en.yml (Arabic)

* New translations en.yml (Arabic)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.json (Hindi)

* New translations en.json (Hindi)

* New translations en.json (Hindi)

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

* New translations en.yml (Slovenian)

* New translations en.yml (Hungarian)

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

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.json (French)

* New translations en.json (Croatian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.yml (Welsh)

* New translations en.yml (Welsh)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Traditional)

* New translations en.json (Tatar)

* New translations en.json (Tatar)

* New translations en.yml (Catalan)

* New translations en.yml (Hebrew)

* New translations en.yml (Catalan)

* New translations en.yml (Hebrew)

* New translations devise.en.yml (Catalan)

* New translations en.yml (Russian)

* New translations doorkeeper.en.yml (Russian)

* New translations en.yml (Russian)

* New translations en.yml (Swedish)

* New translations en.yml (Spanish)

* New translations en.yml (Turkish)

* New translations en.yml (Welsh)

* New translations en.yml (Latvian)

* New translations en.json (Slovak)

* New translations en.yml (Slovak)

* New translations en.json (Slovak)

* New translations en.yml (Czech)

* New translations en.yml (Portuguese)

* New translations en.yml (Afrikaans)

* New translations activerecord.en.yml (Afrikaans)

* New translations activerecord.en.yml (Afrikaans)

* New translations en.yml (Afrikaans)

* New translations activerecord.en.yml (Afrikaans)

* New translations en.json (Esperanto)

* New translations en.json (Esperanto)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Ido)

* New translations en.json (Spanish, Argentina)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.yml (Danish)

* New translations en.yml (Vietnamese)

* New translations en.yml (German)

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

* New translations en.yml (Polish)

* New translations en.yml (Indonesian)

* New translations en.yml (Korean)

* New translations en.yml (Italian)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.yml (Polish)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-05-15 18:04:59 +09:00
James Smith 98400a6887
Support STREAMING_API_BASE_URL in Helm Chart (#18408)
This adds a mastodon.streaming.base_url setting in the Helm chart values
file to allow setting the STREAMING_API_BASE_URL in the Mastodon environnment
config map.
2022-05-14 10:03:44 +02:00
Eugen Rochko 42c976fd65
Fix missing string for appeal validation error (#18410) 2022-05-14 06:51:59 +02:00
Eugen Rochko 6cf57c6765
Refactor how Redis locks are created (#18400)
* Refactor how Redis locks are created

* Fix autorelease duration on account deletion lock
2022-05-13 00:02:35 +02:00
Jeong Arm 12535568f7
Fix rss view on hashtag (#18406) 2022-05-12 22:40:54 +02:00
dependabot[bot] bda8345e91
Bump rails from 6.1.5.1 to 6.1.6 (#18372)
Bumps [rails](https://github.com/rails/rails) from 6.1.5.1 to 6.1.6.
- [Release notes](https://github.com/rails/rails/releases)
- [Commits](https://github.com/rails/rails/compare/v6.1.5.1...v6.1.6)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-12 10:54:27 +09:00
dependabot[bot] 2923ca461f
Bump @rails/ujs from 6.1.5 to 6.1.6 (#18380)
Bumps [@rails/ujs](https://github.com/rails/rails) from 6.1.5 to 6.1.6.
- [Release notes](https://github.com/rails/rails/releases)
- [Commits](https://github.com/rails/rails/compare/v6.1.5...v6.1.6)

---
updated-dependencies:
- dependency-name: "@rails/ujs"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-12 10:44:41 +09:00
dependabot[bot] a52dc01f30
Bump nokogiri from 1.13.4 to 1.13.6 (#18371)
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.4 to 1.13.6.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/v1.13.6/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.4...v1.13.6)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-12 10:43:30 +09:00
dependabot[bot] 3261d89af6
Bump aws-sdk-s3 from 1.113.2 to 1.114.0 (#18373)
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.113.2 to 1.114.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

---
updated-dependencies:
- dependency-name: aws-sdk-s3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-12 10:42:52 +09:00
dependabot[bot] 95555f15b5
Bump jest from 28.0.3 to 28.1.0 (#18377)
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 28.0.3 to 28.1.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v28.1.0/packages/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 04:15:04 +09:00
dependabot[bot] 68260c0257
Bump sidekiq-unique-jobs from 7.1.21 to 7.1.22 (#18375)
Bumps [sidekiq-unique-jobs](https://github.com/mhenrixon/sidekiq-unique-jobs) from 7.1.21 to 7.1.22.
- [Release notes](https://github.com/mhenrixon/sidekiq-unique-jobs/releases)
- [Changelog](https://github.com/mhenrixon/sidekiq-unique-jobs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mhenrixon/sidekiq-unique-jobs/compare/v7.1.21...v7.1.22)

---
updated-dependencies:
- dependency-name: sidekiq-unique-jobs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 04:09:31 +09:00
dependabot[bot] a2ef5e3212
Bump array-includes from 3.1.4 to 3.1.5 (#18381)
Bumps [array-includes](https://github.com/es-shims/array-includes) from 3.1.4 to 3.1.5.
- [Release notes](https://github.com/es-shims/array-includes/releases)
- [Changelog](https://github.com/es-shims/array-includes/blob/main/CHANGELOG.md)
- [Commits](https://github.com/es-shims/array-includes/compare/v3.1.4...v3.1.5)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 04:08:27 +09:00
dependabot[bot] 3ca348fa11
Bump i18n-tasks from 1.0.9 to 1.0.10 (#18370)
Bumps [i18n-tasks](https://github.com/glebm/i18n-tasks) from 1.0.9 to 1.0.10.
- [Release notes](https://github.com/glebm/i18n-tasks/releases)
- [Changelog](https://github.com/glebm/i18n-tasks/blob/main/CHANGES.md)
- [Commits](https://github.com/glebm/i18n-tasks/compare/v1.0.9...v1.0.10)

---
updated-dependencies:
- dependency-name: i18n-tasks
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 04:04:12 +09:00
dependabot[bot] 593637145e
Bump babel-jest from 28.0.3 to 28.1.0 (#18374)
Bumps [babel-jest](https://github.com/facebook/jest/tree/HEAD/packages/babel-jest) from 28.0.3 to 28.1.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v28.1.0/packages/babel-jest)

---
updated-dependencies:
- dependency-name: babel-jest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 04:02:08 +09:00
dependabot[bot] 19216f93b5
Bump jest-environment-jsdom from 28.0.2 to 28.1.0 (#18379)
Bumps [jest-environment-jsdom](https://github.com/facebook/jest/tree/HEAD/packages/jest-environment-jsdom) from 28.0.2 to 28.1.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v28.1.0/packages/jest-environment-jsdom)

---
updated-dependencies:
- dependency-name: jest-environment-jsdom
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 04:01:51 +09:00
dependabot[bot] e7d0bf731e
Bump capybara from 3.36.0 to 3.37.1 (#18376)
Bumps [capybara](https://github.com/teamcapybara/capybara) from 3.36.0 to 3.37.1.
- [Release notes](https://github.com/teamcapybara/capybara/releases)
- [Changelog](https://github.com/teamcapybara/capybara/blob/master/History.md)
- [Commits](https://github.com/teamcapybara/capybara/compare/3.36.0...3.37.1)

---
updated-dependencies:
- dependency-name: capybara
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 04:01:16 +09:00
dependabot[bot] d3c18058d7
Bump react-select from 5.3.1 to 5.3.2 (#18382)
Bumps [react-select](https://github.com/JedWatson/react-select) from 5.3.1 to 5.3.2.
- [Release notes](https://github.com/JedWatson/react-select/releases)
- [Changelog](https://github.com/JedWatson/react-select/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/JedWatson/react-select/compare/react-select@5.3.1...react-select@5.3.2)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 04:00:31 +09:00
Eugen Rochko b4d373a3df
Add `limited` attribute to accounts in REST API and a warning in web UI (#18344) 2022-05-10 09:44:35 +02:00
luzpaz 898fe2fa8e
Fix typo in source `setted`->`set` (#18385)
Found via `codespell -q 3 -S ./CHANGELOG.md,./AUTHORS.md,./config/locales,./app/javascript/mastodon/locales -L ba,keypair,medias,ro`
2022-05-10 04:58:04 +02:00
Claire 662ed53c18
Fix block/mute lists showing a follow button when unblocking a user (#18364)
Fixes #601
2022-05-09 23:20:19 +02:00
Claire f714e24ff1
Fix redis configuration not being changed by mastodon:setup (#18383)
Fixes #18342
2022-05-09 23:19:11 +02:00
Eugen Rochko 2b8dc58b7f
Change RSS feeds (#18356)
* Change RSS feeds

- Use date and time for titles instead of ellipsized text
- Use full content in body, even when there is a content warning
- Use media extensions

* Change feed icons and add width and height attributes to custom emojis

* Fix custom emoji animate on hover breaking

* Fix tests
2022-05-09 07:43:08 +02:00
Claire f17e73da09
Fix streaming notifications not using quick filter logic (#18316)
Fixes #18309

The quickFilter logic was used on display and to request new notification
pages, but not for live updates. The main issue this caused is bump the unread
notifications count regardless of the quickFilter setting.

Since notifications are re-fetched when changing quickFilter settings, it is
safe to drop live notifications that do not match the selected filter.
2022-05-07 04:50:40 +02:00
Claire 991353682d
Fix ambiguous wording on appeal actions (#18328)
Fixes #18322
2022-05-06 21:41:34 +02:00
Claire 5a448d0d71
Fix floating action button obscuring last element (#18332)
Fixes #18331

Add some padding below the last element of scrollable lists when the FAB is
shown in order for users to always be able to fully see the last element.
2022-05-06 21:40:49 +02:00
Claire a53003c6f1
Fix account warnings not being recorded in audit log (#18338)
* Fix account warnings not being recorded in audit log

Fixes #18334

* Only record warnings if they are not associated to another action
2022-05-06 21:40:20 +02:00
Eugen Rochko 9250578e6b
New Crowdin updates (#18255)
* New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong)

* New translations doorkeeper.en.yml (Tatar)

* New translations doorkeeper.en.yml (Malayalam)

* New translations doorkeeper.en.yml (Breton)

* New translations doorkeeper.en.yml (Sinhala)

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

* New translations en.json (Chinese Traditional)

* New translations en.json (Catalan)

* New translations en.json (Japanese)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

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

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.json (Korean)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.json (Korean)

* New translations en.yml (Hebrew)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Hebrew)

* New translations en.json (Vietnamese)

* New translations en.json (Turkish)

* New translations en.json (Galician)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

* Add whitelist_en-GB.json [ci skip]

* New translations en.json (Ukrainian)

* New translations en.json (Ukrainian)

* New translations en.json (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Swedish)

* New translations en.json (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Greek)

* New translations en.json (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Ukrainian)

* New translations en.json (Thai)

* New translations en.yml (Hebrew)

* New translations en.yml (Ukrainian)

* New translations en.json (Polish)

* New translations en.json (Ukrainian)

* New translations doorkeeper.en.yml (Ukrainian)

* New translations en.json (Thai)

* New translations en.yml (Hebrew)

* New translations en.yml (Ukrainian)

* New translations en.json (Danish)

* New translations en.json (Hebrew)

* New translations en.json (Ido)

* New translations simple_form.en.yml (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Danish)

* New translations en.json (Ido)

* New translations en.yml (Hebrew)

* New translations doorkeeper.en.yml (Hebrew)

* New translations en.json (Ido)

* New translations en.yml (Hebrew)

* New translations en.yml (Afrikaans)

* New translations en.json (Afrikaans)

* New translations en.yml (Hebrew)

* New translations en.json (Afrikaans)

* New translations en.json (Hebrew)

* New translations en.json (Slovenian)

* New translations simple_form.en.yml (Hebrew)

* New translations en.yml (Slovenian)

* New translations en.json (Hebrew)

* New translations en.json (Slovenian)

* New translations en.json (Ukrainian)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Slovenian)

* New translations en.yml (Hebrew)

* New translations en.json (Hebrew)

* New translations en.json (Latvian)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Slovenian)

* New translations en.yml (Hebrew)

* New translations en.json (Hebrew)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Slovenian)

* New translations en.yml (Hebrew)

* New translations en.yml (Slovenian)

* New translations en.json (Hebrew)

* New translations simple_form.en.yml (Ukrainian)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Slovenian)

* New translations en.yml (Hebrew)

* New translations en.yml (Slovenian)

* New translations en.json (German)

* New translations simple_form.en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations simple_form.en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Slovenian)

* New translations en.json (Russian)

* New translations simple_form.en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Slovenian)

* New translations en.json (Icelandic)

* New translations simple_form.en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.json (Hungarian)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Hungarian)

* New translations en.yml (Hebrew)

* New translations en.yml (Hungarian)

* New translations en.json (Hungarian)

* New translations en.yml (Hebrew)

* New translations en.json (Czech)

* New translations en.yml (Hebrew)

* New translations en.json (Czech)

* New translations en.yml (Spanish)

* New translations en.yml (Hebrew)

* New translations en.json (Spanish)

* New translations en.yml (Hebrew)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Hebrew)

* New translations en.json (Portuguese)

* New translations en.yml (Hebrew)

* New translations en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations doorkeeper.en.yml (Japanese)

* New translations en.json (Danish)

* New translations activerecord.en.yml (Japanese)

* New translations en.yml (Hebrew)

* New translations en.yml (Slovenian)

* New translations en.json (Welsh)

* New translations en.yml (Slovenian)

* New translations en.json (Italian)

* New translations en.yml (Slovenian)

* New translations en.json (Indonesian)

* New translations en.yml (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.yml (Thai)

* New translations en.yml (Slovenian)

* New translations en.yml (Thai)

* New translations en.yml (Slovenian)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Slovenian)

* New translations en.yml (Danish)

* New translations en.json (Swedish)

* New translations en.yml (Slovenian)

* New translations en.json (Vietnamese)

* New translations en.yml (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.yml (Scottish Gaelic)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Slovenian)

* New translations en.yml (Welsh)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.json (Danish)

* New translations en.yml (Slovenian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Slovenian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Slovenian)

* New translations doorkeeper.en.yml (Slovenian)

* New translations simple_form.en.yml (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.json (Spanish, Argentina)

* New translations en.yml (Slovenian)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Slovenian)

* New translations simple_form.en.yml (Slovenian)

* New translations en.json (Welsh)

* New translations en.json (French)

* New translations en.json (Welsh)

* New translations en.json (French)

* New translations en.yml (Arabic)

* New translations en.json (Arabic)

* New translations simple_form.en.yml (Welsh)

* New translations en.json (French)

* New translations simple_form.en.yml (Ukrainian)

* New translations en.json (Ukrainian)

* New translations en.json (Ukrainian)

* New translations en.yml (German)

* New translations en.yml (Ukrainian)

* New translations en.json (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Arabic)

* New translations en.json (Asturian)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.json (German)

* New translations en.json (Ido)

* New translations en.json (Welsh)

* New translations en.json (Ido)

* New translations en.json (Welsh)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.yml (German)

* New translations en.yml (Catalan)

* New translations en.json (Catalan)

* New translations en.json (German)

* New translations en.json (Albanian)

* New translations en.json (German)

* New translations en.yml (German)

* New translations en.json (German)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-05-06 21:53:22 +09:00
Stefano Pigozzi 99d7684dfd
Replace leftover `envelope` icons with `at` icons (#18305) 2022-05-06 00:41:56 +02:00
Sara Golemon 336c23336a
Allow VerifyLinkService to accept backlinks with differing case (#18320) 2022-05-06 00:41:42 +02:00
dependabot[bot] db01df2dda
Bump sidekiq-scheduler from 3.2.0 to 4.0.0 (#18275)
Bumps [sidekiq-scheduler](https://github.com/moove-it/sidekiq-scheduler) from 3.2.0 to 4.0.0.
- [Release notes](https://github.com/moove-it/sidekiq-scheduler/releases)
- [Changelog](https://github.com/moove-it/sidekiq-scheduler/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moove-it/sidekiq-scheduler/compare/v3.2.0...v4.0.0)

---
updated-dependencies:
- dependency-name: sidekiq-scheduler
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-04 22:47:05 +09:00
dependabot[bot] 39820a940f
Bump glob from 7.2.0 to 8.0.1 (#18013)
Bumps [glob](https://github.com/isaacs/node-glob) from 7.2.0 to 8.0.1.
- [Release notes](https://github.com/isaacs/node-glob/releases)
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v7.2.0...v8.0.1)

---
updated-dependencies:
- dependency-name: glob
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-04 22:38:02 +09:00
dependabot[bot] 8f4d7f54f8
Bump stoplight from 2.2.1 to 3.0.0 (#17645)
Bumps [stoplight](https://github.com/orgsync/stoplight) from 2.2.1 to 3.0.0.
- [Release notes](https://github.com/orgsync/stoplight/releases)
- [Changelog](https://github.com/bolshakov/stoplight/blob/master/CHANGELOG.md)
- [Commits](https://github.com/orgsync/stoplight/compare/v2.2.1...v3.0.0)

---
updated-dependencies:
- dependency-name: stoplight
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-04 22:33:19 +09:00
dependabot[bot] 132239008d
Bump redux from 4.1.2 to 4.2.0 (#18087)
Bumps [redux](https://github.com/reduxjs/redux) from 4.1.2 to 4.2.0.
- [Release notes](https://github.com/reduxjs/redux/releases)
- [Changelog](https://github.com/reduxjs/redux/blob/master/CHANGELOG.md)
- [Commits](https://github.com/reduxjs/redux/compare/v4.1.2...v4.2.0)

---
updated-dependencies:
- dependency-name: redux
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-04 22:29:51 +09:00
dependabot[bot] 8a6b796440
Bump axios from 0.26.1 to 0.27.2 (#18270)
Bumps [axios](https://github.com/axios/axios) from 0.26.1 to 0.27.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.26.1...v0.27.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-04 22:25:40 +09:00
dependabot[bot] 8c644dcbd9
Bump jest from 27.5.1 to 28.0.3 (#18280)
* Bump jest from 27.5.1 to 28.0.3

Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 27.5.1 to 28.0.3.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v28.0.3/packages/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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

* Bump babel-jest from 27.5.1 to 28.0.3

Bumps [babel-jest](https://github.com/facebook/jest/tree/HEAD/packages/babel-jest) from 27.5.1 to 28.0.3.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v28.0.3/packages/babel-jest)

---
updated-dependencies:
- dependency-name: babel-jest
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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

* Add jest-environment-jsdom

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-05-04 14:06:49 +09:00
dependabot[bot] c08bc2da61
Bump ws from 8.5.0 to 8.6.0 (#18279)
Bumps [ws](https://github.com/websockets/ws) from 8.5.0 to 8.6.0.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/8.5.0...8.6.0)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-04 13:55:05 +09:00
dependabot[bot] f18c620d4b
Bump brakeman from 5.2.2 to 5.2.3 (#18274)
Bumps [brakeman](https://github.com/presidentbeef/brakeman) from 5.2.2 to 5.2.3.
- [Release notes](https://github.com/presidentbeef/brakeman/releases)
- [Changelog](https://github.com/presidentbeef/brakeman/blob/main/CHANGES.md)
- [Commits](https://github.com/presidentbeef/brakeman/compare/v5.2.2...v5.2.3)

---
updated-dependencies:
- dependency-name: brakeman
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-04 13:49:53 +09:00
dependabot[bot] 881d71e58c
Bump rubocop from 1.27.0 to 1.28.2 (#18084)
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.27.0 to 1.28.2.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.27.0...v1.28.2)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-04 13:43:02 +09:00
dependabot[bot] 381415bd97
Bump redis from 4.0.6 to 4.1.0 (#18282)
Bumps [redis](https://github.com/redis/node-redis) from 4.0.6 to 4.1.0.
- [Release notes](https://github.com/redis/node-redis/releases)
- [Changelog](https://github.com/redis/node-redis/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redis/node-redis/compare/redis@4.0.6...redis@4.1.0)

---
updated-dependencies:
- dependency-name: redis
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-04 13:42:37 +09:00
rinsuki 6e736f2452
fix: embed.js doesn't expands iframes height (#18301)
also including some refactoring:
- add `// @ts-check`
- use Map to completely avoid prototype pollution
- assign random id to each iframe for reduce chance to brute-force attack, and leak of iframe counts
- check iframe.contentWindow and MessageEvent.source to validate message is coming from correct iframe (it works on latest Chrome/Firefox/Safari but I'm not sure this is allowed by spec)

follow-up of #17420
fix #18299
2022-05-04 03:20:44 +02:00
mayaeh a01580f09f
Update translation strings for direct message (#18300) 2022-05-04 02:40:26 +02:00
Claire 014065913c
Bump version to 3.5.2 (#18295)
* Bump version to 3.5.2

* Change some entries to be more clear

* Add some extra notes

* Fix line wrap

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2022-05-04 00:57:42 +02:00
Claire 340fa34513
Bump minimum Ruby version (#18294)
Mastodon has been incompatible with Ruby 2.5 for a few releases due to
some dependencies, this just updates the Gemfile description to match
that situation.
2022-05-04 00:26:46 +02:00
Claire e2d1d3b428
Change “Only people I mention” to “Mentioned people only” (#18291) 2022-05-03 12:30:40 +02:00
Eugen Rochko 7e244879fe
Change "Conversations" back to "Direct messages" and add warning in web UI (#18289)
Partially reverts #18146
2022-05-03 09:09:09 +02:00
dependabot[bot] aed1c47cb1
Bump sass from 1.50.1 to 1.51.0 (#18285)
Bumps [sass](https://github.com/sass/dart-sass) from 1.50.1 to 1.51.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.50.1...1.51.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-03 10:41:21 +09:00
dependabot[bot] a6508d652b
Bump react-select from 5.3.0 to 5.3.1 (#18273)
Bumps [react-select](https://github.com/JedWatson/react-select) from 5.3.0 to 5.3.1.
- [Release notes](https://github.com/JedWatson/react-select/releases)
- [Changelog](https://github.com/JedWatson/react-select/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/JedWatson/react-select/compare/react-select@5.3.0...react-select@5.3.1)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-03 10:40:48 +09:00
dependabot[bot] d96000bd31
Bump express from 4.18.0 to 4.18.1 (#18271)
Bumps [express](https://github.com/expressjs/express) from 4.18.0 to 4.18.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.0...4.18.1)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-03 10:40:18 +09:00
dependabot[bot] 80da658069
Bump @babel/preset-env from 7.16.11 to 7.17.10 (#18281)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.16.11 to 7.17.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.17.10/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-03 10:30:14 +09:00
dependabot[bot] ce2449421c
Bump rails from 6.1.5 to 6.1.5.1 (#18276)
Bumps [rails](https://github.com/rails/rails) from 6.1.5 to 6.1.5.1.
- [Release notes](https://github.com/rails/rails/releases)
- [Commits](https://github.com/rails/rails/compare/v6.1.5...v6.1.5.1)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-03 10:22:05 +09:00
dependabot[bot] 5bfdc11fb9
Bump babel-loader from 8.2.4 to 8.2.5 (#18096)
Bumps [babel-loader](https://github.com/babel/babel-loader) from 8.2.4 to 8.2.5.
- [Release notes](https://github.com/babel/babel-loader/releases)
- [Changelog](https://github.com/babel/babel-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel-loader/compare/v8.2.4...v8.2.5)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-03 10:20:22 +09:00
dependabot[bot] 3cc0233adc
Bump @babel/plugin-transform-runtime from 7.17.0 to 7.17.10 (#18283)
Bumps [@babel/plugin-transform-runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-runtime) from 7.17.0 to 7.17.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.17.10/packages/babel-plugin-transform-runtime)

---
updated-dependencies:
- dependency-name: "@babel/plugin-transform-runtime"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-03 10:19:40 +09:00
dependabot[bot] 9723b768c5
Bump @babel/core from 7.17.9 to 7.17.10 (#18277)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.17.9 to 7.17.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.17.10/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-03 10:19:24 +09:00
dependabot[bot] 5a8a6a1e8c
Bump rspec-rails from 5.1.1 to 5.1.2 (#18092)
Bumps [rspec-rails](https://github.com/rspec/rspec-rails) from 5.1.1 to 5.1.2.
- [Release notes](https://github.com/rspec/rspec-rails/releases)
- [Changelog](https://github.com/rspec/rspec-rails/blob/main/Changelog.md)
- [Commits](https://github.com/rspec/rspec-rails/compare/v5.1.1...v5.1.2)

---
updated-dependencies:
- dependency-name: rspec-rails
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-03 10:11:42 +09:00
dependabot[bot] 51ce836edb
Bump pghero from 2.8.2 to 2.8.3 (#18278)
Bumps [pghero](https://github.com/ankane/pghero) from 2.8.2 to 2.8.3.
- [Release notes](https://github.com/ankane/pghero/releases)
- [Changelog](https://github.com/ankane/pghero/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ankane/pghero/compare/v2.8.2...v2.8.3)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-03 10:10:45 +09:00
dependabot[bot] b3496583e0
Bump aws-sdk-s3 from 1.113.1 to 1.113.2 (#18269)
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.113.1 to 1.113.2.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

---
updated-dependencies:
- dependency-name: aws-sdk-s3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-03 09:55:23 +09:00
Claire 0597e5db68
Fix ArgumentError when processing pinned posts from Friendica (#18260)
Follow-up to #18254
2022-05-02 19:34:39 +02:00
Claire bc19c083ce
Add ability to set approval-based registration through tootctl (#18248)
Fixes #18235

Add `tootctl settings registrations approved` with
optional `--require-reason` switch.
2022-05-02 17:41:34 +02:00
Claire 71d02ffcf3
Fix compatibility with Friendica regarding pinned posts (#18254)
* Fix multiple database queries when fetching pinned posts for remote account

* Fix compatibility with Friendica regarding pinned posts

Fixes #18066

* Add tests
2022-05-02 17:41:01 +02:00
Eugen Rochko 6b7765a73b
New Crowdin updates (#18213)
* New translations activerecord.en.yml (Ido)

* New translations en.json (Ido)

* New translations activerecord.en.yml (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.yml (Armenian)

* New translations en.json (Armenian)

* New translations en.yml (Russian)

* New translations en.yml (Armenian)

* New translations en.json (Armenian)

* New translations en.yml (Armenian)

* New translations en.json (Japanese)

* New translations en.json (Armenian)

* New translations en.yml (Armenian)

* New translations en.json (Japanese)

* New translations doorkeeper.en.yml (Armenian)

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

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

* New translations en.json (Spanish)

* New translations en.json (Portuguese)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Portuguese)

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

* New translations en.json (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Polish)

* New translations doorkeeper.en.yml (Japanese)

* New translations activerecord.en.yml (Japanese)

* New translations devise.en.yml (Japanese)

* New translations doorkeeper.en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations en.json (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations en.json (Japanese)

* New translations en.json (Galician)

* New translations en.json (Japanese)

* New translations en.json (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations devise.en.yml (Japanese)

* New translations en.yml (Scottish Gaelic)

* New translations en.json (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.yml (Danish)

* New translations en.yml (Danish)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Icelandic)

* New translations en.json (Icelandic)

* New translations en.json (Icelandic)

* New translations en.yml (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations en.json (Icelandic)

* New translations en.json (Icelandic)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Icelandic)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Czech)

* New translations en.json (German)

* New translations en.json (Czech)

* New translations en.json (Czech)

* New translations en.json (Czech)

* New translations doorkeeper.en.yml (Ido)

* New translations en.json (Icelandic)

* New translations doorkeeper.en.yml (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations en.yml (Korean)

* New translations en.yml (Hungarian)

* New translations en.yml (Georgian)

* New translations en.yml (Lithuanian)

* New translations en.yml (Macedonian)

* New translations en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Punjabi)

* New translations en.yml (Albanian)

* New translations en.yml (Basque)

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

* New translations en.yml (Turkish)

* New translations en.yml (Ukrainian)

* New translations en.yml (Chinese Traditional)

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

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Tamil)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Finnish)

* New translations en.yml (Greek)

* New translations en.yml (Galician)

* New translations en.yml (Slovak)

* New translations en.yml (Swedish)

* New translations en.yml (Arabic)

* New translations en.yml (French)

* New translations en.yml (Spanish)

* New translations en.yml (Catalan)

* New translations en.yml (Hebrew)

* New translations en.yml (Italian)

* New translations en.yml (Slovenian)

* New translations en.yml (German)

* New translations en.yml (Vietnamese)

* New translations en.yml (Thai)

* New translations en.yml (Occitan)

* New translations en.yml (Persian)

* New translations en.yml (Romanian)

* New translations en.yml (Afrikaans)

* New translations en.yml (Bulgarian)

* New translations en.yml (Czech)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Bengali)

* New translations en.yml (Cornish)

* New translations en.yml (Irish)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.yml (Silesian)

* New translations en.yml (Taigi)

* New translations en.yml (Ido)

* New translations en.yml (Kabyle)

* New translations en.yml (Sanskrit)

* New translations en.yml (Sardinian)

* New translations en.yml (Corsican)

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

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

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

* New translations en.yml (Asturian)

* New translations en.yml (Kannada)

* New translations en.yml (Sinhala)

* New translations en.yml (Marathi)

* New translations en.yml (Malay)

* 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 (Hindi)

* New translations en.yml (Telugu)

* New translations en.yml (Breton)

* 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 (Malayalam)

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

* New translations en.yml (Chinese Traditional)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Ido)

* New translations en.json (Chinese Simplified)

* New translations doorkeeper.en.yml (Ido)

* New translations en.yml (Korean)

* New translations doorkeeper.en.yml (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations en.yml (Japanese)

* New translations en.yml (Turkish)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Vietnamese)

* New translations en.yml (Greek)

* New translations en.yml (Catalan)

* New translations en.yml (French)

* New translations en.yml (Spanish)

* New translations en.yml (Polish)

* New translations doorkeeper.en.yml (Persian)

* New translations en.yml (Czech)

* New translations en.yml (Icelandic)

* New translations en.json (Icelandic)

* New translations en.yml (Russian)

* New translations en.yml (Hungarian)

* New translations en.yml (Swedish)

* New translations en.yml (Indonesian)

* New translations en.yml (Swedish)

* New translations en.yml (Welsh)

* New translations en.json (Swedish)

* New translations en.yml (Danish)

* New translations en.yml (Galician)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-05-02 23:19:23 +09:00
Yamagishi Kazutoshi fe6a5b0d5a
Add translatable string for #17431 (#18227)
* Add translatable string for #17431

* Update config/locales/en.yml

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2022-05-02 03:39:45 +02:00
Claire 9a3be0ad68
Fix error when looking handle with surrounding spaces (#18225) 2022-05-02 01:00:08 +02:00
Eugen Rochko 33f3818d66
Fix double render error when authorizing interaction (#18203) 2022-05-01 00:56:34 +02:00
Claire 6e4d932da5
Fix possible crash when a post references an invalid media attachment (#18211) 2022-05-01 00:55:26 +02:00
Eugen Rochko 5a48bf1085
Fix error when trying to revoke OAuth token without supplying a token (#18205) 2022-05-01 00:51:32 +02:00
Eugen Rochko 6da648227e
Fix error caused by missing subject in Webfinger response (#18204) 2022-05-01 00:37:46 +02:00
Eugen Rochko ad084ce7db
New Crowdin updates (#18148)
* New translations en.yml (Kazakh)

* New translations en.yml (Estonian)

* New translations en.yml (Latvian)

* New translations en.yml (Hindi)

* New translations en.yml (Malay)

* New translations en.yml (Telugu)

* New translations en.yml (Welsh)

* New translations en.yml (Esperanto)

* New translations en.yml (Uyghur)

* New translations en.yml (Tatar)

* New translations en.yml (Sinhala)

* New translations en.yml (Malayalam)

* New translations en.yml (Breton)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.yml (Silesian)

* New translations en.yml (Taigi)

* New translations en.yml (Ido)

* New translations en.json (Asturian)

* New translations en.yml (Kabyle)

* New translations en.yml (Sanskrit)

* New translations en.yml (Sardinian)

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

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

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

* New translations en.yml (Asturian)

* New translations en.yml (Corsican)

* New translations en.json (Welsh)

* New translations doorkeeper.en.yml (Armenian)

* New translations en.json (Basque)

* New translations doorkeeper.en.yml (Basque)

* New translations en.json (Finnish)

* New translations doorkeeper.en.yml (Finnish)

* New translations en.json (Hebrew)

* New translations doorkeeper.en.yml (Hebrew)

* New translations en.json (Hungarian)

* New translations doorkeeper.en.yml (Hungarian)

* New translations en.json (Armenian)

* New translations en.json (Italian)

* New translations en.json (Greek)

* New translations doorkeeper.en.yml (Italian)

* New translations en.json (Georgian)

* New translations doorkeeper.en.yml (Georgian)

* New translations en.json (Lithuanian)

* New translations en.json (Macedonian)

* New translations en.json (Dutch)

* New translations doorkeeper.en.yml (Dutch)

* New translations doorkeeper.en.yml (Norwegian)

* New translations doorkeeper.en.yml (Greek)

* New translations doorkeeper.en.yml (German)

* New translations en.json (Galician)

* New translations doorkeeper.en.yml (Romanian)

* New translations doorkeeper.en.yml (Korean)

* New translations en.json (Slovak)

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

* New translations en.json (Icelandic)

* New translations en.json (Norwegian)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations doorkeeper.en.yml (Danish)

* New translations doorkeeper.en.yml (French)

* New translations en.json (Spanish)

* New translations doorkeeper.en.yml (Spanish)

* New translations en.json (Afrikaans)

* New translations en.json (Bulgarian)

* New translations doorkeeper.en.yml (Bulgarian)

* New translations en.json (Czech)

* New translations doorkeeper.en.yml (Czech)

* New translations en.json (Danish)

* New translations en.json (Punjabi)

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

* New translations en.json (Bengali)

* New translations doorkeeper.en.yml (Indonesian)

* New translations en.json (Persian)

* New translations doorkeeper.en.yml (Persian)

* New translations en.json (Tamil)

* New translations doorkeeper.en.yml (Tamil)

* New translations en.json (Spanish, Argentina)

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

* New translations en.json (Spanish, Mexico)

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

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

* New translations en.json (Marathi)

* New translations doorkeeper.en.yml (Marathi)

* New translations en.json (Thai)

* New translations doorkeeper.en.yml (Thai)

* New translations en.json (Croatian)

* New translations doorkeeper.en.yml (Croatian)

* New translations en.json (Norwegian Nynorsk)

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

* New translations en.json (Kazakh)

* New translations doorkeeper.en.yml (Kazakh)

* New translations en.json (Indonesian)

* New translations doorkeeper.en.yml (Icelandic)

* New translations en.json (Polish)

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

* New translations doorkeeper.en.yml (Polish)

* New translations en.json (Portuguese)

* New translations doorkeeper.en.yml (Portuguese)

* New translations en.json (Russian)

* New translations doorkeeper.en.yml (Russian)

* New translations doorkeeper.en.yml (Slovak)

* New translations en.json (Slovenian)

* New translations doorkeeper.en.yml (Slovenian)

* New translations en.json (Albanian)

* New translations doorkeeper.en.yml (Albanian)

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

* New translations doorkeeper.en.yml (Galician)

* New translations en.json (Swedish)

* New translations doorkeeper.en.yml (Swedish)

* New translations doorkeeper.en.yml (Turkish)

* New translations en.json (Ukrainian)

* New translations doorkeeper.en.yml (Ukrainian)

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

* New translations en.json (Chinese Traditional)

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

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

* New translations en.json (Estonian)

* New translations doorkeeper.en.yml (Estonian)

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

* New translations en.json (Kannada)

* New translations en.json (Latvian)

* New translations en.json (Cornish)

* New translations doorkeeper.en.yml (Sinhala)

* New translations en.json (Sinhala)

* New translations doorkeeper.en.yml (Breton)

* New translations en.json (Breton)

* New translations doorkeeper.en.yml (Malayalam)

* New translations en.json (Malayalam)

* New translations doorkeeper.en.yml (Tatar)

* New translations en.json (Tatar)

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

* New translations doorkeeper.en.yml (Latvian)

* New translations doorkeeper.en.yml (Hindi)

* New translations en.json (Malay)

* New translations en.json (Hindi)

* New translations en.json (Telugu)

* New translations doorkeeper.en.yml (Welsh)

* New translations en.json (Esperanto)

* New translations doorkeeper.en.yml (Esperanto)

* New translations en.json (Uyghur)

* New translations doorkeeper.en.yml (Sardinian)

* New translations en.json (Silesian)

* New translations en.json (Taigi)

* New translations doorkeeper.en.yml (Ido)

* New translations en.json (Ido)

* New translations doorkeeper.en.yml (Kabyle)

* New translations en.json (Kabyle)

* New translations en.json (Sanskrit)

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

* New translations en.json (Sardinian)

* New translations doorkeeper.en.yml (Corsican)

* New translations en.json (Corsican)

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

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

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

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

* New translations doorkeeper.en.yml (Occitan)

* New translations en.json (Occitan)

* New translations doorkeeper.en.yml (Asturian)

* New translations en.json (Standard Moroccan Tamazight)

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

* New translations en.json (Danish)

* New translations en.json (Danish)

* New translations en.json (Icelandic)

* New translations en.json (Korean)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Korean)

* New translations en.json (Chinese Traditional)

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

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

* New translations en.json (Catalan)

* New translations en.json (Catalan)

* New translations en.json (Vietnamese)

* New translations en.json (Chinese Traditional)

* New translations en.json (Vietnamese)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Japanese)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

* New translations en.json (Japanese)

* New translations en.yml (Japanese)

* Restore en locales

* Run `bundle exec i18n-tasks normalize`

* New translations en.json (Greek)

* New translations en.json (Chinese Traditional)

* New translations en.json (Greek)

* New translations en.json (Chinese Traditional)

* New translations en.json (Galician)

* New translations en.json (Chinese Traditional)

* New translations en.json (Russian)

* New translations en.json (Chinese Traditional)

* New translations en.json (Afrikaans)

* New translations en.json (Russian)

* New translations en.json (Afrikaans)

* New translations en.yml (Swedish)

* New translations en.json (Swedish)

* New translations en.json (Welsh)

* New translations en.json (Dutch)

* New translations en.json (Turkish)

* New translations en.json (Turkish)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Catalan)

* New translations en.json (Icelandic)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Thai)

* New translations en.json (Hungarian)

* New translations en.json (German)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (German)

* New translations en.json (Polish)

* New translations en.json (Polish)

* New translations en.json (Indonesian)

* New translations en.json (Tatar)

* New translations en.json (Tatar)

* New translations en.json (Turkish)

* New translations en.json (Turkish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Arabic)

* New translations en.json (Arabic)

* New translations en.json (Czech)

* New translations en.json (Italian)

* New translations en.json (Italian)

* New translations en.json (Ukrainian)

* New translations en.yml (Ukrainian)

* New translations en.json (Ukrainian)

* New translations en.json (Japanese)

* New translations en.json (Latvian)

* New translations en.json (Danish)

* New translations en.yml (Danish)

* New translations en.json (Albanian)

* New translations en.yml (Albanian)

* New translations en.json (Albanian)

* New translations doorkeeper.en.yml (Albanian)

* New translations simple_form.en.yml (Albanian)

* New translations activerecord.en.yml (Albanian)

* New translations devise.en.yml (Albanian)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-04-30 20:11:52 +09:00
Eugen Rochko f6d35ed57d
Remove IP matching from e-mail domain blocks (#18190)
Clear out e-mail domain blocks created from automatically resolved DNS records
2022-04-29 23:27:03 +02:00
Eugen Rochko 7b0fe4aef9
Fix opening and closing Redis connections instead of using a pool (#18171)
* Fix opening and closing Redis connections instead of using a pool

* Fix Redis connections not being returned to the pool in CLI commands
2022-04-29 22:43:07 +02:00
Eugen Rochko 6476f7e4da
Change trending statuses to only show one status from each account (#18181)
Calculate trends in temporary sets to avoid having to manage items
that go below the decay threshold while not having any moments
where a half-processed set is accessible to end-users
2022-04-29 22:42:42 +02:00
Claire 5c691430e5
Fix error on attempting to delete an account moderation note (#18196)
Fixes #18193
2022-04-29 20:25:31 +02:00
Gaelan Steele 74e20f22cd
Fix light-mode emoji borders. (#18131) 2022-04-29 19:23:03 +02:00
Eugen Rochko 6726d2933a
Change half-life of trending status scores from 6 hours to 2 hours (#18182) 2022-04-29 11:46:59 +02:00
Claire e7f0c9f7da
Pre-fill domain block/allow domain from search filter (#18172) 2022-04-29 00:24:44 +02:00
Eugen Rochko be0bc9acbf
Change "Direct" status visibility to "Only people I mention" in web UI (#18146)
- Change name of conversations column in web UI
- Change hotkey for opening conversations column from `g d` to `g c` in web UI
- Remove shortcuts for creating direct-visibility statuses from web UI
2022-04-29 00:24:31 +02:00
Eugen Rochko a8e27ac4d1
Fix being able to scroll away from the loading bar in web UI (#18170) 2022-04-29 00:15:27 +02:00
Claire 66a63d79ea
Fix 500 error when a bookmark or favorite has been reported and deleted (#18174) 2022-04-28 23:34:58 +02:00
Claire eed5a4bf9c
Fix empty “Server rules violation” report option (#18165) 2022-04-28 21:29:29 +02:00
Claire 84d991988e
Fix temporary network/remote server error prevent from interactions with remote accounts (#18161)
* Fix temporary network/remote server error prevent from interactions with remote accounts

* Fix and add tests
2022-04-28 20:19:10 +02:00
Claire 8284110c55
Fix stoplight not using REDIS_NAMESPACE (#18160) 2022-04-28 18:11:31 +02:00
Eugen Rochko 3917353645
Fix single Redis connection being used across all threads (#18135)
* Fix single Redis connection being used across all Sidekiq threads

* Fix tests
2022-04-28 17:47:34 +02:00
Chris Dzombak 9bf04db23a
Fix incorrect link in "new trending tags" email (#18156)
Closes #18129
2022-04-28 17:15:29 +02:00
Claire 9b4024a389
Add some missing indexes on foreign keys (#18157) 2022-04-28 17:15:11 +02:00
Eugen Rochko d55154819e
New Crowdin updates (#18074)
* New translations en.yml (German)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations simple_form.en.yml (Vietnamese)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations simple_form.en.yml (Vietnamese)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations simple_form.en.yml (Vietnamese)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations simple_form.en.yml (Vietnamese)
[ci skip]

* New translations devise.en.yml (Vietnamese)
[ci skip]

* New translations doorkeeper.en.yml (Vietnamese)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations en.json (Irish)
[ci skip]

* New translations en.json (Irish)
[ci skip]

* New translations en.json (Irish)
[ci skip]

* New translations en.json (Scottish Gaelic)
[ci skip]

* New translations en.json (Irish)
[ci skip]

* New translations en.yml (Irish)
[ci skip]

* New translations en.yml (Irish)
[ci skip]

* New translations en.json (Catalan)
[ci skip]

* New translations en.json (Catalan)
[ci skip]

* New translations activerecord.en.yml (Catalan)
[ci skip]

* New translations devise.en.yml (Catalan)
[ci skip]

* New translations devise.en.yml (Catalan)
[ci skip]

* New translations devise.en.yml (Catalan)
[ci skip]

* New translations doorkeeper.en.yml (Catalan)
[ci skip]

* New translations devise.en.yml (Catalan)
[ci skip]

* New translations en.yml (Catalan)
[ci skip]

* New translations en.yml (Hebrew)
[ci skip]

* New translations devise.en.yml (Catalan)
[ci skip]

* New translations en.yml (Catalan)
[ci skip]

* New translations simple_form.en.yml (Catalan)
[ci skip]

* New translations simple_form.en.yml (Catalan)
[ci skip]

* New translations en.json (Irish)
[ci skip]

* New translations simple_form.en.yml (Catalan)
[ci skip]

* New translations en.json (Catalan)
[ci skip]

* New translations simple_form.en.yml (Catalan)
[ci skip]

* New translations en.json (Irish)
[ci skip]

* New translations en.json (Catalan)
[ci skip]

* New translations en.json (Catalan)
[ci skip]

* New translations en.json (Irish)
[ci skip]

* New translations en.json (Catalan)
[ci skip]

* New translations en.json (Irish)
[ci skip]

* New translations en.json (Catalan)
[ci skip]

* New translations en.json (Catalan)
[ci skip]

* New translations devise.en.yml (Catalan)
[ci skip]

* New translations en.json (Irish)
[ci skip]

* New translations devise.en.yml (Catalan)
[ci skip]

* New translations en.json (Irish)
[ci skip]

* New translations en.json (Catalan)
[ci skip]

* New translations en.yml (Welsh)
[ci skip]

* New translations simple_form.en.yml (Welsh)
[ci skip]

* New translations en.json (Welsh)
[ci skip]

* New translations en.json (Korean)
[ci skip]

* New translations en.json (Catalan)
[ci skip]

* New translations simple_form.en.yml (Catalan)
[ci skip]

* New translations en.json (Irish)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations simple_form.en.yml (Vietnamese)
[ci skip]

* New translations en.yml (Catalan)
[ci skip]

* New translations en.yml (German)
[ci skip]

* New translations en.json (Turkish)
[ci skip]

* New translations en.yml (German)
[ci skip]

* New translations en.json (German)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations en.yml (Portuguese)
[ci skip]

* New translations en.yml (Portuguese, Brazilian)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations en.yml (Galician)
[ci skip]

* New translations en.json (Galician)
[ci skip]

* New translations en.json (Galician)
[ci skip]

* New translations en.yml (French)
[ci skip]

* New translations en.yml (French)
[ci skip]

* New translations en.yml (Korean)
[ci skip]

* New translations en.json (Korean)
[ci skip]

* New translations en.yml (Korean)
[ci skip]

* New translations en.json (Korean)
[ci skip]

* New translations simple_form.en.yml (Korean)
[ci skip]

* New translations doorkeeper.en.yml (Korean)
[ci skip]

* New translations en.json (Slovak)
[ci skip]

* New translations en.yml (Scottish Gaelic)
[ci skip]

* New translations en.json (Scottish Gaelic)
[ci skip]

* New translations simple_form.en.yml (Scottish Gaelic)
[ci skip]

* New translations activerecord.en.yml (Scottish Gaelic)
[ci skip]

* New translations devise.en.yml (Scottish Gaelic)
[ci skip]

* New translations doorkeeper.en.yml (Scottish Gaelic)
[ci skip]

* New translations en.json (Korean)
[ci skip]

* New translations en.json (Icelandic)
[ci skip]

* New translations en.json (Icelandic)
[ci skip]

* New translations en.json (Icelandic)
[ci skip]

* New translations en.json (Sorani (Kurdish))
[ci skip]

* New translations en.json (Sorani (Kurdish))
[ci skip]

* New translations en.json (Sorani (Kurdish))
[ci skip]

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-04-28 14:34:28 +09:00
dependabot[bot] bf75fba794
Bump sass from 1.50.0 to 1.50.1 (#18089)
Bumps [sass](https://github.com/sass/dart-sass) from 1.50.0 to 1.50.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.50.0...1.50.1)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-27 09:17:44 +09:00
dependabot[bot] bbe97548c2
Bump npmlog from 6.0.1 to 6.0.2 (#18086)
Bumps [npmlog](https://github.com/npm/npmlog) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/npmlog/releases)
- [Changelog](https://github.com/npm/npmlog/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/npmlog/compare/v6.0.1...v6.0.2)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-27 09:17:03 +09:00
dependabot[bot] b5d2c91d4a
Bump express from 4.17.3 to 4.18.0 (#18088)
Bumps [express](https://github.com/expressjs/express) from 4.17.3 to 4.18.0.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.17.3...4.18.0)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-27 09:16:18 +09:00
dependabot[bot] 4bd82e15fb
Bump aws-sdk-s3 from 1.113.0 to 1.113.1 (#18094)
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.113.0 to 1.113.1.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

---
updated-dependencies:
- dependency-name: aws-sdk-s3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-27 09:13:52 +09:00
dependabot[bot] 7598e0cd1f
Bump sidekiq-unique-jobs from 7.1.19 to 7.1.21 (#18085)
Bumps [sidekiq-unique-jobs](https://github.com/mhenrixon/sidekiq-unique-jobs) from 7.1.19 to 7.1.21.
- [Release notes](https://github.com/mhenrixon/sidekiq-unique-jobs/releases)
- [Changelog](https://github.com/mhenrixon/sidekiq-unique-jobs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mhenrixon/sidekiq-unique-jobs/compare/v7.1.19...v7.1.21)

---
updated-dependencies:
- dependency-name: sidekiq-unique-jobs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-27 09:12:55 +09:00
Eugen Rochko b93e2ae0a4
Fix n+1 query on feed merge and populate operations (#18111) 2022-04-26 22:06:31 +02:00
Claire b9197486e5
Fix UnmergeWorker being exceptionally slow in some conditions (#18110) 2022-04-26 21:48:36 +02:00
Claire 0360135d4d
Fix PeerTube videos appearing with an erroneous “Edited at” marker (#18100)
* Fix PeerTube videos appearing with an erroneous “Edited at” marker

PeerTube videos have an `updated` field equal to `published`.
When processing an incoming activity that has the same value for `updated` and
`published`, assume this doesn't represent an actual edit.

* Please CodeClimate
2022-04-26 21:25:26 +02:00
Claire 33cd80d69c
Fix instance actor being incorrectly created when running migrations (#18109)
* Add migration test about instance actor key

* Fix old migration

* Work around incorrect database state
2022-04-26 21:22:09 +02:00
Eugen Rochko f47a9ddc9f
New Crowdin updates (#18062)
* New translations en.yml (Korean)

* New translations en.yml (Portuguese)

* New translations en.yml (Hungarian)

* New translations en.yml (Armenian)

* New translations en.yml (Georgian)

* New translations en.yml (Lithuanian)

* New translations en.yml (Macedonian)

* New translations en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Punjabi)

* New translations en.yml (Polish)

* New translations en.yml (Albanian)

* New translations en.yml (Basque)

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

* New translations en.yml (Turkish)

* New translations en.yml (Ukrainian)

* New translations en.yml (Chinese Traditional)

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

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Tamil)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Finnish)

* New translations en.yml (Greek)

* New translations en.yml (Galician)

* New translations en.yml (Slovak)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Swedish)

* New translations en.yml (Arabic)

* New translations en.yml (French)

* New translations en.yml (Spanish)

* New translations en.yml (Catalan)

* New translations en.yml (Hebrew)

* New translations en.yml (Italian)

* New translations en.yml (Japanese)

* New translations en.yml (Russian)

* New translations en.yml (Slovenian)

* New translations en.yml (German)

* New translations en.yml (Vietnamese)

* New translations en.yml (Thai)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Occitan)

* New translations en.yml (Persian)

* New translations en.yml (Romanian)

* New translations en.yml (Afrikaans)

* New translations en.yml (Bulgarian)

* New translations en.yml (Czech)

* New translations en.yml (Danish)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Bengali)

* New translations en.yml (Sinhala)

* New translations en.yml (Silesian)

* New translations en.yml (Taigi)

* New translations en.yml (Ido)

* New translations en.yml (Kabyle)

* New translations en.yml (Sanskrit)

* New translations en.yml (Sardinian)

* New translations en.yml (Corsican)

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

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

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

* New translations en.yml (Asturian)

* New translations en.yml (Kannada)

* New translations en.yml (Cornish)

* New translations en.yml (Breton)

* New translations en.yml (Marathi)

* New translations en.yml (Malayalam)

* New translations en.yml (Tatar)

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

* New translations en.yml (Uyghur)

* New translations en.yml (Esperanto)

* New translations en.yml (Welsh)

* New translations en.yml (Telugu)

* New translations en.yml (Malay)

* New translations en.yml (Hindi)

* New translations en.yml (Latvian)

* New translations en.yml (Estonian)

* New translations en.yml (Kazakh)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Croatian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.yml (Catalan)

* New translations en.yml (Japanese)

* New translations en.json (Catalan)

* New translations en.yml (Greek)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Turkish)

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

* New translations en.yml (Latvian)

* New translations en.yml (Czech)

* New translations en.yml (Russian)

* New translations en.yml (Czech)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Korean)

* New translations en.yml (Vietnamese)

* New translations en.yml (Catalan)

* New translations en.yml (French)

* New translations en.yml (Spanish)

* New translations en.yml (Galician)

* New translations en.yml (Icelandic)

* New translations en.yml (Italian)

* New translations en.yml (Hungarian)

* New translations en.yml (Thai)

* New translations en.json (Irish)

* New translations en.yml (Irish)

* New translations simple_form.en.yml (Irish)

* New translations activerecord.en.yml (Irish)

* New translations devise.en.yml (Irish)

* New translations doorkeeper.en.yml (Irish)

* New translations simple_form.en.yml (Turkish)

* New translations en.yml (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Indonesian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Thai)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.yml (Vietnamese)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.yml (Arabic)

* New translations en.json (Arabic)

* New translations doorkeeper.en.yml (Arabic)

* New translations en.yml (Turkish)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-04-24 06:33:26 +09:00
Claire 8ffa96b059
Fix web push notifications containing HTML entities (#18071) 2022-04-23 21:47:43 +02:00
Jeong Arm ea38327816
Let votes statuses are also searchable (#18070) 2022-04-23 21:47:27 +02:00
Yamagishi Kazutoshi 4884e0ca41
Add missing locale (#18061) 2022-04-21 20:26:10 +02:00
Eugen Rochko ea0633e131
New Crowdin updates (#18032)
* New translations en.json (Vietnamese)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Japanese)

* New translations en.yml (French)

* New translations en.json (Asturian)

* New translations en.yml (Asturian)

* New translations en.json (Asturian)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Asturian)

* New translations simple_form.en.yml (Asturian)

* New translations en.yml (Turkish)

* New translations en.yml (German)

* New translations simple_form.en.yml (German)

* New translations en.json (Vietnamese)

* New translations en.json (Turkish)

* New translations simple_form.en.yml (Turkish)

* New translations en.yml (Korean)

* New translations en.json (Korean)

* New translations en.json (Turkish)

* New translations en.json (Turkish)

* New translations en.yml (Turkish)

* New translations en.json (Turkish)

* New translations simple_form.en.yml (Turkish)

* New translations devise.en.yml (Turkish)

* New translations en.yml (Catalan)

* New translations en.json (Catalan)

* New translations en.yml (German)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations doorkeeper.en.yml (Japanese)

* New translations en.yml (French)

* New translations en.json (Japanese)

* New translations en.yml (Japanese)

* New translations doorkeeper.en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations en.json (Catalan)

* New translations en.yml (French)

* New translations en.yml (Catalan)

* New translations en.yml (Vietnamese)

* New translations simple_form.en.yml (Catalan)

* New translations en.json (Vietnamese)

* New translations doorkeeper.en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.json (Catalan)

* New translations simple_form.en.yml (Catalan)

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations en.yml (Portuguese)

* New translations en.yml (Hungarian)

* New translations en.yml (Armenian)

* New translations en.yml (Georgian)

* New translations en.yml (Lithuanian)

* New translations en.yml (Macedonian)

* New translations en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Punjabi)

* New translations en.yml (Polish)

* New translations en.yml (Albanian)

* New translations en.yml (Basque)

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

* New translations en.yml (Ukrainian)

* New translations en.yml (Chinese Traditional)

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

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Tamil)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Finnish)

* New translations en.yml (Greek)

* New translations en.yml (Galician)

* New translations en.yml (Slovak)

* New translations en.yml (Swedish)

* New translations en.yml (Arabic)

* New translations en.yml (Spanish)

* New translations en.yml (Hebrew)

* New translations en.yml (Italian)

* New translations en.yml (Japanese)

* New translations en.yml (Russian)

* New translations en.yml (Slovenian)

* New translations en.yml (Thai)

* New translations en.yml (Persian)

* New translations en.yml (Romanian)

* New translations en.yml (Afrikaans)

* New translations en.yml (Bulgarian)

* New translations en.yml (Czech)

* New translations en.yml (Danish)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Occitan)

* New translations en.yml (Bengali)

* New translations en.yml (Malay)

* New translations en.yml (Marathi)

* New translations en.yml (Uyghur)

* New translations en.yml (Esperanto)

* New translations en.yml (Telugu)

* New translations en.yml (Welsh)

* New translations en.yml (Hindi)

* New translations en.yml (Latvian)

* New translations en.yml (Estonian)

* New translations en.yml (Kazakh)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Croatian)

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

* New translations en.yml (Silesian)

* New translations en.yml (Taigi)

* New translations en.yml (Ido)

* New translations en.yml (Kabyle)

* New translations en.yml (Sanskrit)

* New translations en.yml (Sardinian)

* New translations en.yml (Corsican)

* New translations en.yml (Breton)

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

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

* New translations en.yml (Kannada)

* New translations en.yml (Cornish)

* New translations en.yml (Sinhala)

* New translations en.yml (Malayalam)

* New translations en.yml (Tatar)

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

* New translations en.yml (Standard Moroccan Tamazight)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-04-22 03:21:08 +09:00
dependabot[bot] 2051786c9e
Bump @testing-library/react from 12.1.4 to 12.1.5 (#18054)
Bumps [@testing-library/react](https://github.com/testing-library/react-testing-library) from 12.1.4 to 12.1.5.
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v12.1.4...v12.1.5)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-22 02:33:45 +09:00
dependabot[bot] 36f0eac09c
Bump rack-attack from 6.6.0 to 6.6.1 (#18053)
Bumps [rack-attack](https://github.com/rack/rack-attack) from 6.6.0 to 6.6.1.
- [Release notes](https://github.com/rack/rack-attack/releases)
- [Changelog](https://github.com/rack/rack-attack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rack/rack-attack/compare/v6.6.0...v6.6.1)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-22 02:33:26 +09:00
dependabot[bot] 64dde6541b
Bump sidekiq-scheduler from 3.1.1 to 3.2.0 (#18052)
Bumps [sidekiq-scheduler](https://github.com/moove-it/sidekiq-scheduler) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/moove-it/sidekiq-scheduler/releases)
- [Changelog](https://github.com/moove-it/sidekiq-scheduler/blob/v3.2.0/CHANGELOG.md)
- [Commits](https://github.com/moove-it/sidekiq-scheduler/compare/v3.1.1...v3.2.0)

---
updated-dependencies:
- dependency-name: sidekiq-scheduler
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-22 02:33:04 +09:00
Yamagishi Kazutoshi 5781d1db84
Fix parsing `TRUSTED_PROXY_IP` (#18051) 2022-04-19 08:11:58 +01:00
dependabot[bot] 50a088fd77
Bump async from 2.6.3 to 2.6.4 (#18040)
Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-16 15:40:26 +09:00
dependabot[bot] a294981c59
Bump rubocop from 1.26.1 to 1.27.0 (#18019)
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.26.1 to 1.27.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.26.1...v1.27.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-16 15:28:04 +09:00
dependabot[bot] f1b8150db4
Bump react-select from 5.2.2 to 5.3.0 (#18010)
Bumps [react-select](https://github.com/JedWatson/react-select) from 5.2.2 to 5.3.0.
- [Release notes](https://github.com/JedWatson/react-select/releases)
- [Changelog](https://github.com/JedWatson/react-select/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/JedWatson/react-select/compare/react-select@5.2.2...react-select@5.3.0)

---
updated-dependencies:
- dependency-name: react-select
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-16 15:27:43 +09:00
dependabot[bot] a3c8b02258
Bump sass from 1.49.11 to 1.50.0 (#18016)
Bumps [sass](https://github.com/sass/dart-sass) from 1.49.11 to 1.50.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.49.11...1.50.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-16 15:27:17 +09:00
dependabot[bot] c2fda997d1
Bump bootsnap from 1.10.3 to 1.11.1 (#17778)
Bumps [bootsnap](https://github.com/Shopify/bootsnap) from 1.10.3 to 1.11.1.
- [Release notes](https://github.com/Shopify/bootsnap/releases)
- [Changelog](https://github.com/Shopify/bootsnap/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Shopify/bootsnap/compare/v1.10.3...v1.11.1)

---
updated-dependencies:
- dependency-name: bootsnap
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-14 21:33:11 +09:00
dependabot[bot] 822a7fecc6
Bump eslint-plugin-import from 2.25.4 to 2.26.0 (#18011)
Bumps [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) from 2.25.4 to 2.26.0.
- [Release notes](https://github.com/import-js/eslint-plugin-import/releases)
- [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md)
- [Commits](https://github.com/import-js/eslint-plugin-import/compare/v2.25.4...v2.26.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-import
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-14 21:25:13 +09:00
dependabot[bot] 12be6a071f
Bump @testing-library/jest-dom from 5.16.3 to 5.16.4 (#18022)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.16.3 to 5.16.4.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v5.16.3...v5.16.4)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-14 21:22:07 +09:00
dependabot[bot] 50c20546a4
Bump brakeman from 5.2.1 to 5.2.2 (#18021)
Bumps [brakeman](https://github.com/presidentbeef/brakeman) from 5.2.1 to 5.2.2.
- [Release notes](https://github.com/presidentbeef/brakeman/releases)
- [Changelog](https://github.com/presidentbeef/brakeman/blob/main/CHANGES.md)
- [Commits](https://github.com/presidentbeef/brakeman/compare/v5.2.1...v5.2.2)

---
updated-dependencies:
- dependency-name: brakeman
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-14 21:21:47 +09:00
dependabot[bot] 82d91dfce2
Bump sidekiq-unique-jobs from 7.1.16 to 7.1.19 (#18018)
Bumps [sidekiq-unique-jobs](https://github.com/mhenrixon/sidekiq-unique-jobs) from 7.1.16 to 7.1.19.
- [Release notes](https://github.com/mhenrixon/sidekiq-unique-jobs/releases)
- [Changelog](https://github.com/mhenrixon/sidekiq-unique-jobs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mhenrixon/sidekiq-unique-jobs/compare/v7.1.16...v7.1.19)

---
updated-dependencies:
- dependency-name: sidekiq-unique-jobs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-14 21:21:05 +09:00
dependabot[bot] b0fe837069
Bump @babel/runtime from 7.17.8 to 7.17.9 (#18012)
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.17.8 to 7.17.9.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.17.9/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-14 21:20:27 +09:00
dependabot[bot] 072f1e4898
Bump @babel/plugin-proposal-decorators from 7.17.8 to 7.17.9 (#18020)
Bumps [@babel/plugin-proposal-decorators](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-decorators) from 7.17.8 to 7.17.9.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.17.9/packages/babel-plugin-proposal-decorators)

---
updated-dependencies:
- dependency-name: "@babel/plugin-proposal-decorators"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-14 21:20:01 +09:00
dependabot[bot] 9b7387d917
Bump i18n-tasks from 1.0.8 to 1.0.9 (#18014) 2022-04-14 19:31:20 +09:00
dependabot[bot] ab54d91fe3
Bump @babel/core from 7.17.8 to 7.17.9 (#18015) 2022-04-14 19:30:54 +09:00
dependabot[bot] daa8b9e0c1
Bump yargs from 17.4.0 to 17.4.1 (#18017) 2022-04-14 19:29:52 +09:00
Eugen Rochko 07994cf4f6
New Crowdin updates (#17995)
* New translations en.json (Catalan)

* New translations en.yml (Persian)

* New translations en.yml (Romanian)

* New translations en.yml (Afrikaans)

* New translations en.yml (Bulgarian)

* New translations en.yml (Czech)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Sanskrit)

* New translations en.yml (Asturian)

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

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

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

* New translations en.yml (Corsican)

* New translations en.yml (Sardinian)

* New translations en.yml (Kabyle)

* New translations en.yml (Cornish)

* New translations en.yml (Ido)

* New translations en.yml (Taigi)

* New translations en.yml (Silesian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.json (Czech)

* New translations en.json (Hungarian)

* New translations en.yml (Kannada)

* New translations en.yml (Sinhala)

* 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 (Breton)

* New translations en.yml (Telugu)

* 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 (Malayalam)

* New translations en.json (Icelandic)

* New translations en.json (Vietnamese)

* New translations en.yml (Korean)

* New translations en.yml (Catalan)

* New translations en.yml (Czech)

* New translations en.yml (Icelandic)

* New translations en.json (Korean)

* New translations en.json (Polish)

* New translations en.yml (Albanian)

* New translations en.json (Albanian)

* New translations en.yml (Vietnamese)

* New translations en.yml (Chinese Traditional)

* New translations en.json (Chinese Traditional)

* New translations en.json (Vietnamese)

* New translations en.json (Russian)

* New translations en.yml (Russian)

* New translations en.json (Russian)

* New translations en.json (Latvian)

* New translations en.yml (Spanish, Argentina)

* New translations en.json (Spanish, Argentina)

* New translations en.yml (Danish)

* New translations en.yml (Latvian)

* New translations en.yml (Spanish)

* New translations en.json (Spanish)

* New translations simple_form.en.yml (Catalan)

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

* New translations simple_form.en.yml (Portuguese)

* 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 (Swedish)

* New translations simple_form.en.yml (Turkish)

* New translations simple_form.en.yml (Ukrainian)

* New translations simple_form.en.yml (Dutch)

* New translations simple_form.en.yml (Vietnamese)

* New translations simple_form.en.yml (Galician)

* New translations simple_form.en.yml (Icelandic)

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

* New translations simple_form.en.yml (Indonesian)

* New translations simple_form.en.yml (Persian)

* New translations simple_form.en.yml (Tamil)

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

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

* New translations simple_form.en.yml (Bengali)

* New translations simple_form.en.yml (Norwegian)

* New translations simple_form.en.yml (Slovenian)

* New translations simple_form.en.yml (Danish)

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

* New translations simple_form.en.yml (Thai)

* New translations simple_form.en.yml (Polish)

* New translations simple_form.en.yml (Romanian)

* New translations simple_form.en.yml (French)

* 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 (Czech)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Greek)

* New translations simple_form.en.yml (Basque)

* New translations simple_form.en.yml (Finnish)

* 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 (Korean)

* New translations simple_form.en.yml (Croatian)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Kabyle)

* New translations simple_form.en.yml (Sardinian)

* New translations simple_form.en.yml (Corsican)

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

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

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

* New translations simple_form.en.yml (Occitan)

* New translations simple_form.en.yml (Asturian)

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

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

* New translations simple_form.en.yml (Sinhala)

* New translations simple_form.en.yml (Breton)

* New translations simple_form.en.yml (Malayalam)

* New translations simple_form.en.yml (Tatar)

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

* New translations simple_form.en.yml (Esperanto)

* New translations simple_form.en.yml (Welsh)

* New translations simple_form.en.yml (Latvian)

* New translations simple_form.en.yml (Estonian)

* New translations simple_form.en.yml (Kazakh)

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

* New translations simple_form.en.yml (Czech)

* New translations simple_form.en.yml (Latvian)

* New translations simple_form.en.yml (Spanish)

* New translations simple_form.en.yml (Czech)

* New translations simple_form.en.yml (Korean)

* New translations simple_form.en.yml (Russian)

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

* New translations simple_form.en.yml (Polish)

* New translations en.json (Swedish)

* New translations en.yml (Italian)

* New translations en.json (Italian)

* New translations simple_form.en.yml (Italian)

* New translations simple_form.en.yml (Catalan)

* New translations en.yml (Portuguese)

* New translations en.json (Portuguese)

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

* New translations simple_form.en.yml (Portuguese)

* New translations simple_form.en.yml (Russian)

* New translations en.json (French)

* New translations simple_form.en.yml (French)

* New translations en.json (Polish)

* New translations en.json (Polish)

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

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

* New translations simple_form.en.yml (Arabic)

* New translations en.yml (Arabic)

* New translations simple_form.en.yml (Arabic)

* New translations doorkeeper.en.yml (Arabic)

* New translations en.yml (Arabic)

* New translations doorkeeper.en.yml (Arabic)

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

* New translations en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Turkish)

* New translations en.json (Turkish)

* New translations simple_form.en.yml (Turkish)

* New translations en.yml (Czech)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Greek)

* New translations en.json (Greek)

* New translations simple_form.en.yml (Greek)

* New translations simple_form.en.yml (Icelandic)

* New translations en.yml (Czech)

* New translations en.yml (Ukrainian)

* New translations en.yml (Ukrainian)

* New translations en.json (Ukrainian)

* New translations simple_form.en.yml (Ukrainian)

* New translations en.yml (Ukrainian)

* New translations en.json (Ukrainian)

* New translations doorkeeper.en.yml (Ukrainian)

* New translations simple_form.en.yml (Danish)

* New translations en.yml (Galician)

* New translations en.json (Galician)

* New translations simple_form.en.yml (Galician)

* New translations simple_form.en.yml (Vietnamese)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.json (French)

* New translations en.yml (Indonesian)

* New translations en.json (Indonesian)

* New translations en.yml (Indonesian)

* New translations simple_form.en.yml (Indonesian)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations simple_form.en.yml (Thai)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Armenian)

* New translations en.json (Armenian)

* New translations en.yml (Italian)

* New translations en.json (Italian)

* New translations en.yml (Catalan)

* New translations en.json (Catalan)

* New translations en.yml (Spanish, Argentina)

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

* New translations simple_form.en.yml (Hungarian)

* New translations en.yml (Chinese Simplified)

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

* New translations en.json (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

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

* New translations en.yml (Chinese Simplified)

* New translations en.json (Polish)

* New translations en.json (Polish)

* New translations en.json (Polish)

* New translations en.json (Polish)

* New translations doorkeeper.en.yml (Polish)

* New translations doorkeeper.en.yml (Polish)

* New translations en.yml (Polish)

* New translations en.yml (Polish)

* New translations en.yml (Polish)

* New translations en.yml (Polish)

* New translations simple_form.en.yml (Polish)

* New translations en.json (Polish)

* New translations en.json (Polish)

* New translations en.json (Catalan)

* New translations en.json (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations en.json (Vietnamese)

* New translations en.json (Vietnamese)

* New translations en.yml (Vietnamese)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-04-14 02:52:53 +09:00
Jeong Arm 1de748bf5e
Fix FetchFeaturedCollectionService (#18030) 2022-04-13 13:25:42 +02:00
dependabot[bot] 85b34a8d62
Bump nokogiri from 1.13.3 to 1.13.4 (#18025)
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.3 to 1.13.4.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/v1.13.4/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.3...v1.13.4)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-12 21:20:40 +09:00
Alexandra Catalina 331cca4015
chore(deps): update tootsuite/mastodon docker tag to v3.5.1 (#18023)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-12 03:26:50 +02:00
dogelover911 4c9949560d
FeedManager: skip account when target_account's last status is too old (#18009)
Co-authored-by: dogelover911 <dogelover911@localhost>
2022-04-11 21:17:03 +02:00
Claire dc50347247
Fix crash in alias settings page (#18004) 2022-04-09 20:11:06 +02:00
484 changed files with 15432 additions and 6581 deletions

7
.browserslistrc Normal file
View File

@ -0,0 +1,7 @@
[production]
defaults
not IE 11
not dead
[development]
supports es6-module

View File

@ -11,7 +11,8 @@
"extensions": [ "extensions": [
"EditorConfig.EditorConfig", "EditorConfig.EditorConfig",
"dbaeumer.vscode-eslint", "dbaeumer.vscode-eslint",
"rebornix.Ruby" "rebornix.Ruby",
"webben.browserslist"
], ],
// Use 'forwardPorts' to make a list of ports inside the container available locally. // Use 'forwardPorts' to make a list of ports inside the container available locally.

View File

@ -3,6 +3,105 @@ 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.
## [3.5.3] - 2022-05-26
### Added
- **Add language dropdown to compose form in web UI** ([Gargron](https://github.com/mastodon/mastodon/pull/18420), [ykzts](https://github.com/mastodon/mastodon/pull/18460))
- **Add warning for limited accounts in web UI** ([Gargron](https://github.com/mastodon/mastodon/pull/18344))
- Add `limited` attribute to accounts in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/18344))
### Changed
- **Change RSS feeds** ([Gargron](https://github.com/mastodon/mastodon/pull/18356), [tribela](https://github.com/mastodon/mastodon/pull/18406))
- Titles are now date and time of post
- Bodies now render all content faithfully, including polls and emojis
- All media attachments are included with Media RSS
- Change "dangerous" to "sensitive" in privacy policy and web UI ([Gargron](https://github.com/mastodon/mastodon/pull/18515))
- Change unconfirmed accounts to not be visible in REST API ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17530))
- Change `tootctl search deploy` to improve performance ([Gargron](https://github.com/mastodon/mastodon/pull/18463), [Gargron](https://github.com/mastodon/mastodon/pull/18514))
- Change search indexing to use batches to minimize resource usage ([Gargron](https://github.com/mastodon/mastodon/pull/18451))
### Fixed
- Fix follower and other counters being able to go negative ([Gargron](https://github.com/mastodon/mastodon/pull/18517))
- Fix unnecessary query on when creating a status ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17901))
- Fix warning an account outside of a report closing all reports for that account ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18387))
- Fix error when resolving a link that redirects to a local post ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18314))
- Fix preferred posting language returning unusable value in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/18428))
- Fix race condition error when external status is reblogged ([ykzts](https://github.com/mastodon/mastodon/pull/18424))
- Fix missing string for appeal validation error ([Gargron](https://github.com/mastodon/mastodon/pull/18410))
- Fix block/mute lists showing a follow button in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18364))
- Fix Redis configuration not being changed by `mastodon:setup` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18383))
- Fix streaming notifications not using quick filter logic in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18316))
- Fix ambiguous wording on appeal actions in admin UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18328))
- Fix floating action button obscuring last element in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18332))
- Fix account warnings not being recorded in audit log ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18338))
- Fix leftover icons for direct visibility statuses ([Steffo99](https://github.com/mastodon/mastodon/pull/18305))
- Fix link verification requiring case sensitivity on links ([sgolemon](https://github.com/mastodon/mastodon/pull/18320))
- Fix embeds not setting their height correctly ([rinsuki](https://github.com/mastodon/mastodon/pull/18301))
### Security
- Fix concurrent unfollowing decrementing follower count more than once ([Gargron](https://github.com/mastodon/mastodon/pull/18527))
- Fix being able to appeal a strike unlimited times ([Gargron](https://github.com/mastodon/mastodon/pull/18529))
- Fix being able to report otherwise inaccessible statuses ([Gargron](https://github.com/mastodon/mastodon/pull/18528))
- Fix empty votes arbitrarily increasing voters count in polls ([Gargron](https://github.com/mastodon/mastodon/pull/18526))
- Fix moderator identity leak when approving appeal of sensitive marked statuses ([Gargron](https://github.com/mastodon/mastodon/pull/18525))
- Fix suspended users being able to access APIs that don't require a user ([Gargron](https://github.com/mastodon/mastodon/pull/18524))
- Fix confirmation redirect to app without `Location` header ([Gargron](https://github.com/mastodon/mastodon/pull/18523))
## [3.5.2] - 2022-05-04
### Added
- Add warning on direct messages screen in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/18289))
- We already had a warning when composing a direct message, it has now been reworded to be more clear
- Same warning is now displayed when viewing sent and received direct messages
- Add ability to set approval-based registration through tootctl ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18248))
- Add pre-filling of domain from search filter in domain allow/block admin UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18172))
## Changed
- Change name of “Direct” visibility to “Mentioned people only” in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/18146), [Gargron](https://github.com/mastodon/mastodon/pull/18289), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18291))
- Change trending posts to only show one post from each account ([Gargron](https://github.com/mastodon/mastodon/pull/18181))
- Change half-life of trending posts from 6 hours to 2 hours ([Gargron](https://github.com/mastodon/mastodon/pull/18182))
- Change full-text search feature to also include polls you have voted in ([tribela](https://github.com/mastodon/mastodon/pull/18070))
- Change Redis from using one connection per process, to using a connection pool ([Gargron](https://github.com/mastodon/mastodon/pull/18135), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18160), [Gargron](https://github.com/mastodon/mastodon/pull/18171))
- Different threads no longer have to wait on a mutex over a single connection
- However, this does increase the number of Redis connections by a fair amount
- We are planning to optimize Redis use so that the pool can be made smaller in the future
## Removed
- Remove IP matching from e-mail domain blocks ([Gargron](https://github.com/mastodon/mastodon/pull/18190))
- The IPs of the blocked e-mail domain or its MX records are no longer checked
- Previously it was too easy to block e-mail providers by mistake
## Fixed
- Fix compatibility with Friendica's pinned posts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18254), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18260))
- Fix error when looking up handle with surrounding spaces in REST API ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18225))
- Fix double render error when authorizing interaction ([Gargron](https://github.com/mastodon/mastodon/pull/18203))
- Fix error when a post references an invalid media attachment ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18211))
- Fix error when trying to revoke OAuth token without supplying a token ([Gargron](https://github.com/mastodon/mastodon/pull/18205))
- Fix error caused by missing subject in Webfinger response ([Gargron](https://github.com/mastodon/mastodon/pull/18204))
- Fix error on attempting to delete an account moderation note ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18196))
- Fix light-mode emoji borders in web UI ([Gaelan](https://github.com/mastodon/mastodon/pull/18131))
- Fix being able to scroll away from the loading bar in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/18170))
- Fix error when a bookmark or favorite has been reported and deleted ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18174))
- Fix being offered empty “Server rules violation” report option in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18165))
- Fix temporary network errors preventing from authorizing interactions with remote accounts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18161))
- Fix incorrect link in "new trending tags" email ([cdzombak](https://github.com/mastodon/mastodon/pull/18156))
- Fix missing indexes on some foreign keys ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18157))
- Fix n+1 query on feed merge and populate operations ([Gargron](https://github.com/mastodon/mastodon/pull/18111))
- Fix feed unmerge worker being exceptionally slow in some conditions ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18110))
- Fix PeerTube videos appearing with an erroneous “Edited at” marker ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18100))
- Fix instance actor being created incorrectly when running through migrations ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18109))
- Fix web push notifications containing HTML entities ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18071))
- Fix inconsistent parsing of `TRUSTED_PROXY_IP` ([ykzts](https://github.com/mastodon/mastodon/pull/18051))
- Fix error when fetching pinned posts ([tribela](https://github.com/mastodon/mastodon/pull/18030))
- Fix wrong optimization in feed populate operation ([dogelover911](https://github.com/mastodon/mastodon/pull/18009))
- Fix error in alias settings page ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18004))
## [3.5.1] - 2022-04-08 ## [3.5.1] - 2022-04-08
### Added ### Added

20
Gemfile
View File

@ -1,13 +1,13 @@
# frozen_string_literal: true # frozen_string_literal: true
source 'https://rubygems.org' source 'https://rubygems.org'
ruby '>= 2.5.0', '< 3.1.0' ruby '>= 2.6.0', '< 3.1.0'
gem 'pkg-config', '~> 1.4' gem 'pkg-config', '~> 1.4'
gem 'rexml', '~> 3.2' gem 'rexml', '~> 3.2'
gem 'puma', '~> 5.6' gem 'puma', '~> 5.6'
gem 'rails', '~> 6.1.5' gem 'rails', '~> 6.1.6'
gem 'sprockets', '~> 3.7.2' gem 'sprockets', '~> 3.7.2'
gem 'thor', '~> 1.2' gem 'thor', '~> 1.2'
gem 'rack', '~> 2.2.3' gem 'rack', '~> 2.2.3'
@ -18,7 +18,7 @@ gem 'makara', '~> 0.5'
gem 'pghero', '~> 2.8' gem 'pghero', '~> 2.8'
gem 'dotenv-rails', '~> 2.7' gem 'dotenv-rails', '~> 2.7'
gem 'aws-sdk-s3', '~> 1.113', require: false gem 'aws-sdk-s3', '~> 1.114', require: false
gem 'fog-core', '<= 2.1.0' gem 'fog-core', '<= 2.1.0'
gem 'fog-openstack', '~> 0.3', require: false gem 'fog-openstack', '~> 0.3', require: false
gem 'kt-paperclip', '~> 7.1' gem 'kt-paperclip', '~> 7.1'
@ -26,7 +26,7 @@ gem 'blurhash', '~> 0.1'
gem 'active_model_serializers', '~> 0.10' gem 'active_model_serializers', '~> 0.10'
gem 'addressable', '~> 2.8' gem 'addressable', '~> 2.8'
gem 'bootsnap', '~> 1.10.3', require: false gem 'bootsnap', '~> 1.11.1', require: false
gem 'browser' gem 'browser'
gem 'charlock_holmes', '~> 0.7.7' gem 'charlock_holmes', '~> 0.7.7'
gem 'chewy', '~> 7.2' gem 'chewy', '~> 7.2'
@ -79,13 +79,13 @@ gem 'ruby-progressbar', '~> 1.11'
gem 'sanitize', '~> 6.0' gem 'sanitize', '~> 6.0'
gem 'scenic', '~> 1.6' gem 'scenic', '~> 1.6'
gem 'sidekiq', '~> 6.4' gem 'sidekiq', '~> 6.4'
gem 'sidekiq-scheduler', '~> 3.1' gem 'sidekiq-scheduler', '~> 4.0'
gem 'sidekiq-unique-jobs', '~> 7.1' gem 'sidekiq-unique-jobs', '~> 7.1'
gem 'sidekiq-bulk', '~>0.2.0' gem 'sidekiq-bulk', '~> 0.2.0'
gem 'simple-navigation', '~> 4.3' gem 'simple-navigation', '~> 4.3'
gem 'simple_form', '~> 5.1' gem 'simple_form', '~> 5.1'
gem 'sprockets-rails', '~> 3.4', require: 'sprockets/railtie' gem 'sprockets-rails', '~> 3.4', require: 'sprockets/railtie'
gem 'stoplight', '~> 2.2.1' gem 'stoplight', '~> 3.0.0'
gem 'strong_migrations', '~> 0.7' gem 'strong_migrations', '~> 0.7'
gem 'tty-prompt', '~> 0.23', require: false gem 'tty-prompt', '~> 0.23', require: false
gem 'twitter-text', '~> 3.1.0' gem 'twitter-text', '~> 3.1.0'
@ -112,9 +112,9 @@ group :production, :test do
end end
group :test do group :test do
gem 'capybara', '~> 3.36' gem 'capybara', '~> 3.37'
gem 'climate_control', '~> 0.2' gem 'climate_control', '~> 0.2'
gem 'faker', '~> 2.20' gem 'faker', '~> 2.21'
gem 'microformats', '~> 4.2' gem 'microformats', '~> 4.2'
gem 'rails-controller-testing', '~> 1.0' gem 'rails-controller-testing', '~> 1.0'
gem 'rspec-sidekiq', '~> 3.1' gem 'rspec-sidekiq', '~> 3.1'
@ -132,7 +132,7 @@ group :development do
gem 'letter_opener', '~> 1.8' gem 'letter_opener', '~> 1.8'
gem 'letter_opener_web', '~> 2.0' gem 'letter_opener_web', '~> 2.0'
gem 'memory_profiler' gem 'memory_profiler'
gem 'rubocop', '~> 1.26', require: false gem 'rubocop', '~> 1.29', require: false
gem 'rubocop-rails', '~> 2.14', require: false gem 'rubocop-rails', '~> 2.14', require: false
gem 'brakeman', '~> 5.2', require: false gem 'brakeman', '~> 5.2', require: false
gem 'bundler-audit', '~> 0.9', require: false gem 'bundler-audit', '~> 0.9', require: false

View File

@ -1,40 +1,40 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
actioncable (6.1.5) actioncable (6.1.6)
actionpack (= 6.1.5) actionpack (= 6.1.6)
activesupport (= 6.1.5) activesupport (= 6.1.6)
nio4r (~> 2.0) nio4r (~> 2.0)
websocket-driver (>= 0.6.1) websocket-driver (>= 0.6.1)
actionmailbox (6.1.5) actionmailbox (6.1.6)
actionpack (= 6.1.5) actionpack (= 6.1.6)
activejob (= 6.1.5) activejob (= 6.1.6)
activerecord (= 6.1.5) activerecord (= 6.1.6)
activestorage (= 6.1.5) activestorage (= 6.1.6)
activesupport (= 6.1.5) activesupport (= 6.1.6)
mail (>= 2.7.1) mail (>= 2.7.1)
actionmailer (6.1.5) actionmailer (6.1.6)
actionpack (= 6.1.5) actionpack (= 6.1.6)
actionview (= 6.1.5) actionview (= 6.1.6)
activejob (= 6.1.5) activejob (= 6.1.6)
activesupport (= 6.1.5) activesupport (= 6.1.6)
mail (~> 2.5, >= 2.5.4) mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
actionpack (6.1.5) actionpack (6.1.6)
actionview (= 6.1.5) actionview (= 6.1.6)
activesupport (= 6.1.5) activesupport (= 6.1.6)
rack (~> 2.0, >= 2.0.9) rack (~> 2.0, >= 2.0.9)
rack-test (>= 0.6.3) rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0)
actiontext (6.1.5) actiontext (6.1.6)
actionpack (= 6.1.5) actionpack (= 6.1.6)
activerecord (= 6.1.5) activerecord (= 6.1.6)
activestorage (= 6.1.5) activestorage (= 6.1.6)
activesupport (= 6.1.5) activesupport (= 6.1.6)
nokogiri (>= 1.8.5) nokogiri (>= 1.8.5)
actionview (6.1.5) actionview (6.1.6)
activesupport (= 6.1.5) activesupport (= 6.1.6)
builder (~> 3.1) builder (~> 3.1)
erubi (~> 1.4) erubi (~> 1.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
@ -45,22 +45,22 @@ GEM
case_transform (>= 0.2) case_transform (>= 0.2)
jsonapi-renderer (>= 0.1.1.beta1, < 0.3) jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
active_record_query_trace (1.8) active_record_query_trace (1.8)
activejob (6.1.5) activejob (6.1.6)
activesupport (= 6.1.5) activesupport (= 6.1.6)
globalid (>= 0.3.6) globalid (>= 0.3.6)
activemodel (6.1.5) activemodel (6.1.6)
activesupport (= 6.1.5) activesupport (= 6.1.6)
activerecord (6.1.5) activerecord (6.1.6)
activemodel (= 6.1.5) activemodel (= 6.1.6)
activesupport (= 6.1.5) activesupport (= 6.1.6)
activestorage (6.1.5) activestorage (6.1.6)
actionpack (= 6.1.5) actionpack (= 6.1.6)
activejob (= 6.1.5) activejob (= 6.1.6)
activerecord (= 6.1.5) activerecord (= 6.1.6)
activesupport (= 6.1.5) activesupport (= 6.1.6)
marcel (~> 1.0) marcel (~> 1.0)
mini_mime (>= 1.1.0) mini_mime (>= 1.1.0)
activesupport (6.1.5) activesupport (6.1.6)
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2) i18n (>= 1.6, < 2)
minitest (>= 5.1) minitest (>= 5.1)
@ -81,20 +81,20 @@ GEM
attr_required (1.0.1) attr_required (1.0.1)
awrence (1.1.1) awrence (1.1.1)
aws-eventstream (1.2.0) aws-eventstream (1.2.0)
aws-partitions (1.558.0) aws-partitions (1.587.0)
aws-sdk-core (3.127.0) aws-sdk-core (3.130.2)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.525.0) aws-partitions (~> 1, >= 1.525.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
jmespath (~> 1.0) jmespath (~> 1.0)
aws-sdk-kms (1.55.0) aws-sdk-kms (1.56.0)
aws-sdk-core (~> 3, >= 3.127.0) aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.113.0) aws-sdk-s3 (1.114.0)
aws-sdk-core (~> 3, >= 3.127.0) aws-sdk-core (~> 3, >= 3.127.0)
aws-sdk-kms (~> 1) aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4) aws-sigv4 (~> 1.4)
aws-sigv4 (1.4.0) aws-sigv4 (1.5.0)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
bcrypt (3.1.17) bcrypt (3.1.17)
better_errors (2.9.1) better_errors (2.9.1)
@ -114,9 +114,9 @@ GEM
debug_inspector (>= 0.0.1) debug_inspector (>= 0.0.1)
blurhash (0.1.6) blurhash (0.1.6)
ffi (~> 1.14) ffi (~> 1.14)
bootsnap (1.10.3) bootsnap (1.11.1)
msgpack (~> 1.2) msgpack (~> 1.2)
brakeman (5.2.1) brakeman (5.2.3)
browser (4.2.0) browser (4.2.0)
brpoplpush-redis_script (0.1.2) brpoplpush-redis_script (0.1.2)
concurrent-ruby (~> 1.0, >= 1.0.5) concurrent-ruby (~> 1.0, >= 1.0.5)
@ -144,7 +144,7 @@ GEM
sshkit (~> 1.3) sshkit (~> 1.3)
capistrano-yarn (2.0.2) capistrano-yarn (2.0.2)
capistrano (~> 3.0) capistrano (~> 3.0)
capybara (3.36.0) capybara (3.37.1)
addressable addressable
matrix matrix
mini_mime (>= 0.1.3) mini_mime (>= 0.1.3)
@ -203,7 +203,6 @@ GEM
dotenv-rails (2.7.6) dotenv-rails (2.7.6)
dotenv (= 2.7.6) dotenv (= 2.7.6)
railties (>= 3.2) railties (>= 3.2)
e2mmap (0.1.0)
ed25519 (1.3.0) ed25519 (1.3.0)
elasticsearch (7.13.3) elasticsearch (7.13.3)
elasticsearch-api (= 7.13.3) elasticsearch-api (= 7.13.3)
@ -216,11 +215,11 @@ GEM
multi_json multi_json
encryptor (3.0.0) encryptor (3.0.0)
erubi (1.10.0) erubi (1.10.0)
et-orbi (1.2.6) et-orbi (1.2.7)
tzinfo tzinfo
excon (0.76.0) excon (0.76.0)
fabrication (2.28.0) fabrication (2.28.0)
faker (2.20.0) faker (2.21.0)
i18n (>= 1.8.11, < 2) i18n (>= 1.8.11, < 2)
faraday (1.9.3) faraday (1.9.3)
faraday-em_http (~> 1.0) faraday-em_http (~> 1.0)
@ -264,8 +263,8 @@ GEM
fog-json (>= 1.0) fog-json (>= 1.0)
ipaddress (>= 0.8) ipaddress (>= 0.8)
formatador (0.2.5) formatador (0.2.5)
fugit (1.5.2) fugit (1.5.3)
et-orbi (~> 1.1, >= 1.1.8) et-orbi (~> 1, >= 1.2.7)
raabro (~> 1.4) raabro (~> 1.4)
fuubar (2.5.1) fuubar (2.5.1)
rspec-core (~> 3.0) rspec-core (~> 3.0)
@ -307,7 +306,7 @@ GEM
rainbow (>= 2.0.0) rainbow (>= 2.0.0)
i18n (1.10.0) i18n (1.10.0)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
i18n-tasks (1.0.8) i18n-tasks (1.0.10)
activesupport (>= 4.0.2) activesupport (>= 4.0.2)
ast (>= 2.1.0) ast (>= 2.1.0)
better_html (~> 1.0) better_html (~> 1.0)
@ -320,7 +319,7 @@ GEM
terminal-table (>= 1.5.1) terminal-table (>= 1.5.1)
idn-ruby (0.1.4) idn-ruby (0.1.4)
ipaddress (0.8.3) ipaddress (0.8.3)
jmespath (1.6.0) jmespath (1.6.1)
json (2.5.1) json (2.5.1)
json-canonicalization (0.3.0) json-canonicalization (0.3.0)
json-jwt (1.13.0) json-jwt (1.13.0)
@ -375,7 +374,7 @@ GEM
activesupport (>= 4) activesupport (>= 4)
railties (>= 4) railties (>= 4)
request_store (~> 1.0) request_store (~> 1.0)
loofah (2.16.0) loofah (2.18.0)
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.5.9) nokogiri (>= 1.5.9)
mail (2.7.1) mail (2.7.1)
@ -397,7 +396,7 @@ GEM
mini_mime (1.1.2) mini_mime (1.1.2)
mini_portile2 (2.8.0) mini_portile2 (2.8.0)
minitest (5.15.0) minitest (5.15.0)
msgpack (1.4.4) msgpack (1.5.1)
multi_json (1.15.0) multi_json (1.15.0)
multipart-post (2.1.1) multipart-post (2.1.1)
net-ldap (0.17.0) net-ldap (0.17.0)
@ -405,7 +404,7 @@ GEM
net-ssh (>= 2.6.5, < 7.0.0) net-ssh (>= 2.6.5, < 7.0.0)
net-ssh (6.1.0) net-ssh (6.1.0)
nio4r (2.5.8) nio4r (2.5.8)
nokogiri (1.13.3) nokogiri (1.13.6)
mini_portile2 (~> 2.8.0) mini_portile2 (~> 2.8.0)
racc (~> 1.4) racc (~> 1.4)
nsa (0.2.8) nsa (0.2.8)
@ -442,13 +441,13 @@ GEM
orm_adapter (0.5.0) orm_adapter (0.5.0)
ox (2.14.11) ox (2.14.11)
parallel (1.22.1) parallel (1.22.1)
parser (3.1.1.0) parser (3.1.2.0)
ast (~> 2.4.1) ast (~> 2.4.1)
parslet (2.0.0) parslet (2.0.0)
pastel (0.8.0) pastel (0.8.0)
tty-color (~> 0.5) tty-color (~> 0.5)
pg (1.3.5) pg (1.3.5)
pghero (2.8.2) pghero (2.8.3)
activerecord (>= 5) activerecord (>= 5)
pkg-config (1.4.7) pkg-config (1.4.7)
posix-spawn (0.3.15) posix-spawn (0.3.15)
@ -468,7 +467,7 @@ GEM
pry (~> 0.13.0) pry (~> 0.13.0)
pry-rails (0.3.9) pry-rails (0.3.9)
pry (>= 0.10.4) pry (>= 0.10.4)
public_suffix (4.0.6) public_suffix (4.0.7)
puma (5.6.4) puma (5.6.4)
nio4r (~> 2.0) nio4r (~> 2.0)
pundit (2.2.0) pundit (2.2.0)
@ -476,7 +475,7 @@ GEM
raabro (1.4.0) raabro (1.4.0)
racc (1.6.0) racc (1.6.0)
rack (2.2.3) rack (2.2.3)
rack-attack (6.6.0) rack-attack (6.6.1)
rack (>= 1.0, < 3) rack (>= 1.0, < 3)
rack-cors (1.1.1) rack-cors (1.1.1)
rack (>= 2.0.0) rack (>= 2.0.0)
@ -490,20 +489,20 @@ GEM
rack rack
rack-test (1.1.0) rack-test (1.1.0)
rack (>= 1.0, < 3) rack (>= 1.0, < 3)
rails (6.1.5) rails (6.1.6)
actioncable (= 6.1.5) actioncable (= 6.1.6)
actionmailbox (= 6.1.5) actionmailbox (= 6.1.6)
actionmailer (= 6.1.5) actionmailer (= 6.1.6)
actionpack (= 6.1.5) actionpack (= 6.1.6)
actiontext (= 6.1.5) actiontext (= 6.1.6)
actionview (= 6.1.5) actionview (= 6.1.6)
activejob (= 6.1.5) activejob (= 6.1.6)
activemodel (= 6.1.5) activemodel (= 6.1.6)
activerecord (= 6.1.5) activerecord (= 6.1.6)
activestorage (= 6.1.5) activestorage (= 6.1.6)
activesupport (= 6.1.5) activesupport (= 6.1.6)
bundler (>= 1.15.0) bundler (>= 1.15.0)
railties (= 6.1.5) railties (= 6.1.6)
sprockets-rails (>= 2.0.0) sprockets-rails (>= 2.0.0)
rails-controller-testing (1.0.5) rails-controller-testing (1.0.5)
actionpack (>= 5.0.1.rc1) actionpack (>= 5.0.1.rc1)
@ -519,9 +518,9 @@ GEM
railties (>= 6.0.0, < 7) railties (>= 6.0.0, < 7)
rails-settings-cached (0.6.6) rails-settings-cached (0.6.6)
rails (>= 4.2.0) rails (>= 4.2.0)
railties (6.1.5) railties (6.1.6)
actionpack (= 6.1.5) actionpack (= 6.1.6)
activesupport (= 6.1.5) activesupport (= 6.1.6)
method_source method_source
rake (>= 12.2) rake (>= 12.2)
thor (~> 1.0) thor (~> 1.0)
@ -534,7 +533,7 @@ GEM
redis (4.5.1) redis (4.5.1)
redis-namespace (1.8.2) redis-namespace (1.8.2)
redis (>= 3.0.4) redis (>= 3.0.4)
regexp_parser (2.2.1) regexp_parser (2.4.0)
request_store (1.5.1) request_store (1.5.1)
rack (>= 1.4) rack (>= 1.4)
responders (3.0.1) responders (3.0.1)
@ -552,10 +551,10 @@ GEM
rspec-expectations (3.11.0) rspec-expectations (3.11.0)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.11.0) rspec-support (~> 3.11.0)
rspec-mocks (3.11.0) rspec-mocks (3.11.1)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.11.0) rspec-support (~> 3.11.0)
rspec-rails (5.1.1) rspec-rails (5.1.2)
actionpack (>= 5.2) actionpack (>= 5.2)
activesupport (>= 5.2) activesupport (>= 5.2)
railties (>= 5.2) railties (>= 5.2)
@ -569,16 +568,16 @@ GEM
rspec-support (3.11.0) rspec-support (3.11.0)
rspec_junit_formatter (0.5.1) rspec_junit_formatter (0.5.1)
rspec-core (>= 2, < 4, != 2.12.0) rspec-core (>= 2, < 4, != 2.12.0)
rubocop (1.26.1) rubocop (1.29.1)
parallel (~> 1.10) parallel (~> 1.10)
parser (>= 3.1.0.0) parser (>= 3.1.0.0)
rainbow (>= 2.2.2, < 4.0) rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0) regexp_parser (>= 1.8, < 3.0)
rexml rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.16.0, < 2.0) rubocop-ast (>= 1.17.0, < 2.0)
ruby-progressbar (~> 1.7) ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 3.0) unicode-display_width (>= 1.4.0, < 3.0)
rubocop-ast (1.16.0) rubocop-ast (1.18.0)
parser (>= 3.1.1.0) parser (>= 3.1.1.0)
rubocop-rails (2.14.2) rubocop-rails (2.14.2)
activesupport (>= 4.2.0) activesupport (>= 4.2.0)
@ -601,20 +600,18 @@ GEM
railties (>= 4.0.0) railties (>= 4.0.0)
securecompare (1.0.0) securecompare (1.0.0)
semantic_range (3.0.0) semantic_range (3.0.0)
sidekiq (6.4.1) sidekiq (6.4.2)
connection_pool (>= 2.2.2) connection_pool (>= 2.2.2)
rack (~> 2.0) rack (~> 2.0)
redis (>= 4.2.0) redis (>= 4.2.0)
sidekiq-bulk (0.2.0) sidekiq-bulk (0.2.0)
sidekiq sidekiq
sidekiq-scheduler (3.1.1) sidekiq-scheduler (4.0.0)
e2mmap redis (>= 4.2.0)
redis (>= 3, < 5)
rufus-scheduler (~> 3.2) rufus-scheduler (~> 3.2)
sidekiq (>= 3) sidekiq (>= 4)
thwait
tilt (>= 1.4.0) tilt (>= 1.4.0)
sidekiq-unique-jobs (7.1.16) sidekiq-unique-jobs (7.1.22)
brpoplpush-redis_script (> 0.1.1, <= 2.0.0) brpoplpush-redis_script (> 0.1.1, <= 2.0.0)
concurrent-ruby (~> 1.0, >= 1.0.5) concurrent-ruby (~> 1.0, >= 1.0.5)
sidekiq (>= 5.0, < 8.0) sidekiq (>= 5.0, < 8.0)
@ -643,7 +640,7 @@ GEM
net-ssh (>= 2.8.0) net-ssh (>= 2.8.0)
stackprof (0.2.19) stackprof (0.2.19)
statsd-ruby (1.5.0) statsd-ruby (1.5.0)
stoplight (2.2.1) stoplight (3.0.0)
strong_migrations (0.7.9) strong_migrations (0.7.9)
activerecord (>= 5) activerecord (>= 5)
swd (1.3.0) swd (1.3.0)
@ -656,8 +653,6 @@ GEM
terrapin (0.6.0) terrapin (0.6.0)
climate_control (>= 0.0.3, < 1.0) climate_control (>= 0.0.3, < 1.0)
thor (1.2.1) thor (1.2.1)
thwait (0.2.0)
e2mmap
tilt (2.0.10) tilt (2.0.10)
tpm-key_attestation (0.9.0) tpm-key_attestation (0.9.0)
bindata (~> 2.4) bindata (~> 2.4)
@ -734,11 +729,11 @@ DEPENDENCIES
active_record_query_trace (~> 1.8) active_record_query_trace (~> 1.8)
addressable (~> 2.8) addressable (~> 2.8)
annotate (~> 3.2) annotate (~> 3.2)
aws-sdk-s3 (~> 1.113) aws-sdk-s3 (~> 1.114)
better_errors (~> 2.9) better_errors (~> 2.9)
binding_of_caller (~> 1.0) binding_of_caller (~> 1.0)
blurhash (~> 0.1) blurhash (~> 0.1)
bootsnap (~> 1.10.3) bootsnap (~> 1.11.1)
brakeman (~> 5.2) brakeman (~> 5.2)
browser browser
bullet (~> 7.0) bullet (~> 7.0)
@ -747,7 +742,7 @@ DEPENDENCIES
capistrano-rails (~> 1.6) capistrano-rails (~> 1.6)
capistrano-rbenv (~> 2.2) capistrano-rbenv (~> 2.2)
capistrano-yarn (~> 2.0) capistrano-yarn (~> 2.0)
capybara (~> 3.36) capybara (~> 3.37)
charlock_holmes (~> 0.7.7) charlock_holmes (~> 0.7.7)
chewy (~> 7.2) chewy (~> 7.2)
climate_control (~> 0.2) climate_control (~> 0.2)
@ -762,7 +757,7 @@ DEPENDENCIES
dotenv-rails (~> 2.7) dotenv-rails (~> 2.7)
ed25519 (~> 1.3) ed25519 (~> 1.3)
fabrication (~> 2.28) fabrication (~> 2.28)
faker (~> 2.20) faker (~> 2.21)
fast_blank (~> 1.0) fast_blank (~> 1.0)
fastimage fastimage
fog-core (<= 2.1.0) fog-core (<= 2.1.0)
@ -813,7 +808,7 @@ DEPENDENCIES
rack (~> 2.2.3) rack (~> 2.2.3)
rack-attack (~> 6.6) rack-attack (~> 6.6)
rack-cors (~> 1.1) rack-cors (~> 1.1)
rails (~> 6.1.5) rails (~> 6.1.6)
rails-controller-testing (~> 1.0) rails-controller-testing (~> 1.0)
rails-i18n (~> 6.0) rails-i18n (~> 6.0)
rails-settings-cached (~> 0.6) rails-settings-cached (~> 0.6)
@ -825,14 +820,14 @@ DEPENDENCIES
rspec-rails (~> 5.1) rspec-rails (~> 5.1)
rspec-sidekiq (~> 3.1) rspec-sidekiq (~> 3.1)
rspec_junit_formatter (~> 0.5) rspec_junit_formatter (~> 0.5)
rubocop (~> 1.26) rubocop (~> 1.29)
rubocop-rails (~> 2.14) rubocop-rails (~> 2.14)
ruby-progressbar (~> 1.11) ruby-progressbar (~> 1.11)
sanitize (~> 6.0) sanitize (~> 6.0)
scenic (~> 1.6) scenic (~> 1.6)
sidekiq (~> 6.4) sidekiq (~> 6.4)
sidekiq-bulk (~> 0.2.0) sidekiq-bulk (~> 0.2.0)
sidekiq-scheduler (~> 3.1) sidekiq-scheduler (~> 4.0)
sidekiq-unique-jobs (~> 7.1) sidekiq-unique-jobs (~> 7.1)
simple-navigation (~> 4.3) simple-navigation (~> 4.3)
simple_form (~> 5.1) simple_form (~> 5.1)
@ -840,7 +835,7 @@ DEPENDENCIES
sprockets (~> 3.7.2) sprockets (~> 3.7.2)
sprockets-rails (~> 3.4) sprockets-rails (~> 3.4)
stackprof stackprof
stoplight (~> 2.2.1) stoplight (~> 3.0.0)
strong_migrations (~> 0.7) strong_migrations (~> 0.7)
thor (~> 1.2) thor (~> 1.2)
tty-prompt (~> 0.23) tty-prompt (~> 0.23)

View File

@ -14,7 +14,7 @@ A "vulnerability in Mastodon" is a vulnerability in the code distributed through
| ------- | ------------------ | | ------- | ------------------ |
| 3.5.x | Yes | | 3.5.x | Yes |
| 3.4.x | Yes | | 3.4.x | Yes |
| 3.3.x | Yes | | 3.3.x | No |
| < 3.3 | No | | < 3.3 | No |
[bug-bounty]: https://app.intigriti.com/programs/mastodon/mastodonio/detail [bug-bounty]: https://app.intigriti.com/programs/mastodon/mastodonio/detail

View File

@ -1,7 +1,7 @@
# frozen_string_literal: true # frozen_string_literal: true
class AccountsIndex < Chewy::Index class AccountsIndex < Chewy::Index
settings index: { refresh_interval: '5m' }, analysis: { settings index: { refresh_interval: '30s' }, analysis: {
analyzer: { analyzer: {
content: { content: {
tokenizer: 'whitespace', tokenizer: 'whitespace',
@ -23,7 +23,7 @@ class AccountsIndex < Chewy::Index
}, },
} }
index_scope ::Account.searchable.includes(:account_stat), delete_if: ->(account) { account.destroyed? || !account.searchable? } index_scope ::Account.searchable.includes(:account_stat)
root date_detection: false do root date_detection: false do
field :id, type: 'long' field :id, type: 'long'
@ -36,8 +36,8 @@ class AccountsIndex < Chewy::Index
field :edge_ngram, type: 'text', analyzer: 'edge_ngram', search_analyzer: 'content' field :edge_ngram, type: 'text', analyzer: 'edge_ngram', search_analyzer: 'content'
end end
field :following_count, type: 'long', value: ->(account) { account.following.local.count } field :following_count, type: 'long', value: ->(account) { account.following_count }
field :followers_count, type: 'long', value: ->(account) { account.followers.local.count } field :followers_count, type: 'long', value: ->(account) { account.followers_count }
field :last_status_at, type: 'date', value: ->(account) { account.last_status_at || account.created_at } field :last_status_at, type: 'date', value: ->(account) { account.last_status_at || account.created_at }
end end
end end

View File

@ -3,7 +3,7 @@
class StatusesIndex < Chewy::Index class StatusesIndex < Chewy::Index
include FormattingHelper include FormattingHelper
settings index: { refresh_interval: '15m' }, analysis: { settings index: { refresh_interval: '30s' }, analysis: {
filter: { filter: {
english_stop: { english_stop: {
type: 'stop', type: 'stop',
@ -33,6 +33,8 @@ class StatusesIndex < Chewy::Index
}, },
} }
# We do not use delete_if option here because it would call a method that we
# expect to be called with crutches without crutches, causing n+1 queries
index_scope ::Status.unscoped.kept.without_reblogs.includes(:media_attachments, :preloadable_poll) index_scope ::Status.unscoped.kept.without_reblogs.includes(:media_attachments, :preloadable_poll)
crutch :mentions do |collection| crutch :mentions do |collection|
@ -55,6 +57,11 @@ class StatusesIndex < Chewy::Index
data.each.with_object({}) { |(id, name), result| (result[id] ||= []).push(name) } data.each.with_object({}) { |(id, name), result| (result[id] ||= []).push(name) }
end end
crutch :votes do |collection|
data = ::PollVote.joins(:poll).where(poll: { status_id: collection.map(&:id) }).where(account: Account.local).pluck(:status_id, :account_id)
data.each.with_object({}) { |(id, name), result| (result[id] ||= []).push(name) }
end
root date_detection: false do root date_detection: false do
field :id, type: 'long' field :id, type: 'long'
field :account_id, type: 'long' field :account_id, type: 'long'

View File

@ -1,7 +1,7 @@
# frozen_string_literal: true # frozen_string_literal: true
class TagsIndex < Chewy::Index class TagsIndex < Chewy::Index
settings index: { refresh_interval: '15m' }, analysis: { settings index: { refresh_interval: '30s' }, analysis: {
analyzer: { analyzer: {
content: { content: {
tokenizer: 'keyword', tokenizer: 'keyword',
@ -23,7 +23,11 @@ class TagsIndex < Chewy::Index
}, },
} }
index_scope ::Tag.listable, delete_if: ->(tag) { tag.destroyed? || !tag.listable? } index_scope ::Tag.listable
crutch :time_period do
7.days.ago.to_date..0.days.ago.to_date
end
root date_detection: false do root date_detection: false do
field :name, type: 'text', analyzer: 'content' do field :name, type: 'text', analyzer: 'content' do
@ -31,7 +35,7 @@ class TagsIndex < Chewy::Index
end end
field :reviewed, type: 'boolean', value: ->(tag) { tag.reviewed? } field :reviewed, type: 'boolean', value: ->(tag) { tag.reviewed? }
field :usage, type: 'long', value: ->(tag) { tag.history.reduce(0) { |total, day| total + day.accounts } } field :usage, type: 'long', value: ->(tag, crutches) { tag.history.aggregate(crutches.time_period).accounts }
field :last_status_at, type: 'date', value: ->(tag) { tag.last_status_at || tag.created_at } field :last_status_at, type: 'date', value: ->(tag) { tag.last_status_at || tag.created_at }
end end
end end

View File

@ -44,7 +44,6 @@ class AccountsController < ApplicationController
limit = params[:limit].present? ? [params[:limit].to_i, PAGE_SIZE_MAX].min : PAGE_SIZE limit = params[:limit].present? ? [params[:limit].to_i, PAGE_SIZE_MAX].min : PAGE_SIZE
@statuses = filtered_statuses.without_reblogs.limit(limit) @statuses = filtered_statuses.without_reblogs.limit(limit)
@statuses = cache_collection(@statuses, Status) @statuses = cache_collection(@statuses, Status)
render xml: RSS::AccountSerializer.render(@account, @statuses, params[:tag])
end end
format.json do format.json do

View File

@ -2,6 +2,7 @@
class ActivityPub::BaseController < Api::BaseController class ActivityPub::BaseController < Api::BaseController
skip_before_action :require_authenticated_user! skip_before_action :require_authenticated_user!
skip_before_action :require_not_suspended!
skip_around_action :set_locale skip_around_action :set_locale
private private

View File

@ -2,6 +2,8 @@
module Admin module Admin
class DashboardController < BaseController class DashboardController < BaseController
include Redisable
def index def index
@system_checks = Admin::SystemCheck.perform @system_checks = Admin::SystemCheck.perform
@time_period = (29.days.ago.to_date...Time.now.utc.to_date) @time_period = (29.days.ago.to_date...Time.now.utc.to_date)
@ -15,10 +17,10 @@ module Admin
def redis_info def redis_info
@redis_info ||= begin @redis_info ||= begin
if Redis.current.is_a?(Redis::Namespace) if redis.is_a?(Redis::Namespace)
Redis.current.redis.info redis.redis.info
else else
Redis.current.info redis.info
end end
end end
end end

View File

@ -11,6 +11,7 @@ class Api::BaseController < ApplicationController
skip_before_action :require_functional!, unless: :whitelist_mode? skip_before_action :require_functional!, unless: :whitelist_mode?
before_action :require_authenticated_user!, if: :disallow_unauthenticated_api_access? before_action :require_authenticated_user!, if: :disallow_unauthenticated_api_access?
before_action :require_not_suspended!
before_action :set_cache_headers before_action :set_cache_headers
protect_from_forgery with: :null_session protect_from_forgery with: :null_session
@ -97,6 +98,10 @@ class Api::BaseController < ApplicationController
render json: { error: 'This method requires an authenticated user' }, status: 401 unless current_user render json: { error: 'This method requires an authenticated user' }, status: 401 unless current_user
end end
def require_not_suspended!
render json: { error: 'Your login is currently disabled' }, status: 403 if current_user&.account&.suspended?
end
def require_user! def require_user!
if !current_user if !current_user
render json: { error: 'This method requires an authenticated user' }, status: 422 render json: { error: 'This method requires an authenticated user' }, status: 422

View File

@ -12,5 +12,7 @@ class Api::V1::Accounts::LookupController < Api::BaseController
def set_account def set_account
@account = ResolveAccountService.new.call(params[:acct], skip_webfinger: true) || raise(ActiveRecord::RecordNotFound) @account = ResolveAccountService.new.call(params[:acct], skip_webfinger: true) || raise(ActiveRecord::RecordNotFound)
rescue Addressable::URI::InvalidURIError
raise(ActiveRecord::RecordNotFound)
end end
end end

View File

@ -9,6 +9,8 @@ class Api::V1::AccountsController < Api::BaseController
before_action :require_user!, except: [:show, :create] before_action :require_user!, except: [:show, :create]
before_action :set_account, except: [:create] before_action :set_account, except: [:create]
before_action :check_account_approval, except: [:create]
before_action :check_account_confirmation, except: [:create]
before_action :check_enabled_registrations, only: [:create] before_action :check_enabled_registrations, only: [:create]
skip_before_action :require_authenticated_user!, only: :create skip_before_action :require_authenticated_user!, only: :create
@ -74,6 +76,14 @@ class Api::V1::AccountsController < Api::BaseController
@account = Account.find(params[:id]) @account = Account.find(params[:id])
end end
def check_account_approval
raise(ActiveRecord::RecordNotFound) if @account.local? && @account.user_pending?
end
def check_account_confirmation
raise(ActiveRecord::RecordNotFound) if @account.local? && !@account.user_confirmed?
end
def relationships(**options) def relationships(**options)
AccountRelationshipsPresenter.new([@account.id], current_user.account_id, **options) AccountRelationshipsPresenter.new([@account.id], current_user.account_id, **options)
end end

View File

@ -21,7 +21,7 @@ class Api::V1::BookmarksController < Api::BaseController
end end
def results def results
@_results ||= account_bookmarks.eager_load(:status).to_a_paginated_by_id( @_results ||= account_bookmarks.joins(:status).eager_load(:status).to_a_paginated_by_id(
limit_param(DEFAULT_STATUSES_LIMIT), limit_param(DEFAULT_STATUSES_LIMIT),
params_slice(:max_id, :since_id, :min_id) params_slice(:max_id, :since_id, :min_id)
) )

View File

@ -21,7 +21,7 @@ class Api::V1::FavouritesController < Api::BaseController
end end
def results def results
@_results ||= account_favourites.eager_load(:status).to_a_paginated_by_id( @_results ||= account_favourites.joins(:status).eager_load(:status).to_a_paginated_by_id(
limit_param(DEFAULT_STATUSES_LIMIT), limit_param(DEFAULT_STATUSES_LIMIT),
params_slice(:max_id, :since_id, :min_id) params_slice(:max_id, :since_id, :min_id)
) )

View File

@ -40,7 +40,7 @@ class Auth::ConfirmationsController < Devise::ConfirmationsController
def after_confirmation_path_for(_resource_name, user) def after_confirmation_path_for(_resource_name, user)
if user.created_by_application && truthy_param?(:redirect_to_app) if user.created_by_application && truthy_param?(:redirect_to_app)
user.created_by_application.redirect_uri user.created_by_application.confirmation_redirect_uri
else else
super super
end end

View File

@ -13,7 +13,7 @@ class AuthorizeInteractionsController < ApplicationController
if @resource.is_a?(Account) if @resource.is_a?(Account)
render :show render :show
elsif @resource.is_a?(Status) elsif @resource.is_a?(Status)
redirect_to web_url("statuses/#{@resource.id}") redirect_to web_url("@#{@resource.account.pretty_acct}/#{@resource.id}")
else else
render :error render :error
end end
@ -25,15 +25,17 @@ class AuthorizeInteractionsController < ApplicationController
else else
render :error render :error
end end
rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError rescue ActiveRecord::RecordNotFound
render :error render :error
end end
private private
def set_resource def set_resource
@resource = located_resource || render(:error) @resource = located_resource
authorize(@resource, :show?) if @resource.is_a?(Status) authorize(@resource, :show?) if @resource.is_a?(Status)
rescue Mastodon::NotPermittedError
not_found
end end
def located_resource def located_resource

View File

@ -21,7 +21,10 @@ class FollowingAccountsController < ApplicationController
end end
format.json do format.json do
raise Mastodon::NotPermittedError if page_requested? && @account.hide_collections? if page_requested? && @account.hide_collections?
forbidden
next
end
expires_in(page_requested? ? 0 : 3.minutes, public: public_fetch_mode?) expires_in(page_requested? ? 0 : 3.minutes, public: public_fetch_mode?)

View File

@ -3,6 +3,8 @@
class MediaProxyController < ApplicationController class MediaProxyController < ApplicationController
include RoutingHelper include RoutingHelper
include Authorization include Authorization
include Redisable
include Lockable
skip_before_action :store_current_location skip_before_action :store_current_location
skip_before_action :require_functional! skip_before_action :require_functional!
@ -15,14 +17,10 @@ class MediaProxyController < ApplicationController
rescue_from HTTP::TimeoutError, HTTP::ConnectionError, OpenSSL::SSL::SSLError, with: :internal_server_error rescue_from HTTP::TimeoutError, HTTP::ConnectionError, OpenSSL::SSL::SSLError, with: :internal_server_error
def show def show
RedisLock.acquire(lock_options) do |lock| with_lock("media_download:#{params[:id]}") do
if lock.acquired? @media_attachment = MediaAttachment.remote.attached.find(params[:id])
@media_attachment = MediaAttachment.remote.attached.find(params[:id]) authorize @media_attachment.status, :show?
authorize @media_attachment.status, :show? redownload! if @media_attachment.needs_redownload? && !reject_media?
redownload! if @media_attachment.needs_redownload? && !reject_media?
else
raise Mastodon::RaceConditionError
end
end end
redirect_to full_asset_url(@media_attachment.file.url(version)) redirect_to full_asset_url(@media_attachment.file.url(version))
@ -44,10 +42,6 @@ class MediaProxyController < ApplicationController
end end
end end
def lock_options
{ redis: Redis.current, key: "media_download:#{params[:id]}", autorelease: 15.minutes.seconds }
end
def reject_media? def reject_media?
DomainBlock.reject_media?(@media_attachment.account.domain) DomainBlock.reject_media?(@media_attachment.account.domain)
end end

View File

@ -2,7 +2,8 @@
class Oauth::TokensController < Doorkeeper::TokensController class Oauth::TokensController < Doorkeeper::TokensController
def revoke def revoke
unsubscribe_for_token if authorized? && token.accessible? unsubscribe_for_token if token.present? && authorized? && token.accessible?
super super
end end

View File

@ -2,6 +2,8 @@
class Settings::ExportsController < Settings::BaseController class Settings::ExportsController < Settings::BaseController
include Authorization include Authorization
include Redisable
include Lockable
skip_before_action :require_functional! skip_before_action :require_functional!
@ -13,21 +15,13 @@ class Settings::ExportsController < Settings::BaseController
def create def create
backup = nil backup = nil
RedisLock.acquire(lock_options) do |lock| with_lock("backup:#{current_user.id}") do
if lock.acquired? authorize :backup, :create?
authorize :backup, :create? backup = current_user.backups.create!
backup = current_user.backups.create!
else
raise Mastodon::RaceConditionError
end
end end
BackupWorker.perform_async(backup.id) BackupWorker.perform_async(backup.id)
redirect_to settings_export_path redirect_to settings_export_path
end end
def lock_options
{ redis: Redis.current, key: "backup:#{current_user.id}" }
end
end end

View File

@ -26,7 +26,6 @@ class TagsController < ApplicationController
format.rss do format.rss do
expires_in 0, public: true expires_in 0, public: true
render xml: RSS::TagSerializer.render(@tag, @statuses)
end end
format.json do format.json do

View File

@ -132,7 +132,7 @@ module ApplicationHelper
elsif status.private_visibility? || status.limited_visibility? elsif status.private_visibility? || status.limited_visibility?
fa_icon('lock', title: I18n.t('statuses.visibilities.private')) fa_icon('lock', title: I18n.t('statuses.visibilities.private'))
elsif status.direct_visibility? elsif status.direct_visibility?
fa_icon('envelope', title: I18n.t('statuses.visibilities.direct')) fa_icon('at', title: I18n.t('statuses.visibilities.direct'))
end end
end end
@ -243,7 +243,7 @@ module ApplicationHelper
end.values end.values
end end
def prerender_custom_emojis(html, custom_emojis) def prerender_custom_emojis(html, custom_emojis, other_options = {})
EmojiFormatter.new(html, custom_emojis, animate: prefers_autoplay?).to_s EmojiFormatter.new(html, custom_emojis, other_options.merge(animate: prefers_autoplay?)).to_s
end end
end end

View File

@ -18,6 +18,32 @@ module FormattingHelper
html_aware_format(status.text, status.local?, preloaded_accounts: [status.account] + (status.respond_to?(:active_mentions) ? status.active_mentions.map(&:account) : [])) html_aware_format(status.text, status.local?, preloaded_accounts: [status.account] + (status.respond_to?(:active_mentions) ? status.active_mentions.map(&:account) : []))
end end
def rss_status_content_format(status)
html = status_content_format(status)
before_html = begin
if status.spoiler_text?
"<p><strong>#{I18n.t('rss.content_warning', locale: available_locale_or_nil(status.language) || I18n.default_locale)}</strong> #{h(status.spoiler_text)}</p><hr />"
else
''
end
end.html_safe # rubocop:disable Rails/OutputSafety
after_html = begin
if status.preloadable_poll
"<p>#{status.preloadable_poll.options.map { |o| "<input type=#{status.preloadable_poll.multiple? ? 'checkbox' : 'radio'} disabled /> #{h(o)}" }.join('<br />')}</p>"
else
''
end
end.html_safe # rubocop:disable Rails/OutputSafety
prerender_custom_emojis(
safe_join([before_html, html, after_html]),
status.emojis,
style: 'width: 1.1em; height: 1.1em; object-fit: contain; vertical-align: middle; margin: -.2ex .15em .2ex'
).to_str
end
def account_bio_format(account) def account_bio_format(account)
html_aware_format(account.note, account.local?) html_aware_format(account.note, account.local?)
end end

View File

@ -254,4 +254,8 @@ module LanguagesHelper
def valid_locale?(locale) def valid_locale?(locale)
locale.present? && SUPPORTED_LOCALES.key?(locale.to_sym) locale.present? && SUPPORTED_LOCALES.key?(locale.to_sym)
end end
def available_locale_or_nil(locale_name)
locale_name.to_sym if locale_name.present? && I18n.available_locales.include?(locale_name.to_sym)
end
end end

View File

@ -101,7 +101,7 @@ module StatusesHelper
when 'private' when 'private'
fa_icon 'lock fw' fa_icon 'lock fw'
when 'direct' when 'direct'
fa_icon 'envelope fw' fa_icon 'at fw'
end end
end end

View File

@ -77,6 +77,8 @@ export const FOLLOW_REQUEST_REJECT_REQUEST = 'FOLLOW_REQUEST_REJECT_REQUEST';
export const FOLLOW_REQUEST_REJECT_SUCCESS = 'FOLLOW_REQUEST_REJECT_SUCCESS'; export const FOLLOW_REQUEST_REJECT_SUCCESS = 'FOLLOW_REQUEST_REJECT_SUCCESS';
export const FOLLOW_REQUEST_REJECT_FAIL = 'FOLLOW_REQUEST_REJECT_FAIL'; export const FOLLOW_REQUEST_REJECT_FAIL = 'FOLLOW_REQUEST_REJECT_FAIL';
export const ACCOUNT_REVEAL = 'ACCOUNT_REVEAL';
export function fetchAccount(id) { export function fetchAccount(id) {
return (dispatch, getState) => { return (dispatch, getState) => {
dispatch(fetchRelationships([id])); dispatch(fetchRelationships([id]));
@ -780,3 +782,8 @@ export function unpinAccountFail(error) {
error, error,
}; };
}; };
export const revealAccount = id => ({
type: ACCOUNT_REVEAL,
id,
});

View File

@ -45,12 +45,12 @@ export const COMPOSE_TAG_HISTORY_UPDATE = 'COMPOSE_TAG_HISTORY_UPDATE';
export const COMPOSE_MOUNT = 'COMPOSE_MOUNT'; export const COMPOSE_MOUNT = 'COMPOSE_MOUNT';
export const COMPOSE_UNMOUNT = 'COMPOSE_UNMOUNT'; export const COMPOSE_UNMOUNT = 'COMPOSE_UNMOUNT';
export const COMPOSE_SENSITIVITY_CHANGE = 'COMPOSE_SENSITIVITY_CHANGE'; export const COMPOSE_SENSITIVITY_CHANGE = 'COMPOSE_SENSITIVITY_CHANGE';
export const COMPOSE_SPOILERNESS_CHANGE = 'COMPOSE_SPOILERNESS_CHANGE'; export const COMPOSE_SPOILERNESS_CHANGE = 'COMPOSE_SPOILERNESS_CHANGE';
export const COMPOSE_SPOILER_TEXT_CHANGE = 'COMPOSE_SPOILER_TEXT_CHANGE'; export const COMPOSE_SPOILER_TEXT_CHANGE = 'COMPOSE_SPOILER_TEXT_CHANGE';
export const COMPOSE_VISIBILITY_CHANGE = 'COMPOSE_VISIBILITY_CHANGE'; export const COMPOSE_VISIBILITY_CHANGE = 'COMPOSE_VISIBILITY_CHANGE';
export const COMPOSE_LISTABILITY_CHANGE = 'COMPOSE_LISTABILITY_CHANGE'; export const COMPOSE_COMPOSING_CHANGE = 'COMPOSE_COMPOSING_CHANGE';
export const COMPOSE_COMPOSING_CHANGE = 'COMPOSE_COMPOSING_CHANGE'; export const COMPOSE_LANGUAGE_CHANGE = 'COMPOSE_LANGUAGE_CHANGE';
export const COMPOSE_EMOJI_INSERT = 'COMPOSE_EMOJI_INSERT'; export const COMPOSE_EMOJI_INSERT = 'COMPOSE_EMOJI_INSERT';
@ -169,6 +169,7 @@ export function submitCompose(routerHistory) {
spoiler_text: getState().getIn(['compose', 'spoiler']) ? getState().getIn(['compose', 'spoiler_text'], '') : '', spoiler_text: getState().getIn(['compose', 'spoiler']) ? getState().getIn(['compose', 'spoiler_text'], '') : '',
visibility: getState().getIn(['compose', 'privacy']), visibility: getState().getIn(['compose', 'privacy']),
poll: getState().getIn(['compose', 'poll'], null), poll: getState().getIn(['compose', 'poll'], null),
language: getState().getIn(['compose', 'language']),
}, },
headers: { headers: {
'Idempotency-Key': getState().getIn(['compose', 'idempotencyKey']), 'Idempotency-Key': getState().getIn(['compose', 'idempotencyKey']),
@ -635,6 +636,11 @@ export function changeComposeSensitivity() {
}; };
}; };
export const changeComposeLanguage = language => ({
type: COMPOSE_LANGUAGE_CHANGE,
language,
});
export function changeComposeSpoilerness() { export function changeComposeSpoilerness() {
return { return {
type: COMPOSE_SPOILERNESS_CHANGE, type: COMPOSE_SPOILERNESS_CHANGE,

View File

@ -0,0 +1,12 @@
import { saveSettings } from './settings';
export const LANGUAGE_USE = 'LANGUAGE_USE';
export const useLanguage = language => dispatch => {
dispatch({
type: LANGUAGE_USE,
language,
});
dispatch(saveSettings());
};

View File

@ -58,7 +58,8 @@ export const loadPending = () => ({
export function updateNotifications(notification, intlMessages, intlLocale) { export function updateNotifications(notification, intlMessages, intlLocale) {
return (dispatch, getState) => { return (dispatch, getState) => {
const showInColumn = getState().getIn(['settings', 'notifications', 'shows', notification.type], true); const activeFilter = getState().getIn(['settings', 'notifications', 'quickFilter', 'active']);
const showInColumn = activeFilter === 'all' ? getState().getIn(['settings', 'notifications', 'shows', notification.type], true) : activeFilter === notification.type;
const showAlert = getState().getIn(['settings', 'notifications', 'alerts', notification.type], true); const showAlert = getState().getIn(['settings', 'notifications', 'alerts', notification.type], true);
const playSound = getState().getIn(['settings', 'notifications', 'sounds', notification.type], true); const playSound = getState().getIn(['settings', 'notifications', 'sounds', notification.type], true);
const filters = getFiltersRegex(getState(), { contextType: 'notifications' }); const filters = getFiltersRegex(getState(), { contextType: 'notifications' });

View File

@ -18,6 +18,8 @@ const messages = defineMessages({
unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' }, unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' },
mute_notifications: { id: 'account.mute_notifications', defaultMessage: 'Mute notifications from @{name}' }, mute_notifications: { id: 'account.mute_notifications', defaultMessage: 'Mute notifications from @{name}' },
unmute_notifications: { id: 'account.unmute_notifications', defaultMessage: 'Unmute notifications from @{name}' }, unmute_notifications: { id: 'account.unmute_notifications', defaultMessage: 'Unmute notifications from @{name}' },
mute: { id: 'account.mute', defaultMessage: 'Mute @{name}' },
block: { id: 'account.block', defaultMessage: 'Block @{name}' },
}); });
export default @injectIntl export default @injectIntl
@ -33,6 +35,7 @@ class Account extends ImmutablePureComponent {
hidden: PropTypes.bool, hidden: PropTypes.bool,
actionIcon: PropTypes.string, actionIcon: PropTypes.string,
actionTitle: PropTypes.string, actionTitle: PropTypes.string,
defaultAction: PropTypes.string,
onActionClick: PropTypes.func, onActionClick: PropTypes.func,
}; };
@ -61,7 +64,7 @@ class Account extends ImmutablePureComponent {
} }
render () { render () {
const { account, intl, hidden, onActionClick, actionIcon, actionTitle } = this.props; const { account, intl, hidden, onActionClick, actionIcon, actionTitle, defaultAction } = this.props;
if (!account) { if (!account) {
return <div />; return <div />;
@ -105,6 +108,10 @@ class Account extends ImmutablePureComponent {
{hidingNotificationsButton} {hidingNotificationsButton}
</Fragment> </Fragment>
); );
} else if (defaultAction === 'mute') {
buttons = <IconButton icon='volume-off' title={intl.formatMessage(messages.mute, { name: account.get('username') })} onClick={this.handleMute} />;
} else if (defaultAction === 'block') {
buttons = <IconButton icon='lock' title={intl.formatMessage(messages.block, { name: account.get('username') })} onClick={this.handleBlock} />;
} else if (!account.get('moved') || following) { } else if (!account.get('moved') || following) {
buttons = <IconButton icon={following ? 'user-times' : 'user-plus'} title={intl.formatMessage(following ? messages.unfollow : messages.follow)} onClick={this.handleFollow} active={following} />; buttons = <IconButton icon={following ? 'user-times' : 'user-plus'} title={intl.formatMessage(following ? messages.unfollow : messages.follow)} onClick={this.handleFollow} active={following} />;
} }

View File

@ -2,11 +2,12 @@ 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 { autoPlayGif } from '../initial_state'; import { autoPlayGif } from '../initial_state';
import classNames from 'classnames';
export default class Avatar extends React.PureComponent { export default class Avatar extends React.PureComponent {
static propTypes = { static propTypes = {
account: ImmutablePropTypes.map.isRequired, account: ImmutablePropTypes.map,
size: PropTypes.number.isRequired, size: PropTypes.number.isRequired,
style: PropTypes.object, style: PropTypes.object,
inline: PropTypes.bool, inline: PropTypes.bool,
@ -37,15 +38,6 @@ export default class Avatar extends React.PureComponent {
const { account, size, animate, inline } = this.props; const { account, size, animate, inline } = this.props;
const { hovering } = this.state; const { hovering } = this.state;
const src = account.get('avatar');
const staticSrc = account.get('avatar_static');
let className = 'account__avatar';
if (inline) {
className = className + ' account__avatar-inline';
}
const style = { const style = {
...this.props.style, ...this.props.style,
width: `${size}px`, width: `${size}px`,
@ -53,15 +45,21 @@ export default class Avatar extends React.PureComponent {
backgroundSize: `${size}px ${size}px`, backgroundSize: `${size}px ${size}px`,
}; };
if (hovering || animate) { if (account) {
style.backgroundImage = `url(${src})`; const src = account.get('avatar');
} else { const staticSrc = account.get('avatar_static');
style.backgroundImage = `url(${staticSrc})`;
if (hovering || animate) {
style.backgroundImage = `url(${src})`;
} else {
style.backgroundImage = `url(${staticSrc})`;
}
} }
return ( return (
<div <div
className={className} className={classNames('account__avatar', { 'account__avatar-inline': inline })}
onMouseEnter={this.handleMouseEnter} onMouseEnter={this.handleMouseEnter}
onMouseLeave={this.handleMouseLeave} onMouseLeave={this.handleMouseLeave}
style={style} style={style}

View File

@ -25,7 +25,7 @@ export function counterRenderer(counterType, isBold = true) {
return (displayNumber, pluralReady) => ( return (displayNumber, pluralReady) => (
<FormattedMessage <FormattedMessage
id='account.statuses_counter' id='account.statuses_counter'
defaultMessage='{count, plural, one {{counter} Toot} other {{counter} Toots}}' defaultMessage='{count, plural, one {{counter} Doot} other {{counter} Doots}}'
values={{ values={{
count: pluralReady, count: pluralReady,
counter: renderCounter(displayNumber), counter: renderCounter(displayNumber),

View File

@ -56,7 +56,7 @@ const messages = defineMessages({
public_short: { id: 'privacy.public.short', defaultMessage: 'Public' }, public_short: { id: 'privacy.public.short', defaultMessage: 'Public' },
unlisted_short: { id: 'privacy.unlisted.short', defaultMessage: 'Unlisted' }, unlisted_short: { id: 'privacy.unlisted.short', defaultMessage: 'Unlisted' },
private_short: { id: 'privacy.private.short', defaultMessage: 'Followers-only' }, private_short: { id: 'privacy.private.short', defaultMessage: 'Followers-only' },
direct_short: { id: 'privacy.direct.short', defaultMessage: 'Direct' }, direct_short: { id: 'privacy.direct.short', defaultMessage: 'Mentioned people only' },
edited: { id: 'status.edited', defaultMessage: 'Edited {date}' }, edited: { id: 'status.edited', defaultMessage: 'Edited {date}' },
}); });
@ -349,7 +349,7 @@ class Status extends ImmutablePureComponent {
prepend = ( prepend = (
<div className='status__prepend'> <div className='status__prepend'>
<div className='status__prepend-icon-wrapper'><Icon id='thumb-tack' className='status__prepend-icon' fixedWidth /></div> <div className='status__prepend-icon-wrapper'><Icon id='thumb-tack' className='status__prepend-icon' fixedWidth /></div>
<FormattedMessage id='status.pinned' defaultMessage='Pinned toot' /> <FormattedMessage id='status.pinned' defaultMessage='Pinned post' />
</div> </div>
); );
} else if (status.get('reblog', null) !== null && typeof status.get('reblog') === 'object') { } else if (status.get('reblog', null) !== null && typeof status.get('reblog') === 'object') {
@ -468,7 +468,7 @@ class Status extends ImmutablePureComponent {
'public': { icon: 'globe', text: intl.formatMessage(messages.public_short) }, 'public': { icon: 'globe', text: intl.formatMessage(messages.public_short) },
'unlisted': { icon: 'unlock', text: intl.formatMessage(messages.unlisted_short) }, 'unlisted': { icon: 'unlock', text: intl.formatMessage(messages.unlisted_short) },
'private': { icon: 'lock', text: intl.formatMessage(messages.private_short) }, 'private': { icon: 'lock', text: intl.formatMessage(messages.private_short) },
'direct': { icon: 'envelope', text: intl.formatMessage(messages.direct_short) }, 'direct': { icon: 'at', text: intl.formatMessage(messages.direct_short) },
}; };
const visibilityIcon = visibilityIconInfo[status.get('visibility')]; const visibilityIcon = visibilityIconInfo[status.get('visibility')];

View File

@ -38,7 +38,7 @@ const messages = defineMessages({
showReblogs: { id: 'account.show_reblogs', defaultMessage: 'Show boosts from @{name}' }, showReblogs: { id: 'account.show_reblogs', defaultMessage: 'Show boosts from @{name}' },
enableNotifications: { id: 'account.enable_notifications', defaultMessage: 'Notify me when @{name} posts' }, enableNotifications: { id: 'account.enable_notifications', defaultMessage: 'Notify me when @{name} posts' },
disableNotifications: { id: 'account.disable_notifications', defaultMessage: 'Stop notifying me when @{name} posts' }, disableNotifications: { id: 'account.disable_notifications', defaultMessage: 'Stop notifying me when @{name} posts' },
pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned toots' }, pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned posts' },
preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' }, preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },
follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' }, follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' },
favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' }, favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' },
@ -82,6 +82,7 @@ class Header extends ImmutablePureComponent {
onEditAccountNote: PropTypes.func.isRequired, onEditAccountNote: PropTypes.func.isRequired,
intl: PropTypes.object.isRequired, intl: PropTypes.object.isRequired,
domain: PropTypes.string.isRequired, domain: PropTypes.string.isRequired,
hidden: PropTypes.bool,
}; };
openEditProfile = () => { openEditProfile = () => {
@ -123,7 +124,7 @@ class Header extends ImmutablePureComponent {
} }
render () { render () {
const { account, intl, domain } = this.props; const { account, hidden, intl, domain } = this.props;
if (!account) { if (!account) {
return null; return null;
@ -267,21 +268,25 @@ class Header extends ImmutablePureComponent {
{!suspended && info} {!suspended && info}
</div> </div>
<img src={autoPlayGif ? account.get('header') : account.get('header_static')} alt='' className='parallax' /> {!(suspended || hidden) && <img src={autoPlayGif ? account.get('header') : account.get('header_static')} alt='' className='parallax' />}
</div> </div>
<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('url')} rel='noopener noreferrer' target='_blank'>
<Avatar account={account} size={90} /> <Avatar account={suspended || hidden ? undefined : account} size={90} />
</a> </a>
<div className='spacer' /> <div className='spacer' />
{!suspended && ( {!suspended && (
<div className='account__header__tabs__buttons'> <div className='account__header__tabs__buttons'>
{actionBtn} {!hidden && (
{bellBtn} <React.Fragment>
{actionBtn}
{bellBtn}
</React.Fragment>
)}
<DropdownMenuContainer items={menu} icon='ellipsis-v' size={24} direction='right' /> <DropdownMenuContainer items={menu} icon='ellipsis-v' size={24} direction='right' />
</div> </div>
@ -295,30 +300,30 @@ class Header extends ImmutablePureComponent {
</h1> </h1>
</div> </div>
<div className='account__header__extra'> {!(suspended || hidden) && (
<div className='account__header__bio'> <div className='account__header__extra'>
{fields.size > 0 && ( <div className='account__header__bio'>
<div className='account__header__fields'> {fields.size > 0 && (
{fields.map((pair, i) => ( <div className='account__header__fields'>
<dl key={i}> {fields.map((pair, i) => (
<dt dangerouslySetInnerHTML={{ __html: pair.get('name_emojified') }} title={pair.get('name')} className='translate' /> <dl key={i}>
<dt dangerouslySetInnerHTML={{ __html: pair.get('name_emojified') }} title={pair.get('name')} className='translate' />
<dd className={`${pair.get('verified_at') ? 'verified' : ''} translate`} title={pair.get('value_plain')}> <dd className={`${pair.get('verified_at') ? 'verified' : ''} translate`} title={pair.get('value_plain')}>
{pair.get('verified_at') && <span title={intl.formatMessage(messages.linkVerifiedOn, { date: intl.formatDate(pair.get('verified_at'), dateFormatOptions) })}><Icon id='check' className='verified__mark' /></span>} <span dangerouslySetInnerHTML={{ __html: pair.get('value_emojified') }} /> {pair.get('verified_at') && <span title={intl.formatMessage(messages.linkVerifiedOn, { date: intl.formatDate(pair.get('verified_at'), dateFormatOptions) })}><Icon id='check' className='verified__mark' /></span>} <span dangerouslySetInnerHTML={{ __html: pair.get('value_emojified') }} />
</dd> </dd>
</dl> </dl>
))} ))}
</div> </div>
)} )}
{account.get('id') !== me && !suspended && <AccountNoteContainer account={account} />} {account.get('id') !== me && <AccountNoteContainer account={account} />}
{account.get('note').length > 0 && account.get('note') !== '<p></p>' && <div className='account__header__content translate' dangerouslySetInnerHTML={content} />} {account.get('note').length > 0 && account.get('note') !== '<p></p>' && <div className='account__header__content translate' dangerouslySetInnerHTML={content} />}
<div className='account__header__joined'><FormattedMessage id='account.joined' defaultMessage='Joined {date}' values={{ date: intl.formatDate(account.get('created_at'), { year: 'numeric', month: 'short', day: '2-digit' }) }} /></div> <div className='account__header__joined'><FormattedMessage id='account.joined' defaultMessage='Joined {date}' values={{ date: intl.formatDate(account.get('created_at'), { year: 'numeric', month: 'short', day: '2-digit' }) }} /></div>
</div> </div>
{!suspended && (
<div className='account__header__extra__links'> <div className='account__header__extra__links'>
<NavLink isActive={this.isStatusesPageActive} activeClassName='active' to={`/@${account.get('acct')}`} title={intl.formatNumber(account.get('statuses_count'))}> <NavLink isActive={this.isStatusesPageActive} activeClassName='active' to={`/@${account.get('acct')}`} title={intl.formatNumber(account.get('statuses_count'))}>
<ShortNumber <ShortNumber
@ -341,8 +346,8 @@ class Header extends ImmutablePureComponent {
/> />
</NavLink> </NavLink>
</div> </div>
)} </div>
</div> )}
</div> </div>
</div> </div>
); );

View File

@ -24,6 +24,7 @@ export default class Header extends ImmutablePureComponent {
onAddToList: PropTypes.func.isRequired, onAddToList: PropTypes.func.isRequired,
hideTabs: PropTypes.bool, hideTabs: PropTypes.bool,
domain: PropTypes.string.isRequired, domain: PropTypes.string.isRequired,
hidden: PropTypes.bool,
}; };
static contextTypes = { static contextTypes = {
@ -91,7 +92,7 @@ export default class Header extends ImmutablePureComponent {
} }
render () { render () {
const { account, hideTabs } = this.props; const { account, hidden, hideTabs } = this.props;
if (account === null) { if (account === null) {
return null; return null;
@ -99,7 +100,7 @@ export default class Header extends ImmutablePureComponent {
return ( return (
<div className='account-timeline__header'> <div className='account-timeline__header'>
{account.get('moved') && <MovedNote from={account} to={account.get('moved')} />} {(!hidden && account.get('moved')) && <MovedNote from={account} to={account.get('moved')} />}
<InnerHeader <InnerHeader
account={account} account={account}
@ -117,12 +118,13 @@ export default class Header extends ImmutablePureComponent {
onAddToList={this.handleAddToList} onAddToList={this.handleAddToList}
onEditAccountNote={this.handleEditAccountNote} onEditAccountNote={this.handleEditAccountNote}
domain={this.props.domain} domain={this.props.domain}
hidden={hidden}
/> />
{!hideTabs && ( {!(hideTabs || hidden) && (
<div className='account__section-headline'> <div className='account__section-headline'>
<NavLink exact to={`/@${account.get('acct')}`}><FormattedMessage id='account.posts' defaultMessage='Toots' /></NavLink> <NavLink exact to={`/@${account.get('acct')}`}><FormattedMessage id='account.posts' defaultMessage='Posts' /></NavLink>
<NavLink exact to={`/@${account.get('acct')}/with_replies`}><FormattedMessage id='account.posts_with_replies' defaultMessage='Toots and replies' /></NavLink> <NavLink exact to={`/@${account.get('acct')}/with_replies`}><FormattedMessage id='account.posts_with_replies' defaultMessage='Posts and replies' /></NavLink>
<NavLink exact to={`/@${account.get('acct')}/media`}><FormattedMessage id='account.media' defaultMessage='Media' /></NavLink> <NavLink exact to={`/@${account.get('acct')}/media`}><FormattedMessage id='account.media' defaultMessage='Media' /></NavLink>
</div> </div>
)} )}

View File

@ -0,0 +1,35 @@
import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
import { revealAccount } from 'mastodon/actions/accounts';
import { FormattedMessage } from 'react-intl';
import Button from 'mastodon/components/button';
const mapDispatchToProps = (dispatch, { accountId }) => ({
reveal () {
dispatch(revealAccount(accountId));
},
});
export default @connect(() => {}, mapDispatchToProps)
class LimitedAccountHint extends React.PureComponent {
static propTypes = {
accountId: PropTypes.string.isRequired,
reveal: PropTypes.func,
}
render () {
const { reveal } = this.props;
return (
<div className='limited-account-hint'>
<p><FormattedMessage id='limited_account_hint.title' defaultMessage='This profile has been hidden by the moderators of your server.' /></p>
<Button onClick={reveal}><FormattedMessage id='limited_account_hint.action' defaultMessage='Show profile anyway' /></Button>
</div>
);
}
}

View File

@ -1,6 +1,6 @@
import React from 'react'; import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { makeGetAccount } from '../../../selectors'; import { makeGetAccount, getAccountHidden } from '../../../selectors';
import Header from '../components/header'; import Header from '../components/header';
import { import {
followAccount, followAccount,
@ -33,6 +33,7 @@ const makeMapStateToProps = () => {
const mapStateToProps = (state, { accountId }) => ({ const mapStateToProps = (state, { accountId }) => ({
account: getAccount(state, accountId), account: getAccount(state, accountId),
domain: state.getIn(['meta', 'domain']), domain: state.getIn(['meta', 'domain']),
hidden: getAccountHidden(state, accountId),
}); });
return mapStateToProps; return mapStateToProps;

View File

@ -16,6 +16,8 @@ import MissingIndicator from 'mastodon/components/missing_indicator';
import TimelineHint from 'mastodon/components/timeline_hint'; import TimelineHint from 'mastodon/components/timeline_hint';
import { me } from 'mastodon/initial_state'; import { me } from 'mastodon/initial_state';
import { connectTimeline, disconnectTimeline } from 'mastodon/actions/timelines'; import { connectTimeline, disconnectTimeline } from 'mastodon/actions/timelines';
import LimitedAccountHint from './components/limited_account_hint';
import { getAccountHidden } from 'mastodon/selectors';
const emptyList = ImmutableList(); const emptyList = ImmutableList();
@ -40,12 +42,13 @@ const mapStateToProps = (state, { params: { acct, id }, withReplies = false }) =
isLoading: state.getIn(['timelines', `account:${path}`, 'isLoading']), isLoading: state.getIn(['timelines', `account:${path}`, 'isLoading']),
hasMore: state.getIn(['timelines', `account:${path}`, 'hasMore']), hasMore: state.getIn(['timelines', `account:${path}`, 'hasMore']),
suspended: state.getIn(['accounts', accountId, 'suspended'], false), suspended: state.getIn(['accounts', accountId, 'suspended'], false),
hidden: getAccountHidden(state, accountId),
blockedBy: state.getIn(['relationships', accountId, 'blocked_by'], false), blockedBy: state.getIn(['relationships', accountId, 'blocked_by'], false),
}; };
}; };
const RemoteHint = ({ url }) => ( const RemoteHint = ({ url }) => (
<TimelineHint url={url} resource={<FormattedMessage id='timeline_hint.resources.statuses' defaultMessage='Older toots' />} /> <TimelineHint url={url} resource={<FormattedMessage id='timeline_hint.resources.statuses' defaultMessage='Older posts' />} />
); );
RemoteHint.propTypes = { RemoteHint.propTypes = {
@ -70,6 +73,7 @@ class AccountTimeline extends ImmutablePureComponent {
blockedBy: PropTypes.bool, blockedBy: PropTypes.bool,
isAccount: PropTypes.bool, isAccount: PropTypes.bool,
suspended: PropTypes.bool, suspended: PropTypes.bool,
hidden: PropTypes.bool,
remote: PropTypes.bool, remote: PropTypes.bool,
remoteUrl: PropTypes.string, remoteUrl: PropTypes.string,
multiColumn: PropTypes.bool, multiColumn: PropTypes.bool,
@ -128,7 +132,7 @@ class AccountTimeline extends ImmutablePureComponent {
} }
render () { render () {
const { statusIds, featuredStatusIds, isLoading, hasMore, blockedBy, suspended, isAccount, multiColumn, remote, remoteUrl } = this.props; const { accountId, statusIds, featuredStatusIds, isLoading, hasMore, blockedBy, suspended, isAccount, hidden, multiColumn, remote, remoteUrl } = this.props;
if (!isAccount) { if (!isAccount) {
return ( return (
@ -149,14 +153,18 @@ class AccountTimeline extends ImmutablePureComponent {
let emptyMessage; let emptyMessage;
const forceEmptyState = suspended || blockedBy || hidden;
if (suspended) { if (suspended) {
emptyMessage = <FormattedMessage id='empty_column.account_suspended' defaultMessage='Account suspended' />; emptyMessage = <FormattedMessage id='empty_column.account_suspended' defaultMessage='Account suspended' />;
} else if (hidden) {
emptyMessage = <LimitedAccountHint accountId={accountId} />;
} else if (blockedBy) { } else if (blockedBy) {
emptyMessage = <FormattedMessage id='empty_column.account_unavailable' defaultMessage='Profile unavailable' />; emptyMessage = <FormattedMessage id='empty_column.account_unavailable' defaultMessage='Profile unavailable' />;
} else if (remote && statusIds.isEmpty()) { } else if (remote && statusIds.isEmpty()) {
emptyMessage = <RemoteHint url={remoteUrl} />; emptyMessage = <RemoteHint url={remoteUrl} />;
} else { } else {
emptyMessage = <FormattedMessage id='empty_column.account_timeline' defaultMessage='No toots here!' />; emptyMessage = <FormattedMessage id='empty_column.account_timeline' defaultMessage='No posts found' />;
} }
const remoteMessage = remote ? <RemoteHint url={remoteUrl} /> : null; const remoteMessage = remote ? <RemoteHint url={remoteUrl} /> : null;
@ -166,14 +174,14 @@ class AccountTimeline extends ImmutablePureComponent {
<ColumnBackButton multiColumn={multiColumn} /> <ColumnBackButton multiColumn={multiColumn} />
<StatusList <StatusList
prepend={<HeaderContainer accountId={this.props.accountId} />} prepend={<HeaderContainer accountId={this.props.accountId} hideTabs={forceEmptyState} />}
alwaysPrepend alwaysPrepend
append={remoteMessage} append={remoteMessage}
scrollKey='account_timeline' scrollKey='account_timeline'
statusIds={(suspended || blockedBy) ? emptyList : statusIds} statusIds={forceEmptyState ? emptyList : statusIds}
featuredStatusIds={featuredStatusIds} featuredStatusIds={featuredStatusIds}
isLoading={isLoading} isLoading={isLoading}
hasMore={hasMore} hasMore={!forceEmptyState && hasMore}
onLoadMore={this.handleLoadMore} onLoadMore={this.handleLoadMore}
emptyMessage={emptyMessage} emptyMessage={emptyMessage}
bindToDocument={!multiColumn} bindToDocument={!multiColumn}

View File

@ -69,7 +69,7 @@ class Blocks extends ImmutablePureComponent {
bindToDocument={!multiColumn} bindToDocument={!multiColumn}
> >
{accountIds.map(id => {accountIds.map(id =>
<AccountContainer key={id} id={id} />, <AccountContainer key={id} id={id} defaultAction='block' />,
)} )}
</ScrollableList> </ScrollableList>
</Column> </Column>

View File

@ -70,7 +70,7 @@ class Bookmarks extends ImmutablePureComponent {
const { intl, statusIds, columnId, multiColumn, hasMore, isLoading } = this.props; const { intl, statusIds, columnId, multiColumn, hasMore, isLoading } = this.props;
const pinned = !!columnId; const pinned = !!columnId;
const emptyMessage = <FormattedMessage id='empty_column.bookmarked_statuses' defaultMessage="You don't have any bookmarked toots yet. When you bookmark one, it will show up here." />; const emptyMessage = <FormattedMessage id='empty_column.bookmarked_statuses' defaultMessage="You don't have any bookmarked posts yet. When you bookmark one, it will show up here." />;
return ( return (
<Column bindToDocument={!multiColumn} ref={this.setRef} label={intl.formatMessage(messages.heading)}> <Column bindToDocument={!multiColumn} ref={this.setRef} label={intl.formatMessage(messages.heading)}>

View File

@ -6,7 +6,7 @@ import { defineMessages, injectIntl } from 'react-intl';
const messages = defineMessages({ const messages = defineMessages({
edit_profile: { id: 'account.edit_profile', defaultMessage: 'Edit profile' }, edit_profile: { id: 'account.edit_profile', defaultMessage: 'Edit profile' },
pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned toots' }, pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned posts' },
preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' }, preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },
follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' }, follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' },
favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' }, favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' },

View File

@ -15,6 +15,7 @@ import EmojiPickerDropdown from '../containers/emoji_picker_dropdown_container';
import PollFormContainer from '../containers/poll_form_container'; import PollFormContainer from '../containers/poll_form_container';
import UploadFormContainer from '../containers/upload_form_container'; import UploadFormContainer from '../containers/upload_form_container';
import WarningContainer from '../containers/warning_container'; import WarningContainer from '../containers/warning_container';
import LanguageDropdown from '../containers/language_dropdown_container';
import { isMobile } from '../../../is_mobile'; import { isMobile } from '../../../is_mobile';
import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePureComponent from 'react-immutable-pure-component';
import { length } from 'stringz'; import { length } from 'stringz';
@ -204,6 +205,7 @@ class ComposeForm extends ImmutablePureComponent {
render () { render () {
const { intl, onPaste, showSearch } = this.props; const { intl, onPaste, showSearch } = this.props;
const disabled = this.props.isSubmitting; const disabled = this.props.isSubmitting;
let publishText = ''; let publishText = '';
if (this.props.isEditing) { if (this.props.isEditing) {
@ -254,6 +256,7 @@ class ComposeForm extends ImmutablePureComponent {
autoFocus={!showSearch && !isMobile(window.innerWidth)} autoFocus={!showSearch && !isMobile(window.innerWidth)}
> >
<EmojiPickerDropdown onPickEmoji={this.handleEmojiPick} /> <EmojiPickerDropdown onPickEmoji={this.handleEmojiPick} />
<div className='compose-form__modifiers'> <div className='compose-form__modifiers'>
<UploadFormContainer /> <UploadFormContainer />
<PollFormContainer /> <PollFormContainer />
@ -266,12 +269,18 @@ class ComposeForm extends ImmutablePureComponent {
<PollButtonContainer /> <PollButtonContainer />
<PrivacyDropdownContainer disabled={this.props.isEditing} /> <PrivacyDropdownContainer disabled={this.props.isEditing} />
<SpoilerButtonContainer /> <SpoilerButtonContainer />
<LanguageDropdown />
</div>
<div className='character-counter__wrapper'>
<CharacterCounter max={69420} text={this.getFulltextForCharacterCounting()} />
</div> </div>
<div className='character-counter__wrapper'><CharacterCounter max={69420} text={this.getFulltextForCharacterCounting()} /></div>
</div> </div>
<div className='compose-form__publish'> <div className='compose-form__publish'>
<div className='compose-form__publish-button-wrapper'><Button text={publishText} onClick={this.handleSubmit} disabled={!this.canSubmit()} block /></div> <div className='compose-form__publish-button-wrapper'>
<Button text={publishText} onClick={this.handleSubmit} disabled={!this.canSubmit()} block />
</div>
</div> </div>
</div> </div>
); );

View File

@ -0,0 +1,332 @@
import React from 'react';
import PropTypes from 'prop-types';
import { injectIntl, defineMessages } from 'react-intl';
import TextIconButton from './text_icon_button';
import Overlay from 'react-overlays/lib/Overlay';
import Motion from 'mastodon/features/ui/util/optional_motion';
import spring from 'react-motion/lib/spring';
import { supportsPassiveEvents } from 'detect-passive-events';
import classNames from 'classnames';
import { languages as preloadedLanguages } from 'mastodon/initial_state';
import fuzzysort from 'fuzzysort';
const messages = defineMessages({
changeLanguage: { id: 'compose.language.change', defaultMessage: 'Change language' },
search: { id: 'compose.language.search', defaultMessage: 'Search languages...' },
clear: { id: 'emoji_button.clear', defaultMessage: 'Clear' },
});
// Copied from emoji-mart for consistency with emoji picker and since
// they don't export the icons in the package
const icons = {
loupe: (
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' width='13' height='13'>
<path d='M12.9 14.32a8 8 0 1 1 1.41-1.41l5.35 5.33-1.42 1.42-5.33-5.34zM8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12z' />
</svg>
),
delete: (
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' width='13' height='13'>
<path d='M10 8.586L2.929 1.515 1.515 2.929 8.586 10l-7.071 7.071 1.414 1.414L10 11.414l7.071 7.071 1.414-1.414L11.414 10l7.071-7.071-1.414-1.414L10 8.586z' />
</svg>
),
};
const listenerOptions = supportsPassiveEvents ? { passive: true } : false;
class LanguageDropdownMenu extends React.PureComponent {
static propTypes = {
style: PropTypes.object,
value: PropTypes.string.isRequired,
frequentlyUsedLanguages: PropTypes.arrayOf(PropTypes.string).isRequired,
placement: PropTypes.string.isRequired,
onClose: PropTypes.func.isRequired,
onChange: PropTypes.func.isRequired,
languages: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.string)),
intl: PropTypes.object,
};
static defaultProps = {
languages: preloadedLanguages,
};
state = {
mounted: false,
searchValue: '',
};
handleDocumentClick = e => {
if (this.node && !this.node.contains(e.target)) {
this.props.onClose();
}
}
componentDidMount () {
document.addEventListener('click', this.handleDocumentClick, false);
document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);
this.setState({ mounted: true });
}
componentWillUnmount () {
document.removeEventListener('click', this.handleDocumentClick, false);
document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);
}
setRef = c => {
this.node = c;
}
setListRef = c => {
this.listNode = c;
}
handleSearchChange = ({ target }) => {
this.setState({ searchValue: target.value });
}
search () {
const { languages, value, frequentlyUsedLanguages } = this.props;
const { searchValue } = this.state;
if (searchValue === '') {
return [...languages].sort((a, b) => {
// Push current selection to the top of the list
if (a[0] === value) {
return -1;
} else if (b[0] === value) {
return 1;
} else {
// Sort according to frequently used languages
const indexOfA = frequentlyUsedLanguages.indexOf(a[0]);
const indexOfB = frequentlyUsedLanguages.indexOf(b[0]);
return ((indexOfA > -1 ? indexOfA : Infinity) - (indexOfB > -1 ? indexOfB : Infinity));
}
});
}
return fuzzysort.go(searchValue, languages, {
keys: ['0', '1', '2'],
limit: 5,
threshold: -10000,
}).map(result => result.obj);
}
frequentlyUsed () {
const { languages, value } = this.props;
const current = languages.find(lang => lang[0] === value);
const results = [];
if (current) {
results.push(current);
}
return results;
}
handleClick = e => {
const value = e.currentTarget.getAttribute('data-index');
e.preventDefault();
this.props.onClose();
this.props.onChange(value);
}
handleKeyDown = e => {
const { onClose } = this.props;
const index = Array.from(this.listNode.childNodes).findIndex(node => node === e.currentTarget);
let element = null;
switch(e.key) {
case 'Escape':
onClose();
break;
case 'Enter':
this.handleClick(e);
break;
case 'ArrowDown':
element = this.listNode.childNodes[index + 1] || this.listNode.firstChild;
break;
case 'ArrowUp':
element = this.listNode.childNodes[index - 1] || this.listNode.lastChild;
break;
case 'Tab':
if (e.shiftKey) {
element = this.listNode.childNodes[index - 1] || this.listNode.lastChild;
} else {
element = this.listNode.childNodes[index + 1] || this.listNode.firstChild;
}
break;
case 'Home':
element = this.listNode.firstChild;
break;
case 'End':
element = this.listNode.lastChild;
break;
}
if (element) {
element.focus();
e.preventDefault();
e.stopPropagation();
}
}
handleSearchKeyDown = e => {
const { onChange, onClose } = this.props;
const { searchValue } = this.state;
let element = null;
switch(e.key) {
case 'Tab':
case 'ArrowDown':
element = this.listNode.firstChild;
if (element) {
element.focus();
e.preventDefault();
e.stopPropagation();
}
break;
case 'Enter':
element = this.listNode.firstChild;
if (element) {
onChange(element.getAttribute('data-index'));
onClose();
}
break;
case 'Escape':
if (searchValue !== '') {
e.preventDefault();
this.handleClear();
}
break;
}
}
handleClear = () => {
this.setState({ searchValue: '' });
}
renderItem = lang => {
const { value } = this.props;
return (
<div key={lang[0]} role='option' tabIndex='0' data-index={lang[0]} className={classNames('language-dropdown__dropdown__results__item', { active: lang[0] === value })} aria-selected={lang[0] === value} onClick={this.handleClick} onKeyDown={this.handleKeyDown}>
<span className='language-dropdown__dropdown__results__item__native-name'>{lang[2]}</span> <span className='language-dropdown__dropdown__results__item__common-name'>({lang[1]})</span>
</div>
);
}
render () {
const { style, placement, intl } = this.props;
const { mounted, searchValue } = this.state;
const isSearching = searchValue !== '';
const results = this.search();
return (
<Motion defaultStyle={{ opacity: 0, scaleX: 0.85, scaleY: 0.75 }} style={{ opacity: spring(1, { damping: 35, stiffness: 400 }), scaleX: spring(1, { damping: 35, stiffness: 400 }), scaleY: spring(1, { damping: 35, stiffness: 400 }) }}>
{({ opacity, scaleX, scaleY }) => (
// It should not be transformed when mounting because the resulting
// size will be used to determine the coordinate of the menu by
// react-overlays
<div className={`language-dropdown__dropdown ${placement}`} style={{ ...style, opacity: opacity, transform: mounted ? `scale(${scaleX}, ${scaleY})` : null }} ref={this.setRef}>
<div className='emoji-mart-search'>
<input type='search' value={searchValue} onChange={this.handleSearchChange} onKeyDown={this.handleSearchKeyDown} placeholder={intl.formatMessage(messages.search)} autoFocus />
<button className='emoji-mart-search-icon' disabled={!isSearching} aria-label={intl.formatMessage(messages.clear)} onClick={this.handleClear}>{!isSearching ? icons.loupe : icons.delete}</button>
</div>
<div className='language-dropdown__dropdown__results emoji-mart-scroll' role='listbox' ref={this.setListRef}>
{results.map(this.renderItem)}
</div>
</div>
)}
</Motion>
);
}
}
export default @injectIntl
class LanguageDropdown extends React.PureComponent {
static propTypes = {
value: PropTypes.string,
frequentlyUsedLanguages: PropTypes.arrayOf(PropTypes.string),
intl: PropTypes.object.isRequired,
onChange: PropTypes.func,
onClose: PropTypes.func,
};
state = {
open: false,
placement: 'bottom',
};
handleToggle = ({ target }) => {
const { top } = target.getBoundingClientRect();
if (this.state.open && this.activeElement) {
this.activeElement.focus({ preventScroll: true });
}
this.setState({ placement: top * 2 < innerHeight ? 'bottom' : 'top' });
this.setState({ open: !this.state.open });
}
handleClose = () => {
const { value, onClose } = this.props;
if (this.state.open && this.activeElement) {
this.activeElement.focus({ preventScroll: true });
}
this.setState({ open: false });
onClose(value);
}
handleChange = value => {
const { onChange } = this.props;
onChange(value);
}
render () {
const { value, intl, frequentlyUsedLanguages } = this.props;
const { open, placement } = this.state;
return (
<div className={classNames('privacy-dropdown', { active: open })}>
<div className='privacy-dropdown__value'>
<TextIconButton
className='privacy-dropdown__value-icon'
label={value && value.toUpperCase()}
title={intl.formatMessage(messages.changeLanguage)}
active={open}
onClick={this.handleToggle}
/>
</div>
<Overlay show={open} placement={placement} target={this}>
<LanguageDropdownMenu
value={value}
frequentlyUsedLanguages={frequentlyUsedLanguages}
onClose={this.handleClose}
onChange={this.handleChange}
placement={placement}
intl={intl}
/>
</Overlay>
</div>
);
}
}

View File

@ -11,12 +11,12 @@ import Icon from 'mastodon/components/icon';
const messages = defineMessages({ const messages = defineMessages({
public_short: { id: 'privacy.public.short', defaultMessage: 'Public' }, public_short: { id: 'privacy.public.short', defaultMessage: 'Public' },
public_long: { id: 'privacy.public.long', defaultMessage: 'Visible for all, shown in public timelines' }, public_long: { id: 'privacy.public.long', defaultMessage: 'Visible for all' },
unlisted_short: { id: 'privacy.unlisted.short', defaultMessage: 'Unlisted' }, unlisted_short: { id: 'privacy.unlisted.short', defaultMessage: 'Unlisted' },
unlisted_long: { id: 'privacy.unlisted.long', defaultMessage: 'Visible for all, but not in public timelines' }, unlisted_long: { id: 'privacy.unlisted.long', defaultMessage: 'Visible for all, but opted-out of discovery features' },
private_short: { id: 'privacy.private.short', defaultMessage: 'Followers-only' }, private_short: { id: 'privacy.private.short', defaultMessage: 'Followers only' },
private_long: { id: 'privacy.private.long', defaultMessage: 'Visible for followers only' }, private_long: { id: 'privacy.private.long', defaultMessage: 'Visible for followers only' },
direct_short: { id: 'privacy.direct.short', defaultMessage: 'Direct' }, direct_short: { id: 'privacy.direct.short', defaultMessage: 'Mentioned people only' },
direct_long: { id: 'privacy.direct.long', defaultMessage: 'Visible for mentioned users only' }, direct_long: { id: 'privacy.direct.long', defaultMessage: 'Visible for mentioned users only' },
change_privacy: { id: 'privacy.change', defaultMessage: 'Adjust status privacy' }, change_privacy: { id: 'privacy.change', defaultMessage: 'Adjust status privacy' },
}); });
@ -242,7 +242,7 @@ class PrivacyDropdown extends React.PureComponent {
if (!this.props.noDirect) { if (!this.props.noDirect) {
this.options.push( this.options.push(
{ icon: 'envelope', value: 'direct', text: formatMessage(messages.direct_short), meta: formatMessage(messages.direct_long) }, { icon: 'at', value: 'direct', text: formatMessage(messages.direct_short), meta: formatMessage(messages.direct_long) },
); );
} }
} }

View File

@ -91,7 +91,7 @@ class SearchResults extends ImmutablePureComponent {
count += results.get('statuses').size; count += results.get('statuses').size;
statuses = ( statuses = (
<div className='search-results__section'> <div className='search-results__section'>
<h5><Icon id='quote-right' fixedWidth /><FormattedMessage id='search_results.statuses' defaultMessage='Toots' /></h5> <h5><Icon id='quote-right' fixedWidth /><FormattedMessage id='search_results.statuses' defaultMessage='Posts' /></h5>
{results.get('statuses').map(statusId => <StatusContainer key={statusId} id={statusId} />)} {results.get('statuses').map(statusId => <StatusContainer key={statusId} id={statusId} />)}
@ -101,10 +101,10 @@ class SearchResults extends ImmutablePureComponent {
} else if(results.get('statuses') && results.get('statuses').size === 0 && !searchEnabled && !(searchTerm.startsWith('@') || searchTerm.startsWith('#') || searchTerm.includes(' '))) { } else if(results.get('statuses') && results.get('statuses').size === 0 && !searchEnabled && !(searchTerm.startsWith('@') || searchTerm.startsWith('#') || searchTerm.includes(' '))) {
statuses = ( statuses = (
<div className='search-results__section'> <div className='search-results__section'>
<h5><Icon id='quote-right' fixedWidth /><FormattedMessage id='search_results.statuses' defaultMessage='Toots' /></h5> <h5><Icon id='quote-right' fixedWidth /><FormattedMessage id='search_results.statuses' defaultMessage='Posts' /></h5>
<div className='search-results__info'> <div className='search-results__info'>
<FormattedMessage id='search_results.statuses_fts_disabled' defaultMessage='Searching toots by their content is not enabled on this Mastodon server.' /> <FormattedMessage id='search_results.statuses_fts_disabled' defaultMessage='Searching posts by their content is not enabled on this Mastodon server.' />
</div> </div>
</div> </div>
); );

View File

@ -17,11 +17,6 @@ export default class TextIconButton extends React.PureComponent {
ariaControls: PropTypes.string, ariaControls: PropTypes.string,
}; };
handleClick = (e) => {
e.preventDefault();
this.props.onClick();
}
render () { render () {
const { label, title, active, ariaControls } = this.props; const { label, title, active, ariaControls } = this.props;
@ -31,7 +26,7 @@ export default class TextIconButton extends React.PureComponent {
aria-label={title} aria-label={title}
className={`text-icon-button ${active ? 'active' : ''}`} className={`text-icon-button ${active ? 'active' : ''}`}
aria-expanded={active} aria-expanded={active}
onClick={this.handleClick} onClick={this.props.onClick}
aria-controls={ariaControls} style={iconStyle} aria-controls={ariaControls} style={iconStyle}
> >
{label} {label}

View File

@ -0,0 +1,34 @@
import { connect } from 'react-redux';
import LanguageDropdown from '../components/language_dropdown';
import { changeComposeLanguage } from 'mastodon/actions/compose';
import { useLanguage } from 'mastodon/actions/languages';
import { createSelector } from 'reselect';
import { Map as ImmutableMap } from 'immutable';
const getFrequentlyUsedLanguages = createSelector([
state => state.getIn(['settings', 'frequentlyUsedLanguages'], ImmutableMap()),
], languageCounters => (
languageCounters.keySeq()
.sort((a, b) => languageCounters.get(a) - languageCounters.get(b))
.reverse()
.toArray()
));
const mapStateToProps = state => ({
frequentlyUsedLanguages: getFrequentlyUsedLanguages(state),
value: state.getIn(['compose', 'language']),
});
const mapDispatchToProps = dispatch => ({
onChange (value) {
dispatch(changeComposeLanguage(value));
},
onClose (value) {
dispatch(useLanguage(value));
},
});
export default connect(mapStateToProps, mapDispatchToProps)(LanguageDropdown);

View File

@ -42,13 +42,13 @@ const WarningWrapper = ({ needsLockWarning, hashtagWarning, directMessageWarning
} }
if (hashtagWarning) { if (hashtagWarning) {
return <Warning message={<FormattedMessage id='compose_form.hashtag_warning' defaultMessage="This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag." />} />; return <Warning message={<FormattedMessage id='compose_form.hashtag_warning' defaultMessage="This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag." />} />;
} }
if (directMessageWarning) { if (directMessageWarning) {
const message = ( const message = (
<span> <span>
<FormattedMessage id='compose_form.direct_message_warning' defaultMessage='This toot will only be sent to all the mentioned users.' /> <a href='/terms' target='_blank'><FormattedMessage id='compose_form.direct_message_warning_learn_more' defaultMessage='Learn more' /></a> <FormattedMessage id='compose_form.encryption_warning' defaultMessage='Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.' /> <a href='/terms' target='_blank'><FormattedMessage id='compose_form.direct_message_warning_learn_more' defaultMessage='Learn more' /></a>
</span> </span>
); );

View File

@ -26,7 +26,7 @@ const messages = defineMessages({
community: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' }, community: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' },
preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' }, preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },
logout: { id: 'navigation_bar.logout', defaultMessage: 'Logout' }, logout: { id: 'navigation_bar.logout', defaultMessage: 'Logout' },
compose: { id: 'navigation_bar.compose', defaultMessage: 'Compose new toot' }, compose: { id: 'navigation_bar.compose', defaultMessage: 'Compose new post' },
logoutMessage: { id: 'confirmations.logout.message', defaultMessage: 'Are you sure you want to log out?' }, logoutMessage: { id: 'confirmations.logout.message', defaultMessage: 'Are you sure you want to log out?' },
logoutConfirm: { id: 'confirmations.logout.confirm', defaultMessage: 'Log out' }, logoutConfirm: { id: 'confirmations.logout.confirm', defaultMessage: 'Log out' },
}); });

View File

@ -76,7 +76,7 @@ class DirectTimeline extends React.PureComponent {
return ( return (
<Column bindToDocument={!multiColumn} ref={this.setRef} label={intl.formatMessage(messages.title)}> <Column bindToDocument={!multiColumn} ref={this.setRef} label={intl.formatMessage(messages.title)}>
<ColumnHeader <ColumnHeader
icon='envelope' icon='at'
active={hasUnread} active={hasUnread}
title={intl.formatMessage(messages.title)} title={intl.formatMessage(messages.title)}
onPin={this.handlePin} onPin={this.handlePin}
@ -91,6 +91,7 @@ class DirectTimeline extends React.PureComponent {
scrollKey={`direct_timeline-${columnId}`} scrollKey={`direct_timeline-${columnId}`}
timelineId='direct' timelineId='direct'
onLoadMore={this.handleLoadMore} onLoadMore={this.handleLoadMore}
prepend={<div className='follow_requests-unlocked_explanation'><span><FormattedMessage id='compose_form.encryption_warning' defaultMessage='Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.' /> <a href='/terms' target='_blank'><FormattedMessage id='compose_form.direct_message_warning_learn_more' defaultMessage='Learn more' /></a></span></div>}
emptyMessage={<FormattedMessage id='empty_column.direct' defaultMessage="You don't have any direct messages yet. When you send or receive one, it will show up here." />} emptyMessage={<FormattedMessage id='empty_column.direct' defaultMessage="You don't have any direct messages yet. When you send or receive one, it will show up here." />}
/> />
</Column> </Column>

View File

@ -191,7 +191,7 @@ class AccountCard extends ImmutablePureComponent {
<div className='account-card__counters__item'> <div className='account-card__counters__item'>
<ShortNumber value={account.get('statuses_count')} /> <ShortNumber value={account.get('statuses_count')} />
<small> <small>
<FormattedMessage id='account.posts' defaultMessage='Toots' /> <FormattedMessage id='account.posts' defaultMessage='Posts' />
</small> </small>
</div> </div>

View File

@ -100,7 +100,7 @@ class Results extends React.PureComponent {
<button onClick={this.handleSelectAll} className={type === 'all' && 'active'}><FormattedMessage id='search_results.all' defaultMessage='All' /></button> <button onClick={this.handleSelectAll} className={type === 'all' && 'active'}><FormattedMessage id='search_results.all' defaultMessage='All' /></button>
<button onClick={this.handleSelectAccounts} className={type === 'accounts' && 'active'}><FormattedMessage id='search_results.accounts' defaultMessage='People' /></button> <button onClick={this.handleSelectAccounts} className={type === 'accounts' && 'active'}><FormattedMessage id='search_results.accounts' defaultMessage='People' /></button>
<button onClick={this.handleSelectHashtags} className={type === 'hashtags' && 'active'}><FormattedMessage id='search_results.hashtags' defaultMessage='Hashtags' /></button> <button onClick={this.handleSelectHashtags} className={type === 'hashtags' && 'active'}><FormattedMessage id='search_results.hashtags' defaultMessage='Hashtags' /></button>
<button onClick={this.handleSelectStatuses} className={type === 'statuses' && 'active'}><FormattedMessage id='search_results.statuses' defaultMessage='Toots' /></button> <button onClick={this.handleSelectStatuses} className={type === 'statuses' && 'active'}><FormattedMessage id='search_results.statuses' defaultMessage='Posts' /></button>
</div> </div>
<div className='explore__search-results'> <div className='explore__search-results'>

View File

@ -70,7 +70,7 @@ class Favourites extends ImmutablePureComponent {
const { intl, statusIds, columnId, multiColumn, hasMore, isLoading } = this.props; const { intl, statusIds, columnId, multiColumn, hasMore, isLoading } = this.props;
const pinned = !!columnId; const pinned = !!columnId;
const emptyMessage = <FormattedMessage id='empty_column.favourited_statuses' defaultMessage="You don't have any favourite toots yet. When you favourite one, it will show up here." />; const emptyMessage = <FormattedMessage id='empty_column.favourited_statuses' defaultMessage="You don't have any favourite posts yet. When you favourite one, it will show up here." />;
return ( return (
<Column bindToDocument={!multiColumn} ref={this.setRef} label={intl.formatMessage(messages.heading)}> <Column bindToDocument={!multiColumn} ref={this.setRef} label={intl.formatMessage(messages.heading)}>

View File

@ -59,7 +59,7 @@ class Favourites extends ImmutablePureComponent {
); );
} }
const emptyMessage = <FormattedMessage id='empty_column.favourites' defaultMessage='No one has favourited this toot yet. When someone does, they will show up here.' />; const emptyMessage = <FormattedMessage id='empty_column.favourites' defaultMessage='No one has favourited this post yet. When someone does, they will show up here.' />;
return ( return (
<Column bindToDocument={!multiColumn}> <Column bindToDocument={!multiColumn}>

View File

@ -19,6 +19,8 @@ import ColumnBackButton from '../../components/column_back_button';
import ScrollableList from '../../components/scrollable_list'; import ScrollableList from '../../components/scrollable_list';
import MissingIndicator from 'mastodon/components/missing_indicator'; import MissingIndicator from 'mastodon/components/missing_indicator';
import TimelineHint from 'mastodon/components/timeline_hint'; import TimelineHint from 'mastodon/components/timeline_hint';
import LimitedAccountHint from '../account_timeline/components/limited_account_hint';
import { getAccountHidden } from 'mastodon/selectors';
const mapStateToProps = (state, { params: { acct, id } }) => { const mapStateToProps = (state, { params: { acct, id } }) => {
const accountId = id || state.getIn(['accounts_map', acct]); const accountId = id || state.getIn(['accounts_map', acct]);
@ -37,6 +39,8 @@ const mapStateToProps = (state, { params: { acct, id } }) => {
accountIds: state.getIn(['user_lists', 'followers', accountId, 'items']), accountIds: state.getIn(['user_lists', 'followers', accountId, 'items']),
hasMore: !!state.getIn(['user_lists', 'followers', accountId, 'next']), hasMore: !!state.getIn(['user_lists', 'followers', accountId, 'next']),
isLoading: state.getIn(['user_lists', 'followers', accountId, 'isLoading'], true), isLoading: state.getIn(['user_lists', 'followers', accountId, 'isLoading'], true),
suspended: state.getIn(['accounts', accountId, 'suspended'], false),
hidden: getAccountHidden(state, accountId),
blockedBy: state.getIn(['relationships', accountId, 'blocked_by'], false), blockedBy: state.getIn(['relationships', accountId, 'blocked_by'], false),
}; };
}; };
@ -64,6 +68,8 @@ class Followers extends ImmutablePureComponent {
isLoading: PropTypes.bool, isLoading: PropTypes.bool,
blockedBy: PropTypes.bool, blockedBy: PropTypes.bool,
isAccount: PropTypes.bool, isAccount: PropTypes.bool,
suspended: PropTypes.bool,
hidden: PropTypes.bool,
remote: PropTypes.bool, remote: PropTypes.bool,
remoteUrl: PropTypes.string, remoteUrl: PropTypes.string,
multiColumn: PropTypes.bool, multiColumn: PropTypes.bool,
@ -101,7 +107,7 @@ class Followers extends ImmutablePureComponent {
}, 300, { leading: true }); }, 300, { leading: true });
render () { render () {
const { accountIds, hasMore, blockedBy, isAccount, multiColumn, isLoading, remote, remoteUrl } = this.props; const { accountId, accountIds, hasMore, blockedBy, isAccount, multiColumn, isLoading, suspended, hidden, remote, remoteUrl } = this.props;
if (!isAccount) { if (!isAccount) {
return ( return (
@ -121,7 +127,13 @@ class Followers extends ImmutablePureComponent {
let emptyMessage; let emptyMessage;
if (blockedBy) { const forceEmptyState = blockedBy || suspended || hidden;
if (suspended) {
emptyMessage = <FormattedMessage id='empty_column.account_suspended' defaultMessage='Account suspended' />;
} else if (hidden) {
emptyMessage = <LimitedAccountHint accountId={accountId} />;
} else if (blockedBy) {
emptyMessage = <FormattedMessage id='empty_column.account_unavailable' defaultMessage='Profile unavailable' />; emptyMessage = <FormattedMessage id='empty_column.account_unavailable' defaultMessage='Profile unavailable' />;
} else if (remote && accountIds.isEmpty()) { } else if (remote && accountIds.isEmpty()) {
emptyMessage = <RemoteHint url={remoteUrl} />; emptyMessage = <RemoteHint url={remoteUrl} />;
@ -137,7 +149,7 @@ class Followers extends ImmutablePureComponent {
<ScrollableList <ScrollableList
scrollKey='followers' scrollKey='followers'
hasMore={hasMore} hasMore={!forceEmptyState && hasMore}
isLoading={isLoading} isLoading={isLoading}
onLoadMore={this.handleLoadMore} onLoadMore={this.handleLoadMore}
prepend={<HeaderContainer accountId={this.props.accountId} hideTabs />} prepend={<HeaderContainer accountId={this.props.accountId} hideTabs />}
@ -146,7 +158,7 @@ class Followers extends ImmutablePureComponent {
emptyMessage={emptyMessage} emptyMessage={emptyMessage}
bindToDocument={!multiColumn} bindToDocument={!multiColumn}
> >
{blockedBy ? [] : accountIds.map(id => {forceEmptyState ? [] : accountIds.map(id =>
<AccountContainer key={id} id={id} withNote={false} />, <AccountContainer key={id} id={id} withNote={false} />,
)} )}
</ScrollableList> </ScrollableList>

View File

@ -19,6 +19,8 @@ import ColumnBackButton from '../../components/column_back_button';
import ScrollableList from '../../components/scrollable_list'; import ScrollableList from '../../components/scrollable_list';
import MissingIndicator from 'mastodon/components/missing_indicator'; import MissingIndicator from 'mastodon/components/missing_indicator';
import TimelineHint from 'mastodon/components/timeline_hint'; import TimelineHint from 'mastodon/components/timeline_hint';
import LimitedAccountHint from '../account_timeline/components/limited_account_hint';
import { getAccountHidden } from 'mastodon/selectors';
const mapStateToProps = (state, { params: { acct, id } }) => { const mapStateToProps = (state, { params: { acct, id } }) => {
const accountId = id || state.getIn(['accounts_map', acct]); const accountId = id || state.getIn(['accounts_map', acct]);
@ -37,6 +39,8 @@ const mapStateToProps = (state, { params: { acct, id } }) => {
accountIds: state.getIn(['user_lists', 'following', accountId, 'items']), accountIds: state.getIn(['user_lists', 'following', accountId, 'items']),
hasMore: !!state.getIn(['user_lists', 'following', accountId, 'next']), hasMore: !!state.getIn(['user_lists', 'following', accountId, 'next']),
isLoading: state.getIn(['user_lists', 'following', accountId, 'isLoading'], true), isLoading: state.getIn(['user_lists', 'following', accountId, 'isLoading'], true),
suspended: state.getIn(['accounts', accountId, 'suspended'], false),
hidden: getAccountHidden(state, accountId),
blockedBy: state.getIn(['relationships', accountId, 'blocked_by'], false), blockedBy: state.getIn(['relationships', accountId, 'blocked_by'], false),
}; };
}; };
@ -64,6 +68,8 @@ class Following extends ImmutablePureComponent {
isLoading: PropTypes.bool, isLoading: PropTypes.bool,
blockedBy: PropTypes.bool, blockedBy: PropTypes.bool,
isAccount: PropTypes.bool, isAccount: PropTypes.bool,
suspended: PropTypes.bool,
hidden: PropTypes.bool,
remote: PropTypes.bool, remote: PropTypes.bool,
remoteUrl: PropTypes.string, remoteUrl: PropTypes.string,
multiColumn: PropTypes.bool, multiColumn: PropTypes.bool,
@ -101,7 +107,7 @@ class Following extends ImmutablePureComponent {
}, 300, { leading: true }); }, 300, { leading: true });
render () { render () {
const { accountIds, hasMore, blockedBy, isAccount, multiColumn, isLoading, remote, remoteUrl } = this.props; const { accountId, accountIds, hasMore, blockedBy, isAccount, multiColumn, isLoading, suspended, hidden, remote, remoteUrl } = this.props;
if (!isAccount) { if (!isAccount) {
return ( return (
@ -121,7 +127,13 @@ class Following extends ImmutablePureComponent {
let emptyMessage; let emptyMessage;
if (blockedBy) { const forceEmptyState = blockedBy || suspended || hidden;
if (suspended) {
emptyMessage = <FormattedMessage id='empty_column.account_suspended' defaultMessage='Account suspended' />;
} else if (hidden) {
emptyMessage = <LimitedAccountHint accountId={accountId} />;
} else if (blockedBy) {
emptyMessage = <FormattedMessage id='empty_column.account_unavailable' defaultMessage='Profile unavailable' />; emptyMessage = <FormattedMessage id='empty_column.account_unavailable' defaultMessage='Profile unavailable' />;
} else if (remote && accountIds.isEmpty()) { } else if (remote && accountIds.isEmpty()) {
emptyMessage = <RemoteHint url={remoteUrl} />; emptyMessage = <RemoteHint url={remoteUrl} />;
@ -137,7 +149,7 @@ class Following extends ImmutablePureComponent {
<ScrollableList <ScrollableList
scrollKey='following' scrollKey='following'
hasMore={hasMore} hasMore={!forceEmptyState && hasMore}
isLoading={isLoading} isLoading={isLoading}
onLoadMore={this.handleLoadMore} onLoadMore={this.handleLoadMore}
prepend={<HeaderContainer accountId={this.props.accountId} hideTabs />} prepend={<HeaderContainer accountId={this.props.accountId} hideTabs />}
@ -146,7 +158,7 @@ class Following extends ImmutablePureComponent {
emptyMessage={emptyMessage} emptyMessage={emptyMessage}
bindToDocument={!multiColumn} bindToDocument={!multiColumn}
> >
{blockedBy ? [] : accountIds.map(id => {forceEmptyState ? [] : accountIds.map(id =>
<AccountContainer key={id} id={id} withNote={false} />, <AccountContainer key={id} id={id} withNote={false} />,
)} )}
</ScrollableList> </ScrollableList>

View File

@ -30,7 +30,7 @@ const messages = defineMessages({
blocks: { id: 'navigation_bar.blocks', defaultMessage: 'Blocked users' }, blocks: { id: 'navigation_bar.blocks', defaultMessage: 'Blocked users' },
domain_blocks: { id: 'navigation_bar.domain_blocks', defaultMessage: 'Hidden domains' }, domain_blocks: { id: 'navigation_bar.domain_blocks', defaultMessage: 'Hidden domains' },
mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' }, mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' },
pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned toots' }, pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned posts' },
lists: { id: 'navigation_bar.lists', defaultMessage: 'Lists' }, lists: { id: 'navigation_bar.lists', defaultMessage: 'Lists' },
discover: { id: 'navigation_bar.discover', defaultMessage: 'Discover' }, discover: { id: 'navigation_bar.discover', defaultMessage: 'Discover' },
personal: { id: 'navigation_bar.personal', defaultMessage: 'Personal' }, personal: { id: 'navigation_bar.personal', defaultMessage: 'Personal' },
@ -130,7 +130,7 @@ class GettingStarted extends ImmutablePureComponent {
} }
navItems.push( navItems.push(
<ColumnLink key='direct' icon='envelope' text={intl.formatMessage(messages.direct)} to='/conversations' />, <ColumnLink key='direct' icon='at' text={intl.formatMessage(messages.direct)} to='/conversations' />,
<ColumnLink key='bookmark' icon='bookmark' text={intl.formatMessage(messages.bookmarks)} to='/bookmarks' />, <ColumnLink key='bookmark' icon='bookmark' text={intl.formatMessage(messages.bookmarks)} to='/bookmarks' />,
<ColumnLink key='favourites' icon='star' text={intl.formatMessage(messages.favourites)} to='/favourites' />, <ColumnLink key='favourites' icon='star' text={intl.formatMessage(messages.favourites)} to='/favourites' />,
<ColumnLink key='lists' icon='list-ul' text={intl.formatMessage(messages.lists)} to='/lists' />, <ColumnLink key='lists' icon='list-ul' text={intl.formatMessage(messages.lists)} to='/lists' />,

View File

@ -86,7 +86,7 @@ class KeyboardShortcuts extends ImmutablePureComponent {
</tr> </tr>
<tr> <tr>
<td><kbd>alt</kbd>+<kbd>n</kbd></td> <td><kbd>alt</kbd>+<kbd>n</kbd></td>
<td><FormattedMessage id='keyboard_shortcuts.toot' defaultMessage='to start a brand new toot' /></td> <td><FormattedMessage id='keyboard_shortcuts.toot' defaultMessage='to start a brand new post' /></td>
</tr> </tr>
<tr> <tr>
<td><kbd>alt</kbd>+<kbd>x</kbd></td> <td><kbd>alt</kbd>+<kbd>x</kbd></td>
@ -134,7 +134,7 @@ class KeyboardShortcuts extends ImmutablePureComponent {
</tr> </tr>
<tr> <tr>
<td><kbd>g</kbd>+<kbd>p</kbd></td> <td><kbd>g</kbd>+<kbd>p</kbd></td>
<td><FormattedMessage id='keyboard_shortcuts.pinned' defaultMessage='to open pinned toots list' /></td> <td><FormattedMessage id='keyboard_shortcuts.pinned' defaultMessage='to open pinned posts list' /></td>
</tr> </tr>
<tr> <tr>
<td><kbd>g</kbd>+<kbd>u</kbd></td> <td><kbd>g</kbd>+<kbd>u</kbd></td>

View File

@ -69,7 +69,7 @@ class Mutes extends ImmutablePureComponent {
bindToDocument={!multiColumn} bindToDocument={!multiColumn}
> >
{accountIds.map(id => {accountIds.map(id =>
<AccountContainer key={id} id={id} />, <AccountContainer key={id} id={id} defaultAction='mute' />,
)} )}
</ScrollableList> </ScrollableList>
</Column> </Column>

View File

@ -145,7 +145,7 @@ export default class ColumnSettings extends React.PureComponent {
</div> </div>
<div role='group' aria-labelledby='notifications-status'> <div role='group' aria-labelledby='notifications-status'>
<span id='notifications-status' className='column-settings__section'><FormattedMessage id='notifications.column_settings.status' defaultMessage='New toots:' /></span> <span id='notifications-status' className='column-settings__section'><FormattedMessage id='notifications.column_settings.status' defaultMessage='New posts:' /></span>
<div className='column-settings__row'> <div className='column-settings__row'>
<SettingToggle disabled={browserPermission === 'denied'} prefix='notifications_desktop' settings={settings} settingPath={['alerts', 'status']} onChange={onChange} label={alertStr} /> <SettingToggle disabled={browserPermission === 'denied'} prefix='notifications_desktop' settings={settings} settingPath={['alerts', 'status']} onChange={onChange} label={alertStr} />

View File

@ -10,7 +10,7 @@ import { defineMessages, injectIntl } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePureComponent from 'react-immutable-pure-component';
const messages = defineMessages({ const messages = defineMessages({
heading: { id: 'column.pins', defaultMessage: 'Pinned toot' }, heading: { id: 'column.pins', defaultMessage: 'Pinned post' },
}); });
const mapStateToProps = state => ({ const mapStateToProps = state => ({

View File

@ -59,7 +59,7 @@ class Reblogs extends ImmutablePureComponent {
); );
} }
const emptyMessage = <FormattedMessage id='status.reblogs.empty' defaultMessage='No one has boosted this toot yet. When someone does, they will show up here.' />; const emptyMessage = <FormattedMessage id='status.reblogs.empty' defaultMessage='No one has boosted this post yet. When someone does, they will show up here.' />;
return ( return (
<Column bindToDocument={!multiColumn}> <Column bindToDocument={!multiColumn}>

View File

@ -1,5 +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 { connect } from 'react-redux';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import Button from 'mastodon/components/button'; import Button from 'mastodon/components/button';
import Option from './components/option'; import Option from './components/option';
@ -17,11 +19,17 @@ const messages = defineMessages({
account: { id: 'report.category.title_account', defaultMessage: 'profile' }, account: { id: 'report.category.title_account', defaultMessage: 'profile' },
}); });
export default @injectIntl const mapStateToProps = state => ({
rules: state.get('rules'),
});
export default @connect(mapStateToProps)
@injectIntl
class Category extends React.PureComponent { class Category extends React.PureComponent {
static propTypes = { static propTypes = {
onNextStep: PropTypes.func.isRequired, onNextStep: PropTypes.func.isRequired,
rules: ImmutablePropTypes.list,
category: PropTypes.string, category: PropTypes.string,
onChangeCategory: PropTypes.func.isRequired, onChangeCategory: PropTypes.func.isRequired,
startedFrom: PropTypes.oneOf(['status', 'account']), startedFrom: PropTypes.oneOf(['status', 'account']),
@ -53,13 +61,17 @@ class Category extends React.PureComponent {
}; };
render () { render () {
const { category, startedFrom, intl } = this.props; const { category, startedFrom, rules, intl } = this.props;
const options = [ const options = rules.size > 0 ? [
'dislike', 'dislike',
'spam', 'spam',
'violation', 'violation',
'other', 'other',
] : [
'dislike',
'spam',
'other',
]; ];
return ( return (

View File

@ -220,7 +220,6 @@ class ActionBar extends React.PureComponent {
menu.push({ text: intl.formatMessage(messages.redraft), action: this.handleRedraftClick }); menu.push({ text: intl.formatMessage(messages.redraft), action: this.handleRedraftClick });
} else { } else {
menu.push({ text: intl.formatMessage(messages.mention, { name: status.getIn(['account', 'username']) }), action: this.handleMentionClick }); menu.push({ text: intl.formatMessage(messages.mention, { name: status.getIn(['account', 'username']) }), action: this.handleMentionClick });
menu.push({ text: intl.formatMessage(messages.direct, { name: status.getIn(['account', 'username']) }), action: this.handleDirectClick });
menu.push(null); menu.push(null);
if (relationship && relationship.get('muting')) { if (relationship && relationship.get('muting')) {

View File

@ -185,7 +185,7 @@ class DetailedStatus extends ImmutablePureComponent {
'public': { icon: 'globe', text: intl.formatMessage(messages.public_short) }, 'public': { icon: 'globe', text: intl.formatMessage(messages.public_short) },
'unlisted': { icon: 'unlock', text: intl.formatMessage(messages.unlisted_short) }, 'unlisted': { icon: 'unlock', text: intl.formatMessage(messages.unlisted_short) },
'private': { icon: 'lock', text: intl.formatMessage(messages.private_short) }, 'private': { icon: 'lock', text: intl.formatMessage(messages.private_short) },
'direct': { icon: 'envelope', text: intl.formatMessage(messages.direct_short) }, 'direct': { icon: 'at', text: intl.formatMessage(messages.direct_short) },
}; };
const visibilityIcon = visibilityIconInfo[status.get('visibility')]; const visibilityIcon = visibilityIconInfo[status.get('visibility')];

View File

@ -88,7 +88,7 @@ class BoostModal extends ImmutablePureComponent {
'public': { icon: 'globe', text: intl.formatMessage(messages.public_short) }, 'public': { icon: 'globe', text: intl.formatMessage(messages.public_short) },
'unlisted': { icon: 'unlock', text: intl.formatMessage(messages.unlisted_short) }, 'unlisted': { icon: 'unlock', text: intl.formatMessage(messages.unlisted_short) },
'private': { icon: 'lock', text: intl.formatMessage(messages.private_short) }, 'private': { icon: 'lock', text: intl.formatMessage(messages.private_short) },
'direct': { icon: 'envelope', text: intl.formatMessage(messages.direct_short) }, 'direct': { icon: 'at', text: intl.formatMessage(messages.direct_short) },
}; };
const visibilityIcon = visibilityIconInfo[status.get('visibility')]; const visibilityIcon = visibilityIconInfo[status.get('visibility')];

View File

@ -234,7 +234,7 @@ class ColumnsArea extends ImmutablePureComponent {
</div> </div>
</div> </div>
<div className='columns-area__panels__main'> <div className={`columns-area__panels__main ${floatingActionButton && 'with-fab'}`}>
<TabsBar key='tabs' /> <TabsBar key='tabs' />
{content} {content}
</div> </div>

View File

@ -16,7 +16,7 @@ const NavigationPanel = () => (
<NavLink className='column-link column-link--transparent' to='/explore' data-preview-title-id='explore.title' data-preview-icon='hashtag'><Icon className='column-link__icon' id='hashtag' fixedWidth /><FormattedMessage id='explore.title' defaultMessage='Explore' /></NavLink> <NavLink className='column-link column-link--transparent' to='/explore' data-preview-title-id='explore.title' data-preview-icon='hashtag'><Icon className='column-link__icon' id='hashtag' fixedWidth /><FormattedMessage id='explore.title' defaultMessage='Explore' /></NavLink>
<NavLink className='column-link column-link--transparent' to='/public/local' data-preview-title-id='column.community' data-preview-icon='users' ><Icon className='column-link__icon' id='users' fixedWidth /><FormattedMessage id='tabs_bar.local_timeline' defaultMessage='Local' /></NavLink> <NavLink className='column-link column-link--transparent' to='/public/local' data-preview-title-id='column.community' data-preview-icon='users' ><Icon className='column-link__icon' id='users' fixedWidth /><FormattedMessage id='tabs_bar.local_timeline' defaultMessage='Local' /></NavLink>
<NavLink className='column-link column-link--transparent' exact to='/public' data-preview-title-id='column.public' data-preview-icon='globe' ><Icon className='column-link__icon' id='globe' fixedWidth /><FormattedMessage id='tabs_bar.federated_timeline' defaultMessage='Federated' /></NavLink> <NavLink className='column-link column-link--transparent' exact to='/public' data-preview-title-id='column.public' data-preview-icon='globe' ><Icon className='column-link__icon' id='globe' fixedWidth /><FormattedMessage id='tabs_bar.federated_timeline' defaultMessage='Federated' /></NavLink>
<NavLink className='column-link column-link--transparent' to='/conversations'><Icon className='column-link__icon' id='envelope' fixedWidth /><FormattedMessage id='navigation_bar.direct' defaultMessage='Direct messages' /></NavLink> <NavLink className='column-link column-link--transparent' to='/conversations'><Icon className='column-link__icon' id='at' fixedWidth /><FormattedMessage id='navigation_bar.direct' defaultMessage='Direct messages' /></NavLink>
<NavLink className='column-link column-link--transparent' to='/favourites'><Icon className='column-link__icon' id='star' fixedWidth /><FormattedMessage id='navigation_bar.favourites' defaultMessage='Favourites' /></NavLink> <NavLink className='column-link column-link--transparent' to='/favourites'><Icon className='column-link__icon' id='star' fixedWidth /><FormattedMessage id='navigation_bar.favourites' defaultMessage='Favourites' /></NavLink>
<NavLink className='column-link column-link--transparent' to='/bookmarks'><Icon className='column-link__icon' id='bookmark' fixedWidth /><FormattedMessage id='navigation_bar.bookmarks' defaultMessage='Bookmarks' /></NavLink> <NavLink className='column-link column-link--transparent' to='/bookmarks'><Icon className='column-link__icon' id='bookmark' fixedWidth /><FormattedMessage id='navigation_bar.bookmarks' defaultMessage='Bookmarks' /></NavLink>
<NavLink className='column-link column-link--transparent' to='/lists'><Icon className='column-link__icon' id='list-ul' fixedWidth /><FormattedMessage id='navigation_bar.lists' defaultMessage='Lists' /></NavLink> <NavLink className='column-link column-link--transparent' to='/lists'><Icon className='column-link__icon' id='list-ul' fixedWidth /><FormattedMessage id='navigation_bar.lists' defaultMessage='Lists' /></NavLink>

View File

@ -14,6 +14,7 @@ import { uploadCompose, resetCompose, changeComposeSpoilerness } from '../../act
import { expandHomeTimeline } from '../../actions/timelines'; import { expandHomeTimeline } from '../../actions/timelines';
import { expandNotifications } from '../../actions/notifications'; import { expandNotifications } from '../../actions/notifications';
import { fetchFilters } from '../../actions/filters'; import { fetchFilters } from '../../actions/filters';
import { fetchRules } from '../../actions/rules';
import { clearHeight } from '../../actions/height_cache'; import { clearHeight } from '../../actions/height_cache';
import { focusApp, unfocusApp, changeLayout } from 'mastodon/actions/app'; import { focusApp, unfocusApp, changeLayout } from 'mastodon/actions/app';
import { synchronouslySubmitMarkers, submitMarkers, fetchMarkers } from 'mastodon/actions/markers'; import { synchronouslySubmitMarkers, submitMarkers, fetchMarkers } from 'mastodon/actions/markers';
@ -368,6 +369,7 @@ class UI extends React.PureComponent {
this.props.dispatch(expandHomeTimeline()); this.props.dispatch(expandHomeTimeline());
this.props.dispatch(expandNotifications()); this.props.dispatch(expandNotifications());
setTimeout(() => this.props.dispatch(fetchFilters()), 500); setTimeout(() => this.props.dispatch(fetchFilters()), 500);
setTimeout(() => this.props.dispatch(fetchRules()), 3000);
this.hotkeys.__mousetrap__.stopCallback = (e, element) => { this.hotkeys.__mousetrap__.stopCallback = (e, element) => {
return ['TEXTAREA', 'SELECT', 'INPUT'].includes(element.tagName); return ['TEXTAREA', 'SELECT', 'INPUT'].includes(element.tagName);

View File

@ -27,5 +27,6 @@ export const showTrends = getMeta('trends');
export const title = getMeta('title'); export const title = getMeta('title');
export const cropImages = getMeta('crop_images'); export const cropImages = getMeta('crop_images');
export const disableSwiping = getMeta('disable_swiping'); export const disableSwiping = getMeta('disable_swiping');
export const languages = initialState && initialState.languages;
export default initialState; export default initialState;

View File

@ -1,112 +1,114 @@
{ {
"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": "Voeg by of verwyder van lyste",
"account.badges.bot": "Bot", "account.badges.bot": "Bot",
"account.badges.group": "Group", "account.badges.group": "Groep",
"account.block": "Block @{name}", "account.block": "Blok @{name}",
"account.block_domain": "Block domain {domain}", "account.block_domain": "Blokeer alles van {domain}",
"account.blocked": "Blocked", "account.blocked": "Geblok",
"account.browse_more_on_origin_server": "Browse more on the original profile", "account.browse_more_on_origin_server": "Snuffel rond op oorspronklike profiel",
"account.cancel_follow_request": "Cancel follow request", "account.cancel_follow_request": "Kanselleer volgversoek",
"account.direct": "Direct message @{name}", "account.direct": "Stuur direkte boodskap aan @{name}",
"account.disable_notifications": "Stop notifying me when @{name} posts", "account.disable_notifications": "Stop notifying me when @{name} posts",
"account.domain_blocked": "Domain blocked", "account.domain_blocked": "Domain blocked",
"account.edit_profile": "Edit profile", "account.edit_profile": "Redigeer profiel",
"account.enable_notifications": "Notify me when @{name} posts", "account.enable_notifications": "Stel my in kennis wanneer @{name} plasings maak",
"account.endorse": "Feature on profile", "account.endorse": "Beklemtoon op profiel",
"account.follow": "Follow", "account.follow": "Volg",
"account.followers": "Followers", "account.followers": "Volgelinge",
"account.followers.empty": "No one follows this user yet.", "account.followers.empty": "Niemand volg tans hierdie gebruiker nie.",
"account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}", "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
"account.following": "Following", "account.following": "Following",
"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": "Die gebruiker volg nie tans iemand nie.",
"account.follows_you": "Follows you", "account.follows_you": "Volg jou",
"account.hide_reblogs": "Hide boosts from @{name}", "account.hide_reblogs": "Versteek hupstoot vanaf @{name}",
"account.joined": "Joined {date}", "account.joined": "{date} aangesluit",
"account.link_verified_on": "Ownership of this link was checked on {date}", "account.link_verified_on": "Eienaarskap van die skakel was getoets op {date}",
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "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": "Mention @{name}", "account.mention": "Noem @{name}",
"account.moved_to": "{name} has moved to:", "account.moved_to": "{name} is geskuif na:",
"account.mute": "Mute @{name}", "account.mute": "Demp @{name}",
"account.mute_notifications": "Mute notifications from @{name}", "account.mute_notifications": "Demp kennisgewings van @{name}",
"account.muted": "Muted", "account.muted": "Gedemp",
"account.posts": "Toots", "account.posts": "Toots",
"account.posts_with_replies": "Toots and replies", "account.posts_with_replies": "Toots and replies",
"account.report": "Report @{name}", "account.report": "Rapporteer @{name}",
"account.requested": "Awaiting approval", "account.requested": "Awaiting approval",
"account.share": "Share @{name}'s profile", "account.share": "Deel @{name} se profiel",
"account.show_reblogs": "Show boosts from @{name}", "account.show_reblogs": "Wys hupstote vanaf @{name}",
"account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}", "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
"account.unblock": "Unblock @{name}", "account.unblock": "Ontblok @{name}",
"account.unblock_domain": "Unblock domain {domain}", "account.unblock_domain": "Ontblok domein {domain}",
"account.unblock_short": "Unblock", "account.unblock_short": "Ontblok",
"account.unendorse": "Don't feature on profile", "account.unendorse": "Moenie beklemtoon op profiel nie",
"account.unfollow": "Unfollow", "account.unfollow": "Ontvolg",
"account.unmute": "Unmute @{name}", "account.unmute": "Ontdemp @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}", "account.unmute_notifications": "Ontdemp kennisgewings vanaf @{name}",
"account.unmute_short": "Unmute", "account.unmute_short": "Ontdemp",
"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",
"admin.dashboard.retention.average": "Average", "admin.dashboard.retention.average": "Gemiddeld",
"admin.dashboard.retention.cohort": "Sign-up month", "admin.dashboard.retention.cohort": "Sign-up month",
"admin.dashboard.retention.cohort_size": "New users", "admin.dashboard.retention.cohort_size": "Nuwe gebruikers",
"alert.rate_limited.message": "Please retry after {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": "Rate limited",
"alert.unexpected.message": "An unexpected error occurred.", "alert.unexpected.message": "An unexpected error occurred.",
"alert.unexpected.title": "Oops!", "alert.unexpected.title": "Oops!",
"announcement.announcement": "Announcement", "announcement.announcement": "Aankondiging",
"attachments_list.unprocessed": "(unprocessed)", "attachments_list.unprocessed": "(unprocessed)",
"autosuggest_hashtag.per_week": "{count} per week", "autosuggest_hashtag.per_week": "{count} per week",
"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.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Something went wrong while loading this component.",
"bundle_column_error.retry": "Try again", "bundle_column_error.retry": "Probeer weer",
"bundle_column_error.title": "Network error", "bundle_column_error.title": "Netwerk fout",
"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": "Iets het verkeerd gegaan terwyl hierdie komponent besig was om te laai.",
"bundle_modal_error.retry": "Try again", "bundle_modal_error.retry": "Probeer weer",
"column.blocks": "Blocked users", "column.blocks": "Blocked users",
"column.bookmarks": "Bookmarks", "column.bookmarks": "Boekmerke",
"column.community": "Local timeline", "column.community": "Plaaslike tydlyn",
"column.direct": "Direct messages", "column.direct": "Direkte boodskappe",
"column.directory": "Browse profiles", "column.directory": "Blaai deur profiele",
"column.domain_blocks": "Blocked domains", "column.domain_blocks": "Geblokte domeine",
"column.favourites": "Favourites", "column.favourites": "Gunstelinge",
"column.follow_requests": "Follow requests", "column.follow_requests": "Volgversoeke",
"column.home": "Home", "column.home": "Tuis",
"column.lists": "Lists", "column.lists": "Lyste",
"column.mutes": "Muted users", "column.mutes": "Gedempte gebruikers",
"column.notifications": "Notifications", "column.notifications": "Kennisgewings",
"column.pins": "Pinned toot", "column.pins": "Pinned toot",
"column.public": "Federated timeline", "column.public": "Gefedereerde tydlyn",
"column_back_button.label": "Back", "column_back_button.label": "Terug",
"column_header.hide_settings": "Hide settings", "column_header.hide_settings": "Versteek instellings",
"column_header.moveLeft_settings": "Move column to the left", "column_header.moveLeft_settings": "Skuif kolom na links",
"column_header.moveRight_settings": "Move column to the right", "column_header.moveRight_settings": "Skuif kolom na regs",
"column_header.pin": "Pin", "column_header.pin": "Pen vas",
"column_header.show_settings": "Show settings", "column_header.show_settings": "Wys instellings",
"column_header.unpin": "Unpin", "column_header.unpin": "Ontpen",
"column_subheading.settings": "Settings", "column_subheading.settings": "Instellings",
"community.column_settings.local_only": "Local only", "community.column_settings.local_only": "Slegs plaaslik",
"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": "Slegs afgeleë",
"compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.", "compose.language.change": "Verander taal",
"compose_form.direct_message_warning_learn_more": "Learn more", "compose.language.search": "Soek tale...",
"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 gevaarlike 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": "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": "gesluit",
"compose_form.placeholder": "What is on your mind?", "compose_form.placeholder": "What is on your mind?",
"compose_form.poll.add_option": "Add a choice", "compose_form.poll.add_option": "Voeg 'n keuse by",
"compose_form.poll.duration": "Poll duration", "compose_form.poll.duration": "Duur van peiling",
"compose_form.poll.option_placeholder": "Choice {number}", "compose_form.poll.option_placeholder": "Keuse {number}",
"compose_form.poll.remove_option": "Remove this choice", "compose_form.poll.remove_option": "Verwyder hierdie keuse",
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices", "compose_form.poll.switch_to_multiple": "Verander die peiling na verskeie keuses",
"compose_form.poll.switch_to_single": "Change poll to allow for a single choice", "compose_form.poll.switch_to_single": "Verander die peiling na 'n enkel keuse",
"compose_form.publish": "Toot", "compose_form.publish": "Toet",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Save changes", "compose_form.save_changes": "Stoor veranderinge",
"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}}",
@ -147,6 +149,7 @@
"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": "Activity",
"emoji_button.clear": "Maak skoon",
"emoji_button.custom": "Custom", "emoji_button.custom": "Custom",
"emoji_button.flags": "Flags", "emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink", "emoji_button.food": "Food & Drink",
@ -166,7 +169,7 @@
"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": "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": "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.",
@ -231,7 +234,7 @@
"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": "Description",
"keyboard_shortcuts.direct": "to open direct messages column", "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",
"keyboard_shortcuts.favourite": "to favourite", "keyboard_shortcuts.favourite": "to favourite",
@ -264,6 +267,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Vertoon profiel in elkgeval",
"limited_account_hint.title": "Hierdie profiel is deur moderators van jou bediener 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",
@ -290,7 +295,7 @@
"navigation_bar.bookmarks": "Bookmarks", "navigation_bar.bookmarks": "Bookmarks",
"navigation_bar.community_timeline": "Local timeline", "navigation_bar.community_timeline": "Local timeline",
"navigation_bar.compose": "Compose new toot", "navigation_bar.compose": "Compose new toot",
"navigation_bar.direct": "Direct messages", "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": "Edit profile",
@ -367,12 +372,12 @@
"poll_button.remove_poll": "Remove poll", "poll_button.remove_poll": "Remove poll",
"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": "Slegs genoemde persone",
"privacy.private.long": "Visible for followers only", "privacy.private.long": "Visible for followers only",
"privacy.private.short": "Followers-only", "privacy.private.short": "Followers-only",
"privacy.public.long": "Visible for all, shown in public timelines", "privacy.public.long": "Visible for all",
"privacy.public.short": "Public", "privacy.public.short": "Public",
"privacy.unlisted.long": "Visible for all, but not in public timelines", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.short": "Unlisted", "privacy.unlisted.short": "Unlisted",
"refresh": "Refresh", "refresh": "Refresh",
"regeneration_indicator.label": "Loading…", "regeneration_indicator.label": "Loading…",

View File

@ -70,17 +70,17 @@
"column.blocks": "المُستَخدِمون المَحظورون", "column.blocks": "المُستَخدِمون المَحظورون",
"column.bookmarks": "الفواصل المرجعية", "column.bookmarks": "الفواصل المرجعية",
"column.community": "الخيط الزمني المحلي", "column.community": "الخيط الزمني المحلي",
"column.direct": "الرسائل المباشرة", "column.direct": "الرسائل المباشِرة",
"column.directory": "تَصَفُّحُ المَلفات الشخصية", "column.directory": "تَصَفُّحُ المَلفات الشخصية",
"column.domain_blocks": "النِّطاقَاتُ المَحظُورَة", "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": "المنشورات المُثَبَّتَة", "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": "نقل العامود إلى اليسار",
@ -92,8 +92,10 @@
"community.column_settings.local_only": "المحلي فقط", "community.column_settings.local_only": "المحلي فقط",
"community.column_settings.media_only": "الوسائط فقط", "community.column_settings.media_only": "الوسائط فقط",
"community.column_settings.remote_only": "عن بُعد فقط", "community.column_settings.remote_only": "عن بُعد فقط",
"compose_form.direct_message_warning": "سوف تُرسَل هذه التَّبويقة فقط للمُستَخدِمين المَذكورين.", "compose.language.change": "تغيير اللغة",
"compose.language.search": "البحث عن لغة…",
"compose_form.direct_message_warning_learn_more": "تَعَلَّم المَزيد", "compose_form.direct_message_warning_learn_more": "تَعَلَّم المَزيد",
"compose_form.encryption_warning": "إنّ المنشورات على ماستدون ليست مشفرة من النهاية إلى النهاية. لا تشارك أي معلومات حساسة عبر ماستدون.",
"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": "مُقفَل",
@ -104,7 +106,7 @@
"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 {الإشارة إلى الوَسط كمُحتوى حسّاس} two{الإشارة إلى الوسطان كمُحتويان حسّاسان} other {الإشارة إلى الوسائط كمُحتويات حسّاسة}}", "compose_form.sensitive.hide": "{count, plural, one {الإشارة إلى الوَسط كمُحتوى حسّاس} two{الإشارة إلى الوسطان كمُحتويان حسّاسان} other {الإشارة إلى الوسائط كمُحتويات حسّاسة}}",
@ -130,7 +132,7 @@
"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": "هل أنت متأكد من أنك تريد حذف هذا المنشور و إعادة صياغته؟ سوف تفقد جميع الإعجابات و الترقيات أما الردود المتصلة به فستُصبِح يتيمة.", "confirmations.redraft.message": "هل أنت متأكد من أنك تريد حذف هذا المنشور و إعادة صياغته؟ سوف تفقد جميع الإعجابات و الترقيات أما الردود المتصلة به فستُصبِح يتيمة.",
"confirmations.reply.confirm": "رد", "confirmations.reply.confirm": "رد",
"confirmations.reply.message": "الرد في الحين سوف يُعيد كتابة الرسالة التي أنت بصدد كتابتها. متأكد من أنك تريد المواصلة؟", "confirmations.reply.message": "الرد في الحين سوف يُعيد كتابة الرسالة التي أنت بصدد كتابتها. متأكد من أنك تريد المواصلة؟",
@ -147,12 +149,13 @@
"embed.instructions": "يمكنكم إدماج هذا المنشور على موقعكم الإلكتروني عن طريق نسخ الشفرة أدناه.", "embed.instructions": "يمكنكم إدماج هذا المنشور على موقعكم الإلكتروني عن طريق نسخ الشفرة أدناه.",
"embed.preview": "هكذا ما سوف يبدو عليه:", "embed.preview": "هكذا ما سوف يبدو عليه:",
"emoji_button.activity": "الأنشطة", "emoji_button.activity": "الأنشطة",
"emoji_button.clear": "امسح",
"emoji_button.custom": "مخصص", "emoji_button.custom": "مخصص",
"emoji_button.flags": "الأعلام", "emoji_button.flags": "الأعلام",
"emoji_button.food": "الطعام والشراب", "emoji_button.food": "الطعام والشراب",
"emoji_button.label": "أدرج إيموجي", "emoji_button.label": "أدرج إيموجي",
"emoji_button.nature": "الطبيعة", "emoji_button.nature": "الطبيعة",
"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": "الشائعة الاستخدام",
@ -168,7 +171,7 @@
"empty_column.community": "الخط العام المحلي فارغ. أكتب شيئا ما للعامة كبداية!", "empty_column.community": "الخط العام المحلي فارغ. أكتب شيئا ما للعامة كبداية!",
"empty_column.direct": "لم تتلق أية رسالة خاصة مباشِرة بعد. سوف يتم عرض الرسائل المباشرة هنا إن قمت بإرسال واحدة أو تلقيت البعض منها.", "empty_column.direct": "لم تتلق أية رسالة خاصة مباشِرة بعد. سوف يتم عرض الرسائل المباشرة هنا إن قمت بإرسال واحدة أو تلقيت البعض منها.",
"empty_column.domain_blocks": "ليس هناك نطاقات مخفية بعد.", "empty_column.domain_blocks": "ليس هناك نطاقات مخفية بعد.",
"empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.explore_statuses": "ليس هناك ما هو متداوَل الآن. عد في وقت لاحق!",
"empty_column.favourited_statuses": "ليس لديك أية منشورات مفضلة بعد. عندما ستقوم بالإعجاب بواحدة، ستظهر هنا.", "empty_column.favourited_statuses": "ليس لديك أية منشورات مفضلة بعد. عندما ستقوم بالإعجاب بواحدة، ستظهر هنا.",
"empty_column.favourites": "لم يقم أي أحد بالإعجاب بهذا المنشور بعد. عندما يقوم أحدهم بذلك سوف يظهر هنا.", "empty_column.favourites": "لم يقم أي أحد بالإعجاب بهذا المنشور بعد. عندما يقوم أحدهم بذلك سوف يظهر هنا.",
"empty_column.follow_recommendations": "يبدو أنه لا يمكن إنشاء أي اقتراحات لك. يمكنك البحث عن أشخاص قد تعرفهم أو استكشاف الوسوم الرائجة.", "empty_column.follow_recommendations": "يبدو أنه لا يمكن إنشاء أي اقتراحات لك. يمكنك البحث عن أشخاص قد تعرفهم أو استكشاف الوسوم الرائجة.",
@ -264,6 +267,8 @@
"lightbox.expand": "توسيع مربع عرض الصور", "lightbox.expand": "توسيع مربع عرض الصور",
"lightbox.next": "التالي", "lightbox.next": "التالي",
"lightbox.previous": "العودة", "lightbox.previous": "العودة",
"limited_account_hint.action": "إظهار الملف التعريفي على أي حال",
"limited_account_hint.title": "أخف مشرف الخادم هذا الملف التعريفي.",
"lists.account.add": "أضف إلى القائمة", "lists.account.add": "أضف إلى القائمة",
"lists.account.remove": "احذف من القائمة", "lists.account.remove": "احذف من القائمة",
"lists.delete": "احذف القائمة", "lists.delete": "احذف القائمة",
@ -278,8 +283,8 @@
"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": "عرض / إخفاء", "media_gallery.toggle_visible": "{number, plural, zero {} one {اخف الصورة} two {اخف الصورتين} few {اخف الصور} many {اخف الصور} other {اخف الصور}}",
"missing_indicator.label": "غير موجود", "missing_indicator.label": "غير موجود",
"missing_indicator.sublabel": "تعذر العثور على هذا المورد", "missing_indicator.sublabel": "تعذر العثور على هذا المورد",
"mute_modal.duration": "المدة", "mute_modal.duration": "المدة",
@ -288,11 +293,11 @@
"navigation_bar.apps": "تطبيقات الأجهزة المحمولة", "navigation_bar.apps": "تطبيقات الأجهزة المحمولة",
"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": "النطاقات المخفية", "navigation_bar.domain_blocks": "النطاقات المحظورة",
"navigation_bar.edit_profile": "عدّل الملف التعريفي", "navigation_bar.edit_profile": "عدّل الملف التعريفي",
"navigation_bar.explore": "استكشف", "navigation_bar.explore": "استكشف",
"navigation_bar.favourites": "المفضلة", "navigation_bar.favourites": "المفضلة",
@ -309,7 +314,7 @@
"navigation_bar.preferences": "التفضيلات", "navigation_bar.preferences": "التفضيلات",
"navigation_bar.public_timeline": "الخيط العام الموحد", "navigation_bar.public_timeline": "الخيط العام الموحد",
"navigation_bar.security": "الأمان", "navigation_bar.security": "الأمان",
"notification.admin.sign_up": "{name} signed up", "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} متابعتك",
@ -318,7 +323,7 @@
"notification.poll": "لقد انتهى استطلاع رأي شاركتَ فيه", "notification.poll": "لقد انتهى استطلاع رأي شاركتَ فيه",
"notification.reblog": "قام {name} بمشاركة منشورك", "notification.reblog": "قام {name} بمشاركة منشورك",
"notification.status": "{name} نشر للتو", "notification.status": "{name} نشر للتو",
"notification.update": "{name} edited a post", "notification.update": "عدّلَ {name} منشورًا",
"notifications.clear": "امسح الإخطارات", "notifications.clear": "امسح الإخطارات",
"notifications.clear_confirmation": "أمتأكد من أنك تود مسح جل الإخطارات الخاصة بك و المتلقاة إلى حد الآن ؟", "notifications.clear_confirmation": "أمتأكد من أنك تود مسح جل الإخطارات الخاصة بك و المتلقاة إلى حد الآن ؟",
"notifications.column_settings.admin.sign_up": "التسجيلات الجديدة:", "notifications.column_settings.admin.sign_up": "التسجيلات الجديدة:",
@ -366,13 +371,13 @@
"poll_button.add_poll": "إضافة استطلاع للرأي", "poll_button.add_poll": "إضافة استطلاع للرأي",
"poll_button.remove_poll": "إزالة استطلاع الرأي", "poll_button.remove_poll": "إزالة استطلاع الرأي",
"privacy.change": "اضبط خصوصية المنشور", "privacy.change": "اضبط خصوصية المنشور",
"privacy.direct.long": "أنشر إلى المستخدمين المشار إليهم فقط", "privacy.direct.long": "مرئي للمستخدمين المذكورين فقط",
"privacy.direct.short": "مباشر", "privacy.direct.short": "الأشخاص المشار إليهم فقط",
"privacy.private.long": "أنشر لمتابعيك فقط", "privacy.private.long": "أنشر لمتابعيك فقط",
"privacy.private.short": متابعيك فقط", "privacy.private.short": لمتابِعين فقط",
"privacy.public.long": "أنشر على الخيوط العامة", "privacy.public.long": "مرئي للكل",
"privacy.public.short": "للعامة", "privacy.public.short": "للعامة",
"privacy.unlisted.long": "لا تقم بإدراجه على الخيوط العامة", "privacy.unlisted.long": "مرئي للجميع، ولكن مِن دون ميزات الاكتشاف",
"privacy.unlisted.short": "غير مدرج", "privacy.unlisted.short": "غير مدرج",
"refresh": "أنعِش", "refresh": "أنعِش",
"regeneration_indicator.label": "جارٍ التحميل…", "regeneration_indicator.label": "جارٍ التحميل…",
@ -394,8 +399,8 @@
"report.categories.other": "أخرى", "report.categories.other": "أخرى",
"report.categories.spam": "مزعج", "report.categories.spam": "مزعج",
"report.categories.violation": "المحتوى ينتهك شرطا أو عدة شروط استخدام للخادم", "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": "ملف تعريفي", "report.category.title_account": "ملف تعريفي",
"report.category.title_status": "منشور", "report.category.title_status": "منشور",
"report.close": "تم", "report.close": "تم",
@ -408,19 +413,19 @@
"report.placeholder": "تعليقات إضافية", "report.placeholder": "تعليقات إضافية",
"report.reasons.dislike": "لايعجبني", "report.reasons.dislike": "لايعجبني",
"report.reasons.dislike_description": "ألا ترغب برؤيته", "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": "إنها رسالة مزعجة", "report.reasons.spam": "إنها رسالة مزعجة",
"report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", "report.reasons.spam_description": "روابط خبيثة أو تفاعل كاذب أو ردود متكررة",
"report.reasons.violation": "ينتهك قواعد الخادم", "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": "ما هي القواعد المنتهكة؟", "report.rules.title": "ما هي القواعد المنتهكة؟",
"report.statuses.subtitle": "Select all that apply", "report.statuses.subtitle": "اختر كل ما ينطبق",
"report.statuses.title": "هل توجد مشاركات تدعم صحة هذا البلاغ؟", "report.statuses.title": "هل توجد مشاركات تدعم صحة هذا البلاغ؟",
"report.submit": "إرسال", "report.submit": "إرسال",
"report.target": "ابلغ عن {target}", "report.target": "ابلغ عن {target}",
"report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", "report.thanks.take_action": "يمكنك هنا التحكم في ما يعرض لك على ماستدون:",
"report.thanks.take_action_actionable": "في أثناء مراجعتنا للبلاغ، يمكنك اتخاذ إجراء ضد @{name}:", "report.thanks.take_action_actionable": "في أثناء مراجعتنا للبلاغ، يمكنك اتخاذ إجراء ضد @{name}:",
"report.thanks.title": "هل ترغب في مشاهدة هذا؟", "report.thanks.title": "هل ترغب في مشاهدة هذا؟",
"report.thanks.title_actionable": "شُكرًا لَكَ على الإبلاغ، سَوفَ نَنظُرُ فِي هَذَا الأمر.", "report.thanks.title_actionable": "شُكرًا لَكَ على الإبلاغ، سَوفَ نَنظُرُ فِي هَذَا الأمر.",
@ -456,8 +461,8 @@
"status.embed": "إدماج", "status.embed": "إدماج",
"status.favourite": "أضف إلى المفضلة", "status.favourite": "أضف إلى المفضلة",
"status.filtered": "مُصفّى", "status.filtered": "مُصفّى",
"status.history.created": "{name} created {date}", "status.history.created": "أنشأه {name} {date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "عدله {name} {date}",
"status.load_more": "حمّل المزيد", "status.load_more": "حمّل المزيد",
"status.media_hidden": "الصورة مستترة", "status.media_hidden": "الصورة مستترة",
"status.mention": "أذكُر @{name}", "status.mention": "أذكُر @{name}",
@ -515,7 +520,7 @@
"upload_error.poll": "لا يمكن إدراج ملفات في استطلاعات الرأي.", "upload_error.poll": "لا يمكن إدراج ملفات في استطلاعات الرأي.",
"upload_form.audio_description": "وصف للأشخاص ذي قِصر السمع", "upload_form.audio_description": "وصف للأشخاص ذي قِصر السمع",
"upload_form.description": "وصف للمعاقين بصريا", "upload_form.description": "وصف للمعاقين بصريا",
"upload_form.description_missing": "No description added", "upload_form.description_missing": "لم يُضف وصف",
"upload_form.edit": "تعديل", "upload_form.edit": "تعديل",
"upload_form.thumbnail": "غيّر الصورة المصغرة", "upload_form.thumbnail": "غيّر الصورة المصغرة",
"upload_form.undo": "حذف", "upload_form.undo": "حذف",

View File

@ -92,9 +92,11 @@
"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",
"community.column_settings.remote_only": "Remote only", "community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Esti barritu namái va unviase a los usuarios mentaos.", "compose.language.change": "Change language",
"compose.language.search": "Search languages...",
"compose_form.direct_message_warning_learn_more": "Saber más", "compose_form.direct_message_warning_learn_more": "Saber más",
"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.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer": "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": "¿En qué pienses?", "compose_form.placeholder": "¿En qué pienses?",
@ -147,6 +149,7 @@
"embed.instructions": "Empotra esti estáu nun sitiu web copiando'l códigu d'embaxo.", "embed.instructions": "Empotra esti estáu nun sitiu web copiando'l códigu d'embaxo.",
"embed.preview": "Asina ye cómo va vese:", "embed.preview": "Asina ye cómo va vese:",
"emoji_button.activity": "Actividaes", "emoji_button.activity": "Actividaes",
"emoji_button.clear": "Clear",
"emoji_button.custom": "Custom", "emoji_button.custom": "Custom",
"emoji_button.flags": "Banderes", "emoji_button.flags": "Banderes",
"emoji_button.food": "Comida y bébora", "emoji_button.food": "Comida y bébora",
@ -166,11 +169,11 @@
"empty_column.blocks": "Entá nun bloquiesti a nengún usuariu.", "empty_column.blocks": "Entá nun bloquiesti a nengún usuariu.",
"empty_column.bookmarked_statuses": "Entá nun tienes nengún barritu en Marcadores. Cuando amiestes unu, va amosase equí.", "empty_column.bookmarked_statuses": "Entá nun tienes nengún barritu en Marcadores. Cuando amiestes unu, va amosase equí.",
"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": "Entá nun tienes nuengún mensaxe direutu. Cuando unvies o recibas dalgún, va apaecer equí.", "empty_column.direct": "Entá nun tienes nengún mensaxe direutu. Cuando unvies o recibas dalgún, apaez equí.",
"empty_column.domain_blocks": "Entá nun hai dominios anubríos.", "empty_column.domain_blocks": "Entá nun hai dominios anubríos.",
"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": "Entá nun tienes nengún barritu en Favoritos. Cuando amiestes unu, va amosase equí.", "empty_column.favourited_statuses": "Entá nun tienes nengún barritu en Favoritos. Cuando amiestes unu, va amosase equí.",
"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 post 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": "Entá nun tienes nenguna solicitú de siguimientu. Cuando recibas una, va amosase equí.", "empty_column.follow_requests": "Entá nun tienes nenguna solicitú de siguimientu. Cuando recibas una, va amosase equí.",
"empty_column.hashtag": "Entá nun hai nada nesta etiqueta.", "empty_column.hashtag": "Entá nun hai nada nesta etiqueta.",
@ -231,7 +234,7 @@
"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": "Enfocar l'área de composición", "keyboard_shortcuts.compose": "Enfocar l'área de composición",
"keyboard_shortcuts.description": "Descripción", "keyboard_shortcuts.description": "Descripción",
"keyboard_shortcuts.direct": "Abrir la columna de los mensaxes direutos", "keyboard_shortcuts.direct": "to open direct messages column",
"keyboard_shortcuts.down": "pa baxar na llista", "keyboard_shortcuts.down": "pa baxar na llista",
"keyboard_shortcuts.enter": "p'abrir estaos", "keyboard_shortcuts.enter": "p'abrir estaos",
"keyboard_shortcuts.favourite": "p'amestar a Favoritos", "keyboard_shortcuts.favourite": "p'amestar a Favoritos",
@ -264,6 +267,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Siguiente", "lightbox.next": "Siguiente",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Amestar a la llista", "lists.account.add": "Amestar a la llista",
"lists.account.remove": "Desaniciar de la llista", "lists.account.remove": "Desaniciar de la llista",
"lists.delete": "Desaniciar la llista", "lists.delete": "Desaniciar la llista",
@ -289,7 +294,7 @@
"navigation_bar.blocks": "Usuarios bloquiaos", "navigation_bar.blocks": "Usuarios bloquiaos",
"navigation_bar.bookmarks": "Marcadores", "navigation_bar.bookmarks": "Marcadores",
"navigation_bar.community_timeline": "Llinia temporal llocal", "navigation_bar.community_timeline": "Llinia temporal llocal",
"navigation_bar.compose": "Compose new toot", "navigation_bar.compose": "Compose new post",
"navigation_bar.direct": "Mensaxes direutos", "navigation_bar.direct": "Mensaxes direutos",
"navigation_bar.discover": "Discover", "navigation_bar.discover": "Discover",
"navigation_bar.domain_blocks": "Dominios anubríos", "navigation_bar.domain_blocks": "Dominios anubríos",
@ -369,10 +374,10 @@
"privacy.direct.long": "Post to mentioned users only", "privacy.direct.long": "Post to mentioned users only",
"privacy.direct.short": "Direct", "privacy.direct.short": "Direct",
"privacy.private.long": "Post to followers only", "privacy.private.long": "Post to followers only",
"privacy.private.short": "Namái siguidores", "privacy.private.short": "Followers-only",
"privacy.public.long": "Visible for all, shown in public timelines", "privacy.public.long": "Visible for all",
"privacy.public.short": "Public", "privacy.public.short": "Public",
"privacy.unlisted.long": "Nun apaez nes llinies temporales públiques", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.short": "Nun llistar", "privacy.unlisted.short": "Nun llistar",
"refresh": "Refresh", "refresh": "Refresh",
"regeneration_indicator.label": "Cargando…", "regeneration_indicator.label": "Cargando…",
@ -404,7 +409,7 @@
"report.forward_hint": "La cuenta ye d'otru sirvidor. ¿Quies unviar ellí tamién una copia anónima del informe?", "report.forward_hint": "La cuenta ye d'otru sirvidor. ¿Quies unviar ellí tamién una copia anónima del informe?",
"report.mute": "Mute", "report.mute": "Mute",
"report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
"report.next": "Next", "report.next": "Siguiente",
"report.placeholder": "Comentarios adicionales", "report.placeholder": "Comentarios adicionales",
"report.reasons.dislike": "I don't like it", "report.reasons.dislike": "I don't like it",
"report.reasons.dislike_description": "It is not something you want to see", "report.reasons.dislike_description": "It is not something you want to see",
@ -412,7 +417,7 @@
"report.reasons.other_description": "The issue does not fit into other categories", "report.reasons.other_description": "The issue does not fit into other categories",
"report.reasons.spam": "It's spam", "report.reasons.spam": "It's spam",
"report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
"report.reasons.violation": "It violates server rules", "report.reasons.violation": "Incumple les regles del sirvidor",
"report.reasons.violation_description": "You are aware that it breaks specific rules", "report.reasons.violation_description": "You are aware that it breaks specific rules",
"report.rules.subtitle": "Select all that apply", "report.rules.subtitle": "Select all that apply",
"report.rules.title": "Which rules are being violated?", "report.rules.title": "Which rules are being violated?",
@ -420,7 +425,7 @@
"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": "Unviar", "report.submit": "Unviar",
"report.target": "Report {target}", "report.target": "Report {target}",
"report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", "report.thanks.take_action": "Equí tan les opciones pa controlar qué ver en 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.",
@ -502,7 +507,7 @@
"timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.", "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.",
"timeline_hint.resources.followers": "Followers", "timeline_hint.resources.followers": "Followers",
"timeline_hint.resources.follows": "Follows", "timeline_hint.resources.follows": "Follows",
"timeline_hint.resources.statuses": "Older toots", "timeline_hint.resources.statuses": "Older posts",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking",
"trends.trending_now": "Trending now", "trends.trending_now": "Trending now",
"ui.beforeunload": "El borrador va perdese si coles de Mastodon.", "ui.beforeunload": "El borrador va perdese si coles de Mastodon.",

View File

@ -70,7 +70,7 @@
"column.blocks": "Блокирани потребители", "column.blocks": "Блокирани потребители",
"column.bookmarks": "Отметки", "column.bookmarks": "Отметки",
"column.community": "Локална емисия", "column.community": "Локална емисия",
"column.direct": "Директни съобщения", "column.direct": "Direct messages",
"column.directory": "Преглед на профили", "column.directory": "Преглед на профили",
"column.domain_blocks": "Hidden domains", "column.domain_blocks": "Hidden domains",
"column.favourites": "Любими", "column.favourites": "Любими",
@ -92,8 +92,10 @@
"community.column_settings.local_only": "Само локално", "community.column_settings.local_only": "Само локално",
"community.column_settings.media_only": "Media only", "community.column_settings.media_only": "Media only",
"community.column_settings.remote_only": "Само дистанционно", "community.column_settings.remote_only": "Само дистанционно",
"compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.", "compose.language.change": "Change language",
"compose.language.search": "Search languages...",
"compose_form.direct_message_warning_learn_more": "Още информация", "compose_form.direct_message_warning_learn_more": "Още информация",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
"compose_form.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": "заключено",
@ -147,6 +149,7 @@
"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": "Ето как ще изглежда:", "embed.preview": "Ето как ще изглежда:",
"emoji_button.activity": "Дейност", "emoji_button.activity": "Дейност",
"emoji_button.clear": "Clear",
"emoji_button.custom": "Персонализирано", "emoji_button.custom": "Персонализирано",
"emoji_button.flags": "Знамена", "emoji_button.flags": "Знамена",
"emoji_button.food": "Храна и напитки", "emoji_button.food": "Храна и напитки",
@ -166,7 +169,7 @@
"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": "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 hidden domains yet.", "empty_column.domain_blocks": "There are no hidden 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": "Все още нямате любими публикации. Когато поставите някоя в любими, тя ще се покаже тук.", "empty_column.favourited_statuses": "Все още нямате любими публикации. Когато поставите някоя в любими, тя ще се покаже тук.",
@ -231,7 +234,7 @@
"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": "за фокусиране на текстовото пространство за композиране", "keyboard_shortcuts.compose": "за фокусиране на текстовото пространство за композиране",
"keyboard_shortcuts.description": "Описание", "keyboard_shortcuts.description": "Описание",
"keyboard_shortcuts.direct": "за отваряне на колона за директни съобщения", "keyboard_shortcuts.direct": "to open direct messages column",
"keyboard_shortcuts.down": "за придвижване надолу в списъка", "keyboard_shortcuts.down": "за придвижване надолу в списъка",
"keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "за поставяне в любими", "keyboard_shortcuts.favourite": "за поставяне в любими",
@ -264,6 +267,8 @@
"lightbox.expand": "Разгъване на полето за преглед на изображение", "lightbox.expand": "Разгъване на полето за преглед на изображение",
"lightbox.next": "Напред", "lightbox.next": "Напред",
"lightbox.previous": "Назад", "lightbox.previous": "Назад",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Добавяне към списък", "lists.account.add": "Добавяне към списък",
"lists.account.remove": "Премахване от списък", "lists.account.remove": "Премахване от списък",
"lists.delete": "Изтриване на списък", "lists.delete": "Изтриване на списък",
@ -290,7 +295,7 @@
"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": "Direct messages",
"navigation_bar.discover": "Откриване", "navigation_bar.discover": "Откриване",
"navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.domain_blocks": "Hidden domains",
"navigation_bar.edit_profile": "Редактирай профил", "navigation_bar.edit_profile": "Редактирай профил",
@ -367,12 +372,12 @@
"poll_button.remove_poll": "Премахване на анкета", "poll_button.remove_poll": "Премахване на анкета",
"privacy.change": "Adjust status privacy", "privacy.change": "Adjust status privacy",
"privacy.direct.long": "Post to mentioned users only", "privacy.direct.long": "Post to mentioned users only",
"privacy.direct.short": "Директно", "privacy.direct.short": "Direct",
"privacy.private.long": "Post to followers only", "privacy.private.long": "Post to followers only",
"privacy.private.short": "Само за последователи", "privacy.private.short": "Followers-only",
"privacy.public.long": "Post to public timelines", "privacy.public.long": "Visible for all",
"privacy.public.short": "Публично", "privacy.public.short": "Публично",
"privacy.unlisted.long": "Do not show in public timelines", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.short": "Скрито", "privacy.unlisted.short": "Скрито",
"refresh": "Опресняване", "refresh": "Опресняване",
"regeneration_indicator.label": "Зареждане…", "regeneration_indicator.label": "Зареждане…",

View File

@ -70,7 +70,7 @@
"column.blocks": "যাদের ব্লক করা হয়েছে", "column.blocks": "যাদের ব্লক করা হয়েছে",
"column.bookmarks": "বুকমার্ক", "column.bookmarks": "বুকমার্ক",
"column.community": "স্থানীয় সময়সারি", "column.community": "স্থানীয় সময়সারি",
"column.direct": "সরাসরি লেখা", "column.direct": "Direct messages",
"column.directory": "প্রোফাইল ব্রাউজ করুন", "column.directory": "প্রোফাইল ব্রাউজ করুন",
"column.domain_blocks": "লুকোনো ডোমেনগুলি", "column.domain_blocks": "লুকোনো ডোমেনগুলি",
"column.favourites": "পছন্দের গুলো", "column.favourites": "পছন্দের গুলো",
@ -92,8 +92,10 @@
"community.column_settings.local_only": "শুধুমাত্র স্থানীয়", "community.column_settings.local_only": "শুধুমাত্র স্থানীয়",
"community.column_settings.media_only": "শুধুমাত্র ছবি বা ভিডিও", "community.column_settings.media_only": "শুধুমাত্র ছবি বা ভিডিও",
"community.column_settings.remote_only": "শুধুমাত্র দূরবর্তী", "community.column_settings.remote_only": "শুধুমাত্র দূরবর্তী",
"compose_form.direct_message_warning": "শুধুমাত্র যাদেরকে উল্লেখ করা হয়েছে তাদেরকেই এই টুটটি পাঠানো হবে ।", "compose.language.change": "Change language",
"compose.language.search": "Search languages...",
"compose_form.direct_message_warning_learn_more": "আরো জানুন", "compose_form.direct_message_warning_learn_more": "আরো জানুন",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
"compose_form.hashtag_warning": "কোনো হ্যাশট্যাগের ভেতরে এই টুটটি থাকবেনা কারণ এটি তালিকাবহির্ভূত। শুধুমাত্র প্রকাশ্য ঠোটগুলো হ্যাশট্যাগের ভেতরে খুঁজে পাওয়া যাবে।", "compose_form.hashtag_warning": "কোনো হ্যাশট্যাগের ভেতরে এই টুটটি থাকবেনা কারণ এটি তালিকাবহির্ভূত। শুধুমাত্র প্রকাশ্য ঠোটগুলো হ্যাশট্যাগের ভেতরে খুঁজে পাওয়া যাবে।",
"compose_form.lock_disclaimer": "আপনার নিবন্ধনে তালা দেওয়া নেই, যে কেও আপনাকে অনুসরণ করতে পারবে এবং অনুশারকদের জন্য লেখা দেখতে পারবে।", "compose_form.lock_disclaimer": "আপনার নিবন্ধনে তালা দেওয়া নেই, যে কেও আপনাকে অনুসরণ করতে পারবে এবং অনুশারকদের জন্য লেখা দেখতে পারবে।",
"compose_form.lock_disclaimer.lock": "তালা দেওয়া", "compose_form.lock_disclaimer.lock": "তালা দেওয়া",
@ -147,6 +149,7 @@
"embed.instructions": "এই লেখাটি আপনার ওয়েবসাইটে যুক্ত করতে নিচের কোডটি বেবহার করুন।", "embed.instructions": "এই লেখাটি আপনার ওয়েবসাইটে যুক্ত করতে নিচের কোডটি বেবহার করুন।",
"embed.preview": "সেটা দেখতে এরকম হবে:", "embed.preview": "সেটা দেখতে এরকম হবে:",
"emoji_button.activity": "কার্যকলাপ", "emoji_button.activity": "কার্যকলাপ",
"emoji_button.clear": "Clear",
"emoji_button.custom": "প্রথা", "emoji_button.custom": "প্রথা",
"emoji_button.flags": "পতাকা", "emoji_button.flags": "পতাকা",
"emoji_button.food": "খাদ্য ও পানীয়", "emoji_button.food": "খাদ্য ও পানীয়",
@ -166,7 +169,7 @@
"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": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
"empty_column.domain_blocks": "এখনও কোনও লুকানো ডোমেন নেই।", "empty_column.domain_blocks": "এখনও কোনও লুকানো ডোমেন নেই।",
"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": "আপনার পছন্দের কোনো টুট এখনো নেই। আপনি কোনো লেখা পছন্দের হিসেবে চিহ্নিত করলে এখানে পাওয়া যাবে।", "empty_column.favourited_statuses": "আপনার পছন্দের কোনো টুট এখনো নেই। আপনি কোনো লেখা পছন্দের হিসেবে চিহ্নিত করলে এখানে পাওয়া যাবে।",
@ -231,7 +234,7 @@
"keyboard_shortcuts.column": "কোনো কলামএ কোনো লেখা ফোকাস করতে", "keyboard_shortcuts.column": "কোনো কলামএ কোনো লেখা ফোকাস করতে",
"keyboard_shortcuts.compose": "লেখা সম্পদনার জায়গায় ফোকাস করতে", "keyboard_shortcuts.compose": "লেখা সম্পদনার জায়গায় ফোকাস করতে",
"keyboard_shortcuts.description": "বিবরণ", "keyboard_shortcuts.description": "বিবরণ",
"keyboard_shortcuts.direct": "সরাসরি পাঠানো লেখা দেখতে", "keyboard_shortcuts.direct": "to open direct messages column",
"keyboard_shortcuts.down": "তালিকার ভেতরে নিচে যেতে", "keyboard_shortcuts.down": "তালিকার ভেতরে নিচে যেতে",
"keyboard_shortcuts.enter": "অবস্থা দেখতে", "keyboard_shortcuts.enter": "অবস্থা দেখতে",
"keyboard_shortcuts.favourite": "পছন্দের দেখতে", "keyboard_shortcuts.favourite": "পছন্দের দেখতে",
@ -264,6 +267,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "পরবর্তী", "lightbox.next": "পরবর্তী",
"lightbox.previous": "পূর্ববর্তী", "lightbox.previous": "পূর্ববর্তী",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "তালিকাতে যুক্ত করতে", "lists.account.add": "তালিকাতে যুক্ত করতে",
"lists.account.remove": "তালিকা থেকে বাদ দিতে", "lists.account.remove": "তালিকা থেকে বাদ দিতে",
"lists.delete": "তালিকা মুছে ফেলতে", "lists.delete": "তালিকা মুছে ফেলতে",
@ -290,7 +295,7 @@
"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": "Direct messages",
"navigation_bar.discover": "ঘুরে দেখুন", "navigation_bar.discover": "ঘুরে দেখুন",
"navigation_bar.domain_blocks": "লুকানো ডোমেনগুলি", "navigation_bar.domain_blocks": "লুকানো ডোমেনগুলি",
"navigation_bar.edit_profile": "নিজের পাতা সম্পাদনা করতে", "navigation_bar.edit_profile": "নিজের পাতা সম্পাদনা করতে",
@ -367,12 +372,12 @@
"poll_button.remove_poll": "নির্বাচন বাদ দিতে", "poll_button.remove_poll": "নির্বাচন বাদ দিতে",
"privacy.change": "লেখার গোপনীয়তা অবস্থা ঠিক করতে", "privacy.change": "লেখার গোপনীয়তা অবস্থা ঠিক করতে",
"privacy.direct.long": "শুধুমাত্র উল্লেখিত ব্যবহারকারীদের কাছে লিখতে", "privacy.direct.long": "শুধুমাত্র উল্লেখিত ব্যবহারকারীদের কাছে লিখতে",
"privacy.direct.short": "সরাসরি", "privacy.direct.short": "Direct",
"privacy.private.long": "শুধুমাত্র আপনার অনুসরণকারীদের লিখতে", "privacy.private.long": "শুধুমাত্র আপনার অনুসরণকারীদের লিখতে",
"privacy.private.short": "শুধুমাত্র অনুসরণকারীদের জন্য", "privacy.private.short": "Followers-only",
"privacy.public.long": "সর্বজনীন প্রকাশ্য সময়রেখাতে লিখতে", "privacy.public.long": "Visible for all",
"privacy.public.short": "সর্বজনীন প্রকাশ্য", "privacy.public.short": "সর্বজনীন প্রকাশ্য",
"privacy.unlisted.long": "সর্বজনীন প্রকাশ্য সময়রেখাতে না দেখাতে", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.short": "প্রকাশ্য নয়", "privacy.unlisted.short": "প্রকাশ্য নয়",
"refresh": "সতেজ করা", "refresh": "সতেজ করা",
"regeneration_indicator.label": "আসছে…", "regeneration_indicator.label": "আসছে…",

View File

@ -70,7 +70,7 @@
"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": "Kemennadoù prevez", "column.direct": "Direct messages",
"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",
@ -92,8 +92,10 @@
"community.column_settings.local_only": "Nemet lec'hel", "community.column_settings.local_only": "Nemet lec'hel",
"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_form.direct_message_warning": "An toud-mañ a vo kaset nemet d'an implijer·ezed·ien meneget.", "compose.language.change": "Change language",
"compose.language.search": "Search languages...",
"compose_form.direct_message_warning_learn_more": "Gouzout hiroc'h", "compose_form.direct_message_warning_learn_more": "Gouzout hiroc'h",
"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": "Ne vo ket lakaet an toud-mañ er rolloù gerioù-klik dre mard eo anlistennet. N'eus nemet an toudoù foran a c'hall bezañ klasket dre c'her-klik.", "compose_form.hashtag_warning": "Ne vo ket lakaet an toud-mañ er rolloù gerioù-klik dre mard eo anlistennet. N'eus nemet an toudoù 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 heuliañ ac'hanoc'h evit gwelout ho toudoù prevez.", "compose_form.lock_disclaimer": "N'eo ket {locked} ho kont. An holl a c'hal heuliañ ac'hanoc'h evit gwelout ho toudoù prevez.",
"compose_form.lock_disclaimer.lock": "prennet", "compose_form.lock_disclaimer.lock": "prennet",
@ -147,6 +149,7 @@
"embed.instructions": "Enkorfit ar statud war ho lec'hienn en ur eilañ ar c'hod dindan.", "embed.instructions": "Enkorfit ar statud war ho lec'hienn en ur eilañ ar c'hod dindan.",
"embed.preview": "Setu penaos e vo diskouezet:", "embed.preview": "Setu penaos e vo diskouezet:",
"emoji_button.activity": "Obererezh", "emoji_button.activity": "Obererezh",
"emoji_button.clear": "Clear",
"emoji_button.custom": "Kempennet", "emoji_button.custom": "Kempennet",
"emoji_button.flags": "Bannieloù", "emoji_button.flags": "Bannieloù",
"emoji_button.food": "Boued hag Evaj", "emoji_button.food": "Boued hag Evaj",
@ -166,7 +169,7 @@
"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 toud ebet enrollet en ho sinedoù c'hoazh. Pa vo ouzhpennet unan ganeoc'h e teuio war wel amañ.", "empty_column.bookmarked_statuses": "N'ho peus toud ebet enrollet en ho sinedoù c'hoazh. Pa vo ouzhpennet unan ganeoc'h 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": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
"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 toud muiañ-karet ebet c'hoazh. Pa vo lakaet unan ganeoc'h e vo diskouezet amañ.", "empty_column.favourited_statuses": "N'ho peus toud muiañ-karet ebet c'hoazh. Pa vo lakaet unan ganeoc'h e vo diskouezet amañ.",
@ -231,7 +234,7 @@
"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": "Digeriñ bann ar c'hemennadennoù prevez", "keyboard_shortcuts.direct": "to open direct messages column",
"keyboard_shortcuts.down": "Diskennañ er roll", "keyboard_shortcuts.down": "Diskennañ er roll",
"keyboard_shortcuts.enter": "evit digeriñ un toud", "keyboard_shortcuts.enter": "evit digeriñ un toud",
"keyboard_shortcuts.favourite": "Lakaat an toud evel muiañ-karet", "keyboard_shortcuts.favourite": "Lakaat an toud evel muiañ-karet",
@ -264,6 +267,8 @@
"lightbox.expand": "Ledanaat boest hewel ar skeudenn", "lightbox.expand": "Ledanaat boest hewel ar skeudenn",
"lightbox.next": "Da-heul", "lightbox.next": "Da-heul",
"lightbox.previous": "A-raok", "lightbox.previous": "A-raok",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Ouzhpennañ d'al listenn", "lists.account.add": "Ouzhpennañ d'al listenn",
"lists.account.remove": "Lemel kuit eus al listenn", "lists.account.remove": "Lemel kuit eus al listenn",
"lists.delete": "Dilemel al listenn", "lists.delete": "Dilemel al listenn",
@ -290,7 +295,7 @@
"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ñ un toud nevez", "navigation_bar.compose": "Skrivañ un toud nevez",
"navigation_bar.direct": "Kemennadoù prevez", "navigation_bar.direct": "Direct messages",
"navigation_bar.discover": "Dizoleiñ", "navigation_bar.discover": "Dizoleiñ",
"navigation_bar.domain_blocks": "Domanioù kuzhet", "navigation_bar.domain_blocks": "Domanioù kuzhet",
"navigation_bar.edit_profile": "Aozañ ar profil", "navigation_bar.edit_profile": "Aozañ ar profil",
@ -367,12 +372,12 @@
"poll_button.remove_poll": "Dilemel ar sontadeg", "poll_button.remove_poll": "Dilemel ar sontadeg",
"privacy.change": "Kemmañ gwelidigezh ar statud", "privacy.change": "Kemmañ gwelidigezh ar statud",
"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": "War-eeun", "privacy.direct.short": "Direct",
"privacy.private.long": "Embann evit ar re a heuilh ac'hanon hepken", "privacy.private.long": "Embann evit ar re a heuilh ac'hanon hepken",
"privacy.private.short": "Ar re a heuilh ac'hanon hepken", "privacy.private.short": "Followers-only",
"privacy.public.long": "Embann war ar redoù-amzer foran", "privacy.public.long": "Visible for all",
"privacy.public.short": "Publik", "privacy.public.short": "Publik",
"privacy.unlisted.long": "Na embann war ar redoù-amzer foran", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.short": "Anlistennet", "privacy.unlisted.short": "Anlistennet",
"refresh": "Freskaat", "refresh": "Freskaat",
"regeneration_indicator.label": "O kargañ…", "regeneration_indicator.label": "O kargañ…",

View File

@ -1,77 +1,77 @@
{ {
"account.account_note_header": "Nota", "account.account_note_header": "Nota",
"account.add_or_remove_from_list": "Afegir o Treure de les llistes", "account.add_or_remove_from_list": "Afegeix o elimina de les llistes",
"account.badges.bot": "Bot", "account.badges.bot": "Bot",
"account.badges.group": "Grup", "account.badges.group": "Grup",
"account.block": "Bloqueja @{name}", "account.block": "Bloqueja @{name}",
"account.block_domain": "Amaga-ho tot de {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": "Anul·la la sol·licitud de seguiment", "account.cancel_follow_request": "Anul·la la sol·licitud de seguiment",
"account.direct": "Missatge directe @{name}", "account.direct": "Envia missatge directe a @{name}",
"account.disable_notifications": "Deixa de notificar-me les publicacions de @{name}", "account.disable_notifications": "No em notifiquis les publicacions de @{name}",
"account.domain_blocked": "Domini bloquejat", "account.domain_blocked": "Domini bloquejat",
"account.edit_profile": "Edita el perfil", "account.edit_profile": "Edita el perfil",
"account.enable_notifications": "Notificam les publicacions de @{name}", "account.enable_notifications": "Notificam les publicacions de @{name}",
"account.endorse": "Recomana en el teu perfil", "account.endorse": "Recomana en el teu perfil",
"account.follow": "Segueix", "account.follow": "Segueix",
"account.followers": "Seguidors", "account.followers": "Seguidors",
"account.followers.empty": "Encara ningú no segueix aquest usuari.", "account.followers.empty": "Ningú segueix aquest usuari encara.",
"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 a ningú.", "account.follows.empty": "Aquest usuari encara no segueix ningú.",
"account.follows_you": "Et segueix", "account.follows_you": "Et segueix",
"account.hide_reblogs": "Amaga els impulsos de @{name}", "account.hide_reblogs": "Amaga els impulsos de @{name}",
"account.joined": "Unit des de {date}", "account.joined": "Membre des de {date}",
"account.link_verified_on": "La propietat d'aquest enllaç es va verificar el dia {date}", "account.link_verified_on": "La propietat d'aquest enllaç es va verificar el dia {date}",
"account.locked_info": "Aquest estat de privadesa del compte està definit com a bloquejat. El propietari revisa manualment qui pot seguir-lo.", "account.locked_info": "Aquest estat de privadesa del compte està definit com a bloquejat. El propietari revisa manualment qui pot seguir-lo.",
"account.media": "Mèdia", "account.media": "Multimèdia",
"account.mention": "Esmenta @{name}", "account.mention": "Menciona @{name}",
"account.moved_to": "{name} s'ha mogut a:", "account.moved_to": "{name} s'ha traslladat a:",
"account.mute": "Silencia @{name}", "account.mute": "Silencia @{name}",
"account.mute_notifications": "Notificacions silenciades de @{name}", "account.mute_notifications": "Silencia les notificacions de @{name}",
"account.muted": "Silenciat", "account.muted": "Silenciat",
"account.posts": "Publicacions", "account.posts": "Publicacions",
"account.posts_with_replies": "Publicacions i respostes", "account.posts_with_replies": "Publicacions i respostes",
"account.report": "Informar sobre @{name}", "account.report": "Informa sobre @{name}",
"account.requested": "Esperant aprovació. Clic per a cancel·lar la petició de seguiment", "account.requested": "Esperant aprovació. Fes clic per 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} Tut} other {{counter} Tuts}}", "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": "Desbloqueja", "account.unblock_short": "Desbloquejar",
"account.unendorse": "No recomanar en el perfil", "account.unendorse": "No recomanar en el perfil",
"account.unfollow": "Deixa de seguir", "account.unfollow": "Deixar de seguir",
"account.unmute": "Treure silenci de @{name}", "account.unmute": "Deixar de silenciar @{name}",
"account.unmute_notifications": "Activar notificacions de @{name}", "account.unmute_notifications": "Activar notificacions de @{name}",
"account.unmute_short": "Deixa de silenciar", "account.unmute_short": "Deixa de silenciar",
"account_note.placeholder": "Fes clic per afegir una nota", "account_note.placeholder": "Fes clic per afegir una nota",
"admin.dashboard.daily_retention": "Ràtio de retenció 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ó 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": "Registres mes", "admin.dashboard.retention.cohort": "Mes del registre",
"admin.dashboard.retention.cohort_size": "Nous usuaris", "admin.dashboard.retention.cohort_size": "Nous usuaris",
"alert.rate_limited.message": "Si us plau prova-ho 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.",
"alert.unexpected.title": "Vaja!", "alert.unexpected.title": "Vaja!",
"announcement.announcement": "Anunci", "announcement.announcement": "Anunci",
"attachments_list.unprocessed": "(sense processar)", "attachments_list.unprocessed": "(sense processar)",
"autosuggest_hashtag.per_week": "{count} per setmana", "autosuggest_hashtag.per_week": "{count} per setmana",
"boost_modal.combo": "Pots prémer {combo} per saltar-te això el proper cop", "boost_modal.combo": "Pots prémer {combo} per evitar-ho el pròxim cop",
"bundle_column_error.body": "S'ha produït un error en carregar aquest component.", "bundle_column_error.body": "S'ha produït un error en carregar aquest component.",
"bundle_column_error.retry": "Torna-ho a provar", "bundle_column_error.retry": "Tornar-ho a provar",
"bundle_column_error.title": "Error de connexió", "bundle_column_error.title": "Error de connexió",
"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": "Torna-ho a provar", "bundle_modal_error.retry": "Tornar-ho a provar",
"column.blocks": "Usuaris bloquejats", "column.blocks": "Usuaris bloquejats",
"column.bookmarks": "Marcadors", "column.bookmarks": "Marcadors",
"column.community": "Línia de temps local", "column.community": "Línia de temps local",
"column.direct": "Missatges directes", "column.direct": "Missatges directes",
"column.directory": "Navega els perfils", "column.directory": "Navegar pels perfils",
"column.domain_blocks": "Dominis bloquejats", "column.domain_blocks": "Dominis bloquejats",
"column.favourites": "Favorits", "column.favourites": "Favorits",
"column.follow_requests": "Peticions per a seguir-te", "column.follow_requests": "Peticions per a seguir-te",
@ -92,61 +92,64 @@
"community.column_settings.local_only": "Només local", "community.column_settings.local_only": "Només local",
"community.column_settings.media_only": "Només multimèdia", "community.column_settings.media_only": "Només multimèdia",
"community.column_settings.remote_only": "Només remot", "community.column_settings.remote_only": "Només remot",
"compose_form.direct_message_warning": "Aquesta publicació només serà enviat als usuaris esmentats.", "compose.language.change": "Canvia d'idioma",
"compose_form.direct_message_warning_learn_more": "Aprèn més", "compose.language.search": "Cerca idiomes...",
"compose_form.hashtag_warning": "Aquesta publicació no es mostrarà en cap etiqueta ja que no està llistada. Només les publicacions públiques poden ser cercades per etiqueta.", "compose_form.direct_message_warning_learn_more": "Més informació",
"compose_form.lock_disclaimer": "El teu compte no està bloquejat {locked}. Tothom pot seguir-te i veure els teus missatges només a seguidors.", "compose_form.encryption_warning": "Les publicacions a Mastodon no estant xifrades punt a punt. No comparteixis informació perillosa mitjançant Mastodon.",
"compose_form.hashtag_warning": "Aquesta publicació no es mostrarà en cap etiqueta, ja que no està llistada. Només les publicacions públiques es poden cercar per etiqueta.",
"compose_form.lock_disclaimer": "El teu compte no està {locked}. Tothom pot seguir-te i veure les publicacions de només per a seguidors.",
"compose_form.lock_disclaimer.lock": "bloquejat", "compose_form.lock_disclaimer.lock": "bloquejat",
"compose_form.placeholder": "En què penses?", "compose_form.placeholder": "Què et passa pel cap?",
"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}",
"compose_form.poll.remove_option": "Elimina aquesta opció", "compose_form.poll.remove_option": "Elimina aquesta opció",
"compose_form.poll.switch_to_multiple": "Canvia lenquesta per a permetre diverses opcions", "compose_form.poll.switch_to_multiple": "Canvia lenquesta per a permetre diverses opcions",
"compose_form.poll.switch_to_single": "Canvia lenquesta per a permetre una única opció", "compose_form.poll.switch_to_single": "Canvia lenquesta per permetre una única opció",
"compose_form.publish": "Publicar", "compose_form.publish": "Publicar",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Desa els canvis", "compose_form.save_changes": "Desa els canvis",
"compose_form.sensitive.hide": "{count, plural, one {Marca mèdia com a sensible} other {Marca mèdia com a sensible}}", "compose_form.sensitive.hide": "{count, plural, one {Marca contingut com a sensible} other {Marca contingut com a sensible}}",
"compose_form.sensitive.marked": "{count, plural, one {Mèdia està marcat com a sensible} other {Mèdia estan marcats com a sensible}}", "compose_form.sensitive.marked": "{count, plural, one {Contingut marcat com a sensible} other {Contingut marcat com a sensible}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Mèdia no està marcada com a sensible} other {Mèdia no estan marcats com a sensibles}}", "compose_form.sensitive.unmarked": "{count, plural, one {Contingut no marcat com a sensible} other {Contingut no marcat com a sensible}}",
"compose_form.spoiler.marked": "Treu l'avís de contingut", "compose_form.spoiler.marked": "Elimina l'avís de contingut",
"compose_form.spoiler.unmarked": "Afegeix avís de contingut", "compose_form.spoiler.unmarked": "Afegeix avís de contingut",
"compose_form.spoiler_placeholder": "Escriu l'avís aquí", "compose_form.spoiler_placeholder": "Escriu l'avís aquí",
"confirmation_modal.cancel": "Cancel·la", "confirmation_modal.cancel": "Cancel·la",
"confirmations.block.block_and_report": "Bloqueja i informa", "confirmations.block.block_and_report": "Bloqueja i informa",
"confirmations.block.confirm": "Bloqueja", "confirmations.block.confirm": "Bloqueja",
"confirmations.block.message": "Estàs segur que vols bloquejar a {name}?", "confirmations.block.message": "Segur que vols bloquejar a {name}?",
"confirmations.delete.confirm": "Suprimeix", "confirmations.delete.confirm": "Suprimeix",
"confirmations.delete.message": "Estàs segur que vols suprimir aquesta publicació?", "confirmations.delete.message": "Segur que vols eliminar la publicació?",
"confirmations.delete_list.confirm": "Suprimeix", "confirmations.delete_list.confirm": "Suprimeix",
"confirmations.delete_list.message": "Estàs segur que vols suprimir permanentment aquesta llista?", "confirmations.delete_list.message": "Segur que vols suprimir permanentment aquesta llista?",
"confirmations.discard_edit_media.confirm": "Descarta", "confirmations.discard_edit_media.confirm": "Descarta",
"confirmations.discard_edit_media.message": "Tens canvis no desats de la descripciò de mèdia o previsualització, els vols descartar?", "confirmations.discard_edit_media.message": "Tens canvis no desats en la descripció del contingut o en la previsualització, els vols descartar?",
"confirmations.domain_block.confirm": "Bloqueja el domini sencer", "confirmations.domain_block.confirm": "Bloqueja el domini sencer",
"confirmations.domain_block.message": "Estàs segur, realment segur que vols bloquejar totalment {domain}? En la majoria dels casos bloquejar o silenciar uns pocs objectius és suficient i preferible. No veuràs contingut daquest domini en cap de les línies de temps ni en les notificacions. Els teus seguidors daquest domini seran eliminats.", "confirmations.domain_block.message": "N'estàs segur del tot que vols bloquejar totalment {domain}? En la majoria dels casos, bloquejar o silenciar uns pocs objectius és suficient i preferible. No veuràs el contingut daquest domini en cap de les línies de temps ni en les notificacions. Els teus seguidors daquest domini s'elimiran.",
"confirmations.logout.confirm": "Tancar sessió", "confirmations.logout.confirm": "Tancar sessió",
"confirmations.logout.message": "Segur que vols tancar la sessió?", "confirmations.logout.message": "Segur que vols tancar la sessió?",
"confirmations.mute.confirm": "Silencia", "confirmations.mute.confirm": "Silencia",
"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": "Estàs segur que vols silenciar {name}?", "confirmations.mute.message": "Segur que vols silenciar {name}?",
"confirmations.redraft.confirm": "Esborrar i refer", "confirmations.redraft.confirm": "Esborra'l i reescriure-lo",
"confirmations.redraft.message": "Estàs segur que vols esborrar aquesta publicació i tornar a redactar-la? Perdràs tots els impulsos i favorits, i les respostes a la publicació original es quedaran orfes.", "confirmations.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.reply.confirm": "Respon", "confirmations.reply.confirm": "Respon",
"confirmations.reply.message": "Responen ara es sobreescriurà el missatge que estàs editant. Estàs 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",
"confirmations.unfollow.message": "Estàs segur que vols deixar de seguir {name}?", "confirmations.unfollow.message": "Segur que vols deixar de seguir {name}?",
"conversation.delete": "Elimina la conversa", "conversation.delete": "Elimina la conversa",
"conversation.mark_as_read": "Marca com a llegida", "conversation.mark_as_read": "Marca com a llegida",
"conversation.open": "Veure conversa", "conversation.open": "Mostra la conversa",
"conversation.with": "Amb {names}", "conversation.with": "Amb {names}",
"directory.federated": "Del fedivers conegut", "directory.federated": "Del fedivers conegut",
"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",
"embed.instructions": "Incrusta aquest tut al lloc web copiant el codi a continuació.", "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",
"emoji_button.clear": "Neteja",
"emoji_button.custom": "Personalitzat", "emoji_button.custom": "Personalitzat",
"emoji_button.flags": "Banderes", "emoji_button.flags": "Banderes",
"emoji_button.food": "Menjar i beure", "emoji_button.food": "Menjar i beure",
@ -159,32 +162,32 @@
"emoji_button.search": "Cerca...", "emoji_button.search": "Cerca...",
"emoji_button.search_results": "Resultats de la cerca", "emoji_button.search_results": "Resultats de la cerca",
"emoji_button.symbols": "Símbols", "emoji_button.symbols": "Símbols",
"emoji_button.travel": "Viatges i Llocs", "emoji_button.travel": "Viatges i llocs",
"empty_column.account_suspended": "Compte suspès", "empty_column.account_suspended": "Compte suspès",
"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 tens desada a marcadors cap publicació. Quan desis una apareixerà aquí.", "empty_column.bookmarked_statuses": "Encara no has marcat com 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 a fer rodar la pilota!", "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 enviïs o rebis un, es mostrarà 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.",
"empty_column.explore_statuses": "No hi ha res en tendència ara mateix. Verifica-ho més tard!", "empty_column.explore_statuses": "No hi ha res en tendència ara mateix. Revisa-ho més tard!",
"empty_column.favourited_statuses": "Encara no has afavorit cap publicació. Quan ho facis, apareixerà aquí.", "empty_column.favourited_statuses": "Encara no has marcat cap publicació com a preferida. Quan les marquis, apareixeran aquí.",
"empty_column.favourites": "Ningú no ha afavorit aquesta publicació encara. Quan algú ho faci, apareixerà aquí.", "empty_column.favourites": "Encara ningú no ha marcat aquesta publicació com a preferida. Quan algú ho faci, apareixerà aquí.",
"empty_column.follow_recommendations": "Sembla que no es poden generar sugerencies per a tu. Pots provar d'emprar la cerca per a trobar gent que voldries conèixer o explorar les etiquetes en tendència.", "empty_column.follow_recommendations": "Sembla que no s'han pogut generar suggeriments per a tu. Pots provar d'usar la cerca per trobar persones que vulguis conèixer o explorar les etiquetes en tendència.",
"empty_column.follow_requests": "Encara no tens cap petició de seguiment. Quan en rebis una, apareixerà aquí.", "empty_column.follow_requests": "Encara no tens cap petició de seguiment. Quan en rebis una, apareixerà aquí.",
"empty_column.hashtag": "Encara no hi ha res en aquesta etiqueta.", "empty_column.hashtag": "Encara no hi ha res en aquesta etiqueta.",
"empty_column.home": "La teva línia de temps és buida! Segueix més gent per a emplenar-la. {suggestions}", "empty_column.home": "La teva línia de temps és buida! Segueix més gent per omplir-la. {suggestions}",
"empty_column.home.suggestions": "Mira algunes sugerencies", "empty_column.home.suggestions": "Mira algunes suggeriments",
"empty_column.list": "Encara no hi ha res en aquesta llista. Quan els membres d'aquesta llista publiquin noves publicacions, apareixeran aquí.", "empty_column.list": "Encara no hi ha res en aquesta llista. Quan els membres d'aquesta llista publiquin noves publicacions, apareixeran aquí.",
"empty_column.lists": "Encara no tens cap llista. Quan en facis una, apareixerà aquí.", "empty_column.lists": "Encara no tens cap llista. Quan en creïs una, apareixerà aquí.",
"empty_column.mutes": "Encara no has silenciat cap usuari.", "empty_column.mutes": "Encara no has silenciat cap usuari.",
"empty_column.notifications": "Encara no tens notificacions. Quan altre gent interactuï amb tu, les veuràs aquí.", "empty_column.notifications": "Encara no tens notificacions. Quan altres persones interactuïn amb tu, les veuràs aquí.",
"empty_column.public": "No hi ha res aquí! Escriu públicament alguna cosa o manualment segueix usuaris d'altres servidors per a omplir-ho", "empty_column.public": "Aquí no hi ha res! Escriu públicament alguna cosa o segueix manualment usuaris d'altres servidors per omplir-ho",
"error.unexpected_crash.explanation": "A causa d'un bug en el nostre codi o un problema de compatibilitat del navegador, aquesta pàgina podria no ser mostrada correctament.", "error.unexpected_crash.explanation": "A causa d'un error en el nostre codi o d'un problema de compatibilitat amb el navegador, aquesta pàgina no s'ha pogut mostrar correctament.",
"error.unexpected_crash.explanation_addons": "Aquesta pàgina podria no mostrar-se correctament. Aquest error és possiblement causat per una extensió del navegador o per eienes automàtiques de traducció.", "error.unexpected_crash.explanation_addons": "Aquesta pàgina no s'ha pogut mostrar correctament. És probable que aquest error sigui causat per un complement del navegador o per eines de traducció automàtica.",
"error.unexpected_crash.next_steps": "Prova recarregant la pàgina. Si això no ajuda, encara podries ser capaç d'utilitzar Mastodon a través d'un navegador diferent o amb una aplicació nativa.", "error.unexpected_crash.next_steps": "Prova d'actualitzar la pàgina. Si això no serveix, és possible que encara puguis fer servir Mastodon a través d'un navegador diferent o amb una aplicació nativa.",
"error.unexpected_crash.next_steps_addons": "Prova de desactivar-les i refrescant la pàgina. Si això no ajuda, encara pots ser capaç dutilitzar Mastodon amb un altre navegador o aplicació nativa.", "error.unexpected_crash.next_steps_addons": "Prova de desactivar-los i actualitza la pàgina. Si això no serveix, és possible que encara puguis fer servir Mastodon amb un altre navegador o una aplicació nativa.",
"errors.unexpected_crash.copy_stacktrace": "Còpia stacktrace al porta-retalls", "errors.unexpected_crash.copy_stacktrace": "Còpia stacktrace al porta-retalls",
"errors.unexpected_crash.report_issue": "Informa d'un problema", "errors.unexpected_crash.report_issue": "Informa d'un problema",
"explore.search_results": "Resultats de la cerca", "explore.search_results": "Resultats de la cerca",
@ -198,16 +201,16 @@
"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 del usuaris que segueixes es mostraran en ordre cronològic en la teva línia de temps Inici. No tinguis por en cometre errors, pots fàcilment deixar de seguir-los en qualsevol moment!",
"follow_request.authorize": "Autoritza", "follow_request.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 de forma manual.", "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.",
"generic.saved": "Desat", "generic.saved": "Desat",
"getting_started.developers": "Desenvolupadors", "getting_started.developers": "Desenvolupadors",
"getting_started.directory": "Directori de perfils", "getting_started.directory": "Directori de perfils",
"getting_started.documentation": "Documentació", "getting_started.documentation": "Documentació",
"getting_started.heading": "Primeres passes", "getting_started.heading": "Primers passos",
"getting_started.invite": "Convida gent", "getting_started.invite": "Convidar gent",
"getting_started.open_source_notice": "Mastodon és un programari de codi obert. Pots contribuir-hi o informar de problemes a GitHub a {github}.", "getting_started.open_source_notice": "Mastodon és un programari de codi obert. Pots contribuir-hi o informar de problemes a GitHub a {github}.",
"getting_started.security": "Configuració del compte", "getting_started.security": "Configuració del compte",
"getting_started.terms": "Termes del servei", "getting_started.terms": "Condicions de servei",
"hashtag.column_header.tag_mode.all": "i {additional}", "hashtag.column_header.tag_mode.all": "i {additional}",
"hashtag.column_header.tag_mode.any": "o {additional}", "hashtag.column_header.tag_mode.any": "o {additional}",
"hashtag.column_header.tag_mode.none": "sense {additional}", "hashtag.column_header.tag_mode.none": "sense {additional}",
@ -225,38 +228,38 @@
"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}}",
"keyboard_shortcuts.back": "Navegar enrere", "keyboard_shortcuts.back": "Anar enrere",
"keyboard_shortcuts.blocked": "Obre la llista d'usuaris bloquejats", "keyboard_shortcuts.blocked": "Obre la llista d'usuaris bloquejats",
"keyboard_shortcuts.boost": "Impulsa publicació", "keyboard_shortcuts.boost": "Impulsa la publicació",
"keyboard_shortcuts.column": "Centra columna", "keyboard_shortcuts.column": "Centra la columna",
"keyboard_shortcuts.compose": "Centra l'àrea de composició de text", "keyboard_shortcuts.compose": "Centra l'àrea de composició del text",
"keyboard_shortcuts.description": "Descripció", "keyboard_shortcuts.description": "Descripció",
"keyboard_shortcuts.direct": "Obre la columna de missatges directes", "keyboard_shortcuts.direct": "per obrir la columna de missatges directes",
"keyboard_shortcuts.down": "Baixar en la llista", "keyboard_shortcuts.down": "Mou-lo avall en la llista",
"keyboard_shortcuts.enter": "Obre publicació", "keyboard_shortcuts.enter": "Obrir publicació",
"keyboard_shortcuts.favourite": "Afavorir publicació", "keyboard_shortcuts.favourite": "Afavoreix la publicació",
"keyboard_shortcuts.favourites": "Obre la llista de favorits", "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",
"keyboard_shortcuts.home": "Obre la línia de temps Inici", "keyboard_shortcuts.home": "Obre la línia de temps de l'Inici",
"keyboard_shortcuts.hotkey": "Tecla d'accés directe", "keyboard_shortcuts.hotkey": "Tecla d'accés directe",
"keyboard_shortcuts.legend": "Mostra aquesta llegenda", "keyboard_shortcuts.legend": "Mostra aquesta llegenda",
"keyboard_shortcuts.local": "Obre la línia de temps local", "keyboard_shortcuts.local": "Obre la línia de temps local",
"keyboard_shortcuts.mention": "Esmenta l'autor", "keyboard_shortcuts.mention": "Mencionar l'autor",
"keyboard_shortcuts.muted": "Obre la llista d'usuaris silenciats", "keyboard_shortcuts.muted": "Obre la llista d'usuaris silenciats",
"keyboard_shortcuts.my_profile": "Obre el teu perfil", "keyboard_shortcuts.my_profile": "Obre el teu perfil",
"keyboard_shortcuts.notifications": "Obre la columna de notificacions", "keyboard_shortcuts.notifications": "Obre la columna de notificacions",
"keyboard_shortcuts.open_media": "Obre mèdia", "keyboard_shortcuts.open_media": "Obre multimèdia",
"keyboard_shortcuts.pinned": "Obre la llista de publicacions fixades", "keyboard_shortcuts.pinned": "Obrir la llista de publicacions fixades",
"keyboard_shortcuts.profile": "Obre el perfil de l'autor", "keyboard_shortcuts.profile": "Obre el perfil de l'autor",
"keyboard_shortcuts.reply": "Respon publicació", "keyboard_shortcuts.reply": "Respon a la publicació",
"keyboard_shortcuts.requests": "Obre la llista de sol·licituds de seguiment", "keyboard_shortcuts.requests": "Obre la llista de les sol·licituds de seguiment",
"keyboard_shortcuts.search": "Centra la barra de cerca", "keyboard_shortcuts.search": "Centra la barra de cerca",
"keyboard_shortcuts.spoilers": "Mostra/amaga el camp CW", "keyboard_shortcuts.spoilers": "Mostra/amaga el camp CW",
"keyboard_shortcuts.start": "Obre la columna \"Primeres passes\"", "keyboard_shortcuts.start": "Obre la columna \"Primers passos\"",
"keyboard_shortcuts.toggle_hidden": "Mostra/oculta el text marcat com a sensible", "keyboard_shortcuts.toggle_hidden": "Mostra/oculta el text marcat com a sensible",
"keyboard_shortcuts.toggle_sensitivity": "Mostra/amaga contingut multimèdia", "keyboard_shortcuts.toggle_sensitivity": "Mostra/amaga contingut multimèdia",
"keyboard_shortcuts.toot": "per a començar un tut nou de trinca", "keyboard_shortcuts.toot": "Iniciar una publicació nova",
"keyboard_shortcuts.unfocus": "Descentra l'àrea de composició de text/cerca", "keyboard_shortcuts.unfocus": "Descentra l'àrea de composició de text/cerca",
"keyboard_shortcuts.up": "Moure amunt en la llista", "keyboard_shortcuts.up": "Moure amunt en la llista",
"lightbox.close": "Tanca", "lightbox.close": "Tanca",
@ -264,42 +267,44 @@
"lightbox.expand": "Amplia el quadre de visualització de limatge", "lightbox.expand": "Amplia el quadre de visualització de limatge",
"lightbox.next": "Següent", "lightbox.next": "Següent",
"lightbox.previous": "Anterior", "lightbox.previous": "Anterior",
"lists.account.add": "Afegir a la llista", "limited_account_hint.action": "Mostra el perfil",
"lists.account.remove": "Treure de la llista", "limited_account_hint.title": "Aquest perfil ha estat amagat pels moderadors del servidor.",
"lists.delete": "Esborrar llista", "lists.account.add": "Afegeix a la llista",
"lists.edit": "Editar llista", "lists.account.remove": "Elimina de la llista",
"lists.edit.submit": "Canvi de títol", "lists.delete": "Esborra la llista",
"lists.new.create": "Afegir llista", "lists.edit": "Edita la llista",
"lists.new.title_placeholder": "Nou títol de llista", "lists.edit.submit": "Canvia de títol",
"lists.replies_policy.followed": "Qualsevol usuari seguit", "lists.new.create": "Afegeix llista",
"lists.new.title_placeholder": "Nou títol de la llista",
"lists.replies_policy.followed": "Qualsevol usuari que segueixis",
"lists.replies_policy.list": "Membres de la llista", "lists.replies_policy.list": "Membres de la llista",
"lists.replies_policy.none": "Ningú", "lists.replies_policy.none": "Ningú",
"lists.replies_policy.title": "Mostra respostes a:", "lists.replies_policy.title": "Mostra respostes a:",
"lists.search": "Cercar entre les persones que segueixes", "lists.search": "Cerca entre les persones que segueixes",
"lists.subheading": "Les teves llistes", "lists.subheading": "Les teves llistes",
"load_pending": "{count, plural, one {# element nou} other {# elements nous}}", "load_pending": "{count, plural, one {# element nou} other {# elements nous}}",
"loading_indicator.label": "Carregant...", "loading_indicator.label": "Carregant...",
"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 trobat", "missing_indicator.label": "No s'ha trobat",
"missing_indicator.sublabel": "Aquest recurs no pot ser trobat", "missing_indicator.sublabel": "Aquest recurs no s'ha trobat",
"mute_modal.duration": "Durada", "mute_modal.duration": "Durada",
"mute_modal.hide_notifications": "Amagar notificacions d'aquest usuari?", "mute_modal.hide_notifications": "Amagar les notificacions d'aquest usuari?",
"mute_modal.indefinite": "Indefinit", "mute_modal.indefinite": "Indefinit",
"navigation_bar.apps": "Aplicacions mòbils", "navigation_bar.apps": "Aplicacions mòbils",
"navigation_bar.blocks": "Usuaris bloquejats", "navigation_bar.blocks": "Usuaris bloquejats",
"navigation_bar.bookmarks": "Marcadors", "navigation_bar.bookmarks": "Marcadors",
"navigation_bar.community_timeline": "Línia de temps Local", "navigation_bar.community_timeline": "Línia de temps local",
"navigation_bar.compose": "Redacta una nova publicació", "navigation_bar.compose": "Redactar una nova publicació",
"navigation_bar.direct": "Missatges directes", "navigation_bar.direct": "Missatges directes",
"navigation_bar.discover": "Descobrir", "navigation_bar.discover": "Descobrir",
"navigation_bar.domain_blocks": "Dominis bloquejats", "navigation_bar.domain_blocks": "Dominis bloquejats",
"navigation_bar.edit_profile": "Editar perfil", "navigation_bar.edit_profile": "Edita el perfil",
"navigation_bar.explore": "Explora", "navigation_bar.explore": "Explora",
"navigation_bar.favourites": "Favorits", "navigation_bar.favourites": "Preferits",
"navigation_bar.filters": "Paraules silenciades", "navigation_bar.filters": "Paraules silenciades",
"navigation_bar.follow_requests": "Sol·licituds de seguiment", "navigation_bar.follow_requests": "Sol·licituds de seguiment",
"navigation_bar.follows_and_followers": "Seguits i seguidors", "navigation_bar.follows_and_followers": "Seguits i seguidors",
"navigation_bar.info": "Quant a aquest servidor", "navigation_bar.info": "Sobre aquest servidor",
"navigation_bar.keyboard_shortcuts": "Dreceres de teclat", "navigation_bar.keyboard_shortcuts": "Dreceres de teclat",
"navigation_bar.lists": "Llistes", "navigation_bar.lists": "Llistes",
"navigation_bar.logout": "Tancar sessió", "navigation_bar.logout": "Tancar sessió",
@ -313,14 +318,14 @@
"notification.favourite": "{name} ha afavorit la teva publicació", "notification.favourite": "{name} ha afavorit 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 esmentat", "notification.mention": "{name} t'ha mencionat",
"notification.own_poll": "La teva enquesta ha finalitzat", "notification.own_poll": "La teva enquesta ha finalitzat",
"notification.poll": "Ha finalitzat una enquesta en la que has votat", "notification.poll": "Ha finalitzat una enquesta en què has votat",
"notification.reblog": "{name} ha impulsat el teu estat", "notification.reblog": "{name} ha impulsat la teva publicació",
"notification.status": "ha publicat {name}", "notification.status": "{name} acaba de publicar",
"notification.update": "{name} ha editat una publicació", "notification.update": "{name} ha editat una publicació",
"notifications.clear": "Netejar notificacions", "notifications.clear": "Esborra les notificacions",
"notifications.clear_confirmation": "Estàs segur que vols esborrar permanentment totes les teves notificacions?", "notifications.clear_confirmation": "Segur que vols esborrar permanentment totes les teves notificacions?",
"notifications.column_settings.admin.sign_up": "Nous registres:", "notifications.column_settings.admin.sign_up": "Nous registres:",
"notifications.column_settings.alert": "Notificacions d'escriptori", "notifications.column_settings.alert": "Notificacions d'escriptori",
"notifications.column_settings.favourite": "Preferits:", "notifications.column_settings.favourite": "Preferits:",
@ -337,24 +342,24 @@
"notifications.column_settings.sound": "Reproduir so", "notifications.column_settings.sound": "Reproduir so",
"notifications.column_settings.status": "Noves publicacions:", "notifications.column_settings.status": "Noves publicacions:",
"notifications.column_settings.unread_notifications.category": "Notificacions no llegides", "notifications.column_settings.unread_notifications.category": "Notificacions no llegides",
"notifications.column_settings.unread_notifications.highlight": "Destaca notificacions no llegides", "notifications.column_settings.unread_notifications.highlight": "Destaca les notificacions no llegides",
"notifications.column_settings.update": "Edicions:", "notifications.column_settings.update": "Edicions:",
"notifications.filter.all": "Tots", "notifications.filter.all": "Tots",
"notifications.filter.boosts": "Impulsos", "notifications.filter.boosts": "Impulsos",
"notifications.filter.favourites": "Favorits", "notifications.filter.favourites": "Preferits",
"notifications.filter.follows": "Seguiments", "notifications.filter.follows": "Seguiments",
"notifications.filter.mentions": "Mencions", "notifications.filter.mentions": "Mencions",
"notifications.filter.polls": "Resultats de l'enquesta", "notifications.filter.polls": "Resultats de l'enquesta",
"notifications.filter.statuses": "Actualitzacions de gent que segueixes", "notifications.filter.statuses": "Actualitzacions de gent que segueixes",
"notifications.grant_permission": "Concedir permís.", "notifications.grant_permission": "Concedir permís.",
"notifications.group": "{count} notificacions", "notifications.group": "{count} notificacions",
"notifications.mark_as_read": "Marca cada notificació com a llegida", "notifications.mark_as_read": "Marca totes les notificacions com a llegides",
"notifications.permission_denied": "Les notificacions descriptori no estan disponibles perquè prèviament sha denegat el permís al navegador", "notifications.permission_denied": "Les notificacions descriptori no estan disponibles perquè prèviament sha denegat el permís al navegador",
"notifications.permission_denied_alert": "No es poden activar les notificacions del escriptori perquè el permís del navegador ha estat denegat abans", "notifications.permission_denied_alert": "No es poden activar les notificacions de l'escriptori perquè el permís del navegador s'ha denegat prèviament",
"notifications.permission_required": "Les notificacions d'escriptori no estan disponibles perquè el permís requerit no ha estat concedit.", "notifications.permission_required": "Les notificacions d'escriptori no estan disponibles perquè el permís requerit no ha estat concedit.",
"notifications_permission_banner.enable": "Activar les notificacions descriptori", "notifications_permission_banner.enable": "Activa les notificacions descriptori",
"notifications_permission_banner.how_to_control": "Per a rebre notificacions quan Mastodon no és obert cal activar les notificacions descriptori. Pots controlar amb precisió quins tipus dinteraccions generen notificacions descriptori després dactivar el botó {icon} de dalt.", "notifications_permission_banner.how_to_control": "Per rebre notificacions quan Mastodon no estigui obert, cal activar les notificacions descriptori. Pots controlar exactament quins tipus dinteraccions generen notificacions descriptori si actives el botó {icon} de dalt.",
"notifications_permission_banner.title": "Mai et perdis res", "notifications_permission_banner.title": "No et perdis mai res",
"picture_in_picture.restore": "Retornal", "picture_in_picture.restore": "Retornal",
"poll.closed": "Finalitzada", "poll.closed": "Finalitzada",
"poll.refresh": "Actualitza", "poll.refresh": "Actualitza",
@ -365,18 +370,18 @@
"poll.votes": "{votes, plural, one {# vot} other {# vots}}", "poll.votes": "{votes, plural, one {# vot} other {# vots}}",
"poll_button.add_poll": "Afegir una enquesta", "poll_button.add_poll": "Afegir una enquesta",
"poll_button.remove_poll": "Elimina l'enquesta", "poll_button.remove_poll": "Elimina l'enquesta",
"privacy.change": "Ajustar la privacitat de la publicació", "privacy.change": "Canvia la privacitat de la publicació",
"privacy.direct.long": "Visible només per als usuaris esmentats", "privacy.direct.long": "Visible només per als usuaris esmentats",
"privacy.direct.short": "Directe", "privacy.direct.short": "Només gent mencionada",
"privacy.private.long": "Visible només pels seguidors", "privacy.private.long": "Visible només per als seguidors",
"privacy.private.short": "Només seguidors", "privacy.private.short": "Només seguidors",
"privacy.public.long": "Visible per a tothom, mostrat en línies de temps públiques", "privacy.public.long": "Visible per tothom",
"privacy.public.short": "Públic", "privacy.public.short": "Públic",
"privacy.unlisted.long": "Visible per a tothom però no en les línies de temps públiques", "privacy.unlisted.long": "Visible per tothom però exclosa de les funcions de descobriment",
"privacy.unlisted.short": "No llistat", "privacy.unlisted.short": "No llistat",
"refresh": "Actualitza", "refresh": "Actualitza",
"regeneration_indicator.label": "Carregant…", "regeneration_indicator.label": "Carregant…",
"regeneration_indicator.sublabel": "S'està preparant la teva línia de temps Inici!", "regeneration_indicator.sublabel": "S'està preparant la teva línia de temps d'Inici!",
"relative_time.days": "fa {number} dies", "relative_time.days": "fa {number} dies",
"relative_time.full.days": "fa {number, plural, one {# dia} other {# dies}}", "relative_time.full.days": "fa {number, plural, one {# dia} other {# dies}}",
"relative_time.full.hours": "fa {number, plural, one {# hora} other {# hores}}", "relative_time.full.hours": "fa {number, plural, one {# hora} other {# hores}}",
@ -388,9 +393,9 @@
"relative_time.minutes": "fa {number} minuts", "relative_time.minutes": "fa {number} minuts",
"relative_time.seconds": "fa {number} segons", "relative_time.seconds": "fa {number} segons",
"relative_time.today": "avui", "relative_time.today": "avui",
"reply_indicator.cancel": "Cancel·lar", "reply_indicator.cancel": "Cancel·la",
"report.block": "Bloqueja", "report.block": "Bloqueja",
"report.block_explanation": "No veuràs les seves publicacions. Ell no podran veure les teves publicacions ni seguir-te. Ells podran dir que estan bloquejats.", "report.block_explanation": "No veuràs les seves publicacions. Ells no podran veure les teves publicacions ni et podran seguir. Podran saber que estan bloquejats.",
"report.categories.other": "Altres", "report.categories.other": "Altres",
"report.categories.spam": "Contingut brossa", "report.categories.spam": "Contingut brossa",
"report.categories.violation": "El contingut viola una o més regles del servidor", "report.categories.violation": "El contingut viola una o més regles del servidor",
@ -399,39 +404,39 @@
"report.category.title_account": "perfil", "report.category.title_account": "perfil",
"report.category.title_status": "publicació", "report.category.title_status": "publicació",
"report.close": "Fet", "report.close": "Fet",
"report.comment.title": "Hi ha res més que penses hauriem de saber?", "report.comment.title": "Hi ha res més que creguis que hauríem de saber?",
"report.forward": "Reenvia a {target}", "report.forward": "Reenvia a {target}",
"report.forward_hint": "Aquest compte és d'un altre servidor. Enviar-hi també una copia anònima del informe?", "report.forward_hint": "Aquest compte és d'un altre servidor. Vols enviar-li també una còpia anònima de l'informe?",
"report.mute": "Silencia", "report.mute": "Silencia",
"report.mute_explanation": "No veuràs les seves publicacions. Ells encara poden seguir-te i veure les teves publicacions però no sabran que han estat silenciats.", "report.mute_explanation": "No veuràs les seves publicacions. Encara poden seguir-te i veure les teves publicacions, però no sabran que han estat silenciats.",
"report.next": "Següent", "report.next": "Següent",
"report.placeholder": "Comentaris addicionals", "report.placeholder": "Comentaris addicionals",
"report.reasons.dislike": "No m'agrada", "report.reasons.dislike": "No m'agrada",
"report.reasons.dislike_description": "Això no és quelcom que vulguis veure", "report.reasons.dislike_description": "No és una cosa que vulguis veure",
"report.reasons.other": "Això és una altre cosa", "report.reasons.other": "És una altra cosa",
"report.reasons.other_description": "El problema no encaixa en altres categories", "report.reasons.other_description": "El problema no encaixa a les altres categories",
"report.reasons.spam": "Això és contingut brossa", "report.reasons.spam": "És contingut brossa",
"report.reasons.spam_description": "Enllaços maliciosos, compromís falç o respostes repetitives", "report.reasons.spam_description": "Enllaços maliciosos, implicació falsa o respostes repetitives",
"report.reasons.violation": "Viola les regles del servidor", "report.reasons.violation": "Viola les regles del servidor",
"report.reasons.violation_description": "Ets conscient que trenca regles especifiques", "report.reasons.violation_description": "Ets conscient que trenca regles especifiques",
"report.rules.subtitle": "Selecciona totes les aplicables", "report.rules.subtitle": "Selecciona tot el que correspongui",
"report.rules.title": "Quines regles han estat violades?", "report.rules.title": "Quines regles s'han violat?",
"report.statuses.subtitle": "Selecciona tots els aplicables", "report.statuses.subtitle": "Selecciona tot el que correspongui",
"report.statuses.title": "Hi ha alguna publicació que recolzi aquest informe?", "report.statuses.title": "Hi ha alguna publicació que recolzi aquest informe?",
"report.submit": "Enviar", "report.submit": "Envia",
"report.target": "Informes {target}", "report.target": "Denunciant a {target}",
"report.thanks.take_action": "Aquestes son les teves opcions per a controlar el que veus a Mastodon:", "report.thanks.take_action": "Aquestes són les teves opcions per controlar el que veus a Mastodon:",
"report.thanks.take_action_actionable": "Mentre ho revisem, pots pendre mesures contra @{name}:", "report.thanks.take_action_actionable": "Mentre ho revisem, pots prendre mesures contra @{name}:",
"report.thanks.title": "No vols veure això?", "report.thanks.title": "No vols veure això?",
"report.thanks.title_actionable": "Gràcies per informar, ho investigarem.", "report.thanks.title_actionable": "Gràcies per denunciar-ho. Ho investigarem.",
"report.unfollow": "Deixar de seguir @{name}", "report.unfollow": "Deixa de seguir @{name}",
"report.unfollow_explanation": "Estàs seguint aquest compte. Per a no veure més les seves publicacions en la teva línia de temps Inici, deixa de seguir-lo.", "report.unfollow_explanation": "Estàs seguint aquest compte. Per no veure les seves publicacions a la teva línia de temps d'Inici, deixa de seguir-lo.",
"search.placeholder": "Cercar", "search.placeholder": "Cerca",
"search_popout.search_format": "Format de cerca avançada", "search_popout.search_format": "Format de cerca avançada",
"search_popout.tips.full_text": "Text simple recupera publicacions que has escrit, les afavorides, les impulsades o en les que has estat esmentat, així com usuaris, noms d'usuari i etiquetes.", "search_popout.tips.full_text": "El text simple recupera publicacions que has escrit, marcat com a preferides, que has impulsat o on t'han esmentat, així com els usuaris, els noms d'usuaris i les etiquetes.",
"search_popout.tips.hashtag": "etiqueta", "search_popout.tips.hashtag": "etiqueta",
"search_popout.tips.status": "publicació", "search_popout.tips.status": "publicació",
"search_popout.tips.text": "El text simple retorna coincidències amb els noms de visualització, els noms d'usuari i les etiquetes", "search_popout.tips.text": "El text simple recupera coincidències amb els usuaris, els noms d'usuari i les etiquetes",
"search_popout.tips.user": "usuari", "search_popout.tips.user": "usuari",
"search_results.accounts": "Gent", "search_results.accounts": "Gent",
"search_results.all": "Tots", "search_results.all": "Tots",
@ -441,53 +446,53 @@
"search_results.statuses_fts_disabled": "La cerca de publicacions pel seu contingut no està habilitada en aquest servidor Mastodon.", "search_results.statuses_fts_disabled": "La cerca de publicacions pel seu contingut no està habilitada en aquest servidor Mastodon.",
"search_results.total": "{count, number} {count, plural, one {resultat} other {resultats}}", "search_results.total": "{count, number} {count, plural, one {resultat} other {resultats}}",
"status.admin_account": "Obre l'interfície de moderació per a @{name}", "status.admin_account": "Obre l'interfície de moderació per a @{name}",
"status.admin_status": "Obre 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": "Marcador", "status.bookmark": "Afavoreix",
"status.cancel_reblog_private": "Desfer l'impuls", "status.cancel_reblog_private": "Desfés l'impuls",
"status.cannot_reblog": "Aquesta publicació no pot ser impulsada", "status.cannot_reblog": "Aquesta publicació no es pot impulsar",
"status.copy": "Copia l'enllaç a l'estat", "status.copy": "Copia l'enllaç a la publicació",
"status.delete": "Esborra", "status.delete": "Esborra",
"status.detailed_status": "Visualització detallada de la conversa", "status.detailed_status": "Visualització detallada de la conversa",
"status.direct": "Missatge directe @{name}", "status.direct": "Envia missatge directe a @{name}",
"status.edit": "Edita", "status.edit": "Edita",
"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": "Incrustat", "status.embed": "Incrusta",
"status.favourite": "Favorit", "status.favourite": "Favorit",
"status.filtered": "Filtrat", "status.filtered": "Filtrat",
"status.history.created": "{name} ha creat {date}", "status.history.created": "{name} ha creat {date}",
"status.history.edited": "{name} ha editat {date}", "status.history.edited": "{name} ha editat {date}",
"status.load_more": "Carrega més", "status.load_more": "Carregar-ne més",
"status.media_hidden": "Multimèdia amagat", "status.media_hidden": "Multimèdia amagada",
"status.mention": "Esmentar @{name}", "status.mention": "Esmenta @{name}",
"status.more": "Més", "status.more": "Més",
"status.mute": "Silenciar @{name}", "status.mute": "Silencia @{name}",
"status.mute_conversation": "Silenciar conversació", "status.mute_conversation": "Silencia la conversa",
"status.open": "Ampliar aquest estat", "status.open": "Amplia la publicació",
"status.pin": "Fixa en el perfil", "status.pin": "Fixa en el perfil",
"status.pinned": "Publicació fixada", "status.pinned": "Publicació fixada",
"status.read_more": "Llegir més", "status.read_more": "Més informació",
"status.reblog": "Impuls", "status.reblog": "Impulsa",
"status.reblog_private": "Impulsar amb la visibilitat original", "status.reblog_private": "Impulsa amb la visibilitat original",
"status.reblogged_by": "{name} ha impulsat", "status.reblogged_by": "{name} ha impulsat",
"status.reblogs.empty": "Encara ningú no ha impulsat aquesta publicació. Quan algú ho faci, apareixeran aquí.", "status.reblogs.empty": "Encara ningú no ha impulsat aquesta publicació. Quan algú ho faci, apareixeran aquí.",
"status.redraft": "Esborrar i reescriure", "status.redraft": "Esborra-la i reescriure-la",
"status.remove_bookmark": "Suprimeix el marcador", "status.remove_bookmark": "Suprimeix el marcador",
"status.reply": "Respondre", "status.reply": "Respon",
"status.replyAll": "Respondre al fil", "status.replyAll": "Respon al fil",
"status.report": "Informar sobre @{name}", "status.report": "Denuncia @{name}",
"status.sensitive_warning": "Contingut sensible", "status.sensitive_warning": "Contingut sensible",
"status.share": "Compartir", "status.share": "Comparteix",
"status.show_less": "Mostra menys", "status.show_less": "Mostrar-ne menys",
"status.show_less_all": "Mostra menys per a tot", "status.show_less_all": "Mostrar-ne menys per a tot",
"status.show_more": "Mostra més", "status.show_more": "Mostrar-ne més",
"status.show_more_all": "Mostra més per a tot", "status.show_more_all": "Mostrar-ne més per a tot",
"status.show_thread": "Mostra el fil", "status.show_thread": "Mostra el fil",
"status.uncached_media_warning": "No està disponible", "status.uncached_media_warning": "No està disponible",
"status.unmute_conversation": "Activar conversació", "status.unmute_conversation": "No silenciïs la conversa",
"status.unpin": "Deslliga del perfil", "status.unpin": "No fixis al perfil",
"suggestions.dismiss": "Descartar suggeriment", "suggestions.dismiss": "Ignora el suggeriment",
"suggestions.header": "És possible que estiguis interessat en…", "suggestions.header": "És possible que estiguis interessat en…",
"tabs_bar.federated_timeline": "Federat", "tabs_bar.federated_timeline": "Federat",
"tabs_bar.home": "Inici", "tabs_bar.home": "Inici",
@ -502,24 +507,24 @@
"timeline_hint.remote_resource_not_displayed": "{resource} dels altres servidors no son mostrats.", "timeline_hint.remote_resource_not_displayed": "{resource} dels altres servidors no son mostrats.",
"timeline_hint.resources.followers": "Seguidors", "timeline_hint.resources.followers": "Seguidors",
"timeline_hint.resources.follows": "Seguiments", "timeline_hint.resources.follows": "Seguiments",
"timeline_hint.resources.statuses": "Tuts més antics", "timeline_hint.resources.statuses": "Publicacions més antigues",
"trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} persones}} parlant-hi", "trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} persones}} parlant-ne",
"trends.trending_now": "Ara en tendència", "trends.trending_now": "En tendència",
"ui.beforeunload": "El teu esborrany es perdrà si surts de Mastodon.", "ui.beforeunload": "El teu esborrany es perdrà si surts de Mastodon.",
"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": "Arrossega i deixa anar per a carregar", "upload_area.title": "Arrossega i deixa anar per carregar",
"upload_button.label": "Afegir mèdia, un vídeo o un fitxer d'audio", "upload_button.label": "Afegeix imatges, un vídeo o un fitxer d'àudio",
"upload_error.limit": "S'ha superat el límit de càrrega d'arxius.", "upload_error.limit": "S'ha superat el límit de càrrega d'arxius.",
"upload_error.poll": "No es permet l'enviament de fitxers en les enquestes.", "upload_error.poll": "No es permet carregar fitxers a les enquestes.",
"upload_form.audio_description": "Descriviu per a les persones amb pèrdua auditiva", "upload_form.audio_description": "Descripció per a persones amb discapacitat auditiva",
"upload_form.description": "Descriure per els que tenen problemes visuals", "upload_form.description": "Descripció per a persones amb discapacitat visual",
"upload_form.description_missing": "No description added", "upload_form.description_missing": "No s'ha afegit cap descripció",
"upload_form.edit": "Edita", "upload_form.edit": "Edita",
"upload_form.thumbnail": "Canvia la miniatura", "upload_form.thumbnail": "Canvia la miniatura",
"upload_form.undo": "Esborra", "upload_form.undo": "Esborra",
"upload_form.video_description": "Descriu per a les persones amb pèrdua auditiva o deficiència visual", "upload_form.video_description": "Descripció per a persones amb discapacitat auditiva o amb discapacitat visual",
"upload_modal.analyzing_picture": "Analitzant imatge…", "upload_modal.analyzing_picture": "Analitzant imatge…",
"upload_modal.apply": "Aplica", "upload_modal.apply": "Aplica",
"upload_modal.applying": "Aplicant…", "upload_modal.applying": "Aplicant…",
@ -527,18 +532,18 @@
"upload_modal.description_placeholder": "Una ràpida guineu marró salta sobre el gos mandrós", "upload_modal.description_placeholder": "Una ràpida guineu marró salta sobre el gos mandrós",
"upload_modal.detect_text": "Detecta el text de l'imatge", "upload_modal.detect_text": "Detecta el text de l'imatge",
"upload_modal.edit_media": "Editar multimèdia", "upload_modal.edit_media": "Editar multimèdia",
"upload_modal.hint": "Fes clic o arrossega el cercle en la previsualització per escollir el punt focal que sempre serà visible de totes les miniatures.", "upload_modal.hint": "Fes clic o arrossega el cercle en la previsualització per escollir el punt focal que sempre serà visible en totes les miniatures.",
"upload_modal.preparing_ocr": "Preparant OCR…", "upload_modal.preparing_ocr": "Preparant OCR…",
"upload_modal.preview_label": "Previsualitza ({ratio})", "upload_modal.preview_label": "Previsualitza ({ratio})",
"upload_progress.label": "Pujant...", "upload_progress.label": "Pujant...",
"video.close": "Tancar el vídeo", "video.close": "Tanca el vídeo",
"video.download": "Descarrega larxiu", "video.download": "Descarrega larxiu",
"video.exit_fullscreen": "Sortir de pantalla completa", "video.exit_fullscreen": "Surt de la pantalla completa",
"video.expand": "Ampliar el vídeo", "video.expand": "Amplia el vídeo",
"video.fullscreen": "Pantalla completa", "video.fullscreen": "Pantalla completa",
"video.hide": "Amaga vídeo", "video.hide": "Amaga el vídeo",
"video.mute": "Silenciar el so", "video.mute": "Silencia el so",
"video.pause": "Pausa", "video.pause": "Pausa",
"video.play": "Reproduir", "video.play": "Reprodueix",
"video.unmute": "Activar so" "video.unmute": "Activa el so"
} }

View File

@ -18,12 +18,12 @@
"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": "Following", "account.following": "دواکەوتن",
"account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", "account.following_counter": "{count, plural, one {{counter} شوێنکەوتوو} other {{counter} شوێنکەوتوو}}",
"account.follows.empty": "ئەم بەکارهێنەرە تا ئێستا شوێن کەس نەکەوتووە.", "account.follows.empty": "ئەم بەکارهێنەرە تا ئێستا شوێن کەس نەکەوتووە.",
"account.follows_you": "شوێنکەوتووەکانت", "account.follows_you": "شوێنکەوتووەکانت",
"account.hide_reblogs": "داشاردنی بووستەکان لە @{name}", "account.hide_reblogs": "داشاردنی بووستەکان لە @{name}",
"account.joined": "Joined {date}", "account.joined": "بەشداری {date}",
"account.link_verified_on": "خاوەنداریەتی ئەم لینکە لە {date} چێک کراوە", "account.link_verified_on": "خاوەنداریەتی ئەم لینکە لە {date} چێک کراوە",
"account.locked_info": "تایبەتمەندی ئەم هەژمارەیە ڕیکخراوە بۆ قوفڵدراوە. خاوەنەکە بە دەستی پێداچوونەوە دەکات کە کێ دەتوانێت شوێنیان بکەوێت.", "account.locked_info": "تایبەتمەندی ئەم هەژمارەیە ڕیکخراوە بۆ قوفڵدراوە. خاوەنەکە بە دەستی پێداچوونەوە دەکات کە کێ دەتوانێت شوێنیان بکەوێت.",
"account.media": "میدیا", "account.media": "میدیا",
@ -41,18 +41,18 @@
"account.statuses_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", "account.statuses_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
"account.unblock": "@{name} لاببە", "account.unblock": "@{name} لاببە",
"account.unblock_domain": "کردنەوەی دۆمەینی {domain}", "account.unblock_domain": "کردنەوەی دۆمەینی {domain}",
"account.unblock_short": "Unblock", "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": "کرتەبکە بۆ زیادکردنی تێبینی", "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": "Average", "admin.dashboard.retention.average": "ڕێژە",
"admin.dashboard.retention.cohort": "Sign-up month", "admin.dashboard.retention.cohort": "چوونەژوورەوەی مانگانە",
"admin.dashboard.retention.cohort_size": "New users", "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": "هەڵەیەکی چاوەڕوان نەکراو ڕوویدا.",
@ -70,7 +70,7 @@
"column.blocks": "بەکارهێنەرە بلۆککراوەکان", "column.blocks": "بەکارهێنەرە بلۆککراوەکان",
"column.bookmarks": "نیشانەکان", "column.bookmarks": "نیشانەکان",
"column.community": "هێڵی کاتی ناوخۆیی", "column.community": "هێڵی کاتی ناوخۆیی",
"column.direct": "نامە ڕاستەوخۆکان", "column.direct": "نامە ڕاستەوخۆ",
"column.directory": "گەڕان لە پرۆفایلەکان", "column.directory": "گەڕان لە پرۆفایلەکان",
"column.domain_blocks": "دۆمەینە داخراوەکان", "column.domain_blocks": "دۆمەینە داخراوەکان",
"column.favourites": "دڵخوازترینەکان", "column.favourites": "دڵخوازترینەکان",
@ -92,8 +92,10 @@
"community.column_settings.local_only": "تەنها خۆماڵی", "community.column_settings.local_only": "تەنها خۆماڵی",
"community.column_settings.media_only": "تەنها میدیا", "community.column_settings.media_only": "تەنها میدیا",
"community.column_settings.remote_only": "تەنها بۆ دوور", "community.column_settings.remote_only": "تەنها بۆ دوور",
"compose_form.direct_message_warning": "ئەم توتە تەنیا بۆ بەکارهێنەرانی ناوبراو دەنێردرێت.", "compose.language.change": "Change language",
"compose.language.search": "Search languages...",
"compose_form.direct_message_warning_learn_more": "زیاتر فێربه", "compose_form.direct_message_warning_learn_more": "زیاتر فێربه",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
"compose_form.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": "قفڵ دراوە",
@ -106,7 +108,7 @@
"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": "Save changes", "compose_form.save_changes": "پاشکەوتی گۆڕانکاریەکان",
"compose_form.sensitive.hide": "نیشانکردنی میدیا وەک هەستیار", "compose_form.sensitive.hide": "نیشانکردنی میدیا وەک هەستیار",
"compose_form.sensitive.marked": "وادەی کۆتایی", "compose_form.sensitive.marked": "وادەی کۆتایی",
"compose_form.sensitive.unmarked": "میدیا وەک هەستیار نیشان نەکراوە", "compose_form.sensitive.unmarked": "میدیا وەک هەستیار نیشان نەکراوە",
@ -121,8 +123,8 @@
"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": "Discard", "confirmations.discard_edit_media.confirm": "ڕەتکردنەوە",
"confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?", "confirmations.discard_edit_media.message": "گۆڕانکاریت لە وەسف یان پێشبینی میدیادا هەڵنەگیراوە، بەهەر حاڵ فڕێیان بدە؟",
"confirmations.domain_block.confirm": "بلۆککردنی هەموو دۆمەینەکە", "confirmations.domain_block.confirm": "بلۆککردنی هەموو دۆمەینەکە",
"confirmations.domain_block.message": "ئایا بەڕاستی، بەڕاستی تۆ دەتەوێت هەموو {domain} بلۆک بکەیت؟ لە زۆربەی حاڵەتەکاندا چەند بلۆکێکی ئامانجدار یان بێدەنگەکان پێویست و پەسەندن. تۆ ناوەڕۆک ێک نابینیت لە دۆمەینەکە لە هیچ هێڵی کاتی گشتی یان ئاگانامەکانت. شوێنکەوتوانی تۆ لەو دۆمەینەوە لادەبرێن.", "confirmations.domain_block.message": "ئایا بەڕاستی، بەڕاستی تۆ دەتەوێت هەموو {domain} بلۆک بکەیت؟ لە زۆربەی حاڵەتەکاندا چەند بلۆکێکی ئامانجدار یان بێدەنگەکان پێویست و پەسەندن. تۆ ناوەڕۆک ێک نابینیت لە دۆمەینەکە لە هیچ هێڵی کاتی گشتی یان ئاگانامەکانت. شوێنکەوتوانی تۆ لەو دۆمەینەوە لادەبرێن.",
"confirmations.logout.confirm": "چوونە دەرەوە", "confirmations.logout.confirm": "چوونە دەرەوە",
@ -147,6 +149,7 @@
"embed.instructions": "ئەم توتە بنچین بکە لەسەر وێب سایتەکەت بە کۆپیکردنی کۆدەکەی خوارەوە.", "embed.instructions": "ئەم توتە بنچین بکە لەسەر وێب سایتەکەت بە کۆپیکردنی کۆدەکەی خوارەوە.",
"embed.preview": "ئەمە ئەو شتەیە کە لە شێوەی خۆی دەچێت:", "embed.preview": "ئەمە ئەو شتەیە کە لە شێوەی خۆی دەچێت:",
"emoji_button.activity": "چالاکی", "emoji_button.activity": "چالاکی",
"emoji_button.clear": "ڕوون",
"emoji_button.custom": "ئاسایی", "emoji_button.custom": "ئاسایی",
"emoji_button.flags": "ئاڵاکان", "emoji_button.flags": "ئاڵاکان",
"emoji_button.food": "خواردن& خواردنەوە", "emoji_button.food": "خواردن& خواردنەوە",
@ -160,22 +163,22 @@
"emoji_button.search_results": "ئەنجامەکانی گەڕان", "emoji_button.search_results": "ئەنجامەکانی گەڕان",
"emoji_button.symbols": "هێماکان", "emoji_button.symbols": "هێماکان",
"emoji_button.travel": "گەشت & شوێنەکان", "emoji_button.travel": "گەشت & شوێنەکان",
"empty_column.account_suspended": "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": "هێشتا هیچ دۆمەینێکی بلۆک کراو نییە.", "empty_column.domain_blocks": "هێشتا هیچ دۆمەینێکی بلۆک کراو نییە.",
"empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.explore_statuses": "لە ئێستادا هیچ شتێک ترێند نییە. دواتر سەیری بکە!",
"empty_column.favourited_statuses": "تۆ هێشتا هیچ توتێکی دڵخوازت نییە، کاتێک حەزت لە دانەیەکی باشە، لێرە دەرئەکەویت.", "empty_column.favourited_statuses": "تۆ هێشتا هیچ توتێکی دڵخوازت نییە، کاتێک حەزت لە دانەیەکی باشە، لێرە دەرئەکەویت.",
"empty_column.favourites": "کەس ئەم توتەی دڵخواز نەکردووە،کاتێک کەسێک وا بکات، لێرە دەرئەکەون.", "empty_column.favourites": "کەس ئەم توتەی دڵخواز نەکردووە،کاتێک کەسێک وا بکات، لێرە دەرئەکەون.",
"empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.", "empty_column.follow_recommendations": "پێدەچێت هیچ پێشنیارێک بۆ تۆ دروست نەکرێت. دەتوانیت هەوڵبدەیت گەڕان بەکاربهێنیت بۆ گەڕان بەدوای ئەو کەسانەی کە ڕەنگە بیانناسیت یان بەدوای هاشتاگە ڕەوتەکاندا بگەڕێیت.",
"empty_column.follow_requests": "تۆ هێشتا هیچ داواکارییەکی بەدواداچووت نیە. کاتێک یەکێکت بۆ هات، لێرە دەرئەکەویت.", "empty_column.follow_requests": "تۆ هێشتا هیچ داواکارییەکی بەدواداچووت نیە. کاتێک یەکێکت بۆ هات، لێرە دەرئەکەویت.",
"empty_column.hashtag": "هێشتا هیچ شتێک لەم هاشتاگەدا نییە.", "empty_column.hashtag": "هێشتا هیچ شتێک لەم هاشتاگەدا نییە.",
"empty_column.home": "تایم لاینی ماڵەوەت بەتاڵە! سەردانی {public} بکە یان گەڕان بەکاربێنە بۆ دەستپێکردن و بینینی بەکارهێنەرانی تر.", "empty_column.home": "تایم لاینی ماڵەوەت بەتاڵە! سەردانی {public} بکە یان گەڕان بەکاربێنە بۆ دەستپێکردن و بینینی بەکارهێنەرانی تر.",
"empty_column.home.suggestions": "See some suggestions", "empty_column.home.suggestions": "چەند پێشنیارێک ببینە",
"empty_column.list": "هێشتا هیچ شتێک لەم لیستەدا نییە. کاتێک ئەندامانی ئەم لیستە دەنگی نوێ بڵاودەکەن، لێرە دەردەکەون.", "empty_column.list": "هێشتا هیچ شتێک لەم لیستەدا نییە. کاتێک ئەندامانی ئەم لیستە دەنگی نوێ بڵاودەکەن، لێرە دەردەکەون.",
"empty_column.lists": "تۆ هێشتا هیچ لیستت دروست نەکردووە، کاتێک دانەیەک دروست دەکەیت، لێرە پیشان دەدرێت.", "empty_column.lists": "تۆ هێشتا هیچ لیستت دروست نەکردووە، کاتێک دانەیەک دروست دەکەیت، لێرە پیشان دەدرێت.",
"empty_column.mutes": "تۆ هێشتا هیچ بەکارهێنەرێکت بێدەنگ نەکردووە.", "empty_column.mutes": "تۆ هێشتا هیچ بەکارهێنەرێکت بێدەنگ نەکردووە.",
@ -187,15 +190,15 @@
"error.unexpected_crash.next_steps_addons": "هەوڵدە لەکاریان بخەیت و لاپەڕەکە تازە بکەوە. ئەگەر ئەمە یارمەتیدەر نەبوو، لەوانەیە هێشتا بتوانیت ماستۆدۆن بەکاربێنیت لە ڕێگەی وێبگەڕەکانی دیکە یان نەرمەکالاکانی ئەسڵی.", "error.unexpected_crash.next_steps_addons": "هەوڵدە لەکاریان بخەیت و لاپەڕەکە تازە بکەوە. ئەگەر ئەمە یارمەتیدەر نەبوو، لەوانەیە هێشتا بتوانیت ماستۆدۆن بەکاربێنیت لە ڕێگەی وێبگەڕەکانی دیکە یان نەرمەکالاکانی ئەسڵی.",
"errors.unexpected_crash.copy_stacktrace": "کۆپیکردنی ستێکتراسی بۆ کلیپ بۆرد", "errors.unexpected_crash.copy_stacktrace": "کۆپیکردنی ستێکتراسی بۆ کلیپ بۆرد",
"errors.unexpected_crash.report_issue": "کێشەی گوزارشت", "errors.unexpected_crash.report_issue": "کێشەی گوزارشت",
"explore.search_results": "Search results", "explore.search_results": "ئەنجامەکانی گەڕان",
"explore.suggested_follows": "For you", "explore.suggested_follows": "بۆ تۆ",
"explore.title": "Explore", "explore.title": "گەڕان",
"explore.trending_links": "News", "explore.trending_links": "هەواڵەکان",
"explore.trending_statuses": "Posts", "explore.trending_statuses": "نووسراوەکان",
"explore.trending_tags": "Hashtags", "explore.trending_tags": "هاشتاگ",
"follow_recommendations.done": "Done", "follow_recommendations.done": "تەواو",
"follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.", "follow_recommendations.heading": "شوێن ئەو کەسانە بکەون کە دەتەوێت پۆستەکان ببینیت لە! لێرەدا چەند پێشنیارێک هەیە.",
"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": "بابەتەکانی ئەو کەسانەی کە بەدوایدا دەگەڕێیت بە فەرمانی کرۆنۆلۆجی لە خواردنەکانی ماڵەکەت دەردەکەون. مەترسە لە هەڵەکردن، دەتوانیت بە ئاسانی خەڵک هەڵبکەیت هەر کاتێک!",
"follow_request.authorize": "ده‌سه‌ڵاتپێدراو", "follow_request.authorize": "ده‌سه‌ڵاتپێدراو",
"follow_request.reject": "ڕەتکردنەوە", "follow_request.reject": "ڕەتکردنەوە",
"follow_requests.unlocked_explanation": "هەرچەندە هەژمارەکەت داخراو نییە، ستافی {domain} وا بیریان کردەوە کە لەوانەیە بتانەوێت پێداچوونەوە بە داواکاریەکانی ئەم هەژمارەدا بکەن بە دەستی.", "follow_requests.unlocked_explanation": "هەرچەندە هەژمارەکەت داخراو نییە، ستافی {domain} وا بیریان کردەوە کە لەوانەیە بتانەوێت پێداچوونەوە بە داواکاریەکانی ئەم هەژمارەدا بکەن بە دەستی.",
@ -264,6 +267,8 @@
"lightbox.expand": "فراوانکردنی سندوقی بینینی وێنە", "lightbox.expand": "فراوانکردنی سندوقی بینینی وێنە",
"lightbox.next": "داهاتوو", "lightbox.next": "داهاتوو",
"lightbox.previous": "پێشوو", "lightbox.previous": "پێشوو",
"limited_account_hint.action": "بەهەر حاڵ پڕۆفایلی پیشان بدە",
"limited_account_hint.title": "ئەم پرۆفایلییە لەلایەن بەڕێوەبەرانی سێرڤەرەکەتەوە شاراوەتەوە.",
"lists.account.add": "زیادکردن بۆ لیست", "lists.account.add": "زیادکردن بۆ لیست",
"lists.account.remove": "لابردن لە لیست", "lists.account.remove": "لابردن لە لیست",
"lists.delete": "سڕینەوەی لیست", "lists.delete": "سڕینەوەی لیست",
@ -271,13 +276,13 @@
"lists.edit.submit": "گۆڕینی ناونیشان", "lists.edit.submit": "گۆڕینی ناونیشان",
"lists.new.create": "زیادکردنی لیست", "lists.new.create": "زیادکردنی لیست",
"lists.new.title_placeholder": "ناونیشانی لیستی نوێ", "lists.new.title_placeholder": "ناونیشانی لیستی نوێ",
"lists.replies_policy.followed": "Any followed user", "lists.replies_policy.followed": "هەر بەکارهێنەرێکی بەدواکەوتوو",
"lists.replies_policy.list": "Members of the list", "lists.replies_policy.list": "ئەندامانی لیستەکە",
"lists.replies_policy.none": "No one", "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 {# new item} other {# new items}}", "load_pending": "{count, plural, one {# بەڕگەی نوێ} other {# بەڕگەی نوێ}}",
"loading_indicator.label": "بارکردن...", "loading_indicator.label": "بارکردن...",
"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": "نەدۆزرایەوە",
@ -290,11 +295,11 @@
"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": "دۆمەینە بلۆک کراوەکان", "navigation_bar.domain_blocks": "دۆمەینە بلۆک کراوەکان",
"navigation_bar.edit_profile": "دەستکاری پرۆفایل بکە", "navigation_bar.edit_profile": "دەستکاری پرۆفایل بکە",
"navigation_bar.explore": "Explore", "navigation_bar.explore": "گەڕان",
"navigation_bar.favourites": "دڵخوازەکان", "navigation_bar.favourites": "دڵخوازەکان",
"navigation_bar.filters": "وشە کپەکان", "navigation_bar.filters": "وشە کپەکان",
"navigation_bar.follow_requests": "بەدواداچوی داواکاریەکان بکە", "navigation_bar.follow_requests": "بەدواداچوی داواکاریەکان بکە",
@ -309,7 +314,7 @@
"navigation_bar.preferences": "پەسەندەکان", "navigation_bar.preferences": "پەسەندەکان",
"navigation_bar.public_timeline": "نووسراوەکانی هەمووشوێنێک", "navigation_bar.public_timeline": "نووسراوەکانی هەمووشوێنێک",
"navigation_bar.security": "ئاسایش", "navigation_bar.security": "ئاسایش",
"notification.admin.sign_up": "{name} signed up", "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} داوای کردووە کە شوێنت بکەوێت",
@ -318,15 +323,15 @@
"notification.poll": "ڕاپرسییەک کە دەنگی پێداویت کۆتایی هات", "notification.poll": "ڕاپرسییەک کە دەنگی پێداویت کۆتایی هات",
"notification.reblog": "{name} نووسراوەکەتی دووبارە توتاند", "notification.reblog": "{name} نووسراوەکەتی دووبارە توتاند",
"notification.status": "{name} تازە بڵاوکرایەوە", "notification.status": "{name} تازە بڵاوکرایەوە",
"notification.update": "{name} edited a post", "notification.update": "{name} پۆستێکی دەستکاریکرد",
"notifications.clear": "ئاگانامەکان بسڕیەوە", "notifications.clear": "ئاگانامەکان بسڕیەوە",
"notifications.clear_confirmation": "ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی هەموو ئاگانامەکانت بسڕیتەوە?", "notifications.clear_confirmation": "ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی هەموو ئاگانامەکانت بسڕیتەوە?",
"notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "چوونەژوورەوەی نوێ:",
"notifications.column_settings.alert": "ئاگانامەکانی پیشانگەرر ڕومێزی", "notifications.column_settings.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": "Show filter 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": "ئاماژەکان:",
@ -336,22 +341,22 @@
"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": "Unread notifications", "notifications.column_settings.unread_notifications.category": "ئاگاداریی نەبینراو",
"notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", "notifications.column_settings.unread_notifications.highlight": "تیشک بخە سەر ئاگاداری نەخوێنراو",
"notifications.column_settings.update": "Edits:", "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": "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": "Desktop notifications are unavailable because the required permission has not been granted.", "notifications.permission_required": "ئاگادارکردنەوەکانی سەر مێز بەردەست نین چونکە مۆڵەتی پێویست نەدراوە.",
"notifications_permission_banner.enable": "چالاککردنی ئاگانامەکانی دێسکتۆپ", "notifications_permission_banner.enable": "چالاککردنی ئاگانامەکانی دێسکتۆپ",
"notifications_permission_banner.how_to_control": "بۆ وەرگرتنی ئاگانامەکان کاتێک ماستۆدۆن نەکراوەیە، ئاگانامەکانی دێسکتۆپ چالاک بکە. دەتوانیت بە وردی کۆنترۆڵی جۆری کارلێکەکان بکەیت کە ئاگانامەکانی دێسکتۆپ دروست دەکەن لە ڕێگەی دوگمەی {icon} لەسەرەوە کاتێک چالاک دەکرێن.", "notifications_permission_banner.how_to_control": "بۆ وەرگرتنی ئاگانامەکان کاتێک ماستۆدۆن نەکراوەیە، ئاگانامەکانی دێسکتۆپ چالاک بکە. دەتوانیت بە وردی کۆنترۆڵی جۆری کارلێکەکان بکەیت کە ئاگانامەکانی دێسکتۆپ دروست دەکەن لە ڕێگەی دوگمەی {icon} لەسەرەوە کاتێک چالاک دەکرێن.",
"notifications_permission_banner.title": "هەرگیز شتێک لە دەست مەدە", "notifications_permission_banner.title": "هەرگیز شتێک لە دەست مەدە",
@ -362,70 +367,70 @@
"poll.total_votes": "{count, plural, one {# دەنگ} other {# دەنگ}}\n", "poll.total_votes": "{count, plural, one {# دەنگ} other {# دەنگ}}\n",
"poll.vote": "دەنگ", "poll.vote": "دەنگ",
"poll.voted": "تۆ دەنگت بەو وەڵامە دا", "poll.voted": "تۆ دەنگت بەو وەڵامە دا",
"poll.votes": "{votes, plural, one {# vote} other {# votes}}", "poll.votes": "{votes, plural, one {# دەنگ} other {# دەنگ}}",
"poll_button.add_poll": "ڕاپرسییەک زیاد بکە", "poll_button.add_poll": "ڕاپرسییەک زیاد بکە",
"poll_button.remove_poll": "ده‌نگدان بسڕه‌وه‌‌", "poll_button.remove_poll": "ده‌نگدان بسڕه‌وه‌‌",
"privacy.change": "ڕێکخستنی تایبەتمەندی توت", "privacy.change": "ڕێکخستنی تایبەتمەندی توت",
"privacy.direct.long": "تەنیا بۆ بەکارهێنەرانی ناوبراو", "privacy.direct.long": "تەنیا بۆ بەکارهێنەرانی ناوبراو",
"privacy.direct.short": "ڕاستەوخۆ", "privacy.direct.short": "تەنها کەسانی باس کراو",
"privacy.private.long": "بینراو تەنها بۆ شوێنکەوتوان", "privacy.private.long": "بینراو تەنها بۆ شوێنکەوتوان",
"privacy.private.short": "تەنها بۆ شوێنکەوتوان", "privacy.private.short": "تەنیا شوێنکەوتووان",
"privacy.public.long": "بۆ هەمووان دیاربێت، لە هێڵی کاتی گشتی دا نیشان دەدرێت", "privacy.public.long": "بۆ هەمووان دیارە",
"privacy.public.short": "گشتی", "privacy.public.short": "گشتی",
"privacy.unlisted.long": "بۆ هەمووان دیارە، بەڵام لە هێڵی کاتی گشتیدا نا", "privacy.unlisted.long": "بۆ هەمووان دیارە، بەڵام لە تایبەتمەندییەکانی دۆزینەوە دەرچووە",
"privacy.unlisted.short": "لە لیست نەکراو", "privacy.unlisted.short": "لە لیست نەکراو",
"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": "گوزارشتکردنی{target}", "report.target": "گوزارشتکردنی{target}",
"report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", "report.thanks.take_action": "لێرەدا بژاردەکانت بۆ کۆنترۆڵکردنی ئەو شتانە دەخەینەڕوو کە لە ماستۆدۆن دەیبینیت:",
"report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", "report.thanks.take_action_actionable": "لە کاتێکدا ئێمە پێداچوونەوە بەم بابەتە دەکەین، دەتوانیت ڕێوشوێن بگریتەبەر دژی @{name}:",
"report.thanks.title": "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": "تۆ شوێنکەوتووی ئەم هەژماررەی دەکەیت. بۆ ئەوەی چیتر نووسراوەکانیان لە هۆم فیدی خۆت نەبینی، بەدوایان مەچۆ.",
"search.placeholder": "گەڕان", "search.placeholder": "گەڕان",
"search_popout.search_format": "شێوەی گەڕانی پێشکەوتوو", "search_popout.search_format": "شێوەی گەڕانی پێشکەوتوو",
"search_popout.tips.full_text": "گەڕانێکی دەقی سادە دەتوانێت توتەکانی ئێوە کە، نووسیوتانە،پەسەنتان کردووە، دووبارەتانکردووە، یان ئەو توتانە کە باسی ئێوەی تێدا کراوە پەیدا دەکا. هەروەها ناوی بەکارهێنەران، ناوی پیشاندراو و هەشتەگەکانیش لە خۆ دەگرێت.", "search_popout.tips.full_text": "گەڕانێکی دەقی سادە دەتوانێت توتەکانی ئێوە کە، نووسیوتانە،پەسەنتان کردووە، دووبارەتانکردووە، یان ئەو توتانە کە باسی ئێوەی تێدا کراوە پەیدا دەکا. هەروەها ناوی بەکارهێنەران، ناوی پیشاندراو و هەشتەگەکانیش لە خۆ دەگرێت.",
@ -434,7 +439,7 @@
"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": "Could not find anything for these search terms", "search_results.nothing_found": "Could not find anything for these search terms",
"search_results.statuses": "توتەکان", "search_results.statuses": "توتەکان",
@ -442,7 +447,7 @@
"search_results.total": "{count, number} {count, plural, one {دەرئەنجام} other {دەرئەنجام}}", "search_results.total": "{count, number} {count, plural, one {دەرئەنجام} other {دەرئەنجام}}",
"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": "ئەم بابەتە ناتوانرێت بەرزبکرێتەوە",
@ -450,20 +455,20 @@
"status.delete": "سڕینەوە", "status.delete": "سڕینەوە",
"status.detailed_status": "ڕوانگەی گفتوگۆ بە وردەکاری", "status.detailed_status": "ڕوانگەی گفتوگۆ بە وردەکاری",
"status.direct": "پەیامی ڕاستەوخۆ @{name}", "status.direct": "پەیامی ڕاستەوخۆ @{name}",
"status.edit": "Edit", "status.edit": "دەستکاری",
"status.edited": "Edited {date}", "status.edited": "بەشداری {date}",
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", "status.edited_x_times": "دەستکاریکراوە {count, plural, one {{count} کات} other {{count} کات}}",
"status.embed": "نیشتەجێ بکە", "status.embed": "نیشتەجێ بکە",
"status.favourite": "دڵخواز", "status.favourite": "دڵخواز",
"status.filtered": "پاڵاوتن", "status.filtered": "پاڵاوتن",
"status.history.created": "{name} created {date}", "status.history.created": "{name} دروستکراوە لە{date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "{name} دروستکاریکراوە لە{date}",
"status.load_more": "بارکردنی زیاتر", "status.load_more": "زیاتر بار بکە",
"status.media_hidden": "میدیای شاراوە", "status.media_hidden": "میدیای شاراوە",
"status.mention": "ناوبنێ @{name}", "status.mention": "ناوبنێ @{name}",
"status.more": "زیاتر", "status.more": "زیاتر",
"status.mute": "بێدەنگکردن @{name}", "status.mute": "@{name} بێدەنگ بکە",
"status.mute_conversation": "گفتوگۆی بێدەنگ", "status.mute_conversation": "بێدەنگی بکە",
"status.open": "ئەم توتە فراوان بکە", "status.open": "ئەم توتە فراوان بکە",
"status.pin": "لکاندن لەسەر پرۆفایل", "status.pin": "لکاندن لەسەر پرۆفایل",
"status.pinned": "توتی چەسپکراو", "status.pinned": "توتی چەسپکراو",
@ -478,59 +483,59 @@
"status.replyAll": "بە نووسراوە وەڵام بدەوە", "status.replyAll": "بە نووسراوە وەڵام بدەوە",
"status.report": "گوزارشت @{name}", "status.report": "گوزارشت @{name}",
"status.sensitive_warning": "ناوەڕۆکی هەستیار", "status.sensitive_warning": "ناوەڕۆکی هەستیار",
"status.share": "هاوبەش کردن", "status.share": "هاوبەشی بکە",
"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_thread": "نیشاندانی گفتوگۆ", "status.show_thread": "نیشاندانی گفتوگۆ",
"status.uncached_media_warning": "بەردەست نیە", "status.uncached_media_warning": "بەردەست نیە",
"status.unmute_conversation": "گفتوگۆی بێدەنگ", "status.unmute_conversation": "گفتوگۆی بێدەنگ",
"status.unpin": ابردن لە پرۆفایل", "status.unpin": ە سەرەوە لایبە",
"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": "ئاگادارییەکان",
"tabs_bar.search": "گەڕان", "tabs_bar.search": "بگەڕێ",
"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 {# کاتژمێر}} ماوە",
"time_remaining.minutes": "{number, plural, one {# خۆلەک} other {# خولەک}} ماوە", "time_remaining.minutes": "{number, plural, one {# خولەک} other {# خولەک}} ماوە",
"time_remaining.moments": "ئەو ساتانەی ماونەتەوە", "time_remaining.moments": "کاتی ماوە",
"time_remaining.seconds": "{number, plural, one {# چرکە} other {# چرکە}} ماوە", "time_remaining.seconds": "{number, plural, one {# چرکە} other {# چرکە}} ماوە",
"timeline_hint.remote_resource_not_displayed": "{resource} لە ڕاژەکانی ترەوە پیشان نادرێت.", "timeline_hint.remote_resource_not_displayed": "{resource} لە ڕاژەکانی ترەوە پیشان نادرێت.",
"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} کەس} other {{counter} کەس}} گفتوگۆ دەکا", "trends.counter_by_accounts": "{count, plural, one {{counter} کەس} other {{counter} کەس}} گفتوگۆ دەکا",
"trends.trending_now": "گۆگران", "trends.trending_now": "ڕۆژەڤ",
"ui.beforeunload": "ڕەشنووسەکەت لە دەست دەچێت ئەگەر لە ماستۆدۆن بڕۆیت.", "ui.beforeunload": "ڕەشنووسەکەت لەدەست دەچێت ئەگەر ماستۆدۆن جێ بهێڵیت.",
"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": "No description added", "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": "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": "ئامادەکردنی OCR…", "upload_modal.preparing_ocr": "نووسینەکە دەستنیشان دەکرێت…",
"upload_modal.preview_label": "پێشبینی ({ratio})", "upload_modal.preview_label": "پێشبینین ({ratio})",
"upload_progress.label": "بارکردن...", "upload_progress.label": "بار دەکرێت...",
"video.close": "داخستنی ڤیدیۆ", "video.close": "داخستنی ڤیدیۆ",
"video.download": "داگرتنی فایل", "video.download": "داگرتنی فایل",
"video.exit_fullscreen": "دەرچوون لە پڕ شاشە", "video.exit_fullscreen": "دەرچوون لە پڕ شاشە",
@ -539,6 +544,6 @@
"video.hide": "شاردنەوەی ڤیدیۆ", "video.hide": "شاردنەوەی ڤیدیۆ",
"video.mute": "دەنگی کپ", "video.mute": "دەنگی کپ",
"video.pause": "وەستان", "video.pause": "وەستان",
"video.play": "پەخشکردن", "video.play": "لێی بدە",
"video.unmute": "دەنگ لابدە" "video.unmute": "بێدەنگی مەکە"
} }

View File

@ -70,7 +70,7 @@
"column.blocks": "Utilizatori bluccati", "column.blocks": "Utilizatori bluccati",
"column.bookmarks": "Segnalibri", "column.bookmarks": "Segnalibri",
"column.community": "Linea pubblica lucale", "column.community": "Linea pubblica lucale",
"column.direct": "Missaghji diretti", "column.direct": "Direct messages",
"column.directory": "Percorre i prufili", "column.directory": "Percorre i prufili",
"column.domain_blocks": "Duminii piattati", "column.domain_blocks": "Duminii piattati",
"column.favourites": "Favuriti", "column.favourites": "Favuriti",
@ -92,8 +92,10 @@
"community.column_settings.local_only": "Solu lucale", "community.column_settings.local_only": "Solu lucale",
"community.column_settings.media_only": "Solu media", "community.column_settings.media_only": "Solu media",
"community.column_settings.remote_only": "Solu distante", "community.column_settings.remote_only": "Solu distante",
"compose_form.direct_message_warning": "Solu l'utilizatori mintuvati puderenu vede stu statutu.", "compose.language.change": "Change language",
"compose.language.search": "Search languages...",
"compose_form.direct_message_warning_learn_more": "Amparà di più", "compose_form.direct_message_warning_learn_more": "Amparà di più",
"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": "Stu statutu ùn hè \"Micca listatu\" è ùn sarà micca listatu indè e circate da hashtag. Per esse vistu in quesse, u statutu deve esse \"Pubblicu\".", "compose_form.hashtag_warning": "Stu statutu ùn hè \"Micca listatu\" è ùn sarà micca listatu indè e circate da hashtag. Per esse vistu in quesse, u statutu deve esse \"Pubblicu\".",
"compose_form.lock_disclaimer": "U vostru contu ùn hè micca {locked}. Tuttu u mondu pò seguitavi è vede i vostri statuti privati.", "compose_form.lock_disclaimer": "U vostru contu ùn hè micca {locked}. Tuttu u mondu pò seguitavi è vede i vostri statuti privati.",
"compose_form.lock_disclaimer.lock": "privatu", "compose_form.lock_disclaimer.lock": "privatu",
@ -147,6 +149,7 @@
"embed.instructions": "Integrà stu statutu à u vostru situ cù u codice quì sottu.", "embed.instructions": "Integrà stu statutu à u vostru situ cù u codice quì sottu.",
"embed.preview": "Hà da parè à quessa:", "embed.preview": "Hà da parè à quessa:",
"emoji_button.activity": "Attività", "emoji_button.activity": "Attività",
"emoji_button.clear": "Clear",
"emoji_button.custom": "Persunalizati", "emoji_button.custom": "Persunalizati",
"emoji_button.flags": "Bandere", "emoji_button.flags": "Bandere",
"emoji_button.food": "Manghjusca è Bienda", "emoji_button.food": "Manghjusca è Bienda",
@ -166,7 +169,7 @@
"empty_column.blocks": "Per avà ùn avete bluccatu manc'un utilizatore.", "empty_column.blocks": "Per avà ùn avete bluccatu manc'un utilizatore.",
"empty_column.bookmarked_statuses": "Ùn avete manc'un segnalibru. Quandu aghjunghjerate unu, sarà mustratu quì.", "empty_column.bookmarked_statuses": "Ùn avete manc'un segnalibru. Quandu aghjunghjerate unu, sarà mustratu quì.",
"empty_column.community": "Ùn c'hè nunda indè a linea lucale. Scrivete puru qualcosa!", "empty_column.community": "Ùn c'hè nunda indè a linea lucale. Scrivete puru qualcosa!",
"empty_column.direct": "Ùn avete ancu nisun missaghju direttu. S'è voi mandate o ricevete unu, u vidarete quì.", "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": "Ùn c'hè manc'un duminiu bluccatu avà.", "empty_column.domain_blocks": "Ùn c'hè manc'un duminiu bluccatu avà.",
"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 avete manc'unu statutu favuritu. Quandu aghjunghjerate unu à i vostri favuriti, sarà mustratu quì.", "empty_column.favourited_statuses": "Ùn avete manc'unu statutu favuritu. Quandu aghjunghjerate unu à i vostri favuriti, sarà mustratu quì.",
@ -231,7 +234,7 @@
"keyboard_shortcuts.column": "fucalizà un statutu indè una colonna", "keyboard_shortcuts.column": "fucalizà un statutu indè una colonna",
"keyboard_shortcuts.compose": "fucalizà nant'à l'area di ridazzione", "keyboard_shortcuts.compose": "fucalizà nant'à l'area di ridazzione",
"keyboard_shortcuts.description": "Descrizzione", "keyboard_shortcuts.description": "Descrizzione",
"keyboard_shortcuts.direct": "per apre una culonna di missaghji diretti", "keyboard_shortcuts.direct": "to open direct messages column",
"keyboard_shortcuts.down": "falà indè a lista", "keyboard_shortcuts.down": "falà indè a lista",
"keyboard_shortcuts.enter": "apre u statutu", "keyboard_shortcuts.enter": "apre u statutu",
"keyboard_shortcuts.favourite": "aghjunghje à i favuriti", "keyboard_shortcuts.favourite": "aghjunghje à i favuriti",
@ -264,6 +267,8 @@
"lightbox.expand": "Ingrandà a finestra d'affissera di i ritratti", "lightbox.expand": "Ingrandà a finestra d'affissera di i ritratti",
"lightbox.next": "Siguente", "lightbox.next": "Siguente",
"lightbox.previous": "Pricidente", "lightbox.previous": "Pricidente",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Aghjunghje à a lista", "lists.account.add": "Aghjunghje à a lista",
"lists.account.remove": "Toglie di a lista", "lists.account.remove": "Toglie di a lista",
"lists.delete": "Toglie a lista", "lists.delete": "Toglie a lista",
@ -290,7 +295,7 @@
"navigation_bar.bookmarks": "Segnalibri", "navigation_bar.bookmarks": "Segnalibri",
"navigation_bar.community_timeline": "Linea pubblica lucale", "navigation_bar.community_timeline": "Linea pubblica lucale",
"navigation_bar.compose": "Scrive un novu statutu", "navigation_bar.compose": "Scrive un novu statutu",
"navigation_bar.direct": "Missaghji diretti", "navigation_bar.direct": "Direct messages",
"navigation_bar.discover": "Scopre", "navigation_bar.discover": "Scopre",
"navigation_bar.domain_blocks": "Duminii piattati", "navigation_bar.domain_blocks": "Duminii piattati",
"navigation_bar.edit_profile": "Mudificà u prufile", "navigation_bar.edit_profile": "Mudificà u prufile",
@ -367,12 +372,12 @@
"poll_button.remove_poll": "Toglie u scandagliu", "poll_button.remove_poll": "Toglie u scandagliu",
"privacy.change": "Mudificà a cunfidenzialità di u statutu", "privacy.change": "Mudificà a cunfidenzialità di u statutu",
"privacy.direct.long": "Mandà solu à quelli chì so mintuvati", "privacy.direct.long": "Mandà solu à quelli chì so mintuvati",
"privacy.direct.short": "Direttu", "privacy.direct.short": "Direct",
"privacy.private.long": "Mustrà solu à l'abbunati", "privacy.private.long": "Mustrà solu à l'abbunati",
"privacy.private.short": "Privatu", "privacy.private.short": "Followers-only",
"privacy.public.long": "Mustrà à tuttu u mondu nant'à e linee pubbliche", "privacy.public.long": "Visible for all",
"privacy.public.short": "Pubblicu", "privacy.public.short": "Pubblicu",
"privacy.unlisted.long": "Ùn mette micca nant'à e linee pubbliche", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.short": "Micca listatu", "privacy.unlisted.short": "Micca listatu",
"refresh": "Attualizà", "refresh": "Attualizà",
"regeneration_indicator.label": "Caricamentu…", "regeneration_indicator.label": "Caricamentu…",

View File

@ -92,8 +92,10 @@
"community.column_settings.local_only": "Pouze místní", "community.column_settings.local_only": "Pouze místní",
"community.column_settings.media_only": "Pouze média", "community.column_settings.media_only": "Pouze média",
"community.column_settings.remote_only": "Pouze vzdálené", "community.column_settings.remote_only": "Pouze vzdálené",
"compose_form.direct_message_warning": "Tento příspěvek bude odeslán pouze zmíněným uživatelům.", "compose.language.change": "Změnit jazyk",
"compose.language.search": "Prohledat jazyky...",
"compose_form.direct_message_warning_learn_more": "Zjistit více", "compose_form.direct_message_warning_learn_more": "Zjistit více",
"compose_form.encryption_warning": "Příspěvky na Mastodonu nejsou end-to-end šifrovány. Nesdílejte přes Mastodon žádné nebezpečné informace.",
"compose_form.hashtag_warning": "Tento příspěvek nebude zobrazen pod žádným hashtagem, neboť je neuvedený. Pouze veřejné příspěvky mohou být vyhledány podle hashtagu.", "compose_form.hashtag_warning": "Tento příspěvek nebude zobrazen pod žádným hashtagem, neboť je neuvedený. Pouze veřejné příspěvky mohou být vyhledány podle hashtagu.",
"compose_form.lock_disclaimer": "Váš účet není {locked}. Kdokoliv vás může sledovat a vidět vaše příspěvky učené pouze pro sledující.", "compose_form.lock_disclaimer": "Váš účet není {locked}. Kdokoliv vás může sledovat a vidět vaše příspěvky učené pouze pro sledující.",
"compose_form.lock_disclaimer.lock": "uzamčen", "compose_form.lock_disclaimer.lock": "uzamčen",
@ -147,6 +149,7 @@
"embed.instructions": "Pro přidání příspěvku na vaši webovou stránku zkopírujte níže uvedený kód.", "embed.instructions": "Pro přidání příspěvku na vaši webovou stránku zkopírujte níže uvedený kód.",
"embed.preview": "Takhle to bude vypadat:", "embed.preview": "Takhle to bude vypadat:",
"emoji_button.activity": "Aktivita", "emoji_button.activity": "Aktivita",
"emoji_button.clear": "Vyčistit",
"emoji_button.custom": "Vlastní", "emoji_button.custom": "Vlastní",
"emoji_button.flags": "Vlajky", "emoji_button.flags": "Vlajky",
"emoji_button.food": "Jídla a nápoje", "emoji_button.food": "Jídla a nápoje",
@ -264,6 +267,8 @@
"lightbox.expand": "Ukázat obrázek v plné velikosti", "lightbox.expand": "Ukázat obrázek v plné velikosti",
"lightbox.next": "Další", "lightbox.next": "Další",
"lightbox.previous": "Předchozí", "lightbox.previous": "Předchozí",
"limited_account_hint.action": "Přesto profil zobrazit",
"limited_account_hint.title": "Tento profil byl skryt moderátory vašeho serveru.",
"lists.account.add": "Přidat do seznamu", "lists.account.add": "Přidat do seznamu",
"lists.account.remove": "Odebrat ze seznamu", "lists.account.remove": "Odebrat ze seznamu",
"lists.delete": "Smazat seznam", "lists.delete": "Smazat seznam",
@ -366,13 +371,13 @@
"poll_button.add_poll": "Přidat anketu", "poll_button.add_poll": "Přidat anketu",
"poll_button.remove_poll": "Odstranit anketu", "poll_button.remove_poll": "Odstranit anketu",
"privacy.change": "Změnit soukromí příspěvku", "privacy.change": "Změnit soukromí příspěvku",
"privacy.direct.long": "Viditelné pouze pro zmíněné uživatele", "privacy.direct.long": "Viditelný pouze pro zmíněné uživatele",
"privacy.direct.short": "Přímý", "privacy.direct.short": "Jen zmínění lidé",
"privacy.private.long": "Viditelné pouze pro sledující", "privacy.private.long": "Viditelný pouze pro sledující",
"privacy.private.short": "Pouze pro sledující", "privacy.private.short": "Pouze sledující",
"privacy.public.long": "Viditelné pro všechny, i ve veřejných časových osách", "privacy.public.long": "Viditelný pro všechny",
"privacy.public.short": "Veřejný", "privacy.public.short": "Veřejný",
"privacy.unlisted.long": "Viditelné pro všechny, ale ne ve veřejných časových osách", "privacy.unlisted.long": "Viditelný pro všechny, ale vyňat z funkcí objevování",
"privacy.unlisted.short": "Neuvedený", "privacy.unlisted.short": "Neuvedený",
"refresh": "Obnovit", "refresh": "Obnovit",
"regeneration_indicator.label": "Načítání…", "regeneration_indicator.label": "Načítání…",
@ -515,7 +520,7 @@
"upload_error.poll": "U anket není nahrávání souborů povoleno.", "upload_error.poll": "U anket není nahrávání souborů povoleno.",
"upload_form.audio_description": "Popis pro sluchově postižené", "upload_form.audio_description": "Popis pro sluchově postižené",
"upload_form.description": "Popis pro zrakově postižené", "upload_form.description": "Popis pro zrakově postižené",
"upload_form.description_missing": "No description added", "upload_form.description_missing": "Nebyl přidán popis",
"upload_form.edit": "Upravit", "upload_form.edit": "Upravit",
"upload_form.thumbnail": "Změnit miniaturu", "upload_form.thumbnail": "Změnit miniaturu",
"upload_form.undo": "Smazat", "upload_form.undo": "Smazat",

View File

@ -4,26 +4,26 @@
"account.badges.bot": "Bot", "account.badges.bot": "Bot",
"account.badges.group": "Grŵp", "account.badges.group": "Grŵp",
"account.block": "Blocio @{name}", "account.block": "Blocio @{name}",
"account.block_domain": "Cuddio popeth rhag {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": "Canslo cais dilyn", "account.cancel_follow_request": "Canslo cais dilyn",
"account.direct": "Neges breifat @{name}", "account.direct": "Neges breifat @{name}",
"account.disable_notifications": "Stop notifying me when @{name} posts", "account.disable_notifications": "Stopiwch fy hysbysu pan fydd @{name} yn postio",
"account.domain_blocked": "Parth wedi ei guddio", "account.domain_blocked": "Parth wedi ei flocio",
"account.edit_profile": "Golygu proffil", "account.edit_profile": "Golygu proffil",
"account.enable_notifications": "Notify me when @{name} posts", "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.follow": "Dilyn", "account.follow": "Dilyn",
"account.followers": "Dilynwyr", "account.followers": "Dilynwyr",
"account.followers.empty": "Nid oes neb yn dilyn y defnyddiwr hwn eto.", "account.followers.empty": "Does neb yn dilyn y defnyddiwr hwn eto.",
"account.followers_counter": "{count, plural, one {{counter} Ddilynwr} other {{counter} o Ddilynwyr}}", "account.followers_counter": "{count, plural, one {{counter} Dilynwr} other {{counter} o Ddilynwyr}}",
"account.following": "Following", "account.following": "Yn dilyn",
"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.hide_reblogs": "Cuddio bwstiau o @{name}", "account.hide_reblogs": "Cuddio bwstiau o @{name}",
"account.joined": "Joined {date}", "account.joined": "Ymunodd {date}",
"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",
@ -32,8 +32,8 @@
"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.posts": "Tŵtiau", "account.posts": "Postiadau",
"account.posts_with_replies": "Tŵtiau ac atebion", "account.posts_with_replies": "Postiadau ac atebion",
"account.report": "Adrodd @{name}", "account.report": "Adrodd @{name}",
"account.requested": "Aros am gymeradwyaeth. Cliciwch er mwyn canslo cais dilyn", "account.requested": "Aros am gymeradwyaeth. Cliciwch er mwyn canslo cais dilyn",
"account.share": "Rhannwch broffil @{name}", "account.share": "Rhannwch broffil @{name}",
@ -41,24 +41,24 @@
"account.statuses_counter": "{count, plural, one {{counter} Dŵt} other {{counter} o Dŵtiau}}", "account.statuses_counter": "{count, plural, one {{counter} Dŵt} other {{counter} o Dŵtiau}}",
"account.unblock": "Dadflocio @{name}", "account.unblock": "Dadflocio @{name}",
"account.unblock_domain": "Dadguddio {domain}", "account.unblock_domain": "Dadguddio {domain}",
"account.unblock_short": "Unblock", "account.unblock_short": "Dad-flocio",
"account.unendorse": "Peidio a'i arddangos ar fy mhroffil", "account.unendorse": "Peidio a'i arddangos ar fy mhroffil",
"account.unfollow": "Dad-ddilyn", "account.unfollow": "Dad-ddilyn",
"account.unmute": "Dad-dawelu @{name}", "account.unmute": "Dad-dawelu @{name}",
"account.unmute_notifications": "Dad-dawelu hysbysiadau o @{name}", "account.unmute_notifications": "Dad-dawelu hysbysiadau o @{name}",
"account.unmute_short": "Unmute", "account.unmute_short": "Dad-dewi",
"account_note.placeholder": "Clicio i ychwanegu nodyn", "account_note.placeholder": "Clicio i ychwanegu nodyn",
"admin.dashboard.daily_retention": "User retention rate by day after sign-up", "admin.dashboard.daily_retention": "Cyfradd cadw defnyddwyr fesul diwrnod ar ôl cofrestru",
"admin.dashboard.monthly_retention": "User retention rate by month after sign-up", "admin.dashboard.monthly_retention": "Cyfradd cadw defnyddwyr fesul mis ar ôl cofrestru",
"admin.dashboard.retention.average": "Average", "admin.dashboard.retention.average": "Cyfartaledd",
"admin.dashboard.retention.cohort": "Sign-up month", "admin.dashboard.retention.cohort": "Mis cofrestru",
"admin.dashboard.retention.cohort_size": "Defnyddwyr newydd", "admin.dashboard.retention.cohort_size": "Defnyddwyr newydd",
"alert.rate_limited.message": "Ceisiwch eto ar ôl {retry_time, time, medium}.", "alert.rate_limited.message": "Ceisiwch eto ar ôl {retry_time, time, medium}.",
"alert.rate_limited.title": "Cyfradd gyfyngedig", "alert.rate_limited.title": "Cyfradd gyfyngedig",
"alert.unexpected.message": "Digwyddodd gwall annisgwyl.", "alert.unexpected.message": "Digwyddodd gwall annisgwyl.",
"alert.unexpected.title": "Wps!", "alert.unexpected.title": "Wps!",
"announcement.announcement": "Cyhoeddiad", "announcement.announcement": "Cyhoeddiad",
"attachments_list.unprocessed": "(unprocessed)", "attachments_list.unprocessed": "(heb eu prosesu)",
"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.body": "Aeth rhywbeth o'i le tra'n llwytho'r elfen hon.", "bundle_column_error.body": "Aeth rhywbeth o'i le tra'n llwytho'r elfen hon.",
@ -79,7 +79,7 @@
"column.lists": "Rhestrau", "column.lists": "Rhestrau",
"column.mutes": "Defnyddwyr a ddistewyd", "column.mutes": "Defnyddwyr a ddistewyd",
"column.notifications": "Hysbysiadau", "column.notifications": "Hysbysiadau",
"column.pins": "Tŵtiau wedi eu pinio", "column.pins": "Postiadau wedi eu pinio",
"column.public": "Ffrwd y ffederasiwn", "column.public": "Ffrwd y ffederasiwn",
"column_back_button.label": "Nôl", "column_back_button.label": "Nôl",
"column_header.hide_settings": "Cuddio dewisiadau", "column_header.hide_settings": "Cuddio dewisiadau",
@ -92,10 +92,12 @@
"community.column_settings.local_only": "Lleol yn unig", "community.column_settings.local_only": "Lleol yn unig",
"community.column_settings.media_only": "Cyfryngau yn unig", "community.column_settings.media_only": "Cyfryngau yn unig",
"community.column_settings.remote_only": "Anghysbell yn unig", "community.column_settings.remote_only": "Anghysbell yn unig",
"compose_form.direct_message_warning": "Mi fydd y tŵt hwn ond yn cael ei anfon at y defnyddwyr sy'n cael eu crybwyll.", "compose.language.change": "Change language",
"compose.language.search": "Search languages...",
"compose_form.direct_message_warning_learn_more": "Dysgu mwy", "compose_form.direct_message_warning_learn_more": "Dysgu mwy",
"compose_form.hashtag_warning": "Ni fydd y tŵt hwn wedi ei restru o dan unrhyw hashnod gan ei fod heb ei restru. Dim ond tŵtiau cyhoeddus gellid chwilota amdanynt drwy hashnod.", "compose_form.encryption_warning": "Dyw postiadau ar Mastodon ddim wedi'u hamgryptio o ben i ben. Peidiwch â rhannu unrhyw wybodaeth beryglus dros Mastodon.",
"compose_form.lock_disclaimer": "Nid yw eich cyfri wedi'i {locked}. Gall unrhyw un eich dilyn i weld eich tŵtiau dilynwyr-yn-unig.", "compose_form.hashtag_warning": "Ni fydd y post hwn wedi ei restru o dan unrhyw hashnod gan ei fod heb ei restru. Dim ond postiadau cyhoeddus gellid chwilio amdanynt drwy hashnod.",
"compose_form.lock_disclaimer": "Nid yw eich cyfri wedi'i {locked}. Gall unrhyw un eich dilyn i weld eich postiadau dilynwyr-yn-unig.",
"compose_form.lock_disclaimer.lock": "wedi ei gloi", "compose_form.lock_disclaimer.lock": "wedi ei gloi",
"compose_form.placeholder": "Beth sydd ar eich meddwl?", "compose_form.placeholder": "Beth sydd ar eich meddwl?",
"compose_form.poll.add_option": "Ychwanegu Dewisiad", "compose_form.poll.add_option": "Ychwanegu Dewisiad",
@ -106,7 +108,7 @@
"compose_form.poll.switch_to_single": "Newid pleidlais i gyfyngu i un dewis", "compose_form.poll.switch_to_single": "Newid pleidlais i gyfyngu i un dewis",
"compose_form.publish": "Tŵt", "compose_form.publish": "Tŵt",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Save changes", "compose_form.save_changes": "Cadw newidiadau",
"compose_form.sensitive.hide": "Marcio cyfryngau fel eu bod yn sensitif", "compose_form.sensitive.hide": "Marcio cyfryngau fel eu bod yn sensitif",
"compose_form.sensitive.marked": "Cyfryngau wedi'u marcio'n sensitif", "compose_form.sensitive.marked": "Cyfryngau wedi'u marcio'n sensitif",
"compose_form.sensitive.unmarked": "Nid yw'r cyfryngau wedi'u marcio'n sensitif", "compose_form.sensitive.unmarked": "Nid yw'r cyfryngau wedi'u marcio'n sensitif",
@ -118,11 +120,11 @@
"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.delete.confirm": "Dileu", "confirmations.delete.confirm": "Dileu",
"confirmations.delete.message": "Ydych chi'n sicr eich bod eisiau dileu y t 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",
"confirmations.delete_list.message": "Ydych chi'n sicr eich bod eisiau dileu y rhestr hwn am byth?", "confirmations.delete_list.message": "Ydych chi'n sicr eich bod eisiau dileu y rhestr hwn am byth?",
"confirmations.discard_edit_media.confirm": "Discard", "confirmations.discard_edit_media.confirm": "Gwaredu",
"confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?", "confirmations.discard_edit_media.message": "Mae gennych newidiadau heb eu cadw i'r disgrifiad cyfryngau neu'r rhagolwg, eu taflu beth bynnag?",
"confirmations.domain_block.confirm": "Cuddio parth cyfan", "confirmations.domain_block.confirm": "Cuddio parth cyfan",
"confirmations.domain_block.message": "A ydych yn hollol, hollol sicr eich bod am flocio y {domain} cyfan? Yn y nifer helaeth o achosion mae blocio neu tawelu ambell gyfrif yn ddigonol ac yn well. Ni fyddwch yn gweld cynnwys o'r parth hwnnw mewn unrhyw ffrydiau cyhoeddus na chwaith yn eich hysbysiadau. Bydd hyn yn cael gwared o'ch dilynwyr o'r parth hwnnw.", "confirmations.domain_block.message": "A ydych yn hollol, hollol sicr eich bod am flocio y {domain} cyfan? Yn y nifer helaeth o achosion mae blocio neu tawelu ambell gyfrif yn ddigonol ac yn well. Ni fyddwch yn gweld cynnwys o'r parth hwnnw mewn unrhyw ffrydiau cyhoeddus na chwaith yn eich hysbysiadau. Bydd hyn yn cael gwared o'ch dilynwyr o'r parth hwnnw.",
"confirmations.logout.confirm": "Allgofnodi", "confirmations.logout.confirm": "Allgofnodi",
@ -131,7 +133,7 @@
"confirmations.mute.explanation": "Bydd hyn yn cuddio pyst oddi wrthynt a physt sydd yn sôn amdanynt, ond bydd hyn dal yn gadael iddyn nhw gweld eich pyst a'ch dilyn.", "confirmations.mute.explanation": "Bydd hyn yn cuddio pyst oddi wrthynt a physt sydd yn sôn amdanynt, ond bydd hyn dal yn gadael iddyn nhw gweld eich pyst a'ch dilyn.",
"confirmations.mute.message": "Ydych chi'n sicr eich bod am ddistewi {name}?", "confirmations.mute.message": "Ydych chi'n sicr eich bod am ddistewi {name}?",
"confirmations.redraft.confirm": "Dileu & ailddrafftio", "confirmations.redraft.confirm": "Dileu & ailddrafftio",
"confirmations.redraft.message": "Ydych chi'n siwr eich bod eisiau dileu y tŵt hwn a'i ailddrafftio? Bydd ffefrynnau a bwstiau'n cael ei colli, a bydd ymatebion i'r tŵt gwreiddiol yn cael eu hamddifadu.", "confirmations.redraft.message": "Ydych chi'n siwr eich bod eisiau dileu y post hwn a'i ailddrafftio? Bydd ffefrynnau a hybiau'n cael ei colli, a bydd ymatebion i'r post gwreiddiol yn cael eu hamddifadu.",
"confirmations.reply.confirm": "Ateb", "confirmations.reply.confirm": "Ateb",
"confirmations.reply.message": "Bydd ateb nawr yn cymryd lle y neges yr ydych yn cyfansoddi ar hyn o bryd. Ydych chi'n sicr yr ydych am barhau?", "confirmations.reply.message": "Bydd ateb nawr yn cymryd lle y neges yr ydych yn cyfansoddi ar hyn o bryd. Ydych chi'n sicr yr ydych am barhau?",
"confirmations.unfollow.confirm": "Dad-ddilynwch", "confirmations.unfollow.confirm": "Dad-ddilynwch",
@ -140,13 +142,14 @@
"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}",
"directory.federated": "O ffedysawd hysbys", "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",
"embed.instructions": "Mewnblannwch y tŵt 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": "Clear",
"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",
@ -160,42 +163,42 @@
"emoji_button.search_results": "Canlyniadau chwilio", "emoji_button.search_results": "Canlyniadau chwilio",
"emoji_button.symbols": "Symbolau", "emoji_button.symbols": "Symbolau",
"emoji_button.travel": "Teithio & Llefydd", "emoji_button.travel": "Teithio & Llefydd",
"empty_column.account_suspended": "Account suspended", "empty_column.account_suspended": "Cyfrif wedi'i atal",
"empty_column.account_timeline": "Dim tŵtiau fama!", "empty_column.account_timeline": "Dim postiadau yma!",
"empty_column.account_unavailable": "Proffil ddim ar gael", "empty_column.account_unavailable": "Proffil ddim ar gael",
"empty_column.blocks": "Nid ydych wedi blocio unrhyw ddefnyddwyr eto.", "empty_column.blocks": "Nid ydych wedi blocio unrhyw ddefnyddwyr eto.",
"empty_column.bookmarked_statuses": "Nid oes gennych unrhyw dwtiau tudalnodiedig eto. Pan y byddwch yn tudalnodi un, mi fydd yn ymddangos yma.", "empty_column.bookmarked_statuses": "Nid oes gennych unrhyw dwtiau tudalnodiedig eto. Pan y byddwch yn tudalnodi un, mi fydd yn ymddangos yma.",
"empty_column.community": "Mae'r ffrwd lleol yn wag. Ysgrifenwch rhywbeth yn gyhoeddus i gael dechrau arni!", "empty_column.community": "Mae'r ffrwd lleol yn wag. Ysgrifenwch rhywbeth yn gyhoeddus i gael dechrau arni!",
"empty_column.direct": "Nid oes gennych unrhyw negeseuon preifat eto. Pan y byddwch yn anfon neu derbyn un, mi fydd yn ymddangos yma.", "empty_column.direct": "Does gennych unrhyw negeseuon preifat eto. Pan byddwch yn anfon neu derbyn un, bydd yn ymddangos yma.",
"empty_column.domain_blocks": "Nid oes yna unrhyw barthau cuddiedig eto.", "empty_column.domain_blocks": "Nid oes yna unrhyw barthau cuddiedig eto.",
"empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.explore_statuses": "Does dim byd yn trendio ar hyn o bryd. Gwiriwch yn ôl yn nes ymlaen!",
"empty_column.favourited_statuses": "Nid oes gennych unrhyw hoff dwtiau eto. Pan y byddwch yn hoffi un, mi fydd yn ymddangos yma.", "empty_column.favourited_statuses": "Nid oes gennych unrhyw hoff bostiadau eto. Pan y byddwch yn hoffi un, mi fydd yn ymddangos yma.",
"empty_column.favourites": "Nid oes neb wedi hoffi'r tŵt yma eto. Pan bydd rhywun yn ei hoffi, byddent yn ymddangos yma.", "empty_column.favourites": "Does neb wedi hoffi'r post hwn eto. Pan bydd rhywun yn ei hoffi, byddent yn ymddangos yma.",
"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": "Does dim awgrymiadau yma i chi. Gallwch geisio chwilio am bobl yr ydych yn eu hadnabod neu archwilio hashnodau sy'n trendio.",
"empty_column.follow_requests": "Nid oes gennych unrhyw geisiadau dilyn eto. Pan dderbyniwch chi un, byddent yn ymddangos yma.", "empty_column.follow_requests": "Nid oes gennych unrhyw geisiadau dilyn eto. Pan dderbyniwch chi un, byddent yn ymddangos yma.",
"empty_column.hashtag": "Nid oes dim ar yr hashnod hwn eto.", "empty_column.hashtag": "Nid oes dim ar yr hashnod hwn eto.",
"empty_column.home": "Mae eich ffrwd gartref yn wag! Ymwelwch a {public} neu defnyddiwch y chwilotwr i ddechrau arni ac i gwrdd a defnyddwyr eraill.", "empty_column.home": "Mae eich ffrwd gartref yn wag! Ymwelwch a {public} neu defnyddiwch y chwilotwr i ddechrau arni ac i gwrdd a defnyddwyr eraill.",
"empty_column.home.suggestions": "See some suggestions", "empty_column.home.suggestions": "Gweler awgrymiadau",
"empty_column.list": "Nid oes dim yn y rhestr yma eto. Pan y bydd aelodau'r rhestr yn cyhoeddi statws newydd, mi fydd yn ymddangos yma.", "empty_column.list": "Nid oes dim yn y rhestr yma eto. Pan y bydd aelodau'r rhestr yn cyhoeddi statws newydd, mi fydd yn ymddangos yma.",
"empty_column.lists": "Nid oes gennych unrhyw restrau eto. Pan grëwch chi un, mi fydd yn ymddangos yma.", "empty_column.lists": "Nid oes gennych unrhyw restrau eto. Pan grëwch chi un, mi fydd yn ymddangos yma.",
"empty_column.mutes": "Nid ydych wedi tawelu unrhyw ddefnyddwyr eto.", "empty_column.mutes": "Nid ydych wedi tawelu unrhyw ddefnyddwyr eto.",
"empty_column.notifications": "Nid oes gennych unrhyw hysbysiadau eto. Rhyngweithiwch ac eraill i ddechrau'r sgwrs.", "empty_column.notifications": "Nid oes gennych unrhyw hysbysiadau eto. Rhyngweithiwch ac eraill i ddechrau'r sgwrs.",
"empty_column.public": "Does dim byd yma! Ysgrifennwch rhywbeth yn gyhoeddus, neu dilynwch ddefnyddwyr o achosion eraill i'w lenwi", "empty_column.public": "Does dim byd yma! Ysgrifennwch rhywbeth yn gyhoeddus, neu dilynwch ddefnyddwyr o achosion eraill i'w lenwi",
"error.unexpected_crash.explanation": "Oherwydd gwall yn ein cod neu oherwydd problem cysondeb porwr, nid oedd y dudalen hon gallu cael ei dangos yn gywir.", "error.unexpected_crash.explanation": "Oherwydd gwall yn ein cod neu oherwydd problem cysondeb porwr, nid oedd y dudalen hon gallu cael ei dangos yn gywir.",
"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": "Ni ellid arddangos y dudalen hon yn gywir. Mae'r gwall hwn yn debygol o gael ei achosi gan ategyn porwr neu offer cyfieithu awtomatig.",
"error.unexpected_crash.next_steps": "Ceisiwch ail-lwytho y dudalen. Os nad yw hyn yn eich helpu, efallai gallech defnyddio Mastodon trwy borwr neu ap brodorol gwahanol.", "error.unexpected_crash.next_steps": "Ceisiwch ail-lwytho y dudalen. Os nad yw hyn yn eich helpu, efallai gallech defnyddio Mastodon trwy borwr neu ap brodorol gwahanol.",
"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": "Ceisiwch eu hanalluogi ac adnewyddu'r dudalen. Os nad yw hynny'n helpu, efallai y byddwch yn dal i allu defnyddio Mastodon trwy borwr neu ap cynhenid arall.",
"errors.unexpected_crash.copy_stacktrace": "Copïo'r olrhain stac i'r clipfwrdd", "errors.unexpected_crash.copy_stacktrace": "Copïo'r olrhain stac i'r clipfwrdd",
"errors.unexpected_crash.report_issue": "Rhoi gwybod am broblem", "errors.unexpected_crash.report_issue": "Rhoi gwybod am broblem",
"explore.search_results": "Search results", "explore.search_results": "Canlyniadau chwilio",
"explore.suggested_follows": "For you", "explore.suggested_follows": "I chi",
"explore.title": "Explore", "explore.title": "Archwilio",
"explore.trending_links": "News", "explore.trending_links": "Newyddion",
"explore.trending_statuses": "Posts", "explore.trending_statuses": "Postiadau",
"explore.trending_tags": "Hashtags", "explore.trending_tags": "Hashnodau",
"follow_recommendations.done": "Wedi gorffen", "follow_recommendations.done": "Wedi gorffen",
"follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.", "follow_recommendations.heading": "Dilynwch y bobl yr hoffech chi weld eu postiadau! Dyma ambell i awgrymiad.",
"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": "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.",
@ -218,36 +221,36 @@
"hashtag.column_settings.tag_mode.none": "Dim o'r rhain", "hashtag.column_settings.tag_mode.none": "Dim o'r rhain",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column", "hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"home.column_settings.basic": "Syml", "home.column_settings.basic": "Syml",
"home.column_settings.show_reblogs": "Dangos bŵstiau", "home.column_settings.show_reblogs": "Dangos hybiau",
"home.column_settings.show_replies": "Dangos ymatebion", "home.column_settings.show_replies": "Dangos ymatebion",
"home.hide_announcements": "Cuddio cyhoeddiadau", "home.hide_announcements": "Cuddio cyhoeddiadau",
"home.show_announcements": "Dangos cyhoeddiadau", "home.show_announcements": "Dangos cyhoeddiadau",
"intervals.full.days": "{number, plural, one {# 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}}",
"keyboard_shortcuts.back": "i lywio nôl", "keyboard_shortcuts.back": "i lywio nôl",
"keyboard_shortcuts.blocked": "i agor rhestr defnyddwyr a flociwyd", "keyboard_shortcuts.blocked": "i agor rhestr defnyddwyr a flociwyd",
"keyboard_shortcuts.boost": "i fŵstio", "keyboard_shortcuts.boost": "i fŵstio",
"keyboard_shortcuts.column": "i ffocysu tŵt yn un o'r colofnau", "keyboard_shortcuts.column": "Ffocysu colofn",
"keyboard_shortcuts.compose": "i ffocysu yr ardal cyfansoddi testun", "keyboard_shortcuts.compose": "i ffocysu yr ardal cyfansoddi testun",
"keyboard_shortcuts.description": "Disgrifiad", "keyboard_shortcuts.description": "Disgrifiad",
"keyboard_shortcuts.direct": "i agor colofn negeseuon preifat", "keyboard_shortcuts.direct": "i agor colofn negeseuon preifat",
"keyboard_shortcuts.down": "i symud lawr yn y rhestr", "keyboard_shortcuts.down": "i symud lawr yn y rhestr",
"keyboard_shortcuts.enter": "i agor tŵt", "keyboard_shortcuts.enter": "Agor post",
"keyboard_shortcuts.favourite": "i hoffi", "keyboard_shortcuts.favourite": "i hoffi",
"keyboard_shortcuts.favourites": "i agor rhestr hoffi", "keyboard_shortcuts.favourites": "i agor rhestr hoffi",
"keyboard_shortcuts.federated": "i agor ffrwd y ffederasiwn", "keyboard_shortcuts.federated": "i agor ffrwd y ffederasiwn",
"keyboard_shortcuts.heading": "Llwybrau byr allweddell", "keyboard_shortcuts.heading": "Llwybrau byr allweddell",
"keyboard_shortcuts.home": "i agor ffrwd cartref", "keyboard_shortcuts.home": "i agor ffrwd cartref",
"keyboard_shortcuts.hotkey": "Bysell brys", "keyboard_shortcuts.hotkey": "Bysell brys",
"keyboard_shortcuts.legend": "i ddangos yr arwr yma", "keyboard_shortcuts.legend": "i ddangos y rhestr hon",
"keyboard_shortcuts.local": "i agor ffrwd lleol", "keyboard_shortcuts.local": "i agor ffrwd lleol",
"keyboard_shortcuts.mention": "i grybwyll yr awdur", "keyboard_shortcuts.mention": "i grybwyll yr awdur",
"keyboard_shortcuts.muted": "i agor rhestr defnyddwyr a dawelwyd", "keyboard_shortcuts.muted": "i agor rhestr defnyddwyr a dawelwyd",
"keyboard_shortcuts.my_profile": "i agor eich proffil", "keyboard_shortcuts.my_profile": "i agor eich proffil",
"keyboard_shortcuts.notifications": "i agor colofn hysbysiadau", "keyboard_shortcuts.notifications": "i agor colofn hysbysiadau",
"keyboard_shortcuts.open_media": "i agor cyfryngau", "keyboard_shortcuts.open_media": "i agor cyfryngau",
"keyboard_shortcuts.pinned": "i agor rhestr tŵtiau wedi'i pinio", "keyboard_shortcuts.pinned": "Agor rhestr postiadau wedi'u pinio",
"keyboard_shortcuts.profile": "i agor proffil yr awdur", "keyboard_shortcuts.profile": "i agor proffil yr awdur",
"keyboard_shortcuts.reply": "i ateb", "keyboard_shortcuts.reply": "i ateb",
"keyboard_shortcuts.requests": "i agor rhestr ceisiadau dilyn", "keyboard_shortcuts.requests": "i agor rhestr ceisiadau dilyn",
@ -256,7 +259,7 @@
"keyboard_shortcuts.start": "i agor colofn \"dechrau arni\"", "keyboard_shortcuts.start": "i agor colofn \"dechrau arni\"",
"keyboard_shortcuts.toggle_hidden": "i ddangos/cuddio testun tu ôl i CW", "keyboard_shortcuts.toggle_hidden": "i ddangos/cuddio testun tu ôl i CW",
"keyboard_shortcuts.toggle_sensitivity": "i ddangos/gyddio cyfryngau", "keyboard_shortcuts.toggle_sensitivity": "i ddangos/gyddio cyfryngau",
"keyboard_shortcuts.toot": "i ddechrau tŵt newydd sbon", "keyboard_shortcuts.toot": "Dechrau post newydd",
"keyboard_shortcuts.unfocus": "i ddad-ffocysu ardal cyfansoddi testun/chwilio", "keyboard_shortcuts.unfocus": "i ddad-ffocysu ardal cyfansoddi testun/chwilio",
"keyboard_shortcuts.up": "i symud yn uwch yn y rhestr", "keyboard_shortcuts.up": "i symud yn uwch yn y rhestr",
"lightbox.close": "Cau", "lightbox.close": "Cau",
@ -264,6 +267,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.title": "This profile has been hidden by the moderators of your server.",
"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",
@ -275,7 +280,7 @@
"lists.replies_policy.list": "Aelodau'r rhestr", "lists.replies_policy.list": "Aelodau'r rhestr",
"lists.replies_policy.none": "Neb", "lists.replies_policy.none": "Neb",
"lists.replies_policy.title": "Dangos ymatebion i:", "lists.replies_policy.title": "Dangos ymatebion i:",
"lists.search": "Chwilio ymysg pobl yr ydych yn ei ddilyn", "lists.search": "Chwilio ymysg pobl yr ydych yn eu dilyn",
"lists.subheading": "Eich rhestrau", "lists.subheading": "Eich rhestrau",
"load_pending": "{count, plural, one {# eitem newydd} other {# eitemau newydd}}", "load_pending": "{count, plural, one {# eitem newydd} other {# eitemau newydd}}",
"loading_indicator.label": "Llwytho...", "loading_indicator.label": "Llwytho...",
@ -289,12 +294,12 @@
"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",
"navigation_bar.compose": "Cyfansoddi t newydd", "navigation_bar.compose": "Cyfansoddi post newydd",
"navigation_bar.direct": "Negeseuon preifat", "navigation_bar.direct": "Negeseuon preifat",
"navigation_bar.discover": "Darganfod", "navigation_bar.discover": "Darganfod",
"navigation_bar.domain_blocks": "Parthau cuddiedig", "navigation_bar.domain_blocks": "Parthau cuddiedig",
"navigation_bar.edit_profile": "Golygu proffil", "navigation_bar.edit_profile": "Golygu proffil",
"navigation_bar.explore": "Explore", "navigation_bar.explore": "Archwilio",
"navigation_bar.favourites": "Ffefrynnau", "navigation_bar.favourites": "Ffefrynnau",
"navigation_bar.filters": "Geiriau a dawelwyd", "navigation_bar.filters": "Geiriau a dawelwyd",
"navigation_bar.follow_requests": "Ceisiadau dilyn", "navigation_bar.follow_requests": "Ceisiadau dilyn",
@ -305,28 +310,28 @@
"navigation_bar.logout": "Allgofnodi", "navigation_bar.logout": "Allgofnodi",
"navigation_bar.mutes": "Defnyddwyr a dawelwyd", "navigation_bar.mutes": "Defnyddwyr a dawelwyd",
"navigation_bar.personal": "Personol", "navigation_bar.personal": "Personol",
"navigation_bar.pins": "Tŵtiau 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.security": "Diogelwch", "navigation_bar.security": "Diogelwch",
"notification.admin.sign_up": "{name} signed up", "notification.admin.sign_up": "Cofrestrodd {name}",
"notification.favourite": "hoffodd {name} eich tŵt", "notification.favourite": "Hoffodd {name} eich post",
"notification.follow": "dilynodd {name} chi", "notification.follow": "Dilynodd {name} chi",
"notification.follow_request": "Mae {name} wedi gwneud cais i'ch dilyn", "notification.follow_request": "Mae {name} wedi gwneud cais i'ch dilyn",
"notification.mention": "Soniodd {name} amdanoch chi", "notification.mention": "Soniodd {name} amdanoch chi",
"notification.own_poll": "Mae eich pôl wedi diweddu", "notification.own_poll": "Mae eich pôl wedi diweddu",
"notification.poll": "Mae pleidlais rydych wedi pleidleisio ynddi wedi dod i ben", "notification.poll": "Mae pleidlais rydych wedi pleidleisio ynddi wedi dod i ben",
"notification.reblog": "Hysbysebodd {name} eich tŵt", "notification.reblog": "Hybodd {name} eich post",
"notification.status": "{name} newydd ei bostio", "notification.status": "{name} newydd ei bostio",
"notification.update": "{name} edited a post", "notification.update": "Golygodd {name} bost",
"notifications.clear": "Clirio hysbysiadau", "notifications.clear": "Clirio hysbysiadau",
"notifications.clear_confirmation": "Ydych chi'n sicr eich bod am glirio'ch holl hysbysiadau am byth?", "notifications.clear_confirmation": "Ydych chi'n sicr eich bod am glirio'ch holl hysbysiadau am byth?",
"notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "Cofrestriadau newydd:",
"notifications.column_settings.alert": "Hysbysiadau bwrdd gwaith", "notifications.column_settings.alert": "Hysbysiadau bwrdd gwaith",
"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": "Show filter bar", "notifications.column_settings.filter_bar.show_bar": "Dangos 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:",
@ -336,10 +341,10 @@
"notifications.column_settings.show": "Dangos yn y golofn", "notifications.column_settings.show": "Dangos yn y golofn",
"notifications.column_settings.sound": "Chwarae sain", "notifications.column_settings.sound": "Chwarae sain",
"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": "Hysbysiadau heb eu darllen",
"notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", "notifications.column_settings.unread_notifications.highlight": "Amlygu hysbysiadau heb eu darllen",
"notifications.column_settings.update": "Edits:", "notifications.column_settings.update": "Golygiadau:",
"notifications.filter.all": "Pob", "notifications.filter.all": "Popeth",
"notifications.filter.boosts": "Hybiadau", "notifications.filter.boosts": "Hybiadau",
"notifications.filter.favourites": "Ffefrynnau", "notifications.filter.favourites": "Ffefrynnau",
"notifications.filter.follows": "Yn dilyn", "notifications.filter.follows": "Yn dilyn",
@ -362,116 +367,116 @@
"poll.total_votes": "{count, plural, one {# bleidlais} other {# o bleidleisiau}}", "poll.total_votes": "{count, plural, one {# bleidlais} other {# o bleidleisiau}}",
"poll.vote": "Pleidleisio", "poll.vote": "Pleidleisio",
"poll.voted": "Pleidleisioch chi am yr ateb hon", "poll.voted": "Pleidleisioch chi am yr ateb hon",
"poll.votes": "{votes, plural, one {# vote} other {# votes}}", "poll.votes": "{votes, plural, one {# bleidlais} other {# o bleidleisiau}}",
"poll_button.add_poll": "Ychwanegu pleidlais", "poll_button.add_poll": "Ychwanegu pleidlais",
"poll_button.remove_poll": "Tynnu pleidlais", "poll_button.remove_poll": "Tynnu pleidlais",
"privacy.change": "Addasu preifatrwdd y t", "privacy.change": "Addasu preifatrwdd y post",
"privacy.direct.long": "Cyhoeddi i'r defnyddwyr sy'n cael eu crybwyll yn unig", "privacy.direct.long": "Cyhoeddi i'r defnyddwyr sy'n cael eu crybwyll yn unig",
"privacy.direct.short": "Uniongyrchol", "privacy.direct.short": "Pobl sy wedi'u crybwyll yn unig",
"privacy.private.long": "Cyhoeddi i ddilynwyr yn unig", "privacy.private.long": "Cyhoeddi i ddilynwyr yn unig",
"privacy.private.short": "Dilynwyr-yn-unig", "privacy.private.short": "Dilynwyr yn unig",
"privacy.public.long": "Cyhoeddi i ffrydiau cyhoeddus", "privacy.public.long": "Gweladwy i bawb",
"privacy.public.short": "Cyhoeddus", "privacy.public.short": "Cyhoeddus",
"privacy.unlisted.long": "Peidio a chyhoeddi i ffrydiau cyhoeddus", "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",
"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!",
"relative_time.days": "{number}dydd", "relative_time.days": "{number} dydd",
"relative_time.full.days": "{number, plural, one {# day} other {# days}} ago", "relative_time.full.days": "{number, plural, one {# dydd} other {# o ddyddiau}} yn ôl",
"relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago", "relative_time.full.hours": "{number, plural, one {# awr} other {# o oriau}} yn ôl",
"relative_time.full.just_now": "just now", "relative_time.full.just_now": "jyst nawr",
"relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", "relative_time.full.minutes": "{number, plural, one {# funud} other {# o funudau}} yn ôl",
"relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", "relative_time.full.seconds": "{number, plural, one {# eiliad} other {# o eiliadau}} yn ôl",
"relative_time.hours": "{number}awr", "relative_time.hours": "{number} awr",
"relative_time.just_now": "nawr", "relative_time.just_now": "nawr",
"relative_time.minutes": "{number}munud", "relative_time.minutes": "{number} munud",
"relative_time.seconds": "{number}eiliad", "relative_time.seconds": "{number} eiliad",
"relative_time.today": "heddiw", "relative_time.today": "heddiw",
"reply_indicator.cancel": "Canslo", "reply_indicator.cancel": "Canslo",
"report.block": "Block", "report.block": "Blocio",
"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": "Ni welwch chi eu postiadau. Ni allan nhw weld eich postiadau na'ch dilyn. Byddan nhw'n gallu gweld eu bod nhw wedi'u rhwystro.",
"report.categories.other": "Arall", "report.categories.other": "Arall",
"report.categories.spam": "Sbam", "report.categories.spam": "Sbam",
"report.categories.violation": "Content violates one or more server rules", "report.categories.violation": "Mae cynnwys yn torri un neu fwy o reolau'r gweinydd",
"report.category.subtitle": "Choose the best match", "report.category.subtitle": "Dewiswch yr ateb gorau",
"report.category.title": "Tell us what's going on with this {type}", "report.category.title": "Beth sy'n bod â'r {type} hwn?",
"report.category.title_account": "profile", "report.category.title_account": "proffil",
"report.category.title_status": "post", "report.category.title_status": "post",
"report.close": "Done", "report.close": "Iawn",
"report.comment.title": "Is there anything else you think we should know?", "report.comment.title": "Oes unrhyw beth arall y dylem ei wybod yn eich barn chi?",
"report.forward": "Ymlaen i {target}", "report.forward": "Ymlaen i {target}",
"report.forward_hint": "Mae'r cyfrif o weinydd arall. Anfon copi anhysbys o'r adroddiad yno hefyd?", "report.forward_hint": "Mae'r cyfrif o weinydd arall. Anfon copi anhysbys o'r adroddiad yno hefyd?",
"report.mute": "Mute", "report.mute": "Mudo",
"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": "Ni fyddwch yn gweld eu postiadau. Gallant eich dilyn o hyd a gweld eich postiadau ac ni fyddant yn gwybod eu bod nhw wedi'u mudo.",
"report.next": "Next", "report.next": "Nesaf",
"report.placeholder": "Sylwadau ychwanegol", "report.placeholder": "Sylwadau ychwanegol",
"report.reasons.dislike": "I don't like it", "report.reasons.dislike": "Dydw i ddim yn ei hoffi",
"report.reasons.dislike_description": "It is not something you want to see", "report.reasons.dislike_description": "Nid yw'n rhywbeth yr ydych am ei weld",
"report.reasons.other": "It's something else", "report.reasons.other": "Mae'n rhywbeth arall",
"report.reasons.other_description": "The issue does not fit into other categories", "report.reasons.other_description": "Nid yw'r mater yn ffitio i gategorïau eraill",
"report.reasons.spam": "It's spam", "report.reasons.spam": "Sothach yw e",
"report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", "report.reasons.spam_description": "Cysylltiadau maleisus, ymgysylltu ffug, neu atebion ailadroddus",
"report.reasons.violation": "It violates server rules", "report.reasons.violation": "Mae'n torri rheolau'r gweinydd",
"report.reasons.violation_description": "You are aware that it breaks specific rules", "report.reasons.violation_description": "Rydych yn ymwybodol ei fod yn torri rheolau penodol",
"report.rules.subtitle": "Select all that apply", "report.rules.subtitle": "Dewiswch bob un sy'n berthnasol",
"report.rules.title": "Which rules are being violated?", "report.rules.title": "Pa reolau sy'n cael eu torri?",
"report.statuses.subtitle": "Select all that apply", "report.statuses.subtitle": "Dewiswch bob un sy'n berthnasol",
"report.statuses.title": "Are there any posts that back up this report?", "report.statuses.title": "Oes postiadau eraill sy'n cefnogi'r adroddiad hwn?",
"report.submit": "Cyflwyno", "report.submit": "Cyflwyno",
"report.target": "Cwyno am {target}", "report.target": "Cwyno am {target}",
"report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", "report.thanks.take_action": "Dyma'ch opsiynau ar gyfer rheoli'r hyn a welwch ar Mastodon:",
"report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", "report.thanks.take_action_actionable": "Tra byddwn yn edrych ar hyn, gallwch gymryd camau yn erbyn @{name}:",
"report.thanks.title": "Don't want to see this?", "report.thanks.title": "Ddim eisiau gweld hwn?",
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", "report.thanks.title_actionable": "Diolch am adrodd, byddwn yn ymchwilio i hyn.",
"report.unfollow": "Unfollow @{name}", "report.unfollow": "Dad-ddilyn @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "report.unfollow_explanation": "Rydych chi'n dilyn y cyfrif hwn. I beidio â gweld eu postiadau yn eich porthiant cartref mwyach, dad-ddilynwch nhw.",
"search.placeholder": "Chwilio", "search.placeholder": "Chwilio",
"search_popout.search_format": "Fformat chwilio uwch", "search_popout.search_format": "Fformat chwilio uwch",
"search_popout.tips.full_text": "Mae testun syml yn dychwelyd tŵtiau yr ydych wedi ysgrifennu, hoffi, wedi'u bŵstio, neu wedi'ch crybwyll ynddynt, ynghyd a chyfateb a enwau defnyddwyr, enwau arddangos ac hashnodau.", "search_popout.tips.full_text": "Mae testun syml yn dychwelyd postiadau yr ydych wedi ysgrifennu, hoffi, wedi'u hybio, neu wedi'ch crybwyll ynddynt, ynghyd a chyfateb a enwau defnyddwyr, enwau arddangos ac hashnodau.",
"search_popout.tips.hashtag": "hashnod", "search_popout.tips.hashtag": "hashnod",
"search_popout.tips.status": "t", "search_popout.tips.status": "post",
"search_popout.tips.text": "Mae testun syml yn dychwelyd enwau arddangos, enwau defnyddwyr a hashnodau sy'n cyfateb", "search_popout.tips.text": "Mae testun syml yn dychwelyd enwau arddangos, enwau defnyddwyr a hashnodau sy'n cyfateb",
"search_popout.tips.user": "defnyddiwr", "search_popout.tips.user": "defnyddiwr",
"search_results.accounts": "Pobl", "search_results.accounts": "Pobl",
"search_results.all": "All", "search_results.all": "Popeth",
"search_results.hashtags": "Hanshnodau", "search_results.hashtags": "Hashnodau",
"search_results.nothing_found": "Could not find anything for these search terms", "search_results.nothing_found": "Methu dod o hyd i unrhyw beth ar gyfer y termau chwilio hyn",
"search_results.statuses": "Tŵtiau", "search_results.statuses": "Postiadau",
"search_results.statuses_fts_disabled": "Nid yw chwilio Tŵtiau 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.total": "{count, number} {count, plural, one {result} other {results}}", "search_results.total": "{count, number} {count, plural, zero {canlyniad} one {canlyniad} two {ganlyniad} other {o ganlyniadau}}",
"status.admin_account": "Agor rhyngwyneb goruwchwylio ar gyfer @{name}", "status.admin_account": "Agor rhyngwyneb goruwchwylio ar gyfer @{name}",
"status.admin_status": "Agor y tŵt yn y rhyngwyneb goruwchwylio", "status.admin_status": "Agor y post hwn yn y rhyngwyneb goruwchwylio",
"status.block": "Blocio @{name}", "status.block": "Blocio @{name}",
"status.bookmark": "Tudalnodi", "status.bookmark": "Tudalnodi",
"status.cancel_reblog_private": "Dadfŵstio", "status.cancel_reblog_private": "Dadfŵstio",
"status.cannot_reblog": "Ni ellir sbarduno'r tŵt hwn", "status.cannot_reblog": "Ni ellir hybio'r post hwn",
"status.copy": "Copïo cysylltiad i'r tŵt", "status.copy": "Copïo dolen i'r post",
"status.delete": "Dileu", "status.delete": "Dileu",
"status.detailed_status": "Golwg manwl o'r sgwrs", "status.detailed_status": "Golwg manwl o'r sgwrs",
"status.direct": "Neges breifat @{name}", "status.direct": "Neges breifat @{name}",
"status.edit": "Edit", "status.edit": "Golygu",
"status.edited": "Edited {date}", "status.edited": "Ymunodd {date}",
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", "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.filtered": "Wedi'i hidlo", "status.filtered": "Wedi'i hidlo",
"status.history.created": "{name} created {date}", "status.history.created": "{name} greuodd {date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "{name} olygodd {date}",
"status.load_more": "Llwythwch mwy", "status.load_more": "Llwythwch mwy",
"status.media_hidden": "Cyfryngau wedi'u cuddio", "status.media_hidden": "Cyfryngau wedi'u cuddio",
"status.mention": "Crybwyll @{name}", "status.mention": "Crybwyll @{name}",
"status.more": "Mwy", "status.more": "Mwy",
"status.mute": "Tawelu @{name}", "status.mute": "Tawelu @{name}",
"status.mute_conversation": "Tawelu sgwrs", "status.mute_conversation": "Tawelu sgwrs",
"status.open": "Ehangu'r t hwn", "status.open": "Ehangu'r post hwn",
"status.pin": "Pinio ar y proffil", "status.pin": "Pinio ar y proffil",
"status.pinned": "Pinio tŵt", "status.pinned": "Post wedi'i binio",
"status.read_more": "Darllen mwy", "status.read_more": "Darllen mwy",
"status.reblog": "Hybu", "status.reblog": "Hybu",
"status.reblog_private": "Hybu i'r gynulleidfa wreiddiol", "status.reblog_private": "Hybu i'r gynulleidfa wreiddiol",
"status.reblogged_by": "Bŵstio {name}", "status.reblogged_by": "Hybodd {name}",
"status.reblogs.empty": "Does neb wedi bŵstio'r tŵt yma eto. Pan y bydd rhywun yn gwneud, byddent yn ymddangos yma.", "status.reblogs.empty": "Does neb wedi hybio'r post yma eto. Pan y bydd rhywun yn gwneud, byddent yn ymddangos yma.",
"status.redraft": "Dileu & ailddrafftio", "status.redraft": "Dileu & ailddrafftio",
"status.remove_bookmark": "Tynnu'r tudalnod", "status.remove_bookmark": "Tynnu'r tudalnod",
"status.reply": "Ateb", "status.reply": "Ateb",
@ -502,7 +507,7 @@
"timeline_hint.remote_resource_not_displayed": "ni chaiff {resource} o gweinyddion eraill ei ddangos.", "timeline_hint.remote_resource_not_displayed": "ni chaiff {resource} o gweinyddion eraill ei ddangos.",
"timeline_hint.resources.followers": "Dilynwyr", "timeline_hint.resources.followers": "Dilynwyr",
"timeline_hint.resources.follows": "Yn dilyn", "timeline_hint.resources.follows": "Yn dilyn",
"timeline_hint.resources.statuses": "Tŵtiau henach", "timeline_hint.resources.statuses": "Postiadau hŷn",
"trends.counter_by_accounts": "{count, plural, one {{counter} berson} other {{counter} o bobl}}", "trends.counter_by_accounts": "{count, plural, one {{counter} berson} other {{counter} o bobl}}",
"trends.trending_now": "Yn tueddu nawr", "trends.trending_now": "Yn tueddu nawr",
"ui.beforeunload": "Mi fyddwch yn colli eich drafft os gadewch Mastodon.", "ui.beforeunload": "Mi fyddwch yn colli eich drafft os gadewch Mastodon.",
@ -515,20 +520,20 @@
"upload_error.poll": "Nid oes modd uwchlwytho ffeiliau â phleidleisiau.", "upload_error.poll": "Nid oes modd uwchlwytho ffeiliau â phleidleisiau.",
"upload_form.audio_description": "Disgrifio ar gyfer pobl sydd â cholled clyw", "upload_form.audio_description": "Disgrifio ar gyfer pobl sydd â cholled clyw",
"upload_form.description": "Disgrifio i'r rheini a nam ar ei golwg", "upload_form.description": "Disgrifio i'r rheini a nam ar ei golwg",
"upload_form.description_missing": "No description added", "upload_form.description_missing": "Dim disgrifiad wedi'i ychwanegu",
"upload_form.edit": "Golygu", "upload_form.edit": "Golygu",
"upload_form.thumbnail": "Newid mân-lun", "upload_form.thumbnail": "Newid mân-lun",
"upload_form.undo": "Dileu", "upload_form.undo": "Dileu",
"upload_form.video_description": "Disgrifio ar gyfer pobl sydd â cholled clyw neu amhariad golwg", "upload_form.video_description": "Disgrifio ar gyfer pobl sydd â cholled clyw neu amhariad golwg",
"upload_modal.analyzing_picture": "Dadansoddi llun…", "upload_modal.analyzing_picture": "Dadansoddi llun…",
"upload_modal.apply": "Gweithredu", "upload_modal.apply": "Gweithredu",
"upload_modal.applying": "Applying…", "upload_modal.applying": "Gweithio…",
"upload_modal.choose_image": "Dewis delwedd", "upload_modal.choose_image": "Dewis delwedd",
"upload_modal.description_placeholder": "Mae ei phen bach llawn jocs, 'run peth a fy nghot golff, rhai dyddiau", "upload_modal.description_placeholder": "Mae ei phen bach llawn jocs, 'run peth a fy nghot golff, rhai dyddiau",
"upload_modal.detect_text": "Canfod testun o'r llun", "upload_modal.detect_text": "Canfod testun o'r llun",
"upload_modal.edit_media": "Golygu cyfryngau", "upload_modal.edit_media": "Golygu cyfryngau",
"upload_modal.hint": "Cliciwch neu llusgwch y cylch ar y rhagolwg i ddewis y canolbwynt a fydd bob amser i'w weld ar bob mân-lunau.", "upload_modal.hint": "Cliciwch neu llusgwch y cylch ar y rhagolwg i ddewis y canolbwynt a fydd bob amser i'w weld ar bob mân-lunau.",
"upload_modal.preparing_ocr": "Preparing 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...",
"video.close": "Cau fideo", "video.close": "Cau fideo",

View File

@ -92,8 +92,10 @@
"community.column_settings.local_only": "Kun lokalt", "community.column_settings.local_only": "Kun lokalt",
"community.column_settings.media_only": "Kun medier", "community.column_settings.media_only": "Kun medier",
"community.column_settings.remote_only": "Kun udefra", "community.column_settings.remote_only": "Kun udefra",
"compose_form.direct_message_warning": "Indlægget sendes kun til de nævnte brugere.", "compose.language.change": "Change language",
"compose.language.search": "Search languages...",
"compose_form.direct_message_warning_learn_more": "Få mere at vide", "compose_form.direct_message_warning_learn_more": "Få mere at vide",
"compose_form.encryption_warning": "Indlæg på Mastodon er ikke ende-til-ende krypteret. Del derfor ikke sensitiv information over Mastodon.",
"compose_form.hashtag_warning": "Da indlægget ikke er offentligt, vises det ikke under noget hashtag, idet kun offentlige indlæg kan søges via hashtags.", "compose_form.hashtag_warning": "Da indlægget ikke er offentligt, vises det ikke under noget hashtag, idet kun offentlige indlæg kan søges via hashtags.",
"compose_form.lock_disclaimer": "Din konto er ikke {locked}. Enhver kan følge dig og se indlæg kun beregnet for følgere.", "compose_form.lock_disclaimer": "Din konto er ikke {locked}. Enhver kan følge dig og se indlæg kun beregnet for følgere.",
"compose_form.lock_disclaimer.lock": "låst", "compose_form.lock_disclaimer.lock": "låst",
@ -147,6 +149,7 @@
"embed.instructions": "Indlejr dette indlæg på dit websted ved at kopiere nedenstående kode.", "embed.instructions": "Indlejr dette indlæg på dit websted ved at kopiere nedenstående kode.",
"embed.preview": "Sådan kommer det til at se ud:", "embed.preview": "Sådan kommer det til at se ud:",
"emoji_button.activity": "Aktivitet", "emoji_button.activity": "Aktivitet",
"emoji_button.clear": "Clear",
"emoji_button.custom": "Tilpasset", "emoji_button.custom": "Tilpasset",
"emoji_button.flags": "Flag", "emoji_button.flags": "Flag",
"emoji_button.food": "Mad og drikke", "emoji_button.food": "Mad og drikke",
@ -166,7 +169,7 @@
"empty_column.blocks": "Ingen brugere blokeret endnu.", "empty_column.blocks": "Ingen brugere blokeret endnu.",
"empty_column.bookmarked_statuses": "Du har ingen bogmærkede indlæg endnu. Når du bogmærker ét, vil det dukke op hér.", "empty_column.bookmarked_statuses": "Du har ingen bogmærkede indlæg endnu. Når du bogmærker ét, vil det dukke op hér.",
"empty_column.community": "Den lokale tidslinje er tom. Skriv noget offentligt for at sætte tingene i gang!", "empty_column.community": "Den lokale tidslinje er tom. Skriv noget offentligt for at sætte tingene i gang!",
"empty_column.direct": "Du har endnu ingen direkte beskeder. Når du sender eller modtager én, vil den dukke op hér.", "empty_column.direct": "Der er endnu ingen direkte beskeder. Når en sendes eller modtages, dukker den op hér.",
"empty_column.domain_blocks": "Ingen blokerede domæner endnu.", "empty_column.domain_blocks": "Ingen blokerede domæner endnu.",
"empty_column.explore_statuses": "Ingen nye tendensen pt. Tjek igen senere!", "empty_column.explore_statuses": "Ingen nye tendensen pt. Tjek igen senere!",
"empty_column.favourited_statuses": "Du har endnu ingen favoritindlæg. Når du favoritmarkerer ét, vil det dukke op hér.", "empty_column.favourited_statuses": "Du har endnu ingen favoritindlæg. Når du favoritmarkerer ét, vil det dukke op hér.",
@ -231,7 +234,7 @@
"keyboard_shortcuts.column": "Fokusér kolonne", "keyboard_shortcuts.column": "Fokusér kolonne",
"keyboard_shortcuts.compose": "Fokusér skriveområdet", "keyboard_shortcuts.compose": "Fokusér skriveområdet",
"keyboard_shortcuts.description": "Beskrivelse", "keyboard_shortcuts.description": "Beskrivelse",
"keyboard_shortcuts.direct": "Åbn Direkte beskeder-kolonnen", "keyboard_shortcuts.direct": "for at åbne direkte beskeder-kolonnen",
"keyboard_shortcuts.down": "Flyt nedad på listen", "keyboard_shortcuts.down": "Flyt nedad på listen",
"keyboard_shortcuts.enter": "Åbn indlæg", "keyboard_shortcuts.enter": "Åbn indlæg",
"keyboard_shortcuts.favourite": "Favoritmarkér indlæg", "keyboard_shortcuts.favourite": "Favoritmarkér indlæg",
@ -264,6 +267,8 @@
"lightbox.expand": "Udvid billedevisningsfelt", "lightbox.expand": "Udvid billedevisningsfelt",
"lightbox.next": "Næste", "lightbox.next": "Næste",
"lightbox.previous": "Forrige", "lightbox.previous": "Forrige",
"limited_account_hint.action": "Vis profil alligevel",
"limited_account_hint.title": "Denne profil er blevet skjult af servermoderatorerne.",
"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",
@ -367,12 +372,12 @@
"poll_button.remove_poll": "Fjern afstemning", "poll_button.remove_poll": "Fjern afstemning",
"privacy.change": "Justér indlægsfortrolighed", "privacy.change": "Justér indlægsfortrolighed",
"privacy.direct.long": "Kun synlig for nævnte brugere", "privacy.direct.long": "Kun synlig for nævnte brugere",
"privacy.direct.short": "Direkte", "privacy.direct.short": "Kun nævnte personer",
"privacy.private.long": "Kun synlig for følgere", "privacy.private.long": "Kun synlig for følgere",
"privacy.private.short": "Kun for følgere", "privacy.private.short": "Kun følgere",
"privacy.public.long": "Synlig for alle, fremgår på offentlige tidslinjer", "privacy.public.long": "Synlig for alle",
"privacy.public.short": "Offentlig", "privacy.public.short": "Offentlig",
"privacy.unlisted.long": "Synlig for alle, fremgår ikke på offentlige tidslinjer", "privacy.unlisted.long": "Synlig for alle, men med fravalgt visning i opdagelsesfunktioner",
"privacy.unlisted.short": "Diskret", "privacy.unlisted.short": "Diskret",
"refresh": "Genindlæs", "refresh": "Genindlæs",
"regeneration_indicator.label": "Indlæser…", "regeneration_indicator.label": "Indlæser…",
@ -515,7 +520,7 @@
"upload_error.poll": "Filupload ikke tilladt for afstemninger.", "upload_error.poll": "Filupload ikke tilladt for afstemninger.",
"upload_form.audio_description": "Beskrivelse til hørehæmmede", "upload_form.audio_description": "Beskrivelse til hørehæmmede",
"upload_form.description": "Beskrivelse til svagtseende", "upload_form.description": "Beskrivelse til svagtseende",
"upload_form.description_missing": "No description added", "upload_form.description_missing": "Ingen beskrivelse tilføjet",
"upload_form.edit": "Redigér", "upload_form.edit": "Redigér",
"upload_form.thumbnail": "Skift miniature", "upload_form.thumbnail": "Skift miniature",
"upload_form.undo": "Slet", "upload_form.undo": "Slet",

View File

@ -19,16 +19,16 @@
"account.followers.empty": "Diesem Profil folgt noch niemand.", "account.followers.empty": "Diesem Profil folgt noch niemand.",
"account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Follower}}", "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Follower}}",
"account.following": "Folgt", "account.following": "Folgt",
"account.following_counter": "{count, plural, one {{counter} Folgender} other {{counter} Folgende}}", "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.hide_reblogs": "Geteilte Beiträge von @{name} verbergen", "account.hide_reblogs": "Geteilte Beiträge von @{name} verbergen",
"account.joined": "Beigetreten am {date}", "account.joined": "Beigetreten am {date}",
"account.link_verified_on": "Besitz dieses Links wurde geprüft am {date}", "account.link_verified_on": "Besitz dieses Links wurde geprüft am {date}",
"account.locked_info": "Der Privatsphärenstatus dieses Accounts wurde auf gesperrt gesetzt. Die Person bestimmt manuell wer ihm/ihr folgen darf.", "account.locked_info": "Der Privatsphärenstatus dieses Accounts wurde auf gesperrt gesetzt. Die Person bestimmt manuell, wer ihm/ihr folgen darf.",
"account.media": "Medien", "account.media": "Medien",
"account.mention": "@{name} erwähnen", "account.mention": "@{name} erwähnen",
"account.moved_to": "{name} ist umgezogen auf:", "account.moved_to": "{name} ist umgezogen nach:",
"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",
@ -39,26 +39,26 @@
"account.share": "Profil von @{name} teilen", "account.share": "Profil von @{name} teilen",
"account.show_reblogs": "Von @{name} geteilte Beiträge anzeigen", "account.show_reblogs": "Von @{name} geteilte Beiträge anzeigen",
"account.statuses_counter": "{count, plural, one {{counter} Beitrag} other {{counter} Beiträge}}", "account.statuses_counter": "{count, plural, one {{counter} Beitrag} other {{counter} Beiträge}}",
"account.unblock": "@{name} entblocken", "account.unblock": "Blockierung von @{name} aufheben",
"account.unblock_domain": "{domain} wieder anzeigen", "account.unblock_domain": "{domain} wieder anzeigen",
"account.unblock_short": "Blockierung aufheben", "account.unblock_short": "Blockierung aufheben",
"account.unendorse": "Nicht auf Profil hervorheben", "account.unendorse": "Nicht mehr im Profil anzeigen",
"account.unfollow": "Entfolgen", "account.unfollow": "Entfolgen",
"account.unmute": "@{name} nicht mehr stummschalten", "account.unmute": "Stummschaltung von @{name} aufheben",
"account.unmute_notifications": "Benachrichtigungen von @{name} einschalten", "account.unmute_notifications": "Benachrichtigungen von @{name} einschalten",
"account.unmute_short": "Nicht mehr stummschalten", "account.unmute_short": "Stummschaltung aufheben",
"account_note.placeholder": "Notiz durch Klicken hinzufügen", "account_note.placeholder": "Notiz durch Klicken hinzufügen",
"admin.dashboard.daily_retention": "Benutzerverbleibrate nach Tag nach Anmeldung", "admin.dashboard.daily_retention": "Benutzerverbleibrate nach Tag nach Anmeldung",
"admin.dashboard.monthly_retention": "Benutzerverbleibrate nach Monat nach Anmeldung", "admin.dashboard.monthly_retention": "Benutzerverbleibrate nach Monat nach Anmeldung",
"admin.dashboard.retention.average": "Durchschnitt", "admin.dashboard.retention.average": "Durchschnitt",
"admin.dashboard.retention.cohort": "Anmeldemonat", "admin.dashboard.retention.cohort": "Monat der Anmeldung",
"admin.dashboard.retention.cohort_size": "Neue Benutzer", "admin.dashboard.retention.cohort_size": "Neue Benutzer",
"alert.rate_limited.message": "Bitte versuche es nach {retry_time, time, medium}.", "alert.rate_limited.message": "Bitte versuche es nach {retry_time, time, medium} erneut.",
"alert.rate_limited.title": "Anfragelimit überschritten", "alert.rate_limited.title": "Anfragelimit überschritten",
"alert.unexpected.message": "Ein unerwarteter Fehler ist aufgetreten.", "alert.unexpected.message": "Ein unerwarteter Fehler ist aufgetreten.",
"alert.unexpected.title": "Hoppla!", "alert.unexpected.title": "Hoppla!",
"announcement.announcement": "Ankündigung", "announcement.announcement": "Ankündigung",
"attachments_list.unprocessed": "(unverarbeitet)", "attachments_list.unprocessed": "(ausstehend)",
"autosuggest_hashtag.per_week": "{count} pro Woche", "autosuggest_hashtag.per_week": "{count} pro Woche",
"boost_modal.combo": "Drücke {combo}, um dieses Fenster zu überspringen", "boost_modal.combo": "Drücke {combo}, um dieses Fenster zu überspringen",
"bundle_column_error.body": "Etwas ist beim Laden schiefgelaufen.", "bundle_column_error.body": "Etwas ist beim Laden schiefgelaufen.",
@ -70,7 +70,7 @@
"column.blocks": "Blockierte Profile", "column.blocks": "Blockierte Profile",
"column.bookmarks": "Lesezeichen", "column.bookmarks": "Lesezeichen",
"column.community": "Lokale Zeitleiste", "column.community": "Lokale Zeitleiste",
"column.direct": "Direktnachrichten", "column.direct": "Mensaxes directas",
"column.directory": "Profile durchsuchen", "column.directory": "Profile durchsuchen",
"column.domain_blocks": "Blockierte Domains", "column.domain_blocks": "Blockierte Domains",
"column.favourites": "Favoriten", "column.favourites": "Favoriten",
@ -92,8 +92,10 @@
"community.column_settings.local_only": "Nur lokal", "community.column_settings.local_only": "Nur lokal",
"community.column_settings.media_only": "Nur Medien", "community.column_settings.media_only": "Nur Medien",
"community.column_settings.remote_only": "Nur entfernt", "community.column_settings.remote_only": "Nur entfernt",
"compose_form.direct_message_warning": "Dieser Beitrag wird nur für die erwähnten Nutzer sichtbar sein.", "compose.language.change": "Sprache ändern",
"compose.language.search": "Sprachen durchsuchen...",
"compose_form.direct_message_warning_learn_more": "Mehr erfahren", "compose_form.direct_message_warning_learn_more": "Mehr erfahren",
"compose_form.encryption_warning": "Beiträge auf Mastodon sind nicht Ende-zu-Ende-verschlüsselt. Teile keine sensiblen Informationen über Mastodon.",
"compose_form.hashtag_warning": "Dieser Beitrag wird nicht durch Hashtags entdeckbar sein, weil er ungelistet ist. Nur öffentliche Beiträge tauchen in Hashtag-Zeitleisten auf.", "compose_form.hashtag_warning": "Dieser Beitrag wird nicht durch Hashtags entdeckbar sein, weil er ungelistet ist. Nur öffentliche Beiträge tauchen in Hashtag-Zeitleisten 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": "gesperrt", "compose_form.lock_disclaimer.lock": "gesperrt",
@ -133,7 +135,7 @@
"confirmations.redraft.confirm": "Löschen und neu erstellen", "confirmations.redraft.confirm": "Löschen und neu erstellen",
"confirmations.redraft.message": "Bist du dir sicher, dass du diesen Beitrag löschen und neu machen möchtest? Favoriten und Boosts werden verloren gehen und Antworten zu diesem Beitrag werden verwaist sein.", "confirmations.redraft.message": "Bist du dir sicher, dass du diesen Beitrag löschen und neu machen möchtest? Favoriten und Boosts werden verloren gehen und Antworten zu diesem Beitrag werden verwaist sein.",
"confirmations.reply.confirm": "Antworten", "confirmations.reply.confirm": "Antworten",
"confirmations.reply.message": "Wenn du jetzt antwortest wird es die gesamte Nachricht verwerfen, die du gerade schreibst. Möchtest du wirklich fortfahren?", "confirmations.reply.message": "Wenn du jetzt antwortest wird die gesamte Nachricht verworfen, die du gerade schreibst. Möchtest du wirklich fortfahren?",
"confirmations.unfollow.confirm": "Entfolgen", "confirmations.unfollow.confirm": "Entfolgen",
"confirmations.unfollow.message": "Bist du dir sicher, dass du {name} entfolgen möchtest?", "confirmations.unfollow.message": "Bist du dir sicher, dass du {name} entfolgen möchtest?",
"conversation.delete": "Unterhaltung löschen", "conversation.delete": "Unterhaltung löschen",
@ -147,6 +149,7 @@
"embed.instructions": "Du kannst diesen Beitrag auf deiner Webseite einbetten, indem du den folgenden Code einfügst.", "embed.instructions": "Du kannst diesen Beitrag auf deiner Webseite einbetten, indem du den folgenden Code einfügst.",
"embed.preview": "So wird es aussehen:", "embed.preview": "So wird es aussehen:",
"emoji_button.activity": "Aktivitäten", "emoji_button.activity": "Aktivitäten",
"emoji_button.clear": "Leeren",
"emoji_button.custom": "Eigene", "emoji_button.custom": "Eigene",
"emoji_button.flags": "Flaggen", "emoji_button.flags": "Flaggen",
"emoji_button.food": "Essen und Trinken", "emoji_button.food": "Essen und Trinken",
@ -165,8 +168,8 @@
"empty_column.account_unavailable": "Konto nicht verfügbar", "empty_column.account_unavailable": "Konto nicht verfügbar",
"empty_column.blocks": "Du hast keine Profile blockiert.", "empty_column.blocks": "Du hast 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 Zeitleiste ist leer. Schreibe einen öffentlichen Beitrag, um den Ball ins Rollen zu bringen!", "empty_column.community": "Die lokale Zeitleiste ist leer. Schreibe einen öffentlichen Beitrag, um den Stein ins Rollen zu bringen!",
"empty_column.direct": "Du hast noch keine Direktnachrichten erhalten. Wenn 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": "Es sind noch keine Domains versteckt.", "empty_column.domain_blocks": "Es sind noch keine Domains versteckt.",
"empty_column.explore_statuses": "Momentan ist nichts im Trend. Schau später wieder!", "empty_column.explore_statuses": "Momentan ist nichts im Trend. Schau später wieder!",
"empty_column.favourited_statuses": "Du hast noch keine favorisierten Tröts. Wenn du einen favorisierst, wird er hier erscheinen.", "empty_column.favourited_statuses": "Du hast noch keine favorisierten Tröts. Wenn du einen favorisierst, wird er hier erscheinen.",
@ -174,9 +177,9 @@
"empty_column.follow_recommendations": "Es sieht so aus, als könnten keine Vorschläge für dich generiert werden. Du kannst versuchen nach Leuten zu suchen, die du vielleicht kennst oder du kannst angesagte Hashtags erkunden.", "empty_column.follow_recommendations": "Es sieht so aus, als könnten keine Vorschläge für dich generiert werden. Du kannst versuchen nach Leuten zu suchen, die du vielleicht kennst oder du kannst angesagte Hashtags erkunden.",
"empty_column.follow_requests": "Du hast noch keine Folge-Anfragen. Sobald du eine erhältst, wird sie hier angezeigt.", "empty_column.follow_requests": "Du hast noch keine Folge-Anfragen. Sobald du eine erhältst, wird sie hier angezeigt.",
"empty_column.hashtag": "Unter diesem Hashtag gibt es noch nichts.", "empty_column.hashtag": "Unter diesem Hashtag gibt es noch nichts.",
"empty_column.home": "Deine Startseite ist leer! Besuche {public} oder nutze die Suche, um loszulegen und andere Leute zu finden.", "empty_column.home": "Deine Startseite ist leer! Folge mehr Leuten, um sie zu füllen. {suggestions}",
"empty_column.home.suggestions": "Ein paar Vorschläge ansehen", "empty_column.home.suggestions": "Ein paar Vorschläge ansehen",
"empty_column.list": "Diese Liste ist derzeit leer. Wenn Wesen auf dieser Liste neue Beiträge veröffentlichen werden sie hier erscheinen.", "empty_column.list": "Diese Liste ist derzeit leer. Wenn Konten auf dieser Liste neue Beiträge veröffentlichen werden sie hier erscheinen.",
"empty_column.lists": "Du hast noch keine Listen. Wenn du eine anlegst, wird sie hier angezeigt.", "empty_column.lists": "Du hast noch keine Listen. Wenn du eine anlegst, wird sie hier angezeigt.",
"empty_column.mutes": "Du hast keine Profile stummgeschaltet.", "empty_column.mutes": "Du hast keine Profile stummgeschaltet.",
"empty_column.notifications": "Du hast noch keine Mitteilungen. Interagiere mit anderen, um ins Gespräch zu kommen.", "empty_column.notifications": "Du hast noch keine Mitteilungen. Interagiere mit anderen, um ins Gespräch zu kommen.",
@ -198,7 +201,7 @@
"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",
"follow_requests.unlocked_explanation": "Auch wenn dein Konto nicht gesperrt ist, haben die Mitarbeiter von {domain} gedacht, dass es besser wäre den Follow manuell zu bestätigen.", "follow_requests.unlocked_explanation": "Auch wenn dein Konto nicht gesperrt ist, haben die Moderator_innen von {domain} gedacht, dass du diesen Follower lieber manuell bestätigen solltest.",
"generic.saved": "Gespeichert", "generic.saved": "Gespeichert",
"getting_started.developers": "Entwickler", "getting_started.developers": "Entwickler",
"getting_started.directory": "Profilverzeichnis", "getting_started.directory": "Profilverzeichnis",
@ -225,13 +228,13 @@
"intervals.full.days": "{number, plural, one {# Tag} other {# Tage}}", "intervals.full.days": "{number, plural, one {# Tag} other {# Tage}}",
"intervals.full.hours": "{number, plural, one {# Stunde} other {# Stunden}}", "intervals.full.hours": "{number, plural, one {# Stunde} other {# Stunden}}",
"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": "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": "Direct-Message-Spalte öffnen", "keyboard_shortcuts.direct": "um Direktnachrichtenspalte zu öffnen",
"keyboard_shortcuts.down": "sich in der Liste hinunter bewegen", "keyboard_shortcuts.down": "sich in der Liste hinunter bewegen",
"keyboard_shortcuts.enter": "Beitrag öffnen", "keyboard_shortcuts.enter": "Beitrag öffnen",
"keyboard_shortcuts.favourite": "um zu favorisieren", "keyboard_shortcuts.favourite": "um zu favorisieren",
@ -264,6 +267,8 @@
"lightbox.expand": "Bildansicht erweitern", "lightbox.expand": "Bildansicht erweitern",
"lightbox.next": "Weiter", "lightbox.next": "Weiter",
"lightbox.previous": "Zurück", "lightbox.previous": "Zurück",
"limited_account_hint.action": "Profil trotzdem anzeigen",
"limited_account_hint.title": "Dieses Profil wurde von den Moderatoren deines Servers versteckt.",
"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",
@ -279,7 +284,7 @@
"lists.subheading": "Deine Listen", "lists.subheading": "Deine Listen",
"load_pending": "{count, plural, one {# neuer Beitrag} other {# neue Beiträge}}", "load_pending": "{count, plural, one {# neuer Beitrag} other {# neue Beiträge}}",
"loading_indicator.label": "Wird geladen …", "loading_indicator.label": "Wird geladen …",
"media_gallery.toggle_visible": "Sichtbarkeit umschalten", "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",
"mute_modal.duration": "Dauer", "mute_modal.duration": "Dauer",
@ -367,12 +372,12 @@
"poll_button.remove_poll": "Umfrage entfernen", "poll_button.remove_poll": "Umfrage entfernen",
"privacy.change": "Sichtbarkeit des Beitrags anpassen", "privacy.change": "Sichtbarkeit des Beitrags anpassen",
"privacy.direct.long": "Wird an erwähnte Profile gesendet", "privacy.direct.long": "Wird an erwähnte Profile gesendet",
"privacy.direct.short": "Direktnachricht", "privacy.direct.short": "Nur erwähnte Personen",
"privacy.private.long": "Nur für Folgende sichtbar", "privacy.private.long": "Nur für Folgende sichtbar",
"privacy.private.short": "Nur für Folgende", "privacy.private.short": "Nur Follower",
"privacy.public.long": "Wird in öffentlichen Zeitleisten erscheinen", "privacy.public.long": "Für alle sichtbar",
"privacy.public.short": "Öffentlich", "privacy.public.short": "Öffentlich",
"privacy.unlisted.long": "Wird in öffentlichen Zeitleisten nicht gezeigt", "privacy.unlisted.long": "Sichtbar für alle, aber nicht über Entdeckungsfunktionen",
"privacy.unlisted.short": "Nicht gelistet", "privacy.unlisted.short": "Nicht gelistet",
"refresh": "Aktualisieren", "refresh": "Aktualisieren",
"regeneration_indicator.label": "Laden…", "regeneration_indicator.label": "Laden…",
@ -393,23 +398,23 @@
"report.block_explanation": "Du wirst die Beiträge von diesem Konto nicht sehen. Das Konto wird nicht in der Lage sein, deine Beiträge zu sehen oder dir zu folgen. Die Person hinter dem Konto wird wissen, dass du das Konto blockiert hast.", "report.block_explanation": "Du wirst die Beiträge von diesem Konto nicht sehen. Das Konto wird nicht in der Lage sein, deine Beiträge zu sehen oder dir zu folgen. Die Person hinter dem Konto wird wissen, dass du das Konto blockiert hast.",
"report.categories.other": "Andere", "report.categories.other": "Andere",
"report.categories.spam": "Spam", "report.categories.spam": "Spam",
"report.categories.violation": "Inhalt verletzt ein oder mehrere Server-Regeln", "report.categories.violation": "Der Inhalt verletzt eine oder mehrere Server-Regeln",
"report.category.subtitle": "Wähle die beste Zugehörigkeit", "report.category.subtitle": "Wähle die passendste Kategorie",
"report.category.title": "Sag uns, was mit diesem {type} vor sich geht", "report.category.title": "Sag uns, was das Problem mit diesem {type} ist",
"report.category.title_account": "Profil", "report.category.title_account": "Profil",
"report.category.title_status": "Beitrag", "report.category.title_status": "Beitrag",
"report.close": "Fertig", "report.close": "Fertig",
"report.comment.title": "Gibt es etwas anderes, was wir wissen sollten?", "report.comment.title": "Gibt es etwas anderes, was wir wissen sollten?",
"report.forward": "An {target} weiterleiten", "report.forward": "An {target} weiterleiten",
"report.forward_hint": "Dieses Konto ist von einem anderen Server. Soll eine anonymisierte Kopie des Berichts auch dorthin geschickt werden?", "report.forward_hint": "Dieses Konto gehört zu einem anderen Server. Soll eine anonymisierte Kopie der Meldung auch dorthin geschickt werden?",
"report.mute": "Stummschalten", "report.mute": "Stummschalten",
"report.mute_explanation": "Du wirst die Beiträge vom Konto nicht mehr sehen. Das Konto kann dir immernoch folgen und die Person hinter dem Konto wird deine Beiträge sehen können und nicht wissen, dass du sie stumm geschaltet hast.", "report.mute_explanation": "Du wirst die Beiträge vom Konto nicht mehr sehen. Das Konto kann dir immernoch folgen und die Person hinter dem Konto wird deine Beiträge sehen können und nicht wissen, dass du sie stumm geschaltet hast.",
"report.next": "Weiter", "report.next": "Weiter",
"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": "Das ist nicht etwas, was ihr nicht sehen wollt", "report.reasons.dislike_description": "Es ist etwas, das du nicht sehen willst",
"report.reasons.other": "Da ist was anderes", "report.reasons.other": "Da ist was anderes",
"report.reasons.other_description": "Das Problem passt nicht in eine der 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",
"report.reasons.violation": "Es verstößt gegen Serverregeln", "report.reasons.violation": "Es verstößt gegen Serverregeln",
@ -420,10 +425,10 @@
"report.statuses.title": "Gibt es Beiträge, die diesen Bericht unterstützen?", "report.statuses.title": "Gibt es Beiträge, die diesen Bericht unterstützen?",
"report.submit": "Absenden", "report.submit": "Absenden",
"report.target": "{target} melden", "report.target": "{target} melden",
"report.thanks.take_action": "Hier sind deine Optionen, die es dir erlauben zu kontrollieren, was du auf Mastodon sehen möchtest:", "report.thanks.take_action": "Das sind deine Möglichkeiten, zu bestimmen, was du auf Mastodon sehen möchtest:",
"report.thanks.take_action_actionable": "Während wir dies überprüfen, kannst du gegen @{name} vorgehen:", "report.thanks.take_action_actionable": "Während wir dies überprüfen, kannst du gegen @{name} vorgehen:",
"report.thanks.title": "Möchtest du das nicht sehen?", "report.thanks.title": "Möchtest du das nicht sehen?",
"report.thanks.title_actionable": "Vielen Dank für die Berichterstattung, wir werden uns damit befassen.", "report.thanks.title_actionable": "Vielen Dank für die Meldung, wir werden uns das ansehen.",
"report.unfollow": "@{name} entfolgen", "report.unfollow": "@{name} entfolgen",
"report.unfollow_explanation": "Du folgst diesem Konto. Um die Beiträge nicht mehr auf deiner Startseite zu sehen, entfolge dem Konto.", "report.unfollow_explanation": "Du folgst diesem Konto. Um die Beiträge nicht mehr auf deiner Startseite zu sehen, entfolge dem Konto.",
"search.placeholder": "Suche", "search.placeholder": "Suche",
@ -515,7 +520,7 @@
"upload_error.poll": "Dateiuploads sind in Kombination mit Umfragen nicht erlaubt.", "upload_error.poll": "Dateiuploads sind in Kombination mit Umfragen nicht erlaubt.",
"upload_form.audio_description": "Beschreibe die Audiodatei für Menschen mit Hörschädigungen", "upload_form.audio_description": "Beschreibe die Audiodatei für Menschen mit Hörschädigungen",
"upload_form.description": "Für Menschen mit Sehbehinderung beschreiben", "upload_form.description": "Für Menschen mit Sehbehinderung beschreiben",
"upload_form.description_missing": "No description added", "upload_form.description_missing": "Keine Beschreibung hinzugefügt",
"upload_form.edit": "Bearbeiten", "upload_form.edit": "Bearbeiten",
"upload_form.thumbnail": "Miniaturansicht ändern", "upload_form.thumbnail": "Miniaturansicht ändern",
"upload_form.undo": "Löschen", "upload_form.undo": "Löschen",
@ -524,7 +529,7 @@
"upload_modal.apply": "Übernehmen", "upload_modal.apply": "Übernehmen",
"upload_modal.applying": "Anwenden…", "upload_modal.applying": "Anwenden…",
"upload_modal.choose_image": "Bild auswählen", "upload_modal.choose_image": "Bild auswählen",
"upload_modal.description_placeholder": "Die heiße Zypernsonne quälte Max und Victoria ja böse auf dem Weg bis zur Küste", "upload_modal.description_placeholder": "Victor jagt zwölf Boxkämpfer quer über den großen Sylter Deich",
"upload_modal.detect_text": "Text aus Bild erkennen", "upload_modal.detect_text": "Text aus Bild erkennen",
"upload_modal.edit_media": "Medien bearbeiten", "upload_modal.edit_media": "Medien bearbeiten",
"upload_modal.hint": "Klicke oder ziehe den Kreis auf die Vorschau, um den Brennpunkt auszuwählen, der immer auf allen Vorschaubilder angezeigt wird.", "upload_modal.hint": "Klicke oder ziehe den Kreis auf die Vorschau, um den Brennpunkt auszuwählen, der immer auf allen Vorschaubilder angezeigt wird.",

View File

@ -75,6 +75,14 @@
{ {
"defaultMessage": "Unmute notifications from @{name}", "defaultMessage": "Unmute notifications from @{name}",
"id": "account.unmute_notifications" "id": "account.unmute_notifications"
},
{
"defaultMessage": "Mute @{name}",
"id": "account.mute"
},
{
"defaultMessage": "Block @{name}",
"id": "account.block"
} }
], ],
"path": "app/javascript/mastodon/components/account.json" "path": "app/javascript/mastodon/components/account.json"
@ -206,7 +214,7 @@
{ {
"descriptors": [ "descriptors": [
{ {
"defaultMessage": "{count, plural, one {{counter} Toot} other {{counter} Toots}}", "defaultMessage": "{count, plural, one {{counter} Post} other {{counter} Posts}}",
"id": "account.statuses_counter" "id": "account.statuses_counter"
}, },
{ {
@ -659,7 +667,7 @@
"id": "privacy.private.short" "id": "privacy.private.short"
}, },
{ {
"defaultMessage": "Direct", "defaultMessage": "Mentioned people only",
"id": "privacy.direct.short" "id": "privacy.direct.short"
}, },
{ {
@ -671,7 +679,7 @@
"id": "status.filtered" "id": "status.filtered"
}, },
{ {
"defaultMessage": "Pinned toot", "defaultMessage": "Pinned post",
"id": "status.pinned" "id": "status.pinned"
}, },
{ {
@ -773,11 +781,11 @@
{ {
"descriptors": [ "descriptors": [
{ {
"defaultMessage": "Toots", "defaultMessage": "Posts",
"id": "account.posts" "id": "account.posts"
}, },
{ {
"defaultMessage": "Toots and replies", "defaultMessage": "Posts and replies",
"id": "account.posts_with_replies" "id": "account.posts_with_replies"
}, },
{ {
@ -787,6 +795,19 @@
], ],
"path": "app/javascript/mastodon/features/account_timeline/components/header.json" "path": "app/javascript/mastodon/features/account_timeline/components/header.json"
}, },
{
"descriptors": [
{
"defaultMessage": "This profile has been hidden by the moderators of your server.",
"id": "limited_account_hint.title"
},
{
"defaultMessage": "Show profile anyway",
"id": "limited_account_hint.action"
}
],
"path": "app/javascript/mastodon/features/account_timeline/components/limited_account_hint.json"
},
{ {
"descriptors": [ "descriptors": [
{ {
@ -820,7 +841,7 @@
{ {
"descriptors": [ "descriptors": [
{ {
"defaultMessage": "Older toots", "defaultMessage": "Older posts",
"id": "timeline_hint.resources.statuses" "id": "timeline_hint.resources.statuses"
}, },
{ {
@ -832,7 +853,7 @@
"id": "empty_column.account_unavailable" "id": "empty_column.account_unavailable"
}, },
{ {
"defaultMessage": "No toots here!", "defaultMessage": "No posts found",
"id": "empty_column.account_timeline" "id": "empty_column.account_timeline"
} }
], ],
@ -946,7 +967,7 @@
"id": "account.disable_notifications" "id": "account.disable_notifications"
}, },
{ {
"defaultMessage": "Pinned toots", "defaultMessage": "Pinned posts",
"id": "navigation_bar.pins" "id": "navigation_bar.pins"
}, },
{ {
@ -1069,7 +1090,7 @@
"id": "column.bookmarks" "id": "column.bookmarks"
}, },
{ {
"defaultMessage": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "defaultMessage": "You don't have any bookmarked posts yet. When you bookmark one, it will show up here.",
"id": "empty_column.bookmarked_statuses" "id": "empty_column.bookmarked_statuses"
} }
], ],
@ -1104,7 +1125,7 @@
"id": "account.edit_profile" "id": "account.edit_profile"
}, },
{ {
"defaultMessage": "Pinned toots", "defaultMessage": "Pinned posts",
"id": "navigation_bar.pins" "id": "navigation_bar.pins"
}, },
{ {
@ -1236,6 +1257,23 @@
], ],
"path": "app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.json" "path": "app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.json"
}, },
{
"descriptors": [
{
"defaultMessage": "Change language",
"id": "compose.language.change"
},
{
"defaultMessage": "Search languages...",
"id": "compose.language.search"
},
{
"defaultMessage": "Clear",
"id": "emoji_button.clear"
}
],
"path": "app/javascript/mastodon/features/compose/components/language_dropdown.json"
},
{ {
"descriptors": [ "descriptors": [
{ {
@ -1306,7 +1344,7 @@
"id": "privacy.public.short" "id": "privacy.public.short"
}, },
{ {
"defaultMessage": "Visible for all, shown in public timelines", "defaultMessage": "Visible for all",
"id": "privacy.public.long" "id": "privacy.public.long"
}, },
{ {
@ -1314,11 +1352,11 @@
"id": "privacy.unlisted.short" "id": "privacy.unlisted.short"
}, },
{ {
"defaultMessage": "Visible for all, but not in public timelines", "defaultMessage": "Visible for all, but opted-out of discovery features",
"id": "privacy.unlisted.long" "id": "privacy.unlisted.long"
}, },
{ {
"defaultMessage": "Followers-only", "defaultMessage": "Followers only",
"id": "privacy.private.short" "id": "privacy.private.short"
}, },
{ {
@ -1326,7 +1364,7 @@
"id": "privacy.private.long" "id": "privacy.private.long"
}, },
{ {
"defaultMessage": "Direct", "defaultMessage": "Mentioned people only",
"id": "privacy.direct.short" "id": "privacy.direct.short"
}, },
{ {
@ -1364,11 +1402,11 @@
"id": "search_results.accounts" "id": "search_results.accounts"
}, },
{ {
"defaultMessage": "Toots", "defaultMessage": "Posts",
"id": "search_results.statuses" "id": "search_results.statuses"
}, },
{ {
"defaultMessage": "Searching toots by their content is not enabled on this Mastodon server.", "defaultMessage": "Searching posts by their content is not enabled on this Mastodon server.",
"id": "search_results.statuses_fts_disabled" "id": "search_results.statuses_fts_disabled"
}, },
{ {
@ -1504,12 +1542,12 @@
"id": "compose_form.lock_disclaimer.lock" "id": "compose_form.lock_disclaimer.lock"
}, },
{ {
"defaultMessage": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", "defaultMessage": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
"id": "compose_form.hashtag_warning" "id": "compose_form.hashtag_warning"
}, },
{ {
"defaultMessage": "This toot will only be sent to all the mentioned users.", "defaultMessage": "Posts on Mastodon are not end-to-end encrypted. Do not share any sensitive information over Mastodon.",
"id": "compose_form.direct_message_warning" "id": "compose_form.encryption_warning"
}, },
{ {
"defaultMessage": "Learn more", "defaultMessage": "Learn more",
@ -1549,7 +1587,7 @@
"id": "navigation_bar.logout" "id": "navigation_bar.logout"
}, },
{ {
"defaultMessage": "Compose new toot", "defaultMessage": "Compose new post",
"id": "navigation_bar.compose" "id": "navigation_bar.compose"
}, },
{ {
@ -1619,6 +1657,14 @@
"defaultMessage": "Direct messages", "defaultMessage": "Direct messages",
"id": "column.direct" "id": "column.direct"
}, },
{
"defaultMessage": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
"id": "compose_form.encryption_warning"
},
{
"defaultMessage": "Learn more",
"id": "compose_form.direct_message_warning_learn_more"
},
{ {
"defaultMessage": "You don't have any direct messages yet. When you send or receive one, it will show up here.", "defaultMessage": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
"id": "empty_column.direct" "id": "empty_column.direct"
@ -1665,7 +1711,7 @@
"id": "confirmations.unfollow.message" "id": "confirmations.unfollow.message"
}, },
{ {
"defaultMessage": "Toots", "defaultMessage": "Posts",
"id": "account.posts" "id": "account.posts"
}, },
{ {
@ -1769,7 +1815,7 @@
"id": "search_results.hashtags" "id": "search_results.hashtags"
}, },
{ {
"defaultMessage": "Toots", "defaultMessage": "Posts",
"id": "search_results.statuses" "id": "search_results.statuses"
} }
], ],
@ -1791,7 +1837,7 @@
"id": "column.favourites" "id": "column.favourites"
}, },
{ {
"defaultMessage": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "defaultMessage": "You don't have any favourite posts yet. When you favourite one, it will show up here.",
"id": "empty_column.favourited_statuses" "id": "empty_column.favourited_statuses"
} }
], ],
@ -1804,7 +1850,7 @@
"id": "refresh" "id": "refresh"
}, },
{ {
"defaultMessage": "No one has favourited this toot yet. When someone does, they will show up here.", "defaultMessage": "No one has favourited this post yet. When someone does, they will show up here.",
"id": "empty_column.favourites" "id": "empty_column.favourites"
} }
], ],
@ -1880,6 +1926,10 @@
"defaultMessage": "Followers", "defaultMessage": "Followers",
"id": "timeline_hint.resources.followers" "id": "timeline_hint.resources.followers"
}, },
{
"defaultMessage": "Account suspended",
"id": "empty_column.account_suspended"
},
{ {
"defaultMessage": "Profile unavailable", "defaultMessage": "Profile unavailable",
"id": "empty_column.account_unavailable" "id": "empty_column.account_unavailable"
@ -1897,6 +1947,10 @@
"defaultMessage": "Follows", "defaultMessage": "Follows",
"id": "timeline_hint.resources.follows" "id": "timeline_hint.resources.follows"
}, },
{
"defaultMessage": "Account suspended",
"id": "empty_column.account_suspended"
},
{ {
"defaultMessage": "Profile unavailable", "defaultMessage": "Profile unavailable",
"id": "empty_column.account_unavailable" "id": "empty_column.account_unavailable"
@ -1997,7 +2051,7 @@
"id": "navigation_bar.mutes" "id": "navigation_bar.mutes"
}, },
{ {
"defaultMessage": "Pinned toots", "defaultMessage": "Pinned posts",
"id": "navigation_bar.pins" "id": "navigation_bar.pins"
}, },
{ {
@ -2186,7 +2240,7 @@
"id": "keyboard_shortcuts.compose" "id": "keyboard_shortcuts.compose"
}, },
{ {
"defaultMessage": "to start a brand new toot", "defaultMessage": "to start a brand new post",
"id": "keyboard_shortcuts.toot" "id": "keyboard_shortcuts.toot"
}, },
{ {
@ -2234,7 +2288,7 @@
"id": "keyboard_shortcuts.favourites" "id": "keyboard_shortcuts.favourites"
}, },
{ {
"defaultMessage": "to open pinned toots list", "defaultMessage": "to open pinned posts list",
"id": "keyboard_shortcuts.pinned" "id": "keyboard_shortcuts.pinned"
}, },
{ {
@ -2468,7 +2522,7 @@
"id": "notifications.column_settings.poll" "id": "notifications.column_settings.poll"
}, },
{ {
"defaultMessage": "New toots:", "defaultMessage": "New posts:",
"id": "notifications.column_settings.status" "id": "notifications.column_settings.status"
}, },
{ {
@ -2690,7 +2744,7 @@
{ {
"descriptors": [ "descriptors": [
{ {
"defaultMessage": "Pinned toot", "defaultMessage": "Pinned post",
"id": "column.pins" "id": "column.pins"
} }
], ],
@ -2729,7 +2783,7 @@
"id": "refresh" "id": "refresh"
}, },
{ {
"defaultMessage": "No one has boosted this toot yet. When someone does, they will show up here.", "defaultMessage": "No one has boosted this post yet. When someone does, they will show up here.",
"id": "status.reblogs.empty" "id": "status.reblogs.empty"
} }
], ],
@ -3657,4 +3711,4 @@
], ],
"path": "app/javascript/mastodon/features/video/index.json" "path": "app/javascript/mastodon/features/video/index.json"
} }
] ]

View File

@ -92,8 +92,10 @@
"community.column_settings.local_only": "Τοπικά μόνο", "community.column_settings.local_only": "Τοπικά μόνο",
"community.column_settings.media_only": "Μόνο πολυμέσα", "community.column_settings.media_only": "Μόνο πολυμέσα",
"community.column_settings.remote_only": "Απομακρυσμένα μόνο", "community.column_settings.remote_only": "Απομακρυσμένα μόνο",
"compose_form.direct_message_warning": "Αυτό το τουτ θα σταλεί μόνο στους αναφερόμενους χρήστες.", "compose.language.change": "Αλλαγή γλώσσας",
"compose.language.search": "Αναζήτηση γλωσσών...",
"compose_form.direct_message_warning_learn_more": "Μάθετε περισσότερα", "compose_form.direct_message_warning_learn_more": "Μάθετε περισσότερα",
"compose_form.encryption_warning": "Οι δημοσιεύσεις στο Mastodon δεν είναι κρυπτογραφημένες από άκρο σε άκρο. Μην μοιράζεστε επικίνδυνες πληροφορίες μέσω του Mastodon.",
"compose_form.hashtag_warning": "Αυτό το τουτ δεν θα εμφανίζεται κάτω από κανένα hashtag καθώς είναι αφανές. Μόνο τα δημόσια τουτ μπορούν να αναζητηθούν ανά hashtag.", "compose_form.hashtag_warning": "Αυτό το τουτ δεν θα εμφανίζεται κάτω από κανένα hashtag καθώς είναι αφανές. Μόνο τα δημόσια τουτ μπορούν να αναζητηθούν ανά hashtag.",
"compose_form.lock_disclaimer": "Ο λογαριασμός σου δεν είναι {locked}. Οποιοσδήποτε μπορεί να σε ακολουθήσει για να δει τις δημοσιεύσεις σας προς τους ακολούθους σας.", "compose_form.lock_disclaimer": "Ο λογαριασμός σου δεν είναι {locked}. Οποιοσδήποτε μπορεί να σε ακολουθήσει για να δει τις δημοσιεύσεις σας προς τους ακολούθους σας.",
"compose_form.lock_disclaimer.lock": "κλειδωμένο", "compose_form.lock_disclaimer.lock": "κλειδωμένο",
@ -147,6 +149,7 @@
"embed.instructions": "Ενσωματώστε αυτή την κατάσταση στην ιστοσελίδα σας αντιγράφοντας τον παρακάτω κώδικα.", "embed.instructions": "Ενσωματώστε αυτή την κατάσταση στην ιστοσελίδα σας αντιγράφοντας τον παρακάτω κώδικα.",
"embed.preview": "Ορίστε πως θα φαίνεται:", "embed.preview": "Ορίστε πως θα φαίνεται:",
"emoji_button.activity": "Δραστηριότητα", "emoji_button.activity": "Δραστηριότητα",
"emoji_button.clear": "Καθαρισμός",
"emoji_button.custom": "Προσαρμοσμένα", "emoji_button.custom": "Προσαρμοσμένα",
"emoji_button.flags": "Σημαίες", "emoji_button.flags": "Σημαίες",
"emoji_button.food": "Φαγητά & Ποτά", "emoji_button.food": "Φαγητά & Ποτά",
@ -231,7 +234,7 @@
"keyboard_shortcuts.column": "εμφάνιση της κατάστασης σε μια από τις στήλες", "keyboard_shortcuts.column": "εμφάνιση της κατάστασης σε μια από τις στήλες",
"keyboard_shortcuts.compose": "εστίαση στην περιοχή συγγραφής", "keyboard_shortcuts.compose": "εστίαση στην περιοχή συγγραφής",
"keyboard_shortcuts.description": "Περιγραφή", "keyboard_shortcuts.description": "Περιγραφή",
"keyboard_shortcuts.direct": "άνοιγμα στήλης απευθείας μηνυμάτων", "keyboard_shortcuts.direct": "άνοιγμα στήλης προσωπικών μηνυμάτων",
"keyboard_shortcuts.down": "κίνηση προς τα κάτω στη λίστα", "keyboard_shortcuts.down": "κίνηση προς τα κάτω στη λίστα",
"keyboard_shortcuts.enter": "εμφάνιση κατάστασης", "keyboard_shortcuts.enter": "εμφάνιση κατάστασης",
"keyboard_shortcuts.favourite": "σημείωση ως αγαπημένο", "keyboard_shortcuts.favourite": "σημείωση ως αγαπημένο",
@ -264,6 +267,8 @@
"lightbox.expand": "Ανάπτυξη πλαισίου εμφάνισης εικόνας", "lightbox.expand": "Ανάπτυξη πλαισίου εμφάνισης εικόνας",
"lightbox.next": "Επόμενο", "lightbox.next": "Επόμενο",
"lightbox.previous": "Προηγούμενο", "lightbox.previous": "Προηγούμενο",
"limited_account_hint.action": "Εμφάνιση προφίλ ούτως ή άλλως",
"limited_account_hint.title": "Αυτό το προφίλ έχει αποκρυφτεί από τους διαχειριστές του διακομιστή σας.",
"lists.account.add": "Πρόσθεσε στη λίστα", "lists.account.add": "Πρόσθεσε στη λίστα",
"lists.account.remove": "Βγάλε από τη λίστα", "lists.account.remove": "Βγάλε από τη λίστα",
"lists.delete": "Διαγραφή λίστας", "lists.delete": "Διαγραφή λίστας",
@ -367,12 +372,12 @@
"poll_button.remove_poll": "Αφαίρεση δημοσκόπησης", "poll_button.remove_poll": "Αφαίρεση δημοσκόπησης",
"privacy.change": "Προσαρμογή ιδιωτικότητας δημοσίευσης", "privacy.change": "Προσαρμογή ιδιωτικότητας δημοσίευσης",
"privacy.direct.long": "Δημοσίευση μόνο σε όσους και όσες αναφέρονται", "privacy.direct.long": "Δημοσίευση μόνο σε όσους και όσες αναφέρονται",
"privacy.direct.short": "Προσωπικά", "privacy.direct.short": "Αναφερόμενα άτομα μόνο",
"privacy.private.long": "Δημοσίευση μόνο στους ακόλουθους", "privacy.private.long": "Δημοσίευση μόνο στους ακόλουθους",
"privacy.private.short": "Μόνο ακόλουθοι", "privacy.private.short": "Μόνο ακόλουθοι",
"privacy.public.long": "Δημοσίευσε στις δημόσιες ροές", "privacy.public.long": "Ορατό σε όλους",
"privacy.public.short": "Δημόσιο", "privacy.public.short": "Δημόσιο",
"privacy.unlisted.long": "Μην δημοσιεύσεις στις δημόσιες ροές", "privacy.unlisted.long": "Ορατό για όλους, αλλά opted-out των χαρακτηριστικών της ανακάλυψης",
"privacy.unlisted.short": "Μη καταχωρημένα", "privacy.unlisted.short": "Μη καταχωρημένα",
"refresh": "Ανανέωση", "refresh": "Ανανέωση",
"regeneration_indicator.label": "Φορτώνει…", "regeneration_indicator.label": "Φορτώνει…",
@ -515,7 +520,7 @@
"upload_error.poll": "Στις δημοσκοπήσεις δεν επιτρέπεται η μεταφόρτωση αρχείου.", "upload_error.poll": "Στις δημοσκοπήσεις δεν επιτρέπεται η μεταφόρτωση αρχείου.",
"upload_form.audio_description": "Περιγραφή για άτομα με προβλήματα ακοής", "upload_form.audio_description": "Περιγραφή για άτομα με προβλήματα ακοής",
"upload_form.description": "Περιέγραψε για όσους & όσες έχουν προβλήματα όρασης", "upload_form.description": "Περιέγραψε για όσους & όσες έχουν προβλήματα όρασης",
"upload_form.description_missing": "No description added", "upload_form.description_missing": "Δεν προστέθηκε περιγραφή",
"upload_form.edit": "Ενημέρωση", "upload_form.edit": "Ενημέρωση",
"upload_form.thumbnail": "Αλλαγή μικρογραφίας", "upload_form.thumbnail": "Αλλαγή μικρογραφίας",
"upload_form.undo": "Διαγραφή", "upload_form.undo": "Διαγραφή",

View File

@ -0,0 +1,549 @@
{
"account.account_note_header": "Note",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Bot",
"account.badges.group": "Group",
"account.block": "Block @{name}",
"account.block_domain": "Block domain {domain}",
"account.blocked": "Blocked",
"account.browse_more_on_origin_server": "Browse more on the original profile",
"account.cancel_follow_request": "Cancel follow request",
"account.direct": "Direct message @{name}",
"account.disable_notifications": "Stop notifying me when @{name} posts",
"account.domain_blocked": "Domain blocked",
"account.edit_profile": "Edit profile",
"account.enable_notifications": "Notify me when @{name} posts",
"account.endorse": "Feature on profile",
"account.follow": "Follow",
"account.followers": "Followers",
"account.followers.empty": "No one follows this user yet.",
"account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
"account.following": "Following",
"account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
"account.follows.empty": "This user doesn't follow anyone yet.",
"account.follows_you": "Follows you",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.joined": "Joined {date}",
"account.link_verified_on": "Ownership of this link was checked on {date}",
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
"account.media": "Media",
"account.mention": "Mention @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "Mute @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.muted": "Muted",
"account.posts": "Posts",
"account.posts_with_replies": "Posts and replies",
"account.report": "Report @{name}",
"account.requested": "Awaiting approval. Click to cancel follow request",
"account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.statuses_counter": "{count, plural, one {{counter} Post} other {{counter} Posts}}",
"account.unblock": "Unblock @{name}",
"account.unblock_domain": "Unblock domain {domain}",
"account.unblock_short": "Unblock",
"account.unendorse": "Don't feature on profile",
"account.unfollow": "Unfollow",
"account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.unmute_short": "Unmute",
"account_note.placeholder": "Click to add a note",
"admin.dashboard.daily_retention": "User retention rate by day after sign-up",
"admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
"admin.dashboard.retention.average": "Average",
"admin.dashboard.retention.cohort": "Sign-up month",
"admin.dashboard.retention.cohort_size": "New users",
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
"alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "An unexpected error occurred.",
"alert.unexpected.title": "Oops!",
"announcement.announcement": "Announcement",
"attachments_list.unprocessed": "(unprocessed)",
"autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.",
"bundle_column_error.retry": "Try again",
"bundle_column_error.title": "Network error",
"bundle_modal_error.close": "Close",
"bundle_modal_error.message": "Something went wrong while loading this component.",
"bundle_modal_error.retry": "Try again",
"column.blocks": "Blocked users",
"column.bookmarks": "Bookmarks",
"column.community": "Local timeline",
"column.direct": "Direct messages",
"column.directory": "Browse profiles",
"column.domain_blocks": "Blocked domains",
"column.favourites": "Favourites",
"column.follow_requests": "Follow requests",
"column.home": "Home",
"column.lists": "Lists",
"column.mutes": "Muted users",
"column.notifications": "Notifications",
"column.pins": "Pinned post",
"column.public": "Federated timeline",
"column_back_button.label": "Back",
"column_header.hide_settings": "Hide settings",
"column_header.moveLeft_settings": "Move column to the left",
"column_header.moveRight_settings": "Move column to the right",
"column_header.pin": "Pin",
"column_header.show_settings": "Show settings",
"column_header.unpin": "Unpin",
"column_subheading.settings": "Settings",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Media only",
"community.column_settings.remote_only": "Remote only",
"compose.language.change": "Change language",
"compose.language.search": "Search languages...",
"compose_form.direct_message_warning_learn_more": "Learn more",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "What is on your mind?",
"compose_form.poll.add_option": "Add a choice",
"compose_form.poll.duration": "Poll duration",
"compose_form.poll.option_placeholder": "Choice {number}",
"compose_form.poll.remove_option": "Remove this choice",
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices",
"compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
"compose_form.publish": "Toot",
"compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Save changes",
"compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
"compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
"compose_form.spoiler.marked": "Text is hidden behind warning",
"compose_form.spoiler.unmarked": "Text is not hidden",
"compose_form.spoiler_placeholder": "Write your warning here",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.delete_list.confirm": "Delete",
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
"confirmations.discard_edit_media.confirm": "Discard",
"confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
"confirmations.domain_block.confirm": "Hide entire domain",
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
"confirmations.logout.confirm": "Log out",
"confirmations.logout.message": "Are you sure you want to log out?",
"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.message": "Are you sure you want to mute {name}?",
"confirmations.redraft.confirm": "Delete & redraft",
"confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.",
"confirmations.reply.confirm": "Reply",
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"confirmations.unfollow.confirm": "Unfollow",
"confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
"conversation.delete": "Delete conversation",
"conversation.mark_as_read": "Mark as read",
"conversation.open": "View conversation",
"conversation.with": "With {names}",
"directory.federated": "From known fediverse",
"directory.local": "From {domain} only",
"directory.new_arrivals": "New arrivals",
"directory.recently_active": "Recently active",
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "Activity",
"emoji_button.clear": "Clear",
"emoji_button.custom": "Custom",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
"emoji_button.not_found": "No matching emojis found",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.recent": "Frequently used",
"emoji_button.search": "Search...",
"emoji_button.search_results": "Search results",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.account_suspended": "Account suspended",
"empty_column.account_timeline": "No posts found",
"empty_column.account_unavailable": "Profile unavailable",
"empty_column.blocks": "You haven't blocked any users yet.",
"empty_column.bookmarked_statuses": "You don't have any bookmarked posts yet. When you bookmark one, it will show up here.",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
"empty_column.domain_blocks": "There are no blocked domains yet.",
"empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
"empty_column.favourited_statuses": "You don't have any favourite posts yet. When you favourite one, it will show up here.",
"empty_column.favourites": "No one has favourited this post yet. When someone does, they will show up here.",
"empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
"empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
"empty_column.hashtag": "There is nothing in this hashtag yet.",
"empty_column.home": "Your home timeline is empty! Follow more people to fill it up. {suggestions}",
"empty_column.home.suggestions": "See some suggestions",
"empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
"empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.",
"empty_column.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.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
"error.unexpected_crash.explanation": "Due to a bug in our code or a browser compatibility issue, this page could not be displayed correctly.",
"error.unexpected_crash.explanation_addons": "This page could not be displayed correctly. This error is likely caused by a browser add-on or automatic translation tools.",
"error.unexpected_crash.next_steps": "Try refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
"error.unexpected_crash.next_steps_addons": "Try disabling them and refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
"errors.unexpected_crash.report_issue": "Report issue",
"explore.search_results": "Search results",
"explore.suggested_follows": "For you",
"explore.title": "Explore",
"explore.trending_links": "News",
"explore.trending_statuses": "Posts",
"explore.trending_tags": "Hashtags",
"follow_recommendations.done": "Done",
"follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.",
"follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!",
"follow_request.authorize": "Authorize",
"follow_request.reject": "Reject",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"generic.saved": "Saved",
"getting_started.developers": "Developers",
"getting_started.directory": "Profile directory",
"getting_started.documentation": "Documentation",
"getting_started.heading": "Getting started",
"getting_started.invite": "Invite people",
"getting_started.open_source_notice": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}.",
"getting_started.security": "Security",
"getting_started.terms": "Terms of service",
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
"hashtag.column_settings.select.no_options_message": "No suggestions found",
"hashtag.column_settings.select.placeholder": "Enter hashtags…",
"hashtag.column_settings.tag_mode.all": "All of these",
"hashtag.column_settings.tag_mode.any": "Any of these",
"hashtag.column_settings.tag_mode.none": "None of these",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"home.column_settings.basic": "Basic",
"home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
"keyboard_shortcuts.back": "to navigate back",
"keyboard_shortcuts.blocked": "to open blocked users list",
"keyboard_shortcuts.boost": "to boost",
"keyboard_shortcuts.column": "to focus a status in one of the columns",
"keyboard_shortcuts.compose": "to focus the compose textarea",
"keyboard_shortcuts.description": "Description",
"keyboard_shortcuts.direct": "to open direct messages column",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.favourites": "to open favourites list",
"keyboard_shortcuts.federated": "to open federated timeline",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.home": "to open home timeline",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.local": "to open local timeline",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.muted": "to open muted users list",
"keyboard_shortcuts.my_profile": "to open your profile",
"keyboard_shortcuts.notifications": "to open notifications column",
"keyboard_shortcuts.open_media": "to open media",
"keyboard_shortcuts.pinned": "to open pinned posts list",
"keyboard_shortcuts.profile": "to open author's profile",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.requests": "to open follow requests list",
"keyboard_shortcuts.search": "to focus search",
"keyboard_shortcuts.spoilers": "to show/hide CW field",
"keyboard_shortcuts.start": "to open \"get started\" column",
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
"keyboard_shortcuts.toot": "to start a brand new post",
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
"keyboard_shortcuts.up": "to move up in the list",
"lightbox.close": "Close",
"lightbox.compress": "Compress image view box",
"lightbox.expand": "Expand image view box",
"lightbox.next": "Next",
"lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Add to list",
"lists.account.remove": "Remove from list",
"lists.delete": "Delete list",
"lists.edit": "Edit list",
"lists.edit.submit": "Change title",
"lists.new.create": "Add list",
"lists.new.title_placeholder": "New list title",
"lists.replies_policy.followed": "Any followed user",
"lists.replies_policy.list": "Members of the list",
"lists.replies_policy.none": "No one",
"lists.replies_policy.title": "Show replies to:",
"lists.search": "Search among people you follow",
"lists.subheading": "Your lists",
"load_pending": "{count, plural, one {# new item} other {# new items}}",
"loading_indicator.label": "Loading...",
"media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}",
"missing_indicator.label": "Not found",
"missing_indicator.sublabel": "This resource could not be found",
"mute_modal.duration": "Duration",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"mute_modal.indefinite": "Indefinite",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blocked users",
"navigation_bar.bookmarks": "Bookmarks",
"navigation_bar.community_timeline": "Local timeline",
"navigation_bar.compose": "Compose new post",
"navigation_bar.direct": "Direct messages",
"navigation_bar.discover": "Discover",
"navigation_bar.domain_blocks": "Hidden domains",
"navigation_bar.edit_profile": "Edit profile",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favourites",
"navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests",
"navigation_bar.follows_and_followers": "Follows and followers",
"navigation_bar.info": "About this server",
"navigation_bar.keyboard_shortcuts": "Hotkeys",
"navigation_bar.lists": "Lists",
"navigation_bar.logout": "Logout",
"navigation_bar.mutes": "Muted users",
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Pinned posts",
"navigation_bar.preferences": "Preferences",
"navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security",
"notification.admin.sign_up": "{name} signed up",
"notification.favourite": "{name} favourited your status",
"notification.follow": "{name} followed you",
"notification.follow_request": "{name} has requested to follow you",
"notification.mention": "{name} mentioned you",
"notification.own_poll": "Your poll has ended",
"notification.poll": "A poll you have voted in has ended",
"notification.reblog": "{name} boosted your status",
"notification.status": "{name} just posted",
"notification.update": "{name} edited a post",
"notifications.clear": "Clear notifications",
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
"notifications.column_settings.admin.sign_up": "New sign-ups:",
"notifications.column_settings.alert": "Desktop notifications",
"notifications.column_settings.favourite": "Favourites:",
"notifications.column_settings.filter_bar.advanced": "Display all categories",
"notifications.column_settings.filter_bar.category": "Quick filter bar",
"notifications.column_settings.filter_bar.show_bar": "Show filter bar",
"notifications.column_settings.follow": "New followers:",
"notifications.column_settings.follow_request": "New follow requests:",
"notifications.column_settings.mention": "Mentions:",
"notifications.column_settings.poll": "Poll results:",
"notifications.column_settings.push": "Push notifications",
"notifications.column_settings.reblog": "Boosts:",
"notifications.column_settings.show": "Show in column",
"notifications.column_settings.sound": "Play sound",
"notifications.column_settings.status": "New posts:",
"notifications.column_settings.unread_notifications.category": "Unread notifications",
"notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
"notifications.column_settings.update": "Edits:",
"notifications.filter.all": "All",
"notifications.filter.boosts": "Boosts",
"notifications.filter.favourites": "Favourites",
"notifications.filter.follows": "Follows",
"notifications.filter.mentions": "Mentions",
"notifications.filter.polls": "Poll results",
"notifications.filter.statuses": "Updates from people you follow",
"notifications.grant_permission": "Grant permission.",
"notifications.group": "{count} notifications",
"notifications.mark_as_read": "Mark every notification as read",
"notifications.permission_denied": "Desktop notifications are unavailable due to previously denied browser permissions request",
"notifications.permission_denied_alert": "Desktop notifications can't be enabled, as browser permission has been denied before",
"notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.",
"notifications_permission_banner.enable": "Enable desktop notifications",
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
"notifications_permission_banner.title": "Never miss a thing",
"picture_in_picture.restore": "Put it back",
"poll.closed": "Closed",
"poll.refresh": "Refresh",
"poll.total_people": "{count, plural, one {# person} other {# people}}",
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
"poll.vote": "Vote",
"poll.voted": "You voted for this answer",
"poll.votes": "{votes, plural, one {# vote} other {# votes}}",
"poll_button.add_poll": "Add a poll",
"poll_button.remove_poll": "Remove poll",
"privacy.change": "Adjust status privacy",
"privacy.direct.long": "Visible for mentioned users only",
"privacy.direct.short": "Direct",
"privacy.private.long": "Visible for followers only",
"privacy.private.short": "Followers-only",
"privacy.public.long": "Visible for all",
"privacy.public.short": "Public",
"privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.short": "Unlisted",
"refresh": "Refresh",
"regeneration_indicator.label": "Loading…",
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
"relative_time.days": "{number}d",
"relative_time.full.days": "{number, plural, one {# day} other {# days}} ago",
"relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago",
"relative_time.full.just_now": "just now",
"relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago",
"relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago",
"relative_time.hours": "{number}h",
"relative_time.just_now": "now",
"relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "Cancel",
"report.block": "Block",
"report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
"report.categories.other": "Other",
"report.categories.spam": "Spam",
"report.categories.violation": "Content violates one or more server rules",
"report.category.subtitle": "Choose the best match",
"report.category.title": "Tell us what's going on with this {type}",
"report.category.title_account": "profile",
"report.category.title_status": "post",
"report.close": "Done",
"report.comment.title": "Is there anything else you think we should know?",
"report.forward": "Forward to {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
"report.mute": "Mute",
"report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
"report.next": "Next",
"report.placeholder": "Type or paste additional comments",
"report.reasons.dislike": "I don't like it",
"report.reasons.dislike_description": "It is not something you want to see",
"report.reasons.other": "It's something else",
"report.reasons.other_description": "The issue does not fit into other categories",
"report.reasons.spam": "It's spam",
"report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
"report.reasons.violation": "It violates server rules",
"report.reasons.violation_description": "You are aware that it breaks specific rules",
"report.rules.subtitle": "Select all that apply",
"report.rules.title": "Which rules are being violated?",
"report.statuses.subtitle": "Select all that apply",
"report.statuses.title": "Are there any posts that back up this report?",
"report.submit": "Submit report",
"report.target": "Report {target}",
"report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
"report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
"report.thanks.title": "Don't want to see this?",
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
"report.unfollow": "Unfollow @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
"search.placeholder": "Search",
"search_popout.search_format": "Advanced search format",
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
"search_popout.tips.hashtag": "hashtag",
"search_popout.tips.status": "status",
"search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
"search_popout.tips.user": "user",
"search_results.accounts": "People",
"search_results.all": "All",
"search_results.hashtags": "Hashtags",
"search_results.nothing_found": "Could not find anything for these search terms",
"search_results.statuses": "Posts",
"search_results.statuses_fts_disabled": "Searching posts by their content is not enabled on this Mastodon server.",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
"status.block": "Block @{name}",
"status.bookmark": "Bookmark",
"status.cancel_reblog_private": "Unboost",
"status.cannot_reblog": "This post cannot be boosted",
"status.copy": "Copy link to status",
"status.delete": "Delete",
"status.detailed_status": "Detailed conversation view",
"status.direct": "Direct message @{name}",
"status.edit": "Edit",
"status.edited": "Edited {date}",
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
"status.embed": "Embed",
"status.favourite": "Favourite",
"status.filtered": "Filtered",
"status.history.created": "{name} created {date}",
"status.history.edited": "{name} edited {date}",
"status.load_more": "Load more",
"status.media_hidden": "Media hidden",
"status.mention": "Mention @{name}",
"status.more": "More",
"status.mute": "Mute @{name}",
"status.mute_conversation": "Mute conversation",
"status.open": "Expand this status",
"status.pin": "Pin on profile",
"status.pinned": "Pinned post",
"status.read_more": "Read more",
"status.reblog": "Boost",
"status.reblog_private": "Boost with original visibility",
"status.reblogged_by": "{name} boosted",
"status.reblogs.empty": "No one has boosted this post yet. When someone does, they will show up here.",
"status.redraft": "Delete & re-draft",
"status.remove_bookmark": "Remove bookmark",
"status.reply": "Reply",
"status.replyAll": "Reply to thread",
"status.report": "Report @{name}",
"status.sensitive_warning": "Sensitive content",
"status.share": "Share",
"status.show_less": "Show less",
"status.show_less_all": "Show less for all",
"status.show_more": "Show more",
"status.show_more_all": "Show more for all",
"status.show_thread": "Show thread",
"status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Unmute conversation",
"status.unpin": "Unpin from profile",
"suggestions.dismiss": "Dismiss suggestion",
"suggestions.header": "You might be interested in…",
"tabs_bar.federated_timeline": "Federated",
"tabs_bar.home": "Home",
"tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Notifications",
"tabs_bar.search": "Search",
"time_remaining.days": "{number, plural, one {# day} other {# days}} left",
"time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left",
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.",
"timeline_hint.resources.followers": "Followers",
"timeline_hint.resources.follows": "Follows",
"timeline_hint.resources.statuses": "Older posts",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking",
"trends.trending_now": "Trending now",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"units.short.billion": "{count}B",
"units.short.million": "{count}M",
"units.short.thousand": "{count}K",
"upload_area.title": "Drag & drop to upload",
"upload_button.label": "Add images, a video or an audio file",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.audio_description": "Describe for people with hearing loss",
"upload_form.description": "Describe for the visually impaired",
"upload_form.description_missing": "No description added",
"upload_form.edit": "Edit",
"upload_form.thumbnail": "Change thumbnail",
"upload_form.undo": "Delete",
"upload_form.video_description": "Describe for people with hearing loss or visual impairment",
"upload_modal.analyzing_picture": "Analyzing picture…",
"upload_modal.apply": "Apply",
"upload_modal.applying": "Applying…",
"upload_modal.choose_image": "Choose image",
"upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
"upload_modal.detect_text": "Detect text from picture",
"upload_modal.edit_media": "Edit media",
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
"upload_modal.preparing_ocr": "Preparing OCR…",
"upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Uploading…",
"video.close": "Close video",
"video.download": "Download file",
"video.exit_fullscreen": "Exit full screen",
"video.expand": "Expand video",
"video.fullscreen": "Full screen",
"video.hide": "Hide video",
"video.mute": "Mute sound",
"video.pause": "Pause",
"video.play": "Play",
"video.unmute": "Unmute sound"
}

View File

@ -92,8 +92,10 @@
"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_form.direct_message_warning": "This doot will only be sent to the mentioned users.", "compose.language.change": "Change language",
"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 sensitive information over Mastodon.",
"compose_form.hashtag_warning": "This doot won't be listed under any hashtag as it is unlisted. Only public doots can be searched by hashtag.", "compose_form.hashtag_warning": "This doot won't be listed under any hashtag as it is unlisted. Only public doots can be searched by hashtag.",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only doots.", "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only doots.",
"compose_form.lock_disclaimer.lock": "locked", "compose_form.lock_disclaimer.lock": "locked",
@ -147,6 +149,7 @@
"embed.instructions": "Embed this doot on your website by copying the code below.", "embed.instructions": "Embed this doot 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": "Activity",
"emoji_button.clear": "Clear",
"emoji_button.custom": "Custom", "emoji_button.custom": "Custom",
"emoji_button.flags": "Flags", "emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink", "emoji_button.food": "Food & Drink",
@ -231,7 +234,7 @@
"keyboard_shortcuts.column": "Focus column", "keyboard_shortcuts.column": "Focus column",
"keyboard_shortcuts.compose": "Focus compose textarea", "keyboard_shortcuts.compose": "Focus compose textarea",
"keyboard_shortcuts.description": "Description", "keyboard_shortcuts.description": "Description",
"keyboard_shortcuts.direct": "Open direct messages column", "keyboard_shortcuts.direct": "to open direct messages column",
"keyboard_shortcuts.down": "Move down in the list", "keyboard_shortcuts.down": "Move down in the list",
"keyboard_shortcuts.enter": "Open doot", "keyboard_shortcuts.enter": "Open doot",
"keyboard_shortcuts.favourite": "Favourite doot", "keyboard_shortcuts.favourite": "Favourite doot",
@ -264,6 +267,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"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",
@ -316,9 +321,9 @@
"notification.mention": "{name} mentioned you", "notification.mention": "{name} mentioned you",
"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": "{name} boosted your doot", "notification.reblog": "{name} boosted your post",
"notification.status": "{name} just dooted", "notification.status": "{name} just posted",
"notification.update": "{name} edited a doot", "notification.update": "{name} edited a post",
"notifications.clear": "Clear notifications", "notifications.clear": "Clear notifications",
"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.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "New sign-ups:",
@ -367,12 +372,12 @@
"poll_button.remove_poll": "Remove poll", "poll_button.remove_poll": "Remove poll",
"privacy.change": "Change doot privacy", "privacy.change": "Change doot privacy",
"privacy.direct.long": "Visible for mentioned users only", "privacy.direct.long": "Visible for mentioned users only",
"privacy.direct.short": "Direct", "privacy.direct.short": "Mentioned people only",
"privacy.private.long": "Visible for followers only", "privacy.private.long": "Visible for followers only",
"privacy.private.short": "Followers-only", "privacy.private.short": "Followers only",
"privacy.public.long": "Visible for all, shown in public timelines", "privacy.public.long": "Visible for all",
"privacy.public.short": "Public", "privacy.public.short": "Public",
"privacy.unlisted.long": "Visible for all, but not in public timelines", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.short": "Unlisted", "privacy.unlisted.short": "Unlisted",
"refresh": "Refresh", "refresh": "Refresh",
"regeneration_indicator.label": "Loading…", "regeneration_indicator.label": "Loading…",

View File

@ -18,7 +18,7 @@
"account.followers": "Sekvantoj", "account.followers": "Sekvantoj",
"account.followers.empty": "Ankoraŭ neniu sekvas tiun uzanton.", "account.followers.empty": "Ankoraŭ neniu sekvas tiun uzanton.",
"account.followers_counter": "{count, plural, one{{counter} Sekvanto} other {{counter} Sekvantoj}}", "account.followers_counter": "{count, plural, one{{counter} Sekvanto} other {{counter} Sekvantoj}}",
"account.following": "Following", "account.following": "Sekvantaj",
"account.following_counter": "{count, plural, one {{counter} Sekvato} other {{counter} Sekvatoj}}", "account.following_counter": "{count, plural, one {{counter} Sekvato} other {{counter} Sekvatoj}}",
"account.follows.empty": "Tiu uzanto ankoraŭ ne sekvas iun.", "account.follows.empty": "Tiu uzanto ankoraŭ ne sekvas iun.",
"account.follows_you": "Sekvas vin", "account.follows_you": "Sekvas vin",
@ -92,8 +92,10 @@
"community.column_settings.local_only": "Nur loka", "community.column_settings.local_only": "Nur loka",
"community.column_settings.media_only": "Nur aŭdovidaĵoj", "community.column_settings.media_only": "Nur aŭdovidaĵoj",
"community.column_settings.remote_only": "Nur malproksima", "community.column_settings.remote_only": "Nur malproksima",
"compose_form.direct_message_warning": "Tiu mesaĝo estos sendita nur al menciitaj uzantoj.", "compose.language.change": "Ŝanĝi lingvon",
"compose.language.search": "Search languages...",
"compose_form.direct_message_warning_learn_more": "Lerni pli", "compose_form.direct_message_warning_learn_more": "Lerni pli",
"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": "Ĉi tiu mesaĝo ne estos listigita per ajna kradvorto. Nur publikaj mesaĝoj estas serĉeblaj per kradvortoj.", "compose_form.hashtag_warning": "Ĉi tiu mesaĝo ne estos listigita per ajna kradvorto. Nur publikaj mesaĝoj estas serĉeblaj per kradvortoj.",
"compose_form.lock_disclaimer": "Via konta ne estas {locked}. Iu ajn povas sekvi vin por vidi viajn mesaĝojn, kiuj estas nur por sekvantoj.", "compose_form.lock_disclaimer": "Via konta ne estas {locked}. Iu ajn povas sekvi vin por vidi viajn mesaĝojn, kiuj estas nur por sekvantoj.",
"compose_form.lock_disclaimer.lock": "ŝlosita", "compose_form.lock_disclaimer.lock": "ŝlosita",
@ -147,6 +149,7 @@
"embed.instructions": "Enkorpigu ĉi tiun mesaĝon en vian retejon per kopio de la suba kodo.", "embed.instructions": "Enkorpigu ĉi tiun mesaĝon en vian retejon per kopio de la suba kodo.",
"embed.preview": "Ĝi aperos tiel:", "embed.preview": "Ĝi aperos tiel:",
"emoji_button.activity": "Agadoj", "emoji_button.activity": "Agadoj",
"emoji_button.clear": "Forviŝi",
"emoji_button.custom": "Propraj", "emoji_button.custom": "Propraj",
"emoji_button.flags": "Flagoj", "emoji_button.flags": "Flagoj",
"emoji_button.food": "Manĝi kaj trinki", "emoji_button.food": "Manĝi kaj trinki",
@ -166,7 +169,7 @@
"empty_column.blocks": "Vi ankoraŭ ne blokis uzanton.", "empty_column.blocks": "Vi ankoraŭ ne blokis uzanton.",
"empty_column.bookmarked_statuses": "Vi ankoraŭ ne aldonis mesaĝon al viaj legosignoj. Kiam vi aldonos iun, tiu aperos ĉi tie.", "empty_column.bookmarked_statuses": "Vi ankoraŭ ne aldonis mesaĝon al viaj legosignoj. Kiam vi aldonos iun, tiu aperos ĉi tie.",
"empty_column.community": "La loka templinio estas malplena. Skribu ion por plenigi ĝin!", "empty_column.community": "La loka templinio estas malplena. Skribu ion por plenigi ĝin!",
"empty_column.direct": "Vi ankoraŭ ne havas rektan mesaĝon. Kiam vi sendos aŭ ricevos iun, ĝi aperos ĉi tie.", "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": "Ankoraŭ neniu domajno estas blokita.", "empty_column.domain_blocks": "Ankoraŭ neniu domajno estas blokita.",
"empty_column.explore_statuses": "Nenio tendencas nun. Rekontrolu poste!", "empty_column.explore_statuses": "Nenio tendencas nun. Rekontrolu poste!",
"empty_column.favourited_statuses": "Vi ankoraŭ ne stelumis mesaĝon. Kiam vi stelumos iun, tiu aperos ĉi tie.", "empty_column.favourited_statuses": "Vi ankoraŭ ne stelumis mesaĝon. Kiam vi stelumos iun, tiu aperos ĉi tie.",
@ -231,7 +234,7 @@
"keyboard_shortcuts.column": "fokusi mesaĝon en unu el la kolumnoj", "keyboard_shortcuts.column": "fokusi mesaĝon en unu el la kolumnoj",
"keyboard_shortcuts.compose": "enfokusigi la tekstujon", "keyboard_shortcuts.compose": "enfokusigi la tekstujon",
"keyboard_shortcuts.description": "Priskribo", "keyboard_shortcuts.description": "Priskribo",
"keyboard_shortcuts.direct": "malfermi la kolumnon de rektaj mesaĝoj", "keyboard_shortcuts.direct": "to open direct messages column",
"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": "stelumi", "keyboard_shortcuts.favourite": "stelumi",
@ -264,6 +267,8 @@
"lightbox.expand": "Pligrandigi bildan vidkeston", "lightbox.expand": "Pligrandigi bildan vidkeston",
"lightbox.next": "Sekva", "lightbox.next": "Sekva",
"lightbox.previous": "Antaŭa", "lightbox.previous": "Antaŭa",
"limited_account_hint.action": "Montru profilon ĉiukaze",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Aldoni al la listo", "lists.account.add": "Aldoni al la listo",
"lists.account.remove": "Forigi de la listo", "lists.account.remove": "Forigi de la listo",
"lists.delete": "Forigi la liston", "lists.delete": "Forigi la liston",
@ -326,7 +331,7 @@
"notifications.column_settings.favourite": "Stelumoj:", "notifications.column_settings.favourite": "Stelumoj:",
"notifications.column_settings.filter_bar.advanced": "Montri ĉiujn kategoriojn", "notifications.column_settings.filter_bar.advanced": "Montri ĉiujn kategoriojn",
"notifications.column_settings.filter_bar.category": "Rapida filtra breto", "notifications.column_settings.filter_bar.category": "Rapida filtra breto",
"notifications.column_settings.filter_bar.show_bar": "Show filter bar", "notifications.column_settings.filter_bar.show_bar": "Montru filtrilon",
"notifications.column_settings.follow": "Novaj sekvantoj:", "notifications.column_settings.follow": "Novaj sekvantoj:",
"notifications.column_settings.follow_request": "Novaj petoj de sekvado:", "notifications.column_settings.follow_request": "Novaj petoj de sekvado:",
"notifications.column_settings.mention": "Mencioj:", "notifications.column_settings.mention": "Mencioj:",
@ -367,12 +372,12 @@
"poll_button.remove_poll": "Forigi balotenketon", "poll_button.remove_poll": "Forigi balotenketon",
"privacy.change": "Agordi mesaĝan privatecon", "privacy.change": "Agordi mesaĝan privatecon",
"privacy.direct.long": "Videbla nur al menciitaj uzantoj", "privacy.direct.long": "Videbla nur al menciitaj uzantoj",
"privacy.direct.short": "Rekta", "privacy.direct.short": "Direct",
"privacy.private.long": "Videbla nur al viaj sekvantoj", "privacy.private.long": "Videbla nur al viaj sekvantoj",
"privacy.private.short": "Nur al sekvantoj", "privacy.private.short": "Nur abonantoj",
"privacy.public.long": "Videbla al ĉiuj, afiŝita en publikaj templinioj", "privacy.public.long": "Videbla por ĉiuj",
"privacy.public.short": "Publika", "privacy.public.short": "Publika",
"privacy.unlisted.long": "Videbla al ĉiuj, sed ne en publikaj templinioj", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.short": "Nelistigita", "privacy.unlisted.short": "Nelistigita",
"refresh": "Refreŝigu", "refresh": "Refreŝigu",
"regeneration_indicator.label": "Ŝargado…", "regeneration_indicator.label": "Ŝargado…",
@ -403,7 +408,7 @@
"report.forward": "Plusendi al {target}", "report.forward": "Plusendi al {target}",
"report.forward_hint": "La konto estas en alia servilo. Ĉu sendi sennomigitan kopion de la signalo ankaŭ tien?", "report.forward_hint": "La konto estas en alia servilo. Ĉu sendi sennomigitan kopion de la signalo ankaŭ tien?",
"report.mute": "Silentigi", "report.mute": "Silentigi",
"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": "Vi ne vidos iliajn afiŝojn. Ili ankoraŭ povas sekvi vin kaj vidi viajn afiŝojn, kaj ne scios ke si estas silentigitaj.",
"report.next": "Sekva", "report.next": "Sekva",
"report.placeholder": "Pliaj komentoj", "report.placeholder": "Pliaj komentoj",
"report.reasons.dislike": "Mi ne ŝatas ĝin", "report.reasons.dislike": "Mi ne ŝatas ĝin",
@ -415,7 +420,7 @@
"report.reasons.violation": "Ĝi malrespektas servilajn regulojn", "report.reasons.violation": "Ĝi malrespektas servilajn regulojn",
"report.reasons.violation_description": "You are aware that it breaks specific rules", "report.reasons.violation_description": "You are aware that it breaks specific rules",
"report.rules.subtitle": "Elektu ĉiujn, kiuj validas", "report.rules.subtitle": "Elektu ĉiujn, kiuj validas",
"report.rules.title": "Which rules are being violated?", "report.rules.title": "Kiuj reguloj estas malobservataj?",
"report.statuses.subtitle": "Elektu ĉiujn, kiuj validas", "report.statuses.subtitle": "Elektu ĉiujn, kiuj validas",
"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": "Sendi", "report.submit": "Sendi",
@ -515,7 +520,7 @@
"upload_error.poll": "Alŝuto de dosiero ne permesita kun balotenketo.", "upload_error.poll": "Alŝuto de dosiero ne permesita kun balotenketo.",
"upload_form.audio_description": "Priskribi por homoj kiuj malfacile aŭdi", "upload_form.audio_description": "Priskribi por homoj kiuj malfacile aŭdi",
"upload_form.description": "Priskribi por misvidantaj homoj", "upload_form.description": "Priskribi por misvidantaj homoj",
"upload_form.description_missing": "No description added", "upload_form.description_missing": "Neniu priskribo aldonita",
"upload_form.edit": "Redakti", "upload_form.edit": "Redakti",
"upload_form.thumbnail": "Ŝanĝi etigita bildo", "upload_form.thumbnail": "Ŝanĝi etigita bildo",
"upload_form.undo": "Forigi", "upload_form.undo": "Forigi",

View File

@ -18,7 +18,7 @@
"account.followers": "Seguidores", "account.followers": "Seguidores",
"account.followers.empty": "Todavía nadie sigue a este usuario.", "account.followers.empty": "Todavía nadie sigue a este usuario.",
"account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidores}}", "account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidores}}",
"account.following": "Siguiendo", "account.following": "Seguimientos",
"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",
@ -92,8 +92,10 @@
"community.column_settings.local_only": "Sólo local", "community.column_settings.local_only": "Sólo local",
"community.column_settings.media_only": "Sólo medios", "community.column_settings.media_only": "Sólo medios",
"community.column_settings.remote_only": "Sólo remoto", "community.column_settings.remote_only": "Sólo remoto",
"compose_form.direct_message_warning": "Este mensaje sólo será enviado a los usuarios mencionados.", "compose.language.change": "Cambiar idioma",
"compose.language.search": "Buscar idiomas…",
"compose_form.direct_message_warning_learn_more": "Aprendé más", "compose_form.direct_message_warning_learn_more": "Aprendé más",
"compose_form.encryption_warning": "Los mensajes en Mastodon no están cifrados de extremo a extremo. No comparta ninguna información sensible al usar Mastodon.",
"compose_form.hashtag_warning": "Este mensaje no se mostrará bajo ninguna etiqueta porque no es público. Sólo los mensajes públicos se pueden buscar por etiquetas.", "compose_form.hashtag_warning": "Este mensaje no se mostrará bajo ninguna etiqueta porque no es público. Sólo los mensajes públicos se pueden buscar por etiquetas.",
"compose_form.lock_disclaimer": "Tu cuenta no es {locked}. Todos pueden seguirte para ver tus mensajes marcados como \"Sólo para seguidores\".", "compose_form.lock_disclaimer": "Tu cuenta no es {locked}. Todos pueden seguirte para ver tus mensajes marcados como \"Sólo para seguidores\".",
"compose_form.lock_disclaimer.lock": "privada", "compose_form.lock_disclaimer.lock": "privada",
@ -147,6 +149,7 @@
"embed.instructions": "Insertá este mensaje a tu sitio web copiando el código de abajo.", "embed.instructions": "Insertá este mensaje a tu sitio web copiando el código de abajo.",
"embed.preview": "Así es cómo se verá:", "embed.preview": "Así es cómo se verá:",
"emoji_button.activity": "Actividad", "emoji_button.activity": "Actividad",
"emoji_button.clear": "Limpiar",
"emoji_button.custom": "Personalizado", "emoji_button.custom": "Personalizado",
"emoji_button.flags": "Banderas", "emoji_button.flags": "Banderas",
"emoji_button.food": "Comida y bebida", "emoji_button.food": "Comida y bebida",
@ -231,7 +234,7 @@
"keyboard_shortcuts.column": "Enfocar columna", "keyboard_shortcuts.column": "Enfocar columna",
"keyboard_shortcuts.compose": "Enfocar el área de texto de redacción", "keyboard_shortcuts.compose": "Enfocar el área de texto de redacción",
"keyboard_shortcuts.description": "Descripción", "keyboard_shortcuts.description": "Descripción",
"keyboard_shortcuts.direct": "Abrir columna de mensajes directos", "keyboard_shortcuts.direct": "para abrir columna de mensajes directos",
"keyboard_shortcuts.down": "Bajar en la lista", "keyboard_shortcuts.down": "Bajar en la lista",
"keyboard_shortcuts.enter": "Abrir mensaje", "keyboard_shortcuts.enter": "Abrir mensaje",
"keyboard_shortcuts.favourite": "Marcar mensaje como favorito", "keyboard_shortcuts.favourite": "Marcar mensaje como favorito",
@ -264,6 +267,8 @@
"lightbox.expand": "Expandir cuadro de vista de imagen", "lightbox.expand": "Expandir cuadro de vista de imagen",
"lightbox.next": "Siguiente", "lightbox.next": "Siguiente",
"lightbox.previous": "Anterior", "lightbox.previous": "Anterior",
"limited_account_hint.action": "Mostrar perfil de todos modos",
"limited_account_hint.title": "Este perfil fue ocultado por los moderadores de tu servidor.",
"lists.account.add": "Agregar a lista", "lists.account.add": "Agregar a lista",
"lists.account.remove": "Quitar de lista", "lists.account.remove": "Quitar de lista",
"lists.delete": "Eliminar lista", "lists.delete": "Eliminar lista",
@ -367,12 +372,12 @@
"poll_button.remove_poll": "Quitar encuesta", "poll_button.remove_poll": "Quitar encuesta",
"privacy.change": "Configurar privacidad del mensaje", "privacy.change": "Configurar privacidad del mensaje",
"privacy.direct.long": "Visible sólo para los usuarios mencionados", "privacy.direct.long": "Visible sólo para los usuarios mencionados",
"privacy.direct.short": "Directo", "privacy.direct.short": "Sólo cuentas mencionadas",
"privacy.private.long": "Visible sólo para los seguidores", "privacy.private.long": "Visible sólo para los seguidores",
"privacy.private.short": "Sólo para seguidores", "privacy.private.short": "Sólo para seguidores",
"privacy.public.long": "Visible para todos, mostrado en las líneas temporales públicas", "privacy.public.long": "Visible para todos",
"privacy.public.short": "Público", "privacy.public.short": "Público",
"privacy.unlisted.long": "Visible para todos, pero no en las líneas temporales públicas", "privacy.unlisted.long": "Visible para todos, pero excluido de las características de descubrimiento",
"privacy.unlisted.short": "No listado", "privacy.unlisted.short": "No listado",
"refresh": "Refrescar", "refresh": "Refrescar",
"regeneration_indicator.label": "Cargando…", "regeneration_indicator.label": "Cargando…",
@ -515,7 +520,7 @@
"upload_error.poll": "No se permite la subida de archivos en encuestas.", "upload_error.poll": "No se permite la subida de archivos en encuestas.",
"upload_form.audio_description": "Agregá una descripción para personas con dificultades auditivas", "upload_form.audio_description": "Agregá una descripción para personas con dificultades auditivas",
"upload_form.description": "Agregá una descripción para personas con dificultades visuales", "upload_form.description": "Agregá una descripción para personas con dificultades visuales",
"upload_form.description_missing": "No description added", "upload_form.description_missing": "No se agregó descripción",
"upload_form.edit": "Editar", "upload_form.edit": "Editar",
"upload_form.thumbnail": "Cambiar miniatura", "upload_form.thumbnail": "Cambiar miniatura",
"upload_form.undo": "Eliminar", "upload_form.undo": "Eliminar",

View File

@ -92,8 +92,10 @@
"community.column_settings.local_only": "Solo local", "community.column_settings.local_only": "Solo local",
"community.column_settings.media_only": "Solo media", "community.column_settings.media_only": "Solo media",
"community.column_settings.remote_only": "Solo remoto", "community.column_settings.remote_only": "Solo remoto",
"compose_form.direct_message_warning": "Este toot solo será enviado a los usuarios mencionados.", "compose.language.change": "Change language",
"compose.language.search": "Search languages...",
"compose_form.direct_message_warning_learn_more": "Aprender mas", "compose_form.direct_message_warning_learn_more": "Aprender mas",
"compose_form.encryption_warning": "Los mensajes en Mastodon no están cifrados de extremo a extremo. No comparta ninguna información confidencial en Mastodon.",
"compose_form.hashtag_warning": "Este toot no se mostrará bajo hashtags porque no es público. Sólo los toots públicos se pueden buscar por hashtag.", "compose_form.hashtag_warning": "Este toot no se mostrará bajo hashtags porque no es público. Sólo los toots públicos se pueden buscar por hashtag.",
"compose_form.lock_disclaimer": "Tu cuenta no está bloqueada. Todos pueden seguirte para ver tus toots solo para seguidores.", "compose_form.lock_disclaimer": "Tu cuenta no está bloqueada. Todos pueden seguirte para ver tus toots solo para seguidores.",
"compose_form.lock_disclaimer.lock": "bloqueado", "compose_form.lock_disclaimer.lock": "bloqueado",
@ -147,6 +149,7 @@
"embed.instructions": "Añade este toot a tu sitio web con el siguiente código.", "embed.instructions": "Añade este toot a tu sitio web con el siguiente código.",
"embed.preview": "Así es como se verá:", "embed.preview": "Así es como se verá:",
"emoji_button.activity": "Actividad", "emoji_button.activity": "Actividad",
"emoji_button.clear": "Clear",
"emoji_button.custom": "Personalizado", "emoji_button.custom": "Personalizado",
"emoji_button.flags": "Marcas", "emoji_button.flags": "Marcas",
"emoji_button.food": "Comida y bebida", "emoji_button.food": "Comida y bebida",
@ -231,7 +234,7 @@
"keyboard_shortcuts.column": "enfocar un estado en una de las columnas", "keyboard_shortcuts.column": "enfocar un estado en una de las columnas",
"keyboard_shortcuts.compose": "enfocar el área de texto de redacción", "keyboard_shortcuts.compose": "enfocar el área de texto de redacción",
"keyboard_shortcuts.description": "Descripción", "keyboard_shortcuts.description": "Descripción",
"keyboard_shortcuts.direct": "abrir la columna de mensajes directos", "keyboard_shortcuts.direct": "para abrir la columna de mensajes directos",
"keyboard_shortcuts.down": "mover hacia abajo en la lista", "keyboard_shortcuts.down": "mover hacia abajo en la lista",
"keyboard_shortcuts.enter": "abrir estado", "keyboard_shortcuts.enter": "abrir estado",
"keyboard_shortcuts.favourite": "añadir a favoritos", "keyboard_shortcuts.favourite": "añadir a favoritos",
@ -264,6 +267,8 @@
"lightbox.expand": "Expandir cuadro de visualización de imagen", "lightbox.expand": "Expandir cuadro de visualización de imagen",
"lightbox.next": "Siguiente", "lightbox.next": "Siguiente",
"lightbox.previous": "Anterior", "lightbox.previous": "Anterior",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"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",
@ -367,12 +372,12 @@
"poll_button.remove_poll": "Eliminar encuesta", "poll_button.remove_poll": "Eliminar encuesta",
"privacy.change": "Ajustar privacidad", "privacy.change": "Ajustar privacidad",
"privacy.direct.long": "Sólo mostrar a los usuarios mencionados", "privacy.direct.long": "Sólo mostrar a los usuarios mencionados",
"privacy.direct.short": "Directo", "privacy.direct.short": "Sólo cuentas mencionadas",
"privacy.private.long": "Sólo mostrar a seguidores", "privacy.private.long": "Sólo mostrar a seguidores",
"privacy.private.short": "Privado", "privacy.private.short": "Solo seguidores",
"privacy.public.long": "Mostrar en la historia federada", "privacy.public.long": "Visible para todos",
"privacy.public.short": "Público", "privacy.public.short": "Público",
"privacy.unlisted.long": "No mostrar en la historia federada", "privacy.unlisted.long": "Visible para todos, pero excluido de las funciones de descubrimiento",
"privacy.unlisted.short": "No listado", "privacy.unlisted.short": "No listado",
"refresh": "Actualizar", "refresh": "Actualizar",
"regeneration_indicator.label": "Cargando…", "regeneration_indicator.label": "Cargando…",
@ -515,7 +520,7 @@
"upload_error.poll": "Subida de archivos no permitida con encuestas.", "upload_error.poll": "Subida de archivos no permitida con encuestas.",
"upload_form.audio_description": "Describir para personas con problemas auditivos", "upload_form.audio_description": "Describir para personas con problemas auditivos",
"upload_form.description": "Describir para los usuarios con dificultad visual", "upload_form.description": "Describir para los usuarios con dificultad visual",
"upload_form.description_missing": "No description added", "upload_form.description_missing": "Ninguna descripción añadida",
"upload_form.edit": "Editar", "upload_form.edit": "Editar",
"upload_form.thumbnail": "Cambiar miniatura", "upload_form.thumbnail": "Cambiar miniatura",
"upload_form.undo": "Borrar", "upload_form.undo": "Borrar",

View File

@ -4,7 +4,7 @@
"account.badges.bot": "Bot", "account.badges.bot": "Bot",
"account.badges.group": "Grupo", "account.badges.group": "Grupo",
"account.block": "Bloquear a @{name}", "account.block": "Bloquear a @{name}",
"account.block_domain": "Ocultar todo de {domain}", "account.block_domain": "Bloquear dominio {domain}",
"account.blocked": "Bloqueado", "account.blocked": "Bloqueado",
"account.browse_more_on_origin_server": "Ver más en el perfil original", "account.browse_more_on_origin_server": "Ver más en el perfil original",
"account.cancel_follow_request": "Cancelar la solicitud de seguimiento", "account.cancel_follow_request": "Cancelar la solicitud de seguimiento",
@ -92,8 +92,10 @@
"community.column_settings.local_only": "Solo local", "community.column_settings.local_only": "Solo local",
"community.column_settings.media_only": "Solo media", "community.column_settings.media_only": "Solo media",
"community.column_settings.remote_only": "Solo remoto", "community.column_settings.remote_only": "Solo remoto",
"compose_form.direct_message_warning": "Esta nueva publicación solo será enviada a los usuarios mencionados.", "compose.language.change": "Cambiar idioma",
"compose.language.search": "Buscar idiomas...",
"compose_form.direct_message_warning_learn_more": "Aprender más", "compose_form.direct_message_warning_learn_more": "Aprender más",
"compose_form.encryption_warning": "Los mensajes en Mastodon no están cifrados de extremo a extremo. No comparta ninguna información confidencial en Mastodon.",
"compose_form.hashtag_warning": "Esta publicación no se mostrará bajo ningún hashtag porque no está listada. Sólo las publicaciones públicas se pueden buscar por hashtag.", "compose_form.hashtag_warning": "Esta publicación no se mostrará bajo ningún hashtag porque no está listada. Sólo las publicaciones públicas se pueden buscar por hashtag.",
"compose_form.lock_disclaimer": "Tu cuenta no está {locked}. Todos pueden seguirte para ver tus publicaciones solo para seguidores.", "compose_form.lock_disclaimer": "Tu cuenta no está {locked}. Todos pueden seguirte para ver tus publicaciones solo para seguidores.",
"compose_form.lock_disclaimer.lock": "bloqueado", "compose_form.lock_disclaimer.lock": "bloqueado",
@ -147,6 +149,7 @@
"embed.instructions": "Añade esta publicación a tu sitio web con el siguiente código.", "embed.instructions": "Añade esta publicación a tu sitio web con el siguiente código.",
"embed.preview": "Así es como se verá:", "embed.preview": "Así es como se verá:",
"emoji_button.activity": "Actividad", "emoji_button.activity": "Actividad",
"emoji_button.clear": "Limpiar",
"emoji_button.custom": "Personalizado", "emoji_button.custom": "Personalizado",
"emoji_button.flags": "Marcas", "emoji_button.flags": "Marcas",
"emoji_button.food": "Comida y bebida", "emoji_button.food": "Comida y bebida",
@ -231,7 +234,7 @@
"keyboard_shortcuts.column": "enfocar un estado en una de las columnas", "keyboard_shortcuts.column": "enfocar un estado en una de las columnas",
"keyboard_shortcuts.compose": "enfocar el área de texto de redacción", "keyboard_shortcuts.compose": "enfocar el área de texto de redacción",
"keyboard_shortcuts.description": "Descripción", "keyboard_shortcuts.description": "Descripción",
"keyboard_shortcuts.direct": "abrir la columna de mensajes directos", "keyboard_shortcuts.direct": "para abrir la columna de mensajes directos",
"keyboard_shortcuts.down": "mover hacia abajo en la lista", "keyboard_shortcuts.down": "mover hacia abajo en la lista",
"keyboard_shortcuts.enter": "abrir estado", "keyboard_shortcuts.enter": "abrir estado",
"keyboard_shortcuts.favourite": "añadir a favoritos", "keyboard_shortcuts.favourite": "añadir a favoritos",
@ -264,6 +267,8 @@
"lightbox.expand": "Expandir cuadro de visualización de imagen", "lightbox.expand": "Expandir cuadro de visualización de imagen",
"lightbox.next": "Siguiente", "lightbox.next": "Siguiente",
"lightbox.previous": "Anterior", "lightbox.previous": "Anterior",
"limited_account_hint.action": "Mostrar perfil de todos modos",
"limited_account_hint.title": "Este perfil ha sido ocultado por los moderadores de tu servidor.",
"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",
@ -367,12 +372,12 @@
"poll_button.remove_poll": "Eliminar encuesta", "poll_button.remove_poll": "Eliminar encuesta",
"privacy.change": "Ajustar privacidad", "privacy.change": "Ajustar privacidad",
"privacy.direct.long": "Sólo mostrar a los usuarios mencionados", "privacy.direct.long": "Sólo mostrar a los usuarios mencionados",
"privacy.direct.short": "Directo", "privacy.direct.short": "Sólo cuentas mencionadas",
"privacy.private.long": "Sólo mostrar a seguidores", "privacy.private.long": "Sólo mostrar a seguidores",
"privacy.private.short": "Privado", "privacy.private.short": "Solo seguidores",
"privacy.public.long": "Mostrar en la historia federada", "privacy.public.long": "Visible para todos",
"privacy.public.short": "Público", "privacy.public.short": "Público",
"privacy.unlisted.long": "No mostrar en la historia federada", "privacy.unlisted.long": "Visible para todos, pero excluido de las funciones de descubrimiento",
"privacy.unlisted.short": "No listado", "privacy.unlisted.short": "No listado",
"refresh": "Actualizar", "refresh": "Actualizar",
"regeneration_indicator.label": "Cargando…", "regeneration_indicator.label": "Cargando…",
@ -515,7 +520,7 @@
"upload_error.poll": "Subida de archivos no permitida con encuestas.", "upload_error.poll": "Subida de archivos no permitida con encuestas.",
"upload_form.audio_description": "Describir para personas con problemas auditivos", "upload_form.audio_description": "Describir para personas con problemas auditivos",
"upload_form.description": "Describir para los usuarios con dificultad visual", "upload_form.description": "Describir para los usuarios con dificultad visual",
"upload_form.description_missing": "No description added", "upload_form.description_missing": "Ninguna descripción añadida",
"upload_form.edit": "Editar", "upload_form.edit": "Editar",
"upload_form.thumbnail": "Cambiar miniatura", "upload_form.thumbnail": "Cambiar miniatura",
"upload_form.undo": "Borrar", "upload_form.undo": "Borrar",

View File

@ -1,5 +1,5 @@
{ {
"account.account_note_header": "Note", "account.account_note_header": "Märge",
"account.add_or_remove_from_list": "Lisa või Eemalda nimekirjadest", "account.add_or_remove_from_list": "Lisa või Eemalda nimekirjadest",
"account.badges.bot": "Robot", "account.badges.bot": "Robot",
"account.badges.group": "Grupp", "account.badges.group": "Grupp",
@ -8,7 +8,7 @@
"account.blocked": "Blokeeritud", "account.blocked": "Blokeeritud",
"account.browse_more_on_origin_server": "Browse more on the original profile", "account.browse_more_on_origin_server": "Browse more on the original profile",
"account.cancel_follow_request": "Tühista jälgimistaotlus", "account.cancel_follow_request": "Tühista jälgimistaotlus",
"account.direct": "Otsesõnum @{name}", "account.direct": "Saada otsesõnum @{name}'ile",
"account.disable_notifications": "Stop notifying me when @{name} posts", "account.disable_notifications": "Stop notifying me when @{name} posts",
"account.domain_blocked": "Domeen peidetud", "account.domain_blocked": "Domeen peidetud",
"account.edit_profile": "Muuda profiili", "account.edit_profile": "Muuda profiili",
@ -17,28 +17,28 @@
"account.follow": "Jälgi", "account.follow": "Jälgi",
"account.followers": "Jälgijad", "account.followers": "Jälgijad",
"account.followers.empty": "Keegi ei jälgi seda kasutajat veel.", "account.followers.empty": "Keegi ei jälgi seda kasutajat veel.",
"account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}", "account.followers_counter": "{count, plural, one {{counter} jälgija} other {{counter} jälgijat}}",
"account.following": "Following", "account.following": "Following",
"account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", "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.hide_reblogs": "Peida upitused kasutajalt @{name}", "account.hide_reblogs": "Peida upitused kasutajalt @{name}",
"account.joined": "Joined {date}", "account.joined": "Liitus {date}",
"account.link_verified_on": "Selle lingi autorsust kontrolliti {date}", "account.link_verified_on": "Selle lingi autorsust kontrolliti {date}",
"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}", "account.mention": "Maini @{name}'i",
"account.moved_to": "{name} on kolinud:", "account.moved_to": "{name} on kolinud:",
"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.posts": "Tuututused", "account.posts": "Postitused",
"account.posts_with_replies": "Tuututused ja vastused", "account.posts_with_replies": "Postitused ja vastused",
"account.report": "Raporteeri @{name}", "account.report": "Raporteeri @{name}",
"account.requested": "Ootab kinnitust. Klõpsa jälgimise soovi tühistamiseks", "account.requested": "Ootab kinnitust. Klõpsa jälgimise soovi tühistamiseks",
"account.share": "Jaga @{name} profiili", "account.share": "Jaga @{name} profiili",
"account.show_reblogs": "Näita kasutaja @{name} upitusi", "account.show_reblogs": "Näita kasutaja @{name} upitusi",
"account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}", "account.statuses_counter": "{count, plural, one {{counter} postitus} other {{counter} postitust}}",
"account.unblock": "Eemalda blokeering @{name}", "account.unblock": "Eemalda blokeering @{name}",
"account.unblock_domain": "Tee {domain} nähtavaks", "account.unblock_domain": "Tee {domain} nähtavaks",
"account.unblock_short": "Unblock", "account.unblock_short": "Unblock",
@ -47,7 +47,7 @@
"account.unmute": "Ära vaigista @{name}", "account.unmute": "Ära vaigista @{name}",
"account.unmute_notifications": "Ära vaigista teateid kasutajalt @{name}", "account.unmute_notifications": "Ära vaigista teateid kasutajalt @{name}",
"account.unmute_short": "Unmute", "account.unmute_short": "Unmute",
"account_note.placeholder": "Click to add a note", "account_note.placeholder": "Klõpsa märkme lisamiseks",
"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",
@ -70,7 +70,7 @@
"column.blocks": "Blokeeritud kasutajad", "column.blocks": "Blokeeritud kasutajad",
"column.bookmarks": "Järjehoidjad", "column.bookmarks": "Järjehoidjad",
"column.community": "Kohalik ajajoon", "column.community": "Kohalik ajajoon",
"column.direct": "Otsesõnumid", "column.direct": "Direct messages",
"column.directory": "Sirvi profiile", "column.directory": "Sirvi profiile",
"column.domain_blocks": "Peidetud domeenid", "column.domain_blocks": "Peidetud domeenid",
"column.favourites": "Lemmikud", "column.favourites": "Lemmikud",
@ -92,19 +92,21 @@
"community.column_settings.local_only": "Ainult kohalik", "community.column_settings.local_only": "Ainult kohalik",
"community.column_settings.media_only": "Ainult meedia", "community.column_settings.media_only": "Ainult meedia",
"community.column_settings.remote_only": "Ainult kaug", "community.column_settings.remote_only": "Ainult kaug",
"compose_form.direct_message_warning": "See tuut saadetakse ainult mainitud kasutajatele.", "compose.language.change": "Change language",
"compose.language.search": "Search languages...",
"compose_form.direct_message_warning_learn_more": "Vaata veel", "compose_form.direct_message_warning_learn_more": "Vaata veel",
"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": "Seda tuuti ei kuvata ühegi sildi all, sest see on kirjendamata. Ainult avalikud tuutid on sildi järgi otsitavad.", "compose_form.hashtag_warning": "Seda tuuti ei kuvata ühegi sildi all, sest see on kirjendamata. Ainult avalikud tuutid on sildi järgi otsitavad.",
"compose_form.lock_disclaimer": "Teie konto ei ole {locked}. Igaüks saab Teid jälgida ja näha Teie ainult-jälgijatele postitusi.", "compose_form.lock_disclaimer": "Teie konto ei ole {locked}. Igaüks saab Teid jälgida ja näha Teie ainult-jälgijatele postitusi.",
"compose_form.lock_disclaimer.lock": "lukus", "compose_form.lock_disclaimer.lock": "lukus",
"compose_form.placeholder": "Millest mõtlete?", "compose_form.placeholder": "Millest mõtled?",
"compose_form.poll.add_option": "Lisa valik", "compose_form.poll.add_option": "Lisa valik",
"compose_form.poll.duration": "Küsitluse kestus", "compose_form.poll.duration": "Küsitluse kestus",
"compose_form.poll.option_placeholder": "Valik {number}", "compose_form.poll.option_placeholder": "Valik {number}",
"compose_form.poll.remove_option": "Eemalda see valik", "compose_form.poll.remove_option": "Eemalda see valik",
"compose_form.poll.switch_to_multiple": "Muuda küsitlust lubamaks mitut valikut", "compose_form.poll.switch_to_multiple": "Muuda küsitlust lubamaks mitut valikut",
"compose_form.poll.switch_to_single": "Muuda küsitlust lubamaks ainult ühte valikut", "compose_form.poll.switch_to_single": "Muuda küsitlust lubamaks ainult ühte valikut",
"compose_form.publish": "Tuut", "compose_form.publish": "Tuututa",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Save changes", "compose_form.save_changes": "Save changes",
"compose_form.sensitive.hide": "Märgista meedia tundlikuks", "compose_form.sensitive.hide": "Märgista meedia tundlikuks",
@ -147,9 +149,10 @@
"embed.instructions": "Manusta see staatus oma veebilehele, kopeerides alloleva koodi.", "embed.instructions": "Manusta see staatus oma veebilehele, kopeerides alloleva koodi.",
"embed.preview": "Nii näeb see välja:", "embed.preview": "Nii näeb see välja:",
"emoji_button.activity": "Tegevus", "emoji_button.activity": "Tegevus",
"emoji_button.clear": "Clear",
"emoji_button.custom": "Mugandatud", "emoji_button.custom": "Mugandatud",
"emoji_button.flags": "Lipud", "emoji_button.flags": "Lipud",
"emoji_button.food": "Toit & Jook", "emoji_button.food": "Toit & jook",
"emoji_button.label": "Sisesta emoji", "emoji_button.label": "Sisesta emoji",
"emoji_button.nature": "Loodus", "emoji_button.nature": "Loodus",
"emoji_button.not_found": "Ei ole emojosi!! (╯°□°)╯︵ ┻━┻", "emoji_button.not_found": "Ei ole emojosi!! (╯°□°)╯︵ ┻━┻",
@ -159,20 +162,20 @@
"emoji_button.search": "Otsi...", "emoji_button.search": "Otsi...",
"emoji_button.search_results": "Otsitulemused", "emoji_button.search_results": "Otsitulemused",
"emoji_button.symbols": "Sümbolid", "emoji_button.symbols": "Sümbolid",
"emoji_button.travel": "Reisimine & Kohad", "emoji_button.travel": "Reisimine & kohad",
"empty_column.account_suspended": "Account suspended", "empty_column.account_suspended": "Account suspended",
"empty_column.account_timeline": "Siin tuute ei ole!", "empty_column.account_timeline": "Siin tuute ei ole!",
"empty_column.account_unavailable": "Profiil pole saadaval", "empty_column.account_unavailable": "Profiil pole saadaval",
"empty_column.blocks": "Sa ei ole veel ühtegi kasutajat blokeerinud.", "empty_column.blocks": "Sa ei ole veel ühtegi kasutajat blokeerinud.",
"empty_column.bookmarked_statuses": "Teil pole veel järjehoidjatesse lisatud tuututusi. Kui lisate mõne, näete neid siin.", "empty_column.bookmarked_statuses": "Teil pole veel järjehoidjatesse lisatud tuututusi. Kui lisate mõne, näete neid siin.",
"empty_column.community": "Kohalik ajajoon on tühi. Kirjutage midagi avalikult, et pall veerema ajada!", "empty_column.community": "Kohalik ajajoon on tühi. Kirjutage midagi avalikult, et pall veerema ajada!",
"empty_column.direct": "Teil ei ole veel otsesõnumeid. Kui saadate või võtate mõne vastu, ilmuvad nad siia.", "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": "Siin ei ole veel peidetud domeene.", "empty_column.domain_blocks": "Siin ei ole veel peidetud domeene.",
"empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.explore_statuses": "Ükski postitus pole hetkel populaarne. Tule hiljem tagasi!",
"empty_column.favourited_statuses": "Teil pole veel lemmikuid tuute. Kui märgite mõne, näete neid siin.", "empty_column.favourited_statuses": "Teil pole veel lemmikuid tuute. Kui märgite mõne, näete neid siin.",
"empty_column.favourites": "Keegi pole veel seda tuuti lemmikuks märkinud. Kui seegi seda teeb, näed seda siin.", "empty_column.favourites": "Keegi pole veel seda tuuti lemmikuks märkinud. Kui seegi seda teeb, näed seda siin.",
"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": "Teil pole veel ühtegi jälgimise taotlust. Kui saate mõne, näete neid siin.", "empty_column.follow_requests": "Teil pole hetkel ühtegi jälgimistaotlust. Kui saate mõne, näete neid siin.",
"empty_column.hashtag": "Selle sildiga pole veel midagi.", "empty_column.hashtag": "Selle sildiga pole veel midagi.",
"empty_column.home": "Teie kodu ajajoon on tühi! Külastage {public} või kasutage otsingut alustamaks ja kohtamaks teisi kasutajaid.", "empty_column.home": "Teie kodu ajajoon on tühi! Külastage {public} või kasutage otsingut alustamaks ja kohtamaks teisi kasutajaid.",
"empty_column.home.suggestions": "See some suggestions", "empty_column.home.suggestions": "See some suggestions",
@ -187,12 +190,12 @@
"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": "Kopeeri stacktrace lõikelauale", "errors.unexpected_crash.copy_stacktrace": "Kopeeri stacktrace lõikelauale",
"errors.unexpected_crash.report_issue": "Teavita veast", "errors.unexpected_crash.report_issue": "Teavita veast",
"explore.search_results": "Search results", "explore.search_results": "Otsingutulemused",
"explore.suggested_follows": "For you", "explore.suggested_follows": "Sinu jaoks",
"explore.title": "Explore", "explore.title": "Avasta",
"explore.trending_links": "News", "explore.trending_links": "Uudised",
"explore.trending_statuses": "Posts", "explore.trending_statuses": "Postitused",
"explore.trending_tags": "Hashtags", "explore.trending_tags": "Sildid",
"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": "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!",
@ -231,9 +234,9 @@
"keyboard_shortcuts.column": "fokuseerimaks staatust ühele tulpadest", "keyboard_shortcuts.column": "fokuseerimaks staatust ühele tulpadest",
"keyboard_shortcuts.compose": "fokuseerimaks tekstikoostamise alale", "keyboard_shortcuts.compose": "fokuseerimaks tekstikoostamise alale",
"keyboard_shortcuts.description": "Kirjeldus", "keyboard_shortcuts.description": "Kirjeldus",
"keyboard_shortcuts.direct": "avamaks otsesõnumite tulpa", "keyboard_shortcuts.direct": "to open direct messages column",
"keyboard_shortcuts.down": "liikumaks nimstus alla", "keyboard_shortcuts.down": "liikumaks nimstus alla",
"keyboard_shortcuts.enter": "staatuse avamiseks", "keyboard_shortcuts.enter": "Ava postitus",
"keyboard_shortcuts.favourite": "lemmikuks märkimiseks", "keyboard_shortcuts.favourite": "lemmikuks märkimiseks",
"keyboard_shortcuts.favourites": "avamaks lemmikute nimistut", "keyboard_shortcuts.favourites": "avamaks lemmikute nimistut",
"keyboard_shortcuts.federated": "avamaks föderatsiooni ajajoont", "keyboard_shortcuts.federated": "avamaks föderatsiooni ajajoont",
@ -264,6 +267,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Järgmine", "lightbox.next": "Järgmine",
"lightbox.previous": "Eelmine", "lightbox.previous": "Eelmine",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Lisa nimistusse", "lists.account.add": "Lisa nimistusse",
"lists.account.remove": "Eemalda nimistust", "lists.account.remove": "Eemalda nimistust",
"lists.delete": "Kustuta nimistu", "lists.delete": "Kustuta nimistu",
@ -279,22 +284,22 @@
"lists.subheading": "Teie nimistud", "lists.subheading": "Teie nimistud",
"load_pending": "{count, plural, one {# uus kirje} other {# uut kirjet}}", "load_pending": "{count, plural, one {# uus kirje} other {# uut kirjet}}",
"loading_indicator.label": "Laeb..", "loading_indicator.label": "Laeb..",
"media_gallery.toggle_visible": "Lülita nähtavus", "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",
"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",
"navigation_bar.apps": "Mobiilrakendused", "navigation_bar.apps": "Mobiilirakendused",
"navigation_bar.blocks": "Blokeeritud kasutajad", "navigation_bar.blocks": "Blokeeritud kasutajad",
"navigation_bar.bookmarks": "Järjehoidjad", "navigation_bar.bookmarks": "Järjehoidjad",
"navigation_bar.community_timeline": "Kohalik ajajoon", "navigation_bar.community_timeline": "Kohalik ajajoon",
"navigation_bar.compose": "Koosta uus tuut", "navigation_bar.compose": "Koosta uus tuut",
"navigation_bar.direct": "Otsesõnumid", "navigation_bar.direct": "Direct messages",
"navigation_bar.discover": "Avasta", "navigation_bar.discover": "Avasta",
"navigation_bar.domain_blocks": "Peidetud domeenid", "navigation_bar.domain_blocks": "Peidetud domeenid",
"navigation_bar.edit_profile": "Muuda profiili", "navigation_bar.edit_profile": "Muuda profiili",
"navigation_bar.explore": "Explore", "navigation_bar.explore": "Avasta",
"navigation_bar.favourites": "Lemmikud", "navigation_bar.favourites": "Lemmikud",
"navigation_bar.filters": "Vaigistatud sõnad", "navigation_bar.filters": "Vaigistatud sõnad",
"navigation_bar.follow_requests": "Jälgimistaotlused", "navigation_bar.follow_requests": "Jälgimistaotlused",
@ -359,27 +364,27 @@
"poll.closed": "Suletud", "poll.closed": "Suletud",
"poll.refresh": "Värskenda", "poll.refresh": "Värskenda",
"poll.total_people": "{count, plural,one {# inimene} other {# inimest}}", "poll.total_people": "{count, plural,one {# inimene} other {# inimest}}",
"poll.total_votes": "{count, plural, one {# hääl} other {# hääli}}", "poll.total_votes": "{count, plural, one {# hääl} other {# häält}}",
"poll.vote": "Hääleta", "poll.vote": "Hääleta",
"poll.voted": "Teie hääletasite selle poolt", "poll.voted": "Teie hääletasite selle poolt",
"poll.votes": "{votes, plural, one {# vote} other {# votes}}", "poll.votes": "{votes, plural, one {# hääl} other {# häält}}",
"poll_button.add_poll": "Lisa küsitlus", "poll_button.add_poll": "Lisa küsitlus",
"poll_button.remove_poll": "Eemalda küsitlus", "poll_button.remove_poll": "Eemalda küsitlus",
"privacy.change": "Muuda staatuse privaatsust", "privacy.change": "Muuda postituse nähtavust",
"privacy.direct.long": "Postita ainult mainitud kasutajatele", "privacy.direct.long": "Postita ainult mainitud kasutajatele",
"privacy.direct.short": "Otsene", "privacy.direct.short": "Direct",
"privacy.private.long": "Postita ainult jälgijatele", "privacy.private.long": "Postita ainult jälgijatele",
"privacy.private.short": "Ainult jälgijatele", "privacy.private.short": "Followers-only",
"privacy.public.long": "Postita avalikele ajajoontele", "privacy.public.long": "Visible for all",
"privacy.public.short": "Avalik", "privacy.public.short": "Avalik",
"privacy.unlisted.long": "Ära postita avalikele ajajoontele", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.short": "Määramata", "privacy.unlisted.short": "Määramata",
"refresh": "Värskenda", "refresh": "Värskenda",
"regeneration_indicator.label": "Laeb…", "regeneration_indicator.label": "Laeb…",
"regeneration_indicator.sublabel": "Teie kodu voog on ettevalmistamisel!", "regeneration_indicator.sublabel": "Teie kodu voog on ettevalmistamisel!",
"relative_time.days": "{number}p", "relative_time.days": "{number}p",
"relative_time.full.days": "{number, plural, one {# day} other {# days}} ago", "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago",
"relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago", "relative_time.full.hours": "{number, plural, one {# tund} other {# tundi}} tagasi",
"relative_time.full.just_now": "just now", "relative_time.full.just_now": "just now",
"relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago",
"relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago",
@ -434,7 +439,7 @@
"search_popout.tips.text": "Lihtne tekst toob esile kattuvad kuvanimed, kasutajanimed ning sildid", "search_popout.tips.text": "Lihtne tekst toob esile kattuvad kuvanimed, kasutajanimed ning sildid",
"search_popout.tips.user": "kasutaja", "search_popout.tips.user": "kasutaja",
"search_results.accounts": "Inimesed", "search_results.accounts": "Inimesed",
"search_results.all": "All", "search_results.all": "Kõik",
"search_results.hashtags": "Sildid", "search_results.hashtags": "Sildid",
"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": "Tuudid", "search_results.statuses": "Tuudid",
@ -446,10 +451,10 @@
"status.bookmark": "Järjehoidja", "status.bookmark": "Järjehoidja",
"status.cancel_reblog_private": "Äraupita", "status.cancel_reblog_private": "Äraupita",
"status.cannot_reblog": "Seda postitust ei saa upitada", "status.cannot_reblog": "Seda postitust ei saa upitada",
"status.copy": "Kopeeri link staatusesse", "status.copy": "Kopeeri postituse link",
"status.delete": "Kustuta", "status.delete": "Kustuta",
"status.detailed_status": "Detailne vestluskuva", "status.detailed_status": "Detailne vestluskuva",
"status.direct": "Otsesõnum @{name}", "status.direct": "Saada otsesõnum @{name}'ile",
"status.edit": "Edit", "status.edit": "Edit",
"status.edited": "Edited {date}", "status.edited": "Edited {date}",
"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}}",
@ -458,13 +463,13 @@
"status.filtered": "Filtreeritud", "status.filtered": "Filtreeritud",
"status.history.created": "{name} created {date}", "status.history.created": "{name} created {date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "{name} edited {date}",
"status.load_more": "Lae veel", "status.load_more": "Lae rohkem",
"status.media_hidden": "Meedia peidetud", "status.media_hidden": "Meedia peidetud",
"status.mention": "Mainimine @{name}", "status.mention": "Maini @{name}'i",
"status.more": "Veel", "status.more": "Veel",
"status.mute": "Vaigista @{name}", "status.mute": "Vaigista @{name}",
"status.mute_conversation": "Vaigista vestlus", "status.mute_conversation": "Vaigista vestlus",
"status.open": "Laienda see staatus", "status.open": "Laienda see postitus",
"status.pin": "Kinnita profiilile", "status.pin": "Kinnita profiilile",
"status.pinned": "Kinnitatud tuut", "status.pinned": "Kinnitatud tuut",
"status.read_more": "Loe veel", "status.read_more": "Loe veel",
@ -476,7 +481,7 @@
"status.remove_bookmark": "Eemalda järjehoidja", "status.remove_bookmark": "Eemalda järjehoidja",
"status.reply": "Vasta", "status.reply": "Vasta",
"status.replyAll": "Vasta lõimele", "status.replyAll": "Vasta lõimele",
"status.report": "Raport @{name}", "status.report": "Raporteeri @{name}",
"status.sensitive_warning": "Tundlik sisu", "status.sensitive_warning": "Tundlik sisu",
"status.share": "Jaga", "status.share": "Jaga",
"status.show_less": "Näita vähem", "status.show_less": "Näita vähem",
@ -494,17 +499,17 @@
"tabs_bar.local_timeline": "Kohalik", "tabs_bar.local_timeline": "Kohalik",
"tabs_bar.notifications": "Teated", "tabs_bar.notifications": "Teated",
"tabs_bar.search": "Otsi", "tabs_bar.search": "Otsi",
"time_remaining.days": "{number, plural, one {# päev} other {# päeva}} left", "time_remaining.days": "{number, plural, one {# päev} other {# päeva}} jäänud",
"time_remaining.hours": "{number, plural, one {# tund} other {# tundi}} left", "time_remaining.hours": "{number, plural, one {# tund} other {# tundi}} jäänud",
"time_remaining.minutes": "{number, plural, one {# minut} other {# minutit}} left", "time_remaining.minutes": "{number, plural, one {# minut} other {# minutit}} jäänud",
"time_remaining.moments": "Hetked jäänud", "time_remaining.moments": "Hetked jäänud",
"time_remaining.seconds": "{number, plural, one {# sekund} other {# sekundit}} left", "time_remaining.seconds": "{number, plural, one {# sekund} other {# sekundit}} jäänud",
"timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.", "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.",
"timeline_hint.resources.followers": "Followers", "timeline_hint.resources.followers": "Followers",
"timeline_hint.resources.follows": "Follows", "timeline_hint.resources.follows": "Follows",
"timeline_hint.resources.statuses": "Older toots", "timeline_hint.resources.statuses": "Older toots",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking",
"trends.trending_now": "Praegu populaarne", "trends.trending_now": "Hetkel populaarne",
"ui.beforeunload": "Teie mustand läheb kaotsi, kui lahkute Mastodonist.", "ui.beforeunload": "Teie mustand läheb kaotsi, kui lahkute Mastodonist.",
"units.short.billion": "{count}B", "units.short.billion": "{count}B",
"units.short.million": "{count}M", "units.short.million": "{count}M",

View File

@ -70,7 +70,7 @@
"column.blocks": "Blokeatutako erabiltzaileak", "column.blocks": "Blokeatutako erabiltzaileak",
"column.bookmarks": "Laster-markak", "column.bookmarks": "Laster-markak",
"column.community": "Denbora-lerro lokala", "column.community": "Denbora-lerro lokala",
"column.direct": "Mezu zuzenak", "column.direct": "Direct messages",
"column.directory": "Arakatu profilak", "column.directory": "Arakatu profilak",
"column.domain_blocks": "Ezkutatutako domeinuak", "column.domain_blocks": "Ezkutatutako domeinuak",
"column.favourites": "Gogokoak", "column.favourites": "Gogokoak",
@ -92,8 +92,10 @@
"community.column_settings.local_only": "Lokala soilik", "community.column_settings.local_only": "Lokala soilik",
"community.column_settings.media_only": "Multimedia besterik ez", "community.column_settings.media_only": "Multimedia besterik ez",
"community.column_settings.remote_only": "Urrunekoa soilik", "community.column_settings.remote_only": "Urrunekoa soilik",
"compose_form.direct_message_warning": "Bidalketa hau aipatutako erabiltzaileei besterik ez zaie bidaliko.", "compose.language.change": "Change language",
"compose.language.search": "Search languages...",
"compose_form.direct_message_warning_learn_more": "Ikasi gehiago", "compose_form.direct_message_warning_learn_more": "Ikasi gehiago",
"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": "Bidalketa hau ez da traoletan agertuko zerrendatu gabekoa baita. Traoletan bidalketa publikoak besterik ez dira agertzen.", "compose_form.hashtag_warning": "Bidalketa hau ez da traoletan agertuko zerrendatu gabekoa baita. Traoletan bidalketa publikoak besterik ez dira agertzen.",
"compose_form.lock_disclaimer": "Zure kontua ez dago {locked}. Edonork jarraitu zaitzake zure jarraitzaileentzako soilik diren bidalketak ikusteko.", "compose_form.lock_disclaimer": "Zure kontua ez dago {locked}. Edonork jarraitu zaitzake zure jarraitzaileentzako soilik diren bidalketak ikusteko.",
"compose_form.lock_disclaimer.lock": "giltzapetuta", "compose_form.lock_disclaimer.lock": "giltzapetuta",
@ -147,6 +149,7 @@
"embed.instructions": "Txertatu bidalketa hau zure webgunean beheko kodea kopiatuz.", "embed.instructions": "Txertatu bidalketa hau zure webgunean beheko kodea kopiatuz.",
"embed.preview": "Hau da izango duen itxura:", "embed.preview": "Hau da izango duen itxura:",
"emoji_button.activity": "Jarduera", "emoji_button.activity": "Jarduera",
"emoji_button.clear": "Clear",
"emoji_button.custom": "Pertsonalizatua", "emoji_button.custom": "Pertsonalizatua",
"emoji_button.flags": "Banderak", "emoji_button.flags": "Banderak",
"emoji_button.food": "Janari eta edaria", "emoji_button.food": "Janari eta edaria",
@ -166,7 +169,7 @@
"empty_column.blocks": "Ez duzu erabiltzailerik blokeatu oraindik.", "empty_column.blocks": "Ez duzu erabiltzailerik blokeatu oraindik.",
"empty_column.bookmarked_statuses": "Oraindik ez dituzu bidalketa laster-markatutarik. Bat laster-markatzerakoan, hemen agertuko da.", "empty_column.bookmarked_statuses": "Oraindik ez dituzu bidalketa laster-markatutarik. Bat laster-markatzerakoan, hemen agertuko da.",
"empty_column.community": "Denbora-lerro lokala hutsik dago. Idatzi zerbait publikoki pilota biraka jartzeko!", "empty_column.community": "Denbora-lerro lokala hutsik dago. Idatzi zerbait publikoki pilota biraka jartzeko!",
"empty_column.direct": "Ez duzu mezu zuzenik oraindik. Baten bat bidali edo jasotzen duzunean, hemen agertuko da.", "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
"empty_column.domain_blocks": "Ez dago ezkutatutako domeinurik oraindik.", "empty_column.domain_blocks": "Ez dago ezkutatutako domeinurik oraindik.",
"empty_column.explore_statuses": "Ez dago joerarik une honetan. Begiratu beranduago!", "empty_column.explore_statuses": "Ez dago joerarik une honetan. Begiratu beranduago!",
"empty_column.favourited_statuses": "Ez duzu gogokorik oraindik. Gogokoren bat duzunean hemen agertuko da.", "empty_column.favourited_statuses": "Ez duzu gogokorik oraindik. Gogokoren bat duzunean hemen agertuko da.",
@ -231,7 +234,7 @@
"keyboard_shortcuts.column": "mezu bat zutabe batean fokatzea", "keyboard_shortcuts.column": "mezu bat zutabe batean fokatzea",
"keyboard_shortcuts.compose": "testua konposatzeko arean fokatzea", "keyboard_shortcuts.compose": "testua konposatzeko arean fokatzea",
"keyboard_shortcuts.description": "Deskripzioa", "keyboard_shortcuts.description": "Deskripzioa",
"keyboard_shortcuts.direct": "mezu zuzenen zutabea irekitzeko", "keyboard_shortcuts.direct": "to open direct messages column",
"keyboard_shortcuts.down": "zerrendan behera mugitzea", "keyboard_shortcuts.down": "zerrendan behera mugitzea",
"keyboard_shortcuts.enter": "Ireki bidalketa", "keyboard_shortcuts.enter": "Ireki bidalketa",
"keyboard_shortcuts.favourite": "Egin gogoko bidalketa", "keyboard_shortcuts.favourite": "Egin gogoko bidalketa",
@ -264,6 +267,8 @@
"lightbox.expand": "Zabaldu irudia ikusteko kaxa", "lightbox.expand": "Zabaldu irudia ikusteko kaxa",
"lightbox.next": "Hurrengoa", "lightbox.next": "Hurrengoa",
"lightbox.previous": "Aurrekoa", "lightbox.previous": "Aurrekoa",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"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",
@ -290,7 +295,7 @@
"navigation_bar.bookmarks": "Laster-markak", "navigation_bar.bookmarks": "Laster-markak",
"navigation_bar.community_timeline": "Denbora-lerro lokala", "navigation_bar.community_timeline": "Denbora-lerro lokala",
"navigation_bar.compose": "Idatzi bidalketa berria", "navigation_bar.compose": "Idatzi bidalketa berria",
"navigation_bar.direct": "Mezu zuzenak", "navigation_bar.direct": "Direct messages",
"navigation_bar.discover": "Aurkitu", "navigation_bar.discover": "Aurkitu",
"navigation_bar.domain_blocks": "Ezkutatutako domeinuak", "navigation_bar.domain_blocks": "Ezkutatutako domeinuak",
"navigation_bar.edit_profile": "Aldatu profila", "navigation_bar.edit_profile": "Aldatu profila",
@ -367,12 +372,12 @@
"poll_button.remove_poll": "Kendu inkesta", "poll_button.remove_poll": "Kendu inkesta",
"privacy.change": "Aldatu bidalketaren pribatutasuna", "privacy.change": "Aldatu bidalketaren pribatutasuna",
"privacy.direct.long": "Bidali aipatutako erabiltzaileei besterik ez", "privacy.direct.long": "Bidali aipatutako erabiltzaileei besterik ez",
"privacy.direct.short": "Zuzena", "privacy.direct.short": "Direct",
"privacy.private.long": "Bidali jarraitzaileei besterik ez", "privacy.private.long": "Bidali jarraitzaileei besterik ez",
"privacy.private.short": "Jarraitzaileak soilik", "privacy.private.short": "Followers-only",
"privacy.public.long": "Bistaratu denbora-lerro publikoetan", "privacy.public.long": "Visible for all",
"privacy.public.short": "Publikoa", "privacy.public.short": "Publikoa",
"privacy.unlisted.long": "Do not show in public timelines", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.short": "Zerrendatu gabea", "privacy.unlisted.short": "Zerrendatu gabea",
"refresh": "Berritu", "refresh": "Berritu",
"regeneration_indicator.label": "Kargatzen…", "regeneration_indicator.label": "Kargatzen…",

View File

@ -92,8 +92,10 @@
"community.column_settings.local_only": "فقط محلّی", "community.column_settings.local_only": "فقط محلّی",
"community.column_settings.media_only": "فقط رسانه", "community.column_settings.media_only": "فقط رسانه",
"community.column_settings.remote_only": "تنها دوردست", "community.column_settings.remote_only": "تنها دوردست",
"compose_form.direct_message_warning": "این فرسته تنها به کاربرانی که از آن‌ها نام برده شده فرستاده خواهد شد.", "compose.language.change": "Change language",
"compose.language.search": "Search languages...",
"compose_form.direct_message_warning_learn_more": "بیشتر بدانید", "compose_form.direct_message_warning_learn_more": "بیشتر بدانید",
"compose_form.encryption_warning": "فرسته‌های ماستودون رمزگذاری سرتاسری نشده‌اند. هیچ اطّلاعات خطرناکی را روی ماستودون هم‌رسانی نکنید.",
"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": "قفل‌شده",
@ -147,6 +149,7 @@
"embed.instructions": "برای جاسازی این فرسته در سایت خودتان، کد زیر را رونوشت کنید.", "embed.instructions": "برای جاسازی این فرسته در سایت خودتان، کد زیر را رونوشت کنید.",
"embed.preview": "این گونه دیده خواهد شد:", "embed.preview": "این گونه دیده خواهد شد:",
"emoji_button.activity": "فعالیت", "emoji_button.activity": "فعالیت",
"emoji_button.clear": "Clear",
"emoji_button.custom": "سفارشی", "emoji_button.custom": "سفارشی",
"emoji_button.flags": "پرچم‌ها", "emoji_button.flags": "پرچم‌ها",
"emoji_button.food": "غذا و نوشیدنی", "emoji_button.food": "غذا و نوشیدنی",
@ -231,7 +234,7 @@
"keyboard_shortcuts.column": "برای تمرکز روی یک فرسته در یکی از ستون‌ها", "keyboard_shortcuts.column": "برای تمرکز روی یک فرسته در یکی از ستون‌ها",
"keyboard_shortcuts.compose": "تمرکز روی محیط نوشتن", "keyboard_shortcuts.compose": "تمرکز روی محیط نوشتن",
"keyboard_shortcuts.description": "توضیح", "keyboard_shortcuts.description": "توضیح",
"keyboard_shortcuts.direct": "گشودن ستون پیام‌های مستقیم", "keyboard_shortcuts.direct": "برای گشودن ستون پیغام‌های مستقیم",
"keyboard_shortcuts.down": "پایین بردن در سیاهه", "keyboard_shortcuts.down": "پایین بردن در سیاهه",
"keyboard_shortcuts.enter": "گشودن فرسته", "keyboard_shortcuts.enter": "گشودن فرسته",
"keyboard_shortcuts.favourite": "پسندیدن فرسته", "keyboard_shortcuts.favourite": "پسندیدن فرسته",
@ -264,6 +267,8 @@
"lightbox.expand": "گسترش جعبهٔ نمایش تصویر", "lightbox.expand": "گسترش جعبهٔ نمایش تصویر",
"lightbox.next": "بعدی", "lightbox.next": "بعدی",
"lightbox.previous": "قبلی", "lightbox.previous": "قبلی",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "افزودن به سیاهه", "lists.account.add": "افزودن به سیاهه",
"lists.account.remove": "برداشتن از سیاهه", "lists.account.remove": "برداشتن از سیاهه",
"lists.delete": "حذف سیاهه", "lists.delete": "حذف سیاهه",
@ -366,13 +371,13 @@
"poll_button.add_poll": "افزودن نظرسنجی", "poll_button.add_poll": "افزودن نظرسنجی",
"poll_button.remove_poll": "برداشتن نظرسنجی", "poll_button.remove_poll": "برداشتن نظرسنجی",
"privacy.change": "تغییر محرمانگی فرسته", "privacy.change": "تغییر محرمانگی فرسته",
"privacy.direct.long": "فقط برای کاربران نام‌برده نمایان است", "privacy.direct.long": "نمایان فقط برای کاربران اشاره شده",
"privacy.direct.short": "مستقیم", "privacy.direct.short": "فقط افراد اشاره شده",
"privacy.private.long": "نمایان فقط برای پی‌گیرندگان", "privacy.private.long": "نمایان فقط برای پی‌گیرندگان",
"privacy.private.short": "فقط پی‌گیرندگان", "privacy.private.short": "فقط پی‌گیرندگان",
"privacy.public.long": "نمایان برای همه، در خط‌های زمانی همگانی نمایش داده خواهد شد", "privacy.public.long": "نمایان برای همه",
"privacy.public.short": "عمومی", "privacy.public.short": "عمومی",
"privacy.unlisted.long": "نمایان برای همه، ولی در خط‌های زمانی همگانی نمایش داده نخواهد شد", "privacy.unlisted.long": "نمایان برای همه، ولی خارج از قابلیت‌های کشف",
"privacy.unlisted.short": "فهرست نشده", "privacy.unlisted.short": "فهرست نشده",
"refresh": "نوسازی", "refresh": "نوسازی",
"regeneration_indicator.label": "در حال بار شدن…", "regeneration_indicator.label": "در حال بار شدن…",
@ -515,7 +520,7 @@
"upload_error.poll": "بارگذاری پرونده در نظرسنجی‌ها مجاز نیست.", "upload_error.poll": "بارگذاری پرونده در نظرسنجی‌ها مجاز نیست.",
"upload_form.audio_description": "برای ناشنوایان توصیفش کنید", "upload_form.audio_description": "برای ناشنوایان توصیفش کنید",
"upload_form.description": "برای کم‌بینایان توصیفش کنید", "upload_form.description": "برای کم‌بینایان توصیفش کنید",
"upload_form.description_missing": "No description added", "upload_form.description_missing": "شرحی افزوده نشده",
"upload_form.edit": "ویرایش", "upload_form.edit": "ویرایش",
"upload_form.thumbnail": "تغییر بندانگشتی", "upload_form.thumbnail": "تغییر بندانگشتی",
"upload_form.undo": "حذف", "upload_form.undo": "حذف",

View File

@ -70,7 +70,7 @@
"column.blocks": "Estetyt käyttäjät", "column.blocks": "Estetyt käyttäjät",
"column.bookmarks": "Kirjanmerkit", "column.bookmarks": "Kirjanmerkit",
"column.community": "Paikallinen aikajana", "column.community": "Paikallinen aikajana",
"column.direct": "Pikaviestit", "column.direct": "Direct messages",
"column.directory": "Selaa profiileja", "column.directory": "Selaa profiileja",
"column.domain_blocks": "Piilotetut verkkotunnukset", "column.domain_blocks": "Piilotetut verkkotunnukset",
"column.favourites": "Suosikit", "column.favourites": "Suosikit",
@ -92,8 +92,10 @@
"community.column_settings.local_only": "Vain paikalliset", "community.column_settings.local_only": "Vain paikalliset",
"community.column_settings.media_only": "Vain media", "community.column_settings.media_only": "Vain media",
"community.column_settings.remote_only": "Vain etäkäyttö", "community.column_settings.remote_only": "Vain etäkäyttö",
"compose_form.direct_message_warning": "Tämä viesti näkyy vain mainituille käyttäjille.", "compose.language.change": "Change language",
"compose.language.search": "Search languages...",
"compose_form.direct_message_warning_learn_more": "Lisätietoja", "compose_form.direct_message_warning_learn_more": "Lisätietoja",
"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": "Tätä julkaisua listata minkään hastagin alle, koska se on listaamaton. Ainoastaan julkisia julkaisuja etsiä hastageilla.", "compose_form.hashtag_warning": "Tätä julkaisua listata minkään hastagin alle, koska se on listaamaton. Ainoastaan julkisia julkaisuja etsiä hastageilla.",
"compose_form.lock_disclaimer": "Tilisi ei ole {locked}. Kuka tahansa voi seurata tiliäsi ja nähdä vain seuraajille rajaamasi julkaisut.", "compose_form.lock_disclaimer": "Tilisi ei ole {locked}. Kuka tahansa voi seurata tiliäsi ja nähdä vain seuraajille rajaamasi julkaisut.",
"compose_form.lock_disclaimer.lock": "lukittu", "compose_form.lock_disclaimer.lock": "lukittu",
@ -147,6 +149,7 @@
"embed.instructions": "Upota julkaisu verkkosivullesi kopioimalla alla oleva koodi.", "embed.instructions": "Upota julkaisu verkkosivullesi kopioimalla alla oleva koodi.",
"embed.preview": "Se tulee näyttämään tältä:", "embed.preview": "Se tulee näyttämään tältä:",
"emoji_button.activity": "Aktiviteetit", "emoji_button.activity": "Aktiviteetit",
"emoji_button.clear": "Clear",
"emoji_button.custom": "Mukautetut", "emoji_button.custom": "Mukautetut",
"emoji_button.flags": "Liput", "emoji_button.flags": "Liput",
"emoji_button.food": "Ruoka ja juoma", "emoji_button.food": "Ruoka ja juoma",
@ -166,7 +169,7 @@
"empty_column.blocks": "Et ole vielä estänyt yhtään käyttäjää.", "empty_column.blocks": "Et ole vielä estänyt yhtään käyttäjää.",
"empty_column.bookmarked_statuses": "Et ole vielä lisännyt viestejä kirjanmerkkeihisi. Kun lisäät yhden, se näkyy tässä.", "empty_column.bookmarked_statuses": "Et ole vielä lisännyt viestejä kirjanmerkkeihisi. Kun lisäät yhden, se näkyy tässä.",
"empty_column.community": "Paikallinen aikajana on tyhjä. Kirjoita jotain julkista, niin homma lähtee käyntiin!", "empty_column.community": "Paikallinen aikajana on tyhjä. Kirjoita jotain julkista, niin homma lähtee käyntiin!",
"empty_column.direct": "Sinulla ei ole vielä yhtään viestiä yksittäiselle käyttäjälle. Kun lähetät tai vastaanotat sellaisen, se näkyy täällä.", "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": "Yhtään verkko-osoitetta ei ole vielä estetty.", "empty_column.domain_blocks": "Yhtään verkko-osoitetta ei ole vielä estetty.",
"empty_column.explore_statuses": "Mikään ei ole nyt trendi. Tarkista myöhemmin!", "empty_column.explore_statuses": "Mikään ei ole nyt trendi. Tarkista myöhemmin!",
"empty_column.favourited_statuses": "Et ole vielä lisännyt viestejä kirjanmerkkeihisi. Kun lisäät yhden, se näkyy tässä.", "empty_column.favourited_statuses": "Et ole vielä lisännyt viestejä kirjanmerkkeihisi. Kun lisäät yhden, se näkyy tässä.",
@ -231,7 +234,7 @@
"keyboard_shortcuts.column": "Kohdista sarakkeeseen", "keyboard_shortcuts.column": "Kohdista sarakkeeseen",
"keyboard_shortcuts.compose": "siirry tekstinsyöttöön", "keyboard_shortcuts.compose": "siirry tekstinsyöttöön",
"keyboard_shortcuts.description": "Kuvaus", "keyboard_shortcuts.description": "Kuvaus",
"keyboard_shortcuts.direct": "Avaa pikaviestisarake", "keyboard_shortcuts.direct": "to open direct messages column",
"keyboard_shortcuts.down": "Siirry listassa alaspäin", "keyboard_shortcuts.down": "Siirry listassa alaspäin",
"keyboard_shortcuts.enter": "Avaa julkaisu", "keyboard_shortcuts.enter": "Avaa julkaisu",
"keyboard_shortcuts.favourite": "Lisää suosikkeihin", "keyboard_shortcuts.favourite": "Lisää suosikkeihin",
@ -264,6 +267,8 @@
"lightbox.expand": "Laajenna kuvan näkymälaatikko", "lightbox.expand": "Laajenna kuvan näkymälaatikko",
"lightbox.next": "Seuraava", "lightbox.next": "Seuraava",
"lightbox.previous": "Edellinen", "lightbox.previous": "Edellinen",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Lisää listaan", "lists.account.add": "Lisää listaan",
"lists.account.remove": "Poista listasta", "lists.account.remove": "Poista listasta",
"lists.delete": "Poista lista", "lists.delete": "Poista lista",
@ -290,7 +295,7 @@
"navigation_bar.bookmarks": "Kirjanmerkit", "navigation_bar.bookmarks": "Kirjanmerkit",
"navigation_bar.community_timeline": "Paikallinen aikajana", "navigation_bar.community_timeline": "Paikallinen aikajana",
"navigation_bar.compose": "Luo uusi viesti", "navigation_bar.compose": "Luo uusi viesti",
"navigation_bar.direct": "Pikaviestit", "navigation_bar.direct": "Direct messages",
"navigation_bar.discover": "Löydä uutta", "navigation_bar.discover": "Löydä uutta",
"navigation_bar.domain_blocks": "Estetyt verkkotunnukset", "navigation_bar.domain_blocks": "Estetyt verkkotunnukset",
"navigation_bar.edit_profile": "Muokkaa profiilia", "navigation_bar.edit_profile": "Muokkaa profiilia",
@ -367,12 +372,12 @@
"poll_button.remove_poll": "Poista kysely", "poll_button.remove_poll": "Poista kysely",
"privacy.change": "Muuta julkaisun näkyvyyttä", "privacy.change": "Muuta julkaisun näkyvyyttä",
"privacy.direct.long": "Julkaise vain mainituille käyttäjille", "privacy.direct.long": "Julkaise vain mainituille käyttäjille",
"privacy.direct.short": "Suora viesti", "privacy.direct.short": "Direct",
"privacy.private.long": "Julkaise vain seuraajille", "privacy.private.long": "Julkaise vain seuraajille",
"privacy.private.short": "Vain seuraajat", "privacy.private.short": "Followers-only",
"privacy.public.long": "Julkaise julkisille aikajanoille", "privacy.public.long": "Visible for all",
"privacy.public.short": "Julkinen", "privacy.public.short": "Julkinen",
"privacy.unlisted.long": "Älä julkaise julkisilla aikajanoilla", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.short": "Listaamaton julkinen", "privacy.unlisted.short": "Listaamaton julkinen",
"refresh": "Päivitä", "refresh": "Päivitä",
"regeneration_indicator.label": "Ladataan…", "regeneration_indicator.label": "Ladataan…",

View File

@ -1,25 +1,25 @@
{ {
"account.account_note_header": "Note", "account.account_note_header": "Note",
"account.add_or_remove_from_list": "Ajouter ou retirer des listes", "account.add_or_remove_from_list": "Ajouter ou retirer des listes",
"account.badges.bot": "Robot", "account.badges.bot": "Bot",
"account.badges.group": "Groupe", "account.badges.group": "Groupe",
"account.block": "Bloquer @{name}", "account.block": "Bloquer @{name}",
"account.block_domain": "Bloquer le domaine {domain}", "account.block_domain": "Bloquer le domaine {domain}",
"account.blocked": "Bloqué", "account.blocked": "Bloqué·e",
"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": "Annuler la demande de suivi", "account.cancel_follow_request": "Annuler la demande de suivi",
"account.direct": "Envoyer un message direct à @{name}", "account.direct": "Envoyer un message direct à @{name}",
"account.disable_notifications": "Arrêter de 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", "account.enable_notifications": "Me notifier quand @{name} publie quelque chose",
"account.endorse": "Recommander sur votre profil", "account.endorse": "Recommander sur votre profil",
"account.follow": "Suivre", "account.follow": "Suivre",
"account.followers": "Abonnés", "account.followers": "Abonné·e·s",
"account.followers.empty": "Personne ne suit cet·te utilisateur·rice pour linstant.", "account.followers.empty": "Personne ne suit cet·te utilisateur·rice pour linstant.",
"account.followers_counter": "{count, plural, one {{counter} Abonné·e} other {{counter} Abonné·e·s}}", "account.followers_counter": "{count, plural, one {{counter} Abonné·e} other {{counter} Abonné·e·s}}",
"account.following": "Abonnements", "account.following": "Abonnements",
"account.following_counter": "{count, plural, 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.hide_reblogs": "Masquer les partages de @{name}", "account.hide_reblogs": "Masquer les partages de @{name}",
@ -30,12 +30,12 @@
"account.mention": "Mentionner @{name}", "account.mention": "Mentionner @{name}",
"account.moved_to": "{name} a déménagé vers:", "account.moved_to": "{name} a déménagé vers:",
"account.mute": "Masquer @{name}", "account.mute": "Masquer @{name}",
"account.mute_notifications": "Ignorer les notifications de @{name}", "account.mute_notifications": "Masquer les notifications de @{name}",
"account.muted": "Masqué·e", "account.muted": "Masqué·e",
"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}",
"account.requested": "En attente dapprobation. Cliquez pour annuler la requête", "account.requested": "En attente dapprobation. Cliquez pour annuler la demande",
"account.share": "Partager le profil de @{name}", "account.share": "Partager le profil de @{name}",
"account.show_reblogs": "Afficher les partages de @{name}", "account.show_reblogs": "Afficher les partages de @{name}",
"account.statuses_counter": "{count, plural, one {{counter} Message} other {{counter} Messages}}", "account.statuses_counter": "{count, plural, one {{counter} Message} other {{counter} Messages}}",
@ -48,8 +48,8 @@
"account.unmute_notifications": "Ne plus masquer les notifications de @{name}", "account.unmute_notifications": "Ne plus masquer les notifications de @{name}",
"account.unmute_short": "Ne plus masquer", "account.unmute_short": "Ne plus masquer",
"account_note.placeholder": "Cliquez pour ajouter une note", "account_note.placeholder": "Cliquez pour ajouter une note",
"admin.dashboard.daily_retention": "Taux de maintien des utilisateur·rice·s par jour après inscription", "admin.dashboard.daily_retention": "Taux de rétention des utilisateur·rice·s par jour après inscription",
"admin.dashboard.monthly_retention": "Brugerfastholdelsesrate efter måned efter tilmelding", "admin.dashboard.monthly_retention": "Taux de rétention des utilisateur·rice·s par mois après inscription",
"admin.dashboard.retention.average": "Moyenne", "admin.dashboard.retention.average": "Moyenne",
"admin.dashboard.retention.cohort": "Mois d'inscription", "admin.dashboard.retention.cohort": "Mois d'inscription",
"admin.dashboard.retention.cohort_size": "Nouveaux utilisateurs", "admin.dashboard.retention.cohort_size": "Nouveaux utilisateurs",
@ -92,8 +92,10 @@
"community.column_settings.local_only": "Local seulement", "community.column_settings.local_only": "Local seulement",
"community.column_settings.media_only": "Média uniquement", "community.column_settings.media_only": "Média uniquement",
"community.column_settings.remote_only": "Distant seulement", "community.column_settings.remote_only": "Distant seulement",
"compose_form.direct_message_warning": "Ce message sera uniquement envoyé aux personnes mentionnées. Cependant, ladministration de votre instance et des instances réceptrices pourront inspecter ce message.", "compose.language.change": "Changer de langue",
"compose.language.search": "Rechercher des langues …",
"compose_form.direct_message_warning_learn_more": "En savoir plus", "compose_form.direct_message_warning_learn_more": "En savoir plus",
"compose_form.encryption_warning": "Les messages sur Mastodon ne sont pas chiffrés de bout en bout. Ne partagez aucune information confidentielle sur Mastodon.",
"compose_form.hashtag_warning": "Ce pouet ne sera pas listé dans les recherches par hashtag car sa visibilité est réglée sur « non listé ». Seuls les pouets avec une visibilité « publique » peuvent être recherchés par hashtag.", "compose_form.hashtag_warning": "Ce pouet ne sera pas listé dans les recherches par hashtag car sa visibilité est réglée sur « non listé ». Seuls les pouets avec une visibilité « publique » peuvent être recherchés par hashtag.",
"compose_form.lock_disclaimer": "Votre compte nest pas {locked}. Tout le monde peut vous suivre et voir vos messages privés.", "compose_form.lock_disclaimer": "Votre compte nest pas {locked}. Tout le monde peut vous suivre et voir vos messages privés.",
"compose_form.lock_disclaimer.lock": "verrouillé", "compose_form.lock_disclaimer.lock": "verrouillé",
@ -146,10 +148,11 @@
"directory.recently_active": "Actif·ve·s récemment", "directory.recently_active": "Actif·ve·s récemment",
"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é", "emoji_button.activity": "Activités",
"emoji_button.clear": "Effacer",
"emoji_button.custom": "Personnalisés", "emoji_button.custom": "Personnalisés",
"emoji_button.flags": "Drapeaux", "emoji_button.flags": "Drapeaux",
"emoji_button.food": "Nourriture & Boisson", "emoji_button.food": "Nourriture et boisson",
"emoji_button.label": "Insérer un émoji", "emoji_button.label": "Insérer un émoji",
"emoji_button.nature": "Nature", "emoji_button.nature": "Nature",
"emoji_button.not_found": "Aucun émoji correspondant n'a été trouvé", "emoji_button.not_found": "Aucun émoji correspondant n'a été trouvé",
@ -159,7 +162,7 @@
"emoji_button.search": "Recherche...", "emoji_button.search": "Recherche...",
"emoji_button.search_results": "Résultats de la recherche", "emoji_button.search_results": "Résultats de la recherche",
"emoji_button.symbols": "Symboles", "emoji_button.symbols": "Symboles",
"emoji_button.travel": "Lieux & Voyages", "emoji_button.travel": "Voyage et lieux",
"empty_column.account_suspended": "Compte suspendu", "empty_column.account_suspended": "Compte suspendu",
"empty_column.account_timeline": "Aucun message ici !", "empty_column.account_timeline": "Aucun message ici !",
"empty_column.account_unavailable": "Profil non disponible", "empty_column.account_unavailable": "Profil non disponible",
@ -231,7 +234,7 @@
"keyboard_shortcuts.column": "Se placer dans une colonne", "keyboard_shortcuts.column": "Se placer dans une colonne",
"keyboard_shortcuts.compose": "Se placer dans la zone de rédaction", "keyboard_shortcuts.compose": "Se placer dans la zone de rédaction",
"keyboard_shortcuts.description": "Description", "keyboard_shortcuts.description": "Description",
"keyboard_shortcuts.direct": "Ouvrir la colonne des messages directs", "keyboard_shortcuts.direct": "pour ouvrir la colonne des messages directs",
"keyboard_shortcuts.down": "Descendre dans la liste", "keyboard_shortcuts.down": "Descendre dans la liste",
"keyboard_shortcuts.enter": "Ouvrir le message", "keyboard_shortcuts.enter": "Ouvrir le message",
"keyboard_shortcuts.favourite": "Ajouter le message aux favoris", "keyboard_shortcuts.favourite": "Ajouter le message aux favoris",
@ -264,6 +267,8 @@
"lightbox.expand": "Agrandir la fenêtre de visualisation des images", "lightbox.expand": "Agrandir la fenêtre de visualisation des images",
"lightbox.next": "Suivant", "lightbox.next": "Suivant",
"lightbox.previous": "Précédent", "lightbox.previous": "Précédent",
"limited_account_hint.action": "Afficher le profil quand même",
"limited_account_hint.title": "Ce profil a été masqué par la modération de votre serveur.",
"lists.account.add": "Ajouter à la liste", "lists.account.add": "Ajouter à la liste",
"lists.account.remove": "Supprimer de la liste", "lists.account.remove": "Supprimer de la liste",
"lists.delete": "Supprimer la liste", "lists.delete": "Supprimer la liste",
@ -279,7 +284,7 @@
"lists.subheading": "Vos listes", "lists.subheading": "Vos listes",
"load_pending": "{count, plural, one {# nouvel élément} other {# nouveaux éléments}}", "load_pending": "{count, plural, one {# nouvel élément} other {# nouveaux éléments}}",
"loading_indicator.label": "Chargement…", "loading_indicator.label": "Chargement…",
"media_gallery.toggle_visible": "Intervertir la visibilité", "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",
"mute_modal.duration": "Durée", "mute_modal.duration": "Durée",
@ -367,12 +372,12 @@
"poll_button.remove_poll": "Supprimer le sondage", "poll_button.remove_poll": "Supprimer le sondage",
"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": "Direct", "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é·e·s",
"privacy.private.short": "Abonné·e·s uniquement", "privacy.private.short": "Abonné·e·s uniquement",
"privacy.public.long": "Visible par tou·te·s, affiché dans les fils publics", "privacy.public.long": "Visible pour tous",
"privacy.public.short": "Public", "privacy.public.short": "Public",
"privacy.unlisted.long": "Visible par tou·te·s, mais pas dans les fils publics", "privacy.unlisted.long": "Visible pour tous, mais sans fonctionnalités de découverte",
"privacy.unlisted.short": "Non listé", "privacy.unlisted.short": "Non listé",
"refresh": "Actualiser", "refresh": "Actualiser",
"regeneration_indicator.label": "Chargement…", "regeneration_indicator.label": "Chargement…",
@ -515,7 +520,7 @@
"upload_error.poll": "Lenvoi de fichiers nest pas autorisé avec les sondages.", "upload_error.poll": "Lenvoi de fichiers nest pas autorisé avec les sondages.",
"upload_form.audio_description": "Décrire pour les personnes ayant des difficultés daudition", "upload_form.audio_description": "Décrire pour les personnes ayant des difficultés daudition",
"upload_form.description": "Décrire pour les malvoyant·e·s", "upload_form.description": "Décrire pour les malvoyant·e·s",
"upload_form.description_missing": "No description added", "upload_form.description_missing": "Description manquante",
"upload_form.edit": "Modifier", "upload_form.edit": "Modifier",
"upload_form.thumbnail": "Changer la vignette", "upload_form.thumbnail": "Changer la vignette",
"upload_form.undo": "Supprimer", "upload_form.undo": "Supprimer",

View File

@ -1,54 +1,54 @@
{ {
"account.account_note_header": "Your note for @{name}", "account.account_note_header": "Nóta",
"account.add_or_remove_from_list": "Add or Remove from lists", "account.add_or_remove_from_list": "Cuir Le nó Bain De na liostaí",
"account.badges.bot": "Bot", "account.badges.bot": "Bota",
"account.badges.group": "Group", "account.badges.group": "Grúpa",
"account.block": "Block @{name}", "account.block": "Bac @{name}",
"account.block_domain": "Hide everything from {domain}", "account.block_domain": "Bac ainm fearainn {domain}",
"account.blocked": "Blocked", "account.blocked": "Bactha",
"account.browse_more_on_origin_server": "Browse more on the original profile", "account.browse_more_on_origin_server": "Brabhsáil níos mó ar an phróifíl bhunaidh",
"account.cancel_follow_request": "Cancel follow request", "account.cancel_follow_request": "Cealaigh iarratas leanúnaí",
"account.direct": "Direct message @{name}", "account.direct": "Seol teachtaireacht dhíreach chuig @{name}",
"account.disable_notifications": "Stop notifying me when @{name} posts", "account.disable_notifications": "Éirigh as ag cuir mé in eol nuair bpostálann @{name}",
"account.domain_blocked": "Domain hidden", "account.domain_blocked": "Ainm fearainn bactha",
"account.edit_profile": "Edit profile", "account.edit_profile": "Cuir an phróifíl in eagar",
"account.enable_notifications": "Notify me when @{name} posts", "account.enable_notifications": "Cuir mé in eol nuair bpostálann @{name}",
"account.endorse": "Feature on profile", "account.endorse": "Cuir ar an phróifíl mar ghné",
"account.follow": "Follow", "account.follow": "Lean",
"account.followers": "Followers", "account.followers": "Leantóirí",
"account.followers.empty": "No one follows this user yet.", "account.followers.empty": "Ní leanann éinne an t-úsáideoir seo fós.",
"account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}", "account.followers_counter": "{count, plural, one {Leantóir amháin} other {{counter} Leantóir}}",
"account.following": "Following", "account.following": "Ag leanúint",
"account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", "account.following_counter": "{count, plural, one {Ag leanúint cúntas amháin} other {Ag leanúint {counter} cúntas}}",
"account.follows.empty": "This user doesn't follow anyone yet.", "account.follows.empty": "Ní leanann an t-úsáideoir seo duine ar bith fós.",
"account.follows_you": "Follows you", "account.follows_you": "Do do leanúint",
"account.hide_reblogs": "Hide boosts from @{name}", "account.hide_reblogs": "Folaigh athphostálacha ó @{name}",
"account.joined": "Joined {date}", "account.joined": "Ina bhall ó {date}",
"account.link_verified_on": "Ownership of this link was checked on {date}", "account.link_verified_on": "Ownership of this link was checked on {date}",
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "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": "Media", "account.media": "Ábhair",
"account.mention": "Mention @{name}", "account.mention": "Luaigh @{name}",
"account.moved_to": "{name} has moved to:", "account.moved_to": "Tá {name} bogtha go:",
"account.mute": "Mute @{name}", "account.mute": "Balbhaigh @{name}",
"account.mute_notifications": "Mute notifications from @{name}", "account.mute_notifications": "Balbhaigh fógraí ó @{name}",
"account.muted": "Muted", "account.muted": "Balbhaithe",
"account.posts": "Toots", "account.posts": "Postálacha",
"account.posts_with_replies": "Toots and replies", "account.posts_with_replies": "Postálacha agus freagraí",
"account.report": "Report @{name}", "account.report": "Tuairiscigh @{name}",
"account.requested": "Awaiting approval", "account.requested": "Ag fanacht le ceadú. Cliceáil chun an iarratas leanúnaí a chealú",
"account.share": "Share @{name}'s profile", "account.share": "Roinn próifíl @{name}",
"account.show_reblogs": "Show boosts from @{name}", "account.show_reblogs": "Taispeáin athphostálacha ó @{name}",
"account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}", "account.statuses_counter": "{count, plural, one {Postáil amháin} other {{counter} Postáil}}",
"account.unblock": "Unblock @{name}", "account.unblock": "Bain bac de @{name}",
"account.unblock_domain": "Unhide {domain}", "account.unblock_domain": "Bain bac den ainm fearainn {domain}",
"account.unblock_short": "Unblock", "account.unblock_short": "Bain bac de",
"account.unendorse": "Don't feature on profile", "account.unendorse": "Ná chuir ar an phróifíl mar ghné",
"account.unfollow": "Unfollow", "account.unfollow": "Ná lean a thuilleadh",
"account.unmute": "Unmute @{name}", "account.unmute": "Díbhalbhaigh @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}", "account.unmute_notifications": "Díbhalbhaigh fógraí ó @{name}",
"account.unmute_short": "Unmute", "account.unmute_short": "Díbhalbhaigh",
"account_note.placeholder": "No comment provided", "account_note.placeholder": "Cliceáil chun nóta a chuir leis",
"admin.dashboard.daily_retention": "User retention rate by day after sign-up", "admin.dashboard.daily_retention": "Ráta coinneála an úsáideora de réir an lae tar éis clárú",
"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",
"admin.dashboard.retention.cohort": "Sign-up month", "admin.dashboard.retention.cohort": "Sign-up month",
@ -56,48 +56,50 @@
"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": "Hiúps!",
"announcement.announcement": "Announcement", "announcement.announcement": "Fógra",
"attachments_list.unprocessed": "(unprocessed)", "attachments_list.unprocessed": "(unprocessed)",
"autosuggest_hashtag.per_week": "{count} per week", "autosuggest_hashtag.per_week": "{count} per week",
"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.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Something went wrong while loading this component.",
"bundle_column_error.retry": "Try again", "bundle_column_error.retry": "Bain triail as arís",
"bundle_column_error.title": "Network error", "bundle_column_error.title": "Network error",
"bundle_modal_error.close": "Close", "bundle_modal_error.close": "Dún",
"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": "Bain triail as arís",
"column.blocks": "Blocked users", "column.blocks": "Cuntais choiscthe",
"column.bookmarks": "Bookmarks", "column.bookmarks": "Leabharmharcanna",
"column.community": "Local timeline", "column.community": "Local timeline",
"column.direct": "Direct messages", "column.direct": "Direct messages",
"column.directory": "Browse profiles", "column.directory": "Browse profiles",
"column.domain_blocks": "Hidden domains", "column.domain_blocks": "Blocked domains",
"column.favourites": "Favourites", "column.favourites": "Favourites",
"column.follow_requests": "Follow requests", "column.follow_requests": "Follow requests",
"column.home": "Home", "column.home": "Baile",
"column.lists": "Lists", "column.lists": "Liostaí",
"column.mutes": "Muted users", "column.mutes": "Úsáideoirí balbhaithe",
"column.notifications": "Notifications", "column.notifications": "Notifications",
"column.pins": "Pinned toot", "column.pins": "Pinned post",
"column.public": "Federated timeline", "column.public": "Federated timeline",
"column_back_button.label": "Back", "column_back_button.label": "Siar",
"column_header.hide_settings": "Hide settings", "column_header.hide_settings": "Hide settings",
"column_header.moveLeft_settings": "Move column to the left", "column_header.moveLeft_settings": "Move column to the left",
"column_header.moveRight_settings": "Move column to the right", "column_header.moveRight_settings": "Move column to the right",
"column_header.pin": "Pin", "column_header.pin": "Greamaigh",
"column_header.show_settings": "Show settings", "column_header.show_settings": "Show settings",
"column_header.unpin": "Unpin", "column_header.unpin": "Díghreamaigh",
"column_subheading.settings": "Settings", "column_subheading.settings": "Socruithe",
"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_form.direct_message_warning": "This toot will only be sent to all the mentioned users.", "compose.language.change": "Change language",
"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.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.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer": "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": "Cad atá ag tarlú?",
"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}",
@ -121,20 +123,20 @@
"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": "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": "Faigh réidh de",
"confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?", "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": "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": "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 out", "confirmations.logout.confirm": "Logáil amach",
"confirmations.logout.message": "Are you sure you want to log out?", "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Mute", "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": "Are you sure you want to mute {name}?", "confirmations.mute.message": "An bhfuil tú cinnte gur mhaith leat {name} a bhalbhú?",
"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": "Reply",
"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": "Ná lean",
"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": "Mark as read",
@ -146,40 +148,41 @@
"directory.recently_active": "Recently active", "directory.recently_active": "Recently active",
"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": "Gníomhaíocht",
"emoji_button.clear": "Clear",
"emoji_button.custom": "Custom", "emoji_button.custom": "Custom",
"emoji_button.flags": "Flags", "emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink", "emoji_button.food": "Bia ⁊ Ól",
"emoji_button.label": "Insert emoji", "emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature", "emoji_button.nature": "Nádur",
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻", "emoji_button.not_found": "No matching emojis found",
"emoji_button.objects": "Objects", "emoji_button.objects": "Objects",
"emoji_button.people": "People", "emoji_button.people": "Daoine",
"emoji_button.recent": "Frequently used", "emoji_button.recent": "Frequently used",
"emoji_button.search": "Search...", "emoji_button.search": "Cuardaigh...",
"emoji_button.search_results": "Search results", "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Symbols", "emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places", "emoji_button.travel": "Taisteal ⁊ Áiteanna",
"empty_column.account_suspended": "Account suspended", "empty_column.account_suspended": "Account suspended",
"empty_column.account_timeline": "No toots here!", "empty_column.account_timeline": "No posts found",
"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 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 hidden 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 posts 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 post 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": "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": "There is nothing in this hashtag yet.",
"empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.", "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": "You don't have any lists yet. When you create one, it will show up here.",
"empty_column.mutes": "You haven't muted any users yet.", "empty_column.mutes": "Níl aon úsáideoir balbhaithe agat fós.",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.", "empty_column.notifications": "You don't have any notifications yet. When other people interact with you, you will see it here.",
"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.",
@ -189,15 +192,15 @@
"errors.unexpected_crash.report_issue": "Report issue", "errors.unexpected_crash.report_issue": "Report issue",
"explore.search_results": "Search results", "explore.search_results": "Search results",
"explore.suggested_follows": "For you", "explore.suggested_follows": "For you",
"explore.title": "Explore", "explore.title": "Féach thart",
"explore.trending_links": "News", "explore.trending_links": "Nuacht",
"explore.trending_statuses": "Posts", "explore.trending_statuses": "Postálacha",
"explore.trending_tags": "Hashtags", "explore.trending_tags": "Haischlibeanna",
"follow_recommendations.done": "Done", "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": "Authorize", "follow_request.authorize": "Ceadaigh",
"follow_request.reject": "Reject", "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": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"generic.saved": "Saved", "generic.saved": "Saved",
"getting_started.developers": "Developers", "getting_started.developers": "Developers",
@ -243,11 +246,11 @@
"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": "to mention author", "keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.muted": "to open muted users list", "keyboard_shortcuts.muted": "Oscail liosta na n-úsáideoirí balbhaithe",
"keyboard_shortcuts.my_profile": "to open your profile", "keyboard_shortcuts.my_profile": "to open your profile",
"keyboard_shortcuts.notifications": "to open notifications column", "keyboard_shortcuts.notifications": "to open notifications column",
"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 posts 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": "to reply",
"keyboard_shortcuts.requests": "to open follow requests list", "keyboard_shortcuts.requests": "to open follow requests list",
@ -256,7 +259,7 @@
"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": "to show/hide media",
"keyboard_shortcuts.toot": "to start a brand new toot", "keyboard_shortcuts.toot": "to start a brand new post",
"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": "to move up in the list",
"lightbox.close": "Close", "lightbox.close": "Close",
@ -264,11 +267,13 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"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",
"lists.edit": "Edit list", "lists.edit": "Cuir an liosta in eagar",
"lists.edit.submit": "Change title", "lists.edit.submit": "Athraigh teideal",
"lists.new.create": "Add list", "lists.new.create": "Add list",
"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",
@ -279,46 +284,46 @@
"lists.subheading": "Your lists", "lists.subheading": "Your lists",
"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": "Hide media", "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",
"mute_modal.duration": "Duration", "mute_modal.duration": "Tréimhse",
"mute_modal.hide_notifications": "Hide notifications from this user?", "mute_modal.hide_notifications": "Cuir póstalacha ón t-úsáideoir seo i bhfolach?",
"mute_modal.indefinite": "Indefinite", "mute_modal.indefinite": "Gan téarma",
"navigation_bar.apps": "Mobile apps", "navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blocked users", "navigation_bar.blocks": "Blocked users",
"navigation_bar.bookmarks": "Bookmarks", "navigation_bar.bookmarks": "Bookmarks",
"navigation_bar.community_timeline": "Local timeline", "navigation_bar.community_timeline": "Local timeline",
"navigation_bar.compose": "Compose new toot", "navigation_bar.compose": "Compose new post",
"navigation_bar.direct": "Direct messages", "navigation_bar.direct": "Direct messages",
"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": "Cuir an phróifíl in eagar",
"navigation_bar.explore": "Explore", "navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Focail bhalbhaithe",
"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": "Ag leanúint agus do do leanúint",
"navigation_bar.info": "About this server", "navigation_bar.info": "About this server",
"navigation_bar.keyboard_shortcuts": "Hotkeys", "navigation_bar.keyboard_shortcuts": "Eochracha Aicearra",
"navigation_bar.lists": "Lists", "navigation_bar.lists": "Liostaí",
"navigation_bar.logout": "Logout", "navigation_bar.logout": "Logáil Amach",
"navigation_bar.mutes": "Muted users", "navigation_bar.mutes": "Úsáideoirí balbhaithe",
"navigation_bar.personal": "Personal", "navigation_bar.personal": "Pearsanta",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned posts",
"navigation_bar.preferences": "Preferences", "navigation_bar.preferences": "Preferences",
"navigation_bar.public_timeline": "Federated timeline", "navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security", "navigation_bar.security": "Security",
"notification.admin.sign_up": "{name} signed up", "notification.admin.sign_up": "{name} signed up",
"notification.favourite": "{name} favourited your status", "notification.favourite": "{name} favourited your status",
"notification.follow": "{name} followed you", "notification.follow": "Lean {name} thú",
"notification.follow_request": "{name} has requested to follow you", "notification.follow_request": "D'iarr {name} ort do chuntas a leanúint",
"notification.mention": "{name} mentioned you", "notification.mention": "{name} mentioned you",
"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": "{name} boosted your status", "notification.reblog": "{name} boosted your status",
"notification.status": "{name} just posted", "notification.status": "{name} just posted",
"notification.update": "{name} edited a post", "notification.update": "Chuir {name} postáil in eagar",
"notifications.clear": "Clear notifications", "notifications.clear": "Clear notifications",
"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.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "New sign-ups:",
@ -327,18 +332,18 @@
"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",
"notifications.column_settings.follow": "New followers:", "notifications.column_settings.follow": "Leantóirí nua:",
"notifications.column_settings.follow_request": "New follow requests:", "notifications.column_settings.follow_request": "Iarratais leanúnaí nua:",
"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": "Push notifications",
"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 posts:",
"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": "Highlight unread notifications",
"notifications.column_settings.update": "Edits:", "notifications.column_settings.update": "Eagair:",
"notifications.filter.all": "All", "notifications.filter.all": "All",
"notifications.filter.boosts": "Boosts", "notifications.filter.boosts": "Boosts",
"notifications.filter.favourites": "Favourites", "notifications.filter.favourites": "Favourites",
@ -366,16 +371,16 @@
"poll_button.add_poll": "Add a poll", "poll_button.add_poll": "Add a poll",
"poll_button.remove_poll": "Remove poll", "poll_button.remove_poll": "Remove poll",
"privacy.change": "Adjust status privacy", "privacy.change": "Adjust status privacy",
"privacy.direct.long": "Post to mentioned users only", "privacy.direct.long": "Visible for mentioned users only",
"privacy.direct.short": "Direct", "privacy.direct.short": "Direct",
"privacy.private.long": "Post to followers only", "privacy.private.long": "Sofheicthe do Leantóirí amháin",
"privacy.private.short": "Followers-only", "privacy.private.short": "Followers-only",
"privacy.public.long": "Post to public timelines", "privacy.public.long": "Visible for all",
"privacy.public.short": "Public", "privacy.public.short": "Poiblí",
"privacy.unlisted.long": "Do not show in public timelines", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.short": "Unlisted", "privacy.unlisted.short": "Unlisted",
"refresh": "Refresh", "refresh": "Refresh",
"regeneration_indicator.label": "Loading…", "regeneration_indicator.label": "Ag lódáil…",
"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 {# day} other {# days}} ago", "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago",
@ -387,38 +392,38 @@
"relative_time.just_now": "now", "relative_time.just_now": "now",
"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": "inniu",
"reply_indicator.cancel": "Cancel", "reply_indicator.cancel": "Cancel",
"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",
"report.categories.spam": "Spam", "report.categories.spam": "Turscar",
"report.categories.violation": "Content violates one or more server rules", "report.categories.violation": "Content violates one or more server rules",
"report.category.subtitle": "Choose the best match", "report.category.subtitle": "Choose the best match",
"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": "profile", "report.category.title_account": "profile",
"report.category.title_status": "post", "report.category.title_status": "post",
"report.close": "Done", "report.close": "Déanta",
"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": "Forward to {target}", "report.forward": "Forward to {target}",
"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": "Mute", "report.mute": "Balbhaigh",
"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": "Ní fheicfidh tú a postálacha. Is féidir an té seo tú a leanúint agus do phostálacha a fheiceáil, agus ní fhios go bhfuil iad balbhaithe.",
"report.next": "Next", "report.next": "Next",
"report.placeholder": "Additional comments", "report.placeholder": "Type or paste additional comments",
"report.reasons.dislike": "I don't like it", "report.reasons.dislike": "Ní maith liom é",
"report.reasons.dislike_description": "It is not something you want to see", "report.reasons.dislike_description": "It is not something you want to see",
"report.reasons.other": "It's something else", "report.reasons.other": "It's something else",
"report.reasons.other_description": "The issue does not fit into other categories", "report.reasons.other_description": "The issue does not fit into other categories",
"report.reasons.spam": "It's spam", "report.reasons.spam": "It's spam",
"report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
"report.reasons.violation": "It violates server rules", "report.reasons.violation": "It violates server rules",
"report.reasons.violation_description": "You are aware that it breaks specific rules", "report.reasons.violation_description": "You are aware that it breaks specific rules",
"report.rules.subtitle": "Select all that apply", "report.rules.subtitle": "Select all that apply",
"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.submit": "Submit report",
"report.target": "Report {target}", "report.target": "Report {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}:",
@ -426,19 +431,19 @@
"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": "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": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
"search.placeholder": "Search", "search.placeholder": "Cuardaigh",
"search_popout.search_format": "Advanced search format", "search_popout.search_format": "Advanced 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": "hashtag", "search_popout.tips.hashtag": "haischlib",
"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": "Simple text returns matching display names, usernames and hashtags",
"search_popout.tips.user": "user", "search_popout.tips.user": "user",
"search_results.accounts": "People", "search_results.accounts": "Daoine",
"search_results.all": "All", "search_results.all": "All",
"search_results.hashtags": "Hashtags", "search_results.hashtags": "Haischlibeanna",
"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": "Toots", "search_results.statuses": "Postálacha",
"search_results.statuses_fts_disabled": "Searching toots 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.total": "{count, number} {count, plural, one {result} other {results}}", "search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"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",
@ -447,31 +452,31 @@
"status.cancel_reblog_private": "Unboost", "status.cancel_reblog_private": "Unboost",
"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": "Scrios",
"status.detailed_status": "Detailed conversation view", "status.detailed_status": "Detailed conversation view",
"status.direct": "Direct message @{name}", "status.direct": "Direct message @{name}",
"status.edit": "Edit", "status.edit": "Cuir in eagar",
"status.edited": "Edited {date}", "status.edited": "Curtha in eagar in {date}",
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", "status.edited_x_times": "Curtha in eagar {count, plural, one {{count} uair amháin} two {{count} uair} few {{count} uair} many {{count} uair} other {{count} uair}}",
"status.embed": "Embed", "status.embed": "Embed",
"status.favourite": "Favourite", "status.favourite": "Favourite",
"status.filtered": "Filtered", "status.filtered": "Filtered",
"status.history.created": "{name} created {date}", "status.history.created": "{name} created {date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "Curtha in eagar ag {name} in {date}",
"status.load_more": "Load more", "status.load_more": "Load more",
"status.media_hidden": "Media hidden", "status.media_hidden": "Media hidden",
"status.mention": "Mention @{name}", "status.mention": "Mention @{name}",
"status.more": "More", "status.more": "Tuilleadh",
"status.mute": "Mute @{name}", "status.mute": "Balbhaigh @{name}",
"status.mute_conversation": "Mute conversation", "status.mute_conversation": "Balbhaigh comhrá",
"status.open": "Expand this status", "status.open": "Expand this status",
"status.pin": "Pin on profile", "status.pin": "Pin on profile",
"status.pinned": "Pinned toot", "status.pinned": "Pinned post",
"status.read_more": "Read more", "status.read_more": "Read more",
"status.reblog": "Boost", "status.reblog": "Boost",
"status.reblog_private": "Boost with original visibility", "status.reblog_private": "Boost with original visibility",
"status.reblogged_by": "{name} boosted", "status.reblogged_by": "{name} boosted",
"status.reblogs.empty": "No one has boosted this toot 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": "Delete & re-draft", "status.redraft": "Delete & re-draft",
"status.remove_bookmark": "Remove bookmark", "status.remove_bookmark": "Remove bookmark",
"status.reply": "Reply", "status.reply": "Reply",
@ -485,24 +490,24 @@
"status.show_more_all": "Show more for all", "status.show_more_all": "Show more for all",
"status.show_thread": "Show thread", "status.show_thread": "Show thread",
"status.uncached_media_warning": "Not available", "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Unmute conversation", "status.unmute_conversation": "Díbhalbhaigh comhrá",
"status.unpin": "Unpin from profile", "status.unpin": "Unpin from profile",
"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": "Baile",
"tabs_bar.local_timeline": "Local", "tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Notifications", "tabs_bar.notifications": "Notifications",
"tabs_bar.search": "Search", "tabs_bar.search": "Cuardaigh",
"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",
"time_remaining.moments": "Moments remaining", "time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left", "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.", "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.",
"timeline_hint.resources.followers": "Followers", "timeline_hint.resources.followers": "Leantóirí",
"timeline_hint.resources.follows": "Follows", "timeline_hint.resources.follows": "Follows",
"timeline_hint.resources.statuses": "Older toots", "timeline_hint.resources.statuses": "Older posts",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking",
"trends.trending_now": "Trending now", "trends.trending_now": "Trending now",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.", "ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
@ -510,13 +515,13 @@
"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": "Drag & drop to upload",
"upload_button.label": "Add media ({formats})", "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.",
"upload_form.audio_description": "Describe for people with hearing loss", "upload_form.audio_description": "Describe for people with hearing loss",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",
"upload_form.description_missing": "No description added", "upload_form.description_missing": "No description added",
"upload_form.edit": "Edit", "upload_form.edit": "Cuir in eagar",
"upload_form.thumbnail": "Change thumbnail", "upload_form.thumbnail": "Change thumbnail",
"upload_form.undo": "Delete", "upload_form.undo": "Delete",
"upload_form.video_description": "Describe for people with hearing loss or visual impairment", "upload_form.video_description": "Describe for people with hearing loss or visual impairment",
@ -526,19 +531,19 @@
"upload_modal.choose_image": "Choose image", "upload_modal.choose_image": "Choose image",
"upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog", "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
"upload_modal.detect_text": "Detect text from picture", "upload_modal.detect_text": "Detect text from picture",
"upload_modal.edit_media": "Edit media", "upload_modal.edit_media": "Cuir gné in eagar",
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.", "upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
"upload_modal.preparing_ocr": "Preparing OCR…", "upload_modal.preparing_ocr": "Preparing OCR…",
"upload_modal.preview_label": "Preview ({ratio})", "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Uploading...", "upload_progress.label": "Uploading",
"video.close": "Close video", "video.close": "Close video",
"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": "Full screen",
"video.hide": "Hide video", "video.hide": "Hide video",
"video.mute": "Mute sound", "video.mute": "Ciúnaigh fuaim",
"video.pause": "Pause", "video.pause": "Cuir ar sos",
"video.play": "Play", "video.play": "Cuir ar siúl",
"video.unmute": "Unmute sound" "video.unmute": "Díchiúnaigh fuaim"
} }

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