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

This commit is contained in:
Claire 2023-02-10 22:49:59 +01:00
commit 87419f9307
57 changed files with 841 additions and 206 deletions

View File

@ -1,23 +0,0 @@
version = 1
test_patterns = ["app/javascript/mastodon/**/__tests__/**"]
exclude_patterns = [
"db/migrate/**",
"db/post_migrate/**"
]
[[analyzers]]
name = "ruby"
enabled = true
[[analyzers]]
name = "javascript"
enabled = true
[analyzers.meta]
environment = [
"browser",
"jest",
"nodejs"
]

View File

@ -3,19 +3,27 @@ Changelog
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## [4.1.0] - UNRELEASED ## [4.1.0] - 2023-02-10
### Added ### Added
- **Add support for importing/exporting server-wide domain blocks** ([enbylenore](https://github.com/mastodon/mastodon/pull/20597), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/21471), [dariusk](https://github.com/mastodon/mastodon/pull/22803), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/21470)) - **Add support for importing/exporting server-wide domain blocks** ([enbylenore](https://github.com/mastodon/mastodon/pull/20597), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/21471), [dariusk](https://github.com/mastodon/mastodon/pull/22803), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/21470))
- Add listing of followed hashtags ([connorshea](https://github.com/mastodon/mastodon/pull/21773)) - **Add listing of followed hashtags** ([connorshea](https://github.com/mastodon/mastodon/pull/21773))
- Add support for editing media description and focus point of already-sent posts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20878)) - **Add support for editing media description and focus point of already-sent posts** ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20878))
- Add follow request banner on account header ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20785)) - Previously, you could add and remove attachments, but not edit media description of already-attached media
- Add confirmation screen when handling reports ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22375), [Gargron](https://github.com/mastodon/mastodon/pull/23156), [tribela](https://github.com/mastodon/mastodon/pull/23178)) - REST API changes:
- `PUT /api/v1/statuses/:id` now takes an extra `media_attributes[]` array parameter with the `id` of the updated media and their updated `description`, `focus`, and `thumbnail`
- **Add follow request banner on account header** ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20785))
- REST API changes:
- `Relationship` entities have an extra `requested_by` boolean attribute representing whether the represented user has requested to follow you
- **Add confirmation screen when handling reports** ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22375), [Gargron](https://github.com/mastodon/mastodon/pull/23156), [tribela](https://github.com/mastodon/mastodon/pull/23178))
- Add option to make the landing page be `/about` even when trends are enabled ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20808)) - Add option to make the landing page be `/about` even when trends are enabled ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20808))
- Add `noindex` setting back to the admin interface ([prplecake](https://github.com/mastodon/mastodon/pull/22205)) - Add `noindex` setting back to the admin interface ([prplecake](https://github.com/mastodon/mastodon/pull/22205))
- Add instance peers API endpoint toggle back to the admin interface ([dariusk](https://github.com/mastodon/mastodon/pull/22810)) - Add instance peers API endpoint toggle back to the admin interface ([dariusk](https://github.com/mastodon/mastodon/pull/22810))
- Add instance activity API endpoint toggle back to the admin interface ([dariusk](https://github.com/mastodon/mastodon/pull/22833)) - Add instance activity API endpoint toggle back to the admin interface ([dariusk](https://github.com/mastodon/mastodon/pull/22833))
- Add setting for status page URL ([Gargron](https://github.com/mastodon/mastodon/pull/23390), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/23499))
- REST API changes:
- Add `configuration.urls.status` attribute to the object returned by `GET /api/v1/instance`
- Add `account.approved` webhook ([Saiv46](https://github.com/mastodon/mastodon/pull/22938)) - Add `account.approved` webhook ([Saiv46](https://github.com/mastodon/mastodon/pull/22938))
- Add 12 hours option to polls ([Pleclown](https://github.com/mastodon/mastodon/pull/21131)) - Add 12 hours option to polls ([Pleclown](https://github.com/mastodon/mastodon/pull/21131))
- Add dropdown menu item to open admin interface for remote domains ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21895)) - Add dropdown menu item to open admin interface for remote domains ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21895))
@ -25,6 +33,7 @@ All notable changes to this project will be documented in this file.
- Add `tootctl accounts prune` ([tribela](https://github.com/mastodon/mastodon/pull/18397)) - Add `tootctl accounts prune` ([tribela](https://github.com/mastodon/mastodon/pull/18397))
- Add `tootctl domains purge` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22063)) - Add `tootctl domains purge` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22063))
- Add `SIDEKIQ_CONCURRENCY` environment variable ([muffinista](https://github.com/mastodon/mastodon/pull/19589)) - Add `SIDEKIQ_CONCURRENCY` environment variable ([muffinista](https://github.com/mastodon/mastodon/pull/19589))
- Add `DB_POOL` environment variable support for streaming server ([Gargron](https://github.com/mastodon/mastodon/pull/23470))
- Add `MIN_THREADS` environment variable to set minimum Puma threads ([jimeh](https://github.com/mastodon/mastodon/pull/21048)) - Add `MIN_THREADS` environment variable to set minimum Puma threads ([jimeh](https://github.com/mastodon/mastodon/pull/21048))
- Add explanation text to log-in page ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20946)) - Add explanation text to log-in page ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20946))
- Add user profile OpenGraph tag on post pages ([bramus](https://github.com/mastodon/mastodon/pull/21423)) - Add user profile OpenGraph tag on post pages ([bramus](https://github.com/mastodon/mastodon/pull/21423))
@ -39,12 +48,14 @@ All notable changes to this project will be documented in this file.
- Add “disabled” account filter to the `/admin/accounts` UI ([tribela](https://github.com/mastodon/mastodon/pull/21282)) - Add “disabled” account filter to the `/admin/accounts` UI ([tribela](https://github.com/mastodon/mastodon/pull/21282))
- Add transparency to modal background for accessibility ([edent](https://github.com/mastodon/mastodon/pull/18081)) - Add transparency to modal background for accessibility ([edent](https://github.com/mastodon/mastodon/pull/18081))
- Add `lang` attribute to image description textarea and poll option field ([c960657](https://github.com/mastodon/mastodon/pull/23293)) - Add `lang` attribute to image description textarea and poll option field ([c960657](https://github.com/mastodon/mastodon/pull/23293))
- Add `spellcheck` attribute to Content Warning and poll option input fields ([c960657](https://github.com/mastodon/mastodon/pull/23395))
- Add `title` attribute to video elements in media attachments ([bramus](https://github.com/mastodon/mastodon/pull/21420)) - Add `title` attribute to video elements in media attachments ([bramus](https://github.com/mastodon/mastodon/pull/21420))
- Add left and right margins to emojis ([dsblank](https://github.com/mastodon/mastodon/pull/20464)) - Add left and right margins to emojis ([dsblank](https://github.com/mastodon/mastodon/pull/20464))
- Add `roles` attribute to `Account` entities in REST API ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23255)) - Add `roles` attribute to `Account` entities in REST API ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23255), [tribela](https://github.com/mastodon/mastodon/pull/23428))
- Add `reading:autoplay:gifs` to `/api/v1/preferences` ([j-f1](https://github.com/mastodon/mastodon/pull/22706)) - Add `reading:autoplay:gifs` to `/api/v1/preferences` ([j-f1](https://github.com/mastodon/mastodon/pull/22706))
- Add `hide_collections` parameter to `/api/v1/accounts/credentials` ([CarlSchwan](https://github.com/mastodon/mastodon/pull/22790)) - Add `hide_collections` parameter to `/api/v1/accounts/credentials` ([CarlSchwan](https://github.com/mastodon/mastodon/pull/22790))
- Add `policy` attribute to web push subscription objects in `/api/v1/push/subscriptions` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23210)) - Add `policy` attribute to web push subscription objects in REST API at `/api/v1/push/subscriptions` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23210))
- Add metrics endpoint to streaming API ([Gargron](https://github.com/mastodon/mastodon/pull/23388), [Gargron](https://github.com/mastodon/mastodon/pull/23469))
- Add more specific error messages to HTTP signature verification ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21617)) - Add more specific error messages to HTTP signature verification ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21617))
- Add Storj DCS to cloud object storage options in the `mastodon:setup` rake task ([jtolio](https://github.com/mastodon/mastodon/pull/21929)) - Add Storj DCS to cloud object storage options in the `mastodon:setup` rake task ([jtolio](https://github.com/mastodon/mastodon/pull/21929))
- Add checkmark symbol in the checkbox for sensitive media ([sidp](https://github.com/mastodon/mastodon/pull/22795)) - Add checkmark symbol in the checkbox for sensitive media ([sidp](https://github.com/mastodon/mastodon/pull/22795))
@ -110,13 +121,15 @@ All notable changes to this project will be documented in this file.
- Remove `object-fit` polyfill used for old versions of Microsoft Edge ([shuuji3](https://github.com/mastodon/mastodon/pull/22693)) - Remove `object-fit` polyfill used for old versions of Microsoft Edge ([shuuji3](https://github.com/mastodon/mastodon/pull/22693))
- Remove `intersection-observer` polyfill for old Safari support ([shuuji3](https://github.com/mastodon/mastodon/pull/23284)) - Remove `intersection-observer` polyfill for old Safari support ([shuuji3](https://github.com/mastodon/mastodon/pull/23284))
- Remove empty `title` tag from mailer layout ([nametoolong](https://github.com/mastodon/mastodon/pull/23078)) - Remove empty `title` tag from mailer layout ([nametoolong](https://github.com/mastodon/mastodon/pull/23078))
- Remove post count and last posts from ActivityPub representation of hashtag collections ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23460))
### Fixed ### Fixed
- **Fix changing domain block severity not undoing individual account effects** ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22135)) - **Fix changing domain block severity not undoing individual account effects** ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22135))
- Fix suspension worker crashing on S3-compatible setups without ACL support ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22487)) - Fix suspension worker crashing on S3-compatible setups without ACL support ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22487))
- Fix possible race conditions when suspending/unsuspending accounts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22363)) - Fix possible race conditions when suspending/unsuspending accounts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22363))
- Fix being stuck in edit mode when deleting the edited status ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22126)) - Fix being stuck in edit mode when deleting the edited posts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22126))
- Fix attached media uploads not being cleared when replying to a post ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23504))
- Fix filters not being applied to some notification types ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23211)) - Fix filters not being applied to some notification types ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23211))
- Fix incorrect link in push notifications for some event types ([elizabeth-dev](https://github.com/mastodon/mastodon/pull/23286)) - Fix incorrect link in push notifications for some event types ([elizabeth-dev](https://github.com/mastodon/mastodon/pull/23286))
- Fix some performance issues with `/admin/instances` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21907)) - Fix some performance issues with `/admin/instances` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21907))
@ -125,16 +138,18 @@ All notable changes to this project will be documented in this file.
- Fix account activation being sometimes triggered before email confirmation ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23245)) - Fix account activation being sometimes triggered before email confirmation ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23245))
- Fix missing OAuth scopes for admin APIs ([trwnh](https://github.com/mastodon/mastodon/pull/20918), [trwnh](https://github.com/mastodon/mastodon/pull/20979)) - Fix missing OAuth scopes for admin APIs ([trwnh](https://github.com/mastodon/mastodon/pull/20918), [trwnh](https://github.com/mastodon/mastodon/pull/20979))
- Fix voter count not being cleared when a poll is reset ([afontenot](https://github.com/mastodon/mastodon/pull/21700)) - Fix voter count not being cleared when a poll is reset ([afontenot](https://github.com/mastodon/mastodon/pull/21700))
- Fix attachments of edited statuses not being fetched ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21565)) - Fix attachments of edited posts not being fetched ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21565))
- Fix irreversible and whole_word parameters handling in `/api/v1/filters` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21988)) - Fix irreversible and whole_word parameters handling in `/api/v1/filters` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21988))
- Fix 500 error when marking posts as sensitive while some of them are deleted ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22134)) - Fix 500 error when marking posts as sensitive while some of them are deleted ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22134))
- Fix expanded statuses not always being scrolled into view ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21797)) - Fix expanded posts not always being scrolled into view ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21797))
- Fix not being able to scroll the remote interaction modal on small screens ([xendke](https://github.com/mastodon/mastodon/pull/21763)) - Fix not being able to scroll the remote interaction modal on small screens ([xendke](https://github.com/mastodon/mastodon/pull/21763))
- Fix not being able to scroll in post history modal ([cadars](https://github.com/mastodon/mastodon/pull/23396))
- Fix audio player volume control on Safari ([minacle](https://github.com/mastodon/mastodon/pull/23187)) - Fix audio player volume control on Safari ([minacle](https://github.com/mastodon/mastodon/pull/23187))
- Fix disappearing “Explore” tabs on Safari ([nyura](https://github.com/mastodon/mastodon/pull/20917), [ykzts](https://github.com/mastodon/mastodon/pull/20982)) - Fix disappearing “Explore” tabs on Safari ([nyura](https://github.com/mastodon/mastodon/pull/20917), [ykzts](https://github.com/mastodon/mastodon/pull/20982))
- Fix wrong padding in RTL layout ([Gargron](https://github.com/mastodon/mastodon/pull/23157)) - Fix wrong padding in RTL layout ([Gargron](https://github.com/mastodon/mastodon/pull/23157))
- Fix drag & drop upload area display in single-column mode ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23217)) - Fix drag & drop upload area display in single-column mode ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23217))
- Fix being unable to get a single EmailDomainBlock from the admin API ([trwnh](https://github.com/mastodon/mastodon/pull/20846)) - Fix being unable to get a single EmailDomainBlock from the admin API ([trwnh](https://github.com/mastodon/mastodon/pull/20846))
- Fix admin-set follow recommandations being case-sensitive ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23500))
- Fix unserialized `role` on account entities in admin API ([Gargron](https://github.com/mastodon/mastodon/pull/23290)) - Fix unserialized `role` on account entities in admin API ([Gargron](https://github.com/mastodon/mastodon/pull/23290))
- Fix pagination of followed tags ([trwnh](https://github.com/mastodon/mastodon/pull/20861)) - Fix pagination of followed tags ([trwnh](https://github.com/mastodon/mastodon/pull/20861))
- Fix dropdown menu positions when scrolling ([sidp](https://github.com/mastodon/mastodon/pull/22916), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/23062)) - Fix dropdown menu positions when scrolling ([sidp](https://github.com/mastodon/mastodon/pull/22916), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/23062))
@ -146,9 +161,11 @@ All notable changes to this project will be documented in this file.
- Fix error in `VerifyLinkService` when processing links with invalid URLs ([untitaker](https://github.com/mastodon/mastodon/pull/23204)) - Fix error in `VerifyLinkService` when processing links with invalid URLs ([untitaker](https://github.com/mastodon/mastodon/pull/23204))
- Fix media uploads with FFmpeg 5 ([dead10ck](https://github.com/mastodon/mastodon/pull/21191)) - Fix media uploads with FFmpeg 5 ([dead10ck](https://github.com/mastodon/mastodon/pull/21191))
- Fix sensitive flag not being set when replying to a post with a content warning under certain conditions ([kedamaDQ](https://github.com/mastodon/mastodon/pull/21724)) - Fix sensitive flag not being set when replying to a post with a content warning under certain conditions ([kedamaDQ](https://github.com/mastodon/mastodon/pull/21724))
- Fix “Share @user's profile” profile menu item not working ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21490)) - Fix misleading message briefly showing up when loading follow requests under some conditions ([c960657](https://github.com/mastodon/mastodon/pull/23386))
- Fix “Share @:user's profile” profile menu item not working ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21490))
- Fix crash and incorrect behavior in `tootctl domains crawl` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19004)) - Fix crash and incorrect behavior in `tootctl domains crawl` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19004))
- Fix autoplay on iOS ([jamesadney](https://github.com/mastodon/mastodon/pull/21422)) - Fix autoplay on iOS ([jamesadney](https://github.com/mastodon/mastodon/pull/21422))
- Fix user clean-up scheduler crash when an unconfirmed account has a moderation note ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23318))
- Fix spaces not being stripped in admin account search ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21324)) - Fix spaces not being stripped in admin account search ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21324))
- Fix spaces not being stripped when adding relays ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22655)) - Fix spaces not being stripped when adding relays ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22655))
- Fix infinite loading spinner instead of soft 404 for non-existing remote accounts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21303)) - Fix infinite loading spinner instead of soft 404 for non-existing remote accounts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21303))
@ -158,7 +175,8 @@ All notable changes to this project will be documented in this file.
- Fix UI header overflowing on mobile ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21783)) - Fix UI header overflowing on mobile ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21783))
- Fix 500 error when trying to migrate to an invalid address ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21462)) - Fix 500 error when trying to migrate to an invalid address ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21462))
- Fix crash when trying to fetch unobtainable avatar of user using external authentication ([lochiiconnectivity](https://github.com/mastodon/mastodon/pull/22462)) - Fix crash when trying to fetch unobtainable avatar of user using external authentication ([lochiiconnectivity](https://github.com/mastodon/mastodon/pull/22462))
- Fix potential duplicate statuses in Explore tab ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22121)) - Fix processing error on incoming malformed JSON-LD under some situations ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23416))
- Fix potential duplicate posts in Explore tab ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22121))
- Fix deprecation warning in `tootctl accounts rotate` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22120)) - Fix deprecation warning in `tootctl accounts rotate` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22120))
- Fix styling of featured tags in light theme ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23252)) - Fix styling of featured tags in light theme ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23252))
- Fix missing style in warning and strike cards ([AtelierSnek](https://github.com/mastodon/mastodon/pull/22177), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/22302)) - Fix missing style in warning and strike cards ([AtelierSnek](https://github.com/mastodon/mastodon/pull/22177), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/22302))
@ -178,7 +196,7 @@ All notable changes to this project will be documented in this file.
- Fix CSP violation warning by removing inline CSS from SVG logo ([luxiaba](https://github.com/mastodon/mastodon/pull/20814)) - Fix CSP violation warning by removing inline CSS from SVG logo ([luxiaba](https://github.com/mastodon/mastodon/pull/20814))
- Fix margin for search field on medium window size ([minacle](https://github.com/mastodon/mastodon/pull/21606)) - Fix margin for search field on medium window size ([minacle](https://github.com/mastodon/mastodon/pull/21606))
- Fix search popout scrolling with the page in single-column mode ([rgroothuijsen](https://github.com/mastodon/mastodon/pull/16463)) - Fix search popout scrolling with the page in single-column mode ([rgroothuijsen](https://github.com/mastodon/mastodon/pull/16463))
- Fix minor status cache hydration discrepancy ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19879)) - Fix minor post cache hydration discrepancy ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19879))
- Fix `・` detection in hashtags ([parthoghosh24](https://github.com/mastodon/mastodon/pull/22888)) - Fix `・` detection in hashtags ([parthoghosh24](https://github.com/mastodon/mastodon/pull/22888))
- Fix hashtag follows bypassing user blocks ([tribela](https://github.com/mastodon/mastodon/pull/22849)) - Fix hashtag follows bypassing user blocks ([tribela](https://github.com/mastodon/mastodon/pull/22849))
- Fix moved accounts being incorrectly redirected to account settings when trying to view a remote profile ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22497)) - Fix moved accounts being incorrectly redirected to account settings when trying to view a remote profile ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22497))
@ -198,6 +216,7 @@ All notable changes to this project will be documented in this file.
- Add `form-action` CSP directive ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20781), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/20958), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/20962)) - Add `form-action` CSP directive ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20781), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/20958), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/20962))
- Fix unbounded recursion in account discovery ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22025)) - Fix unbounded recursion in account discovery ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/22025))
- Revoke all authorized applications on password reset ([FrancisMurillo](https://github.com/mastodon/mastodon/pull/21325)) - Revoke all authorized applications on password reset ([FrancisMurillo](https://github.com/mastodon/mastodon/pull/21325))
- Fix unbounded recursion in post discovery ([ClearlyClaire,nametoolong](https://github.com/mastodon/mastodon/pull/23506))
## [4.0.2] - 2022-11-15 ## [4.0.2] - 2022-11-15
### Fixed ### Fixed

View File

@ -31,6 +31,11 @@ export default class Upload extends ImmutablePureComponent {
render () { render () {
const { media } = this.props; const { media } = this.props;
if (!media) {
return null;
}
const focusX = media.getIn(['meta', 'focus', 'x']); const focusX = media.getIn(['meta', 'focus', 'x']);
const focusY = media.getIn(['meta', 'focus', 'y']); const focusY = media.getIn(['meta', 'focus', 'y']);
const x = ((focusX / 2) + .5) * 100; const x = ((focusX / 2) + .5) * 100;

View File

@ -34,7 +34,7 @@
"account.followers.empty": "No one follows this user yet.", "account.followers.empty": "No one follows this user yet.",
"account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}", "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
"account.following": "Following", "account.following": "Following",
"account.following_counter": "{count, plural,one {Siguiendo a {counter}} other {Siguiendo a {counter}}}", "account.following_counter": "{count, plural,one {Sigue a {counter}} other {Sigue a {counter}}}",
"account.follows.empty": "Esti perfil entá nun sigue a naide.", "account.follows.empty": "Esti perfil entá nun sigue a naide.",
"account.follows_you": "Síguete", "account.follows_you": "Síguete",
"account.go_to_profile": "Go to profile", "account.go_to_profile": "Go to profile",
@ -59,7 +59,7 @@
"account.show_reblogs": "Amosar los artículos compartíos de @{name}", "account.show_reblogs": "Amosar los artículos compartíos de @{name}",
"account.statuses_counter": "{count, plural, one {{counter} artículu} other {{counter} artículos}}", "account.statuses_counter": "{count, plural, one {{counter} artículu} other {{counter} artículos}}",
"account.unblock": "Unblock @{name}", "account.unblock": "Unblock @{name}",
"account.unblock_domain": "Unblock domain {domain}", "account.unblock_domain": "Desbloquiar el dominiu «{domain}»",
"account.unblock_short": "Unblock", "account.unblock_short": "Unblock",
"account.unendorse": "Dexar de destacar nel perfil", "account.unendorse": "Dexar de destacar nel perfil",
"account.unfollow": "Dexar de siguir", "account.unfollow": "Dexar de siguir",
@ -108,7 +108,7 @@
"column.favourites": "Favourites", "column.favourites": "Favourites",
"column.follow_requests": "Solicitúes de siguimientu", "column.follow_requests": "Solicitúes de siguimientu",
"column.home": "Home", "column.home": "Home",
"column.lists": "Lists", "column.lists": "Llistes",
"column.mutes": "Muted users", "column.mutes": "Muted users",
"column.notifications": "Avisos", "column.notifications": "Avisos",
"column.pins": "Artículos fixaos", "column.pins": "Artículos fixaos",
@ -179,10 +179,10 @@
"conversation.with": "Con {names}", "conversation.with": "Con {names}",
"copypaste.copied": "Copióse", "copypaste.copied": "Copióse",
"copypaste.copy": "Copiar", "copypaste.copy": "Copiar",
"directory.federated": "From known fediverse", "directory.federated": "Del fediversu conocíu",
"directory.local": "From {domain} only", "directory.local": "De «{domain}» namás",
"directory.new_arrivals": "New arrivals", "directory.new_arrivals": "Cuentes nueves",
"directory.recently_active": "Recently active", "directory.recently_active": "Con actividá recién",
"disabled_account_banner.account_settings": "Account settings", "disabled_account_banner.account_settings": "Account settings",
"disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
"dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.",
@ -268,11 +268,11 @@
"footer.about": "Tocante a", "footer.about": "Tocante a",
"footer.directory": "Direutoriu de perfiles", "footer.directory": "Direutoriu de perfiles",
"footer.get_app": "Consiguir l'aplicación", "footer.get_app": "Consiguir l'aplicación",
"footer.invite": "Invite people", "footer.invite": "Convidar a persones",
"footer.keyboard_shortcuts": "Atayos del tecláu", "footer.keyboard_shortcuts": "Atayos del tecláu",
"footer.privacy_policy": "Política de privacidá", "footer.privacy_policy": "Política de privacidá",
"footer.source_code": "Ver el códigu fonte", "footer.source_code": "Ver el códigu fonte",
"footer.status": "Status", "footer.status": "Estáu",
"generic.saved": "Guardóse", "generic.saved": "Guardóse",
"getting_started.heading": "Getting started", "getting_started.heading": "Getting started",
"hashtag.column_header.tag_mode.all": "y {additional}", "hashtag.column_header.tag_mode.all": "y {additional}",
@ -353,13 +353,13 @@
"lists.edit": "Editar la llista", "lists.edit": "Editar la llista",
"lists.edit.submit": "Change title", "lists.edit.submit": "Change title",
"lists.new.create": "Amestar la llista", "lists.new.create": "Amestar la llista",
"lists.new.title_placeholder": "New list title", "lists.new.title_placeholder": "Títulu",
"lists.replies_policy.followed": "Cualesquier perfil siguíu", "lists.replies_policy.followed": "Cualesquier perfil siguíu",
"lists.replies_policy.list": "Miembros de la llista", "lists.replies_policy.list": "Miembros de la llista",
"lists.replies_policy.none": "Naide", "lists.replies_policy.none": "Naide",
"lists.replies_policy.title": "Show replies to:", "lists.replies_policy.title": "Show replies to:",
"lists.search": "Search among people you follow", "lists.search": "Search among people you follow",
"lists.subheading": "Your lists", "lists.subheading": "Les tos llistes",
"load_pending": "{count, plural, one {# elementu nuevu} other {# elementos nuevos}}", "load_pending": "{count, plural, one {# elementu nuevu} other {# elementos nuevos}}",
"loading_indicator.label": "Cargando…", "loading_indicator.label": "Cargando…",
"media_gallery.toggle_visible": "{number, plural, one {Anubrir la imaxe} other {Anubrir les imáxenes}}", "media_gallery.toggle_visible": "{number, plural, one {Anubrir la imaxe} other {Anubrir les imáxenes}}",
@ -543,7 +543,7 @@
"server_banner.learn_more": "Saber más", "server_banner.learn_more": "Saber más",
"server_banner.server_stats": "Estadístiques del sirvidor:", "server_banner.server_stats": "Estadístiques del sirvidor:",
"sign_in_banner.create_account": "Crear una cuenta", "sign_in_banner.create_account": "Crear una cuenta",
"sign_in_banner.sign_in": "Sign in", "sign_in_banner.sign_in": "Aniciar la sesión",
"sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts. You can also interact from your account on a different server.", "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts. You can also interact from your account on a different server.",
"status.admin_account": "Open moderation interface for @{name}", "status.admin_account": "Open moderation interface for @{name}",
"status.admin_domain": "Open moderation interface for {domain}", "status.admin_domain": "Open moderation interface for {domain}",
@ -580,7 +580,7 @@
"status.reblog_private": "Boost with original visibility", "status.reblog_private": "Boost with original visibility",
"status.reblogged_by": "{name} compartió", "status.reblogged_by": "{name} compartió",
"status.reblogs.empty": "Naide nun compartió esti artículu entá. Cuando daquién lo faiga, apaez equí.", "status.reblogs.empty": "Naide nun compartió esti artículu entá. Cuando daquién lo faiga, apaez equí.",
"status.redraft": "Delete & re-draft", "status.redraft": "Desaniciar ya reeditar",
"status.remove_bookmark": "Remove bookmark", "status.remove_bookmark": "Remove bookmark",
"status.replied_to": "En rempuesta a {name}", "status.replied_to": "En rempuesta a {name}",
"status.reply": "Responder", "status.reply": "Responder",
@ -617,7 +617,7 @@
"timeline_hint.resources.followers": "Siguidores", "timeline_hint.resources.followers": "Siguidores",
"timeline_hint.resources.follows": "Follows", "timeline_hint.resources.follows": "Follows",
"timeline_hint.resources.statuses": "Artículos antiguos", "timeline_hint.resources.statuses": "Artículos antiguos",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", "trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} persones}} {days, plural, one {nel últimu día} other {nos últimos {days} díes}}",
"trends.trending_now": "En tendencia", "trends.trending_now": "En tendencia",
"ui.beforeunload": "El borrador piérdese si coles de Mastodon.", "ui.beforeunload": "El borrador piérdese si coles de Mastodon.",
"units.short.billion": "{count} MM", "units.short.billion": "{count} MM",

View File

@ -3,7 +3,7 @@
"about.contact": "Кантакт:", "about.contact": "Кантакт:",
"about.disclaimer": "Mastodon - свабоднае праграмнае забеспячэнне, з адкрытым зыходным кодам, і гандлёвай маркай Mastodon gGmbH.", "about.disclaimer": "Mastodon - свабоднае праграмнае забеспячэнне, з адкрытым зыходным кодам, і гандлёвай маркай Mastodon gGmbH.",
"about.domain_blocks.no_reason_available": "Прычына недаступная", "about.domain_blocks.no_reason_available": "Прычына недаступная",
"about.domain_blocks.preamble": "Mastodon звычайна дазваляе вам бачыць змесціва і камунікаваць з карыстальнікамі з іншых сервераў федэсвету. Гэта выключэнні, якія былі зробленыя на гэтым канкрэтным серверы.", "about.domain_blocks.preamble": "Mastodon, у асноўным, дазваляе вам праглядаць кантэнт і ўзаемадзейнічаць з карыстальнікамі з іншых сервераў у федэсвету. Гэтыя выключэнні былі зроблены дакладна на гэтым серверы.",
"about.domain_blocks.silenced.explanation": "Вы не будзеце бачыць профілі і змесціва гэтага серверу, калі не шукаеце іх мэтанакіравана ці не падпісаны на карыстальнікаў адтуль.", "about.domain_blocks.silenced.explanation": "Вы не будзеце бачыць профілі і змесціва гэтага серверу, калі не шукаеце іх мэтанакіравана ці не падпісаны на карыстальнікаў адтуль.",
"about.domain_blocks.silenced.title": "Абмежаваны", "about.domain_blocks.silenced.title": "Абмежаваны",
"about.domain_blocks.suspended.explanation": "Ніякая інфармацыя з гэтага сервера не будзе апрацавана, захавана або абменена, узаемадзеянне або камунікацыя з карыстальнікамі гэтага сервера немагчымы.", "about.domain_blocks.suspended.explanation": "Ніякая інфармацыя з гэтага сервера не будзе апрацавана, захавана або абменена, узаемадзеянне або камунікацыя з карыстальнікамі гэтага сервера немагчымы.",
@ -21,7 +21,7 @@
"account.browse_more_on_origin_server": "Глядзіце больш у арыгінальным профілі", "account.browse_more_on_origin_server": "Глядзіце больш у арыгінальным профілі",
"account.cancel_follow_request": "Скасаваць запыт на падпіску", "account.cancel_follow_request": "Скасаваць запыт на падпіску",
"account.direct": "Асабістае паведамленне @{name}", "account.direct": "Асабістае паведамленне @{name}",
"account.disable_notifications": "Не апавяшчаць мяне пра допісы @{name}", "account.disable_notifications": "Не паведамляць мне пра публікацыі @{name}",
"account.domain_blocked": "Дамен заблакаваны", "account.domain_blocked": "Дамен заблакаваны",
"account.edit_profile": "Рэдагаваць профіль", "account.edit_profile": "Рэдагаваць профіль",
"account.enable_notifications": "Апавяшчаць мяне пра допісы @{name}", "account.enable_notifications": "Апавяшчаць мяне пра допісы @{name}",
@ -606,7 +606,7 @@
"suggestions.header": "Гэта можа Вас зацікавіць…", "suggestions.header": "Гэта можа Вас зацікавіць…",
"tabs_bar.federated_timeline": "Глабальнае", "tabs_bar.federated_timeline": "Глабальнае",
"tabs_bar.home": "Галоўная", "tabs_bar.home": "Галоўная",
"tabs_bar.local_timeline": "Мясцовае", "tabs_bar.local_timeline": "Тутэйшыя",
"tabs_bar.notifications": "Апавяшчэнні", "tabs_bar.notifications": "Апавяшчэнні",
"time_remaining.days": "{number, plural, one {застаўся # дзень} few {засталося # дні} many {засталося # дзён} other {засталося # дня}}", "time_remaining.days": "{number, plural, one {застаўся # дзень} few {засталося # дні} many {засталося # дзён} other {засталося # дня}}",
"time_remaining.hours": "{number, plural, one {засталася # гадзіна} few {засталося # гадзіны} many {засталося # гадзін} other {засталося # гадзіны}}", "time_remaining.hours": "{number, plural, one {засталася # гадзіна} few {засталося # гадзіны} many {засталося # гадзін} other {засталося # гадзіны}}",

View File

@ -32,9 +32,9 @@
"account.follow": "Segueix", "account.follow": "Segueix",
"account.followers": "Seguidors", "account.followers": "Seguidors",
"account.followers.empty": "A aquest usuari encara no el segueix ningú.", "account.followers.empty": "A aquest usuari encara no el segueix ningú.",
"account.followers_counter": "{count, plural, one {{counter} seguidor} other {{counter} seguidors}}", "account.followers_counter": "{count, plural, one {{counter} seguidor} other {{counter} Seguidors}}",
"account.following": "Seguint", "account.following": "Seguint",
"account.following_counter": "{count, plural, other {Seguint-ne {counter}}}", "account.following_counter": "{count, plural, other {{counter} Seguint-ne}}",
"account.follows.empty": "Aquest usuari encara no segueix ningú.", "account.follows.empty": "Aquest usuari encara no segueix ningú.",
"account.follows_you": "Et segueix", "account.follows_you": "Et segueix",
"account.go_to_profile": "Vés al perfil", "account.go_to_profile": "Vés al perfil",

View File

@ -272,7 +272,7 @@
"footer.keyboard_shortcuts": "Bysellau brys", "footer.keyboard_shortcuts": "Bysellau brys",
"footer.privacy_policy": "Polisi preifatrwydd", "footer.privacy_policy": "Polisi preifatrwydd",
"footer.source_code": "Gweld y cod ffynhonnell", "footer.source_code": "Gweld y cod ffynhonnell",
"footer.status": "Status", "footer.status": "Statws",
"generic.saved": "Wedi'i Gadw", "generic.saved": "Wedi'i Gadw",
"getting_started.heading": "Dechrau", "getting_started.heading": "Dechrau",
"hashtag.column_header.tag_mode.all": "a {additional}", "hashtag.column_header.tag_mode.all": "a {additional}",

View File

@ -78,7 +78,7 @@
"alert.unexpected.title": "Ups!", "alert.unexpected.title": "Ups!",
"announcement.announcement": "Ankündigung", "announcement.announcement": "Ankündigung",
"attachments_list.unprocessed": "(ausstehend)", "attachments_list.unprocessed": "(ausstehend)",
"audio.hide": "Audio verbergen", "audio.hide": "Audio ausblenden",
"autosuggest_hashtag.per_week": "{count} pro Woche", "autosuggest_hashtag.per_week": "{count} pro Woche",
"boost_modal.combo": "Mit {combo} wird dieses Fenster beim nächsten Mal nicht mehr angezeigt", "boost_modal.combo": "Mit {combo} wird dieses Fenster beim nächsten Mal nicht mehr angezeigt",
"bundle_column_error.copy_stacktrace": "Fehlerbericht kopieren", "bundle_column_error.copy_stacktrace": "Fehlerbericht kopieren",
@ -114,7 +114,7 @@
"column.pins": "Angeheftete Beiträge", "column.pins": "Angeheftete Beiträge",
"column.public": "Föderierte Timeline", "column.public": "Föderierte Timeline",
"column_back_button.label": "Zurück", "column_back_button.label": "Zurück",
"column_header.hide_settings": "Einstellungen verbergen", "column_header.hide_settings": "Einstellungen ausblenden",
"column_header.moveLeft_settings": "Diese Spalte nach links verschieben", "column_header.moveLeft_settings": "Diese Spalte nach links verschieben",
"column_header.moveRight_settings": "Diese Spalte nach rechts verschieben", "column_header.moveRight_settings": "Diese Spalte nach rechts verschieben",
"column_header.pin": "Anheften", "column_header.pin": "Anheften",
@ -289,7 +289,7 @@
"home.column_settings.basic": "Einfach", "home.column_settings.basic": "Einfach",
"home.column_settings.show_reblogs": "Geteilte Beiträge anzeigen", "home.column_settings.show_reblogs": "Geteilte Beiträge anzeigen",
"home.column_settings.show_replies": "Antworten anzeigen", "home.column_settings.show_replies": "Antworten anzeigen",
"home.hide_announcements": "Ankündigungen verbergen", "home.hide_announcements": "Ankündigungen ausblenden",
"home.show_announcements": "Ankündigungen anzeigen", "home.show_announcements": "Ankündigungen anzeigen",
"interaction_modal.description.favourite": "Mit einem Mastodon-Konto kannst du diesen Beitrag favorisieren, um deine Wertschätzung auszudrücken, und ihn für einen späteren Zeitpunkt speichern.", "interaction_modal.description.favourite": "Mit einem Mastodon-Konto kannst du diesen Beitrag favorisieren, um deine Wertschätzung auszudrücken, und ihn für einen späteren Zeitpunkt speichern.",
"interaction_modal.description.follow": "Mit einem Mastodon-Konto kannst du {name} folgen, um die Beiträge auf deiner Startseite zu sehen.", "interaction_modal.description.follow": "Mit einem Mastodon-Konto kannst du {name} folgen, um die Beiträge auf deiner Startseite zu sehen.",
@ -333,9 +333,9 @@
"keyboard_shortcuts.reply": "auf Beitrag antworten", "keyboard_shortcuts.reply": "auf Beitrag antworten",
"keyboard_shortcuts.requests": "Liste der Follower-Anfragen öffnen", "keyboard_shortcuts.requests": "Liste der Follower-Anfragen öffnen",
"keyboard_shortcuts.search": "Suchleiste fokussieren", "keyboard_shortcuts.search": "Suchleiste fokussieren",
"keyboard_shortcuts.spoilers": "Inhaltswarnung anzeigen/verbergen", "keyboard_shortcuts.spoilers": "Inhaltswarnung anzeigen/ausblenden",
"keyboard_shortcuts.start": "„Erste Schritte“-Spalte öffnen", "keyboard_shortcuts.start": "„Erste Schritte“-Spalte öffnen",
"keyboard_shortcuts.toggle_hidden": "Beitragstext hinter der Inhaltswarnung anzeigen/verbergen", "keyboard_shortcuts.toggle_hidden": "Beitragstext hinter der Inhaltswarnung anzeigen/ausblenden",
"keyboard_shortcuts.toggle_sensitivity": "Medien anzeigen/verbergen", "keyboard_shortcuts.toggle_sensitivity": "Medien anzeigen/verbergen",
"keyboard_shortcuts.toot": "neuen Beitrag erstellen", "keyboard_shortcuts.toot": "neuen Beitrag erstellen",
"keyboard_shortcuts.unfocus": "Eingabefeld/Suche nicht mehr fokussieren", "keyboard_shortcuts.unfocus": "Eingabefeld/Suche nicht mehr fokussieren",
@ -367,7 +367,7 @@
"missing_indicator.sublabel": "Der Inhalt konnte nicht gefunden werden", "missing_indicator.sublabel": "Der Inhalt konnte nicht gefunden werden",
"moved_to_account_banner.text": "Dein Konto {disabledAccount} ist derzeit deaktiviert, weil du zu {movedToAccount} umgezogen bist.", "moved_to_account_banner.text": "Dein Konto {disabledAccount} ist derzeit deaktiviert, weil du zu {movedToAccount} umgezogen bist.",
"mute_modal.duration": "Dauer", "mute_modal.duration": "Dauer",
"mute_modal.hide_notifications": "Benachrichtigungen dieses Profils verbergen?", "mute_modal.hide_notifications": "Benachrichtigungen dieses Profils ausblenden?",
"mute_modal.indefinite": "Unbegrenzt", "mute_modal.indefinite": "Unbegrenzt",
"navigation_bar.about": "Über", "navigation_bar.about": "Über",
"navigation_bar.blocks": "Gesperrte Profile", "navigation_bar.blocks": "Gesperrte Profile",
@ -651,7 +651,7 @@
"video.exit_fullscreen": "Vollbild verlassen", "video.exit_fullscreen": "Vollbild verlassen",
"video.expand": "Video vergrößern", "video.expand": "Video vergrößern",
"video.fullscreen": "Vollbild", "video.fullscreen": "Vollbild",
"video.hide": "Video verbergen", "video.hide": "Video ausblenden",
"video.mute": "Stummschalten", "video.mute": "Stummschalten",
"video.pause": "Pausieren", "video.pause": "Pausieren",
"video.play": "Abspielen", "video.play": "Abspielen",

View File

@ -488,7 +488,7 @@
"report.category.title_account": "profilo", "report.category.title_account": "profilo",
"report.category.title_status": "afiŝo", "report.category.title_status": "afiŝo",
"report.close": "Farita", "report.close": "Farita",
"report.comment.title": "Ĉu estas io alia kion vi pensas ke ni devas scii?", "report.comment.title": "Ĉu estas ajn ion alian kiun vi pensas ke ni devus scii?",
"report.forward": "Plusendi al {target}", "report.forward": "Plusendi al {target}",
"report.forward_hint": "La konto estas de alia servilo. Ĉu vi volas sendi anoniman kopion de la raporto ankaŭ al tie?", "report.forward_hint": "La konto estas de alia servilo. Ĉu vi volas sendi anoniman kopion de la raporto ankaŭ al tie?",
"report.mute": "Silentigi", "report.mute": "Silentigi",

View File

@ -66,7 +66,7 @@
"account.unmute": "@{name} 뮤트 해제", "account.unmute": "@{name} 뮤트 해제",
"account.unmute_notifications": "@{name}의 알림 뮤트 해제", "account.unmute_notifications": "@{name}의 알림 뮤트 해제",
"account.unmute_short": "뮤트 해제", "account.unmute_short": "뮤트 해제",
"account_note.placeholder": "클릭해서 노트 추가", "account_note.placeholder": "클릭하여 노트 추가",
"admin.dashboard.daily_retention": "가입 후 일별 사용자 유지율", "admin.dashboard.daily_retention": "가입 후 일별 사용자 유지율",
"admin.dashboard.monthly_retention": "가입 후 월별 사용자 유지율", "admin.dashboard.monthly_retention": "가입 후 월별 사용자 유지율",
"admin.dashboard.retention.average": "평균", "admin.dashboard.retention.average": "평균",
@ -219,7 +219,7 @@
"empty_column.explore_statuses": "아직 유행하는 것이 없습니다. 나중에 다시 확인하세요!", "empty_column.explore_statuses": "아직 유행하는 것이 없습니다. 나중에 다시 확인하세요!",
"empty_column.favourited_statuses": "아직 마음에 들어한 게시물이 없습니다. 게시물을 좋아요 하면 여기에 나타납니다.", "empty_column.favourited_statuses": "아직 마음에 들어한 게시물이 없습니다. 게시물을 좋아요 하면 여기에 나타납니다.",
"empty_column.favourites": "아직 아무도 이 게시물을 마음에 들어하지 않았습니다. 누군가 좋아요를 하면 여기에 나타납니다.", "empty_column.favourites": "아직 아무도 이 게시물을 마음에 들어하지 않았습니다. 누군가 좋아요를 하면 여기에 나타납니다.",
"empty_column.follow_recommendations": "제안을 만들 수 없었습니다. 알 수 있는 사람을 찾아보거나 유행하는 해시태그를 둘러보세요.", "empty_column.follow_recommendations": "당신을 위한 제안이 생성될 수 없는 것 같습니다. 알 수도 있는 사람을 검색하거나 유행하는 해시태그를 둘러볼 수 있습니다.",
"empty_column.follow_requests": "아직 팔로우 요청이 없습니다. 요청을 받았을 때 여기에 나타납니다.", "empty_column.follow_requests": "아직 팔로우 요청이 없습니다. 요청을 받았을 때 여기에 나타납니다.",
"empty_column.followed_tags": "아직 아무 해시태그도 팔로우하고 있지 않습니다. 해시태그를 팔로우하면, 여기에 표시됩니다.", "empty_column.followed_tags": "아직 아무 해시태그도 팔로우하고 있지 않습니다. 해시태그를 팔로우하면, 여기에 표시됩니다.",
"empty_column.hashtag": "이 해시태그는 아직 사용되지 않았습니다.", "empty_column.hashtag": "이 해시태그는 아직 사용되지 않았습니다.",
@ -232,7 +232,7 @@
"empty_column.public": "여기엔 아직 아무 것도 없습니다! 공개적으로 무언가 포스팅하거나, 다른 서버의 사용자를 팔로우 해서 채워보세요", "empty_column.public": "여기엔 아직 아무 것도 없습니다! 공개적으로 무언가 포스팅하거나, 다른 서버의 사용자를 팔로우 해서 채워보세요",
"error.unexpected_crash.explanation": "버그 혹은 브라우저 호환성 문제로 이 페이지를 올바르게 표시할 수 없습니다.", "error.unexpected_crash.explanation": "버그 혹은 브라우저 호환성 문제로 이 페이지를 올바르게 표시할 수 없습니다.",
"error.unexpected_crash.explanation_addons": "이 페이지는 올바르게 보여질 수 없습니다. 브라우저 애드온이나 자동 번역 도구 등으로 인해 발생된 에러일 수 있습니다.", "error.unexpected_crash.explanation_addons": "이 페이지는 올바르게 보여질 수 없습니다. 브라우저 애드온이나 자동 번역 도구 등으로 인해 발생된 에러일 수 있습니다.",
"error.unexpected_crash.next_steps": "페이지를 새로고침 해보세요. 도움이 되지 않는다면, 다른 브라우저나 네이티브 앱을 통해서도 Mastodon을 이용할 수 있습니다.", "error.unexpected_crash.next_steps": "페이지를 새로고침 해보세요. 그래도 해결되지 않는 경우, 다른 브라우저나 네이티브 앱으로도 마스토돈을 이용하실 수 있습니다.",
"error.unexpected_crash.next_steps_addons": "그걸 끄고 페이지를 새로고침 해보세요. 그래도 해결되지 않으면, 다른 브라우저나 네이티브 앱으로 마스토돈을 이용해 보실 수 있습니다.", "error.unexpected_crash.next_steps_addons": "그걸 끄고 페이지를 새로고침 해보세요. 그래도 해결되지 않으면, 다른 브라우저나 네이티브 앱으로 마스토돈을 이용해 보실 수 있습니다.",
"errors.unexpected_crash.copy_stacktrace": "에러 내용을 클립보드에 복사", "errors.unexpected_crash.copy_stacktrace": "에러 내용을 클립보드에 복사",
"errors.unexpected_crash.report_issue": "문제 신고", "errors.unexpected_crash.report_issue": "문제 신고",
@ -278,8 +278,8 @@
"hashtag.column_header.tag_mode.all": "및 {additional}", "hashtag.column_header.tag_mode.all": "및 {additional}",
"hashtag.column_header.tag_mode.any": "또는 {additional}", "hashtag.column_header.tag_mode.any": "또는 {additional}",
"hashtag.column_header.tag_mode.none": "{additional}를 제외하고", "hashtag.column_header.tag_mode.none": "{additional}를 제외하고",
"hashtag.column_settings.select.no_options_message": "제안을 찾을 수 없습니다.", "hashtag.column_settings.select.no_options_message": "추천할 내용이 없습니다",
"hashtag.column_settings.select.placeholder": "해시태그를 기입하면...", "hashtag.column_settings.select.placeholder": "해시태그를 입력하세요…",
"hashtag.column_settings.tag_mode.all": "모두", "hashtag.column_settings.tag_mode.all": "모두",
"hashtag.column_settings.tag_mode.any": "어느것이든", "hashtag.column_settings.tag_mode.any": "어느것이든",
"hashtag.column_settings.tag_mode.none": "이것들을 제외하고", "hashtag.column_settings.tag_mode.none": "이것들을 제외하고",
@ -495,13 +495,13 @@
"report.mute_explanation": "당신은 해당 계정의 게시물을 보지 않게 됩니다. 해당 계정은 여전히 당신을 팔로우 하거나 당신의 게시물을 볼 수 있으며 해당 계정은 자신이 뮤트 되었는지 알지 못합니다.", "report.mute_explanation": "당신은 해당 계정의 게시물을 보지 않게 됩니다. 해당 계정은 여전히 당신을 팔로우 하거나 당신의 게시물을 볼 수 있으며 해당 계정은 자신이 뮤트 되었는지 알지 못합니다.",
"report.next": "다음", "report.next": "다음",
"report.placeholder": "코멘트", "report.placeholder": "코멘트",
"report.reasons.dislike": "마음에 안 들어요", "report.reasons.dislike": "마음에 안듭니다",
"report.reasons.dislike_description": "내가 보기 싫은 종류에 속합니다", "report.reasons.dislike_description": "내가 보기 싫은 종류에 속합니다",
"report.reasons.other": "그 밖의 것들", "report.reasons.other": "기타",
"report.reasons.other_description": "이슈가 다른 분류에 속하지 않습니다", "report.reasons.other_description": "이슈가 다른 분류에 속하지 않습니다",
"report.reasons.spam": "스팸이에요", "report.reasons.spam": "스팸입니다",
"report.reasons.spam_description": "악성 링크, 반응 스팸, 또는 반복적인 답글", "report.reasons.spam_description": "악성 링크, 반응 스팸, 또는 반복적인 답글",
"report.reasons.violation": "서버 규칙을 위반해요", "report.reasons.violation": "서버 규칙을 위반합니다",
"report.reasons.violation_description": "특정 규칙을 위반합니다", "report.reasons.violation_description": "특정 규칙을 위반합니다",
"report.rules.subtitle": "해당하는 사항을 모두 선택하세요", "report.rules.subtitle": "해당하는 사항을 모두 선택하세요",
"report.rules.title": "어떤 규칙을 위반했나요?", "report.rules.title": "어떤 규칙을 위반했나요?",

View File

@ -1,47 +1,47 @@
{ {
"about.blocks": "Moderated servers", "about.blocks": "ထိန်းချုပ်ထားသော ဆာဗာများ",
"about.contact": "Contact:", "about.contact": "ဆက်သွယ်ရန်:",
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "about.disclaimer": "Mastodon သည် အခမဲ့ဖြစ်ပြီး open-source software နှင့် Mastodon gGmbH ၏ ကုန်အမှတ်တံဆိပ်တစ်ခုဖြစ်သည်။",
"about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.no_reason_available": "အကြောင်းပြချက်မရရှိပါ",
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.preamble": "Mastodon သည် ယေဘူယျအားဖြင့် သင့်အား အစုအဝေးရှိ အခြားဆာဗာများမှ အသုံးပြုသူများထံမှ အကြောင်းအရာများကို ကြည့်ရှုပြီး အပြန်အလှန် တုံ့ပြန်နိုင်စေပါသည်။ ဤအရာများသည် ဤအထူးဆာဗာတွင် ပြုလုပ်ထားသော ခြွင်းချက်ဖြစ်သည်။",
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.explanation": "ရှင်းရှင်းလင်းလင်း ရှာကြည့်ခြင်း သို့မဟုတ် လိုက်ကြည့်ခြင်းဖြင့် ၎င်းကို ရွေးချယ်ခြင်းမှလွဲ၍ ဤဆာဗာမှ ပရိုဖိုင်များနှင့် အကြောင်းအရာများကို ယေဘုယျအားဖြင့် သင်သည် မမြင်ရပါ။",
"about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.silenced.title": "ကန့်သတ်ထားသော",
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.domain_blocks.suspended.explanation": "ဤဆာဗာမှ ဒေတာများကို စီမံဆောင်ရွက်ခြင်း၊ သိမ်းဆည်းခြင်း သို့မဟုတ် ဖလှယ်ခြင်း မပြုဘဲ၊ ဤဆာဗာမှ အသုံးပြုသူများနှင့် အပြန်အလှန် ဆက်သွယ်မှု သို့မဟုတ် ဆက်သွယ်မှုတို့ကို မဖြစ်နိုင်အောင် ပြုလုပ်ပေးမည်မဟုတ်ပါ။",
"about.domain_blocks.suspended.title": "Suspended", "about.domain_blocks.suspended.title": "ရပ်ဆိုင်းထားသည်။",
"about.not_available": "This information has not been made available on this server.", "about.not_available": "ဤအချက်အလက်ကို ဤဆာဗာတွင် မရရှိနိုင်ပါ။",
"about.powered_by": "Decentralized social media powered by {mastodon}", "about.powered_by": "{mastodon} မှ ဗဟိုချုပ်ကိုင်မှုလျှော့ချထားသော ဆိုရှယ်မီဒီယာ",
"about.rules": "Server rules", "about.rules": "ဆာဗာစည်းမျဉ်းများ\n",
"account.account_note_header": "Note", "account.account_note_header": "မှတ်ချက်",
"account.add_or_remove_from_list": "Add or Remove from lists", "account.add_or_remove_from_list": "စာရင်းများမှ ထည့်ပါ သို့မဟုတ် ဖယ်ရှားပါ။\n",
"account.badges.bot": "Bot", "account.badges.bot": "Bot",
"account.badges.group": "Group", "account.badges.group": "အုပ်စု",
"account.block": "Block @{name}", "account.block": "@{name} ကိုဘလော့မည်",
"account.block_domain": "Block domain {domain}", "account.block_domain": " {domain} ဒိုမိန်းကိုပိတ်မည်",
"account.blocked": "Blocked", "account.blocked": "ဘလော့ထားသည်",
"account.browse_more_on_origin_server": "Browse more on the original profile", "account.browse_more_on_origin_server": "မူရင်းပရိုဖိုင်တွင် ပိုမိုကြည့်ရှုပါ။",
"account.cancel_follow_request": "Withdraw follow request", "account.cancel_follow_request": "Withdraw follow request",
"account.direct": "Direct message @{name}", "account.direct": "@{name} ကိုတိုက်ရိုက်စာပို့မည်",
"account.disable_notifications": "Stop notifying me when @{name} posts", "account.disable_notifications": "@{name} ပို့စ်တင်သည့်အခါ ကျွန်ုပ်ကို အသိပေးခြင်းရပ်ပါ။",
"account.domain_blocked": "Domain blocked", "account.domain_blocked": "ဒိုမိန်း ပိတ်ပင်ထားခဲ့သည်\n",
"account.edit_profile": "ကိုယ်ရေးမှတ်တမ်းပြင်ဆင်မည်", "account.edit_profile": "ကိုယ်ရေးမှတ်တမ်းပြင်ဆင်မည်",
"account.enable_notifications": "Notify me when @{name} posts", "account.enable_notifications": "@{name} ပို့စ်တင်သည့်အခါ ကျွန်ုပ်ကို အကြောင်းကြားပါ။",
"account.endorse": "Feature on profile", "account.endorse": "Feature on profile",
"account.featured_tags.last_status_at": "Last post on {date}", "account.featured_tags.last_status_at": "{date} တွင် နောက်ဆုံးပို့စ်",
"account.featured_tags.last_status_never": "No posts", "account.featured_tags.last_status_never": "No posts",
"account.featured_tags.title": "{name}'s featured hashtags", "account.featured_tags.title": "{name}'s featured hashtags",
"account.follow": "စောင့်ကြည့်မည်", "account.follow": "စောင့်ကြည့်မည်",
"account.followers": "Followers", "account.followers": "စောင့်ကြည့်သူများ",
"account.followers.empty": "No one follows this user yet.", "account.followers.empty": "ဤသူကို စောင့်ကြည့်သူ မရှိသေးပါ။",
"account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}", "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
"account.following": "စောင့်ကြည့်နေသည်", "account.following": "စောင့်ကြည့်နေသည်",
"account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
"account.follows.empty": "This user doesn't follow anyone yet.", "account.follows.empty": "ဤသူသည် မည်သူ့ကိုမျှ စောင့်ကြည့်ခြင်း မရှိသေးပါ။",
"account.follows_you": "Follows you", "account.follows_you": "သင့်ကို စောင့်ကြည့်နေသည်",
"account.go_to_profile": "Go to profile", "account.go_to_profile": "ပရိုဖိုင်းသို့ သွားရန်",
"account.hide_reblogs": "Hide boosts from @{name}", "account.hide_reblogs": "@{name} ၏ မျှဝေမှုကို ဝှက်ထားရန်",
"account.joined_short": "Joined", "account.joined_short": "ပူးပေါင်း",
"account.languages": "Change subscribed languages", "account.languages": "Change subscribed languages",
"account.link_verified_on": "Ownership of this link was checked on {date}", "account.link_verified_on": "ဤလင့်ခ်၏ ပိုင်ဆိုင်မှုကို {date} က စစ်ဆေးခဲ့သည်။",
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
"account.media": "မီဒီယာ", "account.media": "မီဒီယာ",
"account.mention": "Mention @{name}", "account.mention": "Mention @{name}",

View File

@ -272,7 +272,7 @@
"footer.keyboard_shortcuts": "Acorchis clavièr", "footer.keyboard_shortcuts": "Acorchis clavièr",
"footer.privacy_policy": "Politica de confidencialitat", "footer.privacy_policy": "Politica de confidencialitat",
"footer.source_code": "Veire lo còdi font", "footer.source_code": "Veire lo còdi font",
"footer.status": "Status", "footer.status": "Estat",
"generic.saved": "Enregistrat", "generic.saved": "Enregistrat",
"getting_started.heading": "Per començar", "getting_started.heading": "Per començar",
"hashtag.column_header.tag_mode.all": "e {additional}", "hashtag.column_header.tag_mode.all": "e {additional}",

View File

@ -221,7 +221,7 @@
"empty_column.favourites": "Никто ещё не добавил этот пост в «Избранное». Как только кто-то это сделает, это отобразится здесь.", "empty_column.favourites": "Никто ещё не добавил этот пост в «Избранное». Как только кто-то это сделает, это отобразится здесь.",
"empty_column.follow_recommendations": "Похоже, у нас нет предложений для вас. Вы можете попробовать поискать людей, которых уже знаете, или изучить актуальные хэштеги.", "empty_column.follow_recommendations": "Похоже, у нас нет предложений для вас. Вы можете попробовать поискать людей, которых уже знаете, или изучить актуальные хэштеги.",
"empty_column.follow_requests": "Вам ещё не приходили запросы на подписку. Все новые запросы будут показаны здесь.", "empty_column.follow_requests": "Вам ещё не приходили запросы на подписку. Все новые запросы будут показаны здесь.",
"empty_column.followed_tags": "You have not followed any hashtags yet. When you do, they will show up here.", "empty_column.followed_tags": "Вы еще не подписались ни на один хэштег. Когда вы это сделаете, они появятся здесь.",
"empty_column.hashtag": "С этим хэштегом пока ещё ничего не постили.", "empty_column.hashtag": "С этим хэштегом пока ещё ничего не постили.",
"empty_column.home": "Ваша лента совсем пуста! Подпишитесь на других, чтобы заполнить её. {suggestions}", "empty_column.home": "Ваша лента совсем пуста! Подпишитесь на других, чтобы заполнить её. {suggestions}",
"empty_column.home.suggestions": "Посмотреть некоторые предложения", "empty_column.home.suggestions": "Посмотреть некоторые предложения",
@ -264,7 +264,7 @@
"follow_request.authorize": "Авторизовать", "follow_request.authorize": "Авторизовать",
"follow_request.reject": "Отказать", "follow_request.reject": "Отказать",
"follow_requests.unlocked_explanation": "Хотя ваша учетная запись не закрыта, команда {domain} подумала, что вы захотите просмотреть запросы от этих учетных записей вручную.", "follow_requests.unlocked_explanation": "Хотя ваша учетная запись не закрыта, команда {domain} подумала, что вы захотите просмотреть запросы от этих учетных записей вручную.",
"followed_tags": "Followed hashtags", "followed_tags": "Отслеживаемые хэштеги",
"footer.about": "О проекте", "footer.about": "О проекте",
"footer.directory": "Каталог профилей", "footer.directory": "Каталог профилей",
"footer.get_app": "Скачать приложение", "footer.get_app": "Скачать приложение",

View File

@ -1,28 +1,28 @@
{ {
"about.blocks": "Moderated servers", "about.blocks": "Moderowane serwery",
"about.contact": "Contact:", "about.contact": "Kōntakt:",
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "about.disclaimer": "Mastodōn je wolnym a ôtwartozdrzōdłowym ôprogramowaniym ôraz znakiym towarowym ôd Mastodon gGmbH.",
"about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.no_reason_available": "Grund niydostympny",
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.preamble": "Mastodōn normalniy pozwŏlŏ na ôglōndaniy treściōw a interakcyje ze używŏczami inkszych serwerōw we fediverse, ale sōm ôd tygo wyjōntki, kere bōły poczyniōne na tym serwerze.",
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.explanation": "Normalniy niy bydziesz widzieć profilōw a treściōw ze tygo serwera. Ôboczysz je ino jak specjalniy bydziesz ich szukać abo jak je zaôbserwujesz.",
"about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.silenced.title": "Ôgraniczone",
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.domain_blocks.suspended.explanation": "Żŏdne dane ze tygo serwera niy bydōm przetwarzane, przechowywane abo wymieniane, beztoż wszelakŏ interakcyjŏ abo komunikacyjŏ ze używŏczami tygo serwera bydzie niymożliwŏ.",
"about.domain_blocks.suspended.title": "Suspended", "about.domain_blocks.suspended.title": "Zawiyszōne",
"about.not_available": "This information has not been made available on this server.", "about.not_available": "Ta informacyjŏ niy bōła udostympniōna na tym serwerze.",
"about.powered_by": "Decentralized social media powered by {mastodon}", "about.powered_by": "Decentralized social media powered by {mastodon}",
"about.rules": "Server rules", "about.rules": "Zasady serwera",
"account.account_note_header": "Note", "account.account_note_header": "Notatka",
"account.add_or_remove_from_list": "Add or Remove from lists", "account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Bot", "account.badges.bot": "Bot",
"account.badges.group": "Group", "account.badges.group": "Grupa",
"account.block": "Block @{name}", "account.block": "Zablokuj @{name}",
"account.block_domain": "Block domain {domain}", "account.block_domain": "Zablokuj domena {domain}",
"account.blocked": "Blocked", "account.blocked": "Blocked",
"account.browse_more_on_origin_server": "Browse more on the original profile", "account.browse_more_on_origin_server": "Ôbocz wiyncyj we ôryginalnym profilu",
"account.cancel_follow_request": "Withdraw follow request", "account.cancel_follow_request": "Withdraw follow request",
"account.direct": "Direct message @{name}", "account.direct": "Direct message @{name}",
"account.disable_notifications": "Stop notifying me when @{name} posts", "account.disable_notifications": "Stop notifying me when @{name} posts",
"account.domain_blocked": "Domain blocked", "account.domain_blocked": "Domena zablokowanŏ",
"account.edit_profile": "Edit profile", "account.edit_profile": "Edit profile",
"account.enable_notifications": "Notify me when @{name} posts", "account.enable_notifications": "Notify me when @{name} posts",
"account.endorse": "Feature on profile", "account.endorse": "Feature on profile",
@ -43,11 +43,11 @@
"account.languages": "Change subscribed languages", "account.languages": "Change subscribed languages",
"account.link_verified_on": "Ownership of this link was checked on {date}", "account.link_verified_on": "Ownership of this link was checked on {date}",
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
"account.media": "Media", "account.media": "Mydia",
"account.mention": "Mention @{name}", "account.mention": "Mention @{name}",
"account.moved_to": "{name} has indicated that their new account is now:", "account.moved_to": "{name} has indicated that their new account is now:",
"account.mute": "Mute @{name}", "account.mute": "Wycisz @{name}",
"account.mute_notifications": "Mute notifications from @{name}", "account.mute_notifications": "Wycisz powiadōmiynia ôd @{name}",
"account.muted": "Muted", "account.muted": "Muted",
"account.open_original_page": "Open original page", "account.open_original_page": "Open original page",
"account.posts": "Toots", "account.posts": "Toots",

View File

@ -330,6 +330,8 @@ export default function compose(state = initialState, action) {
map.set('preselectDate', new Date()); map.set('preselectDate', new Date());
map.set('idempotencyKey', uuid()); map.set('idempotencyKey', uuid());
map.update('media_attachments', list => list.filter(media => media.get('unattached')));
if (action.status.get('language') && !action.status.has('translation')) { if (action.status.get('language') && !action.status.has('translation')) {
map.set('language', action.status.get('language')); map.set('language', action.status.get('language'));
} else { } else {

View File

@ -106,7 +106,8 @@ class ActivityPub::Activity
actor_id = value_or_id(first_of_value(@object['attributedTo'])) actor_id = value_or_id(first_of_value(@object['attributedTo']))
if actor_id == @account.uri if actor_id == @account.uri
return ActivityPub::Activity.factory({ 'type' => 'Create', 'actor' => actor_id, 'object' => @object }, @account).perform virtual_object = { 'type' => 'Create', 'actor' => actor_id, 'object' => @object }
return ActivityPub::Activity.factory(virtual_object, @account, request_id: @options[:request_id]).perform
end end
end end
@ -152,9 +153,9 @@ class ActivityPub::Activity
def fetch_remote_original_status def fetch_remote_original_status
if object_uri.start_with?('http') if object_uri.start_with?('http')
return if ActivityPub::TagManager.instance.local_uri?(object_uri) return if ActivityPub::TagManager.instance.local_uri?(object_uri)
ActivityPub::FetchRemoteStatusService.new.call(object_uri, id: true, on_behalf_of: @account.followers.local.first) ActivityPub::FetchRemoteStatusService.new.call(object_uri, id: true, on_behalf_of: @account.followers.local.first, request_id: @options[:request_id])
elsif @object['url'].present? elsif @object['url'].present?
::FetchRemoteStatusService.new.call(@object['url']) ::FetchRemoteStatusService.new.call(@object['url'], request_id: @options[:request_id])
end end
end end

View File

@ -327,18 +327,18 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
def resolve_thread(status) def resolve_thread(status)
return unless status.reply? && status.thread.nil? && Request.valid_url?(in_reply_to_uri) return unless status.reply? && status.thread.nil? && Request.valid_url?(in_reply_to_uri)
ThreadResolveWorker.perform_async(status.id, in_reply_to_uri) ThreadResolveWorker.perform_async(status.id, in_reply_to_uri, { 'request_id' => @options[:request_id]})
end end
def fetch_replies(status) def fetch_replies(status)
collection = @object['replies'] collection = @object['replies']
return if collection.nil? return if collection.nil?
replies = ActivityPub::FetchRepliesService.new.call(status, collection, false) replies = ActivityPub::FetchRepliesService.new.call(status, collection, allow_synchronous_requests: false, request_id: @options[:request_id])
return unless replies.nil? return unless replies.nil?
uri = value_or_id(collection) uri = value_or_id(collection)
ActivityPub::FetchRepliesWorker.perform_async(status.id, uri) unless uri.nil? ActivityPub::FetchRepliesWorker.perform_async(status.id, uri, { 'request_id' => @options[:request_id]}) unless uri.nil?
end end
def conversation_from_uri(uri) def conversation_from_uri(uri)

View File

@ -2,10 +2,13 @@
class ActivityPub::FetchRemoteStatusService < BaseService class ActivityPub::FetchRemoteStatusService < BaseService
include JsonLdHelper include JsonLdHelper
include Redisable
DISCOVERIES_PER_REQUEST = 1000
# Should be called when uri has already been checked for locality # Should be called when uri has already been checked for locality
def call(uri, id: true, prefetched_body: nil, on_behalf_of: nil, expected_actor_uri: nil, request_id: nil) def call(uri, id: true, prefetched_body: nil, on_behalf_of: nil, expected_actor_uri: nil, request_id: nil)
@request_id = request_id @request_id = request_id || "#{Time.now.utc.to_i}-status-#{uri}"
@json = begin @json = begin
if prefetched_body.nil? if prefetched_body.nil?
fetch_resource(uri, id, on_behalf_of) fetch_resource(uri, id, on_behalf_of)
@ -42,7 +45,13 @@ class ActivityPub::FetchRemoteStatusService < BaseService
# activity as an update rather than create # activity as an update rather than create
activity_json['type'] = 'Update' if equals_or_includes_any?(activity_json['type'], %w(Create)) && Status.where(uri: object_uri, account_id: actor.id).exists? activity_json['type'] = 'Update' if equals_or_includes_any?(activity_json['type'], %w(Create)) && Status.where(uri: object_uri, account_id: actor.id).exists?
ActivityPub::Activity.factory(activity_json, actor, request_id: request_id).perform with_redis do |redis|
discoveries = redis.incr("status_discovery_per_request:#{@request_id}")
redis.expire("status_discovery_per_request:#{@request_id}", 5.minutes.seconds)
return nil if discoveries > DISCOVERIES_PER_REQUEST
end
ActivityPub::Activity.factory(activity_json, actor, request_id: @request_id).perform
end end
private private

View File

@ -3,14 +3,14 @@
class ActivityPub::FetchRepliesService < BaseService class ActivityPub::FetchRepliesService < BaseService
include JsonLdHelper include JsonLdHelper
def call(parent_status, collection_or_uri, allow_synchronous_requests = true) def call(parent_status, collection_or_uri, allow_synchronous_requests: true, request_id: nil)
@account = parent_status.account @account = parent_status.account
@allow_synchronous_requests = allow_synchronous_requests @allow_synchronous_requests = allow_synchronous_requests
@items = collection_items(collection_or_uri) @items = collection_items(collection_or_uri)
return if @items.nil? return if @items.nil?
FetchReplyWorker.push_bulk(filtered_replies) FetchReplyWorker.push_bulk(filtered_replies) { |reply_uri| [reply_uri, { 'request_id' => request_id}] }
@items @items
end end

View File

@ -1,7 +1,7 @@
# frozen_string_literal: true # frozen_string_literal: true
class FetchRemoteStatusService < BaseService class FetchRemoteStatusService < BaseService
def call(url, prefetched_body = nil) def call(url, prefetched_body: nil, request_id: nil)
if prefetched_body.nil? if prefetched_body.nil?
resource_url, resource_options = FetchResourceService.new.call(url) resource_url, resource_options = FetchResourceService.new.call(url)
else else
@ -9,6 +9,6 @@ class FetchRemoteStatusService < BaseService
resource_options = { prefetched_body: prefetched_body } resource_options = { prefetched_body: prefetched_body }
end end
ActivityPub::FetchRemoteStatusService.new.call(resource_url, **resource_options) unless resource_url.nil? ActivityPub::FetchRemoteStatusService.new.call(resource_url, **resource_options.merge(request_id: request_id)) unless resource_url.nil?
end end
end end

View File

@ -25,7 +25,7 @@ class ResolveURLService < BaseService
if equals_or_includes_any?(type, ActivityPub::FetchRemoteActorService::SUPPORTED_TYPES) if equals_or_includes_any?(type, ActivityPub::FetchRemoteActorService::SUPPORTED_TYPES)
ActivityPub::FetchRemoteActorService.new.call(resource_url, prefetched_body: body) ActivityPub::FetchRemoteActorService.new.call(resource_url, prefetched_body: body)
elsif equals_or_includes_any?(type, ActivityPub::Activity::Create::SUPPORTED_TYPES + ActivityPub::Activity::Create::CONVERTED_TYPES) elsif equals_or_includes_any?(type, ActivityPub::Activity::Create::SUPPORTED_TYPES + ActivityPub::Activity::Create::CONVERTED_TYPES)
status = FetchRemoteStatusService.new.call(resource_url, body) status = FetchRemoteStatusService.new.call(resource_url, prefetched_body: body)
authorize_with @on_behalf_of, status, :show? unless status.nil? authorize_with @on_behalf_of, status, :show? unless status.nil?
status status
end end

View File

@ -6,8 +6,8 @@ class ActivityPub::FetchRepliesWorker
sidekiq_options queue: 'pull', retry: 3 sidekiq_options queue: 'pull', retry: 3
def perform(parent_status_id, replies_uri) def perform(parent_status_id, replies_uri, options = {})
ActivityPub::FetchRepliesService.new.call(Status.find(parent_status_id), replies_uri) ActivityPub::FetchRepliesService.new.call(Status.find(parent_status_id), replies_uri, **options.deep_symbolize_keys)
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
true true
end end

View File

@ -6,7 +6,7 @@ class FetchReplyWorker
sidekiq_options queue: 'pull', retry: 3 sidekiq_options queue: 'pull', retry: 3
def perform(child_url) def perform(child_url, options = {})
FetchRemoteStatusService.new.call(child_url) FetchRemoteStatusService.new.call(child_url, **options.deep_symbolize_keys)
end end
end end

View File

@ -6,9 +6,9 @@ class ThreadResolveWorker
sidekiq_options queue: 'pull', retry: 3 sidekiq_options queue: 'pull', retry: 3
def perform(child_status_id, parent_url) def perform(child_status_id, parent_url, options = {})
child_status = Status.find(child_status_id) child_status = Status.find(child_status_id)
parent_status = FetchRemoteStatusService.new.call(parent_url) parent_status = FetchRemoteStatusService.new.call(parent_url, **options.deep_symbolize_keys)
return if parent_status.nil? return if parent_status.nil?

View File

@ -6,7 +6,7 @@ eo:
expires_at: Limdato expires_at: Limdato
options: Elektebloj options: Elektebloj
user: user:
agreement: Servo-interkonsento agreement: Interkonsento pri servoj
email: Retpoŝtadreso email: Retpoŝtadreso
locale: Lokaĵaro locale: Lokaĵaro
password: Pasvorto password: Pasvorto

View File

@ -1 +1,27 @@
---
my: my:
activerecord:
attributes:
poll:
expires_at: နောက်ဆုံးတင်သွင်းချိန်
options: ရွေးချယ်မှူများ
user:
agreement: ဝန်ဆောင်မှု သဘောတူညီချက်
email: အီးမေးလ်လိပ်စာ
locale: ဒေသဆိုင်ရာ
password: စကားဝှက်
user/account:
username: အသုံးပြုသူအမည်
user/invite_request:
text: အကြောင်းပြချက်
errors:
models:
account:
attributes:
username:
invalid: အက္ခရာစာလုံး၊ ဂဏန်းနံပါတ်နှင့်underscores သာပါရမည်
reserved: အသုံးပြုပြီးဖြစ်သည်
user:
attributes:
email:
unreachable: တည်ရှိပုံ မပေါ်ပါ

View File

@ -28,7 +28,7 @@ tr:
doorkeeper/application: doorkeeper/application:
attributes: attributes:
website: website:
invalid: geçerli bir URL değil invalid: geçerli bir bağlantı değil
import: import:
attributes: attributes:
data: data:

View File

@ -380,20 +380,28 @@ ast:
your_token: El pase d'accesu your_token: El pase d'accesu
auth: auth:
change_password: Contraseña change_password: Contraseña
delete_account: Desaniciu de la cuenta
delete_account_html: Si quies desaniciar la cuenta, pues facelo <a href="%{path}">equí</a>. Va pidísete que confirmes l'aición. delete_account_html: Si quies desaniciar la cuenta, pues facelo <a href="%{path}">equí</a>. Va pidísete que confirmes l'aición.
description:
prefix_sign_up: "¡Rexístrate güei en Mastodon!"
didnt_get_confirmation: "¿Nun recibiesti les instrucciones de confirmación?" didnt_get_confirmation: "¿Nun recibiesti les instrucciones de confirmación?"
dont_have_your_security_key: "¿Nun tienes una llave de seguranza?" dont_have_your_security_key: "¿Nun tienes una llave de seguranza?"
forgot_password: "¿Escaeciesti la contraseña?" forgot_password: "¿Escaeciesti la contraseña?"
login: Aniciar la sesión login: Aniciar la sesión
logout: Zarrar la sesión logout: Zarrar la sesión
migrate_account: Cambéu de cuenta
privacy_policy_agreement_html: Lleí ya acepto la <a href="%{privacy_policy_path}" target="_blank">política de privacidá</a> privacy_policy_agreement_html: Lleí ya acepto la <a href="%{privacy_policy_path}" target="_blank">política de privacidá</a>
providers: providers:
cas: CAS cas: CAS
saml: SAML saml: SAML
register: Rexistrase register: Rexistrase
registration_closed: "%{instance} nun acepta cuentes nueves"
security: Seguranza security: Seguranza
setup: setup:
email_settings_hint_html: Unvióse'l mensaxe de confirmación a %{email}. Si la direición de corréu electrónicu nun ye correuta, pues camudala na configuración de la cuenta. email_settings_hint_html: Unvióse'l mensaxe de confirmación a %{email}. Si la direición de corréu electrónicu nun ye correuta, pues camudala na configuración de la cuenta.
sign_in:
preamble_html: Anicia la sesión colos tos datos d'accesu en <strong>%{domain}</strong>. Si la cuenta ta agospiada n'otru sirvidor, nun vas ser a aniciar la sesión equí.
title: Aniciu de la sesión en «%{domain}»
sign_up: sign_up:
preamble: Con una cuenta nesti sirvidor de Mastodon vas ser a siguir a cualesquier perfil de la rede, independientemente del sirvidor onde s'agospie la so cuenta. preamble: Con una cuenta nesti sirvidor de Mastodon vas ser a siguir a cualesquier perfil de la rede, independientemente del sirvidor onde s'agospie la so cuenta.
title: 'Creación d''una cuenta en: %{domain}.' title: 'Creación d''una cuenta en: %{domain}.'
@ -412,7 +420,9 @@ ast:
return: Amosar el perfil de la cuenta return: Amosar el perfil de la cuenta
web: Dir a la web web: Dir a la web
challenge: challenge:
confirm: Siguir
hint_html: "<strong>Conseyu:</strong> nun vamos volver pidite la contraseña hasta dientro d'una hora." hint_html: "<strong>Conseyu:</strong> nun vamos volver pidite la contraseña hasta dientro d'una hora."
invalid_password: La contraseña nun ye válida
prompt: Confirma la contraseña pa siguir prompt: Confirma la contraseña pa siguir
crypto: crypto:
errors: errors:
@ -480,6 +490,7 @@ ast:
lists: Llistes lists: Llistes
storage: Almacenamientu multimedia storage: Almacenamientu multimedia
featured_tags: featured_tags:
add_new: Amestar
hint_html: "<strong>¿Qué son les etiquetes destacaes?</strong> Apaecen de forma bien visible nel perfil públicu ya permite que les persones restolen los tos artículos públicos per duana d'eses etiquetes. Son una gran ferramienta pa tener un rexistru de trabayos creativos o de proyeutos a plazu llongu." hint_html: "<strong>¿Qué son les etiquetes destacaes?</strong> Apaecen de forma bien visible nel perfil públicu ya permite que les persones restolen los tos artículos públicos per duana d'eses etiquetes. Son una gran ferramienta pa tener un rexistru de trabayos creativos o de proyeutos a plazu llongu."
filters: filters:
contexts: contexts:
@ -597,9 +608,13 @@ ast:
thousand: mil thousand: mil
trillion: B trillion: B
otp_authentication: otp_authentication:
code_hint: Introduz el códigu que xeneró l'aplicación autenticadora pa confirmar l'aición
description_html: Si actives l'<strong>autenticación en dos pasos</strong> con una aplicación autenticadora, al aniciar la sesión va ser obligatorio que tengas el teléfonu a mano, preséu que xenera los pases que tienes d'introducir. description_html: Si actives l'<strong>autenticación en dos pasos</strong> con una aplicación autenticadora, al aniciar la sesión va ser obligatorio que tengas el teléfonu a mano, preséu que xenera los pases que tienes d'introducir.
enable: Activar
instructions_html: "<strong>Escania esti códigu QR con Google Authenticator o otra aplicación asemeyada nel móvil</strong>. Dende agora, esa aplicación va xenerar los pases que tienes d'introducir cuando anicies la sesión."
manual_instructions: 'Si nun pues escaniar el códigu QR ya tienes d''introducilu manualmente, equí tienes el secretu en testu ensin formatu:' manual_instructions: 'Si nun pues escaniar el códigu QR ya tienes d''introducilu manualmente, equí tienes el secretu en testu ensin formatu:'
setup: Configurar setup: Configurar
wrong_code: "¡El códigu introducíu nun yera válidu! ¿La hora del sirvidor y la del preséu son correutes?"
pagination: pagination:
next: Siguiente next: Siguiente
truncate: "&hellip;" truncate: "&hellip;"
@ -668,6 +683,7 @@ ast:
authorized_apps: Aplicaciones autorizaes authorized_apps: Aplicaciones autorizaes
back: Volver a Mastodon back: Volver a Mastodon
development: Desendolcu development: Desendolcu
edit_profile: Edición del perfil
export: Esportación de datos export: Esportación de datos
featured_tags: Etiquetes destacaes featured_tags: Etiquetes destacaes
import: Importación import: Importación
@ -761,6 +777,7 @@ ast:
suspend: Cuenta suspendida suspend: Cuenta suspendida
welcome: welcome:
edit_profile_action: Configurar el perfil edit_profile_action: Configurar el perfil
edit_profile_step: Pues personalizar el perfil pente la xuba d'una semeya, el cambéu del nome visible y muncho más. Tamién, si lo prefieres, pues revisar los perfiles nuevos enantes de que puedan siguite.
explanation: Equí tienes dalgunos conseyos pa que comiences explanation: Equí tienes dalgunos conseyos pa que comiences
final_action: Comenzar a espublizar final_action: Comenzar a espublizar
subject: Afáyate en Mastodon subject: Afáyate en Mastodon

View File

@ -614,6 +614,7 @@ be:
comment: comment:
none: Пуста none: Пуста
comment_description_html: 'Каб даць больш інфармацыі, %{name} напісаў:' comment_description_html: 'Каб даць больш інфармацыі, %{name} напісаў:'
confirm_action: Пацвердзіць мадэрацыю супраць @%{acct}
created_at: Створана created_at: Створана
delete_and_resolve: Выдаліць допісы delete_and_resolve: Выдаліць допісы
forwarded: Пераслана forwarded: Пераслана
@ -644,10 +645,20 @@ be:
statuses: Змесціва, на якое паскардзіліся statuses: Змесціва, на якое паскардзіліся
statuses_description_html: Крыўднае змесціва будзе згадвацца ў зносінах з уліковым запісам, на які пададзена скарга statuses_description_html: Крыўднае змесціва будзе згадвацца ў зносінах з уліковым запісам, на які пададзена скарга
summary: summary:
actions:
delete_html: Выдаліць абразлівы допіс
mark_as_sensitive_html: Пазначыць медыя абразлівага допіса як далікатнае
suspend_html: Прыпыніць <strong>@%{acct}</strong>, зрабіць профіль і змесціва недаступным і не даваць магчымасці ўзаемадзейнічаць з імі
close_report: 'Пазначыць скаргу #%{id} як вырашаную' close_report: 'Пазначыць скаргу #%{id} як вырашаную'
close_reports_html: Адзначыць <strong>усе</strong> скаргі супраць <strong>@%{acct}</strong> як вырашаныя
delete_data_html: Выдаліць профіль <strong>@%{acct}</strong> і змесціва праз 30 дзён, калі тым часам гэтае дзеянне не будзе адменена
preview_preamble_html: "<strong>@%{acct}</strong> атрымае папярэджанне наступнага зместу:"
send_email_html: Адправіць <strong>@%{acct}</strong> папярэджанне па электроннай пошце
warning_placeholder: Неабавязковае дадатковае абгрунтаванне мадэрацыі.
target_origin: Крыніца уліковага запісу на які пададзена скарга target_origin: Крыніца уліковага запісу на які пададзена скарга
title: Скаргі title: Скаргі
unassign: Скінуць unassign: Скінуць
unknown_action_msg: 'Невядомае дзеянне: %{action}'
unresolved: Нявырашаныя unresolved: Нявырашаныя
updated_at: Абноўлена updated_at: Абноўлена
view_profile: Паглядзець профіль view_profile: Паглядзець профіль
@ -1430,6 +1441,7 @@ be:
activity: Актыўнасць ул. запісу activity: Актыўнасць ул. запісу
confirm_follow_selected_followers: Вы ўпэўнены, што жадаеце падпісацца на выбраных падпісчыкаў? confirm_follow_selected_followers: Вы ўпэўнены, што жадаеце падпісацца на выбраных падпісчыкаў?
confirm_remove_selected_followers: Вы ўпэўнены, што жадаеце выдаліць выбраных падпісчыкаў? confirm_remove_selected_followers: Вы ўпэўнены, што жадаеце выдаліць выбраных падпісчыкаў?
confirm_remove_selected_follows: Вы ўпэўнены, што жадаеце выдаліць выбраныя падпіскі?
dormant: Занядбаны dormant: Занядбаны
follow_selected_followers: Падпісацца на выбраных падпісчыкаў follow_selected_followers: Падпісацца на выбраных падпісчыкаў
followers: Падпісчыкі followers: Падпісчыкі

View File

@ -6,7 +6,7 @@ eo:
send_instructions: Vi ricevos retmesaĝon kun instrukcioj por konfirmi vian retadreson ene de kelkaj minutoj. Bonvolu kontroli vian spamujon se vi ne ricevis ĉi tiun retmesaĝon. send_instructions: Vi ricevos retmesaĝon kun instrukcioj por konfirmi vian retadreson ene de kelkaj minutoj. Bonvolu kontroli vian spamujon se vi ne ricevis ĉi tiun retmesaĝon.
send_paranoid_instructions: Se via retadreso ekzistas en nia datumbazo, vi ricevos retmesaĝon kun instrukcioj por konfirmi vian retadreson ene de kelkaj minutoj. Bonvolu kontroli vian spamujon se vi ne ricevis ĉi tiun retmesaĝon. send_paranoid_instructions: Se via retadreso ekzistas en nia datumbazo, vi ricevos retmesaĝon kun instrukcioj por konfirmi vian retadreson ene de kelkaj minutoj. Bonvolu kontroli vian spamujon se vi ne ricevis ĉi tiun retmesaĝon.
failure: failure:
already_authenticated: Vi jam ensalutis. already_authenticated: Vi jam salutis.
inactive: Via konto ankoraŭ ne estas konfirmita. inactive: Via konto ankoraŭ ne estas konfirmita.
invalid: Nevalida %{authentication_keys} aŭ pasvorto. invalid: Nevalida %{authentication_keys} aŭ pasvorto.
last_attempt: Vi ankoraŭ povas provi unufoje antaŭ ol via konto estos ŝlosita. last_attempt: Vi ankoraŭ povas provi unufoje antaŭ ol via konto estos ŝlosita.

View File

@ -8,42 +8,42 @@ ko:
failure: failure:
already_authenticated: 이미 로그인 된 상태입니다. already_authenticated: 이미 로그인 된 상태입니다.
inactive: 계정이 아직 활성화 되지 않았습니다. inactive: 계정이 아직 활성화 되지 않았습니다.
invalid: 알맞지 않은 %{authentication_keys} 혹은 암호입니다. invalid: 올바르지 않은 %{authentication_keys} 혹은 암호입니다.
last_attempt: 계정이 잠기기까지 한 번의 시도가 남았습니다. last_attempt: 계정이 잠기기까지 한 번의 시도가 남았습니다.
locked: 계정이 잠겼습니다. locked: 계정이 잠겼습니다.
not_found_in_database: 알맞지 않은 %{authentication_keys} 혹은 암호입니다. not_found_in_database: 올바르지 않은 %{authentication_keys} 혹은 암호입니다.
pending: 이 계정은 아직 검토 중입니다. pending: 이 계정은 아직 검토 중입니다.
timeout: 세션이 만료 되었습니다. 다시 로그인 해 주세요. timeout: 세션이 만료 되었습니다. 다시 로그인 해 주세요.
unauthenticated: 계속 하려면 로그인을 해야 합니다. unauthenticated: 계속 하려면 로그인을 해야 합니다.
unconfirmed: 계속 하려면 이메일을 확인 받아야 합니다. unconfirmed: 계속 하려면 이메일을 확인 받아야 합니다.
mailer: mailer:
confirmation_instructions: confirmation_instructions:
action: 이메일 주소 검증 action: 이메일 확인
action_with_app: 확인하고 %{app}으로 돌아가기 action_with_app: 확인하고 %{app}으로 돌아가기
explanation: 당신은 %{host}에서 이 이메일로 가입하셨습니다. 클릭만 하시면 계정이 활성화 됩니다. 만약 당신이 가입한 게 아니라면 이 메일을 무시해 주세요. explanation: 당신은 %{host}에서 이 이메일로 가입하셨습니다. 클릭만 하시면 계정이 활성화 됩니다. 만약 당신이 가입한 게 아니라면 이 메일을 무시해 주세요.
explanation_when_pending: 당신은 %{host}에 가입 요청을 하셨습니다. 이 이메일이 확인 되면 우리가 가입 요청을 리뷰하고 승인할 수 있습니다. 그 전까지는 로그인을 할 수 없습니다. 당신의 가입 요청이 거부 될 경우 당신에 대한 정보는 모두 삭제 되며 따로 요청 할 필요는 없습니다. 만약 당신이 가입 요청을 한 게 아니라면 이 메일을 무시해 주세요. explanation_when_pending: 당신은 %{host}에 가입 요청을 하셨습니다. 이 이메일이 확인 되면 우리가 가입 요청을 리뷰하고 승인할 수 있습니다. 그 전까지는 로그인을 할 수 없습니다. 당신의 가입 요청이 거부 될 경우 당신에 대한 정보는 모두 삭제 되며 따로 요청 할 필요는 없습니다. 만약 당신이 가입 요청을 한 게 아니라면 이 메일을 무시해 주세요.
extra_html: <a href="%{terms_path}">서버의 규칙</a>과 <a href="%{policy_path}">이용 약관</a>도 확인해 주세요. extra_html: <a href="%{terms_path}">서버의 규칙</a>과 <a href="%{policy_path}">이용 약관</a>도 확인해 주세요.
subject: '마스토돈: %{instance}에 대한 확인 메일' subject: '마스토돈: %{instance}에 대한 확인 메일'
title: 이메일 주소 검증 title: 이메일 주소 확인
email_changed: email_changed:
explanation: '귀하의 계정이 다음의 이메일 주소로 변경됩니다:' explanation: '귀하의 계정이 다음의 이메일 주소로 변경됩니다:'
extra: 만약 이메일을 바꾸지 않았다면 누군가 계정에 대한 접근 권한을 얻은 것입니다. 바로 암호를 바꾸셔야 하며, 만약 계정이 잠겼다면 서버의 운영자에게 연락 바랍니다. extra: 만약 이메일을 바꾸지 않았다면 누군가 계정에 대한 접근 권한을 얻은 것입니다. 바로 암호를 바꾸셔야 하며, 만약 계정이 잠겼다면 서버의 운영자에게 연락 바랍니다.
subject: '마스토돈: 이메일이 변경 되었습니다' subject: '마스토돈: 이메일이 변경 되었습니다'
title: 새 이메일 주소 title: 새 이메일 주소
password_change: password_change:
explanation: 계정의 암호를 바꾸었습니다. explanation: 계정 암호가 변경되었습니다.
extra: 만약 패스워드 변경을 하지 않았다면 누군가가 당신의 계정에 대한 접근 권한을 얻은 것입니다. 즉시 패스워드를 바꾼 후, 계정이 잠겼다면 서버의 관리자에게 연락 하세요. extra: 만약 패스워드 변경을 하지 않았다면 누군가가 당신의 계정에 대한 접근 권한을 얻은 것입니다. 즉시 패스워드를 바꾼 후, 계정이 잠겼다면 서버의 관리자에게 연락 하세요.
subject: 'Mastodon: 암호 변경' subject: 'Mastodon: 암호 변경'
title: 암호 변경 title: 암호 변경
reconfirmation_instructions: reconfirmation_instructions:
explanation: 이메일 주소를 바꾸려면 새 이메일 주소를 확인해야 합니다. explanation: 이메일 주소를 바꾸려면 새 이메일 주소를 확인해야 합니다.
extra: 당신이 시도한 것이 아니라면 이 메일을 무시해 주세요. 위 링크를 클릭하지 않으면 이메일 변경은 일어나지 않습니다. extra: 당신이 시도한 것이 아니라면 이 메일을 무시해 주세요. 위 링크를 클릭하지 않으면 이메일 변경은 일어나지 않습니다.
subject: '마스토돈: %{instance}에 대한 이메일 확인' subject: '마스토돈: %{instance}에 대한 이메일 확인'
title: 이메일 주소 검증 title: 이메일 주소 확인
reset_password_instructions: reset_password_instructions:
action: 암호 변경 action: 암호 변경
explanation: 계정에 새 암호를 쓰도록 요청받았습니다. explanation: 계정에 대한 패스워드 변경을 요청하였습니다.
extra: 요청하지 않았다면 이 이메일을 무시하셔야 합니다. 상기 링크에 접속하지 않으면 암호는 새것으로 변경되지 않습니다. extra: 만약 당신이 시도한 것이 아니라면 이 메일을 무시해 주세요. 위 링크를 클릭해 패스워드를 새로 설정하기 전까지는 패스워드가 바뀌지 않습니다.
subject: 'Mastodon: 암호 재설정 설명' subject: 'Mastodon: 암호 재설정 설명'
title: 암호 재설정 title: 암호 재설정
two_factor_disabled: two_factor_disabled:
@ -81,7 +81,7 @@ ko:
failure: '"%{reason}" 때문에 당신을 %{kind}에서 인증할 수 없습니다.' failure: '"%{reason}" 때문에 당신을 %{kind}에서 인증할 수 없습니다.'
success: "%{kind} 계정을 성공적으로 인증했습니다." success: "%{kind} 계정을 성공적으로 인증했습니다."
passwords: passwords:
no_token: 이 페이지는 암호 재설정 이메일을 거쳐야 접근할 수 있습니다. 만약 암호 재설정 이메일 거치지 않았다면 사용하려는 URL이 맞는지 확인 바랍니다. no_token: 이 페이지는 암호 재설정 이메일을 거쳐야 접근할 수 있습니다. 만약 암호 재설정 이메일 거치지 않았다면 입력한 URL이 맞는지 확인 바랍니다.
send_instructions: 당신의 이메일 주소가 우리의 DB에 있다면 패스워드 복구 링크가 몇 분 이내에 메일로 발송 됩니다. 만약 메일을 받지 못 하신 경우 스팸 폴더를 확인해 주세요. send_instructions: 당신의 이메일 주소가 우리의 DB에 있다면 패스워드 복구 링크가 몇 분 이내에 메일로 발송 됩니다. 만약 메일을 받지 못 하신 경우 스팸 폴더를 확인해 주세요.
send_paranoid_instructions: 당신의 이메일 주소가 우리의 DB에 있다면 패스워드 복구 링크가 몇 분 이내에 메일로 발송 됩니다. 만약 메일을 받지 못 하신 경우 스팸 폴더를 확인해 주세요. send_paranoid_instructions: 당신의 이메일 주소가 우리의 DB에 있다면 패스워드 복구 링크가 몇 분 이내에 메일로 발송 됩니다. 만약 메일을 받지 못 하신 경우 스팸 폴더를 확인해 주세요.
updated: 암호를 잘 바꾸었습니다. 현재 로그인 상태입니다. updated: 암호를 잘 바꾸었습니다. 현재 로그인 상태입니다.

View File

@ -49,6 +49,7 @@ ast:
description_html: Estes son les aplicaciones que puen acceder a la cuenta cola API. Si equí hai aplicaciones que nun conoces o hai dalguna aplicación que nun funciona correutamente, pues revocar el so accesu. description_html: Estes son les aplicaciones que puen acceder a la cuenta cola API. Si equí hai aplicaciones que nun conoces o hai dalguna aplicación que nun funciona correutamente, pues revocar el so accesu.
never_used: Enxamás s'usó never_used: Enxamás s'usó
scopes: Permisos scopes: Permisos
title: Les aplicaciones qu'autoricesti
errors: errors:
messages: messages:
access_denied: El propietariu del recursu o'l sirvidor d'autorización negó la solicitú. access_denied: El propietariu del recursu o'l sirvidor d'autorización negó la solicitú.

View File

@ -149,9 +149,19 @@ eo:
scopes: scopes:
admin:read: legu ĉiujn datumojn en la servilo admin:read: legu ĉiujn datumojn en la servilo
admin:read:accounts: legi konfidencajn informojn de ĉiuj kontoj admin:read:accounts: legi konfidencajn informojn de ĉiuj kontoj
admin:read:canonical_email_blocks: legi sentemajn informojn de ĉiuj kanonikaj retpoŝtaj blokoj
admin:read:domain_allows: legi sentemajn informojn de ĉiuj domajno permesas
admin:read:domain_blocks: legi sentemajn informojn de ĉiuj domajnaj blokoj
admin:read:email_domain_blocks: legi sentemajn informojn pri ĉiuj retpoŝtaj domajnaj blokoj
admin:read:ip_blocks: legi sentivajn informojn de ĉiuj IP-blokoj
admin:read:reports: legi konfidencajn informojn de ĉiuj signaloj kaj signalitaj kontoj admin:read:reports: legi konfidencajn informojn de ĉiuj signaloj kaj signalitaj kontoj
admin:write: modifi ĉiujn datumojn en la servilo admin:write: modifi ĉiujn datumojn en la servilo
admin:write:accounts: plenumi agojn de kontrolo sur kontoj admin:write:accounts: plenumi agojn de kontrolo sur kontoj
admin:write:canonical_email_blocks: fari moderigajn agojn sur kanonikaj retpoŝtaj blokoj
admin:write:domain_allows: fari moderigajn agojn sur domajno permesas
admin:write:domain_blocks: fari moderigajn agojn sur domajnaj blokoj
admin:write:email_domain_blocks: fari moderigajn agojn pri retpoŝtaj domajnaj blokoj
admin:write:ip_blocks: fari moderigajn agojn pri IP-blokoj
admin:write:reports: plenumi agojn de kontrolo sur signaloj admin:write:reports: plenumi agojn de kontrolo sur signaloj
crypto: uzi fin-al-finan ĉifradon crypto: uzi fin-al-finan ĉifradon
follow: ŝanĝi rilatojn al aliaj kontoj follow: ŝanĝi rilatojn al aliaj kontoj

View File

@ -152,9 +152,16 @@ ru:
admin:read:canonical_email_blocks: чтение конфиденциальной информации всех канонических блоков электронной почты admin:read:canonical_email_blocks: чтение конфиденциальной информации всех канонических блоков электронной почты
admin:read:domain_allows: чтение конфиденциальной информации для всего домена позволяет admin:read:domain_allows: чтение конфиденциальной информации для всего домена позволяет
admin:read:domain_blocks: чтение конфиденциальной информации для всего домена позволяет admin:read:domain_blocks: чтение конфиденциальной информации для всего домена позволяет
admin:read:email_domain_blocks: читать конфиденциальную информацию обо всех блоках домена электронной почты
admin:read:ip_blocks: читать конфиденциальную информацию обо всех IP-блоках
admin:read:reports: читать конфиденциальную информацию о всех жалобах и учётных записях с жалобами admin:read:reports: читать конфиденциальную информацию о всех жалобах и учётных записях с жалобами
admin:write: модифицировать все данные на сервере admin:write: модифицировать все данные на сервере
admin:write:accounts: производить модерацию учётных записей admin:write:accounts: производить модерацию учётных записей
admin:write:canonical_email_blocks: выполнять действия по модерации канонических блоков электронной почты
admin:write:domain_allows: производить модерацию учётных записей
admin:write:domain_blocks: выполнять модерационные действия над блокировкой домена
admin:write:email_domain_blocks: выполнять действия по модерации блоков домена электронной почты
admin:write:ip_blocks: выполнять модерационные действия над блокировками IP
admin:write:reports: производить модерацию жалоб admin:write:reports: производить модерацию жалоб
crypto: использ. сквозное шифрование crypto: использ. сквозное шифрование
follow: управлять подписками и списком блокировок follow: управлять подписками и списком блокировок

View File

@ -19,7 +19,7 @@ tr:
doorkeeper: doorkeeper:
applications: applications:
buttons: buttons:
authorize: İzin Ver authorize: Yetkilendir
cancel: İptal Et cancel: İptal Et
destroy: Yok Et destroy: Yok Et
edit: Düzenle edit: Düzenle
@ -29,19 +29,19 @@ tr:
edit: edit:
title: Uygulamayı düzenle title: Uygulamayı düzenle
form: form:
error: Hata! Olası hatalar için formunuzu kontrol edin error: Opps! Olası hatalar için formunuzu kontrol edin
help: help:
native_redirect_uri: Yerel testler için %{native_redirect_uri} kullanın native_redirect_uri: Yerel testler için %{native_redirect_uri} kullanın
redirect_uri: URL başına bir satır kullanın redirect_uri: URL başına tek satır kullanın
scopes: Kapsamları boşluklarla ayırın. Varsayılan kapsamları kullanmak için boş bırakın. scopes: Kapsamları boşluklarla ayırın. Varsayılan kapsamları kullanmak için boş bırakın.
index: index:
application: Uygulama application: Uygulama
callback_url: Geri Dönüş URL callback_url: Geri Dönüş bağlantısı
delete: Sil delete: Sil
empty: Hiç uygulamanız yok. empty: Hiç uygulamanız yok.
name: İsim name: İsim
new: Yeni uygulama new: Yeni uygulama
scopes: Kapsam scopes: Kapsamlar
show: Göster show: Göster
title: Uygulamalarınız title: Uygulamalarınız
new: new:
@ -49,13 +49,13 @@ tr:
show: show:
actions: Eylemler actions: Eylemler
application_id: İstemci anahtarı application_id: İstemci anahtarı
callback_urls: Callback URL callback_urls: Geri Dönüş bağlantıları
scopes: Kapsamlar scopes: Kapsamlar
secret: İstemci gizli anahtarı secret: İstemci gizli anahtarı
title: 'Uygulama: %{name}' title: 'Uygulama: %{name}'
authorizations: authorizations:
buttons: buttons:
authorize: İzin Ver authorize: Yetkilendir
deny: Reddet deny: Reddet
error: error:
title: Bir hata oluştu title: Bir hata oluştu

View File

@ -178,7 +178,54 @@ en-GB:
create_announcement: Create Announcement create_announcement: Create Announcement
create_canonical_email_block: Create E-mail Block create_canonical_email_block: Create E-mail Block
create_custom_emoji: Create Custom Emoji create_custom_emoji: Create Custom Emoji
create_domain_allow: Create Domain Allow
create_domain_block: Create Domain Block
create_email_domain_block: Create E-mail Domain Block
create_ip_block: Create IP rule
create_unavailable_domain: Create Unavailable Domain
create_user_role: Create Role
demote_user: Demote User
destroy_announcement: Delete Announcement
destroy_canonical_email_block: Delete E-mail Block
destroy_custom_emoji: Delete Custom Emoji
destroy_domain_allow: Delete Domain Allow
destroy_domain_block: Delete Domain Block
destroy_email_domain_block: Delete E-mail Domain Block
destroy_instance: Purge Domain
destroy_ip_block: Delete IP rule
destroy_status: Delete Post
destroy_unavailable_domain: Delete Unavailable Domain
destroy_user_role: Destroy Role
disable_2fa_user: Disable 2FA
disable_custom_emoji: Disable Custom Emoji
disable_sign_in_token_auth_user: Disable E-mail Token Authentication for User
disable_user: Disable User
enable_custom_emoji: Enable Custom Emoji
enable_sign_in_token_auth_user: Enable E-mail Token Authentication for User
enable_user: Enable User
memorialize_account: Memorialise Account
promote_user: Promote User
reject_appeal: Reject Appeal
reject_user: Reject User
remove_avatar_user: Remove Avatar
reopen_report: Reopen Report
resend_user: Resend Confirmation Mail
reset_password_user: Reset Password
resolve_report: Resolve Report
sensitive_account: Force-Sensitive Account
silence_account: Limit Account
suspend_account: Suspend Account
unassigned_report: Unassign Report unassigned_report: Unassign Report
unblock_email_account: Unblock email address
unsensitive_account: Undo Force-Sensitive Account
unsilence_account: Undo Limit Account
unsuspend_account: Unsuspend Account
update_announcement: Update Announcement
update_custom_emoji: Update Custom Emoji
update_domain_block: Update Domain Block
update_ip_block: Update IP rule
update_status: Update Post
update_user_role: Update Role
roles: roles:
categories: categories:
devops: DevOps devops: DevOps
@ -237,6 +284,14 @@ en-GB:
seamless_external_login: You are logged in via an external service, so password and e-mail settings are not available. seamless_external_login: You are logged in via an external service, so password and e-mail settings are not available.
signed_in_as: 'Signed in as:' signed_in_as: 'Signed in as:'
webauthn_credentials: webauthn_credentials:
delete: Delete
delete_confirmation: Are you sure you want to delete this security key?
description_html: If you enable <strong>security key authentication</strong>, logging in will require you to use one of your security keys.
destroy:
error: There was a problem deleting you security key. Please try again.
success: Your security key was successfully deleted.
invalid_credential: Invalid security key
nickname_hint: Enter the nickname of your new security key
not_enabled: You haven't enabled WebAuthn yet not_enabled: You haven't enabled WebAuthn yet
not_supported: This browser doesn't support security keys not_supported: This browser doesn't support security keys
otp_required: To use security keys please enable two-factor authentication first. otp_required: To use security keys please enable two-factor authentication first.

View File

@ -117,6 +117,7 @@ eo:
reject: Malakcepti reject: Malakcepti
rejected_msg: Sukcese malaprobis aliĝ-peton de %{username} rejected_msg: Sukcese malaprobis aliĝ-peton de %{username}
remote_suspension_irreversible: La informoj de ĉi tiu konto estis neinversigeble forigitaj. remote_suspension_irreversible: La informoj de ĉi tiu konto estis neinversigeble forigitaj.
remote_suspension_reversible_hint_html: La konto estas suspendita, kaj la datumoj estos komplete forigitaj je %{date}. Ĝis tiam, la konto povas esti malsuspendita sen flankefiko. Se vi deziras tuj forigi ĉiujn datumojn de la konto, vi povas fari tion sube.
remove_avatar: Forigi la profilbildon remove_avatar: Forigi la profilbildon
remove_header: Forigi kapan bildon remove_header: Forigi kapan bildon
removed_avatar_msg: La rolfiguro de %{username} estas sukcese forigita removed_avatar_msg: La rolfiguro de %{username} estas sukcese forigita
@ -440,6 +441,7 @@ eo:
private_comment_description_html: 'Por helpi vin, importitaj blokoj kreitas kun la privata komento: <q>%{comment}</q>' private_comment_description_html: 'Por helpi vin, importitaj blokoj kreitas kun la privata komento: <q>%{comment}</q>'
private_comment_template: Enportita el %{source} je %{date} private_comment_template: Enportita el %{source} je %{date}
title: Importi domajnblokojn title: Importi domajnblokojn
invalid_domain_block: '1 au pli da domajnblokadoj ignoritas ĉar la eraro: %{error}'
new: new:
title: Importi domajnblokojn title: Importi domajnblokojn
no_file: Neniu dosiero elektita no_file: Neniu dosiero elektita
@ -574,7 +576,10 @@ eo:
mark_as_sensitive_description_html: La audovidaĵo en la raportita mesaĝo markotas kiel sentema kaj admono rekorditas. mark_as_sensitive_description_html: La audovidaĵo en la raportita mesaĝo markotas kiel sentema kaj admono rekorditas.
other_description_html: Vidu pli da ebloj por regi la sintenon de la konto kaj por personigi la komunikadon kun la raportita konto. other_description_html: Vidu pli da ebloj por regi la sintenon de la konto kaj por personigi la komunikadon kun la raportita konto.
resolve_description_html: Nenio okazotas al la raportita konto kaj la raporto fermotas. resolve_description_html: Nenio okazotas al la raportita konto kaj la raporto fermotas.
silence_description_html: La konto estos videbla al nur personoj kiu jam sekvis ĝin au permane serĉo ĝin, ege limigante ĝian atingon. Malfermi ciujn raportojn kontra ĉi tiun konton.
suspend_description_html: La konto kaj ciuj ĝiaj enhavoj estos neatingebla kaj poŝte forigitas, kaj interagi per ĝi estos neebla. Malfermi ciujn raportojn kontra ĉi tiu konto.
actions_description_html: Decidu kiu ago por solvi ĉi tiuj raporto. <strong>Spamo</strong> kategorio elektitas. actions_description_html: Decidu kiu ago por solvi ĉi tiuj raporto. <strong>Spamo</strong> kategorio elektitas.
actions_description_remote_html: Decidu kiun klopodon por solvi ĉi tiun raporton. Ĉi tiu efikas kiel nur <strong>via</strong> servilo komuniki per ĉi tiu fora konto kaj trakti ĝian enhavon.
add_to_report: Aldoni pli al raporto add_to_report: Aldoni pli al raporto
are_you_sure: Ĉu vi certas? are_you_sure: Ĉu vi certas?
assign_to_self: Asigni al mi assign_to_self: Asigni al mi
@ -585,6 +590,7 @@ eo:
comment: comment:
none: Nenio none: Nenio
comment_description_html: 'Por doni pli da informo, %{name} skribis:' comment_description_html: 'Por doni pli da informo, %{name} skribis:'
confirm_action: Konfirmi moderigadagon kontra @%{acct}
created_at: Signalita created_at: Signalita
delete_and_resolve: Forigi afiŝojn delete_and_resolve: Forigi afiŝojn
forwarded: Plusendita forwarded: Plusendita
@ -621,10 +627,17 @@ eo:
silence_html: 'Vi ja tuj <strong>limigos</strong> kelke da afiŝoj de <strong>@%{acct}</strong>. Tio faros kiel:' silence_html: 'Vi ja tuj <strong>limigos</strong> kelke da afiŝoj de <strong>@%{acct}</strong>. Tio faros kiel:'
suspend_html: 'Vi ja tuj <strong>suspendos</strong> la konton de <strong>@%{acct}</strong>. Tio faros kiel:' suspend_html: 'Vi ja tuj <strong>suspendos</strong> la konton de <strong>@%{acct}</strong>. Tio faros kiel:'
actions: actions:
delete_html: Forigi la sentemajn afiŝojn
mark_as_sensitive_html: Markigi la audovidaĵojn de sentemaj afiŝoj kiel sentemaj
silence_html: Ege limigi atingon de <strong>@%{acct}</strong> per kauzi ilia profilo kaj enhavoj esti videbla nur al personoj kiu jam sekvis ilin au permane serĉi ĝin
suspend_html: Suspendi <strong>@%{acct}</strong>, fari ties profilon kaj enhavojn neatingeblaj kaj maleblaj interagi kun suspend_html: Suspendi <strong>@%{acct}</strong>, fari ties profilon kaj enhavojn neatingeblaj kaj maleblaj interagi kun
close_report: 'Marki la raporto #%{id} kiel solvita' close_report: 'Marki la raporto #%{id} kiel solvita'
close_reports_html: Marki <strong>ĉiuj</strong> raportoj kontraŭ <strong>@%{acct}</strong> kiel solvitaj close_reports_html: Marki <strong>ĉiuj</strong> raportoj kontraŭ <strong>@%{acct}</strong> kiel solvitaj
delete_data_html: Forigi profilon kaj enhavojn de <strong>@%{acct}</strong> post 30 tagoj se ili ne malsuspenditas dum la dauro
preview_preamble_html: "<strong>@%{acct}</strong> akiros averton kun ĉi tiuj enhavoj:"
record_strike_html: Rekordu admonon kontra <strong>@%{acct}</strong> por helpi vi plikontroli estontajn malobservojn de ĉi tiu konto
send_email_html: Sendi al <strong>@%{acct}</strong> retpoŝtaĵon de averto send_email_html: Sendi al <strong>@%{acct}</strong> retpoŝtaĵon de averto
warning_placeholder: Nedeviga aldona kialo por la moderigadago.
target_origin: Origino de raportita konto target_origin: Origino de raportita konto
title: Signaloj title: Signaloj
unassign: Malasigni unassign: Malasigni
@ -990,6 +1003,7 @@ eo:
email_settings_hint_html: La konfirmretpoŝto senditas al %{email}. email_settings_hint_html: La konfirmretpoŝto senditas al %{email}.
title: Agordi title: Agordi
sign_in: sign_in:
preamble_html: Ensalutu per via detaloj de <strong>%{domain}</strong>. Se via konto gastigantigas sur malsama servilo, vi ne povas ensaluti ĉi tie.
title: Saluti en %{domain} title: Saluti en %{domain}
sign_up: sign_up:
preamble: Per konto ĉe ĉi tiu Mastodon-servilo, vi povas sekvi ajn personojn en la reto. preamble: Per konto ĉe ĉi tiu Mastodon-servilo, vi povas sekvi ajn personojn en la reto.
@ -1382,6 +1396,7 @@ eo:
unrecognized_emoji: ne estas rekonita emoĝio unrecognized_emoji: ne estas rekonita emoĝio
relationships: relationships:
activity: Konta aktiveco activity: Konta aktiveco
confirm_follow_selected_followers: Ĉu vi certas ke vi volas sekvi la elektitajn sekvantojn?
confirm_remove_selected_followers: Ĉu vi certas, ke vi volas forigi la elektitajn sekvantojn? confirm_remove_selected_followers: Ĉu vi certas, ke vi volas forigi la elektitajn sekvantojn?
confirm_remove_selected_follows: Ĉu vi certas, ke vi volas forigi la elektitajn sekvatojn? confirm_remove_selected_follows: Ĉu vi certas, ke vi volas forigi la elektitajn sekvatojn?
dormant: Dormanta dormant: Dormanta

View File

@ -441,6 +441,7 @@ fi:
private_comment_description_html: 'Tuodun estolistan alkuperän selvillä pitämiseksi, lisätään tietojen yhteyteen seuraava yksityinen kommentti: <q>%{comment}</q>' private_comment_description_html: 'Tuodun estolistan alkuperän selvillä pitämiseksi, lisätään tietojen yhteyteen seuraava yksityinen kommentti: <q>%{comment}</q>'
private_comment_template: Tuotu lähteestä %{source}, pvm %{date} private_comment_template: Tuotu lähteestä %{source}, pvm %{date}
title: Tuo luettelo verkkoalue-estoista title: Tuo luettelo verkkoalue-estoista
invalid_domain_block: 'Yksi tai useampi verkkotunnuksen lohko ohitettiin seuraavien virheiden vuoksi: %{error}'
new: new:
title: Tuo luettelo verkkoalue-estoista title: Tuo luettelo verkkoalue-estoista
no_file: Yhtäkään tiedostoa ei ole valittu no_file: Yhtäkään tiedostoa ei ole valittu
@ -575,7 +576,10 @@ fi:
mark_as_sensitive_description_html: Ilmoitettujen viestien media merkitään arkaluonteisiksi ja varoitus tallennetaan, jotta voit kärjistää saman tilin tulevia rikkomuksia. mark_as_sensitive_description_html: Ilmoitettujen viestien media merkitään arkaluonteisiksi ja varoitus tallennetaan, jotta voit kärjistää saman tilin tulevia rikkomuksia.
other_description_html: Katso lisää vaihtoehtoja tilin käytöksen hallitsemiseksi ja ilmoitetun tilin viestinnän mukauttamiseksi. other_description_html: Katso lisää vaihtoehtoja tilin käytöksen hallitsemiseksi ja ilmoitetun tilin viestinnän mukauttamiseksi.
resolve_description_html: Ilmoitettua tiliä vastaan ei ryhdytä toimenpiteisiin, varoitusta ei kirjata ja raportti suljetaan. resolve_description_html: Ilmoitettua tiliä vastaan ei ryhdytä toimenpiteisiin, varoitusta ei kirjata ja raportti suljetaan.
silence_description_html: Tili näkyy vain niille, jotka jo seuraavat sitä tai estävät sen manuaalisesti, mikä rajoittaa merkittävästi sen kattavuutta. Se voidaan aina palauttaa. Sulkee kaikki raportit tätä tiliä vastaan.
suspend_description_html: Tili ja kaikki sen sisältö eivät ole käytettävissä ja vuorovaikutus sen kanssa on mahdotonta, sekä lopulta poistetaan. Palautettava 30 päivän kuluessa. Sulkee kaikki raportit tätä tiliä vastaan.
actions_description_html: Päätä, mihin toimiin ryhdyt tämän ilmoituksen ratkaisemiseksi. Jos ryhdyt rangaistustoimeen ilmoitettua tiliä vastaan, heille lähetetään sähköposti-ilmoitus, paitsi jos <strong>Roskaposti</strong> luokka on valittuna. actions_description_html: Päätä, mihin toimiin ryhdyt tämän ilmoituksen ratkaisemiseksi. Jos ryhdyt rangaistustoimeen ilmoitettua tiliä vastaan, heille lähetetään sähköposti-ilmoitus, paitsi jos <strong>Roskaposti</strong> luokka on valittuna.
actions_description_remote_html: Päätä, mihin toimiin ryhdyt tämän raportin ratkaisemiseksi. Tämä vaikuttaa vain siihen, miten <strong>palvelimesi</strong> kommunikoi tämän etätilin kanssa ja käsittelee sen sisältöä.
add_to_report: Lisää raporttiin add_to_report: Lisää raporttiin
are_you_sure: Oletko varma? are_you_sure: Oletko varma?
assign_to_self: Ota tehtäväksi assign_to_self: Ota tehtäväksi
@ -629,7 +633,9 @@ fi:
suspend_html: Rajoita <strong>@%{acct}</strong>, jolloin heidän profiilinsa ja sisällönsä ei ole käytettävissä ja on mahdotonta olla vuorovaikutuksessa suspend_html: Rajoita <strong>@%{acct}</strong>, jolloin heidän profiilinsa ja sisällönsä ei ole käytettävissä ja on mahdotonta olla vuorovaikutuksessa
close_report: 'Merkitse raportti #%{id} selvitetyksi' close_report: 'Merkitse raportti #%{id} selvitetyksi'
close_reports_html: Merkitse <strong>kaikki</strong> käyttäjään <strong>@%{acct}</strong> kohdistuvat raportit ratkaistuiksi close_reports_html: Merkitse <strong>kaikki</strong> käyttäjään <strong>@%{acct}</strong> kohdistuvat raportit ratkaistuiksi
delete_data_html: Poista <strong>@%{acct}</strong>profiili ja sisältö 30 päivän kuluttua, ellei jäädytystä tällä välin peruuteta
preview_preamble_html: "<strong>@%{acct}</strong> saa varoituksen, jonka sisältö on seuraava:" preview_preamble_html: "<strong>@%{acct}</strong> saa varoituksen, jonka sisältö on seuraava:"
record_strike_html: Tallenna varoitus <strong>@%{acct}</strong> vastaan, joka auttaa sinua selvittämään tulevia rikkomuksia tältä tililtä
send_email_html: Lähetä käyttäjälle <strong>@%{acct}</strong> varoitus sähköpostitse send_email_html: Lähetä käyttäjälle <strong>@%{acct}</strong> varoitus sähköpostitse
warning_placeholder: Valinnaiset lisäperustelut moderointitoimenpiteelle. warning_placeholder: Valinnaiset lisäperustelut moderointitoimenpiteelle.
target_origin: Raportoidun tilin alkuperä target_origin: Raportoidun tilin alkuperä
@ -730,6 +736,7 @@ fi:
preamble: Mielenkiintoisen sisällön esille tuominen auttaa saamaan uusia käyttäjiä, jotka eivät ehkä tunne ketään Mastodonista. Määrittele, kuinka erilaiset etsintäominaisuudet toimivat palvelimellasi. preamble: Mielenkiintoisen sisällön esille tuominen auttaa saamaan uusia käyttäjiä, jotka eivät ehkä tunne ketään Mastodonista. Määrittele, kuinka erilaiset etsintäominaisuudet toimivat palvelimellasi.
profile_directory: Profiilihakemisto profile_directory: Profiilihakemisto
public_timelines: Julkiset aikajanat public_timelines: Julkiset aikajanat
publish_discovered_servers: Julkaise löydetyt palvelimet
publish_statistics: Julkaise tilastot publish_statistics: Julkaise tilastot
title: Löytäminen title: Löytäminen
trends: Trendit trends: Trendit

View File

@ -100,7 +100,7 @@ ko:
no_limits_imposed: 제한 없음 no_limits_imposed: 제한 없음
no_role_assigned: 할당된 역할 없음 no_role_assigned: 할당된 역할 없음
not_subscribed: 구독하지 않음 not_subscribed: 구독하지 않음
pending: 계류된 검토 pending: 심사 대기
perform_full_suspension: 정지 perform_full_suspension: 정지
previous_strikes: 이전의 처벌들 previous_strikes: 이전의 처벌들
previous_strikes_description_html: previous_strikes_description_html:
@ -297,7 +297,7 @@ ko:
create: 공지사항 생성 create: 공지사항 생성
title: 새 공지사항 title: 새 공지사항
publish: 게시 publish: 게시
published_msg: 공지사항을 잘 발행했습니다! published_msg: 공지사항이 성공적으로 발행되었습니다!
scheduled_for: "%{time}에 예약됨" scheduled_for: "%{time}에 예약됨"
scheduled_msg: 공지의 발행이 예약되었습니다! scheduled_msg: 공지의 발행이 예약되었습니다!
title: 공지사항 title: 공지사항
@ -422,7 +422,7 @@ ko:
title: 새 이메일 도메인 차단 title: 새 이메일 도메인 차단
no_email_domain_block_selected: 아무 것도 선택 되지 않아 어떤 이메일 도메인 차단도 변경되지 않았습니다 no_email_domain_block_selected: 아무 것도 선택 되지 않아 어떤 이메일 도메인 차단도 변경되지 않았습니다
resolved_dns_records_hint_html: 도메인 네임은 다음의 MX 도메인으로 연결되어 있으며, 이메일을 받는데 필수적입니다. MX 도메인을 차단하면 같은 MX 도메인을 사용하는 어떤 이메일이라도 가입할 수 없게 되며, 보여지는 도메인이 다르더라도 적용됩니다. <strong>주요 이메일 제공자를 차단하지 않도록 조심하세요.</strong> resolved_dns_records_hint_html: 도메인 네임은 다음의 MX 도메인으로 연결되어 있으며, 이메일을 받는데 필수적입니다. MX 도메인을 차단하면 같은 MX 도메인을 사용하는 어떤 이메일이라도 가입할 수 없게 되며, 보여지는 도메인이 다르더라도 적용됩니다. <strong>주요 이메일 제공자를 차단하지 않도록 조심하세요.</strong>
resolved_through_html: "%{domain}을 통해 해결됨" resolved_through_html: "%{domain}을 통해 리졸빙됨"
title: Email 도메인 차단 title: Email 도메인 차단
export_domain_allows: export_domain_allows:
new: new:
@ -467,7 +467,7 @@ ko:
description_html: 이 도메인과 하위 도메인의 모든 계정에 적용될 콘텐츠 정책을 정의할 수 있습니다. description_html: 이 도메인과 하위 도메인의 모든 계정에 적용될 콘텐츠 정책을 정의할 수 있습니다.
policies: policies:
reject_media: 미디어 거부 reject_media: 미디어 거부
reject_reports: 신고 반려 reject_reports: 신고 거부
silence: 제한 silence: 제한
suspend: 정지 suspend: 정지
policy: 정책 policy: 정책
@ -558,7 +558,7 @@ ko:
reports: reports:
account: account:
notes: notes:
other: "%{count}개의 참고사항" other: "%{count} 개의 참고사항"
action_log: 감사 기록 action_log: 감사 기록
action_taken_by: 신고 처리자 action_taken_by: 신고 처리자
actions: actions:
@ -590,9 +590,9 @@ ko:
mark_as_unresolved: 미해결로 표시 mark_as_unresolved: 미해결로 표시
no_one_assigned: 아무도 없음 no_one_assigned: 아무도 없음
notes: notes:
create: 기록 추가 create: 참고사항 추가
create_and_resolve: 종결 및 참고사항 기재 create_and_resolve: 참고사항 기재 및 종결
create_and_unresolve: 재검토 및 참고사항 기재 create_and_unresolve: 참고사항 기재 및 재개
delete: 삭제 delete: 삭제
placeholder: 어떤 대응을 했는지 설명 또는 그 밖의 관련된 갱신 사항들 placeholder: 어떤 대응을 했는지 설명 또는 그 밖의 관련된 갱신 사항들
title: 참고사항 title: 참고사항
@ -794,7 +794,7 @@ ko:
sidekiq_process_check: sidekiq_process_check:
message_html: "%{value} 큐에 대한 사이드킥 프로세스가 발견되지 않았습니다. 사이드킥 설정을 검토해주세요" message_html: "%{value} 큐에 대한 사이드킥 프로세스가 발견되지 않았습니다. 사이드킥 설정을 검토해주세요"
tags: tags:
review: 검토 상태 review: 심사 상태
updated_msg: 해시태그 설정이 성공적으로 갱신되었습니다 updated_msg: 해시태그 설정이 성공적으로 갱신되었습니다
title: 관리 title: 관리
trends: trends:
@ -815,7 +815,7 @@ ko:
title: 유행하는 링크 title: 유행하는 링크
usage_comparison: 오늘은 %{today}회 공유되었고, 어제는 %{yesterday}회 공유되었습니다 usage_comparison: 오늘은 %{today}회 공유되었고, 어제는 %{yesterday}회 공유되었습니다
only_allowed: 허용된 것만 only_allowed: 허용된 것만
pending_review: 계류된 검토 pending_review: 심사 대기
preview_card_providers: preview_card_providers:
allowed: 이 출처의 링크는 유행 목록에 실릴 수 있습니다 allowed: 이 출처의 링크는 유행 목록에 실릴 수 있습니다
description_html: 당신의 서버에서 많은 링크가 공유되고 있는 도메인들입니다. 링크의 도메인이 승인되기 전까지는 링크들은 공개적으로 트렌드에 게시되지 않습니다. 당신의 승인(또는 거절)은 서브도메인까지 확장됩니다. description_html: 당신의 서버에서 많은 링크가 공유되고 있는 도메인들입니다. 링크의 도메인이 승인되기 전까지는 링크들은 공개적으로 트렌드에 게시되지 않습니다. 당신의 승인(또는 거절)은 서브도메인까지 확장됩니다.
@ -897,7 +897,7 @@ ko:
subject: "%{username} 님이 %{instance}에서 발생한 중재 결정에 대해 소명을 제출했습니다" subject: "%{username} 님이 %{instance}에서 발생한 중재 결정에 대해 소명을 제출했습니다"
new_pending_account: new_pending_account:
body: 아래에 새 계정에 대한 상세정보가 있습니다. 이 가입을 승인하거나 거부할 수 있습니다. body: 아래에 새 계정에 대한 상세정보가 있습니다. 이 가입을 승인하거나 거부할 수 있습니다.
subject: "%{instance}의 새 계정(%{username}) 검토" subject: "%{instance}의 새 계정(%{username})에 대한 심사가 대기중입니다"
new_report: new_report:
body: "%{reporter} 님이 %{target}를 신고했습니다" body: "%{reporter} 님이 %{target}를 신고했습니다"
body_remote: "%{domain}의 누군가가 %{target}을 신고했습니다" body_remote: "%{domain}의 누군가가 %{target}을 신고했습니다"
@ -912,7 +912,7 @@ ko:
no_approved_tags: 현재 승인된 유행 중인 해시태그가 없습니다. no_approved_tags: 현재 승인된 유행 중인 해시태그가 없습니다.
requirements: '이 후보들 중 어떤 것이라도 #%{rank}위의 승인된 유행 중인 해시태그를 앞지를 수 있으며, 이것은 현재 #%{lowest_tag_name}이고 %{lowest_tag_score}점을 기록하고 있습니다.' requirements: '이 후보들 중 어떤 것이라도 #%{rank}위의 승인된 유행 중인 해시태그를 앞지를 수 있으며, 이것은 현재 #%{lowest_tag_name}이고 %{lowest_tag_score}점을 기록하고 있습니다.'
title: 유행하는 해시태그 title: 유행하는 해시태그
subject: "%{instance}의 새 유행물 검토" subject: 새 트렌드가 %{instance}에서 심사 대기 중입니다
aliases: aliases:
add_new: 별칭 만들기 add_new: 별칭 만들기
created_msg: 새 별칭이 성공적으로 만들어졌습니다. 이제 기존 계정에서 이주를 시작할 수 있습니다. created_msg: 새 별칭이 성공적으로 만들어졌습니다. 이제 기존 계정에서 이주를 시작할 수 있습니다.
@ -1009,7 +1009,7 @@ ko:
follow_request: '당신은 다음 계정에 팔로우 신청을 했습니다:' follow_request: '당신은 다음 계정에 팔로우 신청을 했습니다:'
following: '성공! 당신은 다음 계정을 팔로우 하고 있습니다:' following: '성공! 당신은 다음 계정을 팔로우 하고 있습니다:'
post_follow: post_follow:
close: 또한, 그저 이 창을 닫을 수도 있습니다. close: 혹은, 그저 이 창을 닫을 수도 있습니다.
return: 사용자 프로필 보기 return: 사용자 프로필 보기
web: 웹으로 가기 web: 웹으로 가기
title: "%{acct} 를 팔로우" title: "%{acct} 를 팔로우"
@ -1047,7 +1047,7 @@ ko:
proceed: 계정 삭제 proceed: 계정 삭제
success_msg: 계정이 성공적으로 삭제되었습니다 success_msg: 계정이 성공적으로 삭제되었습니다
warning: warning:
before: '진행 전, 참고사항을 주의 깊게 읽기 바랍니다:' before: '진행하기 전, 주의사항을 꼼꼼히 읽어보세요:'
caches: 다른 서버에 캐싱된 정보들은 남아있을 수 있습니다 caches: 다른 서버에 캐싱된 정보들은 남아있을 수 있습니다
data_removal: 당신의 게시물과 다른 정보들은 영구적으로 삭제 됩니다 data_removal: 당신의 게시물과 다른 정보들은 영구적으로 삭제 됩니다
email_change_html: 계정을 지우지 않고도 <a href="%{path}">이메일 주소를 수정할 수 있습니다</a> email_change_html: 계정을 지우지 않고도 <a href="%{path}">이메일 주소를 수정할 수 있습니다</a>
@ -1218,7 +1218,7 @@ ko:
'86400': 하루 '86400': 하루
expires_in_prompt: 영원히 expires_in_prompt: 영원히
generate: 생성 generate: 생성
invited_by: '초대자:' invited_by: '당신을 초대한 사람:'
max_uses: max_uses:
other: "%{count}회" other: "%{count}회"
max_uses_prompt: 제한 없음 max_uses_prompt: 제한 없음
@ -1270,7 +1270,7 @@ ko:
set_redirect: 리디렉션 설정 set_redirect: 리디렉션 설정
warning: warning:
backreference_required: 새 계정은 이 계정으로 역참조를 하도록 설정되어 있어야 합니다 backreference_required: 새 계정은 이 계정으로 역참조를 하도록 설정되어 있어야 합니다
before: '진행 전, 참고사항을 주의 깊게 읽기 바랍니다:' before: '진행하기 전, 주의사항을 꼼꼼히 읽어보세요:'
cooldown: 이주 뒤에는 새로운 이주를 하지 못하는 휴식기간이 존재합니다 cooldown: 이주 뒤에는 새로운 이주를 하지 못하는 휴식기간이 존재합니다
disabled_account: 이 계정은 완전한 사용이 불가능하게 됩니다. 하지만, 데이터 내보내기나 재활성화를 위해 접근할 수 있습니다. disabled_account: 이 계정은 완전한 사용이 불가능하게 됩니다. 하지만, 데이터 내보내기나 재활성화를 위해 접근할 수 있습니다.
followers: 이 행동은 현재 계정의 모든 팔로워를 새 계정으로 이동시킵니다 followers: 이 행동은 현재 계정의 모든 팔로워를 새 계정으로 이동시킵니다
@ -1282,7 +1282,7 @@ ko:
move_handler: move_handler:
carry_blocks_over_text: 이 사용자는 당신이 차단한 %{acct}로부터 이주 했습니다. carry_blocks_over_text: 이 사용자는 당신이 차단한 %{acct}로부터 이주 했습니다.
carry_mutes_over_text: 이 사용자는 당신이 뮤트한 %{acct}로부터 이주 했습니다. carry_mutes_over_text: 이 사용자는 당신이 뮤트한 %{acct}로부터 이주 했습니다.
copy_account_note_text: '이 사용자는 %{acct}에서 옮겨왔으며 이전의 참고사항은 다음과 같습니다:' copy_account_note_text: '이 사용자는 %{acct}로부터 이동하였습니다. 당신의 이전 노트는 이렇습니다:'
navigation: navigation:
toggle_menu: 토글 메뉴 toggle_menu: 토글 메뉴
notification_mailer: notification_mailer:

View File

@ -1,5 +1,258 @@
--- ---
my: my:
about:
title: အကြောင်း
accounts:
follow: စောင့်ကြည့်မယ်
followers:
other: စောင့်ကြည့်သူ
following: စောင့်ကြည့်နေသည်
last_active: နောက်ဆုံးအသုံးပြုခဲ့သည့်အချိန်
posts:
other: ပို့စ်တင်မယ်
posts_tab_heading: ပို့စ်များ
admin:
accounts:
are_you_sure: သေချာပါသလား။
avatar: ကိုယ်စားပြုရုပ်ပုံ
by_domain: ဒိုမိန်း
change_email:
changed_msg: အီးမေးလ် ပြောင်းလဲပြီးပါပြီ။
current_email: လက်ရှိအီးမေးလ်
label: အီးမေးလ်ပြောင်းရန်
new_email: အီးမေးလ်အသစ်
submit: အီးမေးလ်ပြောင်းပါ။
title: "%{username} အတွက် အီးမေးလ်ပြောင်းပါ"
confirm: အတည်ပြု
confirmed: အတည်ပြုပြီးပါပြီ
confirming: အတည်ပြုနေသည်
custom: စိတ်ကြိုက်
delete: အချက်အလက်များဖျက်ပါ
deleted: ဖျက်ပြီးပါပြီ
disable_two_factor_authentication: 2FA ကို ပိတ်ပါ
domain: ဒိုမိန်း
edit: ပြင်ဆင်ရန်
email: အီးမေးလ်
enabled: ဖွင့်ထားသည်
followers: စောင့်ကြည့်သူများ
ip: IP
location:
all: အားလုံး
remote: အဝေးမှ
title: တည်နေရာ
login_status: အကောင့်ဝင်ရောက်မှုအခြေအနေ
media_attachments: မီဒီယာ ပူးတွဲချက်များ
moderation:
all: အားလုံး
public: အများမြင်
reject: ဖယ်ရှားပါ
remove_avatar: ကိုယ်စားပြုရုပ်ပုံကို ဖယ်ရှားပါ
reset: ပြန်သတ်မှတ်မည်
search: ရှာရန်
security_measures:
only_password: စကားဝှက်ဖြင့်သာ
password_and_2fa: စကားဝှက်နှင့် 2FA
silence: ကန့်သတ်
silenced: ကန့်သတ်ထားသည်
statuses: ပို့စ်များ
subscribe: စာရင်းသွင်းပါ
suspend: ရပ်ဆိုင်းပါ
suspended: ရပ်ဆိုင်းထားသည်
title: အကောင့်များ
unsubscribe: စာရင်းမှထွက်ရန်
unsuspended_msg: "%{username} ၏ အကောင့်ကို ရပ်ဆိုင်းလိုက်ပါပြီ"
username: အသုံးပြုသူအမည်
web: ဝဘ်
action_logs:
action_types:
create_announcement: ကြေညာချက်ဖန်တီးပါ
create_custom_emoji: စိတ်ကြိုက်အီမိုဂျီ ဖန်တီးပါ
destroy_status: Post ကို ဖျက်ပါ
disable_2fa_user: 2FA ကို ပိတ်ပါ
disable_custom_emoji: စိတ်ကြိုက်အီမိုဂျီကို ပိတ်ပါ
remove_avatar_user: ကိုယ်စားပြုရုပ်ပုံကို ဖယ်ရှားပါ
silence_account: အကောင့် ကန့်သတ်ပါ
suspend_account: အကောင့် ရပ်ဆိုင်းပါ
update_status: ပို့စ်ပြင်ဆင်ရန်
deleted_account: အကောင့်ဖျက်ပြီးပါပြီ
announcements:
destroyed_msg: ကြေညာချက် ဖျက်ပြီးပါပြီ
edit:
title: ကြေညာချက် ပြင်ဆင်ရန်
empty: ကြေညာချက်များမတွေ့ပါ
new:
create: ကြေညာချက်ဖန်တီးပါ
title: ကြေညာချက်အသစ်
publish: ပို့စ်တင်မည်
title: ကြေညာချက်များ
unpublish: ပြန်ဖြုတ်ပါ
unpublished_msg: ကြေညာချက်ကို ဖြုတ်ပြီးပါပြီ
updated_msg: ကြေညာချက်ကို ပြင်ဆင်ပြီးပါပြီ။
custom_emojis:
by_domain: ဒိုမိန်း
copy: ကူးယူပါ
delete: ဖျက်ပါ
disable: ပိတ်ပါ
disabled: ပိတ်ပြီးပါပြီ
emoji: အီမိုဂျီ
enable: ဖွင့်ပါ
enabled: ဖွင့်ထားသည်
image_hint: PNG သို့မဟုတ် GIF %{size} အထိ
list: စာရင်း
listed: စာရင်းသွင်းထားသည်
new:
title: စိတ်ကြိုက်အီမိုဂျီအသစ် ထည့်ပါ
title: စိတ်ကြိုက်အီမိုဂျီများ
unlisted: စာရင်းမသွင်းထားပါ
update_failed_msg: ထိုအီမိုဂျီကို ပြင်ဆင်၍မရပါ
updated_msg: အီမိုဂျီကို ပြင်ဆင်ပြီးပါပြီ။
dashboard:
new_users: အသုံးပြုသူအသစ်များ
website: ဝဘ်ဆိုဒ်
domain_blocks:
domain: ဒိုမိန်း
new:
severity:
silence: ကန့်သတ်
suspend: ရပ်ဆိုင်းပါ
private_comment: သီးသန့်မှတ်ချက်
email_domain_blocks:
delete: ဖျက်ပါ
domain: ဒိုမိန်း
new:
create: ဒိုမိန်းထည့်ပါ
export_domain_allows:
no_file: ဖိုင်ရွေးထားခြင်းမရှိပါ။
export_domain_blocks:
no_file: ဖိုင်ရွေးထားခြင်းမရှိပါ
follow_recommendations:
language: ဘာသာစကားအတွက်
instances:
back_to_all: အားလုံး
back_to_limited: ကန့်သတ်ထားသည်
content_policies:
policies:
silence: ကန့်သတ်
policy: မူဝါဒ
dashboard:
instance_followers_measure: ကျွန်ုပ်တို့၏စောင့်ကြည့်သူများ အဲ့ဒီနေရာမှာပါ
instance_follows_measure: သူတို့၏စောင့်ကြည့်သူများ ဒီနေရာမှာပါ
delivery:
all: အားလုံး
moderation:
all: အားလုံး
limited: ကန့်သတ်ထားသော
private_comment: သီးသန့်မှတ်ချက်
public_comment: အများမြင်မှတ်ချက်
total_storage: မီဒီယာ ပူးတွဲချက်များ
invites:
filter:
all: အားလုံး
available: ရရှိနိုင်သော
ip_blocks:
delete: ဖျက်ပါ
expires_in:
'1209600': 2 weeks
'15778476': 6 months
'2629746': 1 month
'31556952': 1 year
'86400': 1 day
'94670856': နှစ်
title: IP စည်းမျဉ်းများ
relays:
delete: ဖျက်ပါ
disable: ပိတ်ပါ
disabled: ပိတ်ထားသည်
enable: ဖွင့်ပါ
enabled: ဖွင့်ထားသည်
reports:
delete_and_resolve: ပို့စ်များကို ဖျက်ပါ
view_profile: ပရိုဖိုင်ကိုကြည့်ရန်
roles:
categories:
devops: DevOps
delete: ဖျက်ပါ
permissions_count:
other: "%{count} ခွင့်ပြုချက်"
privileges:
manage_announcements: ကြေညာချက်များကို စီမံပါ
manage_settings: သတ်မှတ်ချက်များကို စီမံပါ
manage_users: အသုံးပြုသူများကို စီမံပါ
view_devops: DevOps
rules:
delete: ဖျက်ပါ
title: ဆာဗာစည်းမျဉ်းများ
settings:
about:
title: အကြောင်း
statuses:
account: ရေးသားသူ
back_to_account: အကောင့်စာမျက်နှာသို့ ပြန်သွားရန်
deleted: ဖျက်ပြီးပါပြီ
language: ဘာသာစကား
media:
title: မီဒီယာ
trends:
allow: ခွင့်ပြု
disallow: ခွင့်မပြု
tags:
not_usable: အသုံးမပြုနိုင်ပါ
usable: အသုံးပြုနိုင်သည်
warning_presets:
add_new: အသစ်ထည့်ပါ
delete: ဖျက်ပါ
webhooks:
delete: ဖျက်ပါ
enable: ဖွင့်ပါ
appearance:
localization:
guide_link_text: လူတိုင်းပါဝင်ကူညီနိုင်ပါတယ်။
application_mailer:
view_profile: ပရိုဖိုင်ကိုကြည့်ရန်
view_status: ပို့စ်ကိုကြည့်ရန်
auth:
change_password: စကားဝှက်
delete_account: အကောင့်ဖျက်ပါ
logout: ထွက်မယ်
providers:
cas: CAS
saml: SAML
set_new_password: စကားဝှက်အသစ် သတ်မှတ်ပါ။
status:
account_status: အကောင့်အခြေအနေ
authorize_follow:
follow: စောင့်ကြည့်မယ်
follow_request: သင်သည် စောင့်ကြည့်မည် တောင်းဆိုချက်တစ်ခု ပေးပို့ထားသည်-
post_follow:
web: ဝဘ်သို့ သွားပါ
title: "%{acct} ကို စောင့်ကြည့်မယ်"
challenge:
confirm: ဆက်လုပ်မည်
invalid_password: စကားဝှက် မမှန်ပါ
date:
formats:
default: "%b %d, %Y"
with_month_name: "%B %d, %Y"
datetime:
distance_in_words:
about_x_hours: "%{count}h"
about_x_months: "%{count}mo"
about_x_years: "%{count}y"
almost_x_years: "%{count}y"
half_a_minute: အခုလေးတင်
less_than_x_seconds: အခုလေးတင်
over_x_years: "%{count}y"
x_days: "%{count}y"
x_minutes: "%{count}m"
x_months: "%{count}mo"
x_seconds: "%{count}s"
deletes:
proceed: အကောင့်ဖျက်ပါ
success_msg: သင့်အကောင့်ကို အောင်မြင်စွာ ဖျက်လိုက်ပါပြီ
disputes:
strikes:
status: "#%{id} ပို့စ်"
title: "%{date} မှ %{action}"
errors: errors:
'400': The request you submitted was invalid or malformed. '400': The request you submitted was invalid or malformed.
'403': You don't have permission to view this page. '403': You don't have permission to view this page.
@ -8,3 +261,91 @@ my:
'410': The page you were looking for doesn't exist here anymore. '410': The page you were looking for doesn't exist here anymore.
'429': Too many requests '429': Too many requests
'503': The page could not be served due to a temporary server failure. '503': The page could not be served due to a temporary server failure.
exports:
archive_takeout:
date: ရက်စွဲ
size: အရွယ်အစား
csv: CSV
lists: စာရင်းများ
featured_tags:
add_new: အသစ် ထည့်ပါ
filters:
contexts:
notifications: အကြောင်းကြားချက်များ
index:
delete: ဖျက်ပါ
statuses:
other: "%{count} ပို့စ်"
generic:
all: အားလုံး
today: ယနေ့
invites:
expires_in:
'1800': ၃၀ မိနစ်
'21600': နာရီ
'3600': နာရီ
'43200': ၁၂ နာရီ
'604800': ပတ်
'86400': ရက်
login_activities:
authentication_methods:
otp: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်အက်ပ်
password: စကားဝှက်
media_attachments:
validations:
images_and_video: ရုပ်ပုံပါရှိပြီးသားပို့စ်တွင် ဗီဒီယို ပူးတွဲ၍မရပါ
migrations:
errors:
not_found: ရှာမတွေ့ပါ
notification_mailer:
follow:
title: စောင့်ကြည့်သူအသစ်
mention:
action: စာပြန်ရန်
subject: သင့်ကို %{name} မှ ဖော်ပြခဲ့သည်
status:
subject: "%{name} က အခုလေးတင် ပို့စ်တင်လိုက်ပါပြီ"
number:
human:
decimal_units:
format: "%n%u"
units:
billion: B
million: M
quadrillion: Q
thousand: K
trillion: T
privacy_policy:
title: ကိုယ်ရေးအချက်အလက်မူဝါဒ
relationships:
followers: စောင့်ကြည့်သူများ
following: စောင့်ကြည့်နေသည်
mutual: အပြန်အလှန်စောင့်ကြည့်ထားခြင်း
sessions:
platforms:
ios: iOS
linux: Linux
mac: macOS
settings:
edit_profile: ပရိုဖိုင်ပြင်ဆင်ရန်
statuses:
visibilities:
public: အများမြင်
statuses_cleanup:
min_age:
'1209600': ပတ်
'15778476':
'2629746':
'31556952': နှစ်
'5259492':
'604800': ပတ်
'63113904': နှစ်
'7889238':
time:
formats:
month: "%b %Y"
time: "%H:%M"
two_factor_authentication:
disable: 2FA ကို ပိတ်ပါ
enabled: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ကို ဖွင့်ထားသည်
enabled_success: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ကို ဖွင့်ပြီးပါပြီ

View File

@ -36,14 +36,17 @@ oc:
avatar: Avatar avatar: Avatar
by_domain: Domeni by_domain: Domeni
change_email: change_email:
changed_msg: Adreça corrèctament cambiada!
current_email: Adreça actuala current_email: Adreça actuala
label: Cambiar dadreça label: Cambiar dadreça
new_email: Novèla adreça new_email: Novèla adreça
submit: Cambiar ladreça submit: Cambiar ladreça
title: Cambiar ladreça a %{username} title: Cambiar ladreça a %{username}
change_role: change_role:
changed_msg: Ròtle corrèctament cambiat!
label: Cambiar lo ròtle label: Cambiar lo ròtle
no_role: Cap de ròtle no_role: Cap de ròtle
title: Cambiar lo ròtle de %{username}
confirm: Confirmar confirm: Confirmar
confirmed: Confirmat confirmed: Confirmat
confirming: Confirmacion confirming: Confirmacion
@ -88,6 +91,7 @@ oc:
most_recent_ip: IP mai recenta most_recent_ip: IP mai recenta
no_account_selected: Cap de compte pas cambiat estant que cap èra pas seleccionat no_account_selected: Cap de compte pas cambiat estant que cap èra pas seleccionat
no_limits_imposed: Cap de limit impausat no_limits_imposed: Cap de limit impausat
no_role_assigned: Cap de ròtle pas assignat
not_subscribed: Pas seguidor not_subscribed: Pas seguidor
pending: Revision en espèra pending: Revision en espèra
perform_full_suspension: Suspendre perform_full_suspension: Suspendre

View File

@ -744,6 +744,7 @@ ru:
preamble: Наблюдение интересного контента играет важную роль при открытии новых пользователей, которые могут не знать ни одного Mastodon. Контролируйте как работают различные функции обнаружения на вашем сервере. preamble: Наблюдение интересного контента играет важную роль при открытии новых пользователей, которые могут не знать ни одного Mastodon. Контролируйте как работают различные функции обнаружения на вашем сервере.
profile_directory: Каталог профилей profile_directory: Каталог профилей
public_timelines: Публичные ленты public_timelines: Публичные ленты
publish_discovered_servers: Публикация списка обнаруженных узлов
title: Обзор title: Обзор
trends: Популярное trends: Популярное
domain_blocks: domain_blocks:
@ -1421,6 +1422,9 @@ ru:
unrecognized_emoji: не является распознанным эмодзи unrecognized_emoji: не является распознанным эмодзи
relationships: relationships:
activity: Активность учётной записи activity: Активность учётной записи
confirm_follow_selected_followers: Вы уверены, что хотите подписаться на выбранных подписчиков?
confirm_remove_selected_followers: Вы уверены, что хотите удалить выбранных подписчиков?
confirm_remove_selected_follows: Вы уверены, что хотите удалить выбранные подписки?
dormant: Заброшенная dormant: Заброшенная
follow_selected_followers: Подписаться на выбранных подписчиков follow_selected_followers: Подписаться на выбранных подписчиков
followers: Подписчики followers: Подписчики

View File

@ -20,6 +20,7 @@ ast:
irreversible: Los artículos peñeraos desapaecen de forma irreversible, magar que la peñera se quite dempués irreversible: Los artículos peñeraos desapaecen de forma irreversible, magar que la peñera se quite dempués
locale: La llingua de la interfaz, los mensaxes per corréu electrónicu ya los avisos push locale: La llingua de la interfaz, los mensaxes per corréu electrónicu ya los avisos push
locked: Controla manualmente quién pue siguite pente l'aprobación de les solicitúes de siguimientu locked: Controla manualmente quién pue siguite pente l'aprobación de les solicitúes de siguimientu
password: Usa polo menos 8 caráuteres
setting_display_media_default: Anubrilu cuando se marque como sensible setting_display_media_default: Anubrilu cuando se marque como sensible
setting_display_media_hide_all: Anubrilu siempres setting_display_media_hide_all: Anubrilu siempres
setting_display_media_show_all: Amosalu siempres setting_display_media_show_all: Amosalu siempres

View File

@ -92,6 +92,7 @@ be:
timeline_preview: Наведвальнікі, якія выйшлі, змогуць праглядаць апошнія публічныя допісы на серверы. timeline_preview: Наведвальнікі, якія выйшлі, змогуць праглядаць апошнія публічныя допісы на серверы.
trendable_by_default: Прапусціць ручны агляд трэндавага змесціва. Асобныя элементы ўсё яшчэ можна будзе выдаліць з трэндаў пастфактум. trendable_by_default: Прапусціць ручны агляд трэндавага змесціва. Асобныя элементы ўсё яшчэ можна будзе выдаліць з трэндаў пастфактум.
trends: Трэнды паказваюць, якія допісы, хэштэгі і навіны набываюць папулярнасць на вашым серверы. trends: Трэнды паказваюць, якія допісы, хэштэгі і навіны набываюць папулярнасць на вашым серверы.
trends_as_landing_page: Паказваць папулярнае змесціва карыстальнікам, якія выйшлі з сістэмы, і наведвальнікам, замест апісання гэтага сервера. Патрабуецца ўключэнне трэндаў.
form_challenge: form_challenge:
current_password: Вы ўваходзіце ў бяспечную зону current_password: Вы ўваходзіце ў бяспечную зону
imports: imports:
@ -227,6 +228,7 @@ be:
hide: Схаваць цалкам hide: Схаваць цалкам
warn: Схаваць з папярэджаннем warn: Схаваць з папярэджаннем
form_admin_settings: form_admin_settings:
activity_api_enabled: Апублікаваць зводную статыстыку аб актыўнасці карыстальнікаў API
backups_retention_period: Працягласць захавання архіву карыстальніка backups_retention_period: Працягласць захавання архіву карыстальніка
bootstrap_timeline_accounts: Заўсёды раіць гэтыя ўліковыя запісы новым карыстальнікам bootstrap_timeline_accounts: Заўсёды раіць гэтыя ўліковыя запісы новым карыстальнікам
closed_registrations_message: Уласнае паведамленне, калі рэгістрацыя немагчымая closed_registrations_message: Уласнае паведамленне, калі рэгістрацыя немагчымая
@ -234,6 +236,7 @@ be:
custom_css: CSS карыстальніка custom_css: CSS карыстальніка
mascot: Уласны маскот(спадчына) mascot: Уласны маскот(спадчына)
media_cache_retention_period: Працягласць захавання кэшу для медыя media_cache_retention_period: Працягласць захавання кэшу для медыя
peers_api_enabled: Апублікаваць спіс знойдзеных сервераў у API
profile_directory: Уключыць каталог профіляў profile_directory: Уключыць каталог профіляў
registrations_mode: Хто можа зарэгістравацца registrations_mode: Хто можа зарэгістравацца
require_invite_text: Каб далучыцца, патрэбна прычына require_invite_text: Каб далучыцца, патрэбна прычына
@ -245,11 +248,13 @@ be:
site_short_description: Апісанне сервера site_short_description: Апісанне сервера
site_terms: Палітыка канфідэнцыйнасці site_terms: Палітыка канфідэнцыйнасці
site_title: Назва сервера site_title: Назва сервера
status_page_url: URL старонкі статусу
theme: Тэма па змаўчанні theme: Тэма па змаўчанні
thumbnail: Мініяцюра сервера thumbnail: Мініяцюра сервера
timeline_preview: Дазволіць неаўтэнтыфікаваны доступ да публічных стужак timeline_preview: Дазволіць неаўтэнтыфікаваны доступ да публічных стужак
trendable_by_default: Дазваляць трэнды без папярэдняй праверкі trendable_by_default: Дазваляць трэнды без папярэдняй праверкі
trends: Уключыць трэнды trends: Уключыць трэнды
trends_as_landing_page: Выкарыстоўваць трэнды ў якасці лэндзінга
interactions: interactions:
must_be_follower: Заблакіраваць апавяшчэнні ад непадпісаных людзей must_be_follower: Заблакіраваць апавяшчэнні ад непадпісаных людзей
must_be_following: Заблакіраваць апавяшчэнні ад людзей на якіх вы не падпісаны must_be_following: Заблакіраваць апавяшчэнні ад людзей на якіх вы не падпісаны

View File

@ -91,11 +91,13 @@ cy:
site_short_description: Disgrifiad byr i helpu i adnabod eich gweinydd yn unigryw. Pwy sy'n ei redeg, ar gyfer pwy mae e? site_short_description: Disgrifiad byr i helpu i adnabod eich gweinydd yn unigryw. Pwy sy'n ei redeg, ar gyfer pwy mae e?
site_terms: Defnyddiwch eich polisi preifatrwydd eich hun neu gadewch yn wag i ddefnyddio'r rhagosodiad. Mae modd ei strwythuro gyda chystrawen Markdown. site_terms: Defnyddiwch eich polisi preifatrwydd eich hun neu gadewch yn wag i ddefnyddio'r rhagosodiad. Mae modd ei strwythuro gyda chystrawen Markdown.
site_title: Sut y gall pobl gyfeirio at eich gweinydd ar wahân i'w enw parth. site_title: Sut y gall pobl gyfeirio at eich gweinydd ar wahân i'w enw parth.
status_page_url: URL tudalen lle gall pobl weld statws y gweinydd hwn yn ystod cyfnod o doriad gwasanaeth
theme: Thema sy'n allgofnodi ymwelwyr a defnyddwyr newydd yn gweld. theme: Thema sy'n allgofnodi ymwelwyr a defnyddwyr newydd yn gweld.
thumbnail: Delwedd tua 2:1 yn cael ei dangos ochr yn ochr â manylion eich gweinydd. thumbnail: Delwedd tua 2:1 yn cael ei dangos ochr yn ochr â manylion eich gweinydd.
timeline_preview: Bydd ymwelwyr sydd wedi allgofnodi yn gallu pori drwy'r postiadau cyhoeddus diweddaraf sydd ar gael ar y gweinydd. timeline_preview: Bydd ymwelwyr sydd wedi allgofnodi yn gallu pori drwy'r postiadau cyhoeddus diweddaraf sydd ar gael ar y gweinydd.
trendable_by_default: Hepgor adolygiad llaw o gynnwys sy'n tueddu. Gall eitemau unigol gael eu tynnu o dueddiadau o hyd ar ôl y ffaith. trendable_by_default: Hepgor adolygiad llaw o gynnwys sy'n tueddu. Gall eitemau unigol gael eu tynnu o dueddiadau o hyd ar ôl y ffaith.
trends: Mae pynciau llosg yn dangos y postiadau, hashnodau, a newyddion sy'n denu sylw ar eich gweinydd. trends: Mae pynciau llosg yn dangos y postiadau, hashnodau, a newyddion sy'n denu sylw ar eich gweinydd.
trends_as_landing_page: Dangos cynnwys tueddiadol i ddefnyddwyr ac ymwelwyr sydd wedi allgofnodi yn lle disgrifiad o'r gweinydd hwn. Mae angen galluogi tueddiadau.
form_challenge: form_challenge:
current_password: Rydych chi'n mynd i mewn i ardal ddiogel current_password: Rydych chi'n mynd i mewn i ardal ddiogel
imports: imports:
@ -251,11 +253,13 @@ cy:
site_short_description: Disgrifiad y gweinydd site_short_description: Disgrifiad y gweinydd
site_terms: Polisi Preifatrwydd site_terms: Polisi Preifatrwydd
site_title: Enw'r gweinydd site_title: Enw'r gweinydd
status_page_url: URL tudalen statws
theme: Thema ragosodedig theme: Thema ragosodedig
thumbnail: Lluniau bach gweinydd thumbnail: Lluniau bach gweinydd
timeline_preview: Caniatáu mynediad heb ei ddilysu i linellau amser cyhoeddus timeline_preview: Caniatáu mynediad heb ei ddilysu i linellau amser cyhoeddus
trendable_by_default: Caniatáu pynciau llosg heb adolygiad trendable_by_default: Caniatáu pynciau llosg heb adolygiad
trends: Galluogi pynciau llosg trends: Galluogi pynciau llosg
trends_as_landing_page: Defnyddio tueddiadau fel y dudalen gartref
interactions: interactions:
must_be_follower: Blocio hysbysiadau o bobl nad ydynt yn eich dilyn must_be_follower: Blocio hysbysiadau o bobl nad ydynt yn eich dilyn
must_be_following: Blocio hysbysiadau o bobl nad ydych yn eu dilyn must_be_following: Blocio hysbysiadau o bobl nad ydych yn eu dilyn

View File

@ -51,8 +51,8 @@ de:
setting_aggregate_reblogs: Zeige denselben Beitrag nicht nochmal an, wenn er erneut geteilt wurde (dies betrifft nur neulich erhaltene erneut geteilte Beiträge) setting_aggregate_reblogs: Zeige denselben Beitrag nicht nochmal an, wenn er erneut geteilt wurde (dies betrifft nur neulich erhaltene erneut geteilte Beiträge)
setting_always_send_emails: Normalerweise werden Benachrichtigungen nicht per E-Mail verschickt, wenn du gerade auf Mastodon aktiv bist setting_always_send_emails: Normalerweise werden Benachrichtigungen nicht per E-Mail verschickt, wenn du gerade auf Mastodon aktiv bist
setting_default_sensitive: Medien, die mit einer Inhaltswarnung versehen worden sind, werden erst nach einem zusätzlichen Klick angezeigt setting_default_sensitive: Medien, die mit einer Inhaltswarnung versehen worden sind, werden erst nach einem zusätzlichen Klick angezeigt
setting_display_media_default: Medien mit Inhaltswarnung verbergen setting_display_media_default: Medien mit Inhaltswarnung ausblenden
setting_display_media_hide_all: Medien immer verbergen setting_display_media_hide_all: Medien immer ausblenden
setting_display_media_show_all: Medien mit Inhaltswarnung immer anzeigen setting_display_media_show_all: Medien mit Inhaltswarnung immer anzeigen
setting_hide_network: Wem du folgst und wer dir folgt, wird in deinem Profil nicht angezeigt setting_hide_network: Wem du folgst und wer dir folgt, wird in deinem Profil nicht angezeigt
setting_noindex: Betrifft alle öffentlichen Daten deines Profils, z. B. deine Beiträge, Account-Empfehlungen und „Über mich“ setting_noindex: Betrifft alle öffentlichen Daten deines Profils, z. B. deine Beiträge, Account-Empfehlungen und „Über mich“
@ -204,7 +204,7 @@ de:
setting_disable_swiping: Wischgesten deaktivieren setting_disable_swiping: Wischgesten deaktivieren
setting_display_media: Medien-Anzeige setting_display_media: Medien-Anzeige
setting_display_media_default: Standard setting_display_media_default: Standard
setting_display_media_hide_all: Alle Medien verbergen setting_display_media_hide_all: Alle Medien ausblenden
setting_display_media_show_all: Alle Medien anzeigen setting_display_media_show_all: Alle Medien anzeigen
setting_expand_spoilers: Beiträge mit Inhaltswarnung immer ausklappen setting_expand_spoilers: Beiträge mit Inhaltswarnung immer ausklappen
setting_hide_network: Deine Follower und „Folge ich“ nicht anzeigen setting_hide_network: Deine Follower und „Folge ich“ nicht anzeigen
@ -230,7 +230,7 @@ de:
name: Hashtag name: Hashtag
filters: filters:
actions: actions:
hide: Komplett ausblenden hide: Vollständig ausblenden
warn: Mit einer Warnung ausblenden warn: Mit einer Warnung ausblenden
form_admin_settings: form_admin_settings:
activity_api_enabled: Veröffentlichung von Gesamtstatistiken über Nutzeraktivitäten in der API activity_api_enabled: Veröffentlichung von Gesamtstatistiken über Nutzeraktivitäten in der API

View File

@ -18,6 +18,8 @@ eo:
disable: Malhelpi la uzanton uzi sian konton, sed ne forigi aŭ kaŝi ties enhavojn. disable: Malhelpi la uzanton uzi sian konton, sed ne forigi aŭ kaŝi ties enhavojn.
none: Uzu ĉi tion por sendi averton al la uzanto, sen ekigi alian agon. none: Uzu ĉi tion por sendi averton al la uzanto, sen ekigi alian agon.
sensitive: Devigi ĉiujn da plurmediaj aldonaĵoj esti markitaj kiel sentemaj. sensitive: Devigi ĉiujn da plurmediaj aldonaĵoj esti markitaj kiel sentemaj.
silence: Malhelpu la uzanton povi afiŝi kun publika videbleco, kaŝu iliajn afiŝojn kaj sciigojn de homoj, kiuj ne sekvas ilin. Fermas ĉiujn raportojn kontraŭ ĉi tiu konto.
suspend: Malhelpu ajnan interagadon de aŭ al ĉi tiu konto kaj forigu ĝian enhavon. Revertebla ene de 30 tagoj. Fermas ĉiujn raportojn kontraŭ ĉi tiu konto.
warning_preset_id: Malnepra. Vi povas ankoraŭ aldoni propran tekston al la fino de la antaŭagordo warning_preset_id: Malnepra. Vi povas ankoraŭ aldoni propran tekston al la fino de la antaŭagordo
announcement: announcement:
all_day: Kiam markita, nur la datoj de la tempointervalo estos montrataj all_day: Kiam markita, nur la datoj de la tempointervalo estos montrataj
@ -72,6 +74,7 @@ eo:
hide: Tute kaŝigi la filtritajn enhavojn, kvazau ĝi ne ekzistis hide: Tute kaŝigi la filtritajn enhavojn, kvazau ĝi ne ekzistis
warn: Kaŝi la enhavon filtritan malantaŭ averto mencianta la nomon de la filtro warn: Kaŝi la enhavon filtritan malantaŭ averto mencianta la nomon de la filtro
form_admin_settings: form_admin_settings:
activity_api_enabled: Nombroj de loke publikigitaj afiŝoj, aktivaj uzantoj kaj novaj registradoj en semajnaj siteloj
backups_retention_period: Konservi generitajn uzantoarkivojn por la kvanto de tagoj. backups_retention_period: Konservi generitajn uzantoarkivojn por la kvanto de tagoj.
bootstrap_timeline_accounts: Ĉi tiuj kontoj pinglitas al la supro de sekvorekomendoj de novaj uzantoj. bootstrap_timeline_accounts: Ĉi tiuj kontoj pinglitas al la supro de sekvorekomendoj de novaj uzantoj.
closed_registrations_message: Montrita kiam registroj fermitas closed_registrations_message: Montrita kiam registroj fermitas
@ -79,6 +82,7 @@ eo:
custom_css: Vi povas meti propajn stilojn en la retversio de Mastodon. custom_css: Vi povas meti propajn stilojn en la retversio de Mastodon.
mascot: Anstatauigi la ilustraĵon en la altnivela retinterfaco. mascot: Anstatauigi la ilustraĵon en la altnivela retinterfaco.
media_cache_retention_period: Elŝutitaj audovidaĵojn forigotas post la kvanto de tagoj kiam fiksitas al pozitiva nombro. media_cache_retention_period: Elŝutitaj audovidaĵojn forigotas post la kvanto de tagoj kiam fiksitas al pozitiva nombro.
peers_api_enabled: Listo de domajnaj nomoj kiujn ĉi tiu servilo renkontis en la fediverso. Neniuj datumoj estas inkluditaj ĉi tie pri ĉu vi federacias kun donita servilo, nur ke via servilo scias pri ĝi. Ĉi tio estas uzata de servoj kiuj kolektas statistikojn pri federacio en ĝenerala signifo.
profile_directory: La profilujo listigas ĉiujn uzantojn kiu volonte malkovrebli. profile_directory: La profilujo listigas ĉiujn uzantojn kiu volonte malkovrebli.
require_invite_text: Kiam registroj bezonas permanan aprobon, igi la "Kial vi volas aliĝi?" tekstoenigon deviga anstau nedeviga require_invite_text: Kiam registroj bezonas permanan aprobon, igi la "Kial vi volas aliĝi?" tekstoenigon deviga anstau nedeviga
site_contact_email: Kiel personoj povas kontakti vin por juraj au subtenaj demandoj. site_contact_email: Kiel personoj povas kontakti vin por juraj au subtenaj demandoj.
@ -87,11 +91,13 @@ eo:
site_short_description: Mallonga priskribo por helpi unike identigi vian servilon. Kiu faras, por kiu? site_short_description: Mallonga priskribo por helpi unike identigi vian servilon. Kiu faras, por kiu?
site_terms: Uzu vian sian privatecan politekon au ignoru por uzi la defaulton. site_terms: Uzu vian sian privatecan politekon au ignoru por uzi la defaulton.
site_title: Kiel personoj voki vian servilon anstatau ĝia domajnnomo. site_title: Kiel personoj voki vian servilon anstatau ĝia domajnnomo.
status_page_url: URL de paĝo kie homoj povas vidi la staton de ĉi tiu servilo dum malfunkcio
theme: Etoso kiun elsalutitaj vizitantoj kaj novaj uzantoj vidas. theme: Etoso kiun elsalutitaj vizitantoj kaj novaj uzantoj vidas.
thumbnail: Ĉirkaua 2:1 bildo montritas kun via servilinformo. thumbnail: Ĉirkaua 2:1 bildo montritas kun via servilinformo.
timeline_preview: Elsalutitaj vizitantoj povos vidi la plej lastajn publikajn mesaĝojn disponeblaj en la servilo. timeline_preview: Elsalutitaj vizitantoj povos vidi la plej lastajn publikajn mesaĝojn disponeblaj en la servilo.
trendable_by_default: Ignori permanan kontrolon de tendenca enhavo. trendable_by_default: Ignori permanan kontrolon de tendenca enhavo.
trends: Tendencoj montras kiu mesaĝoj, kradvortoj kaj novaĵoj populariĝas en via servilo. trends: Tendencoj montras kiu mesaĝoj, kradvortoj kaj novaĵoj populariĝas en via servilo.
trends_as_landing_page: Montru tendencan enhavon al elsalutitaj uzantoj kaj vizitantoj anstataŭ priskribo de ĉi tiu servilo. Necesas ke tendencoj estu ebligitaj.
form_challenge: form_challenge:
current_password: Vi eniras sekuran areon current_password: Vi eniras sekuran areon
imports: imports:
@ -227,6 +233,7 @@ eo:
hide: Kaŝi komplete hide: Kaŝi komplete
warn: Kaŝi malantaŭ averto warn: Kaŝi malantaŭ averto
form_admin_settings: form_admin_settings:
activity_api_enabled: Publikigi entutajn statistikojn pri uzantagado en la API
backups_retention_period: Uzantoarkivretendauro backups_retention_period: Uzantoarkivretendauro
bootstrap_timeline_accounts: Ĉiam rekomendi ĉi tiujn kontojn al novaj uzantoj bootstrap_timeline_accounts: Ĉiam rekomendi ĉi tiujn kontojn al novaj uzantoj
closed_registrations_message: Kutima mesaĝo kiam registroj ne estas disponeblaj closed_registrations_message: Kutima mesaĝo kiam registroj ne estas disponeblaj
@ -234,6 +241,7 @@ eo:
custom_css: Propa CSS custom_css: Propa CSS
mascot: Propa maskoto mascot: Propa maskoto
media_cache_retention_period: Audovidaĵkaŝaĵretendauro media_cache_retention_period: Audovidaĵkaŝaĵretendauro
peers_api_enabled: Eldonu liston de malkovritaj serviloj en la API
profile_directory: Ŝalti la profilujon profile_directory: Ŝalti la profilujon
registrations_mode: Kiu povas krei konton registrations_mode: Kiu povas krei konton
require_invite_text: Bezoni kialon por aliĝi require_invite_text: Bezoni kialon por aliĝi
@ -251,6 +259,7 @@ eo:
timeline_preview: Permesi la neaŭtentigitan aliron al la publikaj templinioj timeline_preview: Permesi la neaŭtentigitan aliron al la publikaj templinioj
trendable_by_default: Permesi tendencojn sen deviga kontrolo trendable_by_default: Permesi tendencojn sen deviga kontrolo
trends: Ŝalti furorojn trends: Ŝalti furorojn
trends_as_landing_page: Uzu tendencojn kiel la landpaĝon
interactions: interactions:
must_be_follower: Bloki sciigojn de nesekvantoj must_be_follower: Bloki sciigojn de nesekvantoj
must_be_following: Bloki sciigojn de homoj, kiujn vi ne sekvas must_be_following: Bloki sciigojn de homoj, kiujn vi ne sekvas

View File

@ -18,6 +18,7 @@ fi:
disable: Estä käyttäjää käyttämästä tiliään, mutta älä poista tai piilota sen sisältöä. disable: Estä käyttäjää käyttämästä tiliään, mutta älä poista tai piilota sen sisältöä.
none: Käytä tätä lähettääksesi varoituksen käyttäjälle käynnistämättä mitään muita toimintoja. none: Käytä tätä lähettääksesi varoituksen käyttäjälle käynnistämättä mitään muita toimintoja.
sensitive: Pakota kaikki tämän käyttäjän mediatiedostot arkaluontoisiksi. sensitive: Pakota kaikki tämän käyttäjän mediatiedostot arkaluontoisiksi.
silence: Estä käyttäjää lähettämästä viestejä julkisesti, piilota hänen viestinsä ja ilmoituksensa ihmisiltä, jotka eivät seuraa häntä. Sulkee kaikki tämän tilin raportit.
suspend: Estä kaikki vuorovaikutus tältä -tai tälle tilille ja poista sen kaikki sisältö. Päätös voidaan peruuttaa 30 päivän aikana. Sulkee kaikki raportit tätä tiliä vasten. suspend: Estä kaikki vuorovaikutus tältä -tai tälle tilille ja poista sen kaikki sisältö. Päätös voidaan peruuttaa 30 päivän aikana. Sulkee kaikki raportit tätä tiliä vasten.
warning_preset_id: Valinnainen. Voit silti lisätä mukautetun tekstin esiasetuksen loppuun warning_preset_id: Valinnainen. Voit silti lisätä mukautetun tekstin esiasetuksen loppuun
announcement: announcement:

View File

@ -45,7 +45,7 @@ ko:
irreversible: 필터링 된 게시물은 나중에 필터가 사라지더라도 돌아오지 않게 됩니다 irreversible: 필터링 된 게시물은 나중에 필터가 사라지더라도 돌아오지 않게 됩니다
locale: 사용자 인터페이스, 이메일, 푸시 알림 언어 locale: 사용자 인터페이스, 이메일, 푸시 알림 언어
locked: 팔로우 요청을 승인제로 두어 누가 당신을 팔로우 할 수 있는지를 수동으로 제어합니다. locked: 팔로우 요청을 승인제로 두어 누가 당신을 팔로우 할 수 있는지를 수동으로 제어합니다.
password: 여덟 글자를 넘어야 합니다. password: 최소 8글자
phrase: 게시물 내용이나 열람주의 내용 안에서 대소문자 구분 없이 매칭 됩니다 phrase: 게시물 내용이나 열람주의 내용 안에서 대소문자 구분 없이 매칭 됩니다
scopes: 애플리케이션에 허용할 API들입니다. 최상위 스코프를 선택하면 개별적인 것은 선택하지 않아도 됩니다. scopes: 애플리케이션에 허용할 API들입니다. 최상위 스코프를 선택하면 개별적인 것은 선택하지 않아도 됩니다.
setting_aggregate_reblogs: 최근에 부스트 됐던 게시물은 새로 부스트 되어도 보여주지 않기 (새로 받은 부스트에만 적용됩니다) setting_aggregate_reblogs: 최근에 부스트 됐던 게시물은 새로 부스트 되어도 보여주지 않기 (새로 받은 부스트에만 적용됩니다)
@ -97,7 +97,7 @@ ko:
timeline_preview: 로그아웃 한 사용자들이 이 서버에 있는 최신 공개글들을 볼 수 있게 합니다. timeline_preview: 로그아웃 한 사용자들이 이 서버에 있는 최신 공개글들을 볼 수 있게 합니다.
trendable_by_default: 유행하는 콘텐츠에 대한 수동 승인을 건너뜁니다. 이 설정이 적용된 이후에도 각각의 항목들을 삭제할 수 있습니다. trendable_by_default: 유행하는 콘텐츠에 대한 수동 승인을 건너뜁니다. 이 설정이 적용된 이후에도 각각의 항목들을 삭제할 수 있습니다.
trends: 트렌드는 어떤 게시물, 해시태그 그리고 뉴스 기사가 이 서버에서 인기를 끌고 있는지 보여줍니다. trends: 트렌드는 어떤 게시물, 해시태그 그리고 뉴스 기사가 이 서버에서 인기를 끌고 있는지 보여줍니다.
trends_as_landing_page: 로그아웃한 사용자와 방문자에게 서버 설명 대신하여 유행하는 내용을 보여줍니다. 유행 기능을 활성화해야 합니다. trends_as_landing_page: 로그아웃한 사용자와 방문자에게 서버 설명 대신 유행하는 내용을 보여줍니다. 유행 기능을 활성화해야 합니다.
form_challenge: form_challenge:
current_password: 당신은 보안 구역에 진입하고 있습니다 current_password: 당신은 보안 구역에 진입하고 있습니다
imports: imports:
@ -283,7 +283,7 @@ ko:
follow: 누군가 나를 팔로우 했을 때 follow: 누군가 나를 팔로우 했을 때
follow_request: 누군가 나를 팔로우 하길 요청할 때 follow_request: 누군가 나를 팔로우 하길 요청할 때
mention: 누군가 나를 언급했을 때 mention: 누군가 나를 언급했을 때
pending_account: 검토해야 할 새 계정 pending_account: 새 계정이 심사가 필요할 때
reblog: 누군가 내 게시물을 부스트 했을 때 reblog: 누군가 내 게시물을 부스트 했을 때
report: 새 신고가 접수되었을 때 report: 새 신고가 접수되었을 때
trending_tag: 검토해야 할 새 유행 trending_tag: 검토해야 할 새 유행
@ -292,7 +292,7 @@ ko:
tag: tag:
listable: 이 해시태그가 검색과 추천에 보여지도록 허용 listable: 이 해시태그가 검색과 추천에 보여지도록 허용
name: 해시태그 name: 해시태그
trendable: 이 해시태그를 유행에 나타나도록 허용 trendable: 이 해시태그가 유행에 나타날 수 있도록 허용
usable: 이 해시태그를 게시물에 사용 가능하도록 허용 usable: 이 해시태그를 게시물에 사용 가능하도록 허용
user: user:
role: 역할 role: 역할

View File

@ -91,11 +91,13 @@ ru:
site_short_description: Краткое описание, помогающее однозначно идентифицировать ваш сервер. Кто им управляет, для кого он предназначен? site_short_description: Краткое описание, помогающее однозначно идентифицировать ваш сервер. Кто им управляет, для кого он предназначен?
site_terms: Используйте свою собственную политику конфиденциальности или оставьте пустым, чтобы использовать политику по умолчанию. Можно использовать синтаксис Markdown. site_terms: Используйте свою собственную политику конфиденциальности или оставьте пустым, чтобы использовать политику по умолчанию. Можно использовать синтаксис Markdown.
site_title: Как люди могут ссылаться на ваш сервер, помимо его доменного имени. site_title: Как люди могут ссылаться на ваш сервер, помимо его доменного имени.
status_page_url: URL страницы, на которой люди могут видеть статус этого сервера во время отключения
theme: Тема, которую видят вышедшие из системы посетители и новые пользователи. theme: Тема, которую видят вышедшие из системы посетители и новые пользователи.
thumbnail: Изображение примерно 2:1, отображаемое рядом с информацией о вашем сервере. thumbnail: Изображение примерно 2:1, отображаемое рядом с информацией о вашем сервере.
timeline_preview: Посетители, вышедшие из системы, смогут просматривать последние публичные сообщения, имеющиеся на сервере. timeline_preview: Посетители, вышедшие из системы, смогут просматривать последние публичные сообщения, имеющиеся на сервере.
trendable_by_default: Пропустить ручной просмотр трендового контента. Отдельные элементы могут быть удалены из трендов уже постфактум. trendable_by_default: Пропустить ручной просмотр трендового контента. Отдельные элементы могут быть удалены из трендов уже постфактум.
trends: Тренды показывают, какие посты, хэштеги и новостные истории набирают обороты на вашем сервере. trends: Тренды показывают, какие посты, хэштеги и новостные истории набирают обороты на вашем сервере.
trends_as_landing_page: Показывать популярный контент для выходов пользователей и посетителей, а не для описания этого сервера. Требует включения тенденций.
form_challenge: form_challenge:
current_password: Вы переходите к настройкам безопасности current_password: Вы переходите к настройкам безопасности
imports: imports:
@ -251,11 +253,13 @@ ru:
site_short_description: Описание сервера site_short_description: Описание сервера
site_terms: Политика конфиденциальности site_terms: Политика конфиденциальности
site_title: Имя сервера site_title: Имя сервера
status_page_url: Страница уведомлений
theme: Тема по умолчанию theme: Тема по умолчанию
thumbnail: Изображение сервера thumbnail: Изображение сервера
timeline_preview: Разрешить доступ к публичным лентам без авторизации timeline_preview: Разрешить доступ к публичным лентам без авторизации
trendable_by_default: Разрешить треды без предварительной проверки trendable_by_default: Разрешить треды без предварительной проверки
trends: Включить тренды trends: Включить тренды
trends_as_landing_page: Использовать тенденции в качестве целевой страницы
interactions: interactions:
must_be_follower: Присылать уведомления только от подписчиков must_be_follower: Присылать уведомления только от подписчиков
must_be_following: Присылать уведомления только от людей на которых вы подписаны must_be_following: Присылать уведомления только от людей на которых вы подписаны

View File

@ -5,9 +5,9 @@ tr:
account_alias: account_alias:
acct: Taşımak istediğiniz hesabı kullanıcıadı@alanadı şeklinde belirtin acct: Taşımak istediğiniz hesabı kullanıcıadı@alanadı şeklinde belirtin
account_migration: account_migration:
acct: Yeni hesabınızı kullanıcıadı@alanadını şeklinde belirtin acct: Taşımak istediğiniz hesabın kullanıcıadı@alanadını belirtin
account_warning_preset: account_warning_preset:
text: URL'ler, etiketler ve bahsedenler gibi gönderi sözdizimini kullanabilirsiniz text: Bğlantılar, etiketler ve bahsedenler gibi gönderi sözdizimini kullanabilirsiniz
title: İsteğe bağlı. Alıcıya görünmez title: İsteğe bağlı. Alıcıya görünmez
admin_account_action: admin_account_action:
include_statuses: Kullanıcı hangi gönderilerin denetleme eylemi veya uyarısına neden olduğunu görecektir include_statuses: Kullanıcı hangi gönderilerin denetleme eylemi veya uyarısına neden olduğunu görecektir

View File

@ -226,6 +226,7 @@ sk:
destroy_domain_block_html: "%{name} odblokoval/i doménu %{target}" destroy_domain_block_html: "%{name} odblokoval/i doménu %{target}"
destroy_ip_block_html: "%{name} vymazal/a pravidlo pre IP %{target}" destroy_ip_block_html: "%{name} vymazal/a pravidlo pre IP %{target}"
destroy_status_html: "%{name} zmazal/a príspevok od %{target}" destroy_status_html: "%{name} zmazal/a príspevok od %{target}"
reject_appeal_html: "%{name} zamietol/la námietku moderovacieho rozhodnutia od %{target}"
deleted_account: zmazaný účet deleted_account: zmazaný účet
empty: Žiadne záznamy nenájdené. empty: Žiadne záznamy nenájdené.
filter_by_action: Filtruj podľa úkonu filter_by_action: Filtruj podľa úkonu
@ -385,6 +386,7 @@ sk:
dashboard: dashboard:
instance_accounts_dimension: Najsledovanejšie účty instance_accounts_dimension: Najsledovanejšie účty
instance_accounts_measure: uložené účty instance_accounts_measure: uložené účty
instance_follows_measure: ich sledovatelia tu
instance_statuses_measure: uložené príspevky instance_statuses_measure: uložené príspevky
delivery: delivery:
all: Všetko all: Všetko
@ -503,6 +505,7 @@ sk:
categories: categories:
administration: Spravovanie administration: Spravovanie
invites: Pozvánky invites: Pozvánky
moderation: Moderácia
delete: Vymaž delete: Vymaž
edit: Uprav postavenie %{name} edit: Uprav postavenie %{name}
privileges: privileges:

View File

@ -3,7 +3,7 @@ tr:
about: about:
about_mastodon_html: Mastodon <em>ücretsiz ve açık kaynaklı</em> bir sosyal ağdır. <em>Merkezileştirilmemiş</em> yapısı sayesinde diğer ticari sosyal platformların aksine iletişimininizin tek bir firmada tutulmasının/yönetilmesinin önüne geçer. Güvendiğiniz bir sunucuyu seçerek oradaki kişilerle etkileşimde bulunabilirsiniz. Herkes kendi Mastodon sunucusunu kurabilir ve sorunsuz bir şekilde Mastodon <em>sosyal ağına</em> dahil edebilir. about_mastodon_html: Mastodon <em>ücretsiz ve açık kaynaklı</em> bir sosyal ağdır. <em>Merkezileştirilmemiş</em> yapısı sayesinde diğer ticari sosyal platformların aksine iletişimininizin tek bir firmada tutulmasının/yönetilmesinin önüne geçer. Güvendiğiniz bir sunucuyu seçerek oradaki kişilerle etkileşimde bulunabilirsiniz. Herkes kendi Mastodon sunucusunu kurabilir ve sorunsuz bir şekilde Mastodon <em>sosyal ağına</em> dahil edebilir.
contact_missing: Ayarlanmadı contact_missing: Ayarlanmadı
contact_unavailable: Yok contact_unavailable: Bulunamadı
hosted_on: Mastodon %{domain} üzerinde barındırılıyor hosted_on: Mastodon %{domain} üzerinde barındırılıyor
title: Hakkında title: Hakkında
accounts: accounts:
@ -11,7 +11,7 @@ tr:
followers: followers:
one: Takipçi one: Takipçi
other: Takipçi other: Takipçi
following: Takip edilenler following: Takip ediliyor
instance_actor_flash: Bu hesap, herhangi bir bireysel kullanıcı değil, sunucunun kendisini temsil etmek için kullanılan sanal bir aktördür. Birleştirme amacıyla kullanılmaktadır ve askıya alınmamalıdır. instance_actor_flash: Bu hesap, herhangi bir bireysel kullanıcı değil, sunucunun kendisini temsil etmek için kullanılan sanal bir aktördür. Birleştirme amacıyla kullanılmaktadır ve askıya alınmamalıdır.
last_active: son etkinlik last_active: son etkinlik
link_verified_on: Bu bağlantının mülkiyeti %{date} tarihinde kontrol edildi link_verified_on: Bu bağlantının mülkiyeti %{date} tarihinde kontrol edildi
@ -34,7 +34,7 @@ tr:
add_email_domain_block: E-posta alan adını engelle add_email_domain_block: E-posta alan adını engelle
approve: Onayla approve: Onayla
approved_msg: "%{username} adlı kullanıcının kayıt başvurusu başarıyla onaylandı" approved_msg: "%{username} adlı kullanıcının kayıt başvurusu başarıyla onaylandı"
are_you_sure: Emin misiniz? are_you_sure: Emin misin?
avatar: Profil resmi avatar: Profil resmi
by_domain: Alan adı by_domain: Alan adı
change_email: change_email:
@ -56,17 +56,17 @@ tr:
delete: Veriyi sil delete: Veriyi sil
deleted: Silindi deleted: Silindi
demote: Düşür demote: Düşür
destroyed_msg: "%{username} verilerinin hemen silinmesi için kuyruğa alındı" destroyed_msg: "%{username} adlı kullanıcının verilerinin silinmesi sıraya alındı"
disable: Devre dışı disable: Dondur
disable_sign_in_token_auth: E-posta token doğrulamayı devre dışı bırak disable_sign_in_token_auth: E-posta token doğrulamayı devre dışı bırak
disable_two_factor_authentication: 2AD kapat disable_two_factor_authentication: 2 adımlı doğrulamayı kapat
disabled: Kapalı disabled: Kapalı
display_name: Görünen isim display_name: Görünen isim
domain: Alan adı domain: Alan adı
edit: Düzenle edit: Düzenle
email: E-posta email: E-posta
email_status: E-posta durumu email_status: E-posta durumu
enable: Etkinleştir enable: Dondurmayı Kaldır
enable_sign_in_token_auth: E-posta token doğrulamayı etkinleştir enable_sign_in_token_auth: E-posta token doğrulamayı etkinleştir
enabled: Etkin enabled: Etkin
enabled_msg: "%{username} hesabı başarıyla çözüldü" enabled_msg: "%{username} hesabı başarıyla çözüldü"
@ -634,6 +634,8 @@ tr:
close_reports_html: "<strong>@%{acct}</strong> hesabına yönelik <strong>tüm</strong> bildirimleri çözüldü olarak işaretle" close_reports_html: "<strong>@%{acct}</strong> hesabına yönelik <strong>tüm</strong> bildirimleri çözüldü olarak işaretle"
delete_data_html: İlgili sürede askıdan alınması kaldırılmazsa <strong>@%{acct}</strong> hesabının profilini ve içeriğini şu andan itibaren 30 gün içinde sil delete_data_html: İlgili sürede askıdan alınması kaldırılmazsa <strong>@%{acct}</strong> hesabının profilini ve içeriğini şu andan itibaren 30 gün içinde sil
preview_preamble_html: "<strong>@%{acct}</strong> aşağıdaki içerikle bir uyarı alacaktır:" preview_preamble_html: "<strong>@%{acct}</strong> aşağıdaki içerikle bir uyarı alacaktır:"
send_email_html: "<strong>@%{acct}</strong> adlı kullanıcıya uyarı e-maili gönder"
warning_placeholder: İsteğe bağlı ek nedenden denetim eylemi.
target_origin: Şikayet edilen hesabın kökeni target_origin: Şikayet edilen hesabın kökeni
title: Şikayetler title: Şikayetler
unassign: Atamayı geri al unassign: Atamayı geri al

View File

@ -17,7 +17,7 @@ module Mastodon
end end
def flags def flags
'rc3' ''
end end
def suffix def suffix

View File

@ -48,7 +48,7 @@ RSpec.describe ActivityPub::Activity::Add do
end end
it 'fetches the status and pins it' do it 'fetches the status and pins it' do
allow(service_stub).to receive(:call) do |uri, id: true, on_behalf_of: nil| allow(service_stub).to receive(:call) do |uri, id: true, on_behalf_of: nil, request_id: nil|
expect(uri).to eq 'https://example.com/unknown' expect(uri).to eq 'https://example.com/unknown'
expect(id).to eq true expect(id).to eq true
expect(on_behalf_of&.following?(sender)).to eq true expect(on_behalf_of&.following?(sender)).to eq true
@ -62,7 +62,7 @@ RSpec.describe ActivityPub::Activity::Add do
context 'when there is no local follower' do context 'when there is no local follower' do
it 'tries to fetch the status' do it 'tries to fetch the status' do
allow(service_stub).to receive(:call) do |uri, id: true, on_behalf_of: nil| allow(service_stub).to receive(:call) do |uri, id: true, on_behalf_of: nil, request_id: nil|
expect(uri).to eq 'https://example.com/unknown' expect(uri).to eq 'https://example.com/unknown'
expect(id).to eq true expect(id).to eq true
expect(on_behalf_of).to eq nil expect(on_behalf_of).to eq nil

View File

@ -223,4 +223,98 @@ RSpec.describe ActivityPub::FetchRemoteStatusService, type: :service do
end end
end end
end end
context 'statuses referencing other statuses' do
before do
stub_const 'ActivityPub::FetchRemoteStatusService::DISCOVERIES_PER_REQUEST', 5
end
context 'using inReplyTo' do
let(:object) do
{
'@context': 'https://www.w3.org/ns/activitystreams',
id: "https://foo.bar/@foo/1",
type: 'Note',
content: 'Lorem ipsum',
inReplyTo: 'https://foo.bar/@foo/2',
attributedTo: ActivityPub::TagManager.instance.uri_for(sender),
}
end
before do
8.times do |i|
status_json = {
'@context': 'https://www.w3.org/ns/activitystreams',
id: "https://foo.bar/@foo/#{i}",
type: 'Note',
content: 'Lorem ipsum',
inReplyTo: "https://foo.bar/@foo/#{i + 1}",
attributedTo: ActivityPub::TagManager.instance.uri_for(sender),
to: 'as:Public',
}.with_indifferent_access
stub_request(:get, "https://foo.bar/@foo/#{i}").to_return(status: 200, body: status_json.to_json, headers: { 'Content-Type': 'application/activity+json' })
end
end
it 'creates at least some statuses' do
expect { subject.call(object[:id], prefetched_body: Oj.dump(object)) }.to change { sender.statuses.count }.by_at_least(2)
end
it 'creates no more account than the limit allows' do
expect { subject.call(object[:id], prefetched_body: Oj.dump(object)) }.to change { sender.statuses.count }.by_at_most(5)
end
end
context 'using replies' do
let(:object) do
{
'@context': 'https://www.w3.org/ns/activitystreams',
id: "https://foo.bar/@foo/1",
type: 'Note',
content: 'Lorem ipsum',
replies: {
type: 'Collection',
id: 'https://foo.bar/@foo/1/replies',
first: {
type: 'CollectionPage',
partOf: 'https://foo.bar/@foo/1/replies',
items: ['https://foo.bar/@foo/2'],
},
},
attributedTo: ActivityPub::TagManager.instance.uri_for(sender),
}
end
before do
8.times do |i|
status_json = {
'@context': 'https://www.w3.org/ns/activitystreams',
id: "https://foo.bar/@foo/#{i}",
type: 'Note',
content: 'Lorem ipsum',
replies: {
type: 'Collection',
id: "https://foo.bar/@foo/#{i}/replies",
first: {
type: 'CollectionPage',
partOf: "https://foo.bar/@foo/#{i}/replies",
items: ["https://foo.bar/@foo/#{i+1}"],
},
},
attributedTo: ActivityPub::TagManager.instance.uri_for(sender),
to: 'as:Public',
}.with_indifferent_access
stub_request(:get, "https://foo.bar/@foo/#{i}").to_return(status: 200, body: status_json.to_json, headers: { 'Content-Type': 'application/activity+json' })
end
end
it 'creates at least some statuses' do
expect { subject.call(object[:id], prefetched_body: Oj.dump(object)) }.to change { sender.statuses.count }.by_at_least(2)
end
it 'creates no more account than the limit allows' do
expect { subject.call(object[:id], prefetched_body: Oj.dump(object)) }.to change { sender.statuses.count }.by_at_most(5)
end
end
end
end end

View File

@ -15,7 +15,7 @@ RSpec.describe FetchRemoteStatusService, type: :service do
end end
context 'protocol is :activitypub' do context 'protocol is :activitypub' do
subject { described_class.new.call(note[:id], prefetched_body) } subject { described_class.new.call(note[:id], prefetched_body: prefetched_body) }
let(:prefetched_body) { Oj.dump(note) } let(:prefetched_body) { Oj.dump(note) }
before do before do