Merge remote-tracking branch 'parent/main' into upstream-20240918

This commit is contained in:
KMY 2024-09-18 08:31:34 +09:00
commit 4ce35dd837
188 changed files with 1994 additions and 980 deletions

View file

@ -7,8 +7,13 @@ RSpec/Focus: # Require full spec run on CI
Exclude: [] Exclude: []
Rails/Output: # Remove any `puts` debugging Rails/Output: # Remove any `puts` debugging
inherit_mode:
merge:
- Include
Enabled: true Enabled: true
Exclude: [] Exclude: []
Include:
- spec/**/*.rb
Rails/FindEach: # Using `each` could impact performance, use `find_each` Rails/FindEach: # Using `each` could impact performance, use `find_each`
Enabled: true Enabled: true

View file

@ -10,21 +10,24 @@ The following changelog entries focus on changes visible to users, administrator
- **Add confirmation interstitial instead of silently redirecting logged-out visitors to remote resources** (#27792, #28902, and #30651 by @ClearlyClaire and @Gargron)\ - **Add confirmation interstitial instead of silently redirecting logged-out visitors to remote resources** (#27792, #28902, and #30651 by @ClearlyClaire and @Gargron)\
This fixes a longstanding open redirect in Mastodon, at the cost of added friction when local links to remote resources are shared. This fixes a longstanding open redirect in Mastodon, at the cost of added friction when local links to remote resources are shared.
- Change `form-action` Content-Security-Policy directive to be more restrictive (#26897 by @ClearlyClaire)
- Update dependencies
### Added ### Added
- **Add experimental server-side notification grouping** (#29889, #30576, #30685, #30688, #30707, #30776, #30779, #30781, #30440, #31062, #31098, #31076, #31111, #31123, #31223, #31214, #31224, #31299, #31325, #31347, #31304, #31326, #31384, #31403, #31433, #31509, #31486, and #31513 by @ClearlyClaire, @mgmn, and @renchap)\ - **Add server-side notification grouping** (#29889, #30576, #30685, #30688, #30707, #30776, #30779, #30781, #30440, #31062, #31098, #31076, #31111, #31123, #31223, #31214, #31224, #31299, #31325, #31347, #31304, #31326, #31384, #31403, #31433, #31509, #31486, #31513, #31592, #31594, #31638, #31746, #31652, #31709, #31725, #31745, #31613, #31657, #31840, #31610 and #31929 by @ClearlyClaire, @Gargron, @mgmn, and @renchap)\
Group notifications of the same type for the same target, so that your notifications no longer get cluttered by boost and favorite notifications as soon as a couple of your posts get traction.\ Group notifications of the same type for the same target, so that your notifications no longer get cluttered by boost and favorite notifications as soon as a couple of your posts get traction.\
This is done server-side so that clients can efficiently get relevant groups without having to go through numerous pages of individual notifications.\ This is done server-side so that clients can efficiently get relevant groups without having to go through numerous pages of individual notifications.\
As part of this, the visual design of the entire notifications feature has been revamped.\ As part of this, the visual design of the entire notifications feature has been revamped.\
This feature is intended to eventually replace the existing notifications column, but for this first beta, users will have to enable it in the “Experimental features” section of the notifications column settings.\ This feature is intended to eventually replace the existing notifications column, but for this first beta, users will have to enable it in the “Experimental features” section of the notifications column settings.\
The API is not final yet, but it consists of: The API is not final yet, but it consists of:
- a new `group_key` attribute to `Notification` entities - a new `group_key` attribute to `Notification` entities
- `GET /api/v2_alpha/notifications`: https://docs.joinmastodon.org/methods/notifications_alpha/#get-grouped - `GET /api/v2/notifications`: https://docs.joinmastodon.org/methods/grouped_notifications/#get-grouped
- `GET /api/v2_alpha/notifications/:group_key`: https://docs.joinmastodon.org/methods/notifications_alpha/#get-notification-group - `GET /api/v2/notifications/:group_key`: https://docs.joinmastodon.org/methods/grouped_notifications/#get-notification-group
- `POST /api/v2_alpha/notifications/:group_key/dimsiss`: https://docs.joinmastodon.org/methods/notifications_alpha/#dismiss-group - `GET /api/v2/notifications/:group_key/accounts`: https://docs.joinmastodon.org/methods/grouped_notifications/#get-group-accounts
- `GET /api/v2_alpha/notifications/:unread_count`: https://docs.joinmastodon.org/methods/notifications_alpha/#unread-group-count - `POST /api/v2/notifications/:group_key/dimsiss`: https://docs.joinmastodon.org/methods/grouped_notifications/#dismiss-group
- **Add notification policies, filtered notifications and notification requests** (#29366, #29529, #29433, #29565, #29567, #29572, #29575, #29588, #29646, #29652, #29658, #29666, #29693, #29699, #29737, #29706, #29570, #29752, #29810, #29826, #30114, #30251, #30559, #29868, #31008, #31011, #30996, #31149, #31220, #31222, #31225, #31242, #31262, #31250, #31273, #31310, #31316, #31322, #31329, #31324, #31331, #31343, #31342, #31309, #31358, #31378, #31406, #31256, #31456, #31419, #31457, #31508, #31540, and #31541 by @ClearlyClaire, @Gargron, @TheEssem, @mgmn, @oneiros, and @renchap)\ - `GET /api/v2/notifications/:unread_count`: https://docs.joinmastodon.org/methods/grouped_notifications/#unread-group-count
- **Add notification policies, filtered notifications and notification requests** (#29366, #29529, #29433, #29565, #29567, #29572, #29575, #29588, #29646, #29652, #29658, #29666, #29693, #29699, #29737, #29706, #29570, #29752, #29810, #29826, #30114, #30251, #30559, #29868, #31008, #31011, #30996, #31149, #31220, #31222, #31225, #31242, #31262, #31250, #31273, #31310, #31316, #31322, #31329, #31324, #31331, #31343, #31342, #31309, #31358, #31378, #31406, #31256, #31456, #31419, #31457, #31508, #31540, #31541, and #31723 by @ClearlyClaire, @Gargron, @TheEssem, @mgmn, @oneiros, and @renchap)\
The old “Block notifications from non-followers”, “Block notifications from people you don't follow” and “Block direct messages from people you don't follow” notification settings have been replaced by a new set of settings found directly in the notification column.\ The old “Block notifications from non-followers”, “Block notifications from people you don't follow” and “Block direct messages from people you don't follow” notification settings have been replaced by a new set of settings found directly in the notification column.\
You can now separately filter or drop notifications from people you don't follow, people who don't follow you, accounts created within the past 30 days, as well as unsolicited private mentions, and accounts limited by the moderation.\ You can now separately filter or drop notifications from people you don't follow, people who don't follow you, accounts created within the past 30 days, as well as unsolicited private mentions, and accounts limited by the moderation.\
Instead of being outright dropped, notifications that you chose to filter are put in a separate “Filtered notifications” box that you can review separately without it clogging your main notifications.\ Instead of being outright dropped, notifications that you chose to filter are put in a separate “Filtered notifications” box that you can review separately without it clogging your main notifications.\
@ -57,19 +60,22 @@ The following changelog entries focus on changes visible to users, administrator
- **Add timeline of public posts about a trending link** (#30381 and #30840 by @Gargron)\ - **Add timeline of public posts about a trending link** (#30381 and #30840 by @Gargron)\
You can now see public posts mentioning currently-trending articles from people who have opted into discovery features.\ You can now see public posts mentioning currently-trending articles from people who have opted into discovery features.\
This adds a new REST API endpoint: https://docs.joinmastodon.org/methods/timelines/#link This adds a new REST API endpoint: https://docs.joinmastodon.org/methods/timelines/#link
- **Add author highlight for news articles whose authors are on the fediverse** (#30398, #30670, #30521, and #30846 by @Gargron)\ - **Add author highlight for news articles whose authors are on the fediverse** (#30398, #30670, #30521, #30846, #31819, and #31900 by @Gargron and @oneiros)\
This adds a mechanism to [highlight the author of news articles](https://blog.joinmastodon.org/2024/07/highlighting-journalism-on-mastodon/) shared on Mastodon.\ This adds a mechanism to [highlight the author of news articles](https://blog.joinmastodon.org/2024/07/highlighting-journalism-on-mastodon/) shared on Mastodon.\
Articles hosted outside the fediverse can indicate a fediverse author with a meta tag: Articles hosted outside the fediverse can indicate a fediverse author with a meta tag:
```html ```html
<meta name="fediverse:creator" content="username@domain" /> <meta name="fediverse:creator" content="username@domain" />
``` ```
On the API side, this is represented by a new `authors` attribute to the `PreviewCard` entity: https://docs.joinmastodon.org/entities/PreviewCard/#authors\ On the API side, this is represented by a new `authors` attribute to the `PreviewCard` entity: https://docs.joinmastodon.org/entities/PreviewCard/#authors\
Note that this feature is still work in progress and the tagging format and verification mechanisms may change in future releases. Users can allow arbitrary domains to use `fediverse:creator` to credit them by visiting `/settings/verification`.\
This is federated as a new `attributionDomains` property in the `http://joinmastodon.org/ns` namespace, containing an array of domain names: https://docs.joinmastodon.org/spec/activitypub/#properties-used-1
- **Add in-app notifications for moderation actions and warnings** (#30065, #30082, and #30081 by @ClearlyClaire)\ - **Add in-app notifications for moderation actions and warnings** (#30065, #30082, and #30081 by @ClearlyClaire)\
In addition to email notifications, also notify users of moderation actions or warnings against them directly within the app, so they are less likely to miss important communication from their moderators.\ In addition to email notifications, also notify users of moderation actions or warnings against them directly within the app, so they are less likely to miss important communication from their moderators.\
This adds the `moderation_warning` notification type to the REST API and streaming, with a new [`moderation_warning` attribute](https://docs.joinmastodon.org/entities/Notification/#moderation_warning). This adds the `moderation_warning` notification type to the REST API and streaming, with a new [`moderation_warning` attribute](https://docs.joinmastodon.org/entities/Notification/#moderation_warning).
- **Add domain information to profiles in web UI** (#29602 by @Gargron)\ - **Add domain information to profiles in web UI** (#29602 by @Gargron)\
Clicking the domain of a user in their profile will now open a tooltip with a short explanation about servers and federation. Clicking the domain of a user in their profile will now open a tooltip with a short explanation about servers and federation.
- **Add support for Redis sentinel** (#31694, #31623, #31744, #31767, and #31768 by @ThisIsMissEm and @oneiros)\
See https://docs.joinmastodon.org/admin/scaling/#redis-sentinel
- Add ability to reorder uploaded media before posting in web UI (#28456 by @Gargron) - Add ability to reorder uploaded media before posting in web UI (#28456 by @Gargron)
- Add moderation interface for searching hashtags (#30880 by @ThisIsMissEm) - Add moderation interface for searching hashtags (#30880 by @ThisIsMissEm)
- Add ability for admins to configure instance favicon and logo (#30040, #30208, #30259, #30375, #30734, #31016, and #30205 by @ClearlyClaire, @FawazFarid, @JasonPunyon, @mgmn, and @renchap)\ - Add ability for admins to configure instance favicon and logo (#30040, #30208, #30259, #30375, #30734, #31016, and #30205 by @ClearlyClaire, @FawazFarid, @JasonPunyon, @mgmn, and @renchap)\
@ -77,6 +83,8 @@ The following changelog entries focus on changes visible to users, administrator
- Add `api_versions` to `/api/v2/instance` (#31354 by @ClearlyClaire)\ - Add `api_versions` to `/api/v2/instance` (#31354 by @ClearlyClaire)\
Add API version number to make it easier for clients to detect compatible features going forward.\ Add API version number to make it easier for clients to detect compatible features going forward.\
See API documentation at https://docs.joinmastodon.org/entities/Instance/#api-versions See API documentation at https://docs.joinmastodon.org/entities/Instance/#api-versions
- Add quick links to Administration and Moderation Reports from Web UI (#24838 by @ThisIsMissEm)
- Add link to `/admin/roles` in moderation interface when changing someone's role (#31791 by @ClearlyClaire)
- Add recent audit log entries in federation moderation interface (#27386 by @ThisIsMissEm) - Add recent audit log entries in federation moderation interface (#27386 by @ThisIsMissEm)
- Add profile setup to onboarding in web UI (#27829, #27876, and #28453 by @Gargron) - Add profile setup to onboarding in web UI (#27829, #27876, and #28453 by @Gargron)
- Add prominent share/copy button on profiles in web UI (#27865 and #27889 by @ClearlyClaire and @Gargron) - Add prominent share/copy button on profiles in web UI (#27865 and #27889 by @ClearlyClaire and @Gargron)
@ -113,21 +121,24 @@ The following changelog entries focus on changes visible to users, administrator
- Add support for multiple `redirect_uris` when creating OAuth 2.0 Applications (#29192 by @ThisIsMissEm) - Add support for multiple `redirect_uris` when creating OAuth 2.0 Applications (#29192 by @ThisIsMissEm)
- Add Interlingue and Interlingua to interface languages (#28630 and #30828 by @Dhghomon and @renchap) - Add Interlingue and Interlingua to interface languages (#28630 and #30828 by @Dhghomon and @renchap)
- Add Kashubian, Pennsylvania Dutch, Vai, Jawi Malay, Mohawk and Low German to posting languages (#26024, #26634, #27136, #29098, #27115, and #27434 by @EngineerDali, @HelgeKrueger, and @gunchleoc) - Add Kashubian, Pennsylvania Dutch, Vai, Jawi Malay, Mohawk and Low German to posting languages (#26024, #26634, #27136, #29098, #27115, and #27434 by @EngineerDali, @HelgeKrueger, and @gunchleoc)
- Add validations to `Web::PushSubscription` (#30540 and #30542 by @ThisIsMissEm)
- Add option to use native Ruby driver for Redis through `REDIS_DRIVER=ruby` (#30717 by @vmstan) - Add option to use native Ruby driver for Redis through `REDIS_DRIVER=ruby` (#30717 by @vmstan)
- Add support for libvips in addition to ImageMagick (#30090, #30590, #30597, #30632, #30857, #30869, and #30858 by @ClearlyClaire, @Gargron, and @mjankowski)\ - Add support for libvips in addition to ImageMagick (#30090, #30590, #30597, #30632, #30857, #30869, and #30858 by @ClearlyClaire, @Gargron, and @mjankowski)\
Server admins can now use libvips as a faster and lighter alternative to ImageMagick for processing user-uploaded images.\ Server admins can now use libvips as a faster and lighter alternative to ImageMagick for processing user-uploaded images.\
This requires libvips 8.13 or newer, and needs to be enabled with `MASTODON_USE_LIBVIPS=true`.\ This requires libvips 8.13 or newer, and needs to be enabled with `MASTODON_USE_LIBVIPS=true`.\
This is enabled by default in the official Docker images, and is intended to completely replace ImageMagick in the future. This is enabled by default in the official Docker images, and is intended to completely replace ImageMagick in the future.
- Add validations to `Web::PushSubscription` (#30540 and #30542 by @ThisIsMissEm)
- Add anchors to each authorized application in `/oauth/authorized_applications` (#31677 by @fowl2)
- Add active animation to header settings button (#30221, #30307, and #30388 by @daudix) - Add active animation to header settings button (#30221, #30307, and #30388 by @daudix)
- Add OpenTelemetry instrumentation (#30130, #30322, #30353, and #30350 by @julianocosta89, @renchap, and @robbkidd)\ - Add OpenTelemetry instrumentation (#30130, #30322, #30353, and #30350 by @julianocosta89, @renchap, and @robbkidd)\
See https://docs.joinmastodon.org/admin/config/#otel for documentation See https://docs.joinmastodon.org/admin/config/#otel for documentation
- Add API to get multiple accounts and statuses (#27871 and #30465 by @ClearlyClaire)\ - Add API to get multiple accounts and statuses (#27871 and #30465 by @ClearlyClaire)\
This adds `GET /api/v1/accounts` and `GET /api/v1/statuses` to the REST API, see https://docs.joinmastodon.org/methods/accounts/#index and https://docs.joinmastodon.org/methods/statuses/#index This adds `GET /api/v1/accounts` and `GET /api/v1/statuses` to the REST API, see https://docs.joinmastodon.org/methods/accounts/#index and https://docs.joinmastodon.org/methods/statuses/#index
- Add support for CORS to `POST /oauth/revoke` (#31743 by @ClearlyClaire)
- Add redirection back to previous page after site upload deletion (#30141 by @FawazFarid) - Add redirection back to previous page after site upload deletion (#30141 by @FawazFarid)
- Add RFC8414 OAuth 2.0 server metadata (#29191 by @ThisIsMissEm) - Add RFC8414 OAuth 2.0 server metadata (#29191 by @ThisIsMissEm)
- Add loading indicator and empty result message to advanced interface search (#30085 by @ClearlyClaire) - Add loading indicator and empty result message to advanced interface search (#30085 by @ClearlyClaire)
- Add `profile` OAuth 2.0 scope, allowing more limited access to user data (#29087 and #30357 by @ThisIsMissEm) - Add `profile` OAuth 2.0 scope, allowing more limited access to user data (#29087 and #30357 by @ThisIsMissEm)
- Add global Regexp timeout (#31928 by @ClearlyClaire)
- Add the role ID to the badge component (#29707 by @renchap) - Add the role ID to the badge component (#29707 by @renchap)
- Add diagnostic message for failure during CLI search deploy (#29462 by @mjankowski) - Add diagnostic message for failure during CLI search deploy (#29462 by @mjankowski)
- Add pagination `Link` headers on API accounts/statuses when pinned true (#29442 by @mjankowski) - Add pagination `Link` headers on API accounts/statuses when pinned true (#29442 by @mjankowski)
@ -156,14 +167,14 @@ The following changelog entries focus on changes visible to users, administrator
- **Change icons throughout the web interface** (#27385, #27539, #27555, #27579, #27700, #27817, #28519, #28709, #28064, #28775, #28780, #27924, #29294, #29395, #29537, #29569, #29610, #29612, #29649, #29844, #27780, #30974, #30963, #30962, #30961, #31362, #31363, #31359, #31371, #31360, #31512, #31511, and #31525 by @ClearlyClaire, @Gargron, @arbolitoloco1, @mjankowski, @nclm, @renchap, @ronilaukkarinen, and @zunda)\ - **Change icons throughout the web interface** (#27385, #27539, #27555, #27579, #27700, #27817, #28519, #28709, #28064, #28775, #28780, #27924, #29294, #29395, #29537, #29569, #29610, #29612, #29649, #29844, #27780, #30974, #30963, #30962, #30961, #31362, #31363, #31359, #31371, #31360, #31512, #31511, and #31525 by @ClearlyClaire, @Gargron, @arbolitoloco1, @mjankowski, @nclm, @renchap, @ronilaukkarinen, and @zunda)\
This changes all the interface icons from FontAwesome to Material Symbols for a more modern look, consistent with the official Mastodon Android app.\ This changes all the interface icons from FontAwesome to Material Symbols for a more modern look, consistent with the official Mastodon Android app.\
In addition, better care is given to pixel alignment, and icon variants are used to better highlight active/inactive state. In addition, better care is given to pixel alignment, and icon variants are used to better highlight active/inactive state.
- **Change design of compose form in web UI** (#28119, #29059, #29248, #29372, #29384, #29417, #29456, #29406, #29651, and #29659 by @ClearlyClaire, @Gargron, @eai04191, @hinaloe, and @ronilaukkarinen)\ - **Change design of compose form in web UI** (#28119, #29059, #29248, #29372, #29384, #29417, #29456, #29406, #29651, #29659, and #31889 by @ClearlyClaire, @Gargron, @eai04191, @hinaloe, and @ronilaukkarinen)\
The compose form has been completely redesigned for a more modern and consistent look, as well as spelling out the chosen privacy setting and language name at all times.\ The compose form has been completely redesigned for a more modern and consistent look, as well as spelling out the chosen privacy setting and language name at all times.\
As part of this, the “Unlisted” privacy setting has been renamed to “Quiet public”. As part of this, the “Unlisted” privacy setting has been renamed to “Quiet public”.
- **Change design of confirmation modals in the web UI** (#29576, #29614, #29640, #29644, #30131, #30884, and #31399 by @ClearlyClaire, @Gargron, and @tribela)\ - **Change design of modals in the web UI** (#29576, #29614, #29640, #29644, #30131, #30884, #31399, #31555, #31752, #31801, #31883, #31844, #31864, and #31943 by @ClearlyClaire, @Gargron, @tribela and @vmstan)\
The mute, block, and domain block confirmation modals have been completely redesigned to be clearer and include more detailed information on the action to be performed.\ The mute, block, and domain block confirmation modals have been completely redesigned to be clearer and include more detailed information on the action to be performed.\
They also have a more modern and consistent design, along with other confirmation modals in the application. They also have a more modern and consistent design, along with other confirmation modals in the application.
- **Change colors throughout the web UI** (#29522, #29584, #29653, #29779, #29803, #29809, #29808, #29828, #31034, #31168, #31266, #31348, #31349, #31361, and #31510 by @ClearlyClaire, @Gargron, @renchap, and @vmstan) - **Change colors throughout the web UI** (#29522, #29584, #29653, #29779, #29803, #29809, #29808, #29828, #31034, #31168, #31266, #31348, #31349, #31361, and #31510 by @ClearlyClaire, @Gargron, @renchap, and @vmstan)
- **Change onboarding prompt to follow suggestions carousel in web UI** (#28878 and #29272 by @Gargron) - **Change onboarding prompt to follow suggestions carousel in web UI** (#28878, #29272, and #31912 by @Gargron)
- **Change email templates** (#28416, #28755, #28814, #29064, #28883, #29470, #29607, #29761, #29760, and #29879 by @ClearlyClaire, @Gargron, @hteumeuleu, and @mjankowski)\ - **Change email templates** (#28416, #28755, #28814, #29064, #28883, #29470, #29607, #29761, #29760, and #29879 by @ClearlyClaire, @Gargron, @hteumeuleu, and @mjankowski)\
All emails to end-users have been completely redesigned with a fresh new look, providing more information while making them easier to read and keeping maximum compatibility across mail clients. All emails to end-users have been completely redesigned with a fresh new look, providing more information while making them easier to read and keeping maximum compatibility across mail clients.
- **Change follow recommendations algorithm** (#28314, #28433, #29017, #29108, #29306, #29550, #29619, and #31474 by @ClearlyClaire, @Gargron, @kernal053, @mjankowski, and @wheatear-dev)\ - **Change follow recommendations algorithm** (#28314, #28433, #29017, #29108, #29306, #29550, #29619, and #31474 by @ClearlyClaire, @Gargron, @kernal053, @mjankowski, and @wheatear-dev)\
@ -171,19 +182,28 @@ The following changelog entries focus on changes visible to users, administrator
In addition, the implementation has been significantly reworked, and all follow recommendations are now dismissable.\ In addition, the implementation has been significantly reworked, and all follow recommendations are now dismissable.\
This change deprecates the `source` attribute in `Suggestion` entities in the REST API, and replaces it with the new [`sources` attribute](https://docs.joinmastodon.org/entities/Suggestion/#sources). This change deprecates the `source` attribute in `Suggestion` entities in the REST API, and replaces it with the new [`sources` attribute](https://docs.joinmastodon.org/entities/Suggestion/#sources).
- Change account search algorithm (#30803 by @Gargron) - Change account search algorithm (#30803 by @Gargron)
- **Change streaming server to use its own dependencies and its own docker image** (#24702, #27967, #26850, #28112, #28115, #28137, #28138, #28497, #28548, and #30795 by @TheEssem, @ThisIsMissEm, @jippi, @timetinytim, and @vmstan)\ - **Change streaming server to use its own dependencies and its own docker image** (#24702, #27967, #26850, #28112, #28115, #28137, #28138, #28497, #28548, #30795, #31612, and #31615 by @TheEssem, @ThisIsMissEm, @jippi, @renchap, @timetinytim, and @vmstan)\
In order to reduce the amount of runtime dependencies, the streaming server has been moved into a separate package and Docker image.\ In order to reduce the amount of runtime dependencies, the streaming server has been moved into a separate package and Docker image.\
The `mastodon` image does not contain the streaming server anymore, as it has been moved to its own `mastodon-streaming` image.\ The `mastodon` image does not contain the streaming server anymore, as it has been moved to its own `mastodon-streaming` image.\
Administrators may need to update their setup accordingly. Administrators may need to update their setup accordingly.
- Change how content warnings and filters are displayed in web UI (#31365 by @Gargron) - Change how content warnings and filters are displayed in web UI (#31365, and #31761 by @Gargron)
- Change preview card processing to ignore `undefined` as canonical url (#31882 by @oneiros)
- Change embedded posts to use web UI (#31766 by @Gargron)
- Change inner borders in media galleries in web UI (#31852 by @Gargron)
- Change design of hide media button in web UI (#31807 by @Gargron)
- Change labels on thread indicators in web UI (#31806 by @Gargron)
- Change report action buttons to be disabled when action has already been taken (#31773, #31822, and #31899 by @ClearlyClaire and @ThisIsMissEm)
- Change width of columns in advanced web UI (#31762 by @Gargron)
- Change design of unread conversations in web UI (#31763 by @Gargron)
- Change Web UI to allow viewing and severing relationships with suspended accounts (#27667 by @ClearlyClaire)\ - Change Web UI to allow viewing and severing relationships with suspended accounts (#27667 by @ClearlyClaire)\
This also adds a `with_suspended` parameter to `GET /api/v1/accounts/relationships` in the REST API. This also adds a `with_suspended` parameter to `GET /api/v1/accounts/relationships` in the REST API.
- Change preview card image size limit from 2MB to 8MB when using libvips (#31904 by @ClearlyClaire)
- Change avatars border radius (#31390 by @renchap) - Change avatars border radius (#31390 by @renchap)
- Change counters to be displayed on profile timelines in web UI (#30525 by @Gargron) - Change counters to be displayed on profile timelines in web UI (#30525 by @Gargron)
- Change disabled buttons color in light mode to make the difference more visible (#30998 by @renchap) - Change disabled buttons color in light mode to make the difference more visible (#30998 by @renchap)
- Change design of people tab on explore in web UI (#30059 by @Gargron) - Change design of people tab on explore in web UI (#30059 by @Gargron)
- Change sidebar text in web UI (#30696 by @Gargron) - Change sidebar text in web UI (#30696 by @Gargron)
- Change "Follow" to "Follow back" and "Mutual" when appropriate in web UI (#28452 and #28465 by @Gargron and @renchap) - Change "Follow" to "Follow back" and "Mutual" when appropriate in web UI (#28452, #28465, and #31934 by @ClearlyClaire, @Gargron and @renchap)
- Change media to be hidden/blurred by default in report modal (#28522 by @ClearlyClaire) - Change media to be hidden/blurred by default in report modal (#28522 by @ClearlyClaire)
- Change order of the "muting" and "blocking" list options in “Data Exports” (#26088 by @fixermark) - Change order of the "muting" and "blocking" list options in “Data Exports” (#26088 by @fixermark)
- Change admin and moderation notes character limit from 500 to 2000 characters (#30288 by @ThisIsMissEm) - Change admin and moderation notes character limit from 500 to 2000 characters (#30288 by @ThisIsMissEm)
@ -197,6 +217,7 @@ The following changelog entries focus on changes visible to users, administrator
- Change dropdown menu icon to not be replaced by close icon when open in web UI (#29532 by @Gargron) - Change dropdown menu icon to not be replaced by close icon when open in web UI (#29532 by @Gargron)
- Change back button to always appear in advanced web UI (#29551 and #29669 by @Gargron) - Change back button to always appear in advanced web UI (#29551 and #29669 by @Gargron)
- Change border of active compose field search inputs (#29832 and #29839 by @vmstan) - Change border of active compose field search inputs (#29832 and #29839 by @vmstan)
- Change instances of Nokogiri HTML4 parsing to HTML5 (#31812, #31815, #31813, and #31814 by @flavorjones)
- Change link detection to allow `@` at the end of an URL (#31124 by @adamniedzielski) - Change link detection to allow `@` at the end of an URL (#31124 by @adamniedzielski)
- Change User-Agent to use Mastodon as the product, and http.rb as platform details (#31192 by @ClearlyClaire) - Change User-Agent to use Mastodon as the product, and http.rb as platform details (#31192 by @ClearlyClaire)
- Change layout and wording of the Content Retention server settings page (#27733 by @vmstan) - Change layout and wording of the Content Retention server settings page (#27733 by @vmstan)
@ -249,8 +270,17 @@ The following changelog entries focus on changes visible to users, administrator
- Fix various issues when in link preview card generation (#28748, #30017, #30362, #30173, #30853, #30929, #30933, #30957, #30987, and #31144 by @adamniedzielski, @oneiros, @phocks, @timothyjrogers, and @tribela) - Fix various issues when in link preview card generation (#28748, #30017, #30362, #30173, #30853, #30929, #30933, #30957, #30987, and #31144 by @adamniedzielski, @oneiros, @phocks, @timothyjrogers, and @tribela)
- Fix handling of missing links in Webfinger responses (#31030 by @adamniedzielski) - Fix handling of missing links in Webfinger responses (#31030 by @adamniedzielski)
- Fix HTTP 500 error in `/api/v1/polls/:id/votes` when required `choices` parameter is missing (#25598 by @danielmbrasil) - Fix HTTP 500 error in `/api/v1/polls/:id/votes` when required `choices` parameter is missing (#25598 by @danielmbrasil)
- Fix security context sometimes not being added in LD-Signed activities (#31871 by @ClearlyClaire)
- Fix cross-origin loading of `inert.css` polyfill (#30687 by @louis77) - Fix cross-origin loading of `inert.css` polyfill (#30687 by @louis77)
- Fix cutoff of instance name in sign-up form (#30598 by @oneiros) - Fix cutoff of instance name in sign-up form (#30598 by @oneiros)
- Fix invalid date searches returning 503 errors (#31526 by @notchairmk)
- Fix invalid `visibility` values in `POST /api/v1/statuses` returning 500 errors (#31571 by @c960657)
- Fix some components re-rendering spuriously in web UI (#31879 and #31881 by @ClearlyClaire and @Gargron)
- Fix sort order of moderation notes on Reports and Accounts (#31528 by @ThisIsMissEm)
- Fix email language when recipient has no selected locale (#31747 by @ClearlyClaire)
- Fix frequently-used languages not correctly updating in the web UI (#31386 by @c960657)
- Fix `POST /api/v1/statuses` silently ignoring invalid `media_ids` parameter (#31681 by @c960657)
- Fix handling of the `BIND` environment variable in the streaming server (#31624 by @ThisIsMissEm)
- Fix empty `aria-hidden` attribute value in logo resources area (#30570 by @mjankowski) - Fix empty `aria-hidden` attribute value in logo resources area (#30570 by @mjankowski)
- Fix “Redirect URI” field not being marked as required in “New application” form (#30311 by @ThisIsMissEm) - Fix “Redirect URI” field not being marked as required in “New application” form (#30311 by @ThisIsMissEm)
- Fix right-to-left text in preview cards (#30930 by @ClearlyClaire) - Fix right-to-left text in preview cards (#30930 by @ClearlyClaire)

View file

@ -111,7 +111,7 @@ group :opentelemetry do
gem 'opentelemetry-instrumentation-http', '~> 0.23.2', require: false gem 'opentelemetry-instrumentation-http', '~> 0.23.2', require: false
gem 'opentelemetry-instrumentation-http_client', '~> 0.22.3', require: false gem 'opentelemetry-instrumentation-http_client', '~> 0.22.3', require: false
gem 'opentelemetry-instrumentation-net_http', '~> 0.22.4', require: false gem 'opentelemetry-instrumentation-net_http', '~> 0.22.4', require: false
gem 'opentelemetry-instrumentation-pg', '~> 0.28.0', require: false gem 'opentelemetry-instrumentation-pg', '~> 0.29.0', require: false
gem 'opentelemetry-instrumentation-rack', '~> 0.24.1', require: false gem 'opentelemetry-instrumentation-rack', '~> 0.24.1', require: false
gem 'opentelemetry-instrumentation-rails', '~> 0.31.0', require: false gem 'opentelemetry-instrumentation-rails', '~> 0.31.0', require: false
gem 'opentelemetry-instrumentation-redis', '~> 0.25.3', require: false gem 'opentelemetry-instrumentation-redis', '~> 0.25.3', require: false

View file

@ -331,7 +331,7 @@ GEM
httplog (1.7.0) httplog (1.7.0)
rack (>= 2.0) rack (>= 2.0)
rainbow (>= 2.0.0) rainbow (>= 2.0.0)
i18n (1.14.5) i18n (1.14.6)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
i18n-tasks (1.0.14) i18n-tasks (1.0.14)
activesupport (>= 4.0.2) activesupport (>= 4.0.2)
@ -472,9 +472,9 @@ GEM
omniauth-rails_csrf_protection (1.0.2) omniauth-rails_csrf_protection (1.0.2)
actionpack (>= 4.2) actionpack (>= 4.2)
omniauth (~> 2.0) omniauth (~> 2.0)
omniauth-saml (2.1.0) omniauth-saml (2.2.1)
omniauth (~> 2.0) omniauth (~> 2.1)
ruby-saml (~> 1.12) ruby-saml (~> 1.17)
omniauth_openid_connect (0.6.1) omniauth_openid_connect (0.6.1)
omniauth (>= 1.9, < 3) omniauth (>= 1.9, < 3)
openid_connect (~> 1.1) openid_connect (~> 1.1)
@ -502,8 +502,8 @@ GEM
opentelemetry-common (~> 0.20) opentelemetry-common (~> 0.20)
opentelemetry-sdk (~> 1.2) opentelemetry-sdk (~> 1.2)
opentelemetry-semantic_conventions opentelemetry-semantic_conventions
opentelemetry-helpers-sql-obfuscation (0.1.0) opentelemetry-helpers-sql-obfuscation (0.2.0)
opentelemetry-common (~> 0.20) opentelemetry-common (~> 0.21)
opentelemetry-instrumentation-action_mailer (0.1.0) opentelemetry-instrumentation-action_mailer (0.1.0)
opentelemetry-api (~> 1.0) opentelemetry-api (~> 1.0)
opentelemetry-instrumentation-active_support (~> 0.1) opentelemetry-instrumentation-active_support (~> 0.1)
@ -528,8 +528,9 @@ GEM
opentelemetry-instrumentation-active_support (0.6.0) opentelemetry-instrumentation-active_support (0.6.0)
opentelemetry-api (~> 1.0) opentelemetry-api (~> 1.0)
opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-base (~> 0.22.1)
opentelemetry-instrumentation-base (0.22.3) opentelemetry-instrumentation-base (0.22.6)
opentelemetry-api (~> 1.0) opentelemetry-api (~> 1.0)
opentelemetry-common (~> 0.21)
opentelemetry-registry (~> 0.1) opentelemetry-registry (~> 0.1)
opentelemetry-instrumentation-concurrent_ruby (0.21.4) opentelemetry-instrumentation-concurrent_ruby (0.21.4)
opentelemetry-api (~> 1.0) opentelemetry-api (~> 1.0)
@ -549,7 +550,7 @@ GEM
opentelemetry-instrumentation-net_http (0.22.7) opentelemetry-instrumentation-net_http (0.22.7)
opentelemetry-api (~> 1.0) opentelemetry-api (~> 1.0)
opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-base (~> 0.22.1)
opentelemetry-instrumentation-pg (0.28.0) opentelemetry-instrumentation-pg (0.29.0)
opentelemetry-api (~> 1.0) opentelemetry-api (~> 1.0)
opentelemetry-helpers-sql-obfuscation opentelemetry-helpers-sql-obfuscation
opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-base (~> 0.22.1)
@ -763,7 +764,7 @@ GEM
rubocop-rspec (~> 3, >= 3.0.1) rubocop-rspec (~> 3, >= 3.0.1)
ruby-prof (1.7.0) ruby-prof (1.7.0)
ruby-progressbar (1.13.0) ruby-progressbar (1.13.0)
ruby-saml (1.16.0) ruby-saml (1.17.0)
nokogiri (>= 1.13.10) nokogiri (>= 1.13.10)
rexml rexml
ruby-vips (2.2.2) ruby-vips (2.2.2)
@ -991,7 +992,7 @@ DEPENDENCIES
opentelemetry-instrumentation-http (~> 0.23.2) opentelemetry-instrumentation-http (~> 0.23.2)
opentelemetry-instrumentation-http_client (~> 0.22.3) opentelemetry-instrumentation-http_client (~> 0.22.3)
opentelemetry-instrumentation-net_http (~> 0.22.4) opentelemetry-instrumentation-net_http (~> 0.22.4)
opentelemetry-instrumentation-pg (~> 0.28.0) opentelemetry-instrumentation-pg (~> 0.29.0)
opentelemetry-instrumentation-rack (~> 0.24.1) opentelemetry-instrumentation-rack (~> 0.24.1)
opentelemetry-instrumentation-rails (~> 0.31.0) opentelemetry-instrumentation-rails (~> 0.31.0)
opentelemetry-instrumentation-redis (~> 0.25.3) opentelemetry-instrumentation-redis (~> 0.25.3)

View file

@ -1,6 +1,6 @@
# frozen_string_literal: true # frozen_string_literal: true
class Api::V2Alpha::Notifications::AccountsController < Api::BaseController class Api::V2::Notifications::AccountsController < Api::BaseController
before_action -> { doorkeeper_authorize! :read, :'read:notifications' } before_action -> { doorkeeper_authorize! :read, :'read:notifications' }
before_action :require_user! before_action :require_user!
before_action :set_notifications! before_action :set_notifications!
@ -33,11 +33,11 @@ class Api::V2Alpha::Notifications::AccountsController < Api::BaseController
end end
def next_path def next_path
api_v2_alpha_notification_accounts_url pagination_params(max_id: pagination_max_id) if records_continue? api_v2_notification_accounts_url pagination_params(max_id: pagination_max_id) if records_continue?
end end
def prev_path def prev_path
api_v2_alpha_notification_accounts_url pagination_params(min_id: pagination_since_id) unless @paginated_notifications.empty? api_v2_notification_accounts_url pagination_params(min_id: pagination_since_id) unless @paginated_notifications.empty?
end end
def pagination_collection def pagination_collection

View file

@ -1,6 +1,6 @@
# frozen_string_literal: true # frozen_string_literal: true
class Api::V2Alpha::NotificationsController < Api::BaseController class Api::V2::NotificationsController < Api::BaseController
before_action -> { doorkeeper_authorize! :read, :'read:notifications' }, except: [:clear, :dismiss] before_action -> { doorkeeper_authorize! :read, :'read:notifications' }, except: [:clear, :dismiss]
before_action -> { doorkeeper_authorize! :write, :'write:notifications' }, only: [:clear, :dismiss] before_action -> { doorkeeper_authorize! :write, :'write:notifications' }, only: [:clear, :dismiss]
before_action :require_user! before_action :require_user!
@ -21,7 +21,7 @@ class Api::V2Alpha::NotificationsController < Api::BaseController
ActiveRecord::Associations::Preloader.new(records: @presenter.accounts, associations: [:account_stat, { user: :role }]).call ActiveRecord::Associations::Preloader.new(records: @presenter.accounts, associations: [:account_stat, { user: :role }]).call
end end
MastodonOTELTracer.in_span('Api::V2Alpha::NotificationsController#index rendering') do |span| MastodonOTELTracer.in_span('Api::V2::NotificationsController#index rendering') do |span|
statuses = @grouped_notifications.filter_map { |group| group.target_status&.id } statuses = @grouped_notifications.filter_map { |group| group.target_status&.id }
span.add_attributes( span.add_attributes(
@ -64,7 +64,7 @@ class Api::V2Alpha::NotificationsController < Api::BaseController
private private
def load_notifications def load_notifications
MastodonOTELTracer.in_span('Api::V2Alpha::NotificationsController#load_notifications') do MastodonOTELTracer.in_span('Api::V2::NotificationsController#load_notifications') do
notifications = browserable_account_notifications.includes(from_account: [:account_stat, :user]).to_a_grouped_paginated_by_id( notifications = browserable_account_notifications.includes(from_account: [:account_stat, :user]).to_a_grouped_paginated_by_id(
limit_param(DEFAULT_NOTIFICATIONS_LIMIT), limit_param(DEFAULT_NOTIFICATIONS_LIMIT),
params.slice(:max_id, :since_id, :min_id, :grouped_types).permit(:max_id, :since_id, :min_id, grouped_types: []) params.slice(:max_id, :since_id, :min_id, :grouped_types).permit(:max_id, :since_id, :min_id, grouped_types: [])
@ -79,7 +79,7 @@ class Api::V2Alpha::NotificationsController < Api::BaseController
def load_grouped_notifications def load_grouped_notifications
return [] if @notifications.empty? return [] if @notifications.empty?
MastodonOTELTracer.in_span('Api::V2Alpha::NotificationsController#load_grouped_notifications') do MastodonOTELTracer.in_span('Api::V2::NotificationsController#load_grouped_notifications') do
NotificationGroup.from_notifications(@notifications, pagination_range: (@notifications.last.id)..(@notifications.first.id), grouped_types: params[:grouped_types]) NotificationGroup.from_notifications(@notifications, pagination_range: (@notifications.last.id)..(@notifications.first.id), grouped_types: params[:grouped_types])
end end
end end
@ -101,11 +101,11 @@ class Api::V2Alpha::NotificationsController < Api::BaseController
end end
def next_path def next_path
api_v2_alpha_notifications_url pagination_params(max_id: pagination_max_id) unless @notifications.empty? api_v2_notifications_url pagination_params(max_id: pagination_max_id) unless @notifications.empty?
end end
def prev_path def prev_path
api_v2_alpha_notifications_url pagination_params(min_id: pagination_since_id) unless @notifications.empty? api_v2_notifications_url pagination_params(min_id: pagination_since_id) unless @notifications.empty?
end end
def pagination_collection def pagination_collection

View file

@ -1,8 +1,6 @@
# frozen_string_literal: true # frozen_string_literal: true
module KmyblueCapabilitiesHelper module KmyblueCapabilitiesHelper
KMYBLUE_API_VERSION = 1
def fedibird_capabilities def fedibird_capabilities
capabilities = %i( capabilities = %i(
enable_wide_emoji enable_wide_emoji

View file

@ -2,7 +2,6 @@ import { debounce } from 'lodash';
import type { MarkerJSON } from 'mastodon/api_types/markers'; import type { MarkerJSON } from 'mastodon/api_types/markers';
import { getAccessToken } from 'mastodon/initial_state'; import { getAccessToken } from 'mastodon/initial_state';
import { selectUseGroupedNotifications } from 'mastodon/selectors/settings';
import type { AppDispatch, RootState } from 'mastodon/store'; import type { AppDispatch, RootState } from 'mastodon/store';
import { createAppAsyncThunk } from 'mastodon/store/typed_functions'; import { createAppAsyncThunk } from 'mastodon/store/typed_functions';
@ -76,12 +75,7 @@ interface MarkerParam {
} }
function getLastNotificationId(state: RootState): string | undefined { function getLastNotificationId(state: RootState): string | undefined {
// eslint-disable-next-line @typescript-eslint/no-unsafe-return return state.notificationGroups.lastReadId;
return selectUseGroupedNotifications(state)
? state.notificationGroups.lastReadId
: // @ts-expect-error state.notifications is not yet typed
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
state.getIn(['notifications', 'lastReadId']);
} }
const buildPostMarkersParams = (state: RootState) => { const buildPostMarkersParams = (state: RootState) => {

View file

@ -2,7 +2,7 @@ import { createAction } from '@reduxjs/toolkit';
import { import {
apiClearNotifications, apiClearNotifications,
apiFetchNotifications, apiFetchNotificationGroups,
} from 'mastodon/api/notifications'; } from 'mastodon/api/notifications';
import type { ApiAccountJSON } from 'mastodon/api_types/accounts'; import type { ApiAccountJSON } from 'mastodon/api_types/accounts';
import type { import type {
@ -71,7 +71,7 @@ function dispatchAssociatedRecords(
export const fetchNotifications = createDataLoadingThunk( export const fetchNotifications = createDataLoadingThunk(
'notificationGroups/fetch', 'notificationGroups/fetch',
async (_params, { getState }) => async (_params, { getState }) =>
apiFetchNotifications({ exclude_types: getExcludedTypes(getState()) }), apiFetchNotificationGroups({ exclude_types: getExcludedTypes(getState()) }),
({ notifications, accounts, statuses }, { dispatch }) => { ({ notifications, accounts, statuses }, { dispatch }) => {
dispatch(importFetchedAccounts(accounts)); dispatch(importFetchedAccounts(accounts));
dispatch(importFetchedStatuses(statuses)); dispatch(importFetchedStatuses(statuses));
@ -92,7 +92,7 @@ export const fetchNotifications = createDataLoadingThunk(
export const fetchNotificationsGap = createDataLoadingThunk( export const fetchNotificationsGap = createDataLoadingThunk(
'notificationGroups/fetchGap', 'notificationGroups/fetchGap',
async (params: { gap: NotificationGap }, { getState }) => async (params: { gap: NotificationGap }, { getState }) =>
apiFetchNotifications({ apiFetchNotificationGroups({
max_id: params.gap.maxId, max_id: params.gap.maxId,
exclude_types: getExcludedTypes(getState()), exclude_types: getExcludedTypes(getState()),
}), }),
@ -108,7 +108,7 @@ export const fetchNotificationsGap = createDataLoadingThunk(
export const pollRecentNotifications = createDataLoadingThunk( export const pollRecentNotifications = createDataLoadingThunk(
'notificationGroups/pollRecentNotifications', 'notificationGroups/pollRecentNotifications',
async (_params, { getState }) => { async (_params, { getState }) => {
return apiFetchNotifications({ return apiFetchNotificationGroups({
max_id: undefined, max_id: undefined,
exclude_types: getExcludedTypes(getState()), exclude_types: getExcludedTypes(getState()),
// In slow mode, we don't want to include notifications that duplicate the already-displayed ones // In slow mode, we don't want to include notifications that duplicate the already-displayed ones

View file

@ -0,0 +1,234 @@
import {
apiFetchNotificationRequest,
apiFetchNotificationRequests,
apiFetchNotifications,
apiAcceptNotificationRequest,
apiDismissNotificationRequest,
apiAcceptNotificationRequests,
apiDismissNotificationRequests,
} from 'mastodon/api/notifications';
import type { ApiAccountJSON } from 'mastodon/api_types/accounts';
import type {
ApiNotificationGroupJSON,
ApiNotificationJSON,
} from 'mastodon/api_types/notifications';
import type { ApiStatusJSON } from 'mastodon/api_types/statuses';
import type { AppDispatch, RootState } from 'mastodon/store';
import { createDataLoadingThunk } from 'mastodon/store/typed_functions';
import { importFetchedAccounts, importFetchedStatuses } from './importer';
import { decreasePendingNotificationsCount } from './notification_policies';
// TODO: refactor with notification_groups
function dispatchAssociatedRecords(
dispatch: AppDispatch,
notifications: ApiNotificationGroupJSON[] | ApiNotificationJSON[],
) {
const fetchedAccounts: ApiAccountJSON[] = [];
const fetchedStatuses: ApiStatusJSON[] = [];
notifications.forEach((notification) => {
if (notification.type === 'admin.report') {
fetchedAccounts.push(notification.report.target_account);
}
if (notification.type === 'moderation_warning') {
fetchedAccounts.push(notification.moderation_warning.target_account);
}
if ('status' in notification && notification.status) {
fetchedStatuses.push(notification.status);
}
});
if (fetchedAccounts.length > 0)
dispatch(importFetchedAccounts(fetchedAccounts));
if (fetchedStatuses.length > 0)
dispatch(importFetchedStatuses(fetchedStatuses));
}
export const fetchNotificationRequests = createDataLoadingThunk(
'notificationRequests/fetch',
async (_params, { getState }) => {
let sinceId = undefined;
if (getState().notificationRequests.items.length > 0) {
sinceId = getState().notificationRequests.items[0]?.id;
}
return apiFetchNotificationRequests({
since_id: sinceId,
});
},
({ requests, links }, { dispatch }) => {
const next = links.refs.find((link) => link.rel === 'next');
dispatch(importFetchedAccounts(requests.map((request) => request.account)));
return { requests, next: next?.uri };
},
{
condition: (_params, { getState }) =>
!getState().notificationRequests.isLoading,
},
);
export const fetchNotificationRequest = createDataLoadingThunk(
'notificationRequest/fetch',
async ({ id }: { id: string }) => apiFetchNotificationRequest(id),
{
condition: ({ id }, { getState }) =>
!(
getState().notificationRequests.current.item?.id === id ||
getState().notificationRequests.current.isLoading
),
},
);
export const expandNotificationRequests = createDataLoadingThunk(
'notificationRequests/expand',
async (_, { getState }) => {
const nextUrl = getState().notificationRequests.next;
if (!nextUrl) throw new Error('missing URL');
return apiFetchNotificationRequests(undefined, nextUrl);
},
({ requests, links }, { dispatch }) => {
const next = links.refs.find((link) => link.rel === 'next');
dispatch(importFetchedAccounts(requests.map((request) => request.account)));
return { requests, next: next?.uri };
},
{
condition: (_, { getState }) =>
!!getState().notificationRequests.next &&
!getState().notificationRequests.isLoading,
},
);
export const fetchNotificationsForRequest = createDataLoadingThunk(
'notificationRequest/fetchNotifications',
async ({ accountId }: { accountId: string }, { getState }) => {
const sinceId =
// @ts-expect-error current.notifications.items is not yet typed
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
getState().notificationRequests.current.notifications.items[0]?.get(
'id',
) as string | undefined;
return apiFetchNotifications({
since_id: sinceId,
account_id: accountId,
});
},
({ notifications, links }, { dispatch }) => {
const next = links.refs.find((link) => link.rel === 'next');
dispatchAssociatedRecords(dispatch, notifications);
return { notifications, next: next?.uri };
},
{
condition: ({ accountId }, { getState }) => {
const current = getState().notificationRequests.current;
return !(
current.item?.account_id === accountId &&
current.notifications.isLoading
);
},
},
);
export const expandNotificationsForRequest = createDataLoadingThunk(
'notificationRequest/expandNotifications',
async (_, { getState }) => {
const nextUrl = getState().notificationRequests.current.notifications.next;
if (!nextUrl) throw new Error('missing URL');
return apiFetchNotifications(undefined, nextUrl);
},
({ notifications, links }, { dispatch }) => {
const next = links.refs.find((link) => link.rel === 'next');
dispatchAssociatedRecords(dispatch, notifications);
return { notifications, next: next?.uri };
},
{
condition: ({ accountId }: { accountId: string }, { getState }) => {
const url = getState().notificationRequests.current.notifications.next;
return (
!!url &&
!getState().notificationRequests.current.notifications.isLoading &&
getState().notificationRequests.current.item?.account_id === accountId
);
},
},
);
const selectNotificationCountForRequest = (state: RootState, id: string) => {
const requests = state.notificationRequests.items;
const thisRequest = requests.find((request) => request.id === id);
return thisRequest ? thisRequest.notifications_count : 0;
};
export const acceptNotificationRequest = createDataLoadingThunk(
'notificationRequest/accept',
({ id }: { id: string }) => apiAcceptNotificationRequest(id),
(_data, { dispatch, getState, discardLoadData, actionArg: { id } }) => {
const count = selectNotificationCountForRequest(getState(), id);
dispatch(decreasePendingNotificationsCount(count));
// The payload is not used in any functions
return discardLoadData;
},
);
export const dismissNotificationRequest = createDataLoadingThunk(
'notificationRequest/dismiss',
({ id }: { id: string }) => apiDismissNotificationRequest(id),
(_data, { dispatch, getState, discardLoadData, actionArg: { id } }) => {
const count = selectNotificationCountForRequest(getState(), id);
dispatch(decreasePendingNotificationsCount(count));
// The payload is not used in any functions
return discardLoadData;
},
);
export const acceptNotificationRequests = createDataLoadingThunk(
'notificationRequests/acceptBulk',
({ ids }: { ids: string[] }) => apiAcceptNotificationRequests(ids),
(_data, { dispatch, getState, discardLoadData, actionArg: { ids } }) => {
const count = ids.reduce(
(count, id) => count + selectNotificationCountForRequest(getState(), id),
0,
);
dispatch(decreasePendingNotificationsCount(count));
// The payload is not used in any functions
return discardLoadData;
},
);
export const dismissNotificationRequests = createDataLoadingThunk(
'notificationRequests/dismissBulk',
({ ids }: { ids: string[] }) => apiDismissNotificationRequests(ids),
(_data, { dispatch, getState, discardLoadData, actionArg: { ids } }) => {
const count = ids.reduce(
(count, id) => count + selectNotificationCountForRequest(getState(), id),
0,
);
dispatch(decreasePendingNotificationsCount(count));
// The payload is not used in any functions
return discardLoadData;
},
);

View file

@ -18,7 +18,6 @@ import {
importFetchedStatuses, importFetchedStatuses,
} from './importer'; } from './importer';
import { submitMarkers } from './markers'; import { submitMarkers } from './markers';
import { decreasePendingNotificationsCount } from './notification_policies';
import { notificationsUpdate } from "./notifications_typed"; import { notificationsUpdate } from "./notifications_typed";
import { register as registerPushNotifications } from './push_notifications'; import { register as registerPushNotifications } from './push_notifications';
import { saveSettings } from './settings'; import { saveSettings } from './settings';
@ -45,26 +44,6 @@ export const NOTIFICATIONS_MARK_AS_READ = 'NOTIFICATIONS_MARK_AS_READ';
export const NOTIFICATIONS_SET_BROWSER_SUPPORT = 'NOTIFICATIONS_SET_BROWSER_SUPPORT'; export const NOTIFICATIONS_SET_BROWSER_SUPPORT = 'NOTIFICATIONS_SET_BROWSER_SUPPORT';
export const NOTIFICATIONS_SET_BROWSER_PERMISSION = 'NOTIFICATIONS_SET_BROWSER_PERMISSION'; export const NOTIFICATIONS_SET_BROWSER_PERMISSION = 'NOTIFICATIONS_SET_BROWSER_PERMISSION';
export const NOTIFICATION_REQUESTS_FETCH_REQUEST = 'NOTIFICATION_REQUESTS_FETCH_REQUEST';
export const NOTIFICATION_REQUESTS_FETCH_SUCCESS = 'NOTIFICATION_REQUESTS_FETCH_SUCCESS';
export const NOTIFICATION_REQUESTS_FETCH_FAIL = 'NOTIFICATION_REQUESTS_FETCH_FAIL';
export const NOTIFICATION_REQUESTS_EXPAND_REQUEST = 'NOTIFICATION_REQUESTS_EXPAND_REQUEST';
export const NOTIFICATION_REQUESTS_EXPAND_SUCCESS = 'NOTIFICATION_REQUESTS_EXPAND_SUCCESS';
export const NOTIFICATION_REQUESTS_EXPAND_FAIL = 'NOTIFICATION_REQUESTS_EXPAND_FAIL';
export const NOTIFICATION_REQUEST_FETCH_REQUEST = 'NOTIFICATION_REQUEST_FETCH_REQUEST';
export const NOTIFICATION_REQUEST_FETCH_SUCCESS = 'NOTIFICATION_REQUEST_FETCH_SUCCESS';
export const NOTIFICATION_REQUEST_FETCH_FAIL = 'NOTIFICATION_REQUEST_FETCH_FAIL';
export const NOTIFICATION_REQUEST_ACCEPT_REQUEST = 'NOTIFICATION_REQUEST_ACCEPT_REQUEST';
export const NOTIFICATION_REQUEST_ACCEPT_SUCCESS = 'NOTIFICATION_REQUEST_ACCEPT_SUCCESS';
export const NOTIFICATION_REQUEST_ACCEPT_FAIL = 'NOTIFICATION_REQUEST_ACCEPT_FAIL';
export const NOTIFICATION_REQUEST_DISMISS_REQUEST = 'NOTIFICATION_REQUEST_DISMISS_REQUEST';
export const NOTIFICATION_REQUEST_DISMISS_SUCCESS = 'NOTIFICATION_REQUEST_DISMISS_SUCCESS';
export const NOTIFICATION_REQUEST_DISMISS_FAIL = 'NOTIFICATION_REQUEST_DISMISS_FAIL';
export const NOTIFICATION_REQUESTS_ACCEPT_REQUEST = 'NOTIFICATION_REQUESTS_ACCEPT_REQUEST'; export const NOTIFICATION_REQUESTS_ACCEPT_REQUEST = 'NOTIFICATION_REQUESTS_ACCEPT_REQUEST';
export const NOTIFICATION_REQUESTS_ACCEPT_SUCCESS = 'NOTIFICATION_REQUESTS_ACCEPT_SUCCESS'; export const NOTIFICATION_REQUESTS_ACCEPT_SUCCESS = 'NOTIFICATION_REQUESTS_ACCEPT_SUCCESS';
export const NOTIFICATION_REQUESTS_ACCEPT_FAIL = 'NOTIFICATION_REQUESTS_ACCEPT_FAIL'; export const NOTIFICATION_REQUESTS_ACCEPT_FAIL = 'NOTIFICATION_REQUESTS_ACCEPT_FAIL';
@ -73,14 +52,6 @@ export const NOTIFICATION_REQUESTS_DISMISS_REQUEST = 'NOTIFICATION_REQUESTS_DISM
export const NOTIFICATION_REQUESTS_DISMISS_SUCCESS = 'NOTIFICATION_REQUESTS_DISMISS_SUCCESS'; export const NOTIFICATION_REQUESTS_DISMISS_SUCCESS = 'NOTIFICATION_REQUESTS_DISMISS_SUCCESS';
export const NOTIFICATION_REQUESTS_DISMISS_FAIL = 'NOTIFICATION_REQUESTS_DISMISS_FAIL'; export const NOTIFICATION_REQUESTS_DISMISS_FAIL = 'NOTIFICATION_REQUESTS_DISMISS_FAIL';
export const NOTIFICATIONS_FOR_REQUEST_FETCH_REQUEST = 'NOTIFICATIONS_FOR_REQUEST_FETCH_REQUEST';
export const NOTIFICATIONS_FOR_REQUEST_FETCH_SUCCESS = 'NOTIFICATIONS_FOR_REQUEST_FETCH_SUCCESS';
export const NOTIFICATIONS_FOR_REQUEST_FETCH_FAIL = 'NOTIFICATIONS_FOR_REQUEST_FETCH_FAIL';
export const NOTIFICATIONS_FOR_REQUEST_EXPAND_REQUEST = 'NOTIFICATIONS_FOR_REQUEST_EXPAND_REQUEST';
export const NOTIFICATIONS_FOR_REQUEST_EXPAND_SUCCESS = 'NOTIFICATIONS_FOR_REQUEST_EXPAND_SUCCESS';
export const NOTIFICATIONS_FOR_REQUEST_EXPAND_FAIL = 'NOTIFICATIONS_FOR_REQUEST_EXPAND_FAIL';
const messages = defineMessages({ const messages = defineMessages({
// mention: { id: 'notification.mention', defaultMessage: '{name} mentioned you' }, // mention: { id: 'notification.mention', defaultMessage: '{name} mentioned you' },
group: { id: 'notifications.group', defaultMessage: '{count} notifications' }, group: { id: 'notifications.group', defaultMessage: '{count} notifications' },
@ -106,12 +77,6 @@ const fetchRelatedRelationships = (dispatch, notifications) => {
} }
}; };
const selectNotificationCountForRequest = (state, id) => {
const requests = state.getIn(['notificationRequests', 'items']);
const thisRequest = requests.find(request => request.get('id') === id);
return thisRequest ? thisRequest.get('notifications_count') : 0;
};
export const loadPending = () => ({ export const loadPending = () => ({
type: NOTIFICATIONS_LOAD_PENDING, type: NOTIFICATIONS_LOAD_PENDING,
}); });
@ -376,296 +341,3 @@ export function setBrowserPermission (value) {
value, value,
}; };
} }
export const fetchNotificationRequests = () => (dispatch, getState) => {
const params = {};
if (getState().getIn(['notificationRequests', 'isLoading'])) {
return;
}
if (getState().getIn(['notificationRequests', 'items'])?.size > 0) {
params.since_id = getState().getIn(['notificationRequests', 'items', 0, 'id']);
}
dispatch(fetchNotificationRequestsRequest());
api().get('/api/v1/notifications/requests', { params }).then(response => {
const next = getLinks(response).refs.find(link => link.rel === 'next');
dispatch(importFetchedAccounts(response.data.map(x => x.account)));
dispatch(fetchNotificationRequestsSuccess(response.data, next ? next.uri : null));
}).catch(err => {
dispatch(fetchNotificationRequestsFail(err));
});
};
export const fetchNotificationRequestsRequest = () => ({
type: NOTIFICATION_REQUESTS_FETCH_REQUEST,
});
export const fetchNotificationRequestsSuccess = (requests, next) => ({
type: NOTIFICATION_REQUESTS_FETCH_SUCCESS,
requests,
next,
});
export const fetchNotificationRequestsFail = error => ({
type: NOTIFICATION_REQUESTS_FETCH_FAIL,
error,
});
export const expandNotificationRequests = () => (dispatch, getState) => {
const url = getState().getIn(['notificationRequests', 'next']);
if (!url || getState().getIn(['notificationRequests', 'isLoading'])) {
return;
}
dispatch(expandNotificationRequestsRequest());
api().get(url).then(response => {
const next = getLinks(response).refs.find(link => link.rel === 'next');
dispatch(importFetchedAccounts(response.data.map(x => x.account)));
dispatch(expandNotificationRequestsSuccess(response.data, next?.uri));
}).catch(err => {
dispatch(expandNotificationRequestsFail(err));
});
};
export const expandNotificationRequestsRequest = () => ({
type: NOTIFICATION_REQUESTS_EXPAND_REQUEST,
});
export const expandNotificationRequestsSuccess = (requests, next) => ({
type: NOTIFICATION_REQUESTS_EXPAND_SUCCESS,
requests,
next,
});
export const expandNotificationRequestsFail = error => ({
type: NOTIFICATION_REQUESTS_EXPAND_FAIL,
error,
});
export const fetchNotificationRequest = id => (dispatch, getState) => {
const current = getState().getIn(['notificationRequests', 'current']);
if (current.getIn(['item', 'id']) === id || current.get('isLoading')) {
return;
}
dispatch(fetchNotificationRequestRequest(id));
api().get(`/api/v1/notifications/requests/${id}`).then(({ data }) => {
dispatch(fetchNotificationRequestSuccess(data));
}).catch(err => {
dispatch(fetchNotificationRequestFail(id, err));
});
};
export const fetchNotificationRequestRequest = id => ({
type: NOTIFICATION_REQUEST_FETCH_REQUEST,
id,
});
export const fetchNotificationRequestSuccess = request => ({
type: NOTIFICATION_REQUEST_FETCH_SUCCESS,
request,
});
export const fetchNotificationRequestFail = (id, error) => ({
type: NOTIFICATION_REQUEST_FETCH_FAIL,
id,
error,
});
export const acceptNotificationRequest = (id) => (dispatch, getState) => {
const count = selectNotificationCountForRequest(getState(), id);
dispatch(acceptNotificationRequestRequest(id));
api().post(`/api/v1/notifications/requests/${id}/accept`).then(() => {
dispatch(acceptNotificationRequestSuccess(id));
dispatch(decreasePendingNotificationsCount(count));
}).catch(err => {
dispatch(acceptNotificationRequestFail(id, err));
});
};
export const acceptNotificationRequestRequest = id => ({
type: NOTIFICATION_REQUEST_ACCEPT_REQUEST,
id,
});
export const acceptNotificationRequestSuccess = id => ({
type: NOTIFICATION_REQUEST_ACCEPT_SUCCESS,
id,
});
export const acceptNotificationRequestFail = (id, error) => ({
type: NOTIFICATION_REQUEST_ACCEPT_FAIL,
id,
error,
});
export const dismissNotificationRequest = (id) => (dispatch, getState) => {
const count = selectNotificationCountForRequest(getState(), id);
dispatch(dismissNotificationRequestRequest(id));
api().post(`/api/v1/notifications/requests/${id}/dismiss`).then(() =>{
dispatch(dismissNotificationRequestSuccess(id));
dispatch(decreasePendingNotificationsCount(count));
}).catch(err => {
dispatch(dismissNotificationRequestFail(id, err));
});
};
export const dismissNotificationRequestRequest = id => ({
type: NOTIFICATION_REQUEST_DISMISS_REQUEST,
id,
});
export const dismissNotificationRequestSuccess = id => ({
type: NOTIFICATION_REQUEST_DISMISS_SUCCESS,
id,
});
export const dismissNotificationRequestFail = (id, error) => ({
type: NOTIFICATION_REQUEST_DISMISS_FAIL,
id,
error,
});
export const acceptNotificationRequests = (ids) => (dispatch, getState) => {
const count = ids.reduce((count, id) => count + selectNotificationCountForRequest(getState(), id), 0);
dispatch(acceptNotificationRequestsRequest(ids));
api().post(`/api/v1/notifications/requests/accept`, { id: ids }).then(() => {
dispatch(acceptNotificationRequestsSuccess(ids));
dispatch(decreasePendingNotificationsCount(count));
}).catch(err => {
dispatch(acceptNotificationRequestFail(ids, err));
});
};
export const acceptNotificationRequestsRequest = ids => ({
type: NOTIFICATION_REQUESTS_ACCEPT_REQUEST,
ids,
});
export const acceptNotificationRequestsSuccess = ids => ({
type: NOTIFICATION_REQUESTS_ACCEPT_SUCCESS,
ids,
});
export const acceptNotificationRequestsFail = (ids, error) => ({
type: NOTIFICATION_REQUESTS_ACCEPT_FAIL,
ids,
error,
});
export const dismissNotificationRequests = (ids) => (dispatch, getState) => {
const count = ids.reduce((count, id) => count + selectNotificationCountForRequest(getState(), id), 0);
dispatch(acceptNotificationRequestsRequest(ids));
api().post(`/api/v1/notifications/requests/dismiss`, { id: ids }).then(() => {
dispatch(dismissNotificationRequestsSuccess(ids));
dispatch(decreasePendingNotificationsCount(count));
}).catch(err => {
dispatch(dismissNotificationRequestFail(ids, err));
});
};
export const dismissNotificationRequestsRequest = ids => ({
type: NOTIFICATION_REQUESTS_DISMISS_REQUEST,
ids,
});
export const dismissNotificationRequestsSuccess = ids => ({
type: NOTIFICATION_REQUESTS_DISMISS_SUCCESS,
ids,
});
export const dismissNotificationRequestsFail = (ids, error) => ({
type: NOTIFICATION_REQUESTS_DISMISS_FAIL,
ids,
error,
});
export const fetchNotificationsForRequest = accountId => (dispatch, getState) => {
const current = getState().getIn(['notificationRequests', 'current']);
const params = { account_id: accountId };
if (current.getIn(['item', 'account']) === accountId) {
if (current.getIn(['notifications', 'isLoading'])) {
return;
}
if (current.getIn(['notifications', 'items'])?.size > 0) {
params.since_id = current.getIn(['notifications', 'items', 0, 'id']);
}
}
dispatch(fetchNotificationsForRequestRequest());
api().get('/api/v1/notifications', { params }).then(response => {
const next = getLinks(response).refs.find(link => link.rel === 'next');
dispatch(importFetchedAccounts(response.data.map(item => item.account)));
dispatch(importFetchedStatuses(response.data.map(item => item.status).filter(status => !!status)));
dispatch(importFetchedAccounts(response.data.filter(item => item.report).map(item => item.report.target_account)));
dispatch(fetchNotificationsForRequestSuccess(response.data, next?.uri));
}).catch(err => {
dispatch(fetchNotificationsForRequestFail(err));
});
};
export const fetchNotificationsForRequestRequest = () => ({
type: NOTIFICATIONS_FOR_REQUEST_FETCH_REQUEST,
});
export const fetchNotificationsForRequestSuccess = (notifications, next) => ({
type: NOTIFICATIONS_FOR_REQUEST_FETCH_SUCCESS,
notifications,
next,
});
export const fetchNotificationsForRequestFail = (error) => ({
type: NOTIFICATIONS_FOR_REQUEST_FETCH_FAIL,
error,
});
export const expandNotificationsForRequest = () => (dispatch, getState) => {
const url = getState().getIn(['notificationRequests', 'current', 'notifications', 'next']);
if (!url || getState().getIn(['notificationRequests', 'current', 'notifications', 'isLoading'])) {
return;
}
dispatch(expandNotificationsForRequestRequest());
api().get(url).then(response => {
const next = getLinks(response).refs.find(link => link.rel === 'next');
dispatch(importFetchedAccounts(response.data.map(item => item.account)));
dispatch(importFetchedStatuses(response.data.map(item => item.status).filter(status => !!status)));
dispatch(importFetchedAccounts(response.data.filter(item => item.report).map(item => item.report.target_account)));
dispatch(expandNotificationsForRequestSuccess(response.data, next?.uri));
}).catch(err => {
dispatch(expandNotificationsForRequestFail(err));
});
};
export const expandNotificationsForRequestRequest = () => ({
type: NOTIFICATIONS_FOR_REQUEST_EXPAND_REQUEST,
});
export const expandNotificationsForRequestSuccess = (notifications, next) => ({
type: NOTIFICATIONS_FOR_REQUEST_EXPAND_SUCCESS,
notifications,
next,
});
export const expandNotificationsForRequestFail = (error) => ({
type: NOTIFICATIONS_FOR_REQUEST_EXPAND_FAIL,
error,
});

View file

@ -1,14 +1,10 @@
import { selectUseGroupedNotifications } from 'mastodon/selectors/settings';
import { createAppAsyncThunk } from 'mastodon/store'; import { createAppAsyncThunk } from 'mastodon/store';
import { fetchNotifications } from './notification_groups'; import { fetchNotifications } from './notification_groups';
import { expandNotifications } from './notifications';
export const initializeNotifications = createAppAsyncThunk( export const initializeNotifications = createAppAsyncThunk(
'notifications/initialize', 'notifications/initialize',
(_, { dispatch, getState }) => { (_, { dispatch }) => {
if (selectUseGroupedNotifications(getState()))
void dispatch(fetchNotifications()); void dispatch(fetchNotifications());
else void dispatch(expandNotifications({}));
}, },
); );

View file

@ -1,7 +1,5 @@
// @ts-check // @ts-check
import { selectUseGroupedNotifications } from 'mastodon/selectors/settings';
import { getLocale } from '../locales'; import { getLocale } from '../locales';
import { connectStream } from '../stream'; import { connectStream } from '../stream';
@ -106,9 +104,7 @@ export const connectTimelineStream = (timelineId, channelName, params = {}, opti
const notificationJSON = JSON.parse(data.payload); const notificationJSON = JSON.parse(data.payload);
dispatch(updateNotifications(notificationJSON, messages, locale)); dispatch(updateNotifications(notificationJSON, messages, locale));
// TODO: remove this once the groups feature replaces the previous one // TODO: remove this once the groups feature replaces the previous one
if(selectUseGroupedNotifications(getState())) {
dispatch(processNewNotificationForGroups(notificationJSON)); dispatch(processNewNotificationForGroups(notificationJSON));
}
break; break;
} }
case 'emoji_reaction': case 'emoji_reaction':
@ -119,9 +115,7 @@ export const connectTimelineStream = (timelineId, channelName, params = {}, opti
const state = getState(); const state = getState();
if (state.notifications.top || !state.notifications.mounted) if (state.notifications.top || !state.notifications.mounted)
dispatch(expandNotifications({ forceLoad: true, maxId: undefined })); dispatch(expandNotifications({ forceLoad: true, maxId: undefined }));
if (selectUseGroupedNotifications(state)) {
dispatch(refreshStaleNotificationGroups()); dispatch(refreshStaleNotificationGroups());
}
break; break;
case 'conversation': case 'conversation':
// @ts-expect-error // @ts-expect-error
@ -146,22 +140,16 @@ export const connectTimelineStream = (timelineId, channelName, params = {}, opti
/** /**
* @param {Function} dispatch * @param {Function} dispatch
* @param {Function} getState
*/ */
async function refreshHomeTimelineAndNotification(dispatch, getState) { async function refreshHomeTimelineAndNotification(dispatch) {
await dispatch(expandHomeTimeline({ maxId: undefined })); await dispatch(expandHomeTimeline({ maxId: undefined }));
// TODO: remove this once the groups feature replaces the previous one
if(selectUseGroupedNotifications(getState())) {
// TODO: polling for merged notifications // TODO: polling for merged notifications
try { try {
await dispatch(pollRecentGroupNotifications()); await dispatch(pollRecentGroupNotifications());
} catch { } catch {
// TODO // TODO
} }
} else {
await dispatch(expandNotifications({}));
}
await dispatch(fetchAnnouncements()); await dispatch(fetchAnnouncements());
} }

View file

@ -1,7 +1,14 @@
import api, { apiRequest, getLinks } from 'mastodon/api'; import api, {
apiRequest,
getLinks,
apiRequestGet,
apiRequestPost,
} from 'mastodon/api';
import type { import type {
ApiNotificationGroupsResultJSON, ApiNotificationGroupsResultJSON,
ApiNotificationGroupJSON, ApiNotificationGroupJSON,
ApiNotificationRequestJSON,
ApiNotificationJSON,
} from 'mastodon/api_types/notifications'; } from 'mastodon/api_types/notifications';
import type { ApiStatusJSON } from 'mastodon/api_types/statuses'; import type { ApiStatusJSON } from 'mastodon/api_types/statuses';
@ -16,14 +23,34 @@ const exceptInvalidNotifications = (
}); });
}; };
export const apiFetchNotifications = async (params?: { export const apiFetchNotifications = async (
params?: {
account_id?: string;
since_id?: string;
},
url?: string,
) => {
const response = await api().request<ApiNotificationJSON[]>({
method: 'GET',
url: url ?? '/api/v1/notifications',
params,
});
return {
notifications: response.data,
links: getLinks(response),
};
};
export const apiFetchNotificationGroups = async (params?: {
url?: string;
exclude_types?: string[]; exclude_types?: string[];
max_id?: string; max_id?: string;
since_id?: string; since_id?: string;
}) => { }) => {
const response = await api().request<ApiNotificationGroupsResultJSON>({ const response = await api().request<ApiNotificationGroupsResultJSON>({
method: 'GET', method: 'GET',
url: '/api/v2_alpha/notifications', url: '/api/v2/notifications',
params, params,
}); });
@ -39,3 +66,43 @@ export const apiFetchNotifications = async (params?: {
export const apiClearNotifications = () => export const apiClearNotifications = () =>
apiRequest<undefined>('POST', 'v1/notifications/clear'); apiRequest<undefined>('POST', 'v1/notifications/clear');
export const apiFetchNotificationRequests = async (
params?: {
since_id?: string;
},
url?: string,
) => {
const response = await api().request<ApiNotificationRequestJSON[]>({
method: 'GET',
url: url ?? '/api/v1/notifications/requests',
params,
});
return {
requests: response.data,
links: getLinks(response),
};
};
export const apiFetchNotificationRequest = async (id: string) => {
return apiRequestGet<ApiNotificationRequestJSON>(
`v1/notifications/requests/${id}`,
);
};
export const apiAcceptNotificationRequest = async (id: string) => {
return apiRequestPost(`v1/notifications/requests/${id}/accept`);
};
export const apiDismissNotificationRequest = async (id: string) => {
return apiRequestPost(`v1/notifications/requests/${id}/dismiss`);
};
export const apiAcceptNotificationRequests = async (id: string[]) => {
return apiRequestPost('v1/notifications/requests/accept', { id });
};
export const apiDismissNotificationRequests = async (id: string[]) => {
return apiRequestPost('v1/notifications/dismiss/dismiss', { id });
};

View file

@ -177,3 +177,12 @@ export interface ApiNotificationGroupsResultJSON {
statuses: ApiStatusJSON[]; statuses: ApiStatusJSON[];
notification_groups: ApiNotificationGroupJSON[]; notification_groups: ApiNotificationGroupJSON[];
} }
export interface ApiNotificationRequestJSON {
id: string;
created_at: string;
updated_at: string;
notifications_count: string;
account: ApiAccountJSON;
last_status?: ApiStatusJSON;
}

View file

@ -79,14 +79,10 @@ export const FollowButton: React.FC<{
relationship.followed_by relationship.followed_by
) { ) {
label = intl.formatMessage(messages.mutual); label = intl.formatMessage(messages.mutual);
} else if (
!relationship.following &&
isShowItem('relationships') &&
relationship.followed_by
) {
label = intl.formatMessage(messages.followBack);
} else if (relationship.following || relationship.requested) { } else if (relationship.following || relationship.requested) {
label = intl.formatMessage(messages.unfollow); label = intl.formatMessage(messages.unfollow);
} else if (relationship.followed_by && isShowItem('relationships')) {
label = intl.formatMessage(messages.followBack);
} else { } else {
label = intl.formatMessage(messages.follow); label = intl.formatMessage(messages.follow);
} }

View file

@ -96,10 +96,10 @@ const messageForFollowButton = relationship => {
if (relationship.get('following') && relationship.get('followed_by') && isShowItem('relationships')) { if (relationship.get('following') && relationship.get('followed_by') && isShowItem('relationships')) {
return messages.mutual; return messages.mutual;
} else if (!relationship.get('following') && relationship.get('followed_by') && isShowItem('relationships')) {
return messages.followBack;
} else if (relationship.get('following') || relationship.get('requested')) { } else if (relationship.get('following') || relationship.get('requested')) {
return messages.unfollow; return messages.unfollow;
} else if (relationship.get('followed_by') && isShowItem('relationships')) {
return messages.followBack;
} else { } else {
return messages.follow; return messages.follow;
} }

View file

@ -6,7 +6,7 @@ import { FormattedMessage } from 'react-intl';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import { identityContextPropShape, withIdentity } from 'mastodon/identity_context'; import { identityContextPropShape, withIdentity } from 'mastodon/identity_context';
import { enableEmojiReaction, forceGroupedNotifications } from 'mastodon/initial_state'; import { enableEmojiReaction } from 'mastodon/initial_state';
import { PERMISSION_MANAGE_USERS, PERMISSION_MANAGE_REPORTS } from 'mastodon/permissions'; import { PERMISSION_MANAGE_USERS, PERMISSION_MANAGE_REPORTS } from 'mastodon/permissions';
import ClearColumnButton from './clear_column_button'; import ClearColumnButton from './clear_column_button';
@ -41,7 +41,6 @@ class ColumnSettings extends PureComponent {
const filterAdvancedStr = <FormattedMessage id='notifications.column_settings.filter_bar.advanced' defaultMessage='Display all categories' />; const filterAdvancedStr = <FormattedMessage id='notifications.column_settings.filter_bar.advanced' defaultMessage='Display all categories' />;
const unreadMarkersShowStr = <FormattedMessage id='notifications.column_settings.unread_notifications.highlight' defaultMessage='Highlight unread notifications' />; const unreadMarkersShowStr = <FormattedMessage id='notifications.column_settings.unread_notifications.highlight' defaultMessage='Highlight unread notifications' />;
const groupingShowStr = <FormattedMessage id='notifications.column_settings.beta.grouping' defaultMessage='Group notifications' />;
const alertStr = <FormattedMessage id='notifications.column_settings.alert' defaultMessage='Desktop notifications' />; const alertStr = <FormattedMessage id='notifications.column_settings.alert' defaultMessage='Desktop notifications' />;
const showStr = <FormattedMessage id='notifications.column_settings.show' defaultMessage='Show in column' />; const showStr = <FormattedMessage id='notifications.column_settings.show' defaultMessage='Show in column' />;
const soundStr = <FormattedMessage id='notifications.column_settings.sound' defaultMessage='Play sound' />; const soundStr = <FormattedMessage id='notifications.column_settings.sound' defaultMessage='Play sound' />;
@ -73,18 +72,6 @@ class ColumnSettings extends PureComponent {
<PolicyControls /> <PolicyControls />
{!forceGroupedNotifications && (
<section role='group' aria-labelledby='notifications-beta'>
<h3 id='notifications-beta'>
<FormattedMessage id='notifications.column_settings.beta.category' defaultMessage='Experimental features' />
</h3>
<div className='column-settings__row'>
<SettingToggle id='unread-notification-markers' prefix='notifications' settings={settings} settingPath={['groupingBeta']} onChange={onChange} label={groupingShowStr} />
</div>
</section>
)}
<section role='group' aria-labelledby='notifications-unread-markers'> <section role='group' aria-labelledby='notifications-unread-markers'>
<h3 id='notifications-unread-markers'> <h3 id='notifications-unread-markers'>
<FormattedMessage id='notifications.column_settings.unread_notifications.category' defaultMessage='Unread notifications' /> <FormattedMessage id='notifications.column_settings.unread_notifications.category' defaultMessage='Unread notifications' />

View file

@ -12,7 +12,7 @@ import DeleteIcon from '@/material-icons/400-24px/delete.svg?react';
import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react'; import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react';
import { initBlockModal } from 'mastodon/actions/blocks'; import { initBlockModal } from 'mastodon/actions/blocks';
import { initMuteModal } from 'mastodon/actions/mutes'; import { initMuteModal } from 'mastodon/actions/mutes';
import { acceptNotificationRequest, dismissNotificationRequest } from 'mastodon/actions/notifications'; import { acceptNotificationRequest, dismissNotificationRequest } from 'mastodon/actions/notification_requests';
import { initReport } from 'mastodon/actions/reports'; import { initReport } from 'mastodon/actions/reports';
import { Avatar } from 'mastodon/components/avatar'; import { Avatar } from 'mastodon/components/avatar';
import { CheckBox } from 'mastodon/components/check_box'; import { CheckBox } from 'mastodon/components/check_box';
@ -40,11 +40,11 @@ export const NotificationRequest = ({ id, accountId, notificationsCount, checked
const { push: historyPush } = useHistory(); const { push: historyPush } = useHistory();
const handleDismiss = useCallback(() => { const handleDismiss = useCallback(() => {
dispatch(dismissNotificationRequest(id)); dispatch(dismissNotificationRequest({ id }));
}, [dispatch, id]); }, [dispatch, id]);
const handleAccept = useCallback(() => { const handleAccept = useCallback(() => {
dispatch(acceptNotificationRequest(id)); dispatch(acceptNotificationRequest({ id }));
}, [dispatch, id]); }, [dispatch, id]);
const handleMute = useCallback(() => { const handleMute = useCallback(() => {

View file

@ -10,7 +10,13 @@ import { useSelector, useDispatch } from 'react-redux';
import DeleteIcon from '@/material-icons/400-24px/delete.svg?react'; import DeleteIcon from '@/material-icons/400-24px/delete.svg?react';
import DoneIcon from '@/material-icons/400-24px/done.svg?react'; import DoneIcon from '@/material-icons/400-24px/done.svg?react';
import InventoryIcon from '@/material-icons/400-24px/inventory_2.svg?react'; import InventoryIcon from '@/material-icons/400-24px/inventory_2.svg?react';
import { fetchNotificationRequest, fetchNotificationsForRequest, expandNotificationsForRequest, acceptNotificationRequest, dismissNotificationRequest } from 'mastodon/actions/notifications'; import {
fetchNotificationRequest,
fetchNotificationsForRequest,
expandNotificationsForRequest,
acceptNotificationRequest,
dismissNotificationRequest,
} from 'mastodon/actions/notification_requests';
import Column from 'mastodon/components/column'; import Column from 'mastodon/components/column';
import ColumnHeader from 'mastodon/components/column_header'; import ColumnHeader from 'mastodon/components/column_header';
import { IconButton } from 'mastodon/components/icon_button'; import { IconButton } from 'mastodon/components/icon_button';
@ -44,28 +50,28 @@ export const NotificationRequest = ({ multiColumn, params: { id } }) => {
const columnRef = useRef(); const columnRef = useRef();
const intl = useIntl(); const intl = useIntl();
const dispatch = useDispatch(); const dispatch = useDispatch();
const notificationRequest = useSelector(state => state.getIn(['notificationRequests', 'current', 'item', 'id']) === id ? state.getIn(['notificationRequests', 'current', 'item']) : null); const notificationRequest = useSelector(state => state.notificationRequests.current.item?.id === id ? state.notificationRequests.current.item : null);
const accountId = notificationRequest?.get('account'); const accountId = notificationRequest?.account_id;
const account = useSelector(state => state.getIn(['accounts', accountId])); const account = useSelector(state => state.getIn(['accounts', accountId]));
const notifications = useSelector(state => state.getIn(['notificationRequests', 'current', 'notifications', 'items'])); const notifications = useSelector(state => state.notificationRequests.current.notifications.items);
const isLoading = useSelector(state => state.getIn(['notificationRequests', 'current', 'notifications', 'isLoading'])); const isLoading = useSelector(state => state.notificationRequests.current.notifications.isLoading);
const hasMore = useSelector(state => !!state.getIn(['notificationRequests', 'current', 'notifications', 'next'])); const hasMore = useSelector(state => !!state.notificationRequests.current.notifications.next);
const removed = useSelector(state => state.getIn(['notificationRequests', 'current', 'removed'])); const removed = useSelector(state => state.notificationRequests.current.removed);
const handleHeaderClick = useCallback(() => { const handleHeaderClick = useCallback(() => {
columnRef.current?.scrollTop(); columnRef.current?.scrollTop();
}, [columnRef]); }, [columnRef]);
const handleLoadMore = useCallback(() => { const handleLoadMore = useCallback(() => {
dispatch(expandNotificationsForRequest()); dispatch(expandNotificationsForRequest({ accountId }));
}, [dispatch]); }, [dispatch, accountId]);
const handleDismiss = useCallback(() => { const handleDismiss = useCallback(() => {
dispatch(dismissNotificationRequest(id)); dispatch(dismissNotificationRequest({ id }));
}, [dispatch, id]); }, [dispatch, id]);
const handleAccept = useCallback(() => { const handleAccept = useCallback(() => {
dispatch(acceptNotificationRequest(id)); dispatch(acceptNotificationRequest({ id }));
}, [dispatch, id]); }, [dispatch, id]);
const handleMoveUp = useCallback(id => { const handleMoveUp = useCallback(id => {
@ -79,12 +85,12 @@ export const NotificationRequest = ({ multiColumn, params: { id } }) => {
}, [columnRef, notifications]); }, [columnRef, notifications]);
useEffect(() => { useEffect(() => {
dispatch(fetchNotificationRequest(id)); dispatch(fetchNotificationRequest({ id }));
}, [dispatch, id]); }, [dispatch, id]);
useEffect(() => { useEffect(() => {
if (accountId) { if (accountId) {
dispatch(fetchNotificationsForRequest(accountId)); dispatch(fetchNotificationsForRequest({ accountId }));
} }
}, [dispatch, accountId]); }, [dispatch, accountId]);

View file

@ -11,7 +11,12 @@ import ArrowDropDownIcon from '@/material-icons/400-24px/arrow_drop_down.svg?rea
import InventoryIcon from '@/material-icons/400-24px/inventory_2.svg?react'; import InventoryIcon from '@/material-icons/400-24px/inventory_2.svg?react';
import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react'; import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react';
import { openModal } from 'mastodon/actions/modal'; import { openModal } from 'mastodon/actions/modal';
import { fetchNotificationRequests, expandNotificationRequests, acceptNotificationRequests, dismissNotificationRequests } from 'mastodon/actions/notifications'; import {
fetchNotificationRequests,
expandNotificationRequests,
acceptNotificationRequests,
dismissNotificationRequests,
} from 'mastodon/actions/notification_requests';
import { changeSetting } from 'mastodon/actions/settings'; import { changeSetting } from 'mastodon/actions/settings';
import { CheckBox } from 'mastodon/components/check_box'; import { CheckBox } from 'mastodon/components/check_box';
import Column from 'mastodon/components/column'; import Column from 'mastodon/components/column';
@ -84,7 +89,7 @@ const SelectRow = ({selectAllChecked, toggleSelectAll, selectedItems, selectionM
message: intl.formatMessage(messages.confirmAcceptMultipleMessage, { count: selectedItems.length }), message: intl.formatMessage(messages.confirmAcceptMultipleMessage, { count: selectedItems.length }),
confirm: intl.formatMessage(messages.confirmAcceptMultipleButton, { count: selectedItems.length}), confirm: intl.formatMessage(messages.confirmAcceptMultipleButton, { count: selectedItems.length}),
onConfirm: () => onConfirm: () =>
dispatch(acceptNotificationRequests(selectedItems)), dispatch(acceptNotificationRequests({ ids: selectedItems })),
}, },
})); }));
}, [dispatch, intl, selectedItems]); }, [dispatch, intl, selectedItems]);
@ -97,7 +102,7 @@ const SelectRow = ({selectAllChecked, toggleSelectAll, selectedItems, selectionM
message: intl.formatMessage(messages.confirmDismissMultipleMessage, { count: selectedItems.length }), message: intl.formatMessage(messages.confirmDismissMultipleMessage, { count: selectedItems.length }),
confirm: intl.formatMessage(messages.confirmDismissMultipleButton, { count: selectedItems.length}), confirm: intl.formatMessage(messages.confirmDismissMultipleButton, { count: selectedItems.length}),
onConfirm: () => onConfirm: () =>
dispatch(dismissNotificationRequests(selectedItems)), dispatch(dismissNotificationRequests({ ids: selectedItems })),
}, },
})); }));
}, [dispatch, intl, selectedItems]); }, [dispatch, intl, selectedItems]);
@ -161,9 +166,9 @@ export const NotificationRequests = ({ multiColumn }) => {
const columnRef = useRef(); const columnRef = useRef();
const intl = useIntl(); const intl = useIntl();
const dispatch = useDispatch(); const dispatch = useDispatch();
const isLoading = useSelector(state => state.getIn(['notificationRequests', 'isLoading'])); const isLoading = useSelector(state => state.notificationRequests.isLoading);
const notificationRequests = useSelector(state => state.getIn(['notificationRequests', 'items'])); const notificationRequests = useSelector(state => state.notificationRequests.items);
const hasMore = useSelector(state => !!state.getIn(['notificationRequests', 'next'])); const hasMore = useSelector(state => !!state.notificationRequests.next);
const [selectionMode, setSelectionMode] = useState(false); const [selectionMode, setSelectionMode] = useState(false);
const [checkedRequestIds, setCheckedRequestIds] = useState([]); const [checkedRequestIds, setCheckedRequestIds] = useState([]);
@ -182,7 +187,7 @@ export const NotificationRequests = ({ multiColumn }) => {
else else
ids.push(id); ids.push(id);
setSelectAllChecked(ids.length === notificationRequests.size); setSelectAllChecked(ids.length === notificationRequests.length);
return [...ids]; return [...ids];
}); });
@ -193,7 +198,7 @@ export const NotificationRequests = ({ multiColumn }) => {
if(checked) if(checked)
setCheckedRequestIds([]); setCheckedRequestIds([]);
else else
setCheckedRequestIds(notificationRequests.map(request => request.get('id')).toArray()); setCheckedRequestIds(notificationRequests.map(request => request.id));
return !checked; return !checked;
}); });
@ -217,7 +222,7 @@ export const NotificationRequests = ({ multiColumn }) => {
multiColumn={multiColumn} multiColumn={multiColumn}
showBackButton showBackButton
appendContent={ appendContent={
notificationRequests.size > 0 && ( notificationRequests.length > 0 && (
<SelectRow selectionMode={selectionMode} setSelectionMode={setSelectionMode} selectAllChecked={selectAllChecked} toggleSelectAll={toggleSelectAll} selectedItems={checkedRequestIds} /> <SelectRow selectionMode={selectionMode} setSelectionMode={setSelectionMode} selectAllChecked={selectAllChecked} toggleSelectAll={toggleSelectAll} selectedItems={checkedRequestIds} />
)} )}
> >
@ -236,12 +241,12 @@ export const NotificationRequests = ({ multiColumn }) => {
> >
{notificationRequests.map(request => ( {notificationRequests.map(request => (
<NotificationRequest <NotificationRequest
key={request.get('id')} key={request.id}
id={request.get('id')} id={request.id}
accountId={request.get('account')} accountId={request.account_id}
notificationsCount={request.get('notifications_count')} notificationsCount={request.notifications_count}
showCheckbox={selectionMode} showCheckbox={selectionMode}
checked={checkedRequestIds.includes(request.get('id'))} checked={checkedRequestIds.includes(request.id)}
toggleCheck={handleCheck} toggleCheck={handleCheck}
/> />
))} ))}

View file

@ -1,13 +1,8 @@
import Notifications from 'mastodon/features/notifications';
import Notifications_v2 from 'mastodon/features/notifications_v2'; import Notifications_v2 from 'mastodon/features/notifications_v2';
import { selectUseGroupedNotifications } from 'mastodon/selectors/settings';
import { useAppSelector } from 'mastodon/store';
export const NotificationsWrapper = (props) => { export const NotificationsWrapper = (props) => {
const optedInGroupedNotifications = useAppSelector(selectUseGroupedNotifications);
return ( return (
optedInGroupedNotifications ? <Notifications_v2 {...props} /> : <Notifications {...props} /> <Notifications_v2 {...props} />
); );
}; };

View file

@ -73,8 +73,8 @@ export default class ColumnsArea extends ImmutablePureComponent {
children: PropTypes.node, children: PropTypes.node,
}; };
// Corresponds to (max-width: $no-gap-breakpoint + 285px - 1px) in SCSS // Corresponds to (max-width: $no-gap-breakpoint - 1px) in SCSS
mediaQuery = 'matchMedia' in window && window.matchMedia('(max-width: 1174px)'); mediaQuery = 'matchMedia' in window && window.matchMedia('(max-width: 1206px)');
state = { state = {
renderComposePanel: !(this.mediaQuery && this.mediaQuery.matches), renderComposePanel: !(this.mediaQuery && this.mediaQuery.matches),

View file

@ -40,7 +40,6 @@ import { enableDtlMenu, timelinePreview, trendsEnabled, dtlTag, enableLocalTimel
import { transientSingleColumn } from 'mastodon/is_mobile'; import { transientSingleColumn } from 'mastodon/is_mobile';
import { canManageReports, canViewAdminDashboard } from 'mastodon/permissions'; import { canManageReports, canViewAdminDashboard } from 'mastodon/permissions';
import { selectUnreadNotificationGroupsCount } from 'mastodon/selectors/notifications'; import { selectUnreadNotificationGroupsCount } from 'mastodon/selectors/notifications';
import { selectUseGroupedNotifications } from 'mastodon/selectors/settings';
import ColumnLink from './column_link'; import ColumnLink from './column_link';
import DisabledAccountBanner from './disabled_account_banner'; import DisabledAccountBanner from './disabled_account_banner';
@ -72,19 +71,17 @@ const messages = defineMessages({
}); });
const NotificationsLink = () => { const NotificationsLink = () => {
const optedInGroupedNotifications = useSelector(selectUseGroupedNotifications);
const count = useSelector(state => state.getIn(['notifications', 'unread']));
const intl = useIntl();
const newCount = useSelector(selectUnreadNotificationGroupsCount); const count = useSelector(selectUnreadNotificationGroupsCount);
const intl = useIntl();
return ( return (
<ColumnLink <ColumnLink
key='notifications' key='notifications'
transparent transparent
to='/notifications' to='/notifications'
icon={<IconWithBadge id='bell' icon={NotificationsIcon} count={optedInGroupedNotifications ? newCount : count} className='column-link__icon' />} icon={<IconWithBadge id='bell' icon={NotificationsIcon} count={count} className='column-link__icon' />}
activeIcon={<IconWithBadge id='bell' icon={NotificationsActiveIcon} count={optedInGroupedNotifications ? newCount : count} className='column-link__icon' />} activeIcon={<IconWithBadge id='bell' icon={NotificationsActiveIcon} count={count} className='column-link__icon' />}
text={intl.formatMessage(messages.notifications)} text={intl.formatMessage(messages.notifications)}
/> />
); );

View file

@ -69,7 +69,6 @@
* @property {boolean=} use_pending_items * @property {boolean=} use_pending_items
* @property {string} version * @property {string} version
* @property {string} sso_redirect * @property {string} sso_redirect
* @property {boolean} force_grouped_notifications
*/ */
/** /**
@ -169,7 +168,6 @@ export const criticalUpdatesPending = initialState?.critical_updates_pending;
// @ts-expect-error // @ts-expect-error
export const statusPageUrl = getMeta('status_page_url'); export const statusPageUrl = getMeta('status_page_url');
export const sso_redirect = getMeta('sso_redirect'); export const sso_redirect = getMeta('sso_redirect');
export const forceGroupedNotifications = getMeta('force_grouped_notifications');
/** /**
* @returns {string | undefined} * @returns {string | undefined}

View file

@ -480,7 +480,6 @@
"status.detailed_status": "Vista de conversación detallada", "status.detailed_status": "Vista de conversación detallada",
"status.edit": "Editar", "status.edit": "Editar",
"status.edited_x_times": "Editau {count, plural, one {{count} vez} other {{count} veces}}", "status.edited_x_times": "Editau {count, plural, one {{count} vez} other {{count} veces}}",
"status.embed": "Incrustado",
"status.filter": "Filtrar esta publicación", "status.filter": "Filtrar esta publicación",
"status.history.created": "{name} creyó {date}", "status.history.created": "{name} creyó {date}",
"status.history.edited": "{name} editó {date}", "status.history.edited": "{name} editó {date}",

View file

@ -3,7 +3,7 @@
"about.contact": "للاتصال:", "about.contact": "للاتصال:",
"about.disclaimer": "ماستدون برنامج حر ومفتوح المصدر وعلامة تجارية لـ Mastodon GmbH.", "about.disclaimer": "ماستدون برنامج حر ومفتوح المصدر وعلامة تجارية لـ Mastodon GmbH.",
"about.domain_blocks.no_reason_available": "السبب غير متوفر", "about.domain_blocks.no_reason_available": "السبب غير متوفر",
"about.domain_blocks.preamble": سمح لك ماستدون عموماً بعرض المحتوى من المستخدمين من أي خادم آخر في الفدرالية والتفاعل معهم. وهذه هي الاستثناءات التي وضعت على هذا الخادم بالذات.", "about.domain_blocks.preamble": تيح مَستُدون عمومًا لمستخدميه مطالعة المحتوى من المستخدمين من الخواديم الأخرى في الفدرالية والتفاعل معهم. وهذه هي الاستثناءات التي وضعت على هذا الخادوم.",
"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": "لن يتم معالجة أي بيانات من هذا الخادم أو تخزينها أو تبادلها، مما يجعل أي تفاعل أو اتصال مع المستخدمين من هذا الخادم مستحيلا.",
@ -34,7 +34,7 @@
"account.follow_back": "تابعه بالمثل", "account.follow_back": "تابعه بالمثل",
"account.followers": "مُتابِعون", "account.followers": "مُتابِعون",
"account.followers.empty": "لا أحدَ يُتابع هذا المُستخدم إلى حد الآن.", "account.followers.empty": "لا أحدَ يُتابع هذا المُستخدم إلى حد الآن.",
"account.followers_counter": "{count, plural, zero {}one {{counter} متابع} two {{counter} متابعين} few {{counter} متابعين} many {{counter} متابعين} other {{counter} متابعين}}", "account.followers_counter": "{count, plural, zero{لا مُتابع} one {مُتابعٌ واحِد} two {مُتابعانِ اِثنان} few {{counter} مُتابِعين} many {{counter} مُتابِعًا} other {{counter} مُتابع}}",
"account.following": "الاشتراكات", "account.following": "الاشتراكات",
"account.follows.empty": "لا يُتابع هذا المُستخدمُ أيَّ أحدٍ حتى الآن.", "account.follows.empty": "لا يُتابع هذا المُستخدمُ أيَّ أحدٍ حتى الآن.",
"account.go_to_profile": "اذهب إلى الملف الشخصي", "account.go_to_profile": "اذهب إلى الملف الشخصي",
@ -43,7 +43,7 @@
"account.joined_short": "انضم في", "account.joined_short": "انضم في",
"account.languages": "تغيير اللغات المشترَك فيها", "account.languages": "تغيير اللغات المشترَك فيها",
"account.link_verified_on": "تمَّ التَّحقق مِن مِلْكيّة هذا الرابط بتاريخ {date}", "account.link_verified_on": "تمَّ التَّحقق مِن مِلْكيّة هذا الرابط بتاريخ {date}",
"account.locked_info": "تمَّ تعيين حالة خصوصية هذا الحساب إلى مُقفَل. يُراجع المالك يدويًا من يمكنه متابعته.", "account.locked_info": "تم ضبط حالة خصوصية هذا الحساب على أنه مؤمّن. إذ يراجع صاحبه يدويًا من يُسمح له بالمتابعة.",
"account.media": "وسائط", "account.media": "وسائط",
"account.mention": "أذكُر @{name}", "account.mention": "أذكُر @{name}",
"account.moved_to": "أشار {name} إلى أن حسابه الجديد الآن:", "account.moved_to": "أشار {name} إلى أن حسابه الجديد الآن:",
@ -443,6 +443,7 @@
"lists.subheading": "قوائمك", "lists.subheading": "قوائمك",
"load_pending": "{count, plural, one {# عنصر جديد} other {# عناصر جديدة}}", "load_pending": "{count, plural, one {# عنصر جديد} other {# عناصر جديدة}}",
"loading_indicator.label": "جاري التحميل…", "loading_indicator.label": "جاري التحميل…",
"media_gallery.hide": "إخفاء",
"moved_to_account_banner.text": "حسابك {disabledAccount} معطل حاليًا لأنك انتقلت إلى {movedToAccount}.", "moved_to_account_banner.text": "حسابك {disabledAccount} معطل حاليًا لأنك انتقلت إلى {movedToAccount}.",
"mute_modal.hide_from_notifications": "إخفاء من قائمة الإشعارات", "mute_modal.hide_from_notifications": "إخفاء من قائمة الإشعارات",
"mute_modal.hide_options": "إخفاء الخيارات", "mute_modal.hide_options": "إخفاء الخيارات",
@ -527,8 +528,6 @@
"notifications.column_settings.admin.report": "التبليغات الجديدة:", "notifications.column_settings.admin.report": "التبليغات الجديدة:",
"notifications.column_settings.admin.sign_up": "التسجيلات الجديدة:", "notifications.column_settings.admin.sign_up": "التسجيلات الجديدة:",
"notifications.column_settings.alert": "إشعارات سطح المكتب", "notifications.column_settings.alert": "إشعارات سطح المكتب",
"notifications.column_settings.beta.category": "ميزات تجريبية",
"notifications.column_settings.beta.grouping": "جمّع الإشعارات",
"notifications.column_settings.favourite": "المفضلة:", "notifications.column_settings.favourite": "المفضلة:",
"notifications.column_settings.filter_bar.advanced": "عرض جميع الفئات", "notifications.column_settings.filter_bar.advanced": "عرض جميع الفئات",
"notifications.column_settings.filter_bar.category": "شريط التصفية السريعة", "notifications.column_settings.filter_bar.category": "شريط التصفية السريعة",
@ -744,6 +743,7 @@
"status.bookmark": "أضفه إلى الفواصل المرجعية", "status.bookmark": "أضفه إلى الفواصل المرجعية",
"status.cancel_reblog_private": "إلغاء إعادة النشر", "status.cancel_reblog_private": "إلغاء إعادة النشر",
"status.cannot_reblog": "لا يمكن إعادة نشر هذا المنشور", "status.cannot_reblog": "لا يمكن إعادة نشر هذا المنشور",
"status.continued_thread": "تكملة للخيط",
"status.copy": "انسخ رابط الرسالة", "status.copy": "انسخ رابط الرسالة",
"status.delete": "احذف", "status.delete": "احذف",
"status.detailed_status": "تفاصيل المحادثة", "status.detailed_status": "تفاصيل المحادثة",
@ -752,7 +752,7 @@
"status.edit": "تعديل", "status.edit": "تعديل",
"status.edited": "آخر تعديل يوم {date}", "status.edited": "آخر تعديل يوم {date}",
"status.edited_x_times": "عُدّل {count, plural, zero {} one {مرةً واحدة} two {مرّتان} few {{count} مرات} many {{count} مرة} other {{count} مرة}}", "status.edited_x_times": "عُدّل {count, plural, zero {} one {مرةً واحدة} two {مرّتان} few {{count} مرات} many {{count} مرة} other {{count} مرة}}",
"status.embed": "إدماج", "status.embed": "الحصول على شفرة الإدماج",
"status.favourite": "فضّل", "status.favourite": "فضّل",
"status.favourites": "{count, plural, zero {}one {مفضلة واحدة} two {مفضلتان} few {# مفضلات} many {# مفضلات} other {# مفضلات}}", "status.favourites": "{count, plural, zero {}one {مفضلة واحدة} two {مفضلتان} few {# مفضلات} many {# مفضلات} other {# مفضلات}}",
"status.filter": "تصفية هذا المنشور", "status.filter": "تصفية هذا المنشور",
@ -777,6 +777,7 @@
"status.reblogs.empty": "لم يقم أي أحد بمشاركة هذا المنشور بعد. عندما يقوم أحدهم بذلك سوف يظهر هنا.", "status.reblogs.empty": "لم يقم أي أحد بمشاركة هذا المنشور بعد. عندما يقوم أحدهم بذلك سوف يظهر هنا.",
"status.redraft": "إزالة وإعادة الصياغة", "status.redraft": "إزالة وإعادة الصياغة",
"status.remove_bookmark": "احذفه مِن الفواصل المرجعية", "status.remove_bookmark": "احذفه مِن الفواصل المرجعية",
"status.replied_in_thread": "رد في خيط",
"status.replied_to": "رَدًا على {name}", "status.replied_to": "رَدًا على {name}",
"status.reply": "ردّ", "status.reply": "ردّ",
"status.replyAll": "رُد على الخيط", "status.replyAll": "رُد على الخيط",

View file

@ -297,7 +297,6 @@
"notifications.clear": "Borrar los avisos", "notifications.clear": "Borrar los avisos",
"notifications.column_settings.admin.report": "Informes nuevos:", "notifications.column_settings.admin.report": "Informes nuevos:",
"notifications.column_settings.admin.sign_up": "Rexistros nuevos:", "notifications.column_settings.admin.sign_up": "Rexistros nuevos:",
"notifications.column_settings.beta.category": "Funciones esperimentales",
"notifications.column_settings.follow": "Siguidores nuevos:", "notifications.column_settings.follow": "Siguidores nuevos:",
"notifications.column_settings.follow_request": "Solicitúes de siguimientu nueves:", "notifications.column_settings.follow_request": "Solicitúes de siguimientu nueves:",
"notifications.column_settings.mention": "Menciones:", "notifications.column_settings.mention": "Menciones:",
@ -419,7 +418,6 @@
"status.direct": "Mentar a @{name} per privao", "status.direct": "Mentar a @{name} per privao",
"status.direct_indicator": "Mención privada", "status.direct_indicator": "Mención privada",
"status.edited_x_times": "Editóse {count, plural, one {{count} vegada} other {{count} vegaes}}", "status.edited_x_times": "Editóse {count, plural, one {{count} vegada} other {{count} vegaes}}",
"status.embed": "Empotrar",
"status.filter": "Peñerar esti artículu", "status.filter": "Peñerar esti artículu",
"status.history.created": "{name} creó {date}", "status.history.created": "{name} creó {date}",
"status.history.edited": "{name} editó {date}", "status.history.edited": "{name} editó {date}",

View file

@ -523,8 +523,6 @@
"notifications.column_settings.admin.report": "Новыя скаргі:", "notifications.column_settings.admin.report": "Новыя скаргі:",
"notifications.column_settings.admin.sign_up": "Новыя ўваходы:", "notifications.column_settings.admin.sign_up": "Новыя ўваходы:",
"notifications.column_settings.alert": "Апавяшчэнні на працоўным стале", "notifications.column_settings.alert": "Апавяшчэнні на працоўным стале",
"notifications.column_settings.beta.category": "Эксперыментальныя функцыі",
"notifications.column_settings.beta.grouping": "Групаваць апавяшчэннi",
"notifications.column_settings.favourite": "Упадабанае:", "notifications.column_settings.favourite": "Упадабанае:",
"notifications.column_settings.filter_bar.advanced": "Паказаць усе катэгорыі", "notifications.column_settings.filter_bar.advanced": "Паказаць усе катэгорыі",
"notifications.column_settings.filter_bar.category": "Панэль хуткай фільтрацыі", "notifications.column_settings.filter_bar.category": "Панэль хуткай фільтрацыі",
@ -748,7 +746,6 @@
"status.edit": "Рэдагаваць", "status.edit": "Рэдагаваць",
"status.edited": "Апошняе рэдагаванне {date}", "status.edited": "Апошняе рэдагаванне {date}",
"status.edited_x_times": "Рэдагавана {count, plural, one {{count} раз} few {{count} разы} many {{count} разоў} other {{count} разу}}", "status.edited_x_times": "Рэдагавана {count, plural, one {{count} раз} few {{count} разы} many {{count} разоў} other {{count} разу}}",
"status.embed": "Убудаваць",
"status.favourite": "Упадабанае", "status.favourite": "Упадабанае",
"status.favourites": "{count, plural, one {# упадабанае} few {# упадабаныя} many {# упадабаных} other {# упадабанага}}", "status.favourites": "{count, plural, one {# упадабанае} few {# упадабаныя} many {# упадабаных} other {# упадабанага}}",
"status.filter": "Фільтраваць гэты допіс", "status.filter": "Фільтраваць гэты допіс",

View file

@ -540,8 +540,6 @@
"notifications.column_settings.admin.report": "Нови доклади:", "notifications.column_settings.admin.report": "Нови доклади:",
"notifications.column_settings.admin.sign_up": "Нови регистрации:", "notifications.column_settings.admin.sign_up": "Нови регистрации:",
"notifications.column_settings.alert": "Известия на работния плот", "notifications.column_settings.alert": "Известия на работния плот",
"notifications.column_settings.beta.category": "Експериментални функции",
"notifications.column_settings.beta.grouping": "Групови известия",
"notifications.column_settings.favourite": "Любими:", "notifications.column_settings.favourite": "Любими:",
"notifications.column_settings.filter_bar.advanced": "Показване на всички категории", "notifications.column_settings.filter_bar.advanced": "Показване на всички категории",
"notifications.column_settings.filter_bar.category": "Лента за бърз филтър", "notifications.column_settings.filter_bar.category": "Лента за бърз филтър",
@ -766,7 +764,6 @@
"status.edit": "Редактиране", "status.edit": "Редактиране",
"status.edited": "Последно редактирано на {date}", "status.edited": "Последно редактирано на {date}",
"status.edited_x_times": "Редактирано {count, plural,one {{count} път} other {{count} пъти}}", "status.edited_x_times": "Редактирано {count, plural,one {{count} път} other {{count} пъти}}",
"status.embed": "Вграждане",
"status.favourite": "Любимо", "status.favourite": "Любимо",
"status.favourites": "{count, plural, one {любимо} other {любими}}", "status.favourites": "{count, plural, one {любимо} other {любими}}",
"status.filter": "Филтриране на публ.", "status.filter": "Филтриране на публ.",

View file

@ -408,7 +408,6 @@
"status.detailed_status": "বিস্তারিত কথোপকথনের হিসেবে দেখতে", "status.detailed_status": "বিস্তারিত কথোপকথনের হিসেবে দেখতে",
"status.edit": "সম্পাদন", "status.edit": "সম্পাদন",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "এমবেড করতে",
"status.favourite": "পছন্দ", "status.favourite": "পছন্দ",
"status.load_more": "আরো দেখুন", "status.load_more": "আরো দেখুন",
"status.media_hidden": "মিডিয়া লুকানো আছে", "status.media_hidden": "মিডিয়া লুকানো আছে",

View file

@ -575,7 +575,6 @@
"status.edit": "Kemmañ", "status.edit": "Kemmañ",
"status.edited": "Kemmet da ziwezhañ d'an {date}", "status.edited": "Kemmet da ziwezhañ d'an {date}",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "Enframmañ",
"status.favourite": "Muiañ-karet", "status.favourite": "Muiañ-karet",
"status.filter": "Silañ ar c'hannad-mañ", "status.filter": "Silañ ar c'hannad-mañ",
"status.history.created": "Krouet gant {name} {date}", "status.history.created": "Krouet gant {name} {date}",

View file

@ -559,8 +559,6 @@
"notifications.column_settings.admin.report": "Nous informes:", "notifications.column_settings.admin.report": "Nous informes:",
"notifications.column_settings.admin.sign_up": "Registres nous:", "notifications.column_settings.admin.sign_up": "Registres nous:",
"notifications.column_settings.alert": "Notificacions d'escriptori", "notifications.column_settings.alert": "Notificacions d'escriptori",
"notifications.column_settings.beta.category": "Característiques experimentals",
"notifications.column_settings.beta.grouping": "Notificacions de grup",
"notifications.column_settings.favourite": "Favorits:", "notifications.column_settings.favourite": "Favorits:",
"notifications.column_settings.filter_bar.advanced": "Mostra totes les categories", "notifications.column_settings.filter_bar.advanced": "Mostra totes les categories",
"notifications.column_settings.filter_bar.category": "Barra ràpida de filtres", "notifications.column_settings.filter_bar.category": "Barra ràpida de filtres",
@ -789,7 +787,7 @@
"status.edit": "Edita", "status.edit": "Edita",
"status.edited": "Darrera edició {date}", "status.edited": "Darrera edició {date}",
"status.edited_x_times": "Editat {count, plural, one {{count} vegada} other {{count} vegades}}", "status.edited_x_times": "Editat {count, plural, one {{count} vegada} other {{count} vegades}}",
"status.embed": "Incrusta", "status.embed": "Obté el codi encastat",
"status.favourite": "Favorit", "status.favourite": "Favorit",
"status.favourites": "{count, plural, one {favorit} other {favorits}}", "status.favourites": "{count, plural, one {favorit} other {favorits}}",
"status.filter": "Filtra aquest tut", "status.filter": "Filtra aquest tut",

View file

@ -539,7 +539,6 @@
"status.direct_indicator": "ئاماژەی تایبەت", "status.direct_indicator": "ئاماژەی تایبەت",
"status.edit": "دەستکاری", "status.edit": "دەستکاری",
"status.edited_x_times": "دەستکاریکراوە {count, plural, one {{count} کات} other {{count} کات}}", "status.edited_x_times": "دەستکاریکراوە {count, plural, one {{count} کات} other {{count} کات}}",
"status.embed": "نیشتەجێ بکە",
"status.filter": "ئەم پۆستە فلتەر بکە", "status.filter": "ئەم پۆستە فلتەر بکە",
"status.history.created": "{name} دروستکراوە لە{date}", "status.history.created": "{name} دروستکراوە لە{date}",
"status.history.edited": "{name} دروستکاریکراوە لە{date}", "status.history.edited": "{name} دروستکاریکراوە لە{date}",

View file

@ -319,7 +319,6 @@
"status.delete": "Toglie", "status.delete": "Toglie",
"status.detailed_status": "Vista in ditagliu di a cunversazione", "status.detailed_status": "Vista in ditagliu di a cunversazione",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "Integrà",
"status.load_more": "Vede di più", "status.load_more": "Vede di più",
"status.media_hidden": "Media piattata", "status.media_hidden": "Media piattata",
"status.mention": "Mintuvà @{name}", "status.mention": "Mintuvà @{name}",

View file

@ -509,8 +509,6 @@
"notifications.column_settings.admin.report": "Nová hlášení:", "notifications.column_settings.admin.report": "Nová hlášení:",
"notifications.column_settings.admin.sign_up": "Nové registrace:", "notifications.column_settings.admin.sign_up": "Nové registrace:",
"notifications.column_settings.alert": "Oznámení na počítači", "notifications.column_settings.alert": "Oznámení na počítači",
"notifications.column_settings.beta.category": "Experimentální funkce",
"notifications.column_settings.beta.grouping": "Seskupit notifikace",
"notifications.column_settings.favourite": "Oblíbené:", "notifications.column_settings.favourite": "Oblíbené:",
"notifications.column_settings.filter_bar.advanced": "Zobrazit všechny kategorie", "notifications.column_settings.filter_bar.advanced": "Zobrazit všechny kategorie",
"notifications.column_settings.filter_bar.category": "Panel rychlého filtrování", "notifications.column_settings.filter_bar.category": "Panel rychlého filtrování",
@ -729,7 +727,6 @@
"status.edit": "Upravit", "status.edit": "Upravit",
"status.edited": "Naposledy upraveno {date}", "status.edited": "Naposledy upraveno {date}",
"status.edited_x_times": "Upraveno {count, plural, one {{count}krát} few {{count}krát} many {{count}krát} other {{count}krát}}", "status.edited_x_times": "Upraveno {count, plural, one {{count}krát} few {{count}krát} many {{count}krát} other {{count}krát}}",
"status.embed": "Vložit na web",
"status.favourite": "Oblíbit", "status.favourite": "Oblíbit",
"status.favourites": "{count, plural, one {oblíbený} few {oblíbené} many {oblíbených} other {oblíbených}}", "status.favourites": "{count, plural, one {oblíbený} few {oblíbené} many {oblíbených} other {oblíbených}}",
"status.filter": "Filtrovat tento příspěvek", "status.filter": "Filtrovat tento příspěvek",

View file

@ -559,8 +559,6 @@
"notifications.column_settings.admin.report": "Adroddiadau newydd:", "notifications.column_settings.admin.report": "Adroddiadau newydd:",
"notifications.column_settings.admin.sign_up": "Cofrestriadau newydd:", "notifications.column_settings.admin.sign_up": "Cofrestriadau newydd:",
"notifications.column_settings.alert": "Hysbysiadau bwrdd gwaith", "notifications.column_settings.alert": "Hysbysiadau bwrdd gwaith",
"notifications.column_settings.beta.category": "Nodweddion arbrofol",
"notifications.column_settings.beta.grouping": "Grŵpio hysbysiadau",
"notifications.column_settings.favourite": "Ffefrynnau:", "notifications.column_settings.favourite": "Ffefrynnau:",
"notifications.column_settings.filter_bar.advanced": "Dangos pob categori", "notifications.column_settings.filter_bar.advanced": "Dangos pob categori",
"notifications.column_settings.filter_bar.category": "Bar hidlo cyflym", "notifications.column_settings.filter_bar.category": "Bar hidlo cyflym",
@ -789,7 +787,6 @@
"status.edit": "Golygu", "status.edit": "Golygu",
"status.edited": "Golygwyd ddiwethaf {date}", "status.edited": "Golygwyd ddiwethaf {date}",
"status.edited_x_times": "Golygwyd {count, plural, one {count} two {count} other {{count} gwaith}}", "status.edited_x_times": "Golygwyd {count, plural, one {count} two {count} other {{count} gwaith}}",
"status.embed": "Mewnblannu",
"status.favourite": "Ffafrio", "status.favourite": "Ffafrio",
"status.favourites": "{count, plural, one {ffefryn} other {ffefryn}}", "status.favourites": "{count, plural, one {ffefryn} other {ffefryn}}",
"status.filter": "Hidlo'r postiad hwn", "status.filter": "Hidlo'r postiad hwn",

View file

@ -559,8 +559,6 @@
"notifications.column_settings.admin.report": "Nye anmeldelser:", "notifications.column_settings.admin.report": "Nye anmeldelser:",
"notifications.column_settings.admin.sign_up": "Nye tilmeldinger:", "notifications.column_settings.admin.sign_up": "Nye tilmeldinger:",
"notifications.column_settings.alert": "Computernotifikationer", "notifications.column_settings.alert": "Computernotifikationer",
"notifications.column_settings.beta.category": "Eksperimentelle funktioner",
"notifications.column_settings.beta.grouping": "Gruppér notifikationer",
"notifications.column_settings.favourite": "Favoritter:", "notifications.column_settings.favourite": "Favoritter:",
"notifications.column_settings.filter_bar.advanced": "Vis alle kategorier", "notifications.column_settings.filter_bar.advanced": "Vis alle kategorier",
"notifications.column_settings.filter_bar.category": "Hurtigfiltreringsbjælke", "notifications.column_settings.filter_bar.category": "Hurtigfiltreringsbjælke",
@ -789,7 +787,7 @@
"status.edit": "Redigér", "status.edit": "Redigér",
"status.edited": "Senest redigeret {date}", "status.edited": "Senest redigeret {date}",
"status.edited_x_times": "Redigeret {count, plural, one {{count} gang} other {{count} gange}}", "status.edited_x_times": "Redigeret {count, plural, one {{count} gang} other {{count} gange}}",
"status.embed": "Indlejr", "status.embed": "Hent indlejringskode",
"status.favourite": "Favorit", "status.favourite": "Favorit",
"status.favourites": "{count, plural, one {# favorit} other {# favoritter}}", "status.favourites": "{count, plural, one {# favorit} other {# favoritter}}",
"status.filter": "Filtrér dette indlæg", "status.filter": "Filtrér dette indlæg",

View file

@ -236,7 +236,7 @@
"domain_pill.your_handle": "Deine Adresse:", "domain_pill.your_handle": "Deine Adresse:",
"domain_pill.your_server": "Dein digitales Zuhause. Hier „leben“ alle Beiträge von dir. Dir gefällt es hier nicht? Du kannst jederzeit den Server wechseln und ebenso deine Follower übertragen.", "domain_pill.your_server": "Dein digitales Zuhause. Hier „leben“ alle Beiträge von dir. Dir gefällt es hier nicht? Du kannst jederzeit den Server wechseln und ebenso deine Follower übertragen.",
"domain_pill.your_username": "Deine eindeutige Identität auf diesem Server. Es ist möglich, Profile mit dem gleichen Profilnamen auf verschiedenen Servern zu finden.", "domain_pill.your_username": "Deine eindeutige Identität auf diesem Server. Es ist möglich, Profile mit dem gleichen Profilnamen auf verschiedenen Servern zu finden.",
"embed.instructions": "Du kannst diesen Beitrag außerhalb des Fediverse (z. B. auf deiner Website) einbetten, indem du diesen iFrame-Code einfügst.", "embed.instructions": "Du kannst diesen Beitrag auf deiner Website einbetten, indem du den nachfolgenden Code kopierst.",
"embed.preview": "Vorschau:", "embed.preview": "Vorschau:",
"emoji_button.activity": "Aktivitäten", "emoji_button.activity": "Aktivitäten",
"emoji_button.clear": "Leeren", "emoji_button.clear": "Leeren",
@ -559,8 +559,6 @@
"notifications.column_settings.admin.report": "Neue Meldungen:", "notifications.column_settings.admin.report": "Neue Meldungen:",
"notifications.column_settings.admin.sign_up": "Neue Registrierungen:", "notifications.column_settings.admin.sign_up": "Neue Registrierungen:",
"notifications.column_settings.alert": "Desktop-Benachrichtigungen", "notifications.column_settings.alert": "Desktop-Benachrichtigungen",
"notifications.column_settings.beta.category": "Experimentelle Funktionen",
"notifications.column_settings.beta.grouping": "Benachrichtigungen gruppieren",
"notifications.column_settings.favourite": "Favoriten:", "notifications.column_settings.favourite": "Favoriten:",
"notifications.column_settings.filter_bar.advanced": "Alle Filterkategorien anzeigen", "notifications.column_settings.filter_bar.advanced": "Alle Filterkategorien anzeigen",
"notifications.column_settings.filter_bar.category": "Filterleiste", "notifications.column_settings.filter_bar.category": "Filterleiste",
@ -777,7 +775,7 @@
"status.admin_domain": "{domain} moderieren", "status.admin_domain": "{domain} moderieren",
"status.admin_status": "Beitrag moderieren", "status.admin_status": "Beitrag moderieren",
"status.block": "@{name} blockieren", "status.block": "@{name} blockieren",
"status.bookmark": "Beitrag als Lesezeichen setzen", "status.bookmark": "Lesezeichen setzen",
"status.cancel_reblog_private": "Beitrag nicht mehr teilen", "status.cancel_reblog_private": "Beitrag nicht mehr teilen",
"status.cannot_reblog": "Dieser Beitrag kann nicht geteilt werden", "status.cannot_reblog": "Dieser Beitrag kann nicht geteilt werden",
"status.continued_thread": "Fortgeführter Thread", "status.continued_thread": "Fortgeführter Thread",
@ -789,7 +787,7 @@
"status.edit": "Beitrag bearbeiten", "status.edit": "Beitrag bearbeiten",
"status.edited": "Zuletzt am {date} bearbeitet", "status.edited": "Zuletzt am {date} bearbeitet",
"status.edited_x_times": "{count, plural, one {{count}-mal} other {{count}-mal}} bearbeitet", "status.edited_x_times": "{count, plural, one {{count}-mal} other {{count}-mal}} bearbeitet",
"status.embed": "Beitrag per iFrame einbetten", "status.embed": "Code zum Einbetten",
"status.favourite": "Favorisieren", "status.favourite": "Favorisieren",
"status.favourites": "{count, plural, one {Mal favorisiert} other {Mal favorisiert}}", "status.favourites": "{count, plural, one {Mal favorisiert} other {Mal favorisiert}}",
"status.filter": "Beitrag filtern", "status.filter": "Beitrag filtern",

View file

@ -551,8 +551,6 @@
"notifications.column_settings.admin.report": "Νέες αναφορές:", "notifications.column_settings.admin.report": "Νέες αναφορές:",
"notifications.column_settings.admin.sign_up": "Νέες εγγραφές:", "notifications.column_settings.admin.sign_up": "Νέες εγγραφές:",
"notifications.column_settings.alert": "Ειδοποιήσεις επιφάνειας εργασίας", "notifications.column_settings.alert": "Ειδοποιήσεις επιφάνειας εργασίας",
"notifications.column_settings.beta.category": "Πειραματικές λειτουργίες",
"notifications.column_settings.beta.grouping": "Ομαδοποίηση ειδοποιήσεων",
"notifications.column_settings.favourite": "Αγαπημένα:", "notifications.column_settings.favourite": "Αγαπημένα:",
"notifications.column_settings.filter_bar.advanced": "Εμφάνιση όλων των κατηγοριών", "notifications.column_settings.filter_bar.advanced": "Εμφάνιση όλων των κατηγοριών",
"notifications.column_settings.filter_bar.category": "Μπάρα γρήγορου φίλτρου", "notifications.column_settings.filter_bar.category": "Μπάρα γρήγορου φίλτρου",
@ -780,7 +778,6 @@
"status.edit": "Επεξεργασία", "status.edit": "Επεξεργασία",
"status.edited": "Τελευταία επεξεργασία {date}", "status.edited": "Τελευταία επεξεργασία {date}",
"status.edited_x_times": "Επεξεργάστηκε {count, plural, one {{count} φορά} other {{count} φορές}}", "status.edited_x_times": "Επεξεργάστηκε {count, plural, one {{count} φορά} other {{count} φορές}}",
"status.embed": "Ενσωμάτωσε",
"status.favourite": "Αγαπημένα", "status.favourite": "Αγαπημένα",
"status.favourites": "{count, plural, one {# αγαπημένο} other {# αγαπημένα}}", "status.favourites": "{count, plural, one {# αγαπημένο} other {# αγαπημένα}}",
"status.filter": "Φιλτράρισμα αυτής της ανάρτησης", "status.filter": "Φιλτράρισμα αυτής της ανάρτησης",

View file

@ -559,8 +559,6 @@
"notifications.column_settings.admin.report": "New reports:", "notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "New sign-ups:",
"notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.alert": "Desktop notifications",
"notifications.column_settings.beta.category": "Experimental features",
"notifications.column_settings.beta.grouping": "Group notifications",
"notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.favourite": "Favourites:",
"notifications.column_settings.filter_bar.advanced": "Display all categories", "notifications.column_settings.filter_bar.advanced": "Display all categories",
"notifications.column_settings.filter_bar.category": "Quick filter bar", "notifications.column_settings.filter_bar.category": "Quick filter bar",
@ -789,7 +787,7 @@
"status.edit": "Edit", "status.edit": "Edit",
"status.edited": "Last edited {date}", "status.edited": "Last edited {date}",
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
"status.embed": "Embed", "status.embed": "Get embed code",
"status.favourite": "Favourite", "status.favourite": "Favourite",
"status.favourites": "{count, plural, one {favorite} other {favorites}}", "status.favourites": "{count, plural, one {favorite} other {favorites}}",
"status.filter": "Filter this post", "status.filter": "Filter this post",

View file

@ -679,8 +679,6 @@
"notifications.column_settings.admin.report": "New reports:", "notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "New sign-ups:",
"notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.alert": "Desktop notifications",
"notifications.column_settings.beta.category": "Experimental features",
"notifications.column_settings.beta.grouping": "Group notifications",
"notifications.column_settings.emoji_reaction": "Emoji reactions:", "notifications.column_settings.emoji_reaction": "Emoji reactions:",
"notifications.column_settings.favourite": "Favorites:", "notifications.column_settings.favourite": "Favorites:",
"notifications.column_settings.filter_bar.advanced": "Display all categories", "notifications.column_settings.filter_bar.advanced": "Display all categories",

View file

@ -628,7 +628,6 @@
"status.direct_indicator": "Privata mencio", "status.direct_indicator": "Privata mencio",
"status.edit": "Redakti", "status.edit": "Redakti",
"status.edited_x_times": "Redactita {count, plural, one {{count} fojon} other {{count} fojojn}}", "status.edited_x_times": "Redactita {count, plural, one {{count} fojon} other {{count} fojojn}}",
"status.embed": "Enkorpigi",
"status.favourite": "Ŝatata", "status.favourite": "Ŝatata",
"status.filter": "Filtri ĉi tiun afiŝon", "status.filter": "Filtri ĉi tiun afiŝon",
"status.history.created": "{name} kreis {date}", "status.history.created": "{name} kreis {date}",

View file

@ -559,8 +559,6 @@
"notifications.column_settings.admin.report": "Nuevas denuncias:", "notifications.column_settings.admin.report": "Nuevas denuncias:",
"notifications.column_settings.admin.sign_up": "Nuevos registros:", "notifications.column_settings.admin.sign_up": "Nuevos registros:",
"notifications.column_settings.alert": "Notificaciones de escritorio", "notifications.column_settings.alert": "Notificaciones de escritorio",
"notifications.column_settings.beta.category": "Funciones experimentales",
"notifications.column_settings.beta.grouping": "Agrupar notificaciones",
"notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.favourite": "Favoritos:",
"notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorías", "notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorías",
"notifications.column_settings.filter_bar.category": "Barra de filtrado rápido", "notifications.column_settings.filter_bar.category": "Barra de filtrado rápido",
@ -789,7 +787,7 @@
"status.edit": "Editar", "status.edit": "Editar",
"status.edited": "Última edición: {date}", "status.edited": "Última edición: {date}",
"status.edited_x_times": "Editado {count, plural, one {{count} vez} other {{count} veces}}", "status.edited_x_times": "Editado {count, plural, one {{count} vez} other {{count} veces}}",
"status.embed": "Insertar", "status.embed": "Obtener código para insertar",
"status.favourite": "Marcar como favorito", "status.favourite": "Marcar como favorito",
"status.favourites": "{count, plural, one {# voto} other {# votos}}", "status.favourites": "{count, plural, one {# voto} other {# votos}}",
"status.filter": "Filtrar este mensaje", "status.filter": "Filtrar este mensaje",

View file

@ -376,7 +376,7 @@
"ignore_notifications_modal.ignore": "Ignorar notificaciones", "ignore_notifications_modal.ignore": "Ignorar notificaciones",
"ignore_notifications_modal.limited_accounts_title": "¿Ignorar notificaciones de cuentas moderadas?", "ignore_notifications_modal.limited_accounts_title": "¿Ignorar notificaciones de cuentas moderadas?",
"ignore_notifications_modal.new_accounts_title": "¿Ignorar notificaciones de cuentas nuevas?", "ignore_notifications_modal.new_accounts_title": "¿Ignorar notificaciones de cuentas nuevas?",
"ignore_notifications_modal.not_followers_title": "¿Ignorar notificaciones de personas que no te sigue?", "ignore_notifications_modal.not_followers_title": "¿Ignorar notificaciones de personas que no te siguen?",
"ignore_notifications_modal.not_following_title": "¿Ignorar notificaciones de personas a las que no sigues?", "ignore_notifications_modal.not_following_title": "¿Ignorar notificaciones de personas a las que no sigues?",
"ignore_notifications_modal.private_mentions_title": "¿Ignorar notificaciones de menciones privadas no solicitadas?", "ignore_notifications_modal.private_mentions_title": "¿Ignorar notificaciones de menciones privadas no solicitadas?",
"interaction_modal.description.favourite": "Con una cuenta en Mastodon, puedes marcar como favorita esta publicación para que el autor sepa que te gusta, y guardala para más adelante.", "interaction_modal.description.favourite": "Con una cuenta en Mastodon, puedes marcar como favorita esta publicación para que el autor sepa que te gusta, y guardala para más adelante.",
@ -457,6 +457,7 @@
"lists.subheading": "Tus listas", "lists.subheading": "Tus listas",
"load_pending": "{count, plural, one {# nuevo elemento} other {# nuevos elementos}}", "load_pending": "{count, plural, one {# nuevo elemento} other {# nuevos elementos}}",
"loading_indicator.label": "Cargando…", "loading_indicator.label": "Cargando…",
"media_gallery.hide": "Ocultar",
"moved_to_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada porque te has mudado a {movedToAccount}.", "moved_to_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada porque te has mudado a {movedToAccount}.",
"mute_modal.hide_from_notifications": "Ocultar de las notificaciones", "mute_modal.hide_from_notifications": "Ocultar de las notificaciones",
"mute_modal.hide_options": "Ocultar opciones", "mute_modal.hide_options": "Ocultar opciones",
@ -558,8 +559,6 @@
"notifications.column_settings.admin.report": "Nuevas denuncias:", "notifications.column_settings.admin.report": "Nuevas denuncias:",
"notifications.column_settings.admin.sign_up": "Registros nuevos:", "notifications.column_settings.admin.sign_up": "Registros nuevos:",
"notifications.column_settings.alert": "Notificaciones de escritorio", "notifications.column_settings.alert": "Notificaciones de escritorio",
"notifications.column_settings.beta.category": "Características experimentales",
"notifications.column_settings.beta.grouping": "Agrupar notificaciones",
"notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.favourite": "Favoritos:",
"notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorías", "notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorías",
"notifications.column_settings.filter_bar.category": "Barra de filtrado rápido", "notifications.column_settings.filter_bar.category": "Barra de filtrado rápido",
@ -779,6 +778,7 @@
"status.bookmark": "Añadir marcador", "status.bookmark": "Añadir marcador",
"status.cancel_reblog_private": "Eliminar retoot", "status.cancel_reblog_private": "Eliminar retoot",
"status.cannot_reblog": "Este toot no puede retootearse", "status.cannot_reblog": "Este toot no puede retootearse",
"status.continued_thread": "Continuó el hilo",
"status.copy": "Copiar enlace al estado", "status.copy": "Copiar enlace al estado",
"status.delete": "Borrar", "status.delete": "Borrar",
"status.detailed_status": "Vista de conversación detallada", "status.detailed_status": "Vista de conversación detallada",
@ -787,7 +787,7 @@
"status.edit": "Editar", "status.edit": "Editar",
"status.edited": "Última edición {date}", "status.edited": "Última edición {date}",
"status.edited_x_times": "Editado {count, plural, one {{count} time} other {{count} veces}}", "status.edited_x_times": "Editado {count, plural, one {{count} time} other {{count} veces}}",
"status.embed": "Incrustado", "status.embed": "Obtener código para incrustar",
"status.favourite": "Favorito", "status.favourite": "Favorito",
"status.favourites": "{count, plural, one {favorito} other {favoritos}}", "status.favourites": "{count, plural, one {favorito} other {favoritos}}",
"status.filter": "Filtrar esta publicación", "status.filter": "Filtrar esta publicación",
@ -812,6 +812,7 @@
"status.reblogs.empty": "Nadie retooteó este toot todavía. Cuando alguien lo haga, aparecerá aquí.", "status.reblogs.empty": "Nadie retooteó este toot todavía. Cuando alguien lo haga, aparecerá aquí.",
"status.redraft": "Borrar y volver a borrador", "status.redraft": "Borrar y volver a borrador",
"status.remove_bookmark": "Eliminar marcador", "status.remove_bookmark": "Eliminar marcador",
"status.replied_in_thread": "Respondió en el hilo",
"status.replied_to": "Respondió a {name}", "status.replied_to": "Respondió a {name}",
"status.reply": "Responder", "status.reply": "Responder",
"status.replyAll": "Responder al hilo", "status.replyAll": "Responder al hilo",

View file

@ -376,7 +376,7 @@
"ignore_notifications_modal.ignore": "Ignorar notificaciones", "ignore_notifications_modal.ignore": "Ignorar notificaciones",
"ignore_notifications_modal.limited_accounts_title": "¿Ignorar notificaciones de cuentas moderadas?", "ignore_notifications_modal.limited_accounts_title": "¿Ignorar notificaciones de cuentas moderadas?",
"ignore_notifications_modal.new_accounts_title": "¿Ignorar notificaciones de cuentas nuevas?", "ignore_notifications_modal.new_accounts_title": "¿Ignorar notificaciones de cuentas nuevas?",
"ignore_notifications_modal.not_followers_title": "¿Ignorar notificaciones de personas que no te sigue?", "ignore_notifications_modal.not_followers_title": "¿Ignorar notificaciones de personas que no te siguen?",
"ignore_notifications_modal.not_following_title": "¿Ignorar notificaciones de personas a las que no sigues?", "ignore_notifications_modal.not_following_title": "¿Ignorar notificaciones de personas a las que no sigues?",
"ignore_notifications_modal.private_mentions_title": "¿Ignorar notificaciones de menciones privadas no solicitadas?", "ignore_notifications_modal.private_mentions_title": "¿Ignorar notificaciones de menciones privadas no solicitadas?",
"interaction_modal.description.favourite": "Con una cuenta en Mastodon, puedes marcar como favorita esta publicación para que el autor sepa que te gusta, y guardala para más adelante.", "interaction_modal.description.favourite": "Con una cuenta en Mastodon, puedes marcar como favorita esta publicación para que el autor sepa que te gusta, y guardala para más adelante.",
@ -457,6 +457,7 @@
"lists.subheading": "Tus listas", "lists.subheading": "Tus listas",
"load_pending": "{count, plural, one {# nuevo elemento} other {# nuevos elementos}}", "load_pending": "{count, plural, one {# nuevo elemento} other {# nuevos elementos}}",
"loading_indicator.label": "Cargando…", "loading_indicator.label": "Cargando…",
"media_gallery.hide": "Ocultar",
"moved_to_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada porque te has mudado a {movedToAccount}.", "moved_to_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada porque te has mudado a {movedToAccount}.",
"mute_modal.hide_from_notifications": "Ocultar de las notificaciones", "mute_modal.hide_from_notifications": "Ocultar de las notificaciones",
"mute_modal.hide_options": "Ocultar opciones", "mute_modal.hide_options": "Ocultar opciones",
@ -558,8 +559,6 @@
"notifications.column_settings.admin.report": "Nuevos informes:", "notifications.column_settings.admin.report": "Nuevos informes:",
"notifications.column_settings.admin.sign_up": "Nuevos registros:", "notifications.column_settings.admin.sign_up": "Nuevos registros:",
"notifications.column_settings.alert": "Notificaciones de escritorio", "notifications.column_settings.alert": "Notificaciones de escritorio",
"notifications.column_settings.beta.category": "Características experimentales",
"notifications.column_settings.beta.grouping": "Agrupar notificaciones",
"notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.favourite": "Favoritos:",
"notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorías", "notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorías",
"notifications.column_settings.filter_bar.category": "Barra de filtrado rápido", "notifications.column_settings.filter_bar.category": "Barra de filtrado rápido",
@ -779,6 +778,7 @@
"status.bookmark": "Añadir marcador", "status.bookmark": "Añadir marcador",
"status.cancel_reblog_private": "Deshacer impulso", "status.cancel_reblog_private": "Deshacer impulso",
"status.cannot_reblog": "Esta publicación no se puede impulsar", "status.cannot_reblog": "Esta publicación no se puede impulsar",
"status.continued_thread": "Continuó el hilo",
"status.copy": "Copiar enlace a la publicación", "status.copy": "Copiar enlace a la publicación",
"status.delete": "Borrar", "status.delete": "Borrar",
"status.detailed_status": "Vista de conversación detallada", "status.detailed_status": "Vista de conversación detallada",
@ -787,7 +787,7 @@
"status.edit": "Editar", "status.edit": "Editar",
"status.edited": "Última edición {date}", "status.edited": "Última edición {date}",
"status.edited_x_times": "Editado {count, plural, one {{count} vez} other {{count} veces}}", "status.edited_x_times": "Editado {count, plural, one {{count} vez} other {{count} veces}}",
"status.embed": "Incrustado", "status.embed": "Obtener código para incrustar",
"status.favourite": "Favorito", "status.favourite": "Favorito",
"status.favourites": "{count, plural, one {favorito} other {favoritos}}", "status.favourites": "{count, plural, one {favorito} other {favoritos}}",
"status.filter": "Filtrar esta publicación", "status.filter": "Filtrar esta publicación",
@ -812,6 +812,7 @@
"status.reblogs.empty": "Nadie ha impulsado esta publicación todavía. Cuando alguien lo haga, aparecerá aquí.", "status.reblogs.empty": "Nadie ha impulsado esta publicación todavía. Cuando alguien lo haga, aparecerá aquí.",
"status.redraft": "Borrar y volver a borrador", "status.redraft": "Borrar y volver a borrador",
"status.remove_bookmark": "Eliminar marcador", "status.remove_bookmark": "Eliminar marcador",
"status.replied_in_thread": "Respondió en el hilo",
"status.replied_to": "Respondió a {name}", "status.replied_to": "Respondió a {name}",
"status.reply": "Responder", "status.reply": "Responder",
"status.replyAll": "Responder al hilo", "status.replyAll": "Responder al hilo",

View file

@ -457,6 +457,7 @@
"lists.subheading": "Sinu nimekirjad", "lists.subheading": "Sinu nimekirjad",
"load_pending": "{count, plural, one {# uus kirje} other {# uut kirjet}}", "load_pending": "{count, plural, one {# uus kirje} other {# uut kirjet}}",
"loading_indicator.label": "Laadimine…", "loading_indicator.label": "Laadimine…",
"media_gallery.hide": "Peida",
"moved_to_account_banner.text": "Kontot {disabledAccount} ei ole praegu võimalik kasutada, sest kolisid kontole {movedToAccount}.", "moved_to_account_banner.text": "Kontot {disabledAccount} ei ole praegu võimalik kasutada, sest kolisid kontole {movedToAccount}.",
"mute_modal.hide_from_notifications": "Peida teavituste hulgast", "mute_modal.hide_from_notifications": "Peida teavituste hulgast",
"mute_modal.hide_options": "Peida valikud", "mute_modal.hide_options": "Peida valikud",
@ -558,8 +559,6 @@
"notifications.column_settings.admin.report": "Uued teavitused:", "notifications.column_settings.admin.report": "Uued teavitused:",
"notifications.column_settings.admin.sign_up": "Uued kasutajad:", "notifications.column_settings.admin.sign_up": "Uued kasutajad:",
"notifications.column_settings.alert": "Töölauateated", "notifications.column_settings.alert": "Töölauateated",
"notifications.column_settings.beta.category": "Eksperimentaalsed oskused",
"notifications.column_settings.beta.grouping": "Teavituste rühmitamine",
"notifications.column_settings.favourite": "Lemmikud:", "notifications.column_settings.favourite": "Lemmikud:",
"notifications.column_settings.filter_bar.advanced": "Näita kõiki kategooriaid", "notifications.column_settings.filter_bar.advanced": "Näita kõiki kategooriaid",
"notifications.column_settings.filter_bar.category": "Kiirfiltri riba", "notifications.column_settings.filter_bar.category": "Kiirfiltri riba",
@ -779,6 +778,7 @@
"status.bookmark": "Järjehoidja", "status.bookmark": "Järjehoidja",
"status.cancel_reblog_private": "Lõpeta jagamine", "status.cancel_reblog_private": "Lõpeta jagamine",
"status.cannot_reblog": "Seda postitust ei saa jagada", "status.cannot_reblog": "Seda postitust ei saa jagada",
"status.continued_thread": "Jätkatud lõim",
"status.copy": "Kopeeri postituse link", "status.copy": "Kopeeri postituse link",
"status.delete": "Kustuta", "status.delete": "Kustuta",
"status.detailed_status": "Detailne vestluskuva", "status.detailed_status": "Detailne vestluskuva",
@ -787,7 +787,7 @@
"status.edit": "Muuda", "status.edit": "Muuda",
"status.edited": "Viimati muudetud {date}", "status.edited": "Viimati muudetud {date}",
"status.edited_x_times": "Muudetud {count, plural, one{{count} kord} other {{count} korda}}", "status.edited_x_times": "Muudetud {count, plural, one{{count} kord} other {{count} korda}}",
"status.embed": "Manustamine", "status.embed": "Hangi manustamiskood",
"status.favourite": "Lemmik", "status.favourite": "Lemmik",
"status.favourites": "{count, plural, one {lemmik} other {lemmikud}}", "status.favourites": "{count, plural, one {lemmik} other {lemmikud}}",
"status.filter": "Filtreeri seda postitust", "status.filter": "Filtreeri seda postitust",
@ -812,6 +812,7 @@
"status.reblogs.empty": "Keegi pole seda postitust veel jaganud. Kui keegi seda teeb, näeb seda siin.", "status.reblogs.empty": "Keegi pole seda postitust veel jaganud. Kui keegi seda teeb, näeb seda siin.",
"status.redraft": "Kustuta & alga uuesti", "status.redraft": "Kustuta & alga uuesti",
"status.remove_bookmark": "Eemalda järjehoidja", "status.remove_bookmark": "Eemalda järjehoidja",
"status.replied_in_thread": "Vastatud lõimes",
"status.replied_to": "Vastas kasutajale {name}", "status.replied_to": "Vastas kasutajale {name}",
"status.reply": "Vasta", "status.reply": "Vasta",
"status.replyAll": "Vasta lõimele", "status.replyAll": "Vasta lõimele",

View file

@ -457,6 +457,7 @@
"lists.subheading": "Zure zerrendak", "lists.subheading": "Zure zerrendak",
"load_pending": "{count, plural, one {elementu berri #} other {# elementu berri}}", "load_pending": "{count, plural, one {elementu berri #} other {# elementu berri}}",
"loading_indicator.label": "Kargatzen…", "loading_indicator.label": "Kargatzen…",
"media_gallery.hide": "Ezkutatu",
"moved_to_account_banner.text": "Zure {disabledAccount} kontua desgaituta dago une honetan, {movedToAccount} kontura aldatu zinelako.", "moved_to_account_banner.text": "Zure {disabledAccount} kontua desgaituta dago une honetan, {movedToAccount} kontura aldatu zinelako.",
"mute_modal.hide_from_notifications": "Ezkutatu jakinarazpenetatik", "mute_modal.hide_from_notifications": "Ezkutatu jakinarazpenetatik",
"mute_modal.hide_options": "Ezkutatu aukerak", "mute_modal.hide_options": "Ezkutatu aukerak",
@ -554,8 +555,6 @@
"notifications.column_settings.admin.report": "Txosten berriak:", "notifications.column_settings.admin.report": "Txosten berriak:",
"notifications.column_settings.admin.sign_up": "Izen-emate berriak:", "notifications.column_settings.admin.sign_up": "Izen-emate berriak:",
"notifications.column_settings.alert": "Mahaigaineko jakinarazpenak", "notifications.column_settings.alert": "Mahaigaineko jakinarazpenak",
"notifications.column_settings.beta.category": "Ezaugarri esperimentalak",
"notifications.column_settings.beta.grouping": "Multzokatu jakinarazpenak",
"notifications.column_settings.favourite": "Gogokoak:", "notifications.column_settings.favourite": "Gogokoak:",
"notifications.column_settings.filter_bar.advanced": "Bistaratu kategoria guztiak", "notifications.column_settings.filter_bar.advanced": "Bistaratu kategoria guztiak",
"notifications.column_settings.filter_bar.category": "Iragazki-barra bizkorra", "notifications.column_settings.filter_bar.category": "Iragazki-barra bizkorra",
@ -775,6 +774,7 @@
"status.bookmark": "Laster-marka", "status.bookmark": "Laster-marka",
"status.cancel_reblog_private": "Kendu bultzada", "status.cancel_reblog_private": "Kendu bultzada",
"status.cannot_reblog": "Bidalketa honi ezin zaio bultzada eman", "status.cannot_reblog": "Bidalketa honi ezin zaio bultzada eman",
"status.continued_thread": "Harian jarraitu zuen",
"status.copy": "Kopiatu bidalketaren esteka", "status.copy": "Kopiatu bidalketaren esteka",
"status.delete": "Ezabatu", "status.delete": "Ezabatu",
"status.detailed_status": "Elkarrizketaren ikuspegi xehetsua", "status.detailed_status": "Elkarrizketaren ikuspegi xehetsua",
@ -783,7 +783,7 @@
"status.edit": "Editatu", "status.edit": "Editatu",
"status.edited": "Azken edizioa: {date}", "status.edited": "Azken edizioa: {date}",
"status.edited_x_times": "{count, plural, one {behin} other {{count} aldiz}} editatua", "status.edited_x_times": "{count, plural, one {behin} other {{count} aldiz}} editatua",
"status.embed": "Txertatu", "status.embed": "Lortu txertatzeko kodea",
"status.favourite": "Gogokoa", "status.favourite": "Gogokoa",
"status.favourites": "{count, plural, one {gogoko} other {gogoko}}", "status.favourites": "{count, plural, one {gogoko} other {gogoko}}",
"status.filter": "Iragazi bidalketa hau", "status.filter": "Iragazi bidalketa hau",
@ -808,6 +808,7 @@
"status.reblogs.empty": "Inork ez dio bultzada eman bidalketa honi oraindik. Inork egiten badu, hemen agertuko da.", "status.reblogs.empty": "Inork ez dio bultzada eman bidalketa honi oraindik. Inork egiten badu, hemen agertuko da.",
"status.redraft": "Ezabatu eta berridatzi", "status.redraft": "Ezabatu eta berridatzi",
"status.remove_bookmark": "Kendu laster-marka", "status.remove_bookmark": "Kendu laster-marka",
"status.replied_in_thread": "Harian erantzun zuen",
"status.replied_to": "{name} erabiltzaileari erantzuna", "status.replied_to": "{name} erabiltzaileari erantzuna",
"status.reply": "Erantzun", "status.reply": "Erantzun",
"status.replyAll": "Erantzun harian", "status.replyAll": "Erantzun harian",

View file

@ -447,6 +447,7 @@
"lists.subheading": "سیاهه‌هایتان", "lists.subheading": "سیاهه‌هایتان",
"load_pending": "{count, plural, one {# مورد جدید} other {# مورد جدید}}", "load_pending": "{count, plural, one {# مورد جدید} other {# مورد جدید}}",
"loading_indicator.label": "در حال بارگذاری…", "loading_indicator.label": "در حال بارگذاری…",
"media_gallery.hide": "نهفتن",
"moved_to_account_banner.text": "حسابتان {disabledAccount} اکنون از کار افتاده؛ چرا که به {movedToAccount} منتقل شدید.", "moved_to_account_banner.text": "حسابتان {disabledAccount} اکنون از کار افتاده؛ چرا که به {movedToAccount} منتقل شدید.",
"mute_modal.hide_from_notifications": "نهفتن از آگاهی‌ها", "mute_modal.hide_from_notifications": "نهفتن از آگاهی‌ها",
"mute_modal.hide_options": "گزینه‌های نهفتن", "mute_modal.hide_options": "گزینه‌های نهفتن",
@ -487,9 +488,13 @@
"notification.admin.report": "{name}، {target} را گزارش داد", "notification.admin.report": "{name}، {target} را گزارش داد",
"notification.admin.report_statuses_other": "{name}، {target} را گزارش داد", "notification.admin.report_statuses_other": "{name}، {target} را گزارش داد",
"notification.admin.sign_up": "{name} ثبت نام کرد", "notification.admin.sign_up": "{name} ثبت نام کرد",
"notification.admin.sign_up.name_and_others": "{name} و {count, plural, one {# نفر دیگر} other {# نفر دیگر}} ثبت‌نام کردند",
"notification.favourite": "{name} فرسته‌تان را برگزید", "notification.favourite": "{name} فرسته‌تان را برگزید",
"notification.favourite.name_and_others_with_link": "{name} و <a>{count, plural, one {# نفر دیگر} other {# نفر دیگر}}</a> فرسته‌تان را برگزیدند",
"notification.follow": "{name} پی‌گیرتان شد", "notification.follow": "{name} پی‌گیرتان شد",
"notification.follow.name_and_others": "{name} و {count, plural, one {# نفر دیگر} other {# نفر دیگر}} پیتان گرفتند",
"notification.follow_request": "{name} درخواست پی‌گیریتان را داد", "notification.follow_request": "{name} درخواست پی‌گیریتان را داد",
"notification.follow_request.name_and_others": "{name} و {count, plural, one {# نفر دیگر} other {# نفر دیگر}} درخواست پی‌گیریتان را دادند",
"notification.label.mention": "اشاره", "notification.label.mention": "اشاره",
"notification.label.private_mention": "اشارهٔ خصوصی", "notification.label.private_mention": "اشارهٔ خصوصی",
"notification.label.private_reply": "پاسخ خصوصی", "notification.label.private_reply": "پاسخ خصوصی",
@ -507,6 +512,7 @@
"notification.own_poll": "نظرسنجیتان پایان یافت", "notification.own_poll": "نظرسنجیتان پایان یافت",
"notification.poll": "نظرسنجی‌ای که در آن رأی دادید به پایان رسید", "notification.poll": "نظرسنجی‌ای که در آن رأی دادید به پایان رسید",
"notification.reblog": "{name} فرسته‌تان را تقویت کرد", "notification.reblog": "{name} فرسته‌تان را تقویت کرد",
"notification.reblog.name_and_others_with_link": "{name} و <a>{count, plural, one {# نفر دیگر} other {# نفر دیگر}}</a> فرسته‌تان را تقویت کردند",
"notification.relationships_severance_event": "قطع ارتباط با {name}", "notification.relationships_severance_event": "قطع ارتباط با {name}",
"notification.relationships_severance_event.learn_more": "بیشتر بدانید", "notification.relationships_severance_event.learn_more": "بیشتر بدانید",
"notification.status": "{name} چیزی فرستاد", "notification.status": "{name} چیزی فرستاد",
@ -528,8 +534,6 @@
"notifications.column_settings.admin.report": "گزارش‌های جدید:", "notifications.column_settings.admin.report": "گزارش‌های جدید:",
"notifications.column_settings.admin.sign_up": "ثبت نام‌های جدید:", "notifications.column_settings.admin.sign_up": "ثبت نام‌های جدید:",
"notifications.column_settings.alert": "آگاهی‌های میزکار", "notifications.column_settings.alert": "آگاهی‌های میزکار",
"notifications.column_settings.beta.category": "ویژگی‌های آزمایشی",
"notifications.column_settings.beta.grouping": "گروه‌بندی آگاهی‌ها",
"notifications.column_settings.favourite": "برگزیده‌ها:", "notifications.column_settings.favourite": "برگزیده‌ها:",
"notifications.column_settings.filter_bar.advanced": "نمایش همۀ دسته‌ها", "notifications.column_settings.filter_bar.advanced": "نمایش همۀ دسته‌ها",
"notifications.column_settings.filter_bar.category": "نوار پالایش سریع", "notifications.column_settings.filter_bar.category": "نوار پالایش سریع",
@ -742,6 +746,7 @@
"status.bookmark": "نشانک", "status.bookmark": "نشانک",
"status.cancel_reblog_private": "ناتقویت", "status.cancel_reblog_private": "ناتقویت",
"status.cannot_reblog": "این فرسته قابل تقویت نیست", "status.cannot_reblog": "این فرسته قابل تقویت نیست",
"status.continued_thread": "رشتهٔ دنباله دار",
"status.copy": "رونوشت از پیوند فرسته", "status.copy": "رونوشت از پیوند فرسته",
"status.delete": "حذف", "status.delete": "حذف",
"status.detailed_status": "نمایش کامل گفتگو", "status.detailed_status": "نمایش کامل گفتگو",
@ -750,7 +755,6 @@
"status.edit": "ویرایش", "status.edit": "ویرایش",
"status.edited": "آخرین ویرایش {date}", "status.edited": "آخرین ویرایش {date}",
"status.edited_x_times": "{count, plural, one {{count} مرتبه} other {{count} مرتبه}} ویرایش شد", "status.edited_x_times": "{count, plural, one {{count} مرتبه} other {{count} مرتبه}} ویرایش شد",
"status.embed": "جاسازی",
"status.favourite": "برگزیده‌", "status.favourite": "برگزیده‌",
"status.favourites": "{count, plural, one {برگزیده} other {برگزیده}}", "status.favourites": "{count, plural, one {برگزیده} other {برگزیده}}",
"status.filter": "پالایش این فرسته", "status.filter": "پالایش این فرسته",
@ -775,6 +779,7 @@
"status.reblogs.empty": "هنوز هیچ کسی این فرسته را تقویت نکرده است. وقتی کسی چنین کاری کند، این‌جا نمایش داده خواهد شد.", "status.reblogs.empty": "هنوز هیچ کسی این فرسته را تقویت نکرده است. وقتی کسی چنین کاری کند، این‌جا نمایش داده خواهد شد.",
"status.redraft": "حذف و بازنویسی", "status.redraft": "حذف و بازنویسی",
"status.remove_bookmark": "برداشتن نشانک", "status.remove_bookmark": "برداشتن نشانک",
"status.replied_in_thread": "در رشته پاسخ داده",
"status.replied_to": "به {name} پاسخ داد", "status.replied_to": "به {name} پاسخ داد",
"status.reply": "پاسخ", "status.reply": "پاسخ",
"status.replyAll": "پاسخ به رشته", "status.replyAll": "پاسخ به رشته",

View file

@ -559,8 +559,6 @@
"notifications.column_settings.admin.report": "Uudet raportit:", "notifications.column_settings.admin.report": "Uudet raportit:",
"notifications.column_settings.admin.sign_up": "Uudet rekisteröitymiset:", "notifications.column_settings.admin.sign_up": "Uudet rekisteröitymiset:",
"notifications.column_settings.alert": "Työpöytäilmoitukset", "notifications.column_settings.alert": "Työpöytäilmoitukset",
"notifications.column_settings.beta.category": "Kokeelliset ominaisuudet",
"notifications.column_settings.beta.grouping": "Ryhmittele ilmoitukset",
"notifications.column_settings.favourite": "Suosikit:", "notifications.column_settings.favourite": "Suosikit:",
"notifications.column_settings.filter_bar.advanced": "Näytä kaikki luokat", "notifications.column_settings.filter_bar.advanced": "Näytä kaikki luokat",
"notifications.column_settings.filter_bar.category": "Pikasuodatuspalkki", "notifications.column_settings.filter_bar.category": "Pikasuodatuspalkki",
@ -789,7 +787,7 @@
"status.edit": "Muokkaa", "status.edit": "Muokkaa",
"status.edited": "Viimeksi muokattu {date}", "status.edited": "Viimeksi muokattu {date}",
"status.edited_x_times": "Muokattu {count, plural, one {{count} kerran} other {{count} kertaa}}", "status.edited_x_times": "Muokattu {count, plural, one {{count} kerran} other {{count} kertaa}}",
"status.embed": "Upota", "status.embed": "Hanki upotuskoodi",
"status.favourite": "Suosikki", "status.favourite": "Suosikki",
"status.favourites": "{count, plural, one {suosikki} other {suosikkia}}", "status.favourites": "{count, plural, one {suosikki} other {suosikkia}}",
"status.filter": "Suodata tämä julkaisu", "status.filter": "Suodata tämä julkaisu",

View file

@ -559,8 +559,6 @@
"notifications.column_settings.admin.report": "Nýggjar fráboðanir:", "notifications.column_settings.admin.report": "Nýggjar fráboðanir:",
"notifications.column_settings.admin.sign_up": "Nýggjar tilmeldingar:", "notifications.column_settings.admin.sign_up": "Nýggjar tilmeldingar:",
"notifications.column_settings.alert": "Skriviborðsfráboðanir", "notifications.column_settings.alert": "Skriviborðsfráboðanir",
"notifications.column_settings.beta.category": "Royndarhentleikar",
"notifications.column_settings.beta.grouping": "Bólkafráboðanir",
"notifications.column_settings.favourite": "Dámdir postar:", "notifications.column_settings.favourite": "Dámdir postar:",
"notifications.column_settings.filter_bar.advanced": "Vís allar bólkar", "notifications.column_settings.filter_bar.advanced": "Vís allar bólkar",
"notifications.column_settings.filter_bar.category": "Skjótfilturbjálki", "notifications.column_settings.filter_bar.category": "Skjótfilturbjálki",
@ -789,7 +787,7 @@
"status.edit": "Rætta", "status.edit": "Rætta",
"status.edited": "Seinast broytt {date}", "status.edited": "Seinast broytt {date}",
"status.edited_x_times": "Rættað {count, plural, one {{count} ferð} other {{count} ferð}}", "status.edited_x_times": "Rættað {count, plural, one {{count} ferð} other {{count} ferð}}",
"status.embed": "Legg inní", "status.embed": "Fá kodu at seta inn",
"status.favourite": "Dámdur postur", "status.favourite": "Dámdur postur",
"status.favourites": "{count, plural, one {yndispostur} other {yndispostar}}", "status.favourites": "{count, plural, one {yndispostur} other {yndispostar}}",
"status.filter": "Filtrera hendan postin", "status.filter": "Filtrera hendan postin",

View file

@ -36,6 +36,7 @@
"account.followers.empty": "Personne ne suit ce compte pour l'instant.", "account.followers.empty": "Personne ne suit ce compte pour l'instant.",
"account.followers_counter": "{count, plural, one {{counter} abonné·e} other {{counter} abonné·e·s}}", "account.followers_counter": "{count, plural, one {{counter} abonné·e} other {{counter} abonné·e·s}}",
"account.following": "Abonné·e", "account.following": "Abonné·e",
"account.following_counter": "{count, plural, one {{counter} abonnement} other {{counter} abonnements}}",
"account.follows.empty": "Ce compte ne suit personne présentement.", "account.follows.empty": "Ce compte ne suit personne présentement.",
"account.go_to_profile": "Voir ce profil", "account.go_to_profile": "Voir ce profil",
"account.hide_reblogs": "Masquer les boosts de @{name}", "account.hide_reblogs": "Masquer les boosts de @{name}",
@ -456,6 +457,7 @@
"lists.subheading": "Vos listes", "lists.subheading": "Vos listes",
"load_pending": "{count, plural, one {# nouvel élément} other {# nouveaux éléments}}", "load_pending": "{count, plural, one {# nouvel élément} other {# nouveaux éléments}}",
"loading_indicator.label": "Chargement…", "loading_indicator.label": "Chargement…",
"media_gallery.hide": "Masquer",
"moved_to_account_banner.text": "Votre compte {disabledAccount} est actuellement désactivé parce que vous avez déménagé sur {movedToAccount}.", "moved_to_account_banner.text": "Votre compte {disabledAccount} est actuellement désactivé parce que vous avez déménagé sur {movedToAccount}.",
"mute_modal.hide_from_notifications": "Cacher des notifications", "mute_modal.hide_from_notifications": "Cacher des notifications",
"mute_modal.hide_options": "Masquer les options", "mute_modal.hide_options": "Masquer les options",
@ -557,8 +559,6 @@
"notifications.column_settings.admin.report": "Nouveaux signalements:", "notifications.column_settings.admin.report": "Nouveaux signalements:",
"notifications.column_settings.admin.sign_up": "Nouvelles inscriptions:", "notifications.column_settings.admin.sign_up": "Nouvelles inscriptions:",
"notifications.column_settings.alert": "Notifications navigateur", "notifications.column_settings.alert": "Notifications navigateur",
"notifications.column_settings.beta.category": "Fonctionnalités expérimentales",
"notifications.column_settings.beta.grouping": "Grouper les notifications",
"notifications.column_settings.favourite": "Favoris:", "notifications.column_settings.favourite": "Favoris:",
"notifications.column_settings.filter_bar.advanced": "Afficher toutes les catégories", "notifications.column_settings.filter_bar.advanced": "Afficher toutes les catégories",
"notifications.column_settings.filter_bar.category": "Barre de filtre rapide", "notifications.column_settings.filter_bar.category": "Barre de filtre rapide",
@ -778,6 +778,7 @@
"status.bookmark": "Ajouter aux signets", "status.bookmark": "Ajouter aux signets",
"status.cancel_reblog_private": "Débooster", "status.cancel_reblog_private": "Débooster",
"status.cannot_reblog": "Cette publication ne peut pas être boostée", "status.cannot_reblog": "Cette publication ne peut pas être boostée",
"status.continued_thread": "Suite du fil",
"status.copy": "Copier un lien vers cette publication", "status.copy": "Copier un lien vers cette publication",
"status.delete": "Supprimer", "status.delete": "Supprimer",
"status.detailed_status": "Vue détaillée de la conversation", "status.detailed_status": "Vue détaillée de la conversation",
@ -786,7 +787,7 @@
"status.edit": "Modifier", "status.edit": "Modifier",
"status.edited": "Dernière modification le {date}", "status.edited": "Dernière modification le {date}",
"status.edited_x_times": "Modifiée {count, plural, one {{count} fois} other {{count} fois}}", "status.edited_x_times": "Modifiée {count, plural, one {{count} fois} other {{count} fois}}",
"status.embed": "Intégrer", "status.embed": "Obtenir le code d'intégration",
"status.favourite": "Ajouter aux favoris", "status.favourite": "Ajouter aux favoris",
"status.favourites": "{count, plural, one {favori} other {favoris}}", "status.favourites": "{count, plural, one {favori} other {favoris}}",
"status.filter": "Filtrer cette publication", "status.filter": "Filtrer cette publication",
@ -811,6 +812,7 @@
"status.reblogs.empty": "Personne na encore boosté cette publication. Lorsque quelquun le fera, elle apparaîtra ici.", "status.reblogs.empty": "Personne na encore boosté cette publication. Lorsque quelquun le fera, elle apparaîtra ici.",
"status.redraft": "Supprimer et réécrire", "status.redraft": "Supprimer et réécrire",
"status.remove_bookmark": "Retirer des signets", "status.remove_bookmark": "Retirer des signets",
"status.replied_in_thread": "A répondu dans un fil de discussion",
"status.replied_to": "A répondu à {name}", "status.replied_to": "A répondu à {name}",
"status.reply": "Répondre", "status.reply": "Répondre",
"status.replyAll": "Répondre à cette discussion", "status.replyAll": "Répondre à cette discussion",

View file

@ -36,6 +36,7 @@
"account.followers.empty": "Personne ne suit cet·te utilisateur·rice pour linstant.", "account.followers.empty": "Personne ne suit cet·te utilisateur·rice pour linstant.",
"account.followers_counter": "{count, plural, one {{counter} abonné·e} other {{counter} abonné·e·s}}", "account.followers_counter": "{count, plural, one {{counter} abonné·e} other {{counter} abonné·e·s}}",
"account.following": "Abonnements", "account.following": "Abonnements",
"account.following_counter": "{count, plural, one {{counter} abonnement} other {{counter} abonnements}}",
"account.follows.empty": "Cet·te utilisateur·rice ne suit personne pour linstant.", "account.follows.empty": "Cet·te utilisateur·rice ne suit personne pour linstant.",
"account.go_to_profile": "Aller au profil", "account.go_to_profile": "Aller au profil",
"account.hide_reblogs": "Masquer les partages de @{name}", "account.hide_reblogs": "Masquer les partages de @{name}",
@ -456,6 +457,7 @@
"lists.subheading": "Vos listes", "lists.subheading": "Vos listes",
"load_pending": "{count, plural, one {# nouvel élément} other {# nouveaux éléments}}", "load_pending": "{count, plural, one {# nouvel élément} other {# nouveaux éléments}}",
"loading_indicator.label": "Chargement…", "loading_indicator.label": "Chargement…",
"media_gallery.hide": "Masquer",
"moved_to_account_banner.text": "Votre compte {disabledAccount} est actuellement désactivé parce que vous l'avez déplacé à {movedToAccount}.", "moved_to_account_banner.text": "Votre compte {disabledAccount} est actuellement désactivé parce que vous l'avez déplacé à {movedToAccount}.",
"mute_modal.hide_from_notifications": "Cacher des notifications", "mute_modal.hide_from_notifications": "Cacher des notifications",
"mute_modal.hide_options": "Masquer les options", "mute_modal.hide_options": "Masquer les options",
@ -557,8 +559,6 @@
"notifications.column_settings.admin.report": "Nouveaux signalements :", "notifications.column_settings.admin.report": "Nouveaux signalements :",
"notifications.column_settings.admin.sign_up": "Nouvelles inscriptions :", "notifications.column_settings.admin.sign_up": "Nouvelles inscriptions :",
"notifications.column_settings.alert": "Notifications du navigateur", "notifications.column_settings.alert": "Notifications du navigateur",
"notifications.column_settings.beta.category": "Fonctionnalités expérimentales",
"notifications.column_settings.beta.grouping": "Grouper les notifications",
"notifications.column_settings.favourite": "Favoris :", "notifications.column_settings.favourite": "Favoris :",
"notifications.column_settings.filter_bar.advanced": "Afficher toutes les catégories", "notifications.column_settings.filter_bar.advanced": "Afficher toutes les catégories",
"notifications.column_settings.filter_bar.category": "Barre de filtre rapide", "notifications.column_settings.filter_bar.category": "Barre de filtre rapide",
@ -778,6 +778,7 @@
"status.bookmark": "Ajouter aux marque-pages", "status.bookmark": "Ajouter aux marque-pages",
"status.cancel_reblog_private": "Annuler le partage", "status.cancel_reblog_private": "Annuler le partage",
"status.cannot_reblog": "Ce message ne peut pas être partagé", "status.cannot_reblog": "Ce message ne peut pas être partagé",
"status.continued_thread": "Suite du fil",
"status.copy": "Copier le lien vers le message", "status.copy": "Copier le lien vers le message",
"status.delete": "Supprimer", "status.delete": "Supprimer",
"status.detailed_status": "Vue détaillée de la conversation", "status.detailed_status": "Vue détaillée de la conversation",
@ -786,7 +787,7 @@
"status.edit": "Modifier", "status.edit": "Modifier",
"status.edited": "Dernière modification le {date}", "status.edited": "Dernière modification le {date}",
"status.edited_x_times": "Modifié {count, plural, one {{count} fois} other {{count} fois}}", "status.edited_x_times": "Modifié {count, plural, one {{count} fois} other {{count} fois}}",
"status.embed": "Intégrer", "status.embed": "Obtenir le code d'intégration",
"status.favourite": "Ajouter aux favoris", "status.favourite": "Ajouter aux favoris",
"status.favourites": "{count, plural, one {favori} other {favoris}}", "status.favourites": "{count, plural, one {favori} other {favoris}}",
"status.filter": "Filtrer ce message", "status.filter": "Filtrer ce message",
@ -794,7 +795,7 @@
"status.history.edited": "modifié par {name} {date}", "status.history.edited": "modifié par {name} {date}",
"status.load_more": "Charger plus", "status.load_more": "Charger plus",
"status.media.open": "Cliquez pour ouvrir", "status.media.open": "Cliquez pour ouvrir",
"status.media.show": "Cliquez pour voir", "status.media.show": "Cliquer pour afficher",
"status.media_hidden": "Média caché", "status.media_hidden": "Média caché",
"status.mention": "Mentionner @{name}", "status.mention": "Mentionner @{name}",
"status.more": "Plus", "status.more": "Plus",
@ -811,6 +812,7 @@
"status.reblogs.empty": "Personne na encore partagé ce message. Lorsque quelquun le fera, il apparaîtra ici.", "status.reblogs.empty": "Personne na encore partagé ce message. Lorsque quelquun le fera, il apparaîtra ici.",
"status.redraft": "Supprimer et réécrire", "status.redraft": "Supprimer et réécrire",
"status.remove_bookmark": "Retirer des marque-pages", "status.remove_bookmark": "Retirer des marque-pages",
"status.replied_in_thread": "A répondu dans un fil de discussion",
"status.replied_to": "En réponse à {name}", "status.replied_to": "En réponse à {name}",
"status.reply": "Répondre", "status.reply": "Répondre",
"status.replyAll": "Répondre au fil", "status.replyAll": "Répondre au fil",

View file

@ -558,8 +558,6 @@
"notifications.column_settings.admin.report": "Nije rapportaazjes:", "notifications.column_settings.admin.report": "Nije rapportaazjes:",
"notifications.column_settings.admin.sign_up": "Nije registraasjes:", "notifications.column_settings.admin.sign_up": "Nije registraasjes:",
"notifications.column_settings.alert": "Desktopmeldingen", "notifications.column_settings.alert": "Desktopmeldingen",
"notifications.column_settings.beta.category": "Eksperimintele funksjes",
"notifications.column_settings.beta.grouping": "Notifikaasjes groepearje",
"notifications.column_settings.favourite": "Favoriten:", "notifications.column_settings.favourite": "Favoriten:",
"notifications.column_settings.filter_bar.advanced": "Alle kategoryen toane", "notifications.column_settings.filter_bar.advanced": "Alle kategoryen toane",
"notifications.column_settings.filter_bar.category": "Flugge filterbalke", "notifications.column_settings.filter_bar.category": "Flugge filterbalke",
@ -787,7 +785,6 @@
"status.edit": "Bewurkje", "status.edit": "Bewurkje",
"status.edited": "Lêst bywurke op {date}", "status.edited": "Lêst bywurke op {date}",
"status.edited_x_times": "{count, plural, one {{count} kear} other {{count} kearen}} bewurke", "status.edited_x_times": "{count, plural, one {{count} kear} other {{count} kearen}} bewurke",
"status.embed": "Ynslute",
"status.favourite": "Favoryt", "status.favourite": "Favoryt",
"status.favourites": "{count, plural, one {favoryt} other {favoriten}}", "status.favourites": "{count, plural, one {favoryt} other {favoriten}}",
"status.filter": "Dit berjocht filterje", "status.filter": "Dit berjocht filterje",

View file

@ -457,6 +457,7 @@
"lists.subheading": "Do liostaí", "lists.subheading": "Do liostaí",
"load_pending": "{count, plural, one {# mír nua} two {# mír nua} few {# mír nua} many {# mír nua} other {# mír nua}}", "load_pending": "{count, plural, one {# mír nua} two {# mír nua} few {# mír nua} many {# mír nua} other {# mír nua}}",
"loading_indicator.label": "Á lódáil…", "loading_indicator.label": "Á lódáil…",
"media_gallery.hide": "Folaigh",
"moved_to_account_banner.text": "Tá do chuntas {disabledAccount} díchumasaithe faoi láthair toisc gur bhog tú go {movedToAccount}.", "moved_to_account_banner.text": "Tá do chuntas {disabledAccount} díchumasaithe faoi láthair toisc gur bhog tú go {movedToAccount}.",
"mute_modal.hide_from_notifications": "Folaigh ó fhógraí", "mute_modal.hide_from_notifications": "Folaigh ó fhógraí",
"mute_modal.hide_options": "Folaigh roghanna", "mute_modal.hide_options": "Folaigh roghanna",
@ -558,8 +559,6 @@
"notifications.column_settings.admin.report": "Tuairiscí nua:", "notifications.column_settings.admin.report": "Tuairiscí nua:",
"notifications.column_settings.admin.sign_up": "Clárúcháin nua:", "notifications.column_settings.admin.sign_up": "Clárúcháin nua:",
"notifications.column_settings.alert": "Fógraí deisce", "notifications.column_settings.alert": "Fógraí deisce",
"notifications.column_settings.beta.category": "Gnéithe turgnamhacha",
"notifications.column_settings.beta.grouping": "Fógraí grúpa",
"notifications.column_settings.favourite": "Ceanáin:", "notifications.column_settings.favourite": "Ceanáin:",
"notifications.column_settings.filter_bar.advanced": "Taispeáin gach catagóir", "notifications.column_settings.filter_bar.advanced": "Taispeáin gach catagóir",
"notifications.column_settings.filter_bar.category": "Barra scagairí tapa", "notifications.column_settings.filter_bar.category": "Barra scagairí tapa",
@ -779,6 +778,7 @@
"status.bookmark": "Leabharmharcanna", "status.bookmark": "Leabharmharcanna",
"status.cancel_reblog_private": "Dímhol", "status.cancel_reblog_private": "Dímhol",
"status.cannot_reblog": "Ní féidir an phostáil seo a mholadh", "status.cannot_reblog": "Ní féidir an phostáil seo a mholadh",
"status.continued_thread": "Snáithe ar lean",
"status.copy": "Cóipeáil an nasc chuig an bpostáil", "status.copy": "Cóipeáil an nasc chuig an bpostáil",
"status.delete": "Scrios", "status.delete": "Scrios",
"status.detailed_status": "Amharc comhrá mionsonraithe", "status.detailed_status": "Amharc comhrá mionsonraithe",
@ -787,7 +787,7 @@
"status.edit": "Cuir in eagar", "status.edit": "Cuir in eagar",
"status.edited": "Arna chuir in eagar anuas {date}", "status.edited": "Arna chuir in eagar anuas {date}",
"status.edited_x_times": "Curtha in eagar {count, plural, one {{count} uair amháin} two {{count} uair} few {{count} uair} many {{count} uair} other {{count} uair}}", "status.edited_x_times": "Curtha in eagar {count, plural, one {{count} uair amháin} two {{count} uair} few {{count} uair} many {{count} uair} other {{count} uair}}",
"status.embed": "Leabaigh", "status.embed": "Faigh cód leabú",
"status.favourite": "Is fearr leat", "status.favourite": "Is fearr leat",
"status.favourites": "{count, plural, one {a bhfuil grá agat do} two {gráite} few {gráite} many {gráite} other {gráite}}", "status.favourites": "{count, plural, one {a bhfuil grá agat do} two {gráite} few {gráite} many {gráite} other {gráite}}",
"status.filter": "Déan scagadh ar an bpostáil seo", "status.filter": "Déan scagadh ar an bpostáil seo",
@ -812,6 +812,7 @@
"status.reblogs.empty": "Níor mhol éinne an phostáil seo fós. Nuair a mholfaidh duine éigin í, taispeánfar anseo é sin.", "status.reblogs.empty": "Níor mhol éinne an phostáil seo fós. Nuair a mholfaidh duine éigin í, taispeánfar anseo é sin.",
"status.redraft": "Scrios ⁊ athdhréachtaigh", "status.redraft": "Scrios ⁊ athdhréachtaigh",
"status.remove_bookmark": "Bain leabharmharc", "status.remove_bookmark": "Bain leabharmharc",
"status.replied_in_thread": "D'fhreagair sa snáithe",
"status.replied_to": "D'fhreagair {name}", "status.replied_to": "D'fhreagair {name}",
"status.reply": "Freagair", "status.reply": "Freagair",
"status.replyAll": "Freagair le snáithe", "status.replyAll": "Freagair le snáithe",

View file

@ -457,6 +457,7 @@
"lists.subheading": "Na liostaichean agad", "lists.subheading": "Na liostaichean agad",
"load_pending": "{count, plural, one {# nì ùr} two {# nì ùr} few {# nithean ùra} other {# nì ùr}}", "load_pending": "{count, plural, one {# nì ùr} two {# nì ùr} few {# nithean ùra} other {# nì ùr}}",
"loading_indicator.label": "Ga luchdadh…", "loading_indicator.label": "Ga luchdadh…",
"media_gallery.hide": "Falaich",
"moved_to_account_banner.text": "Tha an cunntas {disabledAccount} agad à comas on a rinn thu imrich gu {movedToAccount}.", "moved_to_account_banner.text": "Tha an cunntas {disabledAccount} agad à comas on a rinn thu imrich gu {movedToAccount}.",
"mute_modal.hide_from_notifications": "Falaich o na brathan", "mute_modal.hide_from_notifications": "Falaich o na brathan",
"mute_modal.hide_options": "Roghainnean falaich", "mute_modal.hide_options": "Roghainnean falaich",
@ -558,8 +559,6 @@
"notifications.column_settings.admin.report": "Gearanan ùra:", "notifications.column_settings.admin.report": "Gearanan ùra:",
"notifications.column_settings.admin.sign_up": "Clàraidhean ùra:", "notifications.column_settings.admin.sign_up": "Clàraidhean ùra:",
"notifications.column_settings.alert": "Brathan deasga", "notifications.column_settings.alert": "Brathan deasga",
"notifications.column_settings.beta.category": "Gleusan deuchainneil",
"notifications.column_settings.beta.grouping": "Buidhnich na brathan",
"notifications.column_settings.favourite": "Annsachdan:", "notifications.column_settings.favourite": "Annsachdan:",
"notifications.column_settings.filter_bar.advanced": "Seall a h-uile roinn-seòrsa", "notifications.column_settings.filter_bar.advanced": "Seall a h-uile roinn-seòrsa",
"notifications.column_settings.filter_bar.category": "Bàr-criathraidh luath", "notifications.column_settings.filter_bar.category": "Bàr-criathraidh luath",
@ -779,6 +778,7 @@
"status.bookmark": "Cuir ris na comharran-lìn", "status.bookmark": "Cuir ris na comharran-lìn",
"status.cancel_reblog_private": "Na brosnaich tuilleadh", "status.cancel_reblog_private": "Na brosnaich tuilleadh",
"status.cannot_reblog": "Cha ghabh am post seo brosnachadh", "status.cannot_reblog": "Cha ghabh am post seo brosnachadh",
"status.continued_thread": "Pàirt de shnàithlean",
"status.copy": "Dèan lethbhreac dhen cheangal dhan phost", "status.copy": "Dèan lethbhreac dhen cheangal dhan phost",
"status.delete": "Sguab às", "status.delete": "Sguab às",
"status.detailed_status": "Mion-shealladh a chòmhraidh", "status.detailed_status": "Mion-shealladh a chòmhraidh",
@ -787,7 +787,7 @@
"status.edit": "Deasaich", "status.edit": "Deasaich",
"status.edited": "An deasachadh mu dheireadh {date}", "status.edited": "An deasachadh mu dheireadh {date}",
"status.edited_x_times": "Chaidh a dheasachadh {count, plural, one {{count} turas} two {{count} thuras} few {{count} tursan} other {{count} turas}}", "status.edited_x_times": "Chaidh a dheasachadh {count, plural, one {{count} turas} two {{count} thuras} few {{count} tursan} other {{count} turas}}",
"status.embed": "Leabaich", "status.embed": "Faigh còd leabachaidh",
"status.favourite": "Cuir ris na h-annsachdan", "status.favourite": "Cuir ris na h-annsachdan",
"status.favourites": "{count, plural, one {annsachd} two {annsachd} few {annsachdan} other {annsachd}}", "status.favourites": "{count, plural, one {annsachd} two {annsachd} few {annsachdan} other {annsachd}}",
"status.filter": "Criathraich am post seo", "status.filter": "Criathraich am post seo",
@ -812,6 +812,7 @@
"status.reblogs.empty": "Chan deach am post seo a bhrosnachadh le duine sam bith fhathast. Nuair a bhrosnaicheas cuideigin e, nochdaidh iad an-seo.", "status.reblogs.empty": "Chan deach am post seo a bhrosnachadh le duine sam bith fhathast. Nuair a bhrosnaicheas cuideigin e, nochdaidh iad an-seo.",
"status.redraft": "Sguab às ⁊ dèan dreachd ùr", "status.redraft": "Sguab às ⁊ dèan dreachd ùr",
"status.remove_bookmark": "Thoir an comharra-lìn air falbh", "status.remove_bookmark": "Thoir an comharra-lìn air falbh",
"status.replied_in_thread": "Freagairt do shnàithlean",
"status.replied_to": "Air {name} fhreagairt", "status.replied_to": "Air {name} fhreagairt",
"status.reply": "Freagair", "status.reply": "Freagair",
"status.replyAll": "Freagair dhan t-snàithlean", "status.replyAll": "Freagair dhan t-snàithlean",

View file

@ -236,8 +236,8 @@
"domain_pill.your_handle": "O teu alcume:", "domain_pill.your_handle": "O teu alcume:",
"domain_pill.your_server": "O teu fogar dixital, onde están as túas publicacións. Non é do teu agrado? Podes cambiar de servidor cando queiras levando as túas seguidoras contigo.", "domain_pill.your_server": "O teu fogar dixital, onde están as túas publicacións. Non é do teu agrado? Podes cambiar de servidor cando queiras levando as túas seguidoras contigo.",
"domain_pill.your_username": "O teu identificador único neste servidor. É posible que atopes usuarias co mesmo nome de usuaria en outros servidores.", "domain_pill.your_username": "O teu identificador único neste servidor. É posible que atopes usuarias co mesmo nome de usuaria en outros servidores.",
"embed.instructions": "Engade esta publicación ó teu sitio web copiando o seguinte código.", "embed.instructions": "Inclúe esta publicación no teu sitio web copiando o seguinte código.",
"embed.preview": "Así será mostrado:", "embed.preview": "Vaise ver así:",
"emoji_button.activity": "Actividade", "emoji_button.activity": "Actividade",
"emoji_button.clear": "Limpar", "emoji_button.clear": "Limpar",
"emoji_button.custom": "Personalizado", "emoji_button.custom": "Personalizado",
@ -559,8 +559,6 @@
"notifications.column_settings.admin.report": "Novas denuncias:", "notifications.column_settings.admin.report": "Novas denuncias:",
"notifications.column_settings.admin.sign_up": "Novas usuarias:", "notifications.column_settings.admin.sign_up": "Novas usuarias:",
"notifications.column_settings.alert": "Notificacións de escritorio", "notifications.column_settings.alert": "Notificacións de escritorio",
"notifications.column_settings.beta.category": "Características experimentais",
"notifications.column_settings.beta.grouping": "Notificacións de grupo",
"notifications.column_settings.favourite": "Favoritas:", "notifications.column_settings.favourite": "Favoritas:",
"notifications.column_settings.filter_bar.advanced": "Mostrar todas as categorías", "notifications.column_settings.filter_bar.advanced": "Mostrar todas as categorías",
"notifications.column_settings.filter_bar.category": "Barra de filtrado rápido", "notifications.column_settings.filter_bar.category": "Barra de filtrado rápido",
@ -789,7 +787,7 @@
"status.edit": "Editar", "status.edit": "Editar",
"status.edited": "Última edición {date}", "status.edited": "Última edición {date}",
"status.edited_x_times": "Editado {count, plural, one {{count} vez} other {{count} veces}}", "status.edited_x_times": "Editado {count, plural, one {{count} vez} other {{count} veces}}",
"status.embed": "Incrustar", "status.embed": "O código a incluír",
"status.favourite": "Favorecer", "status.favourite": "Favorecer",
"status.favourites": "{count, plural, one {favorecemento} other {favorecementos}}", "status.favourites": "{count, plural, one {favorecemento} other {favorecementos}}",
"status.filter": "Filtrar esta publicación", "status.filter": "Filtrar esta publicación",

View file

@ -559,8 +559,6 @@
"notifications.column_settings.admin.report": "דו\"חות חדשים", "notifications.column_settings.admin.report": "דו\"חות חדשים",
"notifications.column_settings.admin.sign_up": "הרשמות חדשות:", "notifications.column_settings.admin.sign_up": "הרשמות חדשות:",
"notifications.column_settings.alert": "התראות לשולחן העבודה", "notifications.column_settings.alert": "התראות לשולחן העבודה",
"notifications.column_settings.beta.category": "יכולות ניסיוניות",
"notifications.column_settings.beta.grouping": "התראות קבוצה",
"notifications.column_settings.favourite": "חיבובים:", "notifications.column_settings.favourite": "חיבובים:",
"notifications.column_settings.filter_bar.advanced": "להציג את כל הקטגוריות", "notifications.column_settings.filter_bar.advanced": "להציג את כל הקטגוריות",
"notifications.column_settings.filter_bar.category": "שורת סינון מהיר", "notifications.column_settings.filter_bar.category": "שורת סינון מהיר",
@ -789,7 +787,6 @@
"status.edit": "עריכה", "status.edit": "עריכה",
"status.edited": "נערך לאחרונה {date}", "status.edited": "נערך לאחרונה {date}",
"status.edited_x_times": "נערך {count, plural, one {פעם {count}} other {{count} פעמים}}", "status.edited_x_times": "נערך {count, plural, one {פעם {count}} other {{count} פעמים}}",
"status.embed": "הטמעה",
"status.favourite": "חיבוב", "status.favourite": "חיבוב",
"status.favourites": "{count, plural, one {חיבוב אחד} two {זוג חיבובים} other {# חיבובים}}", "status.favourites": "{count, plural, one {חיבוב אחד} two {זוג חיבובים} other {# חיבובים}}",
"status.filter": "סנן הודעה זו", "status.filter": "סנן הודעה זו",

View file

@ -457,7 +457,6 @@
"status.delete": "Obriši", "status.delete": "Obriši",
"status.edit": "Uredi", "status.edit": "Uredi",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "Umetni",
"status.filter": "Filtriraj ovu objavu", "status.filter": "Filtriraj ovu objavu",
"status.history.created": "Kreirao/la {name} prije {date}", "status.history.created": "Kreirao/la {name} prije {date}",
"status.history.edited": "Uredio/la {name} prije {date}", "status.history.edited": "Uredio/la {name} prije {date}",

View file

@ -559,8 +559,6 @@
"notifications.column_settings.admin.report": "Új jelentések:", "notifications.column_settings.admin.report": "Új jelentések:",
"notifications.column_settings.admin.sign_up": "Új regisztrálók:", "notifications.column_settings.admin.sign_up": "Új regisztrálók:",
"notifications.column_settings.alert": "Asztali értesítések", "notifications.column_settings.alert": "Asztali értesítések",
"notifications.column_settings.beta.category": "Kísérleti funkciók",
"notifications.column_settings.beta.grouping": "Csoportértesítések",
"notifications.column_settings.favourite": "Kedvencek:", "notifications.column_settings.favourite": "Kedvencek:",
"notifications.column_settings.filter_bar.advanced": "Minden kategória megjelenítése", "notifications.column_settings.filter_bar.advanced": "Minden kategória megjelenítése",
"notifications.column_settings.filter_bar.category": "Gyorsszűrő sáv", "notifications.column_settings.filter_bar.category": "Gyorsszűrő sáv",
@ -789,7 +787,7 @@
"status.edit": "Szerkesztés", "status.edit": "Szerkesztés",
"status.edited": "Utoljára szerkesztve {date}", "status.edited": "Utoljára szerkesztve {date}",
"status.edited_x_times": "{count, plural, one {{count} alkalommal} other {{count} alkalommal}} szerkesztve", "status.edited_x_times": "{count, plural, one {{count} alkalommal} other {{count} alkalommal}} szerkesztve",
"status.embed": "Beágyazás", "status.embed": "Beágyazási kód lekérése",
"status.favourite": "Kedvenc", "status.favourite": "Kedvenc",
"status.favourites": "{count, plural, one {kedvenc} other {kedvenc}}", "status.favourites": "{count, plural, one {kedvenc} other {kedvenc}}",
"status.filter": "E bejegyzés szűrése", "status.filter": "E bejegyzés szűrése",

View file

@ -448,7 +448,6 @@
"status.direct_indicator": "Մասնաւոր յիշատակում", "status.direct_indicator": "Մասնաւոր յիշատակում",
"status.edit": "Խմբագրել", "status.edit": "Խմբագրել",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "Ներդնել",
"status.favourite": "Հավանել", "status.favourite": "Հավանել",
"status.filter": "Զտել այս գրառումը", "status.filter": "Զտել այս գրառումը",
"status.history.created": "{name}-ը ստեղծել է՝ {date}", "status.history.created": "{name}-ը ստեղծել է՝ {date}",

View file

@ -355,6 +355,7 @@
"hints.profiles.see_more_followers": "Vider plus de sequitores sur {domain}", "hints.profiles.see_more_followers": "Vider plus de sequitores sur {domain}",
"hints.profiles.see_more_follows": "Vider plus de sequites sur {domain}", "hints.profiles.see_more_follows": "Vider plus de sequites sur {domain}",
"hints.profiles.see_more_posts": "Vider plus de messages sur {domain}", "hints.profiles.see_more_posts": "Vider plus de messages sur {domain}",
"hints.threads.replies_may_be_missing": "Responsas de altere servitores pote esser perdite.",
"hints.threads.see_more": "Vider plus de responsas sur {domain}", "hints.threads.see_more": "Vider plus de responsas sur {domain}",
"home.column_settings.show_reblogs": "Monstrar impulsos", "home.column_settings.show_reblogs": "Monstrar impulsos",
"home.column_settings.show_replies": "Monstrar responsas", "home.column_settings.show_replies": "Monstrar responsas",
@ -534,8 +535,6 @@
"notifications.column_settings.admin.report": "Nove reportos:", "notifications.column_settings.admin.report": "Nove reportos:",
"notifications.column_settings.admin.sign_up": "Nove inscriptiones:", "notifications.column_settings.admin.sign_up": "Nove inscriptiones:",
"notifications.column_settings.alert": "Notificationes de scriptorio", "notifications.column_settings.alert": "Notificationes de scriptorio",
"notifications.column_settings.beta.category": "Functionalitates experimental",
"notifications.column_settings.beta.grouping": "Notificationes de gruppo",
"notifications.column_settings.favourite": "Favorites:", "notifications.column_settings.favourite": "Favorites:",
"notifications.column_settings.filter_bar.advanced": "Monstrar tote le categorias", "notifications.column_settings.filter_bar.advanced": "Monstrar tote le categorias",
"notifications.column_settings.filter_bar.category": "Barra de filtro rapide", "notifications.column_settings.filter_bar.category": "Barra de filtro rapide",
@ -759,7 +758,6 @@
"status.edit": "Modificar", "status.edit": "Modificar",
"status.edited": "Ultime modification le {date}", "status.edited": "Ultime modification le {date}",
"status.edited_x_times": "Modificate {count, plural, one {{count} vice} other {{count} vices}}", "status.edited_x_times": "Modificate {count, plural, one {{count} vice} other {{count} vices}}",
"status.embed": "Incastrar",
"status.favourite": "Adder al favorites", "status.favourite": "Adder al favorites",
"status.favourites": "{count, plural, one {favorite} other {favorites}}", "status.favourites": "{count, plural, one {favorite} other {favorites}}",
"status.filter": "Filtrar iste message", "status.filter": "Filtrar iste message",

View file

@ -583,7 +583,6 @@
"status.detailed_status": "Tampilan detail percakapan", "status.detailed_status": "Tampilan detail percakapan",
"status.edit": "Edit", "status.edit": "Edit",
"status.edited_x_times": "Diedit {count, plural, other {{count} kali}}", "status.edited_x_times": "Diedit {count, plural, other {{count} kali}}",
"status.embed": "Tanam",
"status.filter": "Saring kiriman ini", "status.filter": "Saring kiriman ini",
"status.history.created": "{name} membuat {date}", "status.history.created": "{name} membuat {date}",
"status.history.edited": "{name} mengedit {date}", "status.history.edited": "{name} mengedit {date}",

View file

@ -698,7 +698,6 @@
"status.edit": "Modificar", "status.edit": "Modificar",
"status.edited": "Ultimmen actualisat ye {date}", "status.edited": "Ultimmen actualisat ye {date}",
"status.edited_x_times": "Modificat {count, plural, one {{count} vez} other {{count} vezes}}", "status.edited_x_times": "Modificat {count, plural, one {{count} vez} other {{count} vezes}}",
"status.embed": "Inbedar",
"status.favourite": "Favoritisar", "status.favourite": "Favoritisar",
"status.favourites": "{count, plural, one {favorit} other {favorites}}", "status.favourites": "{count, plural, one {favorit} other {favorites}}",
"status.filter": "Filtrar ti-ci posta", "status.filter": "Filtrar ti-ci posta",

View file

@ -589,7 +589,6 @@
"status.direct_indicator": "Privata menciono", "status.direct_indicator": "Privata menciono",
"status.edit": "Modifikez", "status.edit": "Modifikez",
"status.edited_x_times": "Modifikesis {count, plural, one {{count} foyo} other {{count} foyi}}", "status.edited_x_times": "Modifikesis {count, plural, one {{count} foyo} other {{count} foyi}}",
"status.embed": "Eninsertez",
"status.favourite": "Favorizar", "status.favourite": "Favorizar",
"status.filter": "Filtragez ca posto", "status.filter": "Filtragez ca posto",
"status.history.created": "{name} kreis ye {date}", "status.history.created": "{name} kreis ye {date}",

View file

@ -559,8 +559,6 @@
"notifications.column_settings.admin.report": "Nýjar kærur:", "notifications.column_settings.admin.report": "Nýjar kærur:",
"notifications.column_settings.admin.sign_up": "Nýjar skráningar:", "notifications.column_settings.admin.sign_up": "Nýjar skráningar:",
"notifications.column_settings.alert": "Tilkynningar á skjáborði", "notifications.column_settings.alert": "Tilkynningar á skjáborði",
"notifications.column_settings.beta.category": "Eiginleikar á tilraunastigi",
"notifications.column_settings.beta.grouping": "Tilkynningar hópa",
"notifications.column_settings.favourite": "Eftirlæti:", "notifications.column_settings.favourite": "Eftirlæti:",
"notifications.column_settings.filter_bar.advanced": "Birta alla flokka", "notifications.column_settings.filter_bar.advanced": "Birta alla flokka",
"notifications.column_settings.filter_bar.category": "Skyndisíustika", "notifications.column_settings.filter_bar.category": "Skyndisíustika",
@ -789,7 +787,7 @@
"status.edit": "Breyta", "status.edit": "Breyta",
"status.edited": "Síðast breytt {date}", "status.edited": "Síðast breytt {date}",
"status.edited_x_times": "Breytt {count, plural, one {{count} sinni} other {{count} sinnum}}", "status.edited_x_times": "Breytt {count, plural, one {{count} sinni} other {{count} sinnum}}",
"status.embed": "Ívefja", "status.embed": "Ná í innfellanlegan kóða",
"status.favourite": "Eftirlæti", "status.favourite": "Eftirlæti",
"status.favourites": "{count, plural, one {eftirlæti} other {eftirlæti}}", "status.favourites": "{count, plural, one {eftirlæti} other {eftirlæti}}",
"status.filter": "Sía þessa færslu", "status.filter": "Sía þessa færslu",

View file

@ -559,8 +559,6 @@
"notifications.column_settings.admin.report": "Nuove segnalazioni:", "notifications.column_settings.admin.report": "Nuove segnalazioni:",
"notifications.column_settings.admin.sign_up": "Nuove iscrizioni:", "notifications.column_settings.admin.sign_up": "Nuove iscrizioni:",
"notifications.column_settings.alert": "Notifiche desktop", "notifications.column_settings.alert": "Notifiche desktop",
"notifications.column_settings.beta.category": "Funzioni sperimentali",
"notifications.column_settings.beta.grouping": "Notifiche di gruppo",
"notifications.column_settings.favourite": "Preferiti:", "notifications.column_settings.favourite": "Preferiti:",
"notifications.column_settings.filter_bar.advanced": "Mostra tutte le categorie", "notifications.column_settings.filter_bar.advanced": "Mostra tutte le categorie",
"notifications.column_settings.filter_bar.category": "Barra del filtro veloce", "notifications.column_settings.filter_bar.category": "Barra del filtro veloce",
@ -780,6 +778,7 @@
"status.bookmark": "Aggiungi segnalibro", "status.bookmark": "Aggiungi segnalibro",
"status.cancel_reblog_private": "Annulla reblog", "status.cancel_reblog_private": "Annulla reblog",
"status.cannot_reblog": "Questo post non può essere condiviso", "status.cannot_reblog": "Questo post non può essere condiviso",
"status.continued_thread": "Discussione continua",
"status.copy": "Copia link al post", "status.copy": "Copia link al post",
"status.delete": "Elimina", "status.delete": "Elimina",
"status.detailed_status": "Vista conversazione dettagliata", "status.detailed_status": "Vista conversazione dettagliata",
@ -788,7 +787,7 @@
"status.edit": "Modifica", "status.edit": "Modifica",
"status.edited": "Ultima modifica {date}", "status.edited": "Ultima modifica {date}",
"status.edited_x_times": "Modificato {count, plural, one {{count} volta} other {{count} volte}}", "status.edited_x_times": "Modificato {count, plural, one {{count} volta} other {{count} volte}}",
"status.embed": "Incorpora", "status.embed": "Ottieni codice incorporato",
"status.favourite": "Preferito", "status.favourite": "Preferito",
"status.favourites": "{count, plural, one {preferito} other {preferiti}}", "status.favourites": "{count, plural, one {preferito} other {preferiti}}",
"status.filter": "Filtra questo post", "status.filter": "Filtra questo post",
@ -813,6 +812,7 @@
"status.reblogs.empty": "Ancora nessuno ha rebloggato questo post. Quando qualcuno lo farà, apparirà qui.", "status.reblogs.empty": "Ancora nessuno ha rebloggato questo post. Quando qualcuno lo farà, apparirà qui.",
"status.redraft": "Elimina e riscrivi", "status.redraft": "Elimina e riscrivi",
"status.remove_bookmark": "Rimuovi segnalibro", "status.remove_bookmark": "Rimuovi segnalibro",
"status.replied_in_thread": "Ha risposto nella discussione",
"status.replied_to": "Risposta a {name}", "status.replied_to": "Risposta a {name}",
"status.reply": "Rispondi", "status.reply": "Rispondi",
"status.replyAll": "Rispondi alla conversazione", "status.replyAll": "Rispondi alla conversazione",

View file

@ -666,8 +666,6 @@
"notifications.column_settings.admin.report": "新しい通報:", "notifications.column_settings.admin.report": "新しい通報:",
"notifications.column_settings.admin.sign_up": "新規登録:", "notifications.column_settings.admin.sign_up": "新規登録:",
"notifications.column_settings.alert": "デスクトップ通知", "notifications.column_settings.alert": "デスクトップ通知",
"notifications.column_settings.beta.category": "実験段階の機能",
"notifications.column_settings.beta.grouping": "通知をグループにまとめる",
"notifications.column_settings.emoji_reaction": "絵文字リアクション", "notifications.column_settings.emoji_reaction": "絵文字リアクション",
"notifications.column_settings.favourite": "お気に入り:", "notifications.column_settings.favourite": "お気に入り:",
"notifications.column_settings.filter_bar.advanced": "すべてのカテゴリを表示", "notifications.column_settings.filter_bar.advanced": "すべてのカテゴリを表示",
@ -930,7 +928,6 @@
"status.edit": "編集", "status.edit": "編集",
"status.edited": "最終更新日 {date}", "status.edited": "最終更新日 {date}",
"status.edited_x_times": "{count}回編集", "status.edited_x_times": "{count}回編集",
"status.embed": "埋め込み",
"status.emoji_reaction": "絵文字リアクション", "status.emoji_reaction": "絵文字リアクション",
"status.emoji_reaction.pick": "絵文字を追加する", "status.emoji_reaction.pick": "絵文字を追加する",
"status.emoji_reactions": "{count, plural, one {絵文字} other {絵文字}}", "status.emoji_reactions": "{count, plural, one {絵文字} other {絵文字}}",

View file

@ -222,7 +222,6 @@
"status.copy": "Copy link to status", "status.copy": "Copy link to status",
"status.delete": "წაშლა", "status.delete": "წაშლა",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "ჩართვა",
"status.load_more": "მეტის ჩატვირთვა", "status.load_more": "მეტის ჩატვირთვა",
"status.media_hidden": "მედია დამალულია", "status.media_hidden": "მედია დამალულია",
"status.mention": "ასახელე @{name}", "status.mention": "ასახელე @{name}",

View file

@ -411,7 +411,6 @@
"notifications.clear_confirmation": "Tebɣiḍ s tidet ad tekkseḍ akk alɣuten-inek·em i lebda?", "notifications.clear_confirmation": "Tebɣiḍ s tidet ad tekkseḍ akk alɣuten-inek·em i lebda?",
"notifications.column_settings.admin.report": "Ineqqisen imaynuten:", "notifications.column_settings.admin.report": "Ineqqisen imaynuten:",
"notifications.column_settings.alert": "Alɣuten n tnarit", "notifications.column_settings.alert": "Alɣuten n tnarit",
"notifications.column_settings.beta.grouping": "Segrew alɣuten",
"notifications.column_settings.favourite": "Imenyafen:", "notifications.column_settings.favourite": "Imenyafen:",
"notifications.column_settings.filter_bar.advanced": "Sken-d akk taggayin", "notifications.column_settings.filter_bar.advanced": "Sken-d akk taggayin",
"notifications.column_settings.filter_bar.category": "Iri n usizdeg uzrib", "notifications.column_settings.filter_bar.category": "Iri n usizdeg uzrib",
@ -584,7 +583,6 @@
"status.direct_indicator": "Abdar uslig", "status.direct_indicator": "Abdar uslig",
"status.edit": "Ẓreg", "status.edit": "Ẓreg",
"status.edited_x_times": "Tettwaẓreg {count, plural, one {{count} n tikkelt} other {{count} n tikkal}}", "status.edited_x_times": "Tettwaẓreg {count, plural, one {{count} n tikkelt} other {{count} n tikkal}}",
"status.embed": "Seddu",
"status.favourite": "Amenyaf", "status.favourite": "Amenyaf",
"status.favourites": "{count, plural, one {n usmenyaf} other {n ismenyafen}}", "status.favourites": "{count, plural, one {n usmenyaf} other {n ismenyafen}}",
"status.filter": "Sizdeg tassufeɣt-a", "status.filter": "Sizdeg tassufeɣt-a",

View file

@ -315,7 +315,6 @@
"status.delete": "Өшіру", "status.delete": "Өшіру",
"status.detailed_status": "Толық пікірталас көрінісі", "status.detailed_status": "Толық пікірталас көрінісі",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "Embеd",
"status.load_more": "Тағы әкел", "status.load_more": "Тағы әкел",
"status.media_hidden": "Жабық медиа", "status.media_hidden": "Жабық медиа",
"status.mention": "Аталым @{name}", "status.mention": "Аталым @{name}",

View file

@ -559,8 +559,6 @@
"notifications.column_settings.admin.report": "새 신고:", "notifications.column_settings.admin.report": "새 신고:",
"notifications.column_settings.admin.sign_up": "새로운 가입:", "notifications.column_settings.admin.sign_up": "새로운 가입:",
"notifications.column_settings.alert": "데스크탑 알림", "notifications.column_settings.alert": "데스크탑 알림",
"notifications.column_settings.beta.category": "실험적인 기능",
"notifications.column_settings.beta.grouping": "알림 그룹화",
"notifications.column_settings.favourite": "좋아요:", "notifications.column_settings.favourite": "좋아요:",
"notifications.column_settings.filter_bar.advanced": "모든 범주 표시", "notifications.column_settings.filter_bar.advanced": "모든 범주 표시",
"notifications.column_settings.filter_bar.category": "빠른 필터 막대", "notifications.column_settings.filter_bar.category": "빠른 필터 막대",
@ -788,7 +786,6 @@
"status.edit": "수정", "status.edit": "수정",
"status.edited": "{date}에 마지막으로 편집됨", "status.edited": "{date}에 마지막으로 편집됨",
"status.edited_x_times": "{count, plural, other {{count}}} 번 수정됨", "status.edited_x_times": "{count, plural, other {{count}}} 번 수정됨",
"status.embed": "임베드",
"status.favourite": "좋아요", "status.favourite": "좋아요",
"status.favourites": "{count, plural, other {좋아요}}", "status.favourites": "{count, plural, other {좋아요}}",
"status.filter": "이 게시물을 필터", "status.filter": "이 게시물을 필터",

View file

@ -498,7 +498,6 @@
"status.direct_indicator": "Qalkirinê taybet", "status.direct_indicator": "Qalkirinê taybet",
"status.edit": "Serrast bike", "status.edit": "Serrast bike",
"status.edited_x_times": "{count, plural, one {{count} car} other {{count} car}} hate serrastkirin", "status.edited_x_times": "{count, plural, one {{count} car} other {{count} car}} hate serrastkirin",
"status.embed": "Bi cih bike",
"status.filter": "Vê şandiyê parzûn bike", "status.filter": "Vê şandiyê parzûn bike",
"status.history.created": "{name} {date} afirand", "status.history.created": "{name} {date} afirand",
"status.history.edited": "{name} {date} serrast kir", "status.history.edited": "{name} {date} serrast kir",

View file

@ -317,7 +317,6 @@
"status.delete": "Dilea", "status.delete": "Dilea",
"status.detailed_status": "Gwel kesklapp a-vanyl", "status.detailed_status": "Gwel kesklapp a-vanyl",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "Staga",
"status.load_more": "Karga moy", "status.load_more": "Karga moy",
"status.media_hidden": "Myski kudhys", "status.media_hidden": "Myski kudhys",
"status.mention": "Meneges @{name}", "status.mention": "Meneges @{name}",

View file

@ -490,7 +490,6 @@
"notifications.column_settings.admin.report": "Muveos raportos:", "notifications.column_settings.admin.report": "Muveos raportos:",
"notifications.column_settings.admin.sign_up": "Muevas enrejistrasyones:", "notifications.column_settings.admin.sign_up": "Muevas enrejistrasyones:",
"notifications.column_settings.alert": "Avizos de ensimameza", "notifications.column_settings.alert": "Avizos de ensimameza",
"notifications.column_settings.beta.category": "Funksyones eksperimentalas",
"notifications.column_settings.favourite": "Te plazen:", "notifications.column_settings.favourite": "Te plazen:",
"notifications.column_settings.filter_bar.advanced": "Amostra todas las kategorias", "notifications.column_settings.filter_bar.advanced": "Amostra todas las kategorias",
"notifications.column_settings.filter_bar.category": "Vara de filtrado rapido", "notifications.column_settings.filter_bar.category": "Vara de filtrado rapido",
@ -707,7 +706,6 @@
"status.edit": "Edita", "status.edit": "Edita",
"status.edited": "Ultima edisyon: {date}", "status.edited": "Ultima edisyon: {date}",
"status.edited_x_times": "Editado {count, plural, one {{count} vez} other {{count} vezes}}", "status.edited_x_times": "Editado {count, plural, one {{count} vez} other {{count} vezes}}",
"status.embed": "Inkrusta",
"status.favourite": "Te plaze", "status.favourite": "Te plaze",
"status.filter": "Filtra esta publikasyon", "status.filter": "Filtra esta publikasyon",
"status.history.created": "{name} kriyo {date}", "status.history.created": "{name} kriyo {date}",

View file

@ -552,8 +552,6 @@
"notifications.column_settings.admin.report": "Naujos ataskaitos:", "notifications.column_settings.admin.report": "Naujos ataskaitos:",
"notifications.column_settings.admin.sign_up": "Naujos registracijos:", "notifications.column_settings.admin.sign_up": "Naujos registracijos:",
"notifications.column_settings.alert": "Darbalaukio pranešimai", "notifications.column_settings.alert": "Darbalaukio pranešimai",
"notifications.column_settings.beta.category": "Eksperimentinės funkcijos",
"notifications.column_settings.beta.grouping": "Grupuoti pranešimus",
"notifications.column_settings.favourite": "Mėgstami:", "notifications.column_settings.favourite": "Mėgstami:",
"notifications.column_settings.filter_bar.advanced": "Rodyti visas kategorijas", "notifications.column_settings.filter_bar.advanced": "Rodyti visas kategorijas",
"notifications.column_settings.filter_bar.category": "Spartaus filtro juosta", "notifications.column_settings.filter_bar.category": "Spartaus filtro juosta",
@ -779,7 +777,6 @@
"status.edit": "Redaguoti", "status.edit": "Redaguoti",
"status.edited": "Paskutinį kartą redaguota {date}", "status.edited": "Paskutinį kartą redaguota {date}",
"status.edited_x_times": "Redaguota {count, plural, one {{count} kartą} few {{count} kartus} many {{count} karto} other {{count} kartų}}", "status.edited_x_times": "Redaguota {count, plural, one {{count} kartą} few {{count} kartus} many {{count} karto} other {{count} kartų}}",
"status.embed": "Įterpti",
"status.favourite": "Pamėgti", "status.favourite": "Pamėgti",
"status.favourites": "{count, plural, one {mėgstamas} few {mėgstamai} many {mėgstamų} other {mėgstamų}}", "status.favourites": "{count, plural, one {mėgstamas} few {mėgstamai} many {mėgstamų} other {mėgstamų}}",
"status.filter": "Filtruoti šį įrašą", "status.filter": "Filtruoti šį įrašą",

View file

@ -11,6 +11,7 @@
"about.not_available": "Šī informācija nav padarīta pieejama šajā serverī.", "about.not_available": "Šī informācija nav padarīta pieejama šajā serverī.",
"about.powered_by": "Decentralizētu sociālo tīklu nodrošina {mastodon}", "about.powered_by": "Decentralizētu sociālo tīklu nodrošina {mastodon}",
"about.rules": "Servera noteikumi", "about.rules": "Servera noteikumi",
"account.account_note_header": "Personīga piezīme",
"account.add_or_remove_from_list": "Pievienot vai Noņemt no sarakstiem", "account.add_or_remove_from_list": "Pievienot vai Noņemt no sarakstiem",
"account.badges.bot": "Automatizēts", "account.badges.bot": "Automatizēts",
"account.badges.group": "Grupa", "account.badges.group": "Grupa",
@ -90,7 +91,10 @@
"block_modal.show_more": "Parādīt mazāk", "block_modal.show_more": "Parādīt mazāk",
"block_modal.they_cant_mention": "Nevar Tevi pieminēt vai sekot Tev.", "block_modal.they_cant_mention": "Nevar Tevi pieminēt vai sekot Tev.",
"block_modal.they_cant_see_posts": "Nevar redzēt Tavus ierakstus, un Tu neredzēsi lietotāja.", "block_modal.they_cant_see_posts": "Nevar redzēt Tavus ierakstus, un Tu neredzēsi lietotāja.",
"block_modal.title": "Bloķēt lietotāju?",
"boost_modal.combo": "Nospied {combo}, lai nākamreiz šo izlaistu", "boost_modal.combo": "Nospied {combo}, lai nākamreiz šo izlaistu",
"boost_modal.reblog": "Pastiprināt ierakstu?",
"boost_modal.undo_reblog": "Atcelt ieraksta pastiprināšanu?",
"bundle_column_error.copy_stacktrace": "Kopēt kļūdu ziņojumu", "bundle_column_error.copy_stacktrace": "Kopēt kļūdu ziņojumu",
"bundle_column_error.error.body": "Pieprasīto lapu nevarēja atveidot. Tas varētu būt saistīts ar kļūdu mūsu kodā, vai tā ir pārlūkprogrammas saderības problēma.", "bundle_column_error.error.body": "Pieprasīto lapu nevarēja atveidot. Tas varētu būt saistīts ar kļūdu mūsu kodā, vai tā ir pārlūkprogrammas saderības problēma.",
"bundle_column_error.error.title": "Ak vai!", "bundle_column_error.error.title": "Ak vai!",
@ -152,6 +156,7 @@
"compose_form.poll.single": "Jāizvēlas viens", "compose_form.poll.single": "Jāizvēlas viens",
"compose_form.poll.switch_to_multiple": "Mainīt aptaujas veidu, lai atļautu vairākas izvēles", "compose_form.poll.switch_to_multiple": "Mainīt aptaujas veidu, lai atļautu vairākas izvēles",
"compose_form.poll.switch_to_single": "Mainīt aptaujas veidu, lai atļautu vienu izvēli", "compose_form.poll.switch_to_single": "Mainīt aptaujas veidu, lai atļautu vienu izvēli",
"compose_form.poll.type": "Stils",
"compose_form.publish": "Iesūtīt", "compose_form.publish": "Iesūtīt",
"compose_form.publish_form": "Jauns ieraksts", "compose_form.publish_form": "Jauns ieraksts",
"compose_form.reply": "Atbildēt", "compose_form.reply": "Atbildēt",
@ -163,21 +168,30 @@
"confirmations.block.confirm": "Bloķēt", "confirmations.block.confirm": "Bloķēt",
"confirmations.delete.confirm": "Dzēst", "confirmations.delete.confirm": "Dzēst",
"confirmations.delete.message": "Vai tiešām vēlies dzēst šo ierakstu?", "confirmations.delete.message": "Vai tiešām vēlies dzēst šo ierakstu?",
"confirmations.delete.title": "Izdzēst ierakstu?",
"confirmations.delete_list.confirm": "Dzēst", "confirmations.delete_list.confirm": "Dzēst",
"confirmations.delete_list.message": "Vai tiešām neatgriezeniski izdzēst šo sarakstu?", "confirmations.delete_list.message": "Vai tiešām neatgriezeniski izdzēst šo sarakstu?",
"confirmations.delete_list.title": "Izdzēst sarakstu?",
"confirmations.discard_edit_media.confirm": "Atmest", "confirmations.discard_edit_media.confirm": "Atmest",
"confirmations.discard_edit_media.message": "Ir nesaglabātas izmaiņas informācijas nesēja aprakstā vai priekšskatījumā. Vēlies tās atmest tik un tā?", "confirmations.discard_edit_media.message": "Ir nesaglabātas izmaiņas informācijas nesēja aprakstā vai priekšskatījumā. Vēlies tās atmest tik un tā?",
"confirmations.edit.confirm": "Labot", "confirmations.edit.confirm": "Labot",
"confirmations.edit.message": "Labošana pārrakstīs ziņojumu, kas šobrīd tiek sastādīts. Vai tiešām turpināt?", "confirmations.edit.message": "Labošana pārrakstīs ziņojumu, kas šobrīd tiek sastādīts. Vai tiešām turpināt?",
"confirmations.edit.title": "Pārrakstīt ierakstu?",
"confirmations.logout.confirm": "Iziet", "confirmations.logout.confirm": "Iziet",
"confirmations.logout.message": "Vai tiešām vēlies izrakstīties?", "confirmations.logout.message": "Vai tiešām vēlies izrakstīties?",
"confirmations.logout.title": "Atteikties?",
"confirmations.mute.confirm": "Apklusināt", "confirmations.mute.confirm": "Apklusināt",
"confirmations.redraft.confirm": "Dzēst un pārrakstīt", "confirmations.redraft.confirm": "Dzēst un pārrakstīt",
"confirmations.redraft.message": "Vai tiešām vēlies dzēst šo ziņu un no jauna noformēt to? Izlase un pastiprinājumi tiks zaudēti, un atbildes uz sākotnējo ziņu tiks atstātas bez autoratlīdzības.", "confirmations.redraft.message": "Vai tiešām vēlies dzēst šo ziņu un no jauna noformēt to? Izlase un pastiprinājumi tiks zaudēti, un atbildes uz sākotnējo ziņu tiks atstātas bez autoratlīdzības.",
"confirmations.redraft.title": "Dzēst un rakstīt vēlreiz?",
"confirmations.reply.confirm": "Atbildēt", "confirmations.reply.confirm": "Atbildēt",
"confirmations.reply.message": "Tūlītēja atbildēšana pārrakstīs pašlaik sastādīto ziņu. Vai tiešām turpināt?", "confirmations.reply.message": "Tūlītēja atbildēšana pārrakstīs pašlaik sastādīto ziņu. Vai tiešām turpināt?",
"confirmations.reply.title": "Pārrakstīt ierakstu?",
"confirmations.unfollow.confirm": "Pārstāt sekot", "confirmations.unfollow.confirm": "Pārstāt sekot",
"confirmations.unfollow.message": "Vai tiešam vairs nevēlies sekot lietotājam {name}?", "confirmations.unfollow.message": "Vai tiešam vairs nevēlies sekot lietotājam {name}?",
"confirmations.unfollow.title": "Pārtraukt sekošanu lietotājam?",
"content_warning.hide": "Paslēpt ierakstu",
"content_warning.show": "Tomēr rādīt",
"conversation.delete": "Dzēst sarunu", "conversation.delete": "Dzēst sarunu",
"conversation.mark_as_read": "Atzīmēt kā izlasītu", "conversation.mark_as_read": "Atzīmēt kā izlasītu",
"conversation.open": "Skatīt sarunu", "conversation.open": "Skatīt sarunu",
@ -197,7 +211,11 @@
"dismissable_banner.explore_statuses": "Šie ir ieraksti, kas šodien gūst arvien lielāku ievērību visā sociālajā tīklā. Augstāk tiek kārtoti jaunāki ieraksti, kuri tiek vairāk pastiprināti un ievietoti izlasēs.", "dismissable_banner.explore_statuses": "Šie ir ieraksti, kas šodien gūst arvien lielāku ievērību visā sociālajā tīklā. Augstāk tiek kārtoti jaunāki ieraksti, kuri tiek vairāk pastiprināti un ievietoti izlasēs.",
"dismissable_banner.explore_tags": "Šie tēmturi šobrīd kļūst arvien populārāki cilvēku vidū šajā un citos decentralizētā tīkla serveros.", "dismissable_banner.explore_tags": "Šie tēmturi šobrīd kļūst arvien populārāki cilvēku vidū šajā un citos decentralizētā tīkla serveros.",
"dismissable_banner.public_timeline": "Šie ir jaunākie publiskie ieraksti no lietotājiem sociālajā tīmeklī, kuriem {domain} seko cilvēki.", "dismissable_banner.public_timeline": "Šie ir jaunākie publiskie ieraksti no lietotājiem sociālajā tīmeklī, kuriem {domain} seko cilvēki.",
"domain_block_modal.block": "Bloķēt serveri",
"domain_block_modal.they_cant_follow": "Neviens šajā serverī nevar Tev sekot.", "domain_block_modal.they_cant_follow": "Neviens šajā serverī nevar Tev sekot.",
"domain_block_modal.they_wont_know": "Viņi nezinās, ka tikuši bloķēti.",
"domain_block_modal.title": "Bloķēt domēnu?",
"domain_block_modal.you_will_lose_followers": "Tiks noņemti visi tavi sekotāji no šī servera.",
"domain_pill.server": "Serveris", "domain_pill.server": "Serveris",
"domain_pill.username": "Lietotājvārds", "domain_pill.username": "Lietotājvārds",
"embed.instructions": "Iestrādā šo ziņu savā mājaslapā, kopējot zemāk redzamo kodu.", "embed.instructions": "Iestrādā šo ziņu savā mājaslapā, kopējot zemāk redzamo kodu.",
@ -266,6 +284,7 @@
"filter_modal.select_filter.subtitle": "Izmanto esošu kategoriju vai izveido jaunu", "filter_modal.select_filter.subtitle": "Izmanto esošu kategoriju vai izveido jaunu",
"filter_modal.select_filter.title": "Filtrēt šo ziņu", "filter_modal.select_filter.title": "Filtrēt šo ziņu",
"filter_modal.title.status": "Filtrēt ziņu", "filter_modal.title.status": "Filtrēt ziņu",
"filter_warning.matches_filter": "Atbilst filtram “{title}”",
"firehose.all": "Visi", "firehose.all": "Visi",
"firehose.local": "Šis serveris", "firehose.local": "Šis serveris",
"firehose.remote": "Citi serveri", "firehose.remote": "Citi serveri",
@ -274,6 +293,7 @@
"follow_requests.unlocked_explanation": "Lai gan Tavs konts nav slēgts, {domain} darbinieki iedomājās, ka Tu varētu vēlēties pašrocīgi pārskatīt sekošanas pieprasījumus no šiem kontiem.", "follow_requests.unlocked_explanation": "Lai gan Tavs konts nav slēgts, {domain} darbinieki iedomājās, ka Tu varētu vēlēties pašrocīgi pārskatīt sekošanas pieprasījumus no šiem kontiem.",
"follow_suggestions.curated_suggestion": "Darbinieku izvēle", "follow_suggestions.curated_suggestion": "Darbinieku izvēle",
"follow_suggestions.dismiss": "Vairs nerādīt", "follow_suggestions.dismiss": "Vairs nerādīt",
"follow_suggestions.friends_of_friends_longer": "Populārs to cilvēku vidū, kuriem tu seko",
"follow_suggestions.personalized_suggestion": "Pielāgots ieteikums", "follow_suggestions.personalized_suggestion": "Pielāgots ieteikums",
"follow_suggestions.similar_to_recently_followed_longer": "Līdzīgi profieliem, kuriem nesen sāki sekot", "follow_suggestions.similar_to_recently_followed_longer": "Līdzīgi profieliem, kuriem nesen sāki sekot",
"follow_suggestions.view_all": "Skatīt visu", "follow_suggestions.view_all": "Skatīt visu",
@ -304,6 +324,7 @@
"hashtag.follow": "Sekot tēmturim", "hashtag.follow": "Sekot tēmturim",
"hashtag.unfollow": "Pārstāt sekot tēmturim", "hashtag.unfollow": "Pārstāt sekot tēmturim",
"hashtags.and_other": "… un {count, plural, other {vēl #}}", "hashtags.and_other": "… un {count, plural, other {vēl #}}",
"hints.threads.replies_may_be_missing": "Var trūkt atbildes no citiem serveriem.",
"home.column_settings.show_reblogs": "Rādīt pastiprinātos ierakstus", "home.column_settings.show_reblogs": "Rādīt pastiprinātos ierakstus",
"home.column_settings.show_replies": "Rādīt atbildes", "home.column_settings.show_replies": "Rādīt atbildes",
"home.hide_announcements": "Slēpt paziņojumus", "home.hide_announcements": "Slēpt paziņojumus",
@ -649,7 +670,6 @@
"status.edit": "Labot", "status.edit": "Labot",
"status.edited": "Pēdējoreiz labots {date}", "status.edited": "Pēdējoreiz labots {date}",
"status.edited_x_times": "Labots {count, plural, zero {{count} reižu} one {{count} reizi} other {{count} reizes}}", "status.edited_x_times": "Labots {count, plural, zero {{count} reižu} one {{count} reizi} other {{count} reizes}}",
"status.embed": "Iegult",
"status.favourite": "Izlasē", "status.favourite": "Izlasē",
"status.favourites": "{count, plural, zero {izlasēs} one {izlasē} other {izlasēs}}", "status.favourites": "{count, plural, zero {izlasēs} one {izlasē} other {izlasēs}}",
"status.filter": "Filtrē šo ziņu", "status.filter": "Filtrē šo ziņu",

View file

@ -308,7 +308,6 @@
"status.delete": "മായ്ക്കുക", "status.delete": "മായ്ക്കുക",
"status.detailed_status": "വിശദമായ സംഭാഷണ കാഴ്‌ച", "status.detailed_status": "വിശദമായ സംഭാഷണ കാഴ്‌ച",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "ഉൾച്ചേർക്കുക",
"status.load_more": "കൂടുതൽ ലോഡു ചെയ്യുക", "status.load_more": "കൂടുതൽ ലോഡു ചെയ്യുക",
"status.media_hidden": "മീഡിയ മറച്ചു", "status.media_hidden": "മീഡിയ മറച്ചു",
"status.mention": "@{name} സൂചിപ്പിക്കുക", "status.mention": "@{name} സൂചിപ്പിക്കുക",

View file

@ -613,7 +613,6 @@
"status.direct_indicator": "Sebutan peribadi", "status.direct_indicator": "Sebutan peribadi",
"status.edit": "Sunting", "status.edit": "Sunting",
"status.edited_x_times": "Disunting {count, plural, other {{count} kali}}", "status.edited_x_times": "Disunting {count, plural, other {{count} kali}}",
"status.embed": "Benaman",
"status.favourite": "Kegemaran", "status.favourite": "Kegemaran",
"status.filter": "Tapiskan hantaran ini", "status.filter": "Tapiskan hantaran ini",
"status.history.created": "{name} mencipta pada {date}", "status.history.created": "{name} mencipta pada {date}",

View file

@ -589,7 +589,6 @@
"status.direct_indicator": "သီးသန့်ဖော်ပြခြင်း။", "status.direct_indicator": "သီးသန့်ဖော်ပြခြင်း။",
"status.edit": "ပြင်ဆင်ရန်", "status.edit": "ပြင်ဆင်ရန်",
"status.edited_x_times": "{count, plural, one {{count} time} other {{count} times}} ပြင်ဆင်ခဲ့သည်", "status.edited_x_times": "{count, plural, one {{count} time} other {{count} times}} ပြင်ဆင်ခဲ့သည်",
"status.embed": "Embed",
"status.favourite": "Favorite", "status.favourite": "Favorite",
"status.filter": "ဤပို့စ်ကို စစ်ထုတ်ပါ", "status.filter": "ဤပို့စ်ကို စစ်ထုတ်ပါ",
"status.history.created": "{name} က {date} က ဖန်တီးခဲ့သည်", "status.history.created": "{name} က {date} က ဖန်တီးခဲ့သည်",

View file

@ -559,8 +559,6 @@
"notifications.column_settings.admin.report": "Nieuwe rapportages:", "notifications.column_settings.admin.report": "Nieuwe rapportages:",
"notifications.column_settings.admin.sign_up": "Nieuwe registraties:", "notifications.column_settings.admin.sign_up": "Nieuwe registraties:",
"notifications.column_settings.alert": "Desktopmeldingen", "notifications.column_settings.alert": "Desktopmeldingen",
"notifications.column_settings.beta.category": "Experimentele functies",
"notifications.column_settings.beta.grouping": "Gegroepeerde meldingen",
"notifications.column_settings.favourite": "Favorieten:", "notifications.column_settings.favourite": "Favorieten:",
"notifications.column_settings.filter_bar.advanced": "Alle categorieën tonen", "notifications.column_settings.filter_bar.advanced": "Alle categorieën tonen",
"notifications.column_settings.filter_bar.category": "Snelle filterbalk", "notifications.column_settings.filter_bar.category": "Snelle filterbalk",
@ -789,7 +787,7 @@
"status.edit": "Bewerken", "status.edit": "Bewerken",
"status.edited": "Laatste bewerking op {date}", "status.edited": "Laatste bewerking op {date}",
"status.edited_x_times": "{count, plural, one {{count} keer} other {{count} keer}} bewerkt", "status.edited_x_times": "{count, plural, one {{count} keer} other {{count} keer}} bewerkt",
"status.embed": "Embedden", "status.embed": "Embed-code verkrijgen",
"status.favourite": "Favoriet", "status.favourite": "Favoriet",
"status.favourites": "{count, plural, one {favoriet} other {favorieten}}", "status.favourites": "{count, plural, one {favoriet} other {favorieten}}",
"status.filter": "Dit bericht filteren", "status.filter": "Dit bericht filteren",

View file

@ -559,8 +559,6 @@
"notifications.column_settings.admin.report": "Nye rapportar:", "notifications.column_settings.admin.report": "Nye rapportar:",
"notifications.column_settings.admin.sign_up": "Nyleg registrerte:", "notifications.column_settings.admin.sign_up": "Nyleg registrerte:",
"notifications.column_settings.alert": "Skrivebordsvarsel", "notifications.column_settings.alert": "Skrivebordsvarsel",
"notifications.column_settings.beta.category": "Eksperimentelle funksjonar",
"notifications.column_settings.beta.grouping": "Grupper varslingar",
"notifications.column_settings.favourite": "Favorittar:", "notifications.column_settings.favourite": "Favorittar:",
"notifications.column_settings.filter_bar.advanced": "Vis alle kategoriar", "notifications.column_settings.filter_bar.advanced": "Vis alle kategoriar",
"notifications.column_settings.filter_bar.category": "Snøggfilterline", "notifications.column_settings.filter_bar.category": "Snøggfilterline",
@ -789,7 +787,7 @@
"status.edit": "Rediger", "status.edit": "Rediger",
"status.edited": "Sist endra {date}", "status.edited": "Sist endra {date}",
"status.edited_x_times": "Redigert {count, plural, one {{count} gong} other {{count} gonger}}", "status.edited_x_times": "Redigert {count, plural, one {{count} gong} other {{count} gonger}}",
"status.embed": "Bygg inn", "status.embed": "Få innbyggingskode",
"status.favourite": "Favoritt", "status.favourite": "Favoritt",
"status.favourites": "{count, plural, one {favoritt} other {favorittar}}", "status.favourites": "{count, plural, one {favoritt} other {favorittar}}",
"status.filter": "Filtrer dette innlegget", "status.filter": "Filtrer dette innlegget",

View file

@ -727,7 +727,6 @@
"status.direct_indicator": "Privat omtale", "status.direct_indicator": "Privat omtale",
"status.edit": "Rediger", "status.edit": "Rediger",
"status.edited_x_times": "Redigert {count, plural,one {{count} gang} other {{count} ganger}}", "status.edited_x_times": "Redigert {count, plural,one {{count} gang} other {{count} ganger}}",
"status.embed": "Bygge inn",
"status.favourite": "Favoritt", "status.favourite": "Favoritt",
"status.filter": "Filtrer dette innlegget", "status.filter": "Filtrer dette innlegget",
"status.history.created": "{name} opprettet {date}", "status.history.created": "{name} opprettet {date}",

View file

@ -505,7 +505,6 @@
"status.direct_indicator": "Mencion privada", "status.direct_indicator": "Mencion privada",
"status.edit": "Modificar", "status.edit": "Modificar",
"status.edited_x_times": "Modificat {count, plural, un {{count} còp} other {{count} còps}}", "status.edited_x_times": "Modificat {count, plural, un {{count} còp} other {{count} còps}}",
"status.embed": "Embarcar",
"status.favourite": "Apondre als favorits", "status.favourite": "Apondre als favorits",
"status.filter": "Filtrar aquesta publicacion", "status.filter": "Filtrar aquesta publicacion",
"status.history.created": "{name} o creèt lo {date}", "status.history.created": "{name} o creèt lo {date}",

View file

@ -320,7 +320,6 @@
"status.delete": "ਹਟਾਓ", "status.delete": "ਹਟਾਓ",
"status.edit": "ਸੋਧ", "status.edit": "ਸੋਧ",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "ਮੜ੍ਹੋ",
"status.favourite": "ਪਸੰਦ", "status.favourite": "ਪਸੰਦ",
"status.history.created": "{name} ਨੇ {date} ਨੂੰ ਬਣਾਇਆ", "status.history.created": "{name} ਨੇ {date} ਨੂੰ ਬਣਾਇਆ",
"status.history.edited": "{name} ਨੇ {date} ਨੂੰ ਸੋਧਿਆ", "status.history.edited": "{name} ਨੇ {date} ਨੂੰ ਸੋਧਿਆ",

View file

@ -559,8 +559,6 @@
"notifications.column_settings.admin.report": "Nowe zgłoszenia:", "notifications.column_settings.admin.report": "Nowe zgłoszenia:",
"notifications.column_settings.admin.sign_up": "Nowe rejestracje:", "notifications.column_settings.admin.sign_up": "Nowe rejestracje:",
"notifications.column_settings.alert": "Powiadomienia na pulpicie", "notifications.column_settings.alert": "Powiadomienia na pulpicie",
"notifications.column_settings.beta.category": "Funkcje eksperymentalne",
"notifications.column_settings.beta.grouping": "Powiadomienia grupowe",
"notifications.column_settings.favourite": "Ulubione:", "notifications.column_settings.favourite": "Ulubione:",
"notifications.column_settings.filter_bar.advanced": "Wyświetl wszystkie kategorie", "notifications.column_settings.filter_bar.advanced": "Wyświetl wszystkie kategorie",
"notifications.column_settings.filter_bar.category": "Szybkie filtrowanie", "notifications.column_settings.filter_bar.category": "Szybkie filtrowanie",
@ -789,7 +787,7 @@
"status.edit": "Edytuj", "status.edit": "Edytuj",
"status.edited": "Ostatnio edytowane {date}", "status.edited": "Ostatnio edytowane {date}",
"status.edited_x_times": "Edytowano {count, plural, one {{count} raz} other {{count} razy}}", "status.edited_x_times": "Edytowano {count, plural, one {{count} raz} other {{count} razy}}",
"status.embed": "Osadź", "status.embed": "Kod osadzenia",
"status.favourite": "Dodaj do ulubionych", "status.favourite": "Dodaj do ulubionych",
"status.favourites": "{count, plural, one {polubienie} few {polubienia} other {polubień}}", "status.favourites": "{count, plural, one {polubienie} few {polubienia} other {polubień}}",
"status.filter": "Filtruj ten wpis", "status.filter": "Filtruj ten wpis",

View file

@ -559,8 +559,6 @@
"notifications.column_settings.admin.report": "Novas denúncias:", "notifications.column_settings.admin.report": "Novas denúncias:",
"notifications.column_settings.admin.sign_up": "Novas inscrições:", "notifications.column_settings.admin.sign_up": "Novas inscrições:",
"notifications.column_settings.alert": "Notificações no computador", "notifications.column_settings.alert": "Notificações no computador",
"notifications.column_settings.beta.category": "Recursos experimentais",
"notifications.column_settings.beta.grouping": "Agrupar notificações",
"notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.favourite": "Favoritos:",
"notifications.column_settings.filter_bar.advanced": "Exibir todas as categorias", "notifications.column_settings.filter_bar.advanced": "Exibir todas as categorias",
"notifications.column_settings.filter_bar.category": "Barra de filtro rápido", "notifications.column_settings.filter_bar.category": "Barra de filtro rápido",
@ -789,7 +787,7 @@
"status.edit": "Editar", "status.edit": "Editar",
"status.edited": "Última edição em {date}", "status.edited": "Última edição em {date}",
"status.edited_x_times": "Editado {count, plural, one {{count} hora} other {{count} vezes}}", "status.edited_x_times": "Editado {count, plural, one {{count} hora} other {{count} vezes}}",
"status.embed": "Incorporar", "status.embed": "Obter código de incorporação",
"status.favourite": "Favorita", "status.favourite": "Favorita",
"status.favourites": "{count, plural, one {favorite} other {favorites}}", "status.favourites": "{count, plural, one {favorite} other {favorites}}",
"status.filter": "Filtrar esta publicação", "status.filter": "Filtrar esta publicação",

View file

@ -359,6 +359,8 @@
"hints.profiles.see_more_followers": "Ver mais seguidores no {domain}", "hints.profiles.see_more_followers": "Ver mais seguidores no {domain}",
"hints.profiles.see_more_follows": "Veja mais perfis seguidos em {domain}", "hints.profiles.see_more_follows": "Veja mais perfis seguidos em {domain}",
"hints.profiles.see_more_posts": "Ver mais publicações em {domain}", "hints.profiles.see_more_posts": "Ver mais publicações em {domain}",
"hints.threads.replies_may_be_missing": "As respostas de outros servidores podem estar a faltar.",
"hints.threads.see_more": "Veja mais respostas em {domain}",
"home.column_settings.show_reblogs": "Mostrar impulsos", "home.column_settings.show_reblogs": "Mostrar impulsos",
"home.column_settings.show_replies": "Mostrar respostas", "home.column_settings.show_replies": "Mostrar respostas",
"home.hide_announcements": "Ocultar comunicações", "home.hide_announcements": "Ocultar comunicações",
@ -366,6 +368,17 @@
"home.pending_critical_update.link": "Ver atualizações", "home.pending_critical_update.link": "Ver atualizações",
"home.pending_critical_update.title": "Atualização de segurança crítica disponível!", "home.pending_critical_update.title": "Atualização de segurança crítica disponível!",
"home.show_announcements": "Exibir comunicações", "home.show_announcements": "Exibir comunicações",
"ignore_notifications_modal.disclaimer": "O Mastodon não pode informar utilizadores que ignoraste as notificações deles. Ignorar notificações não irá parar as mensagens serem enviadas.",
"ignore_notifications_modal.filter_instead": "Filtrar em vez disso",
"ignore_notifications_modal.filter_to_act_users": "Ainda poderá aceitar, rejeitar, ou reportar utilizadores",
"ignore_notifications_modal.filter_to_avoid_confusion": "A filtragem ajuda a evitar potenciais equívocos",
"ignore_notifications_modal.filter_to_review_separately": "Pode rever as notificações filtradas separadamente",
"ignore_notifications_modal.ignore": "Ignorar notificações",
"ignore_notifications_modal.limited_accounts_title": "Ignorar notificações de contas moderadas?",
"ignore_notifications_modal.new_accounts_title": "Ignorar notificações de contas novas?",
"ignore_notifications_modal.not_followers_title": "Ignorar notificações de pessoas que não o seguem?",
"ignore_notifications_modal.not_following_title": "Ignorar notificações de pessoas que não segue?",
"ignore_notifications_modal.private_mentions_title": "Ignorar notificações de Menções Privadas não solicitadas?",
"interaction_modal.description.favourite": "Com uma conta no Mastodon, pode adicionar assinalar esta publicação como favorita para que o autor saiba que gostou e guardá-la para mais tarde.", "interaction_modal.description.favourite": "Com uma conta no Mastodon, pode adicionar assinalar esta publicação como favorita para que o autor saiba que gostou e guardá-la para mais tarde.",
"interaction_modal.description.follow": "Com uma conta no Mastodon, pode seguir {name} para receber as suas publicações na sua página inicial.", "interaction_modal.description.follow": "Com uma conta no Mastodon, pode seguir {name} para receber as suas publicações na sua página inicial.",
"interaction_modal.description.reblog": "Com uma conta no Mastodon, pode impulsionar esta publicação para compartilhá-lo com os seus seguidores.", "interaction_modal.description.reblog": "Com uma conta no Mastodon, pode impulsionar esta publicação para compartilhá-lo com os seus seguidores.",
@ -444,6 +457,7 @@
"lists.subheading": "As tuas listas", "lists.subheading": "As tuas listas",
"load_pending": "{count, plural, one {# novo item} other {# novos itens}}", "load_pending": "{count, plural, one {# novo item} other {# novos itens}}",
"loading_indicator.label": "A carregar…", "loading_indicator.label": "A carregar…",
"media_gallery.hide": "Esconder",
"moved_to_account_banner.text": "A sua conta {disabledAccount} está, no momento, desativada, porque você migrou para {movedToAccount}.", "moved_to_account_banner.text": "A sua conta {disabledAccount} está, no momento, desativada, porque você migrou para {movedToAccount}.",
"mute_modal.hide_from_notifications": "Ocultar das notificações", "mute_modal.hide_from_notifications": "Ocultar das notificações",
"mute_modal.hide_options": "Ocultar opções", "mute_modal.hide_options": "Ocultar opções",
@ -455,6 +469,7 @@
"mute_modal.you_wont_see_mentions": "Não verá publicações que os mencionem.", "mute_modal.you_wont_see_mentions": "Não verá publicações que os mencionem.",
"mute_modal.you_wont_see_posts": "Eles podem continuar a ver as suas publicações, mas você não verá as deles.", "mute_modal.you_wont_see_posts": "Eles podem continuar a ver as suas publicações, mas você não verá as deles.",
"navigation_bar.about": "Sobre", "navigation_bar.about": "Sobre",
"navigation_bar.administration": "Administração",
"navigation_bar.advanced_interface": "Abrir na interface web avançada", "navigation_bar.advanced_interface": "Abrir na interface web avançada",
"navigation_bar.blocks": "Utilizadores bloqueados", "navigation_bar.blocks": "Utilizadores bloqueados",
"navigation_bar.bookmarks": "Marcadores", "navigation_bar.bookmarks": "Marcadores",
@ -471,6 +486,7 @@
"navigation_bar.follows_and_followers": "Seguindo e seguidores", "navigation_bar.follows_and_followers": "Seguindo e seguidores",
"navigation_bar.lists": "Listas", "navigation_bar.lists": "Listas",
"navigation_bar.logout": "Sair", "navigation_bar.logout": "Sair",
"navigation_bar.moderation": "Moderação",
"navigation_bar.mutes": "Utilizadores silenciados", "navigation_bar.mutes": "Utilizadores silenciados",
"navigation_bar.opened_in_classic_interface": "Por norma, publicações, contas, e outras páginas específicas são abertas na interface web clássica.", "navigation_bar.opened_in_classic_interface": "Por norma, publicações, contas, e outras páginas específicas são abertas na interface web clássica.",
"navigation_bar.personal": "Pessoal", "navigation_bar.personal": "Pessoal",
@ -486,9 +502,13 @@
"notification.admin.report_statuses": "{name} denunicou {target} por {category}", "notification.admin.report_statuses": "{name} denunicou {target} por {category}",
"notification.admin.report_statuses_other": "{name} denunciou {target}", "notification.admin.report_statuses_other": "{name} denunciou {target}",
"notification.admin.sign_up": "{name} inscreveu-se", "notification.admin.sign_up": "{name} inscreveu-se",
"notification.admin.sign_up.name_and_others": "{name} e {count, plural, one {# outro} other {# outros}} inscreveram-se",
"notification.favourite": "{name} assinalou a sua publicação como favorita", "notification.favourite": "{name} assinalou a sua publicação como favorita",
"notification.favourite.name_and_others_with_link": "{name} e <a>{count, plural, one {# outro} other {# outros}}</a> assinalou a sua publicação como favorita",
"notification.follow": "{name} começou a seguir-te", "notification.follow": "{name} começou a seguir-te",
"notification.follow.name_and_others": "{name} e {count, plural, one {# outro} other {# outros}} começaram a segui-lo",
"notification.follow_request": "{name} pediu para segui-lo", "notification.follow_request": "{name} pediu para segui-lo",
"notification.follow_request.name_and_others": "{name} e {count, plural, one {# outro} other {# outros}} pediram para segui-lo",
"notification.label.mention": "Menção", "notification.label.mention": "Menção",
"notification.label.private_mention": "Menção privada", "notification.label.private_mention": "Menção privada",
"notification.label.private_reply": "Resposta privada", "notification.label.private_reply": "Resposta privada",
@ -506,6 +526,7 @@
"notification.own_poll": "A sua sondagem terminou", "notification.own_poll": "A sua sondagem terminou",
"notification.poll": "Terminou uma sondagem em que votou", "notification.poll": "Terminou uma sondagem em que votou",
"notification.reblog": "{name} reforçou a tua publicação", "notification.reblog": "{name} reforçou a tua publicação",
"notification.reblog.name_and_others_with_link": "{name} e <a>{count, plural, one {# outro} other {# outros}}</a> reforçaram a sua publicação",
"notification.relationships_severance_event": "Perdeu as ligações com {name}", "notification.relationships_severance_event": "Perdeu as ligações com {name}",
"notification.relationships_severance_event.account_suspension": "Um administrador de {from} suspendeu {target}, o que significa que já não pode receber atualizações dele ou interagir com ele.", "notification.relationships_severance_event.account_suspension": "Um administrador de {from} suspendeu {target}, o que significa que já não pode receber atualizações dele ou interagir com ele.",
"notification.relationships_severance_event.domain_block": "Um administrador de {from} bloqueou {target}, incluindo {followersCount} dos seus seguidores e {followingCount, plural, one {# conta} other {# contas}} que segue.", "notification.relationships_severance_event.domain_block": "Um administrador de {from} bloqueou {target}, incluindo {followersCount} dos seus seguidores e {followingCount, plural, one {# conta} other {# contas}} que segue.",
@ -514,21 +535,30 @@
"notification.status": "{name} acabou de publicar", "notification.status": "{name} acabou de publicar",
"notification.update": "{name} editou uma publicação", "notification.update": "{name} editou uma publicação",
"notification_requests.accept": "Aceitar", "notification_requests.accept": "Aceitar",
"notification_requests.accept_multiple": "{count, plural, one {Aceitar # pedidos…} other {Aceitar # pedidos…}}",
"notification_requests.confirm_accept_multiple.button": "{count, plural, one {Aceitar pedido} other {Aceitar pedidos}}",
"notification_requests.confirm_accept_multiple.message": "Está prestes a aceitar {count, plural, one {um pedido de notificação} other {# pedidos de notificação}}. Tem a certeza de que pretende continuar?",
"notification_requests.confirm_accept_multiple.title": "Aceitar pedidos de notificação?",
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Rejeitar pedido} other {Rejeitar pedidos}}",
"notification_requests.confirm_dismiss_multiple.message": "Está prestes a rejeitar {count, plural, one {um pedido de notificação} other {# pedidos de notificação}}. Não será fácil voltar a {count, plural, one {aceder-lhe} other {aceder-lhes}}. Tem a certeza de que pretende continuar?",
"notification_requests.confirm_dismiss_multiple.title": "Rejeitar pedidos de notificação?",
"notification_requests.dismiss": "Descartar", "notification_requests.dismiss": "Descartar",
"notification_requests.dismiss_multiple": "{count, plural, one {Rejeitar # pedido…} other {Rejeitar # pedidos…}}",
"notification_requests.edit_selection": "Editar",
"notification_requests.exit_selection": "Concluído",
"notification_requests.explainer_for_limited_account": "As notificações desta conta foram filtradas porque a conta foi limitada por um moderador.", "notification_requests.explainer_for_limited_account": "As notificações desta conta foram filtradas porque a conta foi limitada por um moderador.",
"notification_requests.explainer_for_limited_remote_account": "As notificações desta conta foram filtradas porque a conta ou o seu servidor foram limitados por um moderador.", "notification_requests.explainer_for_limited_remote_account": "As notificações desta conta foram filtradas porque a conta ou o seu servidor foram limitados por um moderador.",
"notification_requests.maximize": "Maximizar", "notification_requests.maximize": "Maximizar",
"notification_requests.minimize_banner": "Minimizar o cabeçalho das notificações filtradas", "notification_requests.minimize_banner": "Minimizar o cabeçalho das notificações filtradas",
"notification_requests.notifications_from": "Notificações de {name}", "notification_requests.notifications_from": "Notificações de {name}",
"notification_requests.title": "Notificações filtradas", "notification_requests.title": "Notificações filtradas",
"notification_requests.view": "Ver notificações",
"notifications.clear": "Limpar notificações", "notifications.clear": "Limpar notificações",
"notifications.clear_confirmation": "Queres mesmo limpar todas as notificações?", "notifications.clear_confirmation": "Queres mesmo limpar todas as notificações?",
"notifications.clear_title": "Limpar notificações?", "notifications.clear_title": "Limpar notificações?",
"notifications.column_settings.admin.report": "Novas denúncias:", "notifications.column_settings.admin.report": "Novas denúncias:",
"notifications.column_settings.admin.sign_up": "Novas inscrições:", "notifications.column_settings.admin.sign_up": "Novas inscrições:",
"notifications.column_settings.alert": "Notificações no ambiente de trabalho", "notifications.column_settings.alert": "Notificações no ambiente de trabalho",
"notifications.column_settings.beta.category": "Funcionalidades experimentais",
"notifications.column_settings.beta.grouping": "Agrupar notificações",
"notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.favourite": "Favoritos:",
"notifications.column_settings.filter_bar.advanced": "Mostrar todas as categorias", "notifications.column_settings.filter_bar.advanced": "Mostrar todas as categorias",
"notifications.column_settings.filter_bar.category": "Barra de filtros rápidos", "notifications.column_settings.filter_bar.category": "Barra de filtros rápidos",
@ -557,6 +587,12 @@
"notifications.permission_denied": "Notificações no ambiente de trabalho não estão disponíveis porque a permissão, solicitada pelo navegador, foi recusada anteriormente", "notifications.permission_denied": "Notificações no ambiente de trabalho não estão disponíveis porque a permissão, solicitada pelo navegador, foi recusada anteriormente",
"notifications.permission_denied_alert": "Notificações no ambiente de trabalho não podem ser ativadas, pois a permissão do navegador foi recusada anteriormente", "notifications.permission_denied_alert": "Notificações no ambiente de trabalho não podem ser ativadas, pois a permissão do navegador foi recusada anteriormente",
"notifications.permission_required": "Notificações no ambiente de trabalho não estão disponíveis porque a permissão necessária não foi concedida.", "notifications.permission_required": "Notificações no ambiente de trabalho não estão disponíveis porque a permissão necessária não foi concedida.",
"notifications.policy.accept": "Aceitar",
"notifications.policy.accept_hint": "Mostrar nas notificações",
"notifications.policy.drop": "Ignorar",
"notifications.policy.drop_hint": "Enviar para o vazio, para nunca mais ser visto",
"notifications.policy.filter": "Filtrar",
"notifications.policy.filter_hint": "Enviar para a caixa de notificações filtradas",
"notifications.policy.filter_limited_accounts_hint": "Limitado pelos moderadores do servidor", "notifications.policy.filter_limited_accounts_hint": "Limitado pelos moderadores do servidor",
"notifications.policy.filter_limited_accounts_title": "Contas moderadas", "notifications.policy.filter_limited_accounts_title": "Contas moderadas",
"notifications.policy.filter_new_accounts.hint": "Criada nos últimos {days, plural, one {um dia} other {# dias}}", "notifications.policy.filter_new_accounts.hint": "Criada nos últimos {days, plural, one {um dia} other {# dias}}",
@ -567,6 +603,7 @@
"notifications.policy.filter_not_following_title": "Pessoas que você não segue", "notifications.policy.filter_not_following_title": "Pessoas que você não segue",
"notifications.policy.filter_private_mentions_hint": "Filtrado, a menos que seja em resposta à sua própria menção ou se você seguir o remetente", "notifications.policy.filter_private_mentions_hint": "Filtrado, a menos que seja em resposta à sua própria menção ou se você seguir o remetente",
"notifications.policy.filter_private_mentions_title": "Menções privadas não solicitadas", "notifications.policy.filter_private_mentions_title": "Menções privadas não solicitadas",
"notifications.policy.title": "Gerir notificações de…",
"notifications_permission_banner.enable": "Ativar notificações no ambiente de trabalho", "notifications_permission_banner.enable": "Ativar notificações no ambiente de trabalho",
"notifications_permission_banner.how_to_control": "Para receber notificações quando o Mastodon não estiver aberto, ative as notificações no ambiente de trabalho. Depois da sua ativação, pode controlar precisamente quais tipos de interações geram notificações, através do botão {icon} acima.", "notifications_permission_banner.how_to_control": "Para receber notificações quando o Mastodon não estiver aberto, ative as notificações no ambiente de trabalho. Depois da sua ativação, pode controlar precisamente quais tipos de interações geram notificações, através do botão {icon} acima.",
"notifications_permission_banner.title": "Nunca perca nada", "notifications_permission_banner.title": "Nunca perca nada",
@ -741,6 +778,7 @@
"status.bookmark": "Guardar nos marcadores", "status.bookmark": "Guardar nos marcadores",
"status.cancel_reblog_private": "Deixar de reforçar", "status.cancel_reblog_private": "Deixar de reforçar",
"status.cannot_reblog": "Não é possível partilhar esta publicação", "status.cannot_reblog": "Não é possível partilhar esta publicação",
"status.continued_thread": "Continuação da conserva",
"status.copy": "Copiar hiperligação para a publicação", "status.copy": "Copiar hiperligação para a publicação",
"status.delete": "Eliminar", "status.delete": "Eliminar",
"status.detailed_status": "Vista pormenorizada da conversa", "status.detailed_status": "Vista pormenorizada da conversa",
@ -749,7 +787,7 @@
"status.edit": "Editar", "status.edit": "Editar",
"status.edited": "Última edição em {date}", "status.edited": "Última edição em {date}",
"status.edited_x_times": "Editado {count, plural,one {{count} vez} other {{count} vezes}}", "status.edited_x_times": "Editado {count, plural,one {{count} vez} other {{count} vezes}}",
"status.embed": "Embutir", "status.embed": "Obter código de incorporação",
"status.favourite": "Assinalar como favorito", "status.favourite": "Assinalar como favorito",
"status.favourites": "{count, plural, one {favorito} other {favoritos}}", "status.favourites": "{count, plural, one {favorito} other {favoritos}}",
"status.filter": "Filtrar esta publicação", "status.filter": "Filtrar esta publicação",
@ -774,6 +812,7 @@
"status.reblogs.empty": "Ainda ninguém reforçou esta publicação. Quando alguém o fizer, ele irá aparecer aqui.", "status.reblogs.empty": "Ainda ninguém reforçou esta publicação. Quando alguém o fizer, ele irá aparecer aqui.",
"status.redraft": "Apagar & reescrever", "status.redraft": "Apagar & reescrever",
"status.remove_bookmark": "Retirar dos marcadores", "status.remove_bookmark": "Retirar dos marcadores",
"status.replied_in_thread": "Responder na conversa",
"status.replied_to": "Respondeu a {name}", "status.replied_to": "Respondeu a {name}",
"status.reply": "Responder", "status.reply": "Responder",
"status.replyAll": "Responder à conversa", "status.replyAll": "Responder à conversa",

View file

@ -556,7 +556,6 @@
"status.direct_indicator": "Mențiune privată", "status.direct_indicator": "Mențiune privată",
"status.edit": "Modifică", "status.edit": "Modifică",
"status.edited_x_times": "Modificată {count, plural, one {o dată} few {de {count} ori} other {de {count} de ori}}", "status.edited_x_times": "Modificată {count, plural, one {o dată} few {de {count} ori} other {de {count} de ori}}",
"status.embed": "Înglobează",
"status.filter": "Filtrează această postare", "status.filter": "Filtrează această postare",
"status.history.created": "creată de {name} pe {date}", "status.history.created": "creată de {name} pe {date}",
"status.history.edited": "modificată de {name} pe {date}", "status.history.edited": "modificată de {name} pe {date}",

View file

@ -502,7 +502,6 @@
"notifications.column_settings.admin.report": "Новые жалобы:", "notifications.column_settings.admin.report": "Новые жалобы:",
"notifications.column_settings.admin.sign_up": "Новые регистрации:", "notifications.column_settings.admin.sign_up": "Новые регистрации:",
"notifications.column_settings.alert": "Уведомления на рабочем столе", "notifications.column_settings.alert": "Уведомления на рабочем столе",
"notifications.column_settings.beta.category": "Экспериментальные функции",
"notifications.column_settings.favourite": "Избранные:", "notifications.column_settings.favourite": "Избранные:",
"notifications.column_settings.filter_bar.advanced": "Отображать все категории", "notifications.column_settings.filter_bar.advanced": "Отображать все категории",
"notifications.column_settings.filter_bar.category": "Панель сортировки", "notifications.column_settings.filter_bar.category": "Панель сортировки",
@ -716,7 +715,6 @@
"status.edit": "Изменить", "status.edit": "Изменить",
"status.edited": "Дата последнего изменения: {date}", "status.edited": "Дата последнего изменения: {date}",
"status.edited_x_times": "{count, plural, one {{count} изменение} many {{count} изменений} other {{count} изменения}}", "status.edited_x_times": "{count, plural, one {{count} изменение} many {{count} изменений} other {{count} изменения}}",
"status.embed": "Встроить на свой сайт",
"status.favourite": "Избранное", "status.favourite": "Избранное",
"status.filter": "Фильтровать этот пост", "status.filter": "Фильтровать этот пост",
"status.history.created": "{name} создал {date}", "status.history.created": "{name} создал {date}",

View file

@ -503,7 +503,6 @@
"status.detailed_status": "विस्तृतसंभाषणदृश्यम्", "status.detailed_status": "विस्तृतसंभाषणदृश्यम्",
"status.edit": "सम्पादय", "status.edit": "सम्पादय",
"status.edited_x_times": "Edited {count, plural, one {{count} वारम्} other {{count} वारम्}}", "status.edited_x_times": "Edited {count, plural, one {{count} वारम्} other {{count} वारम्}}",
"status.embed": "निहितम्",
"status.filter": "पत्रमिदं फिल्तरं कुरु", "status.filter": "पत्रमिदं फिल्तरं कुरु",
"status.history.created": "{name} असृजत् {date}", "status.history.created": "{name} असृजत् {date}",
"status.history.edited": "{name} समपादयत् {date}", "status.history.edited": "{name} समपादयत् {date}",

View file

@ -421,8 +421,6 @@
"notifications.clear_confirmation": "Seguru chi boles isboidare in manera permanente totu is notìficas tuas?", "notifications.clear_confirmation": "Seguru chi boles isboidare in manera permanente totu is notìficas tuas?",
"notifications.column_settings.admin.report": "Informes noos:", "notifications.column_settings.admin.report": "Informes noos:",
"notifications.column_settings.alert": "Notìficas de iscrivania", "notifications.column_settings.alert": "Notìficas de iscrivania",
"notifications.column_settings.beta.category": "Funtzionalidades isperimentales",
"notifications.column_settings.beta.grouping": "Notìficas de grupu",
"notifications.column_settings.favourite": "Preferidos:", "notifications.column_settings.favourite": "Preferidos:",
"notifications.column_settings.filter_bar.advanced": "Ammustra totu is categorias", "notifications.column_settings.filter_bar.advanced": "Ammustra totu is categorias",
"notifications.column_settings.filter_bar.category": "Barra de filtru lestru", "notifications.column_settings.filter_bar.category": "Barra de filtru lestru",
@ -545,7 +543,6 @@
"status.detailed_status": "Visualizatzione de detàlliu de arresonada", "status.detailed_status": "Visualizatzione de detàlliu de arresonada",
"status.edit": "Modìfica", "status.edit": "Modìfica",
"status.edited_x_times": "Modificadu {count, plural, one {{count} # borta} other {{count} bortas}}", "status.edited_x_times": "Modificadu {count, plural, one {{count} # borta} other {{count} bortas}}",
"status.embed": "Afissa",
"status.favourites": "{count, plural, one {preferidu} other {preferidos}}", "status.favourites": "{count, plural, one {preferidu} other {preferidos}}",
"status.load_more": "Càrriga·nde àteros", "status.load_more": "Càrriga·nde àteros",
"status.media_hidden": "Elementos multimediales cuados", "status.media_hidden": "Elementos multimediales cuados",

View file

@ -474,7 +474,6 @@
"status.detailed_status": "Detailt conversation view", "status.detailed_status": "Detailt conversation view",
"status.edit": "Edit", "status.edit": "Edit",
"status.edited_x_times": "Editit {count, plural, one {{count} time} other {{count} times}}", "status.edited_x_times": "Editit {count, plural, one {{count} time} other {{count} times}}",
"status.embed": "Embed",
"status.filter": "Filter this post", "status.filter": "Filter this post",
"status.history.created": "{name} creatit {date}", "status.history.created": "{name} creatit {date}",
"status.history.edited": "{name} editit {date}", "status.history.edited": "{name} editit {date}",

View file

@ -415,7 +415,6 @@
"status.detailed_status": "විස්තරාත්මක සංවාද දැක්ම", "status.detailed_status": "විස්තරාත්මක සංවාද දැක්ම",
"status.edit": "සංස්කරණය", "status.edit": "සංස්කරණය",
"status.edited_x_times": "සංශෝධිතයි {count, plural, one {වාර {count}} other {වාර {count}}}", "status.edited_x_times": "සංශෝධිතයි {count, plural, one {වාර {count}} other {වාර {count}}}",
"status.embed": "කාවැද්දූ",
"status.filter": "මෙම ලිපිය පෙරන්න", "status.filter": "මෙම ලිපිය පෙරන්න",
"status.history.created": "{name} නිර්මාණය {date}", "status.history.created": "{name} නිර්මාණය {date}",
"status.history.edited": "{name} සංස්කරණය {date}", "status.history.edited": "{name} සංස්කරණය {date}",

View file

@ -702,7 +702,6 @@
"status.edit": "Upraviť", "status.edit": "Upraviť",
"status.edited": "Naposledy upravený {date}", "status.edited": "Naposledy upravený {date}",
"status.edited_x_times": "Upravený {count, plural, other {{count}×}}", "status.edited_x_times": "Upravený {count, plural, other {{count}×}}",
"status.embed": "Vložiť",
"status.favourite": "Ohviezdičkované", "status.favourite": "Ohviezdičkované",
"status.filter": "Filtrovanie tohto príspevku", "status.filter": "Filtrovanie tohto príspevku",
"status.history.created": "Vytvorené účtom {name} {date}", "status.history.created": "Vytvorené účtom {name} {date}",

View file

@ -520,8 +520,6 @@
"notifications.column_settings.admin.report": "Nove prijave:", "notifications.column_settings.admin.report": "Nove prijave:",
"notifications.column_settings.admin.sign_up": "Novi vpisi:", "notifications.column_settings.admin.sign_up": "Novi vpisi:",
"notifications.column_settings.alert": "Namizna obvestila", "notifications.column_settings.alert": "Namizna obvestila",
"notifications.column_settings.beta.category": "Poskusne funkcionalnosti",
"notifications.column_settings.beta.grouping": "Skupine obvestil",
"notifications.column_settings.favourite": "Priljubljeni:", "notifications.column_settings.favourite": "Priljubljeni:",
"notifications.column_settings.filter_bar.advanced": "Prikaži vse kategorije", "notifications.column_settings.filter_bar.advanced": "Prikaži vse kategorije",
"notifications.column_settings.filter_bar.category": "Vrstica za hitro filtriranje", "notifications.column_settings.filter_bar.category": "Vrstica za hitro filtriranje",
@ -746,7 +744,6 @@
"status.edit": "Uredi", "status.edit": "Uredi",
"status.edited": "Zadnje urejanje {date}", "status.edited": "Zadnje urejanje {date}",
"status.edited_x_times": "Urejeno {count, plural, one {#-krat} two {#-krat} few {#-krat} other {#-krat}}", "status.edited_x_times": "Urejeno {count, plural, one {#-krat} two {#-krat} few {#-krat} other {#-krat}}",
"status.embed": "Vdelaj",
"status.favourite": "Priljubljen_a", "status.favourite": "Priljubljen_a",
"status.favourites": "{count, plural, one {priljubitev} two {priljubitvi} few {priljubitve} other {priljubitev}}", "status.favourites": "{count, plural, one {priljubitev} two {priljubitvi} few {priljubitve} other {priljubitev}}",
"status.filter": "Filtriraj to objavo", "status.filter": "Filtriraj to objavo",

View file

@ -559,8 +559,6 @@
"notifications.column_settings.admin.report": "Raportime të reja:", "notifications.column_settings.admin.report": "Raportime të reja:",
"notifications.column_settings.admin.sign_up": "Regjistrime të reja:", "notifications.column_settings.admin.sign_up": "Regjistrime të reja:",
"notifications.column_settings.alert": "Njoftime desktopi", "notifications.column_settings.alert": "Njoftime desktopi",
"notifications.column_settings.beta.category": "Veçori eksperimentale",
"notifications.column_settings.beta.grouping": "Njoftime grupi",
"notifications.column_settings.favourite": "Të parapëlqyer:", "notifications.column_settings.favourite": "Të parapëlqyer:",
"notifications.column_settings.filter_bar.advanced": "Shfaq krejt kategoritë", "notifications.column_settings.filter_bar.advanced": "Shfaq krejt kategoritë",
"notifications.column_settings.filter_bar.category": "Shtyllë filtrimesh të shpejta", "notifications.column_settings.filter_bar.category": "Shtyllë filtrimesh të shpejta",
@ -789,7 +787,7 @@
"status.edit": "Përpunojeni", "status.edit": "Përpunojeni",
"status.edited": "Përpunuar së fundi më {date}", "status.edited": "Përpunuar së fundi më {date}",
"status.edited_x_times": "Përpunuar {count, plural, one {{count} herë} other {{count} herë}}", "status.edited_x_times": "Përpunuar {count, plural, one {{count} herë} other {{count} herë}}",
"status.embed": "Trupëzim", "status.embed": "Merrni kod trupëzimi",
"status.favourite": "I vini shenjë si të parapëlqyer", "status.favourite": "I vini shenjë si të parapëlqyer",
"status.favourites": "{count, plural, one {i parapëlqyer} other {të parapëlqyer}}", "status.favourites": "{count, plural, one {i parapëlqyer} other {të parapëlqyer}}",
"status.filter": "Filtroje këtë postim", "status.filter": "Filtroje këtë postim",

View file

@ -706,7 +706,6 @@
"status.edit": "Uredi", "status.edit": "Uredi",
"status.edited": "Poslednje uređivanje {date}", "status.edited": "Poslednje uređivanje {date}",
"status.edited_x_times": "Uređeno {count, plural, one {{count} put} other {{count} puta}}", "status.edited_x_times": "Uređeno {count, plural, one {{count} put} other {{count} puta}}",
"status.embed": "Ugradi",
"status.favourite": "Omiljeno", "status.favourite": "Omiljeno",
"status.favourites": "{count, plural, one {# omiljeno} few {# omiljena} other {# omiljenih}}", "status.favourites": "{count, plural, one {# omiljeno} few {# omiljena} other {# omiljenih}}",
"status.filter": "Filtriraj ovu objavu", "status.filter": "Filtriraj ovu objavu",

View file

@ -706,7 +706,6 @@
"status.edit": "Уреди", "status.edit": "Уреди",
"status.edited": "Последње уређивање {date}", "status.edited": "Последње уређивање {date}",
"status.edited_x_times": "Уређено {count, plural, one {{count} пут} other {{count} пута}}", "status.edited_x_times": "Уређено {count, plural, one {{count} пут} other {{count} пута}}",
"status.embed": "Угради",
"status.favourite": "Омиљено", "status.favourite": "Омиљено",
"status.favourites": "{count, plural, one {# омиљено} few {# омиљена} other {# омиљених}}", "status.favourites": "{count, plural, one {# омиљено} few {# омиљена} other {# омиљених}}",
"status.filter": "Филтрирај ову објаву", "status.filter": "Филтрирај ову објаву",

View file

@ -554,8 +554,6 @@
"notifications.column_settings.admin.report": "Nya rapporter:", "notifications.column_settings.admin.report": "Nya rapporter:",
"notifications.column_settings.admin.sign_up": "Nya registreringar:", "notifications.column_settings.admin.sign_up": "Nya registreringar:",
"notifications.column_settings.alert": "Skrivbordsaviseringar", "notifications.column_settings.alert": "Skrivbordsaviseringar",
"notifications.column_settings.beta.category": "Experimentella funktioner",
"notifications.column_settings.beta.grouping": "Gruppera notifikationer",
"notifications.column_settings.favourite": "Favoriter:", "notifications.column_settings.favourite": "Favoriter:",
"notifications.column_settings.filter_bar.advanced": "Visa alla kategorier", "notifications.column_settings.filter_bar.advanced": "Visa alla kategorier",
"notifications.column_settings.filter_bar.category": "Snabbfilter", "notifications.column_settings.filter_bar.category": "Snabbfilter",
@ -783,7 +781,7 @@
"status.edit": "Redigera", "status.edit": "Redigera",
"status.edited": "Senast ändrad {date}", "status.edited": "Senast ändrad {date}",
"status.edited_x_times": "Redigerad {count, plural, one {{count} gång} other {{count} gånger}}", "status.edited_x_times": "Redigerad {count, plural, one {{count} gång} other {{count} gånger}}",
"status.embed": "Bädda in", "status.embed": "Hämta kod för inbäddning",
"status.favourite": "Favoritmarkera", "status.favourite": "Favoritmarkera",
"status.favourites": "{count, plural, one {favorit} other {favoriter}}", "status.favourites": "{count, plural, one {favorit} other {favoriter}}",
"status.filter": "Filtrera detta inlägg", "status.filter": "Filtrera detta inlägg",

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