Merge branch 'main' into glitch-soc/merge-upstream

Conflicts:
- `README.md`:
  Upstream changed their README, we have a completely different one.
  Kept our README.
local
Claire 2 years ago
commit c79a03b319
  1. 6
      .circleci/config.yml
  2. 32
      .github/CODEOWNERS
  3. 2
      .github/FUNDING.yml
  4. 1
      .github/ISSUE_TEMPLATE/2.feature_request.yml
  5. 10
      .github/ISSUE_TEMPLATE/3.support.md
  6. 7
      .github/ISSUE_TEMPLATE/config.yml
  7. 2
      .github/workflows/build-image.yml
  8. 639
      AUTHORS.md
  9. 198
      CHANGELOG.md
  10. 2
      Gemfile
  11. 120
      Gemfile.lock
  12. 18
      SECURITY.md
  13. 19
      app/controllers/api/v1/notifications_controller.rb
  14. 1
      app/javascript/mastodon/locales/af.json
  15. 1
      app/javascript/mastodon/locales/ar.json
  16. 3
      app/javascript/mastodon/locales/ast.json
  17. 1
      app/javascript/mastodon/locales/bg.json
  18. 1
      app/javascript/mastodon/locales/bn.json
  19. 1
      app/javascript/mastodon/locales/br.json
  20. 1
      app/javascript/mastodon/locales/ca.json
  21. 1
      app/javascript/mastodon/locales/co.json
  22. 1
      app/javascript/mastodon/locales/cs.json
  23. 1
      app/javascript/mastodon/locales/cy.json
  24. 11
      app/javascript/mastodon/locales/da.json
  25. 1
      app/javascript/mastodon/locales/de.json
  26. 1
      app/javascript/mastodon/locales/el.json
  27. 1
      app/javascript/mastodon/locales/eo.json
  28. 1
      app/javascript/mastodon/locales/es-AR.json
  29. 1
      app/javascript/mastodon/locales/es-MX.json
  30. 1
      app/javascript/mastodon/locales/es.json
  31. 1
      app/javascript/mastodon/locales/et.json
  32. 1
      app/javascript/mastodon/locales/eu.json
  33. 1
      app/javascript/mastodon/locales/fa.json
  34. 1
      app/javascript/mastodon/locales/fi.json
  35. 3
      app/javascript/mastodon/locales/fr.json
  36. 1
      app/javascript/mastodon/locales/ga.json
  37. 1
      app/javascript/mastodon/locales/gd.json
  38. 1
      app/javascript/mastodon/locales/gl.json
  39. 1
      app/javascript/mastodon/locales/he.json
  40. 1
      app/javascript/mastodon/locales/hi.json
  41. 1
      app/javascript/mastodon/locales/hr.json
  42. 1
      app/javascript/mastodon/locales/hu.json
  43. 1
      app/javascript/mastodon/locales/hy.json
  44. 1
      app/javascript/mastodon/locales/id.json
  45. 1
      app/javascript/mastodon/locales/io.json
  46. 1
      app/javascript/mastodon/locales/is.json
  47. 1
      app/javascript/mastodon/locales/it.json
  48. 27
      app/javascript/mastodon/locales/ja.json
  49. 1
      app/javascript/mastodon/locales/ka.json
  50. 1
      app/javascript/mastodon/locales/kab.json
  51. 1
      app/javascript/mastodon/locales/kk.json
  52. 7
      app/javascript/mastodon/locales/kmr.json
  53. 1
      app/javascript/mastodon/locales/kn.json
  54. 1
      app/javascript/mastodon/locales/ko.json
  55. 1
      app/javascript/mastodon/locales/ku.json
  56. 1
      app/javascript/mastodon/locales/kw.json
  57. 1
      app/javascript/mastodon/locales/lt.json
  58. 1
      app/javascript/mastodon/locales/lv.json
  59. 1
      app/javascript/mastodon/locales/mk.json
  60. 1
      app/javascript/mastodon/locales/ml.json
  61. 1
      app/javascript/mastodon/locales/mr.json
  62. 1
      app/javascript/mastodon/locales/ms.json
  63. 1
      app/javascript/mastodon/locales/nl.json
  64. 1
      app/javascript/mastodon/locales/nn.json
  65. 1
      app/javascript/mastodon/locales/no.json
  66. 1
      app/javascript/mastodon/locales/oc.json
  67. 1
      app/javascript/mastodon/locales/pa.json
  68. 1
      app/javascript/mastodon/locales/pl.json
  69. 1
      app/javascript/mastodon/locales/pt-BR.json
  70. 1
      app/javascript/mastodon/locales/pt-PT.json
  71. 1
      app/javascript/mastodon/locales/ro.json
  72. 25
      app/javascript/mastodon/locales/ru.json
  73. 1
      app/javascript/mastodon/locales/sa.json
  74. 1
      app/javascript/mastodon/locales/sc.json
  75. 1
      app/javascript/mastodon/locales/si.json
  76. 1
      app/javascript/mastodon/locales/sk.json
  77. 1
      app/javascript/mastodon/locales/sl.json
  78. 1
      app/javascript/mastodon/locales/sq.json
  79. 1
      app/javascript/mastodon/locales/sr-Latn.json
  80. 1
      app/javascript/mastodon/locales/sr.json
  81. 1
      app/javascript/mastodon/locales/sv.json
  82. 1
      app/javascript/mastodon/locales/szl.json
  83. 1
      app/javascript/mastodon/locales/ta.json
  84. 1
      app/javascript/mastodon/locales/tai.json
  85. 1
      app/javascript/mastodon/locales/te.json
  86. 59
      app/javascript/mastodon/locales/th.json
  87. 1
      app/javascript/mastodon/locales/tr.json
  88. 7
      app/javascript/mastodon/locales/tt.json
  89. 1
      app/javascript/mastodon/locales/ug.json
  90. 1
      app/javascript/mastodon/locales/uk.json
  91. 1
      app/javascript/mastodon/locales/ur.json
  92. 33
      app/javascript/mastodon/locales/vi.json
  93. 1
      app/javascript/mastodon/locales/zgh.json
  94. 7
      app/javascript/mastodon/locales/zh-CN.json
  95. 1
      app/javascript/mastodon/locales/zh-HK.json
  96. 1
      app/javascript/mastodon/locales/zh-TW.json
  97. 14
      app/models/admin/account_action.rb
  98. 24
      app/models/notification.rb
  99. 4
      app/models/preview_card.rb
  100. 4
      app/models/status.rb
  101. Some files were not shown because too many files have changed in this diff Show More

@ -1,8 +1,8 @@
version: 2.1 version: 2.1
orbs: orbs:
ruby: circleci/ruby@1.2.0 ruby: circleci/ruby@1.4.0
node: circleci/node@4.7.0 node: circleci/node@5.0.1
executors: executors:
default: default:
@ -23,7 +23,7 @@ executors:
environment: environment:
POSTGRES_USER: root POSTGRES_USER: root
POSTGRES_HOST_AUTH_METHOD: trust POSTGRES_HOST_AUTH_METHOD: trust
- image: circleci/redis:6-alpine - image: cimg/redis:6.2
commands: commands:
install-system-dependencies: install-system-dependencies:

@ -1,32 +0,0 @@
# CODEOWNERS for mastodon/mastodon
# Translators
# To add translator, copy these lines, replace `fr` with appropriate language code and replace `@żelipapą` with user's GitHub nickname preceded by `@` sign or e-mail address.
# /app/javascript/mastodon/locales/fr.json @żelipapą
# /app/views/user_mailer/*.fr.html.erb @żelipapą
# /app/views/user_mailer/*.fr.text.erb @żelipapą
# /config/locales/*.fr.yml @żelipapą
# /config/locales/fr.yml @żelipapą
# Polish
/app/javascript/mastodon/locales/pl.json @m4sk1n
/app/views/user_mailer/*.pl.html.erb @m4sk1n
/app/views/user_mailer/*.pl.text.erb @m4sk1n
/config/locales/*.pl.yml @m4sk1n
/config/locales/pl.yml @m4sk1n
# French
/app/javascript/mastodon/locales/fr.json @aldarone
/app/javascript/mastodon/locales/whitelist_fr.json @aldarone
/app/views/user_mailer/*.fr.html.erb @aldarone
/app/views/user_mailer/*.fr.text.erb @aldarone
/config/locales/*.fr.yml @aldarone
/config/locales/fr.yml @aldarone
# Dutch
/app/javascript/mastodon/locales/nl.json @jeroenpraat
/app/javascript/mastodon/locales/whitelist_nl.json @jeroenpraat
/app/views/user_mailer/*.nl.html.erb @jeroenpraat
/app/views/user_mailer/*.nl.text.erb @jeroenpraat
/config/locales/*.nl.yml @jeroenpraat
/config/locales/nl.yml @jeroenpraat

@ -1,3 +1,3 @@
patreon: mastodon patreon: mastodon
open_collective: mastodon open_collective: mastodon
github: [Gargron] custom: https://sponsor.joinmastodon.org

@ -1,5 +1,6 @@
name: Feature Request name: Feature Request
description: I have a suggestion description: I have a suggestion
labels: suggestion
body: body:
- type: markdown - type: markdown
attributes: attributes:

@ -1,10 +0,0 @@
---
name: Support
about: Ask for help with your deployment
title: DO NOT CREATE THIS ISSUE
---
We primarily use GitHub as a bug and feature tracker. For usage questions, troubleshooting of deployments and other individual technical assistance, please use one of the resources below:
- https://discourse.joinmastodon.org
- #mastodon on irc.freenode.net

@ -1,5 +1,8 @@
blank_issues_enabled: false blank_issues_enabled: false
contact_links: contact_links:
- name: Mastodon Meta Discussion Board - name: GitHub Discussions
url: https://discourse.joinmastodon.org/ url: https://github.com/mastodon/mastodon/discussions
about: Please ask and answer questions here. about: Please ask and answer questions here.
- name: Bug Bounty Program
url: https://app.intigriti.com/programs/mastodon/mastodonio/detail
about: Please report security vulnerabilities here.

@ -31,7 +31,7 @@ jobs:
latest=true latest=true
tags: | tags: |
type=edge,branch=main type=edge,branch=main
type=semver,pattern={{ raw }} type=match,pattern=v(.*),group=0
type=ref,event=pr type=ref,event=pr
- uses: docker/build-push-action@v2 - uses: docker/build-push-action@v2
with: with:

File diff suppressed because it is too large Load Diff

@ -3,6 +3,194 @@ Changelog
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## Unreleased
### Added
- **Add support for post editing** ([Gargron](https://github.com/mastodon/mastodon/pull/16697), [Gargron](https://github.com/mastodon/mastodon/pull/17727), [Gargron](https://github.com/mastodon/mastodon/pull/17728), [Gargron](https://github.com/mastodon/mastodon/pull/17320), [Gargron](https://github.com/mastodon/mastodon/pull/17404), [Gargron](https://github.com/mastodon/mastodon/pull/17390), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17335), [Gargron](https://github.com/mastodon/mastodon/pull/17696), [Gargron](https://github.com/mastodon/mastodon/pull/17745), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17740), [Gargron](https://github.com/mastodon/mastodon/pull/17697), [Gargron](https://github.com/mastodon/mastodon/pull/17648), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17531), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17499), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17498), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17380), [Gargron](https://github.com/mastodon/mastodon/pull/17373), [Gargron](https://github.com/mastodon/mastodon/pull/17334), [Gargron](https://github.com/mastodon/mastodon/pull/17333), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17699), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17748))
- Previous versions remain available for perusal and comparison
- People who reblogged a post are notified when it's edited
- New REST APIs:
- `PUT /api/v1/statuses/:id`
- `GET /api/v1/statuses/:id/history`
- `GET /api/v1/statuses/:id/source`
- New streaming API event:
- `update`
- **Add appeals for moderator decisions** ([Gargron](https://github.com/mastodon/mastodon/pull/17364), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17725), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17566), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17652), [Gargron](https://github.com/mastodon/mastodon/pull/17616), [Gargron](https://github.com/mastodon/mastodon/pull/17615), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17554), [Gargron](https://github.com/mastodon/mastodon/pull/17523))
- All default moderator decisions now notify the affected user by e-mail
- They now link to an appeal page instead of suggesting replying to the e-mail
- They can now be found in account settings and not just e-mail
- Users can submit one appeal within 20 days of the decision
- Moderators can approve or reject the appeal
- **Add notifications for posts deleted by moderators** ([Gargron](https://github.com/mastodon/mastodon/pull/17204), [Gargron](https://github.com/mastodon/mastodon/pull/17668), [Gargron](https://github.com/mastodon/mastodon/pull/17746), [Gargron](https://github.com/mastodon/mastodon/pull/17679), [Gargron](https://github.com/mastodon/mastodon/pull/17487))
- New, redesigned report view in admin UI
- Common report actions now only take one click to complete
- Deleting posts or marking as sensitive from report now notifies user
- Reports can be categorized by reason and specific rules violated
- The reasons are automatically cited in the notifications, except for spam
- Marking posts as sensitive now federates using post editing
- **Add explore page with trending posts and links** ([Gargron](https://github.com/mastodon/mastodon/pull/17123), [Gargron](https://github.com/mastodon/mastodon/pull/17431), [Gargron](https://github.com/mastodon/mastodon/pull/16917), [Gargron](https://github.com/mastodon/mastodon/pull/17677), [Gargron](https://github.com/mastodon/mastodon/pull/16938), [Gargron](https://github.com/mastodon/mastodon/pull/17044), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16978), [Gargron](https://github.com/mastodon/mastodon/pull/16979), [tribela](https://github.com/mastodon/mastodon/pull/17066), [Gargron](https://github.com/mastodon/mastodon/pull/17072), [Gargron](https://github.com/mastodon/mastodon/pull/17403), [noiob](https://github.com/mastodon/mastodon/pull/17624), [mayaeh](https://github.com/mastodon/mastodon/pull/17755), [mayaeh](https://github.com/mastodon/mastodon/pull/17757), [Gargron](https://github.com/mastodon/mastodon/pull/17760), [mayaeh](https://github.com/mastodon/mastodon/pull/17762))
- Hashtag trends algorithm is extended to work for posts and links
- Links are only considered if they have an adequate preview card
- Preview card generation has been improved to support structured data
- Links can only trend if the publisher (domain) has been approved
- Posts can only trend if the author has been approved
- Individual approval and rejection for posts and links is also available
- Moderators are notified about pending trends at most once every 2 hours
- Posts and link trends are language-specific
- Search page is redesigned into explore page in web UI
- Discovery tab is coming soon in official iOS and Android apps
- New REST APIs:
- `GET /api/v1/trends/links`
- `GET /api/v1/trends/statuses`
- `GET /api/v1/trends/tags` (alias of `GET /api/v1/trends`)
- `GET /api/v1/admin/trends/links`
- `GET /api/v1/admin/trends/statuses`
- `GET /api/v1/admin/trends/tags`
- **Add graphs and retention metrics to admin dashboard** ([Gargron](https://github.com/mastodon/mastodon/pull/16829), [Gargron](https://github.com/mastodon/mastodon/pull/17617), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17570), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16910), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16909), [mashirozx](https://github.com/mastodon/mastodon/pull/16884), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16854))
- Dashboard shows more numbers with development over time
- Other data such as most used interface languages and sign-up sources
- User retention graph shows how many new users stick around
- New REST APIs:
- `POST /api/v1/admin/measures`
- `POST /api/v1/admin/dimensions`
- `POST /api/v1/admin/retention`
- Add `GET /api/v1/accounts/familiar_followers` to REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17700))
- Add `POST /api/v1/accounts/:id/remove_from_followers` to REST API ([noellabo](https://github.com/mastodon/mastodon/pull/16864))
- Add `category` and `rule_ids` params to `POST /api/v1/reports` IN REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17492), [Gargron](https://github.com/mastodon/mastodon/pull/17682), [Gargron](https://github.com/mastodon/mastodon/pull/17713))
- `category` can be one of: `spam`, `violation`, `other` (default)
- `rule_ids` must reference `rules` returned in `GET /api/v1/instance`
- Add global `lang` param to REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17464), [Gargron](https://github.com/mastodon/mastodon/pull/17592))
- Add `types` param to `GET /api/v1/notifications` in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17767))
- **Add notifications for moderators about new sign-ups** ([Gargron](https://github.com/mastodon/mastodon/pull/16953), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17629))
- When a new user confirms e-mail, moderators receive a notification
- New streaming API event:
- `admin.sign_up`
- Add authentication history ([Gargron](https://github.com/mastodon/mastodon/pull/16408), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16428), [baby-gnu](https://github.com/mastodon/mastodon/pull/16654))
- Add ability to automatically delete old posts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16529), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17691), [tribela](https://github.com/mastodon/mastodon/pull/16653))
- Add ability to pin private posts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16954), [tribela](https://github.com/mastodon/mastodon/pull/17326), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17304), [MitarashiDango](https://github.com/mastodon/mastodon/pull/17647))
- Add ability to filter search results by author using `from:` syntax ([tribela](https://github.com/mastodon/mastodon/pull/16526))
- Add ability to delete canonical email blocks in admin UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16644))
- Add ability to purge undeliverable domains in admin UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16686), [tribela](https://github.com/mastodon/mastodon/pull/17210), [tribela](https://github.com/mastodon/mastodon/pull/17741), [tribela](https://github.com/mastodon/mastodon/pull/17209))
- Add ability to disable e-mail token authentication for specific users in admin UI ([Gargron](https://github.com/mastodon/mastodon/pull/16427))
- **Add ability to suspend accounts in batches in admin UI** ([Gargron](https://github.com/mastodon/mastodon/pull/17009), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17301), [Gargron](https://github.com/mastodon/mastodon/pull/17444))
- New, redesigned accounts list in admin UI
- Batch suspensions are meant to help clean up spam and bot accounts
- They do not generate notifications
- Add ability to filter reports by origin of target account in admin UI ([Gargron](https://github.com/mastodon/mastodon/pull/16487))
- Add support for login through OpenID Connect ([chandrn7](https://github.com/mastodon/mastodon/pull/16221))
- Add lazy loading for emoji picker in web UI ([mashirozx](https://github.com/mastodon/mastodon/pull/16907), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17011))
- Add single option votes tooltip in polls in web UI ([Brawaru](https://github.com/mastodon/mastodon/pull/16849))
- Add confirmation modal when closing media edit modal with unsaved changes in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16518))
- Add support for fetching Create and Announce activities by URI in ActivityPub ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16383))
- Add `S3_FORCE_SINGLE_REQUEST` environment variable ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16866))
- Add `OMNIAUTH_ONLY` environment variable ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17288), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17345))
- Add `ES_USER` and `ES_PASS` environment variables for Elasticsearch authentication ([tribela](https://github.com/mastodon/mastodon/pull/16890))
- Add `CAS_SECURITY_ASSUME_EMAIL_IS_VERIFIED` environment variable ([baby-gnu](https://github.com/mastodon/mastodon/pull/16655))
- Add ability to pass specific domains to `tootctl accounts cull` ([tribela](https://github.com/mastodon/mastodon/pull/16511))
- Add `--by-uri` option to `tootctl domains purge` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16434))
- Add `--batch-size` option to `tootctl search deploy` ([aquarla](https://github.com/mastodon/mastodon/pull/17049))
- Add `--remove-orphans` option to `tootctl statuses remove` ([noellabo](https://github.com/mastodon/mastodon/pull/17067))
### Changed
- Change design of federation pages in admin UI ([Gargron](https://github.com/mastodon/mastodon/pull/17704), [noellabo](https://github.com/mastodon/mastodon/pull/17735), [Gargron](https://github.com/mastodon/mastodon/pull/17765))
- Change design of account cards in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/17689))
- Change `follow` scope to be covered by `read` and `write` scopes in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17678))
- Change design of authorized applications page ([Gargron](https://github.com/mastodon/mastodon/pull/17656), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17686))
- Change e-mail domain blocks to block IPs dynamically ([Gargron](https://github.com/mastodon/mastodon/pull/17635), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17650), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17649))
- Change report modal to include category selection in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/17565), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17734), [Gargron](https://github.com/mastodon/mastodon/pull/17654), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17632))
- Change reblogs to not count towards hashtag trends anymore ([Gargron](https://github.com/mastodon/mastodon/pull/17501))
- Change languages to be listed under standard instead of native name in admin UI ([Gargron](https://github.com/mastodon/mastodon/pull/17485))
- Change routing paths to use usernames in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/16171), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16772), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16773), [mashirozx](https://github.com/mastodon/mastodon/pull/16793), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17060))
- Change list title input design in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17092))
- Change "Opt-in to profile directory" preference to be general discoverability preference ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16637))
- Change API rate limits to use /64 masking on IPv6 addresses ([tribela](https://github.com/mastodon/mastodon/pull/17588), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17600), [zunda](https://github.com/mastodon/mastodon/pull/17590))
- Change allowed formats for locally uploaded custom emojis to include GIF ([rgroothuijsen](https://github.com/mastodon/mastodon/pull/17706), [Gargron](https://github.com/mastodon/mastodon/pull/17759))
- Change error message when chosen password is too long ([rgroothuijsen](https://github.com/mastodon/mastodon/pull/17082))
- Change minimum required Elasticsearch version from 6 to 7 ([noellabo](https://github.com/mastodon/mastodon/pull/16915))
### Removed
- Remove profile directory link from main navigation panel in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/17688))
- **Remove language detection through cld3** ([Gargron](https://github.com/mastodon/mastodon/pull/17478), [ykzts](https://github.com/mastodon/mastodon/pull/17539), [Gargron](https://github.com/mastodon/mastodon/pull/17496), [Gargron](https://github.com/mastodon/mastodon/pull/17722))
- cld3 is very inaccurate on short-form content even with unique alphabets
- Post language can be overriden individually using `language` param
- Otherwise, it defaults to the user's interface language
- Remove support for `OAUTH_REDIRECT_AT_SIGN_IN` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17287))
- Use `OMNIAUTH_ONLY` instead
- Remove Keybase integration ([Gargron](https://github.com/mastodon/mastodon/pull/17045))
- Remove old columns and indexes ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17245), [Gargron](https://github.com/mastodon/mastodon/pull/16409), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17191))
- Remove shortcodes from newly-created media attachments ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16730), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16763))
### Deprecated
- `GET /api/v1/trends``GET /api/v1/trends/tags`
- OAuth `follow` scope → `read` and/or `write`
- `text` attribute on `DELETE /api/v1/statuses/:id``GET /api/v1/statuses/:id/source`
### Fixed
- Fix web manifest not permitting PWA usage from alternate domains ([HolgerHuo](https://github.com/mastodon/mastodon/pull/16714))
- Fix not being able to edit media attachments for scheduled posts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17690))
- Fix subscribed relay activities being recorded as boosts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17571))
- Fix streaming API server error messages when JSON parsing fails not specifying the source ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17559))
- Fix browsers autofilling new password field with old password ([mashirozx](https://github.com/mastodon/mastodon/pull/17702))
- Fix text being invisible before fonts load in web UI ([tribela](https://github.com/mastodon/mastodon/pull/16330))
- Fix public profile pages of unconfirmed users being accessible ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17385), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17457))
- Fix nil error when trying to fetch key for signature verification ([Gargron](https://github.com/mastodon/mastodon/pull/17747))
- Fix null values being included in some indexes ([Gargron](https://github.com/mastodon/mastodon/pull/17711))
- Fix `POST /api/v1/emails/confirmations` not being available after sign-up ([Gargron](https://github.com/mastodon/mastodon/pull/17743))
- Fix rare race condition when reblogged post is deleted ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17693), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17730))
- Fix being able to add more than 4 hashtags to hashtag column in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/17729))
- Fix data integrity of featured tags ([Gargron](https://github.com/mastodon/mastodon/pull/17712))
- Fix performance of account timelines ([Gargron](https://github.com/mastodon/mastodon/pull/17709))
- Fix returning empty `<p>` tag for blank account `note` in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17687))
- Fix leak of existence of otherwise inaccessible posts in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17684))
- Fix not showing loading indicator when searching in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/17655))
- Fix media modal footer's “external link” not being a link ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17561))
- Fix reply button on media modal not giving focus to compose form ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17626))
- Fix some media attachments being converted with too high framerates ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17619))
- Fix sign in token and warning emails failing to send when contact e-mail address is malformed ([helloworldstack](https://github.com/mastodon/mastodon/pull/17589))
- Fix opening the emoji picker scrolling the single-column view to the top ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17579))
- Fix edge case where settings/admin page sidebar would be incorrectly hidden ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17580))
- Fix performance of server-side filtering ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17575))
- Fix privacy policy link not being visible on small screens ([Gargron](https://github.com/mastodon/mastodon/pull/17533))
- Fix duplicate accounts when searching by IP range in admin UI ([Gargron](https://github.com/mastodon/mastodon/pull/17524), [tribela](https://github.com/mastodon/mastodon/pull/17150))
- Fix error when performing a batch action on posts in admin UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17532))
- Fix deletes not being signed in authorized fetch mode ([Gargron](https://github.com/mastodon/mastodon/pull/17484))
- Fix Undo Announce sometimes inlining the originally Announced status ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17516))
- Fix localization of cold-start follow recommendations ([Gargron](https://github.com/mastodon/mastodon/pull/17479), [Gargron](https://github.com/mastodon/mastodon/pull/17486))
- Fix replies collection incorrectly looping ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17462))
- Fix errors when multiple Delete are received for a given actor ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17460))
- Fixed prototype pollution bug and only allow trusted origin ([r0hanSH](https://github.com/mastodon/mastodon/pull/17420))
- Fix text being incorrectly pre-selected in composer textarea on /share ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17339))
- Fix SMTP_ENABLE_STARTTLS_AUTO/SMTP_TLS/SMTP_SSL environment variables don't work ([kgtkr](https://github.com/mastodon/mastodon/pull/17216))
- Fix media upload specific rate limits only being applied to v1 endpoint in REST API ([tribela](https://github.com/mastodon/mastodon/pull/17272))
- Fix media descriptions not being used for client-side filtering ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17206))
- Fix cold-start follow recommendation favouring older accounts due to wrong sorting ([noellabo](https://github.com/mastodon/mastodon/pull/17126))
- Fix not redirect to the right page after authenticating with WebAuthn ([heguro](https://github.com/mastodon/mastodon/pull/17098))
- Fix searching for additional hashtags in hashtag column ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17054))
- Fix color of hashtag column settings inputs ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17058))
- Fix performance of `tootctl statuses remove` ([noellabo](https://github.com/mastodon/mastodon/pull/17052))
- Fix `tootctl accounts cull` not excluding domains on timeouts and certificate issues ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16433))
- Fix 404 error when filtering admin action logs by non-existent target account ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16643))
- Fix error when accessing streaming API without any OAuth scopes ([Brawaru](https://github.com/mastodon/mastodon/pull/16823))
- Fix follow request count not updating when new follow requests arrive over streaming API in web UI ([matildepark](https://github.com/mastodon/mastodon/pull/16652))
- Fix error when unsuspending a local account ([HolgerHuo](https://github.com/mastodon/mastodon/pull/16605))
- Fix crash when a notification contains a not yet processed media attachment in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16573))
- Fix wrong color of download button in audio player in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16572))
- Fix notes for others accounts not being deleted when an account is deleted ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16579))
- Fix error when logging occurrence of unsupported video file ([noellabo](https://github.com/mastodon/mastodon/pull/16581))
- Fix wrong elements in trends widget being hidden on smaller screens in web UI ([tribela](https://github.com/mastodon/mastodon/pull/16570))
- Fix link to about page being displayed in limited federation mode ([weex](https://github.com/mastodon/mastodon/pull/16432))
- Fix styling of boost button in media modal not reflecting ability to boost ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16387))
- Fix OCR failure when erroneous lang data is in cache ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16386))
- Fix downloading media from blocked domains in `tootctl media refresh` ([tribela](https://github.com/mastodon/mastodon/pull/16914))
- Fix login form being displayed on landing page when already logged in ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17348))
- Fix polling for media processing status too frequently in web UI ([tribela](https://github.com/mastodon/mastodon/pull/17271))
- Fix hashtag autocomplete overriding user-typed case ([weex](https://github.com/mastodon/mastodon/pull/16460))
- Fix WebAuthn authentication setup to not prompt for PIN ([truongnmt](https://github.com/mastodon/mastodon/pull/16545))
## [3.4.6] - 2022-02-03 ## [3.4.6] - 2022-02-03
### Fixed ### Fixed
@ -572,7 +760,7 @@ All notable changes to this project will be documented in this file.
- `EMAIL_DOMAIN_WHITELIST``EMAIL_DOMAIN_ALLOWLIST` - `EMAIL_DOMAIN_WHITELIST``EMAIL_DOMAIN_ALLOWLIST`
- CLI option changed: - CLI option changed:
- `tootctl domains purge --whitelist-mode``tootctl domains purge --limited-federation-mode` - `tootctl domains purge --whitelist-mode``tootctl domains purge --limited-federation-mode`
- Remove some unnecessary database indices ([lfuelling](https://github.com/mastodon/mastodon/pull/13695), [noellabo](https://github.com/mastodon/mastodon/pull/14259)) - Remove some unnecessary database indexes ([lfuelling](https://github.com/mastodon/mastodon/pull/13695), [noellabo](https://github.com/mastodon/mastodon/pull/14259))
- Remove unnecessary Node.js version upper bound ([ykzts](https://github.com/mastodon/mastodon/pull/14139)) - Remove unnecessary Node.js version upper bound ([ykzts](https://github.com/mastodon/mastodon/pull/14139))
### Fixed ### Fixed
@ -591,7 +779,7 @@ All notable changes to this project will be documented in this file.
- Fix new posts pushing down origin of opened dropdown in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/14271), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/14348)) - Fix new posts pushing down origin of opened dropdown in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/14271), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/14348))
- Fix timeline markers not being saved sometimes ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/13887), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/13889), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/14155)) - Fix timeline markers not being saved sometimes ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/13887), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/13889), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/14155))
- Fix CSV uploads being rejected ([noellabo](https://github.com/mastodon/mastodon/pull/13835)) - Fix CSV uploads being rejected ([noellabo](https://github.com/mastodon/mastodon/pull/13835))
- Fix incompatibility with ElasticSearch 7.x ([noellabo](https://github.com/mastodon/mastodon/pull/13828)) - Fix incompatibility with Elasticsearch 7.x ([noellabo](https://github.com/mastodon/mastodon/pull/13828))
- Fix being able to search posts where you're in the target audience but not actively mentioned ([noellabo](https://github.com/mastodon/mastodon/pull/13829)) - Fix being able to search posts where you're in the target audience but not actively mentioned ([noellabo](https://github.com/mastodon/mastodon/pull/13829))
- Fix non-local posts appearing on local-only hashtag timelines in web UI ([noellabo](https://github.com/mastodon/mastodon/pull/13827)) - Fix non-local posts appearing on local-only hashtag timelines in web UI ([noellabo](https://github.com/mastodon/mastodon/pull/13827))
- Fix `tootctl media remove-orphans` choking on unknown files in storage ([Gargron](https://github.com/mastodon/mastodon/pull/13765)) - Fix `tootctl media remove-orphans` choking on unknown files in storage ([Gargron](https://github.com/mastodon/mastodon/pull/13765))
@ -1195,7 +1383,7 @@ All notable changes to this project will be documented in this file.
- Fix URLs appearing twice in errors of ActivityPub::DeliveryWorker ([Gargron](https://github.com/mastodon/mastodon/pull/11231)) - Fix URLs appearing twice in errors of ActivityPub::DeliveryWorker ([Gargron](https://github.com/mastodon/mastodon/pull/11231))
- Fix support for HTTP proxies ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/11245)) - Fix support for HTTP proxies ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/11245))
- Fix HTTP requests to IPv6 hosts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/11240)) - Fix HTTP requests to IPv6 hosts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/11240))
- Fix error in ElasticSearch index import ([mayaeh](https://github.com/mastodon/mastodon/pull/11192)) - Fix error in Elasticsearch index import ([mayaeh](https://github.com/mastodon/mastodon/pull/11192))
- Fix duplicate account error when seeding development database ([ysksn](https://github.com/mastodon/mastodon/pull/11366)) - Fix duplicate account error when seeding development database ([ysksn](https://github.com/mastodon/mastodon/pull/11366))
- Fix performance of session clean-up scheduler ([abcang](https://github.com/mastodon/mastodon/pull/11871)) - Fix performance of session clean-up scheduler ([abcang](https://github.com/mastodon/mastodon/pull/11871))
- Fix older migrations not running ([zunda](https://github.com/mastodon/mastodon/pull/11377)) - Fix older migrations not running ([zunda](https://github.com/mastodon/mastodon/pull/11377))
@ -1205,8 +1393,8 @@ All notable changes to this project will be documented in this file.
- Fix muted text color not applying to all text ([trwnh](https://github.com/mastodon/mastodon/pull/11996)) - Fix muted text color not applying to all text ([trwnh](https://github.com/mastodon/mastodon/pull/11996))
- Fix follower/following lists resetting on back-navigation in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/11986)) - Fix follower/following lists resetting on back-navigation in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/11986))
- Fix n+1 query when approving multiple follow requests ([abcang](https://github.com/mastodon/mastodon/pull/12004)) - Fix n+1 query when approving multiple follow requests ([abcang](https://github.com/mastodon/mastodon/pull/12004))
- Fix records not being indexed into ElasticSearch sometimes ([Gargron](https://github.com/mastodon/mastodon/pull/12024)) - Fix records not being indexed into Elasticsearch sometimes ([Gargron](https://github.com/mastodon/mastodon/pull/12024))
- Fix needlessly indexing unsearchable statuses into ElasticSearch ([Gargron](https://github.com/mastodon/mastodon/pull/12041)) - Fix needlessly indexing unsearchable statuses into Elasticsearch ([Gargron](https://github.com/mastodon/mastodon/pull/12041))
- Fix new user bootstrapping crashing when to-be-followed accounts are invalid ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/12037)) - Fix new user bootstrapping crashing when to-be-followed accounts are invalid ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/12037))
- Fix featured hashtag URL being interpreted as media or replies tab ([Gargron](https://github.com/mastodon/mastodon/pull/12048)) - Fix featured hashtag URL being interpreted as media or replies tab ([Gargron](https://github.com/mastodon/mastodon/pull/12048))
- Fix account counters being overwritten by parallel writes ([Gargron](https://github.com/mastodon/mastodon/pull/12045)) - Fix account counters being overwritten by parallel writes ([Gargron](https://github.com/mastodon/mastodon/pull/12045))

@ -7,7 +7,7 @@ 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.4' gem 'rails', '~> 6.1.5'
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'

@ -1,40 +1,40 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
actioncable (6.1.4.6) actioncable (6.1.5)
actionpack (= 6.1.4.6) actionpack (= 6.1.5)
activesupport (= 6.1.4.6) activesupport (= 6.1.5)
nio4r (~> 2.0) nio4r (~> 2.0)
websocket-driver (>= 0.6.1) websocket-driver (>= 0.6.1)
actionmailbox (6.1.4.6) actionmailbox (6.1.5)
actionpack (= 6.1.4.6) actionpack (= 6.1.5)
activejob (= 6.1.4.6) activejob (= 6.1.5)
activerecord (= 6.1.4.6) activerecord (= 6.1.5)
activestorage (= 6.1.4.6) activestorage (= 6.1.5)
activesupport (= 6.1.4.6) activesupport (= 6.1.5)
mail (>= 2.7.1) mail (>= 2.7.1)
actionmailer (6.1.4.6) actionmailer (6.1.5)
actionpack (= 6.1.4.6) actionpack (= 6.1.5)
actionview (= 6.1.4.6) actionview (= 6.1.5)
activejob (= 6.1.4.6) activejob (= 6.1.5)
activesupport (= 6.1.4.6) activesupport (= 6.1.5)
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.4.6) actionpack (6.1.5)
actionview (= 6.1.4.6) actionview (= 6.1.5)
activesupport (= 6.1.4.6) activesupport (= 6.1.5)
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.4.6) actiontext (6.1.5)
actionpack (= 6.1.4.6) actionpack (= 6.1.5)
activerecord (= 6.1.4.6) activerecord (= 6.1.5)
activestorage (= 6.1.4.6) activestorage (= 6.1.5)
activesupport (= 6.1.4.6) activesupport (= 6.1.5)
nokogiri (>= 1.8.5) nokogiri (>= 1.8.5)
actionview (6.1.4.6) actionview (6.1.5)
activesupport (= 6.1.4.6) activesupport (= 6.1.5)
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.4.6) activejob (6.1.5)
activesupport (= 6.1.4.6) activesupport (= 6.1.5)
globalid (>= 0.3.6) globalid (>= 0.3.6)
activemodel (6.1.4.6) activemodel (6.1.5)
activesupport (= 6.1.4.6) activesupport (= 6.1.5)
activerecord (6.1.4.6) activerecord (6.1.5)
activemodel (= 6.1.4.6) activemodel (= 6.1.5)
activesupport (= 6.1.4.6) activesupport (= 6.1.5)
activestorage (6.1.4.6) activestorage (6.1.5)
actionpack (= 6.1.4.6) actionpack (= 6.1.5)
activejob (= 6.1.4.6) activejob (= 6.1.5)
activerecord (= 6.1.4.6) activerecord (= 6.1.5)
activesupport (= 6.1.4.6) activesupport (= 6.1.5)
marcel (~> 1.0.0) marcel (~> 1.0)
mini_mime (>= 1.1.0) mini_mime (>= 1.1.0)
activesupport (6.1.4.6) activesupport (6.1.5)
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)
@ -367,7 +367,7 @@ GEM
activesupport (>= 4) activesupport (>= 4)
railties (>= 4) railties (>= 4)
request_store (~> 1.0) request_store (~> 1.0)
loofah (2.14.0) loofah (2.15.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)
@ -432,14 +432,14 @@ GEM
openssl (2.2.0) openssl (2.2.0)
openssl-signature_algorithm (0.4.0) openssl-signature_algorithm (0.4.0)
orm_adapter (0.5.0) orm_adapter (0.5.0)
ox (2.14.9) ox (2.14.10)
parallel (1.21.0) parallel (1.21.0)
parser (3.1.0.0) parser (3.1.0.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.3) pg (1.3.4)
pghero (2.8.2) pghero (2.8.2)
activerecord (>= 5) activerecord (>= 5)
pkg-config (1.4.7) pkg-config (1.4.7)
@ -482,20 +482,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.4.6) rails (6.1.5)
actioncable (= 6.1.4.6) actioncable (= 6.1.5)
actionmailbox (= 6.1.4.6) actionmailbox (= 6.1.5)
actionmailer (= 6.1.4.6) actionmailer (= 6.1.5)
actionpack (= 6.1.4.6) actionpack (= 6.1.5)
actiontext (= 6.1.4.6) actiontext (= 6.1.5)
actionview (= 6.1.4.6) actionview (= 6.1.5)
activejob (= 6.1.4.6) activejob (= 6.1.5)
activemodel (= 6.1.4.6) activemodel (= 6.1.5)
activerecord (= 6.1.4.6) activerecord (= 6.1.5)
activestorage (= 6.1.4.6) activestorage (= 6.1.5)
activesupport (= 6.1.4.6) activesupport (= 6.1.5)
bundler (>= 1.15.0) bundler (>= 1.15.0)
railties (= 6.1.4.6) railties (= 6.1.5)
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)
@ -511,11 +511,11 @@ 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.4.6) railties (6.1.5)
actionpack (= 6.1.4.6) actionpack (= 6.1.5)
activesupport (= 6.1.4.6) activesupport (= 6.1.5)
method_source method_source
rake (>= 0.13) rake (>= 12.2)
thor (~> 1.0) thor (~> 1.0)
rainbow (3.1.1) rainbow (3.1.1)
rake (13.0.6) rake (13.0.6)
@ -548,7 +548,7 @@ GEM
rspec-mocks (3.11.0) rspec-mocks (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-rails (5.1.0) rspec-rails (5.1.1)
actionpack (>= 5.2) actionpack (>= 5.2)
activesupport (>= 5.2) activesupport (>= 5.2)
railties (>= 5.2) railties (>= 5.2)
@ -806,7 +806,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.4) rails (~> 6.1.5)
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)

@ -1,13 +1,19 @@
# Security Policy # Security Policy
If you believe you've identified a security vulnerability in Mastodon (a bug that allows something to happen that shouldn't be possible), you should submit the report through our [Bug Bounty Program][bug-bounty]. Alternatively, you can reach us at <hello@joinmastodon.org>.
You should *not* report such issues on GitHub or in other public spaces to give us time to publish a fix for the issue without exposing Mastodon's users to increased risk.
## Scope
A "vulnerability in Mastodon" is a vulnerability in the code distributed through our main source code repository on GitHub. Vulnerabilities that are specific to a given installation (e.g. misconfiguration) should be reported to the owner of that installation and not us.
## Supported Versions ## Supported Versions
| Version | Supported | | Version | Supported |
| ------- | ------------------ | | ------- | ------------------ |
| 3.4.x | :white_check_mark: | | 3.4.x | Yes |
| 3.3.x | :white_check_mark: | | 3.3.x | Yes |
| < 3.3 | :x: | | < 3.3 | No |
## Reporting a Vulnerability
hello@joinmastodon.org [bug-bounty]: https://app.intigriti.com/programs/mastodon/mastodonio/detail

@ -44,13 +44,18 @@ class Api::V1::NotificationsController < Api::BaseController
limit_param(DEFAULT_NOTIFICATIONS_LIMIT), limit_param(DEFAULT_NOTIFICATIONS_LIMIT),
params_slice(:max_id, :since_id, :min_id) params_slice(:max_id, :since_id, :min_id)
) )
Notification.preload_cache_collection_target_statuses(notifications) do |target_statuses| Notification.preload_cache_collection_target_statuses(notifications) do |target_statuses|
cache_collection(target_statuses, Status) cache_collection(target_statuses, Status)
end end
end end
def browserable_account_notifications def browserable_account_notifications
current_account.notifications.without_suspended.browserable(exclude_types, from_account) current_account.notifications.without_suspended.browserable(
types: Array(browserable_params[:types]),
exclude_types: Array(browserable_params[:exclude_types]),
from_account_id: browserable_params[:account_id]
)
end end
def target_statuses_from_notifications def target_statuses_from_notifications
@ -81,17 +86,11 @@ class Api::V1::NotificationsController < Api::BaseController
@notifications.first.id @notifications.first.id
end end
def exclude_types def browserable_params
val = params.permit(exclude_types: [])[:exclude_types] || [] params.permit(:account_id, types: [], exclude_types: [])
val = [val] unless val.is_a?(Enumerable)
val
end
def from_account
params[:account_id]
end end
def pagination_params(core_params) def pagination_params(core_params)
params.slice(:limit, :exclude_types).permit(:limit, exclude_types: []).merge(core_params) params.slice(:limit, :account_id, :types, :exclude_types).permit(:limit, :account_id, types: [], exclude_types: []).merge(core_params)
end end
end end

@ -294,6 +294,7 @@
"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",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "Follow requests",

@ -294,6 +294,7 @@
"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.favourites": "المفضلة", "navigation_bar.favourites": "المفضلة",
"navigation_bar.filters": "الكلمات المكتومة", "navigation_bar.filters": "الكلمات المكتومة",
"navigation_bar.follow_requests": "طلبات المتابعة", "navigation_bar.follow_requests": "طلبات المتابعة",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Discover", "navigation_bar.discover": "Discover",
"navigation_bar.domain_blocks": "Dominios anubríos", "navigation_bar.domain_blocks": "Dominios anubríos",
"navigation_bar.edit_profile": "Editar el perfil", "navigation_bar.edit_profile": "Editar el perfil",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favoritos", "navigation_bar.favourites": "Favoritos",
"navigation_bar.filters": "Pallabres silenciaes", "navigation_bar.filters": "Pallabres silenciaes",
"navigation_bar.follow_requests": "Solicitúes de siguimientu", "navigation_bar.follow_requests": "Solicitúes de siguimientu",
@ -361,7 +362,7 @@
"poll.total_votes": "{count, plural, one {# votu} other {# votos}}", "poll.total_votes": "{count, plural, one {# votu} other {# votos}}",
"poll.vote": "Vote", "poll.vote": "Vote",
"poll.voted": "You voted for this answer", "poll.voted": "You voted for this answer",
"poll.votes": "{votes, plural, one {# vote} other {# votes}}", "poll.votes": "{votes, plural, one {# votu} other {# votos}}",
"poll_button.add_poll": "Amestar una encuesta", "poll_button.add_poll": "Amestar una encuesta",
"poll_button.remove_poll": "Quitar la encuesta", "poll_button.remove_poll": "Quitar la encuesta",
"privacy.change": "Adjust status privacy", "privacy.change": "Adjust status privacy",

@ -294,6 +294,7 @@
"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": "Редактирай профил",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Любими", "navigation_bar.favourites": "Любими",
"navigation_bar.filters": "Заглушени думи", "navigation_bar.filters": "Заглушени думи",
"navigation_bar.follow_requests": "Заявки за последване", "navigation_bar.follow_requests": "Заявки за последване",

@ -294,6 +294,7 @@
"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.favourites": "পছনর", "navigation_bar.favourites": "পছনর",
"navigation_bar.filters": "বনধ কর শবদ", "navigation_bar.filters": "বনধ কর শবদ",
"navigation_bar.follow_requests": "অনসরণর অনধগি", "navigation_bar.follow_requests": "অনসরণর অনধগি",

@ -294,6 +294,7 @@
"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",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Ar re vuiañ-karet", "navigation_bar.favourites": "Ar re vuiañ-karet",
"navigation_bar.filters": "Gerioù kuzhet", "navigation_bar.filters": "Gerioù kuzhet",
"navigation_bar.follow_requests": "Pedadoù heuliañ", "navigation_bar.follow_requests": "Pedadoù heuliañ",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Descobrir", "navigation_bar.discover": "Descobrir",
"navigation_bar.domain_blocks": "Dominis ocults", "navigation_bar.domain_blocks": "Dominis ocults",
"navigation_bar.edit_profile": "Editar perfil", "navigation_bar.edit_profile": "Editar perfil",
"navigation_bar.explore": "Explora",
"navigation_bar.favourites": "Preferits", "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",

@ -294,6 +294,7 @@
"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",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favuriti", "navigation_bar.favourites": "Favuriti",
"navigation_bar.filters": "Parolle silenzate", "navigation_bar.filters": "Parolle silenzate",
"navigation_bar.follow_requests": "Dumande d'abbunamentu", "navigation_bar.follow_requests": "Dumande d'abbunamentu",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Objevujte", "navigation_bar.discover": "Objevujte",
"navigation_bar.domain_blocks": "Blokované domény", "navigation_bar.domain_blocks": "Blokované domény",
"navigation_bar.edit_profile": "Upravit profil", "navigation_bar.edit_profile": "Upravit profil",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Oblíbené", "navigation_bar.favourites": "Oblíbené",
"navigation_bar.filters": "Skrytá slova", "navigation_bar.filters": "Skrytá slova",
"navigation_bar.follow_requests": "Žádosti o sledování", "navigation_bar.follow_requests": "Žádosti o sledování",

@ -294,6 +294,7 @@
"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.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",

@ -169,8 +169,8 @@
"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": "Du har endnu ingen direkte beskeder. Når du sender eller modtager én, vil den dukke 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 favoriserer é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.",
"empty_column.favourites": "Ingen har endnu favoriseret dette indlæg. Når nogen gør dét, vil det dukke op hér.", "empty_column.favourites": "Ingen har endnu gjort dette indlæg til favorit. Når nogen gør dét, vil det dukke op hér.",
"empty_column.follow_recommendations": "Ser ud til, at der ikke kunne genereres forslag til dig. Du kan prøve med Søg for at lede efter personer, du måske kender, eller udforske hashtags.", "empty_column.follow_recommendations": "Ser ud til, at der ikke kunne genereres forslag til dig. Du kan prøve med Søg for at lede efter personer, du måske kender, eller udforske hashtags.",
"empty_column.follow_requests": "Du har endnu ingen følgeanmodninger. Når du modtager én, vil den dukke op hér.", "empty_column.follow_requests": "Du har endnu ingen følgeanmodninger. Når du modtager én, vil den dukke op hér.",
"empty_column.hashtag": "Der er intet med dette hashtag endnu.", "empty_column.hashtag": "Der er intet med dette hashtag endnu.",
@ -234,7 +234,7 @@
"keyboard_shortcuts.direct": "Åbn Direkte beskeder-kolonnen", "keyboard_shortcuts.direct": "Åbn 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": "Favorisér indlæg", "keyboard_shortcuts.favourite": "Favoritmarkér indlæg",
"keyboard_shortcuts.favourites": "Åbn favoritlisten", "keyboard_shortcuts.favourites": "Åbn favoritlisten",
"keyboard_shortcuts.federated": "Åbn fælles tidslinje", "keyboard_shortcuts.federated": "Åbn fælles tidslinje",
"keyboard_shortcuts.heading": "Tastaturgenveje", "keyboard_shortcuts.heading": "Tastaturgenveje",
@ -294,6 +294,7 @@
"navigation_bar.discover": "Opdag", "navigation_bar.discover": "Opdag",
"navigation_bar.domain_blocks": "Blokerede domæner", "navigation_bar.domain_blocks": "Blokerede domæner",
"navigation_bar.edit_profile": "Redigér profil", "navigation_bar.edit_profile": "Redigér profil",
"navigation_bar.explore": "Udforsk",
"navigation_bar.favourites": "Favoritter", "navigation_bar.favourites": "Favoritter",
"navigation_bar.filters": "Tavsgjorte ord", "navigation_bar.filters": "Tavsgjorte ord",
"navigation_bar.follow_requests": "Følgeanmodninger", "navigation_bar.follow_requests": "Følgeanmodninger",
@ -309,7 +310,7 @@
"navigation_bar.public_timeline": "Fælles tidslinje", "navigation_bar.public_timeline": "Fælles tidslinje",
"navigation_bar.security": "Sikkerhed", "navigation_bar.security": "Sikkerhed",
"notification.admin.sign_up": "{name} tilmeldte sig", "notification.admin.sign_up": "{name} tilmeldte sig",
"notification.favourite": "{name} favoriserede dit indlæg", "notification.favourite": "{name} favoritmarkerede dit indlæg",
"notification.follow": "{name} begyndte at følge dig", "notification.follow": "{name} begyndte at følge dig",
"notification.follow_request": "{name} har anmodet om at følge dig", "notification.follow_request": "{name} har anmodet om at følge dig",
"notification.mention": "{name} nævnte dig", "notification.mention": "{name} nævnte dig",
@ -427,7 +428,7 @@
"report.unfollow_explanation": "Denne konto følges. For at ophøre med at se vedkommendes indlæg på hjemmetidslinjen, vælg Følg ikke længere.", "report.unfollow_explanation": "Denne konto følges. For at ophøre med at se vedkommendes indlæg på hjemmetidslinjen, vælg Følg ikke længere.",
"search.placeholder": "Søg", "search.placeholder": "Søg",
"search_popout.search_format": "Avanceret søgeformat", "search_popout.search_format": "Avanceret søgeformat",
"search_popout.tips.full_text": "Simpel tekst returnerer indlæg, du har skrevet, favoriseret, boostet eller som er nævnt i/matcher bruger- og profilnavne samt hashtags.", "search_popout.tips.full_text": "Simpel tekst returnerer indlæg, du har skrevet, favoritmarkeret, boostet eller som er nævnt i/matcher bruger- og profilnavne samt hashtags.",
"search_popout.tips.hashtag": "hashtag", "search_popout.tips.hashtag": "hashtag",
"search_popout.tips.status": "indlæg", "search_popout.tips.status": "indlæg",
"search_popout.tips.text": "Simpel tekst returnerer matchende visnings- og brugernavne samt hashtags", "search_popout.tips.text": "Simpel tekst returnerer matchende visnings- og brugernavne samt hashtags",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Entdecken", "navigation_bar.discover": "Entdecken",
"navigation_bar.domain_blocks": "Versteckte Domains", "navigation_bar.domain_blocks": "Versteckte Domains",
"navigation_bar.edit_profile": "Profil bearbeiten", "navigation_bar.edit_profile": "Profil bearbeiten",
"navigation_bar.explore": "Entdecken",
"navigation_bar.favourites": "Favoriten", "navigation_bar.favourites": "Favoriten",
"navigation_bar.filters": "Stummgeschaltene Wörter", "navigation_bar.filters": "Stummgeschaltene Wörter",
"navigation_bar.follow_requests": "Folgeanfragen", "navigation_bar.follow_requests": "Folgeanfragen",

@ -294,6 +294,7 @@
"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.favourites": "Αγαπημένα", "navigation_bar.favourites": "Αγαπημένα",
"navigation_bar.filters": "Αποσιωπημένες λέξεις", "navigation_bar.filters": "Αποσιωπημένες λέξεις",
"navigation_bar.follow_requests": "Αιτήματα ακολούθησης", "navigation_bar.follow_requests": "Αιτήματα ακολούθησης",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Esplori", "navigation_bar.discover": "Esplori",
"navigation_bar.domain_blocks": "Blokitaj domajnoj", "navigation_bar.domain_blocks": "Blokitaj domajnoj",
"navigation_bar.edit_profile": "Redakti profilon", "navigation_bar.edit_profile": "Redakti profilon",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Stelumoj", "navigation_bar.favourites": "Stelumoj",
"navigation_bar.filters": "Silentigitaj vortoj", "navigation_bar.filters": "Silentigitaj vortoj",
"navigation_bar.follow_requests": "Petoj de sekvado", "navigation_bar.follow_requests": "Petoj de sekvado",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Descubrir", "navigation_bar.discover": "Descubrir",
"navigation_bar.domain_blocks": "Dominios bloqueados", "navigation_bar.domain_blocks": "Dominios bloqueados",
"navigation_bar.edit_profile": "Editar perfil", "navigation_bar.edit_profile": "Editar perfil",
"navigation_bar.explore": "Explorá",
"navigation_bar.favourites": "Favoritos", "navigation_bar.favourites": "Favoritos",
"navigation_bar.filters": "Palabras silenciadas", "navigation_bar.filters": "Palabras silenciadas",
"navigation_bar.follow_requests": "Solicitudes de seguimiento", "navigation_bar.follow_requests": "Solicitudes de seguimiento",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Descubrir", "navigation_bar.discover": "Descubrir",
"navigation_bar.domain_blocks": "Dominios ocultos", "navigation_bar.domain_blocks": "Dominios ocultos",
"navigation_bar.edit_profile": "Editar perfil", "navigation_bar.edit_profile": "Editar perfil",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favoritos", "navigation_bar.favourites": "Favoritos",
"navigation_bar.filters": "Palabras silenciadas", "navigation_bar.filters": "Palabras silenciadas",
"navigation_bar.follow_requests": "Solicitudes para seguirte", "navigation_bar.follow_requests": "Solicitudes para seguirte",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Descubrir", "navigation_bar.discover": "Descubrir",
"navigation_bar.domain_blocks": "Dominios ocultos", "navigation_bar.domain_blocks": "Dominios ocultos",
"navigation_bar.edit_profile": "Editar perfil", "navigation_bar.edit_profile": "Editar perfil",
"navigation_bar.explore": "Explorar",
"navigation_bar.favourites": "Favoritos", "navigation_bar.favourites": "Favoritos",
"navigation_bar.filters": "Palabras silenciadas", "navigation_bar.filters": "Palabras silenciadas",
"navigation_bar.follow_requests": "Solicitudes para seguirte", "navigation_bar.follow_requests": "Solicitudes para seguirte",

@ -294,6 +294,7 @@
"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.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",

@ -294,6 +294,7 @@
"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",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Gogokoak", "navigation_bar.favourites": "Gogokoak",
"navigation_bar.filters": "Mutututako hitzak", "navigation_bar.filters": "Mutututako hitzak",
"navigation_bar.follow_requests": "Jarraitzeko eskariak", "navigation_bar.follow_requests": "Jarraitzeko eskariak",

@ -294,6 +294,7 @@
"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.favourites": "پسندیدهها", "navigation_bar.favourites": "پسندیدهها",
"navigation_bar.filters": "واژههای خموش", "navigation_bar.filters": "واژههای خموش",
"navigation_bar.follow_requests": "درخواستهای پیگیری", "navigation_bar.follow_requests": "درخواستهای پیگیری",

@ -294,6 +294,7 @@
"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",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Suosikit", "navigation_bar.favourites": "Suosikit",
"navigation_bar.filters": "Mykistetyt sanat", "navigation_bar.filters": "Mykistetyt sanat",
"navigation_bar.follow_requests": "Seuraamispyynnöt", "navigation_bar.follow_requests": "Seuraamispyynnöt",

@ -18,7 +18,7 @@
"account.followers": "Abonnés", "account.followers": "Abonnés",
"account.followers.empty": "Personne ne suit cet·te utilisateur·rice pour l’instant.", "account.followers.empty": "Personne ne suit cet·te utilisateur·rice pour l’instant.",
"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": "Following", "account.following": "Abonnements",
"account.following_counter": "{count, plural, other {{counter} Abonnements}}", "account.following_counter": "{count, plural, other {{counter} Abonnements}}",
"account.follows.empty": "Cet·te utilisateur·rice ne suit personne pour l’instant.", "account.follows.empty": "Cet·te utilisateur·rice ne suit personne pour l’instant.",
"account.follows_you": "Vous suit", "account.follows_you": "Vous suit",
@ -294,6 +294,7 @@
"navigation_bar.discover": "Découvrir", "navigation_bar.discover": "Découvrir",
"navigation_bar.domain_blocks": "Domaines bloqués", "navigation_bar.domain_blocks": "Domaines bloqués",
"navigation_bar.edit_profile": "Modifier le profil", "navigation_bar.edit_profile": "Modifier le profil",
"navigation_bar.explore": "Explorer",
"navigation_bar.favourites": "Favoris", "navigation_bar.favourites": "Favoris",
"navigation_bar.filters": "Mots masqués", "navigation_bar.filters": "Mots masqués",
"navigation_bar.follow_requests": "Demandes d’abonnement", "navigation_bar.follow_requests": "Demandes d’abonnement",

@ -294,6 +294,7 @@
"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",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "Follow requests",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Fidir", "navigation_bar.discover": "Fidir",
"navigation_bar.domain_blocks": "Àrainnean bacte", "navigation_bar.domain_blocks": "Àrainnean bacte",
"navigation_bar.edit_profile": "Deasaich a’ phròifil", "navigation_bar.edit_profile": "Deasaich a’ phròifil",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Na h-annsachdan", "navigation_bar.favourites": "Na h-annsachdan",
"navigation_bar.filters": "Faclan mùchte", "navigation_bar.filters": "Faclan mùchte",
"navigation_bar.follow_requests": "Iarrtasan leantainn", "navigation_bar.follow_requests": "Iarrtasan leantainn",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Descubrir", "navigation_bar.discover": "Descubrir",
"navigation_bar.domain_blocks": "Dominios agochados", "navigation_bar.domain_blocks": "Dominios agochados",
"navigation_bar.edit_profile": "Editar perfil", "navigation_bar.edit_profile": "Editar perfil",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favoritos", "navigation_bar.favourites": "Favoritos",
"navigation_bar.filters": "Palabras silenciadas", "navigation_bar.filters": "Palabras silenciadas",
"navigation_bar.follow_requests": "Peticións de seguimento", "navigation_bar.follow_requests": "Peticións de seguimento",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Discover", "navigation_bar.discover": "Discover",
"navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.domain_blocks": "Hidden domains",
"navigation_bar.edit_profile": "עריכת פרופיל", "navigation_bar.edit_profile": "עריכת פרופיל",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "חיבובים", "navigation_bar.favourites": "חיבובים",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "בקשות מעקב", "navigation_bar.follow_requests": "בקשות מעקב",

@ -294,6 +294,7 @@
"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": "पइल सित कर",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "अनसरण करन अनध", "navigation_bar.follow_requests": "अनसरण करन अनध",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Istraživanje", "navigation_bar.discover": "Istraživanje",
"navigation_bar.domain_blocks": "Blokirane domene", "navigation_bar.domain_blocks": "Blokirane domene",
"navigation_bar.edit_profile": "Uredi profil", "navigation_bar.edit_profile": "Uredi profil",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favoriti", "navigation_bar.favourites": "Favoriti",
"navigation_bar.filters": "Utišane riječi", "navigation_bar.filters": "Utišane riječi",
"navigation_bar.follow_requests": "Zahtjevi za praćenje", "navigation_bar.follow_requests": "Zahtjevi za praćenje",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Felfedezés", "navigation_bar.discover": "Felfedezés",
"navigation_bar.domain_blocks": "Rejtett domainek", "navigation_bar.domain_blocks": "Rejtett domainek",
"navigation_bar.edit_profile": "Profil szerkesztése", "navigation_bar.edit_profile": "Profil szerkesztése",
"navigation_bar.explore": "Felfedezés",
"navigation_bar.favourites": "Kedvencek", "navigation_bar.favourites": "Kedvencek",
"navigation_bar.filters": "Némított szavak", "navigation_bar.filters": "Némított szavak",
"navigation_bar.follow_requests": "Követési kérelmek", "navigation_bar.follow_requests": "Követési kérelmek",

@ -294,6 +294,7 @@
"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.favourites": "Հաւանածներ", "navigation_bar.favourites": "Հաւանածներ",
"navigation_bar.filters": "Լռեցուած բառեր", "navigation_bar.filters": "Լռեցուած բառեր",
"navigation_bar.follow_requests": "Հետեւելու հայցեր", "navigation_bar.follow_requests": "Հետեւելու հայցեր",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Temukan", "navigation_bar.discover": "Temukan",
"navigation_bar.domain_blocks": "Domain tersembunyi", "navigation_bar.domain_blocks": "Domain tersembunyi",
"navigation_bar.edit_profile": "Ubah profil", "navigation_bar.edit_profile": "Ubah profil",
"navigation_bar.explore": "Jelajahi",
"navigation_bar.favourites": "Favorit", "navigation_bar.favourites": "Favorit",
"navigation_bar.filters": "Kata yang dibisukan", "navigation_bar.filters": "Kata yang dibisukan",
"navigation_bar.follow_requests": "Permintaan mengikuti", "navigation_bar.follow_requests": "Permintaan mengikuti",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Discover", "navigation_bar.discover": "Discover",
"navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.domain_blocks": "Hidden domains",
"navigation_bar.edit_profile": "Modifikar profilo", "navigation_bar.edit_profile": "Modifikar profilo",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favorati", "navigation_bar.favourites": "Favorati",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Demandi di sequado", "navigation_bar.follow_requests": "Demandi di sequado",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Uppgötva", "navigation_bar.discover": "Uppgötva",
"navigation_bar.domain_blocks": "Útilokuð lén", "navigation_bar.domain_blocks": "Útilokuð lén",
"navigation_bar.edit_profile": "Breyta notandasniði", "navigation_bar.edit_profile": "Breyta notandasniði",
"navigation_bar.explore": "Kanna",
"navigation_bar.favourites": "Eftirlæti", "navigation_bar.favourites": "Eftirlæti",
"navigation_bar.filters": "Þögguð orð", "navigation_bar.filters": "Þögguð orð",
"navigation_bar.follow_requests": "Beiðnir um að fylgjast með", "navigation_bar.follow_requests": "Beiðnir um að fylgjast með",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Scopri", "navigation_bar.discover": "Scopri",
"navigation_bar.domain_blocks": "Domini nascosti", "navigation_bar.domain_blocks": "Domini nascosti",
"navigation_bar.edit_profile": "Modifica profilo", "navigation_bar.edit_profile": "Modifica profilo",
"navigation_bar.explore": "Esplora",
"navigation_bar.favourites": "Apprezzati", "navigation_bar.favourites": "Apprezzati",
"navigation_bar.filters": "Parole silenziate", "navigation_bar.filters": "Parole silenziate",
"navigation_bar.follow_requests": "Richieste di seguirti", "navigation_bar.follow_requests": "Richieste di seguirti",

@ -172,7 +172,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": "おすすめを生成できませんでした。検索を使って知り合いを探したり、トレンドハッシュタグを見てみましょう。",
@ -298,6 +298,7 @@
"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.favourites": "お気に入り", "navigation_bar.favourites": "お気に入り",
"navigation_bar.filters": "フィルター設定", "navigation_bar.filters": "フィルター設定",
"navigation_bar.follow_requests": "フォローリクエスト", "navigation_bar.follow_requests": "フォローリクエスト",
@ -398,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": "完了",
@ -410,23 +411,23 @@
"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": "次へ", "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": "サーバーのルールに違反しています", "report.reasons.violation": "サーバーのルールに違反しています",
"report.reasons.violation_description": "You are aware that it breaks specific rules", "report.reasons.violation_description": "ルールに違反しているのを見つけた場合",
"report.rules.subtitle": "当てはまるものをすべて選んでください:", "report.rules.subtitle": "当てはまるものをすべて選んでください:",
"report.rules.title": "どのルールに違反していますか?", "report.rules.title": "どのルールに違反していますか?",
"report.statuses.subtitle": "当てはまるものをすべて選んでください:", "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": "While we review this, you can take action against @{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": "Thanks for reporting, we'll look into this.",
"report.unfollow": "@{name}のフォローを解除", "report.unfollow": "@{name}のフォローを解除",
"report.unfollow_explanation": "このアカウントをフォローしています。ホームフィードに彼らの投稿を表示しないようにするには、彼らのフォローを外してください。", "report.unfollow_explanation": "このアカウントをフォローしています。ホームフィードに彼らの投稿を表示しないようにするには、彼らのフォローを外してください。",

@ -294,6 +294,7 @@
"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.favourites": "ფავორიტები", "navigation_bar.favourites": "ფავორიტები",
"navigation_bar.filters": "გაჩუმებული სიტყვები", "navigation_bar.filters": "გაჩუმებული სიტყვები",
"navigation_bar.follow_requests": "დადევნების მოთხოვნები", "navigation_bar.follow_requests": "დადევნების მოთხოვნები",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Ẓer", "navigation_bar.discover": "Ẓer",
"navigation_bar.domain_blocks": "Tiɣula yeffren", "navigation_bar.domain_blocks": "Tiɣula yeffren",
"navigation_bar.edit_profile": "Ẓreg amaɣnu", "navigation_bar.edit_profile": "Ẓreg amaɣnu",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Ismenyifen", "navigation_bar.favourites": "Ismenyifen",
"navigation_bar.filters": "Awalen i yettwasgugmen", "navigation_bar.filters": "Awalen i yettwasgugmen",
"navigation_bar.follow_requests": "Isuturen n teḍfeṛt", "navigation_bar.follow_requests": "Isuturen n teḍfeṛt",

@ -294,6 +294,7 @@
"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.favourites": "Таңдаулылар", "navigation_bar.favourites": "Таңдаулылар",
"navigation_bar.filters": "Үнсіз сөздер", "navigation_bar.filters": "Үнсіз сөздер",
"navigation_bar.follow_requests": "Жазылуға сұранғандар", "navigation_bar.follow_requests": "Жазылуға сұранғандар",

@ -131,7 +131,7 @@
"confirmations.mute.explanation": "Ev ê şandinên ji wan tê û şandinên ku behsa wan dike veşêre, lê hê jî maf dide ku ew şandinên te bibînin û te bişopînin.", "confirmations.mute.explanation": "Ev ê şandinên ji wan tê û şandinên ku behsa wan dike veşêre, lê hê jî maf dide ku ew şandinên te bibînin û te bişopînin.",
"confirmations.mute.message": "Bi rastî tu dixwazî {name} bêdeng bikî?", "confirmations.mute.message": "Bi rastî tu dixwazî {name} bêdeng bikî?",
"confirmations.redraft.confirm": "Jê bibe & ji nû ve serrast bike", "confirmations.redraft.confirm": "Jê bibe & ji nû ve serrast bike",
"confirmations.redraft.message": "Bi rastî tu dixwazî şandî ye jê bibî û nûve reşnivîsek çê bikî? Bijare û şandî wê wenda bibin û bersivên ji bo şandiyê resen wê sêwî bimînin.", "confirmations.redraft.message": "Bi rastî tu dixwazî şandî ye jê bibî û nûve reşnivîsek çê bikî? Bijarte û şandî wê wenda bibin û bersivên ji bo şandiyê resen wê sêwî bimînin.",
"confirmations.reply.confirm": "Bersivê bide", "confirmations.reply.confirm": "Bersivê bide",
"confirmations.reply.message": "Bersiva niha li ser peyama ku tu niha berhev dikî dê binivsîne. Ma pê bawer î ku tu dixwazî bidomînî?", "confirmations.reply.message": "Bersiva niha li ser peyama ku tu niha berhev dikî dê binivsîne. Ma pê bawer î ku tu dixwazî bidomînî?",
"confirmations.unfollow.confirm": "Neşopîne", "confirmations.unfollow.confirm": "Neşopîne",
@ -294,10 +294,11 @@
"navigation_bar.discover": "Vekolê", "navigation_bar.discover": "Vekolê",
"navigation_bar.domain_blocks": "Navparên astengkirî", "navigation_bar.domain_blocks": "Navparên astengkirî",
"navigation_bar.edit_profile": "Profîl serrast bike", "navigation_bar.edit_profile": "Profîl serrast bike",
"navigation_bar.explore": "Vekole",
"navigation_bar.favourites": "Bijarte", "navigation_bar.favourites": "Bijarte",
"navigation_bar.filters": "Peyvên bêdengkirî", "navigation_bar.filters": "Peyvên bêdengkirî",
"navigation_bar.follow_requests": "Daxwazên şopandinê", "navigation_bar.follow_requests": "Daxwazên şopandinê",
"navigation_bar.follows_and_followers": "Yên tê şopandin û şopîner", "navigation_bar.follows_and_followers": "Şopandin û şopîner",
"navigation_bar.info": "Derbarê vî rajekarî", "navigation_bar.info": "Derbarê vî rajekarî",
"navigation_bar.keyboard_shortcuts": "Bişkoka kurterê", "navigation_bar.keyboard_shortcuts": "Bişkoka kurterê",
"navigation_bar.lists": "Rêzok", "navigation_bar.lists": "Rêzok",
@ -381,7 +382,7 @@
"relative_time.full.hours": "{number, plural, one {# demjimêr} other {# demjimêr}} berê", "relative_time.full.hours": "{number, plural, one {# demjimêr} other {# demjimêr}} berê",
"relative_time.full.just_now": "hema niha", "relative_time.full.just_now": "hema niha",
"relative_time.full.minutes": "{number, plural, one {# xulek} other {# xulek}} berê", "relative_time.full.minutes": "{number, plural, one {# xulek} other {# xulek}} berê",
"relative_time.full.seconds": "{number, plural, one {# çirke} other {# çirke}} xulek", "relative_time.full.seconds": "{number, plural, one {# çirke} other {# çirke}} berê",
"relative_time.hours": "{number}d", "relative_time.hours": "{number}d",
"relative_time.just_now": "niha", "relative_time.just_now": "niha",
"relative_time.minutes": "{number}x", "relative_time.minutes": "{number}x",

@ -294,6 +294,7 @@
"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",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "Follow requests",

@ -294,6 +294,7 @@
"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.favourites": "즐겨찾기", "navigation_bar.favourites": "즐겨찾기",
"navigation_bar.filters": "뮤트한 단어", "navigation_bar.filters": "뮤트한 단어",
"navigation_bar.follow_requests": "팔로우 요청", "navigation_bar.follow_requests": "팔로우 요청",

@ -294,6 +294,7 @@
"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.favourites": "دڵخوازەکان", "navigation_bar.favourites": "دڵخوازەکان",
"navigation_bar.filters": "وشە کپەکان", "navigation_bar.filters": "وشە کپەکان",
"navigation_bar.follow_requests": "بەدواداچوی داواکاریەکان بکە", "navigation_bar.follow_requests": "بەدواداچوی داواکاریەکان بکە",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Diskudha", "navigation_bar.discover": "Diskudha",
"navigation_bar.domain_blocks": "Gorfarthow lettys", "navigation_bar.domain_blocks": "Gorfarthow lettys",
"navigation_bar.edit_profile": "Golegi profil", "navigation_bar.edit_profile": "Golegi profil",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Re drudh", "navigation_bar.favourites": "Re drudh",
"navigation_bar.filters": "Geryow tawhes", "navigation_bar.filters": "Geryow tawhes",
"navigation_bar.follow_requests": "Govynnow holya", "navigation_bar.follow_requests": "Govynnow holya",

@ -294,6 +294,7 @@
"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",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "Follow requests",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Atklāt", "navigation_bar.discover": "Atklāt",
"navigation_bar.domain_blocks": "Bloķētie domēni", "navigation_bar.domain_blocks": "Bloķētie domēni",
"navigation_bar.edit_profile": "Rediģēt profilu", "navigation_bar.edit_profile": "Rediģēt profilu",
"navigation_bar.explore": "Pārlūkot",
"navigation_bar.favourites": "Izlases", "navigation_bar.favourites": "Izlases",
"navigation_bar.filters": "Klusināti vārdi", "navigation_bar.filters": "Klusināti vārdi",
"navigation_bar.follow_requests": "Sekošanas pieprasījumi", "navigation_bar.follow_requests": "Sekošanas pieprasījumi",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Discover", "navigation_bar.discover": "Discover",
"navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.domain_blocks": "Hidden domains",
"navigation_bar.edit_profile": "Уреди профил", "navigation_bar.edit_profile": "Уреди профил",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Омилени", "navigation_bar.favourites": "Омилени",
"navigation_bar.filters": "Замолќени зборови", "navigation_bar.filters": "Замолќени зборови",
"navigation_bar.follow_requests": "Следи покани", "navigation_bar.follow_requests": "Следи покани",

@ -294,6 +294,7 @@
"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": "പൽ തിക",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "പിയപടവ", "navigation_bar.favourites": "പിയപടവ",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "പിടരള അഭയർതഥനകൾ", "navigation_bar.follow_requests": "പിടരള അഭയർതഥനകൾ",

@ -294,6 +294,7 @@
"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",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "Follow requests",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Teroka", "navigation_bar.discover": "Teroka",
"navigation_bar.domain_blocks": "Domain disekat", "navigation_bar.domain_blocks": "Domain disekat",
"navigation_bar.edit_profile": "Sunting profil", "navigation_bar.edit_profile": "Sunting profil",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Kegemaran", "navigation_bar.favourites": "Kegemaran",
"navigation_bar.filters": "Perkataan yang dibisukan", "navigation_bar.filters": "Perkataan yang dibisukan",
"navigation_bar.follow_requests": "Permintaan ikutan", "navigation_bar.follow_requests": "Permintaan ikutan",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Ontdekken", "navigation_bar.discover": "Ontdekken",
"navigation_bar.domain_blocks": "Geblokkeerde domeinen", "navigation_bar.domain_blocks": "Geblokkeerde domeinen",
"navigation_bar.edit_profile": "Profiel bewerken", "navigation_bar.edit_profile": "Profiel bewerken",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favorieten", "navigation_bar.favourites": "Favorieten",
"navigation_bar.filters": "Filters", "navigation_bar.filters": "Filters",
"navigation_bar.follow_requests": "Volgverzoeken", "navigation_bar.follow_requests": "Volgverzoeken",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Oppdag", "navigation_bar.discover": "Oppdag",
"navigation_bar.domain_blocks": "Skjulte domene", "navigation_bar.domain_blocks": "Skjulte domene",
"navigation_bar.edit_profile": "Rediger profil", "navigation_bar.edit_profile": "Rediger profil",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favorittar", "navigation_bar.favourites": "Favorittar",
"navigation_bar.filters": "Målbundne ord", "navigation_bar.filters": "Målbundne ord",
"navigation_bar.follow_requests": "Fylgjeførespurnader", "navigation_bar.follow_requests": "Fylgjeførespurnader",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Oppdag", "navigation_bar.discover": "Oppdag",
"navigation_bar.domain_blocks": "Skjulte domener", "navigation_bar.domain_blocks": "Skjulte domener",
"navigation_bar.edit_profile": "Rediger profil", "navigation_bar.edit_profile": "Rediger profil",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favoritter", "navigation_bar.favourites": "Favoritter",
"navigation_bar.filters": "Stilnede ord", "navigation_bar.filters": "Stilnede ord",
"navigation_bar.follow_requests": "Følgeforespørsler", "navigation_bar.follow_requests": "Følgeforespørsler",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Trobar", "navigation_bar.discover": "Trobar",
"navigation_bar.domain_blocks": "Domenis resconduts", "navigation_bar.domain_blocks": "Domenis resconduts",
"navigation_bar.edit_profile": "Modificar lo perfil", "navigation_bar.edit_profile": "Modificar lo perfil",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favorits", "navigation_bar.favourites": "Favorits",
"navigation_bar.filters": "Mots ignorats", "navigation_bar.filters": "Mots ignorats",
"navigation_bar.follow_requests": "Demandas d’abonament", "navigation_bar.follow_requests": "Demandas d’abonament",

@ -294,6 +294,7 @@
"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",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "Follow requests",

@ -298,6 +298,7 @@
"navigation_bar.discover": "Odkrywaj", "navigation_bar.discover": "Odkrywaj",
"navigation_bar.domain_blocks": "Ukryte domeny", "navigation_bar.domain_blocks": "Ukryte domeny",
"navigation_bar.edit_profile": "Edytuj profil", "navigation_bar.edit_profile": "Edytuj profil",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Ulubione", "navigation_bar.favourites": "Ulubione",
"navigation_bar.filters": "Wyciszone słowa", "navigation_bar.filters": "Wyciszone słowa",
"navigation_bar.follow_requests": "Prośby o śledzenie", "navigation_bar.follow_requests": "Prośby o śledzenie",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Descobrir", "navigation_bar.discover": "Descobrir",
"navigation_bar.domain_blocks": "Domínios bloqueados", "navigation_bar.domain_blocks": "Domínios bloqueados",
"navigation_bar.edit_profile": "Editar perfil", "navigation_bar.edit_profile": "Editar perfil",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favoritos", "navigation_bar.favourites": "Favoritos",
"navigation_bar.filters": "Palavras filtradas", "navigation_bar.filters": "Palavras filtradas",
"navigation_bar.follow_requests": "Seguidores pendentes", "navigation_bar.follow_requests": "Seguidores pendentes",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Descobrir", "navigation_bar.discover": "Descobrir",
"navigation_bar.domain_blocks": "Domínios escondidos", "navigation_bar.domain_blocks": "Domínios escondidos",
"navigation_bar.edit_profile": "Editar perfil", "navigation_bar.edit_profile": "Editar perfil",
"navigation_bar.explore": "Explorar",
"navigation_bar.favourites": "Favoritos", "navigation_bar.favourites": "Favoritos",
"navigation_bar.filters": "Palavras silenciadas", "navigation_bar.filters": "Palavras silenciadas",
"navigation_bar.follow_requests": "Seguidores pendentes", "navigation_bar.follow_requests": "Seguidores pendentes",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Descoperă", "navigation_bar.discover": "Descoperă",
"navigation_bar.domain_blocks": "Domenii blocate", "navigation_bar.domain_blocks": "Domenii blocate",
"navigation_bar.edit_profile": "Modifică profilul", "navigation_bar.edit_profile": "Modifică profilul",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favorite", "navigation_bar.favourites": "Favorite",
"navigation_bar.filters": "Cuvinte ignorate", "navigation_bar.filters": "Cuvinte ignorate",
"navigation_bar.follow_requests": "Cereri de abonare", "navigation_bar.follow_requests": "Cereri de abonare",

@ -44,7 +44,7 @@
"account.unblock_short": "Разблокировать", "account.unblock_short": "Разблокировать",
"account.unendorse": "Не рекомендовать в профиле", "account.unendorse": "Не рекомендовать в профиле",
"account.unfollow": "Отписаться", "account.unfollow": "Отписаться",
"account.unmute": "Убрать {name} из игнорируемых", "account.unmute": "Не игнорировать @{name}",
"account.unmute_notifications": "Показывать уведомления от @{name}", "account.unmute_notifications": "Показывать уведомления от @{name}",
"account.unmute_short": "Не игнорировать", "account.unmute_short": "Не игнорировать",
"account_note.placeholder": "Текст заметки", "account_note.placeholder": "Текст заметки",
@ -294,6 +294,7 @@
"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.favourites": "Избранное", "navigation_bar.favourites": "Избранное",
"navigation_bar.filters": "Игнорируемые слова", "navigation_bar.filters": "Игнорируемые слова",
"navigation_bar.follow_requests": "Запросы на подписку", "navigation_bar.follow_requests": "Запросы на подписку",
@ -393,7 +394,7 @@
"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": "Расскажите нам, что происходит с {type}", "report.category.title": "Расскажите нам, что происходит с {type}",
"report.category.title_account": "профиль", "report.category.title_account": "профиль",
"report.category.title_status": "пост", "report.category.title_status": "пост",
@ -402,21 +403,21 @@
"report.forward": "Переслать в {target}", "report.forward": "Переслать в {target}",
"report.forward_hint": "Эта учётная запись расположена на другом узле. Отправить туда анонимную копию вашей жалобы?", "report.forward_hint": "Эта учётная запись расположена на другом узле. Отправить туда анонимную копию вашей жалобы?",
"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": "Вы не будете видеть их посты. Они по-прежнему могут подписываться на вас и видеть ваши посты, но не будут знать, что они в списке игнорируемых.",
"report.next": "Далее", "report.next": "Далее",
"report.placeholder": "Комментарий", "report.placeholder": "Комментарий",
"report.reasons.dislike": "Мне не нравится", "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": "Проблема не подпадает под другие категории", "report.reasons.other_description": "Проблема не подпадает под другие категории",
"report.reasons.spam": "Это спам", "report.reasons.spam": "Это спам",
"report.reasons.spam_description": "Вредоносные ссылки, поддельные действия или повторяющиеся ответы", "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": "Here are your options for controlling what you see on Mastodon:",
@ -437,7 +438,7 @@
"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": "Посты",
"search_results.statuses_fts_disabled": "Поиск постов по их содержанию не поддерживается данным узлом Mastodon.", "search_results.statuses_fts_disabled": "Поиск постов по их содержанию не поддерживается данным сервером Mastodon.",
"search_results.total": "{count, number} {count, plural, one {результат} few {результата} many {результатов} other {результатов}}", "search_results.total": "{count, number} {count, plural, one {результат} few {результата} many {результатов} other {результатов}}",
"status.admin_account": "Открыть интерфейс модератора для @{name}", "status.admin_account": "Открыть интерфейс модератора для @{name}",
"status.admin_status": "Открыть этот пост в интерфейсе модератора", "status.admin_status": "Открыть этот пост в интерфейсе модератора",

@ -294,6 +294,7 @@
"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",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "Follow requests",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Iscoberi", "navigation_bar.discover": "Iscoberi",
"navigation_bar.domain_blocks": "Domìnios blocados", "navigation_bar.domain_blocks": "Domìnios blocados",
"navigation_bar.edit_profile": "Modìfica profilu", "navigation_bar.edit_profile": "Modìfica profilu",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Preferidos", "navigation_bar.favourites": "Preferidos",
"navigation_bar.filters": "Faeddos a sa muda", "navigation_bar.filters": "Faeddos a sa muda",
"navigation_bar.follow_requests": "Rechestas de sighidura", "navigation_bar.follow_requests": "Rechestas de sighidura",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Discover", "navigation_bar.discover": "Discover",
"navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.domain_blocks": "Hidden domains",
"navigation_bar.edit_profile": "පකඩ සකරණය", "navigation_bar.edit_profile": "පකඩ සකරණය",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "පයතමයන", "navigation_bar.favourites": "පයතමයන",
"navigation_bar.filters": "නහඬ කළ වචන", "navigation_bar.filters": "නහඬ කළ වචන",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "Follow requests",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Objavuj", "navigation_bar.discover": "Objavuj",
"navigation_bar.domain_blocks": "Skryté domény", "navigation_bar.domain_blocks": "Skryté domény",
"navigation_bar.edit_profile": "Uprav profil", "navigation_bar.edit_profile": "Uprav profil",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Obľúbené", "navigation_bar.favourites": "Obľúbené",
"navigation_bar.filters": "Filtrované slová", "navigation_bar.filters": "Filtrované slová",
"navigation_bar.follow_requests": "Žiadosti o sledovanie", "navigation_bar.follow_requests": "Žiadosti o sledovanie",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Odkrijte", "navigation_bar.discover": "Odkrijte",
"navigation_bar.domain_blocks": "Skrite domene", "navigation_bar.domain_blocks": "Skrite domene",
"navigation_bar.edit_profile": "Uredi profil", "navigation_bar.edit_profile": "Uredi profil",
"navigation_bar.explore": "Razišči",
"navigation_bar.favourites": "Priljubljeni", "navigation_bar.favourites": "Priljubljeni",
"navigation_bar.filters": "Utišane besede", "navigation_bar.filters": "Utišane besede",
"navigation_bar.follow_requests": "Prošnje za sledenje", "navigation_bar.follow_requests": "Prošnje za sledenje",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Zbuloni", "navigation_bar.discover": "Zbuloni",
"navigation_bar.domain_blocks": "Përkatësi të bllokuara", "navigation_bar.domain_blocks": "Përkatësi të bllokuara",
"navigation_bar.edit_profile": "Përpunoni profilin", "navigation_bar.edit_profile": "Përpunoni profilin",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Të parapëlqyer", "navigation_bar.favourites": "Të parapëlqyer",
"navigation_bar.filters": "Fjalë të heshtuara", "navigation_bar.filters": "Fjalë të heshtuara",
"navigation_bar.follow_requests": "Kërkesa për ndjekje", "navigation_bar.follow_requests": "Kërkesa për ndjekje",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Discover", "navigation_bar.discover": "Discover",
"navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.domain_blocks": "Hidden domains",
"navigation_bar.edit_profile": "Izmeni profil", "navigation_bar.edit_profile": "Izmeni profil",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Omiljeni", "navigation_bar.favourites": "Omiljeni",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Zahtevi za praćenje", "navigation_bar.follow_requests": "Zahtevi za praćenje",

@ -294,6 +294,7 @@
"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.favourites": "Омиљене", "navigation_bar.favourites": "Омиљене",
"navigation_bar.filters": "Пригушене речи", "navigation_bar.filters": "Пригушене речи",
"navigation_bar.follow_requests": "Захтеви за праћење", "navigation_bar.follow_requests": "Захтеви за праћење",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Upptäck", "navigation_bar.discover": "Upptäck",
"navigation_bar.domain_blocks": "Dolda domäner", "navigation_bar.domain_blocks": "Dolda domäner",
"navigation_bar.edit_profile": "Redigera profil", "navigation_bar.edit_profile": "Redigera profil",
"navigation_bar.explore": "Utforska",
"navigation_bar.favourites": "Favoriter", "navigation_bar.favourites": "Favoriter",
"navigation_bar.filters": "Tystade ord", "navigation_bar.filters": "Tystade ord",
"navigation_bar.follow_requests": "Följförfrågningar", "navigation_bar.follow_requests": "Följförfrågningar",

@ -294,6 +294,7 @@
"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",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "Follow requests",

@ -294,6 +294,7 @@
"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.favourites": "விபதகநத", "navigation_bar.favourites": "விபதகநத",
"navigation_bar.filters": "மடககபபடட வகள", "navigation_bar.filters": "மடககபபடட வகள",
"navigation_bar.follow_requests": "கிகளிபறறவ", "navigation_bar.follow_requests": "கிகளிபறறவ",

@ -294,6 +294,7 @@
"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",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "Follow requests",

@ -294,6 +294,7 @@
"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.favourites": "ఇషటపడినవి", "navigation_bar.favourites": "ఇషటపడినవి",
"navigation_bar.filters": "మయబడిన పద", "navigation_bar.filters": "మయబడిన పద",
"navigation_bar.follow_requests": "అనసరిచడిి అభయరధనల", "navigation_bar.follow_requests": "అనసరిచడిి అభయరధనల",

@ -18,7 +18,7 @@
"account.followers": "ผดตาม", "account.followers": "ผดตาม",
"account.followers.empty": "ยงไมใครตดตามผใช", "account.followers.empty": "ยงไมใครตดตามผใช",
"account.followers_counter": "{count, plural, other {{counter} ผดตาม}}", "account.followers_counter": "{count, plural, other {{counter} ผดตาม}}",
"account.following": "Following", "account.following": "กำลงตดตาม",
"account.following_counter": "{count, plural, other {{counter} กำลงตดตาม}}", "account.following_counter": "{count, plural, other {{counter} กำลงตดตาม}}",
"account.follows.empty": "ผใชงไมไดดตามใคร", "account.follows.empty": "ผใชงไมไดดตามใคร",
"account.follows_you": "ตดตามคณ", "account.follows_you": "ตดตามคณ",
@ -41,15 +41,15 @@
"account.statuses_counter": "{count, plural, other {{counter} โพสต}}", "account.statuses_counter": "{count, plural, other {{counter} โพสต}}",
"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": "คาเฉลย", "admin.dashboard.retention.average": "คาเฉลย",
"admin.dashboard.retention.cohort": "เดอนทลงทะเบยน", "admin.dashboard.retention.cohort": "เดอนทลงทะเบยน",
"admin.dashboard.retention.cohort_size": "ผใชใหม", "admin.dashboard.retention.cohort_size": "ผใชใหม",
@ -133,7 +133,7 @@
"confirmations.redraft.confirm": "ลบแลวรางใหม", "confirmations.redraft.confirm": "ลบแลวรางใหม",
"confirmations.redraft.message": "คณแนใจหรอไมาตองการลบโพสตแลวรางโพสตใหม? รายการโปรดและการดนจะหายไป และการตอบกลบโพสตงเดมจะไมความเกยวพน", "confirmations.redraft.message": "คณแนใจหรอไมาตองการลบโพสตแลวรางโพสตใหม? รายการโปรดและการดนจะหายไป และการตอบกลบโพสตงเดมจะไมความเกยวพน",
"confirmations.reply.confirm": "ตอบกลบ", "confirmations.reply.confirm": "ตอบกลบ",
"confirmations.reply.message": "การตอบกลบในตอนนจะเขยนทบขอความทณกำลงเขยน คณแนใจหรอไมาตองการดำเนนการตอ?", "confirmations.reply.message": "การตอบกลบในตอนนจะเขยนทบขอความทณกำลงเขยนในปจจณแนใจหรอไมาตองการดำเนนการตอ?",
"confirmations.unfollow.confirm": "เลกตดตาม", "confirmations.unfollow.confirm": "เลกตดตาม",
"confirmations.unfollow.message": "คณแนใจหรอไมาตองการเลกตดตาม {name}?", "confirmations.unfollow.message": "คณแนใจหรอไมาตองการเลกตดตาม {name}?",
"conversation.delete": "ลบการสนทนา", "conversation.delete": "ลบการสนทนา",
@ -168,7 +168,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": "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.",
@ -294,6 +294,7 @@
"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.favourites": "รายการโปรด", "navigation_bar.favourites": "รายการโปรด",
"navigation_bar.filters": "คำทอนอย", "navigation_bar.filters": "คำทอนอย",
"navigation_bar.follow_requests": "คำขอตดตาม", "navigation_bar.follow_requests": "คำขอตดตาม",
@ -389,42 +390,42 @@
"relative_time.today": "วนน", "relative_time.today": "วนน",
"reply_indicator.cancel": "ยกเลก", "reply_indicator.cancel": "ยกเลก",
"report.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": "อน ๆ", "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": "เสรจสน",
"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": "ซอน", "report.mute": "ซอน",
"report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.mute_explanation": "ณจะไมเหนโพสตของเขา เขายงสามารถตดตามคณและเหนโพสตของคณและจะไมทราบวามการซอนเขา",
"report.next": "ถดไป", "report.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": "อตวเลอกของคณสำหรบการควบคมสงทณเหนใน Mastodon:",
"report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", "report.thanks.take_action_actionable": "ขณะทเราตรวจทานสงนณสามารถดำเนนการก @{name}:",
"report.thanks.title": "Don't want to see this?", "report.thanks.title": "ไมองการเหนสงน?",
"report.thanks.title_actionable": "ขอบคณสำหรบการรายงาน เราจะตรวจสอบสงน", "report.thanks.title_actionable": "ขอบคณสำหรบการรายงาน เราจะตรวจสอบสงน",
"report.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": "ขอความแบบงายสงคนโพสตณไดเขยน ชนชอบ ดน หรอไดบการกลาวถง ตลอดจนชอผใช, ชอทแสดง และแฮชแทกทตรงกน",
@ -435,7 +436,7 @@
"search_results.accounts": "ผคน", "search_results.accounts": "ผคน",
"search_results.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": "ไมพบสงใดสำหรบคำคนหาเหลาน",
"search_results.statuses": "โพสต", "search_results.statuses": "โพสต",
"search_results.statuses_fts_disabled": "ไมการเปดใชงานการคนหาโพสตโดยเนอหาของโพสตในเซฟเวอร Mastodon น", "search_results.statuses_fts_disabled": "ไมการเปดใชงานการคนหาโพสตโดยเนอหาของโพสตในเซฟเวอร Mastodon น",
"search_results.total": "{count, number} {count, plural, other {ผลลพธ}}", "search_results.total": "{count, number} {count, plural, other {ผลลพธ}}",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Keşfet", "navigation_bar.discover": "Keşfet",
"navigation_bar.domain_blocks": "Engellenen alan adları", "navigation_bar.domain_blocks": "Engellenen alan adları",
"navigation_bar.edit_profile": "Profili düzenle", "navigation_bar.edit_profile": "Profili düzenle",
"navigation_bar.explore": "Keşfet",
"navigation_bar.favourites": "Favoriler", "navigation_bar.favourites": "Favoriler",
"navigation_bar.filters": "Sessize alınmış kelimeler", "navigation_bar.filters": "Sessize alınmış kelimeler",
"navigation_bar.follow_requests": "Takip istekleri", "navigation_bar.follow_requests": "Takip istekleri",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Discover", "navigation_bar.discover": "Discover",
"navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.domain_blocks": "Hidden domains",
"navigation_bar.edit_profile": "Профильны үзгәртү", "navigation_bar.edit_profile": "Профильны үзгәртү",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "Follow requests",
@ -395,7 +396,7 @@
"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": "профиль",
"report.category.title_status": "post", "report.category.title_status": "post",
"report.close": "Done", "report.close": "Done",
"report.comment.title": "Is there anything else you think we should know?", "report.comment.title": "Is there anything else you think we should know?",
@ -478,9 +479,9 @@
"status.report": "Report @{name}", "status.report": "Report @{name}",
"status.sensitive_warning": "Sensitive content", "status.sensitive_warning": "Sensitive content",
"status.share": "Уртаклашу", "status.share": "Уртаклашу",
"status.show_less": "Show less", "status.show_less": "Әзрәк күрсәтү",
"status.show_less_all": "Show less for all", "status.show_less_all": "Show less for all",
"status.show_more": "Show more", "status.show_more": "Күбрәк күрсәтү",
"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",

@ -294,6 +294,7 @@
"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",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "Follow requests",

@ -294,6 +294,7 @@
"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.favourites": "Вподобане", "navigation_bar.favourites": "Вподобане",
"navigation_bar.filters": "Приховані слова", "navigation_bar.filters": "Приховані слова",
"navigation_bar.follow_requests": "Запити на підписку", "navigation_bar.follow_requests": "Запити на підписку",

@ -294,6 +294,7 @@
"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": "پروفائل میں ترمیم کریں",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "پسندیدہ", "navigation_bar.favourites": "پسندیدہ",
"navigation_bar.filters": "خاموش کردہ الفاظ", "navigation_bar.filters": "خاموش کردہ الفاظ",
"navigation_bar.follow_requests": "پیروی کی درخواستیں", "navigation_bar.follow_requests": "پیروی کی درخواستیں",

@ -22,7 +22,7 @@
"account.following_counter": "{count, plural, one {{counter} Theo dõi} other {{counter} Theo dõi}}", "account.following_counter": "{count, plural, one {{counter} Theo dõi} other {{counter} Theo dõi}}",
"account.follows.empty": "Người này chưa theo dõi ai.", "account.follows.empty": "Người này chưa theo dõi ai.",
"account.follows_you": "Đang theo dõi bạn", "account.follows_you": "Đang theo dõi bạn",
"account.hide_reblogs": "Ẩn chia sẻ từ @{name}", "account.hide_reblogs": "Ẩn tút do @{name} đăng lại",
"account.joined": "Đã tham gia {date}", "account.joined": "Đã tham gia {date}",
"account.link_verified_on": "Liên kết này đã được xác thực vào {date}", "account.link_verified_on": "Liên kết này đã được xác thực vào {date}",
"account.locked_info": "Đây là tài khoản riêng tư. Họ sẽ tự mình xét duyệt các yêu cầu theo dõi.", "account.locked_info": "Đây là tài khoản riêng tư. Họ sẽ tự mình xét duyệt các yêu cầu theo dõi.",
@ -37,7 +37,7 @@
"account.report": "Báo cáo @{name}", "account.report": "Báo cáo @{name}",
"account.requested": "Đang chờ chấp thuận. Nhấp vào đây để hủy yêu cầu theo dõi", "account.requested": "Đang chờ chấp thuận. Nhấp vào đây để hủy yêu cầu theo dõi",
"account.share": "Chia sẻ trang @{name}", "account.share": "Chia sẻ trang @{name}",
"account.show_reblogs": "Hiện chia sẻ từ @{name}", "account.show_reblogs": "Hiện tút do @{name} đăng lại",
"account.statuses_counter": "{count, plural, one {{counter} Tút} other {{counter} Tút}}", "account.statuses_counter": "{count, plural, one {{counter} Tút} other {{counter} Tút}}",
"account.unblock": "Bỏ chặn @{name}", "account.unblock": "Bỏ chặn @{name}",
"account.unblock_domain": "Bỏ ẩn {domain}", "account.unblock_domain": "Bỏ ẩn {domain}",
@ -60,7 +60,7 @@
"announcement.announcement": "Thông báo chung", "announcement.announcement": "Thông báo chung",
"attachments_list.unprocessed": "(chưa xử lí)", "attachments_list.unprocessed": "(chưa xử lí)",
"autosuggest_hashtag.per_week": "{count} mỗi tuần", "autosuggest_hashtag.per_week": "{count} mỗi tuần",
"boost_modal.combo": "Nhấn {combo} để chia sẻ nhanh hơn", "boost_modal.combo": "Nhấn {combo} để bỏ qua bước này",
"bundle_column_error.body": "Đã có lỗi xảy ra trong khi tải nội dung này.", "bundle_column_error.body": "Đã có lỗi xảy ra trong khi tải nội dung này.",
"bundle_column_error.retry": "Thử lại", "bundle_column_error.retry": "Thử lại",
"bundle_column_error.title": "Không có kết nối internet", "bundle_column_error.title": "Không có kết nối internet",
@ -131,7 +131,7 @@
"confirmations.mute.explanation": "Điều này sẽ khiến tút của họ và những tút có nhắc đến họ bị ẩn, tuy nhiên họ vẫn có thể xem tút của bạn và theo dõi bạn.", "confirmations.mute.explanation": "Điều này sẽ khiến tút của họ và những tút có nhắc đến họ bị ẩn, tuy nhiên họ vẫn có thể xem tút của bạn và theo dõi bạn.",
"confirmations.mute.message": "Bạn thật sự muốn ẩn {name}?", "confirmations.mute.message": "Bạn thật sự muốn ẩn {name}?",
"confirmations.redraft.confirm": "Xóa & viết lại", "confirmations.redraft.confirm": "Xóa & viết lại",
"confirmations.redraft.message": "Bạn thật sự muốn xóa tút và viết lại? Điều này sẽ xóa mất những lượt thích và chia sẻ của tút, cũng như những trả lời sẽ không còn nội dung gốc.", "confirmations.redraft.message": "Bạn thật sự muốn xóa tút và viết lại? Điều này sẽ xóa mất những lượt thích và đăng lại của tút, cũng như những trả lời sẽ không còn nội dung gốc.",
"confirmations.reply.confirm": "Trả lời", "confirmations.reply.confirm": "Trả lời",
"confirmations.reply.message": "Nội dung bạn đang soạn thảo sẽ bị ghi đè, bạn có tiếp tục?", "confirmations.reply.message": "Nội dung bạn đang soạn thảo sẽ bị ghi đè, bạn có tiếp tục?",
"confirmations.unfollow.confirm": "Ngưng theo dõi", "confirmations.unfollow.confirm": "Ngưng theo dõi",
@ -218,7 +218,7 @@
"hashtag.column_settings.tag_mode.none": "Không chọn", "hashtag.column_settings.tag_mode.none": "Không chọn",
"hashtag.column_settings.tag_toggle": "Bao gồm thêm hashtag cho cột này", "hashtag.column_settings.tag_toggle": "Bao gồm thêm hashtag cho cột này",
"home.column_settings.basic": "Tùy chỉnh", "home.column_settings.basic": "Tùy chỉnh",
"home.column_settings.show_reblogs": "Hiện những lượt chia sẻ", "home.column_settings.show_reblogs": "Hiện những lượt đăng lại",
"home.column_settings.show_replies": "Hiện những tút dạng trả lời", "home.column_settings.show_replies": "Hiện những tút dạng trả lời",
"home.hide_announcements": "Ẩn thông báo", "home.hide_announcements": "Ẩn thông báo",
"home.show_announcements": "Hiện thông báo", "home.show_announcements": "Hiện thông báo",
@ -227,7 +227,7 @@
"intervals.full.minutes": "{number, plural, other {# phút}}", "intervals.full.minutes": "{number, plural, other {# phút}}",
"keyboard_shortcuts.back": "trở lại", "keyboard_shortcuts.back": "trở lại",
"keyboard_shortcuts.blocked": "mở danh sách người đã chặn", "keyboard_shortcuts.blocked": "mở danh sách người đã chặn",
"keyboard_shortcuts.boost": "chia sẻ", "keyboard_shortcuts.boost": "Đăng lại",
"keyboard_shortcuts.column": "mở các mục", "keyboard_shortcuts.column": "mở các mục",
"keyboard_shortcuts.compose": "mở khung soạn tút", "keyboard_shortcuts.compose": "mở khung soạn tút",
"keyboard_shortcuts.description": "Mô tả", "keyboard_shortcuts.description": "Mô tả",
@ -294,6 +294,7 @@
"navigation_bar.discover": "Khám phá", "navigation_bar.discover": "Khám phá",
"navigation_bar.domain_blocks": "Máy chủ đã ẩn", "navigation_bar.domain_blocks": "Máy chủ đã ẩn",
"navigation_bar.edit_profile": "Trang cá nhân", "navigation_bar.edit_profile": "Trang cá nhân",
"navigation_bar.explore": "Khám phá",
"navigation_bar.favourites": "Thích", "navigation_bar.favourites": "Thích",
"navigation_bar.filters": "Bộ lọc từ ngữ", "navigation_bar.filters": "Bộ lọc từ ngữ",
"navigation_bar.follow_requests": "Yêu cầu theo dõi", "navigation_bar.follow_requests": "Yêu cầu theo dõi",
@ -315,7 +316,7 @@
"notification.mention": "{name} nhắc đến bạn", "notification.mention": "{name} nhắc đến bạn",
"notification.own_poll": "Cuộc bình chọn của bạn đã kết thúc", "notification.own_poll": "Cuộc bình chọn của bạn đã kết thúc",
"notification.poll": "Cuộc bình chọn đã kết thúc", "notification.poll": "Cuộc bình chọn đã kết thúc",
"notification.reblog": "{name} chia sẻ tút của bạn", "notification.reblog": "{name} đăng lại tút của bạn",
"notification.status": "{name} vừa đăng", "notification.status": "{name} vừa đăng",
"notification.update": "{name} đã viết lại một tút", "notification.update": "{name} đã viết lại một tút",
"notifications.clear": "Xóa hết thông báo", "notifications.clear": "Xóa hết thông báo",
@ -331,7 +332,7 @@
"notifications.column_settings.mention": "Lượt nhắc đến:", "notifications.column_settings.mention": "Lượt nhắc đến:",
"notifications.column_settings.poll": "Kết quả bình chọn:", "notifications.column_settings.poll": "Kết quả bình chọn:",
"notifications.column_settings.push": "Thông báo đẩy", "notifications.column_settings.push": "Thông báo đẩy",
"notifications.column_settings.reblog": "Lượt chia sẻ mới:", "notifications.column_settings.reblog": "Lượt đăng lại mới:",
"notifications.column_settings.show": "Thông báo trên thanh menu", "notifications.column_settings.show": "Thông báo trên thanh menu",
"notifications.column_settings.sound": "Kèm theo tiếng \"bíp\"", "notifications.column_settings.sound": "Kèm theo tiếng \"bíp\"",
"notifications.column_settings.status": "Tút mới:", "notifications.column_settings.status": "Tút mới:",
@ -339,7 +340,7 @@
"notifications.column_settings.unread_notifications.highlight": "Nổi bật thông báo chưa đọc", "notifications.column_settings.unread_notifications.highlight": "Nổi bật thông báo chưa đọc",
"notifications.column_settings.update": "Lượt sửa:", "notifications.column_settings.update": "Lượt sửa:",
"notifications.filter.all": "Toàn bộ", "notifications.filter.all": "Toàn bộ",
"notifications.filter.boosts": "Chia sẻ", "notifications.filter.boosts": "Đăng lại",
"notifications.filter.favourites": "Thích", "notifications.filter.favourites": "Thích",
"notifications.filter.follows": "Đang theo dõi", "notifications.filter.follows": "Đang theo dõi",
"notifications.filter.mentions": "Lượt nhắc đến", "notifications.filter.mentions": "Lượt nhắc đến",
@ -427,7 +428,7 @@
"report.unfollow_explanation": "Bạn đang theo dõi người này. Để không thấy tút của họ trong bảng tin nữa, hãy ngưng theo dõi.", "report.unfollow_explanation": "Bạn đang theo dõi người này. Để không thấy tút của họ trong bảng tin nữa, hãy ngưng theo dõi.",
"search.placeholder": "Tìm kiếm", "search.placeholder": "Tìm kiếm",
"search_popout.search_format": "Gợi ý", "search_popout.search_format": "Gợi ý",
"search_popout.tips.full_text": "Nội dung trả về bao gồm những tút mà bạn đã viết, thích, chia sẻ hoặc những tút có nhắc đến bạn. Bạn cũng có thể tìm địa chỉ người dùng, tên hiển thị và hashtag.", "search_popout.tips.full_text": "Nội dung trả về bao gồm những tút mà bạn đã viết, thích, đăng lại hoặc những tút có nhắc đến bạn. Bạn cũng có thể tìm địa chỉ người dùng, tên hiển thị và hashtag.",
"search_popout.tips.hashtag": "hashtag", "search_popout.tips.hashtag": "hashtag",
"search_popout.tips.status": "tút", "search_popout.tips.status": "tút",
"search_popout.tips.text": "Nội dung trả về là tên người dùng, tên hiển thị và hashtag", "search_popout.tips.text": "Nội dung trả về là tên người dùng, tên hiển thị và hashtag",
@ -443,8 +444,8 @@
"status.admin_status": "Mở tút này trong giao diện quản trị", "status.admin_status": "Mở tút này trong giao diện quản trị",
"status.block": "Chặn @{name}", "status.block": "Chặn @{name}",
"status.bookmark": "Lưu", "status.bookmark": "Lưu",
"status.cancel_reblog_private": "Hủy chia sẻ", "status.cancel_reblog_private": "Hủy đăng lại",
"status.cannot_reblog": "Không thể chia sẻ tút này", "status.cannot_reblog": "Không thể đăng lại tút này",
"status.copy": "Sao chép URL", "status.copy": "Sao chép URL",
"status.delete": "Xóa", "status.delete": "Xóa",
"status.detailed_status": "Xem chi tiết thêm", "status.detailed_status": "Xem chi tiết thêm",
@ -467,10 +468,10 @@
"status.pin": "Ghim lên trang cá nhân", "status.pin": "Ghim lên trang cá nhân",
"status.pinned": "Tút đã ghim", "status.pinned": "Tút đã ghim",
"status.read_more": "Đọc tiếp", "status.read_more": "Đọc tiếp",
"status.reblog": "Chia sẻ", "status.reblog": "Đăng lại",
"status.reblog_private": "Chia sẻ (Riêng tư)", "status.reblog_private": "Đăng lại (Riêng tư)",
"status.reblogged_by": "{name} chia sẻ", "status.reblogged_by": "{name} đăng lại",
"status.reblogs.empty": "Tút này chưa có ai chia sẻ. Nếu có, nó sẽ hiển thị ở đây.", "status.reblogs.empty": "Tút này chưa có ai đăng lại. Nếu có, nó sẽ hiển thị ở đây.",
"status.redraft": "Xóa và viết lại", "status.redraft": "Xóa và viết lại",
"status.remove_bookmark": "Bỏ lưu", "status.remove_bookmark": "Bỏ lưu",
"status.reply": "Trả lời", "status.reply": "Trả lời",

@ -294,6 +294,7 @@
"navigation_bar.discover": "Discover", "navigation_bar.discover": "Discover",
"navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.domain_blocks": "Hidden domains",
"navigation_bar.edit_profile": "ⵙⵏⴼⵍ ⵉⴼⵔⵙ", "navigation_bar.edit_profile": "ⵙⵏⴼⵍ ⵉⴼⵔⵙ",
"navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "ⵜⵓⵜⵔⴰⵡⵉⵏ ⵏ ⵓⴹⴼⴰⵕ", "navigation_bar.follow_requests": "ⵜⵓⵜⵔⴰⵡⵉⵏ ⵏ ⵓⴹⴼⴰⵕ",

@ -18,7 +18,7 @@
"account.followers": "关注者", "account.followers": "关注者",
"account.followers.empty": "目前无人关注此用户。", "account.followers.empty": "目前无人关注此用户。",
"account.followers_counter": "被 {counter} 人关注", "account.followers_counter": "被 {counter} 人关注",
"account.following": "Following", "account.following": "正在关注",
"account.following_counter": "正在关注 {counter} 人", "account.following_counter": "正在关注 {counter} 人",
"account.follows.empty": "此用户目前尚未关注任何人。", "account.follows.empty": "此用户目前尚未关注任何人。",
"account.follows_you": "关注了你", "account.follows_you": "关注了你",
@ -41,12 +41,12 @@
"account.statuses_counter": "{counter} 条嘟文", "account.statuses_counter": "{counter} 条嘟文",
"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": "注册后用户留存率(按日计算)", "admin.dashboard.daily_retention": "注册后用户留存率(按日计算)",
"admin.dashboard.monthly_retention": "注册后用户留存率(按月计算)", "admin.dashboard.monthly_retention": "注册后用户留存率(按月计算)",
@ -294,6 +294,7 @@
"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.favourites": "喜欢", "navigation_bar.favourites": "喜欢",
"navigation_bar.filters": "隐藏关键词", "navigation_bar.filters": "隐藏关键词",
"navigation_bar.follow_requests": "关注请求", "navigation_bar.follow_requests": "关注请求",

@ -294,6 +294,7 @@
"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.favourites": "最愛的內容", "navigation_bar.favourites": "最愛的內容",
"navigation_bar.filters": "靜音詞彙", "navigation_bar.filters": "靜音詞彙",
"navigation_bar.follow_requests": "關注請求", "navigation_bar.follow_requests": "關注請求",

@ -294,6 +294,7 @@
"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.favourites": "最愛", "navigation_bar.favourites": "最愛",
"navigation_bar.filters": "靜音詞彙", "navigation_bar.filters": "靜音詞彙",
"navigation_bar.follow_requests": "跟隨請求", "navigation_bar.follow_requests": "跟隨請求",

@ -22,6 +22,16 @@ class Admin::AccountAction
attr_reader :warning, :send_email_notification, :include_statuses attr_reader :warning, :send_email_notification, :include_statuses
alias send_email_notification? send_email_notification
alias include_statuses? include_statuses
def initialize(attributes = {})
@send_email_notification = true
@include_statuses = true
super
end
def send_email_notification=(value) def send_email_notification=(value)
@send_email_notification = ActiveModel::Type::Boolean.new.cast(value) @send_email_notification = ActiveModel::Type::Boolean.new.cast(value)
end end
@ -141,11 +151,11 @@ class Admin::AccountAction
end end
def warnable? def warnable?
send_email_notification && target_account.local? send_email_notification? && target_account.local?
end end
def status_ids def status_ids
report.status_ids if with_report? && include_statuses report.status_ids if with_report? && include_statuses?
end end
def reports def reports

@ -63,13 +63,6 @@ class Notification < ApplicationRecord
scope :without_suspended, -> { joins(:from_account).merge(Account.without_suspended) } scope :without_suspended, -> { joins(:from_account).merge(Account.without_suspended) }
scope :browserable, ->(exclude_types = [], account_id = nil) {
scope = all
scope = where(from_account_id: account_id) if account_id.present?
scope = scope.where(type: TYPES - exclude_types.map(&:to_sym)) unless exclude_types.empty?
scope
}
def type def type
@type ||= (super || LEGACY_TYPE_CLASS_MAP[activity_type]).to_sym @type ||= (super || LEGACY_TYPE_CLASS_MAP[activity_type]).to_sym
end end
@ -90,6 +83,23 @@ class Notification < ApplicationRecord
end end
class << self class << self
def browserable(types: [], exclude_types: [], from_account_id: nil)
requested_types = begin
if types.empty?
TYPES
else
types.map(&:to_sym) & TYPES
end
end
requested_types -= exclude_types.map(&:to_sym)
all.tap do |scope|
scope.merge!(where(from_account_id: from_account_id)) if from_account_id.present?
scope.merge!(where(type: requested_types)) unless requested_types.size == TYPES.size
end
end
def preload_cache_collection_target_statuses(notifications, &_block) def preload_cache_collection_target_statuses(notifications, &_block)
notifications.group_by(&:type).each do |type, grouped_notifications| notifications.group_by(&:type).each do |type, grouped_notifications|
associations = TARGET_STATUS_INCLUDES_BY_TYPE[type] associations = TARGET_STATUS_INCLUDES_BY_TYPE[type]

@ -80,6 +80,10 @@ class PreviewCard < ApplicationRecord
end end
end end
def requires_review?
attributes['trendable'].nil? && (provider.nil? || provider.requires_review?)
end
def requires_review_notification? def requires_review_notification?
attributes['trendable'].nil? && (provider.nil? || provider.requires_review_notification?) attributes['trendable'].nil? && (provider.nil? || provider.requires_review_notification?)
end end

@ -300,6 +300,10 @@ class Status < ApplicationRecord
end end
end end
def requires_review?
attributes['trendable'].nil? && account.requires_review?
end
def requires_review_notification? def requires_review_notification?
attributes['trendable'].nil? && account.requires_review_notification? attributes['trendable'].nil? && account.requires_review_notification?
end end

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

Loading…
Cancel
Save