Merge branch 'main' into glitch-soc/merge-upstream
Conflicts: - `README.md`: Upstream changed their README, we have a completely different one. Kept our README.
This commit is contained in:
commit
c79a03b319
146 changed files with 1357 additions and 820 deletions
|
@ -1,8 +1,8 @@
|
|||
version: 2.1
|
||||
|
||||
orbs:
|
||||
ruby: circleci/ruby@1.2.0
|
||||
node: circleci/node@4.7.0
|
||||
ruby: circleci/ruby@1.4.0
|
||||
node: circleci/node@5.0.1
|
||||
|
||||
executors:
|
||||
default:
|
||||
|
@ -23,7 +23,7 @@ executors:
|
|||
environment:
|
||||
POSTGRES_USER: root
|
||||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
- image: circleci/redis:6-alpine
|
||||
- image: cimg/redis:6.2
|
||||
|
||||
commands:
|
||||
install-system-dependencies:
|
||||
|
|
32
.github/CODEOWNERS
vendored
32
.github/CODEOWNERS
vendored
|
@ -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
|
2
.github/FUNDING.yml
vendored
2
.github/FUNDING.yml
vendored
|
@ -1,3 +1,3 @@
|
|||
patreon: mastodon
|
||||
open_collective: mastodon
|
||||
github: [Gargron]
|
||||
custom: https://sponsor.joinmastodon.org
|
||||
|
|
1
.github/ISSUE_TEMPLATE/2.feature_request.yml
vendored
1
.github/ISSUE_TEMPLATE/2.feature_request.yml
vendored
|
@ -1,5 +1,6 @@
|
|||
name: Feature Request
|
||||
description: I have a suggestion
|
||||
labels: suggestion
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
|
|
10
.github/ISSUE_TEMPLATE/3.support.md
vendored
10
.github/ISSUE_TEMPLATE/3.support.md
vendored
|
@ -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
|
7
.github/ISSUE_TEMPLATE/config.yml
vendored
7
.github/ISSUE_TEMPLATE/config.yml
vendored
|
@ -1,5 +1,8 @@
|
|||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Mastodon Meta Discussion Board
|
||||
url: https://discourse.joinmastodon.org/
|
||||
- name: GitHub Discussions
|
||||
url: https://github.com/mastodon/mastodon/discussions
|
||||
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.
|
||||
|
|
2
.github/workflows/build-image.yml
vendored
2
.github/workflows/build-image.yml
vendored
|
@ -31,7 +31,7 @@ jobs:
|
|||
latest=true
|
||||
tags: |
|
||||
type=edge,branch=main
|
||||
type=semver,pattern={{ raw }}
|
||||
type=match,pattern=v(.*),group=0
|
||||
type=ref,event=pr
|
||||
- uses: docker/build-push-action@v2
|
||||
with:
|
||||
|
|
675
AUTHORS.md
675
AUTHORS.md
File diff suppressed because it is too large
Load diff
198
CHANGELOG.md
198
CHANGELOG.md
|
@ -3,6 +3,194 @@ Changelog
|
|||
|
||||
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
|
||||
### Fixed
|
||||
|
||||
|
@ -572,7 +760,7 @@ All notable changes to this project will be documented in this file.
|
|||
- `EMAIL_DOMAIN_WHITELIST` → `EMAIL_DOMAIN_ALLOWLIST`
|
||||
- CLI option changed:
|
||||
- `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))
|
||||
|
||||
### 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 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 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 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))
|
||||
|
@ -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 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 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 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))
|
||||
|
@ -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 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 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 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 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 account counters being overwritten by parallel writes ([Gargron](https://github.com/mastodon/mastodon/pull/12045))
|
||||
|
|
2
Gemfile
2
Gemfile
|
@ -7,7 +7,7 @@ gem 'pkg-config', '~> 1.4'
|
|||
gem 'rexml', '~> 3.2'
|
||||
|
||||
gem 'puma', '~> 5.6'
|
||||
gem 'rails', '~> 6.1.4'
|
||||
gem 'rails', '~> 6.1.5'
|
||||
gem 'sprockets', '~> 3.7.2'
|
||||
gem 'thor', '~> 1.2'
|
||||
gem 'rack', '~> 2.2.3'
|
||||
|
|
120
Gemfile.lock
120
Gemfile.lock
|
@ -1,40 +1,40 @@
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
actioncable (6.1.4.6)
|
||||
actionpack (= 6.1.4.6)
|
||||
activesupport (= 6.1.4.6)
|
||||
actioncable (6.1.5)
|
||||
actionpack (= 6.1.5)
|
||||
activesupport (= 6.1.5)
|
||||
nio4r (~> 2.0)
|
||||
websocket-driver (>= 0.6.1)
|
||||
actionmailbox (6.1.4.6)
|
||||
actionpack (= 6.1.4.6)
|
||||
activejob (= 6.1.4.6)
|
||||
activerecord (= 6.1.4.6)
|
||||
activestorage (= 6.1.4.6)
|
||||
activesupport (= 6.1.4.6)
|
||||
actionmailbox (6.1.5)
|
||||
actionpack (= 6.1.5)
|
||||
activejob (= 6.1.5)
|
||||
activerecord (= 6.1.5)
|
||||
activestorage (= 6.1.5)
|
||||
activesupport (= 6.1.5)
|
||||
mail (>= 2.7.1)
|
||||
actionmailer (6.1.4.6)
|
||||
actionpack (= 6.1.4.6)
|
||||
actionview (= 6.1.4.6)
|
||||
activejob (= 6.1.4.6)
|
||||
activesupport (= 6.1.4.6)
|
||||
actionmailer (6.1.5)
|
||||
actionpack (= 6.1.5)
|
||||
actionview (= 6.1.5)
|
||||
activejob (= 6.1.5)
|
||||
activesupport (= 6.1.5)
|
||||
mail (~> 2.5, >= 2.5.4)
|
||||
rails-dom-testing (~> 2.0)
|
||||
actionpack (6.1.4.6)
|
||||
actionview (= 6.1.4.6)
|
||||
activesupport (= 6.1.4.6)
|
||||
actionpack (6.1.5)
|
||||
actionview (= 6.1.5)
|
||||
activesupport (= 6.1.5)
|
||||
rack (~> 2.0, >= 2.0.9)
|
||||
rack-test (>= 0.6.3)
|
||||
rails-dom-testing (~> 2.0)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
||||
actiontext (6.1.4.6)
|
||||
actionpack (= 6.1.4.6)
|
||||
activerecord (= 6.1.4.6)
|
||||
activestorage (= 6.1.4.6)
|
||||
activesupport (= 6.1.4.6)
|
||||
actiontext (6.1.5)
|
||||
actionpack (= 6.1.5)
|
||||
activerecord (= 6.1.5)
|
||||
activestorage (= 6.1.5)
|
||||
activesupport (= 6.1.5)
|
||||
nokogiri (>= 1.8.5)
|
||||
actionview (6.1.4.6)
|
||||
activesupport (= 6.1.4.6)
|
||||
actionview (6.1.5)
|
||||
activesupport (= 6.1.5)
|
||||
builder (~> 3.1)
|
||||
erubi (~> 1.4)
|
||||
rails-dom-testing (~> 2.0)
|
||||
|
@ -45,22 +45,22 @@ GEM
|
|||
case_transform (>= 0.2)
|
||||
jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
|
||||
active_record_query_trace (1.8)
|
||||
activejob (6.1.4.6)
|
||||
activesupport (= 6.1.4.6)
|
||||
activejob (6.1.5)
|
||||
activesupport (= 6.1.5)
|
||||
globalid (>= 0.3.6)
|
||||
activemodel (6.1.4.6)
|
||||
activesupport (= 6.1.4.6)
|
||||
activerecord (6.1.4.6)
|
||||
activemodel (= 6.1.4.6)
|
||||
activesupport (= 6.1.4.6)
|
||||
activestorage (6.1.4.6)
|
||||
actionpack (= 6.1.4.6)
|
||||
activejob (= 6.1.4.6)
|
||||
activerecord (= 6.1.4.6)
|
||||
activesupport (= 6.1.4.6)
|
||||
marcel (~> 1.0.0)
|
||||
activemodel (6.1.5)
|
||||
activesupport (= 6.1.5)
|
||||
activerecord (6.1.5)
|
||||
activemodel (= 6.1.5)
|
||||
activesupport (= 6.1.5)
|
||||
activestorage (6.1.5)
|
||||
actionpack (= 6.1.5)
|
||||
activejob (= 6.1.5)
|
||||
activerecord (= 6.1.5)
|
||||
activesupport (= 6.1.5)
|
||||
marcel (~> 1.0)
|
||||
mini_mime (>= 1.1.0)
|
||||
activesupport (6.1.4.6)
|
||||
activesupport (6.1.5)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
i18n (>= 1.6, < 2)
|
||||
minitest (>= 5.1)
|
||||
|
@ -367,7 +367,7 @@ GEM
|
|||
activesupport (>= 4)
|
||||
railties (>= 4)
|
||||
request_store (~> 1.0)
|
||||
loofah (2.14.0)
|
||||
loofah (2.15.0)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.5.9)
|
||||
mail (2.7.1)
|
||||
|
@ -432,14 +432,14 @@ GEM
|
|||
openssl (2.2.0)
|
||||
openssl-signature_algorithm (0.4.0)
|
||||
orm_adapter (0.5.0)
|
||||
ox (2.14.9)
|
||||
ox (2.14.10)
|
||||
parallel (1.21.0)
|
||||
parser (3.1.0.0)
|
||||
ast (~> 2.4.1)
|
||||
parslet (2.0.0)
|
||||
pastel (0.8.0)
|
||||
tty-color (~> 0.5)
|
||||
pg (1.3.3)
|
||||
pg (1.3.4)
|
||||
pghero (2.8.2)
|
||||
activerecord (>= 5)
|
||||
pkg-config (1.4.7)
|
||||
|
@ -482,20 +482,20 @@ GEM
|
|||
rack
|
||||
rack-test (1.1.0)
|
||||
rack (>= 1.0, < 3)
|
||||
rails (6.1.4.6)
|
||||
actioncable (= 6.1.4.6)
|
||||
actionmailbox (= 6.1.4.6)
|
||||
actionmailer (= 6.1.4.6)
|
||||
actionpack (= 6.1.4.6)
|
||||
actiontext (= 6.1.4.6)
|
||||
actionview (= 6.1.4.6)
|
||||
activejob (= 6.1.4.6)
|
||||
activemodel (= 6.1.4.6)
|
||||
activerecord (= 6.1.4.6)
|
||||
activestorage (= 6.1.4.6)
|
||||
activesupport (= 6.1.4.6)
|
||||
rails (6.1.5)
|
||||
actioncable (= 6.1.5)
|
||||
actionmailbox (= 6.1.5)
|
||||
actionmailer (= 6.1.5)
|
||||
actionpack (= 6.1.5)
|
||||
actiontext (= 6.1.5)
|
||||
actionview (= 6.1.5)
|
||||
activejob (= 6.1.5)
|
||||
activemodel (= 6.1.5)
|
||||
activerecord (= 6.1.5)
|
||||
activestorage (= 6.1.5)
|
||||
activesupport (= 6.1.5)
|
||||
bundler (>= 1.15.0)
|
||||
railties (= 6.1.4.6)
|
||||
railties (= 6.1.5)
|
||||
sprockets-rails (>= 2.0.0)
|
||||
rails-controller-testing (1.0.5)
|
||||
actionpack (>= 5.0.1.rc1)
|
||||
|
@ -511,11 +511,11 @@ GEM
|
|||
railties (>= 6.0.0, < 7)
|
||||
rails-settings-cached (0.6.6)
|
||||
rails (>= 4.2.0)
|
||||
railties (6.1.4.6)
|
||||
actionpack (= 6.1.4.6)
|
||||
activesupport (= 6.1.4.6)
|
||||
railties (6.1.5)
|
||||
actionpack (= 6.1.5)
|
||||
activesupport (= 6.1.5)
|
||||
method_source
|
||||
rake (>= 0.13)
|
||||
rake (>= 12.2)
|
||||
thor (~> 1.0)
|
||||
rainbow (3.1.1)
|
||||
rake (13.0.6)
|
||||
|
@ -548,7 +548,7 @@ GEM
|
|||
rspec-mocks (3.11.0)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.11.0)
|
||||
rspec-rails (5.1.0)
|
||||
rspec-rails (5.1.1)
|
||||
actionpack (>= 5.2)
|
||||
activesupport (>= 5.2)
|
||||
railties (>= 5.2)
|
||||
|
@ -806,7 +806,7 @@ DEPENDENCIES
|
|||
rack (~> 2.2.3)
|
||||
rack-attack (~> 6.6)
|
||||
rack-cors (~> 1.1)
|
||||
rails (~> 6.1.4)
|
||||
rails (~> 6.1.5)
|
||||
rails-controller-testing (~> 1.0)
|
||||
rails-i18n (~> 6.0)
|
||||
rails-settings-cached (~> 0.6)
|
||||
|
|
18
SECURITY.md
18
SECURITY.md
|
@ -1,13 +1,19 @@
|
|||
# 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
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| 3.4.x | :white_check_mark: |
|
||||
| 3.3.x | :white_check_mark: |
|
||||
| < 3.3 | :x: |
|
||||
| 3.4.x | Yes |
|
||||
| 3.3.x | Yes |
|
||||
| < 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),
|
||||
params_slice(:max_id, :since_id, :min_id)
|
||||
)
|
||||
|
||||
Notification.preload_cache_collection_target_statuses(notifications) do |target_statuses|
|
||||
cache_collection(target_statuses, Status)
|
||||
end
|
||||
end
|
||||
|
||||
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
|
||||
|
||||
def target_statuses_from_notifications
|
||||
|
@ -81,17 +86,11 @@ class Api::V1::NotificationsController < Api::BaseController
|
|||
@notifications.first.id
|
||||
end
|
||||
|
||||
def exclude_types
|
||||
val = params.permit(exclude_types: [])[:exclude_types] || []
|
||||
val = [val] unless val.is_a?(Enumerable)
|
||||
val
|
||||
end
|
||||
|
||||
def from_account
|
||||
params[:account_id]
|
||||
def browserable_params
|
||||
params.permit(:account_id, types: [], exclude_types: [])
|
||||
end
|
||||
|
||||
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
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "Edit profile",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favourites",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "Follow requests",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "اكتشف",
|
||||
"navigation_bar.domain_blocks": "النطاقات المخفية",
|
||||
"navigation_bar.edit_profile": "عدّل الملف التعريفي",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "المفضلة",
|
||||
"navigation_bar.filters": "الكلمات المكتومة",
|
||||
"navigation_bar.follow_requests": "طلبات المتابعة",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Dominios anubríos",
|
||||
"navigation_bar.edit_profile": "Editar el perfil",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favoritos",
|
||||
"navigation_bar.filters": "Pallabres silenciaes",
|
||||
"navigation_bar.follow_requests": "Solicitúes de siguimientu",
|
||||
|
@ -361,7 +362,7 @@
|
|||
"poll.total_votes": "{count, plural, one {# votu} other {# votos}}",
|
||||
"poll.vote": "Vote",
|
||||
"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.remove_poll": "Quitar la encuesta",
|
||||
"privacy.change": "Adjust status privacy",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Откриване",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "Редактирай профил",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Любими",
|
||||
"navigation_bar.filters": "Заглушени думи",
|
||||
"navigation_bar.follow_requests": "Заявки за последване",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "ঘুরে দেখুন",
|
||||
"navigation_bar.domain_blocks": "লুকানো ডোমেনগুলি",
|
||||
"navigation_bar.edit_profile": "নিজের পাতা সম্পাদনা করতে",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "পছন্দের",
|
||||
"navigation_bar.filters": "বন্ধ করা শব্দ",
|
||||
"navigation_bar.follow_requests": "অনুসরণের অনুরোধগুলি",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Dizoleiñ",
|
||||
"navigation_bar.domain_blocks": "Domanioù kuzhet",
|
||||
"navigation_bar.edit_profile": "Aozañ ar profil",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Ar re vuiañ-karet",
|
||||
"navigation_bar.filters": "Gerioù kuzhet",
|
||||
"navigation_bar.follow_requests": "Pedadoù heuliañ",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Descobrir",
|
||||
"navigation_bar.domain_blocks": "Dominis ocults",
|
||||
"navigation_bar.edit_profile": "Editar perfil",
|
||||
"navigation_bar.explore": "Explora",
|
||||
"navigation_bar.favourites": "Preferits",
|
||||
"navigation_bar.filters": "Paraules silenciades",
|
||||
"navigation_bar.follow_requests": "Sol·licituds de seguiment",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Scopre",
|
||||
"navigation_bar.domain_blocks": "Duminii piattati",
|
||||
"navigation_bar.edit_profile": "Mudificà u prufile",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favuriti",
|
||||
"navigation_bar.filters": "Parolle silenzate",
|
||||
"navigation_bar.follow_requests": "Dumande d'abbunamentu",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Objevujte",
|
||||
"navigation_bar.domain_blocks": "Blokované domény",
|
||||
"navigation_bar.edit_profile": "Upravit profil",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Oblíbené",
|
||||
"navigation_bar.filters": "Skrytá slova",
|
||||
"navigation_bar.follow_requests": "Žádosti o sledování",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Darganfod",
|
||||
"navigation_bar.domain_blocks": "Parthau cuddiedig",
|
||||
"navigation_bar.edit_profile": "Golygu proffil",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Ffefrynnau",
|
||||
"navigation_bar.filters": "Geiriau a dawelwyd",
|
||||
"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.domain_blocks": "Ingen blokerede domæner endnu.",
|
||||
"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.favourites": "Ingen har endnu favoriseret dette indlæg. Når nogen gør dé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 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_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.",
|
||||
|
@ -234,7 +234,7 @@
|
|||
"keyboard_shortcuts.direct": "Åbn Direkte beskeder-kolonnen",
|
||||
"keyboard_shortcuts.down": "Flyt nedad på listen",
|
||||
"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.federated": "Åbn fælles tidslinje",
|
||||
"keyboard_shortcuts.heading": "Tastaturgenveje",
|
||||
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Opdag",
|
||||
"navigation_bar.domain_blocks": "Blokerede domæner",
|
||||
"navigation_bar.edit_profile": "Redigér profil",
|
||||
"navigation_bar.explore": "Udforsk",
|
||||
"navigation_bar.favourites": "Favoritter",
|
||||
"navigation_bar.filters": "Tavsgjorte ord",
|
||||
"navigation_bar.follow_requests": "Følgeanmodninger",
|
||||
|
@ -309,7 +310,7 @@
|
|||
"navigation_bar.public_timeline": "Fælles tidslinje",
|
||||
"navigation_bar.security": "Sikkerhed",
|
||||
"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_request": "{name} har anmodet om at følge 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.",
|
||||
"search.placeholder": "Søg",
|
||||
"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.status": "indlæg",
|
||||
"search_popout.tips.text": "Simpel tekst returnerer matchende visnings- og brugernavne samt hashtags",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Entdecken",
|
||||
"navigation_bar.domain_blocks": "Versteckte Domains",
|
||||
"navigation_bar.edit_profile": "Profil bearbeiten",
|
||||
"navigation_bar.explore": "Entdecken",
|
||||
"navigation_bar.favourites": "Favoriten",
|
||||
"navigation_bar.filters": "Stummgeschaltene Wörter",
|
||||
"navigation_bar.follow_requests": "Folgeanfragen",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Ανακάλυψη",
|
||||
"navigation_bar.domain_blocks": "Κρυμμένοι τομείς",
|
||||
"navigation_bar.edit_profile": "Επεξεργασία προφίλ",
|
||||
"navigation_bar.explore": "Εξερεύνηση",
|
||||
"navigation_bar.favourites": "Αγαπημένα",
|
||||
"navigation_bar.filters": "Αποσιωπημένες λέξεις",
|
||||
"navigation_bar.follow_requests": "Αιτήματα ακολούθησης",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Esplori",
|
||||
"navigation_bar.domain_blocks": "Blokitaj domajnoj",
|
||||
"navigation_bar.edit_profile": "Redakti profilon",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Stelumoj",
|
||||
"navigation_bar.filters": "Silentigitaj vortoj",
|
||||
"navigation_bar.follow_requests": "Petoj de sekvado",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Descubrir",
|
||||
"navigation_bar.domain_blocks": "Dominios bloqueados",
|
||||
"navigation_bar.edit_profile": "Editar perfil",
|
||||
"navigation_bar.explore": "Explorá",
|
||||
"navigation_bar.favourites": "Favoritos",
|
||||
"navigation_bar.filters": "Palabras silenciadas",
|
||||
"navigation_bar.follow_requests": "Solicitudes de seguimiento",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Descubrir",
|
||||
"navigation_bar.domain_blocks": "Dominios ocultos",
|
||||
"navigation_bar.edit_profile": "Editar perfil",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favoritos",
|
||||
"navigation_bar.filters": "Palabras silenciadas",
|
||||
"navigation_bar.follow_requests": "Solicitudes para seguirte",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Descubrir",
|
||||
"navigation_bar.domain_blocks": "Dominios ocultos",
|
||||
"navigation_bar.edit_profile": "Editar perfil",
|
||||
"navigation_bar.explore": "Explorar",
|
||||
"navigation_bar.favourites": "Favoritos",
|
||||
"navigation_bar.filters": "Palabras silenciadas",
|
||||
"navigation_bar.follow_requests": "Solicitudes para seguirte",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Avasta",
|
||||
"navigation_bar.domain_blocks": "Peidetud domeenid",
|
||||
"navigation_bar.edit_profile": "Muuda profiili",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Lemmikud",
|
||||
"navigation_bar.filters": "Vaigistatud sõnad",
|
||||
"navigation_bar.follow_requests": "Jälgimistaotlused",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Aurkitu",
|
||||
"navigation_bar.domain_blocks": "Ezkutatutako domeinuak",
|
||||
"navigation_bar.edit_profile": "Aldatu profila",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Gogokoak",
|
||||
"navigation_bar.filters": "Mutututako hitzak",
|
||||
"navigation_bar.follow_requests": "Jarraitzeko eskariak",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "گشت و گذار",
|
||||
"navigation_bar.domain_blocks": "دامنههای مسدود شده",
|
||||
"navigation_bar.edit_profile": "ویرایش نمایه",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "پسندیدهها",
|
||||
"navigation_bar.filters": "واژههای خموش",
|
||||
"navigation_bar.follow_requests": "درخواستهای پیگیری",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Löydä uutta",
|
||||
"navigation_bar.domain_blocks": "Estetyt verkkotunnukset",
|
||||
"navigation_bar.edit_profile": "Muokkaa profiilia",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Suosikit",
|
||||
"navigation_bar.filters": "Mykistetyt sanat",
|
||||
"navigation_bar.follow_requests": "Seuraamispyynnöt",
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
"account.followers": "Abonnés",
|
||||
"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.following": "Following",
|
||||
"account.following": "Abonnements",
|
||||
"account.following_counter": "{count, plural, other {{counter} Abonnements}}",
|
||||
"account.follows.empty": "Cet·te utilisateur·rice ne suit personne pour l’instant.",
|
||||
"account.follows_you": "Vous suit",
|
||||
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Découvrir",
|
||||
"navigation_bar.domain_blocks": "Domaines bloqués",
|
||||
"navigation_bar.edit_profile": "Modifier le profil",
|
||||
"navigation_bar.explore": "Explorer",
|
||||
"navigation_bar.favourites": "Favoris",
|
||||
"navigation_bar.filters": "Mots masqués",
|
||||
"navigation_bar.follow_requests": "Demandes d’abonnement",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "Edit profile",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favourites",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "Follow requests",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Fidir",
|
||||
"navigation_bar.domain_blocks": "Àrainnean bacte",
|
||||
"navigation_bar.edit_profile": "Deasaich a’ phròifil",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Na h-annsachdan",
|
||||
"navigation_bar.filters": "Faclan mùchte",
|
||||
"navigation_bar.follow_requests": "Iarrtasan leantainn",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Descubrir",
|
||||
"navigation_bar.domain_blocks": "Dominios agochados",
|
||||
"navigation_bar.edit_profile": "Editar perfil",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favoritos",
|
||||
"navigation_bar.filters": "Palabras silenciadas",
|
||||
"navigation_bar.follow_requests": "Peticións de seguimento",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "עריכת פרופיל",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "חיבובים",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "בקשות מעקב",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "खोजें",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "प्रोफ़ाइल संपादित करें",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favourites",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "अनुसरण करने के अनुरोध",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Istraživanje",
|
||||
"navigation_bar.domain_blocks": "Blokirane domene",
|
||||
"navigation_bar.edit_profile": "Uredi profil",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favoriti",
|
||||
"navigation_bar.filters": "Utišane riječi",
|
||||
"navigation_bar.follow_requests": "Zahtjevi za praćenje",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Felfedezés",
|
||||
"navigation_bar.domain_blocks": "Rejtett domainek",
|
||||
"navigation_bar.edit_profile": "Profil szerkesztése",
|
||||
"navigation_bar.explore": "Felfedezés",
|
||||
"navigation_bar.favourites": "Kedvencek",
|
||||
"navigation_bar.filters": "Némított szavak",
|
||||
"navigation_bar.follow_requests": "Követési kérelmek",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Բացայայտել",
|
||||
"navigation_bar.domain_blocks": "Թաքցուած տիրոյթներ",
|
||||
"navigation_bar.edit_profile": "Խմբագրել անձնական էջը",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Հաւանածներ",
|
||||
"navigation_bar.filters": "Լռեցուած բառեր",
|
||||
"navigation_bar.follow_requests": "Հետեւելու հայցեր",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Temukan",
|
||||
"navigation_bar.domain_blocks": "Domain tersembunyi",
|
||||
"navigation_bar.edit_profile": "Ubah profil",
|
||||
"navigation_bar.explore": "Jelajahi",
|
||||
"navigation_bar.favourites": "Favorit",
|
||||
"navigation_bar.filters": "Kata yang dibisukan",
|
||||
"navigation_bar.follow_requests": "Permintaan mengikuti",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "Modifikar profilo",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favorati",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "Demandi di sequado",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Uppgötva",
|
||||
"navigation_bar.domain_blocks": "Útilokuð lén",
|
||||
"navigation_bar.edit_profile": "Breyta notandasniði",
|
||||
"navigation_bar.explore": "Kanna",
|
||||
"navigation_bar.favourites": "Eftirlæti",
|
||||
"navigation_bar.filters": "Þögguð orð",
|
||||
"navigation_bar.follow_requests": "Beiðnir um að fylgjast með",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Scopri",
|
||||
"navigation_bar.domain_blocks": "Domini nascosti",
|
||||
"navigation_bar.edit_profile": "Modifica profilo",
|
||||
"navigation_bar.explore": "Esplora",
|
||||
"navigation_bar.favourites": "Apprezzati",
|
||||
"navigation_bar.filters": "Parole silenziate",
|
||||
"navigation_bar.follow_requests": "Richieste di seguirti",
|
||||
|
|
|
@ -172,7 +172,7 @@
|
|||
"empty_column.community": "ローカルタイムラインはまだ使われていません。何か書いてみましょう!",
|
||||
"empty_column.direct": "ダイレクトメッセージはまだありません。ダイレクトメッセージをやりとりすると、ここに表示されます。",
|
||||
"empty_column.domain_blocks": "ブロックしているドメインはありません。",
|
||||
"empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
|
||||
"empty_column.explore_statuses": "まだ何もありません。後で確認してください。",
|
||||
"empty_column.favourited_statuses": "まだ何もお気に入り登録していません。お気に入り登録するとここに表示されます。",
|
||||
"empty_column.favourites": "まだ誰もお気に入り登録していません。お気に入り登録されるとここに表示されます。",
|
||||
"empty_column.follow_recommendations": "おすすめを生成できませんでした。検索を使って知り合いを探したり、トレンドハッシュタグを見てみましょう。",
|
||||
|
@ -298,6 +298,7 @@
|
|||
"navigation_bar.discover": "見つける",
|
||||
"navigation_bar.domain_blocks": "ブロックしたドメイン",
|
||||
"navigation_bar.edit_profile": "プロフィールを編集",
|
||||
"navigation_bar.explore": "エクスプローラー",
|
||||
"navigation_bar.favourites": "お気に入り",
|
||||
"navigation_bar.filters": "フィルター設定",
|
||||
"navigation_bar.follow_requests": "フォローリクエスト",
|
||||
|
@ -398,8 +399,8 @@
|
|||
"report.categories.other": "その他",
|
||||
"report.categories.spam": "スパム",
|
||||
"report.categories.violation": "サーバーのルールに違反",
|
||||
"report.category.subtitle": "Choose the best match",
|
||||
"report.category.title": "Tell us what's going on with this {type}",
|
||||
"report.category.subtitle": "近いものを選択してください",
|
||||
"report.category.title": "この{type}について教えてください",
|
||||
"report.category.title_account": "プロフィール",
|
||||
"report.category.title_status": "投稿",
|
||||
"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.next": "次へ",
|
||||
"report.placeholder": "追加コメント",
|
||||
"report.reasons.dislike": "I don't like it",
|
||||
"report.reasons.dislike_description": "It is not something you want to see",
|
||||
"report.reasons.other": "It's something else",
|
||||
"report.reasons.other_description": "The issue does not fit into other categories",
|
||||
"report.reasons.spam": "It's spam",
|
||||
"report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
|
||||
"report.reasons.dislike": "興味がありません",
|
||||
"report.reasons.dislike_description": "見たくない内容の場合",
|
||||
"report.reasons.other": "その他",
|
||||
"report.reasons.other_description": "当てはまる選択肢がない場合",
|
||||
"report.reasons.spam": "これはスパムです",
|
||||
"report.reasons.spam_description": "悪意のあるリンクや虚偽の情報、執拗な返信など",
|
||||
"report.reasons.violation": "サーバーのルールに違反しています",
|
||||
"report.reasons.violation_description": "You are aware that it breaks specific rules",
|
||||
"report.reasons.violation_description": "ルールに違反しているのを見つけた場合",
|
||||
"report.rules.subtitle": "当てはまるものをすべて選んでください:",
|
||||
"report.rules.title": "どのルールに違反していますか?",
|
||||
"report.statuses.subtitle": "当てはまるものをすべて選んでください:",
|
||||
"report.statuses.title": "Are there any posts that back up this report?",
|
||||
"report.statuses.title": "この通報を裏付けるような投稿はありますか?",
|
||||
"report.submit": "通報する",
|
||||
"report.target": "{target}さんを通報する",
|
||||
"report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
|
||||
"report.thanks.take_action": "次のような方法はいかがでしょうか?",
|
||||
"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.unfollow": "@{name}のフォローを解除",
|
||||
"report.unfollow_explanation": "このアカウントをフォローしています。ホームフィードに彼らの投稿を表示しないようにするには、彼らのフォローを外してください。",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "აღმოაჩინე",
|
||||
"navigation_bar.domain_blocks": "დამალული დომენები",
|
||||
"navigation_bar.edit_profile": "შეცვალე პროფილი",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "ფავორიტები",
|
||||
"navigation_bar.filters": "გაჩუმებული სიტყვები",
|
||||
"navigation_bar.follow_requests": "დადევნების მოთხოვნები",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Ẓer",
|
||||
"navigation_bar.domain_blocks": "Tiɣula yeffren",
|
||||
"navigation_bar.edit_profile": "Ẓreg amaɣnu",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Ismenyifen",
|
||||
"navigation_bar.filters": "Awalen i yettwasgugmen",
|
||||
"navigation_bar.follow_requests": "Isuturen n teḍfeṛt",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "шарлау",
|
||||
"navigation_bar.domain_blocks": "Жабық домендер",
|
||||
"navigation_bar.edit_profile": "Профиль түзету",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Таңдаулылар",
|
||||
"navigation_bar.filters": "Үнсіз сөздер",
|
||||
"navigation_bar.follow_requests": "Жазылуға сұранғандар",
|
||||
|
|
|
@ -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.message": "Bi rastî tu dixwazî {name} bêdeng bikî?",
|
||||
"confirmations.redraft.confirm": "Jê bibe & ji nû ve serrast bike",
|
||||
"confirmations.redraft.message": "Bi rastî tu dixwazî şandî ye jê bibî û nûve reşnivîsek çê bikî? 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.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",
|
||||
|
@ -294,10 +294,11 @@
|
|||
"navigation_bar.discover": "Vekolê",
|
||||
"navigation_bar.domain_blocks": "Navparên astengkirî",
|
||||
"navigation_bar.edit_profile": "Profîl serrast bike",
|
||||
"navigation_bar.explore": "Vekole",
|
||||
"navigation_bar.favourites": "Bijarte",
|
||||
"navigation_bar.filters": "Peyvên bêdengkirî",
|
||||
"navigation_bar.follow_requests": "Daxwazên şopandinê",
|
||||
"navigation_bar.follows_and_followers": "Yên tê şopandin û şopîner",
|
||||
"navigation_bar.follows_and_followers": "Şopandin û şopîner",
|
||||
"navigation_bar.info": "Derbarê vî rajekarî",
|
||||
"navigation_bar.keyboard_shortcuts": "Bişkoka kurterê",
|
||||
"navigation_bar.lists": "Rêzok",
|
||||
|
@ -381,7 +382,7 @@
|
|||
"relative_time.full.hours": "{number, plural, one {# demjimêr} other {# demjimêr}} berê",
|
||||
"relative_time.full.just_now": "hema niha",
|
||||
"relative_time.full.minutes": "{number, plural, one {# xulek} other {# xulek}} berê",
|
||||
"relative_time.full.seconds": "{number, plural, one {# çirke} other {# çirke}} xulek",
|
||||
"relative_time.full.seconds": "{number, plural, one {# çirke} other {# çirke}} berê",
|
||||
"relative_time.hours": "{number}d",
|
||||
"relative_time.just_now": "niha",
|
||||
"relative_time.minutes": "{number}x",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "Edit profile",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favourites",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "Follow requests",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "발견하기",
|
||||
"navigation_bar.domain_blocks": "차단한 도메인",
|
||||
"navigation_bar.edit_profile": "프로필 편집",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "즐겨찾기",
|
||||
"navigation_bar.filters": "뮤트한 단어",
|
||||
"navigation_bar.follow_requests": "팔로우 요청",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "دۆزینەوە",
|
||||
"navigation_bar.domain_blocks": "دۆمەینە بلۆک کراوەکان",
|
||||
"navigation_bar.edit_profile": "دەستکاری پرۆفایل بکە",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "دڵخوازەکان",
|
||||
"navigation_bar.filters": "وشە کپەکان",
|
||||
"navigation_bar.follow_requests": "بەدواداچوی داواکاریەکان بکە",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Diskudha",
|
||||
"navigation_bar.domain_blocks": "Gorfarthow lettys",
|
||||
"navigation_bar.edit_profile": "Golegi profil",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Re drudh",
|
||||
"navigation_bar.filters": "Geryow tawhes",
|
||||
"navigation_bar.follow_requests": "Govynnow holya",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "Edit profile",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favourites",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "Follow requests",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Atklāt",
|
||||
"navigation_bar.domain_blocks": "Bloķētie domēni",
|
||||
"navigation_bar.edit_profile": "Rediģēt profilu",
|
||||
"navigation_bar.explore": "Pārlūkot",
|
||||
"navigation_bar.favourites": "Izlases",
|
||||
"navigation_bar.filters": "Klusināti vārdi",
|
||||
"navigation_bar.follow_requests": "Sekošanas pieprasījumi",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "Уреди профил",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Омилени",
|
||||
"navigation_bar.filters": "Замолќени зборови",
|
||||
"navigation_bar.follow_requests": "Следи покани",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "കണ്ടെത്തുക",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "പ്രൊഫൈൽ തിരുത്തുക",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "പ്രിയപ്പെട്ടവ",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "പിന്തുടരാനുള്ള അഭ്യർത്ഥനകൾ",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "Edit profile",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favourites",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "Follow requests",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Teroka",
|
||||
"navigation_bar.domain_blocks": "Domain disekat",
|
||||
"navigation_bar.edit_profile": "Sunting profil",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Kegemaran",
|
||||
"navigation_bar.filters": "Perkataan yang dibisukan",
|
||||
"navigation_bar.follow_requests": "Permintaan ikutan",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Ontdekken",
|
||||
"navigation_bar.domain_blocks": "Geblokkeerde domeinen",
|
||||
"navigation_bar.edit_profile": "Profiel bewerken",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favorieten",
|
||||
"navigation_bar.filters": "Filters",
|
||||
"navigation_bar.follow_requests": "Volgverzoeken",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Oppdag",
|
||||
"navigation_bar.domain_blocks": "Skjulte domene",
|
||||
"navigation_bar.edit_profile": "Rediger profil",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favorittar",
|
||||
"navigation_bar.filters": "Målbundne ord",
|
||||
"navigation_bar.follow_requests": "Fylgjeførespurnader",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Oppdag",
|
||||
"navigation_bar.domain_blocks": "Skjulte domener",
|
||||
"navigation_bar.edit_profile": "Rediger profil",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favoritter",
|
||||
"navigation_bar.filters": "Stilnede ord",
|
||||
"navigation_bar.follow_requests": "Følgeforespørsler",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Trobar",
|
||||
"navigation_bar.domain_blocks": "Domenis resconduts",
|
||||
"navigation_bar.edit_profile": "Modificar lo perfil",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favorits",
|
||||
"navigation_bar.filters": "Mots ignorats",
|
||||
"navigation_bar.follow_requests": "Demandas d’abonament",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "Edit profile",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favourites",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "Follow requests",
|
||||
|
|
|
@ -298,6 +298,7 @@
|
|||
"navigation_bar.discover": "Odkrywaj",
|
||||
"navigation_bar.domain_blocks": "Ukryte domeny",
|
||||
"navigation_bar.edit_profile": "Edytuj profil",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Ulubione",
|
||||
"navigation_bar.filters": "Wyciszone słowa",
|
||||
"navigation_bar.follow_requests": "Prośby o śledzenie",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Descobrir",
|
||||
"navigation_bar.domain_blocks": "Domínios bloqueados",
|
||||
"navigation_bar.edit_profile": "Editar perfil",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favoritos",
|
||||
"navigation_bar.filters": "Palavras filtradas",
|
||||
"navigation_bar.follow_requests": "Seguidores pendentes",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Descobrir",
|
||||
"navigation_bar.domain_blocks": "Domínios escondidos",
|
||||
"navigation_bar.edit_profile": "Editar perfil",
|
||||
"navigation_bar.explore": "Explorar",
|
||||
"navigation_bar.favourites": "Favoritos",
|
||||
"navigation_bar.filters": "Palavras silenciadas",
|
||||
"navigation_bar.follow_requests": "Seguidores pendentes",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Descoperă",
|
||||
"navigation_bar.domain_blocks": "Domenii blocate",
|
||||
"navigation_bar.edit_profile": "Modifică profilul",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favorite",
|
||||
"navigation_bar.filters": "Cuvinte ignorate",
|
||||
"navigation_bar.follow_requests": "Cereri de abonare",
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
"account.unblock_short": "Разблокировать",
|
||||
"account.unendorse": "Не рекомендовать в профиле",
|
||||
"account.unfollow": "Отписаться",
|
||||
"account.unmute": "Убрать {name} из игнорируемых",
|
||||
"account.unmute": "Не игнорировать @{name}",
|
||||
"account.unmute_notifications": "Показывать уведомления от @{name}",
|
||||
"account.unmute_short": "Не игнорировать",
|
||||
"account_note.placeholder": "Текст заметки",
|
||||
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Изучайте",
|
||||
"navigation_bar.domain_blocks": "Скрытые домены",
|
||||
"navigation_bar.edit_profile": "Изменить профиль",
|
||||
"navigation_bar.explore": "Обзор",
|
||||
"navigation_bar.favourites": "Избранное",
|
||||
"navigation_bar.filters": "Игнорируемые слова",
|
||||
"navigation_bar.follow_requests": "Запросы на подписку",
|
||||
|
@ -393,7 +394,7 @@
|
|||
"report.categories.other": "Другое",
|
||||
"report.categories.spam": "Спам",
|
||||
"report.categories.violation": "Содержимое нарушает одно или несколько правил узла",
|
||||
"report.category.subtitle": "Choose the best match",
|
||||
"report.category.subtitle": "Выберите наиболее подходящее",
|
||||
"report.category.title": "Расскажите нам, что происходит с {type}",
|
||||
"report.category.title_account": "профиль",
|
||||
"report.category.title_status": "пост",
|
||||
|
@ -402,21 +403,21 @@
|
|||
"report.forward": "Переслать в {target}",
|
||||
"report.forward_hint": "Эта учётная запись расположена на другом узле. Отправить туда анонимную копию вашей жалобы?",
|
||||
"report.mute": "Mute",
|
||||
"report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
|
||||
"report.mute_explanation": "Вы не будете видеть их посты. Они по-прежнему могут подписываться на вас и видеть ваши посты, но не будут знать, что они в списке игнорируемых.",
|
||||
"report.next": "Далее",
|
||||
"report.placeholder": "Комментарий",
|
||||
"report.reasons.dislike": "Мне не нравится",
|
||||
"report.reasons.dislike_description": "It is not something you want to see",
|
||||
"report.reasons.other": "It's something else",
|
||||
"report.reasons.dislike_description": "Не хотел(а) бы видеть такой контент",
|
||||
"report.reasons.other": "Другое",
|
||||
"report.reasons.other_description": "Проблема не подпадает под другие категории",
|
||||
"report.reasons.spam": "Это спам",
|
||||
"report.reasons.spam_description": "Вредоносные ссылки, поддельные действия или повторяющиеся ответы",
|
||||
"report.reasons.violation": "It violates server rules",
|
||||
"report.reasons.violation_description": "You are aware that it breaks specific rules",
|
||||
"report.rules.subtitle": "Select all that apply",
|
||||
"report.rules.title": "Which rules are being violated?",
|
||||
"report.statuses.subtitle": "Select all that apply",
|
||||
"report.statuses.title": "Are there any posts that back up this report?",
|
||||
"report.reasons.violation": "Нарушаются правила сервера",
|
||||
"report.reasons.violation_description": "Вы знаете, что подобное нарушает определенные правила",
|
||||
"report.rules.subtitle": "Выберите все подходящие варианты",
|
||||
"report.rules.title": "Какие правила нарушены?",
|
||||
"report.statuses.subtitle": "Выберите все подходящие варианты",
|
||||
"report.statuses.title": "Есть ли сообщения, подтверждающие основания этой жалобы?",
|
||||
"report.submit": "Отправить",
|
||||
"report.target": "Жалоба на {target}",
|
||||
"report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
|
||||
|
@ -437,7 +438,7 @@
|
|||
"search_results.hashtags": "Хэштеги",
|
||||
"search_results.nothing_found": "Could not find anything for these search terms",
|
||||
"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 {результатов}}",
|
||||
"status.admin_account": "Открыть интерфейс модератора для @{name}",
|
||||
"status.admin_status": "Открыть этот пост в интерфейсе модератора",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "Edit profile",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favourites",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "Follow requests",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Iscoberi",
|
||||
"navigation_bar.domain_blocks": "Domìnios blocados",
|
||||
"navigation_bar.edit_profile": "Modìfica profilu",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Preferidos",
|
||||
"navigation_bar.filters": "Faeddos a sa muda",
|
||||
"navigation_bar.follow_requests": "Rechestas de sighidura",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "පැතිකඩ සංස්කරණය",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "ප්රියතමයන්",
|
||||
"navigation_bar.filters": "නිහඬ කළ වචන",
|
||||
"navigation_bar.follow_requests": "Follow requests",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Objavuj",
|
||||
"navigation_bar.domain_blocks": "Skryté domény",
|
||||
"navigation_bar.edit_profile": "Uprav profil",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Obľúbené",
|
||||
"navigation_bar.filters": "Filtrované slová",
|
||||
"navigation_bar.follow_requests": "Žiadosti o sledovanie",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Odkrijte",
|
||||
"navigation_bar.domain_blocks": "Skrite domene",
|
||||
"navigation_bar.edit_profile": "Uredi profil",
|
||||
"navigation_bar.explore": "Razišči",
|
||||
"navigation_bar.favourites": "Priljubljeni",
|
||||
"navigation_bar.filters": "Utišane besede",
|
||||
"navigation_bar.follow_requests": "Prošnje za sledenje",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Zbuloni",
|
||||
"navigation_bar.domain_blocks": "Përkatësi të bllokuara",
|
||||
"navigation_bar.edit_profile": "Përpunoni profilin",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Të parapëlqyer",
|
||||
"navigation_bar.filters": "Fjalë të heshtuara",
|
||||
"navigation_bar.follow_requests": "Kërkesa për ndjekje",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "Izmeni profil",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Omiljeni",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "Zahtevi za praćenje",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Откриј",
|
||||
"navigation_bar.domain_blocks": "Сакривени домени",
|
||||
"navigation_bar.edit_profile": "Измени налог",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Омиљене",
|
||||
"navigation_bar.filters": "Пригушене речи",
|
||||
"navigation_bar.follow_requests": "Захтеви за праћење",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Upptäck",
|
||||
"navigation_bar.domain_blocks": "Dolda domäner",
|
||||
"navigation_bar.edit_profile": "Redigera profil",
|
||||
"navigation_bar.explore": "Utforska",
|
||||
"navigation_bar.favourites": "Favoriter",
|
||||
"navigation_bar.filters": "Tystade ord",
|
||||
"navigation_bar.follow_requests": "Följförfrågningar",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "Edit profile",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favourites",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "Follow requests",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "கண்டு பிடி",
|
||||
"navigation_bar.domain_blocks": "மறைந்த களங்கள்",
|
||||
"navigation_bar.edit_profile": "சுயவிவரத்தைத் திருத்தவும்",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "விருப்பத்துக்குகந்த",
|
||||
"navigation_bar.filters": "முடக்கப்பட்ட வார்த்தைகள்",
|
||||
"navigation_bar.follow_requests": "கோரிக்கைகளை பின்பற்றவும்",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "Edit profile",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favourites",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "Follow requests",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "కనుగొను",
|
||||
"navigation_bar.domain_blocks": "దాచిన డొమైన్లు",
|
||||
"navigation_bar.edit_profile": "ప్రొఫైల్ని సవరించండి",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "ఇష్టపడినవి",
|
||||
"navigation_bar.filters": "మ్యూట్ చేయబడిన పదాలు",
|
||||
"navigation_bar.follow_requests": "అనుసరించడానికి అభ్యర్ధనలు",
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
"account.followers": "ผู้ติดตาม",
|
||||
"account.followers.empty": "ยังไม่มีใครติดตามผู้ใช้นี้",
|
||||
"account.followers_counter": "{count, plural, other {{counter} ผู้ติดตาม}}",
|
||||
"account.following": "Following",
|
||||
"account.following": "กำลังติดตาม",
|
||||
"account.following_counter": "{count, plural, other {{counter} กำลังติดตาม}}",
|
||||
"account.follows.empty": "ผู้ใช้นี้ยังไม่ได้ติดตามใคร",
|
||||
"account.follows_you": "ติดตามคุณ",
|
||||
|
@ -41,15 +41,15 @@
|
|||
"account.statuses_counter": "{count, plural, other {{counter} โพสต์}}",
|
||||
"account.unblock": "เลิกปิดกั้น @{name}",
|
||||
"account.unblock_domain": "เลิกปิดกั้นโดเมน {domain}",
|
||||
"account.unblock_short": "Unblock",
|
||||
"account.unblock_short": "เลิกปิดกั้น",
|
||||
"account.unendorse": "ไม่แนะนำในโปรไฟล์",
|
||||
"account.unfollow": "เลิกติดตาม",
|
||||
"account.unmute": "เลิกซ่อน @{name}",
|
||||
"account.unmute_notifications": "เลิกซ่อนการแจ้งเตือนจาก @{name}",
|
||||
"account.unmute_short": "Unmute",
|
||||
"account.unmute_short": "เลิกซ่อน",
|
||||
"account_note.placeholder": "คลิกเพื่อเพิ่มหมายเหตุ",
|
||||
"admin.dashboard.daily_retention": "User retention rate by day after sign-up",
|
||||
"admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
|
||||
"admin.dashboard.daily_retention": "อัตราการรักษาผู้ใช้ตามวันหลังจากลงทะเบียน",
|
||||
"admin.dashboard.monthly_retention": "อัตราการรักษาผู้ใช้ตามเดือนหลังจากลงทะเบียน",
|
||||
"admin.dashboard.retention.average": "ค่าเฉลี่ย",
|
||||
"admin.dashboard.retention.cohort": "เดือนที่ลงทะเบียน",
|
||||
"admin.dashboard.retention.cohort_size": "ผู้ใช้ใหม่",
|
||||
|
@ -133,7 +133,7 @@
|
|||
"confirmations.redraft.confirm": "ลบแล้วร่างใหม่",
|
||||
"confirmations.redraft.message": "คุณแน่ใจหรือไม่ว่าต้องการลบโพสต์นี้แล้วร่างโพสต์ใหม่? รายการโปรดและการดันจะหายไป และการตอบกลับโพสต์ดั้งเดิมจะไม่มีความเกี่ยวพัน",
|
||||
"confirmations.reply.confirm": "ตอบกลับ",
|
||||
"confirmations.reply.message": "การตอบกลับในตอนนี้จะเขียนทับข้อความที่คุณกำลังเขียน คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?",
|
||||
"confirmations.reply.message": "การตอบกลับในตอนนี้จะเขียนทับข้อความที่คุณกำลังเขียนในปัจจุบัน คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?",
|
||||
"confirmations.unfollow.confirm": "เลิกติดตาม",
|
||||
"confirmations.unfollow.message": "คุณแน่ใจหรือไม่ว่าต้องการเลิกติดตาม {name}?",
|
||||
"conversation.delete": "ลบการสนทนา",
|
||||
|
@ -168,7 +168,7 @@
|
|||
"empty_column.community": "เส้นเวลาในเซิร์ฟเวอร์ว่างเปล่า เขียนบางอย่างเป็นสาธารณะเพื่อเริ่มต้น!",
|
||||
"empty_column.direct": "คุณยังไม่มีข้อความโดยตรงใด ๆ เมื่อคุณส่งหรือรับข้อความ ข้อความจะปรากฏที่นี่",
|
||||
"empty_column.domain_blocks": "ยังไม่มีโดเมนที่ปิดกั้นอยู่",
|
||||
"empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
|
||||
"empty_column.explore_statuses": "ไม่มีสิ่งใดที่กำลังนิยมในตอนนี้ กลับมาตรวจสอบในภายหลัง!",
|
||||
"empty_column.favourited_statuses": "คุณยังไม่มีโพสต์ที่ชื่นชอบใด ๆ เมื่อคุณชื่นชอบโพสต์ โพสต์จะปรากฏที่นี่",
|
||||
"empty_column.favourites": "ยังไม่มีใครชื่นชอบโพสต์นี้ เมื่อใครสักคนชื่นชอบ เขาจะปรากฏที่นี่",
|
||||
"empty_column.follow_recommendations": "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.domain_blocks": "โดเมนที่ปิดกั้นอยู่",
|
||||
"navigation_bar.edit_profile": "แก้ไขโปรไฟล์",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "รายการโปรด",
|
||||
"navigation_bar.filters": "คำที่ซ่อนอยู่",
|
||||
"navigation_bar.follow_requests": "คำขอติดตาม",
|
||||
|
@ -389,42 +390,42 @@
|
|||
"relative_time.today": "วันนี้",
|
||||
"reply_indicator.cancel": "ยกเลิก",
|
||||
"report.block": "ปิดกั้น",
|
||||
"report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
|
||||
"report.block_explanation": "คุณจะไม่เห็นโพสต์ของเขา เขาจะไม่สามารถเห็นโพสต์ของคุณหรือติดตามคุณ เขาจะสามารถบอกได้ว่ามีการปิดกั้นเขา",
|
||||
"report.categories.other": "อื่น ๆ",
|
||||
"report.categories.spam": "สแปม",
|
||||
"report.categories.violation": "เนื้อหาละเมิดหนึ่งกฎของเซิร์ฟเวอร์หรือมากกว่า",
|
||||
"report.category.subtitle": "Choose the best match",
|
||||
"report.category.title": "Tell us what's going on with this {type}",
|
||||
"report.category.subtitle": "เลือกที่ตรงกันที่สุด",
|
||||
"report.category.title": "บอกเราว่าเกิดอะไรขึ้นกับ {type} นี้",
|
||||
"report.category.title_account": "โปรไฟล์",
|
||||
"report.category.title_status": "โพสต์",
|
||||
"report.close": "เสร็จสิ้น",
|
||||
"report.comment.title": "Is there anything else you think we should know?",
|
||||
"report.comment.title": "มีสิ่งอื่นใดที่คุณคิดว่าเราควรทราบหรือไม่?",
|
||||
"report.forward": "ส่งต่อไปยัง {target}",
|
||||
"report.forward_hint": "บัญชีมาจากเซิร์ฟเวอร์อื่น ส่งสำเนาของรายงานที่ไม่ระบุตัวตนไปที่นั่นด้วย?",
|
||||
"report.mute": "ซ่อน",
|
||||
"report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
|
||||
"report.mute_explanation": "คุณจะไม่เห็นโพสต์ของเขา เขายังสามารถติดตามคุณและเห็นโพสต์ของคุณและจะไม่ทราบว่ามีการซ่อนเขา",
|
||||
"report.next": "ถัดไป",
|
||||
"report.placeholder": "ความคิดเห็นเพิ่มเติม",
|
||||
"report.reasons.dislike": "I don't like it",
|
||||
"report.reasons.dislike_description": "It is not something you want to see",
|
||||
"report.reasons.other": "It's something else",
|
||||
"report.reasons.other_description": "The issue does not fit into other categories",
|
||||
"report.reasons.spam": "It's spam",
|
||||
"report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
|
||||
"report.reasons.violation": "It violates server rules",
|
||||
"report.reasons.violation_description": "You are aware that it breaks specific rules",
|
||||
"report.rules.subtitle": "Select all that apply",
|
||||
"report.rules.title": "Which rules are being violated?",
|
||||
"report.statuses.subtitle": "Select all that apply",
|
||||
"report.statuses.title": "Are there any posts that back up this report?",
|
||||
"report.reasons.dislike": "ฉันไม่ชอบโพสต์",
|
||||
"report.reasons.dislike_description": "โพสต์ไม่ใช่บางอย่างที่คุณต้องการเห็น",
|
||||
"report.reasons.other": "โพสต์เป็นอย่างอื่น",
|
||||
"report.reasons.other_description": "ปัญหาไม่เข้าหมวดหมู่อื่น ๆ",
|
||||
"report.reasons.spam": "โพสต์เป็นสแปม",
|
||||
"report.reasons.spam_description": "ลิงก์ที่เป็นอันตราย, การมีส่วนร่วมปลอม หรือการตอบกลับซ้ำ ๆ",
|
||||
"report.reasons.violation": "โพสต์ละเมิดกฎของเซิร์ฟเวอร์",
|
||||
"report.reasons.violation_description": "คุณทราบว่าโพสต์แหกกฎเฉพาะ",
|
||||
"report.rules.subtitle": "เลือกทั้งหมดที่นำไปใช้",
|
||||
"report.rules.title": "กำลังละเมิดกฎใด?",
|
||||
"report.statuses.subtitle": "เลือกทั้งหมดที่นำไปใช้",
|
||||
"report.statuses.title": "มีโพสต์ใด ๆ ที่สนับสนุนรายงานนี้หรือไม่?",
|
||||
"report.submit": "ส่ง",
|
||||
"report.target": "กำลังรายงาน {target}",
|
||||
"report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
|
||||
"report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
|
||||
"report.thanks.title": "Don't want to see this?",
|
||||
"report.thanks.take_action": "นี่คือตัวเลือกของคุณสำหรับการควบคุมสิ่งที่คุณเห็นใน Mastodon:",
|
||||
"report.thanks.take_action_actionable": "ขณะที่เราตรวจทานสิ่งนี้ คุณสามารถดำเนินการกับ @{name}:",
|
||||
"report.thanks.title": "ไม่ต้องการเห็นสิ่งนี้?",
|
||||
"report.thanks.title_actionable": "ขอบคุณสำหรับการรายงาน เราจะตรวจสอบสิ่งนี้",
|
||||
"report.unfollow": "เลิกติดตาม @{name}",
|
||||
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
|
||||
"report.unfollow_explanation": "คุณกำลังติดตามบัญชีนี้ เพื่อไม่ให้เห็นโพสต์ของเขาในฟีดหน้าแรกของคุณอีกต่อไป เลิกติดตามเขา",
|
||||
"search.placeholder": "ค้นหา",
|
||||
"search_popout.search_format": "รูปแบบการค้นหาขั้นสูง",
|
||||
"search_popout.tips.full_text": "ข้อความแบบง่ายส่งคืนโพสต์ที่คุณได้เขียน ชื่นชอบ ดัน หรือได้รับการกล่าวถึง ตลอดจนชื่อผู้ใช้, ชื่อที่แสดง และแฮชแท็กที่ตรงกัน",
|
||||
|
@ -435,7 +436,7 @@
|
|||
"search_results.accounts": "ผู้คน",
|
||||
"search_results.all": "ทั้งหมด",
|
||||
"search_results.hashtags": "แฮชแท็ก",
|
||||
"search_results.nothing_found": "Could not find anything for these search terms",
|
||||
"search_results.nothing_found": "ไม่พบสิ่งใดสำหรับคำค้นหาเหล่านี้",
|
||||
"search_results.statuses": "โพสต์",
|
||||
"search_results.statuses_fts_disabled": "ไม่มีการเปิดใช้งานการค้นหาโพสต์โดยเนื้อหาของโพสต์ในเซิร์ฟเวอร์ Mastodon นี้",
|
||||
"search_results.total": "{count, number} {count, plural, other {ผลลัพธ์}}",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Keşfet",
|
||||
"navigation_bar.domain_blocks": "Engellenen alan adları",
|
||||
"navigation_bar.edit_profile": "Profili düzenle",
|
||||
"navigation_bar.explore": "Keşfet",
|
||||
"navigation_bar.favourites": "Favoriler",
|
||||
"navigation_bar.filters": "Sessize alınmış kelimeler",
|
||||
"navigation_bar.follow_requests": "Takip istekleri",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "Профильны үзгәртү",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favourites",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "Follow requests",
|
||||
|
@ -395,7 +396,7 @@
|
|||
"report.categories.violation": "Content violates one or more server rules",
|
||||
"report.category.subtitle": "Choose the best match",
|
||||
"report.category.title": "Tell us what's going on with this {type}",
|
||||
"report.category.title_account": "profile",
|
||||
"report.category.title_account": "профиль",
|
||||
"report.category.title_status": "post",
|
||||
"report.close": "Done",
|
||||
"report.comment.title": "Is there anything else you think we should know?",
|
||||
|
@ -478,9 +479,9 @@
|
|||
"status.report": "Report @{name}",
|
||||
"status.sensitive_warning": "Sensitive content",
|
||||
"status.share": "Уртаклашу",
|
||||
"status.show_less": "Show less",
|
||||
"status.show_less": "Әзрәк күрсәтү",
|
||||
"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_thread": "Show thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "Edit profile",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favourites",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "Follow requests",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Знайти",
|
||||
"navigation_bar.domain_blocks": "Приховані домени",
|
||||
"navigation_bar.edit_profile": "Редагувати профіль",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Вподобане",
|
||||
"navigation_bar.filters": "Приховані слова",
|
||||
"navigation_bar.follow_requests": "Запити на підписку",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "دریافت کریں",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "پروفائل میں ترمیم کریں",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "پسندیدہ",
|
||||
"navigation_bar.filters": "خاموش کردہ الفاظ",
|
||||
"navigation_bar.follow_requests": "پیروی کی درخواستیں",
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
"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_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.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.",
|
||||
|
@ -37,7 +37,7 @@
|
|||
"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.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.unblock": "Bỏ chặn @{name}",
|
||||
"account.unblock_domain": "Bỏ ẩn {domain}",
|
||||
|
@ -60,7 +60,7 @@
|
|||
"announcement.announcement": "Thông báo chung",
|
||||
"attachments_list.unprocessed": "(chưa xử lí)",
|
||||
"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.retry": "Thử lại",
|
||||
"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.message": "Bạn thật sự muốn ẩn {name}?",
|
||||
"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.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",
|
||||
|
@ -218,7 +218,7 @@
|
|||
"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",
|
||||
"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.hide_announcements": "Ẩ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}}",
|
||||
"keyboard_shortcuts.back": "trở lại",
|
||||
"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.compose": "mở khung soạn tút",
|
||||
"keyboard_shortcuts.description": "Mô tả",
|
||||
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Khám phá",
|
||||
"navigation_bar.domain_blocks": "Máy chủ đã ẩn",
|
||||
"navigation_bar.edit_profile": "Trang cá nhân",
|
||||
"navigation_bar.explore": "Khám phá",
|
||||
"navigation_bar.favourites": "Thích",
|
||||
"navigation_bar.filters": "Bộ lọc từ ngữ",
|
||||
"navigation_bar.follow_requests": "Yêu cầu theo dõi",
|
||||
|
@ -315,7 +316,7 @@
|
|||
"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.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.update": "{name} đã viết lại một tút",
|
||||
"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.poll": "Kết quả bình chọn:",
|
||||
"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.sound": "Kèm theo tiếng \"bíp\"",
|
||||
"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.update": "Lượt sửa:",
|
||||
"notifications.filter.all": "Toàn bộ",
|
||||
"notifications.filter.boosts": "Chia sẻ",
|
||||
"notifications.filter.boosts": "Đăng lại",
|
||||
"notifications.filter.favourites": "Thích",
|
||||
"notifications.filter.follows": "Đang theo dõi",
|
||||
"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.",
|
||||
"search.placeholder": "Tìm kiếm",
|
||||
"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.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",
|
||||
|
@ -443,8 +444,8 @@
|
|||
"status.admin_status": "Mở tút này trong giao diện quản trị",
|
||||
"status.block": "Chặn @{name}",
|
||||
"status.bookmark": "Lưu",
|
||||
"status.cancel_reblog_private": "Hủy chia sẻ",
|
||||
"status.cannot_reblog": "Không thể chia sẻ tút này",
|
||||
"status.cancel_reblog_private": "Hủy đăng lại",
|
||||
"status.cannot_reblog": "Không thể đăng lại tút này",
|
||||
"status.copy": "Sao chép URL",
|
||||
"status.delete": "Xóa",
|
||||
"status.detailed_status": "Xem chi tiết thêm",
|
||||
|
@ -467,10 +468,10 @@
|
|||
"status.pin": "Ghim lên trang cá nhân",
|
||||
"status.pinned": "Tút đã ghim",
|
||||
"status.read_more": "Đọc tiếp",
|
||||
"status.reblog": "Chia sẻ",
|
||||
"status.reblog_private": "Chia sẻ (Riêng tư)",
|
||||
"status.reblogged_by": "{name} chia sẻ",
|
||||
"status.reblogs.empty": "Tút này chưa có ai chia sẻ. Nếu có, nó sẽ hiển thị ở đây.",
|
||||
"status.reblog": "Đăng lại",
|
||||
"status.reblog_private": "Đăng lại (Riêng tư)",
|
||||
"status.reblogged_by": "{name} đăng lại",
|
||||
"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.remove_bookmark": "Bỏ lưu",
|
||||
"status.reply": "Trả lời",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "ⵙⵏⴼⵍ ⵉⴼⵔⵙ",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "Favourites",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "ⵜⵓⵜⵔⴰⵡⵉⵏ ⵏ ⵓⴹⴼⴰⵕ",
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
"account.followers": "关注者",
|
||||
"account.followers.empty": "目前无人关注此用户。",
|
||||
"account.followers_counter": "被 {counter} 人关注",
|
||||
"account.following": "Following",
|
||||
"account.following": "正在关注",
|
||||
"account.following_counter": "正在关注 {counter} 人",
|
||||
"account.follows.empty": "此用户目前尚未关注任何人。",
|
||||
"account.follows_you": "关注了你",
|
||||
|
@ -41,12 +41,12 @@
|
|||
"account.statuses_counter": "{counter} 条嘟文",
|
||||
"account.unblock": "解除屏蔽 @{name}",
|
||||
"account.unblock_domain": "不再屏蔽 {domain} 实例",
|
||||
"account.unblock_short": "Unblock",
|
||||
"account.unblock_short": "移出黑名单",
|
||||
"account.unendorse": "不在个人资料中推荐此用户",
|
||||
"account.unfollow": "取消关注",
|
||||
"account.unmute": "不再隐藏 @{name}",
|
||||
"account.unmute_notifications": "不再隐藏来自 @{name} 的通知",
|
||||
"account.unmute_short": "Unmute",
|
||||
"account.unmute_short": "恢复消息提醒",
|
||||
"account_note.placeholder": "点击添加备注",
|
||||
"admin.dashboard.daily_retention": "注册后用户留存率(按日计算)",
|
||||
"admin.dashboard.monthly_retention": "注册后用户留存率(按月计算)",
|
||||
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "发现",
|
||||
"navigation_bar.domain_blocks": "已屏蔽的网站",
|
||||
"navigation_bar.edit_profile": "修改个人资料",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "喜欢",
|
||||
"navigation_bar.filters": "隐藏关键词",
|
||||
"navigation_bar.follow_requests": "关注请求",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "探索",
|
||||
"navigation_bar.domain_blocks": "封鎖的服務站",
|
||||
"navigation_bar.edit_profile": "修改個人資料",
|
||||
"navigation_bar.explore": "Explore",
|
||||
"navigation_bar.favourites": "最愛的內容",
|
||||
"navigation_bar.filters": "靜音詞彙",
|
||||
"navigation_bar.follow_requests": "關注請求",
|
||||
|
|
|
@ -294,6 +294,7 @@
|
|||
"navigation_bar.discover": "探索",
|
||||
"navigation_bar.domain_blocks": "隱藏的網域",
|
||||
"navigation_bar.edit_profile": "編輯個人資料",
|
||||
"navigation_bar.explore": "探索",
|
||||
"navigation_bar.favourites": "最愛",
|
||||
"navigation_bar.filters": "靜音詞彙",
|
||||
"navigation_bar.follow_requests": "跟隨請求",
|
||||
|
|
|
@ -22,6 +22,16 @@ class Admin::AccountAction
|
|||
|
||||
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)
|
||||
@send_email_notification = ActiveModel::Type::Boolean.new.cast(value)
|
||||
end
|
||||
|
@ -141,11 +151,11 @@ class Admin::AccountAction
|
|||
end
|
||||
|
||||
def warnable?
|
||||
send_email_notification && target_account.local?
|
||||
send_email_notification? && target_account.local?
|
||||
end
|
||||
|
||||
def status_ids
|
||||
report.status_ids if with_report? && include_statuses
|
||||
report.status_ids if with_report? && include_statuses?
|
||||
end
|
||||
|
||||
def reports
|
||||
|
|
|
@ -63,13 +63,6 @@ class Notification < ApplicationRecord
|
|||
|
||||
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
|
||||
@type ||= (super || LEGACY_TYPE_CLASS_MAP[activity_type]).to_sym
|
||||
end
|
||||
|
@ -90,6 +83,23 @@ class Notification < ApplicationRecord
|
|||
end
|
||||
|
||||
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)
|
||||
notifications.group_by(&:type).each do |type, grouped_notifications|
|
||||
associations = TARGET_STATUS_INCLUDES_BY_TYPE[type]
|
||||
|
|
|
@ -80,6 +80,10 @@ class PreviewCard < ApplicationRecord
|
|||
end
|
||||
end
|
||||
|
||||
def requires_review?
|
||||
attributes['trendable'].nil? && (provider.nil? || provider.requires_review?)
|
||||
end
|
||||
|
||||
def requires_review_notification?
|
||||
attributes['trendable'].nil? && (provider.nil? || provider.requires_review_notification?)
|
||||
end
|
||||
|
|
|
@ -300,6 +300,10 @@ class Status < ApplicationRecord
|
|||
end
|
||||
end
|
||||
|
||||
def requires_review?
|
||||
attributes['trendable'].nil? && account.requires_review?
|
||||
end
|
||||
|
||||
def requires_review_notification?
|
||||
attributes['trendable'].nil? && account.requires_review_notification?
|
||||
end
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue