diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 2cf7bec8eeb..968c77cac27 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -87,6 +87,7 @@ }, { // Update devDependencies every week, with one grouped PR + matchManagers: ['npm'], matchDepTypes: 'devDependencies', matchUpdateTypes: ['patch', 'minor'], groupName: 'devDependencies (non-major)', @@ -95,8 +96,7 @@ { // Group all eslint-related packages with `eslint` in the same PR matchManagers: ['npm'], - matchPackageNames: ['eslint'], - matchPackagePrefixes: ['eslint-', '@typescript-eslint/'], + matchPackageNames: ['eslint', 'eslint-*', '@typescript-eslint/*'], matchUpdateTypes: ['patch', 'minor'], groupName: 'eslint (non-major)', }, @@ -112,7 +112,8 @@ }, { // Update @types/* packages every week, with one grouped PR - matchPackagePrefixes: '@types/', + matchManagers: ['npm'], + matchPackageNames: '@types/*', matchUpdateTypes: ['patch', 'minor'], groupName: 'DefinitelyTyped types (non-major)', extends: ['schedule:weekly'], @@ -129,23 +130,21 @@ { // Group all RuboCop packages with `rubocop` in the same PR matchManagers: ['bundler'], - matchPackageNames: ['rubocop'], - matchPackagePrefixes: ['rubocop-'], + matchPackageNames: ['rubocop', 'rubocop-*'], matchUpdateTypes: ['patch', 'minor'], groupName: 'RuboCop (non-major)', }, { // Group all RSpec packages with `rspec` in the same PR matchManagers: ['bundler'], - matchPackageNames: ['rspec'], - matchPackagePrefixes: ['rspec-'], + matchPackageNames: ['rspec', 'rspec-*'], matchUpdateTypes: ['patch', 'minor'], groupName: 'RSpec (non-major)', }, { // Group all opentelemetry-ruby packages in the same PR matchManagers: ['bundler'], - matchPackagePrefixes: ['opentelemetry-'], + matchPackageNames: ['opentelemetry-*'], matchUpdateTypes: ['patch', 'minor'], groupName: 'opentelemetry-ruby (non-major)', }, diff --git a/.github/workflows/build-container-image.yml b/.github/workflows/build-container-image.yml index dbb32af9bf5..03a0f5bf37b 100644 --- a/.github/workflows/build-container-image.yml +++ b/.github/workflows/build-container-image.yml @@ -85,7 +85,7 @@ jobs: tags: ${{ inputs.tags }} labels: ${{ inputs.labels }} - - uses: docker/build-push-action@v5 + - uses: docker/build-push-action@v6 with: context: . file: ${{ inputs.file_to_build }} diff --git a/.github/workflows/crowdin-download.yml b/.github/workflows/crowdin-download.yml index e9da7cb26f9..0faa7e4939f 100644 --- a/.github/workflows/crowdin-download.yml +++ b/.github/workflows/crowdin-download.yml @@ -26,7 +26,7 @@ jobs: # Download the translation files from Crowdin - name: crowdin action - uses: crowdin/github-action@v1 + uses: crowdin/github-action@v2 with: upload_sources: false upload_translations: false diff --git a/.github/workflows/crowdin-upload.yml b/.github/workflows/crowdin-upload.yml index c1da4088e93..b7a0a2b8199 100644 --- a/.github/workflows/crowdin-upload.yml +++ b/.github/workflows/crowdin-upload.yml @@ -26,7 +26,7 @@ jobs: uses: actions/checkout@v4 - name: crowdin action - uses: crowdin/github-action@v1 + uses: crowdin/github-action@v2 with: upload_sources: true upload_translations: false diff --git a/.github/workflows/rebase-needed.yml b/.github/workflows/rebase-needed.yml index 8784397a8fb..f0fc8b0db72 100644 --- a/.github/workflows/rebase-needed.yml +++ b/.github/workflows/rebase-needed.yml @@ -10,6 +10,7 @@ permissions: jobs: label-rebase-needed: runs-on: ubuntu-latest + if: github.repository == 'mastodon/mastodon' concurrency: group: ${{ github.workflow }}-${{ github.ref }} diff --git a/.github/workflows/test-ruby.yml b/.github/workflows/test-ruby.yml index fcfeed5fbad..3da53c1ae8e 100644 --- a/.github/workflows/test-ruby.yml +++ b/.github/workflows/test-ruby.yml @@ -42,11 +42,24 @@ jobs: with: onlyProduction: 'true' + - name: Cache assets from compilation + uses: actions/cache@v4 + with: + path: | + public/assets + public/packs + public/packs-test + tmp/cache/webpacker + key: ${{ matrix.mode }}-assets-${{ github.head_ref || github.ref_name }}-${{ github.sha }} + restore-keys: | + ${{ matrix.mode }}-assets-${{ github.head_ref || github.ref_name }}-${{ github.sha }} + ${{ matrix.mode }}-assets-${{ github.head_ref || github.ref_name }} + ${{ matrix.mode }}-assets-main + ${{ matrix.mode }}-assets + - name: Precompile assets - # Previously had set this, but it's not supported - # export NODE_OPTIONS=--openssl-legacy-provider run: |- - ./bin/rails assets:precompile + bin/rails assets:precompile - name: Archive asset artifacts run: | @@ -137,6 +150,19 @@ jobs: bin/rails db:setup bin/flatware fan bin/rails db:test:prepare + - name: Cache RSpec persistence file + uses: actions/cache@v4 + with: + path: | + tmp/rspec/examples.txt + key: rspec-persistence-${{ github.head_ref || github.ref_name }}-${{ github.sha }} + restore-keys: | + rspec-persistence-${{ github.head_ref || github.ref_name }}-${{ github.sha }}-${{ matrix.ruby-version }} + rspec-persistence-${{ github.head_ref || github.ref_name }}-${{ github.sha }} + rspec-persistence-${{ github.head_ref || github.ref_name }} + rspec-persistence-main + rspec-persistence + - run: bin/flatware rspec -r ./spec/flatware_helper.rb - name: Upload coverage reports to Codecov diff --git a/.nvmrc b/.nvmrc index 1bdd901e66f..65da8ce3917 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20.16 +20.17 diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 357ed995450..09acb795bf2 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -40,7 +40,6 @@ Style/FetchEnvVar: - 'config/environments/production.rb' - 'config/initializers/2_limited_federation_mode.rb' - 'config/initializers/3_omniauth.rb' - - 'config/initializers/blacklists.rb' - 'config/initializers/cache_buster.rb' - 'config/initializers/devise.rb' - 'config/initializers/paperclip.rb' diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c3d96ba4a4..02ac2898ddb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,334 @@ All notable changes to this project will be documented in this file. +## [4.3.0] - UNRELEASED + +The following changelog entries focus on changes visible to users, administrators, client developers or federated software developers, but there has also been a lot of code modernization, refactoring, and tooling work, in particular by @mjankowski. + +### Security + +- **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. + +### 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)\ + 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.\ + 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.\ + The API is not final yet, but it consists of: + - 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_alpha/notifications/:group_key`: https://docs.joinmastodon.org/methods/notifications_alpha/#get-notification-group + - `POST /api/v2_alpha/notifications/:group_key/dimsiss`: https://docs.joinmastodon.org/methods/notifications_alpha/#dismiss-group + - `GET /api/v2_alpha/notifications/:unread_count`: https://docs.joinmastodon.org/methods/notifications_alpha/#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, and #31541 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.\ + 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.\ + This adds the following REST API endpoints: + + - `GET /api/v2/notifications/policy`: https://docs.joinmastodon.org/methods/notifications/#get-policy + - `PATCH /api/v2/notifications/policy`: https://docs.joinmastodon.org/methods/notifications/#update-the-filtering-policy-for-notifications + - `GET /api/v1/notifications/requests`: https://docs.joinmastodon.org/methods/notifications/#get-requests + - `GET /api/v1/notifications/requests/:id`: https://docs.joinmastodon.org/methods/notifications/#get-one-request + - `POST /api/v1/notifications/requests/:id/accept`: https://docs.joinmastodon.org/methods/notifications/#accept-request + - `POST /api/v1/notifications/requests/:id/dismiss`: https://docs.joinmastodon.org/methods/notifications/#dismiss-request + - `POST /api/v1/notifications/requests/accept`: https://docs.joinmastodon.org/methods/notifications/#accept-multiple-requests + - `POST /api/v1/notifications/requests/dismiss`: https://docs.joinmastodon.org/methods/notifications/#dismiss-multiple-requests + - `GET /api/v1/notifications/requests/merged`: https://docs.joinmastodon.org/methods/notifications/#requests-merged + + In addition, accepting one or more notification requests generates a new streaming event: + + - `notifications_merged`: an event of this type indicates accepted notification requests have finished merging, and the notifications list should be refreshed + +- **Add notifications of severed relationships** (#27511, #29665, #29668, #29670, #29700, #29714, #29712, and #29731 by @ClearlyClaire and @Gargron)\ + Notify local users when they lose relationships as a result of a local moderator blocking a remote account or server, allowing the affected user to retrieve the list of broken relationships.\ + Note that this does not notify remote users.\ + This adds the `severed_relationships` notification type to the REST API and streaming, with a new [`relationship_severance_event` attribute](https://docs.joinmastodon.org/entities/Notification/#relationship_severance_event). +- **Add hover cards in web UI** (#30754, #30864, #30850, #30879, #30928, #30949, #30948, #30931, and #31300 by @ClearlyClaire, @Gargron, and @renchap)\ + Hovering over an avatar or username will now display a hover card with the first two lines of the user's description and their first two profile fields.\ + This can be disabled in the “Animations and accessibility” section of the preferences. +- **Add "system" theme setting (light/dark theme depending on user system preference)** (#29748, #29553, #29795, #29918, #30839, and #30861 by @nshki, @ErikUden, @mjankowski, @renchap, and @vmstan)\ + Add a “system” theme that automatically switch between default dark and light themes depending on the user's system preferences.\ + Also changes the default server theme to this new “system” theme so that automatic theme selection happens even when logged out. +- **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.\ + 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)\ + 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: + ```html + + ``` + 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. +- **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.\ + 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)\ + Clicking the domain of a user in their profile will now open a tooltip with a short explanation about servers and federation. +- Add ability to reorder uploaded media before posting in web UI (#28456 by @Gargron) +- 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)\ + This is also exposed through the REST API: https://docs.joinmastodon.org/entities/Instance/#icon +- 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.\ + See API documentation at https://docs.joinmastodon.org/entities/Instance/#api-versions +- 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 prominent share/copy button on profiles in web UI (#27865 and #27889 by @ClearlyClaire and @Gargron) +- Add optional hints for server rules (#29539 and #29758 by @ClearlyClaire and @Gargron)\ + Server rules can now be broken into a short rule name and a longer explanation of the rule.\ + This adds a new [`hint` attribute](https://docs.joinmastodon.org/entities/Rule/#hint) to `Rule` entities in the REST API. +- Add support for PKCE in OAuth flow (#31129 by @ThisIsMissEm) +- Add CDN cache busting on media deletion (#31353 and #31414 by @ClearlyClaire and @tribela) +- Add the OAuth application used in local reports (#30539 by @ThisIsMissEm) +- Add hint to user that other remote statuses may be missing (#26910, #31387, and #31516 by @Gargron, @audiodude, and @renchap) +- Add lang attribute on preview card title (#31303 by @c960657) +- Add check for `Content-Length` in `ResponseWithLimitAdapter` (#31285 by @c960657) +- Add `Accept-Language` header to fetch preview cards in the server's default language (#31232 by @c960657) +- Add support for PKCE Extension in OmniAuth OIDC through the `OIDC_USE_PKCE` environment variable (#31131 by @ThisIsMissEm) +- Add API endpoints for unread notifications count (#31191 by @ClearlyClaire)\ + This adds the following REST API endpoints: + - `GET /api/v1/notifications/unread_count`: https://docs.joinmastodon.org/methods/notifications/#unread-count +- Add `/` keyboard shortcut to focus the search field (#29921 by @ClearlyClaire) +- Add button to view the Hashtag on the instance from Hashtags in Moderation UI (#31533 by @ThisIsMissEm) +- Add list of pending releases directly in mail notifications for version updates (#29436 and #30035 by @ClearlyClaire) +- Add “Appeals” link under “Moderation” navigation category in moderation interface (#31071 by @ThisIsMissEm) +- Add badge on account card in report moderation interface when account is already suspended (#29592 by @ClearlyClaire) +- Add admin comments directly to the `admin/instances` page (#29240 by @tribela) +- Add ability to require approval when users sign up using specific email domains (#28468, #28732, #28607, and #28608 by @ClearlyClaire) +- Add banner for forwarded reports made by remote users about remote content (#27549 by @ClearlyClaire) +- Add support HTML ruby tags in remote posts for east-asian languages (#30897 by @ThisIsMissEm) +- Add link to manage warning presets in admin navigation (#26199 by @vmstan) +- Add volume saving/reuse to video player (#27488 by @thehydrogen) +- Add Elasticsearch index size, ffmpeg and ImageMagick versions to the admin dashboard (#27301, #30710, #31130, and #30845 by @vmstan) +- Add `MASTODON_SIDEKIQ_READY_FILENAME` environment variable to use a file for Sidekiq to signal it is ready to process jobs (#30971 and #30988 by @renchap)\ + In the official Docker image, this is set to `sidekiq_process_has_started_and_will_begin_processing_jobs` so that Sidekiq will touch `tmp/sidekiq_process_has_started_and_will_begin_processing_jobs` to signal readiness. +- Add `S3_RETRY_LIMIT` environment variable to make S3 retries configurable (#23215 by @smiba) +- Add `S3_KEY_PREFIX` environment variable (#30181 by @S0yKaf) +- 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 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 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.\ + 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. +- 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)\ + See https://docs.joinmastodon.org/admin/config/#otel for documentation +- 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 +- Add redirection back to previous page after site upload deletion (#30141 by @FawazFarid) +- 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 `profile` OAuth 2.0 scope, allowing more limited access to user data (#29087 and #30357 by @ThisIsMissEm) +- Add the role ID to the badge component (#29707 by @renchap) +- 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 support for specifying custom CA cert for Elasticsearch through `ES_CA_FILE` (#29122 and #29147 by @ClearlyClaire) +- Add groundwork for annual reports for accounts (#28693 by @Gargron)\ + This lays the groundwork for a “year-in-review”/“wrapped” style report for local users, but is currently not in use. +- Add notification email on invalid second authenticator (#28822 by @ClearlyClaire) +- Add new emojis from `jdecked/twemoji` 15.0 (#28404 by @TheEssem) +- Add configurable error handling in attachment batch deletion (#28184 by @vmstan)\ + This makes the S3 batch size configurable through the `S3_BATCH_DELETE_LIMIT` environment variable (defaults to 1000), and adds some retry logic, configurable through the `S3_BATCH_DELETE_RETRY` environment variable (defaults to 3). +- Add VAPID public key to instance serializer (#28006 by @ThisIsMissEm) +- Add `nodeName` and `nodeDescription` to nodeinfo `metadata` (#28079 by @6543) +- Add Thai diacritics and tone marks in `HASHTAG_INVALID_CHARS_RE` (#26576 by @ppnplus) +- Add variable delay before link verification of remote account links (#27774 by @ClearlyClaire) +- Add support for invite codes in the registration API (#27805 by @ClearlyClaire) +- Add HTML lang attribute to preview card descriptions (#27503 by @srapilly) +- Add display of relevant account warnings to report action logs (#27425 by @ClearlyClaire) +- Add validation of allowed schemes on preview card URLs (#27485 by @mjankowski) +- Add token introspection without read scope to `/api/v1/apps/verify_credentials` (#27142 by @ThisIsMissEm) +- Add support for cross-origin request to `/nodeinfo/2.0` (#27413 by @palant) +- Add variable delay before link verification of remote account links (#27351 by @ClearlyClaire) +- Add PWA shortcut to `/explore` page (#27235 by @jake-anto) + +### Changed + +- **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.\ + 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)\ + 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”. +- **Change design of confirmation modals in the web UI** (#29576, #29614, #29640, #29644, #30131, #30884, and #31399 by @ClearlyClaire, @Gargron, and @tribela)\ + 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. +- **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 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. +- **Change follow recommendations algorithm** (#28314, #28433, #29017, #29108, #29306, #29550, #29619, and #31474 by @ClearlyClaire, @Gargron, @kernal053, @mjankowski, and @wheatear-dev)\ + This replaces the “past interactions” recommendation algorithm with a “friends of friends” algorithm that suggests accounts followed by people you follow, and a “similar profiles” algorithm that suggests accounts with a profile similar to your most recent follows.\ + 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). +- 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)\ + 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.\ + Administrators may need to update their setup accordingly. +- Change how content warnings and filters are displayed in web UI (#31365 by @Gargron) +- 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. +- Change avatars border radius (#31390 by @renchap) +- 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 design of people tab on explore in web UI (#30059 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 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 admin and moderation notes character limit from 500 to 2000 characters (#30288 by @ThisIsMissEm) +- Change mute options to be in dropdown on muted users list in web UI (#30049 and #31315 by @ClearlyClaire and @Gargron) +- Change out-of-band hashtags design in web UI (#29732 by @Gargron) +- Change design of metadata underneath detailed posts in web UI (#29585, #29605, and #29648 by @ClearlyClaire and @Gargron) +- Change action button to be last on profiles in web UI (#29533 and #29923 by @ClearlyClaire and @Gargron) +- Change confirmation prompts in trending moderation interface to be more specific (#19626 by @tribela) +- Change “Trends” moderation menu to “Recommendations & Trends” and move follow recommendations there (#31292 by @ThisIsMissEm) +- Change irrelevant fields in account cleanup settings to be disabled unless automatic cleanup is enabled (#26562 by @c960657) +- 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 border of active compose field search inputs (#29832 and #29839 by @vmstan) +- 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 layout and wording of the Content Retention server settings page (#27733 by @vmstan) +- Change unconfirmed users to be kept for one week instead of two days (#30285 by @renchap) +- Change maximum page size for Admin Domain Management APIs from 200 to 500 (#31253 by @ThisIsMissEm) +- Change database pool size to default to Sidekiq concurrency settings in Sidekiq processes (#26488 by @sinoru) +- Change alt text to empty string for avatars (#21875 by @jasminjohal) +- Change Docker images to use custom-built libvips and ffmpeg (#30571, #30569, and #31498 by @vmstan) +- Change external links in the admin audit log to plain text or local administration pages (#27139 and #27150 by @ClearlyClaire and @ThisIsMissEm) +- Change YJIT to be enabled when available (#30310 and #27283 by @ClearlyClaire and @mjankowski)\ + Enable Ruby's built-in just-in-time compiler. This improves performances substantially, at the cost of a slightly increased memory usage. +- Change `.env` file loading from deprecated `dotenv-rails` gem to `dotenv` gem (#29173 and #30121 by @mjankowski)\ + This should have no effect except in the unlikely case an environment variable included a newline. +- Change “Panjabi” language name to the more common spelling “Punjabi” (#27117 by @gunchleoc) +- Change encryption of OTP secrets to use ActiveRecord Encryption (#29831, #28325, #30151, #30202, #30340, and #30344 by @ClearlyClaire and @mjankowski)\ + This requires a manual step from administrators of existing servers. Indeed, they need to generate new secrets, which can be done using `bundle exec rails db:encryption:init`.\ + Furthermore, there is a risk that the introduced migration fails if the server was misconfigured in the past. If that happens, the migration error will include the relevant information. +- Change `/api/v1/announcements` to return regular `Status` entities (#26736 by @ClearlyClaire) +- Change imports to convert case-insensitive fields to lowercase (#29739 and #29740 by @ThisIsMissEm) +- Change stats in the admin interface to be inclusive of the full selected range, from beginning of day to end of day (#29416 and #29841 by @mjankowski) +- Change materialized views to be refreshed concurrently to avoid locks (#29015 by @Gargron) +- Change compose form to use server-provided post character and poll options limits (#28928 and #29490 by @ClearlyClaire and @renchap) +- Change streaming server logging from `npmlog` to `pino` and `pino-http` (#27828 by @ThisIsMissEm)\ + This changes the Mastodon streaming server log format, so this might be considered a breaking change if you were parsing the logs. +- Change media “ALT” label to use a specific CSS class (#28777 by @ClearlyClaire) +- Change streaming API host to not be overridden to localhost in development mode (#28557 by @ClearlyClaire) +- Change cookie rotator to use SHA1 digest for new cookies (#27392 by @ClearlyClaire)\ + Note that this requires that no pre-4.2.0 Mastodon web server is running when this code is deployed, as those would not understand the new cookies.\ + Therefore, zero-downtime updates are only supported if you're coming from 4.2.0 or newer. If you want to skip Mastodon 4.2, you will need to completely stop Mastodon services before updating. +- Change preview card deletes to be done using batch method (#28183 by @vmstan) +- Change `img-src` and `media-src` CSP directives to not include `https:` (#28025 and #28561 by @ClearlyClaire) +- Change self-destruct procedure (#26439, #29049, and #29420 by @ClearlyClaire and @zunda)\ + Instead of enqueuing deletion jobs immediately, `tootctl self-destruct` now outputs a value for the `SELF_DESTRUCT` environment variable, which puts a server in self-destruct mode, processing deletions in the background, while giving users access to their export archives. + +### Removed + +- Remove StatsD integration (replaced by OpenTelemetry) (#30240 by @mjankowski) +- Remove `CacheBuster` default options (#30718 by @mjankowski) +- Remove home marker updates from the Web UI (#22721 by @davbeck)\ + The web interface was unconditionally updating the home marker to the most recent received post, discarding any value set by other clients, thus making the feature unreliable. +- Remove support for Ruby 3.0 (reaching EOL) (#29702 by @mjankowski) +- Remove setting for unfollow confirmation modal (#29373 by @ClearlyClaire)\ + Instead, the unfollow confirmation modal will always be displayed. +- Remove support for Capistrano (#27295 and #30009 by @mjankowski and @renchap) + +### Fixed + +- **Fix link preview cards not always preserving the original URL from the status** (#27312 by @Gargron) +- Fix log out from user menu not working on Safari (#31402 by @renchap) +- 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 HTTP 500 error in `/api/v1/polls/:id/votes` when required `choices` parameter is missing (#25598 by @danielmbrasil) +- Fix cross-origin loading of `inert.css` polyfill (#30687 by @louis77) +- Fix cutoff of instance name in sign-up form (#30598 by @oneiros) +- 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 right-to-left text in preview cards (#30930 by @ClearlyClaire) +- Fix rack attack `match_type` value typo in logging config (#30514 by @mjankowski) +- Fix various cases of duplicate, missing, or inconsistent borders or scrollbar styles (#31068, #31286, #31268, #31275, #31284, #31305, #31346, #31372, #31373, #31389, #31432, #31391, and #31445 by @valtlai and @vmstan) +- Fix race condition in `POST /api/v1/push/subscription` (#30166 by @ClearlyClaire) +- Fix post deletion not being delayed when those are part of an account warning (#30163 by @ClearlyClaire) +- Fix rendering error on `/start` when not logged in (#30023 by @timothyjrogers) +- Fix logo pushing header buttons out of view on certain conditions in mobile layout (#29787 by @ClearlyClaire) +- Fix notification-related records not being reattributed when merging accounts (#29694 by @ClearlyClaire) +- Fix results/query in `api/v1/featured_tags/suggestions` (#29597 by @mjankowski) +- Fix distracting and confusing always-showing scrollbar track in boost confirmation modal (#31524 by @ClearlyClaire) +- Fix being able to upload more than 4 media attachments in some cases (#29183 by @mashirozx) +- Fix preview card player getting embedded when clicking on the external link button (#29457 by @ClearlyClaire) +- Fix full date display not respecting the locale 12/24h format (#29448 by @renchap) +- Fix filters title and keywords overflow (#29396 by @GeopJr) +- Fix incorrect date format in “Follows and followers” (#29390 by @JasonPunyon) +- Fix “Edit media” modal sizing and layout when space-constrained (#27095 by @ronilaukkarinen) +- Fix modal container bounds (#29185 by @nico3333fr) +- Fix inefficient HTTP signature parsing using regexps and `StringScanner` (#29133 by @ClearlyClaire) +- Fix moderation report updates through `PUT /api/v1/admin/reports/:id` not being logged in the audit log (#29044, #30342, and #31033 by @mjankowski, @tribela, and @vmstan) +- Fix moderation interface allowing to select rule violation when there are no server rules (#31458 by @ThisIsMissEm) +- Fix redirection from paths with url-encoded `@` to their decoded form (#31184 by @timothyjrogers) +- Fix Trending Tags pending review having an unstable sort order (#31473 by @ThisIsMissEm) +- Fix the emoji dropdown button always opening the dropdown instead of behaving like a toggle (#29012 by @jh97uk) +- Fix processing of incoming posts with bearcaps (#26527 by @kmycode) +- Fix support for IPv6 redis connections in streaming (#31229 by @ThisIsMissEm) +- Fix search form re-rendering spuriously in web UI (#28876 by @Gargron) +- Fix `RedownloadMediaWorker` not being called on transient S3 failure (#28714 by @ClearlyClaire) +- Fix ISO code for Canadian French from incorrect `fr-QC` to `fr-CA` (#26015 by @gunchleoc) +- Fix `.opus` file uploads being misidentified by Paperclip (#28580 by @vmstan) +- Fix loading local accounts with extraneous domain part in WebUI (#28559 by @ClearlyClaire) +- Fix destructive actions in dropdowns not using error color in light theme (#28484 by @logicalmoody) +- Fix call to inefficient `delete_matched` cache method in domain blocks (#28374 by @ClearlyClaire) +- Fix status edits not always being streamed to mentioned users (#28324 by @ClearlyClaire) +- Fix onboarding step descriptions being truncated on narrow screens (#28021 by @ClearlyClaire) +- Fix duplicate IDs in relationships and familiar_followers APIs (#27982 by @KevinBongart) +- Fix modal content not being selectable (#27813 by @pajowu) +- Fix Web UI not displaying appropriate explanation when a user hides their follows/followers (#27791 by @ClearlyClaire) +- Fix format-dependent redirects being cached regardless of requested format (#27632 by @ClearlyClaire) +- Fix confusing screen when visiting a confirmation link for an already-confirmed email (#27368 by @ClearlyClaire) +- Fix explore page reloading when you navigate back to it in web UI (#27489 by @Gargron) +- Fix missing redirection from `/home` to `/deck/home` in the advanced interface (#27378 by @Signez) +- Fix empty environment variables not using default nil value (#27400 by @renchap) +- Fix language sorting in settings (#27158 by @gunchleoc) + +## |4.2.11] - 2024-08-16 + +### Added + +- Add support for incoming `` tag ([mediaformat](https://github.com/mastodon/mastodon/pull/31375)) + +### Changed + +- Change logic of block/mute bypass for mentions from moderators to only apply to visible roles with moderation powers ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/31271)) + +### Fixed + +- Fix incorrect rate limit on PUT requests ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/31356)) +- Fix presence of `ß` in adjacent word preventing mention and hashtag matching ([adamniedzielski](https://github.com/mastodon/mastodon/pull/31122)) +- Fix processing of webfinger responses with multiple `self` links ([adamniedzielski](https://github.com/mastodon/mastodon/pull/31110)) +- Fix duplicate `orderedItems` in user archive's `outbox.json` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/31099)) +- Fix click event handling when clicking outside of an open dropdown menu ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/31251)) +- Fix status processing failing halfway when a remote post has a malformed `replies` attribute ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/31246)) +- Fix `--verbose` option of `tootctl media remove`, which was previously erroneously removed ([mjankowski](https://github.com/mastodon/mastodon/pull/30536)) +- Fix division by zero on some video/GIF files ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/30600)) +- Fix Web UI trying to save user settings despite being logged out ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/30324)) +- Fix hashtag regexp matching some link anchors ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/30190)) +- Fix local account search on LDAP login being case-sensitive ([raucao](https://github.com/mastodon/mastodon/pull/30113)) +- Fix development environment admin account not being auto-approved ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/29958)) +- Fix report reason selector in moderation interface not unselecting rules when changing category ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/29026)) +- Fix already-invalid reports failing to resolve ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/29027)) +- Fix OCR when using S3/CDN for assets ([vmstan](https://github.com/mastodon/mastodon/pull/28551)) +- Fix error when encountering malformed `Tag` objects from Kbin ([ShadowJonathan](https://github.com/mastodon/mastodon/pull/28235)) +- Fix not all allowed image formats showing in file picker when uploading custom emoji ([june128](https://github.com/mastodon/mastodon/pull/28076)) +- Fix search popout listing unusable search options when logged out ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/27918)) +- Fix processing of featured collections lacking an `items` attribute ([tribela](https://github.com/mastodon/mastodon/pull/27581)) +- Fix `mastodon:stats` decoration of stats rake task ([mjankowski](https://github.com/mastodon/mastodon/pull/31104)) + ## [4.2.10] - 2024-07-04 ### Security diff --git a/Dockerfile b/Dockerfile index a0af1eda6b6..cd555f7027d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -191,16 +191,19 @@ FROM build AS libvips # libvips version to compile, change with [--build-arg VIPS_VERSION="8.15.2"] # renovate: datasource=github-releases depName=libvips packageName=libvips/libvips -ARG VIPS_VERSION=8.15.2 +ARG VIPS_VERSION=8.15.3 # libvips download URL, change with [--build-arg VIPS_URL="https://github.com/libvips/libvips/releases/download"] ARG VIPS_URL=https://github.com/libvips/libvips/releases/download WORKDIR /usr/local/libvips/src +# Download and extract libvips source code +ADD ${VIPS_URL}/v${VIPS_VERSION}/vips-${VIPS_VERSION}.tar.xz /usr/local/libvips/src/ +RUN tar xf vips-${VIPS_VERSION}.tar.xz; +WORKDIR /usr/local/libvips/src/vips-${VIPS_VERSION} + +# Configure and compile libvips RUN \ - curl -sSL -o vips-${VIPS_VERSION}.tar.xz ${VIPS_URL}/v${VIPS_VERSION}/vips-${VIPS_VERSION}.tar.xz; \ - tar xf vips-${VIPS_VERSION}.tar.xz; \ - cd vips-${VIPS_VERSION}; \ meson setup build --prefix /usr/local/libvips --libdir=lib -Ddeprecated=false -Dintrospection=disabled -Dmodules=disabled -Dexamples=false; \ cd build; \ ninja; \ @@ -216,11 +219,14 @@ ARG FFMPEG_VERSION=7.0.2 ARG FFMPEG_URL=https://ffmpeg.org/releases WORKDIR /usr/local/ffmpeg/src +# Download and extract ffmpeg source code +ADD ${FFMPEG_URL}/ffmpeg-${FFMPEG_VERSION}.tar.xz /usr/local/ffmpeg/src/ +RUN tar xf ffmpeg-${FFMPEG_VERSION}.tar.xz; +WORKDIR /usr/local/ffmpeg/src/ffmpeg-${FFMPEG_VERSION} + +# Configure and compile ffmpeg RUN \ - curl -sSL -o ffmpeg-${FFMPEG_VERSION}.tar.xz ${FFMPEG_URL}/ffmpeg-${FFMPEG_VERSION}.tar.xz; \ - tar xf ffmpeg-${FFMPEG_VERSION}.tar.xz; \ - cd ffmpeg-${FFMPEG_VERSION}; \ ./configure \ --prefix=/usr/local/ffmpeg \ --toolchain=hardened \ diff --git a/Gemfile b/Gemfile index cf930dadb6e..9a6db1ec098 100644 --- a/Gemfile +++ b/Gemfile @@ -64,7 +64,6 @@ gem 'link_header', '~> 0.0' gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock' gem 'mime-types', '~> 3.5.0', require: 'mime/types/columnar' gem 'nokogiri', '~> 1.15' -gem 'nsa' gem 'oj', '~> 3.14' gem 'ox', '~> 2.14' gem 'parslet' @@ -112,7 +111,7 @@ group :opentelemetry do gem 'opentelemetry-instrumentation-http', '~> 0.23.2', 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-pg', '~> 0.27.1', require: false + gem 'opentelemetry-instrumentation-pg', '~> 0.28.0', require: false gem 'opentelemetry-instrumentation-rack', '~> 0.24.1', require: false gem 'opentelemetry-instrumentation-rails', '~> 0.31.0', require: false gem 'opentelemetry-instrumentation-redis', '~> 0.25.3', require: false diff --git a/Gemfile.lock b/Gemfile.lock index e4d787eb646..d14fc0168f2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -100,16 +100,16 @@ GEM attr_required (1.0.2) awrence (1.2.1) aws-eventstream (1.3.0) - aws-partitions (1.961.0) - aws-sdk-core (3.201.3) + aws-partitions (1.966.0) + aws-sdk-core (3.201.5) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) - aws-sigv4 (~> 1.8) + aws-sigv4 (~> 1.9) jmespath (~> 1, >= 1.6.1) aws-sdk-kms (1.88.0) aws-sdk-core (~> 3, >= 3.201.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.157.0) + aws-sdk-s3 (1.159.0) aws-sdk-core (~> 3, >= 3.201.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) @@ -137,14 +137,14 @@ GEM blurhash (0.1.7) bootsnap (1.18.4) msgpack (~> 1.2) - brakeman (6.1.2) + brakeman (6.2.1) racc browser (5.3.1) brpoplpush-redis_script (0.1.3) concurrent-ruby (~> 1.0, >= 1.0.5) redis (>= 1.0, < 6) builder (3.3.0) - bundler-audit (0.9.1) + bundler-audit (0.9.2) bundler (>= 1.2.0, < 3) thor (~> 1.0) capybara (3.40.0) @@ -168,7 +168,7 @@ GEM climate_control (1.2.0) cocoon (1.2.15) color_diff (0.1) - concurrent-ruby (1.3.3) + concurrent-ruby (1.3.4) connection_pool (2.4.1) cose (1.3.0) cbor (~> 0.5.9) @@ -281,8 +281,8 @@ GEM fog-core (~> 2.1) fog-json (>= 1.0) formatador (1.1.0) - fugit (1.10.1) - et-orbi (~> 1, >= 1.2.7) + fugit (1.11.1) + et-orbi (~> 1, >= 1.2.11) raabro (~> 1.4) fuubar (2.5.1) rspec-core (~> 3.0) @@ -432,7 +432,7 @@ GEM mime-types-data (3.2024.0702) mini_mime (1.1.5) mini_portile2 (2.8.7) - minitest (5.24.1) + minitest (5.25.1) msgpack (1.7.2) multi_json (1.15.0) multipart-post (2.4.0) @@ -455,13 +455,9 @@ GEM nokogiri (1.16.7) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nsa (0.3.0) - activesupport (>= 4.2, < 7.2) - concurrent-ruby (~> 1.0, >= 1.0.2) - sidekiq (>= 3.5) - statsd-ruby (~> 1.4, >= 1.4.0) - oj (3.16.4) + oj (3.16.5) bigdecimal (>= 3.0) + ostruct (>= 0.2) omniauth (2.1.2) hashie (>= 3.4.6) rack (>= 2.2.3) @@ -470,7 +466,7 @@ GEM addressable (~> 2.8) nokogiri (~> 1.12) omniauth (~> 2.1) - omniauth-rails_csrf_protection (1.0.1) + omniauth-rails_csrf_protection (1.0.2) actionpack (>= 4.2) omniauth (~> 2.0) omniauth-saml (2.1.0) @@ -513,17 +509,17 @@ GEM opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-rack (~> 0.21) - opentelemetry-instrumentation-action_view (0.7.1) + opentelemetry-instrumentation-action_view (0.7.2) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-active_support (~> 0.1) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-active_job (0.7.4) + opentelemetry-instrumentation-active_job (0.7.7) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-active_model_serializers (0.20.2) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-active_record (0.7.2) + opentelemetry-instrumentation-active_record (0.7.3) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-active_support (0.6.0) @@ -550,14 +546,14 @@ GEM opentelemetry-instrumentation-net_http (0.22.7) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-pg (0.27.4) + opentelemetry-instrumentation-pg (0.28.0) opentelemetry-api (~> 1.0) opentelemetry-helpers-sql-obfuscation opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-rack (0.24.6) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-rails (0.31.1) + opentelemetry-instrumentation-rails (0.31.2) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-action_mailer (~> 0.1.0) opentelemetry-instrumentation-action_pack (~> 0.9.0) @@ -582,6 +578,7 @@ GEM opentelemetry-semantic_conventions (1.10.1) opentelemetry-api (~> 1.0) orm_adapter (0.5.0) + ostruct (0.6.0) ox (2.14.18) parallel (1.25.1) parser (3.3.4.0) @@ -601,7 +598,7 @@ GEM actionmailer (>= 3) net-smtp premailer (~> 1.7, >= 1.7.9) - propshaft (0.9.0) + propshaft (0.9.1) actionpack (>= 7.0.0) activesupport (>= 7.0.0) rack @@ -611,7 +608,7 @@ GEM public_suffix (6.0.1) puma (6.4.2) nio4r (~> 2.0) - pundit (2.3.2) + pundit (2.4.0) activesupport (>= 3.0.0) raabro (1.4.0) racc (1.8.1) @@ -698,7 +695,7 @@ GEM responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.3.4) + rexml (3.3.6) strscan rotp (6.3.0) rouge (4.2.1) @@ -721,7 +718,7 @@ GEM rspec-mocks (3.13.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (6.1.3) + rspec-rails (6.1.4) actionpack (>= 6.1) activesupport (>= 6.1) railties (>= 6.1) @@ -777,7 +774,7 @@ GEM fugit (~> 1.1, >= 1.1.6) safety_net_attestation (0.4.0) jwt (~> 2.0) - sanitize (6.1.2) + sanitize (6.1.3) crass (~> 1.0.2) nokogiri (>= 1.12.0) scenic (1.8.0) @@ -819,7 +816,6 @@ GEM simplecov-lcov (0.8.0) simplecov_json_formatter (0.1.4) stackprof (0.2.26) - statsd-ruby (1.5.0) stoplight (4.1.0) redlock (~> 1.0) stringio (3.1.1) @@ -836,7 +832,7 @@ GEM unicode-display_width (>= 1.1.1, < 3) terrapin (1.0.1) climate_control - test-prof (1.3.3.1) + test-prof (1.4.1) thor (1.3.1) tilt (2.3.0) timeout (0.4.1) @@ -904,7 +900,7 @@ GEM xorcist (1.1.3) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.16) + zeitwerk (2.6.17) PLATFORMS ruby @@ -978,7 +974,6 @@ DEPENDENCIES net-http (~> 0.4.0) net-ldap (~> 0.18) nokogiri (~> 1.15) - nsa oj (~> 3.14) omniauth (~> 2.0) omniauth-cas (~> 3.0.0.beta.1) @@ -995,7 +990,7 @@ DEPENDENCIES opentelemetry-instrumentation-http (~> 0.23.2) opentelemetry-instrumentation-http_client (~> 0.22.3) opentelemetry-instrumentation-net_http (~> 0.22.4) - opentelemetry-instrumentation-pg (~> 0.27.1) + opentelemetry-instrumentation-pg (~> 0.28.0) opentelemetry-instrumentation-rack (~> 0.24.1) opentelemetry-instrumentation-rails (~> 0.31.0) opentelemetry-instrumentation-redis (~> 0.25.3) diff --git a/app/controllers/api/v1/notifications/requests_controller.rb b/app/controllers/api/v1/notifications/requests_controller.rb index 0710166d05b..36ee073b9ce 100644 --- a/app/controllers/api/v1/notifications/requests_controller.rb +++ b/app/controllers/api/v1/notifications/requests_controller.rb @@ -1,8 +1,10 @@ # frozen_string_literal: true class Api::V1::Notifications::RequestsController < Api::BaseController - before_action -> { doorkeeper_authorize! :read, :'read:notifications' }, only: :index - before_action -> { doorkeeper_authorize! :write, :'write:notifications' }, except: :index + include Redisable + + before_action -> { doorkeeper_authorize! :read, :'read:notifications' }, only: [:index, :show, :merged?] + before_action -> { doorkeeper_authorize! :write, :'write:notifications' }, except: [:index, :show, :merged?] before_action :require_user! before_action :set_request, only: [:show, :accept, :dismiss] @@ -19,6 +21,10 @@ class Api::V1::Notifications::RequestsController < Api::BaseController render json: @requests, each_serializer: REST::NotificationRequestSerializer, relationships: @relationships end + def merged? + render json: { merged: redis.get("notification_unfilter_jobs:#{current_account.id}").to_i <= 0 } + end + def show render json: @request, serializer: REST::NotificationRequestSerializer end @@ -69,13 +75,17 @@ class Api::V1::Notifications::RequestsController < Api::BaseController end def next_path - api_v1_notifications_requests_url pagination_params(max_id: pagination_max_id) unless @requests.empty? + api_v1_notifications_requests_url pagination_params(max_id: pagination_max_id) if records_continue? end def prev_path api_v1_notifications_requests_url pagination_params(min_id: pagination_since_id) unless @requests.empty? end + def records_continue? + @requests.size == limit_param(DEFAULT_ACCOUNTS_LIMIT) + end + def pagination_max_id @requests.last.id end diff --git a/app/controllers/auth/sessions_controller.rb b/app/controllers/auth/sessions_controller.rb index 6210e4dbf9a..a2fed644fe7 100644 --- a/app/controllers/auth/sessions_controller.rb +++ b/app/controllers/auth/sessions_controller.rb @@ -187,4 +187,15 @@ class Auth::SessionsController < Devise::SessionsController def second_factor_attempts_key(user) "2fa_auth_attempts:#{user.id}:#{Time.now.utc.hour}" end + + def respond_to_on_destroy + respond_to do |format| + format.json do + render json: { + redirect_to: after_sign_out_path_for(resource_name), + }, status: 200 + end + format.all { super } + end + end end diff --git a/app/helpers/admin/filter_helper.rb b/app/helpers/admin/filter_helper.rb index 140fc73ede4..40806a45158 100644 --- a/app/helpers/admin/filter_helper.rb +++ b/app/helpers/admin/filter_helper.rb @@ -25,7 +25,7 @@ module Admin::FilterHelper end def table_link_to(icon, text, path, **options) - link_to safe_join([fa_icon(icon), text]), path, options.merge(class: 'table-action-link') + link_to safe_join([material_symbol(icon), text]), path, options.merge(class: 'table-action-link') end def selected?(more_params) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index a6ab4044bcb..f1c77d40eb4 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -86,7 +86,7 @@ module ApplicationHelper def html_title safe_join( [content_for(:page_title).to_s.chomp, title] - .select(&:present?), + .compact_blank, ' - ' ) end @@ -105,19 +105,12 @@ module ApplicationHelper policy(record).public_send(:"#{action}?") end - def fa_icon(icon, attributes = {}) - class_names = attributes[:class]&.split || [] - class_names << 'fa' - class_names += icon.split.map { |cl| "fa-#{cl}" } - - content_tag(:i, nil, attributes.merge(class: class_names.join(' '))) - end - def material_symbol(icon, attributes = {}) inline_svg_tag( "400-24px/#{icon}.svg", class: ['icon', "material-#{icon}"].concat(attributes[:class].to_s.split), - role: :img + role: :img, + data: attributes[:data] ) end @@ -244,22 +237,6 @@ module ApplicationHelper full_asset_url(instance_presenter.mascot&.file&.url || frontend_asset_path('images/elephant_ui_plane.svg')) end - def instance_presenter - @instance_presenter ||= InstancePresenter.new - end - - def favicon_path(size = '48') - instance_presenter.favicon&.file&.url(size) - end - - def app_icon_path(size = '48') - instance_presenter.app_icon&.file&.url(size) - end - - def use_mask_icon? - instance_presenter.app_icon.blank? - end - private def storage_host_var diff --git a/app/helpers/instance_helper.rb b/app/helpers/instance_helper.rb index 893afdd51ff..018c69e6207 100644 --- a/app/helpers/instance_helper.rb +++ b/app/helpers/instance_helper.rb @@ -13,6 +13,22 @@ module InstanceHelper safe_join([description_prefix(invite), I18n.t('auth.description.suffix')], ' ') end + def instance_presenter + @instance_presenter ||= InstancePresenter.new + end + + def favicon_path(size = '48') + instance_presenter.favicon&.file&.url(size) + end + + def app_icon_path(size = '48') + instance_presenter.app_icon&.file&.url(size) + end + + def use_mask_icon? + instance_presenter.app_icon.blank? + end + private def description_prefix(invite) diff --git a/app/helpers/settings_helper.rb b/app/helpers/settings_helper.rb index 10863a316c9..64f2ad70a66 100644 --- a/app/helpers/settings_helper.rb +++ b/app/helpers/settings_helper.rb @@ -26,11 +26,11 @@ module SettingsHelper device = session.detection.device if device.mobile? - 'mobile' + 'smartphone' elsif device.tablet? 'tablet' else - 'desktop' + 'desktop_mac' end end diff --git a/app/javascript/images/filter-stripes.svg b/app/javascript/images/filter-stripes.svg new file mode 100755 index 00000000000..4c1b58cb744 --- /dev/null +++ b/app/javascript/images/filter-stripes.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/javascript/mastodon/actions/account_notes.ts b/app/javascript/mastodon/actions/account_notes.ts index c2ebaf54a43..9e7d199dc9a 100644 --- a/app/javascript/mastodon/actions/account_notes.ts +++ b/app/javascript/mastodon/actions/account_notes.ts @@ -6,5 +6,4 @@ export const submitAccountNote = createDataLoadingThunk( ({ accountId, note }: { accountId: string; note: string }) => apiSubmitAccountNote(accountId, note), (relationship) => ({ relationship }), - { skipLoading: true }, ); diff --git a/app/javascript/mastodon/actions/interactions.js b/app/javascript/mastodon/actions/interactions.js index b296a5006ac..d3538a8850a 100644 --- a/app/javascript/mastodon/actions/interactions.js +++ b/app/javascript/mastodon/actions/interactions.js @@ -437,12 +437,12 @@ export function unpinFail(status, error) { }; } -function toggleReblogWithoutConfirmation(status, privacy) { +function toggleReblogWithoutConfirmation(status, visibility) { return (dispatch) => { if (status.get('reblogged')) { dispatch(unreblog({ statusId: status.get('id') })); } else { - dispatch(reblog({ statusId: status.get('id'), privacy })); + dispatch(reblog({ statusId: status.get('id'), visibility })); } }; } diff --git a/app/javascript/mastodon/actions/markers.ts b/app/javascript/mastodon/actions/markers.ts index 77d91d9b9c3..521859f6c25 100644 --- a/app/javascript/mastodon/actions/markers.ts +++ b/app/javascript/mastodon/actions/markers.ts @@ -2,6 +2,7 @@ import { debounce } from 'lodash'; import type { MarkerJSON } from 'mastodon/api_types/markers'; import { getAccessToken } from 'mastodon/initial_state'; +import { selectUseGroupedNotifications } from 'mastodon/selectors/settings'; import type { AppDispatch, RootState } from 'mastodon/store'; import { createAppAsyncThunk } from 'mastodon/store/typed_functions'; @@ -75,13 +76,8 @@ interface MarkerParam { } function getLastNotificationId(state: RootState): string | undefined { - // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access - const enableBeta = state.settings.getIn( - ['notifications', 'groupingBeta'], - false, - ) as boolean; // eslint-disable-next-line @typescript-eslint/no-unsafe-return - return enableBeta + return selectUseGroupedNotifications(state) ? state.notificationGroups.lastReadId : // @ts-expect-error state.notifications is not yet typed // eslint-disable-next-line @typescript-eslint/no-unsafe-call diff --git a/app/javascript/mastodon/actions/notification_groups.ts b/app/javascript/mastodon/actions/notification_groups.ts index fc5807c8c08..51f83f1d241 100644 --- a/app/javascript/mastodon/actions/notification_groups.ts +++ b/app/javascript/mastodon/actions/notification_groups.ts @@ -11,10 +11,12 @@ import type { } from 'mastodon/api_types/notifications'; import { allNotificationTypes } from 'mastodon/api_types/notifications'; import type { ApiStatusJSON } from 'mastodon/api_types/statuses'; +import { usePendingItems } from 'mastodon/initial_state'; import type { NotificationGap } from 'mastodon/reducers/notification_groups'; import { selectSettingsNotificationsExcludedTypes, selectSettingsNotificationsQuickFilterActive, + selectSettingsNotificationsShows, } from 'mastodon/selectors/settings'; import type { AppDispatch } from 'mastodon/store'; import { @@ -46,7 +48,7 @@ function dispatchAssociatedRecords( fetchedAccounts.push(notification.moderation_warning.target_account); } - if ('status' in notification) { + if ('status' in notification && notification.status) { fetchedStatuses.push(notification.status); } }); @@ -102,9 +104,55 @@ export const fetchNotificationsGap = createDataLoadingThunk( }, ); +export const pollRecentNotifications = createDataLoadingThunk( + 'notificationGroups/pollRecentNotifications', + async (_params, { getState }) => { + return apiFetchNotifications({ + max_id: undefined, + // In slow mode, we don't want to include notifications that duplicate the already-displayed ones + since_id: usePendingItems + ? getState().notificationGroups.groups.find( + (group) => group.type !== 'gap', + )?.page_max_id + : undefined, + }); + }, + ({ notifications, accounts, statuses }, { dispatch }) => { + dispatch(importFetchedAccounts(accounts)); + dispatch(importFetchedStatuses(statuses)); + dispatchAssociatedRecords(dispatch, notifications); + + return { notifications }; + }, +); + export const processNewNotificationForGroups = createAppAsyncThunk( 'notificationGroups/processNew', - (notification: ApiNotificationJSON, { dispatch }) => { + (notification: ApiNotificationJSON, { dispatch, getState }) => { + const state = getState(); + const activeFilter = selectSettingsNotificationsQuickFilterActive(state); + const notificationShows = selectSettingsNotificationsShows(state); + + const showInColumn = + activeFilter === 'all' + ? notificationShows[notification.type] + : activeFilter === notification.type; + + if (!showInColumn) return; + + if ( + (notification.type === 'mention' || notification.type === 'update') && + notification.status?.filtered + ) { + const filters = notification.status.filtered.filter((result) => + result.filter.context.includes('notifications'), + ); + + if (filters.some((result) => result.filter.filter_action === 'hide')) { + return; + } + } + dispatchAssociatedRecords(dispatch, [notification]); return notification; @@ -113,8 +161,18 @@ export const processNewNotificationForGroups = createAppAsyncThunk( export const loadPending = createAction('notificationGroups/loadPending'); -export const updateScrollPosition = createAction<{ top: boolean }>( +export const updateScrollPosition = createAppAsyncThunk( 'notificationGroups/updateScrollPosition', + ({ top }: { top: boolean }, { dispatch, getState }) => { + if ( + top && + getState().notificationGroups.mergedNotifications === 'needs-reload' + ) { + void dispatch(fetchNotifications()); + } + + return { top }; + }, ); export const setNotificationsFilter = createAppAsyncThunk( @@ -140,5 +198,34 @@ export const markNotificationsAsRead = createAction( 'notificationGroups/markAsRead', ); -export const mountNotifications = createAction('notificationGroups/mount'); +export const mountNotifications = createAppAsyncThunk( + 'notificationGroups/mount', + (_, { dispatch, getState }) => { + const state = getState(); + + if ( + state.notificationGroups.mounted === 0 && + state.notificationGroups.mergedNotifications === 'needs-reload' + ) { + void dispatch(fetchNotifications()); + } + }, +); + export const unmountNotifications = createAction('notificationGroups/unmount'); + +export const refreshStaleNotificationGroups = createAppAsyncThunk<{ + deferredRefresh: boolean; +}>('notificationGroups/refreshStale', (_, { dispatch, getState }) => { + const state = getState(); + + if ( + state.notificationGroups.scrolledToTop || + !state.notificationGroups.mounted + ) { + void dispatch(fetchNotifications()); + return { deferredRefresh: false }; + } + + return { deferredRefresh: true }; +}); diff --git a/app/javascript/mastodon/actions/notifications.js b/app/javascript/mastodon/actions/notifications.js index 48afb003ad3..f5105d460f7 100644 --- a/app/javascript/mastodon/actions/notifications.js +++ b/app/javascript/mastodon/actions/notifications.js @@ -64,6 +64,14 @@ export const NOTIFICATION_REQUEST_DISMISS_REQUEST = 'NOTIFICATION_REQUEST_DISMIS 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_SUCCESS = 'NOTIFICATION_REQUESTS_ACCEPT_SUCCESS'; +export const NOTIFICATION_REQUESTS_ACCEPT_FAIL = 'NOTIFICATION_REQUESTS_ACCEPT_FAIL'; + +export const NOTIFICATION_REQUESTS_DISMISS_REQUEST = 'NOTIFICATION_REQUESTS_DISMISS_REQUEST'; +export const NOTIFICATION_REQUESTS_DISMISS_SUCCESS = 'NOTIFICATION_REQUESTS_DISMISS_SUCCESS'; +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'; @@ -180,8 +188,8 @@ const noOp = () => {}; let expandNotificationsController = new AbortController(); -export function expandNotifications({ maxId, forceLoad = false } = {}, done = noOp) { - return (dispatch, getState) => { +export function expandNotifications({ maxId = undefined, forceLoad = false }) { + return async (dispatch, getState) => { const activeFilter = getState().getIn(['settings', 'notifications', 'quickFilter', 'active']); const notifications = getState().get('notifications'); const isLoadingMore = !!maxId; @@ -191,7 +199,6 @@ export function expandNotifications({ maxId, forceLoad = false } = {}, done = no expandNotificationsController.abort(); expandNotificationsController = new AbortController(); } else { - done(); return; } } @@ -218,7 +225,8 @@ export function expandNotifications({ maxId, forceLoad = false } = {}, done = no dispatch(expandNotificationsRequest(isLoadingMore)); - api().get('/api/v1/notifications', { params, signal: expandNotificationsController.signal }).then(response => { + try { + const response = await api().get('/api/v1/notifications', { params, signal: expandNotificationsController.signal }); const next = getLinks(response).refs.find(link => link.rel === 'next'); dispatch(importFetchedAccounts(response.data.map(item => item.account))); @@ -228,11 +236,9 @@ export function expandNotifications({ maxId, forceLoad = false } = {}, done = no dispatch(expandNotificationsSuccess(response.data, next ? next.uri : null, isLoadingMore, isLoadingRecent, isLoadingRecent && preferPendingItems)); fetchRelatedRelationships(dispatch, response.data); dispatch(submitMarkers()); - }).catch(error => { + } catch(error) { dispatch(expandNotificationsFail(error, isLoadingMore)); - }).finally(() => { - done(); - }); + } }; } @@ -496,6 +502,62 @@ export const dismissNotificationRequestFail = (id, error) => ({ 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 }; diff --git a/app/javascript/mastodon/actions/notifications_migration.tsx b/app/javascript/mastodon/actions/notifications_migration.tsx index f856e56828f..0d4da765ec3 100644 --- a/app/javascript/mastodon/actions/notifications_migration.tsx +++ b/app/javascript/mastodon/actions/notifications_migration.tsx @@ -1,3 +1,4 @@ +import { selectUseGroupedNotifications } from 'mastodon/selectors/settings'; import { createAppAsyncThunk } from 'mastodon/store'; import { fetchNotifications } from './notification_groups'; @@ -6,13 +7,8 @@ import { expandNotifications } from './notifications'; export const initializeNotifications = createAppAsyncThunk( 'notifications/initialize', (_, { dispatch, getState }) => { - // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access - const enableBeta = getState().settings.getIn( - ['notifications', 'groupingBeta'], - false, - ) as boolean; - - if (enableBeta) void dispatch(fetchNotifications()); - else dispatch(expandNotifications()); + if (selectUseGroupedNotifications(getState())) + void dispatch(fetchNotifications()); + else void dispatch(expandNotifications({})); }, ); diff --git a/app/javascript/mastodon/actions/streaming.js b/app/javascript/mastodon/actions/streaming.js index f50f41b0d9c..bfdd894b815 100644 --- a/app/javascript/mastodon/actions/streaming.js +++ b/app/javascript/mastodon/actions/streaming.js @@ -1,5 +1,7 @@ // @ts-check +import { selectUseGroupedNotifications } from 'mastodon/selectors/settings'; + import { getLocale } from '../locales'; import { connectStream } from '../stream'; @@ -10,7 +12,7 @@ import { deleteAnnouncement, } from './announcements'; import { updateConversations } from './conversations'; -import { processNewNotificationForGroups } from './notification_groups'; +import { processNewNotificationForGroups, refreshStaleNotificationGroups, pollRecentNotifications as pollRecentGroupNotifications } from './notification_groups'; import { updateNotifications, expandNotifications } from './notifications'; import { updateStatus } from './statuses'; import { @@ -37,7 +39,7 @@ const randomUpTo = max => * @param {string} channelName * @param {Object.} params * @param {Object} options - * @param {function(Function, Function): void} [options.fallback] + * @param {function(Function, Function): Promise} [options.fallback] * @param {function(): void} [options.fillGaps] * @param {function(object): boolean} [options.accept] * @returns {function(): void} @@ -52,14 +54,13 @@ export const connectTimelineStream = (timelineId, channelName, params = {}, opti let pollingId; /** - * @param {function(Function, Function): void} fallback + * @param {function(Function, Function): Promise} fallback */ - const useFallback = fallback => { - fallback(dispatch, () => { - // eslint-disable-next-line react-hooks/rules-of-hooks -- this is not a react hook - pollingId = setTimeout(() => useFallback(fallback), 20000 + randomUpTo(20000)); - }); + const useFallback = async fallback => { + await fallback(dispatch, getState); + // eslint-disable-next-line react-hooks/rules-of-hooks -- this is not a react hook + pollingId = setTimeout(() => useFallback(fallback), 20000 + randomUpTo(20000)); }; return { @@ -104,11 +105,19 @@ export const connectTimelineStream = (timelineId, channelName, params = {}, opti const notificationJSON = JSON.parse(data.payload); dispatch(updateNotifications(notificationJSON, messages, locale)); // TODO: remove this once the groups feature replaces the previous one - if(getState().notificationGroups.groups.length > 0) { + if(selectUseGroupedNotifications(getState())) { dispatch(processNewNotificationForGroups(notificationJSON)); } break; } + case 'notifications_merged': + const state = getState(); + if (state.notifications.top || !state.notifications.mounted) + dispatch(expandNotifications({ forceLoad: true, maxId: undefined })); + if (selectUseGroupedNotifications(state)) { + dispatch(refreshStaleNotificationGroups()); + } + break; case 'conversation': // @ts-expect-error dispatch(updateConversations(JSON.parse(data.payload))); @@ -132,21 +141,30 @@ export const connectTimelineStream = (timelineId, channelName, params = {}, opti /** * @param {Function} dispatch - * @param {function(): void} done + * @param {Function} getState */ -const refreshHomeTimelineAndNotification = (dispatch, done) => { - // @ts-expect-error - dispatch(expandHomeTimeline({}, () => - // @ts-expect-error - dispatch(expandNotifications({}, () => - dispatch(fetchAnnouncements(done)))))); -}; +async function refreshHomeTimelineAndNotification(dispatch, getState) { + await dispatch(expandHomeTimeline({ maxId: undefined })); + + // TODO: remove this once the groups feature replaces the previous one + if(selectUseGroupedNotifications(getState())) { + // TODO: polling for merged notifications + try { + await dispatch(pollRecentGroupNotifications()); + } catch (error) { + // TODO + } + } else { + await dispatch(expandNotifications({})); + } + + await dispatch(fetchAnnouncements()); +} /** * @returns {function(): void} */ export const connectUserStream = () => - // @ts-expect-error connectTimelineStream('home', 'user', {}, { fallback: refreshHomeTimelineAndNotification, fillGaps: fillHomeTimelineGaps }); /** diff --git a/app/javascript/mastodon/actions/timelines.js b/app/javascript/mastodon/actions/timelines.js index f0ea46118e0..65b6d804511 100644 --- a/app/javascript/mastodon/actions/timelines.js +++ b/app/javascript/mastodon/actions/timelines.js @@ -76,21 +76,18 @@ export function clearTimeline(timeline) { }; } -const noOp = () => {}; - const parseTags = (tags = {}, mode) => { return (tags[mode] || []).map((tag) => { return tag.value; }); }; -export function expandTimeline(timelineId, path, params = {}, done = noOp) { - return (dispatch, getState) => { +export function expandTimeline(timelineId, path, params = {}) { + return async (dispatch, getState) => { const timeline = getState().getIn(['timelines', timelineId], ImmutableMap()); const isLoadingMore = !!params.max_id; if (timeline.get('isLoading')) { - done(); return; } @@ -109,7 +106,8 @@ export function expandTimeline(timelineId, path, params = {}, done = noOp) { dispatch(expandTimelineRequest(timelineId, isLoadingMore)); - api().get(path, { params }).then(response => { + try { + const response = await api().get(path, { params }); const next = getLinks(response).refs.find(link => link.rel === 'next'); dispatch(importFetchedStatuses(response.data)); @@ -127,52 +125,48 @@ export function expandTimeline(timelineId, path, params = {}, done = noOp) { if (timelineId === 'home') { dispatch(submitMarkers()); } - }).catch(error => { + } catch(error) { dispatch(expandTimelineFail(timelineId, error, isLoadingMore)); - }).finally(() => { - done(); - }); + } }; } -export function fillTimelineGaps(timelineId, path, params = {}, done = noOp) { - return (dispatch, getState) => { +export function fillTimelineGaps(timelineId, path, params = {}) { + return async (dispatch, getState) => { const timeline = getState().getIn(['timelines', timelineId], ImmutableMap()); const items = timeline.get('items'); const nullIndexes = items.map((statusId, index) => statusId === null ? index : null); const gaps = nullIndexes.map(index => index > 0 ? items.get(index - 1) : null); // Only expand at most two gaps to avoid doing too many requests - done = gaps.take(2).reduce((done, maxId) => { - return (() => dispatch(expandTimeline(timelineId, path, { ...params, maxId }, done))); - }, done); - - done(); + for (const maxId of gaps.take(2)) { + await dispatch(expandTimeline(timelineId, path, { ...params, maxId })); + } }; } -export const expandHomeTimeline = ({ maxId } = {}, done = noOp) => expandTimeline('home', '/api/v1/timelines/home', { max_id: maxId }, done); -export const expandPublicTimeline = ({ maxId, onlyMedia, onlyRemote } = {}, done = noOp) => expandTimeline(`public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`, '/api/v1/timelines/public', { remote: !!onlyRemote, max_id: maxId, only_media: !!onlyMedia }, done); -export const expandCommunityTimeline = ({ maxId, onlyMedia } = {}, done = noOp) => expandTimeline(`community${onlyMedia ? ':media' : ''}`, '/api/v1/timelines/public', { local: true, max_id: maxId, only_media: !!onlyMedia }, done); +export const expandHomeTimeline = ({ maxId } = {}) => expandTimeline('home', '/api/v1/timelines/home', { max_id: maxId }); +export const expandPublicTimeline = ({ maxId, onlyMedia, onlyRemote } = {}) => expandTimeline(`public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`, '/api/v1/timelines/public', { remote: !!onlyRemote, max_id: maxId, only_media: !!onlyMedia }); +export const expandCommunityTimeline = ({ maxId, onlyMedia } = {}) => expandTimeline(`community${onlyMedia ? ':media' : ''}`, '/api/v1/timelines/public', { local: true, max_id: maxId, only_media: !!onlyMedia }); export const expandAccountTimeline = (accountId, { maxId, withReplies, tagged } = {}) => expandTimeline(`account:${accountId}${withReplies ? ':with_replies' : ''}${tagged ? `:${tagged}` : ''}`, `/api/v1/accounts/${accountId}/statuses`, { exclude_replies: !withReplies, exclude_reblogs: withReplies, tagged, max_id: maxId }); export const expandAccountFeaturedTimeline = (accountId, { tagged } = {}) => expandTimeline(`account:${accountId}:pinned${tagged ? `:${tagged}` : ''}`, `/api/v1/accounts/${accountId}/statuses`, { pinned: true, tagged }); export const expandAccountMediaTimeline = (accountId, { maxId } = {}) => expandTimeline(`account:${accountId}:media`, `/api/v1/accounts/${accountId}/statuses`, { max_id: maxId, only_media: true, limit: 40 }); -export const expandListTimeline = (id, { maxId } = {}, done = noOp) => expandTimeline(`list:${id}`, `/api/v1/timelines/list/${id}`, { max_id: maxId }, done); -export const expandLinkTimeline = (url, { maxId } = {}, done = noOp) => expandTimeline(`link:${url}`, `/api/v1/timelines/link`, { url, max_id: maxId }, done); -export const expandHashtagTimeline = (hashtag, { maxId, tags, local } = {}, done = noOp) => { +export const expandListTimeline = (id, { maxId } = {}) => expandTimeline(`list:${id}`, `/api/v1/timelines/list/${id}`, { max_id: maxId }); +export const expandLinkTimeline = (url, { maxId } = {}) => expandTimeline(`link:${url}`, `/api/v1/timelines/link`, { url, max_id: maxId }); +export const expandHashtagTimeline = (hashtag, { maxId, tags, local } = {}) => { return expandTimeline(`hashtag:${hashtag}${local ? ':local' : ''}`, `/api/v1/timelines/tag/${hashtag}`, { max_id: maxId, any: parseTags(tags, 'any'), all: parseTags(tags, 'all'), none: parseTags(tags, 'none'), local: local, - }, done); + }); }; -export const fillHomeTimelineGaps = (done = noOp) => fillTimelineGaps('home', '/api/v1/timelines/home', {}, done); -export const fillPublicTimelineGaps = ({ onlyMedia, onlyRemote } = {}, done = noOp) => fillTimelineGaps(`public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`, '/api/v1/timelines/public', { remote: !!onlyRemote, only_media: !!onlyMedia }, done); -export const fillCommunityTimelineGaps = ({ onlyMedia } = {}, done = noOp) => fillTimelineGaps(`community${onlyMedia ? ':media' : ''}`, '/api/v1/timelines/public', { local: true, only_media: !!onlyMedia }, done); -export const fillListTimelineGaps = (id, done = noOp) => fillTimelineGaps(`list:${id}`, `/api/v1/timelines/list/${id}`, {}, done); +export const fillHomeTimelineGaps = () => fillTimelineGaps('home', '/api/v1/timelines/home', {}); +export const fillPublicTimelineGaps = ({ onlyMedia, onlyRemote } = {}) => fillTimelineGaps(`public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`, '/api/v1/timelines/public', { remote: !!onlyRemote, only_media: !!onlyMedia }); +export const fillCommunityTimelineGaps = ({ onlyMedia } = {}) => fillTimelineGaps(`community${onlyMedia ? ':media' : ''}`, '/api/v1/timelines/public', { local: true, only_media: !!onlyMedia }); +export const fillListTimelineGaps = (id) => fillTimelineGaps(`list:${id}`, `/api/v1/timelines/list/${id}`, {}); export function expandTimelineRequest(timeline, isLoadingMore) { return { diff --git a/app/javascript/mastodon/api/notification_policies.ts b/app/javascript/mastodon/api/notification_policies.ts index 77473975568..3bc8174139d 100644 --- a/app/javascript/mastodon/api/notification_policies.ts +++ b/app/javascript/mastodon/api/notification_policies.ts @@ -2,8 +2,8 @@ import { apiRequestGet, apiRequestPut } from 'mastodon/api'; import type { NotificationPolicyJSON } from 'mastodon/api_types/notification_policies'; export const apiGetNotificationPolicy = () => - apiRequestGet('/v2/notifications/policy'); + apiRequestGet('v2/notifications/policy'); export const apiUpdateNotificationsPolicy = ( policy: Partial, -) => apiRequestPut('/v2/notifications/policy', policy); +) => apiRequestPut('v2/notifications/policy', policy); diff --git a/app/javascript/mastodon/api/notifications.ts b/app/javascript/mastodon/api/notifications.ts index ed187da5ecc..cb07e4114cf 100644 --- a/app/javascript/mastodon/api/notifications.ts +++ b/app/javascript/mastodon/api/notifications.ts @@ -4,6 +4,7 @@ import type { ApiNotificationGroupsResultJSON } from 'mastodon/api_types/notific export const apiFetchNotifications = async (params?: { exclude_types?: string[]; max_id?: string; + since_id?: string; }) => { const response = await api().request({ method: 'GET', diff --git a/app/javascript/mastodon/api_types/notifications.ts b/app/javascript/mastodon/api_types/notifications.ts index ed73ceda6b3..4ab9a4c90a7 100644 --- a/app/javascript/mastodon/api_types/notifications.ts +++ b/app/javascript/mastodon/api_types/notifications.ts @@ -60,12 +60,12 @@ export interface BaseNotificationGroupJSON { interface NotificationGroupWithStatusJSON extends BaseNotificationGroupJSON { type: NotificationWithStatusType; - status_id: string; + status_id: string | null; } interface NotificationWithStatusJSON extends BaseNotificationJSON { type: NotificationWithStatusType; - status: ApiStatusJSON; + status: ApiStatusJSON | null; } interface ReportNotificationGroupJSON extends BaseNotificationGroupJSON { diff --git a/app/javascript/mastodon/api_types/statuses.ts b/app/javascript/mastodon/api_types/statuses.ts index a934faeb7a7..2c59645ea78 100644 --- a/app/javascript/mastodon/api_types/statuses.ts +++ b/app/javascript/mastodon/api_types/statuses.ts @@ -58,6 +58,29 @@ export interface ApiPreviewCardJSON { authors: ApiPreviewCardAuthorJSON[]; } +export type FilterContext = + | 'home' + | 'notifications' + | 'public' + | 'thread' + | 'account'; + +export interface ApiFilterJSON { + id: string; + title: string; + context: FilterContext; + expires_at: string; + filter_action: 'warn' | 'hide'; + keywords?: unknown[]; // TODO: FilterKeywordSerializer + statuses?: unknown[]; // TODO: FilterStatusSerializer +} + +export interface ApiFilterResultJSON { + filter: ApiFilterJSON; + keyword_matches: string[]; + status_matches: string[]; +} + export interface ApiStatusJSON { id: string; created_at: string; @@ -80,8 +103,7 @@ export interface ApiStatusJSON { bookmarked?: boolean; pinned?: boolean; - // filtered: FilterResult[] - filtered: unknown; // TODO + filtered?: ApiFilterResultJSON[]; content?: string; text?: string; diff --git a/app/javascript/mastodon/common.js b/app/javascript/mastodon/common.js index 511568aa0f7..28857de5346 100644 --- a/app/javascript/mastodon/common.js +++ b/app/javascript/mastodon/common.js @@ -1,5 +1,4 @@ import Rails from '@rails/ujs'; -import 'font-awesome/css/font-awesome.css'; export function start() { require.context('../images/', true, /\.(jpg|png|svg)$/); diff --git a/app/javascript/mastodon/components/admin/ReportReasonSelector.jsx b/app/javascript/mastodon/components/admin/ReportReasonSelector.jsx index cc05e5c163c..351f1c949ed 100644 --- a/app/javascript/mastodon/components/admin/ReportReasonSelector.jsx +++ b/app/javascript/mastodon/components/admin/ReportReasonSelector.jsx @@ -153,7 +153,7 @@ class ReportReasonSelector extends PureComponent { - + {rules.map(rule => )} diff --git a/app/javascript/mastodon/components/check_box.tsx b/app/javascript/mastodon/components/check_box.tsx index 7da8ef0ac56..9bd137abf57 100644 --- a/app/javascript/mastodon/components/check_box.tsx +++ b/app/javascript/mastodon/components/check_box.tsx @@ -1,5 +1,6 @@ import classNames from 'classnames'; +import CheckIndeterminateSmallIcon from '@/material-icons/400-24px/check_indeterminate_small.svg?react'; import DoneIcon from '@/material-icons/400-24px/done.svg?react'; import { Icon } from './icon'; @@ -7,6 +8,7 @@ import { Icon } from './icon'; interface Props { value: string; checked: boolean; + indeterminate: boolean; name: string; onChange: (event: React.ChangeEvent) => void; label: React.ReactNode; @@ -16,6 +18,7 @@ export const CheckBox: React.FC = ({ name, value, checked, + indeterminate, onChange, label, }) => { @@ -29,8 +32,14 @@ export const CheckBox: React.FC = ({ onChange={onChange} /> - - {checked && } + + {indeterminate ? ( + + ) : ( + checked && + )} {label} diff --git a/app/javascript/mastodon/components/content_warning.tsx b/app/javascript/mastodon/components/content_warning.tsx new file mode 100644 index 00000000000..df8afca74d6 --- /dev/null +++ b/app/javascript/mastodon/components/content_warning.tsx @@ -0,0 +1,15 @@ +import { StatusBanner, BannerVariant } from './status_banner'; + +export const ContentWarning: React.FC<{ + text: string; + expanded?: boolean; + onClick?: () => void; +}> = ({ text, expanded, onClick }) => ( + +

+ +); diff --git a/app/javascript/mastodon/components/filter_warning.tsx b/app/javascript/mastodon/components/filter_warning.tsx new file mode 100644 index 00000000000..4305e43038d --- /dev/null +++ b/app/javascript/mastodon/components/filter_warning.tsx @@ -0,0 +1,23 @@ +import { FormattedMessage } from 'react-intl'; + +import { StatusBanner, BannerVariant } from './status_banner'; + +export const FilterWarning: React.FC<{ + title: string; + expanded?: boolean; + onClick?: () => void; +}> = ({ title, expanded, onClick }) => ( + +

+ +

+
+); diff --git a/app/javascript/mastodon/components/status.jsx b/app/javascript/mastodon/components/status.jsx index 6e3792d7dcf..7236c9633dd 100644 --- a/app/javascript/mastodon/components/status.jsx +++ b/app/javascript/mastodon/components/status.jsx @@ -13,6 +13,8 @@ import AlternateEmailIcon from '@/material-icons/400-24px/alternate_email.svg?re import PushPinIcon from '@/material-icons/400-24px/push_pin.svg?react'; import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react'; import ReplyIcon from '@/material-icons/400-24px/reply.svg?react'; +import { ContentWarning } from 'mastodon/components/content_warning'; +import { FilterWarning } from 'mastodon/components/filter_warning'; import { Icon } from 'mastodon/components/icon'; import PictureInPicturePlaceholder from 'mastodon/components/picture_in_picture_placeholder'; import { withOptionalRouter, WithOptionalRouterPropTypes } from 'mastodon/utils/react_router'; @@ -140,7 +142,7 @@ class Status extends ImmutablePureComponent { state = { showMedia: defaultMediaVisibility(this.props.status) && !(this.context?.hideMediaByDefault), - forceFilter: undefined, + showDespiteFilter: undefined, }; componentDidUpdate (prevProps) { @@ -152,7 +154,7 @@ class Status extends ImmutablePureComponent { if (this.props.status?.get('id') !== prevProps.status?.get('id')) { this.setState({ showMedia: defaultMediaVisibility(this.props.status) && !(this.context?.hideMediaByDefault), - forceFilter: undefined, + showDespiteFilter: undefined, }); } } @@ -325,20 +327,32 @@ class Status extends ImmutablePureComponent { }; handleHotkeyToggleHidden = () => { - this.props.onToggleHidden(this._properStatus()); + const { onToggleHidden } = this.props; + const status = this._properStatus(); + + if (status.get('matched_filters')) { + const expandedBecauseOfCW = !status.get('hidden') || status.get('spoiler_text').length === 0; + const expandedBecauseOfFilter = this.state.showDespiteFilter; + + if (expandedBecauseOfFilter && !expandedBecauseOfCW) { + onToggleHidden(status); + } else if (expandedBecauseOfFilter && expandedBecauseOfCW) { + onToggleHidden(status); + this.handleFilterToggle(); + } else { + this.handleFilterToggle(); + } + } else { + onToggleHidden(status); + } }; handleHotkeyToggleSensitive = () => { this.handleToggleMediaVisibility(); }; - handleUnfilterClick = e => { - this.setState({ forceFilter: false }); - e.preventDefault(); - }; - - handleFilterClick = () => { - this.setState({ forceFilter: true }); + handleFilterToggle = () => { + this.setState(state => ({ ...state, showDespiteFilter: !state.showDespiteFilter })); }; _properStatus () { @@ -396,25 +410,6 @@ class Status extends ImmutablePureComponent { const connectReply = nextInReplyToId && nextInReplyToId === status.get('id'); const matchedFilters = status.get('matched_filters'); - if (this.state.forceFilter === undefined ? matchedFilters : this.state.forceFilter) { - const minHandlers = this.props.muted ? {} : { - moveUp: this.handleHotkeyMoveUp, - moveDown: this.handleHotkeyMoveDown, - }; - - return ( - -
- : {matchedFilters.join(', ')}. - {' '} - -
-
- ); - } - if (featured) { prepend = (
@@ -548,7 +543,7 @@ class Status extends ImmutablePureComponent { } const {statusContentProps, hashtagBar} = getHashtagBarForStatus(status); - const expanded = !status.get('hidden') || status.get('spoiler_text').length === 0; + const expanded = (!matchedFilters || this.state.showDespiteFilter) && (!status.get('hidden') || status.get('spoiler_text').length === 0); return ( @@ -574,22 +569,27 @@ class Status extends ImmutablePureComponent {
- + {matchedFilters && } - {media} + {(status.get('spoiler_text').length > 0 && (!matchedFilters || this.state.showDespiteFilter)) && } - {expanded && hashtagBar} + {expanded && ( + <> + - + {media} + {hashtagBar} + + )} + + diff --git a/app/javascript/mastodon/components/status_action_bar.jsx b/app/javascript/mastodon/components/status_action_bar.jsx index 2a7bd0a3059..f24f81e1b20 100644 --- a/app/javascript/mastodon/components/status_action_bar.jsx +++ b/app/javascript/mastodon/components/status_action_bar.jsx @@ -17,7 +17,6 @@ import ReplyIcon from '@/material-icons/400-24px/reply.svg?react'; import ReplyAllIcon from '@/material-icons/400-24px/reply_all.svg?react'; import StarIcon from '@/material-icons/400-24px/star-fill.svg?react'; import StarBorderIcon from '@/material-icons/400-24px/star.svg?react'; -import VisibilityIcon from '@/material-icons/400-24px/visibility.svg?react'; import RepeatActiveIcon from '@/svg-icons/repeat_active.svg?react'; import RepeatDisabledIcon from '@/svg-icons/repeat_disabled.svg?react'; import RepeatPrivateIcon from '@/svg-icons/repeat_private.svg?react'; @@ -61,7 +60,6 @@ const messages = defineMessages({ admin_status: { id: 'status.admin_status', defaultMessage: 'Open this post in the moderation interface' }, admin_domain: { id: 'status.admin_domain', defaultMessage: 'Open moderation interface for {domain}' }, copy: { id: 'status.copy', defaultMessage: 'Copy link to post' }, - hide: { id: 'status.hide', defaultMessage: 'Hide post' }, blockDomain: { id: 'account.block_domain', defaultMessage: 'Block domain {domain}' }, unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unblock domain {domain}' }, unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' }, @@ -241,10 +239,6 @@ class StatusActionBar extends ImmutablePureComponent { navigator.clipboard.writeText(url); }; - handleHideClick = () => { - this.props.onFilter(); - }; - render () { const { status, relationship, intl, withDismiss, withCounters, scrollKey } = this.props; const { signedIn, permissions } = this.props.identity; @@ -377,10 +371,6 @@ class StatusActionBar extends ImmutablePureComponent { reblogIconComponent = RepeatDisabledIcon; } - const filterButton = this.props.onFilter && ( - - ); - const isReply = status.get('in_reply_to_account_id') === status.getIn(['account', 'id']); return ( @@ -390,8 +380,6 @@ class StatusActionBar extends ImmutablePureComponent { - {filterButton} - void; +}> = ({ children, variant, expanded, onClick }) => ( +
+ {children} + + +
+); diff --git a/app/javascript/mastodon/components/status_content.jsx b/app/javascript/mastodon/components/status_content.jsx index 96452374dcc..3316be83506 100644 --- a/app/javascript/mastodon/components/status_content.jsx +++ b/app/javascript/mastodon/components/status_content.jsx @@ -4,7 +4,7 @@ import { PureComponent } from 'react'; import { FormattedMessage, injectIntl } from 'react-intl'; import classnames from 'classnames'; -import { Link, withRouter } from 'react-router-dom'; +import { withRouter } from 'react-router-dom'; import ImmutablePropTypes from 'react-immutable-proptypes'; import { connect } from 'react-redux'; @@ -15,7 +15,6 @@ import PollContainer from 'mastodon/containers/poll_container'; import { identityContextPropShape, withIdentity } from 'mastodon/identity_context'; import { autoPlayGif, languages as preloadedLanguages } from 'mastodon/initial_state'; - const MAX_HEIGHT = 706; // 22px * 32 (+ 2px padding at the top) /** @@ -73,8 +72,6 @@ class StatusContent extends PureComponent { identity: identityContextPropShape, status: ImmutablePropTypes.map.isRequired, statusContent: PropTypes.string, - expanded: PropTypes.bool, - onExpandedToggle: PropTypes.func, onTranslate: PropTypes.func, onClick: PropTypes.func, collapsible: PropTypes.bool, @@ -87,10 +84,6 @@ class StatusContent extends PureComponent { history: PropTypes.object.isRequired }; - state = { - hidden: true, - }; - _updateStatusLinks () { const node = this.node; @@ -218,17 +211,6 @@ class StatusContent extends PureComponent { this.startXY = null; }; - handleSpoilerClick = (e) => { - e.preventDefault(); - - if (this.props.onExpandedToggle) { - // The parent manages the state - this.props.onExpandedToggle(); - } else { - this.setState({ hidden: !this.state.hidden }); - } - }; - handleTranslate = () => { this.props.onTranslate(); }; @@ -240,18 +222,15 @@ class StatusContent extends PureComponent { render () { const { status, intl, statusContent } = this.props; - const hidden = this.props.onExpandedToggle ? !this.props.expanded : this.state.hidden; const renderReadMore = this.props.onClick && status.get('collapsed'); const contentLocale = intl.locale.replace(/[_-].*/, ''); const targetLanguages = this.props.languages?.get(status.get('language') || 'und'); const renderTranslate = this.props.onTranslate && this.props.identity.signedIn && ['public', 'unlisted'].includes(status.get('visibility')) && status.get('search_index').trim().length > 0 && targetLanguages?.includes(contentLocale); const content = { __html: statusContent ?? getStatusContent(status) }; - const spoilerContent = { __html: status.getIn(['translation', 'spoilerHtml']) || status.get('spoilerHtml') }; const language = status.getIn(['translation', 'language']) || status.get('language'); const classNames = classnames('status__content', { 'status__content--with-action': this.props.onClick && this.props.history, - 'status__content--with-spoiler': status.get('spoiler_text').length > 0, 'status__content--collapsed': renderReadMore, }); @@ -269,38 +248,7 @@ class StatusContent extends PureComponent { ); - if (status.get('spoiler_text').length > 0) { - let mentionsPlaceholder = ''; - - const mentionLinks = status.get('mentions').map(item => ( - - @{item.get('username')} - - )).reduce((aggregate, item) => [...aggregate, item, ' '], []); - - const toggleText = hidden ? : ; - - if (hidden) { - mentionsPlaceholder =
{mentionLinks}
; - } - - return ( -
- - - {mentionsPlaceholder} - -
- - {!hidden && poll} - {translateButton} -
- ); - } else if (this.props.onClick) { + if (this.props.onClick) { return ( <>
diff --git a/app/javascript/mastodon/components/timeline_hint.tsx b/app/javascript/mastodon/components/timeline_hint.tsx index bf2a2d8bbae..9e0d3676ec7 100644 --- a/app/javascript/mastodon/components/timeline_hint.tsx +++ b/app/javascript/mastodon/components/timeline_hint.tsx @@ -1,25 +1,23 @@ -import { FormattedMessage } from 'react-intl'; +import classNames from 'classnames'; interface Props { - resource: JSX.Element; + message: React.ReactNode; + label: React.ReactNode; url: string; + className?: string; } -export const TimelineHint: React.FC = ({ resource, url }) => ( -
- - - -
+export const TimelineHint: React.FC = ({ + className, + message, + label, + url, +}) => ( +
+

{message}

+ - + {label}
); diff --git a/app/javascript/mastodon/features/account_timeline/index.jsx b/app/javascript/mastodon/features/account_timeline/index.jsx index dc69f83e77a..105c2e4e508 100644 --- a/app/javascript/mastodon/features/account_timeline/index.jsx +++ b/app/javascript/mastodon/features/account_timeline/index.jsx @@ -12,6 +12,7 @@ import BundleColumnError from 'mastodon/features/ui/components/bundle_column_err import { me } from 'mastodon/initial_state'; import { normalizeForLookup } from 'mastodon/reducers/accounts_map'; import { getAccountHidden } from 'mastodon/selectors'; +import { useAppSelector } from 'mastodon/store'; import { lookupAccount, fetchAccount } from '../../actions/accounts'; import { fetchFeaturedTags } from '../../actions/featured_tags'; @@ -59,12 +60,22 @@ const mapStateToProps = (state, { params: { acct, id, tagged }, withReplies = fa }; }; -const RemoteHint = ({ url }) => ( - } /> -); +const RemoteHint = ({ accountId, url }) => { + const acct = useAppSelector(state => state.accounts.get(accountId)?.acct); + const domain = acct ? acct.split('@')[1] : undefined; + + return ( + } + label={{domain} }} />} + /> + ); +}; RemoteHint.propTypes = { url: PropTypes.string.isRequired, + accountId: PropTypes.string.isRequired, }; class AccountTimeline extends ImmutablePureComponent { @@ -175,12 +186,12 @@ class AccountTimeline extends ImmutablePureComponent { } else if (blockedBy) { emptyMessage = ; } else if (remote && statusIds.isEmpty()) { - emptyMessage = ; + emptyMessage = ; } else { emptyMessage = ; } - const remoteMessage = remote ? : null; + const remoteMessage = remote ? : null; return ( diff --git a/app/javascript/mastodon/features/followers/index.jsx b/app/javascript/mastodon/features/followers/index.jsx index 4885f9ca994..92fce79c355 100644 --- a/app/javascript/mastodon/features/followers/index.jsx +++ b/app/javascript/mastodon/features/followers/index.jsx @@ -12,6 +12,7 @@ import { TimelineHint } from 'mastodon/components/timeline_hint'; import BundleColumnError from 'mastodon/features/ui/components/bundle_column_error'; import { normalizeForLookup } from 'mastodon/reducers/accounts_map'; import { getAccountHidden } from 'mastodon/selectors'; +import { useAppSelector } from 'mastodon/store'; import { lookupAccount, @@ -51,12 +52,22 @@ const mapStateToProps = (state, { params: { acct, id } }) => { }; }; -const RemoteHint = ({ url }) => ( - } /> -); +const RemoteHint = ({ accountId, url }) => { + const acct = useAppSelector(state => state.accounts.get(accountId)?.acct); + const domain = acct ? acct.split('@')[1] : undefined; + + return ( + } + label={{domain} }} />} + /> + ); +}; RemoteHint.propTypes = { url: PropTypes.string.isRequired, + accountId: PropTypes.string.isRequired, }; class Followers extends ImmutablePureComponent { @@ -141,12 +152,12 @@ class Followers extends ImmutablePureComponent { } else if (hideCollections && accountIds.isEmpty()) { emptyMessage = ; } else if (remote && accountIds.isEmpty()) { - emptyMessage = ; + emptyMessage = ; } else { emptyMessage = ; } - const remoteMessage = remote ? : null; + const remoteMessage = remote ? : null; return ( diff --git a/app/javascript/mastodon/features/following/index.jsx b/app/javascript/mastodon/features/following/index.jsx index fb4a4d5c3a6..b53a016ff1d 100644 --- a/app/javascript/mastodon/features/following/index.jsx +++ b/app/javascript/mastodon/features/following/index.jsx @@ -12,6 +12,7 @@ import { TimelineHint } from 'mastodon/components/timeline_hint'; import BundleColumnError from 'mastodon/features/ui/components/bundle_column_error'; import { normalizeForLookup } from 'mastodon/reducers/accounts_map'; import { getAccountHidden } from 'mastodon/selectors'; +import { useAppSelector } from 'mastodon/store'; import { lookupAccount, @@ -51,12 +52,22 @@ const mapStateToProps = (state, { params: { acct, id } }) => { }; }; -const RemoteHint = ({ url }) => ( - } /> -); +const RemoteHint = ({ accountId, url }) => { + const acct = useAppSelector(state => state.accounts.get(accountId)?.acct); + const domain = acct ? acct.split('@')[1] : undefined; + + return ( + } + label={{domain} }} />} + /> + ); +}; RemoteHint.propTypes = { url: PropTypes.string.isRequired, + accountId: PropTypes.string.isRequired, }; class Following extends ImmutablePureComponent { @@ -141,12 +152,12 @@ class Following extends ImmutablePureComponent { } else if (hideCollections && accountIds.isEmpty()) { emptyMessage = ; } else if (remote && accountIds.isEmpty()) { - emptyMessage = ; + emptyMessage = ; } else { emptyMessage = ; } - const remoteMessage = remote ? : null; + const remoteMessage = remote ? : null; return ( diff --git a/app/javascript/mastodon/features/getting_started/index.jsx b/app/javascript/mastodon/features/getting_started/index.jsx index 628bbe62bbf..8d26115dfa0 100644 --- a/app/javascript/mastodon/features/getting_started/index.jsx +++ b/app/javascript/mastodon/features/getting_started/index.jsx @@ -12,9 +12,11 @@ import { connect } from 'react-redux'; import AlternateEmailIcon from '@/material-icons/400-24px/alternate_email.svg?react'; import BookmarksIcon from '@/material-icons/400-24px/bookmarks-fill.svg?react'; import ExploreIcon from '@/material-icons/400-24px/explore.svg?react'; +import ModerationIcon from '@/material-icons/400-24px/gavel.svg?react'; import PeopleIcon from '@/material-icons/400-24px/group.svg?react'; import HomeIcon from '@/material-icons/400-24px/home-fill.svg?react'; import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react'; +import AdministrationIcon from '@/material-icons/400-24px/manufacturing.svg?react'; import MenuIcon from '@/material-icons/400-24px/menu.svg?react'; import PersonAddIcon from '@/material-icons/400-24px/person_add.svg?react'; import PublicIcon from '@/material-icons/400-24px/public.svg?react'; @@ -25,6 +27,7 @@ import Column from 'mastodon/components/column'; import ColumnHeader from 'mastodon/components/column_header'; import LinkFooter from 'mastodon/features/ui/components/link_footer'; import { identityContextPropShape, withIdentity } from 'mastodon/identity_context'; +import { canManageReports, canViewAdminDashboard } from 'mastodon/permissions'; import { me, showTrends } from '../../initial_state'; import { NavigationBar } from '../compose/components/navigation_bar'; @@ -43,6 +46,8 @@ const messages = defineMessages({ direct: { id: 'navigation_bar.direct', defaultMessage: 'Private mentions' }, bookmarks: { id: 'navigation_bar.bookmarks', defaultMessage: 'Bookmarks' }, preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' }, + administration: { id: 'navigation_bar.administration', defaultMessage: 'Administration' }, + moderation: { id: 'navigation_bar.moderation', defaultMessage: 'Moderation' }, follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' }, favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favorites' }, blocks: { id: 'navigation_bar.blocks', defaultMessage: 'Blocked users' }, @@ -99,7 +104,7 @@ class GettingStarted extends ImmutablePureComponent { render () { const { intl, myAccount, multiColumn, unreadFollowRequests } = this.props; - const { signedIn } = this.props.identity; + const { signedIn, permissions } = this.props.identity; const navItems = []; @@ -136,6 +141,13 @@ class GettingStarted extends ImmutablePureComponent { , , ); + + if (canManageReports(permissions)) { + navItems.push(); + } + if (canViewAdminDashboard(permissions)) { + navItems.push(); + } } return ( diff --git a/app/javascript/mastodon/features/link_timeline/index.tsx b/app/javascript/mastodon/features/link_timeline/index.tsx index dd726dac1ac..262a21afccf 100644 --- a/app/javascript/mastodon/features/link_timeline/index.tsx +++ b/app/javascript/mastodon/features/link_timeline/index.tsx @@ -36,13 +36,13 @@ export const LinkTimeline: React.FC<{ const handleLoadMore = useCallback( (maxId: string) => { - dispatch(expandLinkTimeline(decodedUrl, { maxId })); + void dispatch(expandLinkTimeline(decodedUrl, { maxId })); }, [dispatch, decodedUrl], ); useEffect(() => { - dispatch(expandLinkTimeline(decodedUrl)); + void dispatch(expandLinkTimeline(decodedUrl)); }, [dispatch, decodedUrl]); return ( diff --git a/app/javascript/mastodon/features/notifications/components/column_settings.jsx b/app/javascript/mastodon/features/notifications/components/column_settings.jsx index d511c5365fc..ed2f4ada3a4 100644 --- a/app/javascript/mastodon/features/notifications/components/column_settings.jsx +++ b/app/javascript/mastodon/features/notifications/components/column_settings.jsx @@ -6,6 +6,7 @@ import { FormattedMessage } from 'react-intl'; import ImmutablePropTypes from 'react-immutable-proptypes'; import { identityContextPropShape, withIdentity } from 'mastodon/identity_context'; +import { forceGroupedNotifications } from 'mastodon/initial_state'; import { PERMISSION_MANAGE_USERS, PERMISSION_MANAGE_REPORTS } from 'mastodon/permissions'; import ClearColumnButton from './clear_column_button'; @@ -45,14 +46,18 @@ class ColumnSettings extends PureComponent { return (
- {alertsEnabled && browserSupport && browserPermission === 'denied' && ( - - )} -
+ {alertsEnabled && browserSupport && browserPermission === 'denied' && ( +
+ + + +
+ )} + {alertsEnabled && browserSupport && browserPermission === 'default' && (
@@ -63,15 +68,17 @@ class ColumnSettings extends PureComponent { -
-

- -

+ {!forceGroupedNotifications && ( +
+

+ +

-
- -
-
+
+ +
+
+ )}

diff --git a/app/javascript/mastodon/features/notifications/components/notification_request.jsx b/app/javascript/mastodon/features/notifications/components/notification_request.jsx index fc96bd2ee73..2f378942bc9 100644 --- a/app/javascript/mastodon/features/notifications/components/notification_request.jsx +++ b/app/javascript/mastodon/features/notifications/components/notification_request.jsx @@ -3,15 +3,21 @@ import { useCallback } from 'react'; import { defineMessages, useIntl } from 'react-intl'; -import { Link } from 'react-router-dom'; +import classNames from 'classnames'; +import { Link, useHistory } from 'react-router-dom'; import { useSelector, useDispatch } from 'react-redux'; import DeleteIcon from '@/material-icons/400-24px/delete.svg?react'; -import DoneIcon from '@/material-icons/400-24px/done.svg?react'; +import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react'; +import { initBlockModal } from 'mastodon/actions/blocks'; +import { initMuteModal } from 'mastodon/actions/mutes'; import { acceptNotificationRequest, dismissNotificationRequest } from 'mastodon/actions/notifications'; +import { initReport } from 'mastodon/actions/reports'; import { Avatar } from 'mastodon/components/avatar'; +import { CheckBox } from 'mastodon/components/check_box'; import { IconButton } from 'mastodon/components/icon_button'; +import DropdownMenuContainer from 'mastodon/containers/dropdown_menu_container'; import { makeGetAccount } from 'mastodon/selectors'; import { toCappedNumber } from 'mastodon/utils/numbers'; @@ -20,12 +26,18 @@ const getAccount = makeGetAccount(); const messages = defineMessages({ accept: { id: 'notification_requests.accept', defaultMessage: 'Accept' }, dismiss: { id: 'notification_requests.dismiss', defaultMessage: 'Dismiss' }, + view: { id: 'notification_requests.view', defaultMessage: 'View notifications' }, + mute: { id: 'account.mute', defaultMessage: 'Mute @{name}' }, + block: { id: 'account.block', defaultMessage: 'Block @{name}' }, + report: { id: 'status.report', defaultMessage: 'Report @{name}' }, + more: { id: 'status.more', defaultMessage: 'More' }, }); -export const NotificationRequest = ({ id, accountId, notificationsCount }) => { +export const NotificationRequest = ({ id, accountId, notificationsCount, checked, showCheckbox, toggleCheck }) => { const dispatch = useDispatch(); const account = useSelector(state => getAccount(state, accountId)); const intl = useIntl(); + const { push: historyPush } = useHistory(); const handleDismiss = useCallback(() => { dispatch(dismissNotificationRequest(id)); @@ -35,9 +47,51 @@ export const NotificationRequest = ({ id, accountId, notificationsCount }) => { dispatch(acceptNotificationRequest(id)); }, [dispatch, id]); + const handleMute = useCallback(() => { + dispatch(initMuteModal(account)); + }, [dispatch, account]); + + const handleBlock = useCallback(() => { + dispatch(initBlockModal(account)); + }, [dispatch, account]); + + const handleReport = useCallback(() => { + dispatch(initReport(account)); + }, [dispatch, account]); + + const handleView = useCallback(() => { + historyPush(`/notifications/requests/${id}`); + }, [historyPush, id]); + + const menu = [ + { text: intl.formatMessage(messages.view), action: handleView }, + null, + { text: intl.formatMessage(messages.accept), action: handleAccept }, + null, + { text: intl.formatMessage(messages.mute, { name: account.username }), action: handleMute, dangerous: true }, + { text: intl.formatMessage(messages.block, { name: account.username }), action: handleBlock, dangerous: true }, + { text: intl.formatMessage(messages.report, { name: account.username }), action: handleReport, dangerous: true }, + ]; + + const handleCheck = useCallback(() => { + toggleCheck(id); + }, [toggleCheck, id]); + + const handleClick = useCallback((e) => { + if (showCheckbox) { + toggleCheck(id); + e.preventDefault(); + e.stopPropagation(); + } + }, [toggleCheck, id, showCheckbox]); + return ( -
- + /* eslint-disable-next-line jsx-a11y/no-static-element-interactions -- this is just a minor affordance, but we will need a comprehensive accessibility pass */ +
+
+ +
+
@@ -51,7 +105,13 @@ export const NotificationRequest = ({ id, accountId, notificationsCount }) => {
- +
); @@ -61,4 +121,7 @@ NotificationRequest.propTypes = { id: PropTypes.string.isRequired, accountId: PropTypes.string.isRequired, notificationsCount: PropTypes.string.isRequired, + checked: PropTypes.bool, + showCheckbox: PropTypes.bool, + toggleCheck: PropTypes.func, }; diff --git a/app/javascript/mastodon/features/notifications/requests.jsx b/app/javascript/mastodon/features/notifications/requests.jsx index 2fe8dc2b6c2..622a171fd30 100644 --- a/app/javascript/mastodon/features/notifications/requests.jsx +++ b/app/javascript/mastodon/features/notifications/requests.jsx @@ -1,5 +1,5 @@ import PropTypes from 'prop-types'; -import { useRef, useCallback, useEffect } from 'react'; +import { useRef, useCallback, useEffect, useState } from 'react'; import { defineMessages, useIntl, FormattedMessage } from 'react-intl'; @@ -7,12 +7,18 @@ import { Helmet } from 'react-helmet'; import { useSelector, useDispatch } from 'react-redux'; +import ArrowDropDownIcon from '@/material-icons/400-24px/arrow_drop_down.svg?react'; import InventoryIcon from '@/material-icons/400-24px/inventory_2.svg?react'; -import { fetchNotificationRequests, expandNotificationRequests } from 'mastodon/actions/notifications'; +import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react'; +import { openModal } from 'mastodon/actions/modal'; +import { fetchNotificationRequests, expandNotificationRequests, acceptNotificationRequests, dismissNotificationRequests } from 'mastodon/actions/notifications'; import { changeSetting } from 'mastodon/actions/settings'; +import { CheckBox } from 'mastodon/components/check_box'; import Column from 'mastodon/components/column'; import ColumnHeader from 'mastodon/components/column_header'; +import { Icon } from 'mastodon/components/icon'; import ScrollableList from 'mastodon/components/scrollable_list'; +import DropdownMenuContainer from 'mastodon/containers/dropdown_menu_container'; import { NotificationRequest } from './components/notification_request'; import { PolicyControls } from './components/policy_controls'; @@ -20,7 +26,16 @@ import SettingToggle from './components/setting_toggle'; const messages = defineMessages({ title: { id: 'notification_requests.title', defaultMessage: 'Filtered notifications' }, - maximize: { id: 'notification_requests.maximize', defaultMessage: 'Maximize' } + maximize: { id: 'notification_requests.maximize', defaultMessage: 'Maximize' }, + more: { id: 'status.more', defaultMessage: 'More' }, + acceptMultiple: { id: 'notification_requests.accept_multiple', defaultMessage: '{count, plural, one {Accept # request…} other {Accept # requests…}}' }, + dismissMultiple: { id: 'notification_requests.dismiss_multiple', defaultMessage: '{count, plural, one {Dismiss # request…} other {Dismiss # requests…}}' }, + confirmAcceptMultipleTitle: { id: 'notification_requests.confirm_accept_multiple.title', defaultMessage: 'Accept notification requests?' }, + confirmAcceptMultipleMessage: { id: 'notification_requests.confirm_accept_multiple.message', defaultMessage: 'You are about to accept {count, plural, one {one notification request} other {# notification requests}}. Are you sure you want to proceed?' }, + confirmAcceptMultipleButton: { id: 'notification_requests.confirm_accept_multiple.button', defaultMessage: '{count, plural, one {Accept request} other {Accept requests}}' }, + confirmDismissMultipleTitle: { id: 'notification_requests.confirm_dismiss_multiple.title', defaultMessage: 'Dismiss notification requests?' }, + confirmDismissMultipleMessage: { id: 'notification_requests.confirm_dismiss_multiple.message', defaultMessage: "You are about to dismiss {count, plural, one {one notification request} other {# notification requests}}. You won't be able to easily access {count, plural, one {it} other {them}} again. Are you sure you want to proceed?" }, + confirmDismissMultipleButton: { id: 'notification_requests.confirm_dismiss_multiple.button', defaultMessage: '{count, plural, one {Dismiss request} other {Dismiss requests}}' }, }); const ColumnSettings = () => { @@ -55,6 +70,93 @@ const ColumnSettings = () => { ); }; +const SelectRow = ({selectAllChecked, toggleSelectAll, selectedItems, selectionMode, setSelectionMode}) => { + const intl = useIntl(); + const dispatch = useDispatch(); + + const selectedCount = selectedItems.length; + + const handleAcceptMultiple = useCallback(() => { + dispatch(openModal({ + modalType: 'CONFIRM', + modalProps: { + title: intl.formatMessage(messages.confirmAcceptMultipleTitle), + message: intl.formatMessage(messages.confirmAcceptMultipleMessage, { count: selectedItems.length }), + confirm: intl.formatMessage(messages.confirmAcceptMultipleButton, { count: selectedItems.length}), + onConfirm: () => + dispatch(acceptNotificationRequests(selectedItems)), + }, + })); + }, [dispatch, intl, selectedItems]); + + const handleDismissMultiple = useCallback(() => { + dispatch(openModal({ + modalType: 'CONFIRM', + modalProps: { + title: intl.formatMessage(messages.confirmDismissMultipleTitle), + message: intl.formatMessage(messages.confirmDismissMultipleMessage, { count: selectedItems.length }), + confirm: intl.formatMessage(messages.confirmDismissMultipleButton, { count: selectedItems.length}), + onConfirm: () => + dispatch(dismissNotificationRequests(selectedItems)), + }, + })); + }, [dispatch, intl, selectedItems]); + + const handleToggleSelectionMode = useCallback(() => { + setSelectionMode((mode) => !mode); + }, [setSelectionMode]); + + const menu = [ + { text: intl.formatMessage(messages.acceptMultiple, { count: selectedCount }), action: handleAcceptMultiple }, + { text: intl.formatMessage(messages.dismissMultiple, { count: selectedCount }), action: handleDismissMultiple }, + ]; + + const handleSelectAll = useCallback(() => { + setSelectionMode(true); + toggleSelectAll(); + }, [setSelectionMode, toggleSelectAll]); + + return ( +
+
+ 0 && !selectAllChecked} onChange={handleSelectAll} /> +
+ + + +
+ +
+
+ ); +}; + +SelectRow.propTypes = { + selectAllChecked: PropTypes.func.isRequired, + toggleSelectAll: PropTypes.func.isRequired, + selectedItems: PropTypes.arrayOf(PropTypes.string).isRequired, + selectionMode: PropTypes.bool, + setSelectionMode: PropTypes.func.isRequired, +}; + export const NotificationRequests = ({ multiColumn }) => { const columnRef = useRef(); const intl = useIntl(); @@ -63,10 +165,40 @@ export const NotificationRequests = ({ multiColumn }) => { const notificationRequests = useSelector(state => state.getIn(['notificationRequests', 'items'])); const hasMore = useSelector(state => !!state.getIn(['notificationRequests', 'next'])); + const [selectionMode, setSelectionMode] = useState(false); + const [checkedRequestIds, setCheckedRequestIds] = useState([]); + const [selectAllChecked, setSelectAllChecked] = useState(false); + const handleHeaderClick = useCallback(() => { columnRef.current?.scrollTop(); }, [columnRef]); + const handleCheck = useCallback(id => { + setCheckedRequestIds(ids => { + const position = ids.indexOf(id); + + if(position > -1) + ids.splice(position, 1); + else + ids.push(id); + + setSelectAllChecked(ids.length === notificationRequests.size); + + return [...ids]; + }); + }, [setCheckedRequestIds, notificationRequests]); + + const toggleSelectAll = useCallback(() => { + setSelectAllChecked(checked => { + if(checked) + setCheckedRequestIds([]); + else + setCheckedRequestIds(notificationRequests.map(request => request.get('id')).toArray()); + + return !checked; + }); + }, [notificationRequests]); + const handleLoadMore = useCallback(() => { dispatch(expandNotificationRequests()); }, [dispatch]); @@ -84,6 +216,10 @@ export const NotificationRequests = ({ multiColumn }) => { onClick={handleHeaderClick} multiColumn={multiColumn} showBackButton + appendContent={ + notificationRequests.size > 0 && ( + + )} > @@ -104,6 +240,9 @@ export const NotificationRequests = ({ multiColumn }) => { id={request.get('id')} accountId={request.get('account')} notificationsCount={request.get('notifications_count')} + showCheckbox={selectionMode} + checked={checkedRequestIds.includes(request.get('id'))} + toggleCheck={handleCheck} /> ))} diff --git a/app/javascript/mastodon/features/notifications_v2/components/displayed_name.tsx b/app/javascript/mastodon/features/notifications_v2/components/displayed_name.tsx new file mode 100644 index 00000000000..82ecb93ee5f --- /dev/null +++ b/app/javascript/mastodon/features/notifications_v2/components/displayed_name.tsx @@ -0,0 +1,22 @@ +import { Link } from 'react-router-dom'; + +import { useAppSelector } from 'mastodon/store'; + +export const DisplayedName: React.FC<{ + accountIds: string[]; +}> = ({ accountIds }) => { + const lastAccountId = accountIds[0] ?? '0'; + const account = useAppSelector((state) => state.accounts.get(lastAccountId)); + + if (!account) return null; + + return ( + + + + ); +}; diff --git a/app/javascript/mastodon/features/notifications_v2/components/embedded_status.tsx b/app/javascript/mastodon/features/notifications_v2/components/embedded_status.tsx index baec0161173..65ea9b5d5e2 100644 --- a/app/javascript/mastodon/features/notifications_v2/components/embedded_status.tsx +++ b/app/javascript/mastodon/features/notifications_v2/components/embedded_status.tsx @@ -8,11 +8,13 @@ import type { List as ImmutableList, RecordOf } from 'immutable'; import BarChart4BarsIcon from '@/material-icons/400-24px/bar_chart_4_bars.svg?react'; import PhotoLibraryIcon from '@/material-icons/400-24px/photo_library.svg?react'; +import { toggleStatusSpoilers } from 'mastodon/actions/statuses'; import { Avatar } from 'mastodon/components/avatar'; +import { ContentWarning } from 'mastodon/components/content_warning'; import { DisplayName } from 'mastodon/components/display_name'; import { Icon } from 'mastodon/components/icon'; import type { Status } from 'mastodon/models/status'; -import { useAppSelector } from 'mastodon/store'; +import { useAppSelector, useAppDispatch } from 'mastodon/store'; import { EmbeddedStatusContent } from './embedded_status_content'; @@ -23,6 +25,7 @@ export const EmbeddedStatus: React.FC<{ statusId: string }> = ({ }) => { const history = useHistory(); const clickCoordinatesRef = useRef<[number, number] | null>(); + const dispatch = useAppDispatch(); const status = useAppSelector( (state) => state.statuses.get(statusId) as Status | undefined, @@ -96,15 +99,21 @@ export const EmbeddedStatus: React.FC<{ statusId: string }> = ({ [], ); + const handleContentWarningClick = useCallback(() => { + dispatch(toggleStatusSpoilers(statusId)); + }, [dispatch, statusId]); + if (!status) { return null; } // Assign status attributes to variables with a forced type, as status is not yet properly typed const contentHtml = status.get('contentHtml') as string; + const contentWarning = status.get('spoilerHtml') as string; const poll = status.get('poll'); const language = status.get('language') as string; const mentions = status.get('mentions') as ImmutableList; + const expanded = !status.get('hidden') || !contentWarning; const mediaAttachmentsSize = ( status.get('media_attachments') as ImmutableList ).size; @@ -124,14 +133,24 @@ export const EmbeddedStatus: React.FC<{ statusId: string }> = ({
- + {contentWarning && ( + + )} - {(poll || mediaAttachmentsSize > 0) && ( + {(!contentWarning || expanded) && ( + + )} + + {expanded && (poll || mediaAttachmentsSize > 0) && (
{!!poll && ( <> diff --git a/app/javascript/mastodon/features/notifications_v2/components/names_list.tsx b/app/javascript/mastodon/features/notifications_v2/components/names_list.tsx deleted file mode 100644 index 3d70cc0b623..00000000000 --- a/app/javascript/mastodon/features/notifications_v2/components/names_list.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import { FormattedMessage } from 'react-intl'; - -import { Link } from 'react-router-dom'; - -import { useAppSelector } from 'mastodon/store'; - -export const NamesList: React.FC<{ - accountIds: string[]; - total: number; - seeMoreHref?: string; -}> = ({ accountIds, total, seeMoreHref }) => { - const lastAccountId = accountIds[0] ?? '0'; - const account = useAppSelector((state) => state.accounts.get(lastAccountId)); - - if (!account) return null; - - const displayedName = ( - - - - ); - - if (total === 1) { - return displayedName; - } - - if (seeMoreHref) - return ( - {chunks}, - }} - /> - ); - - return ( - - ); -}; diff --git a/app/javascript/mastodon/features/notifications_v2/components/notification_admin_sign_up.tsx b/app/javascript/mastodon/features/notifications_v2/components/notification_admin_sign_up.tsx index 9f7afc63f5b..73a5851ad3c 100644 --- a/app/javascript/mastodon/features/notifications_v2/components/notification_admin_sign_up.tsx +++ b/app/javascript/mastodon/features/notifications_v2/components/notification_admin_sign_up.tsx @@ -6,13 +6,27 @@ import type { NotificationGroupAdminSignUp } from 'mastodon/models/notification_ import type { LabelRenderer } from './notification_group_with_status'; import { NotificationGroupWithStatus } from './notification_group_with_status'; -const labelRenderer: LabelRenderer = (values) => ( - -); +const labelRenderer: LabelRenderer = (displayedName, total) => { + if (total === 1) + return ( + + ); + + return ( + + ); +}; export const NotificationAdminSignUp: React.FC<{ notification: NotificationGroupAdminSignUp; diff --git a/app/javascript/mastodon/features/notifications_v2/components/notification_favourite.tsx b/app/javascript/mastodon/features/notifications_v2/components/notification_favourite.tsx index 22838fe69bc..eba37fe9371 100644 --- a/app/javascript/mastodon/features/notifications_v2/components/notification_favourite.tsx +++ b/app/javascript/mastodon/features/notifications_v2/components/notification_favourite.tsx @@ -1,5 +1,7 @@ import { FormattedMessage } from 'react-intl'; +import { Link } from 'react-router-dom'; + import StarIcon from '@/material-icons/400-24px/star-fill.svg?react'; import type { NotificationGroupFavourite } from 'mastodon/models/notification_group'; import { useAppSelector } from 'mastodon/store'; @@ -7,13 +9,29 @@ import { useAppSelector } from 'mastodon/store'; import type { LabelRenderer } from './notification_group_with_status'; import { NotificationGroupWithStatus } from './notification_group_with_status'; -const labelRenderer: LabelRenderer = (values) => ( - -); +const labelRenderer: LabelRenderer = (displayedName, total, seeMoreHref) => { + if (total === 1) + return ( + + ); + + return ( + + seeMoreHref ? {chunks} : chunks, + }} + /> + ); +}; export const NotificationFavourite: React.FC<{ notification: NotificationGroupFavourite; diff --git a/app/javascript/mastodon/features/notifications_v2/components/notification_follow.tsx b/app/javascript/mastodon/features/notifications_v2/components/notification_follow.tsx index 0ed96ae636c..6a9a45d242c 100644 --- a/app/javascript/mastodon/features/notifications_v2/components/notification_follow.tsx +++ b/app/javascript/mastodon/features/notifications_v2/components/notification_follow.tsx @@ -1,31 +1,76 @@ import { FormattedMessage } from 'react-intl'; import PersonAddIcon from '@/material-icons/400-24px/person_add-fill.svg?react'; +import { FollowersCounter } from 'mastodon/components/counters'; +import { FollowButton } from 'mastodon/components/follow_button'; +import { ShortNumber } from 'mastodon/components/short_number'; import type { NotificationGroupFollow } from 'mastodon/models/notification_group'; +import { useAppSelector } from 'mastodon/store'; import type { LabelRenderer } from './notification_group_with_status'; import { NotificationGroupWithStatus } from './notification_group_with_status'; -const labelRenderer: LabelRenderer = (values) => ( - -); +const labelRenderer: LabelRenderer = (displayedName, total) => { + if (total === 1) + return ( + + ); + + return ( + + ); +}; + +const FollowerCount: React.FC<{ accountId: string }> = ({ accountId }) => { + const account = useAppSelector((s) => s.accounts.get(accountId)); + + if (!account) return null; + + return ( + + ); +}; export const NotificationFollow: React.FC<{ notification: NotificationGroupFollow; unread: boolean; -}> = ({ notification, unread }) => ( - -); +}> = ({ notification, unread }) => { + let actions: JSX.Element | undefined; + let additionalContent: JSX.Element | undefined; + + if (notification.sampleAccountIds.length === 1) { + // only display those if the group contains 1 account, otherwise it does not makes sense + const account = notification.sampleAccountIds[0]; + + if (account) { + actions = ; + additionalContent = ; + } + } + + return ( + + ); +}; diff --git a/app/javascript/mastodon/features/notifications_v2/components/notification_follow_request.tsx b/app/javascript/mastodon/features/notifications_v2/components/notification_follow_request.tsx index 8c9837efa34..5f61f2cd780 100644 --- a/app/javascript/mastodon/features/notifications_v2/components/notification_follow_request.tsx +++ b/app/javascript/mastodon/features/notifications_v2/components/notification_follow_request.tsx @@ -21,13 +21,27 @@ const messages = defineMessages({ reject: { id: 'follow_request.reject', defaultMessage: 'Reject' }, }); -const labelRenderer: LabelRenderer = (values) => ( - -); +const labelRenderer: LabelRenderer = (displayedName, total) => { + if (total === 1) + return ( + + ); + + return ( + + ); +}; export const NotificationFollowRequest: React.FC<{ notification: NotificationGroupFollowRequest; @@ -46,7 +60,7 @@ export const NotificationFollowRequest: React.FC<{ }, [dispatch, notification.sampleAccountIds]); const actions = ( -
+ <> -
+ ); return ( diff --git a/app/javascript/mastodon/features/notifications_v2/components/notification_group_with_status.tsx b/app/javascript/mastodon/features/notifications_v2/components/notification_group_with_status.tsx index 2af73c8362a..343a9bc4c1a 100644 --- a/app/javascript/mastodon/features/notifications_v2/components/notification_group_with_status.tsx +++ b/app/javascript/mastodon/features/notifications_v2/components/notification_group_with_status.tsx @@ -12,11 +12,13 @@ import { RelativeTimestamp } from 'mastodon/components/relative_timestamp'; import { useAppDispatch } from 'mastodon/store'; import { AvatarGroup } from './avatar_group'; +import { DisplayedName } from './displayed_name'; import { EmbeddedStatus } from './embedded_status'; -import { NamesList } from './names_list'; export type LabelRenderer = ( - values: Record, + displayedName: JSX.Element, + total: number, + seeMoreHref?: string, ) => JSX.Element; export const NotificationGroupWithStatus: React.FC<{ @@ -31,6 +33,7 @@ export const NotificationGroupWithStatus: React.FC<{ labelSeeMoreHref?: string; type: string; unread: boolean; + additionalContent?: JSX.Element; }> = ({ icon, iconId, @@ -43,20 +46,17 @@ export const NotificationGroupWithStatus: React.FC<{ labelSeeMoreHref, type, unread, + additionalContent, }) => { const dispatch = useAppDispatch(); const label = useMemo( () => - labelRenderer({ - name: ( - - ), - }), + labelRenderer( + , + count, + labelSeeMoreHref, + ), [labelRenderer, accountIds, count, labelSeeMoreHref], ); @@ -92,7 +92,9 @@ export const NotificationGroupWithStatus: React.FC<{
- {actions} + {actions && ( +
{actions}
+ )}
@@ -106,6 +108,12 @@ export const NotificationGroupWithStatus: React.FC<{
)} + + {additionalContent && ( +
+ {additionalContent} +
+ )}
diff --git a/app/javascript/mastodon/features/notifications_v2/components/notification_mention.tsx b/app/javascript/mastodon/features/notifications_v2/components/notification_mention.tsx index b7cd995118a..1929446bb22 100644 --- a/app/javascript/mastodon/features/notifications_v2/components/notification_mention.tsx +++ b/app/javascript/mastodon/features/notifications_v2/components/notification_mention.tsx @@ -37,7 +37,11 @@ export const NotificationMention: React.FC<{ unread: boolean; }> = ({ notification, unread }) => { const [isDirect, isReply] = useAppSelector((state) => { - const status = state.statuses.get(notification.statusId) as Status; + const status = state.statuses.get(notification.statusId) as + | Status + | undefined; + + if (!status) return [false, false] as const; return [ status.get('visibility') === 'direct', diff --git a/app/javascript/mastodon/features/notifications_v2/components/notification_reblog.tsx b/app/javascript/mastodon/features/notifications_v2/components/notification_reblog.tsx index 06255686884..7b3bda85e57 100644 --- a/app/javascript/mastodon/features/notifications_v2/components/notification_reblog.tsx +++ b/app/javascript/mastodon/features/notifications_v2/components/notification_reblog.tsx @@ -1,5 +1,7 @@ import { FormattedMessage } from 'react-intl'; +import { Link } from 'react-router-dom'; + import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react'; import type { NotificationGroupReblog } from 'mastodon/models/notification_group'; import { useAppSelector } from 'mastodon/store'; @@ -7,13 +9,29 @@ import { useAppSelector } from 'mastodon/store'; import type { LabelRenderer } from './notification_group_with_status'; import { NotificationGroupWithStatus } from './notification_group_with_status'; -const labelRenderer: LabelRenderer = (values) => ( - -); +const labelRenderer: LabelRenderer = (displayedName, total, seeMoreHref) => { + if (total === 1) + return ( + + ); + + return ( + + seeMoreHref ? {chunks} : chunks, + }} + /> + ); +}; export const NotificationReblog: React.FC<{ notification: NotificationGroupReblog; diff --git a/app/javascript/mastodon/features/notifications_v2/components/notification_status.tsx b/app/javascript/mastodon/features/notifications_v2/components/notification_status.tsx index 9ade355a714..2955c3aeac5 100644 --- a/app/javascript/mastodon/features/notifications_v2/components/notification_status.tsx +++ b/app/javascript/mastodon/features/notifications_v2/components/notification_status.tsx @@ -6,11 +6,11 @@ import type { NotificationGroupStatus } from 'mastodon/models/notification_group import type { LabelRenderer } from './notification_group_with_status'; import { NotificationWithStatus } from './notification_with_status'; -const labelRenderer: LabelRenderer = (values) => ( +const labelRenderer: LabelRenderer = (displayedName) => ( ); diff --git a/app/javascript/mastodon/features/notifications_v2/components/notification_update.tsx b/app/javascript/mastodon/features/notifications_v2/components/notification_update.tsx index c518367bf5a..731f319f894 100644 --- a/app/javascript/mastodon/features/notifications_v2/components/notification_update.tsx +++ b/app/javascript/mastodon/features/notifications_v2/components/notification_update.tsx @@ -6,11 +6,11 @@ import type { NotificationGroupUpdate } from 'mastodon/models/notification_group import type { LabelRenderer } from './notification_group_with_status'; import { NotificationWithStatus } from './notification_with_status'; -const labelRenderer: LabelRenderer = (values) => ( +const labelRenderer: LabelRenderer = (displayedName) => ( ); diff --git a/app/javascript/mastodon/features/notifications_v2/components/notification_with_status.tsx b/app/javascript/mastodon/features/notifications_v2/components/notification_with_status.tsx index c7dd9f6be2e..a1c275a1f39 100644 --- a/app/javascript/mastodon/features/notifications_v2/components/notification_with_status.tsx +++ b/app/javascript/mastodon/features/notifications_v2/components/notification_with_status.tsx @@ -15,7 +15,7 @@ import { Icon } from 'mastodon/components/icon'; import Status from 'mastodon/containers/status_container'; import { useAppSelector, useAppDispatch } from 'mastodon/store'; -import { NamesList } from './names_list'; +import { DisplayedName } from './displayed_name'; import type { LabelRenderer } from './notification_group_with_status'; export const NotificationWithStatus: React.FC<{ @@ -23,7 +23,7 @@ export const NotificationWithStatus: React.FC<{ icon: IconProp; iconId: string; accountIds: string[]; - statusId: string; + statusId: string | undefined; count: number; labelRenderer: LabelRenderer; unread: boolean; @@ -40,10 +40,7 @@ export const NotificationWithStatus: React.FC<{ const dispatch = useAppDispatch(); const label = useMemo( - () => - labelRenderer({ - name: , - }), + () => labelRenderer(, count), [labelRenderer, accountIds, count], ); @@ -76,6 +73,8 @@ export const NotificationWithStatus: React.FC<{ [dispatch, statusId], ); + if (!statusId) return null; + return (
0; + const needsReload = useAppSelector( + (state) => state.notificationGroups.mergedNotifications === 'needs-reload', + ); + + const isUnread = unreadNotificationsCount > 0 || needsReload; const canMarkAsRead = useAppSelector(selectSettingsNotificationsShowUnread) && @@ -118,11 +122,11 @@ export const Notifications: React.FC<{ // Keep track of mounted components for unread notification handling useEffect(() => { - dispatch(mountNotifications()); + void dispatch(mountNotifications()); return () => { dispatch(unmountNotifications()); - dispatch(updateScrollPosition({ top: false })); + void dispatch(updateScrollPosition({ top: false })); }; }, [dispatch]); @@ -147,11 +151,11 @@ export const Notifications: React.FC<{ }, [dispatch]); const handleScrollToTop = useDebouncedCallback(() => { - dispatch(updateScrollPosition({ top: true })); + void dispatch(updateScrollPosition({ top: true })); }, 100); const handleScroll = useDebouncedCallback(() => { - dispatch(updateScrollPosition({ top: false })); + void dispatch(updateScrollPosition({ top: false })); }, 100); useEffect(() => { diff --git a/app/javascript/mastodon/features/notifications_wrapper.jsx b/app/javascript/mastodon/features/notifications_wrapper.jsx index 057ed1b395f..4b3efeb54e1 100644 --- a/app/javascript/mastodon/features/notifications_wrapper.jsx +++ b/app/javascript/mastodon/features/notifications_wrapper.jsx @@ -1,9 +1,10 @@ import Notifications from 'mastodon/features/notifications'; import Notifications_v2 from 'mastodon/features/notifications_v2'; +import { selectUseGroupedNotifications } from 'mastodon/selectors/settings'; import { useAppSelector } from 'mastodon/store'; export const NotificationsWrapper = (props) => { - const optedInGroupedNotifications = useAppSelector((state) => state.getIn(['settings', 'notifications', 'groupingBeta'], false)); + const optedInGroupedNotifications = useAppSelector(selectUseGroupedNotifications); return ( optedInGroupedNotifications ? : diff --git a/app/javascript/mastodon/features/status/components/detailed_status.jsx b/app/javascript/mastodon/features/status/components/detailed_status.jsx index bc81fd2dfb1..8ee1ec9b9bd 100644 --- a/app/javascript/mastodon/features/status/components/detailed_status.jsx +++ b/app/javascript/mastodon/features/status/components/detailed_status.jsx @@ -10,6 +10,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component'; import AlternateEmailIcon from '@/material-icons/400-24px/alternate_email.svg?react'; import { AnimatedNumber } from 'mastodon/components/animated_number'; +import { ContentWarning } from 'mastodon/components/content_warning'; import EditedTimestamp from 'mastodon/components/edited_timestamp'; import { getHashtagBarForStatus } from 'mastodon/components/hashtag_bar'; import { Icon } from 'mastodon/components/icon'; @@ -277,17 +278,20 @@ class DetailedStatus extends ImmutablePureComponent { - + {status.get('spoiler_text').length > 0 && } - {media} + {expanded && ( + <> + - {expanded && hashtagBar} + {media} + {hashtagBar} + + )}
diff --git a/app/javascript/mastodon/features/status/index.jsx b/app/javascript/mastodon/features/status/index.jsx index 7f3044c5c9b..5f325fe7b87 100644 --- a/app/javascript/mastodon/features/status/index.jsx +++ b/app/javascript/mastodon/features/status/index.jsx @@ -1,6 +1,6 @@ import PropTypes from 'prop-types'; -import { defineMessages, injectIntl } from 'react-intl'; +import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import classNames from 'classnames'; import { Helmet } from 'react-helmet'; @@ -18,6 +18,7 @@ import VisibilityIcon from '@/material-icons/400-24px/visibility.svg?react'; import VisibilityOffIcon from '@/material-icons/400-24px/visibility_off.svg?react'; import { Icon } from 'mastodon/components/icon'; import { LoadingIndicator } from 'mastodon/components/loading_indicator'; +import { TimelineHint } from 'mastodon/components/timeline_hint'; import ScrollContainer from 'mastodon/containers/scroll_container'; import BundleColumnError from 'mastodon/features/ui/components/bundle_column_error'; import { identityContextPropShape, withIdentity } from 'mastodon/identity_context'; @@ -598,7 +599,7 @@ class Status extends ImmutablePureComponent { }; render () { - let ancestors, descendants; + let ancestors, descendants, remoteHint; const { isLoading, status, ancestorsIds, descendantsIds, intl, domain, multiColumn, pictureInPicture } = this.props; const { fullscreen } = this.state; @@ -627,6 +628,17 @@ class Status extends ImmutablePureComponent { const isLocal = status.getIn(['account', 'acct'], '').indexOf('@') === -1; const isIndexable = !status.getIn(['account', 'noindex']); + if (!isLocal) { + remoteHint = ( + } + label={{status.getIn(['account', 'acct']).split('@')[1]} }} />} + /> + ); + } + const handlers = { moveUp: this.handleHotkeyMoveUp, moveDown: this.handleHotkeyMoveDown, @@ -695,6 +707,7 @@ class Status extends ImmutablePureComponent { {descendants} + {remoteHint}
diff --git a/app/javascript/mastodon/features/ui/components/boost_modal.tsx b/app/javascript/mastodon/features/ui/components/boost_modal.tsx index 40b0c818330..cdf7138d496 100644 --- a/app/javascript/mastodon/features/ui/components/boost_modal.tsx +++ b/app/javascript/mastodon/features/ui/components/boost_modal.tsx @@ -1,28 +1,17 @@ -import type { MouseEventHandler } from 'react'; import { useCallback, useState } from 'react'; import { defineMessages, FormattedMessage, useIntl } from 'react-intl'; import classNames from 'classnames'; -import { useHistory } from 'react-router'; - -import type Immutable from 'immutable'; import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react'; -import AttachmentList from 'mastodon/components/attachment_list'; +import { Button } from 'mastodon/components/button'; import { Icon } from 'mastodon/components/icon'; -import { VisibilityIcon } from 'mastodon/components/visibility_icon'; import PrivacyDropdown from 'mastodon/features/compose/components/privacy_dropdown'; -import type { Account } from 'mastodon/models/account'; +import { EmbeddedStatus } from 'mastodon/features/notifications_v2/components/embedded_status'; import type { Status, StatusVisibility } from 'mastodon/models/status'; import { useAppSelector } from 'mastodon/store'; -import { Avatar } from '../../../components/avatar'; -import { Button } from '../../../components/button'; -import { DisplayName } from '../../../components/display_name'; -import { RelativeTimestamp } from '../../../components/relative_timestamp'; -import StatusContent from '../../../components/status_content'; - const messages = defineMessages({ cancel_reblog: { id: 'status.cancel_reblog_private', @@ -37,18 +26,17 @@ export const BoostModal: React.FC<{ onReblog: (status: Status, privacy: StatusVisibility) => void; }> = ({ status, onReblog, onClose }) => { const intl = useIntl(); - const history = useHistory(); - const default_privacy = useAppSelector( + const defaultPrivacy = useAppSelector( // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access (state) => state.compose.get('default_privacy') as StatusVisibility, ); - const account = status.get('account') as Account; + const statusId = status.get('id') as string; const statusVisibility = status.get('visibility') as StatusVisibility; const [privacy, setPrivacy] = useState( - statusVisibility === 'private' ? 'private' : default_privacy, + statusVisibility === 'private' ? 'private' : defaultPrivacy, ); const onPrivacyChange = useCallback((value: StatusVisibility) => { @@ -60,20 +48,9 @@ export const BoostModal: React.FC<{ onClose(); }, [onClose, onReblog, status, privacy]); - const handleAccountClick = useCallback( - (e) => { - if (e.button === 0 && !(e.ctrlKey || e.metaKey)) { - e.preventDefault(); - onClose(); - history.push(`/@${account.acct}`); - } - }, - [history, onClose, account], - ); - - const buttonText = status.get('reblogged') - ? messages.cancel_reblog - : messages.reblog; + const handleCancel = useCallback(() => { + onClose(); + }, [onClose]); const findContainer = useCallback( () => document.getElementsByClassName('modal-root__container')[0], @@ -81,81 +58,78 @@ export const BoostModal: React.FC<{ ); return ( -
-
-
-
- - - - - - - - -
- -
- - -
+
+
+
+
+
- {/* @ts-expect-error Expected until StatusContent is typed */} - +
+

+ {status.get('reblogged') ? ( + + ) : ( + + )} +

+
+ + Shift+ + + ), + }} + /> +
+
+
- {(status.get('media_attachments') as Immutable.List).size > - 0 && ( - - )} +
+
-
-
- - Shift + - - ), - }} +
+
+ {!status.get('reblogged') && ( + + )} + +
+ + + +
- {statusVisibility !== 'private' && !status.get('reblogged') && ( - - )} -
); diff --git a/app/javascript/mastodon/features/ui/components/confirmation_modals/log_out.tsx b/app/javascript/mastodon/features/ui/components/confirmation_modals/log_out.tsx index 48d24182ed6..ec61146877e 100644 --- a/app/javascript/mastodon/features/ui/components/confirmation_modals/log_out.tsx +++ b/app/javascript/mastodon/features/ui/components/confirmation_modals/log_out.tsx @@ -25,7 +25,7 @@ export const ConfirmLogOutModal: React.FC = ({ const intl = useIntl(); const onConfirm = useCallback(() => { - logOut(); + void logOut(); }, []); return ( diff --git a/app/javascript/mastodon/features/ui/components/ignore_notifications_modal.jsx b/app/javascript/mastodon/features/ui/components/ignore_notifications_modal.jsx index b163b8ce470..dffaa04492c 100644 --- a/app/javascript/mastodon/features/ui/components/ignore_notifications_modal.jsx +++ b/app/javascript/mastodon/features/ui/components/ignore_notifications_modal.jsx @@ -60,7 +60,7 @@ export const IgnoreNotificationsModal = ({ filterType }) => {
-
+
diff --git a/app/javascript/mastodon/features/ui/components/navigation_panel.jsx b/app/javascript/mastodon/features/ui/components/navigation_panel.jsx index 2648923bfc4..407276d1261 100644 --- a/app/javascript/mastodon/features/ui/components/navigation_panel.jsx +++ b/app/javascript/mastodon/features/ui/components/navigation_panel.jsx @@ -7,16 +7,17 @@ import { Link } from 'react-router-dom'; import { useSelector, useDispatch } from 'react-redux'; - import AlternateEmailIcon from '@/material-icons/400-24px/alternate_email.svg?react'; import BookmarksActiveIcon from '@/material-icons/400-24px/bookmarks-fill.svg?react'; import BookmarksIcon from '@/material-icons/400-24px/bookmarks.svg?react'; import ExploreActiveIcon from '@/material-icons/400-24px/explore-fill.svg?react'; import ExploreIcon from '@/material-icons/400-24px/explore.svg?react'; +import ModerationIcon from '@/material-icons/400-24px/gavel.svg?react'; import HomeActiveIcon from '@/material-icons/400-24px/home-fill.svg?react'; import HomeIcon from '@/material-icons/400-24px/home.svg?react'; import ListAltActiveIcon from '@/material-icons/400-24px/list_alt-fill.svg?react'; import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react'; +import AdministrationIcon from '@/material-icons/400-24px/manufacturing.svg?react'; import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react'; import NotificationsActiveIcon from '@/material-icons/400-24px/notifications-fill.svg?react'; import NotificationsIcon from '@/material-icons/400-24px/notifications.svg?react'; @@ -34,7 +35,9 @@ import { NavigationPortal } from 'mastodon/components/navigation_portal'; import { identityContextPropShape, withIdentity } from 'mastodon/identity_context'; import { timelinePreview, trendsEnabled } from 'mastodon/initial_state'; import { transientSingleColumn } from 'mastodon/is_mobile'; +import { canManageReports, canViewAdminDashboard } from 'mastodon/permissions'; import { selectUnreadNotificationGroupsCount } from 'mastodon/selectors/notifications'; +import { selectUseGroupedNotifications } from 'mastodon/selectors/settings'; import ColumnLink from './column_link'; import DisabledAccountBanner from './disabled_account_banner'; @@ -51,6 +54,8 @@ const messages = defineMessages({ bookmarks: { id: 'navigation_bar.bookmarks', defaultMessage: 'Bookmarks' }, lists: { id: 'navigation_bar.lists', defaultMessage: 'Lists' }, preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' }, + administration: { id: 'navigation_bar.administration', defaultMessage: 'Administration' }, + moderation: { id: 'navigation_bar.moderation', defaultMessage: 'Moderation' }, followsAndFollowers: { id: 'navigation_bar.follows_and_followers', defaultMessage: 'Follows and followers' }, about: { id: 'navigation_bar.about', defaultMessage: 'About' }, search: { id: 'navigation_bar.search', defaultMessage: 'Search' }, @@ -60,7 +65,7 @@ const messages = defineMessages({ }); const NotificationsLink = () => { - const optedInGroupedNotifications = useSelector((state) => state.getIn(['settings', 'notifications', 'groupingBeta'], false)); + const optedInGroupedNotifications = useSelector(selectUseGroupedNotifications); const count = useSelector(state => state.getIn(['notifications', 'unread'])); const intl = useIntl(); @@ -114,7 +119,7 @@ class NavigationPanel extends Component { render () { const { intl } = this.props; - const { signedIn, disabledAccountId } = this.props.identity; + const { signedIn, disabledAccountId, permissions } = this.props.identity; let banner = undefined; @@ -176,6 +181,9 @@ class NavigationPanel extends Component {
+ + {canManageReports(permissions) && } + {canViewAdminDashboard(permissions) && } )} diff --git a/app/javascript/mastodon/features/ui/index.jsx b/app/javascript/mastodon/features/ui/index.jsx index f36e0cf501f..657c9e9e583 100644 --- a/app/javascript/mastodon/features/ui/index.jsx +++ b/app/javascript/mastodon/features/ui/index.jsx @@ -85,7 +85,7 @@ const mapStateToProps = state => ({ isComposing: state.getIn(['compose', 'is_composing']), hasComposingText: state.getIn(['compose', 'text']).trim().length !== 0, hasMediaAttachments: state.getIn(['compose', 'media_attachments']).size > 0, - canUploadMore: !state.getIn(['compose', 'media_attachments']).some(x => ['audio', 'video'].includes(x.get('type'))) && state.getIn(['compose', 'media_attachments']).size < 4, + canUploadMore: !state.getIn(['compose', 'media_attachments']).some(x => ['audio', 'video'].includes(x.get('type'))) && state.getIn(['compose', 'media_attachments']).size < state.getIn(['server', 'server', 'configuration', 'statuses', 'max_media_attachments']), firstLaunch: state.getIn(['settings', 'introductionVersion'], 0) < INTRODUCTION_VERSION, username: state.getIn(['accounts', me, 'username']), }); diff --git a/app/javascript/mastodon/initial_state.js b/app/javascript/mastodon/initial_state.js index 60b35cb31ac..cf33b12dd92 100644 --- a/app/javascript/mastodon/initial_state.js +++ b/app/javascript/mastodon/initial_state.js @@ -43,6 +43,7 @@ * @property {boolean=} use_pending_items * @property {string} version * @property {string} sso_redirect + * @property {boolean} force_grouped_notifications */ /** @@ -118,6 +119,7 @@ export const criticalUpdatesPending = initialState?.critical_updates_pending; // @ts-expect-error export const statusPageUrl = getMeta('status_page_url'); export const sso_redirect = getMeta('sso_redirect'); +export const forceGroupedNotifications = getMeta('force_grouped_notifications'); /** * @returns {string | undefined} diff --git a/app/javascript/mastodon/locales/af.json b/app/javascript/mastodon/locales/af.json index bedb3d1719e..a506b996544 100644 --- a/app/javascript/mastodon/locales/af.json +++ b/app/javascript/mastodon/locales/af.json @@ -16,7 +16,6 @@ "account.block_domain": "Blokkeer domein {domain}", "account.block_short": "Blokkeer", "account.blocked": "Geblokkeer", - "account.browse_more_on_origin_server": "Verken die oorspronklike profiel", "account.cancel_follow_request": "Herroep volgversoek", "account.disable_notifications": "Hou op om my van @{name} se plasings te laat weet", "account.domain_blocked": "Domein geblokkeer", @@ -308,7 +307,6 @@ "status.translated_from_with": "Uit {lang} vertaal deur {provider}", "tabs_bar.home": "Tuis", "tabs_bar.notifications": "Kennisgewings", - "timeline_hint.resources.statuses": "Ouer plasings", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", diff --git a/app/javascript/mastodon/locales/an.json b/app/javascript/mastodon/locales/an.json index 959d3b81c42..7974cea6404 100644 --- a/app/javascript/mastodon/locales/an.json +++ b/app/javascript/mastodon/locales/an.json @@ -17,7 +17,6 @@ "account.block": "Blocar a @{name}", "account.block_domain": "Blocar dominio {domain}", "account.blocked": "Blocau", - "account.browse_more_on_origin_server": "Veyer mas en o perfil orichinal", "account.cancel_follow_request": "Retirar solicitut de seguimiento", "account.disable_notifications": "Deixar de notificar-me quan @{name} publique bella cosa", "account.domain_blocked": "Dominio blocau", @@ -336,7 +335,6 @@ "notification.admin.sign_up": "{name} se rechistró", "notification.follow": "{name} t'empecipió a seguir", "notification.follow_request": "{name} ha solicitau seguir-te", - "notification.mention": "{name} t'ha mencionau", "notification.own_poll": "La tuya enqüesta ha rematau", "notification.reblog": "{name} ha retutau la tuya publicación", "notification.status": "{name} acaba de publicar", @@ -485,8 +483,6 @@ "status.edited_x_times": "Editau {count, plural, one {{count} vez} other {{count} veces}}", "status.embed": "Incrustado", "status.filter": "Filtrar esta publicación", - "status.filtered": "Filtrau", - "status.hide": "Amagar la publicación", "status.history.created": "{name} creyó {date}", "status.history.edited": "{name} editó {date}", "status.load_more": "Cargar mas", @@ -511,10 +507,7 @@ "status.report": "Denunciar €{name}", "status.sensitive_warning": "Conteniu sensible", "status.share": "Compartir", - "status.show_filter_reason": "Amostrar de totz modos", - "status.show_less": "Amostrar menos", "status.show_less_all": "Amostrar menos pa tot", - "status.show_more": "Amostrar mas", "status.show_more_all": "Amostrar mas pa tot", "status.show_original": "Amostrar orichinal", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", @@ -532,10 +525,6 @@ "time_remaining.minutes": "{number, plural, one {# menuto restante} other {# menutos restantes}}", "time_remaining.moments": "Momentos restantes", "time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}", - "timeline_hint.remote_resource_not_displayed": "{resource} d'atros servidors no s'amuestran.", - "timeline_hint.resources.followers": "Seguidores", - "timeline_hint.resources.follows": "Seguius", - "timeline_hint.resources.statuses": "Publicacions mas antigas", "trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} personas}} en os zaguers {days, plural, one {días} other {{days} días}}", "trends.trending_now": "Tendencia agora", "ui.beforeunload": "Lo tuyo borrador se perderá si sales de Mastodon.", diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index 97526c40e6c..c1cb734a630 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -11,6 +11,7 @@ "about.not_available": "لم يتم توفير هذه المعلومات على هذا الخادم.", "about.powered_by": "شبكة اجتماعية لامركزية مدعومة من {mastodon}", "about.rules": "قواعد الخادم", + "account.account_note_header": "ملاحظة شخصية", "account.add_or_remove_from_list": "الإضافة أو الإزالة من القائمة", "account.badges.bot": "آلي", "account.badges.group": "فريق", @@ -18,7 +19,6 @@ "account.block_domain": "حظر اسم النِّطاق {domain}", "account.block_short": "حظر", "account.blocked": "محظور", - "account.browse_more_on_origin_server": "تصفح المزيد في الملف الشخصي الأصلي", "account.cancel_follow_request": "إلغاء طلب المتابعة", "account.copy": "نسخ الرابط إلى الملف الشخصي", "account.direct": "إشارة خاصة لـ @{name}", @@ -31,7 +31,7 @@ "account.featured_tags.last_status_never": "لا توجد رسائل", "account.featured_tags.title": "وسوم {name} المميَّزة", "account.follow": "متابعة", - "account.follow_back": "تابعهم بالمثل", + "account.follow_back": "تابعه بالمثل", "account.followers": "مُتابِعون", "account.followers.empty": "لا أحدَ يُتابع هذا المُستخدم إلى حد الآن.", "account.followers_counter": "{count, plural, zero {}one {{counter} متابع} two {{counter} متابعين} few {{counter} متابعين} many {{counter} متابعين} other {{counter} متابعين}}", @@ -168,21 +168,30 @@ "confirmations.block.confirm": "حظر", "confirmations.delete.confirm": "حذف", "confirmations.delete.message": "هل أنتَ مُتأكدٌ أنك تُريدُ حَذفَ هذا المنشور؟", + "confirmations.delete.title": "أتريد حذف المنشور؟", "confirmations.delete_list.confirm": "حذف", "confirmations.delete_list.message": "هل أنتَ مُتأكدٌ أنكَ تُريدُ حَذفَ هذِهِ القائمة بشكلٍ دائم؟", + "confirmations.delete_list.title": "أتريد حذف القائمة؟", "confirmations.discard_edit_media.confirm": "تجاهل", "confirmations.discard_edit_media.message": "لديك تغييرات غير محفوظة لوصف الوسائط أو معاينتها، أتريد تجاهلها على أي حال؟", "confirmations.edit.confirm": "تعديل", "confirmations.edit.message": "التعديل في الحين سوف يُعيد كتابة الرسالة التي أنت بصدد تحريرها. متأكد من أنك تريد المواصلة؟", + "confirmations.edit.title": "هل تريد استبدال المنشور؟", "confirmations.logout.confirm": "خروج", "confirmations.logout.message": "متأكد من أنك تريد الخروج؟", + "confirmations.logout.title": "أتريد المغادرة؟", "confirmations.mute.confirm": "أكتم", "confirmations.redraft.confirm": "إزالة وإعادة الصياغة", "confirmations.redraft.message": "هل أنت متأكد من أنك تريد حذف هذا المنشور و إعادة صياغته؟ سوف تفقد جميع الإعجابات و الترقيات أما الردود المتصلة به فستُصبِح يتيمة.", + "confirmations.redraft.title": "أتريد حذف وإعادة صياغة المنشور؟", "confirmations.reply.confirm": "رد", "confirmations.reply.message": "الرد في الحين سوف يُعيد كتابة الرسالة التي أنت بصدد كتابتها. متأكد من أنك تريد المواصلة؟", + "confirmations.reply.title": "هل تريد استبدال المنشور؟", "confirmations.unfollow.confirm": "إلغاء المتابعة", "confirmations.unfollow.message": "متأكد من أنك تريد إلغاء متابعة {name} ؟", + "confirmations.unfollow.title": "إلغاء متابعة المستخدم؟", + "content_warning.hide": "إخفاء المنشور", + "content_warning.show": "إظهار على أي حال", "conversation.delete": "احذف المحادثة", "conversation.mark_as_read": "اعتبرها كمقروءة", "conversation.open": "اعرض المحادثة", @@ -218,8 +227,8 @@ "domain_pill.their_username": "مُعرّفُهم الفريد على الخادم. من الممكن العثور على مستخدمين بنفس اسم المستخدم على خوادم مختلفة.", "domain_pill.username": "اسم المستخدم", "domain_pill.whats_in_a_handle": "ما المقصود بالمُعرِّف؟", - "domain_pill.who_they_are": "بما أن المعالجات تقول من هو الشخص ومكان وجوده، يمكنك التفاعل مع الناس عبر الشبكة الاجتماعية لـ .", - "domain_pill.who_you_are": "لأن معالجتك تقول من أنت ومكان وجودك، يمكن الناس التفاعل معك عبر الشبكة الاجتماعية لـ .", + "domain_pill.who_they_are": "بما أن المعرفات تقول من هو الشخص ومكان وجوده، يمكنك التفاعل مع الناس عبر الويب الاجتماعي لل .", + "domain_pill.who_you_are": "بما أن معرفك يقول من أنت ومكان وجوده، يمكن للناس التفاعل معك عبر الويب الاجتماعي لل .", "domain_pill.your_handle": "عنوانك الكامل:", "domain_pill.your_server": "منزلك الرقمي، حيث تعيش جميع مشاركاتك. لا تحب هذا؟ إنقل الخوادم في أي وقت واخضر متابعينك أيضًا.", "domain_pill.your_username": "معرفك الفريد على هذا الخادم. من الممكن العثور على مستخدمين بنفس إسم المستخدم على خوادم مختلفة.", @@ -290,6 +299,7 @@ "filter_modal.select_filter.subtitle": "استخدم فئة موجودة أو قم بإنشاء فئة جديدة", "filter_modal.select_filter.title": "تصفية هذا المنشور", "filter_modal.title.status": "تصفية منشور", + "filter_warning.matches_filter": "يطابق عامل التصفية \"{title}\"", "filtered_notifications_banner.title": "الإشعارات المصفاة", "firehose.all": "الكل", "firehose.local": "هذا الخادم", @@ -345,6 +355,9 @@ "home.pending_critical_update.link": "اطّلع على التحديثات", "home.pending_critical_update.title": "تحديث أمان حرج متوفر!", "home.show_announcements": "إظهار الإعلانات", + "ignore_notifications_modal.disclaimer": "لا يمكن لـ Mastodon إبلاغ المستخدمين بأنك قد تجاهلت إشعاراتهم. تجاهل الإشعارات لن يمنع إرسال الرسائل نفسها.", + "ignore_notifications_modal.ignore": "تجاهل الإشعارات", + "ignore_notifications_modal.limited_accounts_title": "تجاهل الإشعارات من الحسابات التي هي تحت الإشراف؟", "interaction_modal.description.favourite": "بفضل حساب على ماستدون، يمكنك إضافة هذا المنشور إلى مفضلتك لإبلاغ الناشر عن تقديرك وكذا للاحتفاظ بالمنشور إلى وقت لاحق.", "interaction_modal.description.follow": "بفضل حساب في ماستدون، يمكنك متابعة {name} وتلقي منشوراته في موجزات خيطك الرئيس.", "interaction_modal.description.reblog": "مع حساب في ماستدون، يمكنك تعزيز هذا المنشور ومشاركته مع مُتابِعيك.", @@ -431,7 +444,7 @@ "mute_modal.they_can_mention_and_follow": "سيكون بإمكانه الإشارة إليك ومتابعتك، لكنك لن تره.", "mute_modal.they_wont_know": "لن يَعرف أنه قد تم كتمه.", "mute_modal.title": "أتريد كتم المُستخدم؟", - "mute_modal.you_wont_see_mentions": "سوف لن تر المنشورات التي يُشار إليه.", + "mute_modal.you_wont_see_mentions": "لن تر المنشورات التي يُشار فيها إليه.", "mute_modal.you_wont_see_posts": "سيكون بإمكانه رؤية منشوراتك، لكنك لن ترى منشوراته.", "navigation_bar.about": "عن", "navigation_bar.advanced_interface": "افتحه في واجهة الويب المتقدمة", @@ -464,7 +477,11 @@ "notification.favourite": "أضاف {name} منشورك إلى مفضلته", "notification.follow": "يتابعك {name}", "notification.follow_request": "لقد طلب {name} متابعتك", - "notification.mention": "{name} ذكرك", + "notification.label.mention": "إشارة", + "notification.label.private_mention": "إشارة خاصة", + "notification.label.private_reply": "رد خاص", + "notification.label.reply": "ردّ", + "notification.mention": "إشارة", "notification.moderation-warning.learn_more": "اعرف المزيد", "notification.moderation_warning": "لقد تلقيت تحذيرًا بالإشراف", "notification.moderation_warning.action_delete_statuses": "تم إزالة بعض مشاركاتك.", @@ -475,6 +492,7 @@ "notification.moderation_warning.action_silence": "لقد تم تقييد حسابك.", "notification.moderation_warning.action_suspend": "لقد تم تعليق حسابك.", "notification.own_poll": "انتهى استطلاعك للرأي", + "notification.poll": "لقد انتهى استطلاع رأي صوتت فيه", "notification.reblog": "قام {name} بمشاركة منشورك", "notification.relationships_severance_event": "فقدت الاتصالات مع {name}", "notification.relationships_severance_event.account_suspension": "قام مشرف من {from} بتعليق {target}، مما يعني أنك لم يعد بإمكانك تلقي التحديثات منهم أو التفاعل معهم.", @@ -485,13 +503,19 @@ "notification.update": "عدّلَ {name} منشورًا", "notification_requests.accept": "موافقة", "notification_requests.dismiss": "تخطي", + "notification_requests.edit_selection": "تعديل", + "notification_requests.exit_selection": "تمّ", + "notification_requests.explainer_for_limited_account": "تم تصفية الإشعارات من هذا الحساب لأن الحساب تم تقييده من قبل مشرف.", "notification_requests.notifications_from": "إشعارات من {name}", "notification_requests.title": "الإشعارات المصفاة", "notifications.clear": "مسح الإشعارات", "notifications.clear_confirmation": "متأكد من أنك تود مسح جميع الإشعارات الخاصة بك و المتلقاة إلى حد الآن ؟", + "notifications.clear_title": "أترغب في مسح الإشعارات؟", "notifications.column_settings.admin.report": "التبليغات الجديدة:", "notifications.column_settings.admin.sign_up": "التسجيلات الجديدة:", "notifications.column_settings.alert": "إشعارات سطح المكتب", + "notifications.column_settings.beta.category": "ميزات تجريبية", + "notifications.column_settings.beta.grouping": "جمّع الإشعارات", "notifications.column_settings.favourite": "المفضلة:", "notifications.column_settings.filter_bar.advanced": "عرض جميع الفئات", "notifications.column_settings.filter_bar.category": "شريط التصفية السريعة", @@ -520,15 +544,21 @@ "notifications.permission_denied": "تنبيهات سطح المكتب غير متوفرة بسبب رفض أذونات المتصفح مسبقاً", "notifications.permission_denied_alert": "لا يمكن تفعيل إشعارات سطح المكتب، لأن إذن المتصفح قد تم رفضه سابقاً", "notifications.permission_required": "إشعارات سطح المكتب غير متوفرة لأنه لم يتم منح الإذن المطلوب.", + "notifications.policy.accept": "قبول", + "notifications.policy.accept_hint": "إظهار في الإشعارات", + "notifications.policy.drop": "تجاهل", + "notifications.policy.filter": "تصفية", + "notifications.policy.filter_limited_accounts_hint": "المحدودة من قبل مشرفي الخادم", + "notifications.policy.filter_limited_accounts_title": "حسابات تحت الإشراف", "notifications.policy.filter_new_accounts.hint": "تم إنشاؤها منذ {days, plural, zero {}one {يوم واحد} two {يومان} few {# أيام} many {# أيام} other {# أيام}}", "notifications.policy.filter_new_accounts_title": "حسابات جديدة", - "notifications.policy.filter_not_followers_hint": "بما في ذلك الأشخاص الذين يتابعونك أقل من {days, plural, zero {}one {يوم واحد} two {يومان} few {# أيام} many {# أيام} other {# أيام}}", + "notifications.policy.filter_not_followers_hint": "بما في ذلك الأشخاص الذين يتابعونك منذ أقل من {days, plural, zero {}one {يوم واحد} two {يومين} few {# أيام} many {# يوما} other {# أيام}}", "notifications.policy.filter_not_followers_title": "أشخاص لا يتابعونك", "notifications.policy.filter_not_following_hint": "حتى توافق عليهم يدويا", "notifications.policy.filter_not_following_title": "أشخاص لا تتابعهم", - "notifications.policy.filter_private_mentions_hint": "تمت تصفيته إلا إذا أن يكون ردًا على ذكرك أو إذا كنت تتابع الحساب", - "notifications.policy.filter_private_mentions_title": "إشارات خاصة غير مرغوب فيها", - "notifications.policy.title": "تصفية الإشعارات من…", + "notifications.policy.filter_private_mentions_hint": "يتم تصفيتها إلا إن كانت ردًا على أحد ردودك أو إذا كنت متابعا للمرسل", + "notifications.policy.filter_private_mentions_title": "الإشارات الخاصة غير المرغوب فيها", + "notifications.policy.title": "إدارة الإشعارات الواردة من…", "notifications_permission_banner.enable": "تفعيل إشعارات سطح المكتب", "notifications_permission_banner.how_to_control": "لتلقي الإشعارات عندما لا يكون ماستدون مفتوح، قم بتفعيل إشعارات سطح المكتب، يمكنك التحكم بدقة في أنواع التفاعلات التي تولد إشعارات سطح المكتب من خلال زر الـ{icon} أعلاه بمجرد تفعيلها.", "notifications_permission_banner.title": "لا تفوت شيئاً أبداً", @@ -637,7 +667,7 @@ "report.reasons.legal_description": "أنت تعتقد أنه ينتهك قانون بلدك أو دولة الخادم", "report.reasons.other": "شيء آخر", "report.reasons.other_description": "لا تندرج هذه المشكلة ضمن فئات أخرى", - "report.reasons.spam": "إنها رسالة مزعجة", + "report.reasons.spam": "إنه منشور غير مرغوب فيه", "report.reasons.spam_description": "روابط خبيثة أو تفاعل كاذب أو ردود متكررة", "report.reasons.violation": "ينتهك قواعد الخادم", "report.reasons.violation_description": "تعلم أنه ينتهك قواعد محددة", @@ -655,9 +685,13 @@ "report.unfollow_explanation": "أنت تتابع هذا الحساب، لإزالة مَنشوراته من موجزات خيطك الرئيس، ألغ متابعته.", "report_notification.attached_statuses": "{count, plural, one {{count} منشور} other {{count} منشورات}} مرفقة", "report_notification.categories.legal": "أمور قانونية", + "report_notification.categories.legal_sentence": "محتوى غير قانوني", "report_notification.categories.other": "آخر", + "report_notification.categories.other_sentence": "آخر", "report_notification.categories.spam": "مزعج", + "report_notification.categories.spam_sentence": "مزعج", "report_notification.categories.violation": "القاعدة المنتهَكة", + "report_notification.categories.violation_sentence": "انتهاك لقاعدة", "report_notification.open": "فتح التقرير", "search.no_recent_searches": "ما من عمليات بحث تمت مؤخرًا", "search.placeholder": "ابحث", @@ -685,6 +719,7 @@ "server_banner.about_active_users": "الأشخاص الذين يستخدمون هذا الخادم خلال الأيام الثلاثين الأخيرة (المستخدمون النشطون شهريًا)", "server_banner.active_users": "مستخدم نشط", "server_banner.administered_by": "يُديره:", + "server_banner.is_one_of_many": "{domain} هو واحد من بين العديد من خوادم ماستدون المستقلة التي يمكنك استخدامها للمشاركة في الفديفرس.", "server_banner.server_stats": "إحصائيات الخادم:", "sign_in_banner.create_account": "أنشئ حسابًا", "sign_in_banner.sign_in": "تسجيل الدخول", @@ -707,9 +742,7 @@ "status.embed": "إدماج", "status.favourite": "فضّل", "status.favourites": "{count, plural, zero {}one {مفضلة واحدة} two {مفضلتان} few {# مفضلات} many {# مفضلات} other {# مفضلات}}", - "status.filter": "تصفية هذه الرسالة", - "status.filtered": "مُصفّى", - "status.hide": "إخفاء المنشور", + "status.filter": "تصفية هذا المنشور", "status.history.created": "أنشأه {name} {date}", "status.history.edited": "عدله {name} {date}", "status.load_more": "حمّل المزيد", @@ -737,10 +770,7 @@ "status.report": "ابلِغ عن @{name}", "status.sensitive_warning": "محتوى حساس", "status.share": "مشاركة", - "status.show_filter_reason": "إظهار على أي حال", - "status.show_less": "اعرض أقلّ", "status.show_less_all": "طي الكل", - "status.show_more": "أظهر المزيد", "status.show_more_all": "توسيع الكل", "status.show_original": "إظهار الأصل", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", @@ -759,10 +789,6 @@ "time_remaining.minutes": "{number, plural, one {# دقيقة} other {# دقائق}} متبقية", "time_remaining.moments": "لحظات متبقية", "time_remaining.seconds": "{number, plural, one {# ثانية} other {# ثوانٍ}} متبقية", - "timeline_hint.remote_resource_not_displayed": "{resource} من الخوادم الأخرى لا يتم عرضها.", - "timeline_hint.resources.followers": "المتابِعون", - "timeline_hint.resources.follows": "المتابَعون", - "timeline_hint.resources.statuses": "المنشورات القديمة", "trends.counter_by_accounts": "{count, plural, one {شخص واحد} two {شخصان} few {{counter} أشخاصٍ} many {{counter} شخصًا} other {{counter} شخصًا}} {days, plural, one {خلال اليوم الماضي} two {خلال اليومَيْنِ الماضيَيْنِ} few {خلال {days} أيام الماضية} many {خلال {days} يومًا الماضية} other {خلال {days} يومٍ الماضية}}", "trends.trending_now": "المتداولة الآن", "ui.beforeunload": "سوف تفقد مسودتك إن تركت ماستدون.", diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json index fd673f1f855..74eb7021d34 100644 --- a/app/javascript/mastodon/locales/ast.json +++ b/app/javascript/mastodon/locales/ast.json @@ -11,14 +11,12 @@ "about.not_available": "Esta información nun ta disponible nesti sirvidor.", "about.powered_by": "Una rede social descentralizada que tien la teunoloxía de {mastodon}", "about.rules": "Normes del sirvidor", + "account.account_note_header": "Nota personal", "account.add_or_remove_from_list": "Amestar o quitar de les llistes", "account.badges.group": "Grupu", "account.block": "Bloquiar a @{name}", "account.block_domain": "Bloquiar el dominiu {domain}", - "account.block_short": "Bloquiar", "account.blocked": "Perfil bloquiáu", - "account.browse_more_on_origin_server": "Restolar más nel perfil orixinal", - "account.copy": "Copiar I'enllaz al perfil", "account.direct": "Mentar a @{name} per privao", "account.disable_notifications": "Dexar d'avisame cuando @{name} espublice artículos", "account.domain_blocked": "Dominiu bloquiáu", @@ -30,9 +28,7 @@ "account.follow": "Siguir", "account.followers": "Siguidores", "account.followers.empty": "Naide sigue a esti perfil.", - "account.following": "Siguiendo", "account.follows.empty": "Esti perfil nun sigue a naide.", - "account.go_to_profile": "Dir al perfil", "account.hide_reblogs": "Anubrir los artículos compartíos de @{name}", "account.in_memoriam": "N'alcordanza.", "account.joined_short": "Data de xunión", @@ -41,15 +37,16 @@ "account.mention": "Mentar a @{name}", "account.moved_to": "{name} indicó qu'agora la so cuenta nueva ye:", "account.mute": "Desactivar los avisos de @{name}", + "account.no_bio": "Nun se fornió nenguna descripción.", "account.open_original_page": "Abrir la páxina orixinal", "account.posts": "Artículos", "account.posts_with_replies": "Artículos y rempuestes", "account.report": "Informar de @{name}", "account.requested_follow": "{name} solicitó siguite", + "account.share": "Compartir el perfil de @{name}", "account.show_reblogs": "Amosar los artículos compartíos de @{name}", "account.unblock": "Desbloquiar a @{name}", "account.unblock_domain": "Desbloquiar el dominiu «{domain}»", - "account.unblock_short": "Desbloquiar", "account.unendorse": "Dexar de destacar nel perfil", "account.unfollow": "Dexar de siguir", "account.unmute": "Activar los avisos de @{name}", @@ -150,7 +147,6 @@ "empty_column.account_timeline": "¡Equí nun hai nengún artículu!", "empty_column.blocks": "Nun bloquiesti a nengún perfil.", "empty_column.bookmarked_statuses": "Nun tienes nengún artículu en Marcadores. Cuando amiestes dalgún, apaez equí.", - "empty_column.community": "La llinia de tiempu llocal ta balera. ¡Espubliza daqué públicamente pa comenzar l'alderique!", "empty_column.direct": "Nun tienes nenguna mención privada. Cuando unvies o recibas dalguna, apaez equí.", "empty_column.domain_blocks": "Nun hai nengún dominiu bloquiáu.", "empty_column.explore_statuses": "Agora nun hai nada en tendencia. ¡Volvi equí dempués!", @@ -186,6 +182,7 @@ "filter_modal.select_filter.subtitle": "Usa una categoría esistente o créala", "filter_modal.select_filter.title": "Peñerar esti artículu", "filter_modal.title.status": "Peñera d'un artículu", + "firehose.all": "Tolos sirvidores", "firehose.local": "Esti sirvidor", "firehose.remote": "Otros sirvidores", "follow_request.authorize": "Autorizar", @@ -195,6 +192,7 @@ "follow_suggestions.friends_of_friends_longer": "Ye popular ente los perfiles que sigues", "follow_suggestions.personalized_suggestion": "Suxerencia personalizada", "follow_suggestions.popular_suggestion": "Suxerencia popular", + "follow_suggestions.popular_suggestion_longer": "Ye popular na instancia {domain}", "follow_suggestions.similar_to_recently_followed_longer": "Aseméyase a los perfiles que siguiesti apocayá", "follow_suggestions.view_all": "Ver too", "follow_suggestions.who_to_follow": "A quién siguir", @@ -271,8 +269,6 @@ "lists.subheading": "Les tos llistes", "load_pending": "{count, plural, one {# elementu nuevu} other {# elementos nuevos}}", "media_gallery.toggle_visible": "{number, plural, one {Anubrir la imaxe} other {Anubrir les imáxenes}}", - "name_and_others": "{name} y {count, plural, one {# más} other {# más}}", - "name_and_others_with_link": "{name} y {count, plural, one {# más} other {# más}}", "navigation_bar.about": "Tocante a", "navigation_bar.blocks": "Perfiles bloquiaos", "navigation_bar.bookmarks": "Marcadores", @@ -296,7 +292,6 @@ "notification.admin.sign_up": "{name} rexistróse", "notification.follow": "{name} siguióte", "notification.follow_request": "{name} solicitó siguite", - "notification.mention": "{name} mentóte", "notification.reblog": "{name} compartió'l to artículu", "notification.status": "{name} ta acabante d'espublizar", "notification.update": "{name} editó un artículu", @@ -354,7 +349,6 @@ "relative_time.seconds": "{number} s", "relative_time.today": "güei", "reply_indicator.cancel": "Encaboxar", - "reply_indicator.poll": "Encuesta", "report.block": "Bloquiar", "report.categories.spam": "Spam", "report.categories.violation": "El conteníu incumple una o más normes del sirvidor", @@ -428,8 +422,6 @@ "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.filtered": "Peñeróse", - "status.hide": "Anubrir l'artículu", "status.history.created": "{name} creó {date}", "status.history.edited": "{name} editó {date}", "status.load_more": "Cargar más", @@ -452,9 +444,6 @@ "status.report": "Informar de @{name}", "status.sensitive_warning": "Conteníu sensible", "status.share": "Compartir", - "status.show_filter_reason": "Amosar de toes toes", - "status.show_less": "Amosar menos", - "status.show_more": "Amosar más", "status.show_original": "Amosar l'orixinal", "status.translate": "Traducir", "status.translated_from_with": "Tradúxose del {lang} con {provider}", @@ -467,9 +456,6 @@ "time_remaining.hours": "{number, plural, one {Queda # hora} other {Queden # hores}}", "time_remaining.minutes": "{number, plural, one {Queda # minutu} other {Queden # minutos}}", "time_remaining.seconds": "{number, plural, one {Queda # segundu} other {Queden # segundos}}", - "timeline_hint.remote_resource_not_displayed": "Nun s'amuesa'l recursu «{resource}» d'otros sirvidores.", - "timeline_hint.resources.followers": "Siguidores", - "timeline_hint.resources.statuses": "Artículos antiguos", "trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} persones}} {days, plural, one {nel últimu día} other {nos últimos {days} díes}}", "trends.trending_now": "En tendencia", "ui.beforeunload": "El borrador piérdese si coles de Mastodon.", diff --git a/app/javascript/mastodon/locales/be.json b/app/javascript/mastodon/locales/be.json index 4a567582fce..57431b0a573 100644 --- a/app/javascript/mastodon/locales/be.json +++ b/app/javascript/mastodon/locales/be.json @@ -11,6 +11,7 @@ "about.not_available": "Дадзеная інфармацыя не дасяжная на гэтым серверы.", "about.powered_by": "Дэцэнтралізаваная сацыяльная сетка, створаная {mastodon}", "about.rules": "Правілы сервера", + "account.account_note_header": "Асабістая нататка", "account.add_or_remove_from_list": "Дадаць або выдаліць са спісаў", "account.badges.bot": "Бот", "account.badges.group": "Група", @@ -18,7 +19,6 @@ "account.block_domain": "Заблакіраваць дамен {domain}", "account.block_short": "Заблакіраваць", "account.blocked": "Заблакіраваны", - "account.browse_more_on_origin_server": "Глядзіце больш у арыгінальным профілі", "account.cancel_follow_request": "Скасаваць запыт на падпіску", "account.copy": "Скапіраваць спасылку на профіль", "account.direct": "Згадаць асабіста @{name}", @@ -192,6 +192,8 @@ "confirmations.unfollow.confirm": "Адпісацца", "confirmations.unfollow.message": "Вы ўпэўненыя, што хочаце адпісацца ад {name}?", "confirmations.unfollow.title": "Адпісацца ад карыстальніка?", + "content_warning.hide": "Схаваць допіс", + "content_warning.show": "Усё адно паказаць", "conversation.delete": "Выдаліць размову", "conversation.mark_as_read": "Адзначыць прачытаным", "conversation.open": "Прагледзець размову", @@ -299,6 +301,7 @@ "filter_modal.select_filter.subtitle": "Скарыстайцеся існуючай катэгорыяй або стварыце новую", "filter_modal.select_filter.title": "Фільтраваць гэты допіс", "filter_modal.title.status": "Фільтраваць допіс", + "filter_warning.matches_filter": "Адпавядае фільтру \"{title}\"", "filtered_notifications_banner.pending_requests": "Ад {count, plural, =0 {# людзей якіх} one {# чалавека якіх} few {# чалавек якіх} many {# людзей якіх} other {# чалавека якіх}} вы магчыма ведаеце", "filtered_notifications_banner.title": "Адфільтраваныя апавяшчэнні", "firehose.all": "Усе", @@ -355,6 +358,7 @@ "home.pending_critical_update.link": "Прагледзець абнаўленні", "home.pending_critical_update.title": "Даступна крытычнае абнаўленне бяспекі!", "home.show_announcements": "Паказаць аб'явы", + "ignore_notifications_modal.not_following_title": "Ігнараваць апавяшчэнні ад людзей на якіх вы не падпісаны?", "interaction_modal.description.favourite": "Маючы ўліковы запіс Mastodon, вы можаце ўпадабаць гэты допіс, каб паведаміць аўтару, што ён вам падабаецца, і захаваць яго на будучыню.", "interaction_modal.description.follow": "Маючы акаўнт у Mastodon, вы можаце падпісацца на {name}, каб бачыць яго/яе допісы ў сваёй хатняй стужцы.", "interaction_modal.description.reblog": "З уліковым запісам Mastodon, вы можаце пашырыць гэты пост, каб падзяліцца ім са сваімі падпісчыкамі.", @@ -444,8 +448,6 @@ "mute_modal.title": "Ігнараваць карыстальніка?", "mute_modal.you_wont_see_mentions": "Вы не ўбачыце паведамленняў са згадваннем карыстальніка.", "mute_modal.you_wont_see_posts": "Карыстальнік па-ранейшаму будзе бачыць вашыя паведамленні, але вы не будзеце паведамленні карыстальніка.", - "name_and_others": "{name} і {count, plural, one {# іншы} many {# іншых} other {# іншых}}", - "name_and_others_with_link": "{name} і {count, plural, one {# іншы} many {# іншых} other {# іншых}}", "navigation_bar.about": "Пра нас", "navigation_bar.advanced_interface": "Адкрыць у пашыраным вэб-інтэрфейсе", "navigation_bar.blocks": "Заблакіраваныя карыстальнікі", @@ -481,7 +483,11 @@ "notification.favourite": "Ваш допіс упадабаны {name}", "notification.follow": "{name} падпісаўся на вас", "notification.follow_request": "{name} адправіў запыт на падпіску", - "notification.mention": "{name} згадаў вас", + "notification.label.mention": "Згадванне", + "notification.label.private_mention": "Асабістае згадванне", + "notification.label.private_reply": "Асабісты адказ", + "notification.label.reply": "Адказ", + "notification.mention": "Згадванне", "notification.moderation-warning.learn_more": "Даведацца больш", "notification.moderation_warning": "Вы атрымалі папярэджанне аб мадэрацыі", "notification.moderation_warning.action_delete_statuses": "Некаторыя вашыя допісы былі выдаленыя.", @@ -493,7 +499,6 @@ "notification.moderation_warning.action_suspend": "Ваш уліковы запіс быў прыпынены.", "notification.own_poll": "Ваша апытанне скончылася", "notification.poll": "Апытанне, дзе вы прынялі ўдзел, скончылася", - "notification.private_mention": "{name} згадаў вас асабіста", "notification.reblog": "{name} пашырыў ваш допіс", "notification.relationships_severance_event": "Страціў сувязь з {name}", "notification.relationships_severance_event.account_suspension": "Адміністратар з {from} прыпыніў працу {target}, што азначае, што вы больш не можаце атрымліваць ад іх абнаўлення ці ўзаемадзейнічаць з імі.", @@ -503,11 +508,16 @@ "notification.status": "Новы допіс ад {name}", "notification.update": "Допіс {name} адрэдагаваны", "notification_requests.accept": "Прыняць", + "notification_requests.confirm_accept_multiple.title": "Прыняць запыты на апавяшчэнні?", + "notification_requests.confirm_dismiss_multiple.title": "Адхіліць запыты на апавяшчэнні?", "notification_requests.dismiss": "Адхіліць", + "notification_requests.edit_selection": "Рэдагаваць", + "notification_requests.exit_selection": "Гатова", "notification_requests.maximize": "Разгарнуць", "notification_requests.minimize_banner": "Згарнуць банер адфільтраваных апавяшчэнняў", "notification_requests.notifications_from": "Апавяшчэнні ад {name}", "notification_requests.title": "Адфільтраваныя апавяшчэнні", + "notification_requests.view": "Прагляд апавяшчэнняў", "notifications.clear": "Ачысціць апавяшчэнні", "notifications.clear_confirmation": "Вы ўпэўнены, што жадаеце назаўсёды сцерці ўсё паведамленні?", "notifications.clear_title": "Ачысціць апавяшчэнні?", @@ -544,6 +554,10 @@ "notifications.permission_denied": "Апавяшчэнні на працоўным стале недаступныя з-за папярэдне адхіленага запыта праў браўзера", "notifications.permission_denied_alert": "Апавяшчэнні на працоўным стале не могуць быць уключаныя, з-за таго што запыт браўзера быў адхілены", "notifications.permission_required": "Апавяшчэнні на працоўным стале недаступныя, з-за таго што неабходны дазвол не быў дадзены.", + "notifications.policy.accept": "Прыняць", + "notifications.policy.accept_hint": "Паказваць у апавяшчэннях", + "notifications.policy.drop": "Iгнараваць", + "notifications.policy.filter": "Фільтраваць", "notifications.policy.filter_new_accounts.hint": "Створаныя на працягу {days, plural, one {апошняга # дня} few {апошніх # дзён} many {апошніх # дзён} other {апошняй # дня}}", "notifications.policy.filter_new_accounts_title": "Новыя ўліковыя запісы", "notifications.policy.filter_not_followers_hint": "Уключаючы людзей, якія падпісаны на вас менш, чым {days, plural, one {# дзень} few {# дні} many {# дзён} other {# дня}}", @@ -552,7 +566,7 @@ "notifications.policy.filter_not_following_title": "Людзі, на якіх вы не падпісаны", "notifications.policy.filter_private_mentions_hint": "Фільтруецца за выключэннем адказу на вашае згадванне ці калі вы падпісаны на адпраўніка", "notifications.policy.filter_private_mentions_title": "Непажаданыя асаблівыя згадванні", - "notifications.policy.title": "Адфільтроўваць апавяшчэнні ад…", + "notifications.policy.title": "Наладзіць апавяшчэнні ад…", "notifications_permission_banner.enable": "Уключыць апавяшчэнні на працоўным стале", "notifications_permission_banner.how_to_control": "Каб атрымліваць апавяшчэнні, калі Mastodon не адкрыты, уключыце апавяшчэнні працоўнага стала. Вы зможаце дакладна кантраляваць, якія падзеі будуць ствараць апавяшчэнні з дапамогай {icon} кнопкі, як толькі яны будуць уключаны.", "notifications_permission_banner.title": "Не прапусціце нічога", @@ -739,8 +753,6 @@ "status.favourite": "Упадабанае", "status.favourites": "{count, plural, one {# упадабанае} few {# упадабаныя} many {# упадабаных} other {# упадабанага}}", "status.filter": "Фільтраваць гэты допіс", - "status.filtered": "Адфільтравана", - "status.hide": "Схаваць допіс", "status.history.created": "Створана {name} {date}", "status.history.edited": "Адрэдагавана {name} {date}", "status.load_more": "Загрузіць яшчэ", @@ -768,10 +780,7 @@ "status.report": "Паскардзіцца на @{name}", "status.sensitive_warning": "Уражвальны змест", "status.share": "Абагуліць", - "status.show_filter_reason": "Усё адно паказаць", - "status.show_less": "Паказаць меньш", "status.show_less_all": "Згарнуць усё", - "status.show_more": "Паказаць болей", "status.show_more_all": "Разгарнуць усё", "status.show_original": "Паказаць арыгінал", "status.title.with_attachments": "{user} апублікаваў {attachmentCount, plural, one {далучэнне} few {{attachmentCount} далучэнні} many {{attachmentCount} далучэнняў} other {{attachmentCount} далучэння}}", @@ -790,10 +799,6 @@ "time_remaining.minutes": "{number, plural, one {засталася # хвіліна} few {засталося # хвіліны} many {засталося # хвілін} other {засталося # хвіліны}}", "time_remaining.moments": "Засталося некалькі секунд", "time_remaining.seconds": "{number, plural, one {засталася # секунда} few {засталося # секунды} many {засталося # секунд} other {засталося # секунды}}", - "timeline_hint.remote_resource_not_displayed": "{resource} з іншых сервераў не адлюстроўваецца.", - "timeline_hint.resources.followers": "Падпісчыкі", - "timeline_hint.resources.follows": "Падпіскі", - "timeline_hint.resources.statuses": "Старыя допісы", "trends.counter_by_accounts": "{count, plural, one {{counter} чалавек} few {{counter} чалавекі} many {{counter} людзей} other {{counter} чалавек}} за {days, plural, one {{days} апошні дзень} few {{days} апошнія дні} many {{days} апошніх дзён} other {{days} апошніх дзён}}", "trends.trending_now": "Актуальнае", "ui.beforeunload": "Ваш чарнавік знішчыцца калі вы пакінеце Mastodon.", diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index dca64711fa1..5fb254e3901 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -19,7 +19,6 @@ "account.block_domain": "Блокиране на домейн {domain}", "account.block_short": "Блокиране", "account.blocked": "Блокирани", - "account.browse_more_on_origin_server": "Разглеждане на още в оригиналния профил", "account.cancel_follow_request": "Оттегляне на заявката за последване", "account.copy": "Копиране на връзка към профила", "account.direct": "Частно споменаване на @{name}", @@ -193,6 +192,7 @@ "confirmations.unfollow.confirm": "Без следване", "confirmations.unfollow.message": "Наистина ли искате да не следвате {name}?", "confirmations.unfollow.title": "Спирате ли да следвате потребителя?", + "content_warning.hide": "Скриване на публ.", "conversation.delete": "Изтриване на разговора", "conversation.mark_as_read": "Маркиране като прочетено", "conversation.open": "Преглед на разговора", @@ -445,8 +445,6 @@ "mute_modal.title": "Заглушавате ли потребител?", "mute_modal.you_wont_see_mentions": "Няма да виждате споменаващите ги публикации.", "mute_modal.you_wont_see_posts": "Още могат да виждат публикациите ви, но вие техните не.", - "name_and_others": "{name} и {count, plural, one {# друг} other {# други}}", - "name_and_others_with_link": "{name} и {count, plural, one {# друг} other {# други}}", "navigation_bar.about": "Относно", "navigation_bar.advanced_interface": "Отваряне в разширен уебинтерфейс", "navigation_bar.blocks": "Блокирани потребители", @@ -482,7 +480,8 @@ "notification.favourite": "{name} направи любима публикацията ви", "notification.follow": "{name} ви последва", "notification.follow_request": "{name} поиска да ви последва", - "notification.mention": "{name} ви спомена", + "notification.label.mention": "Споменаване", + "notification.mention": "Споменаване", "notification.moderation-warning.learn_more": "Научете повече", "notification.moderation_warning": "Получихте предупреждение за модериране", "notification.moderation_warning.action_delete_statuses": "Някои от публикациите ви са премахнати.", @@ -494,7 +493,6 @@ "notification.moderation_warning.action_suspend": "Вашият акаунт е спрян.", "notification.own_poll": "Анкетата ви приключи", "notification.poll": "Анкета, в която гласувахте, приключи", - "notification.private_mention": "{name} лично ви спомена", "notification.reblog": "{name} подсили ваша публикация", "notification.relationships_severance_event": "Изгуби се връзката с {name}", "notification.relationships_severance_event.account_suspension": "Администратор от {from} спря {target}, което значи че повече не може да получавате новости от тях или да взаимодействате с тях.", @@ -505,10 +503,15 @@ "notification.update": "{name} промени публикация", "notification_requests.accept": "Приемам", "notification_requests.dismiss": "Отхвърлям", + "notification_requests.edit_selection": "Редактиране", + "notification_requests.exit_selection": "Готово", + "notification_requests.explainer_for_limited_account": "Известията от този акаунт са прецедени, защото акаунтът е ограничен от модератор.", + "notification_requests.explainer_for_limited_remote_account": "Известията от този акаунт са прецедени, защото акаунтът или сървърът му е ограничен от модератор.", "notification_requests.maximize": "Максимизиране", "notification_requests.minimize_banner": "Минимизиране на банера за филтрирани известия", "notification_requests.notifications_from": "Известия от {name}", "notification_requests.title": "Филтрирани известия", + "notification_requests.view": "Преглед на известията", "notifications.clear": "Изчистване на известията", "notifications.clear_confirmation": "Наистина ли искате да изчистите завинаги всичките си известия?", "notifications.clear_title": "Изчиствате ли известията?", @@ -545,6 +548,11 @@ "notifications.permission_denied": "Известията на работния плот не са налични поради предварително отказана заявка за разрешение в браузъра", "notifications.permission_denied_alert": "Известията на работния плот не могат да се включат, тъй като разрешението на браузъра е отказвано преди", "notifications.permission_required": "Известията на работния плот ги няма, щото няма дадено нужното позволение.", + "notifications.policy.accept": "Приемам", + "notifications.policy.accept_hint": "Показване в известия", + "notifications.policy.filter": "Филтър", + "notifications.policy.filter_limited_accounts_hint": "Ограничено от модераторите на сървъра", + "notifications.policy.filter_limited_accounts_title": "Модерирани акаунти", "notifications.policy.filter_new_accounts.hint": "Сътворено през {days, plural, one {последния ден} other {последните # дена}}", "notifications.policy.filter_new_accounts_title": "Нови акаунти", "notifications.policy.filter_not_followers_hint": "Включително хора, които са ви последвали по-малко от {days, plural, one {ден} other {# дни}}", @@ -553,7 +561,6 @@ "notifications.policy.filter_not_following_title": "Хора, които не следвате", "notifications.policy.filter_private_mentions_hint": "Филтрирано, освен ако е отговор към ваше собствено споменаване или ако следвате подателя", "notifications.policy.filter_private_mentions_title": "Непоискани частни споменавания", - "notifications.policy.title": "Да се филтрират известия от…", "notifications_permission_banner.enable": "Включване на известията на работния плот", "notifications_permission_banner.how_to_control": "За да получавате известия, когато Mastodon не е отворен, включете известията на работния плот. Може да управлявате точно кои видове взаимодействия пораждат известия на работния плот чрез бутона {icon} по-горе, след като бъдат включени.", "notifications_permission_banner.title": "Никога не пропускайте нищо", @@ -740,8 +747,6 @@ "status.favourite": "Любимо", "status.favourites": "{count, plural, one {любимо} other {любими}}", "status.filter": "Филтриране на публ.", - "status.filtered": "Филтрирано", - "status.hide": "Скриване на публ.", "status.history.created": "{name} създаде {date}", "status.history.edited": "{name} редактира {date}", "status.load_more": "Зареждане на още", @@ -769,10 +774,7 @@ "status.report": "Докладване на @{name}", "status.sensitive_warning": "Деликатно съдържание", "status.share": "Споделяне", - "status.show_filter_reason": "Покажи въпреки това", - "status.show_less": "Показване на по-малко", "status.show_less_all": "Показване на по-малко за всички", - "status.show_more": "Показване на повече", "status.show_more_all": "Показване на повече за всички", "status.show_original": "Показване на първообраза", "status.title.with_attachments": "{user} публикува {attachmentCount, plural, one {прикачване} other {{attachmentCount} прикачвания}}", @@ -791,10 +793,6 @@ "time_remaining.minutes": "{number, plural, one {остава # минута} other {остават # минути}}", "time_remaining.moments": "Оставащи моменти", "time_remaining.seconds": "{number, plural, one {# секунда} other {# секунди}} остава", - "timeline_hint.remote_resource_not_displayed": "{resource} от други сървъри не се показват.", - "timeline_hint.resources.followers": "Последователи", - "timeline_hint.resources.follows": "Последвани", - "timeline_hint.resources.statuses": "По-стари публикации", "trends.counter_by_accounts": "{count, plural, one {{counter} човек} other {{counter} души}} {days, plural, one {за последния {days} ден} other {за последните {days} дни}}", "trends.trending_now": "Налагащи се сега", "ui.beforeunload": "Черновата ви ще се загуби, излизайки от Mastodon.", diff --git a/app/javascript/mastodon/locales/bn.json b/app/javascript/mastodon/locales/bn.json index bc5b5ae97d7..584bf303b12 100644 --- a/app/javascript/mastodon/locales/bn.json +++ b/app/javascript/mastodon/locales/bn.json @@ -18,7 +18,6 @@ "account.block_domain": "{domain} কে ব্লক করুন", "account.block_short": "ব্লক", "account.blocked": "অবরুদ্ধ", - "account.browse_more_on_origin_server": "মূল প্রোফাইলটিতে আরও ব্রাউজ করুন", "account.cancel_follow_request": "অনুসরণ অনুরোধ প্রত্যাহার করুন", "account.direct": "গোপনে মেনশন করুন @{name}", "account.disable_notifications": "আমাকে জানানো বন্ধ করো যখন @{name} পোস্ট করবে", @@ -314,7 +313,6 @@ "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "notification.follow": "{name} আপনাকে অনুসরণ করেছেন", "notification.follow_request": "{name} আপনাকে অনুসরণ করার জন্য অনুরধ করেছে", - "notification.mention": "{name} আপনাকে উল্লেখ করেছেন", "notification.own_poll": "আপনার পোল শেষ হয়েছে", "notification.reblog": "{name} আপনার কার্যক্রমে সমর্থন দেখিয়েছেন", "notifications.clear": "প্রজ্ঞাপনগুলো মুছে ফেলতে", @@ -413,8 +411,6 @@ "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.embed": "এমবেড করতে", "status.favourite": "পছন্দ", - "status.filtered": "ছাঁকনিদিত", - "status.hide": "পোস্ট লুকাও", "status.load_more": "আরো দেখুন", "status.media_hidden": "মিডিয়া লুকানো আছে", "status.mention": "@{name}কে উল্লেখ করতে", @@ -436,9 +432,7 @@ "status.report": "@{name} কে রিপোর্ট করতে", "status.sensitive_warning": "সংবেদনশীল কিছু", "status.share": "অন্যদের জানান", - "status.show_less": "কম দেখতে", "status.show_less_all": "সবগুলোতে কম দেখতে", - "status.show_more": "আরো দেখাতে", "status.show_more_all": "সবগুলোতে আরো দেখতে", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", "status.translate": "অনুবাদ", @@ -451,10 +445,6 @@ "time_remaining.minutes": "{number, plural, one {# মিনিট} other {# মিনিট}} বাকি আছে", "time_remaining.moments": "সময় বাকি আছে", "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} বাকি আছে", - "timeline_hint.remote_resource_not_displayed": "অন্য সার্ভারগুলি থেকে {resource} দেখাচ্ছে না। ", - "timeline_hint.resources.followers": "অনুসরকারীরা", - "timeline_hint.resources.follows": "অনুসরণ করে", - "timeline_hint.resources.statuses": "পুরনো টুটগুলি", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "trends.trending_now": "বর্তমানে জনপ্রিয়", "ui.beforeunload": "যে পর্যন্ত এটা লেখা হয়েছে, মাস্টাডন থেকে চলে গেলে এটা মুছে যাবে।", diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json index bf801d75339..c8bb4975ded 100644 --- a/app/javascript/mastodon/locales/br.json +++ b/app/javascript/mastodon/locales/br.json @@ -18,7 +18,6 @@ "account.block_domain": "Stankañ an domani {domain}", "account.block_short": "Stankañ", "account.blocked": "Stanket", - "account.browse_more_on_origin_server": "Furchal pelloc'h war ar profil orin", "account.cancel_follow_request": "Nullañ ar reked heuliañ", "account.copy": "Eilañ al liamm war-zu ho profil", "account.direct": "Menegiñ @{name} ent-prevez", @@ -390,7 +389,6 @@ "notification.admin.sign_up": "{name} en·he deus lakaet e·hec'h anv", "notification.follow": "heuliañ a ra {name} ac'hanoc'h", "notification.follow_request": "Gant {name} eo bet goulennet ho heuliañ", - "notification.mention": "Gant {name} oc'h bet meneget", "notification.moderation-warning.learn_more": "Gouzout hiroc'h", "notification.own_poll": "Echu eo ho sontadeg", "notification.reblog": "Gant {name} eo bet skignet ho toud", @@ -581,8 +579,6 @@ "status.embed": "Enframmañ", "status.favourite": "Muiañ-karet", "status.filter": "Silañ ar c'hannad-mañ", - "status.filtered": "Silet", - "status.hide": "Kuzhat an embannadur", "status.history.created": "Krouet gant {name} {date}", "status.history.edited": "Kemmet gant {name} {date}", "status.load_more": "Kargañ muioc'h", @@ -609,10 +605,7 @@ "status.report": "Disklêriañ @{name}", "status.sensitive_warning": "Dalc'had kizidik", "status.share": "Rannañ", - "status.show_filter_reason": "Diskwel memes tra", - "status.show_less": "Diskouez nebeutoc'h", "status.show_less_all": "Diskouez nebeutoc'h evit an holl", - "status.show_more": "Diskouez muioc'h", "status.show_more_all": "Diskouez miuoc'h evit an holl", "status.show_original": "Diskouez hini orin", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", @@ -630,10 +623,6 @@ "time_remaining.minutes": "{number, plural, one {# munut} other{# a vunut}} a chom", "time_remaining.moments": "Pennadoù a-zilerc'h", "time_remaining.seconds": "{number, plural, one {# eilenn} other{# eilenn}} a chom", - "timeline_hint.remote_resource_not_displayed": "{resource} eus servijerien all n'int ket skrammet.", - "timeline_hint.resources.followers": "Heulier·ezed·ien", - "timeline_hint.resources.follows": "Heuliañ", - "timeline_hint.resources.statuses": "Toudoù koshoc'h", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "trends.trending_now": "Luskad ar mare", "ui.beforeunload": "Kollet e vo ho prell ma kuitit Mastodon.", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index c06fb1e3340..d99b5c7375d 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -19,7 +19,6 @@ "account.block_domain": "Bloca el domini {domain}", "account.block_short": "Bloca", "account.blocked": "Blocat", - "account.browse_more_on_origin_server": "Explora'n més al perfil original", "account.cancel_follow_request": "Cancel·la el seguiment", "account.copy": "Copia l'enllaç al perfil", "account.direct": "Menciona privadament @{name}", @@ -98,6 +97,8 @@ "block_modal.title": "Bloquem l'usuari?", "block_modal.you_wont_see_mentions": "No veureu publicacions que l'esmentin.", "boost_modal.combo": "Pots prémer {combo} per a evitar-ho el pròxim cop", + "boost_modal.reblog": "Voleu impulsar la publicació?", + "boost_modal.undo_reblog": "Voleu retirar l'impuls a la publicació?", "bundle_column_error.copy_stacktrace": "Copia l'informe d'error", "bundle_column_error.error.body": "No s'ha pogut renderitzar la pàgina sol·licitada. Podria ser per un error en el nostre codi o per un problema de compatibilitat del navegador.", "bundle_column_error.error.title": "Oh, no!", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "Deixa de seguir", "confirmations.unfollow.message": "Segur que vols deixar de seguir {name}?", "confirmations.unfollow.title": "Deixar de seguir l'usuari?", + "content_warning.hide": "Amaga la publicació", + "content_warning.show": "Mostra-la igualment", "conversation.delete": "Elimina la conversa", "conversation.mark_as_read": "Marca com a llegida", "conversation.open": "Mostra la conversa", @@ -300,6 +303,7 @@ "filter_modal.select_filter.subtitle": "Usa una categoria existent o crea'n una de nova", "filter_modal.select_filter.title": "Filtra aquest tut", "filter_modal.title.status": "Filtra un tut", + "filter_warning.matches_filter": "Coincideix amb el filtre “{title}”", "filtered_notifications_banner.pending_requests": "{count, plural, =0 {De ningú} one {D'una persona} other {De # persones}} que potser coneixes", "filtered_notifications_banner.title": "Notificacions filtrades", "firehose.all": "Tots", @@ -349,6 +353,14 @@ "hashtag.follow": "Segueix l'etiqueta", "hashtag.unfollow": "Deixa de seguir l'etiqueta", "hashtags.and_other": "…i {count, plural, other {# més}}", + "hints.profiles.followers_may_be_missing": "Es poden haver perdut seguidors d'aquest perfil.", + "hints.profiles.follows_may_be_missing": "Es poden haver perdut seguiments d'aquest perfil.", + "hints.profiles.posts_may_be_missing": "Es poden haver perdut algunes publicacions d'aquest perfil.", + "hints.profiles.see_more_followers": "Vegeu més seguidors a {domain}", + "hints.profiles.see_more_follows": "Vegeu més seguiments a {domain}", + "hints.profiles.see_more_posts": "Vegeu més publicacions a {domain}", + "hints.threads.replies_may_be_missing": "Es poden haver perdut respostes d'altres servidors.", + "hints.threads.see_more": "Vegeu més respostes a {domain}", "home.column_settings.show_reblogs": "Mostra els impulsos", "home.column_settings.show_replies": "Mostra les respostes", "home.hide_announcements": "Amaga els anuncis", @@ -356,6 +368,17 @@ "home.pending_critical_update.link": "Veure actualitzacions", "home.pending_critical_update.title": "Actualització de seguretat crítica disponible!", "home.show_announcements": "Mostra els anuncis", + "ignore_notifications_modal.disclaimer": "Mastodon no pot informar els usuaris que heu ignorat notificacions seves.\nIgnorar notificacions no evitarà que se segueixin enviant els missatges.", + "ignore_notifications_modal.filter_instead": "Altrament filtra", + "ignore_notifications_modal.filter_to_act_users": "Encara podreu acceptar, rebutjar o reportar usuaris", + "ignore_notifications_modal.filter_to_avoid_confusion": "Filtrar ajuda a evitar potencials confusions", + "ignore_notifications_modal.filter_to_review_separately": "Podeu revisar separadament notificacions filtrades", + "ignore_notifications_modal.ignore": "Ignora les notificacions", + "ignore_notifications_modal.limited_accounts_title": "Voleu ignorar les notificacions dels comptes moderats?", + "ignore_notifications_modal.new_accounts_title": "Voleu ignorar les notificacions dels comptes nous?", + "ignore_notifications_modal.not_followers_title": "Voleu ignorar les notificacions de qui no us segueix?", + "ignore_notifications_modal.not_following_title": "Voleu ignorar les notificacions de qui no seguiu?", + "ignore_notifications_modal.private_mentions_title": "Voleu ignorar les notificacions de mencions privades no sol·licitades?", "interaction_modal.description.favourite": "Amb un compte a Mastodon pots afavorir aquest tut perquè l'autor sàpiga que t'ha agradat i desar-lo per a més endavant.", "interaction_modal.description.follow": "Amb un compte a Mastodon, pots seguir a {name} per a rebre els seus tuts en la teva línia de temps d'Inici.", "interaction_modal.description.reblog": "Amb un compte a Mastodon, pots impulsar aquest tut per a compartir-lo amb els teus seguidors.", @@ -445,9 +468,8 @@ "mute_modal.title": "Silenciem l'usuari?", "mute_modal.you_wont_see_mentions": "No veureu publicacions que els esmentin.", "mute_modal.you_wont_see_posts": "Encara poden veure les vostres publicacions, però no veureu les seves.", - "name_and_others": "{name} i {count, plural, one {# altre} other {# altres}}", - "name_and_others_with_link": "{name} i {count, plural, one {# altre} other {# altres}}", "navigation_bar.about": "Quant a", + "navigation_bar.administration": "Administració", "navigation_bar.advanced_interface": "Obre en la interfície web avançada", "navigation_bar.blocks": "Usuaris blocats", "navigation_bar.bookmarks": "Marcadors", @@ -464,6 +486,7 @@ "navigation_bar.follows_and_followers": "Seguint i seguidors", "navigation_bar.lists": "Llistes", "navigation_bar.logout": "Tanca la sessió", + "navigation_bar.moderation": "Moderació", "navigation_bar.mutes": "Usuaris silenciats", "navigation_bar.opened_in_classic_interface": "Els tuts, comptes i altres pàgines especifiques s'obren per defecte en la interfície web clàssica.", "navigation_bar.personal": "Personal", @@ -479,10 +502,18 @@ "notification.admin.report_statuses": "{name} ha reportat {target} per {category}", "notification.admin.report_statuses_other": "{name} ha reportat {target}", "notification.admin.sign_up": "{name} s'ha registrat", + "notification.admin.sign_up.name_and_others": "{name} i {count, plural, one {# altre} other {# altres}} s'han registrat", "notification.favourite": "{name} ha afavorit el teu tut", + "notification.favourite.name_and_others_with_link": "{name} i {count, plural, one {# altre} other {# altres}} han afavorit la vostra publicació", "notification.follow": "{name} et segueix", + "notification.follow.name_and_others": "{name} i {count, plural, one {# altre} other {# altres}} us han seguit", "notification.follow_request": "{name} ha sol·licitat de seguir-te", - "notification.mention": "{name} t'ha esmentat", + "notification.follow_request.name_and_others": "{name} i {count, plural, one {# altre} other {# altres}} han demanat de seguir-vos", + "notification.label.mention": "Menció", + "notification.label.private_mention": "Menció privada", + "notification.label.private_reply": "Resposta en privat", + "notification.label.reply": "Resposta", + "notification.mention": "Menció", "notification.moderation-warning.learn_more": "Per a saber-ne més", "notification.moderation_warning": "Heu rebut un avís de moderació", "notification.moderation_warning.action_delete_statuses": "S'han eliminat algunes de les vostres publicacions.", @@ -494,8 +525,8 @@ "notification.moderation_warning.action_suspend": "S'ha suspès el vostre compte.", "notification.own_poll": "La teva enquesta ha finalitzat", "notification.poll": "Ha finalitzat una enquesta que heu respost", - "notification.private_mention": "{name} us ha esmentat en privat", "notification.reblog": "{name} t'ha impulsat", + "notification.reblog.name_and_others_with_link": "{name} i {count, plural, one {# altre} other {# altres}} han impulsat la vostra publicació", "notification.relationships_severance_event": "S'han perdut les connexions amb {name}", "notification.relationships_severance_event.account_suspension": "Un administrador de {from} ha suspès {target}; això vol dir que ja no en podreu rebre actualitzacions o interactuar-hi.", "notification.relationships_severance_event.domain_block": "Un administrador de {from} ha blocat {target}, incloent-hi {followersCount} dels vostres seguidors i {followingCount, plural, one {# compte} other {# comptes}} que seguiu.", @@ -504,11 +535,24 @@ "notification.status": "{name} acaba de publicar", "notification.update": "{name} ha editat un tut", "notification_requests.accept": "Accepta", + "notification_requests.accept_multiple": "{count, plural, one {Accepta # petició…} other {Accepta # peticions…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Accepta petició} other {Accepta peticions}}", + "notification_requests.confirm_accept_multiple.message": "Esteu a punt d'acceptar {count, plural, one {una petició de notificació} other {# peticions de notificació}}. N'esteu segurs de continuar?", + "notification_requests.confirm_accept_multiple.title": "Acceptar peticions de notificació?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Descarta petició} other {Descarta peticions}}", + "notification_requests.confirm_dismiss_multiple.message": "Esteu a punt de descartar {count, plural, one {una petició de notificació} other {# peticions de notificació}}. No hi {count, plural, one {} other {}} podreu tornar a accedir fàcilment. N'esteu segurs de continuar?", + "notification_requests.confirm_dismiss_multiple.title": "Descartar les peticions de notificació?", "notification_requests.dismiss": "Ignora", + "notification_requests.dismiss_multiple": "{count, plural, one {Descarta # petició…} other {Descarta # peticions…}}", + "notification_requests.edit_selection": "Edita", + "notification_requests.exit_selection": "Fet", + "notification_requests.explainer_for_limited_account": "S'han filtrat les notificacions d'aquest compte perquè un moderador l'ha limitat.", + "notification_requests.explainer_for_limited_remote_account": "S'han filtrat les notificacions d'aquest compte perquè un moderador ha limitat el compte o el seu servidor.", "notification_requests.maximize": "Maximitza", "notification_requests.minimize_banner": "Minimitza el bàner de notificacions filtrades", "notification_requests.notifications_from": "Notificacions de {name}", "notification_requests.title": "Notificacions filtrades", + "notification_requests.view": "Mostra les notificacions", "notifications.clear": "Esborra les notificacions", "notifications.clear_confirmation": "Segur que vols esborrar permanentment totes les teves notificacions?", "notifications.clear_title": "Esborrar les notificacions?", @@ -545,6 +589,14 @@ "notifications.permission_denied": "Les notificacions d’escriptori no estan disponibles perquè prèviament s’ha denegat el permís al navegador", "notifications.permission_denied_alert": "No es poden activar les notificacions de l'escriptori perquè abans s'ha denegat el permís del navegador", "notifications.permission_required": "Les notificacions d'escriptori no estan disponibles perquè el permís requerit no ha estat concedit.", + "notifications.policy.accept": "Accepta", + "notifications.policy.accept_hint": "Mostra a notificacions", + "notifications.policy.drop": "Ignora", + "notifications.policy.drop_hint": "Envia al buit, no es tornarà a veure mai més", + "notifications.policy.filter": "Filtra", + "notifications.policy.filter_hint": "Envia a la bústia de notificacions filtrades", + "notifications.policy.filter_limited_accounts_hint": "Limitat pels moderadors del servidor", + "notifications.policy.filter_limited_accounts_title": "Comptes moderats", "notifications.policy.filter_new_accounts.hint": "Creat {days, plural, one {ahir} other {durant els # dies passats}}", "notifications.policy.filter_new_accounts_title": "Comptes nous", "notifications.policy.filter_not_followers_hint": "Incloent les persones que us segueixen fa menys {days, plural, one {d'un dia} other {de # dies}}", @@ -553,7 +605,7 @@ "notifications.policy.filter_not_following_title": "Persones que no seguiu", "notifications.policy.filter_private_mentions_hint": "Filtrat si no és que és en resposta a una menció vostra o si seguiu el remitent", "notifications.policy.filter_private_mentions_title": "Mencions privades no sol·licitades", - "notifications.policy.title": "Filtra les notificacions de…", + "notifications.policy.title": "Gestiona les notificacions des de…", "notifications_permission_banner.enable": "Activa les notificacions d’escriptori", "notifications_permission_banner.how_to_control": "Per a rebre notificacions quan Mastodon no és obert cal activar les notificacions d’escriptori. Pots controlar amb precisió quins tipus d’interaccions generen notificacions d’escriptori després d’activar el botó {icon} de dalt.", "notifications_permission_banner.title": "No et perdis mai res", @@ -740,8 +792,6 @@ "status.favourite": "Favorit", "status.favourites": "{count, plural, one {favorit} other {favorits}}", "status.filter": "Filtra aquest tut", - "status.filtered": "Filtrada", - "status.hide": "Amaga el tut", "status.history.created": "creat per {name} {date}", "status.history.edited": "editat per {name} {date}", "status.load_more": "Carrega'n més", @@ -769,10 +819,7 @@ "status.report": "Denuncia @{name}", "status.sensitive_warning": "Contingut sensible", "status.share": "Comparteix", - "status.show_filter_reason": "Mostra igualment", - "status.show_less": "Mostra'n menys", "status.show_less_all": "Mostra'n menys per a tot", - "status.show_more": "Mostra'n més", "status.show_more_all": "Mostra'n més per a tot", "status.show_original": "Mostra l'original", "status.title.with_attachments": "{user} ha publicat {attachmentCount, plural, one {un adjunt} other {{attachmentCount} adjunts}}", @@ -791,10 +838,6 @@ "time_remaining.minutes": "{number, plural, one {# minut restant} other {# minuts restants}}", "time_remaining.moments": "Moments restants", "time_remaining.seconds": "{number, plural, one {# segon restant} other {# segons restants}}", - "timeline_hint.remote_resource_not_displayed": "No es mostren {resource} d'altres servidors.", - "timeline_hint.resources.followers": "Seguidors", - "timeline_hint.resources.follows": "Seguiments", - "timeline_hint.resources.statuses": "Tuts més antics", "trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} persones}} en {days, plural, one {el passat dia} other {els passats {days} dies}}", "trends.trending_now": "És tendència", "ui.beforeunload": "El teu esborrany es perdrà si surts de Mastodon.", diff --git a/app/javascript/mastodon/locales/ckb.json b/app/javascript/mastodon/locales/ckb.json index 237a49d8e77..9def7533aea 100644 --- a/app/javascript/mastodon/locales/ckb.json +++ b/app/javascript/mastodon/locales/ckb.json @@ -18,7 +18,6 @@ "account.block_domain": "بلۆکی هەموو شتێک لە {domain}", "account.block_short": "بلۆک", "account.blocked": "بلۆککرا", - "account.browse_more_on_origin_server": "گەڕانی فرەتر لە سەر پرۆفایلی سەرەکی", "account.cancel_follow_request": "داواکاری فۆڵۆو بکشێنەوە", "account.copy": "ڕوونووسی بەستەر بۆ توت", "account.direct": "بە شێوەیەکی تایبەت باسی @{name} بکە", @@ -385,7 +384,6 @@ "notification.admin.sign_up": "{name} تۆمارکرا", "notification.follow": "{name} دوای تۆ کەوت", "notification.follow_request": "{name} داوای کردووە کە شوێنت بکەوێت", - "notification.mention": "{name} باسی ئێوەی کرد", "notification.own_poll": "ڕاپرسیەکەت کۆتایی هات", "notification.reblog": "{name} نووسراوەکەتی دووبارە توتاند", "notification.status": "{name} تازە بڵاوکرایەوە", @@ -544,8 +542,6 @@ "status.edited_x_times": "دەستکاریکراوە {count, plural, one {{count} کات} other {{count} کات}}", "status.embed": "نیشتەجێ بکە", "status.filter": "ئەم پۆستە فلتەر بکە", - "status.filtered": "پاڵاوتن", - "status.hide": "شاردنەوەی پۆست", "status.history.created": "{name} دروستکراوە لە{date}", "status.history.edited": "{name} دروستکاریکراوە لە{date}", "status.load_more": "زیاتر بار بکە", @@ -570,10 +566,7 @@ "status.report": "گوزارشت @{name}", "status.sensitive_warning": "ناوەڕۆکی هەستیار", "status.share": "هاوبەشی بکە", - "status.show_filter_reason": "بە هەر حاڵ نیشان بدە", - "status.show_less": "کەمتر نیشان بدە", "status.show_less_all": "هەمووی بچووک بکەوە", - "status.show_more": "زیاتر نیشان بدە", "status.show_more_all": "زیاتر نیشان بدە بۆ هەمووی", "status.show_original": "پیشاندانی شێوه‌ی ڕاسته‌قینه‌", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", @@ -591,10 +584,6 @@ "time_remaining.minutes": "{number, plural, one {# خولەک} other {# خولەک}} ماوە", "time_remaining.moments": "کاتی ماوە", "time_remaining.seconds": "{number, plural, one {# چرکە} other {# چرکە}} ماوە", - "timeline_hint.remote_resource_not_displayed": "{resource} لە ڕاژەکانی ترەوە پیشان نادرێت.", - "timeline_hint.resources.followers": "شوێنکەوتوو", - "timeline_hint.resources.follows": "شوێنکەوتن", - "timeline_hint.resources.statuses": "نێردراوی کۆن", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", "trends.trending_now": "ڕۆژەڤ", "ui.beforeunload": "ڕەشنووسەکەت لەدەست دەچێت ئەگەر ماستۆدۆن جێ بهێڵیت.", diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json index a479c2fedcd..3a72ecd3fb1 100644 --- a/app/javascript/mastodon/locales/co.json +++ b/app/javascript/mastodon/locales/co.json @@ -5,7 +5,6 @@ "account.block": "Bluccà @{name}", "account.block_domain": "Piattà u duminiu {domain}", "account.blocked": "Bluccatu", - "account.browse_more_on_origin_server": "Vede di più nant'à u prufile uriginale", "account.cancel_follow_request": "Withdraw follow request", "account.disable_notifications": "Ùn mi nutificate più quandu @{name} pubblica qualcosa", "account.domain_blocked": "Duminiu piattatu", @@ -236,7 +235,6 @@ "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "notification.follow": "{name} v'hà seguitatu", "notification.follow_request": "{name} vole abbunassi à u vostru contu", - "notification.mention": "{name} v'hà mintuvatu", "notification.own_poll": "U vostru scandagliu hè compiu", "notification.reblog": "{name} hà spartutu u vostru statutu", "notification.status": "{name} hà appena pubblicatu", @@ -323,7 +321,6 @@ "status.detailed_status": "Vista in ditagliu di a cunversazione", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.embed": "Integrà", - "status.filtered": "Filtratu", "status.load_more": "Vede di più", "status.media_hidden": "Media piattata", "status.mention": "Mintuvà @{name}", @@ -345,9 +342,7 @@ "status.report": "Palisà @{name}", "status.sensitive_warning": "Cuntinutu sensibile", "status.share": "Sparte", - "status.show_less": "Ripiegà", "status.show_less_all": "Ripiegà tuttu", - "status.show_more": "Slibrà", "status.show_more_all": "Slibrà tuttu", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", "status.unmute_conversation": "Ùn piattà più a cunversazione", @@ -359,10 +354,6 @@ "time_remaining.minutes": "{number, plural, one {# minuta ferma} other {# minute fermanu}} left", "time_remaining.moments": "Ci fermanu qualchi mumentu", "time_remaining.seconds": "{number, plural, one {# siconda ferma} other {# siconde fermanu}}", - "timeline_hint.remote_resource_not_displayed": "{resource} da l'altri servori ùn so micca affissati·e.", - "timeline_hint.resources.followers": "Abbunati", - "timeline_hint.resources.follows": "Abbunamenti", - "timeline_hint.resources.statuses": "Statuti più anziani", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "trends.trending_now": "Tindenze d'avà", "ui.beforeunload": "A bruttacopia sarà persa s'ellu hè chjosu Mastodon.", diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index abfbcbfa5e1..ebfaef36751 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -19,7 +19,6 @@ "account.block_domain": "Blokovat doménu {domain}", "account.block_short": "Zablokovat", "account.blocked": "Blokovaný", - "account.browse_more_on_origin_server": "Více na původním profilu", "account.cancel_follow_request": "Zrušit sledování", "account.copy": "Kopírovat odkaz na profil", "account.direct": "Soukromě zmínit @{name}", @@ -477,7 +476,6 @@ "notification.favourite": "Uživatel {name} si oblíbil váš příspěvek", "notification.follow": "Uživatel {name} vás začal sledovat", "notification.follow_request": "Uživatel {name} požádal o povolení vás sledovat", - "notification.mention": "Uživatel {name} vás zmínil", "notification.moderation-warning.learn_more": "Zjistit více", "notification.moderation_warning": "Obdrželi jste moderační varování", "notification.moderation_warning.action_delete_statuses": "Některé z vašich příspěvků byly odstraněny.", @@ -489,7 +487,6 @@ "notification.moderation_warning.action_suspend": "Váš účet byl pozastaven.", "notification.own_poll": "Vaše anketa skončila", "notification.poll": "Anketa, ve které jste hlasovali, skončila", - "notification.private_mention": "{name} vás soukromě zmínil", "notification.reblog": "Uživatel {name} boostnul váš příspěvek", "notification.relationships_severance_event": "Kontakt ztracen s {name}", "notification.relationships_severance_event.account_suspension": "Administrátor z {from} pozastavil {target}, což znamená, že již od nich nemůžete přijímat aktualizace nebo s nimi interagovat.", @@ -548,7 +545,6 @@ "notifications.policy.filter_not_following_title": "Lidé, které nesledujete", "notifications.policy.filter_private_mentions_hint": "Vyfiltrováno, pokud to není odpověď na vaši zmínku nebo pokud sledujete odesílatele", "notifications.policy.filter_private_mentions_title": "Nevyžádané soukromé zmínky", - "notifications.policy.title": "Vyfiltrovat oznámení od…", "notifications_permission_banner.enable": "Povolit oznámení na ploše", "notifications_permission_banner.how_to_control": "Chcete-li dostávat oznámení, i když nemáte Mastodon otevřený, povolte oznámení na ploše. Můžete si zvolit, o kterých druzích interakcí chcete být oznámením na ploše informování pod tlačítkem {icon} výše.", "notifications_permission_banner.title": "Nenechte si nic uniknout", @@ -735,8 +731,6 @@ "status.favourite": "Oblíbit", "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.filtered": "Filtrováno", - "status.hide": "Skrýt příspěvek", "status.history.created": "Uživatel {name} vytvořil {date}", "status.history.edited": "Uživatel {name} upravil {date}", "status.load_more": "Načíst více", @@ -764,10 +758,7 @@ "status.report": "Nahlásit @{name}", "status.sensitive_warning": "Citlivý obsah", "status.share": "Sdílet", - "status.show_filter_reason": "Přesto zobrazit", - "status.show_less": "Zobrazit méně", "status.show_less_all": "Zobrazit méně pro všechny", - "status.show_more": "Zobrazit více", "status.show_more_all": "Zobrazit více pro všechny", "status.show_original": "Zobrazit originál", "status.title.with_attachments": "{user} zveřejnil {attachmentCount, plural, one {přílohu} few {{attachmentCount} přílohy} many {{attachmentCount} příloh} other {{attachmentCount} příloh}}", @@ -786,10 +777,6 @@ "time_remaining.minutes": "{number, plural, one {Zbývá # minuta} few {Zbývají # minuty} many {Zbývá # minut} other {Zbývá # minut}}", "time_remaining.moments": "Zbývá několik sekund", "time_remaining.seconds": "{number, plural, one {Zbývá # sekunda} few {Zbývají # sekundy} many {Zbývá # sekund} other {Zbývá # sekund}}", - "timeline_hint.remote_resource_not_displayed": "{resource} z jiných serverů se nezobrazují.", - "timeline_hint.resources.followers": "Sledující", - "timeline_hint.resources.follows": "Sledovaní", - "timeline_hint.resources.statuses": "Starší příspěvky", "trends.counter_by_accounts": "{count, plural, one {{counter} člověk} few {{counter} lidé} many {{counter} lidí} other {{counter} lidí}} za poslední {days, plural, one {den} few {{days} dny} many {{days} dnů} other {{days} dnů}}", "trends.trending_now": "Právě populární", "ui.beforeunload": "Pokud Mastodon opustíte, váš koncept se ztratí.", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index f769810d272..158f31aeb3a 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -1,5 +1,5 @@ { - "about.blocks": "Gweinyddion sy'n cael eu cymedroli", + "about.blocks": "Gweinyddion gyda chymedrolwyr", "about.contact": "Cysylltwch â:", "about.disclaimer": "Mae Mastodon yn feddalwedd cod agored rhydd ac o dan hawlfraint Mastodon gGmbH.", "about.domain_blocks.no_reason_available": "Nid yw'r rheswm ar gael", @@ -11,6 +11,7 @@ "about.not_available": "Nid yw'r wybodaeth hon ar gael ar y gweinydd hwn.", "about.powered_by": "Cyfrwng cymdeithasol datganoledig wedi ei yrru gan {mastodon}", "about.rules": "Rheolau'r gweinydd", + "account.account_note_header": "Nodyn personol", "account.add_or_remove_from_list": "Ychwanegu neu Ddileu o'r rhestrau", "account.badges.bot": "Bot", "account.badges.group": "Grŵp", @@ -18,7 +19,6 @@ "account.block_domain": "Blocio parth {domain}", "account.block_short": "Blocio", "account.blocked": "Blociwyd", - "account.browse_more_on_origin_server": "Pori mwy ar y proffil gwreiddiol", "account.cancel_follow_request": "Tynnu cais i ddilyn", "account.copy": "Copïo dolen i'r proffil", "account.direct": "Crybwyll yn breifat @{name}", @@ -95,15 +95,17 @@ "block_modal.they_cant_see_posts": "Nid ydynt yn gallu gweld eich postiadau ac ni fyddwch yn gweld eu rhai hwy.", "block_modal.they_will_know": "Gallant weld eu bod wedi'u rhwystro.", "block_modal.title": "Blocio defnyddiwr?", - "block_modal.you_wont_see_mentions": "Ni welwch bostiadau sy'n sôn amdanynt.", + "block_modal.you_wont_see_mentions": "Fyddwch chi ddim yn gweld postiadau sy'n sôn amdanyn nhw.", "boost_modal.combo": "Mae modd pwyso {combo} er mwyn hepgor hyn tro nesa", + "boost_modal.reblog": "Hybu postiad", + "boost_modal.undo_reblog": "Dad-hybu postiad?", "bundle_column_error.copy_stacktrace": "Copïo'r adroddiad gwall", "bundle_column_error.error.body": "Nid oedd modd cynhyrchu'r dudalen honno. Gall fod oherwydd gwall yn ein cod neu fater cydnawsedd porwr.", "bundle_column_error.error.title": "O na!", "bundle_column_error.network.body": "Bu gwall wrth geisio llwytho'r dudalen hon. Gall hyn fod oherwydd anhawster dros-dro gyda'ch cysylltiad gwe neu'r gweinydd hwn.", "bundle_column_error.network.title": "Gwall rhwydwaith", "bundle_column_error.retry": "Ceisiwch eto", - "bundle_column_error.return": "Mynd nôl adref", + "bundle_column_error.return": "Mynd i'r ffrwd gartref", "bundle_column_error.routing.body": "Nid oedd modd canfod y dudalen honno. Ydych chi'n siŵr fod yr URL yn y bar cyfeiriad yn gywir?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "Cau", @@ -124,7 +126,7 @@ "column.favourites": "Ffefrynnau", "column.firehose": "Ffrydiau byw", "column.follow_requests": "Ceisiadau dilyn", - "column.home": "Hafan", + "column.home": "Cartref", "column.lists": "Rhestrau", "column.mutes": "Defnyddwyr wedi'u tewi", "column.notifications": "Hysbysiadau", @@ -145,7 +147,7 @@ "compose.language.search": "Chwilio ieithoedd...", "compose.published.body": "Postiad wedi ei gyhoeddi.", "compose.published.open": "Agor", - "compose.saved.body": "Post wedi'i gadw.", + "compose.saved.body": "Postiad wedi'i gadw.", "compose_form.direct_message_warning_learn_more": "Dysgu mwy", "compose_form.encryption_warning": "Dyw postiadau ar Mastodon ddim wedi'u hamgryptio o ben i ben. Peidiwch â rhannu unrhyw wybodaeth sensitif dros Mastodon.", "compose_form.hashtag_warning": "Ni fydd y postiad hwn wedi ei restru o dan unrhyw hashnod gan nad yw'n gyhoeddus. Dim ond postiadau cyhoeddus y mae modd eu chwilio drwy hashnod.", @@ -170,7 +172,7 @@ "confirmations.block.confirm": "Blocio", "confirmations.delete.confirm": "Dileu", "confirmations.delete.message": "Ydych chi'n sicr eich bod eisiau dileu y post hwn?", - "confirmations.delete.title": "Dileu post?", + "confirmations.delete.title": "Dileu postiad?", "confirmations.delete_list.confirm": "Dileu", "confirmations.delete_list.message": "Ydych chi'n siŵr eich bod eisiau dileu'r rhestr hwn am byth?", "confirmations.delete_list.title": "Dileu rhestr?", @@ -178,20 +180,22 @@ "confirmations.discard_edit_media.message": "Mae gennych newidiadau heb eu cadw i'r disgrifiad cyfryngau neu'r rhagolwg - eu dileu beth bynnag?", "confirmations.edit.confirm": "Golygu", "confirmations.edit.message": "Bydd golygu nawr yn trosysgrifennu'r neges rydych yn ei ysgrifennu ar hyn o bryd. Ydych chi'n siŵr eich bod eisiau gwneud hyn?", - "confirmations.edit.title": "Trosysgrifo post?", + "confirmations.edit.title": "Trosysgrifo'r postiad?", "confirmations.logout.confirm": "Allgofnodi", "confirmations.logout.message": "Ydych chi'n siŵr eich bod am allgofnodi?", "confirmations.logout.title": "Allgofnodi?", "confirmations.mute.confirm": "Tewi", "confirmations.redraft.confirm": "Dileu ac ailddrafftio", - "confirmations.redraft.message": "Ydych chi'n siŵr eich bod am ddileu'r postiad hwn a'i ailddrafftio? Bydd ffefrynnau a hybiau'n cael eu colli, a bydd atebion i'r post gwreiddiol yn mynd yn amddifad.", - "confirmations.redraft.title": "Dileu & ailddraftio post?", + "confirmations.redraft.message": "Ydych chi wir eisiau'r dileu'r postiad hwn a'i ailddrafftio? Bydd ffefrynnau a hybiau'n cael eu colli, a bydd atebion i'r post gwreiddiol yn mynd yn amddifad.", + "confirmations.redraft.title": "Dileu & ailddraftio postiad?", "confirmations.reply.confirm": "Ateb", "confirmations.reply.message": "Bydd ateb nawr yn cymryd lle y neges yr ydych yn cyfansoddi ar hyn o bryd. Ydych chi'n siŵr eich bod am barhau?", - "confirmations.reply.title": "Trosysgrifo post?", + "confirmations.reply.title": "Trosysgrifo'r postiad?", "confirmations.unfollow.confirm": "Dad-ddilyn", "confirmations.unfollow.message": "Ydych chi'n siŵr eich bod am ddad-ddilyn {name}?", "confirmations.unfollow.title": "Dad-ddilyn defnyddiwr?", + "content_warning.hide": "Cuddio'r postiad", + "content_warning.show": "Dangos beth bynnag", "conversation.delete": "Dileu sgwrs", "conversation.mark_as_read": "Nodi fel wedi'i ddarllen", "conversation.open": "Gweld sgwrs", @@ -208,7 +212,7 @@ "dismissable_banner.community_timeline": "Dyma'r postiadau cyhoeddus diweddaraf gan bobl sydd â chyfrifon ar {domain}.", "dismissable_banner.dismiss": "Cau", "dismissable_banner.explore_links": "Dyma straeon newyddion sy’n cael eu rhannu fwyaf ar y we gymdeithasol heddiw. Mae'r straeon newyddion diweddaraf sy'n cael eu postio gan fwy o unigolion gwahanol yn cael eu graddio'n uwch.", - "dismissable_banner.explore_statuses": "Mae'r rhain yn bostiadau o bob rhan o'r we gymdeithasol sydd ar gynnydd heddiw. Mae postiadau mwy diweddar sydd â mwy o hybiau a ffefrynu'n cael eu graddio'n uwch.", + "dismissable_banner.explore_statuses": "Dyma postiadau o bob gwr o'r we gymdeithasol sy'n derbyn sylw heddiw. Mae postiadau mwy diweddar sydd â mwy o hybiau a ffefrynnau'n cael eu graddio'n uwch.", "dismissable_banner.explore_tags": "Mae'r rhain yn hashnodau sydd ar gynnydd ar y we gymdeithasol heddiw. Mae hashnodau sy'n cael eu defnyddio gan fwy o unigolion gwahanol yn cael eu graddio'n uwch.", "dismissable_banner.public_timeline": "Dyma'r postiadau cyhoeddus diweddaraf gan bobl ar y we gymdeithasol y mae pobl ar {domain} yn eu dilyn.", "domain_block_modal.block": "Blocio gweinydd", @@ -254,17 +258,17 @@ "empty_column.account_timeline": "Dim postiadau yma!", "empty_column.account_unavailable": "Nid yw'r proffil ar gael", "empty_column.blocks": "Nid ydych wedi blocio unrhyw ddefnyddwyr eto.", - "empty_column.bookmarked_statuses": "Nid oes gennych unrhyw bostiad wedi'u cadw fel llyfrnodau eto. Pan fyddwch yn gosod nod tudalen i un, mi fydd yn ymddangos yma.", + "empty_column.bookmarked_statuses": "Nid oes gennych unrhyw bostiad wedi'u cadw fel nod tudalen eto. Pan fyddwch yn gosod nod tudalen i un, mi fydd yn ymddangos yma.", "empty_column.community": "Mae'r ffrwd lleol yn wag. Beth am ysgrifennu rhywbeth cyhoeddus!", "empty_column.direct": "Nid oes gennych unrhyw grybwylliadau preifat eto. Pan fyddwch chi'n anfon neu'n derbyn un, bydd yn ymddangos yma.", "empty_column.domain_blocks": "Nid oes unrhyw barthau wedi'u blocio eto.", - "empty_column.explore_statuses": "Does dim yn trendio ar hyn o bryd. Dewch nôl nes ymlaen!", - "empty_column.favourited_statuses": "Nid oes gennych unrhyw hoff bostiadau eto. Pan byddwch yn hoffi un, bydd yn ymddangos yma.", - "empty_column.favourites": "Nid oes unrhyw un wedi hoffi'r postiad hwn eto. Pan fydd rhywun yn gwneud hynny, byddan nhw'n ymddangos yma.", + "empty_column.explore_statuses": "Does dim pynciau llosg ar hyn o bryd. Dewch nôl nes ymlaen!", + "empty_column.favourited_statuses": "Rydych chi heb ffafrio unrhyw bostiadau eto. Pan byddwch chi'n ffafrio un, bydd yn ymddangos yma.", + "empty_column.favourites": "Nid oes unrhyw un wedi ffafrio'r postiad hwn eto. Pan fydd rhywun yn gwneud hynny, byddan nhw'n ymddangos yma.", "empty_column.follow_requests": "Nid oes gennych unrhyw geisiadau dilyn eto. Pan fyddwch yn derbyn un, byddan nhw'n ymddangos yma.", "empty_column.followed_tags": "Nid ydych wedi dilyn unrhyw hashnodau eto. Pan fyddwch chi'n gwneud hynny, byddan nhw'n ymddangos yma.", "empty_column.hashtag": "Nid oes dim ar yr hashnod hwn eto.", - "empty_column.home": "Mae eich ffrwd gartref yn wag! Ymwelwch â {public} neu defnyddiwch y chwilotwr i ddechrau arni ac i gwrdd â defnyddwyr eraill.", + "empty_column.home": "Mae eich ffrwd gartref yn wag! Dilynwch fwy o bobl i'w llenwi.", "empty_column.list": "Does dim yn y rhestr yma eto. Pan fydd aelodau'r rhestr yn cyhoeddi postiad newydd, mi fydd yn ymddangos yma.", "empty_column.lists": "Nid oes gennych unrhyw restrau eto. Pan fyddwch yn creu un, mi fydd yn ymddangos yma.", "empty_column.mutes": "Nid ydych wedi tewi unrhyw ddefnyddwyr eto.", @@ -299,6 +303,8 @@ "filter_modal.select_filter.subtitle": "Defnyddiwch gategori sy'n bodoli eisoes neu crëu un newydd", "filter_modal.select_filter.title": "Hidlo'r postiad hwn", "filter_modal.title.status": "Hidlo postiad", + "filter_warning.matches_filter": "Yn cydweddu'r hidlydd “{title}”", + "filtered_notifications_banner.pending_requests": "Gan {count, plural, =0 {no one} one {un person} two {# berson} few {# pherson} other {# person}} efallai eich bod yn eu hadnabod", "filtered_notifications_banner.title": "Hysbysiadau wedi'u hidlo", "firehose.all": "Popeth", "firehose.local": "Gweinydd hwn", @@ -347,25 +353,44 @@ "hashtag.follow": "Dilyn hashnod", "hashtag.unfollow": "Dad-ddilyn hashnod", "hashtags.and_other": "…a {count, plural, other {# more}}", + "hints.profiles.followers_may_be_missing": "Mae'n bosibl bod dilynwyr y proffil hwn ar goll.", + "hints.profiles.follows_may_be_missing": "Mae'n bosibl bod dilynwyr y proffil hwn ar goll.", + "hints.profiles.posts_may_be_missing": "Mae'n bosibl bod rhai postiadau y proffil hwn ar goll.", + "hints.profiles.see_more_followers": "Gweld mwy o ddilynwyr ar {domain}", + "hints.profiles.see_more_follows": "Gweld mwy o 'yn dilyn' ar {domain}", + "hints.profiles.see_more_posts": "Gweld mwy o bostiadau ar {domain}", + "hints.threads.replies_may_be_missing": "Mae'n bosibl y bydd atebion gan weinyddion eraill ar goll.", + "hints.threads.see_more": "Gweld mwy o atebion ar {domain}", "home.column_settings.show_reblogs": "Dangos hybiau", "home.column_settings.show_replies": "Dangos atebion", "home.hide_announcements": "Cuddio cyhoeddiadau", "home.pending_critical_update.body": "Diweddarwch eich gweinydd Mastodon cyn gynted â phosibl!", - "home.pending_critical_update.link": "Gweld y diweddariadau", + "home.pending_critical_update.link": "Gweld diweddariadau", "home.pending_critical_update.title": "Mae diweddariad diogelwch hanfodol ar gael!", "home.show_announcements": "Dangos cyhoeddiadau", - "interaction_modal.description.favourite": "Gyda chyfrif ar Mastodon, gallwch chi hoffi'r postiad hwn er mwyn roi gwybod i'r awdur eich bod chi'n ei werthfawrogi ac yn ei gadw ar gyfer nes ymlaen.", - "interaction_modal.description.follow": "Gyda chyfrif ar Mastodon, gallwch ddilyn {name} i dderbyn eu postiadau yn eich llif cartref.", + "ignore_notifications_modal.disclaimer": "Ni all Mastodon hysbysu defnyddwyr eich bod wedi anwybyddu eu hysbysiadau. Ni fydd anwybyddu hysbysiadau yn atal y negeseuon eu hunain rhag cael eu hanfon.", + "ignore_notifications_modal.filter_instead": "Hidlo yn lle hynny", + "ignore_notifications_modal.filter_to_act_users": "Byddwch yn dal i allu derbyn, gwrthod neu adrodd ar ddefnyddwyr", + "ignore_notifications_modal.filter_to_avoid_confusion": "Mae hidlo yn helpu i osgoi dryswch posibl", + "ignore_notifications_modal.filter_to_review_separately": "Gallwch adolygu hysbysiadau wedi'u hidlo ar wahân", + "ignore_notifications_modal.ignore": "Anwybyddu hysbysiadau", + "ignore_notifications_modal.limited_accounts_title": "Anwybyddu hysbysiadau o gyfrifon wedi'u cymedroli?", + "ignore_notifications_modal.new_accounts_title": "Anwybyddu hysbysiadau o gyfrifon newydd?", + "ignore_notifications_modal.not_followers_title": "Anwybyddu hysbysiadau gan bobl nad ydynt yn eich dilyn?", + "ignore_notifications_modal.not_following_title": "Anwybyddu hysbysiadau gan bobl nad ydych yn eu dilyn?", + "ignore_notifications_modal.private_mentions_title": "Anwybyddu hysbysiadau o Grybwylliadau Preifat digymell?", + "interaction_modal.description.favourite": "Gyda chyfrif ar Mastodon, gallwch chi ffafrio'r postiad hwn er mwyn roi gwybod i'r awdur eich bod chi'n ei werthfawrogi ac yn ei gadw ar gyfer nes ymlaen.", + "interaction_modal.description.follow": "Gyda chyfrif ar Mastodon, gallwch ddilyn {name} i dderbyn eu postiadau yn eich ffrwd gartref.", "interaction_modal.description.reblog": "Gyda chyfrif ar Mastodon, gallwch hybu'r postiad hwn i'w rannu â'ch dilynwyr.", "interaction_modal.description.reply": "Gyda chyfrif ar Mastodon, gallwch ymateb i'r postiad hwn.", - "interaction_modal.login.action": "Ewch â fi adref", + "interaction_modal.login.action": "Mynd i'm ffrwd gartref", "interaction_modal.login.prompt": "Parth eich gweinydd cartref, e.e. mastodon.social", "interaction_modal.no_account_yet": "Dim ar Mastodon?", "interaction_modal.on_another_server": "Ar weinydd gwahanol", "interaction_modal.on_this_server": "Ar y gweinydd hwn", "interaction_modal.sign_in": "Nid ydych wedi mewngofnodi i'r gweinydd hwn. Ble mae eich cyfrif yn cael ei gynnal?", "interaction_modal.sign_in_hint": "Awgrym: Dyna'r wefan lle gwnaethoch gofrestru. Os nad ydych yn cofio, edrychwch am yr e-bost croeso yn eich blwch derbyn. Gallwch hefyd nodi eich enw defnyddiwr llawn! (e.e. @Mastodon@mastodon.social)", - "interaction_modal.title.favourite": "Hoffi postiad {name}", + "interaction_modal.title.favourite": "Ffafrio postiad {name}", "interaction_modal.title.follow": "Dilyn {name}", "interaction_modal.title.reblog": "Hybu postiad {name}", "interaction_modal.title.reply": "Ymateb i bostiad {name}", @@ -381,11 +406,11 @@ "keyboard_shortcuts.direct": "i agor colofn crybwylliadau preifat", "keyboard_shortcuts.down": "Symud lawr yn y rhestr", "keyboard_shortcuts.enter": "Agor post", - "keyboard_shortcuts.favourite": "Hoffi postiad", + "keyboard_shortcuts.favourite": "Ffafrio postiad", "keyboard_shortcuts.favourites": "Agor rhestr ffefrynnau", "keyboard_shortcuts.federated": "Agor ffrwd y ffederasiwn", "keyboard_shortcuts.heading": "Bysellau brys", - "keyboard_shortcuts.home": "Agor ffrwd cartref", + "keyboard_shortcuts.home": "Agor ffrwd gartref", "keyboard_shortcuts.hotkey": "Bysell boeth", "keyboard_shortcuts.legend": "Dangos y rhestr hon", "keyboard_shortcuts.local": "Agor ffrwd lleol", @@ -415,13 +440,13 @@ "limited_account_hint.title": "Mae'r proffil hwn wedi cael ei guddio gan gymedrolwyr {domain}.", "link_preview.author": "Gan {name}", "link_preview.more_from_author": "Mwy gan {name}", - "link_preview.shares": "{count, plural, one {{counter} post} two {{counter} bost} few {{counter} phost} many {{counter} post} other {{counter} post}}", + "link_preview.shares": "{count, plural, one {{counter} ostiad } two {{counter} bostiad } few {{counter} postiad} many {{counter} postiad} other {{counter} postiad}}", "lists.account.add": "Ychwanegu at restr", "lists.account.remove": "Tynnu o'r rhestr", "lists.delete": "Dileu rhestr", "lists.edit": "Golygu rhestr", "lists.edit.submit": "Newid teitl", - "lists.exclusive": "Cuddiwch y postiadau hyn rhag cartref", + "lists.exclusive": "Cuddio'r postiadau hyn o'r ffrwd gartref", "lists.new.create": "Ychwanegu rhestr", "lists.new.title_placeholder": "Teitl rhestr newydd", "lists.replies_policy.followed": "Unrhyw ddefnyddiwr sy'n cael ei ddilyn", @@ -443,9 +468,8 @@ "mute_modal.title": "Tewi defnyddiwr?", "mute_modal.you_wont_see_mentions": "Welwch chi ddim postiadau sy'n sôn amdanyn nhw.", "mute_modal.you_wont_see_posts": "Gallan nhw weld eich postiadau o hyd, ond fyddwch chi ddim yn gweld eu rhai hwy.", - "name_and_others": "{name} a(c) {count, plural, one {# arall} other {# eraill}}", - "name_and_others_with_link": "{name} a{count, plural, zero {}one {c # arall} two { # eraill} few { # eraill} many { # eraill} other { # eraill}}", "navigation_bar.about": "Ynghylch", + "navigation_bar.administration": "Gweinyddiaeth", "navigation_bar.advanced_interface": "Agor mewn rhyngwyneb gwe uwch", "navigation_bar.blocks": "Defnyddwyr wedi eu blocio", "navigation_bar.bookmarks": "Nodau Tudalen", @@ -462,6 +486,7 @@ "navigation_bar.follows_and_followers": "Yn dilyn a dilynwyr", "navigation_bar.lists": "Rhestrau", "navigation_bar.logout": "Allgofnodi", + "navigation_bar.moderation": "Cymedroil", "navigation_bar.mutes": "Defnyddwyr wedi'u tewi", "navigation_bar.opened_in_classic_interface": "Mae postiadau, cyfrifon a thudalennau penodol eraill yn cael eu hagor fel rhagosodiad yn y rhyngwyneb gwe clasurol.", "navigation_bar.personal": "Personol", @@ -472,14 +497,23 @@ "navigation_bar.security": "Diogelwch", "not_signed_in_indicator.not_signed_in": "Rhaid i chi fewngofnodi i weld yr adnodd hwn.", "notification.admin.report": "Adroddwyd ar {name} {target}", - "notification.admin.report_account_other": "Adroddodd {name} {count, plural, one {un post} two {# bost} few {# phost} other {# post}} gan {target}", + "notification.admin.report_account": "{name} reported {count, plural, one {un postiad} other {# postiad}} from {target} for {category}", + "notification.admin.report_account_other": "Adroddodd {name} {count, plural, one {un postiad} two {# bostiad} few {# phost} other {# postiad}} gan {target}", "notification.admin.report_statuses": "Adroddodd {name} {target} ar gyfer {category}", "notification.admin.report_statuses_other": "Adroddodd {name} {target}", "notification.admin.sign_up": "Cofrestrodd {name}", - "notification.favourite": "Hoffodd {name} eich postiad", + "notification.admin.sign_up.name_and_others": "Cofrestrodd {name} {count, plural, one {ac # arall} other {a # eraill}}", + "notification.favourite": "Ffafriodd {name} eich postiad", + "notification.favourite.name_and_others_with_link": "Ffafriodd {name} a {count, plural, one {# arall} other {# eraill}} eich postiad", "notification.follow": "Dilynodd {name} chi", + "notification.follow.name_and_others": "Mae {name} a {count, plural, one {# other} other {# others}} wedi'ch dilyn chi", "notification.follow_request": "Mae {name} wedi gwneud cais i'ch dilyn", - "notification.mention": "Crybwyllodd {name} amdanoch chi", + "notification.follow_request.name_and_others": "Mae {name} a{count, plural, one {# other} other {# others}} wedi gofyn i'ch dilyn chi", + "notification.label.mention": "Crybwyll", + "notification.label.private_mention": "Crybwyll preifat", + "notification.label.private_reply": "Ateb preifat", + "notification.label.reply": "Ateb", + "notification.mention": "Crybwyll", "notification.moderation-warning.learn_more": "Dysgu mwy", "notification.moderation_warning": "Rydych wedi derbyn rhybudd gan gymedrolwr", "notification.moderation_warning.action_delete_statuses": "Mae rhai o'ch postiadau wedi'u dileu.", @@ -491,8 +525,8 @@ "notification.moderation_warning.action_suspend": "Mae eich cyfrif wedi'i hatal.", "notification.own_poll": "Mae eich pleidlais wedi dod i ben", "notification.poll": "Mae arolwg y gwnaethoch bleidleisio ynddo wedi dod i ben", - "notification.private_mention": "Mae {name} wedi eich crybwyll yn breifat", "notification.reblog": "Hybodd {name} eich post", + "notification.reblog.name_and_others_with_link": "Mae {name} a {count, plural, one {# other} other {# others}} wedi hybu eich postiad", "notification.relationships_severance_event": "Wedi colli cysylltiad â {name}", "notification.relationships_severance_event.account_suspension": "Mae gweinyddwr o {from} wedi atal {target}, sy'n golygu na allwch dderbyn diweddariadau ganddynt mwyach na rhyngweithio â nhw.", "notification.relationships_severance_event.domain_block": "Mae gweinyddwr o {from} wedi blocio {target}, gan gynnwys {followersCount} o'ch dilynwyr a {followingCount, plural, one {# cyfrif} other {# cyfrif}} arall rydych chi'n ei ddilyn.", @@ -501,10 +535,24 @@ "notification.status": "{name} newydd ei bostio", "notification.update": "Golygodd {name} bostiad", "notification_requests.accept": "Derbyn", + "notification_requests.accept_multiple": "{count, plural, one {Accept # request…} other {Accept # requests…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Accept request} other {Accept requests}}", + "notification_requests.confirm_accept_multiple.message": "Rydych ar fin derbyn {count, plural, one {one notification request} other {# notification requests}}. Ydych chi'n siŵr eich bod am barhau?", + "notification_requests.confirm_accept_multiple.title": "Derbyn ceisiadau hysbysu?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Diystyru cais} other {Diystyru ceisiadau}}", + "notification_requests.confirm_dismiss_multiple.message": "Rydych ar fin diystyru {count, plural, one {un cais hysbysu} other {# cais hysbysiad}}. Fyddwch chi ddim yn gallu cyrchu {count, plural, one {it} other {them}} yn hawdd eto. Ydych chi'n yn siŵr eich bod am fwrw ymlaen?", + "notification_requests.confirm_dismiss_multiple.title": "Diystyru ceisiadau hysbysu?", "notification_requests.dismiss": "Cau", + "notification_requests.dismiss_multiple": "{count, plural, one {Diystyru # cais…} two {Diystyru # gais…} few {Diystyru # chais…} other {Diystyru # cais…}}", + "notification_requests.edit_selection": "Golygu", + "notification_requests.exit_selection": "Iawn", + "notification_requests.explainer_for_limited_account": "Mae hysbysiadau o'r cyfrif hwn wedi'u hidlo oherwydd bod y cyfrif wedi'i gyfyngu gan gymedrolwr.", + "notification_requests.explainer_for_limited_remote_account": "Mae hysbysiadau o'r cyfrif hwn wedi'u hidlo oherwydd bod y cyfrif neu ei weinydd wedi'i gyfyngu gan gymedrolwr.", "notification_requests.maximize": "Mwyhau", + "notification_requests.minimize_banner": "Lleihau baner hysbysiadau wedi'u hidlo", "notification_requests.notifications_from": "Hysbysiadau gan {name}", "notification_requests.title": "Hysbysiadau wedi'u hidlo", + "notification_requests.view": "Gweld hysbysiadau", "notifications.clear": "Clirio hysbysiadau", "notifications.clear_confirmation": "Ydych chi'n siŵr eich bod am glirio'ch holl hysbysiadau am byth?", "notifications.clear_title": "Clirio hysbysiadau?", @@ -541,6 +589,14 @@ "notifications.permission_denied": "Nid oes hysbysiadau bwrdd gwaith ar gael oherwydd cais am ganiatâd porwr a wrthodwyd yn flaenorol", "notifications.permission_denied_alert": "Nid oes modd galluogi hysbysiadau bwrdd gwaith, gan fod caniatâd porwr wedi'i wrthod o'r blaen", "notifications.permission_required": "Nid oes hysbysiadau bwrdd gwaith ar gael oherwydd na roddwyd y caniatâd gofynnol.", + "notifications.policy.accept": "Derbyn", + "notifications.policy.accept_hint": "Dangos mewn hysbysiadau", + "notifications.policy.drop": "Anwybyddu", + "notifications.policy.drop_hint": "Anfon i'r gwagle, byth i'w gweld eto", + "notifications.policy.filter": "Hidlo", + "notifications.policy.filter_hint": "Anfon i flwch derbyn hysbysiadau wedi'u hidlo", + "notifications.policy.filter_limited_accounts_hint": "Cyfyngedig gan gymedrolwyr gweinydd", + "notifications.policy.filter_limited_accounts_title": "Cyfrifon wedi'u cymedroli", "notifications.policy.filter_new_accounts.hint": "Crëwyd o fewn {days, lluosog, un {yr un diwrnod} arall {y # diwrnod}} diwethaf", "notifications.policy.filter_new_accounts_title": "Cyfrifon newydd", "notifications.policy.filter_not_followers_hint": "Gan gynnwys pobl sydd wedi bod yn eich dilyn am llai {days, plural, un {nag un diwrnod} arall {na # diwrnod}}", @@ -549,20 +605,20 @@ "notifications.policy.filter_not_following_title": "Pobl nad ydych yn eu dilyn", "notifications.policy.filter_private_mentions_hint": "Wedi'i hidlo oni bai ei fod mewn ymateb i'ch crybwylliad eich hun neu os ydych yn dilyn yr anfonwr", "notifications.policy.filter_private_mentions_title": "Crybwylliadau preifat digymell", - "notifications.policy.title": "Hidlo hysbysiadau gan…", + "notifications.policy.title": "Rheoli hysbysiadau gan…", "notifications_permission_banner.enable": "Galluogi hysbysiadau bwrdd gwaith", "notifications_permission_banner.how_to_control": "I dderbyn hysbysiadau pan nad yw Mastodon ar agor, galluogwch hysbysiadau bwrdd gwaith. Gallwch reoli'n union pa fathau o ryngweithiadau sy'n cynhyrchu hysbysiadau bwrdd gwaith trwy'r botwm {icon} uchod unwaith y byddan nhw wedi'u galluogi.", "notifications_permission_banner.title": "Peidiwch â cholli dim", - "onboarding.action.back": "Ewch â fi yn ôl", - "onboarding.actions.back": "Ewch â fi yn ôl", - "onboarding.actions.go_to_explore": "Gweld beth yw'r tuedd", - "onboarding.actions.go_to_home": "Ewch i'ch ffrwd gartref", + "onboarding.action.back": "Ewch â fi nôl", + "onboarding.actions.back": "Ewch â fi nôl", + "onboarding.actions.go_to_explore": "Gweld y pynciau llosg", + "onboarding.actions.go_to_home": "Ewch i'm ffrwd gartref", "onboarding.compose.template": "Helo, #Mastodon!", "onboarding.follows.empty": "Yn anffodus, nid oes modd dangos unrhyw ganlyniadau ar hyn o bryd. Gallwch geisio defnyddio chwilio neu bori'r dudalen archwilio i ddod o hyd i bobl i'w dilyn, neu ceisio eto yn nes ymlaen.", "onboarding.follows.lead": "Rydych chi'n curadu eich ffrwd gartref eich hun. Po fwyaf o bobl y byddwch chi'n eu dilyn, y mwyaf egnïol a diddorol fydd hi. Gall y proffiliau hyn fod yn fan cychwyn da - gallwch chi bob amser eu dad-ddilyn yn nes ymlaen:", - "onboarding.follows.title": "Yn boblogaidd ar Mastodon", + "onboarding.follows.title": "Personolwch eich ffrwd gartref", "onboarding.profile.discoverable": "Gwnewch fy mhroffil yn un y gellir ei ddarganfod", - "onboarding.profile.discoverable_hint": "Pan fyddwch yn optio i mewn i ddarganfodadwyedd ar Mastodon, gall eich postiadau ymddangos mewn canlyniadau chwilio a thueddiadau, ac efallai y bydd eich proffil yn cael ei awgrymu i bobl sydd â diddordebau tebyg i chi.", + "onboarding.profile.discoverable_hint": "Pan fyddwch yn optio i mewn i ddarganfodadwyedd ar Mastodon, gall eich postiadau ymddangos mewn canlyniadau chwilio a threndiau, ac efallai y bydd eich proffil yn cael ei awgrymu i bobl sydd â diddordebau tebyg i chi.", "onboarding.profile.display_name": "Enw dangos", "onboarding.profile.display_name_hint": "Eich enw llawn neu'ch enw hwyl…", "onboarding.profile.lead": "Gallwch chi bob amser gwblhau hyn yn ddiweddarach yn y gosodiadau, lle mae hyd yn oed mwy o ddewisiadau cyfaddasu ar gael.", @@ -580,7 +636,7 @@ "onboarding.start.skip": "Eisiau mynd syth yn eich blaen?", "onboarding.start.title": "Rydych chi wedi cyrraedd!", "onboarding.steps.follow_people.body": "Rydych chi'n curadu eich ffrwd eich hun. Gadewch i ni ei lenwi â phobl ddiddorol.", - "onboarding.steps.follow_people.title": "Dilynwch {count, plural, one {one person} other {# people}}", + "onboarding.steps.follow_people.title": "Personolwch eich ffrwd gartref", "onboarding.steps.publish_status.body": "Dywedwch helo wrth y byd gyda thestun, lluniau, fideos neu arolygon barn {emoji}", "onboarding.steps.publish_status.title": "Gwnewch eich postiad cyntaf", "onboarding.steps.setup_profile.body": "Mae eraill yn fwy tebygol o ryngweithio â chi gyda phroffil wedi'i lenwi.", @@ -605,7 +661,7 @@ "poll_button.add_poll": "Ychwanegu pleidlais", "poll_button.remove_poll": "Tynnu pleidlais", "privacy.change": "Addasu preifatrwdd y post", - "privacy.direct.long": "Pawb sydd â son amdanyn nhw yn y postiad", + "privacy.direct.long": "Pawb sydd â sôn amdanyn nhw yn y postiad", "privacy.direct.short": "Pobl benodol", "privacy.private.long": "Eich dilynwyr yn unig", "privacy.private.short": "Dilynwyr", @@ -619,7 +675,7 @@ "recommended": "Argymhellwyd", "refresh": "Adnewyddu", "regeneration_indicator.label": "Yn llwytho…", - "regeneration_indicator.sublabel": "Mae eich ffrwd cartref yn cael ei baratoi!", + "regeneration_indicator.sublabel": "Mae eich ffrwd cartref yn cael ei pharatoi!", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# diwrnod} other {# diwrnod}} yn ôl", "relative_time.full.hours": "{number, plural, one {# awr} other {# awr}} yn ôl", @@ -673,7 +729,7 @@ "report.thanks.title": "Ddim eisiau gweld hwn?", "report.thanks.title_actionable": "Diolch am adrodd, byddwn yn ymchwilio i hyn.", "report.unfollow": "Dad-ddilyn @{name}", - "report.unfollow_explanation": "Rydych chi'n dilyn y cyfrif hwn. I beidio â gweld eu postiadau yn eich porthiant cartref mwyach, dad-ddilynwch nhw.", + "report.unfollow_explanation": "Rydych chi'n dilyn y cyfrif hwn. I beidio â gweld eu postiadau yn eich ffrwd gartref mwyach, dad-ddilynwch nhw.", "report_notification.attached_statuses": "{count, plural, one {{count} postiad} arall {{count} postiad}} atodwyd", "report_notification.categories.legal": "Cyfreithiol", "report_notification.categories.legal_sentence": "cynnwys anghyfreithlon", @@ -733,11 +789,9 @@ "status.edited": "Golygwyd ddiwethaf {date}", "status.edited_x_times": "Golygwyd {count, plural, one {count} two {count} other {{count} gwaith}}", "status.embed": "Mewnblannu", - "status.favourite": "Hoffi", + "status.favourite": "Ffafrio", "status.favourites": "{count, plural, one {ffefryn} other {ffefryn}}", "status.filter": "Hidlo'r postiad hwn", - "status.filtered": "Wedi'i hidlo", - "status.hide": "Cuddio'r postiad", "status.history.created": "Crëwyd gan {name} {date}", "status.history.edited": "Golygwyd gan {name} {date}", "status.load_more": "Llwythwch ragor", @@ -765,10 +819,7 @@ "status.report": "Adrodd ar @{name}", "status.sensitive_warning": "Cynnwys sensitif", "status.share": "Rhannu", - "status.show_filter_reason": "Dangos beth bynnag", - "status.show_less": "Dangos llai", "status.show_less_all": "Dangos llai i bawb", - "status.show_more": "Dangos mwy", "status.show_more_all": "Dangos mwy i bawb", "status.show_original": "Dangos y gwreiddiol", "status.title.with_attachments": "Postiodd {user} {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}", @@ -777,7 +828,7 @@ "status.uncached_media_warning": "Dim rhagolwg ar gael", "status.unmute_conversation": "Dad-dewi sgwrs", "status.unpin": "Dadbinio o'r proffil", - "subscribed_languages.lead": "Dim ond postiadau mewn ieithoedd penodol fydd yn ymddangos yn eich ffrydiau ar ôl y newid. Dewiswch ddim byd i dderbyn postiadau ym mhob iaith.", + "subscribed_languages.lead": "Dim ond postiadau mewn ieithoedd penodol fydd yn ymddangos yn eich ffrydiau cartref a rhestr ar ôl y newid. Dewiswch ddim byd i dderbyn postiadau ym mhob iaith.", "subscribed_languages.save": "Cadw'r newidiadau", "subscribed_languages.target": "Newid ieithoedd tanysgrifio {target}", "tabs_bar.home": "Cartref", @@ -787,12 +838,8 @@ "time_remaining.minutes": "{number, plural, one {# munud} other {# munud}} ar ôl", "time_remaining.moments": "Munudau yn weddill", "time_remaining.seconds": "{number, plural, one {# eiliad} other {# eiliad}} ar ôl", - "timeline_hint.remote_resource_not_displayed": "Nid yw {resource} o weinyddion eraill yn cael ei ddangos.", - "timeline_hint.resources.followers": "Dilynwyr", - "timeline_hint.resources.follows": "Yn dilyn", - "timeline_hint.resources.statuses": "Postiadau hŷn", "trends.counter_by_accounts": "{count, plural, zero {neb} one {{counter} person} two {{counter} berson} few {{counter} pherson} other {{counter} o bobl}} yn y {days, plural, one {diwrnod diwethaf} two {ddeuddydd diwethaf} other {{days} diwrnod diwethaf}}", - "trends.trending_now": "Yn trendio nawr", + "trends.trending_now": "Pynciau llosg", "ui.beforeunload": "Byddwch yn colli eich drafft os byddwch yn gadael Mastodon.", "units.short.billion": "{count}biliwn", "units.short.million": "{count}miliwn", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index 981ecaa02ed..732e4a100e5 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -19,7 +19,6 @@ "account.block_domain": "Blokér domænet {domain}", "account.block_short": "Bloker", "account.blocked": "Blokeret", - "account.browse_more_on_origin_server": "Se mere på den oprindelige profil", "account.cancel_follow_request": "Annullér anmodning om at følge", "account.copy": "Kopiér link til profil", "account.direct": "Privat omtale @{name}", @@ -98,6 +97,8 @@ "block_modal.title": "Blokér bruger?", "block_modal.you_wont_see_mentions": "Du vil ikke se indlæg, som nævner vedkommende.", "boost_modal.combo": "Du kan trykke {combo} for at springe dette over næste gang", + "boost_modal.reblog": "Boost indlæg?", + "boost_modal.undo_reblog": "Fjern boost af indlæg?", "bundle_column_error.copy_stacktrace": "Kopiér fejlrapport", "bundle_column_error.error.body": "Den anmodede side kunne ikke gengives. Dette kan skyldes flere typer fejl.", "bundle_column_error.error.title": "Åh nej!", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "Følg ikke længere", "confirmations.unfollow.message": "Er du sikker på, at du ikke længere vil følge {name}?", "confirmations.unfollow.title": "Følg ikke længere bruger?", + "content_warning.hide": "Skjul indlæg", + "content_warning.show": "Vis alligevel", "conversation.delete": "Slet samtale", "conversation.mark_as_read": "Markér som læst", "conversation.open": "Vis samtale", @@ -300,6 +303,7 @@ "filter_modal.select_filter.subtitle": "Vælg en eksisterende kategori eller opret en ny", "filter_modal.select_filter.title": "Filtrér dette indlæg", "filter_modal.title.status": "Filtrér et indlæg", + "filter_warning.matches_filter": "Matcher filteret “{title}”", "filtered_notifications_banner.pending_requests": "Fra {count, plural, =0 {ingen} one {én person} other {# personer}}, man måske kender", "filtered_notifications_banner.title": "Filtrerede notifikationer", "firehose.all": "Alle", @@ -349,6 +353,14 @@ "hashtag.follow": "Følg hashtag", "hashtag.unfollow": "Stop med at følge hashtag", "hashtags.and_other": "…og {count, plural, one {}other {# flere}}", + "hints.profiles.followers_may_be_missing": "Der kan mangle følgere for denne profil.", + "hints.profiles.follows_may_be_missing": "Fulgte kan mangle for denne profil.", + "hints.profiles.posts_may_be_missing": "Nogle indlæg kan mangle for denne profil.", + "hints.profiles.see_more_followers": "Se flere følgere på {domain}", + "hints.profiles.see_more_follows": "Se flere fulgte på {domain}", + "hints.profiles.see_more_posts": "Se flere indlæg på {domain}", + "hints.threads.replies_may_be_missing": "Der kan mangle svar fra andre servere.", + "hints.threads.see_more": "Se flere svar på {domain}", "home.column_settings.show_reblogs": "Vis boosts", "home.column_settings.show_replies": "Vis svar", "home.hide_announcements": "Skjul bekendtgørelser", @@ -356,6 +368,17 @@ "home.pending_critical_update.link": "Se opdateringer", "home.pending_critical_update.title": "Kritisk sikkerhedsopdatering tilgængelig!", "home.show_announcements": "Vis bekendtgørelser", + "ignore_notifications_modal.disclaimer": "Mastodon kan ikke informere brugere om, at man har ignoreret deres notifikationer. Ignorerer man notifikationer, forhindrer det ikke selve beskedafsendelsen.", + "ignore_notifications_modal.filter_instead": "Filtrer i stedet", + "ignore_notifications_modal.filter_to_act_users": "Man vil stadig kunne acceptere, afvise eller anmelde brugere", + "ignore_notifications_modal.filter_to_avoid_confusion": "Filtrering medvirker til at undgå potentiel forvirring", + "ignore_notifications_modal.filter_to_review_separately": "Man kan gennemgå filtrerede notifikationer separat", + "ignore_notifications_modal.ignore": "Ignorér notifikationer", + "ignore_notifications_modal.limited_accounts_title": "Ignorér notifikationer fra modererede konti?", + "ignore_notifications_modal.new_accounts_title": "Ignorér notifikationer fra nye konti?", + "ignore_notifications_modal.not_followers_title": "Ignorér notifikationer fra folk, som ikke er følgere?", + "ignore_notifications_modal.not_following_title": "Ignorér notifikationer fra folk, man ikke følger?", + "ignore_notifications_modal.private_mentions_title": "Ignorér notifikationer fra uopfordrede Private omtaler?", "interaction_modal.description.favourite": "Med en konto på Mastodon kan dette indlæg gøres til favorit for at lade forfatteren vide, at det værdsættes og gemmes til senere.", "interaction_modal.description.follow": "Med en konto på Mastodon kan du følge {name} for at modtage vedkommendes indlæg i dit hjemmefeed.", "interaction_modal.description.reblog": "Med en konto på Mastodon kan dette indlæg fremhæves så det deles med egne følgere.", @@ -445,9 +468,8 @@ "mute_modal.title": "Tavsgør bruger?", "mute_modal.you_wont_see_mentions": "Indlæg, som nævner vedkommende, vises ikke.", "mute_modal.you_wont_see_posts": "Vedkommende kan stadig se dine indlæg, med vedkommendes vise ikke.", - "name_and_others": "{name} og {count, plural, one {# anden} other {# andre}}", - "name_and_others_with_link": "{name} og {count, plural, one {# anden} other {# andre}}", "navigation_bar.about": "Om", + "navigation_bar.administration": "Håndtering", "navigation_bar.advanced_interface": "Åbn i avanceret webgrænseflade", "navigation_bar.blocks": "Blokerede brugere", "navigation_bar.bookmarks": "Bogmærker", @@ -464,6 +486,7 @@ "navigation_bar.follows_and_followers": "Følges og følgere", "navigation_bar.lists": "Lister", "navigation_bar.logout": "Log af", + "navigation_bar.moderation": "Moderering", "navigation_bar.mutes": "Skjulte brugere (mutede)", "navigation_bar.opened_in_classic_interface": "Indlæg, konti og visse andre sider åbnes som standard i den klassiske webgrænseflade.", "navigation_bar.personal": "Personlig", @@ -479,10 +502,18 @@ "notification.admin.report_statuses": "{name} anmeldte {target} angående {category}", "notification.admin.report_statuses_other": "{name} anmeldte {target}", "notification.admin.sign_up": "{name} tilmeldte sig", + "notification.admin.sign_up.name_and_others": "{name} og {count, plural, one {# anden} other {# andre}} tilmeldte sig", "notification.favourite": "{name} favoritmarkerede dit indlæg", + "notification.favourite.name_and_others_with_link": "{name} og {count, plural, one {# anden} other {# andre}} gjorde dit indlæg til favorit", "notification.follow": "{name} begyndte at følge dig", + "notification.follow.name_and_others": "{name} og {count, plural, one {# anden} other {# andre}} følger dig", "notification.follow_request": "{name} har anmodet om at følge dig", - "notification.mention": "{name} nævnte dig", + "notification.follow_request.name_and_others": "{name} og {count, plural, one {# anden} other {# andre}} har anmodet om at følger dig", + "notification.label.mention": "Omtale", + "notification.label.private_mention": "Privat omtale", + "notification.label.private_reply": "Privat svar", + "notification.label.reply": "Besvar", + "notification.mention": "Omtale", "notification.moderation-warning.learn_more": "Læs mere", "notification.moderation_warning": "Du er tildelt en moderationsadvarsel", "notification.moderation_warning.action_delete_statuses": "Nogle af dine indlæg er blevet fjernet.", @@ -494,8 +525,8 @@ "notification.moderation_warning.action_suspend": "Din konto er suspenderet.", "notification.own_poll": "Din afstemning er afsluttet", "notification.poll": "En afstemning, hvori du har stemt, er slut", - "notification.private_mention": "{name} nævnte dig privat", "notification.reblog": "{name} boostede dit indlæg", + "notification.reblog.name_and_others_with_link": "{name} og {count, plural, one {# anden} other {# andre}} boostede dit indlæg", "notification.relationships_severance_event": "Mistede forbindelser med {name}", "notification.relationships_severance_event.account_suspension": "En admin fra {from} har suspenderet {target}, hvofor opdateringer herfra eller interaktion hermed ikke længer er mulig.", "notification.relationships_severance_event.domain_block": "En admin fra {from} har blokeret {target}, herunder {followersCount} tilhængere og {followingCount, plural, one {# konto, der} other {# konti, som}} følges.", @@ -504,11 +535,24 @@ "notification.status": "{name} har netop postet", "notification.update": "{name} redigerede et indlæg", "notification_requests.accept": "Acceptér", + "notification_requests.accept_multiple": "{count, plural, one {Acceptér # anmodning…} other {Acceptér # anmodninger…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Acceptér anmodning} other {Acceptér anmodninger}}", + "notification_requests.confirm_accept_multiple.message": "{count, plural, one {En notifikationsanmodning} other {# notifikationsanmodninger}} er ved at blive accepteret. Fortsæt, sikker?", + "notification_requests.confirm_accept_multiple.title": "Acceptér notifikationsanmodninger?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Afvis anmodning} other {Afvis anmodninger}}", + "notification_requests.confirm_dismiss_multiple.message": "{count, plural, one {En notifikationsanmodning} other {# notifikationsanmodninger}} er ved at blive afvist, hvorfor man ikke nemt vil kunne tilgå {count, plural, one {den} other {dem}} igen. Fortsæt, sikker?", + "notification_requests.confirm_dismiss_multiple.title": "Afvis notifikationsanmodninger?", "notification_requests.dismiss": "Afvis", + "notification_requests.dismiss_multiple": "{count, plural, one {Afvis # anmodning…} other {Afvis # anmodninger…}}", + "notification_requests.edit_selection": "Redigér", + "notification_requests.exit_selection": "Udført", + "notification_requests.explainer_for_limited_account": "Notifikationer fra denne konto er blevet filtreret, da kontoen er pålagt restriktioner af en moderator.", + "notification_requests.explainer_for_limited_remote_account": "Notifikationer fra denne konto er blevet filtreret, da kontoen eller dens server er pålagt restriktioner af en moderator.", "notification_requests.maximize": "Maksimér", "notification_requests.minimize_banner": "Minimér filtrerede notifikationsbanner", "notification_requests.notifications_from": "Notifikationer fra {name}", "notification_requests.title": "Filtrerede notifikationer", + "notification_requests.view": "Vis notifikationer", "notifications.clear": "Ryd notifikationer", "notifications.clear_confirmation": "Er du sikker på, at du vil rydde alle dine notifikationer permanent?", "notifications.clear_title": "Ryd notifikationer?", @@ -545,6 +589,12 @@ "notifications.permission_denied": "Computernotifikationer er utilgængelige grundet tidligere afvist browsertilladelsesanmodning", "notifications.permission_denied_alert": "Computernotifikationer kan ikke aktiveres, da browsertilladelse tidligere blev nægtet", "notifications.permission_required": "Computernotifikationer er utilgængelige, da den krævede tilladelse ikke er tildelt.", + "notifications.policy.accept": "Acceptér", + "notifications.policy.accept_hint": "Vis notifikationer", + "notifications.policy.drop": "Ignorér", + "notifications.policy.drop_hint": "Send til intetheden, for aldrig at blive set igen", + "notifications.policy.filter": "Filter", + "notifications.policy.filter_hint": "Send til filtrerede notifikationsindbakke", "notifications.policy.filter_limited_accounts_hint": "Begrænset af servermoderatorer", "notifications.policy.filter_limited_accounts_title": "Modererede konti", "notifications.policy.filter_new_accounts.hint": "Oprettet indenfor {days, plural, one {den seneste dag} other {de seneste # dage}}", @@ -555,7 +605,7 @@ "notifications.policy.filter_not_following_title": "Folk, du ikke følger", "notifications.policy.filter_private_mentions_hint": "Filtreret, medmindre det er i svar på egen omtale, eller hvis afsenderen følges", "notifications.policy.filter_private_mentions_title": "Uopfordrede private omtaler", - "notifications.policy.title": "Bortfiltrér notifikationer fra…", + "notifications.policy.title": "Håndtér notifikationer fra…", "notifications_permission_banner.enable": "Aktivér computernotifikationer", "notifications_permission_banner.how_to_control": "Aktivér computernotifikationer for at få besked, når Mastodon ikke er åben. Når de er aktiveret, kan man via knappen {icon} ovenfor præcist styre, hvilke typer af interaktioner, som genererer computernotifikationer.", "notifications_permission_banner.title": "Gå aldrig glip af noget", @@ -742,8 +792,6 @@ "status.favourite": "Favorit", "status.favourites": "{count, plural, one {# favorit} other {# favoritter}}", "status.filter": "Filtrér dette indlæg", - "status.filtered": "Filtreret", - "status.hide": "Skjul indlæg", "status.history.created": "{name} oprettet {date}", "status.history.edited": "{name} redigeret {date}", "status.load_more": "Indlæs mere", @@ -771,10 +819,7 @@ "status.report": "Anmeld @{name}", "status.sensitive_warning": "Følsomt indhold", "status.share": "Del", - "status.show_filter_reason": "Vis alligevel", - "status.show_less": "Vis mindre", "status.show_less_all": "Vis mindre for alle", - "status.show_more": "Vis mere", "status.show_more_all": "Vis mere for alle", "status.show_original": "Vis original", "status.title.with_attachments": "{user} postede {attachmentCount, plural, one {en vedhæftning} other {{attachmentCount} vedhæftninger}}", @@ -793,10 +838,6 @@ "time_remaining.minutes": "{number, plural, one {# minut} other {# minutter}} tilbage", "time_remaining.moments": "Få øjeblikke tilbage", "time_remaining.seconds": "{number, plural, one {# sekund} other {# sekunder}} tilbage", - "timeline_hint.remote_resource_not_displayed": "{resource} fra andre servere vises ikke.", - "timeline_hint.resources.followers": "Følgere", - "timeline_hint.resources.follows": "Følger", - "timeline_hint.resources.statuses": "Ældre indlæg", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} personer}} {days, plural, one {den seneste dag} other {de seneste {days} dage}}", "trends.trending_now": "Hot lige nu", "ui.beforeunload": "Dit udkast går tabt, hvis du lukker Mastodon.", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 49821da68e1..3c180f9f5cc 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -19,7 +19,6 @@ "account.block_domain": "{domain} sperren", "account.block_short": "Blockieren", "account.blocked": "Blockiert", - "account.browse_more_on_origin_server": "Mehr auf dem Originalprofil durchsuchen", "account.cancel_follow_request": "Folgeanfrage zurückziehen", "account.copy": "Link zum Profil kopieren", "account.direct": "@{name} privat erwähnen", @@ -97,7 +96,9 @@ "block_modal.they_will_know": "Es wird erkennbar sein, dass dieses Profil blockiert wurde.", "block_modal.title": "Profil blockieren?", "block_modal.you_wont_see_mentions": "Du wirst keine Beiträge sehen, die dieses Profil erwähnen.", - "boost_modal.combo": "Mit {combo} wird dieses Fenster beim nächsten Mal nicht mehr angezeigt", + "boost_modal.combo": "Mit {combo} erscheint dieses Fenster beim nächsten Mal nicht mehr", + "boost_modal.reblog": "Beitrag teilen?", + "boost_modal.undo_reblog": "Beitrag nicht mehr teilen?", "bundle_column_error.copy_stacktrace": "Fehlerbericht kopieren", "bundle_column_error.error.body": "Die angeforderte Seite konnte nicht dargestellt werden. Dies könnte auf einen Fehler in unserem Code oder auf ein Browser-Kompatibilitätsproblem zurückzuführen sein.", "bundle_column_error.error.title": "Oh nein!", @@ -185,7 +186,7 @@ "confirmations.logout.title": "Abmelden?", "confirmations.mute.confirm": "Stummschalten", "confirmations.redraft.confirm": "Löschen und neu erstellen", - "confirmations.redraft.message": "Möchtest du diesen Beitrag wirklich löschen und neu verfassen? Favoriten und geteilte Beiträge gehen verloren, und Antworten auf den ursprünglichen Beitrag verlieren den Zusammenhang.", + "confirmations.redraft.message": "Möchtest du diesen Beitrag wirklich löschen und neu verfassen? Alle Favoriten sowie die bisher geteilten Beiträge werden verloren gehen und Antworten auf den ursprünglichen Beitrag verlieren den Zusammenhang.", "confirmations.redraft.title": "Beitrag löschen und neu erstellen?", "confirmations.reply.confirm": "Antworten", "confirmations.reply.message": "Wenn du jetzt darauf antwortest, wird der andere Beitrag, an dem du gerade geschrieben hast, verworfen. Möchtest du wirklich fortfahren?", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "Entfolgen", "confirmations.unfollow.message": "Möchtest du {name} wirklich entfolgen?", "confirmations.unfollow.title": "Profil entfolgen?", + "content_warning.hide": "Beitrag ausblenden", + "content_warning.show": "Trotzdem anzeigen", "conversation.delete": "Unterhaltung löschen", "conversation.mark_as_read": "Als gelesen markieren", "conversation.open": "Unterhaltung anzeigen", @@ -300,6 +303,7 @@ "filter_modal.select_filter.subtitle": "Einem vorhandenen Filter hinzufügen oder einen neuen erstellen", "filter_modal.select_filter.title": "Diesen Beitrag filtern", "filter_modal.title.status": "Beitrag per Filter ausblenden", + "filter_warning.matches_filter": "Übereinstimmend mit dem Filter „{title}“", "filtered_notifications_banner.pending_requests": "Von {count, plural, =0 {keinem, den} one {einer Person, die} other {# Personen, die}} du möglicherweise kennst", "filtered_notifications_banner.title": "Gefilterte Benachrichtigungen", "firehose.all": "Alles", @@ -349,6 +353,14 @@ "hashtag.follow": "Hashtag folgen", "hashtag.unfollow": "Hashtag entfolgen", "hashtags.and_other": "… und {count, plural, one{# weiterer} other {# weitere}}", + "hints.profiles.followers_may_be_missing": "Möglicherweise werden für dieses Profil nicht alle Follower angezeigt.", + "hints.profiles.follows_may_be_missing": "Möglicherweise werden für dieses Profil nicht alle gefolgten Profile angezeigt.", + "hints.profiles.posts_may_be_missing": "Möglicherweise werden nicht alle Beiträge von diesem Profil angezeigt.", + "hints.profiles.see_more_followers": "Weitere Follower auf {domain} ansehen", + "hints.profiles.see_more_follows": "Weitere gefolgte Profile auf {domain} ansehen", + "hints.profiles.see_more_posts": "Weitere Beiträge auf {domain} ansehen", + "hints.threads.replies_may_be_missing": "Möglicherweise werden nicht alle Antworten von anderen Servern angezeigt.", + "hints.threads.see_more": "Weitere Antworten auf {domain} ansehen", "home.column_settings.show_reblogs": "Geteilte Beiträge anzeigen", "home.column_settings.show_replies": "Antworten anzeigen", "home.hide_announcements": "Ankündigungen ausblenden", @@ -356,6 +368,17 @@ "home.pending_critical_update.link": "Updates ansehen", "home.pending_critical_update.title": "Kritisches Sicherheitsupdate verfügbar!", "home.show_announcements": "Ankündigungen anzeigen", + "ignore_notifications_modal.disclaimer": "Mastodon kann anderen Nutzer*innen nicht mitteilen, dass du deren Benachrichtigungen ignorierst. Das Ignorieren von Benachrichtigungen wird nicht das Absenden der Nachricht selbst unterbinden.", + "ignore_notifications_modal.filter_instead": "Stattdessen filtern", + "ignore_notifications_modal.filter_to_act_users": "Du wirst weiterhin die Möglichkeit haben, andere Nutzer*innen zu genehmigen, abzulehnen oder zu melden", + "ignore_notifications_modal.filter_to_avoid_confusion": "Filtern hilft, mögliches Durcheinander zu vermeiden", + "ignore_notifications_modal.filter_to_review_separately": "Gefilterte Benachrichtigungen können separat überprüft werden", + "ignore_notifications_modal.ignore": "Benachrichtigungen ignorieren", + "ignore_notifications_modal.limited_accounts_title": "Benachrichtigungen von moderierten Konten ignorieren?", + "ignore_notifications_modal.new_accounts_title": "Benachrichtigungen von neuen Konten ignorieren?", + "ignore_notifications_modal.not_followers_title": "Benachrichtigungen von Profilen ignorieren, die dir nicht folgen?", + "ignore_notifications_modal.not_following_title": "Benachrichtigungen von Profilen ignorieren, denen du nicht folgst?", + "ignore_notifications_modal.private_mentions_title": "Benachrichtigungen von unerwünschten privaten Erwähnungen ignorieren?", "interaction_modal.description.favourite": "Mit einem Mastodon-Konto kannst du diesen Beitrag favorisieren, um deine Wertschätzung auszudrücken, und ihn für einen späteren Zeitpunkt speichern.", "interaction_modal.description.follow": "Mit einem Mastodon-Konto kannst du {name} folgen, um die Beiträge auf deiner Startseite zu sehen.", "interaction_modal.description.reblog": "Mit einem Mastodon-Konto kannst du die Reichweite dieses Beitrags erhöhen, indem du ihn mit deinen Followern teilst.", @@ -445,9 +468,8 @@ "mute_modal.title": "Profil stummschalten?", "mute_modal.you_wont_see_mentions": "Du wirst keine Beiträge sehen, die dieses Profil erwähnen.", "mute_modal.you_wont_see_posts": "Deine Beiträge können weiterhin angesehen werden, aber du wirst deren Beiträge nicht mehr sehen.", - "name_and_others": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}}", - "name_and_others_with_link": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}}", "navigation_bar.about": "Über", + "navigation_bar.administration": "Administration", "navigation_bar.advanced_interface": "Im erweiterten Webinterface öffnen", "navigation_bar.blocks": "Blockierte Profile", "navigation_bar.bookmarks": "Lesezeichen", @@ -464,6 +486,7 @@ "navigation_bar.follows_and_followers": "Follower und Folge ich", "navigation_bar.lists": "Listen", "navigation_bar.logout": "Abmelden", + "navigation_bar.moderation": "Moderation", "navigation_bar.mutes": "Stummgeschaltete Profile", "navigation_bar.opened_in_classic_interface": "Beiträge, Konten und andere bestimmte Seiten werden standardmäßig im klassischen Webinterface geöffnet.", "navigation_bar.personal": "Persönlich", @@ -479,10 +502,18 @@ "notification.admin.report_statuses": "{name} meldete {target} wegen {category}", "notification.admin.report_statuses_other": "{name} meldete {target}", "notification.admin.sign_up": "{name} registrierte sich", + "notification.admin.sign_up.name_and_others": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}} registrierten sich", "notification.favourite": "{name} favorisierte deinen Beitrag", + "notification.favourite.name_and_others_with_link": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}} favorisierten deinen Beitrag", "notification.follow": "{name} folgt dir", + "notification.follow.name_and_others": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}} folgen dir", "notification.follow_request": "{name} möchte dir folgen", - "notification.mention": "{name} erwähnte dich", + "notification.follow_request.name_and_others": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}} möchten dir folgen", + "notification.label.mention": "Erwähnung", + "notification.label.private_mention": "Private Erwähnung", + "notification.label.private_reply": "Private Antwort", + "notification.label.reply": "Antwort", + "notification.mention": "Erwähnung", "notification.moderation-warning.learn_more": "Mehr erfahren", "notification.moderation_warning": "Du wurdest von den Moderator*innen verwarnt", "notification.moderation_warning.action_delete_statuses": "Einige deiner Beiträge sind entfernt worden.", @@ -494,8 +525,8 @@ "notification.moderation_warning.action_suspend": "Dein Konto wurde gesperrt.", "notification.own_poll": "Deine Umfrage ist beendet", "notification.poll": "Eine Umfrage, an der du teilgenommen hast, ist beendet", - "notification.private_mention": "{name} hat dich privat erwähnt", "notification.reblog": "{name} teilte deinen Beitrag", + "notification.reblog.name_and_others_with_link": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}} teilten deinen Beitrag", "notification.relationships_severance_event": "Verbindungen mit {name} verloren", "notification.relationships_severance_event.account_suspension": "Ein Admin von {from} hat {target} gesperrt. Du wirst von diesem Profil keine Updates mehr erhalten und auch nicht mit ihm interagieren können.", "notification.relationships_severance_event.domain_block": "Ein Admin von {from} hat {target} blockiert – darunter {followersCount} deiner Follower und {followingCount, plural, one {# Konto, dem} other {# Konten, denen}} du folgst.", @@ -503,12 +534,25 @@ "notification.relationships_severance_event.user_domain_block": "Du hast {target} blockiert – {followersCount} deiner Follower und {followingCount, plural, one {# Konto, dem} other {# Konten, denen}} du folgst, wurden entfernt.", "notification.status": "{name} hat gerade etwas gepostet", "notification.update": "{name} bearbeitete einen Beitrag", - "notification_requests.accept": "Akzeptieren", + "notification_requests.accept": "Genehmigen", + "notification_requests.accept_multiple": "{count, plural, one {# Anfrage genehmigen …} other {# Anfragen genehmigen …}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Anfrage genehmigen} other {Anfragen genehmigen}}", + "notification_requests.confirm_accept_multiple.message": "Du bist dabei, {{count, plural, one {eine Benachrichtigungsanfrage} other {# Benachrichtigungsanfragen}} zu genehmigen. Möchtest du wirklich fortfahren?", + "notification_requests.confirm_accept_multiple.title": "Benachrichtigungsanfragen genehmigen?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Anfrage ablehnen} other {Anfragen ablehnen}}", + "notification_requests.confirm_dismiss_multiple.message": "Du bist dabei, {count, plural, one {eine Benachrichtigungsanfrage} other {# Benachrichtigungsanfragen}} abzulehnen. Du wirst nicht mehr ohne Weiteres auf {count, plural, one {sie} other {sie}} zugreifen können. Möchtest du wirklich fortfahren?", + "notification_requests.confirm_dismiss_multiple.title": "Benachrichtigungsanfragen ablehnen?", "notification_requests.dismiss": "Ablehnen", + "notification_requests.dismiss_multiple": "{count, plural, one {# Anfrage ablehnen …} other {# Anfragen ablehnen …}}", + "notification_requests.edit_selection": "Bearbeiten", + "notification_requests.exit_selection": "Fertig", + "notification_requests.explainer_for_limited_account": "Benachrichtigungen von diesem Konto wurden gefiltert, weil es durch Moderator*innen eingeschränkt wurde.", + "notification_requests.explainer_for_limited_remote_account": "Benachrichtigungen von diesem Konto wurden gefiltert, weil deren Konto oder Server durch Moderator*innen eingeschränkt wurde.", "notification_requests.maximize": "Maximieren", "notification_requests.minimize_banner": "Banner für gefilterte Benachrichtigungen minimieren", "notification_requests.notifications_from": "Benachrichtigungen von {name}", "notification_requests.title": "Gefilterte Benachrichtigungen", + "notification_requests.view": "Benachrichtigungen anzeigen", "notifications.clear": "Benachrichtigungen löschen", "notifications.clear_confirmation": "Möchtest du wirklich alle Benachrichtigungen für immer löschen?", "notifications.clear_title": "Benachrichtigungen löschen?", @@ -545,15 +589,23 @@ "notifications.permission_denied": "Desktop-Benachrichtigungen können aufgrund einer zuvor verweigerten Berechtigung nicht aktiviert werden", "notifications.permission_denied_alert": "Desktop-Benachrichtigungen können nicht aktiviert werden, da die Browser-Berechtigung zuvor verweigert wurde", "notifications.permission_required": "Desktop-Benachrichtigungen sind nicht verfügbar, da die erforderliche Berechtigung nicht erteilt wurde.", + "notifications.policy.accept": "Akzeptieren", + "notifications.policy.accept_hint": "In Benachrichtigungen anzeigen", + "notifications.policy.drop": "Ignorieren", + "notifications.policy.drop_hint": "In die Leere senden und nie wieder sehen", + "notifications.policy.filter": "Filtern", + "notifications.policy.filter_hint": "An gefilterte Benachrichtigungen im Posteingang senden", + "notifications.policy.filter_limited_accounts_hint": "Durch Server-Moderator*innen eingeschränkt", + "notifications.policy.filter_limited_accounts_title": "Moderierte Konten", "notifications.policy.filter_new_accounts.hint": "Innerhalb {days, plural, one {des letzten Tages} other {der letzten # Tagen}} erstellt", "notifications.policy.filter_new_accounts_title": "Neuen Konten", "notifications.policy.filter_not_followers_hint": "Einschließlich Profilen, die dir seit weniger als {days, plural, one {einem Tag} other {# Tagen}} folgen", "notifications.policy.filter_not_followers_title": "Profilen, die mir nicht folgen", - "notifications.policy.filter_not_following_hint": "Solange du sie nicht manuell akzeptierst", + "notifications.policy.filter_not_following_hint": "Bis du sie manuell genehmigst", "notifications.policy.filter_not_following_title": "Profilen, denen ich nicht folge", "notifications.policy.filter_private_mentions_hint": "Solange sie keine Antwort auf deine Erwähnung ist oder du dem Profil nicht folgst", "notifications.policy.filter_private_mentions_title": "Unerwünschten privaten Erwähnungen", - "notifications.policy.title": "Benachrichtigungen herausfiltern von …", + "notifications.policy.title": "Benachrichtigungen verwalten von …", "notifications_permission_banner.enable": "Aktiviere Desktop-Benachrichtigungen", "notifications_permission_banner.how_to_control": "Um Benachrichtigungen zu erhalten, wenn Mastodon nicht geöffnet ist, aktiviere die Desktop-Benachrichtigungen. Du kannst genau bestimmen, welche Arten von Interaktionen Desktop-Benachrichtigungen über die {icon} -Taste erzeugen, sobald diese aktiviert sind.", "notifications_permission_banner.title": "Nichts verpassen", @@ -615,9 +667,9 @@ "privacy.private.short": "Follower", "privacy.public.long": "Alle in und außerhalb von Mastodon", "privacy.public.short": "Öffentlich", - "privacy.unlisted.additional": "Das Verhalten ist wie bei „Öffentlich“, jedoch erscheint dieser Beitrag nicht in „Live-Feeds“, „Erkunden“, Hashtags oder über die Mastodon-Suchfunktion – selbst wenn du das in den Einstellungen aktiviert hast.", + "privacy.unlisted.additional": "Das Verhalten ist wie bei „Öffentlich“, jedoch gibt es einige Einschränkungen. Der Beitrag wird nicht in „Live-Feeds“, „Erkunden“, Hashtags oder über die Mastodon-Suchfunktion auffindbar sein – selbst wenn die zugehörige Einstellung aktiviert wurde.", "privacy.unlisted.long": "Weniger im Algorithmus berücksichtigt", - "privacy.unlisted.short": "Öffentlich (eingeschränkt)", + "privacy.unlisted.short": "Öffentlich (still)", "privacy_policy.last_updated": "Stand: {date}", "privacy_policy.title": "Datenschutzerklärung", "recommended": "Empfohlen", @@ -740,8 +792,6 @@ "status.favourite": "Favorisieren", "status.favourites": "{count, plural, one {Mal favorisiert} other {Mal favorisiert}}", "status.filter": "Beitrag filtern", - "status.filtered": "Gefiltert", - "status.hide": "Beitrag ausblenden", "status.history.created": "{name} erstellte {date}", "status.history.edited": "{name} bearbeitete {date}", "status.load_more": "Mehr laden", @@ -769,10 +819,7 @@ "status.report": "@{name} melden", "status.sensitive_warning": "Inhaltswarnung", "status.share": "Teilen", - "status.show_filter_reason": "Trotzdem anzeigen", - "status.show_less": "Weniger anzeigen", "status.show_less_all": "Alles einklappen", - "status.show_more": "Mehr anzeigen", "status.show_more_all": "Alles ausklappen", "status.show_original": "Ursprünglichen Beitrag anzeigen", "status.title.with_attachments": "{user} veröffentlichte {attachmentCount, plural, one {ein Medium} other {{attachmentCount} Medien}}", @@ -791,10 +838,6 @@ "time_remaining.minutes": "noch {number, plural, one {# Minute} other {# Minuten}}", "time_remaining.moments": "Wird gleich beendet", "time_remaining.seconds": "noch {number, plural, one {# Sekunde} other {# Sekunden}}", - "timeline_hint.remote_resource_not_displayed": "{resource} von anderen Servern werden nicht angezeigt.", - "timeline_hint.resources.followers": "Follower", - "timeline_hint.resources.follows": "„Folge ich“", - "timeline_hint.resources.statuses": "Ältere Beiträge", "trends.counter_by_accounts": "{count, plural, one {{counter} Profil} other {{counter} Profile}} {days, plural, one {seit gestern} other {in {days} Tagen}}", "trends.trending_now": "Aktuelle Trends", "ui.beforeunload": "Dein Entwurf geht verloren, wenn du Mastodon verlässt.", diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index f500bd352d4..a3adaaf9d11 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -19,7 +19,6 @@ "account.block_domain": "Αποκλεισμός τομέα {domain}", "account.block_short": "Αποκλεισμός", "account.blocked": "Αποκλεισμένος/η", - "account.browse_more_on_origin_server": "Δες περισσότερα στο αρχικό προφίλ", "account.cancel_follow_request": "Απόσυρση αιτήματος παρακολούθησης", "account.copy": "Αντιγραφή συνδέσμου προφίλ", "account.direct": "Ιδιωτική αναφορά @{name}", @@ -349,6 +348,14 @@ "hashtag.follow": "Παρακολούθηση ετικέτας", "hashtag.unfollow": "Διακοπή παρακολούθησης ετικέτας", "hashtags.and_other": "…και {count, plural, one {}other {# ακόμη}}", + "hints.profiles.followers_may_be_missing": "Μπορεί να λείπουν ακόλουθοι για αυτό το προφίλ.", + "hints.profiles.follows_may_be_missing": "Άτομα που ακολουθούνται μπορεί να λείπουν απ' αυτό το προφίλ.", + "hints.profiles.posts_may_be_missing": "Κάποιες αναρτήσεις από αυτό το προφίλ μπορεί να λείπουν.", + "hints.profiles.see_more_followers": "Δες περισσότερους ακόλουθους στο {domain}", + "hints.profiles.see_more_follows": "Δες περισσότερα άτομα που ακολουθούνται στο {domain}", + "hints.profiles.see_more_posts": "Δες περισσότερες αναρτήσεις στο {domain}", + "hints.threads.replies_may_be_missing": "Απαντήσεις από άλλους διακομιστές μπορεί να λείπουν.", + "hints.threads.see_more": "Δες περισσότερες αναρτήσεις στο {domain}", "home.column_settings.show_reblogs": "Εμφάνιση προωθήσεων", "home.column_settings.show_replies": "Εμφάνιση απαντήσεων", "home.hide_announcements": "Απόκρυψη ανακοινώσεων", @@ -356,6 +363,17 @@ "home.pending_critical_update.link": "Δείτε ενημερώσεις", "home.pending_critical_update.title": "Κρίσιμη ενημέρωση ασφαλείας διαθέσιμη!", "home.show_announcements": "Εμφάνιση ανακοινώσεων", + "ignore_notifications_modal.disclaimer": "Το Mastodon δε μπορεί να ενημερώσει τους χρήστες ότι αγνόησες τις ειδοποιήσεις του. Η αγνόηση ειδοποιήσεων δεν θα εμποδίσει την αποστολή των ίδιων των μηνυμάτων.", + "ignore_notifications_modal.filter_instead": "Φίλτρο αντ' αυτού", + "ignore_notifications_modal.filter_to_act_users": "Θα μπορείς ακόμα να αποδεχθείς, να απορρίψεις ή να αναφέρεις χρήστες", + "ignore_notifications_modal.filter_to_avoid_confusion": "Το φιλτράρισμα βοηθά στην αποφυγή πιθανής σύγχυσης", + "ignore_notifications_modal.filter_to_review_separately": "Μπορείς να δεις τις φιλτραρισμένες ειδοποιήσεις ξεχωριστά", + "ignore_notifications_modal.ignore": "Αγνόηση ειδοποιήσεων", + "ignore_notifications_modal.limited_accounts_title": "Αγνόηση ειδοποιήσεων από συντονισμένους λογαριασμούς;", + "ignore_notifications_modal.new_accounts_title": "Αγνόηση ειδοποιήσεων από νέους λογαριασμούς;", + "ignore_notifications_modal.not_followers_title": "Αγνόηση ειδοποιήσεων από άτομα που δε σας ακολουθούν;", + "ignore_notifications_modal.not_following_title": "Αγνόηση ειδοποιήσεων από άτομα που δεν ακολουθείς;", + "ignore_notifications_modal.private_mentions_title": "Αγνόηση ειδοποιήσεων από μη ζητηθείσες ιδιωτικές αναφορές;", "interaction_modal.description.favourite": "Με ένα συντάκτη στο Mastodon μπορείς να αγαπήσεις αυτή την ανάρτηση, για να ενημερώσεις τον συγγραφέα ότι την εκτιμάς και να την αποθηκεύσεις για αργότερα.", "interaction_modal.description.follow": "Με έναν λογαριασμό Mastodon, μπορείς να ακολουθήσεις τον/την {name} ώστε να λαμβάνεις τις αναρτήσεις του/της στη δική σου ροή.", "interaction_modal.description.reblog": "Με ένα λογαριασμό Mastodon, μπορείς να ενισχύσεις αυτή την ανάρτηση για να τη μοιραστείς με τους δικούς σου ακολούθους.", @@ -445,8 +463,6 @@ "mute_modal.title": "Σίγαση χρήστη;", "mute_modal.you_wont_see_mentions": "Δε θα βλέπεις τις αναρτήσεις που τον αναφέρουν.", "mute_modal.you_wont_see_posts": "Μπορεί ακόμα να δει τις αναρτήσεις σου, αλλά δε θα βλέπεις τις δικές του.", - "name_and_others": "{name} και {count, plural, one {# ακόμη} other {# ακόμη}}", - "name_and_others_with_link": "{name} και {count, plural, one {# ακόμη} other {# ακόμη}}", "navigation_bar.about": "Σχετικά με", "navigation_bar.advanced_interface": "Άνοιγμα σε προηγμένη διεπαφή ιστού", "navigation_bar.blocks": "Αποκλεισμένοι χρήστες", @@ -479,10 +495,18 @@ "notification.admin.report_statuses": "Ο χρήστης {name} ανέφερε τον χρήστη {target} για {category}", "notification.admin.report_statuses_other": "Ο χρήστης {name} ανέφερε τον χρήστη {target}", "notification.admin.sign_up": "{name} έχει εγγραφεί", + "notification.admin.sign_up.name_and_others": "{name} και {count, plural, one {# ακόμη} other {# ακόμη}} έχουν εγγραφεί", "notification.favourite": "{name} favorited your post\n{name} προτίμησε την ανάρτηση σου", + "notification.favourite.name_and_others_with_link": "{name} και {count, plural, one {# ακόμη} other {# ακόμη}} αγάπησαν την ανάρτησή σου", "notification.follow": "Ο/Η {name} σε ακολούθησε", + "notification.follow.name_and_others": "{name} και {count, plural, one {# ακόμη} other {# ακόμη}} σε ακολούθησαν", "notification.follow_request": "Ο/H {name} ζήτησε να σε ακολουθήσει", - "notification.mention": "Ο/Η {name} σε επισήμανε", + "notification.follow_request.name_and_others": "{name} και {count, plural, one {# άλλος} other {# άλλοι}} ζήτησαν να σε ακολουθήσουν", + "notification.label.mention": "Επισήμανση", + "notification.label.private_mention": "Ιδιωτική επισήμανση", + "notification.label.private_reply": "Ιδιωτική απάντηση", + "notification.label.reply": "Απάντηση", + "notification.mention": "Επισήμανση", "notification.moderation-warning.learn_more": "Μάθε περισσότερα", "notification.moderation_warning": "Έχετε λάβει μία προειδοποίηση συντονισμού", "notification.moderation_warning.action_delete_statuses": "Ορισμένες από τις αναρτήσεις σου έχουν αφαιρεθεί.", @@ -494,8 +518,8 @@ "notification.moderation_warning.action_suspend": "Ο λογαριασμός σου έχει ανασταλεί.", "notification.own_poll": "Η δημοσκόπησή σου έληξε", "notification.poll": "Μία ψηφοφορία στην οποία συμμετείχες έχει τελειώσει", - "notification.private_mention": "{name} σέ επισήμανε ιδιωτικά", "notification.reblog": "Ο/Η {name} ενίσχυσε τη δημοσίευσή σου", + "notification.reblog.name_and_others_with_link": "{name} και {count, plural, one {# ακόμη} other {# ακόμη}} ενίσχυσαν την ανάρτησή σου", "notification.relationships_severance_event": "Χάθηκε η σύνδεση με το {name}", "notification.relationships_severance_event.account_suspension": "Ένας διαχειριστής από το {from} ανέστειλε το {target}, πράγμα που σημαίνει ότι δεν μπορείς πλέον να λαμβάνεις ενημερώσεις από αυτούς ή να αλληλεπιδράς μαζί τους.", "notification.relationships_severance_event.domain_block": "Ένας διαχειριστής από {from} έχει μπλοκάρει το {target}, συμπεριλαμβανομένων {followersCount} από τους ακόλουθούς σου και {followingCount, plural, one {# λογαριασμό} other {# λογαριασμοί}} που ακολουθείς.", @@ -504,11 +528,24 @@ "notification.status": "Ο/Η {name} μόλις ανέρτησε κάτι", "notification.update": "ο/η {name} επεξεργάστηκε μια ανάρτηση", "notification_requests.accept": "Αποδοχή", + "notification_requests.accept_multiple": "{count, plural, one {Αποδοχή # αιτήματος…} other {Αποδοχή # αιτημάτων…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Αποδοχή αιτήματος} other {Αποδοχή αιτημάτων}}", + "notification_requests.confirm_accept_multiple.message": "Πρόκειται να αποδεχτείς {count, plural, one {ένα αίτημα ειδοποίησης} other {# αιτήματα ειδοποίησης}}. Σίγουρα θες να συνεχίσεις;", + "notification_requests.confirm_accept_multiple.title": "Αποδοχή αιτήσεων ειδοποίησης;", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Παράβλεψη αιτήματος} other {Παράβλεψη αιτημάτων}}", + "notification_requests.confirm_dismiss_multiple.message": "Πρόκειται να απορρίψεις {count, plural, one {ένα αίτημα ειδοποίησης} other {# αιτήματα ειδοποίησης}}. Δεν θα μπορείς να έχεις πρόσβαση εύκολα {count, plural, one {σε αυτό} other {σε αυτά}} ξανά. Σίγουρα θες να συνεχίσεις;", + "notification_requests.confirm_dismiss_multiple.title": "Απόρριψη αιτημάτων ειδοποίησης;", "notification_requests.dismiss": "Απόρριψη", + "notification_requests.dismiss_multiple": "{count, plural, one {Παράβλεψη # αιτήματος…} other {Παράβλεψη # αιτημάτων…}}", + "notification_requests.edit_selection": "Επεξεργασία", + "notification_requests.exit_selection": "Έγινε", + "notification_requests.explainer_for_limited_account": "Οι ειδοποιήσεις από αυτόν τον λογαριασμό έχουν φιλτραριστεί επειδή ο λογαριασμός έχει περιοριστεί από έναν συντονιστή.", + "notification_requests.explainer_for_limited_remote_account": "Οι ειδοποιήσεις από αυτόν τον λογαριασμό έχουν φιλτραριστεί επειδή ο λογαριασμός ή ο διακομιστής του έχει περιοριστεί από έναν συντονιστή.", "notification_requests.maximize": "Μεγιστοποίηση", "notification_requests.minimize_banner": "Ελαχιστοποίηση μπάνερ φιλτραρισμένων ειδοποιήσεων", "notification_requests.notifications_from": "Ειδοποιήσεις από {name}", "notification_requests.title": "Φιλτραρισμένες ειδοποιήσεις", + "notification_requests.view": "Προβολή ειδοποιήσεων", "notifications.clear": "Καθαρισμός ειδοποιήσεων", "notifications.clear_confirmation": "Σίγουρα θέλεις να καθαρίσεις μόνιμα όλες τις ειδοποιήσεις σου;", "notifications.clear_title": "Εκκαθάριση ειδοποιήσεων;", @@ -545,6 +582,14 @@ "notifications.permission_denied": "Οι ειδοποιήσεις στην επιφάνεια εργασίας δεν είναι διαθέσιμες διότι έχει απορριφθεί κάποιο προηγούμενο αίτημα άδειας", "notifications.permission_denied_alert": "Δεν είναι δυνατή η ενεργοποίηση των ειδοποιήσεων της επιφάνειας εργασίας, καθώς η άδεια του προγράμματος περιήγησης έχει απορριφθεί νωρίτερα", "notifications.permission_required": "Οι ειδοποιήσεις δεν είναι διαθέσιμες επειδή δεν έχει δοθεί η απαιτούμενη άδεια.", + "notifications.policy.accept": "Αποδοχή", + "notifications.policy.accept_hint": "Εμφάνιση στις ειδοποιήσεις", + "notifications.policy.drop": "Αγνόηση", + "notifications.policy.drop_hint": "Στείλε τες στο υπερπέραν, να μην ξαναδούν το φως του ήλιου", + "notifications.policy.filter": "Φίλτρο", + "notifications.policy.filter_hint": "Αποστολή στα εισερχόμενα φιλτραρισμένων ειδοποιήσεων", + "notifications.policy.filter_limited_accounts_hint": "Περιορισμένη από συντονιστές διακομιστή", + "notifications.policy.filter_limited_accounts_title": "Συντονισμένοι λογαριασμοί", "notifications.policy.filter_new_accounts.hint": "Δημιουργήθηκε εντός {days, plural, one {της τελευταίας ημέρας} other {των τελευταίων # ημερών}}", "notifications.policy.filter_new_accounts_title": "Νέοι λογαριασμοί", "notifications.policy.filter_not_followers_hint": "Συμπεριλαμβανομένων των ατόμων που σας έχουν ακολουθήσει λιγότερο από {days, plural, one {μια ημέρα} other {# ημέρες}} πριν", @@ -553,7 +598,7 @@ "notifications.policy.filter_not_following_title": "Άτομα που δεν ακολουθείς", "notifications.policy.filter_private_mentions_hint": "Φιλτραρισμένο εκτός αν είναι απάντηση σε δική σου αναφορά ή αν ακολουθείς τον αποστολέα", "notifications.policy.filter_private_mentions_title": "Μη συναινετικές ιδιωτικές αναφορές", - "notifications.policy.title": "Φιλτράρισμα ειδοποιήσεων από…", + "notifications.policy.title": "Διαχείριση ειδοποιήσεων από…", "notifications_permission_banner.enable": "Ενεργοποίηση ειδοποιήσεων επιφάνειας εργασίας", "notifications_permission_banner.how_to_control": "Για να λαμβάνεις ειδοποιήσεις όταν το Mastodon δεν είναι ανοιχτό, ενεργοποίησε τις ειδοποιήσεις επιφάνειας εργασίας. Μπορείς να ελέγξεις με ακρίβεια ποιοι τύποι αλληλεπιδράσεων δημιουργούν ειδοποιήσεις επιφάνειας εργασίας μέσω του κουμπιού {icon} μόλις ενεργοποιηθούν.", "notifications_permission_banner.title": "Μη χάσεις στιγμή", @@ -740,8 +785,6 @@ "status.favourite": "Αγαπημένα", "status.favourites": "{count, plural, one {# αγαπημένο} other {# αγαπημένα}}", "status.filter": "Φιλτράρισμα αυτής της ανάρτησης", - "status.filtered": "Φιλτραρισμένα", - "status.hide": "Απόκρυψη ανάρτησης", "status.history.created": "{name} δημιούργησε στις {date}", "status.history.edited": "{name} επεξεργάστηκε στις {date}", "status.load_more": "Φόρτωσε περισσότερα", @@ -769,10 +812,7 @@ "status.report": "Αναφορά @{name}", "status.sensitive_warning": "Ευαίσθητο περιεχόμενο", "status.share": "Κοινοποίηση", - "status.show_filter_reason": "Εμφάνιση παρ' όλα αυτά", - "status.show_less": "Δείξε λιγότερα", "status.show_less_all": "Δείξε λιγότερα για όλα", - "status.show_more": "Δείξε περισσότερα", "status.show_more_all": "Δείξε περισσότερα για όλα", "status.show_original": "Εμφάνιση αρχικού", "status.title.with_attachments": "{user} δημοσίευσε {attachmentCount, plural, one {ένα συνημμένο} other {{attachmentCount} συνημμένα}}", @@ -791,10 +831,6 @@ "time_remaining.minutes": "απομένουν {number, plural, one {# λεπτό} other {# λεπτά}}", "time_remaining.moments": "Στιγμές που απομένουν", "time_remaining.seconds": "απομένουν {number, plural, one {# δευτερόλεπτο} other {# δευτερόλεπτα}}", - "timeline_hint.remote_resource_not_displayed": "{resource} από άλλους διακομιστές δεν εμφανίζονται.", - "timeline_hint.resources.followers": "Ακόλουθοι", - "timeline_hint.resources.follows": "Ακολουθείς", - "timeline_hint.resources.statuses": "Παλαιότερες αναρτήσεις", "trends.counter_by_accounts": "{count, plural, one {{counter} άτομο} other {{counter} άτομα} }{days, plural, one { την τελευταία ημέρα} other { τις τελευταίες {days} ημέρες}}", "trends.trending_now": "Δημοφιλή τώρα", "ui.beforeunload": "Το προσχέδιό σου θα χαθεί αν φύγεις από το Mastodon.", diff --git a/app/javascript/mastodon/locales/en-GB.json b/app/javascript/mastodon/locales/en-GB.json index 1307184ddbc..e9007c8654f 100644 --- a/app/javascript/mastodon/locales/en-GB.json +++ b/app/javascript/mastodon/locales/en-GB.json @@ -11,6 +11,7 @@ "about.not_available": "This information has not been made available on this server.", "about.powered_by": "Decentralised social media powered by {mastodon}", "about.rules": "Server rules", + "account.account_note_header": "Personal note", "account.add_or_remove_from_list": "Add or Remove from lists", "account.badges.bot": "Automated", "account.badges.group": "Group", @@ -18,7 +19,6 @@ "account.block_domain": "Block domain {domain}", "account.block_short": "Block", "account.blocked": "Blocked", - "account.browse_more_on_origin_server": "Browse more on the original profile", "account.cancel_follow_request": "Cancel follow", "account.copy": "Copy link to profile", "account.direct": "Privately mention @{name}", @@ -97,6 +97,8 @@ "block_modal.title": "Block user?", "block_modal.you_wont_see_mentions": "You won't see posts that mention them.", "boost_modal.combo": "You can press {combo} to skip this next time", + "boost_modal.reblog": "Boost post?", + "boost_modal.undo_reblog": "Unboost post?", "bundle_column_error.copy_stacktrace": "Copy error report", "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", "bundle_column_error.error.title": "Oh, no!", @@ -170,21 +172,30 @@ "confirmations.block.confirm": "Block", "confirmations.delete.confirm": "Delete", "confirmations.delete.message": "Are you sure you want to delete this post?", + "confirmations.delete.title": "Delete post?", "confirmations.delete_list.confirm": "Delete", "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?", + "confirmations.delete_list.title": "Delete list?", "confirmations.discard_edit_media.confirm": "Discard", "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?", "confirmations.edit.confirm": "Edit", "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?", + "confirmations.edit.title": "Overwrite post?", "confirmations.logout.confirm": "Log out", "confirmations.logout.message": "Are you sure you want to log out?", + "confirmations.logout.title": "Log out?", "confirmations.mute.confirm": "Mute", "confirmations.redraft.confirm": "Delete & redraft", "confirmations.redraft.message": "Are you sure you want to delete this post and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.", + "confirmations.redraft.title": "Delete & redraft post?", "confirmations.reply.confirm": "Reply", "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?", + "confirmations.reply.title": "Overwrite post?", "confirmations.unfollow.confirm": "Unfollow", "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?", + "confirmations.unfollow.title": "Unfollow user?", + "content_warning.hide": "Hide post", + "content_warning.show": "Show anyway", "conversation.delete": "Delete conversation", "conversation.mark_as_read": "Mark as read", "conversation.open": "View conversation", @@ -292,6 +303,8 @@ "filter_modal.select_filter.subtitle": "Use an existing category or create a new one", "filter_modal.select_filter.title": "Filter this post", "filter_modal.title.status": "Filter a post", + "filter_warning.matches_filter": "Matches filter “{title}”", + "filtered_notifications_banner.pending_requests": "From {count, plural, =0 {no one} one {one person} other {# people}} you may know", "filtered_notifications_banner.title": "Filtered notifications", "firehose.all": "All", "firehose.local": "This server", @@ -340,6 +353,14 @@ "hashtag.follow": "Follow hashtag", "hashtag.unfollow": "Unfollow hashtag", "hashtags.and_other": "…and {count, plural, one {one more} other {# more}}", + "hints.profiles.followers_may_be_missing": "Followers for this profile may be missing.", + "hints.profiles.follows_may_be_missing": "Follows for this profile may be missing.", + "hints.profiles.posts_may_be_missing": "Some posts from this profile may be missing.", + "hints.profiles.see_more_followers": "See more followers on {domain}", + "hints.profiles.see_more_follows": "See more follows on {domain}", + "hints.profiles.see_more_posts": "See more posts on {domain}", + "hints.threads.replies_may_be_missing": "Replies from other servers may be missing.", + "hints.threads.see_more": "See more replies on {domain}", "home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_replies": "Show replies", "home.hide_announcements": "Hide announcements", @@ -347,6 +368,17 @@ "home.pending_critical_update.link": "See updates", "home.pending_critical_update.title": "Critical security update available!", "home.show_announcements": "Show announcements", + "ignore_notifications_modal.disclaimer": "Mastodon cannot inform users that you've ignored their notifications. Ignoring notifications will not stop the messages themselves from being sent.", + "ignore_notifications_modal.filter_instead": "Filter instead", + "ignore_notifications_modal.filter_to_act_users": "You'll still be able to accept, reject, or report users", + "ignore_notifications_modal.filter_to_avoid_confusion": "Filtering helps avoid potential confusion", + "ignore_notifications_modal.filter_to_review_separately": "You can review filtered notifications separately", + "ignore_notifications_modal.ignore": "Ignore notifications", + "ignore_notifications_modal.limited_accounts_title": "Ignore notifications from restricted accounts?", + "ignore_notifications_modal.new_accounts_title": "Ignore notifications from new accounts?", + "ignore_notifications_modal.not_followers_title": "Ignore notifications from people not following you?", + "ignore_notifications_modal.not_following_title": "Ignore notifications from people you don't follow?", + "ignore_notifications_modal.private_mentions_title": "Ignore notifications from unsolicited Private Mentions?", "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.", "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", @@ -436,9 +468,8 @@ "mute_modal.title": "Mute user?", "mute_modal.you_wont_see_mentions": "You won't see posts that mention them.", "mute_modal.you_wont_see_posts": "They can still see your posts, but you won't see theirs.", - "name_and_others": "{name} and {count, plural, one {# other} other {# others}}", - "name_and_others_with_link": "{name} and {count, plural, one {# other} other {# others}}", "navigation_bar.about": "About", + "navigation_bar.administration": "Administration", "navigation_bar.advanced_interface": "Open in advanced web interface", "navigation_bar.blocks": "Blocked users", "navigation_bar.bookmarks": "Bookmarks", @@ -455,6 +486,7 @@ "navigation_bar.follows_and_followers": "Follows and followers", "navigation_bar.lists": "Lists", "navigation_bar.logout": "Logout", + "navigation_bar.moderation": "Moderation", "navigation_bar.mutes": "Muted users", "navigation_bar.opened_in_classic_interface": "Posts, accounts, and other specific pages are opened by default in the classic web interface.", "navigation_bar.personal": "Personal", @@ -470,10 +502,18 @@ "notification.admin.report_statuses": "{name} reported {target} for {category}", "notification.admin.report_statuses_other": "{name} reported {target}", "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up.name_and_others": "{name} and {count, plural, one {# other} other {# others}} signed up", "notification.favourite": "{name} favourited your post", + "notification.favourite.name_and_others_with_link": "{name} and {count, plural, one {# other} other {# others}} favourited your post", "notification.follow": "{name} followed you", + "notification.follow.name_and_others": "{name} and {count, plural, one {# other} other {# others}} followed you", "notification.follow_request": "{name} has requested to follow you", - "notification.mention": "{name} mentioned you", + "notification.follow_request.name_and_others": "{name} and {count, plural, one {# other} other {# others}} has requested to follow you", + "notification.label.mention": "Mention", + "notification.label.private_mention": "Private mention", + "notification.label.private_reply": "Private reply", + "notification.label.reply": "Reply", + "notification.mention": "Mention", "notification.moderation-warning.learn_more": "Learn more", "notification.moderation_warning": "You have received a moderation warning", "notification.moderation_warning.action_delete_statuses": "Some of your posts have been removed.", @@ -485,8 +525,8 @@ "notification.moderation_warning.action_suspend": "Your account has been suspended.", "notification.own_poll": "Your poll has ended", "notification.poll": "A poll you voted in has ended", - "notification.private_mention": "{name} privately mentioned you", "notification.reblog": "{name} boosted your status", + "notification.reblog.name_and_others_with_link": "{name} and {count, plural, one {# other} other {# others}} boosted your post", "notification.relationships_severance_event": "Lost connections with {name}", "notification.relationships_severance_event.account_suspension": "An admin from {from} has suspended {target}, which means you can no longer receive updates from them or interact with them.", "notification.relationships_severance_event.domain_block": "An admin from {from} has blocked {target}, including {followersCount} of your followers and {followingCount, plural, one {# account} other {# accounts}} you follow.", @@ -495,11 +535,27 @@ "notification.status": "{name} just posted", "notification.update": "{name} edited a post", "notification_requests.accept": "Accept", + "notification_requests.accept_multiple": "{count, plural, one {Accept # request…} other {Accept # requests…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Accept request} other {Accept requests}}", + "notification_requests.confirm_accept_multiple.message": "You are about to accept {count, plural, one {one notification request} other {# notification requests}}. Are you sure you want to proceed?", + "notification_requests.confirm_accept_multiple.title": "Accept notification requests?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Dismiss request} other {Dismiss requests}}", + "notification_requests.confirm_dismiss_multiple.message": "You are about to dismiss {count, plural, one {one notification request} other {# notification requests}}. You won't be able to easily access {count, plural, one {it} other {them}} again. Are you sure you want to proceed?", + "notification_requests.confirm_dismiss_multiple.title": "Dismiss notification requests?", "notification_requests.dismiss": "Dismiss", + "notification_requests.dismiss_multiple": "{count, plural, one {Dismiss # request…} other {Dismiss # requests…}}", + "notification_requests.edit_selection": "Edit", + "notification_requests.exit_selection": "Done", + "notification_requests.explainer_for_limited_account": "Notifications from this account have been filtered because the account has been limited by a moderator.", + "notification_requests.explainer_for_limited_remote_account": "Notifications from this account have been filtered because the account or its server has been limited by a moderator.", + "notification_requests.maximize": "Maximise", + "notification_requests.minimize_banner": "Minimize filtered notifications banner", "notification_requests.notifications_from": "Notifications from {name}", "notification_requests.title": "Filtered notifications", + "notification_requests.view": "View notifications", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.clear_title": "Clear notifications?", "notifications.column_settings.admin.report": "New reports:", "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktop notifications", @@ -533,6 +589,14 @@ "notifications.permission_denied": "Desktop notifications are unavailable due to previously denied browser permissions request", "notifications.permission_denied_alert": "Desktop notifications can't be enabled, as browser permission has been denied before", "notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.", + "notifications.policy.accept": "Accept", + "notifications.policy.accept_hint": "Show in notifications", + "notifications.policy.drop": "Ignore", + "notifications.policy.drop_hint": "Send to the void, never to be seen again", + "notifications.policy.filter": "Filter", + "notifications.policy.filter_hint": "Send to filtered notifications inbox", + "notifications.policy.filter_limited_accounts_hint": "Limited by server moderators", + "notifications.policy.filter_limited_accounts_title": "Moderated accounts", "notifications.policy.filter_new_accounts.hint": "Created within the past {days, plural, one {one day} other {# days}}", "notifications.policy.filter_new_accounts_title": "New accounts", "notifications.policy.filter_not_followers_hint": "Including people who have been following you fewer than {days, plural, one {one day} other {# days}}", @@ -541,7 +605,7 @@ "notifications.policy.filter_not_following_title": "People you don't follow", "notifications.policy.filter_private_mentions_hint": "Filtered unless it's in reply to your own mention or if you follow the sender", "notifications.policy.filter_private_mentions_title": "Unsolicited private mentions", - "notifications.policy.title": "Filter out notifications from…", + "notifications.policy.title": "Manage notifications from…", "notifications_permission_banner.enable": "Enable desktop notifications", "notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.", "notifications_permission_banner.title": "Never miss a thing", @@ -728,8 +792,6 @@ "status.favourite": "Favourite", "status.favourites": "{count, plural, one {favorite} other {favorites}}", "status.filter": "Filter this post", - "status.filtered": "Filtered", - "status.hide": "Hide post", "status.history.created": "{name} created {date}", "status.history.edited": "{name} edited {date}", "status.load_more": "Load more", @@ -757,10 +819,7 @@ "status.report": "Report @{name}", "status.sensitive_warning": "Sensitive content", "status.share": "Share", - "status.show_filter_reason": "Show anyway", - "status.show_less": "Show less", "status.show_less_all": "Show less for all", - "status.show_more": "Show more", "status.show_more_all": "Show more for all", "status.show_original": "Show original", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}", @@ -779,10 +838,6 @@ "time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left", "time_remaining.moments": "Moments remaining", "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left", - "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.", - "timeline_hint.resources.followers": "Followers", - "timeline_hint.resources.follows": "Follows", - "timeline_hint.resources.statuses": "Older posts", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", "trends.trending_now": "Trending now", "ui.beforeunload": "Your draft will be lost if you leave Mastodon.", diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index 8df1eef8ca8..4321acef4b7 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -19,7 +19,6 @@ "account.block_domain": "Block domain {domain}", "account.block_short": "Block", "account.blocked": "Blocked", - "account.browse_more_on_origin_server": "Browse more on the original profile", "account.cancel_follow_request": "Cancel follow", "account.copy": "Copy link to profile", "account.direct": "Privately mention @{name}", @@ -98,6 +97,8 @@ "block_modal.title": "Block user?", "block_modal.you_wont_see_mentions": "You won't see posts that mention them.", "boost_modal.combo": "You can press {combo} to skip this next time", + "boost_modal.reblog": "Boost post?", + "boost_modal.undo_reblog": "Unboost post?", "bundle_column_error.copy_stacktrace": "Copy error report", "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", "bundle_column_error.error.title": "Oh, no!", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "Unfollow", "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?", "confirmations.unfollow.title": "Unfollow user?", + "content_warning.hide": "Hide post", + "content_warning.show": "Show anyway", "conversation.delete": "Delete conversation", "conversation.mark_as_read": "Mark as read", "conversation.open": "View conversation", @@ -300,6 +303,7 @@ "filter_modal.select_filter.subtitle": "Use an existing category or create a new one", "filter_modal.select_filter.title": "Filter this post", "filter_modal.title.status": "Filter a post", + "filter_warning.matches_filter": "Matches filter “{title}”", "filtered_notifications_banner.pending_requests": "From {count, plural, =0 {no one} one {one person} other {# people}} you may know", "filtered_notifications_banner.title": "Filtered notifications", "firehose.all": "All", @@ -349,6 +353,14 @@ "hashtag.follow": "Follow hashtag", "hashtag.unfollow": "Unfollow hashtag", "hashtags.and_other": "…and {count, plural, other {# more}}", + "hints.profiles.followers_may_be_missing": "Followers for this profile may be missing.", + "hints.profiles.follows_may_be_missing": "Follows for this profile may be missing.", + "hints.profiles.posts_may_be_missing": "Some posts from this profile may be missing.", + "hints.profiles.see_more_followers": "See more followers on {domain}", + "hints.profiles.see_more_follows": "See more follows on {domain}", + "hints.profiles.see_more_posts": "See more posts on {domain}", + "hints.threads.replies_may_be_missing": "Replies from other servers may be missing.", + "hints.threads.see_more": "See more replies on {domain}", "home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_replies": "Show replies", "home.hide_announcements": "Hide announcements", @@ -358,9 +370,9 @@ "home.show_announcements": "Show announcements", "ignore_notifications_modal.disclaimer": "Mastodon cannot inform users that you've ignored their notifications. Ignoring notifications will not stop the messages themselves from being sent.", "ignore_notifications_modal.filter_instead": "Filter instead", - "ignore_notifications_modal.filter_to_act_users": "Filtering helps avoid potential confusion", + "ignore_notifications_modal.filter_to_act_users": "You'll still be able to accept, reject, or report users", "ignore_notifications_modal.filter_to_avoid_confusion": "Filtering helps avoid potential confusion", - "ignore_notifications_modal.filter_to_review_separately": "You can review filtered notifications speparately", + "ignore_notifications_modal.filter_to_review_separately": "You can review filtered notifications separately", "ignore_notifications_modal.ignore": "Ignore notifications", "ignore_notifications_modal.limited_accounts_title": "Ignore notifications from moderated accounts?", "ignore_notifications_modal.new_accounts_title": "Ignore notifications from new accounts?", @@ -456,9 +468,8 @@ "mute_modal.title": "Mute user?", "mute_modal.you_wont_see_mentions": "You won't see posts that mention them.", "mute_modal.you_wont_see_posts": "They can still see your posts, but you won't see theirs.", - "name_and_others": "{name} and {count, plural, one {# other} other {# others}}", - "name_and_others_with_link": "{name} and {count, plural, one {# other} other {# others}}", "navigation_bar.about": "About", + "navigation_bar.administration": "Administration", "navigation_bar.advanced_interface": "Open in advanced web interface", "navigation_bar.blocks": "Blocked users", "navigation_bar.bookmarks": "Bookmarks", @@ -475,6 +486,7 @@ "navigation_bar.follows_and_followers": "Follows and followers", "navigation_bar.lists": "Lists", "navigation_bar.logout": "Logout", + "navigation_bar.moderation": "Moderation", "navigation_bar.mutes": "Muted users", "navigation_bar.opened_in_classic_interface": "Posts, accounts, and other specific pages are opened by default in the classic web interface.", "navigation_bar.personal": "Personal", @@ -490,9 +502,13 @@ "notification.admin.report_statuses": "{name} reported {target} for {category}", "notification.admin.report_statuses_other": "{name} reported {target}", "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up.name_and_others": "{name} and {count, plural, one {# other} other {# others}} signed up", "notification.favourite": "{name} favorited your post", + "notification.favourite.name_and_others_with_link": "{name} and {count, plural, one {# other} other {# others}} favorited your post", "notification.follow": "{name} followed you", + "notification.follow.name_and_others": "{name} and {count, plural, one {# other} other {# others}} followed you", "notification.follow_request": "{name} has requested to follow you", + "notification.follow_request.name_and_others": "{name} and {count, plural, one {# other} other {# others}} has requested to follow you", "notification.label.mention": "Mention", "notification.label.private_mention": "Private mention", "notification.label.private_reply": "Private reply", @@ -510,6 +526,7 @@ "notification.own_poll": "Your poll has ended", "notification.poll": "A poll you voted in has ended", "notification.reblog": "{name} boosted your post", + "notification.reblog.name_and_others_with_link": "{name} and {count, plural, one {# other} other {# others}} boosted your post", "notification.relationships_severance_event": "Lost connections with {name}", "notification.relationships_severance_event.account_suspension": "An admin from {from} has suspended {target}, which means you can no longer receive updates from them or interact with them.", "notification.relationships_severance_event.domain_block": "An admin from {from} has blocked {target}, including {followersCount} of your followers and {followingCount, plural, one {# account} other {# accounts}} you follow.", @@ -518,13 +535,24 @@ "notification.status": "{name} just posted", "notification.update": "{name} edited a post", "notification_requests.accept": "Accept", + "notification_requests.accept_multiple": "{count, plural, one {Accept # request…} other {Accept # requests…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Accept request} other {Accept requests}}", + "notification_requests.confirm_accept_multiple.message": "You are about to accept {count, plural, one {one notification request} other {# notification requests}}. Are you sure you want to proceed?", + "notification_requests.confirm_accept_multiple.title": "Accept notification requests?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Dismiss request} other {Dismiss requests}}", + "notification_requests.confirm_dismiss_multiple.message": "You are about to dismiss {count, plural, one {one notification request} other {# notification requests}}. You won't be able to easily access {count, plural, one {it} other {them}} again. Are you sure you want to proceed?", + "notification_requests.confirm_dismiss_multiple.title": "Dismiss notification requests?", "notification_requests.dismiss": "Dismiss", + "notification_requests.dismiss_multiple": "{count, plural, one {Dismiss # request…} other {Dismiss # requests…}}", + "notification_requests.edit_selection": "Edit", + "notification_requests.exit_selection": "Done", "notification_requests.explainer_for_limited_account": "Notifications from this account have been filtered because the account has been limited by a moderator.", "notification_requests.explainer_for_limited_remote_account": "Notifications from this account have been filtered because the account or its server has been limited by a moderator.", "notification_requests.maximize": "Maximize", "notification_requests.minimize_banner": "Minimize filtered notifications banner", "notification_requests.notifications_from": "Notifications from {name}", "notification_requests.title": "Filtered notifications", + "notification_requests.view": "View notifications", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", "notifications.clear_title": "Clear notifications?", @@ -764,8 +792,6 @@ "status.favourite": "Favorite", "status.favourites": "{count, plural, one {favorite} other {favorites}}", "status.filter": "Filter this post", - "status.filtered": "Filtered", - "status.hide": "Hide post", "status.history.created": "{name} created {date}", "status.history.edited": "{name} edited {date}", "status.load_more": "Load more", @@ -793,10 +819,7 @@ "status.report": "Report @{name}", "status.sensitive_warning": "Sensitive content", "status.share": "Share", - "status.show_filter_reason": "Show anyway", - "status.show_less": "Show less", "status.show_less_all": "Show less for all", - "status.show_more": "Show more", "status.show_more_all": "Show more for all", "status.show_original": "Show original", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}", @@ -815,10 +838,6 @@ "time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left", "time_remaining.moments": "Moments remaining", "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left", - "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.", - "timeline_hint.resources.followers": "Followers", - "timeline_hint.resources.follows": "Follows", - "timeline_hint.resources.statuses": "Older posts", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", "trends.trending_now": "Trending now", "ui.beforeunload": "Your draft will be lost if you leave Mastodon.", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index 851b3bfd1a8..76ca4980fa2 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -11,6 +11,7 @@ "about.not_available": "Ĉi tiu informo ne estas disponebla ĉe ĉi tiu servilo.", "about.powered_by": "Malcentrigita socia retejo pere de {mastodon}", "about.rules": "Regularo de la servilo", + "account.account_note_header": "Personaj notoj", "account.add_or_remove_from_list": "Aldoni al aŭ forigi el listoj", "account.badges.bot": "Roboto", "account.badges.group": "Grupo", @@ -18,7 +19,6 @@ "account.block_domain": "Bloki la domajnon {domain}", "account.block_short": "Bloko", "account.blocked": "Blokita", - "account.browse_more_on_origin_server": "Foliumi pli ĉe la originala profilo", "account.cancel_follow_request": "Nuligi peton por sekvado", "account.copy": "Kopii ligilon al profilo", "account.direct": "Private mencii @{name}", @@ -34,7 +34,9 @@ "account.follow_back": "Sekvu reen", "account.followers": "Sekvantoj", "account.followers.empty": "Ankoraŭ neniu sekvas ĉi tiun uzanton.", + "account.followers_counter": "{count, plural, one{{counter} sekvanto} other {{counter} sekvantoj}}", "account.following": "Sekvatoj", + "account.following_counter": "{count, plural, one {{counter} sekvato} other {{counter} sekvatoj}}", "account.follows.empty": "La uzanto ankoraŭ ne sekvas iun ajn.", "account.go_to_profile": "Iri al profilo", "account.hide_reblogs": "Kaŝi diskonigojn de @{name}", @@ -60,6 +62,7 @@ "account.requested_follow": "{name} petis sekvi vin", "account.share": "Diskonigi la profilon de @{name}", "account.show_reblogs": "Montri diskonigojn de @{name}", + "account.statuses_counter": "{count, plural,one {{counter} afiŝo} other {{counter} afiŝoj}}", "account.unblock": "Malbloki @{name}", "account.unblock_domain": "Malbloki la domajnon {domain}", "account.unblock_short": "Malbloki", @@ -85,6 +88,14 @@ "announcement.announcement": "Anoncoj", "attachments_list.unprocessed": "(neprilaborita)", "audio.hide": "Kaŝi aŭdion", + "block_modal.remote_users_caveat": "Ni petos al la servilo {domain} respekti vian elekton. Tamen, plenumo ne estas garantiita ĉar iuj serviloj eble manipulas blokojn malsame. Publikaj afiŝoj eble ankoraŭ estas videbla por ne-ensalutintaj uzantoj.", + "block_modal.show_less": "Montri malpli", + "block_modal.show_more": "Montri pli", + "block_modal.they_cant_mention": "Ili ne povas mencii aŭ sekvi vin.", + "block_modal.they_cant_see_posts": "Ili ne povas vidi viajn afiŝojn kaj vi ne povas vidi iliajn.", + "block_modal.they_will_know": "Ili povas vidi, ke ili estas blokita.", + "block_modal.title": "Ĉu bloki uzanton?", + "block_modal.you_wont_see_mentions": "Vi ne vidos afiŝojn, ke mencii ilin.", "boost_modal.combo": "Vi povas premi {combo} por preterpasi sekvafoje", "bundle_column_error.copy_stacktrace": "Kopii la eraran raporton", "bundle_column_error.error.body": "La petita paĝo ne povas redonitis. Eble estas eraro.", @@ -142,26 +153,39 @@ "compose_form.lock_disclaimer.lock": "ŝlosita", "compose_form.placeholder": "Kion vi pensas?", "compose_form.poll.duration": "Daŭro de la balotenketo", + "compose_form.poll.multiple": "Multobla elekto", + "compose_form.poll.option_placeholder": "Opcio {number}", + "compose_form.poll.single": "Elektu unu", "compose_form.poll.switch_to_multiple": "Ŝanĝi la balotenketon por permesi multajn elektojn", "compose_form.poll.switch_to_single": "Ŝanĝi la balotenketon por permesi unu solan elekton", + "compose_form.poll.type": "Stilo", + "compose_form.publish": "Afiŝo", "compose_form.publish_form": "Afiŝi", + "compose_form.reply": "Respondi", + "compose_form.save_changes": "Ĝisdatigi", "compose_form.spoiler.marked": "Forigi la averton de enhavo", "compose_form.spoiler.unmarked": "Aldoni averton de enhavo", + "compose_form.spoiler_placeholder": "Enhava Averto (nedeviga)", "confirmation_modal.cancel": "Nuligi", "confirmations.block.confirm": "Bloki", "confirmations.delete.confirm": "Forigi", "confirmations.delete.message": "Ĉu vi certas, ke vi volas forigi ĉi tiun afiŝon?", + "confirmations.delete.title": "Ĉu forigi Afiŝon?", "confirmations.delete_list.confirm": "Forigi", "confirmations.delete_list.message": "Ĉu vi certas, ke vi volas porĉiame forigi ĉi tiun liston?", + "confirmations.delete_list.title": "Ĉu forigi liston?", "confirmations.discard_edit_media.confirm": "Forĵeti", "confirmations.discard_edit_media.message": "Vi havas nekonservitajn ŝanĝojn de la priskribo aŭ la antaŭmontro de la plurmedio, ĉu vi forĵetu ilin malgraŭe?", "confirmations.edit.confirm": "Redakti", "confirmations.edit.message": "Redakti nun anstataŭigos la skribatan afiŝon. Ĉu vi certas, ke vi volas daŭrigi?", + "confirmations.edit.title": "Ĉu superskribi afiŝon?", "confirmations.logout.confirm": "Adiaŭi", "confirmations.logout.message": "Ĉu vi certas ke vi volas adiaŭi?", + "confirmations.logout.title": "Ĉu elsaluti?", "confirmations.mute.confirm": "Silentigi", "confirmations.redraft.confirm": "Forigi kaj reskribi", "confirmations.redraft.message": "Ĉu vi certas ke vi volas forigi tiun afiŝon kaj reskribi ĝin? Ĉiuj diskonigoj kaj stelumoj estos perditaj, kaj respondoj al la originala mesaĝo estos senparentaj.", + "confirmations.redraft.title": "Ĉu forigi kaj redakcii afiŝon?", "confirmations.reply.confirm": "Respondi", "confirmations.reply.message": "Respondi nun anstataŭigos la skribatan afiŝon. Ĉu vi certas, ke vi volas daŭrigi?", "confirmations.unfollow.confirm": "Ne plu sekvi", @@ -399,7 +423,6 @@ "notification.favourite": "{name} stelumis vian afiŝon", "notification.follow": "{name} eksekvis vin", "notification.follow_request": "{name} petis sekvi vin", - "notification.mention": "{name} menciis vin", "notification.own_poll": "Via enketo finiĝis", "notification.reblog": "{name} diskonigis vian afiŝon", "notification.status": "{name} ĵus afiŝis", @@ -609,8 +632,6 @@ "status.embed": "Enkorpigi", "status.favourite": "Ŝatata", "status.filter": "Filtri ĉi tiun afiŝon", - "status.filtered": "Filtrita", - "status.hide": "Kaŝi mesaĝon", "status.history.created": "{name} kreis {date}", "status.history.edited": "{name} redaktis {date}", "status.load_more": "Ŝargi pli", @@ -637,10 +658,7 @@ "status.report": "Raporti @{name}", "status.sensitive_warning": "Tikla enhavo", "status.share": "Kundividi", - "status.show_filter_reason": "Ĉial montri", - "status.show_less": "Montri malpli", "status.show_less_all": "Montri malpli ĉiun", - "status.show_more": "Montri pli", "status.show_more_all": "Montri pli ĉiun", "status.show_original": "Montru originalon", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", @@ -659,10 +677,6 @@ "time_remaining.minutes": "{number, plural, one {# minuto} other {# minutoj}} restas", "time_remaining.moments": "Momenteto restas", "time_remaining.seconds": "{number, plural, one {# sekundo} other {# sekundoj}} restas", - "timeline_hint.remote_resource_not_displayed": "{resource} de aliaj serviloj ne estas montrata.", - "timeline_hint.resources.followers": "Sekvantoj", - "timeline_hint.resources.follows": "Sekvatoj", - "timeline_hint.resources.statuses": "Pli malnovaj mesaĝoj", "trends.counter_by_accounts": "{count, plural, one {{counter} persono} other {{counter} personoj}} dum la pasinta{days, plural, one { tago} other {j {days} tagoj}}", "trends.trending_now": "Nunaj furoraĵoj", "ui.beforeunload": "Via malneto perdiĝos se vi eliras de Mastodon.", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index 7dcc6eb4959..c3915c9b746 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -19,7 +19,6 @@ "account.block_domain": "Bloquear dominio {domain}", "account.block_short": "Bloquear", "account.blocked": "Bloqueado", - "account.browse_more_on_origin_server": "Explorar más en el perfil original", "account.cancel_follow_request": "Dejar de seguir", "account.copy": "Copiar enlace al perfil", "account.direct": "Mención privada a @{name}", @@ -98,6 +97,8 @@ "block_modal.title": "¿Bloquear usuario?", "block_modal.you_wont_see_mentions": "No verás mensajes que los mencionen.", "boost_modal.combo": "Podés hacer clic en {combo} para saltar esto la próxima vez", + "boost_modal.reblog": "¿Adherir al mensaje?", + "boost_modal.undo_reblog": "¿Dejar de adherir al mensaje?", "bundle_column_error.copy_stacktrace": "Copiar informe de error", "bundle_column_error.error.body": "La página solicitada no pudo ser cargada. Podría deberse a un error de programación en nuestro código o a un problema de compatibilidad con el navegador web.", "bundle_column_error.error.title": "¡Epa!", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "Dejar de seguir", "confirmations.unfollow.message": "¿Estás seguro que querés dejar de seguir a {name}?", "confirmations.unfollow.title": "¿Dejar de seguir al usuario?", + "content_warning.hide": "Ocultar mensaje", + "content_warning.show": "Mostrar de todos modos", "conversation.delete": "Eliminar conversación", "conversation.mark_as_read": "Marcar como leída", "conversation.open": "Ver conversación", @@ -300,6 +303,7 @@ "filter_modal.select_filter.subtitle": "Usar una categoría existente o crear una nueva", "filter_modal.select_filter.title": "Filtrar este mensaje", "filter_modal.title.status": "Filtrar un mensaje", + "filter_warning.matches_filter": "Coincide con el filtro “{title}”", "filtered_notifications_banner.pending_requests": "De {count, plural, =0 {nadie} one {una persona} other {# personas}} que podrías conocer", "filtered_notifications_banner.title": "Notificaciones filtradas", "firehose.all": "Todos", @@ -349,6 +353,14 @@ "hashtag.follow": "Seguir etiqueta", "hashtag.unfollow": "Dejar de seguir etiqueta", "hashtags.and_other": "…y {count, plural, other {# más}}", + "hints.profiles.followers_may_be_missing": "Es posible que falten seguidores de este perfil.", + "hints.profiles.follows_may_be_missing": "Es posible que falten seguimientos a este perfil.", + "hints.profiles.posts_may_be_missing": "Es posible que falten mensajes de este perfil.", + "hints.profiles.see_more_followers": "Ver más seguidores en {domain}", + "hints.profiles.see_more_follows": "Ver más seguimientos en {domain}", + "hints.profiles.see_more_posts": "Ver más mensajes en {domain}", + "hints.threads.replies_may_be_missing": "Es posible que falten respuestas de otros servidores.", + "hints.threads.see_more": "Ver más respuestas en {domain}", "home.column_settings.show_reblogs": "Mostrar adhesiones", "home.column_settings.show_replies": "Mostrar respuestas", "home.hide_announcements": "Ocultar anuncios", @@ -356,6 +368,17 @@ "home.pending_critical_update.link": "Ver actualizaciones", "home.pending_critical_update.title": "¡Actualización de seguridad crítica disponible!", "home.show_announcements": "Mostrar anuncios", + "ignore_notifications_modal.disclaimer": "Mastodon no puede informar a los usuarios que ignoraste sus notificaciones. Ignorar notificaciones no impedirá que se sigan enviando los mensajes.", + "ignore_notifications_modal.filter_instead": "Filtrar en vez de ignorar", + "ignore_notifications_modal.filter_to_act_users": "Aún podrás aceptar, rechazar o denunciar a usuarios", + "ignore_notifications_modal.filter_to_avoid_confusion": "Filtrar ayuda a evitar confusiones potenciales", + "ignore_notifications_modal.filter_to_review_separately": "Podés revisar las notificaciones filtradas por separado", + "ignore_notifications_modal.ignore": "Ignorar notificaciones", + "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.not_followers_title": "¿Ignorar notificaciones de cuentas que no te siguen?", + "ignore_notifications_modal.not_following_title": "¿Ignorar notificaciones de cuentas a las que no seguís?", + "ignore_notifications_modal.private_mentions_title": "¿Ignorar notificaciones de menciones privadas no solicitadas?", "interaction_modal.description.favourite": "Con una cuenta en Mastodon, podés marcar este mensaje como favorito para que el autor sepa que lo apreciás y lo guardás para más adelante.", "interaction_modal.description.follow": "Con una cuenta en Mastodon, podés seguir a {name} para recibir sus mensajes en tu línea temporal principal.", "interaction_modal.description.reblog": "Con una cuenta en Mastodon, podés adherir a este mensaje para compartirlo con tus propios seguidores.", @@ -445,9 +468,8 @@ "mute_modal.title": "¿Silenciar usuario?", "mute_modal.you_wont_see_mentions": "No verás mensajes que los mencionen.", "mute_modal.you_wont_see_posts": "Todavía pueden ver tus mensajes, pero vos no verás los suyos.", - "name_and_others": "{name} y {count, plural, one {# cuenta más} other {# cuentas más}}", - "name_and_others_with_link": "{name} y {count, plural, one {# cuenta más} other {# cuentas más}}", "navigation_bar.about": "Información", + "navigation_bar.administration": "Administración", "navigation_bar.advanced_interface": "Abrir en interface web avanzada", "navigation_bar.blocks": "Usuarios bloqueados", "navigation_bar.bookmarks": "Marcadores", @@ -464,6 +486,7 @@ "navigation_bar.follows_and_followers": "Cuentas seguidas y seguidores", "navigation_bar.lists": "Listas", "navigation_bar.logout": "Cerrar sesión", + "navigation_bar.moderation": "Moderación", "navigation_bar.mutes": "Usuarios silenciados", "navigation_bar.opened_in_classic_interface": "Los mensajes, las cuentas y otras páginas específicas se abren predeterminadamente en la interface web clásica.", "navigation_bar.personal": "Personal", @@ -479,10 +502,18 @@ "notification.admin.report_statuses": "{name} denunció a {target} por {category}", "notification.admin.report_statuses_other": "{name} denunció a {target}", "notification.admin.sign_up": "Se registró {name}", + "notification.admin.sign_up.name_and_others": "Se registraron {name} y {count, plural, one {# cuenta más} other {# cuentas más}}", "notification.favourite": "{name} marcó tu mensaje como favorito", + "notification.favourite.name_and_others_with_link": "{name} y {count, plural, one {# cuenta más} other {# cuentas más}} marcaron tu mensaje como favorito", "notification.follow": "{name} te empezó a seguir", + "notification.follow.name_and_others": "{name} y {count, plural, one {# cuenta más} other {# cuentas más}} te están siguiendo", "notification.follow_request": "{name} solicitó seguirte", - "notification.mention": "{name} te mencionó", + "notification.follow_request.name_and_others": "{name} y {count, plural, one {# cuenta más} other {# cuentas más}} solicitaron seguirte", + "notification.label.mention": "Mención", + "notification.label.private_mention": "Mención privada", + "notification.label.private_reply": "Respuesta privada", + "notification.label.reply": "Respuesta", + "notification.mention": "Mención", "notification.moderation-warning.learn_more": "Aprendé más", "notification.moderation_warning": "Recibiste una advertencia de moderación", "notification.moderation_warning.action_delete_statuses": "Se eliminaron algunos de tus mensajes.", @@ -494,8 +525,8 @@ "notification.moderation_warning.action_suspend": "Tu cuenta fue suspendida.", "notification.own_poll": "Tu encuesta finalizó", "notification.poll": "Finalizó una encuesta en la que votaste", - "notification.private_mention": "{name} te mencionó en privado", "notification.reblog": "{name} adhirió a tu mensaje", + "notification.reblog.name_and_others_with_link": "{name} y {count, plural, one {# cuenta más} other {# cuentas más}} marcaron tu mensaje como favorito", "notification.relationships_severance_event": "Conexiones perdidas con {name}", "notification.relationships_severance_event.account_suspension": "Un administrador de {from} suspendió a {target}, lo que significa que ya no podés recibir actualizaciones de esa cuenta o interactuar con la misma.", "notification.relationships_severance_event.domain_block": "Un administrador de {from} bloqueó a {target}, incluyendo {followersCount} de tus seguidores y {followingCount, plural, one {# cuenta} other {# cuentas}} que seguís.", @@ -504,11 +535,24 @@ "notification.status": "{name} acaba de enviar un mensaje", "notification.update": "{name} editó un mensaje", "notification_requests.accept": "Aceptar", + "notification_requests.accept_multiple": "{count, plural, one {Aceptar # solicitud…} other {Aceptar # solicitudes…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Aceptar solicitud} other {Aceptar solicitudes}}", + "notification_requests.confirm_accept_multiple.message": "Estás a punto de aceptar {count, plural, one {una solicitud} other {# solicitudes}}. ¿Estás seguro de que querés continuar?", + "notification_requests.confirm_accept_multiple.title": "¿Aceptar solicitudes de notificación?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Descartar solicitud} other {Descartar solicitudes}}", + "notification_requests.confirm_dismiss_multiple.message": "Estás a punto de descartar {count, plural, one {una solicitud} other {# solicitudes}}. No vas a poder acceder fácilmente a {count, plural, one {ella} other {ellas}} de nuevo. ¿Estás seguro de que querés continuar?", + "notification_requests.confirm_dismiss_multiple.title": "¿Descartar solicitudes de notificación?", "notification_requests.dismiss": "Descartar", + "notification_requests.dismiss_multiple": "{count, plural, one {Descartar # solicitud…} other {Descartar # solicitudes…}}", + "notification_requests.edit_selection": "Editar", + "notification_requests.exit_selection": "Listo", + "notification_requests.explainer_for_limited_account": "Las notificaciones de esta cuenta fueron filtradas porque la misma fue limitada por un moderador.", + "notification_requests.explainer_for_limited_remote_account": "Las notificaciones de esta cuenta fueron filtradas porque la cuenta o su servidor fueron limitados por un moderador.", "notification_requests.maximize": "Maximizar", "notification_requests.minimize_banner": "Minimizar la barra de notificaciones filtradas", "notification_requests.notifications_from": "Notificaciones de {name}", "notification_requests.title": "Notificaciones filtradas", + "notification_requests.view": "Ver notificaciones", "notifications.clear": "Limpiar notificaciones", "notifications.clear_confirmation": "¿Estás seguro que querés limpiar todas tus notificaciones permanentemente?", "notifications.clear_title": "¿Limpiar notificaciones?", @@ -545,6 +589,12 @@ "notifications.permission_denied": "Las notificaciones de escritorio no están disponibles, debido a una solicitud de permiso del navegador web previamente denegada", "notifications.permission_denied_alert": "No se pueden habilitar las notificaciones de escritorio, ya que el permiso del navegador fue denegado antes", "notifications.permission_required": "Las notificaciones de escritorio no están disponibles porque no se concedió el permiso requerido.", + "notifications.policy.accept": "Aceptar", + "notifications.policy.accept_hint": "Mostrar en notificaciones", + "notifications.policy.drop": "Ignorar", + "notifications.policy.drop_hint": "Enviar al vacío, no volver a mostrar nunca", + "notifications.policy.filter": "Filtrar", + "notifications.policy.filter_hint": "Enviar a la bandeja de entrada de notificaciones filtradas", "notifications.policy.filter_limited_accounts_hint": "Limitada por los moderadores del servidor", "notifications.policy.filter_limited_accounts_title": "Cuentas moderadas", "notifications.policy.filter_new_accounts.hint": "Creada hace {days, plural, one {un día} other {# días}}", @@ -555,7 +605,7 @@ "notifications.policy.filter_not_following_title": "Cuentas que no seguís", "notifications.policy.filter_private_mentions_hint": "Filtradas, a menos que sea en respuesta a tu propia mención o si seguís al remitente", "notifications.policy.filter_private_mentions_title": "Menciones privadas no solicitadas", - "notifications.policy.title": "Filtrar notificaciones de…", + "notifications.policy.title": "Administrar notificaciones de…", "notifications_permission_banner.enable": "Habilitar notificaciones de escritorio", "notifications_permission_banner.how_to_control": "Para recibir notificaciones cuando Mastodon no está abierto, habilitá las notificaciones de escritorio. Podés controlar con precisión qué tipos de interacciones generan notificaciones de escritorio a través del botón {icon} de arriba, una vez que estén habilitadas.", "notifications_permission_banner.title": "No te pierdas nada", @@ -742,8 +792,6 @@ "status.favourite": "Marcar como favorito", "status.favourites": "{count, plural, one {# voto} other {# votos}}", "status.filter": "Filtrar este mensaje", - "status.filtered": "Filtrado", - "status.hide": "Ocultar mensaje", "status.history.created": "Creado por {name}, {date}", "status.history.edited": "Editado por {name}, {date}", "status.load_more": "Cargar más", @@ -771,10 +819,7 @@ "status.report": "Denunciar a @{name}", "status.sensitive_warning": "Contenido sensible", "status.share": "Compartir", - "status.show_filter_reason": "Mostrar de todos modos", - "status.show_less": "Mostrar menos", "status.show_less_all": "Mostrar menos para todo", - "status.show_more": "Mostrar más", "status.show_more_all": "Mostrar más para todo", "status.show_original": "Mostrar original", "status.title.with_attachments": "{user} envió {attachmentCount, plural, one {un adjunto} other {{attachmentCount} adjuntos}}", @@ -793,10 +838,6 @@ "time_remaining.minutes": "{number, plural,one {queda # minuto} other {quedan # minutos}}", "time_remaining.moments": "Momentos restantes", "time_remaining.seconds": "{number, plural,one {queda # segundo} other {quedan # segundos}}", - "timeline_hint.remote_resource_not_displayed": "{resource} desde otros servidores no se muestran.", - "timeline_hint.resources.followers": "Tus seguidores", - "timeline_hint.resources.follows": "Las cuentas que seguís", - "timeline_hint.resources.statuses": "Mensajes más antiguos", "trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} personas}} en {days, plural, one {el pasado día} other {los pasados {days} días}}", "trends.trending_now": "Tendencia ahora", "ui.beforeunload": "Tu borrador se perderá si abandonás Mastodon.", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index 71c9e3b7a1c..35ea5ba5921 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -19,7 +19,6 @@ "account.block_domain": "Bloquear dominio {domain}", "account.block_short": "Bloquear", "account.blocked": "Bloqueado", - "account.browse_more_on_origin_server": "Ver más en el perfil original", "account.cancel_follow_request": "Retirar solicitud de seguimiento", "account.copy": "Copiar enlace al perfil", "account.direct": "Mención privada @{name}", @@ -193,6 +192,8 @@ "confirmations.unfollow.confirm": "Dejar de seguir", "confirmations.unfollow.message": "¿Estás seguro de que quieres dejar de seguir a {name}?", "confirmations.unfollow.title": "¿Dejar de seguir al usuario?", + "content_warning.hide": "Ocultar publicación", + "content_warning.show": "Mostrar de todos modos", "conversation.delete": "Borrar conversación", "conversation.mark_as_read": "Marcar como leído", "conversation.open": "Ver conversación", @@ -300,6 +301,7 @@ "filter_modal.select_filter.subtitle": "Usar una categoría existente o crear una nueva", "filter_modal.select_filter.title": "Filtrar esta publicación", "filter_modal.title.status": "Filtrar una publicación", + "filter_warning.matches_filter": "Coincide con el filtro “{title}”", "filtered_notifications_banner.pending_requests": "De {count, plural, =0 {nadie} one {una persona} other {# personas}} que puede que conozcas", "filtered_notifications_banner.title": "Notificaciones filtradas", "firehose.all": "Todas", @@ -349,6 +351,14 @@ "hashtag.follow": "Seguir etiqueta", "hashtag.unfollow": "Dejar de seguir etiqueta", "hashtags.and_other": "…y {count, plural, other {# más}}", + "hints.profiles.followers_may_be_missing": "Puede que no se muestren todos los seguidores de este perfil.", + "hints.profiles.follows_may_be_missing": "Puede que no se muestren todas las cuentas seguidas por este perfil.", + "hints.profiles.posts_may_be_missing": "Puede que no se muestren todas las publicaciones de este perfil.", + "hints.profiles.see_more_followers": "Ver más seguidores en {domain}", + "hints.profiles.see_more_follows": "Ver más perfiles seguidos en {domain}", + "hints.profiles.see_more_posts": "Ver más publicaciones en {domain}", + "hints.threads.replies_may_be_missing": "Puede que no se muestren algunas respuestas de otros servidores.", + "hints.threads.see_more": "Ver más respuestas en {domain}", "home.column_settings.show_reblogs": "Mostrar retoots", "home.column_settings.show_replies": "Mostrar respuestas", "home.hide_announcements": "Ocultar anuncios", @@ -356,6 +366,17 @@ "home.pending_critical_update.link": "Ver actualizaciones", "home.pending_critical_update.title": "¡Actualización de seguridad crítica disponible!", "home.show_announcements": "Mostrar anuncios", + "ignore_notifications_modal.disclaimer": "Mastodon no puede informar a los usuarios que has ignorado sus notificaciones. Ignorar notificaciones no impedirá que se sigan enviando los mensajes.", + "ignore_notifications_modal.filter_instead": "Filtrar en vez de ignorar", + "ignore_notifications_modal.filter_to_act_users": "Aún podrás aceptar, rechazar o reportar usuarios", + "ignore_notifications_modal.filter_to_avoid_confusion": "Filtrar ayuda a evitar confusiones potenciales", + "ignore_notifications_modal.filter_to_review_separately": "Puedes revisar las notificaciones filtradas por separado", + "ignore_notifications_modal.ignore": "Ignorar notificaciones", + "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.not_followers_title": "¿Ignorar notificaciones de personas que no te sigue?", + "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?", "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.follow": "Con una cuenta en Mastodon, puedes seguir {name} para recibir sus publicaciones en tu fuente de inicio.", "interaction_modal.description.reblog": "Con una cuenta en Mastodon, puedes impulsar esta publicación para compartirla con tus propios seguidores.", @@ -445,8 +466,6 @@ "mute_modal.title": "¿Silenciar usuario?", "mute_modal.you_wont_see_mentions": "No verás publicaciones que los mencionen.", "mute_modal.you_wont_see_posts": "Todavía pueden ver tus publicaciones, pero tú no verás las de ellos.", - "name_and_others": "{name} y {count, plural, one {# más} other {# más}}", - "name_and_others_with_link": "{name} y {count, plural, one {# más} other {# más}}", "navigation_bar.about": "Acerca de", "navigation_bar.advanced_interface": "Abrir en interfaz web avanzada", "navigation_bar.blocks": "Usuarios bloqueados", @@ -479,10 +498,18 @@ "notification.admin.report_statuses": "{name} informó de {target} por {category}", "notification.admin.report_statuses_other": "{name} informó de {target}", "notification.admin.sign_up": "{name} se unio", + "notification.admin.sign_up.name_and_others": "{name} y {count, plural, one {# más} other {# más}} se registraron", "notification.favourite": "{name} marcó como favorita tu publicación", + "notification.favourite.name_and_others_with_link": "{name} y {count, plural, one {# más} other {# más}} marcaron tu publicación como favorita", "notification.follow": "{name} te empezó a seguir", + "notification.follow.name_and_others": "{name} y {count, plural, one {# más} other {# más}} te siguieron", "notification.follow_request": "{name} ha solicitado seguirte", - "notification.mention": "{name} te ha mencionado", + "notification.follow_request.name_and_others": "{name} y {count, plural, one {# más} other {# más}} han solicitado seguirte", + "notification.label.mention": "Mención", + "notification.label.private_mention": "Mención privada", + "notification.label.private_reply": "Respuesta privada", + "notification.label.reply": "Respuesta", + "notification.mention": "Mención", "notification.moderation-warning.learn_more": "Saber más", "notification.moderation_warning": "Has recibido una advertencia de moderación", "notification.moderation_warning.action_delete_statuses": "Se han eliminado algunas de tus publicaciones.", @@ -494,8 +521,8 @@ "notification.moderation_warning.action_suspend": "Tu cuenta ha sido suspendida.", "notification.own_poll": "Tu encuesta ha terminado", "notification.poll": "Una encuesta ha terminado", - "notification.private_mention": "{name} te mencionó en privado", "notification.reblog": "{name} ha retooteado tu estado", + "notification.reblog.name_and_others_with_link": "{name} y {count, plural, one {# más} other {# más}} impulsaron tu publicación", "notification.relationships_severance_event": "Conexiones perdidas con {name}", "notification.relationships_severance_event.account_suspension": "Un administrador de {from} ha suspendido {target}, lo que significa que ya no puedes recibir actualizaciones de sus cuentas o interactuar con ellas.", "notification.relationships_severance_event.domain_block": "Un administrador de {from} ha bloqueado {target}, incluyendo {followersCount} de tus seguidores y {followingCount, plural, one {# cuenta} other {# cuentas}} que sigues.", @@ -504,11 +531,24 @@ "notification.status": "{name} acaba de publicar", "notification.update": "{name} editó una publicación", "notification_requests.accept": "Aceptar", + "notification_requests.accept_multiple": "{count, plural, one {Aceptar # solicitud…} other {Aceptar # solicitudes…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Aceptar solicitud} other {Aceptar solicitudes}}", + "notification_requests.confirm_accept_multiple.message": "Vas a aceptar {count, plural, one {una solicitud} other {# solicitudes}}. ¿Quieres continuar?", + "notification_requests.confirm_accept_multiple.title": "¿Aceptar las solicitudes?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Descartar solicitud} other {Descartar solicitudes}}", + "notification_requests.confirm_dismiss_multiple.message": "Vas a descartar {count, plural, one {una solicitud} other {# solicitudes}}. No podrás volver a acceder fácilmente a {count, plural, one {ella} other {ellas}} de nuevo. ¿Seguro que quieres continuar?", + "notification_requests.confirm_dismiss_multiple.title": "¿Descartar las solicitudes?", "notification_requests.dismiss": "Descartar", + "notification_requests.dismiss_multiple": "{count, plural, one {Descartar # solicitud…} other {Descartar # solicitudes…}}", + "notification_requests.edit_selection": "Editar", + "notification_requests.exit_selection": "Hecho", + "notification_requests.explainer_for_limited_account": "Las notificaciones de esta cuenta han sido filtradas porque la cuenta ha sido limitada por un moderador.", + "notification_requests.explainer_for_limited_remote_account": "Las notificaciones de esta cuenta han sido filtradas porque la cuenta o su servidor ha sido limitada por un moderador.", "notification_requests.maximize": "Maximizar", "notification_requests.minimize_banner": "Minimizar banner de notificaciones filtradas", "notification_requests.notifications_from": "Notificaciones de {name}", "notification_requests.title": "Notificaciones filtradas", + "notification_requests.view": "Ver notificaciones", "notifications.clear": "Limpiar notificaciones", "notifications.clear_confirmation": "¿Seguro de querer borrar permanentemente todas tus notificaciones?", "notifications.clear_title": "¿Borrar notificaciones?", @@ -545,6 +585,14 @@ "notifications.permission_denied": "No se pueden habilitar las notificaciones de escritorio ya que se denegó el permiso.", "notifications.permission_denied_alert": "No se pueden habilitar las notificaciones de escritorio, ya que el permiso del navegador fue denegado anteriormente", "notifications.permission_required": "Las notificaciones de escritorio no están disponibles porque no se ha concedido el permiso requerido.", + "notifications.policy.accept": "Aceptar", + "notifications.policy.accept_hint": "Mostrar en notificaciones", + "notifications.policy.drop": "Ignorar", + "notifications.policy.drop_hint": "Enviar al vacío, no volver a mostrar nunca", + "notifications.policy.filter": "Filtrar", + "notifications.policy.filter_hint": "Enviar a la bandeja de entrada de notificaciones filtradas", + "notifications.policy.filter_limited_accounts_hint": "Limitadas por los moderadores del servidor", + "notifications.policy.filter_limited_accounts_title": "Cuentas moderadas", "notifications.policy.filter_new_accounts.hint": "Creadas durante {days, plural, one {el último día} other {los últimos # días}}", "notifications.policy.filter_new_accounts_title": "Cuentas nuevas", "notifications.policy.filter_not_followers_hint": "Incluyendo personas que te han estado siguiendo desde hace menos de {days, plural, one {un día} other {# días}}", @@ -553,7 +601,7 @@ "notifications.policy.filter_not_following_title": "Personas que no sigues", "notifications.policy.filter_private_mentions_hint": "Filtrada, a menos que sea en respuesta a tu propia mención, o si sigues al remitente", "notifications.policy.filter_private_mentions_title": "Menciones privadas no solicitadas", - "notifications.policy.title": "Filtrar notificaciones de…", + "notifications.policy.title": "Gestionar notificaciones de…", "notifications_permission_banner.enable": "Habilitar notificaciones de escritorio", "notifications_permission_banner.how_to_control": "Para recibir notificaciones cuando Mastodon no esté abierto, habilite las notificaciones de escritorio. Puedes controlar con precisión qué tipos de interacciones generan notificaciones de escritorio a través del botón {icon} de arriba una vez que estén habilitadas.", "notifications_permission_banner.title": "Nunca te pierdas nada", @@ -740,8 +788,6 @@ "status.favourite": "Favorito", "status.favourites": "{count, plural, one {favorito} other {favoritos}}", "status.filter": "Filtrar esta publicación", - "status.filtered": "Filtrado", - "status.hide": "Ocultar toot", "status.history.created": "{name} creó {date}", "status.history.edited": "{name} editado {date}", "status.load_more": "Cargar más", @@ -769,10 +815,7 @@ "status.report": "Reportar", "status.sensitive_warning": "Contenido sensible", "status.share": "Compartir", - "status.show_filter_reason": "Mostrar de todos modos", - "status.show_less": "Mostrar menos", "status.show_less_all": "Mostrar menos para todo", - "status.show_more": "Mostrar más", "status.show_more_all": "Mostrar más para todo", "status.show_original": "Mostrar original", "status.title.with_attachments": "{user} ha publicado {attachmentCount, plural, one {un adjunto} other {{attachmentCount} adjuntos}}", @@ -791,10 +834,6 @@ "time_remaining.minutes": "{number, plural, one {# minuto restante} other {# minutos restantes}}", "time_remaining.moments": "Momentos restantes", "time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}", - "timeline_hint.remote_resource_not_displayed": "{resource} de otros servidores no se muestran.", - "timeline_hint.resources.followers": "Seguidores", - "timeline_hint.resources.follows": "Seguidos", - "timeline_hint.resources.statuses": "Toots más antiguos", "trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} personas}} en los últimos {days, plural, one {días} other {{days} días}}", "trends.trending_now": "Tendencia ahora", "ui.beforeunload": "Tu borrador se perderá si sales de Mastodon.", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index 29d5cfb3ace..718c1452166 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -19,7 +19,6 @@ "account.block_domain": "Bloquear dominio {domain}", "account.block_short": "Bloquear", "account.blocked": "Bloqueado", - "account.browse_more_on_origin_server": "Ver más en el perfil original", "account.cancel_follow_request": "Retirar solicitud de seguimiento", "account.copy": "Copiar enlace al perfil", "account.direct": "Mención privada a @{name}", @@ -193,6 +192,8 @@ "confirmations.unfollow.confirm": "Dejar de seguir", "confirmations.unfollow.message": "¿Seguro que quieres dejar de seguir a {name}?", "confirmations.unfollow.title": "¿Dejar de seguir al usuario?", + "content_warning.hide": "Ocultar publicación", + "content_warning.show": "Mostrar de todos modos", "conversation.delete": "Borrar conversación", "conversation.mark_as_read": "Marcar como leído", "conversation.open": "Ver conversación", @@ -300,6 +301,7 @@ "filter_modal.select_filter.subtitle": "Usar una categoría existente o crear una nueva", "filter_modal.select_filter.title": "Filtrar esta publicación", "filter_modal.title.status": "Filtrar una publicación", + "filter_warning.matches_filter": "Coincide con el filtro “{title}”", "filtered_notifications_banner.pending_requests": "De {count, plural, =0 {nadie} one {una persona} other {# personas}} que puede que conozcas", "filtered_notifications_banner.title": "Notificaciones filtradas", "firehose.all": "Todas", @@ -349,6 +351,14 @@ "hashtag.follow": "Seguir etiqueta", "hashtag.unfollow": "Dejar de seguir etiqueta", "hashtags.and_other": "…y {count, plural, other {# más}}", + "hints.profiles.followers_may_be_missing": "Puede que no se muestren todos los seguidores de este perfil.", + "hints.profiles.follows_may_be_missing": "Puede que no se muestren todas las cuentas seguidas por este perfil.", + "hints.profiles.posts_may_be_missing": "Puede que no se muestren todas las publicaciones de este perfil.", + "hints.profiles.see_more_followers": "Ver más seguidores en {domain}", + "hints.profiles.see_more_follows": "Ver más perfiles seguidos en {domain}", + "hints.profiles.see_more_posts": "Ver más publicaciones en {domain}", + "hints.threads.replies_may_be_missing": "Puede que no se muestren algunas respuestas de otros servidores.", + "hints.threads.see_more": "Ver más respuestas en {domain}", "home.column_settings.show_reblogs": "Mostrar impulsos", "home.column_settings.show_replies": "Mostrar respuestas", "home.hide_announcements": "Ocultar anuncios", @@ -356,6 +366,17 @@ "home.pending_critical_update.link": "Ver actualizaciones", "home.pending_critical_update.title": "¡Actualización de seguridad crítica disponible!", "home.show_announcements": "Mostrar anuncios", + "ignore_notifications_modal.disclaimer": "Mastodon no puede informar a los usuarios que has ignorado sus notificaciones. Ignorar notificaciones no impedirá que se sigan enviando los mensajes.", + "ignore_notifications_modal.filter_instead": "Filtrar en vez de ignorar", + "ignore_notifications_modal.filter_to_act_users": "Aún podrás aceptar, rechazar o reportar usuarios", + "ignore_notifications_modal.filter_to_avoid_confusion": "Filtrar ayuda a evitar confusiones potenciales", + "ignore_notifications_modal.filter_to_review_separately": "Puedes revisar las notificaciones filtradas por separado", + "ignore_notifications_modal.ignore": "Ignorar notificaciones", + "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.not_followers_title": "¿Ignorar notificaciones de personas que no te sigue?", + "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?", "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.follow": "Con una cuenta en Mastodon, puedes seguir {name} para recibir sus publicaciones en tu línea temporal de inicio.", "interaction_modal.description.reblog": "Con una cuenta en Mastodon, puedes impulsar esta publicación para compartirla con tus propios seguidores.", @@ -445,8 +466,6 @@ "mute_modal.title": "¿Silenciar usuario?", "mute_modal.you_wont_see_mentions": "No verás mensajes que los mencionen.", "mute_modal.you_wont_see_posts": "Todavía pueden ver tus publicaciones, pero tú no verás las suyas.", - "name_and_others": "{name} y {count, plural, one {# más} other {# más}}", - "name_and_others_with_link": "{name} y {count, plural, one {# más} other {# más}}", "navigation_bar.about": "Acerca de", "navigation_bar.advanced_interface": "Abrir en la interfaz web avanzada", "navigation_bar.blocks": "Usuarios bloqueados", @@ -479,10 +498,18 @@ "notification.admin.report_statuses": "{name} informó de {target} por {category}", "notification.admin.report_statuses_other": "{name} informó de {target}", "notification.admin.sign_up": "{name} se registró", + "notification.admin.sign_up.name_and_others": "{name} y {count, plural, one {# más} other {# más}} se registraron", "notification.favourite": "{name} marcó como favorita tu publicación", + "notification.favourite.name_and_others_with_link": "{name} y {count, plural, one {# más} other {# más}} marcaron tu publicación como favorita", "notification.follow": "{name} te empezó a seguir", + "notification.follow.name_and_others": "{name} y {count, plural, one {# más} other {# más}} te siguieron", "notification.follow_request": "{name} ha solicitado seguirte", - "notification.mention": "{name} te ha mencionado", + "notification.follow_request.name_and_others": "{name} y {count, plural, one {# más} other {# más}} han solicitado seguirte", + "notification.label.mention": "Mención", + "notification.label.private_mention": "Mención privada", + "notification.label.private_reply": "Respuesta privada", + "notification.label.reply": "Respuesta", + "notification.mention": "Mención", "notification.moderation-warning.learn_more": "Saber más", "notification.moderation_warning": "Has recibido una advertencia de moderación", "notification.moderation_warning.action_delete_statuses": "Se han eliminado algunas de tus publicaciones.", @@ -494,8 +521,8 @@ "notification.moderation_warning.action_suspend": "Tu cuenta ha sido suspendida.", "notification.own_poll": "Tu encuesta ha terminado", "notification.poll": "Una encuesta ha terminado", - "notification.private_mention": "{name} te mencionó en privado", "notification.reblog": "{name} ha impulsado tu publicación", + "notification.reblog.name_and_others_with_link": "{name} y {count, plural, one {# más} other {# más}} impulsaron tu publicación", "notification.relationships_severance_event": "Conexiones perdidas con {name}", "notification.relationships_severance_event.account_suspension": "Un administrador de {from} ha suspendido {target}, lo que significa que ya no puedes recibir actualizaciones de sus cuentas o interactuar con ellas.", "notification.relationships_severance_event.domain_block": "Un administrador de {from} ha bloqueado {target}, incluyendo {followersCount} de tus seguidores y {followingCount, plural, one {# cuenta} other {# cuentas}} que sigues.", @@ -504,11 +531,24 @@ "notification.status": "{name} acaba de publicar", "notification.update": "{name} editó una publicación", "notification_requests.accept": "Aceptar", + "notification_requests.accept_multiple": "{count, plural, one {Aceptar # solicitud…} other {Aceptar # solicitudes…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Aceptar solicitud} other {Aceptar solicitudes}}", + "notification_requests.confirm_accept_multiple.message": "Vas a aceptar {count, plural, one {una solicitud} other {# solicitudes}}. ¿Quieres continuar?", + "notification_requests.confirm_accept_multiple.title": "¿Aceptar las solicitudes?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Descartar solicitud} other {Descartar solicitudes}}", + "notification_requests.confirm_dismiss_multiple.message": "Vas a descartar {count, plural, one {una solicitud} other {# solicitudes}}. No podrás volver a acceder fácilmente a {count, plural, one {ella} other {ellas}} de nuevo. ¿Seguro que quieres continuar?", + "notification_requests.confirm_dismiss_multiple.title": "¿Descartar las solicitudes?", "notification_requests.dismiss": "Descartar", + "notification_requests.dismiss_multiple": "{count, plural, one {Descartar # solicitud…} other {Descartar # solicitudes…}}", + "notification_requests.edit_selection": "Editar", + "notification_requests.exit_selection": "Hecho", + "notification_requests.explainer_for_limited_account": "Las notificaciones de esta cuenta han sido filtradas porque la cuenta ha sido limitada por un moderador.", + "notification_requests.explainer_for_limited_remote_account": "Las notificaciones de esta cuenta han sido filtradas porque la cuenta o su servidor ha sido limitada por un moderador.", "notification_requests.maximize": "Maximizar", "notification_requests.minimize_banner": "Minimizar banner de notificaciones filtradas", "notification_requests.notifications_from": "Notificaciones de {name}", "notification_requests.title": "Notificaciones filtradas", + "notification_requests.view": "Ver notificaciones", "notifications.clear": "Limpiar notificaciones", "notifications.clear_confirmation": "¿Seguro que quieres limpiar permanentemente todas tus notificaciones?", "notifications.clear_title": "¿Borrar notificaciones?", @@ -545,6 +585,14 @@ "notifications.permission_denied": "No se pueden habilitar las notificaciones de escritorio ya que se denegó el permiso.", "notifications.permission_denied_alert": "No se pueden habilitar las notificaciones de escritorio, ya que el permiso del navegador fue denegado anteriormente", "notifications.permission_required": "Las notificaciones de escritorio no están disponibles porque no se ha concedido el permiso requerido.", + "notifications.policy.accept": "Aceptar", + "notifications.policy.accept_hint": "Mostrar en notificaciones", + "notifications.policy.drop": "Ignorar", + "notifications.policy.drop_hint": "Enviar al vacío, no volver a mostrar nunca", + "notifications.policy.filter": "Filtrar", + "notifications.policy.filter_hint": "Enviar a la bandeja de entrada de notificaciones filtradas", + "notifications.policy.filter_limited_accounts_hint": "Limitadas por los moderadores del servidor", + "notifications.policy.filter_limited_accounts_title": "Cuentas moderadas", "notifications.policy.filter_new_accounts.hint": "Creadas durante {days, plural, one {el último día} other {los últimos # días}}", "notifications.policy.filter_new_accounts_title": "Cuentas nuevas", "notifications.policy.filter_not_followers_hint": "Incluyendo personas que te han estado siguiendo desde hace menos de {days, plural, one {un día} other {# días}}", @@ -553,7 +601,7 @@ "notifications.policy.filter_not_following_title": "Personas que no sigues", "notifications.policy.filter_private_mentions_hint": "Filtradas a menos que sea en respuesta a tu propia mención, o si sigues al remitente", "notifications.policy.filter_private_mentions_title": "Menciones privadas no solicitadas", - "notifications.policy.title": "Filtrar notificaciones de…", + "notifications.policy.title": "Gestionar notificaciones de…", "notifications_permission_banner.enable": "Habilitar notificaciones de escritorio", "notifications_permission_banner.how_to_control": "Para recibir notificaciones cuando Mastodon no esté abierto, habilite las notificaciones de escritorio. Puedes controlar con precisión qué tipos de interacciones generan notificaciones de escritorio a través del botón {icon} de arriba una vez que estén habilitadas.", "notifications_permission_banner.title": "Nunca te pierdas nada", @@ -740,8 +788,6 @@ "status.favourite": "Favorito", "status.favourites": "{count, plural, one {favorito} other {favoritos}}", "status.filter": "Filtrar esta publicación", - "status.filtered": "Filtrado", - "status.hide": "Ocultar publicación", "status.history.created": "{name} creó {date}", "status.history.edited": "{name} editó {date}", "status.load_more": "Cargar más", @@ -769,10 +815,7 @@ "status.report": "Reportar", "status.sensitive_warning": "Contenido sensible", "status.share": "Compartir", - "status.show_filter_reason": "Mostrar de todos modos", - "status.show_less": "Mostrar menos", "status.show_less_all": "Mostrar menos para todo", - "status.show_more": "Mostrar más", "status.show_more_all": "Mostrar más para todo", "status.show_original": "Mostrar original", "status.title.with_attachments": "{user} ha publicado {attachmentCount, plural, one {un adjunto} other {{attachmentCount} adjuntos}}", @@ -791,10 +834,6 @@ "time_remaining.minutes": "{number, plural, one {# minuto restante} other {# minutos restantes}}", "time_remaining.moments": "Momentos restantes", "time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}", - "timeline_hint.remote_resource_not_displayed": "{resource} de otros servidores no se muestran.", - "timeline_hint.resources.followers": "Seguidores", - "timeline_hint.resources.follows": "Seguidos", - "timeline_hint.resources.statuses": "Publicaciones más antiguas", "trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} personas}} en los últimos {days, plural, one {días} other {{days} días}}", "trends.trending_now": "Tendencia ahora", "ui.beforeunload": "Tu borrador se perderá si sales de Mastodon.", diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json index 031904d54a3..5caa258cd20 100644 --- a/app/javascript/mastodon/locales/et.json +++ b/app/javascript/mastodon/locales/et.json @@ -18,7 +18,6 @@ "account.block_domain": "Peida kõik domeenist {domain}", "account.block_short": "Blokeerimine", "account.blocked": "Blokeeritud", - "account.browse_more_on_origin_server": "Vaata rohkem algsel profiilil", "account.cancel_follow_request": "Võta jälgimistaotlus tagasi", "account.copy": "Kopeeri profiili link", "account.direct": "Maini privaatselt @{name}", @@ -34,7 +33,9 @@ "account.follow_back": "Jälgi vastu", "account.followers": "Jälgijad", "account.followers.empty": "Keegi ei jälgi veel seda kasutajat.", + "account.followers_counter": "{count, plural, one {{counter} jälgija} other {{counter} jälgijat}}", "account.following": "Jälgib", + "account.following_counter": "{count, plural, one {{counter} jälgib} other {{counter} jälgib}}", "account.follows.empty": "See kasutaja ei jälgi veel kedagi.", "account.go_to_profile": "Mine profiilile", "account.hide_reblogs": "Peida @{name} jagamised", @@ -60,6 +61,7 @@ "account.requested_follow": "{name} on taodelnud sinu jälgimist", "account.share": "Jaga @{name} profiili", "account.show_reblogs": "Näita @{name} jagamisi", + "account.statuses_counter": "{count, plural, one {{counter} postitus} other {{counter} postitust}}", "account.unblock": "Eemalda blokeering @{name}", "account.unblock_domain": "Tee {domain} nähtavaks", "account.unblock_short": "Eemalda blokeering", @@ -464,7 +466,6 @@ "notification.favourite": "{name} märkis su postituse lemmikuks", "notification.follow": "{name} alustas su jälgimist", "notification.follow_request": "{name} soovib sind jälgida", - "notification.mention": "{name} mainis sind", "notification.moderation-warning.learn_more": "Vaata lisa", "notification.moderation_warning": "Said modereerimise hoiatuse", "notification.moderation_warning.action_delete_statuses": "Mõni su postitus on eemaldatud.", @@ -528,7 +529,6 @@ "notifications.policy.filter_not_following_title": "Inimesed, keda sa ei jälgi", "notifications.policy.filter_private_mentions_hint": "Filtreeritud, kui see pole vastus sinupoolt mainimisele või kui jälgid saatjat", "notifications.policy.filter_private_mentions_title": "Soovimatud privaatsed mainimised", - "notifications.policy.title": "Filtreeri välja teavitused kohast…", "notifications_permission_banner.enable": "Luba töölaua märguanded", "notifications_permission_banner.how_to_control": "Et saada teateid, ajal mil Mastodon pole avatud, luba töölauamärguanded. Saad täpselt määrata, mis tüüpi tegevused tekitavad märguandeid, kasutates peale teadaannete sisse lülitamist üleval olevat nuppu {icon}.", "notifications_permission_banner.title": "Ära jää millestki ilma", @@ -711,8 +711,6 @@ "status.favourite": "Lemmik", "status.favourites": "{count, plural, one {lemmik} other {lemmikud}}", "status.filter": "Filtreeri seda postitust", - "status.filtered": "Filtreeritud", - "status.hide": "Peida postitus", "status.history.created": "{name} lõi {date}", "status.history.edited": "{name} muutis {date}", "status.load_more": "Lae rohkem", @@ -740,10 +738,7 @@ "status.report": "Raporteeri @{name}", "status.sensitive_warning": "Tundlik sisu", "status.share": "Jaga", - "status.show_filter_reason": "Näita ikka", - "status.show_less": "Peida sisu", "status.show_less_all": "Peida kogu tundlik sisu", - "status.show_more": "Näita sisu", "status.show_more_all": "Näita kogu tundlikku sisu", "status.show_original": "Näita algset", "status.title.with_attachments": "{user} postitas {attachmentCount, plural, one {manuse} other {{attachmentCount} manust}}", @@ -762,10 +757,6 @@ "time_remaining.minutes": "{number, plural, one {# minut} other {# minutit}} jäänud", "time_remaining.moments": "Hetked jäänud", "time_remaining.seconds": "{number, plural, one {# sekund} other {# sekundit}} jäänud", - "timeline_hint.remote_resource_not_displayed": "{resource} teistest serveritest ei kuvata.", - "timeline_hint.resources.followers": "Jälgijaid", - "timeline_hint.resources.follows": "Jälgimisi", - "timeline_hint.resources.statuses": "Eelnevaid postitusi", "trends.counter_by_accounts": "{count, plural, one {{counter} inimene} other {{counter} inimest}} viimase {days, plural, one {päeva} other {{days} päeva}} jooksul", "trends.trending_now": "Hetkel populaarne", "ui.beforeunload": "Mustand läheb kaotsi, kui lahkud Mastodonist.", diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json index 291f19002e4..a8e2e668c3f 100644 --- a/app/javascript/mastodon/locales/eu.json +++ b/app/javascript/mastodon/locales/eu.json @@ -11,6 +11,7 @@ "about.not_available": "Zerbitzari honek ez du informazio hau eskuragarri jarri.", "about.powered_by": "{mastodon} erabiltzen duen sare sozial deszentralizatua", "about.rules": "Zerbitzariaren arauak", + "account.account_note_header": "Ohar pertsonala", "account.add_or_remove_from_list": "Gehitu edo kendu zerrendetatik", "account.badges.bot": "Bot-a", "account.badges.group": "Taldea", @@ -18,7 +19,6 @@ "account.block_domain": "Blokeatu {domain} domeinua", "account.block_short": "Blokeatu", "account.blocked": "Blokeatuta", - "account.browse_more_on_origin_server": "Arakatu gehiago jatorrizko profilean", "account.cancel_follow_request": "Baztertu jarraitzeko eskaera", "account.copy": "Kopiatu profilerako esteka", "account.direct": "Aipatu pribatuki @{name}", @@ -34,7 +34,9 @@ "account.follow_back": "Jarraitu bueltan", "account.followers": "Jarraitzaileak", "account.followers.empty": "Ez du inork erabiltzaile hau jarraitzen oraindik.", + "account.followers_counter": "{count, plural, one {{counter} jarraitzaile} other {{counter} jarraitzaile}}", "account.following": "Jarraitzen", + "account.following_counter": "{count, plural, one {{counter} jarraitzen} other {{counter} jarraitzen}}", "account.follows.empty": "Erabiltzaile honek ez du inor jarraitzen oraindik.", "account.go_to_profile": "Joan profilera", "account.hide_reblogs": "Ezkutatu @{name} erabiltzailearen bultzadak", @@ -60,6 +62,7 @@ "account.requested_follow": "{name}-(e)k zu jarraitzeko eskaera egin du", "account.share": "Partekatu @{name} erabiltzailearen profila", "account.show_reblogs": "Erakutsi @{name} erabiltzailearen bultzadak", + "account.statuses_counter": "{count, plural, one {{counter} bidalketa} other {{counter} bidalketa}}", "account.unblock": "Desblokeatu @{name}", "account.unblock_domain": "Berriz erakutsi {domain}", "account.unblock_short": "Desblokeatu", @@ -175,6 +178,7 @@ "confirmations.discard_edit_media.message": "Multimediaren deskribapen edo aurrebistan gorde gabeko aldaketak daude, baztertu nahi dituzu?", "confirmations.edit.confirm": "Editatu", "confirmations.edit.message": "Orain editatzen baduzu, une honetan idazten ari zaren mezua gainidatziko da. Ziur jarraitu nahi duzula?", + "confirmations.edit.title": "Gainidatzi bidalketa?", "confirmations.logout.confirm": "Amaitu saioa", "confirmations.logout.message": "Ziur saioa amaitu nahi duzula?", "confirmations.logout.title": "Itxi saioa?", @@ -184,8 +188,10 @@ "confirmations.redraft.title": "Ezabatu eta berridatzi bidalketa?", "confirmations.reply.confirm": "Erantzun", "confirmations.reply.message": "Orain erantzuteak idazten ari zaren mezua gainidatziko du. Ziur jarraitu nahi duzula?", + "confirmations.reply.title": "Gainidatzi bidalketa?", "confirmations.unfollow.confirm": "Utzi jarraitzeari", "confirmations.unfollow.message": "Ziur {name} jarraitzeari utzi nahi diozula?", + "confirmations.unfollow.title": "Erabiltzailea jarraitzeari utzi?", "conversation.delete": "Ezabatu elkarrizketa", "conversation.mark_as_read": "Markatu irakurrita bezala", "conversation.open": "Ikusi elkarrizketa", @@ -348,6 +354,12 @@ "home.pending_critical_update.link": "Ikusi eguneraketak", "home.pending_critical_update.title": "Segurtasun eguneraketa kritikoa eskuragarri!", "home.show_announcements": "Erakutsi iragarpenak", + "ignore_notifications_modal.filter_instead": "Iragazi ez ikusiarena egin beharrean", + "ignore_notifications_modal.ignore": "Ezikusi jakinarazpenak", + "ignore_notifications_modal.limited_accounts_title": "Moderatutako kontuen jakinarazpenei ez ikusiarena egin?", + "ignore_notifications_modal.new_accounts_title": "Kontu berrien jakinarazpenei ez ikusiarena egin?", + "ignore_notifications_modal.not_followers_title": "Jarraitzen ez zaituzten pertsonen jakinarazpenei ez ikusiarena egin?", + "ignore_notifications_modal.not_following_title": "Jarraitzen ez dituzun pertsonen jakinarazpenei ez ikusiarena egin?", "interaction_modal.description.favourite": "Mastodon kontu batekin bidalketa hau gogoko egin dezakezu, egileari eskertzeko eta gerorako gordetzeko.", "interaction_modal.description.follow": "Mastodon kontu batekin {name} jarraitu dezakezu bere bidalketak zure hasierako denbora lerroan jasotzeko.", "interaction_modal.description.reblog": "Mastodon kontu batekin bidalketa hau bultzatu dezakezu, zure jarraitzaileekin partekatzeko.", @@ -466,7 +478,11 @@ "notification.favourite": "{name}(e)k zure bidalketa gogoko du", "notification.follow": "{name}(e)k jarraitzen dizu", "notification.follow_request": "{name}(e)k zu jarraitzeko eskaera egin du", - "notification.mention": "{name}(e)k aipatu zaitu", + "notification.label.mention": "Aipamena", + "notification.label.private_mention": "Aipamen pribatua", + "notification.label.private_reply": "Erantzun pribatua", + "notification.label.reply": "Erantzuna", + "notification.mention": "Aipamena", "notification.moderation-warning.learn_more": "Informazio gehiago", "notification.moderation_warning": "Moderazio-abisu bat jaso duzu", "notification.moderation_warning.action_delete_statuses": "Argitalpen batzuk kendu dira.", @@ -477,6 +493,7 @@ "notification.moderation_warning.action_silence": "Kontua murriztu egin da.", "notification.moderation_warning.action_suspend": "Kontua itxi da.", "notification.own_poll": "Zure inkesta amaitu da", + "notification.poll": "Zuk erantzun duzun inkesta bat bukatu da", "notification.reblog": "{name}(e)k bultzada eman dio zure bidalketari", "notification.relationships_severance_event": "{name} erabiltzailearekin galdutako konexioak", "notification.relationships_severance_event.account_suspension": "{from} zerbitzariko administratzaile batek {target} bertan behera utzi du, hau da, ezin izango dituzu jaso hango eguneratzerik edo hangoekin elkarreragin.", @@ -485,8 +502,10 @@ "notification.update": "{name} erabiltzaileak bidalketa bat editatu du", "notification_requests.accept": "Onartu", "notification_requests.dismiss": "Baztertu", + "notification_requests.maximize": "Maximizatu", "notification_requests.notifications_from": "{name} erabiltzailearen jakinarazpenak", "notification_requests.title": "Iragazitako jakinarazpenak", + "notification_requests.view": "Ikusi jakinarazpenak", "notifications.clear": "Garbitu jakinarazpenak", "notifications.clear_confirmation": "Ziur zure jakinarazpen guztiak behin betirako garbitu nahi dituzula?", "notifications.clear_title": "Garbitu jakinarazpenak?", @@ -523,6 +542,14 @@ "notifications.permission_denied": "Mahaigaineko jakinarazpenak ez daude erabilgarri, nabigatzaileari baimen eskaera ukatu zitzaiolako", "notifications.permission_denied_alert": "Mahaigaineko jakinarazpenak ezin dira gaitu, nabigatzaileari baimena ukatu zitzaiolako", "notifications.permission_required": "Mahaigaineko jakinarazpenak ez daude erabilgarri, horretarako behar den baimena ez delako eman.", + "notifications.policy.accept": "Onartu", + "notifications.policy.accept_hint": "Erakutsi jakinarazpenetan", + "notifications.policy.drop": "Ezikusi", + "notifications.policy.drop_hint": "Hutsera bidali, ez erakutsi inoiz gehiago", + "notifications.policy.filter": "Iragazi", + "notifications.policy.filter_hint": "Bidali filtratutako jakinarazpenen sarrerako ontzira", + "notifications.policy.filter_limited_accounts_hint": "Zerbitzariaren moderatzaileek mugatuta", + "notifications.policy.filter_limited_accounts_title": "Moderatutako kontuak", "notifications.policy.filter_new_accounts.hint": "Azken {days, plural, one {egunean} other {# egunetan}} sortua", "notifications.policy.filter_new_accounts_title": "Kontu berriak", "notifications.policy.filter_not_followers_hint": "{days, plural, one {Egun batez} other {# egunez}} baino gutxiago jarraitu zaituen jendea barne", @@ -531,7 +558,7 @@ "notifications.policy.filter_not_following_title": "Jarraitzen ez duzun jendea", "notifications.policy.filter_private_mentions_hint": "Iragazita, baldin eta zure aipamenaren erantzuna bada edo bidaltzailea jarraitzen baduzu", "notifications.policy.filter_private_mentions_title": "Eskatu gabeko aipamen pribatuak", - "notifications.policy.title": "Ez iragazi hemengo jakinarazpenak…", + "notifications.policy.title": "Kudeatu honen jakinarazpaenak…", "notifications_permission_banner.enable": "Gaitu mahaigaineko jakinarazpenak", "notifications_permission_banner.how_to_control": "Mastodon irekita ez dagoenean jakinarazpenak jasotzeko, gaitu mahaigaineko jakinarazpenak. Mahaigaineko jakinarazpenak ze elkarrekintzak eragingo dituzten zehazki kontrolatu dezakezu goiko {icon} botoia erabiliz, gaituta daudenean.", "notifications_permission_banner.title": "Ez galdu ezer inoiz", @@ -658,6 +685,7 @@ "report.unfollow_explanation": "Kontu hau jarraitzen ari zara. Zure denbora-lerro nagusian bere bidalketak ez ikusteko, jarraitzeari utzi.", "report_notification.attached_statuses": "{count, plural, one {Bidalketa {count}} other {{count} bidalketa}} erantsita", "report_notification.categories.legal": "Legala", + "report_notification.categories.legal_sentence": "eduki ilegala", "report_notification.categories.other": "Bestelakoak", "report_notification.categories.other_sentence": "bestelakoak", "report_notification.categories.spam": "Spam", @@ -693,6 +721,7 @@ "server_banner.administered_by": "Administratzailea(k):", "server_banner.server_stats": "Zerbitzariaren estatistikak:", "sign_in_banner.create_account": "Sortu kontua", + "sign_in_banner.mastodon_is": "Mastodon gertatzen ari denari buruz egunean egoteko modurik onena da.", "sign_in_banner.sign_in": "Hasi saioa", "sign_in_banner.sso_redirect": "Hasi saioa edo izena eman", "status.admin_account": "Ireki @{name} erabiltzailearen moderazio interfazea", @@ -714,8 +743,6 @@ "status.favourite": "Gogokoa", "status.favourites": "{count, plural, one {gogoko} other {gogoko}}", "status.filter": "Iragazi bidalketa hau", - "status.filtered": "Iragazita", - "status.hide": "Tuta ezkutatu", "status.history.created": "{name} erabiltzaileak sortua {date}", "status.history.edited": "{name} erabiltzaileak editatua {date}", "status.load_more": "Kargatu gehiago", @@ -743,10 +770,7 @@ "status.report": "Salatu @{name}", "status.sensitive_warning": "Kontuz: Eduki hunkigarria", "status.share": "Partekatu", - "status.show_filter_reason": "Erakutsi hala ere", - "status.show_less": "Erakutsi gutxiago", "status.show_less_all": "Erakutsi denetarik gutxiago", - "status.show_more": "Erakutsi gehiago", "status.show_more_all": "Erakutsi denetarik gehiago", "status.show_original": "Erakutsi jatorrizkoa", "status.title.with_attachments": "{user} erabiltzaileak {attachmentCount, plural, one {eranskin bat} other {{attachmentCount} eranskin}} argitaratu d(it)u", @@ -765,10 +789,6 @@ "time_remaining.minutes": "{number, plural, one {minutu #} other {# minutu}} amaitzeko", "time_remaining.moments": "Amaitzekotan", "time_remaining.seconds": "{number, plural, one {segundo #} other {# segundo}} amaitzeko", - "timeline_hint.remote_resource_not_displayed": "Beste zerbitzarietako {resource} ez da bistaratzen.", - "timeline_hint.resources.followers": "Jarraitzaileak", - "timeline_hint.resources.follows": "Jarraitzen", - "timeline_hint.resources.statuses": "Bidalketa zaharragoak", "trends.counter_by_accounts": "{count, plural, one {Pertsona {counter}} other {{counter} pertsona}} azken {days, plural, one {egunean} other {{days} egunetan}}", "trends.trending_now": "Joera orain", "ui.beforeunload": "Zure zirriborroa galduko da Mastodon uzten baduzu.", diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index 514ce5959a2..169c325ad78 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -18,7 +18,6 @@ "account.block_domain": "انسداد دامنهٔ {domain}", "account.block_short": "انسداد", "account.blocked": "مسدود", - "account.browse_more_on_origin_server": "مرور بیش‌تر روی نمایهٔ اصلی", "account.cancel_follow_request": "رد کردن درخواست پی‌گیری", "account.copy": "رونوشت از پیوند به نمایه", "account.direct": "اشارهٔ خصوصی به ‪@{name}‬", @@ -435,7 +434,6 @@ "notification.favourite": "{name} فرسته‌تان را برگزید", "notification.follow": "‫{name}‬ پی‌گیرتان شد", "notification.follow_request": "{name} درخواست پی‌گیریتان را داد", - "notification.mention": "‫{name}‬ به شما اشاره کرد", "notification.moderation-warning.learn_more": "بیشتر بدانید", "notification.own_poll": "نظرسنجیتان پایان یافت", "notification.reblog": "‫{name}‬ فرسته‌تان را تقویت کرد", @@ -659,8 +657,6 @@ "status.embed": "جاسازی", "status.favourite": "برگزیده‌", "status.filter": "پالایش این فرسته", - "status.filtered": "پالوده", - "status.hide": "نهفتن فرسته", "status.history.created": "توسط {name} در {date} ایجاد شد", "status.history.edited": "توسط {name} در {date} ویرایش شد", "status.load_more": "بار کردن بیش‌تر", @@ -687,10 +683,7 @@ "status.report": "گزارش ‎@{name}", "status.sensitive_warning": "محتوای حساس", "status.share": "هم‌رسانی", - "status.show_filter_reason": "به هر روی نشان داده شود", - "status.show_less": "نمایش کمتر", "status.show_less_all": "نمایش کمتر همه", - "status.show_more": "نمایش بیشتر", "status.show_more_all": "نمایش بیشتر همه", "status.show_original": "نمایش اصلی", "status.title.with_attachments": "{user} {attachmentCount, plural, one {یک پیوست} other {{attachmentCount} پیوست}} فرستاد", @@ -709,10 +702,6 @@ "time_remaining.minutes": "{number, plural, one {# دقیقه} other {# دقیقه}} باقی مانده", "time_remaining.moments": "زمان باقی‌مانده", "time_remaining.seconds": "{number, plural, one {# ثانیه} other {# ثانیه}} باقی مانده", - "timeline_hint.remote_resource_not_displayed": "{resource} از دیگر کارسازها نمایش داده نمی‌شوند.", - "timeline_hint.resources.followers": "پی‌گیرندگان", - "timeline_hint.resources.follows": "پی‌گرفتگان", - "timeline_hint.resources.statuses": "فرسته‌های قدیمی‌تر", "trends.counter_by_accounts": "{count, plural, one {{counter} نفر} other {{counter} نفر}} در {days, plural, one {روز} other {{days} روز}} گذشته", "trends.trending_now": "پرطرفدار", "ui.beforeunload": "اگر از ماستودون خارج شوید پیش‌نویس شما از دست خواهد رفت.", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 0f70d95e3e6..39df3e010f5 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -19,7 +19,6 @@ "account.block_domain": "Estä verkkotunnus {domain}", "account.block_short": "Estä", "account.blocked": "Estetty", - "account.browse_more_on_origin_server": "Selaa lisää alkuperäisessä profiilissa", "account.cancel_follow_request": "Peruuta seurantapyyntö", "account.copy": "Kopioi linkki profiiliin", "account.direct": "Mainitse @{name} yksityisesti", @@ -98,6 +97,8 @@ "block_modal.title": "Estetäänkö käyttäjä?", "block_modal.you_wont_see_mentions": "Et näe enää julkaisuja, joissa hänet mainitaan.", "boost_modal.combo": "Ensi kerralla voit ohittaa tämän painamalla {combo}", + "boost_modal.reblog": "Tehostetaanko julkaisua?", + "boost_modal.undo_reblog": "Perutaanko julkaisun tehostus?", "bundle_column_error.copy_stacktrace": "Kopioi virheraportti", "bundle_column_error.error.body": "Pyydettyä sivua ei voitu hahmontaa. Se voi johtua virheestä koodissamme tai selaimen yhteensopivuudessa.", "bundle_column_error.error.title": "Voi ei!", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "Lopeta seuraaminen", "confirmations.unfollow.message": "Haluatko varmasti lopettaa profiilin {name} seuraamisen?", "confirmations.unfollow.title": "Lopetetaanko käyttäjän seuraaminen?", + "content_warning.hide": "Piilota julkaisu", + "content_warning.show": "Näytä kuitenkin", "conversation.delete": "Poista keskustelu", "conversation.mark_as_read": "Merkitse luetuksi", "conversation.open": "Näytä keskustelu", @@ -300,6 +303,7 @@ "filter_modal.select_filter.subtitle": "Käytä olemassa olevaa luokkaa tai luo uusi", "filter_modal.select_filter.title": "Suodata tämä julkaisu", "filter_modal.title.status": "Suodata julkaisu", + "filter_warning.matches_filter": "Vastaa suodatinta ”{title}”", "filtered_notifications_banner.pending_requests": "{count, plural, =0 {Ei keneltäkään, jonka} one {1 käyttäjältä, jonka} other {# käyttäjältä, jotka}} saatat tuntea", "filtered_notifications_banner.title": "Suodatetut ilmoitukset", "firehose.all": "Kaikki", @@ -327,7 +331,7 @@ "footer.about": "Tietoja", "footer.directory": "Profiilihakemisto", "footer.get_app": "Hanki sovellus", - "footer.invite": "Kutsu ihmisiä", + "footer.invite": "Kutsu käyttäjiä", "footer.keyboard_shortcuts": "Pikanäppäimet", "footer.privacy_policy": "Tietosuojakäytäntö", "footer.source_code": "Näytä lähdekoodi", @@ -349,6 +353,14 @@ "hashtag.follow": "Seuraa aihetunnistetta", "hashtag.unfollow": "Lopeta aihetunnisteen seuraaminen", "hashtags.and_other": "…ja {count, plural, other {# lisää}}", + "hints.profiles.followers_may_be_missing": "Tämän profiilin seuraajia saattaa puuttua.", + "hints.profiles.follows_may_be_missing": "Tämän profiilin seurattuja saattaa puuttua.", + "hints.profiles.posts_may_be_missing": "Tämän profiilin julkaisuja saattaa puuttua.", + "hints.profiles.see_more_followers": "Näytä lisää seuraajia palvelimella {domain}", + "hints.profiles.see_more_follows": "Näytä lisää seurattuja palvelimella {domain}", + "hints.profiles.see_more_posts": "Näytä lisää julkaisuja palvelimella {domain}", + "hints.threads.replies_may_be_missing": "Muiden palvelinten vastauksia saattaa puuttua.", + "hints.threads.see_more": "Näytä lisää vastauksia palvelimella {domain}", "home.column_settings.show_reblogs": "Näytä tehostukset", "home.column_settings.show_replies": "Näytä vastaukset", "home.hide_announcements": "Piilota tiedotteet", @@ -356,6 +368,17 @@ "home.pending_critical_update.link": "Tutustu päivityssisältöihin", "home.pending_critical_update.title": "Kriittinen tietoturvapäivitys saatavilla!", "home.show_announcements": "Näytä tiedotteet", + "ignore_notifications_modal.disclaimer": "Mastodon ei voi ilmoittaa käyttäjille, että olet sivuuttanut heidän ilmoituksensa. Ilmoitusten sivuuttaminen ei lopeta itse viestien lähetystä.", + "ignore_notifications_modal.filter_instead": "Suodata sen sijaan", + "ignore_notifications_modal.filter_to_act_users": "Voit silti hyväksyä, hylätä tai raportoida käyttäjiä", + "ignore_notifications_modal.filter_to_avoid_confusion": "Suodatus auttaa välttämään mahdollisia sekaannuksia", + "ignore_notifications_modal.filter_to_review_separately": "Voit käydä suodatettuja ilmoituksia läpi erikseen", + "ignore_notifications_modal.ignore": "Sivuuta ilmoitukset", + "ignore_notifications_modal.limited_accounts_title": "Sivuutetaanko ilmoitukset moderoiduilta tileiltä?", + "ignore_notifications_modal.new_accounts_title": "Sivuutetaanko ilmoitukset uusilta tileiltä?", + "ignore_notifications_modal.not_followers_title": "Sivuutetaanko ilmoitukset käyttäjiltä, jotka eivät seuraa sinua?", + "ignore_notifications_modal.not_following_title": "Sivuutetaanko ilmoitukset käyttäjiltä, joita et seuraa?", + "ignore_notifications_modal.private_mentions_title": "Sivuutetaanko ilmoitukset pyytämättömistä yksityismaininnoista?", "interaction_modal.description.favourite": "Mastodon-tilillä voit lisätä tämän julkaisun suosikkeihisi osoittaaksesi tekijälle arvostavasi sitä ja tallentaaksesi sen tulevaa käyttöä varten.", "interaction_modal.description.follow": "Mastodon-tilillä voit seurata käyttäjää {name} saadaksesi hänen julkaisunsa kotisyötteeseesi.", "interaction_modal.description.reblog": "Mastodon-tilillä voit tehostaa tätä julkaisua jakaaksesi sen seuraajiesi kanssa.", @@ -445,9 +468,8 @@ "mute_modal.title": "Mykistetäänkö käyttäjä?", "mute_modal.you_wont_see_mentions": "Et näe enää julkaisuja, joissa hänet mainitaan.", "mute_modal.you_wont_see_posts": "Hän voi yhä nähdä julkaisusi, mutta sinä et näe hänen.", - "name_and_others": "{name} ja {count, plural, one {# muu} other {# muuta}}", - "name_and_others_with_link": "{name} ja {count, plural, one {# muu} other {# muuta}}", "navigation_bar.about": "Tietoja", + "navigation_bar.administration": "Ylläpito", "navigation_bar.advanced_interface": "Avaa edistyneessä selainkäyttöliittymässä", "navigation_bar.blocks": "Estetyt käyttäjät", "navigation_bar.bookmarks": "Kirjanmerkit", @@ -464,9 +486,10 @@ "navigation_bar.follows_and_followers": "Seuratut ja seuraajat", "navigation_bar.lists": "Listat", "navigation_bar.logout": "Kirjaudu ulos", + "navigation_bar.moderation": "Moderointi", "navigation_bar.mutes": "Mykistetyt käyttäjät", "navigation_bar.opened_in_classic_interface": "Julkaisut, profiilit ja tietyt muut sivut avautuvat oletuksena perinteiseen selainkäyttöliittymään.", - "navigation_bar.personal": "Henkilökohtainen", + "navigation_bar.personal": "Henkilökohtaiset", "navigation_bar.pins": "Kiinnitetyt julkaisut", "navigation_bar.preferences": "Asetukset", "navigation_bar.public_timeline": "Yleinen aikajana", @@ -479,10 +502,18 @@ "notification.admin.report_statuses": "{name} raportoi käyttäjän {target}, syynä {category}", "notification.admin.report_statuses_other": "{name} raportoi käyttäjän {target}", "notification.admin.sign_up": "{name} rekisteröityi", + "notification.admin.sign_up.name_and_others": "{name} ja {count, plural, one {# muu} other {# muuta}} rekisteröityivät", "notification.favourite": "{name} lisäsi julkaisusi suosikkeihinsa", + "notification.favourite.name_and_others_with_link": "{name} ja {count, plural, one {# muu} other {# muuta}} lisäsivät julkaisusi suosikkeihinsa", "notification.follow": "{name} seurasi sinua", + "notification.follow.name_and_others": "{name} ja {count, plural, one {# muu} other {# muuta}} seurasivat sinua", "notification.follow_request": "{name} on pyytänyt lupaa seurata sinua", - "notification.mention": "{name} mainitsi sinut", + "notification.follow_request.name_and_others": "{name} ja {count, plural, one {# muu} other {# muuta}} pyysivät saada seurata sinua", + "notification.label.mention": "Maininta", + "notification.label.private_mention": "Yksityismaininta", + "notification.label.private_reply": "Yksityinen vastaus", + "notification.label.reply": "Vastaus", + "notification.mention": "Maininta", "notification.moderation-warning.learn_more": "Lue lisää", "notification.moderation_warning": "Olet saanut moderointivaroituksen", "notification.moderation_warning.action_delete_statuses": "Julkaisujasi on poistettu.", @@ -494,8 +525,8 @@ "notification.moderation_warning.action_suspend": "Tilisi on jäädytetty.", "notification.own_poll": "Äänestyksesi on päättynyt", "notification.poll": "Äänestys, johon osallistuit, on päättynyt", - "notification.private_mention": "{name} mainitsi sinut yksityisesti", "notification.reblog": "{name} tehosti julkaisuasi", + "notification.reblog.name_and_others_with_link": "{name} ja {count, plural, one {# muu} other {# muuta}} tehostivat julkaisuasi", "notification.relationships_severance_event": "Menetettiin yhteydet palvelimeen {name}", "notification.relationships_severance_event.account_suspension": "Palvelimen {from} ylläpitäjä on jäädyttänyt palvelimen {target} vuorovaikutuksen. Enää et voi siis vastaanottaa päivityksiä heiltä tai olla yhteyksissä heidän kanssaan.", "notification.relationships_severance_event.domain_block": "Palvelimen {from} ylläpitäjä on estänyt palvelimen {target} vuorovaikutuksen – mukaan lukien {followersCount} seuraajistasi ja {followingCount, plural, one {# seuratuistasi} other {# seuratuistasi}}.", @@ -504,11 +535,24 @@ "notification.status": "{name} julkaisi juuri", "notification.update": "{name} muokkasi julkaisua", "notification_requests.accept": "Hyväksy", + "notification_requests.accept_multiple": "{count, plural, one {Hyväksy # pyyntö…} other {Hyväksy # pyyntöä…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Hyväksy pyyntö} other {Hyväksy pyynnöt}}", + "notification_requests.confirm_accept_multiple.message": "Olet aikeissa hyväksyä {count, plural, one {ilmoituspyynnön} other {# ilmoituspyyntöä}}. Haluatko varmasti jatkaa?", + "notification_requests.confirm_accept_multiple.title": "Hyväksytäänkö ilmoituspyynnöt?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Hylkää pyyntö} other {Hylkää pyynnöt}}", + "notification_requests.confirm_dismiss_multiple.message": "Olet aikeissa hylätä {count, plural, one {ilmoituspyynnön} other {# ilmoituspyyntöä}}. Et saa {count, plural, one {sitä} other {niitä}} enää helposti takaisin. Haluatko varmasti jatkaa?", + "notification_requests.confirm_dismiss_multiple.title": "Hylätäänkö ilmoituspyynnöt?", "notification_requests.dismiss": "Hylkää", + "notification_requests.dismiss_multiple": "{count, plural, one {Hylkää # pyyntö…} other {Hylkää # pyyntöä…}}", + "notification_requests.edit_selection": "Muokkaa", + "notification_requests.exit_selection": "Valmis", + "notification_requests.explainer_for_limited_account": "Tähän tiliin liittyvät ilmoitukset on suodatettu, koska moderaattori on rajoittanut tiliä.", + "notification_requests.explainer_for_limited_remote_account": "Tähän tiliin liittyvät ilmoitukset on suodatettu, koska moderaattori on rajoittanut tiliä tai sen palvelinta.", "notification_requests.maximize": "Suurenna", "notification_requests.minimize_banner": "Pienennä suodatettujen ilmoitusten palkki", "notification_requests.notifications_from": "Ilmoitukset käyttäjältä {name}", "notification_requests.title": "Suodatetut ilmoitukset", + "notification_requests.view": "Näytä ilmoitukset", "notifications.clear": "Tyhjennä ilmoitukset", "notifications.clear_confirmation": "Haluatko varmasti poistaa kaikki ilmoitukset pysyvästi?", "notifications.clear_title": "Tyhjennetäänkö ilmoitukset?", @@ -545,6 +589,12 @@ "notifications.permission_denied": "Työpöytäilmoitukset eivät ole käytettävissä, koska selaimen käyttöoikeuspyyntö on aiemmin evätty", "notifications.permission_denied_alert": "Työpöytäilmoituksia ei voi ottaa käyttöön, koska selaimen käyttöoikeus on aiemmin evätty", "notifications.permission_required": "Työpöytäilmoitukset eivät ole käytettävissä, koska siihen tarvittavaa käyttöoikeutta ei ole myönnetty.", + "notifications.policy.accept": "Hyväksy", + "notifications.policy.accept_hint": "Näytä ilmoituksissa", + "notifications.policy.drop": "Sivuuta", + "notifications.policy.drop_hint": "Lähetä tyhjyyteen, jotta et näe niitä enää koskaan", + "notifications.policy.filter": "Suodata", + "notifications.policy.filter_hint": "Lähetä suodatettuihin ilmoituksiin", "notifications.policy.filter_limited_accounts_hint": "Palvelimen moderaattorien rajoittamat", "notifications.policy.filter_limited_accounts_title": "Moderoidut tilit", "notifications.policy.filter_new_accounts.hint": "Luotu {days, plural, one {viime päivän} other {viimeisen # päivän}} aikana", @@ -554,8 +604,8 @@ "notifications.policy.filter_not_following_hint": "Kunnes hyväksyt heidät manuaalisesti", "notifications.policy.filter_not_following_title": "Käyttäjät, joita et seuraa", "notifications.policy.filter_private_mentions_hint": "Suodatetaan, ellei se ole vastaus omaan mainintaasi tai ellet seuraa lähettäjää", - "notifications.policy.filter_private_mentions_title": "Ei-toivotut yksityismaininnat", - "notifications.policy.title": "Suodata ilmoitukset pois kohteesta…", + "notifications.policy.filter_private_mentions_title": "Pyytämättömät yksityismaininnat", + "notifications.policy.title": "Hallitse ilmoituksia kohteesta…", "notifications_permission_banner.enable": "Ota työpöytäilmoitukset käyttöön", "notifications_permission_banner.how_to_control": "Saadaksesi ilmoituksia, kun Mastodon ei ole auki, ota työpöytäilmoitukset käyttöön. Voit hallita tarkasti, mistä saat työpöytäilmoituksia kun ilmoitukset on otettu käyttöön yllä olevan {icon}-painikkeen kautta.", "notifications_permission_banner.title": "Älä anna minkään mennä ohi", @@ -742,8 +792,6 @@ "status.favourite": "Suosikki", "status.favourites": "{count, plural, one {suosikki} other {suosikkia}}", "status.filter": "Suodata tämä julkaisu", - "status.filtered": "Suodatettu", - "status.hide": "Piilota julkaisu", "status.history.created": "{name} loi {date}", "status.history.edited": "{name} muokkasi {date}", "status.load_more": "Lataa lisää", @@ -771,10 +819,7 @@ "status.report": "Raportoi @{name}", "status.sensitive_warning": "Arkaluonteista sisältöä", "status.share": "Jaa", - "status.show_filter_reason": "Näytä joka tapauksessa", - "status.show_less": "Näytä vähemmän", "status.show_less_all": "Näytä kaikista vähemmän", - "status.show_more": "Näytä enemmän", "status.show_more_all": "Näytä kaikista enemmän", "status.show_original": "Näytä alkuperäinen", "status.title.with_attachments": "{user} liitti {attachmentCount, plural, one {{attachmentCount} tiedoston} other {{attachmentCount} tiedostoa}}", @@ -793,10 +838,6 @@ "time_remaining.minutes": "{number, plural, one {# minuutti} other {# minuuttia}} jäljellä", "time_remaining.moments": "Hetkiä jäljellä", "time_remaining.seconds": "{number, plural, one {# sekunti} other {# sekuntia}} jäljellä", - "timeline_hint.remote_resource_not_displayed": "Muiden palvelinten {resource} eivät näy tässä.", - "timeline_hint.resources.followers": "seuraajat", - "timeline_hint.resources.follows": "seuratut", - "timeline_hint.resources.statuses": "vanhemmat julkaisut", "trends.counter_by_accounts": "{count, plural, one {{counter} käyttäjä} other {{counter} käyttäjää}} {days, plural, one {viime päivänä} other {viimeisenä {days} päivänä}}", "trends.trending_now": "Suosittua nyt", "ui.beforeunload": "Luonnos häviää, jos poistut Mastodonista.", diff --git a/app/javascript/mastodon/locales/fil.json b/app/javascript/mastodon/locales/fil.json index f5cc407eceb..31004560912 100644 --- a/app/javascript/mastodon/locales/fil.json +++ b/app/javascript/mastodon/locales/fil.json @@ -13,7 +13,6 @@ "account.block_domain": "Hadlangan ang domain na {domain}", "account.block_short": "Hadlangan", "account.blocked": "Hinadlangan", - "account.browse_more_on_origin_server": "Tingnan pa sa pangunahing profile", "account.cancel_follow_request": "I-kansela ang pagsunod", "account.copy": "I-sipi ang kawing sa profile", "account.direct": "Palihim banggitin si @{name}", @@ -239,7 +238,6 @@ "notification.admin.report": "Iniulat ni {name} si {target}", "notification.follow": "Sinundan ka ni {name}", "notification.follow_request": "Hinihiling ni {name} na sundan ka", - "notification.mention": "Binanggit ka ni {name}", "notification.moderation_warning": "Mayroong kang natanggap na babala sa pagtitimpi", "notification.relationships_severance_event.learn_more": "Matuto nang higit pa", "notification_requests.accept": "Tanggapin", @@ -330,9 +328,7 @@ "status.report": "I-ulat si/ang @{name}", "status.sensitive_warning": "Sensitibong nilalaman", "status.share": "Ibahagi", - "status.show_less": "Magpakita ng mas kaunti", "status.show_less_all": "Magpakita ng mas kaunti para sa lahat", - "status.show_more": "Magpakita ng higit pa", "status.show_more_all": "Magpakita ng higit pa para sa lahat", "status.translate": "Isalin", "status.translated_from_with": "Isalin mula sa {lang} gamit ang {provider}", @@ -341,8 +337,5 @@ "time_remaining.days": "{number, plural, one {# araw} other {# na araw}} ang natitira", "time_remaining.hours": "{number, plural, one {# oras} other {# na oras}} ang natitira", "time_remaining.minutes": "{number, plural, one {# minuto} other {# na minuto}} ang natitira", - "time_remaining.seconds": "{number, plural, one {# segundo} other {# na segundo}} ang natitira", - "timeline_hint.remote_resource_not_displayed": "Hindi ipinapakita ang {resource} mula sa ibang mga serbiro.", - "timeline_hint.resources.followers": "Mga tagasunod", - "timeline_hint.resources.follows": "Mga sinusundan" + "time_remaining.seconds": "{number, plural, one {# segundo} other {# na segundo}} ang natitira" } diff --git a/app/javascript/mastodon/locales/fo.json b/app/javascript/mastodon/locales/fo.json index a0d2b347fc0..d4e5d9ad54e 100644 --- a/app/javascript/mastodon/locales/fo.json +++ b/app/javascript/mastodon/locales/fo.json @@ -19,7 +19,6 @@ "account.block_domain": "Banna økisnavnið {domain}", "account.block_short": "Blokera", "account.blocked": "Bannað/ur", - "account.browse_more_on_origin_server": "Kaga meira á upprunaligu vangamyndina", "account.cancel_follow_request": "Strika fylgjaraumbøn", "account.copy": "Avrita leinki til vangan", "account.direct": "Umrøð @{name} privat", @@ -98,6 +97,8 @@ "block_modal.title": "Banna brúkara?", "block_modal.you_wont_see_mentions": "Tú sært ikki postar, sum nevna tey.", "boost_modal.combo": "Tú kanst trýsta á {combo} fyri at loypa uppum hetta næstu ferð", + "boost_modal.reblog": "Stimbra post?", + "boost_modal.undo_reblog": "Strika stimbran av posti?", "bundle_column_error.copy_stacktrace": "Avrita feilfráboðan", "bundle_column_error.error.body": "Umbidna síðan kann ikki vísast. Tað kann vera orsakað av einum feili í koduni hjá okkum ella tað kann vera orsakað av kaganum, sum tú brúkar.", "bundle_column_error.error.title": "Áh, nei!", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "Fylg ikki", "confirmations.unfollow.message": "Ert tú vís/ur í, at tú vil steðga við at fylgja {name}?", "confirmations.unfollow.title": "Gevst at fylgja brúkara?", + "content_warning.hide": "Fjal post", + "content_warning.show": "Vís kortini", "conversation.delete": "Strika samrøðu", "conversation.mark_as_read": "Merk sum lisið", "conversation.open": "Vís samrøðu", @@ -300,8 +303,9 @@ "filter_modal.select_filter.subtitle": "Brúka ein verandi bólk ella skapa ein nýggjan", "filter_modal.select_filter.title": "Filtrera hendan postin", "filter_modal.title.status": "Filtrera ein post", + "filter_warning.matches_filter": "Samsvarar við filtrið “{title}”", "filtered_notifications_banner.pending_requests": "Frá {count, plural, =0 {ongum} one {einum persóni} other {# persónum}}, sum tú kanska kennir", - "filtered_notifications_banner.title": "Sáldaðar fráboðanir", + "filtered_notifications_banner.title": "Filtreraðar fráboðanir", "firehose.all": "Allar", "firehose.local": "Hesin ambætarin", "firehose.remote": "Aðrir ambætarar", @@ -349,6 +353,14 @@ "hashtag.follow": "Fylg frámerki", "hashtag.unfollow": "Gevst at fylgja frámerki", "hashtags.and_other": "…og {count, plural, other {# afturat}}", + "hints.profiles.followers_may_be_missing": "Fylgjarar hjá hesum vanganum kunnu mangla.", + "hints.profiles.follows_may_be_missing": "Listin við teimum, sum hesin vangin fylgir, kunnu mangla.", + "hints.profiles.posts_may_be_missing": "Summir postar frá hesum vanganum kunnu mangla.", + "hints.profiles.see_more_followers": "Sí fleiri fylgjarar á {domain}", + "hints.profiles.see_more_follows": "Sí fleiri, ið viðkomandi fylgir, á {domain}", + "hints.profiles.see_more_posts": "Sí fleiri postar á {domain}", + "hints.threads.replies_may_be_missing": "Svar frá øðrum ambætarum mangla møguliga.", + "hints.threads.see_more": "Sí fleiri svar á {domain}", "home.column_settings.show_reblogs": "Vís lyft", "home.column_settings.show_replies": "Vís svar", "home.hide_announcements": "Fjal kunngerðir", @@ -356,6 +368,17 @@ "home.pending_critical_update.link": "Sí dagføringar", "home.pending_critical_update.title": "Kritisk trygdardagføring er tøk!", "home.show_announcements": "Vís kunngerðir", + "ignore_notifications_modal.disclaimer": "Mastodon kann ikki upplýsa brúkarar um, at tú hevur latið sum um, at tú ikki hevur sæð teirra fráboðanir. At lata sum um, at tú ikki sær fráboðanir, forðar ikki, at boðini sjálv verða send.", + "ignore_notifications_modal.filter_instead": "Filtrera ístaðin", + "ignore_notifications_modal.filter_to_act_users": "Tú kanst framvegis góðtaka, avvísa og melda brúkarar", + "ignore_notifications_modal.filter_to_avoid_confusion": "Filtrering ger tað lættari at sleppa undan møguligum misskiljingum", + "ignore_notifications_modal.filter_to_review_separately": "Tú kanst kanna filtreraðar fráboðanir fyri seg", + "ignore_notifications_modal.ignore": "Lat sum um tú ikki sær fráboðanir", + "ignore_notifications_modal.limited_accounts_title": "Lat sum um tú ikki sær fráboðanir frá avmarkaðum kontum?", + "ignore_notifications_modal.new_accounts_title": "Lat sum um tú ikki sær fráboðanir frá nýggjum kontum?", + "ignore_notifications_modal.not_followers_title": "Lat sum um tú ikki sær fráboðanir frá fólki, sum ikki fylgja tær?", + "ignore_notifications_modal.not_following_title": "Lat sum um tú ikki sær fráboðanir frá fólki, sum tú ikki fylgir?", + "ignore_notifications_modal.private_mentions_title": "Lat sum um tú ikki sær fráboðanir frá óbiðnum privatum umrøðum?", "interaction_modal.description.favourite": "Við einari kontu á Mastodon kanst tú dáma hendan postin fyri at vísa rithøvundanum at tú virðismetur hann og goymir hann til seinni.", "interaction_modal.description.follow": "Við eini kontu á Mastodon kanst tú fylgja {name} fyri at síggja teirra postar á tíni heimarás.", "interaction_modal.description.reblog": "Við eini kontu á Mastodon kanst tú stimbra hendan postin og soleiðis deila hann við tínar fylgjarar.", @@ -445,9 +468,8 @@ "mute_modal.title": "Sløkk brúkara?", "mute_modal.you_wont_see_mentions": "Tú sært ikki postar, sum nevna tey.", "mute_modal.you_wont_see_posts": "Tey síggja framvegis tínar postar, men tú sært ikki teirra.", - "name_and_others": "{name} og {count, plural, one {# annar} other {# onnur}}", - "name_and_others_with_link": "{name} og {count, plural, one {# annar} other {# onnur}}", "navigation_bar.about": "Um", + "navigation_bar.administration": "Umsiting", "navigation_bar.advanced_interface": "Lat upp í framkomnum vevmarkamóti", "navigation_bar.blocks": "Bannaðir brúkarar", "navigation_bar.bookmarks": "Goymd", @@ -464,6 +486,7 @@ "navigation_bar.follows_and_followers": "Fylgd og fylgjarar", "navigation_bar.lists": "Listar", "navigation_bar.logout": "Rita út", + "navigation_bar.moderation": "Umsjón", "navigation_bar.mutes": "Doyvdir brúkarar", "navigation_bar.opened_in_classic_interface": "Postar, kontur og aðrar serstakar síður verða - um ikki annað er ásett - latnar upp í klassiska vev-markamótinum.", "navigation_bar.personal": "Persónligt", @@ -479,10 +502,18 @@ "notification.admin.report_statuses": "{name} meldaði {target} fyri {category}", "notification.admin.report_statuses_other": "{name} meldaði {target}", "notification.admin.sign_up": "{name} meldaði seg til", + "notification.admin.sign_up.name_and_others": "{name} og {count, plural, one {# annar/onnur} other {# onnur}} teknaðu seg", "notification.favourite": "{name} dámdi postin hjá tær", + "notification.favourite.name_and_others_with_link": "{name} og {count, plural, one {# annar/onnur} other {# onnur}} yndisfrámerktu postin hjá tær", "notification.follow": "{name} fylgdi tær", + "notification.follow.name_and_others": "{name} og {count, plural, one {# annar/onnur} other {# onnur}} fylgdu tær", "notification.follow_request": "{name} biður um at fylgja tær", - "notification.mention": "{name} nevndi teg", + "notification.follow_request.name_and_others": "{name} og {count, plural, one {# annar/onnur} other {# onnur}} hava biðið um at fylgja tær", + "notification.label.mention": "Umrøða", + "notification.label.private_mention": "Privat umrøða", + "notification.label.private_reply": "Privat svar", + "notification.label.reply": "Svara", + "notification.mention": "Umrøð", "notification.moderation-warning.learn_more": "Lær meira", "notification.moderation_warning": "Tú hevur móttikið eina umsjónarávaring", "notification.moderation_warning.action_delete_statuses": "Onkrir av tínum postum eru strikaðir.", @@ -494,8 +525,8 @@ "notification.moderation_warning.action_suspend": "Konta tín er ógildað.", "notification.own_poll": "Tín atkvøðugreiðsla er endað", "notification.poll": "Ein atkvøðugreiðsla, har tú atkvøddi, er endað", - "notification.private_mention": "{name} nevndi teg í privatum boðum", "notification.reblog": "{name} lyfti tín post", + "notification.reblog.name_and_others_with_link": "{name} og {count, plural, one {# annar/onnur} other {# onnur}} framhevjaðu tín post", "notification.relationships_severance_event": "Mist sambond við {name}", "notification.relationships_severance_event.account_suspension": "Ein umsitari frá {from} hevur gjørt {target} óvirkna, sum merkir, at tú ikki kanst móttaka dagføringar ella virka saman við teimum longur.", "notification.relationships_severance_event.domain_block": "Ein umsitari frá {from} hevur blokerað {target}, íroknað {followersCount} av tínum fylgjarum og {followingCount, plural, one {# kontu} other {# kontur}}, sum tú fylgir.", @@ -504,10 +535,24 @@ "notification.status": "{name} hevur júst postað", "notification.update": "{name} rættaði ein post", "notification_requests.accept": "Góðtak", + "notification_requests.accept_multiple": "{count, plural, one {Góðtak # umbøn…} other {Góðtak # umbønir…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Góðtak umbøn} other {Góðtak umbønir}}", + "notification_requests.confirm_accept_multiple.message": "Tú er í ferð við at góðtaka {count, plural, one {eina fráboðanarumbøn} other {# fráboðanarumbønir}}. Er tú vís/ur í, at tú vil halda fram?", + "notification_requests.confirm_accept_multiple.title": "Góðtak fráboðanarumbønir?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Avvís umbøn} other {Avvís umbønir}}", + "notification_requests.confirm_dismiss_multiple.message": "Tú er í ferð við at avvísa {count, plural, one {eina fráboðanarumbøn} other {# fráboðanarumbønir}}. Tað verður ikki lætt hjá tær at fáa fatur á {count, plural, one {henni} other {teimum}} aftur. Er tú vís/ur í at tú vil halda fram?", + "notification_requests.confirm_dismiss_multiple.title": "Avvís fráboðanarumbønir?", "notification_requests.dismiss": "Avvís", + "notification_requests.dismiss_multiple": "{count, plural, one {Avvís # umbøn…} other {Avvís # umbønir…}}", + "notification_requests.edit_selection": "Rætta", + "notification_requests.exit_selection": "Liðugt", + "notification_requests.explainer_for_limited_account": "Fráboðanir frá hesi kontuni eru filtreraðar burtur, tí kontan er avmarkað av einum umsjónarfólki.", + "notification_requests.explainer_for_limited_remote_account": "Fráboðanir frá hesi kontuni eru filtreraðar burtur, tí kontan ella ambætarin hjá kontuni eru avmarkaði av einum umsjónarfólki.", "notification_requests.maximize": "Mesta", + "notification_requests.minimize_banner": "Ger merkið við filtreraðum fráboðanum lítið", "notification_requests.notifications_from": "Fráboðanir frá {name}", - "notification_requests.title": "Sáldaðar fráboðanir", + "notification_requests.title": "Filtreraðar fráboðanir", + "notification_requests.view": "Vís fráboðanir", "notifications.clear": "Rudda fráboðanir", "notifications.clear_confirmation": "Ert tú vís/ur í, at tú vilt strika allar tínar fráboðanir?", "notifications.clear_title": "Rudda fráboðanir?", @@ -544,15 +589,23 @@ "notifications.permission_denied": "Skriviborðsfráboðanir eru ikki tøkar tí at ein kaga-umbøn áður bleiv noktað", "notifications.permission_denied_alert": "Tað ber ikki til at sláa skriviborðsfráboðanir til, tí at kagarættindi áður eru noktaði", "notifications.permission_required": "Skriviborðsfráboðanir eru ikki tøkar, tí at neyðugu rættindini eru ikki latin.", + "notifications.policy.accept": "Góðtak", + "notifications.policy.accept_hint": "Vís í fráboðanum", + "notifications.policy.drop": "Lat sum um tú ikki sær", + "notifications.policy.drop_hint": "Send út í tóman heim, soleiðis at tað aldrin sæst aftur", + "notifications.policy.filter": "Filtrera", + "notifications.policy.filter_hint": "Send til filtreraðan fráboðanar-innbakka", + "notifications.policy.filter_limited_accounts_hint": "Avmarkað av umsjónarfólkunum á ambætaranum", + "notifications.policy.filter_limited_accounts_title": "Avmarkaðar kontur", "notifications.policy.filter_new_accounts.hint": "Stovnaðar {days, plural, one {seinasta dagin} other {seinastu # dagarnar}}", "notifications.policy.filter_new_accounts_title": "Nýggjar kontur", "notifications.policy.filter_not_followers_hint": "Íroknað fólk, sum hava fylgt tær styttri enn {days, plural, one {ein dag} other {# dagar}}", "notifications.policy.filter_not_followers_title": "Fólk, sum ikki fylgja tær", "notifications.policy.filter_not_following_hint": "Til tú góðkennir tey manuelt", "notifications.policy.filter_not_following_title": "Fólk, sum tú ikki fylgir", - "notifications.policy.filter_private_mentions_hint": "Sáldaði, uttan so at tað er í svari til tínar egnu nevningar ella um tú fylgir sendaranum", + "notifications.policy.filter_private_mentions_hint": "Filtreraði, uttan so at tað er í svari til tínar egnu nevningar ella um tú fylgir sendaranum", "notifications.policy.filter_private_mentions_title": "Óbidnar privatar umrøður", - "notifications.policy.title": "Sálda burtur fráboðanir frá…", + "notifications.policy.title": "Stýr fráboðanir frá…", "notifications_permission_banner.enable": "Ger skriviborðsfráboðanir virknar", "notifications_permission_banner.how_to_control": "Ger skriviborðsfráboðanir virknar fyri at móttaka fráboðanir, tá Mastodon ikki er opið. Tá tær eru gjørdar virknar, kanst tú stýra, hvørji sløg av samvirkni geva skriviborðsfráboðanir. Hetta umvegis {icon} knøttin omanfyri.", "notifications_permission_banner.title": "Miss einki", @@ -739,8 +792,6 @@ "status.favourite": "Dámdur postur", "status.favourites": "{count, plural, one {yndispostur} other {yndispostar}}", "status.filter": "Filtrera hendan postin", - "status.filtered": "Filtrerað", - "status.hide": "Fjal post", "status.history.created": "{name} stovnað {date}", "status.history.edited": "{name} rættað {date}", "status.load_more": "Tak meira niður", @@ -768,10 +819,7 @@ "status.report": "Melda @{name}", "status.sensitive_warning": "Viðkvæmt tilfar", "status.share": "Deil", - "status.show_filter_reason": "Vís kortini", - "status.show_less": "Vís minni", "status.show_less_all": "Vís øllum minni", - "status.show_more": "Vís meira", "status.show_more_all": "Vís øllum meira", "status.show_original": "Vís upprunaliga", "status.title.with_attachments": "{user} postaði {attachmentCount, plural, one {eitt viðhefti} other {{attachmentCount} viðhefti}}", @@ -790,10 +838,6 @@ "time_remaining.minutes": "{number, plural, one {# minuttur} other {# minuttir}} eftir", "time_remaining.moments": "Lítið bil eftir", "time_remaining.seconds": "{number, plural, one {# sekund} other {# sekund}} eftir", - "timeline_hint.remote_resource_not_displayed": "{resource} frá øðrum ambætarum verður ikki víst.", - "timeline_hint.resources.followers": "Fylgjarar", - "timeline_hint.resources.follows": "Fylgir", - "timeline_hint.resources.statuses": "Gamlir postar", "trends.counter_by_accounts": "{count, plural, one {{counter} persónur} other {{counter} persónar}} {days, plural, one {seinasta dagin} other {{days} seinastu dagarnar}}", "trends.trending_now": "Rák beint nú", "ui.beforeunload": "Kladdan verður mist, um tú fer úr Mastodon.", diff --git a/app/javascript/mastodon/locales/fr-CA.json b/app/javascript/mastodon/locales/fr-CA.json index 02e3396575c..29612852679 100644 --- a/app/javascript/mastodon/locales/fr-CA.json +++ b/app/javascript/mastodon/locales/fr-CA.json @@ -11,6 +11,7 @@ "about.not_available": "Cette information n'a pas été rendue disponible sur ce serveur.", "about.powered_by": "Réseau social décentralisé propulsé par {mastodon}", "about.rules": "Règles du serveur", + "account.account_note_header": "Note personnelle", "account.add_or_remove_from_list": "Ajouter ou enlever de listes", "account.badges.bot": "Bot", "account.badges.group": "Groupe", @@ -18,7 +19,6 @@ "account.block_domain": "Bloquer le domaine {domain}", "account.block_short": "Bloquer", "account.blocked": "Bloqué·e", - "account.browse_more_on_origin_server": "Parcourir davantage sur le profil original", "account.cancel_follow_request": "Retirer cette demande d'abonnement", "account.copy": "Copier le lien vers le profil", "account.direct": "Mention privée @{name}", @@ -34,6 +34,7 @@ "account.follow_back": "S'abonner en retour", "account.followers": "abonné·e·s", "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.following": "Abonné·e", "account.follows.empty": "Ce compte ne suit personne présentement.", "account.go_to_profile": "Voir ce profil", @@ -60,6 +61,7 @@ "account.requested_follow": "{name} a demandé à vous suivre", "account.share": "Partager le profil de @{name}", "account.show_reblogs": "Afficher les boosts de @{name}", + "account.statuses_counter": "{count, plural, one {{counter} message} other {{counter} messages}}", "account.unblock": "Débloquer @{name}", "account.unblock_domain": "Débloquer le domaine {domain}", "account.unblock_short": "Débloquer", @@ -91,9 +93,10 @@ "block_modal.they_cant_mention": "Il ne peut pas vous mentionner ou vous suivre.", "block_modal.they_cant_see_posts": "Il peut toujours voir vos publications, mais vous ne verrez pas les siennes.", "block_modal.they_will_know": "Il peut voir qu'il est bloqué.", - "block_modal.title": "Bloquer l'utilisateur ?", + "block_modal.title": "Bloquer l'utilisateur·rice ?", "block_modal.you_wont_see_mentions": "Vous ne verrez pas les publications qui le mentionne.", "boost_modal.combo": "Vous pouvez appuyer sur {combo} pour sauter ceci la prochaine fois", + "boost_modal.reblog": "Booster le message ?", "bundle_column_error.copy_stacktrace": "Copier le rapport d'erreur", "bundle_column_error.error.body": "La page demandée n'a pas pu être affichée. Cela pourrait être dû à un bogue dans notre code, ou à un problème de compatibilité avec le navigateur.", "bundle_column_error.error.title": "Oh non!", @@ -189,6 +192,8 @@ "confirmations.unfollow.confirm": "Ne plus suivre", "confirmations.unfollow.message": "Voulez-vous vraiment arrêter de suivre {name}?", "confirmations.unfollow.title": "Se désabonner de l'utilisateur ?", + "content_warning.hide": "Masquer le message", + "content_warning.show": "Afficher quand même", "conversation.delete": "Supprimer cette conversation", "conversation.mark_as_read": "Marquer comme lu", "conversation.open": "Afficher cette conversation", @@ -296,6 +301,7 @@ "filter_modal.select_filter.subtitle": "Utilisez une catégorie existante ou en créer une nouvelle", "filter_modal.select_filter.title": "Filtrer cette publication", "filter_modal.title.status": "Filtrer une publication", + "filter_warning.matches_filter": "Correspond au filtre « {title} »", "filtered_notifications_banner.title": "Notifications filtrées", "firehose.all": "Tout", "firehose.local": "Ce serveur", @@ -305,6 +311,8 @@ "follow_requests.unlocked_explanation": "Même si votre compte n’est pas privé, l’équipe de {domain} a pensé que vous pourriez vouloir peut-être consulter manuellement les demandes d'abonnement de ces comptes.", "follow_suggestions.curated_suggestion": "Choix du staff", "follow_suggestions.dismiss": "Ne plus afficher", + "follow_suggestions.featured_longer": "Sélectionné par l'équipe de {domain}", + "follow_suggestions.friends_of_friends_longer": "Populaire dans le cercle des personnes que vous suivez", "follow_suggestions.hints.featured": "Ce profil a été sélectionné par l'équipe de {domain}.", "follow_suggestions.hints.friends_of_friends": "Ce profil est populaire parmi les personnes que vous suivez.", "follow_suggestions.hints.most_followed": "Ce profil est l'un des plus suivis sur {domain}.", @@ -312,6 +320,8 @@ "follow_suggestions.hints.similar_to_recently_followed": "Ce profil est similaire aux profils que vous avez suivis le plus récemment.", "follow_suggestions.personalized_suggestion": "Suggestion personnalisée", "follow_suggestions.popular_suggestion": "Suggestion populaire", + "follow_suggestions.popular_suggestion_longer": "Populaire sur {domain}", + "follow_suggestions.similar_to_recently_followed_longer": "Similaire aux profils que vous avez dernièrement suivis", "follow_suggestions.view_all": "Tout afficher", "follow_suggestions.who_to_follow": "Qui suivre", "followed_tags": "Hashtags suivis", @@ -340,6 +350,9 @@ "hashtag.follow": "Suivre ce hashtag", "hashtag.unfollow": "Ne plus suivre ce hashtag", "hashtags.and_other": "…et {count, plural, other {# de plus}}", + "hints.profiles.see_more_followers": "Afficher plus d'abonné·e·s sur {domain}", + "hints.profiles.see_more_posts": "Voir plus de messages sur {domain}", + "hints.threads.see_more": "Afficher plus de réponses sur {domain}", "home.column_settings.show_reblogs": "Afficher boosts", "home.column_settings.show_replies": "Afficher réponses", "home.hide_announcements": "Masquer les annonces", @@ -347,6 +360,17 @@ "home.pending_critical_update.link": "Voir les mises à jour", "home.pending_critical_update.title": "Une mise à jour de sécurité critique est disponible !", "home.show_announcements": "Afficher annonces", + "ignore_notifications_modal.disclaimer": "Mastodon ne peut pas indiquer aux utilisateurs que vous avez ignoré leurs notifications. Le fait d'ignorer les notifications n'empêchera pas la transmission des messages eux-mêmes.", + "ignore_notifications_modal.filter_instead": "Filtrer plutôt", + "ignore_notifications_modal.filter_to_act_users": "Vous serez toujours en mesure d'accepter, de rejeter ou de signaler les utilisateur·rice·s", + "ignore_notifications_modal.filter_to_avoid_confusion": "Le filtrage permet d'éviter toute éventuelle confusion", + "ignore_notifications_modal.filter_to_review_separately": "Vous pouvez réexaminer les notifications filtrées séparément", + "ignore_notifications_modal.ignore": "Ignorer les notifications", + "ignore_notifications_modal.limited_accounts_title": "Ignorer les notifications provenant des comptes modérés ?", + "ignore_notifications_modal.new_accounts_title": "Ignorer les notifications provenant des nouveaux comptes ?", + "ignore_notifications_modal.not_followers_title": "Ignorer les notifications provenant des personnes qui ne vous suivent pas ?", + "ignore_notifications_modal.not_following_title": "Ignorer les notifications provenant des personnes que vous ne suivez pas ?", + "ignore_notifications_modal.private_mentions_title": "Ignorer les notifications issues des mentions privées non sollicitées ?", "interaction_modal.description.favourite": "Avec un compte Mastodon, vous pouvez ajouter cette publication à vos favoris pour informer l'auteur⋅rice que vous l'appréciez et la sauvegarder pour plus tard.", "interaction_modal.description.follow": "Avec un compte Mastodon, vous pouvez suivre {name} et recevoir leurs publications dans votre fil d'accueil.", "interaction_modal.description.reblog": "Avec un compte Mastodon, vous pouvez booster cette publication pour la partager avec vos propres abonné·e·s.", @@ -407,6 +431,8 @@ "limited_account_hint.action": "Afficher le profil quand même", "limited_account_hint.title": "Ce profil a été masqué par la modération de {domain}.", "link_preview.author": "Par {name}", + "link_preview.more_from_author": "Plus via {name}", + "link_preview.shares": "{count, plural, one {{counter} message} other {{counter} messages}}", "lists.account.add": "Ajouter à une liste", "lists.account.remove": "Retirer d'une liste", "lists.delete": "Supprimer la liste", @@ -435,6 +461,7 @@ "mute_modal.you_wont_see_mentions": "Vous ne verrez pas les publications qui le mentionne.", "mute_modal.you_wont_see_posts": "Il peut toujours voir vos publications, mais vous ne verrez pas les siennes.", "navigation_bar.about": "À propos", + "navigation_bar.administration": "Administration", "navigation_bar.advanced_interface": "Ouvrir dans l’interface avancée", "navigation_bar.blocks": "Comptes bloqués", "navigation_bar.bookmarks": "Signets", @@ -451,6 +478,7 @@ "navigation_bar.follows_and_followers": "Abonnements et abonnés", "navigation_bar.lists": "Listes", "navigation_bar.logout": "Se déconnecter", + "navigation_bar.moderation": "Modération", "navigation_bar.mutes": "Utilisateurs masqués", "navigation_bar.opened_in_classic_interface": "Les messages, les comptes et les pages spécifiques sont ouvertes dans l’interface classique.", "navigation_bar.personal": "Personnel", @@ -461,13 +489,36 @@ "navigation_bar.security": "Sécurité", "not_signed_in_indicator.not_signed_in": "Vous devez vous connecter pour accéder à cette ressource.", "notification.admin.report": "{name} a signalé {target}", + "notification.admin.report_account": "{name} a signalé {count, plural, one {un message} other {# messages}} de {target} pour {category}", + "notification.admin.report_account_other": "{name} a signalé {count, plural, one {un message} other {# messages}} depuis {target}", + "notification.admin.report_statuses": "{name} a signalé {target} pour {category}", + "notification.admin.report_statuses_other": "{name} a signalé {target}", "notification.admin.sign_up": "{name} s'est inscrit·e", + "notification.admin.sign_up.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} se sont inscrit", "notification.favourite": "{name} a ajouté votre publication à ses favoris", + "notification.favourite.name_and_others_with_link": "{name} et {count, plural, one {# autre} other {# autres}} ont mis votre message en favori", "notification.follow": "{name} vous suit", + "notification.follow.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} se sont abonné à votre compte", "notification.follow_request": "{name} a demandé à vous suivre", - "notification.mention": "{name} vous a mentionné·e", + "notification.follow_request.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} ont demandé à vous suivre", + "notification.label.mention": "Mention", + "notification.label.private_mention": "Mention privée", + "notification.label.private_reply": "Répondre en privé", + "notification.label.reply": "Réponse", + "notification.mention": "Mention", + "notification.moderation-warning.learn_more": "En savoir plus", + "notification.moderation_warning": "Vous avez reçu un avertissement de modération", + "notification.moderation_warning.action_delete_statuses": "Certains de vos messages ont été supprimés.", + "notification.moderation_warning.action_disable": "Votre compte a été désactivé.", + "notification.moderation_warning.action_mark_statuses_as_sensitive": "Certains de vos messages ont été marqués comme sensibles.", + "notification.moderation_warning.action_none": "Votre compte a reçu un avertissement de modération.", + "notification.moderation_warning.action_sensitive": "Vos messages seront désormais marqués comme sensibles.", + "notification.moderation_warning.action_silence": "Votre compte a été limité.", + "notification.moderation_warning.action_suspend": "Votre compte a été suspendu.", "notification.own_poll": "Votre sondage est terminé", + "notification.poll": "Un sondage auquel vous avez participé vient de se terminer", "notification.reblog": "{name} a boosté votre message", + "notification.reblog.name_and_others_with_link": "{name} et {count, plural, one {# autre} other {# autres}} ont boosté votre message", "notification.relationships_severance_event": "Connexions perdues avec {name}", "notification.relationships_severance_event.account_suspension": "Un·e administrateur·rice de {from} a suspendu {target}, ce qui signifie que vous ne pourrez plus recevoir de mises à jour ou interagir avec lui.", "notification.relationships_severance_event.domain_block": "Un·e administrateur·rice de {from} en a bloqué {target}, comprenant {followersCount} de vos abonné·e·s et {followingCount, plural, one {# compte} other {# comptes}} vous suivez.", @@ -477,14 +528,23 @@ "notification.update": "{name} a modifié une publication", "notification_requests.accept": "Accepter", "notification_requests.dismiss": "Rejeter", + "notification_requests.edit_selection": "Modifier", + "notification_requests.exit_selection": "Fait", + "notification_requests.explainer_for_limited_account": "Les notifications en provenance de ce compte ont été filtrées car le compte a été limité par un modérateur.", + "notification_requests.explainer_for_limited_remote_account": "Les notifications en provenance de ce compte ont été filtrées car le compte ou le serveur dont il est issu a été limité par un modérateur.", + "notification_requests.maximize": "Agrandir", + "notification_requests.minimize_banner": "Réduire la bannière des notifications filtrées", "notification_requests.notifications_from": "Notifications de {name}", "notification_requests.title": "Notifications filtrées", + "notification_requests.view": "Afficher les notifications", "notifications.clear": "Effacer notifications", "notifications.clear_confirmation": "Voulez-vous vraiment effacer toutes vos notifications?", "notifications.clear_title": "Effacer les notifications ?", "notifications.column_settings.admin.report": "Nouveaux signalements:", "notifications.column_settings.admin.sign_up": "Nouvelles inscriptions:", "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.filter_bar.advanced": "Afficher toutes les catégories", "notifications.column_settings.filter_bar.category": "Barre de filtre rapide", @@ -513,15 +573,23 @@ "notifications.permission_denied": "Les notifications de bureau ne sont pas disponibles en raison d'une demande de permission de navigateur précédemment refusée", "notifications.permission_denied_alert": "Les notifications de bureau ne peuvent pas être activées, car l’autorisation du navigateur a précedemment été refusée", "notifications.permission_required": "Les notifications de bureau ne sont pas disponibles car l’autorisation requise n’a pas été accordée.", + "notifications.policy.accept": "Accepter", + "notifications.policy.accept_hint": "Afficher dans les notifications", + "notifications.policy.drop": "Ignorer", + "notifications.policy.drop_hint": "Expulser vers le vide, pour ne plus jamais les revoir", + "notifications.policy.filter": "Filtrer", + "notifications.policy.filter_hint": "Envoyer à la boîte de réception des notifications filtrées", + "notifications.policy.filter_limited_accounts_hint": "Limités par les modérateur·rice·s du serveur", + "notifications.policy.filter_limited_accounts_title": "Comptes modérés", "notifications.policy.filter_new_accounts.hint": "Créés au cours des derniers {days, plural, one {un jour} other {# jours}}", "notifications.policy.filter_new_accounts_title": "Nouveaux comptes", "notifications.policy.filter_not_followers_hint": "Incluant les personnes qui vous suivent depuis moins de {days, plural, one {un jour} other {# jours}}", "notifications.policy.filter_not_followers_title": "Personnes qui ne vous suivent pas", "notifications.policy.filter_not_following_hint": "Jusqu'à ce que vous les validiez manuellement", "notifications.policy.filter_not_following_title": "Personnes que vous ne suivez pas", - "notifications.policy.filter_private_mentions_hint": "Filtré sauf si c'est en réponse à une mention de vous ou si vous suivez l'expéditeur", + "notifications.policy.filter_private_mentions_hint": "Filtrées sauf si c'est en réponse à l'une de vos mentions ou si vous suivez l'expéditeur·ice", "notifications.policy.filter_private_mentions_title": "Mentions privées non sollicitées", - "notifications.policy.title": "Filtrer les notifications de…", + "notifications.policy.title": "Gérer les notifications en provenance de …", "notifications_permission_banner.enable": "Activer les notifications de bureau", "notifications_permission_banner.how_to_control": "Pour recevoir des notifications lorsque Mastodon n’est pas ouvert, activez les notifications de bureau. Vous pouvez contrôler précisément quels types d’interactions génèrent des notifications de bureau via le bouton {icon} ci-dessus une fois qu’elles sont activées.", "notifications_permission_banner.title": "Ne rien rater", @@ -648,9 +716,13 @@ "report.unfollow_explanation": "Vous suivez ce compte. Pour ne plus en voir les messages sur votre fil d'accueil, arrêtez de le suivre.", "report_notification.attached_statuses": "{count, plural, one {{count} publication liée} other {{count} publications liées}}", "report_notification.categories.legal": "Mentions légales", + "report_notification.categories.legal_sentence": "contenu illégal", "report_notification.categories.other": "Autre", + "report_notification.categories.other_sentence": "autre", "report_notification.categories.spam": "Spam", + "report_notification.categories.spam_sentence": "indésirable", "report_notification.categories.violation": "Infraction aux règles du serveur", + "report_notification.categories.violation_sentence": "infraction de règle", "report_notification.open": "Ouvrir le signalement", "search.no_recent_searches": "Aucune recherche récente", "search.placeholder": "Rechercher", @@ -678,8 +750,11 @@ "server_banner.about_active_users": "Personnes utilisant ce serveur au cours des 30 derniers jours (Comptes actifs mensuellement)", "server_banner.active_users": "comptes actifs", "server_banner.administered_by": "Administré par:", + "server_banner.is_one_of_many": "{domain} est l'un des nombreux serveurs Mastodon indépendants que vous pouvez utiliser pour participer au fédiverse.", "server_banner.server_stats": "Statistiques du serveur:", "sign_in_banner.create_account": "Créer un compte", + "sign_in_banner.follow_anyone": "Suivez n'importe qui à travers le fédivers et affichez tout dans un ordre chronologique. Ni algorithmes, ni publicités, ni appâts à clics en perspective.", + "sign_in_banner.mastodon_is": "Mastodon est le meilleur moyen de suivre ce qui se passe.", "sign_in_banner.sign_in": "Se connecter", "sign_in_banner.sso_redirect": "Se connecter ou s’inscrire", "status.admin_account": "Ouvrir l’interface de modération pour @{name}", @@ -701,8 +776,6 @@ "status.favourite": "Ajouter aux favoris", "status.favourites": "{count, plural, one {favori} other {favoris}}", "status.filter": "Filtrer cette publication", - "status.filtered": "Filtrée", - "status.hide": "Masquer le message", "status.history.created": "créé par {name} {date}", "status.history.edited": "modifié par {name} {date}", "status.load_more": "Charger plus", @@ -730,10 +803,7 @@ "status.report": "Signaler @{name}", "status.sensitive_warning": "Contenu sensible", "status.share": "Partager", - "status.show_filter_reason": "Afficher quand même", - "status.show_less": "Replier", "status.show_less_all": "Tout replier", - "status.show_more": "Déplier", "status.show_more_all": "Tout déplier", "status.show_original": "Afficher l’original", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", @@ -752,10 +822,6 @@ "time_remaining.minutes": "{number, plural, one {# minute restante} other {# minutes restantes}}", "time_remaining.moments": "Encore quelques instants", "time_remaining.seconds": "{number, plural, one {# seconde restante} other {# secondes restantes}}", - "timeline_hint.remote_resource_not_displayed": "{resource} des autres serveurs ne sont pas affichés.", - "timeline_hint.resources.followers": "Abonné·e·s", - "timeline_hint.resources.follows": "Abonnements", - "timeline_hint.resources.statuses": "Publications plus anciennes", "trends.counter_by_accounts": "{count, plural, one {{counter} personne} other {{counter} personnes}} au cours {days, plural, one {des dernières 24h} other {des {days} derniers jours}}", "trends.trending_now": "Présentement populaire", "ui.beforeunload": "Votre brouillon sera perdu si vous quittez Mastodon.", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index d218148c257..970103db839 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -11,6 +11,7 @@ "about.not_available": "Cette information n'a pas été rendue disponible sur ce serveur.", "about.powered_by": "Réseau social décentralisé propulsé par {mastodon}", "about.rules": "Règles du serveur", + "account.account_note_header": "Note personnelle", "account.add_or_remove_from_list": "Ajouter ou retirer des listes", "account.badges.bot": "Bot", "account.badges.group": "Groupe", @@ -18,7 +19,6 @@ "account.block_domain": "Bloquer le domaine {domain}", "account.block_short": "Bloquer", "account.blocked": "Bloqué·e", - "account.browse_more_on_origin_server": "Parcourir davantage sur le profil original", "account.cancel_follow_request": "Annuler le suivi", "account.copy": "Copier le lien vers le profil", "account.direct": "Mention privée @{name}", @@ -34,6 +34,7 @@ "account.follow_back": "S'abonner en retour", "account.followers": "Abonné·e·s", "account.followers.empty": "Personne ne suit cet·te utilisateur·rice pour l’instant.", + "account.followers_counter": "{count, plural, one {{counter} abonné·e} other {{counter} abonné·e·s}}", "account.following": "Abonnements", "account.follows.empty": "Cet·te utilisateur·rice ne suit personne pour l’instant.", "account.go_to_profile": "Aller au profil", @@ -47,7 +48,7 @@ "account.mention": "Mentionner @{name}", "account.moved_to": "{name} a indiqué que son nouveau compte est maintenant :", "account.mute": "Masquer @{name}", - "account.mute_notifications_short": "Désactiver les alertes", + "account.mute_notifications_short": "Désactiver les notifications", "account.mute_short": "Mettre en sourdine", "account.muted": "Masqué·e", "account.mutual": "Mutuel", @@ -60,6 +61,7 @@ "account.requested_follow": "{name} a demandé à vous suivre", "account.share": "Partager le profil de @{name}", "account.show_reblogs": "Afficher les partages de @{name}", + "account.statuses_counter": "{count, plural, one {{counter} message} other {{counter} messages}}", "account.unblock": "Débloquer @{name}", "account.unblock_domain": "Débloquer le domaine {domain}", "account.unblock_short": "Débloquer", @@ -91,9 +93,10 @@ "block_modal.they_cant_mention": "Il ne peut pas vous mentionner ou vous suivre.", "block_modal.they_cant_see_posts": "Il peut toujours voir vos publications, mais vous ne verrez pas les siennes.", "block_modal.they_will_know": "Il peut voir qu'il est bloqué.", - "block_modal.title": "Bloquer l'utilisateur ?", + "block_modal.title": "Bloquer l'utilisateur·rice ?", "block_modal.you_wont_see_mentions": "Vous ne verrez pas les publications qui le mentionne.", "boost_modal.combo": "Vous pouvez appuyer sur {combo} pour passer ceci la prochaine fois", + "boost_modal.reblog": "Booster le message ?", "bundle_column_error.copy_stacktrace": "Copier le rapport d'erreur", "bundle_column_error.error.body": "La page demandée n'a pas pu être affichée. Cela peut être dû à un bogue dans notre code, ou à un problème de compatibilité avec le navigateur.", "bundle_column_error.error.title": "Oh non !", @@ -189,6 +192,8 @@ "confirmations.unfollow.confirm": "Ne plus suivre", "confirmations.unfollow.message": "Voulez-vous vraiment vous désabonner de {name} ?", "confirmations.unfollow.title": "Se désabonner de l'utilisateur ?", + "content_warning.hide": "Masquer le message", + "content_warning.show": "Afficher quand même", "conversation.delete": "Supprimer la conversation", "conversation.mark_as_read": "Marquer comme lu", "conversation.open": "Afficher la conversation", @@ -207,7 +212,7 @@ "dismissable_banner.explore_links": "On parle actuellement de ces nouvelles sur ce serveur, ainsi que sur d'autres serveurs du réseau décentralisé.", "dismissable_banner.explore_statuses": "Ces messages venant de tout le web social gagnent en popularité aujourd’hui. Les nouveaux messages avec plus de boosts et de favoris sont classés plus haut.", "dismissable_banner.explore_tags": "Ces hashtags sont actuellement en train de gagner de l'ampleur parmi les personnes sur les serveurs du réseau décentralisé dont celui-ci.", - "dismissable_banner.public_timeline": "Ce sont les posts publics les plus récents de personnes sur le web social que les gens sur {domain} suivent.", + "dismissable_banner.public_timeline": "Il s'agit des messages publics les plus récents publiés par des gens sur le web social et que les utilisateurs de {domain} suivent.", "domain_block_modal.block": "Bloquer le serveur", "domain_block_modal.block_account_instead": "Bloquer @{name} à la place", "domain_block_modal.they_can_interact_with_old_posts": "Les personnes de ce serveur peuvent interagir avec vos anciennes publications.", @@ -284,7 +289,7 @@ "filter_modal.added.context_mismatch_title": "Incompatibilité du contexte !", "filter_modal.added.expired_explanation": "Cette catégorie de filtre a expiré, vous devrez modifier la date d'expiration pour qu'elle soit appliquée.", "filter_modal.added.expired_title": "Filtre expiré !", - "filter_modal.added.review_and_configure": "Pour examiner et affiner la configuration de cette catégorie de filtre, allez à {settings_link}.", + "filter_modal.added.review_and_configure": "Pour examiner et affiner la configuration de cette catégorie de filtres, allez à {settings_link}.", "filter_modal.added.review_and_configure_title": "Paramètres du filtre", "filter_modal.added.settings_link": "page des paramètres", "filter_modal.added.short_explanation": "Ce message a été ajouté à la catégorie de filtre suivante : {title}.", @@ -293,9 +298,10 @@ "filter_modal.select_filter.expired": "a expiré", "filter_modal.select_filter.prompt_new": "Nouvelle catégorie : {name}", "filter_modal.select_filter.search": "Rechercher ou créer", - "filter_modal.select_filter.subtitle": "Utilisez une catégorie existante ou en créer une nouvelle", + "filter_modal.select_filter.subtitle": "Utilisez une catégorie existante ou créez-en une nouvelle", "filter_modal.select_filter.title": "Filtrer ce message", "filter_modal.title.status": "Filtrer un message", + "filter_warning.matches_filter": "Correspond au filtre « {title} »", "filtered_notifications_banner.title": "Notifications filtrées", "firehose.all": "Tout", "firehose.local": "Ce serveur", @@ -305,6 +311,8 @@ "follow_requests.unlocked_explanation": "Même si votre compte n’est pas privé, l’équipe de {domain} a pensé que vous pourriez vouloir consulter manuellement les demandes de suivi de ces comptes.", "follow_suggestions.curated_suggestion": "Choix du staff", "follow_suggestions.dismiss": "Ne plus afficher", + "follow_suggestions.featured_longer": "Sélectionné par l'équipe de {domain}", + "follow_suggestions.friends_of_friends_longer": "Populaire dans le cercle des personnes que vous suivez", "follow_suggestions.hints.featured": "Ce profil a été sélectionné par l'équipe de {domain}.", "follow_suggestions.hints.friends_of_friends": "Ce profil est populaire parmi les personnes que vous suivez.", "follow_suggestions.hints.most_followed": "Ce profil est l'un des plus suivis sur {domain}.", @@ -312,6 +320,8 @@ "follow_suggestions.hints.similar_to_recently_followed": "Ce profil est similaire aux profils que vous avez suivis le plus récemment.", "follow_suggestions.personalized_suggestion": "Suggestion personnalisée", "follow_suggestions.popular_suggestion": "Suggestion populaire", + "follow_suggestions.popular_suggestion_longer": "Populaire sur {domain}", + "follow_suggestions.similar_to_recently_followed_longer": "Similaire aux profils que vous avez dernièrement suivis", "follow_suggestions.view_all": "Tout afficher", "follow_suggestions.who_to_follow": "Qui suivre", "followed_tags": "Hashtags suivis", @@ -340,6 +350,9 @@ "hashtag.follow": "Suivre le hashtag", "hashtag.unfollow": "Ne plus suivre le hashtag", "hashtags.and_other": "…et {count, plural, other {# de plus}}", + "hints.profiles.see_more_followers": "Afficher plus d'abonné·e·s sur {domain}", + "hints.profiles.see_more_posts": "Voir plus de messages sur {domain}", + "hints.threads.see_more": "Afficher plus de réponses sur {domain}", "home.column_settings.show_reblogs": "Afficher les partages", "home.column_settings.show_replies": "Afficher les réponses", "home.hide_announcements": "Masquer les annonces", @@ -347,6 +360,17 @@ "home.pending_critical_update.link": "Voir les mises à jour", "home.pending_critical_update.title": "Une mise à jour de sécurité critique est disponible !", "home.show_announcements": "Afficher les annonces", + "ignore_notifications_modal.disclaimer": "Mastodon ne peut pas indiquer aux utilisateurs que vous avez ignoré leurs notifications. Le fait d'ignorer les notifications n'empêchera pas la transmission des messages eux-mêmes.", + "ignore_notifications_modal.filter_instead": "Filtrer plutôt", + "ignore_notifications_modal.filter_to_act_users": "Vous serez toujours en mesure d'accepter, de rejeter ou de signaler les utilisateur·rice·s", + "ignore_notifications_modal.filter_to_avoid_confusion": "Le filtrage permet d'éviter toute éventuelle confusion", + "ignore_notifications_modal.filter_to_review_separately": "Vous pouvez réexaminer les notifications filtrées séparément", + "ignore_notifications_modal.ignore": "Ignorer les notifications", + "ignore_notifications_modal.limited_accounts_title": "Ignorer les notifications provenant des comptes modérés ?", + "ignore_notifications_modal.new_accounts_title": "Ignorer les notifications provenant des nouveaux comptes ?", + "ignore_notifications_modal.not_followers_title": "Ignorer les notifications provenant des personnes qui ne vous suivent pas ?", + "ignore_notifications_modal.not_following_title": "Ignorer les notifications provenant des personnes que vous ne suivez pas ?", + "ignore_notifications_modal.private_mentions_title": "Ignorer les notifications issues des mentions privées non sollicitées ?", "interaction_modal.description.favourite": "Avec un compte Mastodon, vous pouvez ajouter ce message à vos favoris pour informer l'auteur⋅rice que vous l'appréciez et pour le sauvegarder pour plus tard.", "interaction_modal.description.follow": "Avec un compte Mastodon, vous pouvez suivre {name} et recevoir leurs posts dans votre fil d'actualité.", "interaction_modal.description.reblog": "Avec un compte sur Mastodon, vous pouvez partager ce message pour le faire découvrir à vos propres abonné⋅e⋅s.", @@ -407,6 +431,8 @@ "limited_account_hint.action": "Afficher le profil quand même", "limited_account_hint.title": "Ce profil a été masqué par la modération de {domain}.", "link_preview.author": "Par {name}", + "link_preview.more_from_author": "Plus via {name}", + "link_preview.shares": "{count, plural, one {{counter} message} other {{counter} messages}}", "lists.account.add": "Ajouter à la liste", "lists.account.remove": "Supprimer de la liste", "lists.delete": "Supprimer la liste", @@ -435,6 +461,7 @@ "mute_modal.you_wont_see_mentions": "Vous ne verrez pas les publications qui le mentionne.", "mute_modal.you_wont_see_posts": "Il peut toujours voir vos publications, mais vous ne verrez pas les siennes.", "navigation_bar.about": "À propos", + "navigation_bar.administration": "Administration", "navigation_bar.advanced_interface": "Ouvrir dans l’interface avancée", "navigation_bar.blocks": "Comptes bloqués", "navigation_bar.bookmarks": "Marque-pages", @@ -451,6 +478,7 @@ "navigation_bar.follows_and_followers": "Abonnements et abonnés", "navigation_bar.lists": "Listes", "navigation_bar.logout": "Déconnexion", + "navigation_bar.moderation": "Modération", "navigation_bar.mutes": "Comptes masqués", "navigation_bar.opened_in_classic_interface": "Les messages, les comptes et les pages spécifiques sont ouvertes dans l’interface classique.", "navigation_bar.personal": "Personnel", @@ -461,13 +489,36 @@ "navigation_bar.security": "Sécurité", "not_signed_in_indicator.not_signed_in": "Vous devez vous connecter pour accéder à cette ressource.", "notification.admin.report": "{name} a signalé {target}", + "notification.admin.report_account": "{name} a signalé {count, plural, one {un message} other {# messages}} de {target} pour {category}", + "notification.admin.report_account_other": "{name} a signalé {count, plural, one {un message} other {# messages}} depuis {target}", + "notification.admin.report_statuses": "{name} a signalé {target} pour {category}", + "notification.admin.report_statuses_other": "{name} a signalé {target}", "notification.admin.sign_up": "{name} s'est inscrit", + "notification.admin.sign_up.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} se sont inscrit", "notification.favourite": "{name} a ajouté votre message à ses favoris", + "notification.favourite.name_and_others_with_link": "{name} et {count, plural, one {# autre} other {# autres}} ont mis votre message en favori", "notification.follow": "{name} vous suit", + "notification.follow.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} se sont abonné à votre compte", "notification.follow_request": "{name} a demandé à vous suivre", - "notification.mention": "{name} vous a mentionné·e :", + "notification.follow_request.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} ont demandé à vous suivre", + "notification.label.mention": "Mention", + "notification.label.private_mention": "Mention privée", + "notification.label.private_reply": "Répondre en privé", + "notification.label.reply": "Réponse", + "notification.mention": "Mention", + "notification.moderation-warning.learn_more": "En savoir plus", + "notification.moderation_warning": "Vous avez reçu un avertissement de modération", + "notification.moderation_warning.action_delete_statuses": "Certains de vos messages ont été supprimés.", + "notification.moderation_warning.action_disable": "Votre compte a été désactivé.", + "notification.moderation_warning.action_mark_statuses_as_sensitive": "Certains de vos messages ont été marqués comme sensibles.", + "notification.moderation_warning.action_none": "Votre compte a reçu un avertissement de modération.", + "notification.moderation_warning.action_sensitive": "Vos messages seront désormais marqués comme sensibles.", + "notification.moderation_warning.action_silence": "Votre compte a été limité.", + "notification.moderation_warning.action_suspend": "Votre compte a été suspendu.", "notification.own_poll": "Votre sondage est terminé", + "notification.poll": "Un sondage auquel vous avez participé vient de se terminer", "notification.reblog": "{name} a partagé votre message", + "notification.reblog.name_and_others_with_link": "{name} et {count, plural, one {# autre} other {# autres}} ont boosté votre message", "notification.relationships_severance_event": "Connexions perdues avec {name}", "notification.relationships_severance_event.account_suspension": "Un·e administrateur·rice de {from} a suspendu {target}, ce qui signifie que vous ne pourrez plus recevoir de mises à jour ou interagir avec lui.", "notification.relationships_severance_event.domain_block": "Un·e administrateur·rice de {from} en a bloqué {target}, comprenant {followersCount} de vos abonné·e·s et {followingCount, plural, one {# compte} other {# comptes}} vous suivez.", @@ -477,14 +528,23 @@ "notification.update": "{name} a modifié un message", "notification_requests.accept": "Accepter", "notification_requests.dismiss": "Rejeter", + "notification_requests.edit_selection": "Modifier", + "notification_requests.exit_selection": "Fait", + "notification_requests.explainer_for_limited_account": "Les notifications en provenance de ce compte ont été filtrées car le compte a été limité par un modérateur.", + "notification_requests.explainer_for_limited_remote_account": "Les notifications en provenance de ce compte ont été filtrées car le compte ou le serveur dont il est issu a été limité par un modérateur.", + "notification_requests.maximize": "Agrandir", + "notification_requests.minimize_banner": "Réduire la bannière des notifications filtrées", "notification_requests.notifications_from": "Notifications de {name}", "notification_requests.title": "Notifications filtrées", + "notification_requests.view": "Afficher les notifications", "notifications.clear": "Effacer les notifications", "notifications.clear_confirmation": "Voulez-vous vraiment effacer toutes vos notifications ?", "notifications.clear_title": "Effacer les notifications ?", "notifications.column_settings.admin.report": "Nouveaux signalements :", "notifications.column_settings.admin.sign_up": "Nouvelles inscriptions :", "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.filter_bar.advanced": "Afficher toutes les catégories", "notifications.column_settings.filter_bar.category": "Barre de filtre rapide", @@ -513,15 +573,23 @@ "notifications.permission_denied": "Impossible d’activer les notifications de bureau car l’autorisation a été refusée.", "notifications.permission_denied_alert": "Les notifications de bureau ne peuvent pas être activées, car l’autorisation du navigateur a été refusée avant", "notifications.permission_required": "Les notifications de bureau ne sont pas disponibles car l’autorisation requise n’a pas été accordée.", + "notifications.policy.accept": "Accepter", + "notifications.policy.accept_hint": "Afficher dans les notifications", + "notifications.policy.drop": "Ignorer", + "notifications.policy.drop_hint": "Expulser vers le vide, pour ne plus jamais les revoir", + "notifications.policy.filter": "Filtrer", + "notifications.policy.filter_hint": "Envoyer à la boîte de réception des notifications filtrées", + "notifications.policy.filter_limited_accounts_hint": "Limités par les modérateur·rice·s du serveur", + "notifications.policy.filter_limited_accounts_title": "Comptes modérés", "notifications.policy.filter_new_accounts.hint": "Créés au cours des derniers {days, plural, one {un jour} other {# jours}}", "notifications.policy.filter_new_accounts_title": "Nouveaux comptes", "notifications.policy.filter_not_followers_hint": "Incluant les personnes qui vous suivent depuis moins de {days, plural, one {un jour} other {# jours}}", "notifications.policy.filter_not_followers_title": "Personnes qui ne vous suivent pas", "notifications.policy.filter_not_following_hint": "Jusqu'à ce que vous les validiez manuellement", "notifications.policy.filter_not_following_title": "Personnes que vous ne suivez pas", - "notifications.policy.filter_private_mentions_hint": "Filtré sauf si c'est en réponse à une mention de vous ou si vous suivez l'expéditeur", + "notifications.policy.filter_private_mentions_hint": "Filtrées sauf si c'est en réponse à l'une de vos mentions ou si vous suivez l'expéditeur·ice", "notifications.policy.filter_private_mentions_title": "Mentions privées non sollicitées", - "notifications.policy.title": "Filtrer les notifications de…", + "notifications.policy.title": "Gérer les notifications en provenance de …", "notifications_permission_banner.enable": "Activer les notifications de bureau", "notifications_permission_banner.how_to_control": "Pour recevoir des notifications lorsque Mastodon n’est pas ouvert, activez les notifications du bureau. Vous pouvez contrôler précisément quels types d’interactions génèrent des notifications de bureau via le bouton {icon} ci-dessus une fois qu’elles sont activées.", "notifications_permission_banner.title": "Toujours au courant", @@ -645,12 +713,16 @@ "report.thanks.title": "Vous ne voulez pas voir cela ?", "report.thanks.title_actionable": "Merci pour votre signalement, nous allons investiguer.", "report.unfollow": "Ne plus suivre @{name}", - "report.unfollow_explanation": "Vous suivez ce compte. Désabonnez-vous pour ne plus en voir les messages sur votre fil principal.", + "report.unfollow_explanation": "Vous êtes abonné à ce compte. Pour ne plus voir ses publications dans votre flux principal, retirez-le de votre liste d'abonnements.", "report_notification.attached_statuses": "{count, plural, one {{count} message lié} other {{count} messages liés}}", "report_notification.categories.legal": "Légal", + "report_notification.categories.legal_sentence": "contenu illégal", "report_notification.categories.other": "Autre", + "report_notification.categories.other_sentence": "autre", "report_notification.categories.spam": "Spam", + "report_notification.categories.spam_sentence": "indésirable", "report_notification.categories.violation": "Infraction aux règles du serveur", + "report_notification.categories.violation_sentence": "infraction de règle", "report_notification.open": "Ouvrir le signalement", "search.no_recent_searches": "Aucune recherche récente", "search.placeholder": "Rechercher", @@ -678,8 +750,11 @@ "server_banner.about_active_users": "Personnes utilisant ce serveur au cours des 30 derniers jours (Comptes actifs mensuellement)", "server_banner.active_users": "comptes actifs", "server_banner.administered_by": "Administré par :", + "server_banner.is_one_of_many": "{domain} est l'un des nombreux serveurs Mastodon indépendants que vous pouvez utiliser pour participer au fédiverse.", "server_banner.server_stats": "Statistiques du serveur :", "sign_in_banner.create_account": "Créer un compte", + "sign_in_banner.follow_anyone": "Suivez n'importe qui à travers le fédivers et affichez tout dans un ordre chronologique. Ni algorithmes, ni publicités, ni appâts à clics en perspective.", + "sign_in_banner.mastodon_is": "Mastodon est le meilleur moyen de suivre ce qui se passe.", "sign_in_banner.sign_in": "Se connecter", "sign_in_banner.sso_redirect": "Se connecter ou s’inscrire", "status.admin_account": "Ouvrir l’interface de modération pour @{name}", @@ -701,8 +776,6 @@ "status.favourite": "Ajouter aux favoris", "status.favourites": "{count, plural, one {favori} other {favoris}}", "status.filter": "Filtrer ce message", - "status.filtered": "Filtré", - "status.hide": "Masquer le message", "status.history.created": "créé par {name} {date}", "status.history.edited": "modifié par {name} {date}", "status.load_more": "Charger plus", @@ -730,10 +803,7 @@ "status.report": "Signaler @{name}", "status.sensitive_warning": "Contenu sensible", "status.share": "Partager", - "status.show_filter_reason": "Afficher quand même", - "status.show_less": "Replier", "status.show_less_all": "Tout replier", - "status.show_more": "Déplier", "status.show_more_all": "Tout déplier", "status.show_original": "Afficher l’original", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", @@ -752,10 +822,6 @@ "time_remaining.minutes": "{number, plural, one {# minute restante} other {# minutes restantes}}", "time_remaining.moments": "Encore quelques instants", "time_remaining.seconds": "{number, plural, one {# seconde restante} other {# secondes restantes}}", - "timeline_hint.remote_resource_not_displayed": "{resource} des autres serveurs ne sont pas affichés.", - "timeline_hint.resources.followers": "Les abonnés", - "timeline_hint.resources.follows": "Les abonnements", - "timeline_hint.resources.statuses": "Messages plus anciens", "trends.counter_by_accounts": "{count, plural, one {{counter} pers.} other {{counter} pers.}} sur {days, plural, one {les dernières 24h} other {les {days} derniers jours}}", "trends.trending_now": "Tendance en ce moment", "ui.beforeunload": "Votre brouillon sera perdu si vous quittez Mastodon.", diff --git a/app/javascript/mastodon/locales/fy.json b/app/javascript/mastodon/locales/fy.json index 1eceec08a06..0a985a0310c 100644 --- a/app/javascript/mastodon/locales/fy.json +++ b/app/javascript/mastodon/locales/fy.json @@ -18,7 +18,6 @@ "account.block_domain": "Domein {domain} blokkearje", "account.block_short": "Blokkearje", "account.blocked": "Blokkearre", - "account.browse_more_on_origin_server": "Mear op it orizjinele profyl besjen", "account.cancel_follow_request": "Folchfersyk annulearje", "account.copy": "Keppeling nei profyl kopiearje", "account.direct": "Privee fermelde @{name}", @@ -433,8 +432,6 @@ "mute_modal.title": "Brûker negearje?", "mute_modal.you_wont_see_mentions": "Jo sjogge gjin berjochten mear dy’t dizze account fermelde.", "mute_modal.you_wont_see_posts": "De persoan kin jo berjochten noch hieltyd sjen, mar jo sjogge harren berjochten net mear.", - "name_and_others": "{name} en {count, plural, one {# oar} other {# oaren}}", - "name_and_others_with_link": "{name} en {count, plural, one {# oar} other {# oaren}}", "navigation_bar.about": "Oer", "navigation_bar.advanced_interface": "Yn avansearre webomjouwing iepenje", "navigation_bar.blocks": "Blokkearre brûkers", @@ -470,7 +467,6 @@ "notification.favourite": "{name} hat jo berjocht as favoryt markearre", "notification.follow": "{name} folget dy", "notification.follow_request": "{name} hat dy in folchfersyk stjoerd", - "notification.mention": "{name} hat dy fermeld", "notification.moderation-warning.learn_more": "Mear ynfo", "notification.moderation_warning": "Jo hawwe in moderaasje-warskôging ûntfongen", "notification.moderation_warning.action_delete_statuses": "Guon fan jo berjochten binne fuortsmiten.", @@ -482,7 +478,6 @@ "notification.moderation_warning.action_suspend": "Jo account is útsteld.", "notification.own_poll": "Jo poll is beëinige", "notification.poll": "In enkête dêr’t jo oan meidien hawwe is beëinige", - "notification.private_mention": "{name} hat jo in priveeberjocht stjoerd", "notification.reblog": "{name} hat jo berjocht boost", "notification.relationships_severance_event": "Ferlerne ferbiningen mei {name}", "notification.relationships_severance_event.account_suspension": "In behearder fan {from} hat {target} útsteld, wat betsjut dat jo gjin updates mear fan harren ûntfange kinne of mei harren kommunisearje kinne.", @@ -708,8 +703,6 @@ "status.favourite": "Favoryt", "status.favourites": "{count, plural, one {favoryt} other {favoriten}}", "status.filter": "Dit berjocht filterje", - "status.filtered": "Filtere", - "status.hide": "Berjocht ferstopje", "status.history.created": "{name} makke dit {date}", "status.history.edited": "{name} bewurke dit {date}", "status.load_more": "Mear lade", @@ -737,10 +730,7 @@ "status.report": "@{name} rapportearje", "status.sensitive_warning": "Gefoelige ynhâld", "status.share": "Diele", - "status.show_filter_reason": "Dochs toane", - "status.show_less": "Minder toane", "status.show_less_all": "Alles minder toane", - "status.show_more": "Mear toane", "status.show_more_all": "Alles mear toane", "status.show_original": "Orizjineel besjen", "status.title.with_attachments": "{user} hat {attachmentCount, plural, one {ien bylage} other {{attachmentCount} bylagen}} tafoege", @@ -759,10 +749,6 @@ "time_remaining.minutes": "{number, plural, one {# minút} other {# minuten}} te gean", "time_remaining.moments": "Noch krekt efkes te gean", "time_remaining.seconds": "{number, plural, one {# sekonde} other {# sekonden}} te gean", - "timeline_hint.remote_resource_not_displayed": "{resource} fan oare servers wurde net toand.", - "timeline_hint.resources.followers": "Folgers", - "timeline_hint.resources.follows": "Folgjend", - "timeline_hint.resources.statuses": "Aldere berjochten", "trends.counter_by_accounts": "{count, plural, one {{counter} persoan} other {{counter} persoanen}} {days, plural, one {de ôfrûne dei} other {de ôfrûne {days} dagen}}", "trends.trending_now": "Aktuele trends", "ui.beforeunload": "Jo konsept giet ferlern wannear’t jo Mastodon ferlitte.", diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json index 04be6bc2fa1..71577be9558 100644 --- a/app/javascript/mastodon/locales/ga.json +++ b/app/javascript/mastodon/locales/ga.json @@ -11,6 +11,7 @@ "about.not_available": "Níor cuireadh an t-eolas seo ar fáil ar an bhfreastalaí seo.", "about.powered_by": "Meáin shóisialta díláraithe faoi chumhacht {mastodon}", "about.rules": "Rialacha an fhreastalaí", + "account.account_note_header": "Nóta pearsanta", "account.add_or_remove_from_list": "Cuir Le nó Bain De na liostaí", "account.badges.bot": "Bota", "account.badges.group": "Grúpa", @@ -18,7 +19,6 @@ "account.block_domain": "Bac ainm fearainn {domain}", "account.block_short": "Bloc", "account.blocked": "Bactha", - "account.browse_more_on_origin_server": "Brabhsáil níos mó ar an phróifíl bhunaidh", "account.cancel_follow_request": "Éirigh as iarratas leanta", "account.copy": "Cóipeáil nasc chuig an bpróifíl", "account.direct": "Luaigh @{name} go príobháideach", @@ -192,6 +192,8 @@ "confirmations.unfollow.confirm": "Ná lean", "confirmations.unfollow.message": "An bhfuil tú cinnte gur mhaith leat {name} a dhíleanúint?", "confirmations.unfollow.title": "Dílean ​​an t-úsáideoir?", + "content_warning.hide": "Folaigh postáil", + "content_warning.show": "Taispeáin ar aon nós", "conversation.delete": "Scrios comhrá", "conversation.mark_as_read": "Marcáil mar léite", "conversation.open": "Féach ar comhrá", @@ -299,6 +301,7 @@ "filter_modal.select_filter.subtitle": "Bain úsáid as catagóir reatha nó cruthaigh ceann nua", "filter_modal.select_filter.title": "Déan scagadh ar an bpostáil seo", "filter_modal.title.status": "Déan scagadh ar phostáil", + "filter_warning.matches_filter": "Meaitseálann an scagaire “{title}”", "filtered_notifications_banner.pending_requests": "Ó {count, plural, =0 {duine ar bith} one {duine amháin} two {# daoine} few {# daoine} many {# daoine} other {# daoine}} b’fhéidir go bhfuil aithne agat orthu", "filtered_notifications_banner.title": "Fógraí scagtha", "firehose.all": "Gach", @@ -348,6 +351,14 @@ "hashtag.follow": "Lean haischlib", "hashtag.unfollow": "Ná lean haischlib", "hashtags.and_other": "agus {count, plural, one {} two {# níos} few {# níos} many {# níos} other {# níos}}", + "hints.profiles.followers_may_be_missing": "Seans go bhfuil leantóirí don phróifíl seo in easnamh.", + "hints.profiles.follows_may_be_missing": "Seans go bhfuil na nithe seo a leanas in easnamh ar an bpróifíl seo.", + "hints.profiles.posts_may_be_missing": "Seans go bhfuil roinnt postálacha ón bpróifíl seo in easnamh.", + "hints.profiles.see_more_followers": "Féach ar a thuilleadh leantóirí ar {domain}", + "hints.profiles.see_more_follows": "Féach tuilleadh seo a leanas ar {domain}", + "hints.profiles.see_more_posts": "Féach ar a thuilleadh postálacha ar {domain}", + "hints.threads.replies_may_be_missing": "Seans go bhfuil freagraí ó fhreastalaithe eile in easnamh.", + "hints.threads.see_more": "Féach ar a thuilleadh freagraí ar {domain}", "home.column_settings.show_reblogs": "Taispeáin moltaí", "home.column_settings.show_replies": "Taispeán freagraí", "home.hide_announcements": "Cuir fógraí i bhfolach", @@ -355,6 +366,17 @@ "home.pending_critical_update.link": "Féach nuashonruithe", "home.pending_critical_update.title": "Nuashonrú slándála ríthábhachtach ar fáil!", "home.show_announcements": "Taispeáin fógraí", + "ignore_notifications_modal.disclaimer": "Ní féidir le Mastodon úsáideoirí a chur ar an eolas gur thug tú neamhaird dá bhfógraí. Má dhéantar neamhaird de fhógraí, ní stopfar na teachtaireachtaí iad féin a sheoladh.", + "ignore_notifications_modal.filter_instead": "Scag ina ionad sin", + "ignore_notifications_modal.filter_to_act_users": "Beidh tú fós in ann glacadh le húsáideoirí, iad a dhiúltú nó a thuairisciú", + "ignore_notifications_modal.filter_to_avoid_confusion": "Cuidíonn scagadh le mearbhall a sheachaint", + "ignore_notifications_modal.filter_to_review_separately": "Is féidir leat fógraí scagtha a athbhreithniú ar leithligh", + "ignore_notifications_modal.ignore": "Déan neamhaird de fhógraí", + "ignore_notifications_modal.limited_accounts_title": "An dtugann tú neamhaird d'fhógraí ó chuntais mhodhnaithe?", + "ignore_notifications_modal.new_accounts_title": "An bhfuil fonn ort neamhaird a dhéanamh d'fhógraí ó chuntais nua?", + "ignore_notifications_modal.not_followers_title": "An dtugann tú aird ar fhógraí ó dhaoine nach leanann tú?", + "ignore_notifications_modal.not_following_title": "An ndéanann tú neamhaird de fhógraí ó dhaoine nach leanann tú?", + "ignore_notifications_modal.private_mentions_title": "An dtugann tú aird ar fhógraí ó Luaintí Príobháideacha gan iarraidh?", "interaction_modal.description.favourite": "Le cuntas ar Mastodon, is fearr leat an postáil seo chun a chur in iúl don údar go bhfuil meas agat air agus é a shábháil ar feadh níos déanaí.", "interaction_modal.description.follow": "Le cuntas ar Mastodon, is féidir leat {name} a leanúint chun a gcuid postálacha a fháil i do fhotha baile.", "interaction_modal.description.reblog": "Le cuntas ar Mastodon, is féidir leat an postáil seo a threisiú chun é a roinnt le do leantóirí féin.", @@ -444,8 +466,6 @@ "mute_modal.title": "An bhfuil fonn ort úsáideoir a bhalbhú?", "mute_modal.you_wont_see_mentions": "Ní fheicfidh tú postálacha a luann iad.", "mute_modal.you_wont_see_posts": "Is féidir leo do phoist a fheiceáil go fóill, ach ní fheicfidh tú a gcuid postanna.", - "name_and_others": "{name} and {count, plural, one {# eile} two {# eile} few {# eile} many {# eile} other {# eile}}", - "name_and_others_with_link": "{name} agus {count, plural, one {# eile} two {# eile} few {# eile} many {# eile} other {# eile}}", "navigation_bar.about": "Maidir le", "navigation_bar.advanced_interface": "Oscail i gcomhéadan gréasáin chun cinn", "navigation_bar.blocks": "Cuntais bhactha", @@ -478,10 +498,18 @@ "notification.admin.report_statuses": "Thuairiscigh {name} {target} le haghaidh {category}", "notification.admin.report_statuses_other": "{name} tuairiscithe {target}", "notification.admin.sign_up": "Chláraigh {name}", + "notification.admin.sign_up.name_and_others": "{name} agus {count, plural, one {# duine eile} two {# daoine eile} few {# daoine eile} many {# daoine eile} other {# daoine eile}} a chláraigh", "notification.favourite": "Is fearr le {name} do phostáil", + "notification.favourite.name_and_others_with_link": "{name} agus {count, plural, one {# duine eile} other {# daoine eile}} thaitin le do phost", "notification.follow": "Lean {name} thú", + "notification.follow.name_and_others": "{name} agus {count, plural, one {# duine eile} other {# daoine eile}} a lean tú", "notification.follow_request": "D'iarr {name} ort do chuntas a leanúint", - "notification.mention": "Luaigh {name} tú", + "notification.follow_request.name_and_others": "{name} agus {count, plural, one {# duine eile} other {# daoine eile}} iarratas a dhéanamh chun tú a leanúint", + "notification.label.mention": "Luaigh", + "notification.label.private_mention": "Lua príobháideach", + "notification.label.private_reply": "Freagra príobháideach", + "notification.label.reply": "Freagra", + "notification.mention": "Luaigh", "notification.moderation-warning.learn_more": "Foghlaim níos mó", "notification.moderation_warning": "Tá rabhadh modhnóireachta faighte agat", "notification.moderation_warning.action_delete_statuses": "Baineadh cuid de do phostálacha.", @@ -493,8 +521,8 @@ "notification.moderation_warning.action_suspend": "Cuireadh do chuntas ar fionraí.", "notification.own_poll": "Tá do suirbhé críochnaithe", "notification.poll": "Tá deireadh le vótaíocht inar vótáil tú", - "notification.private_mention": "luaigh {name} tú go príobháideach", "notification.reblog": "Mhol {name} do phostáil", + "notification.reblog.name_and_others_with_link": "{name} agus {count, plural, one {# duine eile} other {# daoine eile}} a chuir borradh faoi do phost", "notification.relationships_severance_event": "Cailleadh naisc le {name}", "notification.relationships_severance_event.account_suspension": "Chuir riarthóir ó {from} {target} ar fionraí, rud a chiallaíonn nach féidir leat nuashonruithe a fháil uathu a thuilleadh ná idirghníomhú leo.", "notification.relationships_severance_event.domain_block": "Chuir riarthóir ó {from} bac ar {target}, lena n-áirítear {followersCount} de do leantóirí agus {followingCount, plural, one {#cuntas} other {#cuntas}} leanann tú.", @@ -503,9 +531,24 @@ "notification.status": "Phostáil {name} díreach", "notification.update": "Chuir {name} postáil in eagar", "notification_requests.accept": "Glac", + "notification_requests.accept_multiple": "{count, plural, one {Glac le # iarratas…} other {Glac le # iarratais…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Glac le hIarratas} other {Glac le hIarratais}}", + "notification_requests.confirm_accept_multiple.message": "Tá tú ar tí glacadh le {count, plural, one {iarratas fógra amháin} other {# iarratas fógra}}. An bhfuil tú cinnte gur mian leat leanúint ar aghaidh?", + "notification_requests.confirm_accept_multiple.title": "Glac le hiarratais ar fhógra?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Dún iarratas} other {Dún iarratais}}", + "notification_requests.confirm_dismiss_multiple.message": "Tá tú ar tí iarratas fógra {count, plural, one {a hAon} other {#}} a dhúnadh. Ní bheidh tú in ann {count, plural, one {é} other {iad}} a fháil go héasca arís. An bhfuil tú cinnte gur mian leat leanúint ar aghaidh?", + "notification_requests.confirm_dismiss_multiple.title": "An bhfuil fonn ort iarratais ar fhógra a dhíbhe?", "notification_requests.dismiss": "Díbhe", + "notification_requests.dismiss_multiple": "{count, plural, one {Dún # iarratas…} other {Dún # iarratais…}}", + "notification_requests.edit_selection": "Cuir in eagar", + "notification_requests.exit_selection": "Déanta", + "notification_requests.explainer_for_limited_account": "Scagadh fógraí ón gcuntas seo toisc go bhfuil an cuntas teoranta ag modhnóir.", + "notification_requests.explainer_for_limited_remote_account": "Scagadh fógraí ón gcuntas seo toisc go bhfuil an cuntas nó a fhreastalaí teoranta ag modhnóir.", + "notification_requests.maximize": "Uasmhéadaigh", + "notification_requests.minimize_banner": "Íoslaghdaigh bratach na bhfógraí scagtha", "notification_requests.notifications_from": "Fógraí ó {name}", "notification_requests.title": "Fógraí scagtha", + "notification_requests.view": "Féach ar fhógraí", "notifications.clear": "Glan fógraí", "notifications.clear_confirmation": "An bhfuil tú cinnte gur mhaith leat d'fhógraí go léir a ghlanadh go buan?", "notifications.clear_title": "Glan fógraí?", @@ -542,6 +585,14 @@ "notifications.permission_denied": "Níl fógraí deisce ar fáil mar gheall ar iarratas ar chead brabhsálaí a diúltaíodh roimhe seo", "notifications.permission_denied_alert": "Ní féidir fógraí deisce a chumasú, mar gur diúltaíodh cead brabhsálaí roimhe seo", "notifications.permission_required": "Níl fógraí deisce ar fáil toisc nár tugadh an cead riachtanach.", + "notifications.policy.accept": "Glac", + "notifications.policy.accept_hint": "Taispeáin i bhfógraí", + "notifications.policy.drop": "Déan neamhaird de", + "notifications.policy.drop_hint": "Seol chuig an neamhní, gan a bheith le feiceáil arís", + "notifications.policy.filter": "Scagaire", + "notifications.policy.filter_hint": "Seol chuig an mbosca isteach fógraí scagtha", + "notifications.policy.filter_limited_accounts_hint": "Teoranta ag modhnóirí freastalaí", + "notifications.policy.filter_limited_accounts_title": "Cuntais mhodhnaithe", "notifications.policy.filter_new_accounts.hint": "Cruthaithe laistigh den {days, plural, one {lae amháin} two {# lá} few {# lá} many {# lá} other {# lá}}", "notifications.policy.filter_new_accounts_title": "Cuntais nua", "notifications.policy.filter_not_followers_hint": "Agus daoine a bhfuil siad ag leanúint ort le níos lú ná {days, plural, one {lae amháin} two {# lá} few {# lá} many {# lá} other {# lá}}", @@ -550,7 +601,7 @@ "notifications.policy.filter_not_following_title": "Daoine nach leanann tú", "notifications.policy.filter_private_mentions_hint": "Scagtha mura bhfuil sé mar fhreagra ar do lua féin nó má leanann tú an seoltóir", "notifications.policy.filter_private_mentions_title": "Tagairtí príobháideacha gan iarraidh", - "notifications.policy.title": "Scag fógraí ó…", + "notifications.policy.title": "Bainistigh fógraí ó…", "notifications_permission_banner.enable": "Ceadaigh fógraí ar an deasc", "notifications_permission_banner.how_to_control": "Chun fógraí a fháil nuair nach bhfuil Mastodon oscailte, cumasaigh fógraí deisce. Is féidir leat a rialú go beacht cé na cineálacha idirghníomhaíochtaí a ghineann fógraí deisce tríd an gcnaipe {icon} thuas nuair a bhíonn siad cumasaithe.", "notifications_permission_banner.title": "Ná caill aon rud go deo", @@ -737,8 +788,6 @@ "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.filter": "Déan scagadh ar an bpostáil seo", - "status.filtered": "Scagtha", - "status.hide": "Cuir postáil i bhfolach", "status.history.created": "Chruthaigh {name} {date}", "status.history.edited": "Curtha in eagar ag {name} in {date}", "status.load_more": "Lódáil a thuilleadh", @@ -766,10 +815,7 @@ "status.report": "Tuairiscigh @{name}", "status.sensitive_warning": "Ábhar íogair", "status.share": "Comhroinn", - "status.show_filter_reason": "Taispeáin ar aon nós", - "status.show_less": "Taispeáin níos lú", "status.show_less_all": "Taispeáin níos lú d'uile", - "status.show_more": "Taispeáin níos mó", "status.show_more_all": "Taispeáin níos mó d'uile", "status.show_original": "Taispeáin bunchóip", "status.title.with_attachments": "{user} a sheol {attachmentCount, plural, one {ceangal} two {{attachmentCount} ceangal} few {{attachmentCount} ceangail} many {{attachmentCount} ceangal} other {{attachmentCount} ceangal}}", @@ -788,10 +834,6 @@ "time_remaining.minutes": "{number, plural, one {# nóiméad} other {# nóiméad}} fágtha", "time_remaining.moments": "Chuimhneacháin fágtha", "time_remaining.seconds": "{number, plural, one {# soicind} other {# soicind}} fágtha", - "timeline_hint.remote_resource_not_displayed": "Níl {resource} ó fhreastalaithe eile ar taispeáint.", - "timeline_hint.resources.followers": "Leantóirí", - "timeline_hint.resources.follows": "Cuntais leanta", - "timeline_hint.resources.statuses": "Postáilí níos sine", "trends.counter_by_accounts": "{count, plural, one {{counter} duine} other {{counter} duine}} le {days, plural, one {lá} other {{days} lá}} anuas", "trends.trending_now": "Ag treochtáil anois", "ui.beforeunload": "Caillfear do dhréacht má fhágann tú Mastodon.", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index 5b5009e853d..aecc26477c7 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -19,7 +19,6 @@ "account.block_domain": "Bac an àrainn {domain}", "account.block_short": "Bac", "account.blocked": "’Ga bhacadh", - "account.browse_more_on_origin_server": "Rùraich barrachd dheth air a’ phròifil thùsail", "account.cancel_follow_request": "Sguir dhen leantainn", "account.copy": "Dèan lethbhreac dhen cheangal dhan phròifil", "account.direct": "Thoir iomradh air @{name} gu prìobhaideach", @@ -193,6 +192,8 @@ "confirmations.unfollow.confirm": "Na lean tuilleadh", "confirmations.unfollow.message": "A bheil thu cinnteach nach eil thu airson {name} a leantainn tuilleadh?", "confirmations.unfollow.title": "A bheil thu airson sgur de leantainn a chleachdaiche?", + "content_warning.hide": "Falaich am post", + "content_warning.show": "Seall e co-dhiù", "conversation.delete": "Sguab às an còmhradh", "conversation.mark_as_read": "Cuir comharra gun deach a leughadh", "conversation.open": "Seall an còmhradh", @@ -300,6 +301,7 @@ "filter_modal.select_filter.subtitle": "Cleachd roinn-seòrsa a tha ann no cruthaich tè ùr", "filter_modal.select_filter.title": "Criathraich am post seo", "filter_modal.title.status": "Criathraich post", + "filter_warning.matches_filter": "A’ maidseadh na criathraige “{title}”", "filtered_notifications_banner.pending_requests": "{count, plural, =0 {Chan eil gin ann} one {O # neach} two {O # neach} few {O # daoine} other {O # duine}} air a bheil thu eòlach ’s dòcha", "filtered_notifications_banner.title": "Brathan criathraichte", "firehose.all": "Na h-uile", @@ -349,6 +351,14 @@ "hashtag.follow": "Lean an taga hais", "hashtag.unfollow": "Na lean an taga hais tuilleadh", "hashtags.and_other": "…agus {count, plural, one {# eile} two {# eile} few {# eile} other {# eile}}", + "hints.profiles.followers_may_be_missing": "Dh’fhaoidte gu bheil cuid dhen luchd-leantainn na pròifil seo a dhìth.", + "hints.profiles.follows_may_be_missing": "Dh’fhaoidte gu bheil cuid a tha a’ phròifil seo a’ leantainn a dhìth.", + "hints.profiles.posts_may_be_missing": "Dh’fhaoide gu bheil cuid dhe na postaichean aig a’ phròifil seo a dhìth.", + "hints.profiles.see_more_followers": "Faic barrachd luchd-leantainn air {domain}", + "hints.profiles.see_more_follows": "Faic barrachd a tha 'gan leantainn air {domain}", + "hints.profiles.see_more_posts": "Faic barrachd phostaichean air {domain}", + "hints.threads.replies_may_be_missing": "Dh’fhaoidte gu bheil freagairtean o fhrithealaichean eile a dhìth.", + "hints.threads.see_more": "Faic barrachd fhreagairtean air {domain}", "home.column_settings.show_reblogs": "Seall na brosnachaidhean", "home.column_settings.show_replies": "Seall na freagairtean", "home.hide_announcements": "Falaich na brathan-fios", @@ -356,6 +366,17 @@ "home.pending_critical_update.link": "Faic na h-ùrachaidhean", "home.pending_critical_update.title": "Tha ùrachadh tèarainteachd èiginneach ri fhaighinn!", "home.show_announcements": "Seall na brathan-fios", + "ignore_notifications_modal.disclaimer": "Chan urrainn do Mhastodon innse do cheachdaichean gun do leig thu seachad na brathan uapa. Cha bhac leigeil seachad nam brathan gun dèid na teachdaireachdan fhèin a chur.", + "ignore_notifications_modal.filter_instead": "Criathraich ’na àite", + "ignore_notifications_modal.filter_to_act_users": "’S urrainn dhut gabhail ri cleachdaichean, an diùltadh no gearan a dhèanamh mun dèidhinn fhathast", + "ignore_notifications_modal.filter_to_avoid_confusion": "Cuidichidh criathradh le rù-rà ma dh’fhaoidte", + "ignore_notifications_modal.filter_to_review_separately": "’S urrainn dhut sùil fa leth a thoirt air na brathran criathraichte", + "ignore_notifications_modal.ignore": "Leig seachad na brathan", + "ignore_notifications_modal.limited_accounts_title": "A bheil thu airson na brathan o chunntasan fo mhaorsainneachd a leigeil seachad?", + "ignore_notifications_modal.new_accounts_title": "A bheil thu airson na brathan o chunntasan ùra a leigeil seachad?", + "ignore_notifications_modal.not_followers_title": "A bheil thu airson na brathan o dhaoine nach eil ’gad leantainn a leigeil seachad?", + "ignore_notifications_modal.not_following_title": "A bheil thu airson na brathan o dhaoine nach eil thu a’ leantainn a leigeil seachad?", + "ignore_notifications_modal.private_mentions_title": "A bheil thu airson na brathan o iomraidhean phrìobhaideach gun iarraidh a leigeil seachad?", "interaction_modal.description.favourite": "Le cunntas air Mastodon, ’s urrainn dhut am post seo a chur ris na h-annsachdan airson innse dhan ùghdar gu bheil e a’ còrdadh dhut ’s a shàbhaladh do uaireigin eile.", "interaction_modal.description.follow": "Le cunntas air Mastodon, ’s urrainn dhut {name} a leantainn ach am faigh thu na postaichean aca nad dhachaigh.", "interaction_modal.description.reblog": "Le cunntas air Mastodon, ’s urrainn dhut am post seo a bhrosnachadh gus a cho-roinneadh leis an luchd-leantainn agad fhèin.", @@ -445,8 +466,6 @@ "mute_modal.title": "A bheil thu airson an cleachdaiche a mhùchadh?", "mute_modal.you_wont_see_mentions": "Chan fhaic thu na postaichean a bheir iomradh orra.", "mute_modal.you_wont_see_posts": "Chì iad na postaichean agad fhathast ach chan fhaic thu na postaichean aca-san.", - "name_and_others": "{name} ’s {count, plural, one {# eile} other {# eile}}", - "name_and_others_with_link": "{name} ’s {count, plural, one {# eile} other {# eile}}", "navigation_bar.about": "Mu dhèidhinn", "navigation_bar.advanced_interface": "Fosgail san eadar-aghaidh-lìn adhartach", "navigation_bar.blocks": "Cleachdaichean bacte", @@ -479,10 +498,18 @@ "notification.admin.report_statuses": "Rinn {name} gearan mu {target} air adhbhar {category}", "notification.admin.report_statuses_other": "Rinn {name} gearan mu {target}", "notification.admin.sign_up": "Chlàraich {name}", + "notification.admin.sign_up.name_and_others": "Chlàraich {name} ’s {count, plural, one {# eile} two {# eile} few {# eile} other {# eile}}", "notification.favourite": "Is annsa le {name} am post agad", + "notification.favourite.name_and_others_with_link": "Is annsa le {name} ’s {count, plural, one {# eile} two {# eile} few {# eile} other {# eile}} am post agad", "notification.follow": "Tha {name} ’gad leantainn a-nis", + "notification.follow.name_and_others": "Lean {name} ’s {count, plural, one {# eile} two {# eile} few {# eile} other {# eile}} thu", "notification.follow_request": "Dh’iarr {name} ’gad leantainn", - "notification.mention": "Thug {name} iomradh ort", + "notification.follow_request.name_and_others": "Dh’iarr {name} ’s {count, plural, one {# eile} two {# eile} few {# eile} other {# eile}} ’gad leantainn", + "notification.label.mention": "Iomradh", + "notification.label.private_mention": "Iomradh prìobhaideach", + "notification.label.private_reply": "Freagairt phrìobhaideach", + "notification.label.reply": "Freagairt", + "notification.mention": "Iomradh", "notification.moderation-warning.learn_more": "Barrachd fiosrachaidh", "notification.moderation_warning": "Fhuair thu rabhadh on mhaorsainneachd", "notification.moderation_warning.action_delete_statuses": "Chaidh cuid dhe na postaichean agad a thoirt air falbh.", @@ -494,8 +521,8 @@ "notification.moderation_warning.action_suspend": "Chaidh an cunntas agad a chur à rèim.", "notification.own_poll": "Thàinig an cunntas-bheachd agad gu crìoch", "notification.poll": "Thàinig cunntas-bheachd sa bhòt thu gu crìoch", - "notification.private_mention": "Thug {name} iomradh ort gu prìobhaideach", "notification.reblog": "Bhrosnaich {name} am post agad", + "notification.reblog.name_and_others_with_link": "Bhrosnaich {name} ’s {count, plural, one {# eile} two {# eile} few {# eile} other {# eile}} am post agad", "notification.relationships_severance_event": "Chaill thu dàimhean le {name}", "notification.relationships_severance_event.account_suspension": "Chuir rianaire aig {from} {target} à rèim agus is ciall dha sin nach fhaigh thu naidheachdan uapa ’s nach urrainn dhut conaltradh leotha.", "notification.relationships_severance_event.domain_block": "Bhac rianaire aig {from} {target}, a’ gabhail a-staigh {followersCount} dhen luchd-leantainn agad agus {followingCount, plural, one {# chunntas} two {# chunntas} few {# cunntasan} other {# cunntas}} a tha thu fhèin a’ leantainn.", @@ -504,11 +531,24 @@ "notification.status": "Phostaich {name} rud", "notification.update": "Dheasaich {name} post", "notification_requests.accept": "Gabh ris", + "notification_requests.accept_multiple": "{count, plural, one {Gabh ri # iarrtas…} two {Gabh ri # iarrtas…} few {Gabh ri # iarrtasan…} other {Gabh ri # iarrtas…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Gabh ris an t-iarrtas} two {Gabh ris na h-iarrtasan} few {Gabh ris na h-iarrtasan} other {Gabh ris na h-iarrtasan}}", + "notification_requests.confirm_accept_multiple.message": "Tha thu gu bhith gabhail ri {count, plural, one {# iarrtas bratha} two {# iarrtas bratha} few {# iarrtasan bratha} other {# iarrtas bratha}} a leigeil seachad. A bheil thu cinnteach gu bheil thu airson leantainn air adhart?", + "notification_requests.confirm_accept_multiple.title": "A bheil thu airson gabhail ri iarrtasan bratha?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Leig seachad an t-iarrtas} two {Leig seachad na h-iarrtasan} few {Leig seachad na h-iarrtasan} other {Leig seachad na h-iarrtasan}}", + "notification_requests.confirm_dismiss_multiple.message": "Tha thu gu bhith {count, plural, one {# iarrtas bratha} two {# iarrtas bratha} few {# iarrtasan bratha} other {# iarrtas bratha}} a leigeil seachad. Chan fhaigh thu grèim {count, plural, one {air} two {orra} few {orra} other {orra}} a-rithist gun duilgheadas. A bheil thu cinnteach gu bheil thu airson leantainn air adhart?", + "notification_requests.confirm_dismiss_multiple.title": "A bheil thu airson iarrtasan bratha a leigeil seachad?", "notification_requests.dismiss": "Leig seachad", + "notification_requests.dismiss_multiple": "{count, plural, one {Leig seachad # iarrtas…} two {Leig seachad # iarrtas…} few {Leig seachad # iarrtasan…} other {Leig seachad # iarrtas…}}", + "notification_requests.edit_selection": "Deasaich", + "notification_requests.exit_selection": "Deiseil", + "notification_requests.explainer_for_limited_account": "Chaidh na brathan on chunntas seo a chriathradh on a chaidh an cunntas a chuingeachadh le maor.", + "notification_requests.explainer_for_limited_remote_account": "Chaidh na brathan on chunntas seo a chriathradh on a chaidh an cunntas no am frithealaiche aige a chuingeachadh le maor.", "notification_requests.maximize": "Làn-mheudaich", "notification_requests.minimize_banner": "Fìor-lùghdaich bratach nam brathan criathraichte", "notification_requests.notifications_from": "Brathan o {name}", "notification_requests.title": "Brathan criathraichte", + "notification_requests.view": "Seall na brathan", "notifications.clear": "Falamhaich na brathan", "notifications.clear_confirmation": "A bheil thu cinnteach gu bheil thu airson na brathan uile agad fhalamhachadh gu buan?", "notifications.clear_title": "A bheil thu airson na brathan fhalamhachadh?", @@ -545,15 +585,23 @@ "notifications.permission_denied": "Chan eil brathan deasga ri fhaighinn on a chaidh iarrtas ceadan a’ bhrabhsair a dhiùltadh cheana", "notifications.permission_denied_alert": "Cha ghabh brathan deasga a chur an comas on a chaidh iarrtas ceadan a’ bhrabhsair a dhiùltadh cheana", "notifications.permission_required": "Chan eil brathan deasga ri fhaighinn on nach deach an cead riatanach a thoirt seachad.", + "notifications.policy.accept": "Gabh ris", + "notifications.policy.accept_hint": "Seall sna brathan", + "notifications.policy.drop": "Leig seachad", + "notifications.policy.drop_hint": "Cuir a-mach à sealladh gu buan", + "notifications.policy.filter": "Criathraich", + "notifications.policy.filter_hint": "Cuir gu bogsa a-steach nam brathan criathraichte", + "notifications.policy.filter_limited_accounts_hint": "Cuingichte le maoir an fhrithealaiche", + "notifications.policy.filter_limited_accounts_title": "Cunntasan fo mhaorsainneachd", "notifications.policy.filter_new_accounts.hint": "A chaidh a chruthachadh o chionn {days, plural, one {# latha} two {# latha} few {# làithean} other {# latha}}", "notifications.policy.filter_new_accounts_title": "Cunntasan ùra", - "notifications.policy.filter_not_followers_hint": "A’ gabhail a-staigh an fheadhainn a lean ort nas lugha na {days, plural, one {# latha} two {# latha} few {# làithean} other {# latha}} seo chaidh", + "notifications.policy.filter_not_followers_hint": "A’ gabhail a-staigh an fheadhainn a lean thu nas lugha na {days, plural, one {# latha} two {# latha} few {# làithean} other {# latha}} seo chaidh", "notifications.policy.filter_not_followers_title": "Daoine nach eil gad leantainn", "notifications.policy.filter_not_following_hint": "Gus an aontaich thu riutha a làimh", "notifications.policy.filter_not_following_title": "Daoine nach eil thu a’ leantainn", "notifications.policy.filter_private_mentions_hint": "Criathraichte ach ma tha e a’ freagairt do dh’iomradh agad fhèin no ma tha thu a’ leantainn an t-seòladair", "notifications.policy.filter_private_mentions_title": "Iomraidhean prìobhaideach o choigrich", - "notifications.policy.title": "Falaich na brathan o…", + "notifications.policy.title": "Stiùirich na brathan o…", "notifications_permission_banner.enable": "Cuir brathan deasga an comas", "notifications_permission_banner.how_to_control": "Airson brathan fhaighinn nuair nach eil Mastodon fosgailte, cuir na brathan deasga an comas. Tha an smachd agad fhèin air dè na seòrsaichean de chonaltradh a ghineas brathan deasga leis a’ phutan {icon} gu h-àrd nuair a bhios iad air an cur an comas.", "notifications_permission_banner.title": "Na caill dad gu bràth tuilleadh", @@ -740,8 +788,6 @@ "status.favourite": "Cuir ris na h-annsachdan", "status.favourites": "{count, plural, one {annsachd} two {annsachd} few {annsachdan} other {annsachd}}", "status.filter": "Criathraich am post seo", - "status.filtered": "Criathraichte", - "status.hide": "Falaich am post", "status.history.created": "Chruthaich {name} {date} e", "status.history.edited": "Dheasaich {name} {date} e", "status.load_more": "Luchdaich barrachd dheth", @@ -769,10 +815,7 @@ "status.report": "Dèan gearan mu @{name}", "status.sensitive_warning": "Susbaint fhrionasach", "status.share": "Co-roinn", - "status.show_filter_reason": "Seall e co-dhiù", - "status.show_less": "Seall nas lugha dheth", "status.show_less_all": "Seall nas lugha dhen a h-uile", - "status.show_more": "Seall barrachd dheth", "status.show_more_all": "Seall barrachd dhen a h-uile", "status.show_original": "Seall an tionndadh tùsail", "status.title.with_attachments": "Phostaich {user} {attachmentCount, plural, one {{attachmentCount} cheanglachan} two {{attachmentCount} cheanglachan} few {{attachmentCount} ceanglachain} other {{attachmentCount} ceanglachan}}", @@ -791,10 +834,6 @@ "time_remaining.minutes": "{number, plural, one {# mhionaid} two {# mhionaid} few {# mionaidean} other {# mionaid}} air fhàgail", "time_remaining.moments": "Cha doir e ach greiseag", "time_remaining.seconds": "{number, plural, one {# diog} two {# dhiog} few {# diogan} other {# diog}} air fhàgail", - "timeline_hint.remote_resource_not_displayed": "Cha dèid {resource} o fhrithealaichean eile a shealltainn.", - "timeline_hint.resources.followers": "luchd-leantainn", - "timeline_hint.resources.follows": "an fheadhainn gan leantainn", - "timeline_hint.resources.statuses": "postaichean nas sine", "trends.counter_by_accounts": "{count, plural, one {{counter} neach} two {{counter} neach} few {{counter} daoine} other {{counter} duine}} {days, plural, one {san {days} latha} two {san {days} latha} few {sna {days} làithean} other {sna {days} latha}} seo chaidh", "trends.trending_now": "A’ treandadh an-dràsta", "ui.beforeunload": "Caillidh tu an dreachd agad ma dh’fhàgas tu Mastodon an-dràsta.", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 493b2fcb175..5a5ac1dd382 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -19,7 +19,6 @@ "account.block_domain": "Agochar todo de {domain}", "account.block_short": "Bloquear", "account.blocked": "Bloqueada", - "account.browse_more_on_origin_server": "Busca máis no perfil orixinal", "account.cancel_follow_request": "Desbotar a solicitude de seguimento", "account.copy": "Copiar ligazón ao perfil", "account.direct": "Mencionar de xeito privado a @{name}", @@ -98,6 +97,8 @@ "block_modal.title": "Bloquear usuaria?", "block_modal.you_wont_see_mentions": "Non verás publicacións que a mencionen.", "boost_modal.combo": "Preme {combo} para ignorar isto na seguinte vez", + "boost_modal.reblog": "Promover publicación?", + "boost_modal.undo_reblog": "Retirar promoción?", "bundle_column_error.copy_stacktrace": "Copiar informe do erro", "bundle_column_error.error.body": "Non se puido mostrar a páxina solicitada. Podería deberse a un problema no código, ou incompatiblidade co navegador.", "bundle_column_error.error.title": "Vaites!", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "Deixar de seguir", "confirmations.unfollow.message": "Desexas deixar de seguir a {name}?", "confirmations.unfollow.title": "Deixar de seguir á usuaria?", + "content_warning.hide": "Agochar publicación", + "content_warning.show": "Mostrar igualmente", "conversation.delete": "Eliminar conversa", "conversation.mark_as_read": "Marcar como lido", "conversation.open": "Ver conversa", @@ -300,6 +303,7 @@ "filter_modal.select_filter.subtitle": "Usar unha categoría existente ou crear unha nova", "filter_modal.select_filter.title": "Filtrar esta publicación", "filter_modal.title.status": "Filtrar unha publicación", + "filter_warning.matches_filter": "Debido ao filtro “{title}”", "filtered_notifications_banner.pending_requests": "De {count, plural, =0 {ninguén} one {unha persoa} other {# persoas}} que igual coñeces", "filtered_notifications_banner.title": "Notificacións filtradas", "firehose.all": "Todo", @@ -349,6 +353,14 @@ "hashtag.follow": "Seguir cancelo", "hashtag.unfollow": "Deixar de seguir cancelo", "hashtags.and_other": "…e {count, plural, one {}other {# máis}}", + "hints.profiles.followers_may_be_missing": "Poderían faltar seguidoras deste perfil.", + "hints.profiles.follows_may_be_missing": "Poderían faltar seguimentos deste perfil.", + "hints.profiles.posts_may_be_missing": "Poderían faltar algunhas publicacións deste perfil.", + "hints.profiles.see_more_followers": "Mira máis seguidoras en {domain}", + "hints.profiles.see_more_follows": "Mira máis seguimentos en {domain}", + "hints.profiles.see_more_posts": "Mira máis publicacións en {domain}", + "hints.threads.replies_may_be_missing": "Poderían faltar respostas desde outros servidores.", + "hints.threads.see_more": "Mira máis respostas en {domain}", "home.column_settings.show_reblogs": "Amosar compartidos", "home.column_settings.show_replies": "Amosar respostas", "home.hide_announcements": "Agochar anuncios", @@ -356,6 +368,17 @@ "home.pending_critical_update.link": "Mira as actualizacións", "home.pending_critical_update.title": "Hai una actualización crítica de seguridade!", "home.show_announcements": "Amosar anuncios", + "ignore_notifications_modal.disclaimer": "Mastodon non pode informar ás usuarias se ignoraches as súas notificacións. Ao ignorar as notificacións non evitarás que as mensaxes sexan enviadas igualmente.", + "ignore_notifications_modal.filter_instead": "Filtrar igualmente", + "ignore_notifications_modal.filter_to_act_users": "Poderás seguir aceptando, rexeitando e denunciando usuarias", + "ignore_notifications_modal.filter_to_avoid_confusion": "Ao filtrar axudas a evitar posibles confusións", + "ignore_notifications_modal.filter_to_review_separately": "Podes revisar as notificacións filtradas por separado", + "ignore_notifications_modal.ignore": "Ignorar notificacións", + "ignore_notifications_modal.limited_accounts_title": "Ignorar notificacións desde contas moderadas?", + "ignore_notifications_modal.new_accounts_title": "Ignorar notificacións desde novas contas?", + "ignore_notifications_modal.not_followers_title": "Ignorar notificacións de persoas que non te seguen?", + "ignore_notifications_modal.not_following_title": "Ignorar notificacións de persoas que non segues?", + "ignore_notifications_modal.private_mentions_title": "Ignorar notificacións de Mencións Privadas non solicitadas?", "interaction_modal.description.favourite": "Cunha conta Mastodon podes favorecer esta publicación e facerlle saber á autora que che gustou e que a gardas para máis tarde.", "interaction_modal.description.follow": "Cunha conta en Mastodon, poderás seguir a {name} e recibir as súas publicacións na túa cronoloxía de inicio.", "interaction_modal.description.reblog": "Cunha conta en Mastodon, poderás promover esta publicación para compartila con quen te siga.", @@ -445,9 +468,8 @@ "mute_modal.title": "Acalar usuaria?", "mute_modal.you_wont_see_mentions": "Non verás as publicacións que a mencionen.", "mute_modal.you_wont_see_posts": "Seguirá podendo ler as túas publicacións, pero non verás as súas.", - "name_and_others": "{name} e {count, plural, one {outra máis} other {# máis}}", - "name_and_others_with_link": "{name} e {count, plural, one {outra máis} other {# máis}}", "navigation_bar.about": "Sobre", + "navigation_bar.administration": "Administración", "navigation_bar.advanced_interface": "Abrir coa interface web avanzada", "navigation_bar.blocks": "Usuarias bloqueadas", "navigation_bar.bookmarks": "Marcadores", @@ -464,6 +486,7 @@ "navigation_bar.follows_and_followers": "Seguindo e seguidoras", "navigation_bar.lists": "Listaxes", "navigation_bar.logout": "Pechar sesión", + "navigation_bar.moderation": "Moderación", "navigation_bar.mutes": "Usuarias silenciadas", "navigation_bar.opened_in_classic_interface": "Publicacións, contas e outras páxinas dedicadas ábrense por defecto na interface web clásica.", "navigation_bar.personal": "Persoal", @@ -479,10 +502,18 @@ "notification.admin.report_statuses": "{name} deununciou a {target} por {category}", "notification.admin.report_statuses_other": "{name} denunciou a {target}", "notification.admin.sign_up": "{name} rexistrouse", + "notification.admin.sign_up.name_and_others": "{name} e {count, plural, one {# máis} other {# máis}} crearon unha conta", "notification.favourite": "{name} marcou como favorita a túa publicación", + "notification.favourite.name_and_others_with_link": "{name} e {count, plural, one {# máis} other {# máis}} favoreceron a túa publicación", "notification.follow": "{name} comezou a seguirte", + "notification.follow.name_and_others": "{name} e {count, plural, one {# máis} other {# máis}} seguíronte", "notification.follow_request": "{name} solicitou seguirte", - "notification.mention": "{name} mencionoute", + "notification.follow_request.name_and_others": "{name} e {count, plural, one {# máis} other {# máis}} solicitaron seguirte", + "notification.label.mention": "Mención", + "notification.label.private_mention": "Mención privada", + "notification.label.private_reply": "Resposta privada", + "notification.label.reply": "Resposta", + "notification.mention": "Mención", "notification.moderation-warning.learn_more": "Saber máis", "notification.moderation_warning": "Recibiches unha advertencia da moderación", "notification.moderation_warning.action_delete_statuses": "Algunha das túas publicacións foron eliminadas.", @@ -494,8 +525,8 @@ "notification.moderation_warning.action_suspend": "A túa conta foi suspendida.", "notification.own_poll": "A túa enquisa rematou", "notification.poll": "Rematou a enquisa na que votaches", - "notification.private_mention": "{name} mencionoute de xeito privado", "notification.reblog": "{name} compartiu a túa publicación", + "notification.reblog.name_and_others_with_link": "{name} e {count, plural, one {# máis} other {# máis}} promoveron a túa publicación", "notification.relationships_severance_event": "Perdeuse a conexión con {name}", "notification.relationships_severance_event.account_suspension": "A administración de {from} suspendeu a {target}, o que significa que xa non vas recibir actualizacións de esa conta ou interactuar con ela.", "notification.relationships_severance_event.domain_block": "A administración de {from} bloqueou a {target}, que inclúe a {followersCount} das túas seguidoras e a {followingCount, plural, one {# conta} other {# contas}} que sigues.", @@ -504,11 +535,24 @@ "notification.status": "{name} publicou", "notification.update": "{name} editou unha publicación", "notification_requests.accept": "Aceptar", + "notification_requests.accept_multiple": "{count, plural, one {Aceptar # solicitude…} other {Aceptar # solicitudes…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Aceptar solicitude} other {Aceptar solicitudes}}", + "notification_requests.confirm_accept_multiple.message": "Vas aceptar {count, plural, one {unha solicitude de notificación} other {# solicitudes de notificación}}. Tes certeza de querer aceptar?", + "notification_requests.confirm_accept_multiple.title": "Aceptar solicitudes de notificación?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Rexeitar solicitude} other {Rexeitar solicitudes}}", + "notification_requests.confirm_dismiss_multiple.message": "Vas rexeitar {count, plural, one {unha solicitude de notificación} other {# solicitudes de notificación}}. Non poderás volver acceder fácilmente a {count, plural, one {ela} other {elas}}. Tes certeza de querer rexeitar?", + "notification_requests.confirm_dismiss_multiple.title": "Rexeitar solicitudes de notificación?", "notification_requests.dismiss": "Desbotar", + "notification_requests.dismiss_multiple": "{count, plural, one {Rexeitar # solicitude…} other {Rexeitar # solicitudes…}}", + "notification_requests.edit_selection": "Editar", + "notification_requests.exit_selection": "Feito", + "notification_requests.explainer_for_limited_account": "Filtráronse as notificacións desta conta porque a conta ten limitacións impostas pola moderación.", + "notification_requests.explainer_for_limited_remote_account": "Filtráronse as notificacións desta conta porque a conta ou o seu servidor teñen limitacións impostas pola moderación.", "notification_requests.maximize": "Maximizar", "notification_requests.minimize_banner": "Minimizar o anuncio de notificacións filtradas", "notification_requests.notifications_from": "Notificacións de {name}", "notification_requests.title": "Notificacións filtradas", + "notification_requests.view": "Ver notificacións", "notifications.clear": "Limpar notificacións", "notifications.clear_confirmation": "Tes a certeza de querer limpar de xeito permanente todas as túas notificacións?", "notifications.clear_title": "Limpar as notificacións?", @@ -545,6 +589,14 @@ "notifications.permission_denied": "Non se activaron as notificacións de escritorio porque se denegou o permiso", "notifications.permission_denied_alert": "Non se poden activar as notificacións de escritorio, xa que o permiso para o navegador foi denegado previamente", "notifications.permission_required": "As notificacións de escritorio non están dispoñibles porque non se concedeu o permiso necesario.", + "notifications.policy.accept": "Aceptar", + "notifications.policy.accept_hint": "Ver nas notificacións", + "notifications.policy.drop": "Ignorar", + "notifications.policy.drop_hint": "Esquecer isto, non volver a velo", + "notifications.policy.filter": "Filtrar", + "notifications.policy.filter_hint": "Enviar á caixa de notificacións filtradas", + "notifications.policy.filter_limited_accounts_hint": "Limitada pola moderación do servidor", + "notifications.policy.filter_limited_accounts_title": "Contas moderadas", "notifications.policy.filter_new_accounts.hint": "Creadas desde {days, plural, one {onte} other {fai # días}}", "notifications.policy.filter_new_accounts_title": "Novas contas", "notifications.policy.filter_not_followers_hint": "Inclúe a persoas que te seguen desde fai menos de {days, plural, one {1 día} other {# días}}", @@ -553,7 +605,7 @@ "notifications.policy.filter_not_following_title": "Persoas que ti non segues", "notifications.policy.filter_private_mentions_hint": "Filtradas a non ser que sexa unha resposta á túa propia mención ou se ti segues á remitente", "notifications.policy.filter_private_mentions_title": "Mencións privadas non solicitadas", - "notifications.policy.title": "Desbotar notificacións de…", + "notifications.policy.title": "Xestionar as notificacións de…", "notifications_permission_banner.enable": "Activar notificacións de escritorio", "notifications_permission_banner.how_to_control": "Activa as notificacións de escritorio para recibir notificacións mentras Mastodon non está aberto. Podes controlar de xeito preciso o tipo de interaccións que crean as notificacións de escritorio a través da {icon} superior unha vez están activadas.", "notifications_permission_banner.title": "Non perder nada", @@ -740,8 +792,6 @@ "status.favourite": "Favorecer", "status.favourites": "{count, plural, one {favorecemento} other {favorecementos}}", "status.filter": "Filtrar esta publicación", - "status.filtered": "Filtrado", - "status.hide": "Agochar publicación", "status.history.created": "{name} creouno o {date}", "status.history.edited": "{name} editouno o {date}", "status.load_more": "Cargar máis", @@ -769,10 +819,7 @@ "status.report": "Denunciar @{name}", "status.sensitive_warning": "Contido sensíbel", "status.share": "Compartir", - "status.show_filter_reason": "Mostrar igualmente", - "status.show_less": "Amosar menos", "status.show_less_all": "Amosar menos para todos", - "status.show_more": "Amosar máis", "status.show_more_all": "Amosar máis para todos", "status.show_original": "Mostrar o orixinal", "status.title.with_attachments": "{user} publicou {attachmentCount, plural, one {un anexo} other {{attachmentCount} anexos}}", @@ -791,12 +838,8 @@ "time_remaining.minutes": "Remata en {number, plural, one {# minuto} other {# minutos}}", "time_remaining.moments": "A piques de rematar", "time_remaining.seconds": "Remata en {number, plural, one {# segundo} other {# segundos}}", - "timeline_hint.remote_resource_not_displayed": "Non se mostran {resource} desde outros servidores.", - "timeline_hint.resources.followers": "Seguidoras", - "timeline_hint.resources.follows": "Seguindo", - "timeline_hint.resources.statuses": "Publicacións antigas", "trends.counter_by_accounts": "{count, plural, one {{counter} persoa} other {{counter} persoas}} {days, plural, one {no último día} other {nos {days} últimos días}}", - "trends.trending_now": "Tendencias actuais", + "trends.trending_now": "Temas populares", "ui.beforeunload": "O borrador perderase se saes de Mastodon.", "units.short.billion": "{count}B", "units.short.million": "{count}M", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index 3505e14768c..44c95d64c6f 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -19,7 +19,6 @@ "account.block_domain": "חסמו את קהילת {domain}", "account.block_short": "לחסום", "account.blocked": "לחסום", - "account.browse_more_on_origin_server": "ראה יותר בפרופיל המקורי", "account.cancel_follow_request": "משיכת בקשת מעקב", "account.copy": "להעתיק קישור לפרופיל", "account.direct": "הודעה פרטית אל @{name}", @@ -98,6 +97,8 @@ "block_modal.title": "לחסום משתמש?", "block_modal.you_wont_see_mentions": "לא תראה הודעות שמאזכרות אותם.", "boost_modal.combo": "ניתן להקיש {combo} כדי לדלג בפעם הבאה", + "boost_modal.reblog": "להדהד הודעה?", + "boost_modal.undo_reblog": "להסיר הדהוד?", "bundle_column_error.copy_stacktrace": "העתקת הודעת שגיאה", "bundle_column_error.error.body": "הדף המבוקש אינו זמין. זה עשוי להיות באג בקוד או בעייה בתאימות הדפדפן.", "bundle_column_error.error.title": "הו, לא!", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "הפסקת מעקב", "confirmations.unfollow.message": "להפסיק מעקב אחרי {name}?", "confirmations.unfollow.title": "לבטל מעקב אחר המשתמש.ת?", + "content_warning.hide": "הסתרת חיצרוץ", + "content_warning.show": "להציג בכל זאת", "conversation.delete": "מחיקת שיחה", "conversation.mark_as_read": "סמן כנקרא", "conversation.open": "צפו בשיחה", @@ -284,15 +287,15 @@ "explore.trending_links": "חדשות", "explore.trending_statuses": "הודעות", "explore.trending_tags": "תגיות", - "filter_modal.added.context_mismatch_explanation": "קטגוריית הסנן הזאת לא חלה על ההקשר שממנו הגעת אל ההודעה הזו. אם תרצה/י שההודעה תסונן גם בהקשר זה, תצטרך/י לערוך את הסנן.", + "filter_modal.added.context_mismatch_explanation": "קטגוריית המסנן הזאת לא חלה על ההקשר שממנו הגעת אל ההודעה הזו. אם תרצה/י שההודעה תסונן גם בהקשר זה, תצטרך/י לערוך את הסנן.", "filter_modal.added.context_mismatch_title": "אין התאמה להקשר!", "filter_modal.added.expired_explanation": "פג תוקפה של קטגוריית הסינון הזו, יש צורך לשנות את תאריך התפוגה כדי שהסינון יוחל.", - "filter_modal.added.expired_title": "פג תוקף הפילטר!", + "filter_modal.added.expired_title": "פג תוקף המסנן!", "filter_modal.added.review_and_configure": "לסקירה והתאמה מתקדמת של קטגוריית הסינון הזו, לכו ל{settings_link}.", "filter_modal.added.review_and_configure_title": "אפשרויות סינון", "filter_modal.added.settings_link": "דף הגדרות", "filter_modal.added.short_explanation": "ההודעה הזו הוספה לקטגוריית הסינון הזו: {title}.", - "filter_modal.added.title": "הפילטר הוסף!", + "filter_modal.added.title": "המסנן הוסף!", "filter_modal.select_filter.context_mismatch": "לא חל בהקשר זה", "filter_modal.select_filter.expired": "פג התוקף", "filter_modal.select_filter.prompt_new": "קטגוריה חדשה {name}", @@ -300,6 +303,7 @@ "filter_modal.select_filter.subtitle": "שימוש בקטגורייה קיימת או יצירת אחת חדשה", "filter_modal.select_filter.title": "סינון ההודעה הזו", "filter_modal.title.status": "סנן הודעה", + "filter_warning.matches_filter": "תואם לסנן “{title}”", "filtered_notifications_banner.pending_requests": "{count, plural,=0 {אין בקשות ממשתמשים }one {בקשה אחת ממישהו/מישהי }two {יש בקשותיים ממשתמשים }other {יש # בקשות ממשתמשים }}שאולי מוכרים לך", "filtered_notifications_banner.title": "התראות מסוננות", "firehose.all": "הכל", @@ -349,6 +353,14 @@ "hashtag.follow": "לעקוב אחרי תגית", "hashtag.unfollow": "להפסיק לעקוב אחרי תגית", "hashtags.and_other": "…{count, plural,other {ועוד #}}", + "hints.profiles.followers_may_be_missing": "יתכן כי עוקבים של פרופיל זה חסרים.", + "hints.profiles.follows_may_be_missing": "יתכן כי נעקבים של פרופיל זה חסרים.", + "hints.profiles.posts_may_be_missing": "יתכן כי פרסומים של פרופיל זה חסרים.", + "hints.profiles.see_more_followers": "צפיה בעוד עוקבים משרת {domain}", + "hints.profiles.see_more_follows": "צפיה בעוד נעקבים בשרת {domain}", + "hints.profiles.see_more_posts": "צפיה בעוד פרסומים בשרת {domain}", + "hints.threads.replies_may_be_missing": "תגובות משרתים אחרים עלולות להיות חסרות.", + "hints.threads.see_more": "צפיה בעוד תגובות משרת {domain}", "home.column_settings.show_reblogs": "הצגת הדהודים", "home.column_settings.show_replies": "הצגת תגובות", "home.hide_announcements": "הסתר הכרזות", @@ -356,6 +368,17 @@ "home.pending_critical_update.link": "צפיה בעדכונים", "home.pending_critical_update.title": "יצא עדכון אבטחה חשוב!", "home.show_announcements": "הצג הכרזות", + "ignore_notifications_modal.disclaimer": "מסטודון אינו יכול ליידע משתמשים שהתעלמתם מהתראותיהם. התעלמות מהתראות לא תחסום את ההודעות עצמן מלהשלח.", + "ignore_notifications_modal.filter_instead": "לסנן במקום", + "ignore_notifications_modal.filter_to_act_users": "עדיין ביכולתך לקבל, לדחות ולדווח על משתמשים אחרים", + "ignore_notifications_modal.filter_to_avoid_confusion": "סינון מסייע למניעת בלבולים אפשריים", + "ignore_notifications_modal.filter_to_review_separately": "ניתן לסקור התראות מפולטרות בנפרד", + "ignore_notifications_modal.ignore": "להתעלם מהתראות", + "ignore_notifications_modal.limited_accounts_title": "להתעלם מהתראות מחשבונות תחת פיקוח?", + "ignore_notifications_modal.new_accounts_title": "להתעלם מהתראות מחשבונות חדשים?", + "ignore_notifications_modal.not_followers_title": "להתעלם מהתראות מא.נשים שאינם עוקביך?", + "ignore_notifications_modal.not_following_title": "להתעלם מהתראות מא.נשים שאינם נעקביך?", + "ignore_notifications_modal.private_mentions_title": "להתעלם מהתראות מאיזכורים פרטיים?", "interaction_modal.description.favourite": "עם חשבון מסטודון, ניתן לחבב את ההודעה כדי לומר למחבר/ת שהערכת את תוכנו או כדי לשמור אותו לקריאה בעתיד.", "interaction_modal.description.follow": "עם חשבון מסטודון, ניתן לעקוב אחרי {name} כדי לקבל את הפוסטים שלו/ה בפיד הבית.", "interaction_modal.description.reblog": "עם חשבון מסטודון, ניתן להדהד את החצרוץ ולשתף עם עוקבים.", @@ -445,9 +468,8 @@ "mute_modal.title": "להשתיק משתמש?", "mute_modal.you_wont_see_mentions": "לא תראה הודעות שמאזכרות אותם.", "mute_modal.you_wont_see_posts": "הם יכולים לראות את הודעותכם, אבל אתם לא תוכלו לראות את שלהם.", - "name_and_others": "{name} ועוד {count, plural,one {אחד נוסף}other {# נוספים}}", - "name_and_others_with_link": "{name} ועוד {count, plural,one {אחד נוסף}other {# נוספים}}", "navigation_bar.about": "אודות", + "navigation_bar.administration": "ניהול", "navigation_bar.advanced_interface": "פתח במנשק ווב מתקדם", "navigation_bar.blocks": "משתמשים חסומים", "navigation_bar.bookmarks": "סימניות", @@ -464,6 +486,7 @@ "navigation_bar.follows_and_followers": "נעקבים ועוקבים", "navigation_bar.lists": "רשימות", "navigation_bar.logout": "התנתקות", + "navigation_bar.moderation": "פיקוח", "navigation_bar.mutes": "משתמשים בהשתקה", "navigation_bar.opened_in_classic_interface": "הודעות, חשבונות ושאר עמודי רשת יפתחו כברירת מחדל בדפדפן רשת קלאסי.", "navigation_bar.personal": "אישי", @@ -479,10 +502,18 @@ "notification.admin.report_statuses": "{name} דווחו על {target} בגין {category}", "notification.admin.report_statuses_other": "{name} דיווח.ה על {target}", "notification.admin.sign_up": "{name} נרשמו", + "notification.admin.sign_up.name_and_others": "{name} ועוד {count, plural,one {אחד אחר}other {# אחרים}} נרשמו", "notification.favourite": "הודעתך חובבה על ידי {name}", + "notification.favourite.name_and_others_with_link": "{name} ועוד {count, plural,one {אחד נוסף}other {# נוספים}} חיבבו את הודעתך", "notification.follow": "{name} במעקב אחרייך", + "notification.follow.name_and_others": "{name} ועוד {count, plural,one {אחד אחר}other {# אחרים}} עקבו אחריך", "notification.follow_request": "{name} ביקשו לעקוב אחריך", - "notification.mention": "אוזכרת על ידי {name}", + "notification.follow_request.name_and_others": "{name} ועוד {count, plural,one {אחד אחר}other {# אחרים}} ביקשו לעקוב אחריך", + "notification.label.mention": "אזכור", + "notification.label.private_mention": "אזכור פרטי", + "notification.label.private_reply": "תשובה בפרטי", + "notification.label.reply": "תשובה", + "notification.mention": "אזכור", "notification.moderation-warning.learn_more": "למידע נוסף", "notification.moderation_warning": "קיבלת אזהרה מצוות ניהול התוכן", "notification.moderation_warning.action_delete_statuses": "חלק מהודעותיך הוסרו.", @@ -494,8 +525,8 @@ "notification.moderation_warning.action_suspend": "חשבונך הושעה.", "notification.own_poll": "הסקר שלך הסתיים", "notification.poll": "סקר שהצבעת בו הסתיים", - "notification.private_mention": "{name} פנה/פנתה אליך בפרטיות", "notification.reblog": "הודעתך הודהדה על ידי {name}", + "notification.reblog.name_and_others_with_link": "{name} ועוד {count, plural,one {אחד נוסף}other {# נוספים}} הדהדו את הודעתך", "notification.relationships_severance_event": "אבד הקשר עם {name}", "notification.relationships_severance_event.account_suspension": "מנהל.ת משרת {from} השע(ת)ה את {target}, ולפיכך לא תעודכנו יותר על ידם ולא תוכלו להיות איתם בקשר.", "notification.relationships_severance_event.domain_block": "מנהל.ת מאתר {from} חסמו את {target} ובכלל זה {followersCount} מעוקביך וגם {followingCount, plural, one {חשבון אחד} two {שני חשבונות} many {# חשבונות} other {# חשבונות}} מבין נעקביך.", @@ -504,11 +535,24 @@ "notification.status": "{name} הרגע פרסמו", "notification.update": "{name} ערכו הודעה", "notification_requests.accept": "לקבל", + "notification_requests.accept_multiple": "{count, plural,one {לאשר קבלת בקשה…}other {לאשר קבלת # בקשות…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural,one {לאשר קבלת בקשה}other {לאשר קבלת בקשות}}", + "notification_requests.confirm_accept_multiple.message": "אתם עומדים לאשר {count, plural,one {בקשת התראה אחת} other {# בקשות התראה}}. להמשיך?", + "notification_requests.confirm_accept_multiple.title": "לקבל בקשות התראה?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural,one {לדחות בקשה}other {לדחות בקשות}} לקבלת התראה", + "notification_requests.confirm_dismiss_multiple.message": "אתם עומדים לדחות {count, plural,one {בקשת התראה}other {# בקשות התראה}}. לא תוכלו למצוא {count, plural,one {אותה}other {אותן}} בקלות אחר כך. להמשיך?", + "notification_requests.confirm_dismiss_multiple.title": "לדחות בקשות התראה?", "notification_requests.dismiss": "לבטל", + "notification_requests.dismiss_multiple": "{count, plural,one {לדחות בקשה…}other {לדחות # בקשות…}}", + "notification_requests.edit_selection": "עריכה", + "notification_requests.exit_selection": "בוצע", + "notification_requests.explainer_for_limited_account": "התראות על פעולות חשבון זה סוננו כי חשבון זה הוגבל על ידי מנהלי הדיונים.", + "notification_requests.explainer_for_limited_remote_account": "התראות על פעולות חשבון זה סוננו כי חשבון זה או השרת שלו הוגבלו על ידי מנהלי הדיונים.", "notification_requests.maximize": "הגדלה למקסימום", - "notification_requests.minimize_banner": "להקטין את כותרת ההודעות המפולטרות", + "notification_requests.minimize_banner": "להקטין את כותרת ההודעות המסוננות", "notification_requests.notifications_from": "התראות מ־ {name}", "notification_requests.title": "התראות מסוננות", + "notification_requests.view": "הצגת ההתראות", "notifications.clear": "הסרת התראות", "notifications.clear_confirmation": "להסיר את כל ההתראות לצמיתות ? ", "notifications.clear_title": "לנקות התראות?", @@ -545,6 +589,14 @@ "notifications.permission_denied": "לא ניתן להציג התראות מסך כיוון כיוון שהרשאות דפדפן נשללו בעבר", "notifications.permission_denied_alert": "לא ניתן לאפשר נוטיפיקציות מסך שכן הדפדפן סורב הרשאה בעבר", "notifications.permission_required": "לא ניתן לאפשר נוטיפיקציות מסך כיוון שהרשאה דרושה לא ניתנה.", + "notifications.policy.accept": "אישור", + "notifications.policy.accept_hint": "הצגה בהתראות", + "notifications.policy.drop": "להתעלם", + "notifications.policy.drop_hint": "שליחה אל מצולות הנשיה, ולא יוודעו אודותיה לעולם", + "notifications.policy.filter": "מסנן", + "notifications.policy.filter_hint": "שליחה לתיבה נכנסת מסוננת", + "notifications.policy.filter_limited_accounts_hint": "הוגבל על ידי מנהלי הדיונים", + "notifications.policy.filter_limited_accounts_title": "חשבון מוגבל", "notifications.policy.filter_new_accounts.hint": "נוצר {days, plural,one {ביום האחרון} two {ביומיים האחרונים} other {ב־# הימים האחרונים}}", "notifications.policy.filter_new_accounts_title": "חשבונות חדשים", "notifications.policy.filter_not_followers_hint": "כולל משתמשים שעקבו אחריך פחות מ{days, plural,one {יום} two {יומיים} other {־# ימים}}", @@ -553,7 +605,7 @@ "notifications.policy.filter_not_following_title": "משתמשים שאינך עוקב(ת) אחריהםן", "notifications.policy.filter_private_mentions_hint": "מסונן אלא אם זו תשובה למינשון שלך או אם אתם עוקבים אחרי העונה", "notifications.policy.filter_private_mentions_title": "מינשונים בפרטי שלא הוזמנו", - "notifications.policy.title": "להסתיר התראות מ…", + "notifications.policy.title": "ניהול התראות מ…", "notifications_permission_banner.enable": "לאפשר נוטיפיקציות מסך", "notifications_permission_banner.how_to_control": "כדי לקבל התראות גם כאשר מסטודון סגור יש לאפשר התראות מסך. ניתן לשלוט בדיוק איזה סוג של אינטראקציות יביא להתראות מסך דרך כפתור ה- {icon} מרגע שהן מאופשרות.", "notifications_permission_banner.title": "לעולם אל תחמיץ דבר", @@ -740,8 +792,6 @@ "status.favourite": "חיבוב", "status.favourites": "{count, plural, one {חיבוב אחד} two {זוג חיבובים} other {# חיבובים}}", "status.filter": "סנן הודעה זו", - "status.filtered": "סונן", - "status.hide": "הסתרת חיצרוץ", "status.history.created": "{name} יצר/ה {date}", "status.history.edited": "{name} ערך/ה {date}", "status.load_more": "עוד", @@ -769,10 +819,7 @@ "status.report": "דיווח על @{name}", "status.sensitive_warning": "תוכן רגיש", "status.share": "שיתוף", - "status.show_filter_reason": "הראה בכל זאת", - "status.show_less": "הראה פחות", "status.show_less_all": "להציג פחות מהכל", - "status.show_more": "הראה יותר", "status.show_more_all": "להציג יותר מהכל", "status.show_original": "הצגת מקור", "status.title.with_attachments": "{user} פרסם.ה {attachmentCount, plural, one {צרופה} other {{attachmentCount} צרופות}}", @@ -791,10 +838,6 @@ "time_remaining.minutes": "נותרו {number, plural, one {# דקה} other {# דקות}}", "time_remaining.moments": "רגעים נותרו", "time_remaining.seconds": "נותרו {number, plural, one {# שניה} other {# שניות}}", - "timeline_hint.remote_resource_not_displayed": "{resource} משרתים אחרים לא מוצגים.", - "timeline_hint.resources.followers": "עוקבים", - "timeline_hint.resources.follows": "נעקבים", - "timeline_hint.resources.statuses": "הודעות ישנות יותר", "trends.counter_by_accounts": "{count, plural, one {אדם אחד} other {{count} א.נשים}} {days, plural, one {מאז אתמול} two {ביומיים האחרונים} other {במשך {days} הימים האחרונים}}", "trends.trending_now": "נושאים חמים", "ui.beforeunload": "הטיוטא תאבד אם תעזבו את מסטודון.", diff --git a/app/javascript/mastodon/locales/hi.json b/app/javascript/mastodon/locales/hi.json index 0d2a9065692..0b402517300 100644 --- a/app/javascript/mastodon/locales/hi.json +++ b/app/javascript/mastodon/locales/hi.json @@ -18,7 +18,6 @@ "account.block_domain": "{domain} के सारी चीज़े छुपाएं", "account.block_short": "ब्लॉक किया गया", "account.blocked": "ब्लॉक", - "account.browse_more_on_origin_server": "मूल प्रोफ़ाइल पर अधिक ब्राउज़ करें", "account.cancel_follow_request": "फॉलो रिक्वेस्ट वापस लें", "account.copy": "प्रोफाइल पर लिंक कॉपी करें", "account.direct": "निजि तरीके से उल्लेख करे @{name}", @@ -518,13 +517,10 @@ "status.reply": "जवाब", "status.sensitive_warning": "संवेदनशील विषय वस्तु", "status.share": "शेयर करें", - "status.show_less": "कम दिखाएँ", - "status.show_more": "और दिखाएँ", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", "status.translated_from_with": "{provider} का उपयोग करते हुये {lang} से अनुवादित किया गया", "tabs_bar.home": "होम", "tabs_bar.notifications": "सूचनाएँ", - "timeline_hint.resources.statuses": "Older toots", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json index da833079187..0b42c493381 100644 --- a/app/javascript/mastodon/locales/hr.json +++ b/app/javascript/mastodon/locales/hr.json @@ -18,7 +18,6 @@ "account.block_domain": "Blokiraj domenu {domain}", "account.block_short": "Blokiraj", "account.blocked": "Blokirano", - "account.browse_more_on_origin_server": "Pogledajte više na izvornom profilu", "account.cancel_follow_request": "Withdraw follow request", "account.copy": "Kopiraj vezu u profil", "account.direct": "Privatno spomeni @{name}", @@ -337,7 +336,6 @@ "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "notification.follow": "{name} Vas je počeo/la pratiti", "notification.follow_request": "{name} zatražio/la je da Vas prati", - "notification.mention": "{name} Vas je spomenuo", "notification.own_poll": "Vaša anketa je završila", "notification.reblog": "{name} je boostao/la Vaš status", "notifications.clear": "Očisti obavijesti", @@ -462,8 +460,6 @@ "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.embed": "Umetni", "status.filter": "Filtriraj ovu objavu", - "status.filtered": "Filtrirano", - "status.hide": "Sakrij objavu", "status.history.created": "Kreirao/la {name} prije {date}", "status.history.edited": "Uredio/la {name} prije {date}", "status.load_more": "Učitaj više", @@ -489,9 +485,6 @@ "status.report": "Prijavi @{name}", "status.sensitive_warning": "Osjetljiv sadržaj", "status.share": "Podijeli", - "status.show_filter_reason": "Svejedno prikaži", - "status.show_less": "Pokaži manje", - "status.show_more": "Pokaži više", "status.show_original": "Prikaži original", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", "status.translate": "Prevedi", @@ -506,10 +499,6 @@ "time_remaining.hours": "{number, plural, one {preostao # sat} few {preostalo # sata} other {preostalo # sati}}", "time_remaining.minutes": "{number, plural, one {preostala # minuta} few {preostale # minute} other {preostalo # minuta}}", "time_remaining.seconds": "{number, plural, one {preostala # sekunda} few {preostale # sekunde} other {preostalo # sekundi}}", - "timeline_hint.remote_resource_not_displayed": "{resource} s drugih poslužitelja nisu prikazani.", - "timeline_hint.resources.followers": "Pratitelji", - "timeline_hint.resources.follows": "Praćenja", - "timeline_hint.resources.statuses": "Stariji tootovi", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "trends.trending_now": "Popularno", "ui.beforeunload": "Vaša skica bit će izgubljena ako napustite Mastodon.", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 4291954e202..d55a85ee335 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -19,7 +19,6 @@ "account.block_domain": "Domain letiltása: {domain}", "account.block_short": "Letiltás", "account.blocked": "Letiltva", - "account.browse_more_on_origin_server": "További böngészés az eredeti profilon", "account.cancel_follow_request": "Követési kérés visszavonása", "account.copy": "Hivatkozás másolása a profilba", "account.direct": "@{name} személyes említése", @@ -98,6 +97,8 @@ "block_modal.title": "Letiltsuk a felhasználót?", "block_modal.you_wont_see_mentions": "Nem látsz majd őt említő bejegyzéseket.", "boost_modal.combo": "Hogy átugord ezt következő alkalommal, használd {combo}", + "boost_modal.reblog": "Bejegyzés megtolása?", + "boost_modal.undo_reblog": "Megtolás visszavonása?", "bundle_column_error.copy_stacktrace": "Hibajelentés másolása", "bundle_column_error.error.body": "A kért lap nem jeleníthető meg. Ez lehet, hogy kódhiba, vagy böngészőkompatibitási hiba.", "bundle_column_error.error.title": "Jaj ne!", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "Követés visszavonása", "confirmations.unfollow.message": "Biztos, hogy vissza szeretnéd vonni {name} követését?", "confirmations.unfollow.title": "Megszünteted a felhasználó követését?", + "content_warning.hide": "Bejegyzés elrejtése", + "content_warning.show": "Megjelenítés mindenképp", "conversation.delete": "Beszélgetés törlése", "conversation.mark_as_read": "Megjelölés olvasottként", "conversation.open": "Beszélgetés megtekintése", @@ -300,6 +303,7 @@ "filter_modal.select_filter.subtitle": "Válassz egy meglévő kategóriát, vagy hozz létre egy újat", "filter_modal.select_filter.title": "E bejegyzés szűrése", "filter_modal.title.status": "Egy bejegyzés szűrése", + "filter_warning.matches_filter": "Megfelel a szűrőnek: „{title}”", "filtered_notifications_banner.pending_requests": "{count, plural, =0 {senkitől} one {egy valószínűleg ismerős személytől} other {# valószínűleg ismerős személytől}}", "filtered_notifications_banner.title": "Szűrt értesítések", "firehose.all": "Összes", @@ -349,6 +353,14 @@ "hashtag.follow": "Hashtag követése", "hashtag.unfollow": "Hashtag követésének megszüntetése", "hashtags.and_other": "…és {count, plural, other {# további}}", + "hints.profiles.followers_may_be_missing": "A profil követői lehet, hogy hiányoznak.", + "hints.profiles.follows_may_be_missing": "A profil követései lehet, hogy hiányoznak.", + "hints.profiles.posts_may_be_missing": "A profil egyes bejegyzései lehet, hogy hiányoznak.", + "hints.profiles.see_more_followers": "További követők megtekintése itt: {domain}", + "hints.profiles.see_more_follows": "További követések megtekintése itt: {domain}", + "hints.profiles.see_more_posts": "További bejegyzések megtekintése itt: {domain}", + "hints.threads.replies_may_be_missing": "A más kiszolgálókról érkező válaszok lehet, hogy hiányoznak.", + "hints.threads.see_more": "További válaszok megtekintése itt: {domain}", "home.column_settings.show_reblogs": "Megtolások megjelenítése", "home.column_settings.show_replies": "Válaszok megjelenítése", "home.hide_announcements": "Közlemények elrejtése", @@ -356,6 +368,17 @@ "home.pending_critical_update.link": "Frissítések megtekintése", "home.pending_critical_update.title": "Kritikus biztonsági frissítés érhető el!", "home.show_announcements": "Közlemények megjelenítése", + "ignore_notifications_modal.disclaimer": "A Mastodon nem tudja értesíteni azokat a felhasználókat, akiknek figyelmen kívül hagytad az értesítéseit. Az értesítések figyelmen kívül hagyása nem állítja meg az üzenetek elküldését.", + "ignore_notifications_modal.filter_instead": "Inkább szűrés", + "ignore_notifications_modal.filter_to_act_users": "Továbbra is el tudod fogadni, el tudod utasítani vagy tudod jelenteni a felhasználókat", + "ignore_notifications_modal.filter_to_avoid_confusion": "A szűrés segít elkerülni a lehetséges félreértéseket", + "ignore_notifications_modal.filter_to_review_separately": "A szűrt értesítések külön tekinthetők át", + "ignore_notifications_modal.ignore": "Értesítések figyelmen kívül hagyása", + "ignore_notifications_modal.limited_accounts_title": "Moderált fiókok értesítéseinek figyelmen kívül hagyása?", + "ignore_notifications_modal.new_accounts_title": "Új fiókok értesítéseinek figyelmen kívül hagyása?", + "ignore_notifications_modal.not_followers_title": "Nem követőktől érkező értesítések figyelmen kívül hagyása?", + "ignore_notifications_modal.not_following_title": "Nem követettektől érkező értesítések figyelmen kívül hagyása?", + "ignore_notifications_modal.private_mentions_title": "Figyelmen kívül hagyod a kéretlen privát említéseket?", "interaction_modal.description.favourite": "Egy Mastodon fiókkal kedvencnek jelölheted ezt a bejegyzést, tudatva a szerzővel, hogy értékeled és elteszed későbbre.", "interaction_modal.description.follow": "Egy Mastodon-fiókkal követheted {name} fiókját, hogy lásd a bejegyzéseit a kezdőlapodon.", "interaction_modal.description.reblog": "Egy Mastodon fiókkal megtolhatod ezt a bejegyzést, hogy megoszd a saját követőiddel.", @@ -445,9 +468,8 @@ "mute_modal.title": "Elnémítsuk a felhasználót?", "mute_modal.you_wont_see_mentions": "Nem látsz majd őt említő bejegyzéseket.", "mute_modal.you_wont_see_posts": "Továbbra is látni fogja a bejegyzéseidet, de te nem fogod látni az övéit.", - "name_and_others": "{name} és {count, plural, one {# másik} other {# másik}}", - "name_and_others_with_link": "{name} és {count, plural, one {# másik} other {# másik}}", "navigation_bar.about": "Névjegy", + "navigation_bar.administration": "Adminisztráció", "navigation_bar.advanced_interface": "Megnyitás a speciális webes felületben", "navigation_bar.blocks": "Letiltott felhasználók", "navigation_bar.bookmarks": "Könyvjelzők", @@ -464,6 +486,7 @@ "navigation_bar.follows_and_followers": "Követések és követők", "navigation_bar.lists": "Listák", "navigation_bar.logout": "Kijelentkezés", + "navigation_bar.moderation": "Moderáció", "navigation_bar.mutes": "Némított felhasználók", "navigation_bar.opened_in_classic_interface": "A bejegyzések, fiókok és más speciális oldalak alapértelmezés szerint a klasszikus webes felületen nyílnak meg.", "navigation_bar.personal": "Személyes", @@ -479,10 +502,18 @@ "notification.admin.report_statuses": "{name} jelentette: {target}, ezért: {category}", "notification.admin.report_statuses_other": "{name} jelentette: {target}", "notification.admin.sign_up": "{name} regisztrált", + "notification.admin.sign_up.name_and_others": "{name} és {count, plural, one {# másik} other {# másik}} regisztrált", "notification.favourite": "{name} kedvencnek jelölte a bejegyzésedet", + "notification.favourite.name_and_others_with_link": "{name} és {count, plural, one {# másik} other {# másik}} kedvencnek jelölte a bejegyzésedet", "notification.follow": "{name} követ téged", + "notification.follow.name_and_others": "{name} és {count, plural, one {# másik} other {# másik}} követni kezdett", "notification.follow_request": "{name} követni szeretne téged", - "notification.mention": "{name} megemlített", + "notification.follow_request.name_and_others": "{name} és {count, plural, one {# másik} other {# másik}} kérte, hogy követhessen", + "notification.label.mention": "Említés", + "notification.label.private_mention": "Privát említés", + "notification.label.private_reply": "Privát válasz", + "notification.label.reply": "Válasz", + "notification.mention": "Említés", "notification.moderation-warning.learn_more": "További információ", "notification.moderation_warning": "Moderációs figyelmeztetést kaptál", "notification.moderation_warning.action_delete_statuses": "Néhány bejegyzésedet eltávolították.", @@ -494,8 +525,8 @@ "notification.moderation_warning.action_suspend": "A fiókod felfüggesztésre került.", "notification.own_poll": "A szavazásod véget ért", "notification.poll": "Véget ért egy szavazás, melyben részt vettél", - "notification.private_mention": "{name} privátban megemlített", "notification.reblog": "{name} megtolta a bejegyzésedet", + "notification.reblog.name_and_others_with_link": "{name} és {count, plural, one {# másik} other {# másik}} megtolta a bejegyzésedet", "notification.relationships_severance_event": "Elvesztek a kapcsolatok vele: {name}", "notification.relationships_severance_event.account_suspension": "Egy admin a(z) {from} kiszolgálóról felfüggesztette {target} fiókját, ami azt jelenti, hogy mostantól nem fogsz róla értesítést kapni, és nem fogsz tudni vele kapcsolatba lépni.", "notification.relationships_severance_event.domain_block": "Egy admin a(z) {from} kiszolgálón letiltotta {target} domaint, beleértve {followersCount} követőt és {followingCount, plural, one {#} other {#}} követett fiókot.", @@ -504,11 +535,24 @@ "notification.status": "{name} bejegyzést tett közzé", "notification.update": "{name} szerkesztett egy bejegyzést", "notification_requests.accept": "Elfogadás", + "notification_requests.accept_multiple": "{count, plural, one {# kérés elfogadása…} other {# kérés elfogadása…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Kérés elfogadása} other {Kérések elfogadása}}", + "notification_requests.confirm_accept_multiple.message": "Elfogadni készülsz {count, plural, one {egy értesítési kérést} other {# értesítési kérést}}. Biztosan folytatod?", + "notification_requests.confirm_accept_multiple.title": "Értesítési kérések elfogadása?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Kérés elvetése} other {Kérések elvetése}}", + "notification_requests.confirm_dismiss_multiple.message": "{count, plural, one {Egy értesítési kérés} other {# értesítési kérés}} elvetésére készülsz. Többé nem fogsz {count, plural, one {hozzáférni} other {hozzájuk férni}}. Biztosan folytatod?", + "notification_requests.confirm_dismiss_multiple.title": "Értesítési kérések elvetése?", "notification_requests.dismiss": "Elvetés", + "notification_requests.dismiss_multiple": "{count, plural, one {# kérés elvetése…} other {# kérés elvetése…}}", + "notification_requests.edit_selection": "Szerkesztés", + "notification_requests.exit_selection": "Kész", + "notification_requests.explainer_for_limited_account": "Az ettől a fióktól származó értesítéseket kiszűrték, mert a fiókot egy moderátor korlátozta.", + "notification_requests.explainer_for_limited_remote_account": "Az ettől a fióktól származó értesítéseket kiszűrték, mert a fiókot vagy annak kiszolgálóját egy moderátor korlátozta.", "notification_requests.maximize": "Maximalizálás", "notification_requests.minimize_banner": "Szűrt értesítések sávjának minimalizálása", "notification_requests.notifications_from": "{name} értesítései", "notification_requests.title": "Szűrt értesítések", + "notification_requests.view": "Értesítések megtekintése", "notifications.clear": "Értesítések törlése", "notifications.clear_confirmation": "Biztos, hogy véglegesen törölni akarod az összes értesítésed?", "notifications.clear_title": "Törlöd az értesítéseket?", @@ -545,6 +589,14 @@ "notifications.permission_denied": "Az asztali értesítések nem érhetők el a korábban elutasított böngészőengedély-kérelem miatt", "notifications.permission_denied_alert": "Az asztali értesítések nem engedélyezhetők a korábban elutasított böngésző engedély miatt", "notifications.permission_required": "Az asztali értesítések nem érhetőek el, mivel a szükséges engedély nem lett megadva.", + "notifications.policy.accept": "Elfogadás", + "notifications.policy.accept_hint": "Megjelenítés az értesítések között", + "notifications.policy.drop": "Figyelmen kívül hagyás", + "notifications.policy.drop_hint": "Küldés a semmibe, többé ne jelenjen meg", + "notifications.policy.filter": "Szűrő", + "notifications.policy.filter_hint": "Küldés a szűrt értesítések közé", + "notifications.policy.filter_limited_accounts_hint": "A szerver moderátorai által korlátozott", + "notifications.policy.filter_limited_accounts_title": "Moderált fiókok", "notifications.policy.filter_new_accounts.hint": "Az elmúlt {days, plural, one {napban} other {# napban}} létrehozva", "notifications.policy.filter_new_accounts_title": "Új fiókok", "notifications.policy.filter_not_followers_hint": "Beleértve azokat, akik kevesebb mint {days, plural, one {egy napja} other {# napja}} követnek", @@ -553,7 +605,7 @@ "notifications.policy.filter_not_following_title": "Nem követett emberek", "notifications.policy.filter_private_mentions_hint": "Kiszűrve, hacsak nem a saját említésedre válaszol, vagy ha nem követed a feladót", "notifications.policy.filter_private_mentions_title": "Kéretlen személyes említések", - "notifications.policy.title": "Feladó értesítéseinek kiszűrése…", + "notifications.policy.title": "Értesítések kezelése…", "notifications_permission_banner.enable": "Asztali értesítések engedélyezése", "notifications_permission_banner.how_to_control": "Ahhoz, hogy értesítéseket kapj akkor, amikor a Mastodon nincs megnyitva, engedélyezd az asztali értesítéseket. Pontosan be tudod állítani, hogy milyen interakciókról értesülj a fenti {icon} gombon keresztül, ha egyszer már engedélyezted őket.", "notifications_permission_banner.title": "Soha ne mulassz el semmit", @@ -740,8 +792,6 @@ "status.favourite": "Kedvenc", "status.favourites": "{count, plural, one {kedvenc} other {kedvenc}}", "status.filter": "E bejegyzés szűrése", - "status.filtered": "Megszűrt", - "status.hide": "Bejegyzés elrejtése", "status.history.created": "{name} létrehozta: {date}", "status.history.edited": "{name} szerkesztette: {date}", "status.load_more": "Többet", @@ -769,10 +819,7 @@ "status.report": "@{name} bejelentése", "status.sensitive_warning": "Kényes tartalom", "status.share": "Megosztás", - "status.show_filter_reason": "Megjelenítés mindenképp", - "status.show_less": "Kevesebb megjelenítése", "status.show_less_all": "Kevesebbet mindenhol", - "status.show_more": "Többet", "status.show_more_all": "Többet mindenhol", "status.show_original": "Eredeti megjelenítése", "status.title.with_attachments": "{user} {attachmentCount, plural, one {mellékletet} other {{attachmentCount} mellékletet}} küldött be.", @@ -791,10 +838,6 @@ "time_remaining.minutes": "{number, plural, one {# perc} other {# perc}} van hátra", "time_remaining.moments": "Pillanatok vannak hátra", "time_remaining.seconds": "{number, plural, one {# másodperc} other {# másodperc}} van hátra", - "timeline_hint.remote_resource_not_displayed": "a más kiszolgálókról származó {resource} tartalmak nem jelennek meg.", - "timeline_hint.resources.followers": "Követő", - "timeline_hint.resources.follows": "Követett", - "timeline_hint.resources.statuses": "Régi bejegyzések", "trends.counter_by_accounts": "{count, plural, one {{counter} ember} other {{counter} ember}} az elmúlt {days, plural,one {napban} other {{days} napban}}", "trends.trending_now": "Most felkapott", "ui.beforeunload": "A piszkozatod el fog veszni, ha elhagyod a Mastodont.", diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json index c926e7b4f38..1d82e884ff8 100644 --- a/app/javascript/mastodon/locales/hy.json +++ b/app/javascript/mastodon/locales/hy.json @@ -14,7 +14,6 @@ "account.block_domain": "Թաքցնել ամէնը հետեւեալ տիրոյթից՝ {domain}", "account.block_short": "Արգելափակել", "account.blocked": "Արգելափակուած է", - "account.browse_more_on_origin_server": "Դիտել աւելին իրական պրոֆիլում", "account.cancel_follow_request": "Withdraw follow request", "account.direct": "Մասնաւոր յիշատակում @{name}", "account.disable_notifications": "Ծանուցումները անջատել @{name} գրառումների համար", @@ -319,7 +318,6 @@ "notification.favourite": "{name}-ը հաւանել է քո գրառումը", "notification.follow": "{name} սկսեց հետեւել քեզ", "notification.follow_request": "{name} քեզ հետեւելու հայց է ուղարկել", - "notification.mention": "{name} նշեց քեզ", "notification.own_poll": "Հարցումդ աւարտուեց", "notification.reblog": "{name} տարածեց գրառումդ", "notification.status": "{name} հենց նոր գրառում արեց", @@ -454,8 +452,6 @@ "status.embed": "Ներդնել", "status.favourite": "Հավանել", "status.filter": "Զտել այս գրառումը", - "status.filtered": "Զտուած", - "status.hide": "Թաքցնել գրառումը", "status.history.created": "{name}-ը ստեղծել է՝ {date}", "status.history.edited": "{name}-ը խմբագրել է՝ {date}", "status.load_more": "Բեռնել աւելին", @@ -480,10 +476,7 @@ "status.report": "Բողոքել @{name}֊ից", "status.sensitive_warning": "Կասկածելի բովանդակութիւն", "status.share": "Կիսուել", - "status.show_filter_reason": "Ցոյց տալ բոլոր դէպքերում", - "status.show_less": "Պակաս", "status.show_less_all": "Թաքցնել բոլոր նախազգուշացնումները", - "status.show_more": "Աւելին", "status.show_more_all": "Ցուցադրել բոլոր նախազգուշացնումները", "status.show_original": "Ցոյց տալ բնօրինակը", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", @@ -498,10 +491,6 @@ "time_remaining.minutes": "{number, plural, one {# րոպէ} other {# րոպէ}} անց", "time_remaining.moments": "Մնացել է մի քանի վարկեան", "time_remaining.seconds": "{number, plural, one {# վարկեան} other {# վարկեան}} անց", - "timeline_hint.remote_resource_not_displayed": "{resource} այլ սպասարկիչներից չեն ցուցադրվել:", - "timeline_hint.resources.followers": "Հետեւորդ", - "timeline_hint.resources.follows": "Հետեւել", - "timeline_hint.resources.statuses": "Հին գրառումներ", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "trends.trending_now": "Այժմ արդիական", "ui.beforeunload": "Քո սեւագիրը կը կորի, եթէ լքես Մաստոդոնը։", diff --git a/app/javascript/mastodon/locales/ia.json b/app/javascript/mastodon/locales/ia.json index d775408b173..31fb52552b8 100644 --- a/app/javascript/mastodon/locales/ia.json +++ b/app/javascript/mastodon/locales/ia.json @@ -19,7 +19,6 @@ "account.block_domain": "Blocar dominio {domain}", "account.block_short": "Blocar", "account.blocked": "Blocate", - "account.browse_more_on_origin_server": "Explorar plus sur le profilo original", "account.cancel_follow_request": "Cancellar sequimento", "account.copy": "Copiar ligamine a profilo", "account.direct": "Mentionar privatemente @{name}", @@ -98,6 +97,7 @@ "block_modal.title": "Blocar usator?", "block_modal.you_wont_see_mentions": "Tu non videra le messages que mentiona iste persona.", "boost_modal.combo": "Tu pote premer {combo} pro saltar isto le proxime vice", + "boost_modal.reblog": "Impulsar le message?", "bundle_column_error.copy_stacktrace": "Copiar reporto de error", "bundle_column_error.error.body": "Le pagina requestate non pote esser visualisate. Pote esser a causa de un defecto in nostre codice o de un problema de compatibilitate del navigator.", "bundle_column_error.error.title": "Oh, no!", @@ -442,8 +442,6 @@ "mute_modal.title": "Silentiar le usator?", "mute_modal.you_wont_see_mentions": "Tu non videra le messages que mentiona iste persona.", "mute_modal.you_wont_see_posts": "Iste persona pote totevia vider tu messages, ma tu non videra le sues.", - "name_and_others": "{name} e {count, plural, one {# altere} other {# alteres}}", - "name_and_others_with_link": "{name} e {count, plural, one {# altere} other {# alteres}}", "navigation_bar.about": "A proposito", "navigation_bar.advanced_interface": "Aperir in le interfacie web avantiate", "navigation_bar.blocks": "Usatores blocate", @@ -475,7 +473,11 @@ "notification.favourite": "{name} ha marcate tu message como favorite", "notification.follow": "{name} te ha sequite", "notification.follow_request": "{name} ha requestate de sequer te", - "notification.mention": "{name} te ha mentionate", + "notification.label.mention": "Mention", + "notification.label.private_mention": "Mention private", + "notification.label.private_reply": "Responsa private", + "notification.label.reply": "Responder", + "notification.mention": "Mention", "notification.moderation-warning.learn_more": "Apprender plus", "notification.moderation_warning": "Tu ha recipite un advertimento de moderation", "notification.moderation_warning.action_delete_statuses": "Alcunes de tu messages ha essite removite.", @@ -542,7 +544,6 @@ "notifications.policy.filter_not_following_title": "Personas que tu non seque", "notifications.policy.filter_private_mentions_hint": "Filtrate, excepte si es in responsa a tu proprie mention o si tu seque le expeditor", "notifications.policy.filter_private_mentions_title": "Mentiones private indesirate", - "notifications.policy.title": "Filtrar notificationes de…", "notifications_permission_banner.enable": "Activar notificationes de scriptorio", "notifications_permission_banner.how_to_control": "Pro reciper notificationes quando Mastodon non es aperte, activa le notificationes de scriptorio. Post lor activation, es possibile controlar precisemente qual typos de interaction genera notificationes de scriptorio per medio del button {icon} hic supra.", "notifications_permission_banner.title": "Non mancar jammais a un cosa", @@ -728,8 +729,6 @@ "status.favourite": "Adder al favorites", "status.favourites": "{count, plural, one {favorite} other {favorites}}", "status.filter": "Filtrar iste message", - "status.filtered": "Filtrate", - "status.hide": "Celar le message", "status.history.created": "create per {name} le {date}", "status.history.edited": "modificate per {name} le {date}", "status.load_more": "Cargar plus", @@ -757,10 +756,7 @@ "status.report": "Reportar @{name}", "status.sensitive_warning": "Contento sensibile", "status.share": "Compartir", - "status.show_filter_reason": "Monstrar in omne caso", - "status.show_less": "Monstrar minus", "status.show_less_all": "Monstrar minus pro totes", - "status.show_more": "Monstrar plus", "status.show_more_all": "Monstrar plus pro totes", "status.show_original": "Monstrar original", "status.title.with_attachments": "{user} ha publicate {attachmentCount, plural, one {un annexo} other {{attachmentCount} annexos}}", @@ -779,10 +775,6 @@ "time_remaining.minutes": "{number, plural, one {# minuta} other {# minutas}} restante", "time_remaining.moments": "Qualque momentos restante", "time_remaining.seconds": "{number, plural, one {# secunda} other {# secundas}} restante", - "timeline_hint.remote_resource_not_displayed": "Le {resource} de altere servitores non appare hic.", - "timeline_hint.resources.followers": "Sequitores", - "timeline_hint.resources.follows": "Sequites", - "timeline_hint.resources.statuses": "Messages ancian", "trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} personas}} in le passate {days, plural, one {die} other {{days} dies}}", "trends.trending_now": "Ora in tendentias", "ui.beforeunload": "Tu esbosso essera predite si tu exi de Mastodon.", diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json index db6e3efe5f4..29f0bfda9d3 100644 --- a/app/javascript/mastodon/locales/id.json +++ b/app/javascript/mastodon/locales/id.json @@ -1,7 +1,7 @@ { "about.blocks": "Server yang dimoderasi", - "about.contact": "Hubungi:", - "about.disclaimer": "Mastodon adalah perangkat lunak bebas dan sumber terbuka, dan adalah merek dagang dari Mastodon gGmbH.", + "about.contact": "Kontak:", + "about.disclaimer": "perangkat lunak sumber terbuperangkat lunak sumber terbukaka184124.", "about.domain_blocks.no_reason_available": "Alasan tidak tersedia", "about.domain_blocks.preamble": "Mastodon umumnya mengizinkan Anda untuk melihat konten dan berinteraksi dengan pengguna dari server lain di fediverse. Ini adalah pengecualian yang dibuat untuk beberapa server.", "about.domain_blocks.silenced.explanation": "Anda secara umum tidak melihat profil dan konten dari server ini, kecuali jika Anda mencarinya atau memilihnya dengan mengikuti secara eksplisit.", @@ -11,6 +11,7 @@ "about.not_available": "Informasi ini belum tersedia di server ini.", "about.powered_by": "Media sosial terdesentralisasi diberdayakan oleh {mastodon}", "about.rules": "Aturan server", + "account.account_note_header": "Personal note", "account.add_or_remove_from_list": "Tambah atau Hapus dari daftar", "account.badges.bot": "Bot", "account.badges.group": "Grup", @@ -18,7 +19,6 @@ "account.block_domain": "Blokir domain {domain}", "account.block_short": "Blokir", "account.blocked": "Terblokir", - "account.browse_more_on_origin_server": "Lihat lebih lanjut di profil asli", "account.cancel_follow_request": "Batalkan permintaan ikut", "account.copy": "Salin tautan ke profil", "account.direct": "Sebut secara pribadi @{name}", @@ -34,7 +34,9 @@ "account.follow_back": "Ikuti balik", "account.followers": "Pengikut", "account.followers.empty": "Pengguna ini belum ada pengikut.", + "account.followers_counter": "{count, plural, other {{counter} followers}}", "account.following": "Mengikuti", + "account.following_counter": "{count, plural, other {{counter} following}}", "account.follows.empty": "Pengguna ini belum mengikuti siapa pun.", "account.go_to_profile": "Buka profil", "account.hide_reblogs": "Sembunyikan boosts dari @{name}", @@ -60,6 +62,7 @@ "account.requested_follow": "{name} ingin mengikuti Anda", "account.share": "Bagikan profil @{name}", "account.show_reblogs": "Tampilkan boost dari @{name}", + "account.statuses_counter": "{count, plural, other {{counter} posts}}", "account.unblock": "Buka blokir @{name}", "account.unblock_domain": "Buka blokir domain {domain}", "account.unblock_short": "Buka blokir", @@ -167,21 +170,30 @@ "confirmations.block.confirm": "Blokir", "confirmations.delete.confirm": "Hapus", "confirmations.delete.message": "Apakah Anda yakin untuk menghapus kiriman ini?", + "confirmations.delete.title": "Delete post?", "confirmations.delete_list.confirm": "Hapus", "confirmations.delete_list.message": "Apakah Anda yakin untuk menghapus daftar ini secara permanen?", + "confirmations.delete_list.title": "Delete list?", "confirmations.discard_edit_media.confirm": "Buang", "confirmations.discard_edit_media.message": "Anda belum menyimpan perubahan deskripsi atau pratinjau media, buang saja?", "confirmations.edit.confirm": "Ubah", "confirmations.edit.message": "Mengubah akan menimpa pesan yang sedang anda tulis. Apakah anda yakin ingin melanjutkan?", + "confirmations.edit.title": "Overwrite post?", "confirmations.logout.confirm": "Keluar", "confirmations.logout.message": "Apakah Anda yakin ingin keluar?", + "confirmations.logout.title": "Log out?", "confirmations.mute.confirm": "Bisukan", "confirmations.redraft.confirm": "Hapus dan susun ulang", "confirmations.redraft.message": "Apakah anda yakin ingin menghapus postingan ini dan menyusun ulang postingan ini? Favorit dan peningkatan akan hilang, dan balasan ke postingan asli tidak akan terhubung ke postingan manapun.", + "confirmations.redraft.title": "Delete & redraft post?", "confirmations.reply.confirm": "Balas", "confirmations.reply.message": "Membalas sekarang akan menimpa pesan yang sedang Anda buat. Anda yakin ingin melanjutkan?", + "confirmations.reply.title": "Delete & redraft post?", "confirmations.unfollow.confirm": "Berhenti mengikuti", "confirmations.unfollow.message": "Apakah Anda ingin berhenti mengikuti {name}?", + "confirmations.unfollow.title": "Unfollow user?", + "content_warning.hide": "Hide post", + "content_warning.show": "Show anyway", "conversation.delete": "Hapus percakapan", "conversation.mark_as_read": "Tandai sudah dibaca", "conversation.open": "Lihat percakapan", @@ -218,7 +230,9 @@ "domain_pill.username": "Nama pengguna", "domain_pill.whats_in_a_handle": "Apa itu nama pengguna?", "domain_pill.who_they_are": "Karena nama pengguna menunjukkan siapa seseorang dan di mana server mereka berada, anda dapat berinteraksi dengan orang-orang di seluruh web sosial .", + "domain_pill.who_you_are": ".", "domain_pill.your_handle": "Nama pengguna anda:", + "domain_pill.your_server": "Your digital home, where all of your posts live. Don’t like this one? Transfer servers at any time and bring your followers, too.", "embed.instructions": "Sematkan kiriman ini di situs web Anda dengan menyalin kode di bawah ini.", "embed.preview": "Tampilan akan seperti ini nantinya:", "emoji_button.activity": "Aktivitas", @@ -419,7 +433,6 @@ "notification.admin.sign_up": "{name} mendaftar", "notification.follow": "{name} mengikuti Anda", "notification.follow_request": "{name} ingin mengikuti Anda", - "notification.mention": "{name} menyebut Anda", "notification.own_poll": "Japat Anda telah berakhir", "notification.reblog": "{name} mem-boost kiriman Anda", "notification.status": "{name} baru saja mengirim", @@ -573,8 +586,6 @@ "status.edited_x_times": "Diedit {count, plural, other {{count} kali}}", "status.embed": "Tanam", "status.filter": "Saring kiriman ini", - "status.filtered": "Disaring", - "status.hide": "Sembunyikan pos", "status.history.created": "{name} membuat {date}", "status.history.edited": "{name} mengedit {date}", "status.load_more": "Tampilkan semua", @@ -599,10 +610,7 @@ "status.report": "Laporkan @{name}", "status.sensitive_warning": "Konten sensitif", "status.share": "Bagikan", - "status.show_filter_reason": "Tampilkan saja", - "status.show_less": "Tampilkan lebih sedikit", "status.show_less_all": "Tampilkan lebih sedikit untuk semua", - "status.show_more": "Tampilkan semua", "status.show_more_all": "Tampilkan lebih banyak untuk semua", "status.show_original": "Tampilkan yang asli", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", @@ -620,10 +628,6 @@ "time_remaining.minutes": "{number, plural, other {# menit}} tersisa", "time_remaining.moments": "Momen tersisa", "time_remaining.seconds": "{number, plural, other {# detik}} tersisa", - "timeline_hint.remote_resource_not_displayed": "{resource} dari server lain tidak ditampilkan.", - "timeline_hint.resources.followers": "Pengikut", - "timeline_hint.resources.follows": "Ikuti", - "timeline_hint.resources.statuses": "Kiriman lama", "trends.counter_by_accounts": "{count, plural, other {{counter} orang}} dalam {days, plural, other {{days} hari}} terakhir", "trends.trending_now": "Sedang tren sekarang", "ui.beforeunload": "Draf Anda akan hilang jika Anda keluar dari Mastodon.", diff --git a/app/javascript/mastodon/locales/ie.json b/app/javascript/mastodon/locales/ie.json index c5290d18b82..4002767cf9c 100644 --- a/app/javascript/mastodon/locales/ie.json +++ b/app/javascript/mastodon/locales/ie.json @@ -18,7 +18,6 @@ "account.block_domain": "Bloccar dominia {domain}", "account.block_short": "Bloccar", "account.blocked": "Bloccat", - "account.browse_more_on_origin_server": "Navigar plu sur li profil original", "account.cancel_follow_request": "Anullar sequer", "account.copy": "Copiar ligament al profil", "account.direct": "Privatmen mentionar @{name}", @@ -462,7 +461,6 @@ "notification.favourite": "{name} favoritisat tui posta", "notification.follow": "{name} sequet te", "notification.follow_request": "{name} ha petit sequer te", - "notification.mention": "{name} mentionat te", "notification.moderation-warning.learn_more": "Aprender plu", "notification.moderation_warning": "Tu ha recivet un moderatori advertiment", "notification.moderation_warning.action_delete_statuses": "Alcun de tui postas ha esset efaciat.", @@ -526,7 +524,6 @@ "notifications.policy.filter_not_following_title": "Persones queles tu ne seque", "notifications.policy.filter_private_mentions_hint": "Filtrat except si it es un response a tui propri mention o si tu seque li missor", "notifications.policy.filter_private_mentions_title": "Ínsolicitat privat mentiones", - "notifications.policy.title": "Filtrar notificationes de…", "notifications_permission_banner.enable": "Activisar notificationes sur li computator", "notifications_permission_banner.how_to_control": "Por reciver notificationes quande Mastodon ne es apert, activisa notificationes sur li computator. Tu posse decider precisimen quel species de interactiones genera notificationes per li buton {icon} in-supra quande ili es activisat.", "notifications_permission_banner.title": "Nequande preterlassa quocunc", @@ -706,8 +703,6 @@ "status.favourite": "Favoritisar", "status.favourites": "{count, plural, one {favorit} other {favorites}}", "status.filter": "Filtrar ti-ci posta", - "status.filtered": "Filtrat", - "status.hide": "Celar posta", "status.history.created": "creat de {name} ye {date}", "status.history.edited": "modificat de {name} ye {date}", "status.load_more": "Cargar plu", @@ -735,10 +730,7 @@ "status.report": "Raportar @{name}", "status.sensitive_warning": "Sensitiv contenete", "status.share": "Partir", - "status.show_filter_reason": "Monstrar totvez", - "status.show_less": "Monstrar minu", "status.show_less_all": "Monstrar minu por omno", - "status.show_more": "Monstrar plu", "status.show_more_all": "Monstrar plu por omno", "status.show_original": "Monstrar li original", "status.title.with_attachments": "{user} postat {attachmentCount, plural, one {un atachament} other {{attachmentCount} atachamentes}}", @@ -757,10 +749,6 @@ "time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} resta", "time_remaining.moments": "Momentes resta", "time_remaining.seconds": "{number, plural, one {# second} other {# secondes}} resta", - "timeline_hint.remote_resource_not_displayed": "{resource} de altri servitores ne es monstrat.", - "timeline_hint.resources.followers": "Sequitores", - "timeline_hint.resources.follows": "Sequetes", - "timeline_hint.resources.statuses": "Plu old postas", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} persones}} durant li ultim {days, plural, one {die} other {{days} dies}}", "trends.trending_now": "Actualmen populari", "ui.beforeunload": "Tui íncomplet posta va esser perdit si tu lassa Mastodon.", diff --git a/app/javascript/mastodon/locales/ig.json b/app/javascript/mastodon/locales/ig.json index 4e3e3997da1..8a8d043a6b0 100644 --- a/app/javascript/mastodon/locales/ig.json +++ b/app/javascript/mastodon/locales/ig.json @@ -23,15 +23,19 @@ "column.notifications": "Nziọkwà", "column.pins": "Pinned post", "column_header.pin": "Gbado na profaịlụ gị", + "column_header.show_settings": "Gosi mwube", "column_subheading.settings": "Mwube", "community.column_settings.media_only": "Media only", "compose.language.change": "Gbanwee asụsụ", "compose.language.search": "Chọọ asụsụ...", "compose.published.open": "Mepe", + "compose_form.direct_message_warning_learn_more": "Mụtakwuo", "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.", "compose_form.placeholder": "What is on your mind?", + "compose_form.poll.single": "Họrọ otu", "compose_form.publish_form": "Publish", + "compose_form.reply": "Zaa", "compose_form.spoiler.marked": "Text is hidden behind warning", "compose_form.spoiler.unmarked": "Text is not hidden", "confirmation_modal.cancel": "Kagbuo", @@ -49,7 +53,9 @@ "domain_pill.username": "Ahaojiaru", "embed.instructions": "Embed this status on your website by copying the code below.", "emoji_button.activity": "Mmemme", + "emoji_button.food": "Oriri & Ọṅụṅụ", "emoji_button.label": "Tibanye emoji", + "emoji_button.people": "Mmadụ", "emoji_button.search": "Chọọ...", "emoji_button.symbols": "Ọdịmara", "empty_column.account_timeline": "No posts found", @@ -95,12 +101,15 @@ "keyboard_shortcuts.toot": "to start a brand new post", "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", "keyboard_shortcuts.up": "to move up in the list", + "lightbox.close": "Mechie", "lists.delete": "Hichapụ ndepụta", "lists.edit": "Dezie ndepụta", "lists.subheading": "Ndepụta gị", "navigation_bar.about": "Maka", "navigation_bar.bookmarks": "Ebenrụtụakā", + "navigation_bar.discover": "Chọpụta", "navigation_bar.domain_blocks": "Hidden domains", + "navigation_bar.favourites": "Mmasị", "navigation_bar.lists": "Ndepụta", "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "notification.reblog": "{name} boosted your status", @@ -145,7 +154,6 @@ "status.translate": "Tụgharịa", "tabs_bar.home": "Be", "tabs_bar.notifications": "Nziọkwà", - "timeline_hint.resources.followers": "Ndị na-eso", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "trends.trending_now": "Na-ewu ewu kịta", "upload_form.audio_description": "Describe for people with hearing loss", diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json index 38ece266e6b..1329875185e 100644 --- a/app/javascript/mastodon/locales/io.json +++ b/app/javascript/mastodon/locales/io.json @@ -17,7 +17,6 @@ "account.block_domain": "Blokusar {domain}", "account.block_short": "Blokusar", "account.blocked": "Blokusita", - "account.browse_more_on_origin_server": "Videz pluse che la originala profilo", "account.cancel_follow_request": "Desendez sequodemando", "account.copy": "Kopiez ligilo al profilo", "account.direct": "Private mencionez @{name}", @@ -396,7 +395,6 @@ "notification.favourite": "{name} favorizis tua mesajo", "notification.follow": "{name} sequeskis tu", "notification.follow_request": "{name} demandas sequar vu", - "notification.mention": "{name} mencionis tu", "notification.own_poll": "Vua votposto finigis", "notification.reblog": "{name} repetis tua mesajo", "notification.status": "{name} nove postigis", @@ -595,8 +593,6 @@ "status.embed": "Eninsertez", "status.favourite": "Favorizar", "status.filter": "Filtragez ca posto", - "status.filtered": "Filtrita", - "status.hide": "Celez posto", "status.history.created": "{name} kreis ye {date}", "status.history.edited": "{name} modifikis ye {date}", "status.load_more": "Kargar pluse", @@ -623,10 +619,7 @@ "status.report": "Denuncar @{name}", "status.sensitive_warning": "Trubliva kontenajo", "status.share": "Partigez", - "status.show_filter_reason": "Jus montrez", - "status.show_less": "Montrar mine", "status.show_less_all": "Montrez min por omno", - "status.show_more": "Montrar plue", "status.show_more_all": "Montrez pluse por omno", "status.show_original": "Montrez originalo", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", @@ -645,10 +638,6 @@ "time_remaining.minutes": "{number, plural, one {# minuto} other {# minuti}} restas", "time_remaining.moments": "Poka sekundi restas", "time_remaining.seconds": "{number, plural, one {# sekundo} other {# sekundi}} restas", - "timeline_hint.remote_resource_not_displayed": "{resource} de altra servili ne montresas.", - "timeline_hint.resources.followers": "Sequanti", - "timeline_hint.resources.follows": "Sequati", - "timeline_hint.resources.statuses": "Older toots", "trends.counter_by_accounts": "{count, plural,one {{counter} persono} other {{counter} personi}} en antea {days, plural,one {dio} other {{days} dii}}", "trends.trending_now": "Tendencigas nun", "ui.beforeunload": "Vua skisato perdesos se vu ekiras Mastodon.", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index 47daa30fc4b..54fbee48e62 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -19,7 +19,6 @@ "account.block_domain": "Útiloka lénið {domain}", "account.block_short": "Útiloka", "account.blocked": "Útilokaður", - "account.browse_more_on_origin_server": "Skoða nánari upplýsingar á notandasniðinu", "account.cancel_follow_request": "Taka fylgjendabeiðni til baka", "account.copy": "Afrita tengil í notandasnið", "account.direct": "Einkaspjall við @{name}", @@ -98,6 +97,8 @@ "block_modal.title": "Útiloka notanda?", "block_modal.you_wont_see_mentions": "Þú munt ekki sjá færslur sem minnast á viðkomandi aðila.", "boost_modal.combo": "Þú getur ýtt á {combo} til að sleppa þessu næst", + "boost_modal.reblog": "Endurbirta færslu?", + "boost_modal.undo_reblog": "Taka færslu úr endurbirtingu?", "bundle_column_error.copy_stacktrace": "Afrita villuskýrslu", "bundle_column_error.error.body": "Umbeðna síðau var ekki hægt að myndgera. Það gæti verið vegna villu í kóðanum okkar eða vandamáls með samhæfni vafra.", "bundle_column_error.error.title": "Ó-nei!", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "Hætta að fylgja", "confirmations.unfollow.message": "Ertu viss um að þú viljir hætta að fylgjast með {name}?", "confirmations.unfollow.title": "Hætta að fylgjast með viðkomandi?", + "content_warning.hide": "Fela færslu", + "content_warning.show": "Birta samt", "conversation.delete": "Eyða samtali", "conversation.mark_as_read": "Merkja sem lesið", "conversation.open": "Skoða samtal", @@ -300,6 +303,7 @@ "filter_modal.select_filter.subtitle": "Notaðu fyrirliggjandi flokk eða útbúðu nýjan", "filter_modal.select_filter.title": "Sía þessa færslu", "filter_modal.title.status": "Sía færslu", + "filter_warning.matches_filter": "Samsvarar síunni“{title}”", "filtered_notifications_banner.pending_requests": "Frá {count, plural, =0 {engum} one {einum aðila} other {# manns}} sem þú gætir þekkt", "filtered_notifications_banner.title": "Síaðar tilkynningar", "firehose.all": "Allt", @@ -349,6 +353,14 @@ "hashtag.follow": "Fylgjast með myllumerki", "hashtag.unfollow": "Hætta að fylgjast með myllumerki", "hashtags.and_other": "…og {count, plural, other {# til viðbótar}}", + "hints.profiles.followers_may_be_missing": "Fylgjendur frá þessum notanda gæti vantað.", + "hints.profiles.follows_may_be_missing": "Aðila sem þessi notandi fylgist með gæti vantað.", + "hints.profiles.posts_may_be_missing": "Sumar færslur frá þessum notanda gæti vantað.", + "hints.profiles.see_more_followers": "Sjá fleiri fylgjendur á {domain}", + "hints.profiles.see_more_follows": "Sjá fleiri sem þú fylgist með á {domain}", + "hints.profiles.see_more_posts": "Sjá fleiri færslur á {domain}", + "hints.threads.replies_may_be_missing": "Svör af öðrum netþjónum gæti vantað.", + "hints.threads.see_more": "Sjá fleiri svör á {domain}", "home.column_settings.show_reblogs": "Sýna endurbirtingar", "home.column_settings.show_replies": "Birta svör", "home.hide_announcements": "Fela auglýsingar", @@ -356,6 +368,17 @@ "home.pending_critical_update.link": "Skoða uppfærslur", "home.pending_critical_update.title": "Áríðandi öryggisuppfærsla er tiltæk!", "home.show_announcements": "Birta auglýsingar", + "ignore_notifications_modal.disclaimer": "Mastodon getur ekki upplýst notendur um að þú hunsir tilkynningar frá þeim. Hunsun tilkynninga kemur ekki í veg fyrir að sjálf skilaboðin verði send.", + "ignore_notifications_modal.filter_instead": "Sía frekar", + "ignore_notifications_modal.filter_to_act_users": "Þú munt áfram geta samþykkt, hafnað eða kært notendur", + "ignore_notifications_modal.filter_to_avoid_confusion": "Síun hjálpar við að komast hjá mögulegum ruglingi", + "ignore_notifications_modal.filter_to_review_separately": "Þú getur skoðað síaðar tilkynningar sérstaklega", + "ignore_notifications_modal.ignore": "Hunsa tilkynningar", + "ignore_notifications_modal.limited_accounts_title": "Hunsa tilkynningar frá aðgöngum sem umsjón er höfð með?", + "ignore_notifications_modal.new_accounts_title": "Hunsa tilkynningar frá nýjum aðgöngum?", + "ignore_notifications_modal.not_followers_title": "Hunsa tilkynningar frá fólki sem fylgist ekki með þér?", + "ignore_notifications_modal.not_following_title": "Hunsa tilkynningar frá fólki sem þú fylgist ekki með?", + "ignore_notifications_modal.private_mentions_title": "Hunsa tilkynningar frá óumbeðnum tilvísunum í einkaspjalli?", "interaction_modal.description.favourite": "Með notandaaðgangi á Mastodon geturðu sett þessa færslu í eftirlæti og þannig látið höfundinn vita að þú kunnir að meta hana og vistað hana til síðari tíma.", "interaction_modal.description.follow": "Með notandaaðgangi á Mastodon geturðu fylgst með {name} og fengið færslur frá viðkomandi í heimastreymið þitt.", "interaction_modal.description.reblog": "Með notandaaðgangi á Mastodon geturðu endurbirt þessa færslu til að deila henni með þeim sem fylgjast með þér.", @@ -415,7 +438,7 @@ "lightbox.previous": "Fyrra", "limited_account_hint.action": "Birta notandasniðið samt", "limited_account_hint.title": "Þetta notandasnið hefur verið falið af umsjónarmönnum {domain}.", - "link_preview.author": "Eftir {name}", + "link_preview.author": "Frá {name}", "link_preview.more_from_author": "Meira frá {name}", "link_preview.shares": "{count, plural, one {{counter} færsla} other {{counter} færslur}}", "lists.account.add": "Bæta á lista", @@ -445,9 +468,8 @@ "mute_modal.title": "Þagga niður í notanda?", "mute_modal.you_wont_see_mentions": "Þú munt ekki sjá færslur sem minnast á viðkomandi aðila.", "mute_modal.you_wont_see_posts": "Viðkomandi geta áfram séð færslurnar þínar en þú munt ekki sjá færslurnar þeirra.", - "name_and_others": "{name} og {count, plural, one {# annar} other {# aðrir}}", - "name_and_others_with_link": "{name} og {count, plural, one {# annar} other {# aðrir}}", "navigation_bar.about": "Um hugbúnaðinn", + "navigation_bar.administration": "Stjórnun", "navigation_bar.advanced_interface": "Opna í ítarlegu vefviðmóti", "navigation_bar.blocks": "Útilokaðir notendur", "navigation_bar.bookmarks": "Bókamerki", @@ -464,6 +486,7 @@ "navigation_bar.follows_and_followers": "Fylgist með og fylgjendur", "navigation_bar.lists": "Listar", "navigation_bar.logout": "Útskráning", + "navigation_bar.moderation": "Umsjón", "navigation_bar.mutes": "Þaggaðir notendur", "navigation_bar.opened_in_classic_interface": "Færslur, notendaaðgangar og aðrar sérhæfðar síður eru sjálfgefið opnaðar í klassíska vefviðmótinu.", "navigation_bar.personal": "Einka", @@ -479,10 +502,18 @@ "notification.admin.report_statuses": "{name} kærði {target} fyrir {category}", "notification.admin.report_statuses_other": "{name} kærði {target}", "notification.admin.sign_up": "{name} skráði sig", + "notification.admin.sign_up.name_and_others": "{name} og {count, plural, one {# í viðbót hefur} other {# í viðbót hafa}} skráð sig", "notification.favourite": "{name} setti færsluna þína í eftirlæti", + "notification.favourite.name_and_others_with_link": "{name} og {count, plural, one {# í viðbót hefur} other {# í viðbót hafa}} sett færsluna þína í eftirlæti", "notification.follow": "{name} fylgist með þér", + "notification.follow.name_and_others": "{name} og {count, plural, one {# í viðbót fylgdist} other {# í viðbót fylgdust}} með þér", "notification.follow_request": "{name} hefur beðið um að fylgjast með þér", - "notification.mention": "{name} minntist á þig", + "notification.follow_request.name_and_others": "{name} og {count, plural, one {# í viðbót hefur} other {# í viðbót hafa}} beðið um að fylgjast með þér", + "notification.label.mention": "Minnst á", + "notification.label.private_mention": "Einkaspjall", + "notification.label.private_reply": "Einkasvar", + "notification.label.reply": "Svara", + "notification.mention": "Minnst á", "notification.moderation-warning.learn_more": "Kanna nánar", "notification.moderation_warning": "Þú hefur fengið aðvörun frá umsjónarmanni", "notification.moderation_warning.action_delete_statuses": "Sumar færslurnar þínar hafa verið fjarlægðar.", @@ -494,8 +525,8 @@ "notification.moderation_warning.action_suspend": "Notandaaðgangurinn þinn hefur verið settur í frysti.", "notification.own_poll": "Könnuninni þinni er lokið", "notification.poll": "Könnun sem þú greiddir atkvæði í er lokið", - "notification.private_mention": "{name} minntist á þig í einrúmi", "notification.reblog": "{name} endurbirti færsluna þína", + "notification.reblog.name_and_others_with_link": "{name} og {count, plural, one {# í viðbót hefur} other {# í viðbót hafa}} endurbirt færsluna þína", "notification.relationships_severance_event": "Missti tengingar við {name}", "notification.relationships_severance_event.account_suspension": "Stjórnandi á {from} hefur fryst {target}, sem þýðir að þú færð ekki lengur skilaboð frá viðkomandi né átt í samskiptum við viðkomandi.", "notification.relationships_severance_event.domain_block": "Stjórnandi á {from} hefur lokað á {target} og þar með {followersCount} fylgjendur þína auk {followingCount, plural, one {# aðgangs} other {# aðganga}} sem þú fylgist með.", @@ -504,11 +535,24 @@ "notification.status": "{name} sendi inn rétt í þessu", "notification.update": "{name} breytti færslu", "notification_requests.accept": "Samþykkja", + "notification_requests.accept_multiple": "{count, plural, one {Samþykkja # beiðni…} other {Samþykkja # beiðnir…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Samþykkja beiðni} other {Samþykkja beiðnir}}", + "notification_requests.confirm_accept_multiple.message": "Þú ert að fara að samþykkja {count, plural, one {eina beiðni um tilkynningar} other {# beiðnir um tilkynningar}}. Ertu viss um að þú viljir halda áfram?", + "notification_requests.confirm_accept_multiple.title": "Samþykkja beiðnir um tilkynningar?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Afgreiða beiðni} other {Afgreiða beiðnir}}", + "notification_requests.confirm_dismiss_multiple.message": "Þú ert að fara að hunsa {count, plural, one {eina beiðni um tilkynningar} other {# beiðnir um tilkynningar}}. Þú munt ekki eiga auðvelt með að skoða {count, plural, one {hana} other {þær}} aftur síðar. Ertu viss um að þú viljir halda áfram?", + "notification_requests.confirm_dismiss_multiple.title": "Hunsa beiðnir um tilkynningar?", "notification_requests.dismiss": "Afgreiða", + "notification_requests.dismiss_multiple": "{count, plural, one {Afgreiða # beiðni…} other {Afgreiða # beiðnir…}}", + "notification_requests.edit_selection": "Breyta", + "notification_requests.exit_selection": "Lokið", + "notification_requests.explainer_for_limited_account": "Tilkynningar frá þessum notanda hafa verið síaðar þar sem aðgangur hans hefur verið takmarkaður af umsjónarmanni.", + "notification_requests.explainer_for_limited_remote_account": "Tilkynningar frá þessum notanda hafa verið síaðar þar sem aðgangurinn eða netþjónn hans hefur verið takmarkaður af umsjónarmanni.", "notification_requests.maximize": "Hámarka", "notification_requests.minimize_banner": "Minnka borða með síuðum tilkynningum", "notification_requests.notifications_from": "Tilkynningar frá {name}", "notification_requests.title": "Síaðar tilkynningar", + "notification_requests.view": "Skoða tilkynningar", "notifications.clear": "Hreinsa tilkynningar", "notifications.clear_confirmation": "Ertu viss um að þú viljir endanlega eyða öllum tilkynningunum þínum?", "notifications.clear_title": "Hreinsa tilkynningar?", @@ -545,6 +589,14 @@ "notifications.permission_denied": "Tilkynningar á skjáborði eru ekki aðgengilegar megna áður hafnaðra beiðna fyrir vafra", "notifications.permission_denied_alert": "Ekki var hægt að virkja tilkynningar á skjáborði, þar sem heimildum fyrir vafra var áður hafnað", "notifications.permission_required": "Tilkynningar á skjáborði eru ekki aðgengilegar þar sem nauðsynlegar heimildir hafa ekki verið veittar.", + "notifications.policy.accept": "Samþykkja", + "notifications.policy.accept_hint": "Birta í tilkynningum", + "notifications.policy.drop": "Hunsa", + "notifications.policy.drop_hint": "Senda út í tómið, svo það sjáist aldrei framar", + "notifications.policy.filter": "Sía", + "notifications.policy.filter_hint": "Senda í pósthólf fyrir síaðar tilkynningar", + "notifications.policy.filter_limited_accounts_hint": "Takmarkað af umsjónarmönnum netþjóns", + "notifications.policy.filter_limited_accounts_title": "Aðgangar í umsjón", "notifications.policy.filter_new_accounts.hint": "Útbúið {days, plural, one {síðasta daginn} other {síðustu # daga}}", "notifications.policy.filter_new_accounts_title": "Nýir notendur", "notifications.policy.filter_not_followers_hint": "Þar með talið fólk sem hefur fylgst með þér í minna en {days, plural, one {einn dag} other {# daga}}", @@ -553,7 +605,7 @@ "notifications.policy.filter_not_following_title": "Fólk sem þú fylgist ekki með", "notifications.policy.filter_private_mentions_hint": "Síað nema það sé í svari við einhverju þar sem þú minntist á viðkomandi eða ef þú fylgist með sendandanum", "notifications.policy.filter_private_mentions_title": "Óumbeðið einkaspjall", - "notifications.policy.title": "Sía út tilkynningar frá…", + "notifications.policy.title": "Sýsla með tilkynningar frá…", "notifications_permission_banner.enable": "Virkja tilkynningar á skjáborði", "notifications_permission_banner.how_to_control": "Til að taka á móti tilkynningum þegar Mastodon er ekki opið, skaltu virkja tilkynningar á skjáborði. Þegar þær eru orðnar virkar geturðu stýrt nákvæmlega hverskonar atvik framleiða tilkynningar með því að nota {icon}-hnappinn hér fyrir ofan.", "notifications_permission_banner.title": "Aldrei missa af neinu", @@ -740,8 +792,6 @@ "status.favourite": "Eftirlæti", "status.favourites": "{count, plural, one {eftirlæti} other {eftirlæti}}", "status.filter": "Sía þessa færslu", - "status.filtered": "Síað", - "status.hide": "Fela færslu", "status.history.created": "{name} útbjó {date}", "status.history.edited": "{name} breytti {date}", "status.load_more": "Hlaða inn meiru", @@ -769,10 +819,7 @@ "status.report": "Kæra @{name}", "status.sensitive_warning": "Viðkvæmt efni", "status.share": "Deila", - "status.show_filter_reason": "Birta samt", - "status.show_less": "Sýna minna", "status.show_less_all": "Sýna minna fyrir allt", - "status.show_more": "Sýna meira", "status.show_more_all": "Sýna meira fyrir allt", "status.show_original": "Sýna upprunalega", "status.title.with_attachments": "{user} birti {attachmentCount, plural, one {viðhengi} other {{attachmentCount} viðhengi}}", @@ -791,10 +838,6 @@ "time_remaining.minutes": "{number, plural, one {# mínúta} other {# mínútur}} eftir", "time_remaining.moments": "Tími eftir", "time_remaining.seconds": "{number, plural, one {# sekúnda} other {# sekúndur}} eftir", - "timeline_hint.remote_resource_not_displayed": "{resource} frá öðrum netþjónum er ekki birt.", - "timeline_hint.resources.followers": "Fylgjendur", - "timeline_hint.resources.follows": "Fylgist með", - "timeline_hint.resources.statuses": "Eldri færslur", "trends.counter_by_accounts": "{count, plural, one {{counter} aðili} other {{counter} manns}} {days, plural, one {síðasta sólarhringinn} other {síðustu {days} daga}}", "trends.trending_now": "Vinsælt núna", "ui.beforeunload": "Drögin tapast ef þú ferð út úr Mastodon.", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index 3d9df8a234e..46d1fdd7ab3 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -19,7 +19,6 @@ "account.block_domain": "Blocca dominio {domain}", "account.block_short": "Blocca", "account.blocked": "Bloccato", - "account.browse_more_on_origin_server": "Sfoglia di più sul profilo originale", "account.cancel_follow_request": "Annulla la richiesta di seguire", "account.copy": "Copia link del profilo", "account.direct": "Menziona privatamente @{name}", @@ -98,6 +97,8 @@ "block_modal.title": "Bloccare l'utente?", "block_modal.you_wont_see_mentions": "Non vedrai i post che li menzionano.", "boost_modal.combo": "Puoi premere {combo} per saltare questo passaggio, la prossima volta", + "boost_modal.reblog": "Condividere il post?", + "boost_modal.undo_reblog": "Annullare la condivisione del post?", "bundle_column_error.copy_stacktrace": "Copia rapporto sull'errore", "bundle_column_error.error.body": "Impossibile rendedrizzare la pagina richiesta. Potrebbe dipendere da un bug nel nostro codice o da un problema di compatibilità di un browser.", "bundle_column_error.error.title": "Oh, no!", @@ -126,7 +127,7 @@ "column.firehose": "Feed dal vivo", "column.follow_requests": "Richieste di seguirti", "column.home": "Home", - "column.lists": "Elenchi", + "column.lists": "Liste", "column.mutes": "Utenti silenziati", "column.notifications": "Notifiche", "column.pins": "Post fissati", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "Smetti di seguire", "confirmations.unfollow.message": "Sei sicuro di voler smettere di seguire {name}?", "confirmations.unfollow.title": "Smettere di seguire l'utente?", + "content_warning.hide": "Nascondi post", + "content_warning.show": "Mostra comunque", "conversation.delete": "Elimina conversazione", "conversation.mark_as_read": "Segna come letto", "conversation.open": "Visualizza conversazione", @@ -300,6 +303,7 @@ "filter_modal.select_filter.subtitle": "Usa una categoria esistente o creane una nuova", "filter_modal.select_filter.title": "Filtra questo post", "filter_modal.title.status": "Filtra un post", + "filter_warning.matches_filter": "Corrisponde al filtro \"{title}\"", "filtered_notifications_banner.pending_requests": "Da {count, plural, =0 {nessuno} one {una persona} other {# persone}} che potresti conoscere", "filtered_notifications_banner.title": "Notifiche filtrate", "firehose.all": "Tutto", @@ -349,6 +353,14 @@ "hashtag.follow": "Segui l'hashtag", "hashtag.unfollow": "Smetti di seguire l'hashtag", "hashtags.and_other": "…e {count, plural, other {# in più}}", + "hints.profiles.followers_may_be_missing": "I seguaci per questo profilo potrebbero essere mancanti.", + "hints.profiles.follows_may_be_missing": "I profili seguiti per questo profilo potrebbero essere mancanti.", + "hints.profiles.posts_may_be_missing": "Alcuni post da questo profilo potrebbero essere mancanti.", + "hints.profiles.see_more_followers": "Vedi altri seguaci su {domain}", + "hints.profiles.see_more_follows": "Vedi altri profili seguiti su {domain}", + "hints.profiles.see_more_posts": "Vedi altri post su {domain}", + "hints.threads.replies_may_be_missing": "Le risposte da altri server potrebbero essere mancanti.", + "hints.threads.see_more": "Vedi altre risposte su {domain}", "home.column_settings.show_reblogs": "Mostra reblog", "home.column_settings.show_replies": "Mostra risposte", "home.hide_announcements": "Nascondi annunci", @@ -356,6 +368,17 @@ "home.pending_critical_update.link": "Visualizza aggiornamenti", "home.pending_critical_update.title": "Aggiornamento critico di sicurezza disponibile!", "home.show_announcements": "Mostra annunci", + "ignore_notifications_modal.disclaimer": "Mastodon non può informare gli utenti che hai ignorato le loro notifiche. Ignorare le notifiche non impedirà l'invio dei messaggi stessi.", + "ignore_notifications_modal.filter_instead": "Filtra invece", + "ignore_notifications_modal.filter_to_act_users": "Potrai comunque accettare, rifiutare o segnalare gli utenti", + "ignore_notifications_modal.filter_to_avoid_confusion": "Il filtraggio aiuta a evitare potenziali confusioni", + "ignore_notifications_modal.filter_to_review_separately": "Puoi rivedere le notifiche filtrate separatamente", + "ignore_notifications_modal.ignore": "Ignora le notifiche", + "ignore_notifications_modal.limited_accounts_title": "Ignorare le notifiche dagli account moderati?", + "ignore_notifications_modal.new_accounts_title": "Ignorare le notifiche dai nuovi account?", + "ignore_notifications_modal.not_followers_title": "Ignorare le notifiche delle persone che non ti seguono?", + "ignore_notifications_modal.not_following_title": "Ignorare le notifiche delle persone che non segui?", + "ignore_notifications_modal.private_mentions_title": "Ignorare le notifiche provenienti da menzioni private indesiderate?", "interaction_modal.description.favourite": "Con un account su Mastodon, puoi aggiungere questo post ai preferiti per far sapere all'autore che lo apprezzi e salvarlo per dopo.", "interaction_modal.description.follow": "Con un profilo di Mastodon, puoi seguire {name} per ricevere i suoi post nel feed della tua home.", "interaction_modal.description.reblog": "Con un profilo di Mastodon, puoi rebloggare questo post per condividerlo con i tuoi seguaci.", @@ -431,7 +454,7 @@ "lists.replies_policy.none": "Nessuno", "lists.replies_policy.title": "Mostra risposte a:", "lists.search": "Cerca tra le persone che segui", - "lists.subheading": "I tuoi elenchi", + "lists.subheading": "Le tue liste", "load_pending": "{count, plural, one {# nuovo oggetto} other {# nuovi oggetti}}", "loading_indicator.label": "Caricamento…", "media_gallery.toggle_visible": "{number, plural, one {Nascondi immagine} other {Nascondi immagini}}", @@ -445,9 +468,8 @@ "mute_modal.title": "Silenziare l'utente?", "mute_modal.you_wont_see_mentions": "Non vedrai i post che li menzionano.", "mute_modal.you_wont_see_posts": "Possono ancora vedere i tuoi post, ma tu non vedrai i loro.", - "name_and_others": "{name} e {count, plural, one {# un altro} other {# altri}}", - "name_and_others_with_link": "{name} e {count, plural, one {# un altro} other {# altri}}", "navigation_bar.about": "Info", + "navigation_bar.administration": "Amministrazione", "navigation_bar.advanced_interface": "Apri nell'interfaccia web avanzata", "navigation_bar.blocks": "Utenti bloccati", "navigation_bar.bookmarks": "Segnalibri", @@ -464,6 +486,7 @@ "navigation_bar.follows_and_followers": "Seguiti e seguaci", "navigation_bar.lists": "Liste", "navigation_bar.logout": "Disconnettiti", + "navigation_bar.moderation": "Moderazione", "navigation_bar.mutes": "Utenti silenziati", "navigation_bar.opened_in_classic_interface": "Post, account e altre pagine specifiche sono aperti per impostazione predefinita nella classica interfaccia web.", "navigation_bar.personal": "Personale", @@ -479,10 +502,18 @@ "notification.admin.report_statuses": "{name} ha segnalato {target} per {category}", "notification.admin.report_statuses_other": "{name} ha segnalato {target}", "notification.admin.sign_up": "{name} si è iscritto", + "notification.admin.sign_up.name_and_others": "Si sono iscritti: {name} e {count, plural, one {# altro utente} other {altri # utenti}}", "notification.favourite": "{name} ha aggiunto il tuo post ai preferiti", + "notification.favourite.name_and_others_with_link": "{name} e {count, plural, one {# altro} other {altri #}} hanno aggiunto il tuo post ai preferiti", "notification.follow": "{name} ha iniziato a seguirti", + "notification.follow.name_and_others": "{name} e {count, plural, one {# altro} other {altri #}} hanno iniziato a seguirti", "notification.follow_request": "{name} ha richiesto di seguirti", - "notification.mention": "{name} ti ha menzionato", + "notification.follow_request.name_and_others": "{name} e {count, plural, one {# altro} other {altri #}} hanno richiesto di seguirti", + "notification.label.mention": "Menziona", + "notification.label.private_mention": "Menzione privata", + "notification.label.private_reply": "Rispondi in privato", + "notification.label.reply": "Rispondi", + "notification.mention": "Menziona", "notification.moderation-warning.learn_more": "Scopri di più", "notification.moderation_warning": "Hai ricevuto un avviso di moderazione", "notification.moderation_warning.action_delete_statuses": "Alcuni dei tuoi post sono stati rimossi.", @@ -494,8 +525,8 @@ "notification.moderation_warning.action_suspend": "Il tuo account è stato sospeso.", "notification.own_poll": "Il tuo sondaggio è terminato", "notification.poll": "Un sondaggio in cui hai votato è terminato", - "notification.private_mention": "{name} ti ha citato privatamente", "notification.reblog": "{name} ha rebloggato il tuo post", + "notification.reblog.name_and_others_with_link": "{name} e {count, plural, one {# altro} other {altri #}} hanno condiviso il tuo post", "notification.relationships_severance_event": "Connessioni perse con {name}", "notification.relationships_severance_event.account_suspension": "Un amministratore da {from} ha sospeso {target}, il che significa che non puoi più ricevere aggiornamenti da loro o interagire con loro.", "notification.relationships_severance_event.domain_block": "Un amministratore da {from} ha bloccato {target}, inclusi {followersCount} dei tuoi seguaci e {followingCount, plural, one {# account} other {# account}} che segui.", @@ -504,11 +535,24 @@ "notification.status": "{name} ha appena pubblicato un post", "notification.update": "{name} ha modificato un post", "notification_requests.accept": "Accetta", + "notification_requests.accept_multiple": "{count, plural, one {Accetta # richiesta…} other {Accetta # richieste…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Accetta la richiesta} other {Accetta le richieste}}", + "notification_requests.confirm_accept_multiple.message": "Stai per accettare {count, plural, one {una richiesta di notifica} other {# richieste di notifica}}. Si è sicuri di voler procedere?", + "notification_requests.confirm_accept_multiple.title": "Accettare le richieste di notifica?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Ignora la richiesta} other {Ignora le richieste}}", + "notification_requests.confirm_dismiss_multiple.message": "Stai per ignorare {count, plural, one {una richiesta di notifica} other {# richieste di notifiche}}. Non potrai più accedere facilmente ad {count, plural, one {essa} other {esse}}. Si è sicuri di voler procedere?", + "notification_requests.confirm_dismiss_multiple.title": "Ignorare le richieste di notifica?", "notification_requests.dismiss": "Ignora", + "notification_requests.dismiss_multiple": "{count, plural, one {Ignora # richiesta…} other {Ignora # richieste…}}", + "notification_requests.edit_selection": "Modifica", + "notification_requests.exit_selection": "Fatto", + "notification_requests.explainer_for_limited_account": "Le notifiche provenienti da questo account sono state filtrate perché l'account è stato limitato da un moderatore.", + "notification_requests.explainer_for_limited_remote_account": "Le notifiche provenienti da questo account sono state filtrate perché l'account o il suo server sono stati limitati da un moderatore.", "notification_requests.maximize": "Ingrandisci", "notification_requests.minimize_banner": "Minimizza il banner delle notifiche filtrate", "notification_requests.notifications_from": "Notifiche da {name}", "notification_requests.title": "Notifiche filtrate", + "notification_requests.view": "Visualizza le notifiche", "notifications.clear": "Cancella le notifiche", "notifications.clear_confirmation": "Sei sicuro di voler cancellare permanentemente tutte le tue notifiche?", "notifications.clear_title": "Cancellare le notifiche?", @@ -545,6 +589,14 @@ "notifications.permission_denied": "Notifiche desktop non disponibili a causa della precedentemente negata richiesta di autorizzazioni del browser", "notifications.permission_denied_alert": "Impossibile abilitare le notifiche desktop, poiché l'autorizzazione del browser è stata precedentemente negata", "notifications.permission_required": "Notifiche destkop non disponibili poiché l'autorizzazione richiesta non è stata concessa.", + "notifications.policy.accept": "Accetta", + "notifications.policy.accept_hint": "Mostra nelle notifiche", + "notifications.policy.drop": "Ignora", + "notifications.policy.drop_hint": "Scarta definitivamente, per non essere mai più visto", + "notifications.policy.filter": "Filtrare", + "notifications.policy.filter_hint": "Invia alla casella in arrivo delle notifiche filtrate", + "notifications.policy.filter_limited_accounts_hint": "Limitato dai moderatori del server", + "notifications.policy.filter_limited_accounts_title": "Account moderati", "notifications.policy.filter_new_accounts.hint": "Creato {days, plural, one {un giorno} other {# giorni}} fa", "notifications.policy.filter_new_accounts_title": "Nuovi account", "notifications.policy.filter_not_followers_hint": "Incluse le persone che ti seguono da meno di {days, plural, one {un giorno} other {# giorni}}", @@ -553,7 +605,7 @@ "notifications.policy.filter_not_following_title": "Persone che non segui", "notifications.policy.filter_private_mentions_hint": "Filtrate, a meno che non sia in risposta alla tua menzione o se segui il mittente", "notifications.policy.filter_private_mentions_title": "Menzioni private indesiderate", - "notifications.policy.title": "Filtra le notifiche da…", + "notifications.policy.title": "Gestisci le notifiche da…", "notifications_permission_banner.enable": "Abilita le notifiche desktop", "notifications_permission_banner.how_to_control": "Per ricevere le notifiche quando Mastodon non è aperto, abilita le notifiche desktop. Puoi controllare precisamente quali tipi di interazioni generano le notifiche destkop, tramite il pulsante {icon} sopra, una volta abilitate.", "notifications_permission_banner.title": "Non perderti mai nulla", @@ -740,8 +792,6 @@ "status.favourite": "Preferito", "status.favourites": "{count, plural, one {preferito} other {preferiti}}", "status.filter": "Filtra questo post", - "status.filtered": "Filtrato", - "status.hide": "Nascondi il post", "status.history.created": "Creato da {name} il {date}", "status.history.edited": "Modificato da {name} il {date}", "status.load_more": "Carica altro", @@ -769,10 +819,7 @@ "status.report": "Segnala @{name}", "status.sensitive_warning": "Contenuto sensibile", "status.share": "Condividi", - "status.show_filter_reason": "Mostra comunque", - "status.show_less": "Mostra meno", "status.show_less_all": "Mostra meno per tutti", - "status.show_more": "Mostra di più", "status.show_more_all": "Mostra di più per tutti", "status.show_original": "Mostra originale", "status.title.with_attachments": "{user} ha pubblicato {attachmentCount, plural, one {un allegato} other {{attachmentCount} allegati}}", @@ -791,10 +838,6 @@ "time_remaining.minutes": "{number, plural, one {# minuto} other {# minuti}} left", "time_remaining.moments": "Restano pochi istanti", "time_remaining.seconds": "{number, plural, one {# secondo} other {# secondi}} left", - "timeline_hint.remote_resource_not_displayed": "{resource} da altri server non sono mostrati.", - "timeline_hint.resources.followers": "Seguaci", - "timeline_hint.resources.follows": "Segue", - "timeline_hint.resources.statuses": "Post meno recenti", "trends.counter_by_accounts": "{count, plural, one {{count} persona} other {{count} persone}} {days, plural, one {nell'ultimo giorno} other {negli ultimi {days} giorni}}", "trends.trending_now": "Ora in tendenza", "ui.beforeunload": "La tua bozza andrà persa, se abbandoni Mastodon.", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index 97f64b179e4..86ba4ad64d9 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -11,6 +11,7 @@ "about.not_available": "この情報はこのサーバーでは利用できません。", "about.powered_by": "{mastodon}による分散型ソーシャルメディア", "about.rules": "サーバーのルール", + "account.account_note_header": "自分用メモ", "account.add_or_remove_from_list": "リストから追加または外す", "account.badges.bot": "Bot", "account.badges.group": "Group", @@ -18,7 +19,6 @@ "account.block_domain": "{domain}全体をブロック", "account.block_short": "ブロック", "account.blocked": "ブロック済み", - "account.browse_more_on_origin_server": "リモートで表示", "account.cancel_follow_request": "フォローリクエストの取り消し", "account.copy": "プロフィールへのリンクをコピー", "account.direct": "@{name}さんに非公開でメンション", @@ -170,21 +170,30 @@ "confirmations.block.confirm": "ブロック", "confirmations.delete.confirm": "削除", "confirmations.delete.message": "本当に削除しますか?", + "confirmations.delete.title": "投稿を削除しようとしています", "confirmations.delete_list.confirm": "削除", "confirmations.delete_list.message": "本当にこのリストを完全に削除しますか?", + "confirmations.delete_list.title": "リストを削除しようとしています", "confirmations.discard_edit_media.confirm": "破棄", "confirmations.discard_edit_media.message": "メディアの説明またはプレビューに保存されていない変更があります。それでも破棄しますか?", "confirmations.edit.confirm": "編集", "confirmations.edit.message": "今編集すると現在作成中のメッセージが上書きされます。本当に実行しますか?", + "confirmations.edit.title": "作成中の内容を上書きしようとしています", "confirmations.logout.confirm": "ログアウト", "confirmations.logout.message": "本当にログアウトしますか?", + "confirmations.logout.title": "ログアウトしようとしています", "confirmations.mute.confirm": "ミュート", "confirmations.redraft.confirm": "削除して下書きに戻す", "confirmations.redraft.message": "投稿を削除して下書きに戻します。この投稿へのお気に入り登録やブーストは失われ、返信は孤立することになります。よろしいですか?", + "confirmations.redraft.title": "投稿の削除と下書きの再作成", "confirmations.reply.confirm": "返信", "confirmations.reply.message": "今返信すると現在作成中のメッセージが上書きされます。本当に実行しますか?", + "confirmations.reply.title": "作成中の内容を上書きしようとしています", "confirmations.unfollow.confirm": "フォロー解除", "confirmations.unfollow.message": "本当に{name}さんのフォローを解除しますか?", + "confirmations.unfollow.title": "フォローを解除しようとしています", + "content_warning.hide": "投稿を隠す", + "content_warning.show": "承知の上で表示", "conversation.delete": "会話を削除", "conversation.mark_as_read": "既読にする", "conversation.open": "会話を表示", @@ -292,6 +301,7 @@ "filter_modal.select_filter.subtitle": "既存のカテゴリーを使用するか新規作成します", "filter_modal.select_filter.title": "この投稿をフィルターする", "filter_modal.title.status": "投稿をフィルターする", + "filter_warning.matches_filter": "フィルター「{title}」に一致する投稿です", "filtered_notifications_banner.pending_requests": "{count, plural, =0 {すべて完了しました} other {#人の通知がブロックされています}}", "filtered_notifications_banner.title": "保留中の通知", "firehose.all": "すべて", @@ -341,6 +351,14 @@ "hashtag.follow": "ハッシュタグをフォローする", "hashtag.unfollow": "ハッシュタグのフォローを解除", "hashtags.and_other": "ほか{count, plural, other {#個}}", + "hints.profiles.followers_may_be_missing": "フォロワーの一覧は不正確な場合があります。", + "hints.profiles.follows_may_be_missing": "フォローの一覧は不正確な場合があります。", + "hints.profiles.posts_may_be_missing": "すべての投稿を表示できていない場合があります。", + "hints.profiles.see_more_followers": "{domain} で正確な情報を見る", + "hints.profiles.see_more_follows": "{domain} で正確な情報を見る", + "hints.profiles.see_more_posts": "{domain} でその他の投稿を見る", + "hints.threads.replies_may_be_missing": "リモートの返信は表示されない場合があります。", + "hints.threads.see_more": "{domain} でその他の返信を見る", "home.column_settings.show_reblogs": "ブースト表示", "home.column_settings.show_replies": "返信表示", "home.hide_announcements": "お知らせを隠す", @@ -348,6 +366,17 @@ "home.pending_critical_update.link": "詳細", "home.pending_critical_update.title": "緊急のセキュリティアップデートがあります", "home.show_announcements": "お知らせを表示", + "ignore_notifications_modal.disclaimer": "通知が無視されていることは通知の送信元の相手には伝わりません。通知が破棄されるのみで、投稿や返信の送信を止めさせる効果はありません。", + "ignore_notifications_modal.filter_instead": "「保留」に設定", + "ignore_notifications_modal.filter_to_act_users": "保留された通知は「受け入れ」「無視」を選択できます。当該ユーザーの通報も可能です", + "ignore_notifications_modal.filter_to_avoid_confusion": "通知の破棄による意図しない混乱を避けるためにも、「保留」設定の使用を検討してください", + "ignore_notifications_modal.filter_to_review_separately": "「保留」設定を使用することで、保留された通知を個別に確認できます", + "ignore_notifications_modal.ignore": "「無視」に設定", + "ignore_notifications_modal.limited_accounts_title": "本当に「モデレーションされたアカウントからの通知」を無視するようにしますか?", + "ignore_notifications_modal.new_accounts_title": "本当に「新しいアカウントからの通知」を無視するようにしますか?", + "ignore_notifications_modal.not_followers_title": "本当に「フォローされていないアカウントからの通知」を無視するようにしますか?", + "ignore_notifications_modal.not_following_title": "本当に「フォローしていないアカウントからの通知」を無視するようにしますか?", + "ignore_notifications_modal.private_mentions_title": "本当に「外部からの非公開の返信」を無視するようにしますか?", "interaction_modal.description.favourite": "Mastodonのアカウントがあれば投稿をお気に入り登録して投稿者に気持ちを伝えたり、あとで見返すことができます。", "interaction_modal.description.follow": "Mastodonのアカウントで{name}さんをフォローしてホームフィードで投稿を受け取れます。", "interaction_modal.description.reblog": "Mastodonのアカウントでこの投稿をブーストして自分のフォロワーに共有できます。", @@ -464,11 +493,14 @@ "navigation_bar.security": "セキュリティ", "not_signed_in_indicator.not_signed_in": "この機能を使うにはログインする必要があります。", "notification.admin.report": "{name}さんが{target}さんを通報しました", + "notification.admin.report_account": "{name}さんが{target}さんの投稿{count, plural, other {#件}}を「{category}」として通報しました", + "notification.admin.report_account_other": "{name}さんが{target}さんの投稿{count, plural, other {#件}}を通報しました", + "notification.admin.report_statuses": "{name}さんが{target}さんを「{category}」として通報しました", + "notification.admin.report_statuses_other": "{name}さんが{target}さんを通報しました", "notification.admin.sign_up": "{name}さんがサインアップしました", "notification.favourite": "{name}さんがお気に入りしました", "notification.follow": "{name}さんにフォローされました", "notification.follow_request": "{name}さんがあなたにフォローリクエストしました", - "notification.mention": "{name}さんがあなたに返信しました", "notification.moderation-warning.learn_more": "さらに詳しく", "notification.moderation_warning": "管理者から警告が来ています", "notification.moderation_warning.action_delete_statuses": "あなたによるいくつかの投稿が削除されました。", @@ -479,6 +511,7 @@ "notification.moderation_warning.action_silence": "あなたのアカウントは制限されています。", "notification.moderation_warning.action_suspend": "あなたのアカウントは停止されました。", "notification.own_poll": "アンケートが終了しました", + "notification.poll": "投票したアンケートが終了しました", "notification.reblog": "{name}さんがあなたの投稿をブーストしました", "notification.relationships_severance_event": "{name} との関係が失われました", "notification.relationships_severance_event.account_suspension": "{from} の管理者が {target} さんを停止したため、今後このユーザーとの交流や新しい投稿の受け取りができなくなりました。", @@ -488,12 +521,26 @@ "notification.status": "{name}さんが投稿しました", "notification.update": "{name}さんが投稿を編集しました", "notification_requests.accept": "受け入れる", + "notification_requests.accept_multiple": "{count, plural, other {選択中の#件を受け入れる}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, other {#件のアカウントを受け入れる}}", + "notification_requests.confirm_accept_multiple.message": "{count, plural, other {#件のアカウント}}に対して今後通知を受け入れるようにします。よろしいですか?", + "notification_requests.confirm_accept_multiple.title": "保留中のアカウントの受け入れ", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, other {#件のアカウントを無視する}}", + "notification_requests.confirm_dismiss_multiple.message": "{count, plural, other {#件のアカウント}}からの通知を今後無視するようにします。一度この操作を行った{count, plural, other {アカウント}}とふたたび出会うことは容易ではありません。よろしいですか?", + "notification_requests.confirm_dismiss_multiple.title": "保留中のアカウントを無視しようとしています", "notification_requests.dismiss": "無視", + "notification_requests.dismiss_multiple": "{count, plural, other {選択中の#件を無視する}}", + "notification_requests.edit_selection": "選択", + "notification_requests.exit_selection": "選択の終了", + "notification_requests.explainer_for_limited_account": "このアカウントはモデレーターにより制限が課されているため、このアカウントによる通知は保留されています", + "notification_requests.explainer_for_limited_remote_account": "このアカウントが所属するサーバーはモデレーターにより制限が課されているため、このアカウントによる通知は保留されています", "notification_requests.minimize_banner": "「保留中の通知」のバナーを最小化する", "notification_requests.notifications_from": "{name}からの通知", "notification_requests.title": "保留中の通知", + "notification_requests.view": "通知を確認", "notifications.clear": "通知を消去", "notifications.clear_confirmation": "本当に通知を消去しますか?", + "notifications.clear_title": "通知を消去しようとしています", "notifications.column_settings.admin.report": "新しい通報:", "notifications.column_settings.admin.sign_up": "新規登録:", "notifications.column_settings.alert": "デスクトップ通知", @@ -527,14 +574,22 @@ "notifications.permission_denied": "ブラウザの通知が拒否されているためデスクトップ通知は利用できません", "notifications.permission_denied_alert": "ブラウザの通知が拒否されているためデスクトップ通知を有効にできません", "notifications.permission_required": "必要な権限が付与されていないため、デスクトップ通知は利用できません。", - "notifications.policy.filter_new_accounts.hint": "作成から{days, plural, other {#日}}以内のアカウントからの通知がブロックされます", - "notifications.policy.filter_new_accounts_title": "新しいアカウントからの通知をブロックする", - "notifications.policy.filter_not_followers_hint": "フォローされていても、フォローから{days, plural, other {#日}}経っていない場合はブロックされます", - "notifications.policy.filter_not_followers_title": "フォローされていないアカウントからの通知をブロックする", - "notifications.policy.filter_not_following_hint": "手動で通知を受け入れたアカウントはブロックされません", - "notifications.policy.filter_not_following_title": "フォローしていないアカウントからの通知をブロックする", - "notifications.policy.filter_private_mentions_hint": "あなたがメンションした相手からの返信、およびフォローしているアカウントからの返信以外がブロックされます", - "notifications.policy.filter_private_mentions_title": "外部からの非公開の返信をブロックする", + "notifications.policy.accept": "受入れ", + "notifications.policy.accept_hint": "通知を表示します", + "notifications.policy.drop": "無視", + "notifications.policy.drop_hint": "通知を破棄します。再表示はできません。", + "notifications.policy.filter": "保留", + "notifications.policy.filter_hint": "「保留中の通知」に止め置きます", + "notifications.policy.filter_limited_accounts_hint": "モデレーターにより制限されたアカウントから送られる通知が対象です", + "notifications.policy.filter_limited_accounts_title": "モデレーションされたアカウントからの通知", + "notifications.policy.filter_new_accounts.hint": "作成から{days, plural, other {#日}}以内のアカウントが対象です", + "notifications.policy.filter_new_accounts_title": "新しいアカウントからの通知", + "notifications.policy.filter_not_followers_hint": "フォローされていても、フォローから{days, plural, other {#日}}経っていない場合は対象になります", + "notifications.policy.filter_not_followers_title": "フォローされていないアカウントからの通知", + "notifications.policy.filter_not_following_hint": "手動で通知を受け入れたアカウントは対象外です", + "notifications.policy.filter_not_following_title": "フォローしていないアカウントからの通知", + "notifications.policy.filter_private_mentions_hint": "あなたがメンションした相手からの返信、およびフォローしているアカウントからの返信は対象外です", + "notifications.policy.filter_private_mentions_title": "外部からの非公開の返信", "notifications.policy.title": "通知のフィルタリング", "notifications_permission_banner.enable": "デスクトップ通知を有効にする", "notifications_permission_banner.how_to_control": "Mastodonを閉じている間でも通知を受信するにはデスクトップ通知を有効にしてください。有効にすると上の {icon} ボタンから通知の内容を細かくカスタマイズできます。", @@ -662,9 +717,13 @@ "report.unfollow_explanation": "このアカウントをフォローしています。ホームフィードに彼らの投稿を表示しないようにするには、彼らのフォローを外してください。", "report_notification.attached_statuses": "{count, plural, one {{count}件の投稿} other {{count}件の投稿}}が添付されました。", "report_notification.categories.legal": "法令違反", + "report_notification.categories.legal_sentence": "法令違反", "report_notification.categories.other": "その他", + "report_notification.categories.other_sentence": "その他", "report_notification.categories.spam": "スパム", + "report_notification.categories.spam_sentence": "スパム", "report_notification.categories.violation": "ルール違反", + "report_notification.categories.violation_sentence": "ルール違反", "report_notification.open": "通報を開く", "search.no_recent_searches": "検索履歴はありません", "search.placeholder": "検索", @@ -718,8 +777,6 @@ "status.favourite": "お気に入り", "status.favourites": "{count, plural, one {お気に入り} other {お気に入り}}", "status.filter": "この投稿をフィルターする", - "status.filtered": "フィルターされました", - "status.hide": "投稿を非表示", "status.history.created": "{name}さんが{date}に作成", "status.history.edited": "{name}さんが{date}に編集", "status.load_more": "もっと見る", @@ -747,10 +804,7 @@ "status.report": "@{name}さんを通報", "status.sensitive_warning": "閲覧注意", "status.share": "共有", - "status.show_filter_reason": "表示する", - "status.show_less": "隠す", "status.show_less_all": "全て隠す", - "status.show_more": "もっと見る", "status.show_more_all": "全て見る", "status.show_original": "原文を表示", "status.title.with_attachments": "{user}さんの投稿 {attachmentCount, plural, other {({attachmentCount}件のメディア)}}", @@ -769,10 +823,6 @@ "time_remaining.minutes": "残り{number}分", "time_remaining.moments": "まもなく終了", "time_remaining.seconds": "残り{number}秒", - "timeline_hint.remote_resource_not_displayed": "他のサーバーの{resource}は表示されません。", - "timeline_hint.resources.followers": "フォロワー", - "timeline_hint.resources.follows": "フォロー", - "timeline_hint.resources.statuses": "以前の投稿", "trends.counter_by_accounts": "過去{days, plural, one {{days}日} other {{days}日}}に{count, plural, one {{counter}人} other {{counter} 人}}", "trends.trending_now": "トレンドタグ", "ui.beforeunload": "Mastodonから離れると送信前の投稿は失われます。", diff --git a/app/javascript/mastodon/locales/ka.json b/app/javascript/mastodon/locales/ka.json index a54998e92ba..5713fe60ee9 100644 --- a/app/javascript/mastodon/locales/ka.json +++ b/app/javascript/mastodon/locales/ka.json @@ -171,7 +171,6 @@ "navigation_bar.security": "უსაფრთხოება", "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "notification.follow": "{name} გამოგყვათ", - "notification.mention": "{name}-მა გასახელათ", "notification.reblog": "{name}-მა დაბუსტა თქვენი სტატუსი", "notifications.clear": "შეტყობინებების გასუფთავება", "notifications.clear_confirmation": "დარწმუნებული ხართ, გსურთ სამუდამოდ წაშალოთ ყველა თქვენი შეტყობინება?", @@ -225,7 +224,6 @@ "status.delete": "წაშლა", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.embed": "ჩართვა", - "status.filtered": "ფილტრირებული", "status.load_more": "მეტის ჩატვირთვა", "status.media_hidden": "მედია დამალულია", "status.mention": "ასახელე @{name}", @@ -245,16 +243,13 @@ "status.report": "დაარეპორტე @{name}", "status.sensitive_warning": "მგრძნობიარე კონტენტი", "status.share": "გაზიარება", - "status.show_less": "აჩვენე ნაკლები", "status.show_less_all": "აჩვენე ნაკლები ყველაზე", - "status.show_more": "აჩვენე მეტი", "status.show_more_all": "აჩვენე მეტი ყველაზე", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", "status.unmute_conversation": "საუბარზე გაჩუმების მოშორება", "status.unpin": "პროფილიდან პინის მოშორება", "tabs_bar.home": "სახლი", "tabs_bar.notifications": "შეტყობინებები", - "timeline_hint.resources.statuses": "Older toots", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "ui.beforeunload": "თქვენი დრაფტი გაუქმდება თუ დატოვებთ მასტოდონს.", "upload_area.title": "გადმოწიეთ და ჩააგდეთ ასატვირთათ", diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json index 0cf2fbcdb49..c5c0fa94c13 100644 --- a/app/javascript/mastodon/locales/kab.json +++ b/app/javascript/mastodon/locales/kab.json @@ -15,7 +15,6 @@ "account.block_domain": "Ffer kra i d-yekkan seg {domain}", "account.block_short": "Sewḥel", "account.blocked": "Yettusewḥel", - "account.browse_more_on_origin_server": "Snirem ugar deg umeɣnu aneẓli", "account.cancel_follow_request": "Sefsex taḍfart", "account.copy": "Nɣel assaɣ ɣer umaɣnu", "account.direct": "Bder-d @{name} weḥd-s", @@ -289,8 +288,8 @@ "interaction_modal.sign_in_hint": "Ihi : Wa d asmel ideg tjerdeḍ. Ma ur tecfiḍ ara, nadi imayl n ummager deg tenkult-ik·im. Tzemreḍ daɣen ad d-tefkeḍ isem-ik·im n useqdac ummid ! (amedya @Mastodon@mastodon.social)", "interaction_modal.title.follow": "Ḍfer {name}", "interaction_modal.title.reply": "Tiririt i tsuffeɣt n {name}", - "intervals.full.days": "{number, plural, one {# n wass} other {# n wussan}}", - "intervals.full.hours": "{number, plural, one {# n usarag} other {# n yesragen}}", + "intervals.full.days": "{number, plural, one {# wass} other {# wussan}}", + "intervals.full.hours": "{number, plural, one {# usarag} other {# yisragen}}", "intervals.full.minutes": "{number, plural, one {# n tesdat} other {# n tesdatin}}", "keyboard_shortcuts.back": "i tuɣalin ɣer deffir", "keyboard_shortcuts.blocked": "akken ad teldiḍ umuɣ n yimseqdacen yettwasḥebsen", @@ -391,7 +390,10 @@ "notification.favourite": "{name} yesmenyaf addad-ik·im", "notification.follow": "iṭṭafar-ik·em-id {name}", "notification.follow_request": "{name} yessuter-d ad k·m-yeḍfeṛ", - "notification.mention": "{name} yebder-ik-id", + "notification.label.private_mention": "Abdar uslig", + "notification.label.private_reply": "Tiririt tusligt", + "notification.label.reply": "Tiririt", + "notification.mention": "Abdar", "notification.moderation-warning.learn_more": "Issin ugar", "notification.moderation_warning.action_suspend": "Yettwaseḥbes umiḍan-ik.", "notification.own_poll": "Tafrant-ik·im tfuk", @@ -431,14 +433,14 @@ "notifications.group": "{count} n walɣuten", "notifications.mark_as_read": "Creḍ meṛṛa alɣuten am wakken ttwaɣran", "notifications.permission_denied": "D awezɣi ad yili wermad n walɣuten n tnarit axateṛ turagt tettwagdel", + "notifications.policy.drop": "Anef-as", "notifications.policy.filter_new_accounts.hint": "Imiḍanen imaynuten i d-yennulfan deg {days, plural, one {yiwen n wass} other {# n wussan}} yezrin", "notifications.policy.filter_new_accounts_title": "Imiḍan imaynuten", - "notifications.policy.filter_not_followers_hint": "Ula d wid akked tid i k·m-id-iḍefren, ur wwiḍen ara {days, plural, one {yiwen n wass} other {# n wussan}}", + "notifications.policy.filter_not_followers_hint": "Ula d wid akked tid i k·m-id-iḍefren, ur wwiḍen ara {days, plural, one {yiwen wass} other {# wussan}}", "notifications.policy.filter_not_followers_title": "Wid akked tid ur k·m-id-yeṭṭafaren ara", "notifications.policy.filter_not_following_hint": "Alamma tqebleḍ-ten s ufus", "notifications.policy.filter_not_following_title": "Wid akked tid ur tettḍafareḍ ara", "notifications.policy.filter_private_mentions_title": "Abdar uslig ur yettwasferken ara", - "notifications.policy.title": "Sizdeg alɣuten sɣur …", "notifications_permission_banner.enable": "Rmed alɣuten n tnarit", "notifications_permission_banner.title": "Ur zeggel acemma", "onboarding.action.back": "Tuɣalin ɣer deffir", @@ -488,7 +490,7 @@ "privacy.private.short": "Imeḍfaren", "privacy.public.long": "Kra n win yellan deg Masṭudun neɣ berra-s", "privacy.public.short": "Azayez", - "privacy.unlisted.long": "Kra kan n ilguritmen", + "privacy.unlisted.long": "Kra kan yiwarzimen", "privacy_policy.last_updated": "Aleqqem aneggaru {date}", "privacy_policy.title": "Tasertit tabaḍnit", "recommended": "Yettuwelleh", @@ -509,6 +511,7 @@ "report.categories.other": "Tiyyaḍ", "report.categories.spam": "Aspam", "report.category.subtitle": "Fren amṣada akk ufrin", + "report.category.title": "Ini-aɣ-d d acu i yuɣen {type}-a", "report.category.title_account": "ameɣnu", "report.category.title_status": "tasuffeɣt", "report.close": "Immed", @@ -538,6 +541,7 @@ "report_notification.categories.legal": "Azerfan", "report_notification.categories.other": "Ayen nniḍen", "report_notification.categories.spam": "Aspam", + "report_notification.categories.spam_sentence": "aspam", "report_notification.open": "Ldi aneqqis", "search.no_recent_searches": "Ulac inadiyen ineggura", "search.placeholder": "Nadi", @@ -580,8 +584,6 @@ "status.favourite": "Amenyaf", "status.favourites": "{count, plural, one {n usmenyaf} other {n ismenyafen}}", "status.filter": "Sizdeg tassufeɣt-a", - "status.filtered": "Yettwasizdeg", - "status.hide": "Ffer tasuffeɣt", "status.history.created": "Yerna-t {name} {date}", "status.history.edited": "Ibeddel-it {name} {date}", "status.load_more": "Sali ugar", @@ -608,10 +610,7 @@ "status.report": "Cetki ɣef @{name}", "status.sensitive_warning": "Agbur amḥulfu", "status.share": "Bḍu", - "status.show_filter_reason": "Ssken-d akken yebɣu yili", - "status.show_less": "Ssken-d drus", "status.show_less_all": "Semẓi akk tisuffɣin", - "status.show_more": "Ssken-d ugar", "status.show_more_all": "Ẓerr ugar lebda", "status.show_original": "Sken aɣbalu", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", @@ -622,16 +621,12 @@ "subscribed_languages.save": "Sekles ibeddilen", "tabs_bar.home": "Agejdan", "tabs_bar.notifications": "Alɣuten", - "time_remaining.days": "Mazal {number, plural, one {# n wass} other {# n wussan}}", - "time_remaining.hours": "Mazal {number, plural, one {# n usrag} other {# n yesragen}}", + "time_remaining.days": "Mazal {number, plural, one {# wass} other {# wussan}}", + "time_remaining.hours": "Mazal {number, plural, one {# usarag} other {# yisragen}}", "time_remaining.minutes": "Mazal {number, plural, one {# n tesdat} other {# n tesdatin}}", "time_remaining.moments": "Akuden i d-yeqqimen", "time_remaining.seconds": "Mazal {number, plural, one {# n tasint} other {# n tsinin}} id yugran", - "timeline_hint.remote_resource_not_displayed": "{resource} seg yiqeddacen-nniḍen ur d-ttwaskanent ara.", - "timeline_hint.resources.followers": "Imeḍfaṛen", - "timeline_hint.resources.follows": "T·Yeṭafaṛ", - "timeline_hint.resources.statuses": "Tisuffaɣ tiqdimin", - "trends.counter_by_accounts": "{count, plural, one {{counter} n wemdan} other {{counter} n medden}} deg {days, plural, one {ass} other {{days} n wussan}} iɛeddan", + "trends.counter_by_accounts": "{count, plural, one {{counter} wemdan} other {{counter} medden}} deg {days, plural, one {ass} other {{days} wussan}} iɛeddan", "trends.trending_now": "Ayen mucaɛen tura", "ui.beforeunload": "Arewway-ik·im ad iruḥ ma yella tefeɣ-d deg Maṣṭudun.", "units.short.billion": "{count}B", diff --git a/app/javascript/mastodon/locales/kk.json b/app/javascript/mastodon/locales/kk.json index c530ce8f6a6..85b2fdc005b 100644 --- a/app/javascript/mastodon/locales/kk.json +++ b/app/javascript/mastodon/locales/kk.json @@ -18,7 +18,6 @@ "account.block_domain": "{domain} доменін бұғаттау", "account.block_short": "Бұғаттау", "account.blocked": "Бұғатталған", - "account.browse_more_on_origin_server": "Бастапқы профильден шолу", "account.cancel_follow_request": "Withdraw follow request", "account.disable_notifications": "@{name} постары туралы ескертпеу", "account.domain_blocked": "Домен бұғатталған", @@ -244,7 +243,6 @@ "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "notification.follow": "{name} сізге жазылды", "notification.follow_request": "{name} сізге жазылғысы келеді", - "notification.mention": "{name} сізді атап өтті", "notification.own_poll": "Сауалнама аяқталды", "notification.reblog": "{name} жазбаңызды бөлісті", "notifications.clear": "Ескертпелерді тазарт", @@ -319,7 +317,6 @@ "status.detailed_status": "Толық пікірталас көрінісі", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.embed": "Embеd", - "status.filtered": "Фильтрленген", "status.load_more": "Тағы әкел", "status.media_hidden": "Жабық медиа", "status.mention": "Аталым @{name}", @@ -341,9 +338,7 @@ "status.report": "Шағым @{name}", "status.sensitive_warning": "Нәзік контент", "status.share": "Бөлісу", - "status.show_less": "Аздап көрсет", "status.show_less_all": "Бәрін аздап көрсет", - "status.show_more": "Толығырақ", "status.show_more_all": "Бәрін толығымен", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", "status.unmute_conversation": "Пікірталасты үнсіз қылмау", @@ -355,10 +350,6 @@ "time_remaining.minutes": "{number, plural, one {# минут} other {# минут}}", "time_remaining.moments": "Қалған уақыт", "time_remaining.seconds": "{number, plural, one {# секунд} other {# секунд}}", - "timeline_hint.remote_resource_not_displayed": "{resource} басқа серверлерде көрсетілмейді.", - "timeline_hint.resources.followers": "Оқырман", - "timeline_hint.resources.follows": "Жазылым", - "timeline_hint.resources.statuses": "Ескі посттары", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "trends.trending_now": "Тренд тақырыптар", "ui.beforeunload": "Mastodon желісінен шықсаңыз, нобайыңыз сақталмайды.", diff --git a/app/javascript/mastodon/locales/kn.json b/app/javascript/mastodon/locales/kn.json index 2dabae0c147..941857e25f8 100644 --- a/app/javascript/mastodon/locales/kn.json +++ b/app/javascript/mastodon/locales/kn.json @@ -101,7 +101,6 @@ "status.pinned": "Pinned toot", "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", - "timeline_hint.resources.statuses": "Older toots", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index 56d0dda7ec9..00136327840 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -19,7 +19,6 @@ "account.block_domain": "{domain} 도메인 차단", "account.block_short": "차단", "account.blocked": "차단함", - "account.browse_more_on_origin_server": "원본 프로필에서 더 탐색하기", "account.cancel_follow_request": "팔로우 취소", "account.copy": "프로필 링크 복사", "account.direct": "@{name} 님에게 개인적으로 멘션", @@ -98,6 +97,8 @@ "block_modal.title": "사용자를 차단할까요?", "block_modal.you_wont_see_mentions": "그를 멘션하는 게시물을 더는 보지 않습니다.", "boost_modal.combo": "다음엔 {combo}를 눌러서 이 과정을 건너뛸 수 있습니다", + "boost_modal.reblog": "게시물을 부스트할까요?", + "boost_modal.undo_reblog": "게시물을 부스트 취소할까요?", "bundle_column_error.copy_stacktrace": "에러 리포트 복사하기", "bundle_column_error.error.body": "요청한 페이지를 렌더링 할 수 없습니다. 저희의 코드에 버그가 있거나, 브라우저 호환성 문제일 수 있습니다.", "bundle_column_error.error.title": "으악, 안돼!", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "팔로우 해제", "confirmations.unfollow.message": "정말로 {name} 님을 팔로우 해제하시겠습니까?", "confirmations.unfollow.title": "사용자를 언팔로우 할까요?", + "content_warning.hide": "게시물 숨기기", + "content_warning.show": "무시하고 보기", "conversation.delete": "대화 삭제", "conversation.mark_as_read": "읽은 상태로 표시", "conversation.open": "대화 보기", @@ -300,6 +303,7 @@ "filter_modal.select_filter.subtitle": "기존의 카테고리를 사용하거나 새로 하나를 만듧니다", "filter_modal.select_filter.title": "이 게시물을 필터", "filter_modal.title.status": "게시물 필터", + "filter_warning.matches_filter": "\"{title}\" 필터에 걸림", "filtered_notifications_banner.pending_requests": "알 수도 있는 {count, plural, =0 {0 명} one {한 명} other {# 명}}의 사람들로부터", "filtered_notifications_banner.title": "걸러진 알림", "firehose.all": "모두", @@ -348,7 +352,15 @@ "hashtag.counter_by_uses_today": "오늘 {count, plural, other {{counter} 개의 게시물}}", "hashtag.follow": "팔로우", "hashtag.unfollow": "팔로우 해제", - "hashtags.and_other": "…그리고 {count, plural,other {#개 더}}", + "hashtags.and_other": "…그리고 {count, plural,other {# 개 더}}", + "hints.profiles.followers_may_be_missing": "이 프로필의 팔로워 목록은 일부 누락되었을 수 있습니다.", + "hints.profiles.follows_may_be_missing": "이 프로필의 팔로우 목록은 일부 누락되었을 수 있습니다.", + "hints.profiles.posts_may_be_missing": "이 프로필의 게시물은 일부 누락되었을 수 있습니다.", + "hints.profiles.see_more_followers": "{domain}에서 더 많은 팔로워 보기", + "hints.profiles.see_more_follows": "{domain}에서 더 많은 팔로우 보기", + "hints.profiles.see_more_posts": "{domain}에서 더 많은 게시물 보기", + "hints.threads.replies_may_be_missing": "다른 서버의 답글은 일부 누락되었을 수 있습니다.", + "hints.threads.see_more": "{domain}에서 더 많은 답글 보기", "home.column_settings.show_reblogs": "부스트 표시", "home.column_settings.show_replies": "답글 표시", "home.hide_announcements": "공지사항 숨기기", @@ -356,6 +368,17 @@ "home.pending_critical_update.link": "업데이트 보기", "home.pending_critical_update.title": "긴급 보안 업데이트가 있습니다!", "home.show_announcements": "공지사항 보기", + "ignore_notifications_modal.disclaimer": "마스토돈은 당신이 그들의 알림을 무시했다는 걸 알려줄 수 없습니다. 알림을 무시한다고 해서 메시지가 오지 않는 것은 아닙니다.", + "ignore_notifications_modal.filter_instead": "대신 필터로 거르기", + "ignore_notifications_modal.filter_to_act_users": "여전히 사용자를 수락, 거절, 신고할 수 있습니다", + "ignore_notifications_modal.filter_to_avoid_confusion": "필터링은 혼란을 예방하는데 도움이 될 수 있습니다", + "ignore_notifications_modal.filter_to_review_separately": "걸러진 알림들을 개별적으로 검토할 수 있습니다", + "ignore_notifications_modal.ignore": "알림 무시", + "ignore_notifications_modal.limited_accounts_title": "중재된 계정의 알림을 무시할까요?", + "ignore_notifications_modal.new_accounts_title": "새 계정의 알림을 무시할까요?", + "ignore_notifications_modal.not_followers_title": "나를 팔로우하지 않는 사람들의 알림을 무시할까요?", + "ignore_notifications_modal.not_following_title": "내가 팔로우하지 않는 사람들의 알림을 무시할까요?", + "ignore_notifications_modal.private_mentions_title": "요청하지 않은 개인 멘션 알림을 무시할까요?", "interaction_modal.description.favourite": "마스토돈 계정을 통해, 게시물을 좋아하는 것으로 작성자에게 호의를 표하고 나중에 보기 위해 저장할 수 있습니다.", "interaction_modal.description.follow": "마스토돈 계정을 통해, {name} 님을 팔로우 하고 그의 게시물을 홈 피드에서 받아 볼 수 있습니다.", "interaction_modal.description.reblog": "마스토돈 계정을 통해, 이 게시물을 부스트 하고 자신의 팔로워들에게 공유할 수 있습니다.", @@ -432,7 +455,7 @@ "lists.replies_policy.title": "답글 표시:", "lists.search": "팔로우 중인 사람들 중에서 찾기", "lists.subheading": "리스트", - "load_pending": "{count}개의 새 항목", + "load_pending": "{count, plural, other {#}} 개의 새 항목", "loading_indicator.label": "불러오는 중...", "media_gallery.toggle_visible": "이미지 숨기기", "moved_to_account_banner.text": "당신의 계정 {disabledAccount}는 {movedToAccount}로 이동하였기 때문에 현재 비활성화 상태입니다.", @@ -441,13 +464,12 @@ "mute_modal.indefinite": "내가 뮤트를 해제하기 전까지", "mute_modal.show_options": "옵션 표시", "mute_modal.they_can_mention_and_follow": "나를 멘션하거나 팔로우 할 수 있습니다, 다만 나에게 안 보일 것입니다.", - "mute_modal.they_wont_know": "내가 차단했다는 사실을 모를 것입니다.", + "mute_modal.they_wont_know": "내가 뮤트했다는 사실을 모를 것입니다.", "mute_modal.title": "사용자를 뮤트할까요?", "mute_modal.you_wont_see_mentions": "그를 멘션하는 게시물을 더는 보지 않게 됩니다.", "mute_modal.you_wont_see_posts": "내가 작성한 게시물을 볼 수는 있지만, 나는 그가 작성한 것을 보지 않게 됩니다.", - "name_and_others": "{name} 외 {count, plural, other {# 명}}", - "name_and_others_with_link": "{name} 외 {count, plural, other {# 명}}", "navigation_bar.about": "정보", + "navigation_bar.administration": "관리", "navigation_bar.advanced_interface": "고급 웹 인터페이스에서 열기", "navigation_bar.blocks": "차단한 사용자", "navigation_bar.bookmarks": "북마크", @@ -464,6 +486,7 @@ "navigation_bar.follows_and_followers": "팔로우와 팔로워", "navigation_bar.lists": "리스트", "navigation_bar.logout": "로그아웃", + "navigation_bar.moderation": "중재", "navigation_bar.mutes": "뮤트한 사용자", "navigation_bar.opened_in_classic_interface": "게시물, 계정, 기타 특정 페이지들은 기본적으로 기존 웹 인터페이스로 열리게 됩니다.", "navigation_bar.personal": "개인용", @@ -479,10 +502,18 @@ "notification.admin.report_statuses": "{name} 님이 {target}을 {category}로 신고했습니다", "notification.admin.report_statuses_other": "{name} 님이 {target}을 신고했습니다", "notification.admin.sign_up": "{name} 님이 가입했습니다", + "notification.admin.sign_up.name_and_others": "{name} 외 {count, plural, other {# 명}}이 가입했습니다", "notification.favourite": "{name} 님이 내 게시물을 좋아합니다", + "notification.favourite.name_and_others_with_link": "{name} 외 {count, plural, other {# 명}}이 내 게시물을 좋아합니다", "notification.follow": "{name} 님이 나를 팔로우했습니다", + "notification.follow.name_and_others": "{name} 외 {count, plural, other {# 명}}이 날 팔로우 했습니다", "notification.follow_request": "{name} 님이 팔로우 요청을 보냈습니다", - "notification.mention": "{name} 님의 멘션", + "notification.follow_request.name_and_others": "{name} 외 {count, plural, other {# 명}}이 나에게 팔로우 요청을 보냈습니다", + "notification.label.mention": "멘션", + "notification.label.private_mention": "개인 멘션", + "notification.label.private_reply": "개인 답글", + "notification.label.reply": "답글", + "notification.mention": "멘션", "notification.moderation-warning.learn_more": "더 알아보기", "notification.moderation_warning": "중재 경고를 받았습니다", "notification.moderation_warning.action_delete_statuses": "게시물 몇 개가 삭제되었습니다.", @@ -494,8 +525,8 @@ "notification.moderation_warning.action_suspend": "계정이 정지되었습니다.", "notification.own_poll": "설문을 마침", "notification.poll": "참여한 투표가 끝났습니다", - "notification.private_mention": "{name} 님이 나를 개인적으로 멘션했습니다", "notification.reblog": "{name} 님이 부스트했습니다", + "notification.reblog.name_and_others_with_link": "{name} 외 {count, plural, other {# 명}}이 내 게시물을 부스트했습니다", "notification.relationships_severance_event": "{name} 님과의 연결이 끊어졌습니다", "notification.relationships_severance_event.account_suspension": "{from}의 관리자가 {target}를 정지시켰기 때문에 그들과 더이상 상호작용 할 수 없고 정보를 받아볼 수 없습니다.", "notification.relationships_severance_event.domain_block": "{from}의 관리자가 {target}를 차단하였고 여기에는 나의 {followersCount} 명의 팔로워와 {followingCount, plural, other {#}} 명의 팔로우가 포함되었습니다.", @@ -504,11 +535,24 @@ "notification.status": "{name} 님이 방금 게시물을 올렸습니다", "notification.update": "{name} 님이 게시물을 수정했습니다", "notification_requests.accept": "수락", + "notification_requests.accept_multiple": "{count, plural, other {#}} 개의 요청 수락하기", + "notification_requests.confirm_accept_multiple.button": "{count, plural, other {}}요청 수락하기", + "notification_requests.confirm_accept_multiple.message": "{count, plural, other {#}} 개의 요청을 수락하려고 합니다. 계속 진행할까요?", + "notification_requests.confirm_accept_multiple.title": "알림 요청을 수락할까요?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, other {요청 지우기}}", + "notification_requests.confirm_dismiss_multiple.message": "{count, plural, other {# 개의 요청}}을 지우려고 합니다. {count, plural, other {}}다시 접근하기 어렵습니다. 계속할까요?", + "notification_requests.confirm_dismiss_multiple.title": "알림 요청을 지울까요?", "notification_requests.dismiss": "지우기", + "notification_requests.dismiss_multiple": "{count, plural, other {# 개의 요청 지우기}}", + "notification_requests.edit_selection": "편집", + "notification_requests.exit_selection": "완료", + "notification_requests.explainer_for_limited_account": "이 계정은 중재자에 의해 제한되었기 때문에 이 계정의 알림은 걸러졌습니다.", + "notification_requests.explainer_for_limited_remote_account": "이 계정 혹은 그가 속한 서버는 중재자에 의해 제한되었기 때문에 이 계정의 알림은 걸러졌습니다.", "notification_requests.maximize": "최대화", "notification_requests.minimize_banner": "걸러진 알림 배너 최소화", "notification_requests.notifications_from": "{name} 님으로부터의 알림", "notification_requests.title": "걸러진 알림", + "notification_requests.view": "알림 보기", "notifications.clear": "알림 비우기", "notifications.clear_confirmation": "정말로 알림을 삭제하시겠습니까?", "notifications.clear_title": "알림을 모두 지울까요?", @@ -545,6 +589,12 @@ "notifications.permission_denied": "권한이 거부되었기 때문에 데스크탑 알림을 활성화할 수 없음", "notifications.permission_denied_alert": "이전에 브라우저 권한이 거부되었기 때문에, 데스크탑 알림이 활성화 될 수 없습니다.", "notifications.permission_required": "필요한 권한이 승인되지 않아 데스크탑 알림을 사용할 수 없습니다.", + "notifications.policy.accept": "허용", + "notifications.policy.accept_hint": "알림 목록에 표시", + "notifications.policy.drop": "무시", + "notifications.policy.drop_hint": "공허로 보내고, 다시는 보지 않습니다", + "notifications.policy.filter": "필터", + "notifications.policy.filter_hint": "걸러진 알림 목록으로 보내기", "notifications.policy.filter_limited_accounts_hint": "서버 중재자에 의해 제한됨", "notifications.policy.filter_limited_accounts_title": "중재된 계정", "notifications.policy.filter_new_accounts.hint": "{days, plural, one {하루} other {#일}} 안에 만들어진", @@ -555,7 +605,7 @@ "notifications.policy.filter_not_following_title": "내가 팔로우하지 않는 사람들", "notifications.policy.filter_private_mentions_hint": "내가 한 멘션에 단 답글이거나 내가 발신자를 팔로우 한 것이 아닌 이상 걸러집니다", "notifications.policy.filter_private_mentions_title": "청하지 않은 개인적인 멘션", - "notifications.policy.title": "알림을 제외할 조건들…", + "notifications.policy.title": "…의 알림 설정", "notifications_permission_banner.enable": "데스크탑 알림 활성화", "notifications_permission_banner.how_to_control": "마스토돈이 열려 있지 않을 때에도 알림을 받으려면, 데스크탑 알림을 활성화 하세요. 당신은 어떤 종류의 반응이 데스크탑 알림을 발생할 지를 {icon} 버튼을 통해 세세하게 설정할 수 있습니다.", "notifications_permission_banner.title": "아무것도 놓치지 마세요", @@ -603,8 +653,8 @@ "poll.closed": "마감", "poll.refresh": "새로고침", "poll.reveal": "결과 보기", - "poll.total_people": "{count}명", - "poll.total_votes": "{count} 표", + "poll.total_people": "{count, plural, other {#}} 명", + "poll.total_votes": "{count, plural, other {#}} 표", "poll.vote": "투표", "poll.voted": "이 답변에 투표함", "poll.votes": "{votes} 표", @@ -637,7 +687,7 @@ "relative_time.minutes": "{number}분 전", "relative_time.seconds": "{number}초 전", "relative_time.today": "오늘", - "reply_indicator.attachments": "{count, plural, one {#} other {#}}개의 첨부파일", + "reply_indicator.attachments": "{count, plural, other {#}} 개의 첨부파일", "reply_indicator.cancel": "취소", "reply_indicator.poll": "투표", "report.block": "차단", @@ -737,13 +787,11 @@ "status.direct_indicator": "개인적인 멘션", "status.edit": "수정", "status.edited": "{date}에 마지막으로 편집됨", - "status.edited_x_times": "{count}번 수정됨", + "status.edited_x_times": "{count, plural, other {{count}}} 번 수정됨", "status.embed": "임베드", "status.favourite": "좋아요", "status.favourites": "{count, plural, other {좋아요}}", "status.filter": "이 게시물을 필터", - "status.filtered": "필터로 걸러짐", - "status.hide": "게시물 숨기기", "status.history.created": "{name} 님이 {date}에 처음 게시함", "status.history.edited": "{name} 님이 {date}에 수정함", "status.load_more": "더 보기", @@ -771,10 +819,7 @@ "status.report": "@{name} 신고하기", "status.sensitive_warning": "민감한 내용", "status.share": "공유", - "status.show_filter_reason": "그냥 표시하기", - "status.show_less": "접기", "status.show_less_all": "모두 접기", - "status.show_more": "펼치기", "status.show_more_all": "모두 펼치기", "status.show_original": "원본 보기", "status.title.with_attachments": "{user} 님이 {attachmentCount, plural, one {첨부파일} other {{attachmentCount}개의 첨부파일}}과 함께 게시함", @@ -793,10 +838,6 @@ "time_remaining.minutes": "{number} 분 남음", "time_remaining.moments": "남은 시간", "time_remaining.seconds": "{number} 초 남음", - "timeline_hint.remote_resource_not_displayed": "다른 서버의 {resource} 표시는 할 수 없습니다.", - "timeline_hint.resources.followers": "팔로워", - "timeline_hint.resources.follows": "팔로우", - "timeline_hint.resources.statuses": "이전 게시물", "trends.counter_by_accounts": "이전 {days}일 동안 {counter} 명의 사용자", "trends.trending_now": "지금 유행 중", "ui.beforeunload": "지금 나가면 저장되지 않은 항목을 잃게 됩니다.", @@ -819,7 +860,7 @@ "upload_modal.description_placeholder": "다람쥐 헌 쳇바퀴 타고파", "upload_modal.detect_text": "사진에서 문자 탐색", "upload_modal.edit_media": "미디어 수정", - "upload_modal.hint": "미리보기를 클릭하거나 드래그 해서 포컬 포인트를 맞추세요. 이 점은 썸네일에 항상 보여질 부분을 나타냅니다.", + "upload_modal.hint": "미리보기를 클릭하거나 드래그 해서 초점을 맞추세요. 이 점은 썸네일에서 항상 보여질 부분을 나타냅니다.", "upload_modal.preparing_ocr": "OCR 준비 중…", "upload_modal.preview_label": "미리보기 ({ratio})", "upload_progress.label": "업로드 중...", diff --git a/app/javascript/mastodon/locales/ku.json b/app/javascript/mastodon/locales/ku.json index a4a6bfc58c3..73cfa69f424 100644 --- a/app/javascript/mastodon/locales/ku.json +++ b/app/javascript/mastodon/locales/ku.json @@ -17,7 +17,6 @@ "account.block": "@{name} asteng bike", "account.block_domain": "Navpera {domain} asteng bike", "account.blocked": "Astengkirî", - "account.browse_more_on_origin_server": "Li pelên resen bêtir bigere", "account.cancel_follow_request": "Daxwaza şopandinê vekişîne", "account.direct": "Bi taybetî qale @{name} bike", "account.disable_notifications": "Êdî min agahdar neke gava @{name} diweşîne", @@ -343,7 +342,6 @@ "notification.admin.sign_up": "{name} tomar bû", "notification.follow": "{name} te şopand", "notification.follow_request": "{name} dixwazê te bişopîne", - "notification.mention": "{name} qale te kir", "notification.own_poll": "Rapirsîya te qediya", "notification.reblog": "{name} şandiya te bilind kir", "notification.status": "{name} niha şand", @@ -503,8 +501,6 @@ "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.filtered": "Parzûnkirî", - "status.hide": "Şandiyê veşêre", "status.history.created": "{name} {date} afirand", "status.history.edited": "{name} {date} serrast kir", "status.load_more": "Bêtir bar bike", @@ -529,10 +525,7 @@ "status.report": "@{name} ragihîne", "status.sensitive_warning": "Naveroka hestiyarî", "status.share": "Parve bike", - "status.show_filter_reason": "Bi her awayî nîşan bide", - "status.show_less": "Kêmtir nîşan bide", "status.show_less_all": "Ji bo hemîyan kêmtir nîşan bide", - "status.show_more": "Bêtir nîşan bide", "status.show_more_all": "Bêtir nîşan bide bo hemûyan", "status.show_original": "A resen nîşan bide", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", @@ -550,10 +543,6 @@ "time_remaining.minutes": "{number, plural, one {# xulek} other {# xulek}} maye", "time_remaining.moments": "Demên mayî", "time_remaining.seconds": "{number, plural, one {# çirke} other {# çirke}} maye", - "timeline_hint.remote_resource_not_displayed": "{resource} Ji rajekerên din nayê dîtin.", - "timeline_hint.resources.followers": "Şopîner", - "timeline_hint.resources.follows": "Dişopîne", - "timeline_hint.resources.statuses": "Şandiyên kevn", "trends.counter_by_accounts": "{count, plural, one {{counter} kes} other {{counter} kes}} berî {days, plural, one {roj} other {{days} roj}}", "trends.trending_now": "Rojev", "ui.beforeunload": "Ger ji Mastodonê veketi wê reşnivîsa te jî winda bibe.", diff --git a/app/javascript/mastodon/locales/kw.json b/app/javascript/mastodon/locales/kw.json index 657688a0bbc..0d60d09e30a 100644 --- a/app/javascript/mastodon/locales/kw.json +++ b/app/javascript/mastodon/locales/kw.json @@ -6,7 +6,6 @@ "account.block": "Lettya @{name}", "account.block_domain": "Lettya gorfarth {domain}", "account.blocked": "Lettys", - "account.browse_more_on_origin_server": "Peuri moy y'n profil derowel", "account.cancel_follow_request": "Withdraw follow request", "account.disable_notifications": "Hedhi ow gwarnya pan wra @{name} postya", "account.domain_blocked": "Gorfarth lettys", @@ -235,7 +234,6 @@ "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "notification.follow": "{name} a wrug agas holya", "notification.follow_request": "{name} a bysis agas holya", - "notification.mention": "{name} a wrug agas meneges", "notification.own_poll": "Agas sondyans a worfennas", "notification.reblog": "{name} a generthas agas post", "notification.status": "{name} a wrug nowydh postya", @@ -321,7 +319,6 @@ "status.detailed_status": "Gwel kesklapp a-vanyl", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.embed": "Staga", - "status.filtered": "Sidhlys", "status.load_more": "Karga moy", "status.media_hidden": "Myski kudhys", "status.mention": "Meneges @{name}", @@ -343,9 +340,7 @@ "status.report": "Reportya @{name}", "status.sensitive_warning": "Dalgh tender", "status.share": "Kevrenna", - "status.show_less": "Diskwedhes le", "status.show_less_all": "Diskwedhes le rag puptra", - "status.show_more": "Diskwedhes moy", "status.show_more_all": "Diskwedhes moy rag puptra", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", "status.unmute_conversation": "Antawhe kesklapp", @@ -357,10 +352,6 @@ "time_remaining.minutes": "{number, plural, one {# vynysen} other {# a vynysennow}} gesys", "time_remaining.moments": "Polsyow gesys", "time_remaining.seconds": "{number, plural, one {# eylen} other {# eylen}} gesys", - "timeline_hint.remote_resource_not_displayed": "Nyns yw {resource} a'n leurennow erel displetys.", - "timeline_hint.resources.followers": "Holyoryon", - "timeline_hint.resources.follows": "Holyansow", - "timeline_hint.resources.statuses": "Kottha postow", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "trends.trending_now": "Tuedhegus lemmyn", "ui.beforeunload": "Agas kysnkrif a vydh kellys mar kwrewgh diberth a Mastodon.", diff --git a/app/javascript/mastodon/locales/la.json b/app/javascript/mastodon/locales/la.json index 81cc9cd9983..5ef238a2bd9 100644 --- a/app/javascript/mastodon/locales/la.json +++ b/app/javascript/mastodon/locales/la.json @@ -40,7 +40,7 @@ "compose_form.direct_message_warning_learn_more": "Discere plura", "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.", - "compose_form.lock_disclaimer": "Tua ratio non est {clausa}. Quisquis te sequi potest ut visum accipiat nuntios tuos tantum pro sectatoribus.", + "compose_form.lock_disclaimer": "Tua ratio non est {locked}. Quisquis te sequi potest ut visum accipiat nuntios tuos tantum pro sectatoribus.", "compose_form.lock_disclaimer.lock": "clausum", "compose_form.placeholder": "What is on your mind?", "compose_form.publish_form": "Barrire", @@ -128,6 +128,7 @@ "lightbox.next": "Secundum", "lists.account.add": "Adde ad tabellās", "lists.new.create": "Addere tabella", + "lists.subheading": "Tuae tabulae", "load_pending": "{count, plural, one {# novum item} other {# nova itema}}", "media_gallery.toggle_visible": "{number, plural, one {Cēla imaginem} other {Cēla imagines}}", "moved_to_account_banner.text": "Tua ratione {disabledAccount} interdum reposita est, quod ad {movedToAccount} migrāvisti.", @@ -140,14 +141,13 @@ "notification.favourite": "{name} nuntium tuum favit", "notification.follow": "{name} te secutus est", "notification.follow_request": "{name} postulavit ut te sequeretur", - "notification.mention": "{name} memoravi", "notification.moderation_warning": "Accepistī monitionem moderationis.", "notification.moderation_warning.action_disable": "Ratio tua debilitata est.", "notification.moderation_warning.action_none": "Tua ratiō monitum moderātiōnis accēpit.", "notification.moderation_warning.action_sensitive": "Tua nuntia hinc sensibiliter notabuntur.", "notification.moderation_warning.action_silence": "Ratio tua est limitata.", "notification.moderation_warning.action_suspend": "Ratio tua suspensus est.", - "notification.own_poll": "Suffragium tuum terminatum est.", + "notification.own_poll": "Suffragium tuum terminatum est", "notification.reblog": "{name} tuum nuntium amplificavit.", "notification.relationships_severance_event.account_suspension": "Admin ab {from} {target} suspendit, quod significat nōn iam posse tē novitātēs ab eīs accipere aut cum eīs interagere.", "notification.relationships_severance_event.domain_block": "Admin ab {from} {target} obsēcāvit, includēns {followersCount} ex tuīs sectātōribus et {followingCount, plural, one {# ratione} other {# rationibus}} quās sequeris.", @@ -162,7 +162,7 @@ "onboarding.actions.go_to_home": "Go to your home feed", "onboarding.follows.lead": "Tua domus feed est principalis via Mastodon experīrī. Quō plūrēs persōnas sequeris, eō actīvior et interessantior erit. Ad tē incipiendum, ecce quaedam suāsiones:", "onboarding.follows.title": "Popular on Mastodon", - "onboarding.profile.display_name_hint": "Tuum nomen completum aut tuum nomen ludens...", + "onboarding.profile.display_name_hint": "Tuum nomen completum aut tuum nomen ludens…", "onboarding.start.lead": "Nunc pars es Mastodonis, singularis, socialis medii platformae decentralis ubi—non algorismus—tuam ipsius experientiam curas. Incipiāmus in nova hac socialis regione:", "onboarding.start.skip": "Want to skip right ahead?", "onboarding.start.title": "Perfecisti eam!", @@ -234,8 +234,6 @@ "time_remaining.hours": "{number, plural, one {# hora} other {# horae}} restant", "time_remaining.minutes": "{number, plural, one {# minutum} other {# minuta}} restant", "time_remaining.seconds": "{number, plural, one {# secundum} other {# secunda}} restant", - "timeline_hint.remote_resource_not_displayed": "{resource} ab aliīs servīs nōn ostenduntur.", - "timeline_hint.resources.statuses": "Contributa pristina", "trends.counter_by_accounts": "{count, plural, one {{counter} persōna} other {{counter} persōnae}} in {days, plural, one {diē prīdiē} other {diēbus praeteritīs {days}}}", "ui.beforeunload": "Si Mastodon discesseris, tua epitome peribit.", "units.short.billion": "{count} millia milionum", diff --git a/app/javascript/mastodon/locales/lad.json b/app/javascript/mastodon/locales/lad.json index 8da6cdecea0..48aeec07957 100644 --- a/app/javascript/mastodon/locales/lad.json +++ b/app/javascript/mastodon/locales/lad.json @@ -11,6 +11,7 @@ "about.not_available": "Esta enformasyon no esta desponivle en este sirvidor.", "about.powered_by": "Redes sosyalas desentralizadas kon uzo de {mastodon}", "about.rules": "Reglas del sirvidor", + "account.account_note_header": "Nota personala", "account.add_or_remove_from_list": "Adjusta a o kita de listas", "account.badges.bot": "Otomatizado", "account.badges.group": "Grupo", @@ -18,7 +19,6 @@ "account.block_domain": "Bloka el domeno {domain}", "account.block_short": "Bloka", "account.blocked": "Blokado", - "account.browse_more_on_origin_server": "Ve mas en el profil orijinal", "account.cancel_follow_request": "Anula solisitud de segir", "account.copy": "Kopia atadijo de profil", "account.direct": "Enmenta a @{name} en privado", @@ -165,21 +165,26 @@ "confirmations.block.confirm": "Bloka", "confirmations.delete.confirm": "Efasa", "confirmations.delete.message": "Estas siguro ke keres efasar esta publikasyon?", + "confirmations.delete.title": "Efasar publikasyon?", "confirmations.delete_list.confirm": "Efasa", "confirmations.delete_list.message": "Estas siguro ke keres permanentemente efasar esta lista?", + "confirmations.delete_list.title": "Efasa lista?", "confirmations.discard_edit_media.confirm": "Anula", "confirmations.discard_edit_media.message": "Tienes trokamientos no guadrados en la deskripsion o vista previa. Keres efasarlos entanto?", "confirmations.edit.confirm": "Edita", "confirmations.edit.message": "Si edites agora, kitaras el mesaj kualo estas eskriviendo aktualmente. Estas siguro ke keres fazerlo?", "confirmations.logout.confirm": "Sal", "confirmations.logout.message": "Estas siguro ke keres salir de tu kuento?", + "confirmations.logout.title": "Salir?", "confirmations.mute.confirm": "Silensia", "confirmations.redraft.confirm": "Efasa i reeskrive", "confirmations.redraft.message": "Estas siguro ke keres efasar esta publikasyon i reeskrivirla? Pedreras todos los favoritos i repartajasyones asosiados kon esta publikasyon i repuestas a eya seran guerfanadas.", + "confirmations.redraft.title": "Efasar i reeskrivir?", "confirmations.reply.confirm": "Arisponde", "confirmations.reply.message": "Si arispondas agora, kitaras el mesaj kualo estas eskriviendo aktualmente. Estas siguro ke keres fazerlo?", "confirmations.unfollow.confirm": "Desige", "confirmations.unfollow.message": "Estas siguro ke keres deshar de segir a {name}?", + "confirmations.unfollow.title": "Desige utilizador?", "conversation.delete": "Efasa konversasyon", "conversation.mark_as_read": "Marka komo meldado", "conversation.open": "Ve konversasyon", @@ -277,6 +282,7 @@ "filter_modal.select_filter.subtitle": "Kulanea una kategoria egzistente o kriya mueva", "filter_modal.select_filter.title": "Filtra esta publikasyon", "filter_modal.title.status": "Filtra una publikasyon", + "filtered_notifications_banner.pending_requests": "De {count, plural, =0 {dingun} one {una persona} other {# personas}} ke puedes koneser", "filtered_notifications_banner.title": "Avizos filtrados", "firehose.all": "Todo", "firehose.local": "Este sirvidor", @@ -330,6 +336,7 @@ "home.pending_critical_update.link": "Ve aktualizasyones", "home.pending_critical_update.title": "Aktualizasyon de seguridad kritika esta desponivle!", "home.show_announcements": "Amostra pregones", + "ignore_notifications_modal.ignore": "Inyora avizos", "interaction_modal.description.favourite": "Kon un kuento en Mastodon, puedes markar esta publikasyon komo favorita para ke el autor sepa ke te plaze i para guadrarla para dempues.", "interaction_modal.description.follow": "Kon un kuento en Mastodon, puedes segir a {name} para risivir sus publikasyones en tu linya temporal prinsipala.", "interaction_modal.description.reblog": "Kon un kuento en Mastodon, puedes repartajar esta publikasyon para amostrarla a tus suivantes.", @@ -400,7 +407,7 @@ "lists.exclusive": "Eskonder estas publikasyones de linya prinsipala", "lists.new.create": "Adjusta lista", "lists.new.title_placeholder": "Titolo de mueva lista", - "lists.replies_policy.followed": "Kualseker utilizardo segido", + "lists.replies_policy.followed": "Kualseker utilizador segido", "lists.replies_policy.list": "Miembros de la lista", "lists.replies_policy.none": "Dinguno", "lists.replies_policy.title": "Amostra repuestas a:", @@ -449,7 +456,10 @@ "notification.favourite": "A {name} le plaze tu publikasyon", "notification.follow": "{name} te ampeso a segir", "notification.follow_request": "{name} tiene solisitado segirte", - "notification.mention": "{name} te enmento", + "notification.label.mention": "Enmenta", + "notification.label.private_mention": "Enmentadura privada", + "notification.label.reply": "Arisponde", + "notification.mention": "Enmenta", "notification.moderation-warning.learn_more": "Ambezate mas", "notification.moderation_warning.action_disable": "Tu kuento tiene sido inkapasitado.", "notification.moderation_warning.action_mark_statuses_as_sensitive": "Algunas de tus publikasyones tienen sido markadas komo sensivles.", @@ -467,11 +477,14 @@ "notification_requests.dismiss": "Kita", "notification_requests.notifications_from": "Avizos de {name}", "notification_requests.title": "Avizos filtrados", + "notification_requests.view": "Amostra avizos", "notifications.clear": "Efasa avizos", "notifications.clear_confirmation": "Estas siguro ke keres permanentemente efasar todos tus avizos?", + "notifications.clear_title": "Efasar avizos?", "notifications.column_settings.admin.report": "Muveos raportos:", "notifications.column_settings.admin.sign_up": "Muevas enrejistrasyones:", "notifications.column_settings.alert": "Avizos de ensimameza", + "notifications.column_settings.beta.category": "Funksyones eksperimentalas", "notifications.column_settings.favourite": "Te plazen:", "notifications.column_settings.filter_bar.advanced": "Amostra todas las kategorias", "notifications.column_settings.filter_bar.category": "Vara de filtrado rapido", @@ -500,13 +513,16 @@ "notifications.permission_denied": "Avizos de ensimameza no estan desponivles porke ya se tiene refuzado el permiso", "notifications.permission_denied_alert": "\"No se pueden kapasitar los avizos de ensimameza, porke ya se tiene refuzado el permiso de navigador", "notifications.permission_required": "Avizos de ensimameza no estan desponivles porke los nesesarios permisos no tienen sido risividos.", + "notifications.policy.accept": "Acheta", + "notifications.policy.accept_hint": "Amostra en avizos", + "notifications.policy.drop": "Inyora", + "notifications.policy.filter": "Filtra", "notifications.policy.filter_new_accounts.hint": "Kriyadas durante {days, plural, one {el ultimo diya} other {los ultimos # diyas}}", "notifications.policy.filter_new_accounts_title": "Muevos kuentos", "notifications.policy.filter_not_followers_title": "Personas ke te no sigen", "notifications.policy.filter_not_following_hint": "Asta ke las aproves manualmente", "notifications.policy.filter_not_following_title": "Personas ke no siges", "notifications.policy.filter_private_mentions_title": "Enmentaduras privadas no solisitadas", - "notifications.policy.title": "Filtra avizos de…", "notifications_permission_banner.enable": "Kapasita avizos de ensimameza", "notifications_permission_banner.how_to_control": "Para risivir avizos kuando Mastodon no esta avierto, kapasita avizos de ensimameza. Puedes kontrolar presizamente kualos tipos de enteraksiones djeneren avizos de ensimameza kon el boton {icon} arriva kuando esten kapasitadas.", "notifications_permission_banner.title": "Nunkua te piedres niente", @@ -688,8 +704,6 @@ "status.embed": "Inkrusta", "status.favourite": "Te plaze", "status.filter": "Filtra esta publikasyon", - "status.filtered": "Filtrado", - "status.hide": "Eskonde publikasyon", "status.history.created": "{name} kriyo {date}", "status.history.edited": "{name} edito {date}", "status.load_more": "Eskarga mas", @@ -716,10 +730,7 @@ "status.report": "Raporta @{name}", "status.sensitive_warning": "Kontenido sensivle", "status.share": "Partaja", - "status.show_filter_reason": "Amostra entanto", - "status.show_less": "Amostra manko", "status.show_less_all": "Amostra manko para todo", - "status.show_more": "Amostra mas", "status.show_more_all": "Amostra mas para todo", "status.show_original": "Amostra orijinal", "status.title.with_attachments": "{user} publiko {attachmentCount, plural, one {un anekso} other {{attachmentCount} aneksos}}", @@ -738,10 +749,6 @@ "time_remaining.minutes": "{number, plural, one {# minuto restante} other {# minutos restantes}}", "time_remaining.moments": "Momentos restantes", "time_remaining.seconds": "{number, plural, one {# sigundo restante} other {# sigundos restantes}}", - "timeline_hint.remote_resource_not_displayed": "{resource} de otros sirvidores no se amostran.", - "timeline_hint.resources.followers": "Suivantes", - "timeline_hint.resources.follows": "Segidos", - "timeline_hint.resources.statuses": "Publikasyones mas viejas", "trends.counter_by_accounts": "{count, plural, one {{counter} kuento} other {{counter} kuentos}} en los ultimos {days, plural, one {diyas} other {{days} diyas}}", "trends.trending_now": "Trendes", "ui.beforeunload": "La publikasyon ke estas eskriviendo se pedrera si sales de Mastodon.", diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json index e2a7e947eb6..051fd3717cc 100644 --- a/app/javascript/mastodon/locales/lt.json +++ b/app/javascript/mastodon/locales/lt.json @@ -1,11 +1,11 @@ { "about.blocks": "Prižiūrimi serveriai", - "about.contact": "Kontaktuoti:", + "about.contact": "Kontaktai:", "about.disclaimer": "„Mastodon“ – tai nemokama atvirojo kodo programinė įranga ir „Mastodon“ gGmbH prekės ženklas.", "about.domain_blocks.no_reason_available": "Priežastis nepateikta", "about.domain_blocks.preamble": "„Mastodon“ paprastai leidžia peržiūrėti turinį ir bendrauti su naudotojais iš bet kurio kito fediverse esančio serverio. Šios yra išimtys, kurios buvo padarytos šiame konkrečiame serveryje.", - "about.domain_blocks.silenced.explanation": "Paprastai nematysi profilių ir turinio iš šio serverio, nebent jį aiškiai ieškosi arba pasirinksi jį sekdamas (-a).", - "about.domain_blocks.silenced.title": "Ribota", + "about.domain_blocks.silenced.explanation": "Paprastai nematysi profilių ir turinio iš šio serverio, nebent jį aiškiai ieškosi arba pasirinksi jį sekant.", + "about.domain_blocks.silenced.title": "Apribota", "about.domain_blocks.suspended.explanation": "Jokie duomenys iš šio serverio nebus apdorojami, saugomi ar keičiami, todėl bet kokia sąveika ar bendravimas su šio serverio naudotojais bus neįmanomas.", "about.domain_blocks.suspended.title": "Pristabdyta", "about.not_available": "Ši informacija nebuvo pateikta šiame serveryje.", @@ -16,15 +16,14 @@ "account.badges.bot": "Automatizuotas", "account.badges.group": "Grupė", "account.block": "Blokuoti @{name}", - "account.block_domain": "Blokuoti domeną {domain}", + "account.block_domain": "Blokuoti serverį {domain}", "account.block_short": "Blokuoti", "account.blocked": "Užblokuota", - "account.browse_more_on_origin_server": "Naršyti daugiau originaliame profilyje", "account.cancel_follow_request": "Atšaukti sekimą", "account.copy": "Kopijuoti nuorodą į profilį", "account.direct": "Privačiai paminėti @{name}", "account.disable_notifications": "Nustoti man pranešti, kai @{name} paskelbia", - "account.domain_blocked": "Užblokuotas domenas", + "account.domain_blocked": "Užblokuotas serveris", "account.edit_profile": "Redaguoti profilį", "account.enable_notifications": "Pranešti man, kai @{name} paskelbia", "account.endorse": "Rodyti profilyje", @@ -40,7 +39,7 @@ "account.following_counter": "{count, plural, one {{counter} sekimas} few {{counter} sekimai} many {{counter} sekimo} other {{counter} sekimų}}", "account.follows.empty": "Šis naudotojas dar nieko neseka.", "account.go_to_profile": "Eiti į profilį", - "account.hide_reblogs": "Slėpti pakėlimus iš @{name}", + "account.hide_reblogs": "Slėpti pasidalinimus iš @{name}", "account.in_memoriam": "Atminimui.", "account.joined_short": "Prisijungė", "account.languages": "Keisti prenumeruojamas kalbas", @@ -55,24 +54,24 @@ "account.muted": "Nutildytas", "account.mutual": "Bendri", "account.no_bio": "Nėra pateikto aprašymo.", - "account.open_original_page": "Atidaryti originalinį puslapį", + "account.open_original_page": "Atidaryti originalų puslapį", "account.posts": "Įrašai", "account.posts_with_replies": "Įrašai ir atsakymai", "account.report": "Pranešti apie @{name}", - "account.requested": "Laukiama patvirtinimo. Spustelėk, jei nori atšaukti sekimo prašymą", + "account.requested": "Laukiama patvirtinimo. Spustelėk, kad atšauktum sekimo prašymą", "account.requested_follow": "{name} paprašė tave sekti", "account.share": "Bendrinti @{name} profilį", - "account.show_reblogs": "Rodyti pakėlimus iš @{name}", + "account.show_reblogs": "Rodyti pasidalinimus iš @{name}", "account.statuses_counter": "{count, plural, one {{counter} įrašas} few {{counter} įrašai} many {{counter} įrašo} other {{counter} įrašų}}", "account.unblock": "Atblokuoti @{name}", - "account.unblock_domain": "Atblokuoti domeną {domain}", + "account.unblock_domain": "Atblokuoti serverį {domain}", "account.unblock_short": "Atblokuoti", "account.unendorse": "Nerodyti profilyje", "account.unfollow": "Nebesekti", "account.unmute": "Atšaukti nutildymą @{name}", "account.unmute_notifications_short": "Atšaukti nutildymą pranešimams", "account.unmute_short": "Atšaukti nutildymą", - "account_note.placeholder": "Spustelėk norint pridėti pastabą.", + "account_note.placeholder": "Spustelėk, kad pridėtum pastabą.", "admin.dashboard.daily_retention": "Naudotojų pasilikimo rodiklis pagal dieną po registracijos", "admin.dashboard.monthly_retention": "Naudotojų pasilikimo rodiklis pagal mėnesį po registracijos", "admin.dashboard.retention.average": "Vidurkis", @@ -82,8 +81,8 @@ "admin.impact_report.instance_followers": "Sekėjai, kuriuos prarastų mūsų naudotojai", "admin.impact_report.instance_follows": "Sekėjai, kuriuos prarastų jų naudotojai", "admin.impact_report.title": "Poveikio apibendrinimas", - "alert.rate_limited.message": "Bandyk vėliau po {retry_time, time, medium}.", - "alert.rate_limited.title": "Sparta ribota.", + "alert.rate_limited.message": "Bandyk vėl po {retry_time, time, medium}.", + "alert.rate_limited.title": "Sparta apribota.", "alert.unexpected.message": "Įvyko netikėta klaida.", "alert.unexpected.title": "Ups!", "announcement.announcement": "Skelbimas", @@ -94,34 +93,36 @@ "block_modal.show_more": "Rodyti daugiau", "block_modal.they_cant_mention": "Jie negali tave paminėti ar sekti.", "block_modal.they_cant_see_posts": "Jie negali matyti tavo įrašus, o tu nematysi jų.", - "block_modal.they_will_know": "Jie mato, kad yra užblokuoti.", + "block_modal.they_will_know": "Jie gali matyti, kad yra užblokuoti.", "block_modal.title": "Blokuoti naudotoją?", "block_modal.you_wont_see_mentions": "Nematysi įrašus, kuriuose jie paminimi.", "boost_modal.combo": "Galima paspausti {combo}, kad praleisti tai kitą kartą", + "boost_modal.reblog": "Pasidalinti įrašą?", + "boost_modal.undo_reblog": "Panaikinti pasidalintą įrašą?", "bundle_column_error.copy_stacktrace": "Kopijuoti klaidos ataskaitą", "bundle_column_error.error.body": "Paprašytos puslapio nepavyko atvaizduoti. Tai gali būti dėl mūsų kodo klaidos arba naršyklės suderinamumo problemos.", "bundle_column_error.error.title": "O, ne!", "bundle_column_error.network.body": "Bandant užkrauti šį puslapį įvyko klaida. Tai galėjo atsitikti dėl laikinos tavo interneto ryšio arba šio serverio problemos.", "bundle_column_error.network.title": "Tinklo klaida", "bundle_column_error.retry": "Bandyti dar kartą", - "bundle_column_error.return": "Grįžti į pagrindinį", - "bundle_column_error.routing.body": "Prašyto puslapio nepavyko rasti. Ar esi tikras (-a), kad adreso juostoje nurodytas URL adresas yra teisingas?", + "bundle_column_error.return": "Atgal į pagrindinį", + "bundle_column_error.routing.body": "Paprašyto puslapio nepavyko rasti. Ar esi tikras (-a), kad adreso juostoje nurodytas URL adresas yra teisingas?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "Uždaryti", - "bundle_modal_error.message": "Kraunant šį komponentą kažkas nepavyko.", + "bundle_modal_error.message": "Įkeliant šį komponentą kažkas nutiko ne taip.", "bundle_modal_error.retry": "Bandyti dar kartą", - "closed_registrations.other_server_instructions": "Kadangi Mastodon yra decentralizuotas, gali susikurti paskyrą kitame serveryje ir vis tiek bendrauti su šiuo serveriu.", - "closed_registrations_modal.description": "Sukurti paskyrą {domain} šiuo metu neįmanoma, bet nepamiršk, kad norint naudotis Mastodon nebūtina turėti paskyrą domene {domain}.", + "closed_registrations.other_server_instructions": "Kadangi „Mastodon“ yra decentralizuotas, gali susikurti paskyrą kitame serveryje ir vis tiek bendrauti su šiuo serveriu.", + "closed_registrations_modal.description": "Sukurti paskyrą serveryje {domain} šiuo metu neįmanoma, bet nepamiršk, kad norint naudotis „Mastodon“ nebūtina turėti paskyrą serveryje {domain}.", "closed_registrations_modal.find_another_server": "Rasti kitą serverį", - "closed_registrations_modal.preamble": "Mastodon yra decentralizuotas, todėl nesvarbu, kur susikursi paskyrą, galėsi sekti ir bendrauti su bet kuriuo šiame serveryje esančiu asmeniu. Jį gali net savarankiškai talpinti!", - "closed_registrations_modal.title": "Užsiregistruoti Mastodon", + "closed_registrations_modal.preamble": "„Mastodon“ yra decentralizuotas, todėl nesvarbu, kur susikursi paskyrą, galėsi sekti ir bendrauti su bet kuriuo šiame serveryje esančiu asmeniu. Jį gali net savarankiškai talpinti!", + "closed_registrations_modal.title": "Užsiregistruoti platformoje „Mastodon“", "column.about": "Apie", "column.blocks": "Užblokuoti naudotojai", "column.bookmarks": "Žymės", "column.community": "Vietinė laiko skalė", "column.direct": "Privatūs paminėjimai", "column.directory": "Naršyti profilius", - "column.domain_blocks": "Užblokuoti domenai", + "column.domain_blocks": "Užblokuoti serveriai", "column.favourites": "Mėgstami", "column.firehose": "Tiesioginiai srautai", "column.follow_requests": "Sekimo prašymai", @@ -131,15 +132,15 @@ "column.notifications": "Pranešimai", "column.pins": "Prisegti įrašai", "column.public": "Federacinė laiko skalė", - "column_back_button.label": "Grįžti", + "column_back_button.label": "Atgal", "column_header.hide_settings": "Slėpti nustatymus", - "column_header.moveLeft_settings": "Judinti stulpelį į kairę", - "column_header.moveRight_settings": "Judinti stulpelį į dešinę", + "column_header.moveLeft_settings": "Perkelti stulpelį į kairę", + "column_header.moveRight_settings": "Perkelti stulpelį į dešinę", "column_header.pin": "Prisegti", "column_header.show_settings": "Rodyti nustatymus", "column_header.unpin": "Atsegti", "column_subheading.settings": "Nustatymai", - "community.column_settings.local_only": "Tik vietinė", + "community.column_settings.local_only": "Tik vietinis", "community.column_settings.media_only": "Tik medija", "community.column_settings.remote_only": "Tik nuotolinis", "compose.language.change": "Keisti kalbą", @@ -148,7 +149,7 @@ "compose.published.open": "Atidaryti", "compose.saved.body": "Įrašas išsaugotas.", "compose_form.direct_message_warning_learn_more": "Sužinoti daugiau", - "compose_form.encryption_warning": "Mastodon įrašai nėra visapusiškai šifruojami. Per Mastodon nesidalyk jokia slapta informacija.", + "compose_form.encryption_warning": "„Mastodon“ įrašai nėra visapusiškai šifruojami. Per „Mastodon“ nesidalyk jokia slapta informacija.", "compose_form.hashtag_warning": "Šis įrašas nebus įtrauktas į jokį saitažodį, nes ji nėra vieša. Tik viešų įrašų galima ieškoti pagal saitažodį.", "compose_form.lock_disclaimer": "Tavo paskyra nėra {locked}. Bet kas gali sekti tave ir peržiūrėti tik sekėjams skirtus įrašus.", "compose_form.lock_disclaimer.lock": "užrakinta", @@ -157,8 +158,8 @@ "compose_form.poll.multiple": "Keli pasirinkimai", "compose_form.poll.option_placeholder": "{number} parinktis", "compose_form.poll.single": "Pasirinkti vieną", - "compose_form.poll.switch_to_multiple": "Keisti apklausą, kad būtų galima pasirinkti kelis pasirinkimus", - "compose_form.poll.switch_to_single": "Keisti apklausą, kad būtų galima pasirinkti vieną pasirinkimą", + "compose_form.poll.switch_to_multiple": "Keisti apklausą, kad būtų leidžiama pasirinkti kelis pasirinkimus", + "compose_form.poll.switch_to_single": "Keisti apklausą, kad būtų leidžiama pasirinkti vieną pasirinkimą", "compose_form.poll.type": "Stilius", "compose_form.publish": "Skelbti", "compose_form.publish_form": "Naujas įrašas", @@ -173,10 +174,10 @@ "confirmations.delete.message": "Ar tikrai nori ištrinti šį įrašą?", "confirmations.delete.title": "Ištrinti įrašą?", "confirmations.delete_list.confirm": "Ištrinti", - "confirmations.delete_list.message": "Ar tikrai nori visam laikui ištrinti šį sąrašą?", + "confirmations.delete_list.message": "Ar tikrai nori negrįžtamai ištrinti šį sąrašą?", "confirmations.delete_list.title": "Ištrinti sąrašą?", "confirmations.discard_edit_media.confirm": "Atmesti", - "confirmations.discard_edit_media.message": "Turi neišsaugotų medijos aprašymo ar peržiūros pakeitimų, vis tiek juos atmesti?", + "confirmations.discard_edit_media.message": "Turi neišsaugotų medijos aprašymo ar peržiūros pakeitimų. Vis tiek juos atmesti?", "confirmations.edit.confirm": "Redaguoti", "confirmations.edit.message": "Redaguojant dabar, bus perrašyta šiuo metu kuriama žinutė. Ar tikrai nori tęsti?", "confirmations.edit.title": "Perrašyti įrašą?", @@ -184,8 +185,8 @@ "confirmations.logout.message": "Ar tikrai nori atsijungti?", "confirmations.logout.title": "Atsijungti?", "confirmations.mute.confirm": "Nutildyti", - "confirmations.redraft.confirm": "Ištrinti ir perrašyti", - "confirmations.redraft.message": "Ar tikrai nori ištrinti šį įrašą ir parašyti jį iš naujo? Bus prarastos mėgstamai ir pakėlimai, o atsakymai į originalinį įrašą taps liekamojais.", + "confirmations.redraft.confirm": "Ištrinti ir iš naujo parengti", + "confirmations.redraft.message": "Ar tikrai nori ištrinti šį įrašą ir parengti jį iš naujo? Bus prarasti mėgstami ir pasidalinimai, o atsakymai į originalų įrašą bus panaikinti.", "confirmations.redraft.title": "Ištrinti ir iš naujo parengti įrašą?", "confirmations.reply.confirm": "Atsakyti", "confirmations.reply.message": "Atsakant dabar, bus perrašyta šiuo metu kuriama žinutė. Ar tikrai nori tęsti?", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "Nebesekti", "confirmations.unfollow.message": "Ar tikrai nori nebesekti {name}?", "confirmations.unfollow.title": "Nebesekti naudotoją?", + "content_warning.hide": "Slėpti įrašą", + "content_warning.show": "Rodyti vis tiek", "conversation.delete": "Ištrinti pokalbį", "conversation.mark_as_read": "Žymėti kaip skaitytą", "conversation.open": "Peržiūrėti pokalbį", @@ -203,33 +206,33 @@ "directory.federated": "Iš žinomų fediversų", "directory.local": "Tik iš {domain}", "directory.new_arrivals": "Nauji atvykėliai", - "directory.recently_active": "Neseniai aktyvus (-i)", + "directory.recently_active": "Neseniai aktyvus", "disabled_account_banner.account_settings": "Paskyros nustatymai", - "disabled_account_banner.text": "Tavo paskyra {disabledAccount} šiuo metu yra išjungta.", + "disabled_account_banner.text": "Tavo paskyra {disabledAccount} šiuo metu išjungta.", "dismissable_banner.community_timeline": "Tai – naujausi vieši įrašai iš žmonių, kurių paskyros talpinamos {domain}.", "dismissable_banner.dismiss": "Atmesti", "dismissable_banner.explore_links": "Tai – naujienos, kuriomis šiandien daugiausiai bendrinamasi socialiniame žiniatinklyje. Naujesnės naujienų istorijos, kurias paskelbė daugiau skirtingų žmonių, vertinamos aukščiau.", - "dismissable_banner.explore_statuses": "Tai – įrašai iš viso socialinio žiniatinklio, kurie šiandien sulaukia daug dėmesio. Naujesni įrašai, turintys daugiau pakėlimų ir mėgstamų, vertinami aukščiau.", + "dismissable_banner.explore_statuses": "Tai – įrašai iš viso socialinio žiniatinklio, kurie šiandien sulaukia daug dėmesio. Naujesni įrašai, turintys daugiau pasidalinimų ir mėgstamų, vertinami aukščiau.", "dismissable_banner.explore_tags": "Tai – saitažodžiai, kurie šiandien sulaukia daug dėmesio socialiniame žiniatinklyje. Saitažodžiai, kuriuos naudoja daugiau skirtingų žmonių, vertinami aukščiau.", "dismissable_banner.public_timeline": "Tai – naujausi vieši įrašai iš žmonių socialiniame žiniatinklyje, kuriuos seka {domain} žmonės.", "domain_block_modal.block": "Blokuoti serverį", - "domain_block_modal.block_account_instead": "Blokuoti {name} vietoj to", - "domain_block_modal.they_can_interact_with_old_posts": "Žmonės iš šio serverio gali sąveikauti su tavo senomis įrašomis.", + "domain_block_modal.block_account_instead": "Blokuoti @{name} vietoj to", + "domain_block_modal.they_can_interact_with_old_posts": "Žmonės iš šio serverio gali bendrauti su tavo senomis įrašomis.", "domain_block_modal.they_cant_follow": "Niekas iš šio serverio negali tavęs sekti.", "domain_block_modal.they_wont_know": "Jie nežinos, kad buvo užblokuoti.", - "domain_block_modal.title": "Blokuoti domeną?", + "domain_block_modal.title": "Blokuoti serverį?", "domain_block_modal.you_will_lose_followers": "Visi tavo sekėjai iš šio serverio bus pašalinti.", "domain_block_modal.you_wont_see_posts": "Nematysi naudotojų įrašų ar pranešimų šiame serveryje.", - "domain_pill.activitypub_lets_connect": "Tai leidžia tau prisijungti ir bendrauti su žmonėmis ne tik Mastodon, bet ir įvairiose socialinėse programėlėse.", - "domain_pill.activitypub_like_language": "ActivityPub – tai tarsi kalba, kuria Mastodon kalba su kitais socialiniais tinklais.", + "domain_pill.activitypub_lets_connect": "Tai leidžia tau prisijungti ir bendrauti su žmonėmis ne tik „Mastodon“ platformoje, bet ir įvairiose socialinėse programėlėse.", + "domain_pill.activitypub_like_language": "„ActivityPub“ – tai tarsi kalba, kuria „Mastodon“ kalba su kitais socialiniais tinklais.", "domain_pill.server": "Serveris", "domain_pill.their_handle": "Jų socialinis medijos vardas:", "domain_pill.their_server": "Jų skaitmeniniai namai, kuriuose saugomi visi jų įrašai.", - "domain_pill.their_username": "Jų unikalus identifikatorius jų serveryje. Skirtinguose serveriuose galima rasti naudotojų, turinčių tą patį naudotojo vardą.", + "domain_pill.their_username": "Jų unikalus identifikatorius jų serveryje. Skirtinguose serveriuose galima rasti naudotojų su tuo pačiu naudotojo vardu.", "domain_pill.username": "Naudotojo vardas", "domain_pill.whats_in_a_handle": "Kas yra socialiniame medijos varde?", - "domain_pill.who_they_are": "Kadangi socialines medijos vardai nurodo, kas žmogus yra ir kur jie yra, gali sąveikauti su žmonėmis visame socialiniame žiniatinklyje, kurį sudaro .", - "domain_pill.who_you_are": "Kadangi tavo socialinis medijos vardas nurodo, kas esi ir kur esi, žmonės gali sąveikauti su tavimi visame socialiniame tinkle, kurį sudaro .", + "domain_pill.who_they_are": "Kadangi socialines medijos vardai pasako, kas ir kur jie yra, galima bendrauti su žmonėmis visame socialiniame žiniatinklyje, kurį sudaro .", + "domain_pill.who_you_are": "Kadangi tavo socialinis medijos vardas pasako, kas ir kur esi, žmonės gali bendrauti su tavimi visame socialiniame žiniatinklyje, kurį sudaro .", "domain_pill.your_handle": "Tavo socialinis medijos vardas:", "domain_pill.your_server": "Tavo skaitmeniniai namai, kuriuose saugomi visi tavo įrašai. Nepatinka šis? Bet kada perkelk serverius ir atsivesk ir savo sekėjus.", "domain_pill.your_username": "Tavo unikalus identifikatorius šiame serveryje. Skirtinguose serveriuose galima rasti naudotojų su tuo pačiu naudotojo vardu.", @@ -258,7 +261,7 @@ "empty_column.bookmarked_statuses": "Dar neturi nė vienos įrašo pridėtos žymės. Kai vieną iš jų pridėsi į žymes, jis bus rodomas čia.", "empty_column.community": "Vietinė laiko skalė yra tuščia. Parašyk ką nors viešai, kad pradėtum sąveikauti.", "empty_column.direct": "Dar neturi jokių privačių paminėjimų. Kai išsiųsi arba gausi vieną iš jų, jis bus rodomas čia.", - "empty_column.domain_blocks": "Dar nėra užblokuotų domenų.", + "empty_column.domain_blocks": "Kol kas nėra užblokuotų serverių.", "empty_column.explore_statuses": "Šiuo metu niekas nėra tendencinga. Patikrink vėliau!", "empty_column.favourited_statuses": "Dar neturi mėgstamų įrašų. Kai vieną iš jų pamėgsi, jis bus rodomas čia.", "empty_column.favourites": "Šio įrašo dar niekas nepamėgo. Kai kas nors tai padarys, jie bus rodomi čia.", @@ -300,6 +303,8 @@ "filter_modal.select_filter.subtitle": "Naudok esamą kategoriją arba sukurk naują.", "filter_modal.select_filter.title": "Filtruoti šį įrašą", "filter_modal.title.status": "Filtruoti įrašą", + "filter_warning.matches_filter": "Atitinka filtrą „{title}“", + "filtered_notifications_banner.pending_requests": "Iš {count, plural, =0 {nė vieno} one {žmogaus} few {# žmonių} many {# žmonių} other {# žmonių}}, kuriuos galbūt pažįsti", "filtered_notifications_banner.title": "Filtruojami pranešimai", "firehose.all": "Visi", "firehose.local": "Šis serveris", @@ -348,6 +353,14 @@ "hashtag.follow": "Sekti saitažodį", "hashtag.unfollow": "Nebesekti saitažodį", "hashtags.and_other": "…ir {count, plural, one {# daugiau} few {# daugiau} many {# daugiau}other {# daugiau}}", + "hints.profiles.followers_may_be_missing": "Sekėjai šiai profiliui gali būti nepateikti.", + "hints.profiles.follows_may_be_missing": "Sekimai šiai profiliui gali būti nepateikti.", + "hints.profiles.posts_may_be_missing": "Kai kurie įrašai iš šio profilio gali būti nepateikti.", + "hints.profiles.see_more_followers": "Žiūrėti daugiau sekėjų serveryje {domain}", + "hints.profiles.see_more_follows": "Žiūrėti daugiau sekimų serveryje {domain}", + "hints.profiles.see_more_posts": "Žiūrėti daugiau įrašų serveryje {domain}", + "hints.threads.replies_may_be_missing": "Atsakymai iš kitų serverių gali būti nepateikti.", + "hints.threads.see_more": "Žiūrėti daugiau atsakymų serveryje {domain}", "home.column_settings.show_reblogs": "Rodyti pakėlimus", "home.column_settings.show_replies": "Rodyti atsakymus", "home.hide_announcements": "Slėpti skelbimus", @@ -355,6 +368,17 @@ "home.pending_critical_update.link": "Žiūrėti naujinimus", "home.pending_critical_update.title": "Galimas kritinis saugumo naujinimas.", "home.show_announcements": "Rodyti skelbimus", + "ignore_notifications_modal.disclaimer": "„Mastodon“ negali informuoti naudotojų, kad ignoravai jų pranešimus. Ignoravus pranešimus, pačių pranešimų siuntimas nebus sustabdytas.", + "ignore_notifications_modal.filter_instead": "Filtruoti vietoj to", + "ignore_notifications_modal.filter_to_act_users": "Vis dar galėsi priimti, atmesti arba pranešti naudotojus.", + "ignore_notifications_modal.filter_to_avoid_confusion": "Filtravimas padeda išvengti galimos painiavos.", + "ignore_notifications_modal.filter_to_review_separately": "Filtruotus pranešimus gali peržiūrėti atskirai.", + "ignore_notifications_modal.ignore": "Ignoruoti pranešimus", + "ignore_notifications_modal.limited_accounts_title": "Ignoruoti pranešimus iš prižiūrėmų paskyrų?", + "ignore_notifications_modal.new_accounts_title": "Ignoruoti pranešimus iš naujų paskyrų?", + "ignore_notifications_modal.not_followers_title": "Ignoruoti pranešimus iš žmonių, kurie tave neseka?", + "ignore_notifications_modal.not_following_title": "Ignoruoti pranešimus iš žmonių, kuriuos neseki?", + "ignore_notifications_modal.private_mentions_title": "Ignoruoti pranešimus iš neprašytų privačių paminėjimų?", "interaction_modal.description.favourite": "Su Mastodon paskyra gali pamėgti šį įrašą, kad autorius (-ė) žinotų, jog vertinti tai ir išsaugoti jį vėliau.", "interaction_modal.description.follow": "Su Mastodon paskyra gali sekti {name}, kad gautum jų įrašus į pagrindinį srautą.", "interaction_modal.description.reblog": "Su Mastodon paskyra gali pakelti šią įrašą ir pasidalyti juo su savo sekėjais.", @@ -444,9 +468,8 @@ "mute_modal.title": "Nutildyti naudotoją?", "mute_modal.you_wont_see_mentions": "Nematysi įrašus, kuriuose jie paminimi.", "mute_modal.you_wont_see_posts": "Jie vis tiek gali matyti tavo įrašus, bet tu nematysi jų.", - "name_and_others": "{name} ir {count, plural, one {# kitas} few {# kiti} many {# kito} other {# kitų}}", - "name_and_others_with_link": "{name} ir {count, plural, one {# kitas} few {# kiti} many {# kito} other {# kitų}}", "navigation_bar.about": "Apie", + "navigation_bar.administration": "Administravimas", "navigation_bar.advanced_interface": "Atidaryti išplėstinę žiniatinklio sąsają", "navigation_bar.blocks": "Užblokuoti naudotojai", "navigation_bar.bookmarks": "Žymės", @@ -463,6 +486,7 @@ "navigation_bar.follows_and_followers": "Sekimai ir sekėjai", "navigation_bar.lists": "Sąrašai", "navigation_bar.logout": "Atsijungti", + "navigation_bar.moderation": "Prižiūrėjimas", "navigation_bar.mutes": "Nutildyti naudotojai", "navigation_bar.opened_in_classic_interface": "Įrašai, paskyros ir kiti konkretūs puslapiai pagal numatytuosius nustatymus atidaromi klasikinėje žiniatinklio sąsajoje.", "navigation_bar.personal": "Asmeninis", @@ -481,7 +505,11 @@ "notification.favourite": "{name} pamėgo tavo įrašą", "notification.follow": "{name} seka tave", "notification.follow_request": "{name} paprašė tave sekti", - "notification.mention": "{name} paminėjo tave", + "notification.label.mention": "Paminėjimas", + "notification.label.private_mention": "Privatus paminėjimas", + "notification.label.private_reply": "Privatus atsakymas", + "notification.label.reply": "Atsakymas", + "notification.mention": "Paminėjimas", "notification.moderation-warning.learn_more": "Sužinoti daugiau", "notification.moderation_warning": "Gavai prižiūrėjimo įspėjimą", "notification.moderation_warning.action_delete_statuses": "Kai kurie tavo įrašai buvo pašalintos.", @@ -493,7 +521,6 @@ "notification.moderation_warning.action_suspend": "Tavo paskyra buvo sustabdyta.", "notification.own_poll": "Tavo apklausa baigėsi", "notification.poll": "Baigėsi apklausa, kurioje balsavai", - "notification.private_mention": "{name} privačiai paminėjo tave", "notification.reblog": "{name} pakėlė tavo įrašą", "notification.relationships_severance_event": "Prarasti sąryšiai su {name}", "notification.relationships_severance_event.learn_more": "Sužinoti daugiau", @@ -501,9 +528,24 @@ "notification.status": "{name} ką tik paskelbė", "notification.update": "{name} redagavo įrašą", "notification_requests.accept": "Priimti", + "notification_requests.accept_multiple": "{count, plural, one {Priimti # prašymą…} few {Priimti # prašymus…} many {Priimti # prašymo…} other {Priimti # prašymų…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Priimti prašymą} few {Priimti prašymus} many {Priimti prašymo} other {Priimti prašymų}}", + "notification_requests.confirm_accept_multiple.message": "Ketini priimti {count, plural, one {# pranešimo prašymą} few {# pranešimų prašymus} many {# pranešimo prašymo} other {# pranešimų prašymų}}. Ar tikrai nori tęsti?", + "notification_requests.confirm_accept_multiple.title": "Priimti pranešimų prašymus?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Atmesti prašymą} few {Atmesti prašymus} many {Atmesti prašymo} other {Atmesti prašymų}}", + "notification_requests.confirm_dismiss_multiple.message": "Ketini atmesti {count, plural, one {# pranešimo prašymą} few {# pranešimų prašymus} many {# pranešimo prašymo} other {# pranešimų prašymų}}. Daugiau negalėsi lengvai pasiekti {count, plural, one {jo} few {jų} many {juos} other {jų}}. Ar tikrai nori tęsti?", + "notification_requests.confirm_dismiss_multiple.title": "Atmesti pranešimų prašymus?", "notification_requests.dismiss": "Atmesti", + "notification_requests.dismiss_multiple": "{count, plural, one {Atmesti prašymą…} few {Atmesti prašymus…} many {Atmesti prašymo…} other {Atmesti prašymų…}}", + "notification_requests.edit_selection": "Redaguoti", + "notification_requests.exit_selection": "Atlikta", + "notification_requests.explainer_for_limited_account": "Pranešimai iš šios paskyros buvo filtruojami, nes prižiūrėtojas (-a) apribojo paskyrą.", + "notification_requests.explainer_for_limited_remote_account": "Pranešimai iš šios paskyros buvo filtruojami, nes prižiūrėtojas (-a) apribojo paskyrą arba serverį.", + "notification_requests.maximize": "Padidinti", + "notification_requests.minimize_banner": "Mažinti filtruotų pranešimų reklamjuostę", "notification_requests.notifications_from": "Pranešimai iš {name}", "notification_requests.title": "Filtruojami pranešimai", + "notification_requests.view": "Peržiūrėti pranešimus", "notifications.clear": "Išvalyti pranešimus", "notifications.clear_confirmation": "Ar tikrai nori visam laikui išvalyti visus pranešimus?", "notifications.clear_title": "Valyti pranešimus?", @@ -540,12 +582,20 @@ "notifications.permission_denied": "Darbalaukio pranešimai nepasiekiami dėl anksčiau atmestos naršyklės leidimų užklausos.", "notifications.permission_denied_alert": "Negalima įjungti darbalaukio pranešimų, nes prieš tai naršyklės leidimas buvo atmestas.", "notifications.permission_required": "Darbalaukio pranešimai nepasiekiami, nes nebuvo suteiktas reikiamas leidimas.", + "notifications.policy.accept": "Priimti", + "notifications.policy.accept_hint": "Rodyti pranešimuose", + "notifications.policy.drop": "Ignoruoti", + "notifications.policy.drop_hint": "Siųsti į tuštumą, kad daugiau niekada nebepasirodytų", + "notifications.policy.filter": "Filtruoti", + "notifications.policy.filter_hint": "Siųsti į filtruotų pranešimų gautiejus", + "notifications.policy.filter_limited_accounts_hint": "Apribota serverio prižiūrėtojų", + "notifications.policy.filter_limited_accounts_title": "Prižiūrėmi paskyrai", "notifications.policy.filter_new_accounts.hint": "Sukurta per {days, plural, one {vieną dieną} few {# dienas} many {# dienos} other {# dienų}}", "notifications.policy.filter_new_accounts_title": "Naujos paskyros", "notifications.policy.filter_not_following_hint": "Kol jų nepatvirtinsi rankiniu būdu", "notifications.policy.filter_not_following_title": "Žmonių, kuriuos neseki", "notifications.policy.filter_private_mentions_title": "Nepageidaujami privatūs paminėjimai", - "notifications.policy.title": "Filtruoti pranešimus iš…", + "notifications.policy.title": "Tvarkyti pranešimus iš…", "notifications_permission_banner.enable": "Įjungti darbalaukio pranešimus", "notifications_permission_banner.how_to_control": "Jei nori gauti pranešimus, kai Mastodon nėra atidarytas, įjunk darbalaukio pranešimus. Įjungęs (-usi) darbalaukio pranešimus, gali tiksliai valdyti, kokių tipų sąveikos generuoja darbalaukio pranešimus, naudojant pirmiau esančiu mygtuku {icon}.", "notifications_permission_banner.title": "Niekada nieko nepraleisk", @@ -732,8 +782,6 @@ "status.favourite": "Pamėgti", "status.favourites": "{count, plural, one {mėgstamas} few {mėgstamai} many {mėgstamų} other {mėgstamų}}", "status.filter": "Filtruoti šį įrašą", - "status.filtered": "Filtruota", - "status.hide": "Slėpti įrašą", "status.history.created": "{name} sukurta {date}", "status.history.edited": "{name} redaguota {date}", "status.load_more": "Krauti daugiau", @@ -760,10 +808,7 @@ "status.report": "Pranešti apie @{name}", "status.sensitive_warning": "Jautrus turinys", "status.share": "Bendrinti", - "status.show_filter_reason": "Rodyti vis tiek", - "status.show_less": "Rodyti mažiau", "status.show_less_all": "Rodyti mažiau visiems", - "status.show_more": "Rodyti daugiau", "status.show_more_all": "Rodyti daugiau visiems", "status.show_original": "Rodyti originalą", "status.title.with_attachments": "{user} paskelbė {attachmentCount, plural, one {priedą} few {{attachmentCount} priedus} many {{attachmentCount} priedo} other {{attachmentCount} priedų}}", @@ -782,10 +827,6 @@ "time_remaining.minutes": "liko {number, plural, one {# minutė} few {# minutės} many {# minutės} other {# minučių}}", "time_remaining.moments": "liko akimirkos", "time_remaining.seconds": "liko {number, plural, one {# sekundė} few {# sekundės} many {# sekundės} other {# sekundžių}}", - "timeline_hint.remote_resource_not_displayed": "{resource} iš kitų serverių nerodomi.", - "timeline_hint.resources.followers": "Sekėjai", - "timeline_hint.resources.follows": "Seka", - "timeline_hint.resources.statuses": "Senesni įrašai", "trends.counter_by_accounts": "{count, plural, one {{counter} žmogus} few {{counter} žmonės} many {{counter} žmogus} other {{counter} žmonių}} per {days, plural, one {dieną} few {{days} dienas} many {{days} dienas} other {{days} dienų}}", "trends.trending_now": "Tendencinga dabar", "ui.beforeunload": "Jei paliksi Mastodon, tavo juodraštis bus prarastas.", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index f1c065b92a0..6cd15afbec4 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -18,7 +18,6 @@ "account.block_domain": "Bloķēt domēnu {domain}", "account.block_short": "Bloķēt", "account.blocked": "Bloķēts", - "account.browse_more_on_origin_server": "Pārlūkot vairāk sākotnējā profilā", "account.cancel_follow_request": "Atsaukt sekošanas pieprasījumu", "account.copy": "Ievietot saiti uz profilu starpliktuvē", "account.direct": "Pieminēt @{name} privāti", @@ -426,7 +425,6 @@ "notification.favourite": "{name} pievienoja tavu ziņu izlasei", "notification.follow": "{name} uzsāka Tev sekot", "notification.follow_request": "{name} nosūtīja Tev sekošanas pieprasījumu", - "notification.mention": "{name} pieminēja Tevi", "notification.moderation-warning.learn_more": "Uzzināt vairāk", "notification.moderation_warning.action_delete_statuses": "Daži no Taviem ierakstiem tika noņemti.", "notification.moderation_warning.action_disable": "Tavs konts tika atspējots.", @@ -481,7 +479,6 @@ "notifications.policy.filter_not_followers_title": "Cilvēki, kuri Tev neseko", "notifications.policy.filter_not_following_hint": "Līdz tos pašrocīgi apstiprināsi", "notifications.policy.filter_not_following_title": "Cilvēki, kuriem Tu neseko", - "notifications.policy.title": "Atlasīt paziņojumus no…", "notifications_permission_banner.enable": "Iespējot darbvirsmas paziņojumus", "notifications_permission_banner.how_to_control": "Lai saņemtu paziņojumus, kad Mastodon nav atvērts, iespējo darbvirsmas paziņojumus. Vari precīzi kontrolēt, kāda veida mijiedarbības rada darbvirsmas paziņojumus, izmantojot augstāk redzamo pogu {icon}, kad tie būs iespējoti.", "notifications_permission_banner.title": "Nekad nepalaid neko garām", @@ -657,8 +654,6 @@ "status.favourite": "Izlasē", "status.favourites": "{count, plural, zero {izlasēs} one {izlasē} other {izlasēs}}", "status.filter": "Filtrē šo ziņu", - "status.filtered": "Filtrēts", - "status.hide": "Slēpt ierakstu", "status.history.created": "{name} izveidoja {date}", "status.history.edited": "{name} laboja {date}", "status.load_more": "Ielādēt vairāk", @@ -686,10 +681,7 @@ "status.report": "Ziņot par @{name}", "status.sensitive_warning": "Sensitīvs saturs", "status.share": "Kopīgot", - "status.show_filter_reason": "Tomēr rādīt", - "status.show_less": "Rādīt mazāk", "status.show_less_all": "Rādīt mazāk visiem", - "status.show_more": "Rādīt vairāk", "status.show_more_all": "Rādīt vairāk visiem", "status.show_original": "Rādīt oriģinālu", "status.title.with_attachments": "{user} publicējis {attachmentCount, plural, one {pielikumu} other {{attachmentCount} pielikumus}}", @@ -708,10 +700,6 @@ "time_remaining.minutes": "{number, plural, one {Atlikusi # minūte} other {Atlikušas # minūtes}}", "time_remaining.moments": "Atlikuši daži mirkļi", "time_remaining.seconds": "Atlikušas {number, plural, one {# sekunde} other {# sekundes}}", - "timeline_hint.remote_resource_not_displayed": "{resource} no citiem serveriem nav parādīti.", - "timeline_hint.resources.followers": "Sekotāji", - "timeline_hint.resources.follows": "Seko", - "timeline_hint.resources.statuses": "Vecāki ieraksti", "trends.counter_by_accounts": "{count, plural, zero {{counter} cilvēku} one {{counter} cilvēks} other {{counter} cilvēki}} {days, plural, one {{day} dienā} other {{days} dienās}}", "trends.trending_now": "Pašlaik populāri", "ui.beforeunload": "Ja pametīsit Mastodonu, jūsu melnraksts tiks zaudēts.", diff --git a/app/javascript/mastodon/locales/mk.json b/app/javascript/mastodon/locales/mk.json index 5c8b752cf96..084a94cc14a 100644 --- a/app/javascript/mastodon/locales/mk.json +++ b/app/javascript/mastodon/locales/mk.json @@ -245,7 +245,6 @@ "time_remaining.minutes": "{number, plural, one {# минута} other {# минути}} {number, plural, one {остана} other {останаа}}", "time_remaining.moments": "Уште некои мига", "time_remaining.seconds": "{number, plural, one {# секунда} other {# секунди}} {number, plural, one {остана} other {останаа}}", - "timeline_hint.resources.statuses": "Older toots", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", diff --git a/app/javascript/mastodon/locales/ml.json b/app/javascript/mastodon/locales/ml.json index d929b1f461c..48ea29f9836 100644 --- a/app/javascript/mastodon/locales/ml.json +++ b/app/javascript/mastodon/locales/ml.json @@ -11,7 +11,6 @@ "account.block": "@{name} -നെ തടയുക", "account.block_domain": "{domain} എന്ന മേഖല തടയുക", "account.blocked": "തടഞ്ഞു", - "account.browse_more_on_origin_server": "യഥാർത്ഥ പ്രൊഫൈലിലേക്ക് പോവുക", "account.cancel_follow_request": "Withdraw follow request", "account.disable_notifications": "@{name} പോസ്റ്റുചെയ്യുന്നത് എന്നെ അറിയിക്കുന്നത് നിർത്തുക", "account.domain_blocked": "മേഖല തടഞ്ഞു", @@ -238,7 +237,6 @@ "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "notification.follow": "{name} നിങ്ങളെ പിന്തുടർന്നു", "notification.follow_request": "{name} നിങ്ങളെ പിന്തുടരാൻ അഭ്യർത്ഥിച്ചു", - "notification.mention": "{name} നിങ്ങളെ സൂചിപ്പിച്ചു", "notification.own_poll": "നിങ്ങളുടെ പോൾ അവസാനിച്ചു", "notification.reblog": "{name} നിങ്ങളുടെ പോസ്റ്റ് ബൂസ്റ്റ് ചെയ്തു", "notification.status": "{name} ഇപ്പോൾ പോസ്റ്റുചെയ്‌തു", @@ -311,7 +309,6 @@ "status.detailed_status": "വിശദമായ സംഭാഷണ കാഴ്‌ച", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.embed": "ഉൾച്ചേർക്കുക", - "status.filtered": "ഫിൽട്ടർ ചെയ്‌തു", "status.load_more": "കൂടുതൽ ലോഡു ചെയ്യുക", "status.media_hidden": "മീഡിയ മറച്ചു", "status.mention": "@{name} സൂചിപ്പിക്കുക", @@ -329,17 +326,12 @@ "status.reply": "മറുപടി", "status.report": "@{name}--നെ റിപ്പോർട്ട് ചെയ്യുക", "status.share": "പങ്കിടുക", - "status.show_less": "കുറച്ച് കാണിക്കുക", - "status.show_more": "കൂടുതകൽ കാണിക്കുക", "status.show_more_all": "എല്ലാവർക്കുമായി കൂടുതൽ കാണിക്കുക", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", "tabs_bar.home": "ഹോം", "tabs_bar.notifications": "അറിയിപ്പുകൾ", "time_remaining.days": "{number, plural, one {# ദിവസം} other {# ദിവസങ്ങൾ}} ബാക്കി", "time_remaining.hours": "{number, plural, one {# മണിക്കൂർ} other {# മണിക്കൂർ}} ശേഷിക്കുന്നു", - "timeline_hint.resources.followers": "പിന്തുടരുന്നവർ", - "timeline_hint.resources.follows": "പിന്തുടരുന്നു", - "timeline_hint.resources.statuses": "പഴയ ടൂട്ടുകൾ", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "trends.trending_now": "ഇപ്പോൾ ട്രെൻഡിംഗ്", "units.short.million": "{count}ദശലക്ഷം", diff --git a/app/javascript/mastodon/locales/mr.json b/app/javascript/mastodon/locales/mr.json index b72d44aa558..47c3a55e55c 100644 --- a/app/javascript/mastodon/locales/mr.json +++ b/app/javascript/mastodon/locales/mr.json @@ -18,7 +18,6 @@ "account.block_domain": "{domain} पासून सर्व लपवा", "account.block_short": "अवरोध", "account.blocked": "ब्लॉक केले आहे", - "account.browse_more_on_origin_server": "मूळ प्रोफाइलवर अधिक ब्राउझ करा", "account.cancel_follow_request": "फॉलो विनंती मागे घ्या", "account.copy": "दुवा कॉपी करा", "account.direct": "खाजगीरित्या उल्लेखीत @{name}", @@ -236,7 +235,6 @@ "status.pinned": "Pinned toot", "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", - "timeline_hint.resources.statuses": "Older toots", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json index b4ee161edff..c9f8b7a2744 100644 --- a/app/javascript/mastodon/locales/ms.json +++ b/app/javascript/mastodon/locales/ms.json @@ -18,7 +18,6 @@ "account.block_domain": "Sekat domain {domain}", "account.block_short": "Malay", "account.blocked": "Disekat", - "account.browse_more_on_origin_server": "Layari selebihnya di profil asal", "account.cancel_follow_request": "Menarik balik permintaan mengikut", "account.copy": "Salin pautan ke profil", "account.direct": "Sebut secara persendirian @{name}", @@ -415,7 +414,6 @@ "notification.favourite": "{name} menggemari pos anda", "notification.follow": "{name} mengikuti anda", "notification.follow_request": "{name} meminta untuk mengikuti anda", - "notification.mention": "{name} menyebut anda", "notification.own_poll": "Undian anda telah tamat", "notification.reblog": "{name} menggalak hantaran anda", "notification.status": "{name} baru sahaja mengirim hantaran", @@ -617,8 +615,6 @@ "status.embed": "Benaman", "status.favourite": "Kegemaran", "status.filter": "Tapiskan hantaran ini", - "status.filtered": "Ditapis", - "status.hide": "Sembunyikan pos", "status.history.created": "{name} mencipta pada {date}", "status.history.edited": "{name} menyunting pada {date}", "status.load_more": "Muatkan lagi", @@ -645,10 +641,7 @@ "status.report": "Laporkan @{name}", "status.sensitive_warning": "Kandungan sensitif", "status.share": "Kongsi", - "status.show_filter_reason": "Paparkan juga", - "status.show_less": "Tunjukkan kurang", "status.show_less_all": "Tunjukkan kurang untuk semua", - "status.show_more": "Tunjukkan lebih", "status.show_more_all": "Tunjukkan lebih untuk semua", "status.show_original": "Paparkan yang asal", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", @@ -667,10 +660,6 @@ "time_remaining.minutes": "Tinggal {number, plural, other {# minit}}", "time_remaining.moments": "Tinggal beberapa saat", "time_remaining.seconds": "Tinggal {number, plural, other {# saat}}", - "timeline_hint.remote_resource_not_displayed": "{resource} dari pelayan lain tidak dipaparkan.", - "timeline_hint.resources.followers": "Pengikut", - "timeline_hint.resources.follows": "Ikutan", - "timeline_hint.resources.statuses": "Hantaran lebih lama", "trends.counter_by_accounts": "{count, plural, other {{counter} orang}} dalam {days, plural, other {{days} hari}} yang lalu", "trends.trending_now": "Sohor kini", "ui.beforeunload": "Rangka anda akan terhapus jika anda meninggalkan Mastodon.", diff --git a/app/javascript/mastodon/locales/my.json b/app/javascript/mastodon/locales/my.json index 6a462b1c7c9..b042ebbcced 100644 --- a/app/javascript/mastodon/locales/my.json +++ b/app/javascript/mastodon/locales/my.json @@ -18,7 +18,6 @@ "account.block_domain": " {domain} ဒိုမိန်းကိုပိတ်မည်", "account.block_short": "ပိတ်ဆို့", "account.blocked": "ဘလော့ထားသည်", - "account.browse_more_on_origin_server": "မူရင်းပရိုဖိုင်တွင် ပိုမိုကြည့်ရှုပါ။", "account.cancel_follow_request": "စောင့်ကြည့်မှု ပယ်ဖျက်ခြင်း", "account.copy": "လင့်ခ်ကို ပရိုဖိုင်သို့ ကူးယူပါ", "account.direct": "@{name} သီးသန့် သိရှိနိုင်အောင် မန်းရှင်းခေါ်မည်", @@ -396,7 +395,6 @@ "notification.favourite": "{name} က သင့်ပို့စ်ကို နှစ်သက်ခဲ့သည်", "notification.follow": "{name} က သင့်ကို စောင့်ကြည့်ခဲ့သည်", "notification.follow_request": "{name} က သင့်ကို စောင့်ကြည့်ရန် တောင်းဆိုထားသည်", - "notification.mention": "{name} က သင့်ကို ဖော်ပြခဲ့သည်", "notification.own_poll": "စစ်တမ်းကောက်မှု ပြီးဆုံးပါပြီ", "notification.reblog": "{name} boosted your status", "notification.status": "{name} က အခုလေးတင် ပို့စ်တင်လိုက်ပါပြီ", @@ -595,8 +593,6 @@ "status.embed": "Embed", "status.favourite": "Favorite", "status.filter": "ဤပို့စ်ကို စစ်ထုတ်ပါ", - "status.filtered": "စစ်ထုတ်ထားသည်", - "status.hide": "ပို့စ်ကိုပိတ်ထားမည်", "status.history.created": "{name} က {date} က ဖန်တီးခဲ့သည်", "status.history.edited": "{name} က {date} က ပြင်ဆင်ခဲ့သည်", "status.load_more": "ပို၍ဆောင်ရွက်ပါ", @@ -623,10 +619,7 @@ "status.report": "@{name} ကို တိုင်ကြားရန်", "status.sensitive_warning": "သတိထားရသော အကြောင်းအရာ", "status.share": "မျှဝေ", - "status.show_filter_reason": "မည်သို့ပင်ဖြစ်စေ ပြပါ", - "status.show_less": "အနည်းငယ်သာ ပြပါ", "status.show_less_all": "အားလုံးအတွက် အနည်းငယ်သာ ပြပါ", - "status.show_more": "ပိုမိုပြရန်", "status.show_more_all": "အားလုံးအတွက် ပိုပြပါ", "status.show_original": "မူရင်းပြပါ", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}", @@ -645,10 +638,6 @@ "time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left", "time_remaining.moments": "အခိုက်အတန့်များ ကျန်ရှိနေသေးသည်", "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left", - "timeline_hint.remote_resource_not_displayed": "အခြားဆာဗာများမှ {resource} ကို ပြသမည်မဟုတ်ပါ။", - "timeline_hint.resources.followers": "စောင့်ကြည့်သူများ", - "timeline_hint.resources.follows": "စောင့်ကြည့်မယ်", - "timeline_hint.resources.statuses": "ပို့စ်အဟောင်းများ", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", "trends.trending_now": "လက်ရှိခေတ်စားနေသော ပို့စ်များ", "ui.beforeunload": "Mastodon မှ ထွက်ခွာပါက သင့်မူကြမ်း ဆုံးရှုံးသွားပါမည်။", diff --git a/app/javascript/mastodon/locales/ne.json b/app/javascript/mastodon/locales/ne.json index ca23a1f7814..1cb10a93b48 100644 --- a/app/javascript/mastodon/locales/ne.json +++ b/app/javascript/mastodon/locales/ne.json @@ -15,7 +15,6 @@ "account.block_domain": "{domain} डोमेनलाई ब्लक गर्नुहोस्", "account.block_short": "ब्लक", "account.blocked": "ब्लक गरिएको", - "account.browse_more_on_origin_server": "मूल प्रोफाइलमा थप ब्राउज गर्नुहोस्", "account.cancel_follow_request": "फलो अनुरोध रद्द गर्नुहोस", "account.copy": "प्रोफाइलको लिङ्क प्रतिलिपि गर्नुहोस्", "account.direct": "@{name} लाई निजी रूपमा उल्लेख गर्नुहोस्", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index c9be1a2735b..3526568249a 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -1,5 +1,5 @@ { - "about.blocks": "Gelimiteerde en opgeschorte servers", + "about.blocks": "Beperkte en opgeschorte servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is vrije, opensourcesoftware en een handelsmerk van Mastodon gGmbH.", "about.domain_blocks.no_reason_available": "Reden niet beschikbaar", @@ -19,7 +19,6 @@ "account.block_domain": "Alles van {domain} blokkeren", "account.block_short": "Blokkeren", "account.blocked": "Geblokkeerd", - "account.browse_more_on_origin_server": "Zie meer op het originele profiel", "account.cancel_follow_request": "Ontvolgen", "account.copy": "Link naar profiel kopiëren", "account.direct": "@{name} een privébericht sturen", @@ -98,6 +97,8 @@ "block_modal.title": "Gebruiker blokkeren?", "block_modal.you_wont_see_mentions": "Je ziet geen berichten meer die dit account vermelden.", "boost_modal.combo": "Je kunt {combo} klikken om dit de volgende keer over te slaan", + "boost_modal.reblog": "Bericht boosten?", + "boost_modal.undo_reblog": "Bericht niet langer boosten?", "bundle_column_error.copy_stacktrace": "Foutrapportage kopiëren", "bundle_column_error.error.body": "De opgevraagde pagina kon niet worden weergegeven. Dit kan het gevolg zijn van een fout in onze broncode, of van een compatibiliteitsprobleem met je webbrowser.", "bundle_column_error.error.title": "O nee!", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "Ontvolgen", "confirmations.unfollow.message": "Weet je het zeker dat je {name} wilt ontvolgen?", "confirmations.unfollow.title": "Gebruiker ontvolgen?", + "content_warning.hide": "Bericht verbergen", + "content_warning.show": "Alsnog tonen", "conversation.delete": "Gesprek verwijderen", "conversation.mark_as_read": "Als gelezen markeren", "conversation.open": "Gesprek tonen", @@ -300,6 +303,7 @@ "filter_modal.select_filter.subtitle": "Een bestaande categorie gebruiken of een nieuwe aanmaken", "filter_modal.select_filter.title": "Dit bericht filteren", "filter_modal.title.status": "Een bericht filteren", + "filter_warning.matches_filter": "Komt overeen met filter “{title}”", "filtered_notifications_banner.pending_requests": "Van {count, plural, =0 {niemand} one {een persoon} other {# personen}} die je mogelijk kent", "filtered_notifications_banner.title": "Gefilterde meldingen", "firehose.all": "Alles", @@ -349,6 +353,14 @@ "hashtag.follow": "Hashtag volgen", "hashtag.unfollow": "Hashtag ontvolgen", "hashtags.and_other": "…en {count, plural, one {}other {# meer}}", + "hints.profiles.followers_may_be_missing": "Volgers voor dit profiel kunnen ontbreken.", + "hints.profiles.follows_may_be_missing": "De volgers voor dit profiel kunnen ontbreken.", + "hints.profiles.posts_may_be_missing": "Er ontbreken mogelijk berichten van dit profiel.", + "hints.profiles.see_more_followers": "Bekijk meer volgers op {domain}", + "hints.profiles.see_more_follows": "Bekijk meer gevolgde accounts op {domain}", + "hints.profiles.see_more_posts": "Bekijk meer berichten op {domain}", + "hints.threads.replies_may_be_missing": "Antwoorden van andere servers kunnen ontbreken.", + "hints.threads.see_more": "Bekijk meer reacties op {domain}", "home.column_settings.show_reblogs": "Boosts tonen", "home.column_settings.show_replies": "Reacties tonen", "home.hide_announcements": "Mededelingen verbergen", @@ -356,6 +368,17 @@ "home.pending_critical_update.link": "Bekijk updates", "home.pending_critical_update.title": "Kritieke beveiligingsupdate beschikbaar!", "home.show_announcements": "Mededelingen tonen", + "ignore_notifications_modal.disclaimer": "Mastodon kan gebruikers niet informeren dat je hun meldingen hebt genegeerd. Meldingen negeren zal niet voorkomen dat de berichten zelf worden verzonden.", + "ignore_notifications_modal.filter_instead": "In plaats daarvan filteren", + "ignore_notifications_modal.filter_to_act_users": "Je bent nog steeds in staat om volgverzoeken goed- of af te keuren, en om gebruikers te rapporteren", + "ignore_notifications_modal.filter_to_avoid_confusion": "Filteren voorkomt potentiële verwarring", + "ignore_notifications_modal.filter_to_review_separately": "Je kunt gefilterde meldingen afzonderlijk beoordelen", + "ignore_notifications_modal.ignore": "Meldingen negeren", + "ignore_notifications_modal.limited_accounts_title": "Meldingen van beperkte accounts negeren?", + "ignore_notifications_modal.new_accounts_title": "Meldingen van nieuwe accounts negeren?", + "ignore_notifications_modal.not_followers_title": "Meldingen negeren van mensen die jou niet volgen?", + "ignore_notifications_modal.not_following_title": "Meldingen negeren van mensen die je niet volgt?", + "ignore_notifications_modal.private_mentions_title": "Meldingen negeren van ongevraagde privéberichten?", "interaction_modal.description.favourite": "Je kunt met een Mastodon-account dit bericht als favoriet markeren, om die gebruiker te laten weten dat je het bericht waardeert en om het op te slaan.", "interaction_modal.description.follow": "Je kunt met een Mastodon-account {name} volgen, om zo diens berichten op jouw starttijdlijn te ontvangen.", "interaction_modal.description.reblog": "Je kunt met een Mastodon-account dit bericht boosten, om het zo met jouw volgers te delen.", @@ -445,9 +468,8 @@ "mute_modal.title": "Gebruiker negeren?", "mute_modal.you_wont_see_mentions": "Je ziet geen berichten meer die dit account vermelden.", "mute_modal.you_wont_see_posts": "De persoon kan nog steeds jouw berichten zien, maar diens berichten zie je niet meer.", - "name_and_others": "{name} en {count, plural, one {# ander} other {# anderen}}", - "name_and_others_with_link": "{name} en {count, plural, one {# ander} other {# anderen}}", "navigation_bar.about": "Over", + "navigation_bar.administration": "Beheer", "navigation_bar.advanced_interface": "In geavanceerde webinterface openen", "navigation_bar.blocks": "Geblokkeerde gebruikers", "navigation_bar.bookmarks": "Bladwijzers", @@ -464,6 +486,7 @@ "navigation_bar.follows_and_followers": "Volgers en gevolgde accounts", "navigation_bar.lists": "Lijsten", "navigation_bar.logout": "Uitloggen", + "navigation_bar.moderation": "Moderatie", "navigation_bar.mutes": "Genegeerde gebruikers", "navigation_bar.opened_in_classic_interface": "Berichten, accounts en andere specifieke pagina’s, worden standaard geopend in de klassieke webinterface.", "navigation_bar.personal": "Persoonlijk", @@ -479,10 +502,18 @@ "notification.admin.report_statuses": "{name} rapporteerde {target} voor {category}", "notification.admin.report_statuses_other": "{name} rapporteerde {target}", "notification.admin.sign_up": "{name} heeft zich geregistreerd", + "notification.admin.sign_up.name_and_others": "{name} en {count, plural, one {# ander} other {# anderen}} hebben zich geregistreerd", "notification.favourite": "{name} markeerde jouw bericht als favoriet", + "notification.favourite.name_and_others_with_link": "{name} en {count, plural, one {# ander} other {# anderen}} hebben jouw bericht als favoriet gemarkeerd", "notification.follow": "{name} volgt jou nu", + "notification.follow.name_and_others": "{name} en {count, plural, one {# ander} other {# anderen}} hebben je gevolgd", "notification.follow_request": "{name} wil jou graag volgen", - "notification.mention": "{name} vermeldde jou", + "notification.follow_request.name_and_others": "{name} en {count, plural, one {# ander} other {# anderen}} hebben gevraagd om je te volgen", + "notification.label.mention": "Vermelding", + "notification.label.private_mention": "Privébericht", + "notification.label.private_reply": "Privéreactie", + "notification.label.reply": "Reactie", + "notification.mention": "Vermelding", "notification.moderation-warning.learn_more": "Meer informatie", "notification.moderation_warning": "Je hebt een moderatie-waarschuwing ontvangen", "notification.moderation_warning.action_delete_statuses": "Sommige van je berichten zijn verwijderd.", @@ -494,8 +525,8 @@ "notification.moderation_warning.action_suspend": "Jouw account is opgeschort.", "notification.own_poll": "Jouw peiling is beëindigd", "notification.poll": "Een peiling waaraan jij hebt meegedaan is beëindigd", - "notification.private_mention": "{name} heeft je een privébericht gestuurd", "notification.reblog": "{name} boostte jouw bericht", + "notification.reblog.name_and_others_with_link": "{name} en {count, plural, one {# ander} other {# anderen}} hebben jouw bericht geboost", "notification.relationships_severance_event": "Verloren verbindingen met {name}", "notification.relationships_severance_event.account_suspension": "Een beheerder van {from} heeft {target} geschorst, wat betekent dat je geen updates meer van hen kunt ontvangen of met hen kunt communiceren.", "notification.relationships_severance_event.domain_block": "Een beheerder van {from} heeft {target} geblokkeerd, inclusief {followersCount} van jouw volgers en {followingCount, plural, one {# account} other {# accounts}} die jij volgt.", @@ -504,11 +535,24 @@ "notification.status": "{name} heeft zojuist een bericht geplaatst", "notification.update": "{name} heeft een bericht bewerkt", "notification_requests.accept": "Accepteren", + "notification_requests.accept_multiple": "{count, plural, one {# verzoek accepteren…} other {# verzoeken accepteren…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Verzoek accepteren} other {Verzoeken accepteren}}", + "notification_requests.confirm_accept_multiple.message": "Je staat op het punt om {count, plural, one {een meldingsverzoek} other {# meldingsverzoeken}} te accepteren. Weet je zeker dat je door wilt gaan?", + "notification_requests.confirm_accept_multiple.title": "Meldingsverzoeken accepteren?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Verzoek afwijzen} other {Verzoeken afwijzen}}", + "notification_requests.confirm_dismiss_multiple.message": "Je staat op het punt om {count, plural, one {een meldingsverzoek} other {# meldingsverzoeken}} af te wijzen. Je zult niet in staat zijn om {count, plural, one {hier} other {hier}} weer gemakkelijk toegang toe te krijgen. Wil je doorgaan?", + "notification_requests.confirm_dismiss_multiple.title": "Meldingsverzoeken afwijzen?", "notification_requests.dismiss": "Afwijzen", - "notification_requests.maximize": "Maximaliseer", + "notification_requests.dismiss_multiple": "{count, plural, one {# verzoek afwijzen…} other {# verzoeken afwijzen…}}", + "notification_requests.edit_selection": "Bewerken", + "notification_requests.exit_selection": "Klaar", + "notification_requests.explainer_for_limited_account": "Meldingen van dit account zijn gefilterd omdat dit account door een moderator is beperkt.", + "notification_requests.explainer_for_limited_remote_account": "Meldingen van dit account zijn gefilterd omdat dit account of diens server door een moderator is beperkt.", + "notification_requests.maximize": "Maximaliseren", "notification_requests.minimize_banner": "Banner met gefilterde meldingen minimaliseren", "notification_requests.notifications_from": "Meldingen van {name}", "notification_requests.title": "Gefilterde meldingen", + "notification_requests.view": "Meldingen bekijken", "notifications.clear": "Meldingen verwijderen", "notifications.clear_confirmation": "Weet je het zeker dat je al jouw meldingen wilt verwijderen?", "notifications.clear_title": "Meldingen verwijderen?", @@ -545,6 +589,14 @@ "notifications.permission_denied": "Desktopmeldingen zijn niet beschikbaar omdat een eerdere browsertoestemming werd geweigerd", "notifications.permission_denied_alert": "Desktopmeldingen kunnen niet worden ingeschakeld, omdat een eerdere browsertoestemming werd geweigerd", "notifications.permission_required": "Desktopmeldingen zijn niet beschikbaar omdat de benodigde toestemming niet is verleend.", + "notifications.policy.accept": "Accepteren", + "notifications.policy.accept_hint": "In meldingen weergeven", + "notifications.policy.drop": "Negeren", + "notifications.policy.drop_hint": "Permanent verwijderen", + "notifications.policy.filter": "Filter", + "notifications.policy.filter_hint": "Naar gefilterde inbox voor meldingen verzenden", + "notifications.policy.filter_limited_accounts_hint": "Beperkt door servermoderatoren", + "notifications.policy.filter_limited_accounts_title": "Gemodereerde accounts", "notifications.policy.filter_new_accounts.hint": "In de afgelopen {days, plural, one {24 uur} other {# dagen}} geregistreerd", "notifications.policy.filter_new_accounts_title": "Nieuwe accounts", "notifications.policy.filter_not_followers_hint": "Inclusief mensen die jou korter dan {days, plural, one {24 uur} other {# dagen}} volgen", @@ -553,7 +605,7 @@ "notifications.policy.filter_not_following_title": "Mensen die jij niet volgt", "notifications.policy.filter_private_mentions_hint": "Onzichtbaar tenzij het een antwoord is op een privébericht van jou of wanneer je de afzender volgt", "notifications.policy.filter_private_mentions_title": "Ongevraagde privéberichten", - "notifications.policy.title": "Meldingen verbergen van…", + "notifications.policy.title": "Meldingen beheren van…", "notifications_permission_banner.enable": "Desktopmeldingen inschakelen", "notifications_permission_banner.how_to_control": "Om meldingen te ontvangen wanneer Mastodon niet open staat. Je kunt precies bepalen welke soort interacties wel of geen desktopmeldingen geven via de bovenstaande {icon} knop.", "notifications_permission_banner.title": "Mis nooit meer iets", @@ -740,8 +792,6 @@ "status.favourite": "Favoriet", "status.favourites": "{count, plural, one {favoriet} other {favorieten}}", "status.filter": "Dit bericht filteren", - "status.filtered": "Gefilterd", - "status.hide": "Bericht verbergen", "status.history.created": "{name} plaatste dit {date}", "status.history.edited": "{name} bewerkte dit {date}", "status.load_more": "Meer laden", @@ -769,10 +819,7 @@ "status.report": "@{name} rapporteren", "status.sensitive_warning": "Gevoelige inhoud", "status.share": "Delen", - "status.show_filter_reason": "Alsnog tonen", - "status.show_less": "Minder tonen", "status.show_less_all": "Alles minder tonen", - "status.show_more": "Meer tonen", "status.show_more_all": "Alles meer tonen", "status.show_original": "Origineel bekijken", "status.title.with_attachments": "{user} heeft {attachmentCount, plural, one {een bijlage} other {{attachmentCount} bijlagen}} toegevoegd", @@ -791,10 +838,6 @@ "time_remaining.minutes": "{number, plural, one {# minuut} other {# minuten}} te gaan", "time_remaining.moments": "Nog enkele ogenblikken resterend", "time_remaining.seconds": "{number, plural, one {# seconde} other {# seconden}} te gaan", - "timeline_hint.remote_resource_not_displayed": "{resource} van andere servers worden niet getoond.", - "timeline_hint.resources.followers": "Volgers", - "timeline_hint.resources.follows": "Volgend", - "timeline_hint.resources.statuses": "Oudere berichten", "trends.counter_by_accounts": "{count, plural, one {{counter} persoon} other {{counter} mensen}} {days, plural, one {in het afgelopen etmaal} other {in de afgelopen {days} dagen}}", "trends.trending_now": "Huidige trends", "ui.beforeunload": "Je concept gaat verloren wanneer je Mastodon verlaat.", diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json index c408f59d0d3..393946ff18f 100644 --- a/app/javascript/mastodon/locales/nn.json +++ b/app/javascript/mastodon/locales/nn.json @@ -11,6 +11,7 @@ "about.not_available": "Denne informasjonen er ikkje gjort tilgjengeleg på denne tenaren.", "about.powered_by": "Desentraliserte sosiale medium drive av {mastodon}", "about.rules": "Tenarreglar", + "account.account_note_header": "Personleg notat", "account.add_or_remove_from_list": "Legg til eller fjern frå lister", "account.badges.bot": "Robot", "account.badges.group": "Gruppe", @@ -18,7 +19,6 @@ "account.block_domain": "Skjul alt frå {domain}", "account.block_short": "Blokker", "account.blocked": "Blokkert", - "account.browse_more_on_origin_server": "Sjå gjennom meir på den opphavlege profilen", "account.cancel_follow_request": "Trekk attende fylgeførespurnad", "account.copy": "Kopier lenka til profilen", "account.direct": "Nevn @{name} privat", @@ -97,6 +97,8 @@ "block_modal.title": "Blokker brukaren?", "block_modal.you_wont_see_mentions": "Du ser ikkje innlegg som nemner dei.", "boost_modal.combo": "Du kan trykkja {combo} for å hoppa over dette neste gong", + "boost_modal.reblog": "Framhev innlegget?", + "boost_modal.undo_reblog": "Fjern framhevinga?", "bundle_column_error.copy_stacktrace": "Kopier feilrapport", "bundle_column_error.error.body": "Den etterspurde sida kan ikke hentast fram. Det kan skuldast ein feil i koden vår eller eit kompatibilitetsproblem.", "bundle_column_error.error.title": "Ånei!", @@ -170,21 +172,30 @@ "confirmations.block.confirm": "Blokker", "confirmations.delete.confirm": "Slett", "confirmations.delete.message": "Er du sikker på at du vil sletta denne statusen?", + "confirmations.delete.title": "Slett innlegget?", "confirmations.delete_list.confirm": "Slett", "confirmations.delete_list.message": "Er du sikker på at du vil sletta denne lista for alltid?", + "confirmations.delete_list.title": "Slett lista?", "confirmations.discard_edit_media.confirm": "Forkast", "confirmations.discard_edit_media.message": "Du har ulagra endringar i mediaskildringa eller førehandsvisinga. Vil du forkasta dei likevel?", "confirmations.edit.confirm": "Rediger", "confirmations.edit.message": "Å redigera no vil overskriva den meldinga du er i ferd med å skriva. Er du sikker på at du vil halda fram?", + "confirmations.edit.title": "Overskriv innlegget?", "confirmations.logout.confirm": "Logg ut", "confirmations.logout.message": "Er du sikker på at du vil logga ut?", + "confirmations.logout.title": "Logg ut?", "confirmations.mute.confirm": "Demp", "confirmations.redraft.confirm": "Slett & skriv på nytt", "confirmations.redraft.message": "Er du sikker på at du vil sletta denne statusen og skriva han på nytt? Då misser du favorittar og framhevingar, og svar til det opprinnelege innlegget vert foreldrelause.", + "confirmations.redraft.title": "Slett og skriv på nytt?", "confirmations.reply.confirm": "Svar", "confirmations.reply.message": "Å svara no vil overskriva den meldinga du er i ferd med å skriva. Er du sikker på at du vil halda fram?", + "confirmations.reply.title": "Overskriv innlegget?", "confirmations.unfollow.confirm": "Slutt å fylgja", "confirmations.unfollow.message": "Er du sikker på at du vil slutta å fylgja {name}?", + "confirmations.unfollow.title": "Slutt å fylgja brukaren?", + "content_warning.hide": "Gøym innlegg", + "content_warning.show": "Vis likevel", "conversation.delete": "Slett samtale", "conversation.mark_as_read": "Marker som lesen", "conversation.open": "Sjå samtale", @@ -292,6 +303,7 @@ "filter_modal.select_filter.subtitle": "Bruk ein eksisterande kategori eller opprett ein ny", "filter_modal.select_filter.title": "Filtrer dette innlegget", "filter_modal.title.status": "Filtrer eit innlegg", + "filter_warning.matches_filter": "Passar med filteret «{title}»", "filtered_notifications_banner.pending_requests": "Frå {count, plural, =0 {ingen} one {éin person} other {# personar}} du kanskje kjenner", "filtered_notifications_banner.title": "Filtrerte varslingar", "firehose.all": "Alle", @@ -341,6 +353,14 @@ "hashtag.follow": "Fylg emneknagg", "hashtag.unfollow": "Slutt å fylgje emneknaggen", "hashtags.and_other": "…og {count, plural, one {}other {# fleire}}", + "hints.profiles.followers_may_be_missing": "Kven som fylgjer denne profilen manglar kanskje.", + "hints.profiles.follows_may_be_missing": "Kven denne profilen fylgjer manglar kanskje.", + "hints.profiles.posts_may_be_missing": "Nokre innlegg frå denne profilen manglar kanskje.", + "hints.profiles.see_more_followers": "Sjå fleire fylgjarar på {domain}", + "hints.profiles.see_more_follows": "Sjå fleire fylgjer på {domain}", + "hints.profiles.see_more_posts": "Sjå fleire innlegg på {domain}", + "hints.threads.replies_may_be_missing": "Svar frå andre tenarar manglar kanskje.", + "hints.threads.see_more": "Sjå fleire svar på {domain}", "home.column_settings.show_reblogs": "Vis framhevingar", "home.column_settings.show_replies": "Vis svar", "home.hide_announcements": "Skjul kunngjeringar", @@ -348,6 +368,17 @@ "home.pending_critical_update.link": "Sjå oppdateringar", "home.pending_critical_update.title": "Kritisk sikkerheitsoppdatering er tilgjengeleg!", "home.show_announcements": "Vis kunngjeringar", + "ignore_notifications_modal.disclaimer": "Mastodon kan ikkje informera brukarane at du overser varsla deira. Å oversjå varsel vil ikkje hindra at meldingane blir sende.", + "ignore_notifications_modal.filter_instead": "Filtrer i staden", + "ignore_notifications_modal.filter_to_act_users": "Du kan framleis godta, avvisa eller rapportera brukarar", + "ignore_notifications_modal.filter_to_avoid_confusion": "Å filtrera hjelper til å unngå mogleg forvirring", + "ignore_notifications_modal.filter_to_review_separately": "Du kan gå gjennom filtrerte varslingar for seg", + "ignore_notifications_modal.ignore": "Oversjå varsel", + "ignore_notifications_modal.limited_accounts_title": "Oversjå varsel frå modererte kontoar?", + "ignore_notifications_modal.new_accounts_title": "Oversjå varsel frå nye kontoar?", + "ignore_notifications_modal.not_followers_title": "Oversjå varsel frå folk som ikkje fylgjer deg?", + "ignore_notifications_modal.not_following_title": "Oversjå varsel frå folk du ikkje fylgjer?", + "ignore_notifications_modal.private_mentions_title": "Oversjå varsel frå masseutsende private omtaler?", "interaction_modal.description.favourite": "Med ein konto på Mastodon kan du favorittmerka dette innlegget for å visa forfattaren at du set pris på det, og for å lagra det til seinare.", "interaction_modal.description.follow": "Med ein konto på Mastodon kan du fylgja {name} for å sjå innlegga deira i din heimestraum.", "interaction_modal.description.reblog": "Med ein konto på Mastodon kan du framheva dette innlegget for å dela det med dine eigne fylgjarar.", @@ -438,6 +469,7 @@ "mute_modal.you_wont_see_mentions": "Du vil ikkje sjå innlegg som nemner dei.", "mute_modal.you_wont_see_posts": "Dei kan framleis sjå innlegga dine, men du vil ikkje sjå deira.", "navigation_bar.about": "Om", + "navigation_bar.administration": "Administrasjon", "navigation_bar.advanced_interface": "Opne i avansert nettgrensesnitt", "navigation_bar.blocks": "Blokkerte brukarar", "navigation_bar.bookmarks": "Bokmerke", @@ -454,6 +486,7 @@ "navigation_bar.follows_and_followers": "Fylgje og fylgjarar", "navigation_bar.lists": "Lister", "navigation_bar.logout": "Logg ut", + "navigation_bar.moderation": "Moderering", "navigation_bar.mutes": "Målbundne brukarar", "navigation_bar.opened_in_classic_interface": "Innlegg, kontoar, og enkelte andre sider blir opna som standard i det klassiske webgrensesnittet.", "navigation_bar.personal": "Personleg", @@ -464,11 +497,23 @@ "navigation_bar.security": "Tryggleik", "not_signed_in_indicator.not_signed_in": "Du må logga inn for å få tilgang til denne ressursen.", "notification.admin.report": "{name} rapporterte {target}", + "notification.admin.report_account": "{name} rapporterte {count, plural, one {eitt innlegg} other {# innlegg}} frå {target} for {category}", + "notification.admin.report_account_other": "{name} rapporterte {count, plural, one {eitt innlegg} other {# innlegg}} frå {target}", + "notification.admin.report_statuses": "{name} rapporterte {target} for {category}", + "notification.admin.report_statuses_other": "{name} rapporterte {target}", "notification.admin.sign_up": "{name} er registrert", + "notification.admin.sign_up.name_and_others": "{name} og {count, plural, one {# annan} other {# andre}} vart med", "notification.favourite": "{name} markerte innlegget ditt som favoritt", + "notification.favourite.name_and_others_with_link": "{name} og {count, plural, one {# annan} other {# andre}} favorittmerka innlegget ditt", "notification.follow": "{name} fylgde deg", + "notification.follow.name_and_others": "{name} og {count, plural, one {# annan} other {# andre}} fylgde deg", "notification.follow_request": "{name} har bedt om å fylgja deg", - "notification.mention": "{name} nemnde deg", + "notification.follow_request.name_and_others": "{name} og {count, plural, one {# annan} other {# andre}} har spurt om å fylgja deg", + "notification.label.mention": "Omtale", + "notification.label.private_mention": "Privat omtale", + "notification.label.private_reply": "Privat svar", + "notification.label.reply": "Svar", + "notification.mention": "Omtale", "notification.moderation-warning.learn_more": "Lær meir", "notification.moderation_warning": "Du har mottatt ei moderasjonsåtvaring", "notification.moderation_warning.action_delete_statuses": "Nokre av innlegga dine har blitt fjerna.", @@ -479,7 +524,9 @@ "notification.moderation_warning.action_silence": "Kontoen din har blitt avgrensa.", "notification.moderation_warning.action_suspend": "Kontoen din har blitt suspendert.", "notification.own_poll": "Rundspørjinga di er ferdig", + "notification.poll": "Ei rundspørjing du røysta i er ferdig", "notification.reblog": "{name} framheva innlegget ditt", + "notification.reblog.name_and_others_with_link": "{name} og {count, plural, one {# annan} other {# andre}} framheva innlegget ditt", "notification.relationships_severance_event": "Tapte samband med {name}", "notification.relationships_severance_event.account_suspension": "Ein administrator på {from} har utvist {target}, som tyder at du ikkje lenger får oppdateringar frå dei eller kan samhandla med dei.", "notification.relationships_severance_event.domain_block": "Ein administrator på {from} har blokkert {target}, inkludert {followersCount} av fylgjarane dine og {followingCount, plural, one {# konto} other {# kontoar}} du fylgjer.", @@ -488,20 +535,38 @@ "notification.status": "{name} la nettopp ut", "notification.update": "{name} redigerte eit innlegg", "notification_requests.accept": "Godkjenn", + "notification_requests.accept_multiple": "{count, plural, one {Godta # førespurnad…} other {Godta # førespurnader…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Godta førespurnad} other {Godta førespurnader}}", + "notification_requests.confirm_accept_multiple.message": "Du er i ferd med å godta {count, plural, one {ein førespurnad om varsling} other {# førespurnader om varsling}}. Er du sikker på at du vil halda fram?", + "notification_requests.confirm_accept_multiple.title": "Godta førespurnader om varsling?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Avvis førespurnad} other {Avvis førespurnader}}", + "notification_requests.confirm_dismiss_multiple.message": "Du er i ferd med å avvisa {count, plural, one {ein førespurnad om varsel} other {# førespurnader om varsel}}. Det blir ikkje lett å få tilgang til {count, plural, one {han} other {dei}} att. Er du sikker på at du vil halda fram?", + "notification_requests.confirm_dismiss_multiple.title": "Avvis førespurnader om varsel?", "notification_requests.dismiss": "Avvis", + "notification_requests.dismiss_multiple": "{count, plural, one {Avvis # førespurnad…} other {Avvis # førespurnader…}}", + "notification_requests.edit_selection": "Rediger", + "notification_requests.exit_selection": "Ferdig", + "notification_requests.explainer_for_limited_account": "Varsla frå denne kontoen er filtrerte ut fordi ein moderator har avgrensa kontoen.", + "notification_requests.explainer_for_limited_remote_account": "Varla frå denne kontoen er filtrerte ut fordi ein moderator har avgrensa kontoen eller tenaren.", + "notification_requests.maximize": "Maksimer", + "notification_requests.minimize_banner": "Minimer banneret for filtrerte varsel", "notification_requests.notifications_from": "Varslingar frå {name}", "notification_requests.title": "Filtrerte varslingar", + "notification_requests.view": "Sjå varsel", "notifications.clear": "Tøm varsel", "notifications.clear_confirmation": "Er du sikker på at du vil fjerna alle varsla dine for alltid?", + "notifications.clear_title": "Tøm varsel?", "notifications.column_settings.admin.report": "Nye rapportar:", "notifications.column_settings.admin.sign_up": "Nyleg registrerte:", "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.filter_bar.advanced": "Vis alle kategoriar", "notifications.column_settings.filter_bar.category": "Snøggfilterline", "notifications.column_settings.follow": "Nye fylgjarar:", "notifications.column_settings.follow_request": "Ny fylgjarførespurnader:", - "notifications.column_settings.mention": "Omtalar:", + "notifications.column_settings.mention": "Omtaler:", "notifications.column_settings.poll": "Røysteresultat:", "notifications.column_settings.push": "Pushvarsel", "notifications.column_settings.reblog": "Framhevingar:", @@ -524,15 +589,23 @@ "notifications.permission_denied": "Skrivebordsvarsel er ikkje tilgjengelege på grunn av at nettlesaren tidlegare ikkje har fått naudsynte rettar til å vise dei", "notifications.permission_denied_alert": "Sidan nettlesaren tidlegare har blitt nekta naudsynte rettar, kan ikkje skrivebordsvarsel aktiverast", "notifications.permission_required": "Skrivebordsvarsel er utilgjengelege fordi naudsynte rettar ikkje er gitt.", + "notifications.policy.accept": "Godta", + "notifications.policy.accept_hint": "Vis i varsla", + "notifications.policy.drop": "Oversjå", + "notifications.policy.drop_hint": "Send ut i endeløysa så det aldri kjem att", + "notifications.policy.filter": "Filtrer", + "notifications.policy.filter_hint": "Send til innboksen for filtrerte varsel", + "notifications.policy.filter_limited_accounts_hint": "Avgrensa av moderatorar på tenaren", + "notifications.policy.filter_limited_accounts_title": "Modererte kontoar", "notifications.policy.filter_new_accounts.hint": "Skrive siste {days, plural, one {dag} other {# dagar}}", "notifications.policy.filter_new_accounts_title": "Nye brukarkontoar", "notifications.policy.filter_not_followers_hint": "Inkludert folk som har fylgt deg mindre enn {days, plural, one {ein dag} other {# dagar}}", "notifications.policy.filter_not_followers_title": "Folk som ikkje fylgjer deg", "notifications.policy.filter_not_following_hint": "Til du godkjenner dei manuelt", "notifications.policy.filter_not_following_title": "Folk du ikkje fylgjer", - "notifications.policy.filter_private_mentions_hint": "Filtrert viss det ikkje er eit svar på dine eigne nemningar eller viss du fylgjer avsendaren", - "notifications.policy.filter_private_mentions_title": "Masseutsende private nemningar", - "notifications.policy.title": "Filtrer ut varslingar frå…", + "notifications.policy.filter_private_mentions_hint": "Filtrert viss det ikkje er eit svar på dine eigne omtaler eller viss du fylgjer avsendaren", + "notifications.policy.filter_private_mentions_title": "Masseutsende private omtaler", + "notifications.policy.title": "Handter varsel frå…", "notifications_permission_banner.enable": "Skru på skrivebordsvarsel", "notifications_permission_banner.how_to_control": "Aktiver skrivebordsvarsel for å få varsel når Mastodon ikkje er open. Du kan nøye bestemme kva samhandlingar som skal føre til skrivebordsvarsel gjennom {icon}-knappen ovanfor etter at varsel er aktivert.", "notifications_permission_banner.title": "Gå aldri glipp av noko", @@ -659,9 +732,13 @@ "report.unfollow_explanation": "Du fylgjer denne kontoen. Slutt å fylgje dei for ikkje lenger å sjå innlegga deira i heimestraumen din.", "report_notification.attached_statuses": "{count, plural, one {{count} innlegg} other {{count} innlegg}} lagt ved", "report_notification.categories.legal": "Juridisk", + "report_notification.categories.legal_sentence": "ulovleg innhald", "report_notification.categories.other": "Anna", + "report_notification.categories.other_sentence": "anna", "report_notification.categories.spam": "Søppelpost", + "report_notification.categories.spam_sentence": "søppel", "report_notification.categories.violation": "Regelbrot", + "report_notification.categories.violation_sentence": "regelbrot", "report_notification.open": "Opne rapport", "search.no_recent_searches": "Ingen søk nylig", "search.placeholder": "Søk", @@ -715,8 +792,6 @@ "status.favourite": "Favoritt", "status.favourites": "{count, plural, one {favoritt} other {favorittar}}", "status.filter": "Filtrer dette innlegget", - "status.filtered": "Filtrert", - "status.hide": "Skjul innlegget", "status.history.created": "{name} oppretta {date}", "status.history.edited": "{name} redigerte {date}", "status.load_more": "Last inn meir", @@ -744,10 +819,7 @@ "status.report": "Rapporter @{name}", "status.sensitive_warning": "Ømtolig innhald", "status.share": "Del", - "status.show_filter_reason": "Vis likevel", - "status.show_less": "Vis mindre", "status.show_less_all": "Vis mindre for alle", - "status.show_more": "Vis meir", "status.show_more_all": "Vis meir for alle", "status.show_original": "Vis original", "status.title.with_attachments": "{user} la ut {attachmentCount, plural, one {eitt vedlegg} other {{attachmentCount} vedlegg}}", @@ -766,10 +838,6 @@ "time_remaining.minutes": "{number, plural, one {# minutt} other {# minutt}} igjen", "time_remaining.moments": "Kort tid igjen", "time_remaining.seconds": "{number, plural, one {# sekund} other {# sekund}} igjen", - "timeline_hint.remote_resource_not_displayed": "{resource} frå andre tenarar blir ikkje vist.", - "timeline_hint.resources.followers": "Fylgjarar", - "timeline_hint.resources.follows": "Fylgjer", - "timeline_hint.resources.statuses": "Eldre tut", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} folk}} siste {days, plural, one {døgnet} other {{days} dagane}}", "trends.trending_now": "Populært no", "ui.beforeunload": "Kladden din forsvinn om du forlèt Mastodon no.", diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json index 9aeb6be9c2b..a3780de550a 100644 --- a/app/javascript/mastodon/locales/no.json +++ b/app/javascript/mastodon/locales/no.json @@ -18,7 +18,6 @@ "account.block_domain": "Blokker domenet {domain}", "account.block_short": "Blokker", "account.blocked": "Blokkert", - "account.browse_more_on_origin_server": "Bla mer på den opprinnelige profilen", "account.cancel_follow_request": "Avbryt følgeforespørselen", "account.copy": "Kopier lenke til profil", "account.direct": "Nevn @{name} privat", @@ -408,7 +407,6 @@ "notification.favourite": "{name} favorittmarkerte innlegget ditt", "notification.follow": "{name} fulgte deg", "notification.follow_request": "{name} har bedt om å få følge deg", - "notification.mention": "{name} nevnte deg", "notification.own_poll": "Avstemningen din er ferdig", "notification.reblog": "{name} fremhevet ditt innlegg", "notification.status": "{name} la nettopp ut", @@ -619,8 +617,6 @@ "status.embed": "Bygge inn", "status.favourite": "Favoritt", "status.filter": "Filtrer dette innlegget", - "status.filtered": "Filtrert", - "status.hide": "Skjul innlegg", "status.history.created": "{name} opprettet {date}", "status.history.edited": "{name} redigerte {date}", "status.load_more": "Last mer", @@ -647,10 +643,7 @@ "status.report": "Rapporter @{name}", "status.sensitive_warning": "Følsomt innhold", "status.share": "Del", - "status.show_filter_reason": "Vis likevel", - "status.show_less": "Vis mindre", "status.show_less_all": "Vis mindre for alle", - "status.show_more": "Vis mer", "status.show_more_all": "Vis mer for alle", "status.show_original": "Vis original", "status.title.with_attachments": "{user} postet {attachmentCount, plural, one {et vedlegg} other {{attachmentCount} vedlegg}}", @@ -669,10 +662,6 @@ "time_remaining.minutes": "{number, plural, one {# minutt} other {# minutter}} igjen", "time_remaining.moments": "Gjenværende øyeblikk", "time_remaining.seconds": "{number, plural, one {# sekund} other {# sekunder}} igjen", - "timeline_hint.remote_resource_not_displayed": "{resource} fra andre servere vises ikke.", - "timeline_hint.resources.followers": "Følgere", - "timeline_hint.resources.follows": "Følger", - "timeline_hint.resources.statuses": "Eldre innlegg", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} folk}} {days, plural, one {den siste dagen} other {de siste {days} dagene}}", "trends.trending_now": "Trender nå", "ui.beforeunload": "Din kladd vil bli forkastet om du forlater Mastodon.", diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json index 382b7b127d1..a4e552ba459 100644 --- a/app/javascript/mastodon/locales/oc.json +++ b/app/javascript/mastodon/locales/oc.json @@ -15,7 +15,6 @@ "account.block_domain": "Tot amagar del domeni {domain}", "account.block_short": "Blocar", "account.blocked": "Blocat", - "account.browse_more_on_origin_server": "Navigar sul perfil original", "account.cancel_follow_request": "Retirar la demanda d’abonament", "account.copy": "Copiar lo ligam del perfil", "account.direct": "Mencionar @{name} en privat", @@ -351,7 +350,6 @@ "notification.favourite": "{name} a mes vòstre estatut en favorit", "notification.follow": "{name} vos sèc", "notification.follow_request": "{name} a demandat a vos sègre", - "notification.mention": "{name} vos a mencionat", "notification.own_poll": "Vòstre sondatge es acabat", "notification.reblog": "{name} a partejat vòstre estatut", "notification.status": "{name} ven de publicar", @@ -511,8 +509,6 @@ "status.embed": "Embarcar", "status.favourite": "Apondre als favorits", "status.filter": "Filtrar aquesta publicacion", - "status.filtered": "Filtrat", - "status.hide": "Amagar la publicacion", "status.history.created": "{name} o creèt lo {date}", "status.history.edited": "{name} o modifiquèt lo {date}", "status.load_more": "Cargar mai", @@ -539,10 +535,7 @@ "status.report": "Senhalar @{name}", "status.sensitive_warning": "Contengut sensible", "status.share": "Partejar", - "status.show_filter_reason": "Afichar de tot biais", - "status.show_less": "Tornar plegar", "status.show_less_all": "Los tornar plegar totes", - "status.show_more": "Desplegar", "status.show_more_all": "Los desplegar totes", "status.show_original": "Veire l’original", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", @@ -561,10 +554,6 @@ "time_remaining.minutes": "demòra{number, plural, one { # minuta} other {n # minutas}}", "time_remaining.moments": "Moments restants", "time_remaining.seconds": "demòra{number, plural, one { # segonda} other {n # segondas}}", - "timeline_hint.remote_resource_not_displayed": "{resource} suls autres servidors son pas afichats.", - "timeline_hint.resources.followers": "Seguidors", - "timeline_hint.resources.follows": "Abonaments", - "timeline_hint.resources.statuses": "Tuts mai ancians", "trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} personas}} dins los darrièrs {days, plural, one {jorn} other {{days} jorns}}", "trends.trending_now": "Tendéncia del moment", "ui.beforeunload": "Vòstre brolhon serà perdut se quitatz Mastodon.", diff --git a/app/javascript/mastodon/locales/pa.json b/app/javascript/mastodon/locales/pa.json index 83ded408ece..a71c01b3c14 100644 --- a/app/javascript/mastodon/locales/pa.json +++ b/app/javascript/mastodon/locales/pa.json @@ -341,17 +341,11 @@ "status.report": "@{name} ਦੀ ਰਿਪੋਰਟ ਕਰੋ", "status.sensitive_warning": "ਸੰਵੇਦਨਸ਼ੀਲ ਸਮੱਗਰੀ", "status.share": "ਸਾਂਝਾ ਕਰੋ", - "status.show_filter_reason": "ਕਿਵੇਂ ਵੀ ਵੇਖਾਓ", - "status.show_less": "ਘੱਟ ਦਿਖਾਓ", - "status.show_more": "ਹੋਰ ਦਿਖਾਓ", "status.title.with_attachments": "{user} ਨੇ {attachmentCount, plural,one {ਅਟੈਚਮੈਂਟ} other {{attachmentCount}ਅਟੈਚਮੈਂਟਾਂ}} ਪੋਸਟ ਕੀਤੀਆਂ", "status.translate": "ਉਲੱਥਾ ਕਰੋ", "subscribed_languages.save": "ਤਬਦੀਲੀਆਂ ਸੰਭਾਲੋ", "tabs_bar.home": "ਘਰ", "tabs_bar.notifications": "ਸੂਚਨਾਵਾਂ", - "timeline_hint.resources.followers": "ਫ਼ਾਲੋਅਰ", - "timeline_hint.resources.follows": "ਫ਼ਾਲੋ", - "timeline_hint.resources.statuses": "ਪੂਰਾਣੀਆਂ ਪੋਸਟਾਂ", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "units.short.billion": "{count}ਿਬ", "units.short.million": "{count}ਮਿ", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index 05f4511b57f..1af79127a5c 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -19,7 +19,6 @@ "account.block_domain": "Blokuj wszystko z {domain}", "account.block_short": "Zablokuj", "account.blocked": "Zablokowany(-a)", - "account.browse_more_on_origin_server": "Zobacz więcej na oryginalnym profilu", "account.cancel_follow_request": "Wycofaj żądanie obserwowania", "account.copy": "Skopiuj odnośnik do profilu", "account.direct": "Prywatna wzmianka @{name}", @@ -98,6 +97,8 @@ "block_modal.title": "Zablokować użytkownika?", "block_modal.you_wont_see_mentions": "Nie zobaczysz wpisów, które wspominają tego użytkownika.", "boost_modal.combo": "Naciśnij {combo}, aby pominąć to następnym razem", + "boost_modal.reblog": "Podbić wpis?", + "boost_modal.undo_reblog": "Cofnąć podbicie?", "bundle_column_error.copy_stacktrace": "Skopiuj raport o błędzie", "bundle_column_error.error.body": "Nie można zrenderować żądanej strony. Może to być spowodowane błędem w naszym kodzie lub problemami z kompatybilnością przeglądarki.", "bundle_column_error.error.title": "O nie!", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "Przestań obserwować", "confirmations.unfollow.message": "Czy na pewno zamierzasz przestać obserwować {name}?", "confirmations.unfollow.title": "Przestać obserwować?", + "content_warning.hide": "Ukryj wpis", + "content_warning.show": "Pokaż mimo to", "conversation.delete": "Usuń konwersację", "conversation.mark_as_read": "Oznacz jako przeczytane", "conversation.open": "Zobacz konwersację", @@ -300,6 +303,7 @@ "filter_modal.select_filter.subtitle": "Użyj istniejącej kategorii lub utwórz nową", "filter_modal.select_filter.title": "Filtruj ten wpis", "filter_modal.title.status": "Filtruj wpis", + "filter_warning.matches_filter": "Pasuje do filtra \"{title}\"", "filtered_notifications_banner.pending_requests": "Od {count, plural, =0 {żadnej osoby którą możesz znać} one {# osoby którą możesz znać} other {# osób które możesz znać}}", "filtered_notifications_banner.title": "Powiadomienia filtrowane", "firehose.all": "Wszystko", @@ -349,6 +353,14 @@ "hashtag.follow": "Obserwuj hasztag", "hashtag.unfollow": "Przestań obserwować hashtag", "hashtags.and_other": "…i {count, plural, other {jeszcze #}}", + "hints.profiles.followers_may_be_missing": "Może brakować niektórych obserwujących tego profilu.", + "hints.profiles.follows_may_be_missing": "Może brakować niektórych obserwowanych przez tego użytkownika.", + "hints.profiles.posts_may_be_missing": "Może brakować niektórych wpisów tego profilu.", + "hints.profiles.see_more_followers": "Zobacz wszystkich obserwujących na {domain}", + "hints.profiles.see_more_follows": "Zobacz wszystkich obserwowanych na {domain}", + "hints.profiles.see_more_posts": "Zobacz wszystkie wpisy na {domain}", + "hints.threads.replies_may_be_missing": "Może brakować odpowiedzi z innych serwerów.", + "hints.threads.see_more": "Zobacz wszystkie odpowiedzi na {domain}", "home.column_settings.show_reblogs": "Pokazuj podbicia", "home.column_settings.show_replies": "Pokazuj odpowiedzi", "home.hide_announcements": "Ukryj ogłoszenia", @@ -356,6 +368,17 @@ "home.pending_critical_update.link": "Pokaż aktualizacje", "home.pending_critical_update.title": "Dostępna krytyczna aktualizacja bezpieczeństwa!", "home.show_announcements": "Pokaż ogłoszenia", + "ignore_notifications_modal.disclaimer": "Mastodon nie może poinformować innych użytkowników że ignorujesz ich powiadomienia. Ignorowanie powiadomień nie zapobieże wysyłaniu wpisów per se. ", + "ignore_notifications_modal.filter_instead": "Filtruj zamiast tego", + "ignore_notifications_modal.filter_to_act_users": "Dalej będziesz mieć możliwość przyjmować, odrzucać, i raportować użytkowników", + "ignore_notifications_modal.filter_to_avoid_confusion": "Filtrowanie może ograniczyć pomyłki", + "ignore_notifications_modal.filter_to_review_separately": "Możesz osobno przejrzeć powiadomienia odfiltrowane", + "ignore_notifications_modal.ignore": "Ignoruj powiadomienia", + "ignore_notifications_modal.limited_accounts_title": "Ignoruj powiadomienia od kont moderowanych?", + "ignore_notifications_modal.new_accounts_title": "Ignoruj powiadomienia od nowych kont?", + "ignore_notifications_modal.not_followers_title": "Ignoruj powiadomienia od użytkowników którzy cię nie obserwują?", + "ignore_notifications_modal.not_following_title": "Ignoruj powiadomienia od użytkowników których nie obserwujesz?", + "ignore_notifications_modal.private_mentions_title": "Ignoruj powiadomienia o nieproszonych wzmiankach prywatnych?", "interaction_modal.description.favourite": "Mając konto na Mastodonie, możesz dodawać wpisy do ulubionych by dać znać jego autorowi, że podoba Ci się ten wpis i zachować go na później.", "interaction_modal.description.follow": "Mając konto na Mastodonie, możesz śledzić {name} by widzieć jego wpisy na swojej głównej osi czasu.", "interaction_modal.description.reblog": "Mając konto na Mastodonie, możesz podbić ten wpis i udostępnić go Twoim obserwującym.", @@ -445,9 +468,8 @@ "mute_modal.title": "Wyciszyć użytkownika?", "mute_modal.you_wont_see_mentions": "Nie zobaczysz wpisów, które wspominają tego użytkownika.", "mute_modal.you_wont_see_posts": "Użytkownik dalej będzie widzieć Twoje posty, ale Ty nie będziesz widzieć jego.", - "name_and_others": "{name} i {count, plural, one {# inny} few {# inne} many {# innych} other {# innych}}", - "name_and_others_with_link": "{name} i {count, plural, one {# inny} few {# inne} many {# innych} other {# innych}}", "navigation_bar.about": "O serwerze", + "navigation_bar.administration": "Administracja", "navigation_bar.advanced_interface": "Otwórz w zaawansowanym interfejsie użytkownika", "navigation_bar.blocks": "Zablokowani użytkownicy", "navigation_bar.bookmarks": "Zakładki", @@ -464,6 +486,7 @@ "navigation_bar.follows_and_followers": "Obserwowani i obserwujący", "navigation_bar.lists": "Listy", "navigation_bar.logout": "Wyloguj", + "navigation_bar.moderation": "Moderacja", "navigation_bar.mutes": "Wyciszeni użytkownicy", "navigation_bar.opened_in_classic_interface": "Posty, konta i inne konkretne strony są otwierane domyślnie w klasycznym interfejsie sieciowym.", "navigation_bar.personal": "Osobiste", @@ -479,10 +502,18 @@ "notification.admin.report_statuses": "{name} zgłosił(a) {target} w kategorii {category}", "notification.admin.report_statuses_other": "{name} zgłosił(a) {target}", "notification.admin.sign_up": "Użytkownik {name} zarejestrował się", + "notification.admin.sign_up.name_and_others": "zarejestrował(-a) się {name} i {count, plural, one {# inna osoba} few {# inne osoby} other {# innych osób}}", "notification.favourite": "{name} dodaje Twój wpis do ulubionych", + "notification.favourite.name_and_others_with_link": "{name} i {count, plural, one {# inna osoba polubiła twój wpis} few {# inne osoby polubiły twój wpis} other {# innych osób polubiło twój wpis}}", "notification.follow": "{name} obserwuje Cię", + "notification.follow.name_and_others": "{name} i {count, plural, one {# inna osoba cię zaobserwowała} few {# inne osoby cię zaobserwowały} other {# innych osób cię zaobserwowało}}", "notification.follow_request": "{name} chce cię zaobserwować", - "notification.mention": "Wspomniało o Tobie przez {name}", + "notification.follow_request.name_and_others": "{name} i {count, plural, one {# inna osoba chce} few {# inne osoby chcą} other {# innych osób chce}} zaobserwować twój profil", + "notification.label.mention": "Wzmianka", + "notification.label.private_mention": "Prywatna wzmianka", + "notification.label.private_reply": "Odpowiedź prywatna", + "notification.label.reply": "Odpowiedź", + "notification.mention": "Wzmianka", "notification.moderation-warning.learn_more": "Dowiedz się więcej", "notification.moderation_warning": "Otrzymałeś/-łaś ostrzeżenie moderacyjne", "notification.moderation_warning.action_delete_statuses": "Niektóre twoje wpisy zostały usunięte.", @@ -494,8 +525,8 @@ "notification.moderation_warning.action_suspend": "Twoje konto zostało zawieszone.", "notification.own_poll": "Twoje głosowanie zakończyło się", "notification.poll": "Głosowanie, w którym brałeś(-aś) udział, zostało zakończone", - "notification.private_mention": "{name} prywatnie o tobie wspomniał(a)", "notification.reblog": "Twój post został podbity przez {name}", + "notification.reblog.name_and_others_with_link": "{name} i {count, plural, one {# inna osoba podbiła twój wpis} few {# inne osoby podbiły twój wpis} other {# innych osób podbiło twój wpis}}", "notification.relationships_severance_event": "Utracone związki z {name}", "notification.relationships_severance_event.account_suspension": "Administrator z {from} zawiesił {target}, więc nie dostaniesz wieści ani nie wejdziesz w interakcje z użytkownikami z tego serwera.", "notification.relationships_severance_event.domain_block": "Administrator z {from} zablokował {target}, w tym {followersCount} z Twoich obserwujących i {followingCount, plural, one {# konto} other {# konta}} które obserwujesz.", @@ -503,11 +534,24 @@ "notification.status": "{name} opublikował(a) nowy wpis", "notification.update": "{name} edytował(a) post", "notification_requests.accept": "Akceptuj", + "notification_requests.accept_multiple": "Przyjmij {count, plural, one {# wniosek} few {# wnioski} other {# wniosków}} o powiadomienia…", + "notification_requests.confirm_accept_multiple.button": "Przyjmij {count, plural, one {wniosek} other {wnioski}} o powiadomienia", + "notification_requests.confirm_accept_multiple.message": "Na pewno przyjąć {count, plural, one {# wniosek o powiadomienie} few {# wnioski o powiadomienia} other {# wniosków o powiadomienia}}?", + "notification_requests.confirm_accept_multiple.title": "Przyjąć wnioski o powiadomienia?", + "notification_requests.confirm_dismiss_multiple.button": "Odrzuć {count, plural, one {wniosek} other {wnioski}} o powiadomienia", + "notification_requests.confirm_dismiss_multiple.message": "Na pewno odrzucić {count, plural, one {# wniosek o powiadomienie} few {# wnioski o powiadomienia} other {# wniosków o powiadomienia}}? Stracisz do {count, plural, one {niego} other {nich}} łatwy dostęp.", + "notification_requests.confirm_dismiss_multiple.title": "Odrzuć żądania powiadomień?", "notification_requests.dismiss": "Odrzuć", + "notification_requests.dismiss_multiple": "Odrzuć {count, plural, one {# wniosek} few {# wnioski} other {# wniosków}} o powiadomienia…", + "notification_requests.edit_selection": "Edytuj", + "notification_requests.exit_selection": "Gotowe", + "notification_requests.explainer_for_limited_account": "Powiadomienia od tego konta zostały odfiltrowane bo to konto zostało ograniczone przez moderatora.", + "notification_requests.explainer_for_limited_remote_account": "Powiadomienia od tego konta zostały odfiltrowane bo to konto, albo serwer na którym się znajduje, zostało ograniczone przez moderatora.", "notification_requests.maximize": "Zmaksymalizuj", "notification_requests.minimize_banner": "Zminimalizuj baner powiadomień filtrowanych", "notification_requests.notifications_from": "Powiadomienia od {name}", "notification_requests.title": "Powiadomienia filtrowane", + "notification_requests.view": "Wyświetl powiadomienia", "notifications.clear": "Wyczyść powiadomienia", "notifications.clear_confirmation": "Czy na pewno chcesz bezpowrotnie usunąć wszystkie powiadomienia?", "notifications.clear_title": "Wyczyścić powiadomienia?", @@ -544,6 +588,14 @@ "notifications.permission_denied": "Powiadomienia na pulpicie nie są dostępne, ponieważ wcześniej nie udzielono uprawnień w przeglądarce", "notifications.permission_denied_alert": "Powiadomienia na pulpicie nie mogą zostać włączone, ponieważ wcześniej odmówiono uprawnień", "notifications.permission_required": "Powiadomienia na pulpicie nie są dostępne, ponieważ nie przyznano wymaganego uprawnienia.", + "notifications.policy.accept": "Zaakceptuj", + "notifications.policy.accept_hint": "Wyświetlaj w powiadomieniach", + "notifications.policy.drop": "Zignoruj", + "notifications.policy.drop_hint": "Usuń nieodzyskiwalnie.", + "notifications.policy.filter": "Odfiltruj", + "notifications.policy.filter_hint": "Wyślij do skrzynki powiadomień odfiltrowanych", + "notifications.policy.filter_limited_accounts_hint": "Ograniczonych przez moderatorów serwera", + "notifications.policy.filter_limited_accounts_title": "Kont zmoderowanych", "notifications.policy.filter_new_accounts.hint": "Utworzone w ciągu {days, plural, one {ostatniego dnia} other {ostatnich # dni}}", "notifications.policy.filter_new_accounts_title": "Nowe konta", "notifications.policy.filter_not_followers_hint": "Zawierające osoby które obserwują cię krócej niż {days, plural, one {dzień} other {# dni}}", @@ -552,7 +604,7 @@ "notifications.policy.filter_not_following_title": "Ludzie, których nie obserwujesz", "notifications.policy.filter_private_mentions_hint": "Odfiltrowane, chyba że są odpowiedzią na twoją własną wzmiankę, lub obserwujesz wysyłającego", "notifications.policy.filter_private_mentions_title": "Nieproszone prywatne wzmianki", - "notifications.policy.title": "Odfiltruj powiadomienia od…", + "notifications.policy.title": "Zarządzaj powiadomieniami od…", "notifications_permission_banner.enable": "Włącz powiadomienia na pulpicie", "notifications_permission_banner.how_to_control": "Aby otrzymywać powiadomienia, gdy Mastodon nie jest otwarty, włącz powiadomienia pulpitu. Możesz dokładnie kontrolować, októrych działaniach będziesz powiadomienia na pulpicie za pomocą przycisku {icon} powyżej, jeżeli tylko zostaną włączone.", "notifications_permission_banner.title": "Nie przegap niczego", @@ -739,8 +791,6 @@ "status.favourite": "Dodaj do ulubionych", "status.favourites": "{count, plural, one {polubienie} few {polubienia} other {polubień}}", "status.filter": "Filtruj ten wpis", - "status.filtered": "Filtrowany(-a)", - "status.hide": "Ukryj post", "status.history.created": "{name} utworzone {date}", "status.history.edited": "{name} edytowane {date}", "status.load_more": "Załaduj więcej", @@ -768,10 +818,7 @@ "status.report": "Zgłoś @{name}", "status.sensitive_warning": "Wrażliwa zawartość", "status.share": "Udostępnij", - "status.show_filter_reason": "Pokaż mimo wszystko", - "status.show_less": "Zwiń", "status.show_less_all": "Zwiń wszystkie", - "status.show_more": "Rozwiń", "status.show_more_all": "Rozwiń wszystkie", "status.show_original": "Pokaż oryginał", "status.title.with_attachments": "{user} opublikował(a) {attachmentCount, plural, one {załącznik} few {{attachmentCount} załączniki} other {{attachmentCount} załączników}}", @@ -790,10 +837,6 @@ "time_remaining.minutes": "{number, plural, one {Pozostała # minuta} few {Pozostały # minuty} many {Pozostało # minut} other {Pozostało # minut}}", "time_remaining.moments": "Pozostała chwila", "time_remaining.seconds": "{number, plural, one {Pozostała # sekunda} few {Pozostały # sekundy} many {Pozostało # sekund} other {Pozostało # sekund}}", - "timeline_hint.remote_resource_not_displayed": "{resource} z innych serwerów nie są wyświetlane.", - "timeline_hint.resources.followers": "Obserwujący", - "timeline_hint.resources.follows": "Obserwowani", - "timeline_hint.resources.statuses": "Starsze wpisy", "trends.counter_by_accounts": "{count, plural, one {jedna osoba} few {{count} osoby} many {{count} osób} other {{counter} ludzie}} w ciągu {days, plural, one {ostatniego dnia} other {ostatnich {days} dni}}", "trends.trending_now": "Popularne teraz", "ui.beforeunload": "Utracisz tworzony wpis, jeżeli opuścisz Mastodona.", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index 6ebb7710023..14957c16d40 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -18,7 +18,6 @@ "account.block_domain": "Bloquear domínio {domain}", "account.block_short": "Bloquear", "account.blocked": "Bloqueado", - "account.browse_more_on_origin_server": "Veja mais no perfil original", "account.cancel_follow_request": "Cancelar solicitação para seguir", "account.copy": "Copiar link do perfil", "account.direct": "Mencione em privado @{name}", @@ -34,7 +33,9 @@ "account.follow_back": "Seguir de volta", "account.followers": "Seguidores", "account.followers.empty": "Nada aqui.", + "account.followers_counter": "{count, plural, one {{counter} seguidor} other {{counter} seguidores}}", "account.following": "Seguindo", + "account.following_counter": "{count, plural, one {{counter} seguindo} other {{counter} seguindo}}", "account.follows.empty": "Nada aqui.", "account.go_to_profile": "Ir ao perfil", "account.hide_reblogs": "Ocultar boosts de @{name}", @@ -351,6 +352,10 @@ "home.pending_critical_update.link": "Ver atualizações", "home.pending_critical_update.title": "Atualização de segurança crítica disponível!", "home.show_announcements": "Mostrar comunicados", + "ignore_notifications_modal.new_accounts_title": "Ignorar notificações de novas contas?", + "ignore_notifications_modal.not_followers_title": "Ignorar notificações de pessoas que não seguem você?", + "ignore_notifications_modal.not_following_title": "Ignorar notificações de pessoas que você 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, você pode marcar esta publicação como favorita para que o autor saiba que você gostou e salvá-la para mais tarde.", "interaction_modal.description.follow": "Com uma conta no Mastodon, você pode seguir {name} para receber publicações na sua página inicial.", "interaction_modal.description.reblog": "Com uma conta no Mastodon, você pode impulsionar esta publicação para compartilhá-lo com seus próprios seguidores.", @@ -471,7 +476,6 @@ "notification.favourite": "{name} favoritou sua publicação", "notification.follow": "{name} te seguiu", "notification.follow_request": "{name} quer te seguir", - "notification.mention": "{name} te mencionou", "notification.moderation-warning.learn_more": "Aprender mais", "notification.moderation_warning": "Você recebeu um aviso de moderação", "notification.moderation_warning.action_delete_statuses": "Algumas das suas publicações foram removidas.", @@ -492,6 +496,7 @@ "notification.update": "{name} editou uma publicação", "notification_requests.accept": "Aceitar", "notification_requests.dismiss": "Rejeitar", + "notification_requests.maximize": "Maximizar", "notification_requests.notifications_from": "Notificações de {name}", "notification_requests.title": "Notificações filtradas", "notifications.clear": "Limpar notificações", @@ -528,6 +533,9 @@ "notifications.permission_denied": "Navegador não tem permissão para ativar notificações no computador.", "notifications.permission_denied_alert": "Verifique a permissão do navegador para ativar notificações no computador.", "notifications.permission_required": "Ativar notificações no computador exige permissão do navegador.", + "notifications.policy.accept": "Aceitar", + "notifications.policy.accept_hint": "Mostrar nas notificações", + "notifications.policy.drop": "Ignorar", "notifications.policy.filter_new_accounts.hint": "Created within the past {days, plural, one {one day} other {# days}}", "notifications.policy.filter_new_accounts_title": "Novas contas", "notifications.policy.filter_not_followers_hint": "Including people who have been following you fewer than {days, plural, one {one day} other {# days}}", @@ -536,7 +544,6 @@ "notifications.policy.filter_not_following_title": "Pessoas que você não segue", "notifications.policy.filter_private_mentions_hint": "Filtrado, a menos que respondido em sua própria menção ou se você segue o remetente", "notifications.policy.filter_private_mentions_title": "Menções privadas não solicitadas", - "notifications.policy.title": "Filtrar notificações de…", "notifications_permission_banner.enable": "Ativar notificações no computador", "notifications_permission_banner.how_to_control": "Para receber notificações quando o Mastodon não estiver aberto, ative as notificações no computador. Você pode controlar precisamente quais tipos de interações geram notificações no computador através do botão {icon}.", "notifications_permission_banner.title": "Nunca perca nada", @@ -719,8 +726,6 @@ "status.favourite": "Favorita", "status.favourites": "{count, plural, one {favorite} other {favorites}}", "status.filter": "Filtrar esta publicação", - "status.filtered": "Filtrado", - "status.hide": "Ocultar publicação", "status.history.created": "{name} criou {date}", "status.history.edited": "{name} editou {date}", "status.load_more": "Ver mais", @@ -748,10 +753,7 @@ "status.report": "Denunciar @{name}", "status.sensitive_warning": "Mídia sensível", "status.share": "Compartilhar", - "status.show_filter_reason": "Mostrar mesmo assim", - "status.show_less": "Mostrar menos", "status.show_less_all": "Mostrar menos em tudo", - "status.show_more": "Mostrar mais", "status.show_more_all": "Mostrar mais em tudo", "status.show_original": "Mostrar original", "status.title.with_attachments": "{user} postou {attachmentCount, plural, one {um anexo} other {{attachmentCount} attachments}}", @@ -770,10 +772,6 @@ "time_remaining.minutes": "{number, plural, one {# minuto restante} other {# minutos restantes}}", "time_remaining.moments": "Momentos restantes", "time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}", - "timeline_hint.remote_resource_not_displayed": "{resource} de outros servidores não são mostrados.", - "timeline_hint.resources.followers": "Seguidores", - "timeline_hint.resources.follows": "Segue", - "timeline_hint.resources.statuses": "Toots anteriores", "trends.counter_by_accounts": "{count, plural, one {{counter} pessoa} other {{counter} pessoas}} no(s) último(s) {days, plural, one {dia} other {{days} dias}}", "trends.trending_now": "Em alta agora", "ui.beforeunload": "Seu rascunho será perdido se sair do Mastodon.", diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json index 8e67900ae01..e2414963c55 100644 --- a/app/javascript/mastodon/locales/pt-PT.json +++ b/app/javascript/mastodon/locales/pt-PT.json @@ -19,7 +19,6 @@ "account.block_domain": "Bloquear domínio {domain}", "account.block_short": "Bloquear", "account.blocked": "Bloqueado(a)", - "account.browse_more_on_origin_server": "Encontrar mais no perfil original", "account.cancel_follow_request": "Retirar pedido para seguir", "account.copy": "Copiar hiperligação para o perfil", "account.direct": "Mencionar @{name} em privado", @@ -445,8 +444,6 @@ "mute_modal.title": "Silenciar utilizador?", "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.", - "name_and_others": "{name} e {count, plural, one {# outro} other {# outros}}", - "name_and_others_with_link": "{name} e {count, plural, one {# outro} other {# outros}}", "navigation_bar.about": "Sobre", "navigation_bar.advanced_interface": "Abrir na interface web avançada", "navigation_bar.blocks": "Utilizadores bloqueados", @@ -482,7 +479,11 @@ "notification.favourite": "{name} assinalou a sua publicação como favorita", "notification.follow": "{name} começou a seguir-te", "notification.follow_request": "{name} pediu para segui-lo", - "notification.mention": "{name} mencionou-te", + "notification.label.mention": "Menção", + "notification.label.private_mention": "Menção privada", + "notification.label.private_reply": "Resposta privada", + "notification.label.reply": "Resposta", + "notification.mention": "Menção", "notification.moderation-warning.learn_more": "Saber mais", "notification.moderation_warning": "Recebeu um aviso de moderação", "notification.moderation_warning.action_delete_statuses": "Algumas das suas publicações foram removidas.", @@ -494,7 +495,6 @@ "notification.moderation_warning.action_suspend": "A sua conta foi suspensa.", "notification.own_poll": "A sua votação terminou", "notification.poll": "Uma votação em que participaste chegou ao fim", - "notification.private_mention": "{name} mencionou-o em privado", "notification.reblog": "{name} reforçou a tua publicação", "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.", @@ -505,6 +505,8 @@ "notification.update": "{name} editou uma publicação", "notification_requests.accept": "Aceitar", "notification_requests.dismiss": "Descartar", + "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.maximize": "Maximizar", "notification_requests.minimize_banner": "Minimizar o cabeçalho das notificações filtradas", "notification_requests.notifications_from": "Notificações de {name}", @@ -545,6 +547,8 @@ "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_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.filter_limited_accounts_hint": "Limitado pelos moderadores do servidor", + "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_title": "Novas contas", "notifications.policy.filter_not_followers_hint": "Incluindo pessoas que o seguem há menos de {days, plural, one {um dia} other {# dias}}", @@ -553,7 +557,6 @@ "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_title": "Menções privadas não solicitadas", - "notifications.policy.title": "Filtrar notificações de…", "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.title": "Nunca perca nada", @@ -740,8 +743,6 @@ "status.favourite": "Assinalar como favorito", "status.favourites": "{count, plural, one {favorito} other {favoritos}}", "status.filter": "Filtrar esta publicação", - "status.filtered": "Filtrada", - "status.hide": "Ocultar publicação", "status.history.created": "{name} criado em {date}", "status.history.edited": "{name} editado em {date}", "status.load_more": "Carregar mais", @@ -769,10 +770,7 @@ "status.report": "Denunciar @{name}", "status.sensitive_warning": "Conteúdo problemático", "status.share": "Partilhar", - "status.show_filter_reason": "Mostrar mesmo assim", - "status.show_less": "Mostrar menos", "status.show_less_all": "Mostrar menos para todas", - "status.show_more": "Mostrar mais", "status.show_more_all": "Mostrar mais para todas", "status.show_original": "Mostrar original", "status.title.with_attachments": "{user} publicou {attachmentCount, plural,one {um anexo} other {{attachmentCount} anexos}}", @@ -791,10 +789,6 @@ "time_remaining.minutes": "{número, plural, um {# minute} outro {# minutes}} faltam", "time_remaining.moments": "Momentos restantes", "time_remaining.seconds": "{número, plural, um {# second} outro {# seconds}} faltam", - "timeline_hint.remote_resource_not_displayed": "{resource} de outros servidores não são exibidos.", - "timeline_hint.resources.followers": "Seguidores", - "timeline_hint.resources.follows": "Seguindo", - "timeline_hint.resources.statuses": "Publicações mais antigas", "trends.counter_by_accounts": "{count, plural, one {{counter} pessoa} other {{counter} pessoas}} {days, plural, one {no último dia} other {nos últimos {days} dias}}", "trends.trending_now": "Em alta neste momento", "ui.beforeunload": "O teu rascunho será perdido se abandonares o Mastodon.", diff --git a/app/javascript/mastodon/locales/ro.json b/app/javascript/mastodon/locales/ro.json index 36e5565fdf4..5b1901fbe0a 100644 --- a/app/javascript/mastodon/locales/ro.json +++ b/app/javascript/mastodon/locales/ro.json @@ -18,7 +18,6 @@ "account.block_domain": "Blochează domeniul {domain}", "account.block_short": "Blochează", "account.blocked": "Blocat", - "account.browse_more_on_origin_server": "Vezi mai multe pe profilul original", "account.cancel_follow_request": "Retrage cererea de urmărire", "account.copy": "Copiază link-ul profilului", "account.direct": "Menționează pe @{name} în privat", @@ -387,7 +386,6 @@ "notification.favourite": "{name} a adăugat postarea ta la favorite", "notification.follow": "{name} s-a abonat la tine", "notification.follow_request": "{name} a trimis o cerere de abonare", - "notification.mention": "{name} te-a menționat", "notification.own_poll": "Sondajul tău s-a încheiat", "notification.reblog": "{name} ți-a distribuit postarea", "notification.status": "{name} tocmai a postat", @@ -561,8 +559,6 @@ "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.filtered": "Sortate", - "status.hide": "Ascunde postarea", "status.history.created": "creată de {name} pe {date}", "status.history.edited": "modificată de {name} pe {date}", "status.load_more": "Încarcă mai multe", @@ -589,10 +585,7 @@ "status.report": "Raportează pe @{name}", "status.sensitive_warning": "Conținut sensibil", "status.share": "Distribuie", - "status.show_filter_reason": "Afișează oricum", - "status.show_less": "Arată mai puțin", "status.show_less_all": "Arată mai puțin pentru toți", - "status.show_more": "Arată mai mult", "status.show_more_all": "Arată mai mult pentru toți", "status.show_original": "Afișează originalul", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", @@ -611,10 +604,6 @@ "time_remaining.minutes": "{number, plural, one {un minut rămas} few {# minute rămase} other {# de minute rămase}}", "time_remaining.moments": "Momente rămase", "time_remaining.seconds": "{number, plural, one {o secundă rămasă} few {# secunde rămase} other {# de secunde rămase}}", - "timeline_hint.remote_resource_not_displayed": "{resource} de la alte servere nu sunt afișate.", - "timeline_hint.resources.followers": "Urmăritori", - "timeline_hint.resources.follows": "Urmăriri", - "timeline_hint.resources.statuses": "Postări mai vechi", "trends.counter_by_accounts": "{count, plural, one {o persoană} few {{counter} persoane} other {{counter} de persoane}} în {days, plural, one {ultima zi} few {ultimele {days} zile} other {ultimele {days} de zile}}", "trends.trending_now": "În tendință acum", "ui.beforeunload": "Postarea se va pierde dacă părăsești pagina.", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index bff2fe4e7b0..94f82e422d3 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -11,6 +11,7 @@ "about.not_available": "Эта информация не указана на данном сервере.", "about.powered_by": "Децентрализованная социальная сеть на базе {mastodon}", "about.rules": "Правила сервера", + "account.account_note_header": "Личная заметка", "account.add_or_remove_from_list": "Управление списками", "account.badges.bot": "Бот", "account.badges.group": "Группа", @@ -18,7 +19,6 @@ "account.block_domain": "Заблокировать {domain}", "account.block_short": "Блокировать", "account.blocked": "Заблокировано", - "account.browse_more_on_origin_server": "Посмотреть в оригинальном профиле", "account.cancel_follow_request": "Отозвать запрос на подписку", "account.copy": "Скопировать ссылку на профиль", "account.direct": "Лично упоминать @{name}", @@ -167,21 +167,28 @@ "confirmations.block.confirm": "Заблокировать", "confirmations.delete.confirm": "Удалить", "confirmations.delete.message": "Вы уверены, что хотите удалить этот пост?", + "confirmations.delete.title": "Удалить пост?", "confirmations.delete_list.confirm": "Удалить", "confirmations.delete_list.message": "Вы действительно хотите навсегда удалить этот список?", + "confirmations.delete_list.title": "Удалить список?", "confirmations.discard_edit_media.confirm": "Отменить", "confirmations.discard_edit_media.message": "У вас есть несохранённые изменения описания мультимедиа или предпросмотра, отменить их?", "confirmations.edit.confirm": "Редактировать", "confirmations.edit.message": "В данный момент, редактирование перезапишет составляемое вами сообщение. Вы уверены, что хотите продолжить?", + "confirmations.edit.title": "Переписать сообщение?", "confirmations.logout.confirm": "Выйти", "confirmations.logout.message": "Вы уверены, что хотите выйти?", + "confirmations.logout.title": "Выйти?", "confirmations.mute.confirm": "Игнорировать", "confirmations.redraft.confirm": "Удалить и исправить", "confirmations.redraft.message": "Вы уверены, что хотите удалить и переписать этот пост? Отметки «избранного», продвижения и ответы к оригинальному посту будут удалены.", + "confirmations.redraft.title": "Удалим и исправим пост?", "confirmations.reply.confirm": "Ответить", "confirmations.reply.message": "При ответе, текст набираемого поста будет очищен. Продолжить?", + "confirmations.reply.title": "Перепишем пост?", "confirmations.unfollow.confirm": "Отписаться", "confirmations.unfollow.message": "Вы уверены, что хотите отписаться от {name}?", + "confirmations.unfollow.title": "Отписаться?", "conversation.delete": "Удалить беседу", "conversation.mark_as_read": "Отметить как прочитанное", "conversation.open": "Просмотр беседы", @@ -344,6 +351,7 @@ "home.pending_critical_update.link": "Посмотреть обновления", "home.pending_critical_update.title": "Доступно критическое обновление безопасности!", "home.show_announcements": "Показать объявления", + "ignore_notifications_modal.filter_to_act_users": "Вы и далее сможете принять, отвергнуть и жаловаться на пользователей", "interaction_modal.description.favourite": "С учётной записью Mastodon, вы можете добавить этот пост в избранное, чтобы сохранить его на будущее и дать автору знать, что пост вам понравился.", "interaction_modal.description.follow": "С учётной записью Mastodon вы можете подписаться на {name}, чтобы получать их посты в своей домашней ленте.", "interaction_modal.description.reblog": "С учётной записью Mastodon, вы можете продвинуть этот пост, чтобы поделиться им со своими подписчиками.", @@ -464,7 +472,6 @@ "notification.favourite": "{name} добавил(а) ваш пост в избранное", "notification.follow": "{name} подписался (-лась) на вас", "notification.follow_request": "{name} отправил запрос на подписку", - "notification.mention": "{name} упомянул(а) вас", "notification.moderation-warning.learn_more": "Узнать больше", "notification.moderation_warning": "Вы получили предупреждение от модерации", "notification.moderation_warning.action_delete_statuses": "Некоторые из ваших публикаций были удалены.", @@ -485,13 +492,16 @@ "notification.update": "{name} изменил(а) пост", "notification_requests.accept": "Принять", "notification_requests.dismiss": "Отклонить", + "notification_requests.maximize": "Развернуть", "notification_requests.notifications_from": "Уведомления от {name}", "notification_requests.title": "Отфильтрованные уведомления", "notifications.clear": "Очистить уведомления", "notifications.clear_confirmation": "Вы уверены, что хотите очистить все уведомления?", + "notifications.clear_title": "Сбросить уведомления?", "notifications.column_settings.admin.report": "Новые жалобы:", "notifications.column_settings.admin.sign_up": "Новые регистрации:", "notifications.column_settings.alert": "Уведомления на рабочем столе", + "notifications.column_settings.beta.category": "Экспериментальные функции", "notifications.column_settings.favourite": "Избранные:", "notifications.column_settings.filter_bar.advanced": "Отображать все категории", "notifications.column_settings.filter_bar.category": "Панель сортировки", @@ -520,6 +530,7 @@ "notifications.permission_denied": "Уведомления на рабочем столе недоступны, так как вы запретили их отправку в браузере. Проверьте настройки для сайта, чтобы включить их обратно.", "notifications.permission_denied_alert": "Уведомления на рабочем столе недоступны, так как вы ранее отклонили запрос на их отправку.", "notifications.permission_required": "Чтобы включить уведомления на рабочем столе, необходимо разрешить их в браузере.", + "notifications.policy.drop": "Игнорируем", "notifications.policy.filter_new_accounts.hint": "Создано в течение последних {days, plural, one {один день} few {# дней} many {# дней} other {# дня}}", "notifications.policy.filter_new_accounts_title": "Новые учётные записи", "notifications.policy.filter_not_followers_title": "Люди, не подписанные на вас", @@ -527,7 +538,6 @@ "notifications.policy.filter_not_following_title": "Люди, на которых вы не подписаны", "notifications.policy.filter_private_mentions_hint": "Фильтруется, если только это не ответ на ваше собственное упоминание или если вы подписаны на отправителя", "notifications.policy.filter_private_mentions_title": "Нежелательные личные упоминания", - "notifications.policy.title": "Фильтровать уведомления от…", "notifications_permission_banner.enable": "Включить уведомления", "notifications_permission_banner.how_to_control": "Получайте уведомления даже когда Mastodon закрыт, включив уведомления на рабочем столе. А чтобы лишний шум не отвлекал, вы можете настроить какие уведомления вы хотите получать, нажав на кнопку {icon} выше.", "notifications_permission_banner.title": "Будьте в курсе происходящего", @@ -654,8 +664,10 @@ "report.unfollow_explanation": "Вы подписаны на этого пользователя. Чтобы не видеть его/её посты в своей домашней ленте, отпишитесь от него/неё.", "report_notification.attached_statuses": "{count, plural, one {{count} сообщение} few {{count} сообщения} many {{count} сообщений} other {{count} сообщений}} вложено", "report_notification.categories.legal": "Правовая информация", + "report_notification.categories.legal_sentence": "срамной контент", "report_notification.categories.other": "Прочее", "report_notification.categories.spam": "Спам", + "report_notification.categories.spam_sentence": "спам", "report_notification.categories.violation": "Нарушение правил", "report_notification.open": "Открыть жалобу", "search.no_recent_searches": "Недавние запросы отсутствуют", @@ -706,8 +718,6 @@ "status.embed": "Встроить на свой сайт", "status.favourite": "Избранное", "status.filter": "Фильтровать этот пост", - "status.filtered": "Отфильтровано", - "status.hide": "Скрыть пост", "status.history.created": "{name} создал {date}", "status.history.edited": "{name} отредактировал(а) {date}", "status.load_more": "Загрузить остальное", @@ -734,10 +744,7 @@ "status.report": "Пожаловаться", "status.sensitive_warning": "Содержимое «деликатного характера»", "status.share": "Поделиться", - "status.show_filter_reason": "Все равно показать", - "status.show_less": "Свернуть", "status.show_less_all": "Свернуть все спойлеры в ветке", - "status.show_more": "Развернуть", "status.show_more_all": "Развернуть все спойлеры в ветке", "status.show_original": "Показать оригинал", "status.title.with_attachments": "{user} размещено {attachmentCount, plural, one {вложение} other {{attachmentCount} вложений}}", @@ -756,10 +763,6 @@ "time_remaining.minutes": "{number, plural, one {осталась # минута} few {осталось # минуты} many {осталось # минут} other {осталось # минут}}", "time_remaining.moments": "остались считанные мгновения", "time_remaining.seconds": "{number, plural, one {# секунда} many {# секунд} other {# секунды}}", - "timeline_hint.remote_resource_not_displayed": "Мы не отображаем {resource} с других серверов.", - "timeline_hint.resources.followers": "подписчиков", - "timeline_hint.resources.follows": "подписки", - "timeline_hint.resources.statuses": "прошлые посты", "trends.counter_by_accounts": "{count, plural, few {{counter} человека} other {{counter} человек}} за {days, plural, one {последний день} few {последние {days} дня} other {последние {days} дней}}", "trends.trending_now": "Самое актуальное", "ui.beforeunload": "Ваш черновик будет утерян, если вы покинете Mastodon.", diff --git a/app/javascript/mastodon/locales/ry.json b/app/javascript/mastodon/locales/ry.json index a53394dc5a2..b33b95fe51c 100644 --- a/app/javascript/mastodon/locales/ry.json +++ b/app/javascript/mastodon/locales/ry.json @@ -18,7 +18,6 @@ "account.block_domain": "Заблоковати домен {domain}", "account.block_short": "Заблоковати", "account.blocked": "Заблоковано", - "account.browse_more_on_origin_server": "Позирайте бульше на ориґіналнум профілю", "account.cancel_follow_request": "Удмінити пудписку", "account.copy": "Зкопіровати удкликованя на профіл", "account.direct": "Пошептати @{name}", @@ -125,6 +124,8 @@ "column_header.show_settings": "Указати штімованя", "column_header.unpin": "Удкріпити", "column_subheading.settings": "Штімованя", + "community.column_settings.local_only": "Лем локалноє", + "community.column_settings.media_only": "Лем медіа", "compose.language.change": "Поміняти язык", "compose.language.search": "Глядати языкы...", "compose.published.body": "Пост опубликованый.", @@ -146,6 +147,7 @@ "compose_form.publish": "Публикація", "compose_form.publish_form": "Нова публикація", "compose_form.reply": "Удповідь", + "compose_form.save_changes": "Усокотити", "copypaste.copy_to_clipboard": "Копіровати у памнять", "directory.recently_active": "Недавно актівні", "disabled_account_banner.account_settings": "Штімованя акаунта", diff --git a/app/javascript/mastodon/locales/sa.json b/app/javascript/mastodon/locales/sa.json index e230156615d..6ca4eafe193 100644 --- a/app/javascript/mastodon/locales/sa.json +++ b/app/javascript/mastodon/locales/sa.json @@ -17,7 +17,6 @@ "account.block": "अवरुध्यताम् @{name}", "account.block_domain": "अवरुध्यतां प्रदेशः {domain}", "account.blocked": "अवरुद्धम्", - "account.browse_more_on_origin_server": "अधिकं मूलव्यक्तिगतविवरणे दृश्यताम्", "account.cancel_follow_request": "अनुसरणयाचनामपनय", "account.direct": "गोपनीयरूपेण उल्लेखित-@{name}", "account.disable_notifications": "यदा @{name} स्थापयति तदा माम्मा ज्ञापय", @@ -349,7 +348,6 @@ "notification.admin.sign_up": "{name} संविवेश", "notification.follow": "{name} त्वामनुससार", "notification.follow_request": "{name} त्वामनुसर्तुमयाचीत्", - "notification.mention": "{name} त्वामुल्लिलेख", "notification.own_poll": "तव निर्वाचनं समाप्तम्", "notification.reblog": "{name} तव पत्रं बुस्तिमिति अकार्षीत्", "notification.status": "{name} अधुना अस्थापयिष्ट", @@ -508,8 +506,6 @@ "status.edited_x_times": "Edited {count, plural, one {{count} वारम्} other {{count} वारम्}}", "status.embed": "निहितम्", "status.filter": "पत्रमिदं फिल्तरं कुरु", - "status.filtered": "फिल्तर्कृतम्", - "status.hide": "प्रेषरणं प्रच्छादय", "status.history.created": "{name} असृजत् {date}", "status.history.edited": "{name} समपादयत् {date}", "status.load_more": "अधिकं स्थापय", @@ -526,7 +522,6 @@ "status.reblogs.empty": "न केनापि पत्रमिदं बुस्त्कृतम्। यदा कोऽपि करोति, तानि इह दृश्यन्ते।", "status.redraft": "मार्जय पुनश्च लिख्यताम्", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", - "timeline_hint.resources.statuses": "पूरातनपत्राणि", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", diff --git a/app/javascript/mastodon/locales/sc.json b/app/javascript/mastodon/locales/sc.json index 6be1cd41fa5..461383191ed 100644 --- a/app/javascript/mastodon/locales/sc.json +++ b/app/javascript/mastodon/locales/sc.json @@ -11,6 +11,7 @@ "about.not_available": "Custa informatzione no est istada posta a disponimentu in custu serbidore.", "about.powered_by": "Rete sotziale detzentralizada impulsada dae {mastodon}", "about.rules": "Règulas de su serbidore", + "account.account_note_header": "Nota personale", "account.add_or_remove_from_list": "Agiunghe o boga dae is listas", "account.badges.bot": "Automatizadu", "account.badges.group": "Grupu", @@ -18,7 +19,6 @@ "account.block_domain": "Bloca su domìniu {domain}", "account.block_short": "Bloca", "account.blocked": "Blocadu", - "account.browse_more_on_origin_server": "Esplora de prus in su profilu originale", "account.cancel_follow_request": "Annulla sa sighidura", "account.copy": "Còpia su ligòngiu a su profilu", "account.direct": "Mèntova a @{name} in privadu", @@ -27,6 +27,7 @@ "account.edit_profile": "Modìfica profilu", "account.enable_notifications": "Notìfica·mi cando @{name} pùblicat messàgios", "account.endorse": "Cussìgia in su profilu tuo", + "account.featured_tags.last_status_at": "Ùrtima publicatzione in su {date}", "account.featured_tags.last_status_never": "Peruna publicatzione", "account.featured_tags.title": "Etichetas de {name} in evidèntzia", "account.follow": "Sighi", @@ -71,10 +72,15 @@ "account.unmute_notifications_short": "Ativa is notìficas", "account.unmute_short": "Ativa su sonu", "account_note.placeholder": "Incarca pro agiùnghere una nota", + "admin.dashboard.daily_retention": "Tassu de ritentzione de is utentes a pustis de sa registratzione", + "admin.dashboard.monthly_retention": "Tassu de ritentzione de utentes pro mese a pustis de sa registratzione", + "admin.dashboard.retention.average": "Mèdiu", + "admin.dashboard.retention.cohort": "Mese de registratzione", "admin.dashboard.retention.cohort_size": "Utentes noos", "admin.impact_report.instance_accounts": "Contos de profilu chi custu diat cantzellare", "admin.impact_report.instance_followers": "Sighiduras chi is utentes nostros diant pèrdere", "admin.impact_report.instance_follows": "Sighiduras chi is utentes issoro diant pèrdere", + "admin.impact_report.title": "Resumu de s'impatu", "alert.rate_limited.message": "Torra·bi a proare a pustis de {retry_time, time, medium}.", "alert.rate_limited.title": "Màssimu de rechestas barigadu", "alert.unexpected.message": "Ddoe est istada una faddina.", @@ -82,6 +88,7 @@ "announcement.announcement": "Annùntziu", "attachments_list.unprocessed": "(non protzessadu)", "audio.hide": "Cua s'àudio", + "block_modal.remote_users_caveat": "Amus a pedire a su serbidore {domain} de rispetare sa detzisione tua. Nointames custu, su rispetu no est garantidu ca unos cantos serbidores diant pòdere gestire is blocos de manera diferente. Is publicatzione pùblicas diant pòdere ancora èssere visìbiles a is utentes chi no ant fatu s'atzessu.", "block_modal.show_less": "Ammustra·nde prus pagu", "block_modal.show_more": "Ammustra·nde prus", "block_modal.they_cant_mention": "Non ti podent mentovare nen sighire.", @@ -91,7 +98,9 @@ "block_modal.you_wont_see_mentions": "No as a bìdere is publicatziones chi mèntovent custa persone.", "boost_modal.combo": "Podes incarcare {combo} pro brincare custu sa borta chi benit", "bundle_column_error.copy_stacktrace": "Còpia s'informe de faddina", + "bundle_column_error.error.body": "Sa pàgina pedida non faghiat a dda renderizare. Diat pòdere èssere pro neghe de una faddina in su còdighe nostru, o de unu problema de cumpatibilidade de su navigadore.", "bundle_column_error.error.title": "Oh, no!", + "bundle_column_error.network.body": "Ddoe est àpidu un'errore proende a carrigare custa pàgina. Custu diat pòdere derivare dae unu problema temporàneu cun sa connessione ìnternet tua a su serbidore.", "bundle_column_error.network.title": "Faddina de connessione", "bundle_column_error.retry": "Torra·bi a proare", "bundle_column_error.return": "Torra a sa pàgina printzipale", @@ -138,6 +147,7 @@ "compose_form.lock_disclaimer.lock": "blocadu", "compose_form.placeholder": "A ite ses pensende?", "compose_form.poll.duration": "Longària de su sondàgiu", + "compose_form.poll.multiple": "Sèberu mùltiplu", "compose_form.poll.option_placeholder": "Optzione {number}", "compose_form.poll.single": "Sèbera·nde una", "compose_form.poll.switch_to_multiple": "Muda su sondàgiu pro permìtere multi-optziones", @@ -154,9 +164,12 @@ "confirmations.block.confirm": "Bloca", "confirmations.delete.confirm": "Cantzella", "confirmations.delete.message": "Seguru chi boles cantzellare custa publicatzione?", + "confirmations.delete.title": "Cantzellare sa publicatzione?", "confirmations.delete_list.confirm": "Cantzella", "confirmations.delete_list.message": "Seguru chi boles cantzellare custa lista in manera permanente?", + "confirmations.delete_list.title": "Cantzellare sa lista?", "confirmations.discard_edit_media.confirm": "Iscarta", + "confirmations.discard_edit_media.message": "Tenes modìficas non sarvadas a is descritziones o a is anteprimas de is cuntenutos, ddas boles iscartare su matessi?", "confirmations.edit.confirm": "Modìfica", "confirmations.logout.confirm": "Essi·nche", "confirmations.logout.message": "Seguru chi boles essire?", @@ -182,9 +195,21 @@ "disabled_account_banner.text": "Su contu tuo {disabledAccount} no est ativu.", "dismissable_banner.dismiss": "Iscarta", "domain_block_modal.block": "Bloca su serbidore", + "domain_block_modal.block_account_instead": "Bloca imbetzes a @{name}", + "domain_block_modal.they_can_interact_with_old_posts": "Is persones de custu serbidore podent ancora interagire cun is publicatziones betzas tuas.", + "domain_block_modal.they_cant_follow": "Perunu dae custu serbidore ti podet sighire.", + "domain_block_modal.they_wont_know": "No ant a ischire chi t'ant blocadu.", "domain_block_modal.title": "Boles blocare su domìniu?", + "domain_block_modal.you_wont_see_posts": "No as a bìdere publicatziones o notìficas dae utentes in custu serbidore.", + "domain_pill.activitypub_lets_connect": "Ti permitit de ti collegare e de interagire cun persones no isceti in Mastodon, ma in aplicatziones sotziales diferentes puru.", + "domain_pill.activitypub_like_language": "ActivityPub est a tipu sa limba chi Mastodon chistionat cun àteras retes sotziales.", "domain_pill.server": "Serbidore", + "domain_pill.their_handle": "S'identificadore suo:", + "domain_pill.their_server": "Sa domo digitale sua, in ue istant totu is publicatziones suas.", "domain_pill.username": "Nòmine de utente", + "domain_pill.your_handle": "S'identificadore tuo:", + "domain_pill.your_server": "Sa domo digitale tua, in ue istant totu is publicatziones tuas. Custa non t'agradat? Tràmuda serbidore in cale si siat momentu e bati·ti fintzas in fatu is sighidores tuos.", + "domain_pill.your_username": "S'identificadore ùnicu tuo in custu serbidore. Si podent agatare utentes cun su matessi nòmine de utente in àteros serbidores.", "embed.instructions": "Inserta custa publicatzione in su situ web tuo copiende su còdighe de suta.", "embed.preview": "At a aparèssere aici:", "emoji_button.activity": "Atividade", @@ -373,7 +398,6 @@ "notification.favourite": "{name} at marcadu comente a preferidu s'istadu tuo", "notification.follow": "{name} ti sighit", "notification.follow_request": "{name} at dimandadu de ti sighire", - "notification.mention": "{name} t'at mentovadu", "notification.moderation-warning.learn_more": "Àteras informatziones", "notification.moderation_warning": "T'ant imbiadu un'avisu de moderatzione", "notification.moderation_warning.action_delete_statuses": "Unas cantas de is publicatziones tuas sunt istadas cantzelladas.", @@ -385,7 +409,6 @@ "notification.moderation_warning.action_suspend": "Su contu tuo est istadu suspèndidu.", "notification.own_poll": "Sondàgiu acabbadu", "notification.poll": "Unu sondàgiu in su chi as votadu est acabbadu", - "notification.private_mention": "{name} t'at mentovadu in privadu", "notification.reblog": "{name} at cumpartzidu sa publicatzione tua", "notification.relationships_severance_event": "Connessiones pèrdidas cun {name}", "notification.relationships_severance_event.learn_more": "Àteras informatziones", @@ -525,7 +548,6 @@ "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.filtered": "Filtradu", "status.load_more": "Càrriga·nde àteros", "status.media_hidden": "Elementos multimediales cuados", "status.mention": "Mèntova a @{name}", @@ -547,9 +569,7 @@ "status.report": "Sinnala @{name}", "status.sensitive_warning": "Cuntenutu sensìbile", "status.share": "Cumpartzi", - "status.show_less": "Ammustra·nde prus pagu", "status.show_less_all": "Ammustra·nde prus pagu pro totus", - "status.show_more": "Ammustra·nde prus", "status.show_more_all": "Ammustra·nde prus pro totus", "status.title.with_attachments": "{user} at publicadu {attachmentCount, plural, one {un'alligongiadu} other {{attachmentCount} alligongiados}}", "status.unmute_conversation": "Torra a ativare s'arresonada", @@ -562,10 +582,6 @@ "time_remaining.minutes": "{number, plural, one {abarrat # minutu} other {abarrant # minutos}}", "time_remaining.moments": "Abarrant pagu momentos", "time_remaining.seconds": "{number, plural, one {abarrat # segundu} other {abarrant # segundos}}", - "timeline_hint.remote_resource_not_displayed": "Is {resource} dae àteros serbidores non benint ammustradas.", - "timeline_hint.resources.followers": "Sighiduras", - "timeline_hint.resources.follows": "Sighende", - "timeline_hint.resources.statuses": "Publicatziones prus betzas", "trends.counter_by_accounts": "{count, plural, one {{counter} persone} other {{counter} persones}} in {days, plural, one {s'ùrtima die} other {{days} is ùrtimas dies}}", "trends.trending_now": "Est tendèntzia immoe", "ui.beforeunload": "S'abbotzu tuo at a èssere pèrdidu si essis dae Mastodon.", diff --git a/app/javascript/mastodon/locales/sco.json b/app/javascript/mastodon/locales/sco.json index 54f1d9fe15f..e8ae521ae58 100644 --- a/app/javascript/mastodon/locales/sco.json +++ b/app/javascript/mastodon/locales/sco.json @@ -17,7 +17,6 @@ "account.block": "Dingie @{name}", "account.block_domain": "Dingie domain {domain}", "account.blocked": "Dingied", - "account.browse_more_on_origin_server": "Luik mair oan the oreeginal profile", "account.cancel_follow_request": "Resile follae requeest", "account.disable_notifications": "Stap notifyin me whan @{name} posts", "account.domain_blocked": "Domain dingied", @@ -332,7 +331,6 @@ "notification.admin.sign_up": "{name} signed up", "notification.follow": "{name} follaed ye", "notification.follow_request": "{name} is wantin tae follae ye", - "notification.mention": "{name} menshied ye", "notification.own_poll": "Yer poll is duin", "notification.reblog": "{name} heezed yer post", "notification.status": "{name} juist postit", @@ -479,7 +477,6 @@ "status.edited_x_times": "Editit {count, plural, one {{count} time} other {{count} times}}", "status.embed": "Embed", "status.filter": "Filter this post", - "status.filtered": "Filtert", "status.history.created": "{name} creatit {date}", "status.history.edited": "{name} editit {date}", "status.load_more": "Load mair", @@ -504,10 +501,7 @@ "status.report": "Clype @{name}", "status.sensitive_warning": "Sensitive content", "status.share": "Shaire", - "status.show_filter_reason": "Shaw onieweys", - "status.show_less": "Shaw less", "status.show_less_all": "Shaw less fir aw", - "status.show_more": "Shaw mair", "status.show_more_all": "Shaw mair fir aw", "status.show_original": "Shaw original", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", @@ -525,10 +519,6 @@ "time_remaining.minutes": "{number, plural, one {# minute} other {# minties}} left", "time_remaining.moments": "Moments remainin", "time_remaining.seconds": "{number, plural, one {# saicont} other {# saiconts}} left", - "timeline_hint.remote_resource_not_displayed": "{resource} fae ither servers urnae displayed.", - "timeline_hint.resources.followers": "Follaers", - "timeline_hint.resources.follows": "Follaes", - "timeline_hint.resources.statuses": "Aulder posts", "trends.counter_by_accounts": "{count, plural, one {{counter} body} other {{counter} fowk}} in the past {days, plural, one {day} other {{days} days}}", "trends.trending_now": "Trendin noo", "ui.beforeunload": "Yer draft wull be lost if ye lea Mastodon.", diff --git a/app/javascript/mastodon/locales/si.json b/app/javascript/mastodon/locales/si.json index 432b2dff8f9..a9288fd1049 100644 --- a/app/javascript/mastodon/locales/si.json +++ b/app/javascript/mastodon/locales/si.json @@ -11,7 +11,6 @@ "account.block_domain": "{domain} වසම අවහිර කරන්න", "account.block_short": "අවහිර", "account.blocked": "අවහිර කර ඇත", - "account.browse_more_on_origin_server": "මුල් පැතිකඩෙහි තවත් පිරික්සන්න", "account.disable_notifications": "@{name} පළ කරන විට මට දැනුම් නොදෙන්න", "account.domain_blocked": "වසම අවහිර කර ඇත", "account.edit_profile": "පැතිකඩ සංස්කරණය", @@ -286,7 +285,6 @@ "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "notification.favourite": "{name} ඔබගේ ලිපියට ප්‍රිය කළා", "notification.follow": "{name} ඔබව අනුගමනය කළා", - "notification.mention": "{name} ඔබව සඳහන් කර ඇත", "notification.own_poll": "ඔබගේ මත විමසුම නිමයි", "notification.status": "{name} දැන් පළ කළා", "notification.update": "{name} ලිපියක් සංස්කරණය කළා", @@ -419,8 +417,6 @@ "status.edited_x_times": "සංශෝධිතයි {count, plural, one {වාර {count}} other {වාර {count}}}", "status.embed": "කාවැද්දූ", "status.filter": "මෙම ලිපිය පෙරන්න", - "status.filtered": "පෙරන ලද", - "status.hide": "ලිපිය සඟවන්න", "status.history.created": "{name} නිර්මාණය {date}", "status.history.edited": "{name} සංස්කරණය {date}", "status.load_more": "තව පූරණය", @@ -439,10 +435,7 @@ "status.report": "@{name} වාර්තා කරන්න", "status.sensitive_warning": "සංවේදී අන්තර්ගතයකි", "status.share": "බෙදාගන්න", - "status.show_filter_reason": "කෙසේ වුවද පෙන්වන්න", - "status.show_less": "අඩුවෙන් පෙන්වන්න", "status.show_less_all": "සියල්ල අඩුවෙන් පෙන්වන්න", - "status.show_more": "තවත් පෙන්වන්න", "status.show_more_all": "සියල්ල වැඩියෙන් පෙන්වන්න", "status.translate": "පරිවර්තනය", "status.translated_from_with": "{provider} මගින් {lang} භාෂාවෙන් පරිවර්තනය කර ඇත", @@ -456,10 +449,6 @@ "time_remaining.hours": "{number, plural, one {පැය #} other {පැය #}} ක් ඉතිරිය", "time_remaining.minutes": "{number, plural, one {විනාඩි #} other {විනාඩි #}} ක් ඉතිරිය", "time_remaining.seconds": "{number, plural, one {තත්පර #} other {තත්පර #}} ක් ඉතිරිය", - "timeline_hint.remote_resource_not_displayed": "වෙනත් සේවාදායකයන්ගෙන් {resource} දර්ශනය නොවේ.", - "timeline_hint.resources.followers": "අනුගාමිකයින්", - "timeline_hint.resources.follows": "අනුගමන", - "timeline_hint.resources.statuses": "පරණ ලිපි", "trends.trending_now": "දැන් නැගී එන", "ui.beforeunload": "ඔබ මාස්ටඩන් හැර ගියහොත් කටුපිටපත අහිමි වේ.", "units.short.billion": "{count}බී", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index 9abeea62dcb..dfb1309ddfd 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -11,6 +11,7 @@ "about.not_available": "Tieto informácie neboli sprístupnené na tomto serveri.", "about.powered_by": "Decentralizovaná sociálna sieť na základe technológie {mastodon}", "about.rules": "Pravidlá servera", + "account.account_note_header": "Osobná poznámka", "account.add_or_remove_from_list": "Pridať alebo odobrať zo zoznamov", "account.badges.bot": "Bot", "account.badges.group": "Skupina", @@ -18,7 +19,6 @@ "account.block_domain": "Blokovať doménu {domain}", "account.block_short": "Blokovať", "account.blocked": "Účet blokovaný", - "account.browse_more_on_origin_server": "Zobraziť viac na pôvodnom profile", "account.cancel_follow_request": "Zrušiť žiadosť o sledovanie", "account.copy": "Skopírovať odkaz na profil", "account.direct": "Súkromne označiť @{name}", @@ -338,6 +338,7 @@ "home.pending_critical_update.link": "Zobraziť aktualizácie", "home.pending_critical_update.title": "Je dostupná kritická bezpečnostná aktualizácia.", "home.show_announcements": "Zobraziť oznámenia", + "ignore_notifications_modal.ignore": "Ignoruj upozornenia", "interaction_modal.description.favourite": "S účtom na Mastodone môžete tento príspevok ohviezdičkovať, tak dať autorovi vedieť, že sa vám páči, a uložiť si ho na neskôr.", "interaction_modal.description.follow": "S účtom na Mastodone môžete {name} sledovať a vidieť ich príspevky vo svojom domovskom kanáli.", "interaction_modal.description.reblog": "S účtom na Mastodone môžete tento príspevok zdeľať so svojimi sledovateľmi.", @@ -454,7 +455,11 @@ "notification.favourite": "{name} hviezdičkuje váš príspevok", "notification.follow": "{name} vás sleduje", "notification.follow_request": "{name} vás žiada sledovať", - "notification.mention": "{name} vás spomína", + "notification.label.mention": "Zmienka", + "notification.label.private_mention": "Súkromná zmienka", + "notification.label.private_reply": "Súkromná odpoveď", + "notification.label.reply": "Odpoveď", + "notification.mention": "Zmienka", "notification.moderation-warning.learn_more": "Zisti viac", "notification.moderation_warning.action_delete_statuses": "Niektoré z tvojich príspevkov boli odstránené.", "notification.moderation_warning.action_disable": "Tvoj účet bol vypnutý.", @@ -508,7 +513,6 @@ "notifications.policy.filter_not_followers_title": "Ľudia, ktorí ťa nenasledujú", "notifications.policy.filter_not_following_title": "Ľudia, ktorých nenasleduješ", "notifications.policy.filter_private_mentions_title": "Nevyžiadané priame spomenutia", - "notifications.policy.title": "Filtrovať oznámenia od…", "notifications_permission_banner.enable": "Povoliť upozornenia na ploche", "notifications_permission_banner.how_to_control": "Ak chcete dostávať upozornenia, keď Mastodon nie je otvorený, povoľte upozornenia na ploche. Po ich zapnutí môžete presne kontrolovať, ktoré typy interakcií generujú upozornenia na ploche, a to prostredníctvom tlačidla {icon} vyššie.", "notifications_permission_banner.title": "Nenechajte si nič ujsť", @@ -690,8 +694,6 @@ "status.embed": "Vložiť", "status.favourite": "Ohviezdičkované", "status.filter": "Filtrovanie tohto príspevku", - "status.filtered": "Filtrované", - "status.hide": "Skryť príspevok", "status.history.created": "Vytvorené účtom {name} {date}", "status.history.edited": "Upravené účtom {name} {date}", "status.load_more": "Načitať viac", @@ -718,10 +720,7 @@ "status.report": "Nahlásiť @{name}", "status.sensitive_warning": "Citlivý obsah", "status.share": "Zdieľať", - "status.show_filter_reason": "Aj tak zobraziť", - "status.show_less": "Zobraziť menej", "status.show_less_all": "Všetkým zobraziť menej", - "status.show_more": "Zobraziť viac", "status.show_more_all": "Všetkým zobraziť viac", "status.show_original": "Zobraziť originál", "status.title.with_attachments": "Účet {user} nahral {attachmentCount, plural, one {prílohu} few {{attachmentCount} prílohy} many {{attachmentCount} príloh} other {{attachmentCount} príloh}}", @@ -740,10 +739,6 @@ "time_remaining.minutes": "Ostáva{number, plural, one { # minúta} few {jú # minúty} many { # minút} other { # minút}}", "time_remaining.moments": "Ostáva už iba chviľka", "time_remaining.seconds": "Ostáva{number, plural, one { # sekunda} few {jú # sekundy} many { # sekúnd} other { # sekúnd}}", - "timeline_hint.remote_resource_not_displayed": "{resource} z iných serverov sa nezobrazia.", - "timeline_hint.resources.followers": "Sledujúci", - "timeline_hint.resources.follows": "Sledovaní", - "timeline_hint.resources.statuses": "Staršie príspevky", "trends.counter_by_accounts": "{count, plural, one {{counter} osoba} few {{counter} ľudia} many {{counter} ľudí} other {{counter} ľudí}} za posledn{days, plural, one {ý deň} few {é {days} dni} many {ých {days} dní} other {ých {days} dní}}", "trends.trending_now": "Teraz populárne", "ui.beforeunload": "Po opustení Mastodonu prídete o to, čo máte rozpísané.", diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json index ad282fd60fa..6e8ac52df3b 100644 --- a/app/javascript/mastodon/locales/sl.json +++ b/app/javascript/mastodon/locales/sl.json @@ -19,7 +19,6 @@ "account.block_domain": "Blokiraj domeno {domain}", "account.block_short": "Blokiraj", "account.blocked": "Blokirano", - "account.browse_more_on_origin_server": "Brskaj več po izvirnem profilu", "account.cancel_follow_request": "Umakni zahtevo za sledenje", "account.copy": "Kopiraj povezavo do profila", "account.direct": "Zasebno omeni @{name}", @@ -348,6 +347,8 @@ "hashtag.follow": "Sledi ključniku", "hashtag.unfollow": "Nehaj slediti ključniku", "hashtags.and_other": "…in še {count, plural, other {#}}", + "hints.profiles.posts_may_be_missing": "Nekatere objave s tega profila morda manjkajo.", + "hints.threads.replies_may_be_missing": "Odgovori z drugih strežnikov morda manjkajo.", "home.column_settings.show_reblogs": "Pokaži izpostavitve", "home.column_settings.show_replies": "Pokaži odgovore", "home.hide_announcements": "Skrij obvestila", @@ -355,6 +356,9 @@ "home.pending_critical_update.link": "Glejte posodobitve", "home.pending_critical_update.title": "Na voljo je kritična varnostna posodobbitev!", "home.show_announcements": "Pokaži obvestila", + "ignore_notifications_modal.filter_to_avoid_confusion": "Filtriranje pomaga pri izogibanju morebitni zmedi", + "ignore_notifications_modal.filter_to_review_separately": "Filtrirana obvestila lahko pregledate ločeno", + "ignore_notifications_modal.ignore": "Prezri obvestila", "interaction_modal.description.favourite": "Z računom na Mastodonu lahko to objavo postavite med priljubljene in tako avtorju nakažete, da jo cenite, in jo shranite za kasneje.", "interaction_modal.description.follow": "Z računom na Mastodonu lahko sledite {name}, da prejemate njihove objave v svoj domači vir.", "interaction_modal.description.reblog": "Z računom na Mastodonu lahko izpostavite to objavo, tako da jo delite s svojimi sledilci.", @@ -444,8 +448,6 @@ "mute_modal.title": "Utišaj uporabnika?", "mute_modal.you_wont_see_mentions": "Objav, ki jih omenjajo, ne boste videli.", "mute_modal.you_wont_see_posts": "Še vedno vidijo vaše objave, vi pa ne njihovih.", - "name_and_others": "{name} in {count, plural, one {# drug} two {# druga} few {# drugi} other {# drugih}}", - "name_and_others_with_link": "{name} in {count, plural, one {# drug} two {# druga} few {# drugi} other {# drugih}}", "navigation_bar.about": "O Mastodonu", "navigation_bar.advanced_interface": "Odpri v naprednem spletnem vmesniku", "navigation_bar.blocks": "Blokirani uporabniki", @@ -481,7 +483,10 @@ "notification.favourite": "{name} je vzljubil/a vašo objavo", "notification.follow": "{name} vam sledi", "notification.follow_request": "{name} vam želi slediti", - "notification.mention": "{name} vas je omenil/a", + "notification.label.private_mention": "Zasebna omemba", + "notification.label.private_reply": "Zasebni odgovor", + "notification.label.reply": "Odgovori", + "notification.mention": "Omemba", "notification.moderation-warning.learn_more": "Več o tem", "notification.moderation_warning": "Prejeli ste opozorilo moderatorjev", "notification.moderation_warning.action_delete_statuses": "Nekatere vaše objave so odstranjene.", @@ -493,7 +498,6 @@ "notification.moderation_warning.action_suspend": "Vaš račun je bil suspendiran.", "notification.own_poll": "Vaša anketa je zaključena", "notification.poll": "Anketa, v kateri ste sodelovali, je zaključena", - "notification.private_mention": "{name} vas je zasebno omenil/a", "notification.reblog": "{name} je izpostavila/a vašo objavo", "notification.relationships_severance_event": "Povezave z {name} prekinjene", "notification.relationships_severance_event.account_suspension": "Skrbnik na {from} je suspendiral račun {target}, kar pomeni, da od računa ne morete več prejemati posodobitev ali imeti z njim interakcij.", @@ -503,10 +507,14 @@ "notification.status": "{name} je pravkar objavil/a", "notification.update": "{name} je uredil(a) objavo", "notification_requests.accept": "Sprejmi", + "notification_requests.confirm_dismiss_multiple.title": "Želite opustiti zahteve za obvestila?", "notification_requests.dismiss": "Zavrni", + "notification_requests.edit_selection": "Uredi", + "notification_requests.exit_selection": "Opravljeno", "notification_requests.maximize": "Maksimiraj", "notification_requests.notifications_from": "Obvestila od {name}", "notification_requests.title": "Filtrirana obvestila", + "notification_requests.view": "Pokaži obvestila", "notifications.clear": "Počisti obvestila", "notifications.clear_confirmation": "Ali ste prepričani, da želite trajno izbrisati vsa svoja obvestila?", "notifications.clear_title": "Želite počistiti obvestila?", @@ -543,6 +551,11 @@ "notifications.permission_denied": "Namizna obvestila niso na voljo zaradi poprej zavrnjene zahteve dovoljenja brskalnika.", "notifications.permission_denied_alert": "Namiznih obvestil ni mogoče omogočiti, ker je bilo dovoljenje brskalnika že prej zavrnjeno", "notifications.permission_required": "Namizna obvestila niso na voljo, ker zahtevano dovoljenje ni bilo podeljeno.", + "notifications.policy.accept": "Sprejmi", + "notifications.policy.accept_hint": "Pokaži med obvestili", + "notifications.policy.drop": "Prezri", + "notifications.policy.filter_limited_accounts_hint": "Omejeno s strani moderatorjev strežnika", + "notifications.policy.filter_limited_accounts_title": "Moderirani računi", "notifications.policy.filter_new_accounts.hint": "Ustvarjen v {days, plural, one {zadnjem # dnevu} two {zadnjih # dnevih} few {zadnjih # dnevih} other {zadnjih # dnevih}}", "notifications.policy.filter_new_accounts_title": "Novi računi", "notifications.policy.filter_not_followers_hint": "Vključujoč ljudi, ki vam sledijo manj kot {days, plural, one {# dan} two {# dneva} few {# dni} other {# dni}}", @@ -551,7 +564,7 @@ "notifications.policy.filter_not_following_title": "Ljudje, ki jim ne sledite", "notifications.policy.filter_private_mentions_hint": "Filtrirano, razen če je odgovor na vašo lastno omembo ali če sledite pošiljatelju", "notifications.policy.filter_private_mentions_title": "Neželene zasebne omembe", - "notifications.policy.title": "Filtriraj obvestila od …", + "notifications.policy.title": "Upravljaj obvestila od ...", "notifications_permission_banner.enable": "Omogoči obvestila na namizju", "notifications_permission_banner.how_to_control": "Če želite prejemati obvestila, ko Mastodon ni odprt, omogočite namizna obvestila. Natančno lahko nadzirate, katere vrste interakcij naj tvorijo namizna obvestila; ko so omogočena, za to uporabite gumb {icon} zgoraj.", "notifications_permission_banner.title": "Nikoli ne zamudite ničesar", @@ -738,8 +751,6 @@ "status.favourite": "Priljubljen_a", "status.favourites": "{count, plural, one {priljubitev} two {priljubitvi} few {priljubitve} other {priljubitev}}", "status.filter": "Filtriraj to objavo", - "status.filtered": "Filtrirano", - "status.hide": "Skrij objavo", "status.history.created": "{name}: ustvarjeno {date}", "status.history.edited": "{name}: urejeno {date}", "status.load_more": "Naloži več", @@ -767,10 +778,7 @@ "status.report": "Prijavi @{name}", "status.sensitive_warning": "Občutljiva vsebina", "status.share": "Deli", - "status.show_filter_reason": "Vseeno pokaži", - "status.show_less": "Pokaži manj", "status.show_less_all": "Prikaži manj za vse", - "status.show_more": "Pokaži več", "status.show_more_all": "Pokaži več za vse", "status.show_original": "Pokaži izvirnik", "status.title.with_attachments": "{user} je objavil_a {attachmentCount, plural, one {{attachmentCount} priponko} two {{attachmentCount} priponki} few {{attachmentCount} priponke} other {{attachmentCount} priponk}}", @@ -789,10 +797,6 @@ "time_remaining.minutes": "{number, plural, one {# minuta} other {# minut}} je ostalo", "time_remaining.moments": "Preostali trenutki", "time_remaining.seconds": "{number, plural, one {# sekunda je preostala} two {# sekundi sta preostali} few {# sekunde so preostale} other {# sekund je preostalo}}", - "timeline_hint.remote_resource_not_displayed": "{resource} z drugih strežnikov ni prikazano.", - "timeline_hint.resources.followers": "sledilcev", - "timeline_hint.resources.follows": "Sledi", - "timeline_hint.resources.statuses": "Starejše objave", "trends.counter_by_accounts": "{count, plural, one {{count} oseba} two {{count} osebi} few {{count} osebe} other {{count} oseb}} v {days, plural, one {zadnjem {day} dnevu} two {zadnjih {days} dneh} few {zadnjih {days} dneh} other {zadnjih {days} dneh}}", "trends.trending_now": "Zdaj v trendu", "ui.beforeunload": "Vaš osnutek bo izgubljen, če zapustite Mastodona.", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index af44c702471..51b7a551c1c 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -19,7 +19,6 @@ "account.block_domain": "Blloko përkatësinë {domain}", "account.block_short": "Bllokoje", "account.blocked": "E bllokuar", - "account.browse_more_on_origin_server": "Shfletoni më tepër rreth profilit origjinal", "account.cancel_follow_request": "Tërhiq mbrapsht kërkesë për ndjekje", "account.copy": "Kopjoje lidhjen te profili", "account.direct": "Përmendje private për @{name}", @@ -98,6 +97,8 @@ "block_modal.title": "Të bllokohet përdoruesi?", "block_modal.you_wont_see_mentions": "S’do të shihni postimet ku përmenden.", "boost_modal.combo": "Që kjo të anashkalohet herës tjetër, mund të shtypni {combo}", + "boost_modal.reblog": "Përforcim postimi?", + "boost_modal.undo_reblog": "Të hiqet përforcim për postimin?", "bundle_column_error.copy_stacktrace": "Kopjo raportim gabimi", "bundle_column_error.error.body": "Faqja e kërkuar s’u vizatua dot. Kjo mund të vijë nga një e metë në kodin tonë, ose nga një problem përputhshmërie i shfletuesit.", "bundle_column_error.error.title": "Oh, mos!", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "Resht së ndjekuri", "confirmations.unfollow.message": "Jeni i sigurt se doni të mos ndiqet më {name}?", "confirmations.unfollow.title": "Të ndalet ndjekja e përdoruesit?", + "content_warning.hide": "Fshihe postimin", + "content_warning.show": "Shfaqe, sido qoftë", "conversation.delete": "Fshije bisedën", "conversation.mark_as_read": "Vëri shenjë si të lexuar", "conversation.open": "Shfaq bisedën", @@ -300,6 +303,7 @@ "filter_modal.select_filter.subtitle": "Përdorni një kategori ekzistuese, ose krijoni një të re", "filter_modal.select_filter.title": "Filtroje këtë postim", "filter_modal.title.status": "Filtroni një postim", + "filter_warning.matches_filter": "Ka përkim me filtrin “{title}”", "filtered_notifications_banner.pending_requests": "Nga {count, plural, =0 {askush} one {një person} other {# vetë}} që mund të njihni", "filtered_notifications_banner.title": "Njoftime të filtruar", "firehose.all": "Krejt", @@ -349,6 +353,14 @@ "hashtag.follow": "Ndiqe hashtag-un", "hashtag.unfollow": "Hiqe ndjekjen e hashtag-ut", "hashtags.and_other": "…dhe {count, plural, one {}other {# më tepër}}", + "hints.profiles.followers_may_be_missing": "Mund të mungojnë ndjekës për këtë profil.", + "hints.profiles.follows_may_be_missing": "Mund të mungojnë ndjekje për këtë profil.", + "hints.profiles.posts_may_be_missing": "Mund të mungojnë disa postime prej këtij profili.", + "hints.profiles.see_more_followers": "Shihni më tepër ndjekës në {domain}", + "hints.profiles.see_more_follows": "Shihni më tepër ndjekje në {domain}", + "hints.profiles.see_more_posts": "Shihni më tepër postime në {domain}", + "hints.threads.replies_may_be_missing": "Mund të mungojnë përgjigje nga shërbyes të tjerë.", + "hints.threads.see_more": "Shihni më tepër përgjigje në {domain}", "home.column_settings.show_reblogs": "Shfaq përforcime", "home.column_settings.show_replies": "Shfaq përgjigje", "home.hide_announcements": "Fshihi lajmërimet", @@ -356,6 +368,17 @@ "home.pending_critical_update.link": "Shihni përditësime", "home.pending_critical_update.title": "Ka përditësim kritik të lidhur me sigurinë!", "home.show_announcements": "Shfaqi lajmërimet", + "ignore_notifications_modal.disclaimer": "Mastodon-i s’mund të njoftojë përdoruesit se po shpërfillni njoftimet e tyre. Shpërfillja e njoftimeve s’do të ndalë dërgimin e vetë mesazheve.", + "ignore_notifications_modal.filter_instead": "Në vend të kësaj, filtroji", + "ignore_notifications_modal.filter_to_act_users": "Do të jeni prapë në gjendje të pranoni, hidhni poshtë, ose raportoni përdorues", + "ignore_notifications_modal.filter_to_avoid_confusion": "Filtrimi ndihmon të shmanget konfuzion potencial", + "ignore_notifications_modal.filter_to_review_separately": "Njoftimet e filtruara mund t’i shqyrtoni ndarazi", + "ignore_notifications_modal.ignore": "Shpërfilli njoftimet", + "ignore_notifications_modal.limited_accounts_title": "Të shpërfillen njoftime nga llogari të moderuara?", + "ignore_notifications_modal.new_accounts_title": "Të shpërfillen njoftime nga llogari të reja?", + "ignore_notifications_modal.not_followers_title": "Të shpërfillen njoftime nga persona që s’ju ndjekin?", + "ignore_notifications_modal.not_following_title": "Të shpërfillen njoftime nga persona që s’i ndiqni?", + "ignore_notifications_modal.private_mentions_title": "Të shpërfillen njoftime nga Përmendje Private të pakërkuara?", "interaction_modal.description.favourite": "Me një llogari në Mastodon, mund ta tregoni këtë postim si të parapëlqyer, për t’i bërë të ditur autorit se e çmoni dhe e ruani për më vonë.", "interaction_modal.description.follow": "Me një llogari në Mastodon, mund ta ndiqni {name} për të marrë postimet e tyre në prurjen tuaj të kreut.", "interaction_modal.description.reblog": "Me një llogari në Mastodon, mund ta përforconi këtë postim për ta ndarë me ndjekësit tuaj.", @@ -445,9 +468,8 @@ "mute_modal.title": "Të heshtohet përdoruesi?", "mute_modal.you_wont_see_mentions": "S’do të shihni postime ku përmenden.", "mute_modal.you_wont_see_posts": "Ata munden ende të shohin postimet tuaja, por ju s’do të shihni të tyret.", - "name_and_others": "{name} dhe {count, plural, one {# tjetër} other {# të tjerë}}", - "name_and_others_with_link": "{name} dhe {count, plural, one {# tjetër} other {# të tjerë}}", "navigation_bar.about": "Mbi", + "navigation_bar.administration": "Administrim", "navigation_bar.advanced_interface": "Hape në ndërfaqe web të thelluar", "navigation_bar.blocks": "Përdorues të bllokuar", "navigation_bar.bookmarks": "Faqerojtës", @@ -464,6 +486,7 @@ "navigation_bar.follows_and_followers": "Ndjekje dhe ndjekës", "navigation_bar.lists": "Lista", "navigation_bar.logout": "Dalje", + "navigation_bar.moderation": "Moderim", "navigation_bar.mutes": "Përdorues të heshtuar", "navigation_bar.opened_in_classic_interface": "Postime, llogari dhe të tjera faqe specifike, si parazgjedhje, hapen në ndërfaqe klasike web.", "navigation_bar.personal": "Personale", @@ -479,10 +502,18 @@ "notification.admin.report_statuses": "{name} raportoi {target} për {category}", "notification.admin.report_statuses_other": "{name} raportoi {target}", "notification.admin.sign_up": "{name} u regjistrua", + "notification.admin.sign_up.name_and_others": "U regjistrua {name} dhe {count, plural, one {# tjetër} other {# të tjerë}}", "notification.favourite": "{name} i vuri shenjë postimit tuaj si të parapëlqyer", + "notification.favourite.name_and_others_with_link": "{name} dhe {count, plural, one {# tjetër} other {# të tjerë}} i vunë shenjë postimit tuaj si të parapëlqyer", "notification.follow": "{name} zuri t’ju ndjekë", + "notification.follow.name_and_others": "Ju ndoqi {name} dhe {count, plural, one {# tjetër} other {# të tjerë}}", "notification.follow_request": "{name} ka kërkuar t’ju ndjekë", - "notification.mention": "{name} ju ka përmendur", + "notification.follow_request.name_and_others": "Ka kërkuar t’ju ndjekë {name} dhe {count, plural, one {# tjetër} other {# të tjerë}}", + "notification.label.mention": "Përmendje", + "notification.label.private_mention": "Përmendje private", + "notification.label.private_reply": "Përgjigje private", + "notification.label.reply": "Përgjigje", + "notification.mention": "Përmendje", "notification.moderation-warning.learn_more": "Mësoni më tepër", "notification.moderation_warning": "Ju është dhënë një sinjalizim moderimi", "notification.moderation_warning.action_delete_statuses": "Disa nga postimet tuaja janë hequr.", @@ -494,8 +525,8 @@ "notification.moderation_warning.action_suspend": "Llogaria juaj është pezulluar.", "notification.own_poll": "Pyetësori juaj ka përfunduar", "notification.poll": "Ka përfunduar një pyetësor në të cilin keni marrë pjesë", - "notification.private_mention": "{name} ju përmendi privatisht", "notification.reblog": "{name} përforcoi mesazhin tuaj", + "notification.reblog.name_and_others_with_link": "Ju ka përforcuar {name} dhe {count, plural, one {# tjetër} other {# të tjerë}}", "notification.relationships_severance_event": "Lidhje të humbura me {name}", "notification.relationships_severance_event.account_suspension": "Një përgjegjës nga {from} ka pezulluar {target}, që do të thotë se s’mund të merrni më përditësime prej tij, apo të ndërveproni me të.", "notification.relationships_severance_event.domain_block": "Një përgjegjës nga {from} ka bllokuar {target}, përfshi {followersCount} të ndjekësve tuaj dhe {followingCount, plural, one {# llogari} other {# llogari}} që ndiqni.", @@ -504,11 +535,24 @@ "notification.status": "{name} sapo postoi", "notification.update": "{name} përpunoi një postim", "notification_requests.accept": "Pranoje", + "notification_requests.accept_multiple": "{count, plural, one {Pranoni # kërkesë…} other {Pranoni # kërkesa…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Pranojeni kërkesën} other {Pranoje kërkesën}}", + "notification_requests.confirm_accept_multiple.message": "Ju ndan një hap nga pranimi i {count, plural, one {një kërkese njoftimi} other {# kërkesash njoftimi}}. Jeni i sigurt se doni të vazhdohet?", + "notification_requests.confirm_accept_multiple.title": "Të pranohen kërkesa njoftimesh?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Hidheni tej kërkesën} other {Hidhini tej kërkesat}}", + "notification_requests.confirm_dismiss_multiple.message": "Ju ndan një hap nga hedhja tej e {count, plural, one {një kërkese njoftimesh} other {# kërkesash njoftimesh}}. S’do të jeni në gjendje të shihni sërish {count, plural, one {atë} other {ato}}. Jeni i sigurt se doni të bëhet kjo?", + "notification_requests.confirm_dismiss_multiple.title": "Të hidhen tej kërkesa njoftimesh?", "notification_requests.dismiss": "Hidhe tej", + "notification_requests.dismiss_multiple": "{count, plural, one {Hidhni tej # kërkesë…} other {Hidhni tej # kërkesa…}}", + "notification_requests.edit_selection": "Përpunoni", + "notification_requests.exit_selection": "U bë", + "notification_requests.explainer_for_limited_account": "Njoftimet prej kësaj llogarie janë filtruar, ngaqë llogaria është kufizuar nga një moderator.", + "notification_requests.explainer_for_limited_remote_account": "Njoftimet prej kësaj llogarie janë filtruar, ngaqë llogaria, ose shërbyesi është kufizuar nga një moderator.", "notification_requests.maximize": "Maksimizoje", "notification_requests.minimize_banner": "Minimizo banderolë njoftimesh të filtruara", "notification_requests.notifications_from": "Njoftime prej {name}", "notification_requests.title": "Njoftime të filtruar", + "notification_requests.view": "Shihni njoftime", "notifications.clear": "Spastroji njoftimet", "notifications.clear_confirmation": "Jeni i sigurt se doni të spastrohen përgjithmonë krejt njoftimet tuaja?", "notifications.clear_title": "Të spastrohen njoftimet?", @@ -545,6 +589,14 @@ "notifications.permission_denied": "S’merren dot njoftime në desktop, ngaqë më herët shfletuesit i janë mohuar lejet për këtë", "notifications.permission_denied_alert": "S’mund të aktivizohen njoftimet në desktop, ngaqë lejet e shfletuesit për këtë janë mohuar më herët", "notifications.permission_required": "S’merren dot njoftime desktop, ngaqë s’është akorduar leja përkatëse.", + "notifications.policy.accept": "Pranoji", + "notifications.policy.accept_hint": "Shfaq njoftime", + "notifications.policy.drop": "Shpërfille", + "notifications.policy.drop_hint": "Dërgoje në hiç, mos e pafshim më kurrë", + "notifications.policy.filter": "Filtrim", + "notifications.policy.filter_hint": "Dërgoje te kutia e njoftimeve të filtruara", + "notifications.policy.filter_limited_accounts_hint": "Kufizuar nga moderatorë shërbyesi", + "notifications.policy.filter_limited_accounts_title": "Llogari të moderuara", "notifications.policy.filter_new_accounts.hint": "Krijuar brenda {days, plural, one {një dite} other {# ditësh}} të shkuara", "notifications.policy.filter_new_accounts_title": "Llogari të reja", "notifications.policy.filter_not_followers_hint": "Përfshi persona që ju kanë ndjekur brenda më pak se {days, plural, one {një dite} other {# ditësh}}", @@ -553,7 +605,7 @@ "notifications.policy.filter_not_following_title": "Persona që s’i ndiqni", "notifications.policy.filter_private_mentions_hint": "Filtruar, hiq rastin nëse gjendet te përgjigje ndaj përmendjes tuaj, ose nëse dërguesin e ndiqni", "notifications.policy.filter_private_mentions_title": "Përmendje private të pakërkuara", - "notifications.policy.title": "Filtroni njoftime nga…", + "notifications.policy.title": "Administroni njoftime nga…", "notifications_permission_banner.enable": "Aktivizo njoftime në desktop", "notifications_permission_banner.how_to_control": "Për të marrë njoftime, kur Mastodon-i s’është i hapur, aktivizoni njoftime në desktop. Përmes butoni {icon} më sipër, mund të kontrolloni me përpikëri cilat lloje ndërveprimesh prodhojnë njoftime në desktop, pasi të jenë aktivizuar.", "notifications_permission_banner.title": "Mos t’ju shpëtojë gjë", @@ -740,8 +792,6 @@ "status.favourite": "I vini shenjë si të parapëlqyer", "status.favourites": "{count, plural, one {i parapëlqyer} other {të parapëlqyer}}", "status.filter": "Filtroje këtë postim", - "status.filtered": "I filtruar", - "status.hide": "Fshihe postimin", "status.history.created": "{name} u krijua më {date}", "status.history.edited": "{name} u përpunua më {date}", "status.load_more": "Ngarko më tepër", @@ -769,10 +819,7 @@ "status.report": "Raportojeni @{name}", "status.sensitive_warning": "Lëndë rezervat", "status.share": "Ndajeni me të tjerë", - "status.show_filter_reason": "Shfaqe, sido qoftë", - "status.show_less": "Shfaq më pak", "status.show_less_all": "Shfaq më pak për të tërë", - "status.show_more": "Shfaq më tepër", "status.show_more_all": "Shfaq më tepër për të tërë", "status.show_original": "Shfaq origjinalin", "status.title.with_attachments": "{user} postoi {attachmentCount, plural, one {një bashkëngjitje} other {{attachmentCount} bashkëngjitje}}", @@ -791,10 +838,6 @@ "time_remaining.minutes": "Edhe {number, plural, one {# minutë} other {# minuta}}", "time_remaining.moments": "Çaste të mbetur", "time_remaining.seconds": "Edhe {number, plural, one {# sekondë} other {# sekonda}}", - "timeline_hint.remote_resource_not_displayed": "S’janë shfaqur {resource} nga shërbyes të tjerë.", - "timeline_hint.resources.followers": "Ndjekës", - "timeline_hint.resources.follows": "Ndjekje", - "timeline_hint.resources.statuses": "Mesazhe të vjetër", "trends.counter_by_accounts": "{count, plural, një {{counter} person} other {{counter} vetë}} në {days, plural, një {day} other {{days} ditë}} të kaluar", "trends.trending_now": "Prirjet e tashme", "ui.beforeunload": "Skica juaj do të humbë, nëse dilni nga Mastodon-i.", diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json index d0636614e84..d550f6517c6 100644 --- a/app/javascript/mastodon/locales/sr-Latn.json +++ b/app/javascript/mastodon/locales/sr-Latn.json @@ -18,7 +18,6 @@ "account.block_domain": "Blokiraj domen {domain}", "account.block_short": "Blokiraj", "account.blocked": "Blokiran", - "account.browse_more_on_origin_server": "Pregledajte još na originalnom profilu", "account.cancel_follow_request": "Otkaži praćenje", "account.copy": "Kopiraj vezu u profil", "account.direct": "Privatno pomeni @{name}", @@ -467,7 +466,6 @@ "notification.favourite": "{name} je označio vašu objavu kao omiljenu", "notification.follow": "{name} vas je zapratio", "notification.follow_request": "{name} je zatražio da vas prati", - "notification.mention": "{name} vas je pomenuo", "notification.moderation-warning.learn_more": "Saznajte više", "notification.moderation_warning": "Dobili ste moderatorsko upozorenje", "notification.moderation_warning.action_delete_statuses": "Neke od vaših objava su uklonjene.", @@ -531,7 +529,6 @@ "notifications.policy.filter_not_following_title": "Ljudi koje ne pratite", "notifications.policy.filter_private_mentions_hint": "Filtrirano osim ako je odgovor na vaše pominjanje ili ako pratite pošiljaoca", "notifications.policy.filter_private_mentions_title": "Neželjena privatna pominjanja", - "notifications.policy.title": "Filtriraj obaveštenja od…", "notifications_permission_banner.enable": "Omogućiti obaveštenja na radnoj površini", "notifications_permission_banner.how_to_control": "Da biste primali obaveštenja kada Mastodon nije otvoren, omogućite obaveštenja na radnoj površini. Kada su obaveštenja na radnoj površini omogućena vrste interakcija koje ona generišu mogu se podešavati pomoću dugmeta {icon}.", "notifications_permission_banner.title": "Nikada ništa ne propustite", @@ -714,8 +711,6 @@ "status.favourite": "Omiljeno", "status.favourites": "{count, plural, one {# omiljeno} few {# omiljena} other {# omiljenih}}", "status.filter": "Filtriraj ovu objavu", - "status.filtered": "Filtrirano", - "status.hide": "Sakrij objavu", "status.history.created": "{name} napisao/la {date}", "status.history.edited": "{name} uredio/la {date}", "status.load_more": "Učitaj još", @@ -743,10 +738,7 @@ "status.report": "Prijavi @{name}", "status.sensitive_warning": "Osetljiv sadržaj", "status.share": "Podeli", - "status.show_filter_reason": "Ipak prikaži", - "status.show_less": "Prikaži manje", "status.show_less_all": "Prikaži manje za sve", - "status.show_more": "Prikaži više", "status.show_more_all": "Prikaži više za sve", "status.show_original": "Prikaži orginal", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", @@ -765,10 +757,6 @@ "time_remaining.minutes": "Ostalo {number, plural, one {# minut} few {# minuta} other {# minuta}}", "time_remaining.moments": "Još nekoliko trenutaka", "time_remaining.seconds": "Ostalo {number, plural, one {# sekund} few {# sekunde} other {# sekundi}}", - "timeline_hint.remote_resource_not_displayed": "{resource} sa drugih servera se ne prikazuju.", - "timeline_hint.resources.followers": "Pratioci", - "timeline_hint.resources.follows": "Praćenja", - "timeline_hint.resources.statuses": "Starije objave", "trends.counter_by_accounts": "{count, plural, one {{counter} osoba} few {{counter} osobe} other {{counter} osoba}} u proteklih {days, plural, one {dan} other {{days} dana}}", "trends.trending_now": "U trendu sada", "ui.beforeunload": "Vaš nacrt će biti izgubljen ako napustite Mastodon.", diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json index c41cda123a0..f608d46a20b 100644 --- a/app/javascript/mastodon/locales/sr.json +++ b/app/javascript/mastodon/locales/sr.json @@ -18,7 +18,6 @@ "account.block_domain": "Блокирај домен {domain}", "account.block_short": "Блокирај", "account.blocked": "Блокиран", - "account.browse_more_on_origin_server": "Прегледајте још на оригиналном профилу", "account.cancel_follow_request": "Откажи праћење", "account.copy": "Копирај везу у профил", "account.direct": "Приватно помени @{name}", @@ -467,7 +466,6 @@ "notification.favourite": "{name} је означио вашу објаву као омиљену", "notification.follow": "{name} вас је запратио", "notification.follow_request": "{name} је затражио да вас прати", - "notification.mention": "{name} вас је поменуо", "notification.moderation-warning.learn_more": "Сазнајте више", "notification.moderation_warning": "Добили сте модераторско упозорење", "notification.moderation_warning.action_delete_statuses": "Неке од ваших објава су уклоњене.", @@ -531,7 +529,6 @@ "notifications.policy.filter_not_following_title": "Људи које не пратите", "notifications.policy.filter_private_mentions_hint": "Филтрирано осим ако је одговор на ваше помињање или ако пратите пошиљаоца", "notifications.policy.filter_private_mentions_title": "Нежељена приватна помињања", - "notifications.policy.title": "Филтрирај обавештења од…", "notifications_permission_banner.enable": "Омогућити обавештења на радној површини", "notifications_permission_banner.how_to_control": "Да бисте примали обавештења када Mastodon није отворен, омогућите обавештења на радној површини. Kада су обавештења на радној површини омогућена врсте интеракција које она генеришу могу се подешавати помоћу дугмета {icon}.", "notifications_permission_banner.title": "Никада ништа не пропустите", @@ -714,8 +711,6 @@ "status.favourite": "Омиљено", "status.favourites": "{count, plural, one {# омиљено} few {# омиљена} other {# омиљених}}", "status.filter": "Филтрирај ову објаву", - "status.filtered": "Филтрирано", - "status.hide": "Сакриј објаву", "status.history.created": "{name} написао/ла {date}", "status.history.edited": "{name} уредио/ла {date}", "status.load_more": "Учитај још", @@ -743,10 +738,7 @@ "status.report": "Пријави @{name}", "status.sensitive_warning": "Осетљив садржај", "status.share": "Подели", - "status.show_filter_reason": "Ипак прикажи", - "status.show_less": "Прикажи мање", "status.show_less_all": "Прикажи мање за све", - "status.show_more": "Прикажи више", "status.show_more_all": "Прикажи више за све", "status.show_original": "Прикажи оргинал", "status.title.with_attachments": "{user} је објавио {attachmentCount, plural, one {прилог} few {{attachmentCount} прилога} other {{attachmentCount} прилога}}", @@ -765,10 +757,6 @@ "time_remaining.minutes": "Остало {number, plural, one {# минут} few {# минута} other {# минута}}", "time_remaining.moments": "Још неколико тренутака", "time_remaining.seconds": "Остало {number, plural, one {# секунд} few {# секунде} other {# секунди}}", - "timeline_hint.remote_resource_not_displayed": "{resource} са других сервера се не приказују.", - "timeline_hint.resources.followers": "Пратиоци", - "timeline_hint.resources.follows": "Праћења", - "timeline_hint.resources.statuses": "Старије објаве", "trends.counter_by_accounts": "{count, plural, one {{counter} особа} few {{counter} особе} other {{counter} особа}} у протеклих {days, plural, one {дан} other {{days} дана}}", "trends.trending_now": "У тренду сада", "ui.beforeunload": "Ваш нацрт ће бити изгубљен ако напустите Mastodon.", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index a88502500db..76b46f3425d 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -19,7 +19,6 @@ "account.block_domain": "Blockera domänen {domain}", "account.block_short": "Blockera", "account.blocked": "Blockerad", - "account.browse_more_on_origin_server": "Läs mer på den ursprungliga profilen", "account.cancel_follow_request": "Återkalla din begäran om att få följa", "account.copy": "Kopiera länk till profil", "account.direct": "Nämn @{name} privat", @@ -193,6 +192,8 @@ "confirmations.unfollow.confirm": "Avfölj", "confirmations.unfollow.message": "Är du säker på att du vill avfölja {name}?", "confirmations.unfollow.title": "Avfölj %s?", + "content_warning.hide": "Dölj inlägg", + "content_warning.show": "Visa ändå", "conversation.delete": "Radera konversation", "conversation.mark_as_read": "Markera som läst", "conversation.open": "Visa konversation", @@ -300,6 +301,7 @@ "filter_modal.select_filter.subtitle": "Använd en befintlig kategori eller skapa en ny", "filter_modal.select_filter.title": "Filtrera detta inlägg", "filter_modal.title.status": "Filtrera ett inlägg", + "filtered_notifications_banner.pending_requests": "Från {count, plural, =0 {ingen} one {en person} other {# personer}} du kanske känner", "filtered_notifications_banner.title": "Filtrerade aviseringar", "firehose.all": "Allt", "firehose.local": "Denna server", @@ -348,6 +350,14 @@ "hashtag.follow": "Följ hashtagg", "hashtag.unfollow": "Avfölj hashtagg", "hashtags.and_other": "…och {count, plural, one {}other {# mer}}", + "hints.profiles.followers_may_be_missing": "Det kan saknas vissa följare av denna profil.", + "hints.profiles.follows_may_be_missing": "Det kan saknas vissa följare av denna profil.", + "hints.profiles.posts_may_be_missing": "Det kan saknas vissa följare för denna profil.", + "hints.profiles.see_more_followers": "Se fler följare på {domain}", + "hints.profiles.see_more_follows": "Se fler följare på {domain}", + "hints.profiles.see_more_posts": "Se fler inlägg på {domain}", + "hints.threads.replies_may_be_missing": "Det kan saknas svar från andra servrar.", + "hints.threads.see_more": "Se fler svar på {domain}", "home.column_settings.show_reblogs": "Visa boostar", "home.column_settings.show_replies": "Visa svar", "home.hide_announcements": "Dölj notiser", @@ -355,6 +365,17 @@ "home.pending_critical_update.link": "Se uppdateringar", "home.pending_critical_update.title": "En kritisk säkerhetsuppdatering är tillgänglig!", "home.show_announcements": "Visa notiser", + "ignore_notifications_modal.disclaimer": "Mastodon kan inte informera användarna om att du har ignorerat deras meddelanden. Ignorering av aviseringar kommer inte att stoppa själva meddelandena från att skickas.", + "ignore_notifications_modal.filter_instead": "Filtrera istället", + "ignore_notifications_modal.filter_to_act_users": "Du kommer fortfarande att kunna acceptera, avvisa eller rapportera användare", + "ignore_notifications_modal.filter_to_avoid_confusion": "Filtrering hjälper till att undvika eventuell förvirring", + "ignore_notifications_modal.filter_to_review_separately": "Du kan granska filtrerade aviseringar separat", + "ignore_notifications_modal.ignore": "Ignorera notifikationer", + "ignore_notifications_modal.limited_accounts_title": "Vill du ignorera aviseringar från modererade konton?", + "ignore_notifications_modal.new_accounts_title": "Vill du ignorera aviseringar från nya konton?", + "ignore_notifications_modal.not_followers_title": "Vill du ignorera aviseringar från personer som inte följer dig?", + "ignore_notifications_modal.not_following_title": "Vill du blockera aviseringar från personer som du inte följer dig?", + "ignore_notifications_modal.private_mentions_title": "Vill du ignorera aviseringar från oönskade privata omnämningar?", "interaction_modal.description.favourite": "Med ett Mastodon-konto kan du favoritmarkera detta inlägg för att visa författaren att du gillar det och för att spara det till senare.", "interaction_modal.description.follow": "Med ett Mastodon-konto kan du följa {name} för att se hens inlägg i ditt hemflöde.", "interaction_modal.description.reblog": "Med ett Mastodon-konto kan du boosta detta inlägg för att dela den med dina egna följare.", @@ -444,8 +465,6 @@ "mute_modal.title": "Tysta användare?", "mute_modal.you_wont_see_mentions": "Du kommer inte att se inlägg som nämner dem.", "mute_modal.you_wont_see_posts": "De kan fortfarande se dina inlägg, men du kan inte se deras.", - "name_and_others": "{name} och {count, plural, one {# annan} other {# andra}}", - "name_and_others_with_link": "{name} och {count, plural, one {# annan} other {# andra}}", "navigation_bar.about": "Om", "navigation_bar.advanced_interface": "Öppna i avancerat webbgränssnitt", "navigation_bar.blocks": "Blockerade användare", @@ -478,10 +497,18 @@ "notification.admin.report_statuses": "{name} rapporterade {target} för {category}", "notification.admin.report_statuses_other": "{name} rapporterade {target}", "notification.admin.sign_up": "{name} registrerade sig", + "notification.admin.sign_up.name_and_others": "{name} och {count, plural, one {# en annan} other {# andra}} har registrerat sig", "notification.favourite": "{name} favoritmarkerade ditt inlägg", + "notification.favourite.name_and_others_with_link": "{name} och {count, plural, one {# annan} other {# andra}} har favoritmarkerat ditt inlägg", "notification.follow": "{name} följer dig", + "notification.follow.name_and_others": "{name} och {count, plural, one {# en annan} other {# andra}} följer dig", "notification.follow_request": "{name} har begärt att följa dig", - "notification.mention": "{name} nämnde dig", + "notification.follow_request.name_and_others": "{name} och {count, plural, one {# en annan} other {# andra}} har bett att följa dig", + "notification.label.mention": "Nämn", + "notification.label.private_mention": "Privat nämning", + "notification.label.private_reply": "Privata svar", + "notification.label.reply": "Svar", + "notification.mention": "Nämn", "notification.moderation-warning.learn_more": "Läs mer", "notification.moderation_warning": "Du har fått en moderationsvarning", "notification.moderation_warning.action_delete_statuses": "Några av dina inlägg har tagits bort.", @@ -493,8 +520,8 @@ "notification.moderation_warning.action_suspend": "Ditt konto har stängts av.", "notification.own_poll": "Din röstning har avslutats", "notification.poll": "En enkät som du röstat i har avslutats", - "notification.private_mention": "{name} nämnde dig privat", "notification.reblog": "{name} boostade ditt inlägg", + "notification.reblog.name_and_others_with_link": "{name} och {count, plural, one {# annan} other {# andra}} har förhöjt ditt inlägg", "notification.relationships_severance_event": "Förlorade kontakter med {name}", "notification.relationships_severance_event.account_suspension": "En administratör från {from} har stängt av {target}, vilket innebär att du inte längre kan ta emot uppdateringar från dem eller interagera med dem.", "notification.relationships_severance_event.domain_block": "En administratör från {from} har blockerat {target}, inklusive {followersCount} av dina följare och {followingCount, plural, one {# konto} other {# konton}} du följer.", @@ -503,9 +530,24 @@ "notification.status": "{name} publicerade just ett inlägg", "notification.update": "{name} redigerade ett inlägg", "notification_requests.accept": "Godkänn", + "notification_requests.accept_multiple": "{count, plural, one {Acceptera # förfrågan…} other {Acceptera # förfrågningar…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Acceptera förfrågan} other {Acceptera förfrågningar}}", + "notification_requests.confirm_accept_multiple.message": "Du håller på att acceptera {count, plural, one {en förfrågan} other {# förfrågningar}} om avisering. Är du säker på att du vill fortsätta?", + "notification_requests.confirm_accept_multiple.title": "Vill du acceptera aviseringsförfrågningar?", + "notification_requests.confirm_dismiss_multiple.button": "Avvisa {count, plural, one {# förfrågan} other {# förfrågningar}}", + "notification_requests.confirm_dismiss_multiple.message": "Du håller på att avfärda {count, plural, one {en begäran} other {# begäran}} om aviseringar. Du kommer inte enkelt att kunna komma åt {count, plural, one {det} other {dem}} igen. Är du säker på att du vill fortsätta?", + "notification_requests.confirm_dismiss_multiple.title": "Vill du acceptera aviseringsförfrågningar?", "notification_requests.dismiss": "Avfärda", + "notification_requests.dismiss_multiple": "Avvisa {count, plural, one {# förfrågan} other {# förfrågningar}}...", + "notification_requests.edit_selection": "Redigera", + "notification_requests.exit_selection": "Klar", + "notification_requests.explainer_for_limited_account": "Aviseringar från detta konto har filtrerats eftersom kontot har begränsats av en moderator.", + "notification_requests.explainer_for_limited_remote_account": "Aviseringar från detta konto eller denna server har filtrerats eftersom kontot har begränsats av en moderator.", + "notification_requests.maximize": "Maximera", + "notification_requests.minimize_banner": "Minimera ruta för filtrerade aviseringar", "notification_requests.notifications_from": "Aviseringar från {name}", "notification_requests.title": "Filtrerade meddelanden", + "notification_requests.view": "Visa aviseringar", "notifications.clear": "Rensa aviseringar", "notifications.clear_confirmation": "Är du säker på att du vill rensa alla dina aviseringar permanent?", "notifications.clear_title": "Rensa aviseringar?", @@ -542,6 +584,14 @@ "notifications.permission_denied": "Skrivbordsaviseringar är otillgängliga på grund av tidigare nekade förfrågningar om behörighet i webbläsaren", "notifications.permission_denied_alert": "Skrivbordsaviseringar kan inte aktiveras, eftersom att webbläsarens behörighet har nekats innan", "notifications.permission_required": "Skrivbordsaviseringar är otillgängliga eftersom att rättigheten som krävs inte har godkänts.", + "notifications.policy.accept": "Acceptera", + "notifications.policy.accept_hint": "Visa bland aviseringar", + "notifications.policy.drop": "Ignorera", + "notifications.policy.drop_hint": "Skicka ut i tomrummet för aldrig synas till igen", + "notifications.policy.filter": "Filtrera", + "notifications.policy.filter_hint": "Skicka till inkorgen för filtrerade aviserings", + "notifications.policy.filter_limited_accounts_hint": "Begränsade av servermoderatorer", + "notifications.policy.filter_limited_accounts_title": "Modererade konton", "notifications.policy.filter_new_accounts.hint": "Skapad inom de senaste {days, plural, one {dagen} other {# dagarna}}", "notifications.policy.filter_new_accounts_title": "Nya konton", "notifications.policy.filter_not_followers_hint": "Inklusive personer som har följt dig kortare än {days, plural, one {en dag} other {# dagar}}", @@ -550,7 +600,7 @@ "notifications.policy.filter_not_following_title": "Personer du inte följer", "notifications.policy.filter_private_mentions_hint": "Filtrerat om det inte är som svar på ditt eget omnämnande eller om du följer avsändaren", "notifications.policy.filter_private_mentions_title": "Oombedda privata omnämnanden", - "notifications.policy.title": "Filtrera ut aviseringar från…", + "notifications.policy.title": "Hantera aviseringar från…", "notifications_permission_banner.enable": "Aktivera skrivbordsaviseringar", "notifications_permission_banner.how_to_control": "För att ta emot aviseringar när Mastodon inte är öppet, aktivera skrivbordsaviseringar. När de är aktiverade kan du styra exakt vilka typer av interaktioner som aviseras via {icon} -knappen ovan.", "notifications_permission_banner.title": "Missa aldrig något", @@ -737,8 +787,6 @@ "status.favourite": "Favoritmarkera", "status.favourites": "{count, plural, one {favorit} other {favoriter}}", "status.filter": "Filtrera detta inlägg", - "status.filtered": "Filtrerat", - "status.hide": "Dölj inlägg", "status.history.created": "{name} skapade {date}", "status.history.edited": "{name} redigerade {date}", "status.load_more": "Ladda fler", @@ -766,10 +814,7 @@ "status.report": "Rapportera @{name}", "status.sensitive_warning": "Känsligt innehåll", "status.share": "Dela", - "status.show_filter_reason": "Visa ändå", - "status.show_less": "Visa mindre", "status.show_less_all": "Visa mindre för alla", - "status.show_more": "Visa mer", "status.show_more_all": "Visa mer för alla", "status.show_original": "Visa original", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", @@ -788,10 +833,6 @@ "time_remaining.minutes": "{number, plural, one {# minut} other {# minuter}} kvar", "time_remaining.moments": "Återstående tillfällen", "time_remaining.seconds": "{number, plural, one {# sekund} other {# sekunder}} kvar", - "timeline_hint.remote_resource_not_displayed": "{resource} från andra servrar visas inte.", - "timeline_hint.resources.followers": "Följare", - "timeline_hint.resources.follows": "Följer", - "timeline_hint.resources.statuses": "Äldre inlägg", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} personer}} senaste {days, plural, one {dygnet} other {{days} dagarna}}", "trends.trending_now": "Trendar nu", "ui.beforeunload": "Ditt utkast kommer att förloras om du lämnar Mastodon.", diff --git a/app/javascript/mastodon/locales/szl.json b/app/javascript/mastodon/locales/szl.json index 269e3b06b50..404f7e2fd4c 100644 --- a/app/javascript/mastodon/locales/szl.json +++ b/app/javascript/mastodon/locales/szl.json @@ -14,7 +14,6 @@ "account.badges.group": "Grupa", "account.block": "Zablokuj @{name}", "account.block_domain": "Zablokuj domena {domain}", - "account.browse_more_on_origin_server": "Ôbocz wiyncyj we ôryginalnym profilu", "account.cancel_follow_request": "Withdraw follow request", "account.domain_blocked": "Domena zablokowanŏ", "account.media": "Mydia", @@ -103,7 +102,6 @@ "status.pinned": "Pinned toot", "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", - "timeline_hint.resources.statuses": "Older toots", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", diff --git a/app/javascript/mastodon/locales/ta.json b/app/javascript/mastodon/locales/ta.json index 402d34b9fdd..4bded456790 100644 --- a/app/javascript/mastodon/locales/ta.json +++ b/app/javascript/mastodon/locales/ta.json @@ -11,7 +11,6 @@ "account.block_domain": "{domain} யில் இருந்து வரும் எல்லாவற்றையும் மறை", "account.block_short": "தடு", "account.blocked": "முடக்கப்பட்டது", - "account.browse_more_on_origin_server": "மேலும் உலாவ சுயவிவரத்திற்குச் செல்க", "account.cancel_follow_request": "Withdraw follow request", "account.disable_notifications": "@{name} பதிவிட்டல் எனக்கு தெரியபடுத்த வேண்டாம்", "account.domain_blocked": "மறைக்கப்பட்டத் தளங்கள்", @@ -274,7 +273,6 @@ "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "notification.follow": "{name} உங்களைப் பின்தொடர்கிறார்", "notification.follow_request": "{name} உங்களைப் பின்தொடரக் கோருகிறார்", - "notification.mention": "{name} நீங்கள் குறிப்பிட்டுள்ளீர்கள்", "notification.own_poll": "கருத்துக்கணிப்பு நிறைவடைந்தது", "notification.reblog": "{name} உங்கள் நிலை அதிகரித்தது", "notifications.clear": "அறிவிப்புகளை அழிக்கவும்", @@ -349,7 +347,6 @@ "status.detailed_status": "விரிவான உரையாடல் காட்சி", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.embed": "கிடத்து", - "status.filtered": "வடிகட்டு", "status.load_more": "அதிகமாய் ஏற்று", "status.media_hidden": "மீடியா மறைக்கப்பட்டது", "status.mention": "குறிப்பிடு @{name}", @@ -371,9 +368,7 @@ "status.report": "@{name} மீது புகாரளி", "status.sensitive_warning": "உணர்திறன் உள்ளடக்கம்", "status.share": "பங்கிடு", - "status.show_less": "குறைவாகக் காண்பி", "status.show_less_all": "அனைத்தையும் குறைவாக காட்டு", - "status.show_more": "மேலும் காட்ட", "status.show_more_all": "அனைவருக்கும் மேலும் காட்டு", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", "status.unmute_conversation": "ஊமையாக உரையாடல் இல்லை", @@ -385,10 +380,6 @@ "time_remaining.minutes": "{number, plural, one {# minute} மற்ற {# minutes}} left", "time_remaining.moments": "தருணங்கள் மீதமுள்ளன", "time_remaining.seconds": "{number, plural, one {# second} மற்ற {# seconds}} left", - "timeline_hint.remote_resource_not_displayed": "பிற சர்வர்களிலிருந்து வரும் {resource} காட்டப்படவில்லை.", - "timeline_hint.resources.followers": "வாசகர்கள்", - "timeline_hint.resources.follows": "வாசிக்கிறார்", - "timeline_hint.resources.statuses": "பழைய டூட்டுகள்", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "trends.trending_now": "இப்போது செல்திசையில் இருப்பவை", "ui.beforeunload": "நீங்கள் வெளியே சென்றால் உங்கள் வரைவு இழக்கப்படும் மஸ்தோடோன்.", diff --git a/app/javascript/mastodon/locales/tai.json b/app/javascript/mastodon/locales/tai.json index cad6e8eaa5a..6a86088fa88 100644 --- a/app/javascript/mastodon/locales/tai.json +++ b/app/javascript/mastodon/locales/tai.json @@ -90,7 +90,6 @@ "status.pinned": "Pinned toot", "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", - "timeline_hint.resources.statuses": "Older toots", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", diff --git a/app/javascript/mastodon/locales/te.json b/app/javascript/mastodon/locales/te.json index d3e1026889f..52cb612d86b 100644 --- a/app/javascript/mastodon/locales/te.json +++ b/app/javascript/mastodon/locales/te.json @@ -185,7 +185,6 @@ "navigation_bar.security": "భద్రత", "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "notification.follow": "{name} మిమ్మల్ని అనుసరిస్తున్నారు", - "notification.mention": "{name} మిమ్మల్ని ప్రస్తావించారు", "notification.reblog": "{name} మీ స్టేటస్ ను బూస్ట్ చేసారు", "notifications.clear": "ప్రకటనలను తుడిచివేయు", "notifications.clear_confirmation": "మీరు మీ అన్ని నోటిఫికేషన్లను శాశ్వతంగా తొలగించాలనుకుంటున్నారా?", @@ -248,7 +247,6 @@ "status.detailed_status": "వివరణాత్మక సంభాషణ వీక్షణ", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.embed": "ఎంబెడ్", - "status.filtered": "వడకట్టబడిన", "status.load_more": "మరిన్ని లోడ్ చేయి", "status.media_hidden": "మీడియా దాచబడింది", "status.mention": "@{name}ను ప్రస్తావించు", @@ -269,9 +267,7 @@ "status.report": "@{name}పై ఫిర్యాదుచేయు", "status.sensitive_warning": "సున్నితమైన కంటెంట్", "status.share": "పంచుకోండి", - "status.show_less": "తక్కువ చూపించు", "status.show_less_all": "అన్నిటికీ తక్కువ చూపించు", - "status.show_more": "ఇంకా చూపించు", "status.show_more_all": "అన్నిటికీ ఇంకా చూపించు", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", "status.unmute_conversation": "సంభాషణను అన్మ్యూట్ చేయి", @@ -279,7 +275,6 @@ "tabs_bar.home": "హోమ్", "tabs_bar.notifications": "ప్రకటనలు", "time_remaining.moments": "కొన్ని క్షణాలు మాత్రమే మిగిలి ఉన్నాయి", - "timeline_hint.resources.statuses": "Older toots", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "ui.beforeunload": "మీరు మాస్టొడొన్ను వదిలివేస్తే మీ డ్రాఫ్ట్లు పోతాయి.", "upload_area.title": "అప్లోడ్ చేయడానికి డ్రాగ్ & డ్రాప్ చేయండి", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index a6df1cc976f..55f0fe02be0 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -1,5 +1,5 @@ { - "about.blocks": "เซิร์ฟเวอร์ที่มีการกลั่นกรอง", + "about.blocks": "เซิร์ฟเวอร์ที่ได้รับการกลั่นกรอง", "about.contact": "ติดต่อ:", "about.disclaimer": "Mastodon เป็นซอฟต์แวร์เสรี โอเพนซอร์ส และเครื่องหมายการค้าของ Mastodon gGmbH", "about.domain_blocks.no_reason_available": "เหตุผลไม่พร้อมใช้งาน", @@ -11,6 +11,7 @@ "about.not_available": "ไม่ได้ทำให้ข้อมูลนี้พร้อมใช้งานในเซิร์ฟเวอร์นี้", "about.powered_by": "สื่อสังคมแบบกระจายศูนย์ที่ขับเคลื่อนโดย {mastodon}", "about.rules": "กฎของเซิร์ฟเวอร์", + "account.account_note_header": "หมายเหตุส่วนบุคคล", "account.add_or_remove_from_list": "เพิ่มหรือเอาออกจากรายการ", "account.badges.bot": "อัตโนมัติ", "account.badges.group": "กลุ่ม", @@ -18,7 +19,6 @@ "account.block_domain": "ปิดกั้นโดเมน {domain}", "account.block_short": "ปิดกั้น", "account.blocked": "ปิดกั้นอยู่", - "account.browse_more_on_origin_server": "เรียกดูเพิ่มเติมในโปรไฟล์ดั้งเดิม", "account.cancel_follow_request": "ยกเลิกการติดตาม", "account.copy": "คัดลอกลิงก์ไปยังโปรไฟล์", "account.direct": "กล่าวถึง @{name} แบบส่วนตัว", @@ -97,6 +97,8 @@ "block_modal.title": "ปิดกั้นผู้ใช้?", "block_modal.you_wont_see_mentions": "คุณจะไม่เห็นโพสต์ที่กล่าวถึงเขา", "boost_modal.combo": "คุณสามารถกด {combo} เพื่อข้ามสิ่งนี้ในครั้งถัดไป", + "boost_modal.reblog": "ดันโพสต์?", + "boost_modal.undo_reblog": "เลิกดันโพสต์?", "bundle_column_error.copy_stacktrace": "คัดลอกรายงานข้อผิดพลาด", "bundle_column_error.error.body": "ไม่สามารถแสดงผลหน้าที่ขอ ข้อผิดพลาดอาจเป็นเพราะข้อบกพร่องในโค้ดของเรา หรือปัญหาความเข้ากันได้ของเบราว์เซอร์", "bundle_column_error.error.title": "โอ้ ไม่!", @@ -192,6 +194,8 @@ "confirmations.unfollow.confirm": "เลิกติดตาม", "confirmations.unfollow.message": "คุณแน่ใจหรือไม่ว่าต้องการเลิกติดตาม {name}?", "confirmations.unfollow.title": "เลิกติดตามผู้ใช้?", + "content_warning.hide": "ซ่อนโพสต์", + "content_warning.show": "แสดงต่อไป", "conversation.delete": "ลบการสนทนา", "conversation.mark_as_read": "ทำเครื่องหมายว่าอ่านแล้ว", "conversation.open": "ดูการสนทนา", @@ -299,6 +303,8 @@ "filter_modal.select_filter.subtitle": "ใช้หมวดหมู่ที่มีอยู่หรือสร้างหมวดหมู่ใหม่", "filter_modal.select_filter.title": "กรองโพสต์นี้", "filter_modal.title.status": "กรองโพสต์", + "filter_warning.matches_filter": "ตรงกับตัวกรอง “{title}”", + "filtered_notifications_banner.pending_requests": "จาก {count, plural, =0 {ไม่มีใคร} other {# คน}} ที่คุณอาจรู้จัก", "filtered_notifications_banner.title": "การแจ้งเตือนที่กรองอยู่", "firehose.all": "ทั้งหมด", "firehose.local": "เซิร์ฟเวอร์นี้", @@ -347,6 +353,14 @@ "hashtag.follow": "ติดตามแฮชแท็ก", "hashtag.unfollow": "เลิกติดตามแฮชแท็ก", "hashtags.and_other": "…และอีก {count, plural, other {# เพิ่มเติม}}", + "hints.profiles.followers_may_be_missing": "ผู้ติดตามสำหรับโปรไฟล์นี้อาจขาดหายไป", + "hints.profiles.follows_may_be_missing": "การติดตามสำหรับโปรไฟล์นี้อาจขาดหายไป", + "hints.profiles.posts_may_be_missing": "โพสต์บางส่วนจากโปรไฟล์นี้อาจขาดหายไป", + "hints.profiles.see_more_followers": "ดูผู้ติดตามเพิ่มเติมใน {domain}", + "hints.profiles.see_more_follows": "ดูการติดตามเพิ่มเติมใน {domain}", + "hints.profiles.see_more_posts": "ดูโพสต์เพิ่มเติมใน {domain}", + "hints.threads.replies_may_be_missing": "การตอบกลับจากเซิร์ฟเวอร์อื่น ๆ อาจขาดหายไป", + "hints.threads.see_more": "ดูการตอบกลับเพิ่มเติมใน {domain}", "home.column_settings.show_reblogs": "แสดงการดัน", "home.column_settings.show_replies": "แสดงการตอบกลับ", "home.hide_announcements": "ซ่อนประกาศ", @@ -354,6 +368,17 @@ "home.pending_critical_update.link": "ดูการอัปเดต", "home.pending_critical_update.title": "มีการอัปเดตความปลอดภัยสำคัญพร้อมใช้งาน!", "home.show_announcements": "แสดงประกาศ", + "ignore_notifications_modal.disclaimer": "Mastodon ไม่สามารถแจ้งผู้ใช้ว่าคุณได้เพิกเฉยการแจ้งเตือนของเขา การเพิกเฉยการแจ้งเตือนจะไม่หยุดการส่งข้อความนั้นเอง", + "ignore_notifications_modal.filter_instead": "กรองแทน", + "ignore_notifications_modal.filter_to_act_users": "คุณจะยังสามารถยอมรับ ปฏิเสธ หรือรายงานผู้ใช้", + "ignore_notifications_modal.filter_to_avoid_confusion": "การกรองช่วยหลีกเลี่ยงความสับสนที่อาจเกิดขึ้น", + "ignore_notifications_modal.filter_to_review_separately": "คุณสามารถตรวจทานการแจ้งเตือนที่กรองอยู่แยกต่างหาก", + "ignore_notifications_modal.ignore": "เพิกเฉยการแจ้งเตือน", + "ignore_notifications_modal.limited_accounts_title": "เพิกเฉยการแจ้งเตือนจากบัญชีที่ได้รับการกลั่นกรอง?", + "ignore_notifications_modal.new_accounts_title": "เพิกเฉยการแจ้งเตือนจากบัญชีใหม่?", + "ignore_notifications_modal.not_followers_title": "เพิกเฉยการแจ้งเตือนจากผู้คนที่ไม่ได้ติดตามคุณ?", + "ignore_notifications_modal.not_following_title": "เพิกเฉยการแจ้งเตือนจากผู้คนที่คุณไม่ได้ติดตาม?", + "ignore_notifications_modal.private_mentions_title": "เพิกเฉยการแจ้งเตือนจากการกล่าวถึงแบบส่วนตัวที่ไม่พึงประสงค์?", "interaction_modal.description.favourite": "ด้วยบัญชีใน Mastodon คุณสามารถชื่นชอบโพสต์นี้เพื่อแจ้งให้ผู้สร้างทราบว่าคุณชื่นชมโพสต์และบันทึกโพสต์ไว้สำหรับภายหลัง", "interaction_modal.description.follow": "ด้วยบัญชีใน Mastodon คุณสามารถติดตาม {name} เพื่อรับโพสต์ของเขาในฟีดหน้าแรกของคุณ", "interaction_modal.description.reblog": "ด้วยบัญชีใน Mastodon คุณสามารถดันโพสต์นี้เพื่อแชร์โพสต์กับผู้ติดตามของคุณเอง", @@ -443,9 +468,8 @@ "mute_modal.title": "ซ่อนผู้ใช้?", "mute_modal.you_wont_see_mentions": "คุณจะไม่เห็นโพสต์ที่กล่าวถึงเขา", "mute_modal.you_wont_see_posts": "เขายังคงสามารถเห็นโพสต์ของคุณ แต่คุณจะไม่เห็นโพสต์ของเขา", - "name_and_others": "{name} และ {count, plural, other {# อื่น ๆ}}", - "name_and_others_with_link": "{name} และ {count, plural, other {# อื่น ๆ}}", "navigation_bar.about": "เกี่ยวกับ", + "navigation_bar.administration": "การดูแล", "navigation_bar.advanced_interface": "เปิดในส่วนติดต่อเว็บขั้นสูง", "navigation_bar.blocks": "ผู้ใช้ที่ปิดกั้นอยู่", "navigation_bar.bookmarks": "ที่คั่นหน้า", @@ -462,6 +486,7 @@ "navigation_bar.follows_and_followers": "การติดตามและผู้ติดตาม", "navigation_bar.lists": "รายการ", "navigation_bar.logout": "ออกจากระบบ", + "navigation_bar.moderation": "การกลั่นกรอง", "navigation_bar.mutes": "ผู้ใช้ที่ซ่อนอยู่", "navigation_bar.opened_in_classic_interface": "จะเปิดโพสต์, บัญชี และหน้าที่เฉพาะเจาะจงอื่น ๆ เป็นค่าเริ่มต้นในส่วนติดต่อเว็บแบบคลาสสิก", "navigation_bar.personal": "ส่วนบุคคล", @@ -477,10 +502,18 @@ "notification.admin.report_statuses": "{name} ได้รายงาน {target} สำหรับ {category}", "notification.admin.report_statuses_other": "{name} ได้รายงาน {target}", "notification.admin.sign_up": "{name} ได้ลงทะเบียน", + "notification.admin.sign_up.name_and_others": "{name} และ {count, plural, other {# อื่น ๆ}} ได้ลงทะเบียน", "notification.favourite": "{name} ได้ชื่นชอบโพสต์ของคุณ", + "notification.favourite.name_and_others_with_link": "{name} และ {count, plural, other {# อื่น ๆ}} ได้ชื่นชอบโพสต์ของคุณ", "notification.follow": "{name} ได้ติดตามคุณ", + "notification.follow.name_and_others": "{name} และ {count, plural, other {# อื่น ๆ}} ได้ติดตามคุณ", "notification.follow_request": "{name} ได้ขอติดตามคุณ", - "notification.mention": "{name} ได้กล่าวถึงคุณ", + "notification.follow_request.name_and_others": "{name} และ {count, plural, other {# อื่น ๆ}} ได้ขอติดตามคุณ", + "notification.label.mention": "การกล่าวถึง", + "notification.label.private_mention": "การกล่าวถึงแบบส่วนตัว", + "notification.label.private_reply": "การตอบกลับแบบส่วนตัว", + "notification.label.reply": "การตอบกลับ", + "notification.mention": "การกล่าวถึง", "notification.moderation-warning.learn_more": "เรียนรู้เพิ่มเติม", "notification.moderation_warning": "คุณได้รับคำเตือนการกลั่นกรอง", "notification.moderation_warning.action_delete_statuses": "เอาโพสต์บางส่วนของคุณออกแล้ว", @@ -492,8 +525,8 @@ "notification.moderation_warning.action_suspend": "ระงับบัญชีของคุณแล้ว", "notification.own_poll": "การสำรวจความคิดเห็นของคุณได้สิ้นสุดแล้ว", "notification.poll": "การสำรวจความคิดเห็นที่คุณได้ลงคะแนนได้สิ้นสุดแล้ว", - "notification.private_mention": "{name} ได้กล่าวถึงคุณแบบส่วนตัว", "notification.reblog": "{name} ได้ดันโพสต์ของคุณ", + "notification.reblog.name_and_others_with_link": "{name} และ {count, plural, other {# อื่น ๆ}} ได้ดันโพสต์ของคุณ", "notification.relationships_severance_event": "สูญเสียการเชื่อมต่อกับ {name}", "notification.relationships_severance_event.account_suspension": "ผู้ดูแลจาก {from} ได้ระงับ {target} ซึ่งหมายความว่าคุณจะไม่สามารถรับการอัปเดตจากเขาหรือโต้ตอบกับเขาได้อีกต่อไป", "notification.relationships_severance_event.domain_block": "ผู้ดูแลจาก {from} ได้ปิดกั้น {target} รวมถึง {followersCount} ผู้ติดตามของคุณและ {followingCount, plural, other {# บัญชี}}ที่คุณติดตาม", @@ -502,9 +535,24 @@ "notification.status": "{name} เพิ่งโพสต์", "notification.update": "{name} ได้แก้ไขโพสต์", "notification_requests.accept": "ยอมรับ", + "notification_requests.accept_multiple": "{count, plural, other {ยอมรับ # คำขอ…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, other {ยอมรับคำขอ}}", + "notification_requests.confirm_accept_multiple.message": "คุณกำลังจะยอมรับ {count, plural, other {# คำขอการแจ้งเตือน}} คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?", + "notification_requests.confirm_accept_multiple.title": "ยอมรับคำขอการแจ้งเตือน?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, other {ปิดคำขอ}}", + "notification_requests.confirm_dismiss_multiple.message": "คุณกำลังจะปิด {count, plural, other {# คำขอการแจ้งเตือน}} คุณจะไม่สามารถเข้าถึง{count, plural, other {การแจ้งเตือน}}ได้อย่างง่ายดายอีกครั้ง คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?", + "notification_requests.confirm_dismiss_multiple.title": "ปิดคำขอการแจ้งเตือน?", "notification_requests.dismiss": "ปิด", + "notification_requests.dismiss_multiple": "{count, plural, other {ปิด # คำขอ…}}", + "notification_requests.edit_selection": "แก้ไข", + "notification_requests.exit_selection": "เสร็จสิ้น", + "notification_requests.explainer_for_limited_account": "มีการกรองการแจ้งเตือนจากบัญชีนี้เนื่องจากมีการจำกัดบัญชีโดยผู้กลั่นกรอง", + "notification_requests.explainer_for_limited_remote_account": "มีการกรองการแจ้งเตือนจากบัญชีนี้เนื่องจากมีการจำกัดบัญชีหรือเซิร์ฟเวอร์ของบัญชีโดยผู้กลั่นกรอง", + "notification_requests.maximize": "ขยายใหญ่สุด", + "notification_requests.minimize_banner": "ย่อแบนเนอร์การแจ้งเตือนที่กรองอยู่ให้เล็กสุด", "notification_requests.notifications_from": "การแจ้งเตือนจาก {name}", "notification_requests.title": "การแจ้งเตือนที่กรองอยู่", + "notification_requests.view": "ดูการแจ้งเตือน", "notifications.clear": "ล้างการแจ้งเตือน", "notifications.clear_confirmation": "คุณแน่ใจหรือไม่ว่าต้องการล้างการแจ้งเตือนทั้งหมดของคุณอย่างถาวร?", "notifications.clear_title": "ล้างการแจ้งเตือน?", @@ -541,6 +589,14 @@ "notifications.permission_denied": "การแจ้งเตือนบนเดสก์ท็อปไม่พร้อมใช้งานเนื่องจากมีการปฏิเสธคำขอสิทธิอนุญาตเบราว์เซอร์ก่อนหน้านี้", "notifications.permission_denied_alert": "ไม่สามารถเปิดใช้งานการแจ้งเตือนบนเดสก์ท็อป เนื่องจากมีการปฏิเสธสิทธิอนุญาตเบราว์เซอร์ก่อนหน้านี้", "notifications.permission_required": "การแจ้งเตือนบนเดสก์ท็อปไม่พร้อมใช้งานเนื่องจากไม่ได้ให้สิทธิอนุญาตที่จำเป็น", + "notifications.policy.accept": "ยอมรับ", + "notifications.policy.accept_hint": "แสดงในการแจ้งเตือน", + "notifications.policy.drop": "เพิกเฉย", + "notifications.policy.drop_hint": "ละทิ้งอย่างถาวร ไม่ให้เห็นอีกเลย", + "notifications.policy.filter": "กรอง", + "notifications.policy.filter_hint": "ส่งไปยังกล่องขาเข้าการแจ้งเตือนที่กรองอยู่", + "notifications.policy.filter_limited_accounts_hint": "จำกัดโดยผู้กลั่นกรองเซิร์ฟเวอร์", + "notifications.policy.filter_limited_accounts_title": "บัญชีที่ได้รับการกลั่นกรอง", "notifications.policy.filter_new_accounts.hint": "สร้างขึ้นภายใน {days, plural, other {# วัน}}ที่ผ่านมา", "notifications.policy.filter_new_accounts_title": "บัญชีใหม่", "notifications.policy.filter_not_followers_hint": "รวมถึงผู้คนที่ได้ติดตามคุณน้อยกว่า {days, plural, other {# วัน}}", @@ -549,7 +605,7 @@ "notifications.policy.filter_not_following_title": "ผู้คนที่คุณไม่ได้ติดตาม", "notifications.policy.filter_private_mentions_hint": "กรองไว้เว้นแต่การกล่าวถึงแบบส่วนตัวอยู่ในการตอบกลับการกล่าวถึงของคุณเองหรือหากคุณติดตามผู้ส่ง", "notifications.policy.filter_private_mentions_title": "การกล่าวถึงแบบส่วนตัวที่ไม่พึงประสงค์", - "notifications.policy.title": "กรองการแจ้งเตือนจาก…", + "notifications.policy.title": "จัดการการแจ้งเตือนจาก…", "notifications_permission_banner.enable": "เปิดใช้งานการแจ้งเตือนบนเดสก์ท็อป", "notifications_permission_banner.how_to_control": "เพื่อรับการแจ้งเตือนเมื่อ Mastodon ไม่ได้เปิด เปิดใช้งานการแจ้งเตือนบนเดสก์ท็อป คุณสามารถควบคุมชนิดของการโต้ตอบที่สร้างการแจ้งเตือนบนเดสก์ท็อปได้อย่างแม่นยำผ่านปุ่ม {icon} ด้านบนเมื่อเปิดใช้งานการแจ้งเตือน", "notifications_permission_banner.title": "ไม่พลาดสิ่งใด", @@ -589,7 +645,7 @@ "onboarding.steps.share_profile.title": "แชร์โปรไฟล์ Mastodon ของคุณ", "onboarding.tips.2fa": "คุณทราบหรือไม่? คุณสามารถรักษาความปลอดภัยบัญชีของคุณได้โดยตั้งค่าการรับรองความถูกต้องด้วยสองปัจจัยในการตั้งค่าบัญชีของคุณ การรับรองความถูกต้องด้วยสองปัจจัยทำงานร่วมกับแอป TOTP ใด ๆ ที่คุณเลือก ไม่จำเป็นต้องมีหมายเลขโทรศัพท์!", "onboarding.tips.accounts_from_other_servers": "คุณทราบหรือไม่? เนื่องจาก Mastodon เป็นแบบกระจายศูนย์ โปรไฟล์บางส่วนที่คุณเจอจะได้รับการโฮสต์ในเซิร์ฟเวอร์อื่น ๆ ที่ไม่ใช่ของคุณ และคุณยังสามารถโต้ตอบกับเขาได้อย่างไร้รอยต่อ! เซิร์ฟเวอร์ของเขาอยู่ในครึ่งหลังของชื่อผู้ใช้ของเขา!", - "onboarding.tips.migration": "คุณทราบหรือไม่? หากคุณรู้สึกว่า {domain} ไม่ใช่ตัวเลือกเซิร์ฟเวอร์ที่ยอดเยี่ยมสำหรับคุณในอนาคต คุณสามารถย้ายไปยังเซิร์ฟเวอร์ Mastodon อื่นได้โดยไม่สูญเสียผู้ติดตามของคุณ คุณยังสามารถโฮสต์เซิร์ฟเวอร์ของคุณเอง!", + "onboarding.tips.migration": "คุณทราบหรือไม่? หากคุณรู้สึกว่า {domain} ไม่ใช่ตัวเลือกเซิร์ฟเวอร์ที่ยอดเยี่ยมสำหรับคุณในอนาคต คุณสามารถย้ายไปยังเซิร์ฟเวอร์ Mastodon อื่นได้โดยไม่สูญเสียผู้ติดตามของคุณ คุณยังสามารถโฮสต์เซิร์ฟเวอร์ของคุณเองได้อีกด้วย!", "onboarding.tips.verification": "คุณทราบหรือไม่? คุณสามารถยืนยันบัญชีของคุณได้โดยใส่ลิงก์ไปยังโปรไฟล์ Mastodon ของคุณในเว็บไซต์ของคุณเองและเพิ่มเว็บไซต์ไปยังโปรไฟล์ของคุณ ไม่จำเป็นต้องมีค่าธรรมเนียมหรือเอกสาร!", "password_confirmation.exceeds_maxlength": "การยืนยันรหัสผ่านเกินความยาวรหัสผ่านสูงสุดแล้ว", "password_confirmation.mismatching": "การยืนยันรหัสผ่านไม่ตรงกัน", @@ -736,8 +792,6 @@ "status.favourite": "ชื่นชอบ", "status.favourites": "{count, plural, other {รายการโปรด}}", "status.filter": "กรองโพสต์นี้", - "status.filtered": "กรองอยู่", - "status.hide": "ซ่อนโพสต์", "status.history.created": "{name} ได้สร้างเมื่อ {date}", "status.history.edited": "{name} ได้แก้ไขเมื่อ {date}", "status.load_more": "โหลดเพิ่มเติม", @@ -765,10 +819,7 @@ "status.report": "รายงาน @{name}", "status.sensitive_warning": "เนื้อหาที่ละเอียดอ่อน", "status.share": "แชร์", - "status.show_filter_reason": "แสดงต่อไป", - "status.show_less": "แสดงน้อยลง", "status.show_less_all": "แสดงน้อยลงทั้งหมด", - "status.show_more": "แสดงเพิ่มเติม", "status.show_more_all": "แสดงเพิ่มเติมทั้งหมด", "status.show_original": "แสดงดั้งเดิม", "status.title.with_attachments": "{user} ได้โพสต์ {attachmentCount, plural, other {{attachmentCount} ไฟล์แนบ}}", @@ -787,10 +838,6 @@ "time_remaining.minutes": "เหลืออีก {number, plural, other {# นาที}}", "time_remaining.moments": "ช่วงเวลาที่เหลือ", "time_remaining.seconds": "เหลืออีก {number, plural, other {# วินาที}}", - "timeline_hint.remote_resource_not_displayed": "ไม่ได้แสดง {resource} จากเซิร์ฟเวอร์อื่น ๆ", - "timeline_hint.resources.followers": "ผู้ติดตาม", - "timeline_hint.resources.follows": "การติดตาม", - "timeline_hint.resources.statuses": "โพสต์ที่เก่ากว่า", "trends.counter_by_accounts": "{count, plural, other {{counter} คน}}ใน {days, plural, other {{days} วัน}}ที่ผ่านมา", "trends.trending_now": "กำลังนิยม", "ui.beforeunload": "แบบร่างของคุณจะสูญหายหากคุณออกจาก Mastodon", diff --git a/app/javascript/mastodon/locales/tok.json b/app/javascript/mastodon/locales/tok.json index 03ad31a7284..19e33233c07 100644 --- a/app/javascript/mastodon/locales/tok.json +++ b/app/javascript/mastodon/locales/tok.json @@ -15,7 +15,6 @@ "account.block_domain": "o weka e ma {domain}", "account.block_short": "o weka e jan tawa mi", "account.blocked": "jan li weka tawa mi", - "account.browse_more_on_origin_server": "sina tawa ma tan pi jan ni la sina ken lukin e mute", "account.cancel_follow_request": "o pini kute", "account.copy": "o pali same e linja pi lipu jan", "account.direct": "len la o mu e @{name}", @@ -288,7 +287,6 @@ "notification.favourite": "toki sina li pona tawa {name}", "notification.follow": " {name} li kute e sina", "notification.follow_request": "{name} li wile kute e sina", - "notification.mention": "jan {name} li toki e sina", "notification.moderation-warning.learn_more": "o kama sona e ijo ante", "notification.reblog": "{name} li wawa e toki sina", "notification.status": "{name} li toki", @@ -364,7 +362,6 @@ "status.edit": "o ante", "status.embed": "ni o lon insa pi lipu ante", "status.favourite": "o sitelen pona", - "status.hide": "o len", "status.history.created": "{name} li pali e ni lon {date}", "status.history.edited": "{name} li ante lon {date}", "status.load_more": "o kama e ijo ante", @@ -378,10 +375,7 @@ "status.pinned": "toki sewi", "status.reblog": "o wawa", "status.share": "o pana tawa ante", - "status.show_filter_reason": "o lukin", - "status.show_less": "o lili e ni", "status.show_less_all": "o lili e ale", - "status.show_more": "o suli e ni", "status.show_more_all": "o suli e ale", "status.show_original": "o lukin e mama", "status.translate": "o ante pi nasin toki", @@ -391,9 +385,6 @@ "status.unpin": "o sewi ala lon lipu sina", "subscribed_languages.save": "o awen e ante", "tabs_bar.home": "lipu open", - "timeline_hint.resources.followers": "jan kute", - "timeline_hint.resources.follows": "jan lukin", - "timeline_hint.resources.statuses": "ijo pi tenpo suli", "trends.trending_now": "jan mute li toki", "units.short.billion": "{count}B", "units.short.million": "{count}AAA", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index cc9fd78c0a7..9b94ede76a6 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -19,7 +19,6 @@ "account.block_domain": "{domain} alan adını engelle", "account.block_short": "Engelle", "account.blocked": "Engellendi", - "account.browse_more_on_origin_server": "Orijinal profilde daha fazlasına göz atın", "account.cancel_follow_request": "Takip isteğini geri çek", "account.copy": "Gönderi bağlantısını kopyala", "account.direct": "@{name} kullanıcısına özelden değin", @@ -98,6 +97,8 @@ "block_modal.title": "Kullanıcıyı engelle?", "block_modal.you_wont_see_mentions": "Onlardan bahseden gönderiler göremezsiniz.", "boost_modal.combo": "Bir daha ki sefere {combo} tuşuna basabilirsin", + "boost_modal.reblog": "Gönderiyi yeniden paylaş?", + "boost_modal.undo_reblog": "Gönderinin yeniden paylaşımını geri al?", "bundle_column_error.copy_stacktrace": "Hata raporunu kopyala", "bundle_column_error.error.body": "İstenen sayfa gösterilemiyor. Bu durum kodumuzdaki bir hatadan veya tarayıcı uyum sorunundan kaynaklanıyor olabilir.", "bundle_column_error.error.title": "Ah, hayır!", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "Takibi bırak", "confirmations.unfollow.message": "{name} adlı kullanıcıyı takibi bırakmak istediğinden emin misin?", "confirmations.unfollow.title": "Kullanıcıyı takipten çık?", + "content_warning.hide": "Gönderiyi gizle", + "content_warning.show": "Yine de göster", "conversation.delete": "Sohbeti sil", "conversation.mark_as_read": "Okundu olarak işaretle", "conversation.open": "Sohbeti görüntüle", @@ -300,6 +303,7 @@ "filter_modal.select_filter.subtitle": "Mevcut bir kategoriyi kullan veya yeni bir tane oluştur", "filter_modal.select_filter.title": "Bu gönderiyi süzgeçle", "filter_modal.title.status": "Bir gönderi süzgeçle", + "filter_warning.matches_filter": "“{title}” filtresiyle eşleşiyor", "filtered_notifications_banner.pending_requests": "Bildiğiniz {count, plural, =0 {hiç kimseden} one {bir kişiden} other {# kişiden}}", "filtered_notifications_banner.title": "Filtrelenmiş bildirimler", "firehose.all": "Tümü", @@ -349,6 +353,14 @@ "hashtag.follow": "Etiketi takip et", "hashtag.unfollow": "Etiketi takibi bırak", "hashtags.and_other": "…ve {count, plural, one {}other {# fazlası}}", + "hints.profiles.followers_may_be_missing": "Bu profilin takipçileri eksik olabilir.", + "hints.profiles.follows_may_be_missing": "Bu profilin takip edilenleri eksik olabilir.", + "hints.profiles.posts_may_be_missing": "Bu profilin bazı gönderileri eksik olabilir.", + "hints.profiles.see_more_followers": "{domain} adresinde daha fazla takipçi gör", + "hints.profiles.see_more_follows": "{domain} adresinde daha fazla takip edilen gör", + "hints.profiles.see_more_posts": "{domain} adresinde daha fazla gönderi gör", + "hints.threads.replies_may_be_missing": "Diğer sunuculardan yanıtlar eksik olabilir.", + "hints.threads.see_more": "{domain} adresinde daha fazla yanıt gör", "home.column_settings.show_reblogs": "Yeniden paylaşımları göster", "home.column_settings.show_replies": "Yanıtları göster", "home.hide_announcements": "Duyuruları gizle", @@ -356,6 +368,17 @@ "home.pending_critical_update.link": "Güncellemelerini görün", "home.pending_critical_update.title": "Kritik güvenlik güncellemesi mevcut!", "home.show_announcements": "Duyuruları göster", + "ignore_notifications_modal.disclaimer": "Mastodon bildirimlerini yok saydığınız kullanıcıları bilgilendiremez. Bildirimleri yok saymak iletilerin gönderilmesini durdurmayacaktır.", + "ignore_notifications_modal.filter_instead": "Onun yerine filtrele", + "ignore_notifications_modal.filter_to_act_users": "Kullanıcıları kabul etmeye, red etmeye veya bildirmeye devam edebileceksiniz", + "ignore_notifications_modal.filter_to_avoid_confusion": "Filtreleme olası kafa karışıklığını önlemeye yardımcı olur", + "ignore_notifications_modal.filter_to_review_separately": "Filtrelenmiş bildirimleri ayrıca inceleyebilirsiniz", + "ignore_notifications_modal.ignore": "Bildirimleri yoksay", + "ignore_notifications_modal.limited_accounts_title": "Modere edilen hesapların bildirimlerini yoksay?", + "ignore_notifications_modal.new_accounts_title": "Yeni hesapların bildirimlerini yoksay?", + "ignore_notifications_modal.not_followers_title": "Takip etmeyen kişilerin bildirimlerini yoksay?", + "ignore_notifications_modal.not_following_title": "Takip etmediğin kişilerin bildirimlerini yoksay?", + "ignore_notifications_modal.private_mentions_title": "İstenmeyen özel bahsetmelerden gelen bildirimleri yoksay?", "interaction_modal.description.favourite": "Bir Mastodon hesabıyla bu gönderiyi favorilerinize ekleyerek yazara gönderiyi beğendiğinizi bildirebilir ve daha sonrası için kaydedebilirsiniz.", "interaction_modal.description.follow": "Mastodon'daki bir hesapla, {name} kişisini, ana akışınızdaki gönderilerini görmek üzere takip edebilirsiniz.", "interaction_modal.description.reblog": "Mastodon'daki bir hesapla, bu gönderiyi takipçilerinizle paylaşmak için tuşlayabilirsiniz.", @@ -445,9 +468,8 @@ "mute_modal.title": "Kullanıcıyı sustur?", "mute_modal.you_wont_see_mentions": "Onlardan bahseden gönderiler göremezsiniz.", "mute_modal.you_wont_see_posts": "Onlar sizin gönderilerinizi görmeye devam edebilir, ancak siz onlarınkini göremezsiniz.", - "name_and_others": "{name} ve {count, plural, one {# diğer} other {# diğerleri}}", - "name_and_others_with_link": "{name} ve {count, plural, one {# diğer} other {# diğerleri}}", "navigation_bar.about": "Hakkında", + "navigation_bar.administration": "Yönetim", "navigation_bar.advanced_interface": "Gelişmiş web arayüzünde aç", "navigation_bar.blocks": "Engellenen kullanıcılar", "navigation_bar.bookmarks": "Yer İşaretleri", @@ -464,6 +486,7 @@ "navigation_bar.follows_and_followers": "Takip edilenler ve takipçiler", "navigation_bar.lists": "Listeler", "navigation_bar.logout": "Oturumu kapat", + "navigation_bar.moderation": "Moderasyon", "navigation_bar.mutes": "Sessize alınmış kullanıcılar", "navigation_bar.opened_in_classic_interface": "Gönderiler, hesaplar ve diğer belirli sayfalar klasik web arayüzünde varsayılan olarak açılıyorlar.", "navigation_bar.personal": "Kişisel", @@ -479,10 +502,18 @@ "notification.admin.report_statuses": "{name}, {category} kategorisi için {target} kişisini bildirdi", "notification.admin.report_statuses_other": "{name}, {target} kişisini bildirdi", "notification.admin.sign_up": "{name} kaydoldu", + "notification.admin.sign_up.name_and_others": "{name} ve {count, plural, one {# diğer kişi} other {# diğer kişi}} kaydoldu", "notification.favourite": "{name} gönderinizi beğendi", + "notification.favourite.name_and_others_with_link": "{name} ve {count, plural, one {# diğer kişi} other {# diğer kişi}} gönderinizi beğendi", "notification.follow": "{name} seni takip etti", + "notification.follow.name_and_others": "{name} ve {count, plural, one {# diğer kişi} other {# diğer kişi}} sizi takip etti", "notification.follow_request": "{name} size takip isteği gönderdi", - "notification.mention": "{name} senden bahsetti", + "notification.follow_request.name_and_others": "{name} ve {count, plural, one {# diğer kişi} other {# diğer kişi}} size takip etme isteği gönderdi", + "notification.label.mention": "Bahsetme", + "notification.label.private_mention": "Özel bahsetme", + "notification.label.private_reply": "Özel yanıt", + "notification.label.reply": "Yanıt", + "notification.mention": "Bahsetme", "notification.moderation-warning.learn_more": "Daha fazlası", "notification.moderation_warning": "Hesabınız bir denetim uyarısı aldı", "notification.moderation_warning.action_delete_statuses": "Bazı gönderileriniz kaldırıldı.", @@ -494,8 +525,8 @@ "notification.moderation_warning.action_suspend": "Hesabınız askıya alındı.", "notification.own_poll": "Anketiniz sona erdi", "notification.poll": "Oy verdiğiniz bir anket sona erdi", - "notification.private_mention": "{name} gizlice sizden bahsetti", "notification.reblog": "{name} gönderini yeniden paylaştı", + "notification.reblog.name_and_others_with_link": "{name} ve {count, plural, one {# diğer kişi} other {# diğer kişi}} gönderinizi yeniden paylaştı", "notification.relationships_severance_event": "{name} ile bağlantılar koptu", "notification.relationships_severance_event.account_suspension": "{from} yöneticisi, {target} askıya aldı, bunun anlamı onlardan artık güncelleme alamayacak veya etkileşemeyeceksiniz demektir.", "notification.relationships_severance_event.domain_block": "{from} yöneticisi {target} engelledi, {followersCount} takipçiniz ve takip ettiğiniz {followingCount, plural, one {# hesap} other {# hesap}} buna dahil.", @@ -504,11 +535,24 @@ "notification.status": "{name} az önce gönderdi", "notification.update": "{name} bir gönderiyi düzenledi", "notification_requests.accept": "Onayla", + "notification_requests.accept_multiple": "{count, plural, one {# isteği kabul et…} other {# isteği kabul et…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {İsteği kabul et} other {İstekleri kabul et}}", + "notification_requests.confirm_accept_multiple.message": "{count, plural, one {Bir bildirim isteğini} other {# bildirim isteğini}} kabul etmek üzeresiniz. Devam etmek istediğinizden emin misiniz?", + "notification_requests.confirm_accept_multiple.title": "Bildirim isteklerini kabul et?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {İsteği reddet} other {İstekleri reddet}}", + "notification_requests.confirm_dismiss_multiple.message": "{count, plural, one {Bir bildirim isteğini} other {# bildirim isteğini}} reddetmek üzeresiniz. {count, plural, one {Ona} other {Onlara}} tekrar kolayca ulaşamayacaksınz. Devam etmek istediğinizden emin misiniz?", + "notification_requests.confirm_dismiss_multiple.title": "Bildirim isteklerini reddet?", "notification_requests.dismiss": "Yoksay", + "notification_requests.dismiss_multiple": "{count, plural, one {# isteği reddet…} other {# isteği reddet…}}", + "notification_requests.edit_selection": "Düzenle", + "notification_requests.exit_selection": "Tamamlandı", + "notification_requests.explainer_for_limited_account": "Hesap bir moderatör tarafından sınırlandığı için, bu hesaptan gönderilen bildirimler filtrelendi.", + "notification_requests.explainer_for_limited_remote_account": "Hesap veya sunucusu bir moderatör tarafından sınırlandığı için, bu hesaptan gönderilen bildirimler filtrelendi.", "notification_requests.maximize": "Büyüt", "notification_requests.minimize_banner": "Filtrelenmiş bildirimler başlığını küçült", "notification_requests.notifications_from": "{name} bildirimleri", "notification_requests.title": "Filtrelenmiş bildirimler", + "notification_requests.view": "Bildirimleri görüntüle", "notifications.clear": "Bildirimleri temizle", "notifications.clear_confirmation": "Tüm bildirimlerinizi kalıcı olarak temizlemek ister misiniz?", "notifications.clear_title": "Bildirimleri temizle?", @@ -545,6 +589,14 @@ "notifications.permission_denied": "Daha önce reddedilen tarayıcı izinleri isteği nedeniyle masaüstü bildirimleri kullanılamıyor", "notifications.permission_denied_alert": "Tarayıcı izni daha önce reddedildiğinden, masaüstü bildirimleri etkinleştirilemez", "notifications.permission_required": "Masaüstü bildirimleri, gereksinim duyulan izin verilmediği için mevcut değil.", + "notifications.policy.accept": "Kabul Et", + "notifications.policy.accept_hint": "Bildirimlerde göster", + "notifications.policy.drop": "Yoksay", + "notifications.policy.drop_hint": "Boşluğa gönder, tekrar hiç görünmesin", + "notifications.policy.filter": "Filtrele", + "notifications.policy.filter_hint": "Filtreli bildirimleri kutusuna gönder", + "notifications.policy.filter_limited_accounts_hint": "Sunucu moderatörleri tarafından kısıtlanmış", + "notifications.policy.filter_limited_accounts_title": "Denetlenen hesaplar", "notifications.policy.filter_new_accounts.hint": "Son {days, plural, one {bir gün} other {# gün}}de oluşturuldu", "notifications.policy.filter_new_accounts_title": "Yeni hesaplar", "notifications.policy.filter_not_followers_hint": "Sizi {days, plural, one {bir gün} other {# gün}}den azdır takip eden kişileri de içeriyor", @@ -553,7 +605,7 @@ "notifications.policy.filter_not_following_title": "Takip etmediğin kullanıcılar", "notifications.policy.filter_private_mentions_hint": "Kendi değinmenize yanıt veya takip ettiğiniz kullanıcıdan değilse filtrelenir", "notifications.policy.filter_private_mentions_title": "İstenmeyen özel değinmeler", - "notifications.policy.title": "Şundan bildirimleri filtrele…", + "notifications.policy.title": "Şundan bildirimleri yönet…", "notifications_permission_banner.enable": "Masaüstü bildirimlerini etkinleştir", "notifications_permission_banner.how_to_control": "Mastodon açık olmadığında bildirim almak için masaüstü bildirimlerini etkinleştirin. Etkinleştirildikten sonra yukarıdaki {icon} düğmesini kullanarak hangi etkileşim türlerinin masaüstü bildirimleri oluşturduğunu tam olarak kontrol edebilirsiniz.", "notifications_permission_banner.title": "Hiçbir şeyi kaçırmayın", @@ -740,8 +792,6 @@ "status.favourite": "Favori", "status.favourites": "{count, plural, one {beğeni} other {beğeni}}", "status.filter": "Bu gönderiyi süzgeçle", - "status.filtered": "Süzgeçlenmiş", - "status.hide": "Gönderiyi gizle", "status.history.created": "{name} oluşturdu {date}", "status.history.edited": "{name} düzenledi {date}", "status.load_more": "Daha fazlası", @@ -760,7 +810,7 @@ "status.reblog_private": "Özgün görünürlük ile yeniden paylaş", "status.reblogged_by": "{name} yeniden paylaştı", "status.reblogs": "{count, plural, one {yeniden paylaşım} other {yeniden paylaşım}}", - "status.reblogs.empty": "Henüz hiç kimse bu Gönderiyi Yeniden Paylaşmadı. Herhangi bir kullanıcı yeniden paylaştığında burada görüntülenecek.", + "status.reblogs.empty": "Henüz hiç kimse bu gönderiyi yeniden paylaşmadı. Herhangi bir kullanıcı yeniden paylaştığında burada görüntülenecek.", "status.redraft": "Sil,Düzenle ve Yeniden paylaş", "status.remove_bookmark": "Yer işaretini kaldır", "status.replied_to": "{name} kullanıcısına yanıt verdi", @@ -769,10 +819,7 @@ "status.report": "@{name} adlı kişiyi bildir", "status.sensitive_warning": "Hassas içerik", "status.share": "Paylaş", - "status.show_filter_reason": "Yine de göster", - "status.show_less": "Daha az göster", "status.show_less_all": "Hepsi için daha az göster", - "status.show_more": "Daha fazlasını göster", "status.show_more_all": "Hepsi için daha fazla göster", "status.show_original": "Özgün içeriği göster", "status.title.with_attachments": "{user}, {attachmentCount, plural, one {1 ek} other {{attachmentCount} ek}} gönderdi", @@ -791,10 +838,6 @@ "time_remaining.minutes": "{number, plural, one {# dakika} other {# dakika}} kaldı", "time_remaining.moments": "Sadece birkaç dakika kaldı", "time_remaining.seconds": "{number, plural, one {# saniye} other {# saniye}} kaldı", - "timeline_hint.remote_resource_not_displayed": "diğer sunucudaki {resource} gösterilemiyor.", - "timeline_hint.resources.followers": "Takipçiler", - "timeline_hint.resources.follows": "Takip Edilenler", - "timeline_hint.resources.statuses": "Eski gönderiler", "trends.counter_by_accounts": "Son {days, plural, one {gündeki} other {{days} gündeki}} {count, plural, one {{counter} kişi} other {{counter} kişi}}", "trends.trending_now": "Şu an gündemde", "ui.beforeunload": "Mastodon'u terk ederseniz taslağınız kaybolacak.", diff --git a/app/javascript/mastodon/locales/tt.json b/app/javascript/mastodon/locales/tt.json index 0f95b904eb0..1439e2ef583 100644 --- a/app/javascript/mastodon/locales/tt.json +++ b/app/javascript/mastodon/locales/tt.json @@ -17,7 +17,6 @@ "account.block": "@{name} кулланучыны блоклау", "account.block_domain": "{domain} доменын блоклау", "account.blocked": "Блокланган", - "account.browse_more_on_origin_server": "Оригиналь профилендә күбрәк карау", "account.cancel_follow_request": "Киләсе сорау", "account.disable_notifications": "@{name} язулары өчен белдерүләр сүндерү", "account.domain_blocked": "Домен блокланган", @@ -412,8 +411,6 @@ "status.edit": "Үзгәртү", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.embed": "Веб-биткә кертү", - "status.filtered": "Сөзелгән", - "status.hide": "Язманы яшерү", "status.history.created": "{name} ясалды {date}", "status.history.edited": "{name} төзәтте {date}", "status.load_more": "Күбрәк йөкләү", @@ -427,9 +424,6 @@ "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", "status.reply": "Җавап бирү", "status.share": "Уртаклашу", - "status.show_filter_reason": "Барыбер карау", - "status.show_less": "Әзрәк күрсәтү", - "status.show_more": "Күбрәк күрсәтү", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", "status.translate": "Тәрҗемә итү", "subscribed_languages.save": "Үзгәрешләрне саклау", @@ -439,7 +433,6 @@ "time_remaining.hours": "{number, plural, one {# сәгать} other {# сәгать}} калды", "time_remaining.minutes": "{number, plural, one {# минут} other {# минут}} калды", "time_remaining.seconds": "{number, plural, one {# секунд} other {# секунд}} калды", - "timeline_hint.resources.statuses": "Older toots", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "units.short.billion": "{count} млрд", "units.short.million": "{count} млн", diff --git a/app/javascript/mastodon/locales/ug.json b/app/javascript/mastodon/locales/ug.json index e3dd0e6b118..7e7d6836da8 100644 --- a/app/javascript/mastodon/locales/ug.json +++ b/app/javascript/mastodon/locales/ug.json @@ -87,7 +87,6 @@ "status.pinned": "Pinned toot", "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", - "timeline_hint.resources.statuses": "Older toots", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index 9e9d59f0870..905938d158d 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -19,7 +19,6 @@ "account.block_domain": "Заблокувати домен {domain}", "account.block_short": "Заблокувати", "account.blocked": "Заблоковані", - "account.browse_more_on_origin_server": "Переглянути більше в оригінальному профілі", "account.cancel_follow_request": "Відкликати запит на стеження", "account.copy": "Копіювати посилання на профіль", "account.direct": "Особиста згадка @{name}", @@ -35,9 +34,9 @@ "account.follow_back": "Стежити також", "account.followers": "Підписники", "account.followers.empty": "Ніхто ще не підписаний на цього користувача.", - "account.followers_counter": "{count, plural, one {{counter} підписник} few {{counter} підписники} many {{counter} підписників} other {{counter} підписники}}", + "account.followers_counter": "{count, plural, one {{counter} підписник} few {{counter} підписники} many {{counter} підписників} other {{counter} підписник}}", "account.following": "Ви стежите", - "account.following_counter": "{count, plural, one {{counter} підписка} few {{counter} підписки} many {{counter} підписок} other {{counter} підписки}}", + "account.following_counter": "{count, plural, one {{counter} підписка} few {{counter} підписки} many {{counter} підписок} other {{counter} підписка}}", "account.follows.empty": "Цей користувач ще ні на кого не підписався.", "account.go_to_profile": "Перейти до профілю", "account.hide_reblogs": "Сховати поширення від @{name}", @@ -98,6 +97,8 @@ "block_modal.title": "Заблокувати користувача?", "block_modal.you_wont_see_mentions": "Ви не бачитимете дописів, де їх згадано.", "boost_modal.combo": "Ви можете натиснути {combo}, щоби пропустити це наступного разу", + "boost_modal.reblog": "Поширити допис?", + "boost_modal.undo_reblog": "Скасувати поширення?", "bundle_column_error.copy_stacktrace": "Копіювати звіт про помилку", "bundle_column_error.error.body": "Неможливо показати запитану сторінку. Це може бути спричинено помилкою у нашому коді, або через проблему сумісності з браузером.", "bundle_column_error.error.title": "О, ні!", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "Відписатися", "confirmations.unfollow.message": "Ви впевнені, що хочете відписатися від {name}?", "confirmations.unfollow.title": "Відписатися від користувача?", + "content_warning.hide": "Сховати допис", + "content_warning.show": "Усе одно показати", "conversation.delete": "Видалити бесіду", "conversation.mark_as_read": "Позначити як прочитане", "conversation.open": "Переглянути бесіду", @@ -300,6 +303,7 @@ "filter_modal.select_filter.subtitle": "Використати наявну категорію або створити нову", "filter_modal.select_filter.title": "Фільтрувати цей допис", "filter_modal.title.status": "Фільтрувати допис", + "filter_warning.matches_filter": "Збігається з фільтром “{title}”", "filtered_notifications_banner.pending_requests": "Від {count, plural, =0 {жодної особи} one {однієї особи} few {# осіб} many {# осіб} other {# особи}}, котрих ви можете знати", "filtered_notifications_banner.title": "Відфільтровані сповіщення", "firehose.all": "Всі", @@ -349,6 +353,14 @@ "hashtag.follow": "Стежити за хештегом", "hashtag.unfollow": "Не стежити за хештегом", "hashtags.and_other": "…і {count, plural, other {ще #}}", + "hints.profiles.followers_may_be_missing": "Підписники цього профілю можуть бути не показані.", + "hints.profiles.follows_may_be_missing": "Підписки цього профілю можуть бути не показані.", + "hints.profiles.posts_may_be_missing": "Деякі дописи від цього профілю можуть бути не показані.", + "hints.profiles.see_more_followers": "Переглянути більше підписників на {domain}", + "hints.profiles.see_more_follows": "Переглянути більше підписок на {domain}", + "hints.profiles.see_more_posts": "Переглянути більше дописів на {domain}", + "hints.threads.replies_may_be_missing": "Відповіді з інших серверів можуть бути не показані.", + "hints.threads.see_more": "Переглянути більше відповідей на {domain}", "home.column_settings.show_reblogs": "Показувати поширення", "home.column_settings.show_replies": "Показувати відповіді", "home.hide_announcements": "Приховати оголошення", @@ -356,6 +368,17 @@ "home.pending_critical_update.link": "Переглянути оновлення", "home.pending_critical_update.title": "Доступне критичне оновлення безпеки!", "home.show_announcements": "Показати оголошення", + "ignore_notifications_modal.disclaimer": "Mastodon не може повідомити користувачів, що ви проігнорували їх повідомлення. Ігнорування сповіщень не зупинить надсилання повідомлень.", + "ignore_notifications_modal.filter_instead": "Натомість фільтрувати", + "ignore_notifications_modal.filter_to_act_users": "Ви все ще зможете прийняти, відхилити або поскаржитися на користувачів", + "ignore_notifications_modal.filter_to_avoid_confusion": "Фільтрування допомагає уникнути потенційної плутанини", + "ignore_notifications_modal.filter_to_review_separately": "Ви можете переглянути відфільтровані сповіщення окремо", + "ignore_notifications_modal.ignore": "Ігнорувати сповіщення", + "ignore_notifications_modal.limited_accounts_title": "Ігнорувати сповіщення від модерованих облікових записів?", + "ignore_notifications_modal.new_accounts_title": "Ігнорувати сповіщення від нових облікових записів?", + "ignore_notifications_modal.not_followers_title": "Ігнорувати сповіщення від людей, які не підписані на вас?", + "ignore_notifications_modal.not_following_title": "Ігнорувати сповіщення від людей, на яких ви не підписалися?", + "ignore_notifications_modal.private_mentions_title": "Ігнорувати сповіщення від небажаних приватних згадок?", "interaction_modal.description.favourite": "Маючи обліковий запис на Mastodon, ви можете вподобати цей допис, щоб дати автору знати, що ви його цінуєте, і зберегти його на потім.", "interaction_modal.description.follow": "Маючи обліковий запис на Mastodon, ви можете підписатися на {name}, щоб отримувати дописи цього користувача у свою стрічку.", "interaction_modal.description.reblog": "Маючи обліковий запис на Mastodon, ви можете поширити цей допис, щоб поділитися ним зі своїми підписниками.", @@ -445,9 +468,8 @@ "mute_modal.title": "Ігнорувати користувача?", "mute_modal.you_wont_see_mentions": "Ви не бачитимете дописів, де їх згадано.", "mute_modal.you_wont_see_posts": "Вони все ще можуть бачити ваші дописи, але ви не бачитимете їхніх.", - "name_and_others": "{name} і {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}}", - "name_and_others_with_link": "{name} і {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}}", "navigation_bar.about": "Про застосунок", + "navigation_bar.administration": "Адміністрування", "navigation_bar.advanced_interface": "Відкрити в розширеному вебінтерфейсі", "navigation_bar.blocks": "Заблоковані користувачі", "navigation_bar.bookmarks": "Закладки", @@ -464,6 +486,7 @@ "navigation_bar.follows_and_followers": "Підписки та підписники", "navigation_bar.lists": "Списки", "navigation_bar.logout": "Вийти", + "navigation_bar.moderation": "Модерування", "navigation_bar.mutes": "Приховані користувачі", "navigation_bar.opened_in_classic_interface": "Дописи, облікові записи та інші специфічні сторінки усталено відкриваються в класичному вебінтерфейсі.", "navigation_bar.personal": "Особисте", @@ -479,10 +502,18 @@ "notification.admin.report_statuses": "{name} повідомляє про {target} в категорії {category}", "notification.admin.report_statuses_other": "{name} повідомляє про {target}", "notification.admin.sign_up": "{name} приєдналися", + "notification.admin.sign_up.name_and_others": "{name} та {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}} зареєструвалися", "notification.favourite": "Ваш допис сподобався {name}", + "notification.favourite.name_and_others_with_link": "{name} та {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}} вподобали ваш допис", "notification.follow": "{name} підписалися на вас", + "notification.follow.name_and_others": "{name} та {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}} стежать за вами", "notification.follow_request": "{name} відправили запит на підписку", - "notification.mention": "{name} згадали вас", + "notification.follow_request.name_and_others": "{name} та {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}} надсилають вам запит на стеження", + "notification.label.mention": "Згадка", + "notification.label.private_mention": "Особиста згадка", + "notification.label.private_reply": "Приватна відповідь", + "notification.label.reply": "Відповідь", + "notification.mention": "Згадка", "notification.moderation-warning.learn_more": "Дізнатися більше", "notification.moderation_warning": "Ви отримали попередження модерації", "notification.moderation_warning.action_delete_statuses": "Деякі з ваших дописів було видалено.", @@ -494,8 +525,8 @@ "notification.moderation_warning.action_suspend": "Ваш обліковий запис було заблоковано.", "notification.own_poll": "Ваше опитування завершилося", "notification.poll": "Опитування, в якому ви проголосували, завершено", - "notification.private_mention": "{name} приватно згадує вас", "notification.reblog": "{name} поширює ваш допис", + "notification.reblog.name_and_others_with_link": "{name} та {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}} поширили ваш допис", "notification.relationships_severance_event": "Втрачено з'єднання з {name}", "notification.relationships_severance_event.account_suspension": "Адміністратор з {from} призупинив {target}, що означає, що ви більше не можете отримувати оновлення від них або взаємодіяти з ними.", "notification.relationships_severance_event.domain_block": "Адміністратор з {from} заблокував {target}, включаючи {followersCount} ваших підписників і {followingCount , plural, one {# обліковий запис} few {# облікові записи} many {# облікових записів} other {# обліковий запис}}, на які ви підписані.", @@ -504,11 +535,24 @@ "notification.status": "{name} щойно дописує", "notification.update": "{name} змінює допис", "notification_requests.accept": "Прийняти", + "notification_requests.accept_multiple": "{count, plural, one {Прийняти # запит…} few {Прийняти # запити…} many {Прийняти # запитів…} other {Прийняти # запит…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Прийняти запит} other {Прийняти запити}}", + "notification_requests.confirm_accept_multiple.message": "Ви збираєтеся прийняти {count, plural, one {запит на сповіщення} few {# запити на сповіщення} many {# запитів на сповіщення} other {# запит на сповіщення}}. Ви впевнені, що хочете продовжити?", + "notification_requests.confirm_accept_multiple.title": "Прийняти запит на сповіщення?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Відхилити запит} other {Відхилити запити}}", + "notification_requests.confirm_dismiss_multiple.message": "Ви збираєтеся відхилити {count, plural, one {один запит на сповіщення} few {# запити на сповіщення} many {# запитів на сповіщення} other {# запит на сповіщення}}. Ви не зможете легко отримати доступ до {count, plural, one {нього} other {них}} пізніше. Ви впевнені, що хочете продовжити?", + "notification_requests.confirm_dismiss_multiple.title": "Відхилити запити на сповіщення?", "notification_requests.dismiss": "Відхилити", + "notification_requests.dismiss_multiple": "{count, plural, one {Відхилити # запит…} few {Відхилити # запити…} many {Відхилити # запитів…} other {Відхилити # запит…}}", + "notification_requests.edit_selection": "Змінити", + "notification_requests.exit_selection": "Готово", + "notification_requests.explainer_for_limited_account": "Сповіщення від цього облікового запису фільтровані, оскільки обліковий запис обмежений модератором.", + "notification_requests.explainer_for_limited_remote_account": "Сповіщення від цього облікового запису фільтровані, оскільки обліковий запис або його сервер обмежений модератором.", "notification_requests.maximize": "Розгорнути", "notification_requests.minimize_banner": "Мінімізувати відфільтрований банер сповіщень", "notification_requests.notifications_from": "Сповіщення від {name}", "notification_requests.title": "Відфільтровані сповіщення", + "notification_requests.view": "Переглянути сповіщення", "notifications.clear": "Очистити сповіщення", "notifications.clear_confirmation": "Ви впевнені, що хочете назавжди видалити всі сповіщення?", "notifications.clear_title": "Очистити сповіщення?", @@ -545,6 +589,14 @@ "notifications.permission_denied": "Сповіщення стільниці недоступні через раніше відхилений запит дозволів для браузера", "notifications.permission_denied_alert": "Сповіщення не можна ввімкнути оскільки у дозволі вже було відмовлено раніше", "notifications.permission_required": "Сповіщення на стільниці не доступні, оскільки необхідний дозвіл не надано.", + "notifications.policy.accept": "Прийняти", + "notifications.policy.accept_hint": "Показувати в сповіщеннях", + "notifications.policy.drop": "Ігнорувати", + "notifications.policy.drop_hint": "Відправити в нікуди, щоб більше не бачити", + "notifications.policy.filter": "Фільтрувати", + "notifications.policy.filter_hint": "Надіслати до відфільтрованих вхідних", + "notifications.policy.filter_limited_accounts_hint": "Обмежено модераторами сервера", + "notifications.policy.filter_limited_accounts_title": "Модеровані облікові записи", "notifications.policy.filter_new_accounts.hint": "Створено впродовж {days, plural, one {одного} few {# днів} many {# днів} other {# дня}}", "notifications.policy.filter_new_accounts_title": "Нові облікові записи", "notifications.policy.filter_not_followers_hint": "Включаючи людей, які стежать за вами менше {days, plural, one {one day} other {# days}}", @@ -553,7 +605,7 @@ "notifications.policy.filter_not_following_title": "Люди, на яких ви не підписані", "notifications.policy.filter_private_mentions_hint": "Відфільтровується, якщо це не відповідь на вашу власну згадку або якщо ви відстежуєте відправника", "notifications.policy.filter_private_mentions_title": "Небажані приватні згадки", - "notifications.policy.title": "Відфільтрувати сповіщення від…", + "notifications.policy.title": "Керувати сповіщеннями від…", "notifications_permission_banner.enable": "Увімкнути сповіщення стільниці", "notifications_permission_banner.how_to_control": "Щоб отримувати сповіщення, коли Mastodon не відкрито, увімкніть сповіщення стільниці. Ви можете контролювати, які типи взаємодій створюють сповіщення через кнопку {icon} вгорі після їхнього увімкнення.", "notifications_permission_banner.title": "Не проґавте нічого", @@ -714,11 +766,11 @@ "server_banner.about_active_users": "Люди, які використовують цей сервер протягом останніх 30 днів (Щомісячні Активні Користувачі)", "server_banner.active_users": "активні користувачі", "server_banner.administered_by": "Адміністратор:", - "server_banner.is_one_of_many": "{domain} - один з багатьох незалежних серверів Mastodon, які ви можете використати, щоб брати участь у федівері.", + "server_banner.is_one_of_many": "{domain} - один з багатьох незалежних серверів Mastodon, які ви можете використати, щоб брати участь у федіверсі.", "server_banner.server_stats": "Статистика сервера:", "sign_in_banner.create_account": "Створити обліковий запис", - "sign_in_banner.follow_anyone": "Слідкуйте за ким завгодно у всьому fediverse і дивіться все це в хронологічному порядку. Немає алгоритмів, реклами чи наживок для натискань при перегляді.", - "sign_in_banner.mastodon_is": "Мастодон - найкращий спосіб продовжувати свою справу.", + "sign_in_banner.follow_anyone": "Слідкуйте за ким завгодно у всьому fediverse і дивіться все це в хронологічному порядку. Немає алгоритмів, реклами чи клікбейту.", + "sign_in_banner.mastodon_is": "Mastodon — найкращий спосіб бути в курсі подій.", "sign_in_banner.sign_in": "Увійти", "sign_in_banner.sso_redirect": "Увійдіть або зареєструйтесь", "status.admin_account": "Відкрити інтерфейс модерації для @{name}", @@ -740,8 +792,6 @@ "status.favourite": "Уподобане", "status.favourites": "{count, plural, one {вподобання} few {вподобання} many {вподобань} other {вподобання}}", "status.filter": "Фільтрувати цей допис", - "status.filtered": "Відфільтровано", - "status.hide": "Сховати допис", "status.history.created": "{name} створює {date}", "status.history.edited": "{name} змінює {date}", "status.load_more": "Завантажити більше", @@ -769,10 +819,7 @@ "status.report": "Поскаржитися на @{name}", "status.sensitive_warning": "Делікатний вміст", "status.share": "Поділитися", - "status.show_filter_reason": "Усе одно показати", - "status.show_less": "Згорнути", "status.show_less_all": "Згорнути для всіх", - "status.show_more": "Розгорнути", "status.show_more_all": "Розгорнути для всіх", "status.show_original": "Показати оригінал", "status.title.with_attachments": "{user} розміщує {{attachmentCount, plural, one {вкладення} few {{attachmentCount} вкладення} many {{attachmentCount} вкладень} other {{attachmentCount} вкладень}}", @@ -791,10 +838,6 @@ "time_remaining.minutes": "{number, plural, one {# хвилина} few {# хвилини} other {# хвилин}}", "time_remaining.moments": "Залишилось секунд", "time_remaining.seconds": "{number, plural, one {# секунда} few {# секунди} other {# секунд}}", - "timeline_hint.remote_resource_not_displayed": "{resource} з інших серверів не зображується.", - "timeline_hint.resources.followers": "Підписники", - "timeline_hint.resources.follows": "Підписки", - "timeline_hint.resources.statuses": "Попередні дописи", "trends.counter_by_accounts": "{count, plural, one {{counter} особа} few {{counter} особи} other {{counter} осіб}} {days, plural, one {за останній {days} день} few {за останні {days} дні} other {за останні {days} днів}}", "trends.trending_now": "Популярне зараз", "ui.beforeunload": "Вашу чернетку буде втрачено, якщо ви покинете Mastodon.", diff --git a/app/javascript/mastodon/locales/ur.json b/app/javascript/mastodon/locales/ur.json index 8b387839534..cb5dfa63cd0 100644 --- a/app/javascript/mastodon/locales/ur.json +++ b/app/javascript/mastodon/locales/ur.json @@ -13,7 +13,6 @@ "account.block_domain": "{domain} سے سب چھپائیں", "account.block_short": "بلاک", "account.blocked": "مسدود کردہ", - "account.browse_more_on_origin_server": "اصل پروفائل پر مزید براؤز کریں", "account.cancel_follow_request": "Withdraw follow request", "account.direct": "نجی طور پر @{name} کا ذکر کریں", "account.disable_notifications": "جب @{name} پوسٹ کرے تو مجھ مطلع نہ کریں", @@ -236,7 +235,6 @@ "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "notification.follow": "{name} آپ کی پیروی کی", "notification.follow_request": "{name} نے آپ کی پیروی کی درخواست کی", - "notification.mention": "{name} نے آپ کا تذکرہ کیا", "notification.own_poll": "آپ کا پول ختم ہو گیا ہے", "notification.reblog": "{name} boosted your status", "notification.status": "{name} نے ابھی ابھی پوسٹ کیا", @@ -271,7 +269,6 @@ "status.pinned": "Pinned toot", "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", - "timeline_hint.resources.statuses": "Older toots", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", diff --git a/app/javascript/mastodon/locales/uz.json b/app/javascript/mastodon/locales/uz.json index 534ba74ef74..048f8e77570 100644 --- a/app/javascript/mastodon/locales/uz.json +++ b/app/javascript/mastodon/locales/uz.json @@ -17,7 +17,6 @@ "account.block": "Blok @{name}", "account.block_domain": "{domain} domenini bloklash", "account.blocked": "Bloklangan", - "account.browse_more_on_origin_server": "Asl profilda ko'proq ko'rish", "account.cancel_follow_request": "Kuzatuv so‘rovini bekor qilish", "account.disable_notifications": "@{name} post qo‘yganida menga xabar berishni to‘xtating", "account.domain_blocked": "Domen bloklangan", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 197969aa6ab..48f56a08901 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -19,7 +19,6 @@ "account.block_domain": "Chặn mọi thứ từ {domain}", "account.block_short": "Chặn", "account.blocked": "Đã chặn", - "account.browse_more_on_origin_server": "Truy cập trang của người này", "account.cancel_follow_request": "Thu hồi yêu cầu theo dõi", "account.copy": "Sao chép địa chỉ", "account.direct": "Nhắn riêng @{name}", @@ -98,6 +97,8 @@ "block_modal.title": "Chặn người này?", "block_modal.you_wont_see_mentions": "Bạn sẽ không nhìn thấy tút có nhắc đến họ.", "boost_modal.combo": "Nhấn {combo} để bỏ qua bước này", + "boost_modal.reblog": "Đăng lại?", + "boost_modal.undo_reblog": "Hủy đăng lại?", "bundle_column_error.copy_stacktrace": "Sao chép báo lỗi", "bundle_column_error.error.body": "Không thể hiện trang này. Đây có thể là một lỗi trong mã lập trình của chúng tôi, hoặc là vấn đề tương thích của trình duyệt.", "bundle_column_error.error.title": "Ôi không!", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "Bỏ theo dõi", "confirmations.unfollow.message": "Bạn thật sự muốn bỏ theo dõi {name}?", "confirmations.unfollow.title": "Bỏ theo dõi?", + "content_warning.hide": "Ẩn tút", + "content_warning.show": "Nhấn để xem", "conversation.delete": "Xóa tin nhắn này", "conversation.mark_as_read": "Đánh dấu là đã đọc", "conversation.open": "Xem toàn bộ tin nhắn", @@ -300,6 +303,7 @@ "filter_modal.select_filter.subtitle": "Sử dụng một danh mục hiện có hoặc tạo một danh mục mới", "filter_modal.select_filter.title": "Lọc tút này", "filter_modal.title.status": "Lọc một tút", + "filter_warning.matches_filter": "Khớp bộ lọc “{title}”", "filtered_notifications_banner.pending_requests": "Từ {count, plural, =0 {không ai} other {# người}} bạn có thể biết", "filtered_notifications_banner.title": "Thông báo đã lọc", "firehose.all": "Toàn bộ", @@ -349,6 +353,14 @@ "hashtag.follow": "Theo dõi hashtag", "hashtag.unfollow": "Bỏ theo dõi hashtag", "hashtags.and_other": "…và {count, plural, other {# nữa}}", + "hints.profiles.followers_may_be_missing": "Số người theo dõi có thể không đầy đủ.", + "hints.profiles.follows_may_be_missing": "Số người mà người này theo dõi có thể không đầy đủ.", + "hints.profiles.posts_may_be_missing": "Số tút của người này có thể không đầy đủ.", + "hints.profiles.see_more_followers": "Xem thêm người theo dõi ở {domain}", + "hints.profiles.see_more_follows": "Xem thêm người mà người này theo dõi ở {domain}", + "hints.profiles.see_more_posts": "Xem thêm tút ở {domain}", + "hints.threads.replies_may_be_missing": "Lượt trả lời trên máy chủ khác có thể không đầy đủ.", + "hints.threads.see_more": "Xem thêm ở {domain}", "home.column_settings.show_reblogs": "Hiện những lượt đăng lại", "home.column_settings.show_replies": "Hiện những tút dạng trả lời", "home.hide_announcements": "Ẩn thông báo máy chủ", @@ -356,6 +368,8 @@ "home.pending_critical_update.link": "Xem bản cập nhật", "home.pending_critical_update.title": "Có bản cập nhật bảo mật quan trọng!", "home.show_announcements": "Xem thông báo máy chủ", + "ignore_notifications_modal.filter_to_act_users": "Bạn vẫn có thể chấp nhận, từ chối hoặc báo cáo người khác", + "ignore_notifications_modal.filter_to_review_separately": "Bạn có thể xem lại các thông báo đã lọc riêng biệt", "interaction_modal.description.favourite": "Với tài khoản Mastodon, bạn có thể cho người đăng biết bạn thích tút này và lưu lại tút.", "interaction_modal.description.follow": "Với tài khoản Mastodon, bạn có thể theo dõi {name} để tút của họ hiện trên bảng tin của mình.", "interaction_modal.description.reblog": "Với tài khoản Mastodon, bạn có thể đăng lại tút này để chia sẻ nó với những người đang theo dõi bạn.", @@ -445,9 +459,8 @@ "mute_modal.title": "Ẩn người này?", "mute_modal.you_wont_see_mentions": "Bạn sẽ không nhìn thấy tút có nhắc đến họ.", "mute_modal.you_wont_see_posts": "Bạn sẽ không nhìn thấy tút của họ.", - "name_and_others": "{name} và {count, plural, other {# người khác}}", - "name_and_others_with_link": "{name} và {count, plural, other {# người khác}}", "navigation_bar.about": "Giới thiệu", + "navigation_bar.administration": "Quản trị", "navigation_bar.advanced_interface": "Dùng bố cục nhiều cột", "navigation_bar.blocks": "Người đã chặn", "navigation_bar.bookmarks": "Đã lưu", @@ -464,6 +477,7 @@ "navigation_bar.follows_and_followers": "Quan hệ", "navigation_bar.lists": "Danh sách", "navigation_bar.logout": "Đăng xuất", + "navigation_bar.moderation": "Kiểm duyệt", "navigation_bar.mutes": "Người đã ẩn", "navigation_bar.opened_in_classic_interface": "Tút, tài khoản và các trang cụ thể khác được mở theo mặc định trong giao diện web cổ điển.", "navigation_bar.personal": "Cá nhân", @@ -479,10 +493,18 @@ "notification.admin.report_statuses": "{name} báo cáo {target} vì {category}", "notification.admin.report_statuses_other": "{name} báo cáo {target}", "notification.admin.sign_up": "{name} tham gia máy chủ của bạn", + "notification.admin.sign_up.name_and_others": "{name} và {count, plural, other {# người}} đã đăng ký", "notification.favourite": "{name} thích tút của bạn", + "notification.favourite.name_and_others_with_link": "{name} và {count, plural, other {# người khác}} đã thích tút của bạn", "notification.follow": "{name} theo dõi bạn", + "notification.follow.name_and_others": "{name} và {count, plural, other {# người khác}} đã theo dõi bạn", "notification.follow_request": "{name} yêu cầu theo dõi bạn", - "notification.mention": "{name} nhắc đến bạn", + "notification.follow_request.name_and_others": "{name} và {count, plural, other {# người khác}} đã yêu cầu theo dõi bạn", + "notification.label.mention": "Lượt nhắc", + "notification.label.private_mention": "Nhắn riêng", + "notification.label.private_reply": "Trả lời riêng", + "notification.label.reply": "Trả lời", + "notification.mention": "Lượt nhắc", "notification.moderation-warning.learn_more": "Tìm hiểu", "notification.moderation_warning": "Bạn vừa nhận một cảnh báo kiểm duyệt", "notification.moderation_warning.action_delete_statuses": "Một vài tút của bạn bị gỡ.", @@ -494,8 +516,8 @@ "notification.moderation_warning.action_suspend": "Tài khoản của bạn đã bị vô hiệu hóa.", "notification.own_poll": "Cuộc bình chọn của bạn đã kết thúc", "notification.poll": "Cuộc bình chọn có bạn tham gia đã kết thúc", - "notification.private_mention": "{name} nhắn riêng đến bạn", "notification.reblog": "{name} đăng lại tút của bạn", + "notification.reblog.name_and_others_with_link": "{name} và {count, plural, other {# người khác}} đã đăng lại tút của bạn", "notification.relationships_severance_event": "Mất kết nối với {name}", "notification.relationships_severance_event.account_suspension": "Quản trị viên {from} đã vô hiệu hóa {target}, điều này có nghĩa là bạn không còn có thể nhận được cập nhật từ họ hoặc tương tác với họ nữa.", "notification.relationships_severance_event.domain_block": "Quản trị viên {from} đã chặn {target}, bao gồm {followersCount} người theo dõi bạn và {followingCount, plural, other {# người}} mà bạn theo dõi.", @@ -504,7 +526,19 @@ "notification.status": "{name} đăng tút mới", "notification.update": "{name} đã sửa tút", "notification_requests.accept": "Chấp nhận", + "notification_requests.accept_multiple": "{count, plural, other {Duyệt # yêu cầu…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, other {Yêu cầu cần duyệt}}", + "notification_requests.confirm_accept_multiple.message": "Bạn sẽ duyệt {count, plural, other {# yêu cầu thông báo}}. Vẫn tiếp tục?", + "notification_requests.confirm_accept_multiple.title": "Duyệt yêu cầu thông báo?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, other {Bỏ qua yêu cầu}}", + "notification_requests.confirm_dismiss_multiple.message": "Bạn sẽ bỏ qua {count, plural, other {# yêu cầu thông báo}}. Bạn sẽ không thể truy cập dễ dàng {count, plural, other {chúng}} nữa. Vẫn tiếp tục?", + "notification_requests.confirm_dismiss_multiple.title": "Bỏ qua yêu cầu thông báo?", "notification_requests.dismiss": "Bỏ qua", + "notification_requests.dismiss_multiple": "{count, plural, other {Bỏ qua # yêu cầu…}}", + "notification_requests.edit_selection": "Sửa", + "notification_requests.exit_selection": "Xong", + "notification_requests.explainer_for_limited_account": "Thông báo từ tài khoản này đã được lọc vì tài khoản đã bị giới hạn bởi kiểm duyệt viên.", + "notification_requests.explainer_for_limited_remote_account": "Thông báo từ tài khoản này đã được lọc vì tài khoản hoặc máy chủ của tài khoản đã bị giới hạn bởi kiểm duyệt viên.", "notification_requests.maximize": "Tối đa", "notification_requests.minimize_banner": "Tinh giản banner lọc thông báo", "notification_requests.notifications_from": "Thông báo từ {name}", @@ -545,6 +579,8 @@ "notifications.permission_denied": "Trình duyệt không cho phép hiển thị thông báo trên màn hình.", "notifications.permission_denied_alert": "Không thể bật thông báo trên màn hình bởi vì trình duyệt đã cấm trước đó", "notifications.permission_required": "Không hiện thông báo trên màn hình bởi vì chưa cho phép.", + "notifications.policy.filter_limited_accounts_hint": "Chỉ dành cho kiểm duyệt viên", + "notifications.policy.filter_limited_accounts_title": "Kiểm duyệt tài khoản", "notifications.policy.filter_new_accounts.hint": "Đã tạo trong vòng {days, plural, other {# ngày}}", "notifications.policy.filter_new_accounts_title": "Tài khoản mới", "notifications.policy.filter_not_followers_hint": "Bao gồm những người đã theo dõi bạn ít hơn {days, plural, other {# ngày}}", @@ -553,7 +589,6 @@ "notifications.policy.filter_not_following_title": "Những người bạn không theo dõi", "notifications.policy.filter_private_mentions_hint": "Được lọc trừ khi nó trả lời lượt nhắc từ bạn hoặc nếu bạn theo dõi người gửi", "notifications.policy.filter_private_mentions_title": "Lượt nhắc riêng tư không được yêu cầu", - "notifications.policy.title": "Lọc ra thông báo từ…", "notifications_permission_banner.enable": "Cho phép thông báo trên màn hình", "notifications_permission_banner.how_to_control": "Hãy bật thông báo trên màn hình để không bỏ lỡ những thông báo từ Mastodon. Một khi đã bật, bạn có thể lựa chọn từng loại thông báo khác nhau thông qua {icon} nút bên dưới.", "notifications_permission_banner.title": "Không bỏ lỡ điều thú vị nào", @@ -740,8 +775,6 @@ "status.favourite": "Thích", "status.favourites": "{count, plural, other {lượt thích}}", "status.filter": "Lọc tút này", - "status.filtered": "Bộ lọc", - "status.hide": "Ẩn tút", "status.history.created": "{name} đăng {date}", "status.history.edited": "{name} đã sửa {date}", "status.load_more": "Tải thêm", @@ -769,10 +802,7 @@ "status.report": "Báo cáo @{name}", "status.sensitive_warning": "Nhạy cảm", "status.share": "Chia sẻ", - "status.show_filter_reason": "Vẫn cứ xem", - "status.show_less": "Thu gọn", "status.show_less_all": "Thu gọn toàn bộ", - "status.show_more": "Xem thêm", "status.show_more_all": "Hiển thị tất cả", "status.show_original": "Bản gốc", "status.title.with_attachments": "{user} đã đăng {attachmentCount, plural, other {{attachmentCount} đính kèm}}", @@ -791,10 +821,6 @@ "time_remaining.minutes": "{number, plural, other {# phút}}", "time_remaining.moments": "Còn lại", "time_remaining.seconds": "{number, plural, other {# giây}}", - "timeline_hint.remote_resource_not_displayed": "{resource} từ máy chủ khác sẽ không hiển thị.", - "timeline_hint.resources.followers": "Người theo dõi", - "timeline_hint.resources.follows": "Đang theo dõi", - "timeline_hint.resources.statuses": "Tút cũ hơn", "trends.counter_by_accounts": "{count, plural, other {{count} lượt}} dùng trong {days, plural, other {{days} ngày}} qua", "trends.trending_now": "Xu hướng", "ui.beforeunload": "Bản nháp của bạn sẽ bị mất nếu bạn thoát khỏi Mastodon.", diff --git a/app/javascript/mastodon/locales/zgh.json b/app/javascript/mastodon/locales/zgh.json index 2e09642af93..d9367520e89 100644 --- a/app/javascript/mastodon/locales/zgh.json +++ b/app/javascript/mastodon/locales/zgh.json @@ -5,7 +5,6 @@ "account.block": "ⴳⴷⵍ @{name}", "account.block_domain": "ⴳⴷⵍ ⵉⴳⵔ {domain}", "account.blocked": "ⵉⵜⵜⵓⴳⴷⵍ", - "account.browse_more_on_origin_server": "ⵙⵜⴰⵔⴰ ⵓⴳⴳⴰⵔ ⴳ ⵉⴼⵔⵙ ⴰⵏⵚⵍⵉ", "account.cancel_follow_request": "Withdraw follow request", "account.domain_blocked": "ⵉⵜⵜⵓⴳⴷⵍ ⵉⴳⵔ", "account.edit_profile": "ⵙⵏⴼⵍ ⵉⴼⵔⵙ", @@ -186,16 +185,12 @@ "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", "status.reply": "ⵔⴰⵔ", "status.share": "ⴱⴹⵓ", - "status.show_less": "ⵙⵎⴰⵍ ⴷⵔⵓⵙ", "status.show_less_all": "ⵙⵎⴰⵍ ⴷⵔⵓⵙ ⵉ ⵎⴰⵕⵕⴰ", - "status.show_more": "ⵙⵎⴰⵍ ⵓⴳⴳⴰⵔ", "status.show_more_all": "ⵙⵎⴰⵍ ⵓⴳⴳⴰⵔ ⵉ ⵎⴰⵕⵕⴰ", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", "tabs_bar.home": "ⴰⵙⵏⵓⴱⴳ", "tabs_bar.notifications": "ⵜⵉⵏⵖⵎⵉⵙⵉⵏ", "time_remaining.days": "{number, plural, one {# ⵡⴰⵙⵙ} other {# ⵡⵓⵙⵙⴰⵏ}} ⵉⵇⵇⵉⵎⵏ", - "timeline_hint.resources.followers": "ⵉⵎⴹⴼⴰⵕⵏ", - "timeline_hint.resources.statuses": "Older toots", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", "upload_button.label": "ⵔⵏⵓ ⵜⴰⵡⵍⴰⴼⵜ, ⴰⴼⵉⴷⵢⵓ ⵏⵖ ⴰⴼⴰⵢⵍⵓ ⵙ ⵉⵎⵙⵍⵉ", "upload_form.audio_description": "Describe for people with hearing loss", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index 5b7116a2b66..fded16b195f 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -19,7 +19,6 @@ "account.block_domain": "屏蔽 {domain} 实例", "account.block_short": "屏蔽", "account.blocked": "已屏蔽", - "account.browse_more_on_origin_server": "在原始个人资料页面上浏览详情", "account.cancel_follow_request": "撤回关注请求", "account.copy": "复制个人资料链接", "account.direct": "私下提及 @{name}", @@ -98,6 +97,8 @@ "block_modal.title": "屏蔽该用户?", "block_modal.you_wont_see_mentions": "你将无法看到提及他们的嘟文。", "boost_modal.combo": "下次按住 {combo} 即可跳过此提示", + "boost_modal.reblog": "是否转嘟?", + "boost_modal.undo_reblog": "是否取消转嘟?", "bundle_column_error.copy_stacktrace": "复制错误报告", "bundle_column_error.error.body": "请求的页面无法渲染,可能是代码出现错误或浏览器存在兼容性问题。", "bundle_column_error.error.title": "糟糕!", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "取消关注", "confirmations.unfollow.message": "你确定要取消关注 {name} 吗?", "confirmations.unfollow.title": "是否取消关注用户?", + "content_warning.hide": "隐藏嘟文", + "content_warning.show": "仍然显示", "conversation.delete": "删除对话", "conversation.mark_as_read": "标记为已读", "conversation.open": "查看对话", @@ -259,7 +262,7 @@ "empty_column.community": "本站时间轴暂时没有内容,快写点什么让它动起来吧!", "empty_column.direct": "你还未使用过私下提及。当你发出或者收到私下提及时,它将显示在此。", "empty_column.domain_blocks": "暂且没有被屏蔽的站点。", - "empty_column.explore_statuses": "目前没有热门话题,稍后再来看看吧!", + "empty_column.explore_statuses": "目前没有热门内容,稍后再来看看吧!", "empty_column.favourited_statuses": "你没有喜欢过任何嘟文。喜欢过的嘟文会显示在这里。", "empty_column.favourites": "没有人喜欢过这条嘟文。如果有人喜欢了,就会显示在这里。", "empty_column.follow_requests": "你还没有收到任何关注请求。当你收到一个关注请求时,它会出现在这里。", @@ -300,6 +303,7 @@ "filter_modal.select_filter.subtitle": "使用一个已存在类别,或创建一个新类别", "filter_modal.select_filter.title": "过滤此嘟文", "filter_modal.title.status": "过滤一条嘟文", + "filter_warning.matches_filter": "命中过滤规则 “{title}”", "filtered_notifications_banner.pending_requests": "来自你可能认识的 {count, plural, =0 {0 个人} other {# 个人}}", "filtered_notifications_banner.title": "通知(已过滤)", "firehose.all": "全部", @@ -349,6 +353,14 @@ "hashtag.follow": "关注话题标签", "hashtag.unfollow": "取消关注话题标签", "hashtags.and_other": "… 和另外 {count, plural, other {# 个话题}}", + "hints.profiles.followers_may_be_missing": "该账户的关注者列表可能没有完全显示。", + "hints.profiles.follows_may_be_missing": "该账户的关注列表可能没有完全显示。", + "hints.profiles.posts_may_be_missing": "该账户的嘟文可能没有完全显示。", + "hints.profiles.see_more_followers": "在 {domain} 查看更多关注者", + "hints.profiles.see_more_follows": "在 {domain} 查看更多关注", + "hints.profiles.see_more_posts": "在 {domain} 查看更多嘟文", + "hints.threads.replies_may_be_missing": "来自其它实例的回复可能没有完全显示。", + "hints.threads.see_more": "在 {domain} 查看更多回复", "home.column_settings.show_reblogs": "显示转嘟", "home.column_settings.show_replies": "显示回复", "home.hide_announcements": "隐藏公告", @@ -356,6 +368,17 @@ "home.pending_critical_update.link": "查看更新", "home.pending_critical_update.title": "紧急安全更新可用!", "home.show_announcements": "显示公告", + "ignore_notifications_modal.disclaimer": "Mastodon无法通知对方用户你忽略了他们的通知。忽略通知不会阻止消息本身的发送。", + "ignore_notifications_modal.filter_instead": "改为过滤", + "ignore_notifications_modal.filter_to_act_users": "你仍然可以接受、拒绝或举报用户", + "ignore_notifications_modal.filter_to_avoid_confusion": "选择过滤有助于避免潜在的混淆", + "ignore_notifications_modal.filter_to_review_separately": "你可以单独查看被过滤的通知", + "ignore_notifications_modal.ignore": "忽略通知", + "ignore_notifications_modal.limited_accounts_title": "是否忽略来自受限账号的通知?", + "ignore_notifications_modal.new_accounts_title": "是否忽略来自新账户的通知?", + "ignore_notifications_modal.not_followers_title": "是否忽略未关注你的人的通知?", + "ignore_notifications_modal.not_following_title": "是否忽略你未关注的人的通知?", + "ignore_notifications_modal.private_mentions_title": "是否忽略不请自来的私下提及?", "interaction_modal.description.favourite": "只需一个 Mastodon 账号,即可喜欢这条嘟文,对嘟文的作者展示您欣赏的态度,并保存嘟文以供日后使用。", "interaction_modal.description.follow": "拥有一个 Mastodon 账号,你可以关注 {name} 并在自己的主页上接收对方的新嘟文。", "interaction_modal.description.reblog": "拥有一个 Mastodon 账号,你可以向自己的关注者们转发此嘟文。", @@ -445,9 +468,8 @@ "mute_modal.title": "隐藏用户?", "mute_modal.you_wont_see_mentions": "你看不到提及他们的嘟文。", "mute_modal.you_wont_see_posts": "他们可以看到你的嘟文,但是你看不到他们的。", - "name_and_others": "{name} 和其它 {count, plural, other {# 人}}", - "name_and_others_with_link": "{name} 和其它 {count, plural, other {# 人}}", "navigation_bar.about": "关于", + "navigation_bar.administration": "管理", "navigation_bar.advanced_interface": "在高级网页界面中打开", "navigation_bar.blocks": "已屏蔽的用户", "navigation_bar.bookmarks": "书签", @@ -464,6 +486,7 @@ "navigation_bar.follows_and_followers": "关注和粉丝", "navigation_bar.lists": "列表", "navigation_bar.logout": "退出登录", + "navigation_bar.moderation": "运营", "navigation_bar.mutes": "已隐藏的用户", "navigation_bar.opened_in_classic_interface": "嘟文、账户和其他特定页面默认在经典网页界面中打开。", "navigation_bar.personal": "个人", @@ -479,10 +502,18 @@ "notification.admin.report_statuses": "{name} 举报了 {target},原因为 {category}", "notification.admin.report_statuses_other": "{name} 举报了 {target}", "notification.admin.sign_up": "{name} 注册了", + "notification.admin.sign_up.name_and_others": "{name} 和 {count, plural, other {另外 # 人}}注册了", "notification.favourite": "{name} 喜欢了你的嘟文", + "notification.favourite.name_and_others_with_link": "{name} 和 {count, plural, other {另外 # 人}} 喜欢了你的嘟文", "notification.follow": "{name} 开始关注你", + "notification.follow.name_and_others": "{name} 和 {count, plural, other {另外 # 人}} 关注了你", "notification.follow_request": "{name} 向你发送了关注请求", - "notification.mention": "{name} 提及了你", + "notification.follow_request.name_and_others": "{name} 和 {count, plural, other {另外 # 人}} 向你发送了关注请求", + "notification.label.mention": "提及", + "notification.label.private_mention": "私下提及", + "notification.label.private_reply": "私人回复", + "notification.label.reply": "回复", + "notification.mention": "提及", "notification.moderation-warning.learn_more": "了解更多", "notification.moderation_warning": "你收到了一条管理警告", "notification.moderation_warning.action_delete_statuses": "你的一些嘟文已被移除。", @@ -494,8 +525,8 @@ "notification.moderation_warning.action_suspend": "你的账号已被封禁.", "notification.own_poll": "你的投票已经结束", "notification.poll": "你参与的一项投票已结束", - "notification.private_mention": "{name} 私下提及了你", "notification.reblog": "{name} 转发了你的嘟文", + "notification.reblog.name_and_others_with_link": "{name} 和 {count, plural, other {另外 # 人}} 转嘟了你的嘟文", "notification.relationships_severance_event": "与 {name} 的联系已断开", "notification.relationships_severance_event.account_suspension": "一名来自 {from} 的管理员已经封禁了{target},这意味着你将无法再收到他们的更新或与他们互动。", "notification.relationships_severance_event.domain_block": "一名来自 {from} 的管理员已经屏蔽了 {target},其中包括你的 {followersCount} 个关注者和 {followingCount, plural, other {# 个关注}}。", @@ -504,11 +535,24 @@ "notification.status": "{name} 刚刚发布嘟文", "notification.update": "{name} 编辑了嘟文", "notification_requests.accept": "接受", + "notification_requests.accept_multiple": "{count, plural, other {接受 # 个请求…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, other {接受请求}}", + "notification_requests.confirm_accept_multiple.message": "你即将接受 {count, plural, other {# 个通知请求}}。是否确定要继续?", + "notification_requests.confirm_accept_multiple.title": "是否接受通知请求?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, other {拒绝请求}}", + "notification_requests.confirm_dismiss_multiple.message": "你将要拒绝 {count, plural, other {# 个通知请求}}。你将无法再轻易访问{count, plural, other {它们}}。是否继续?", + "notification_requests.confirm_dismiss_multiple.title": "是否拒绝通知请求?", "notification_requests.dismiss": "拒绝", + "notification_requests.dismiss_multiple": "{count, plural, other {拒绝 # 个请求…}}", + "notification_requests.edit_selection": "编辑", + "notification_requests.exit_selection": "完成", + "notification_requests.explainer_for_limited_account": "来自该账户的通知已被过滤,因为该账户已被管理员限制。", + "notification_requests.explainer_for_limited_remote_account": "来自该账户的通知已被过滤,因为该账户或其所在的实例已被管理员限制。", "notification_requests.maximize": "最大化", "notification_requests.minimize_banner": "最小化被过滤通知的横幅", "notification_requests.notifications_from": "来自 {name} 的通知", "notification_requests.title": "通知(已过滤)", + "notification_requests.view": "查看通知", "notifications.clear": "清空通知列表", "notifications.clear_confirmation": "你确定要永久清空通知列表吗?", "notifications.clear_title": "是否清空通知?", @@ -545,6 +589,14 @@ "notifications.permission_denied": "由于权限被拒绝,无法启用桌面通知。", "notifications.permission_denied_alert": "由于在此之前浏览器权限请求就已被拒绝,所以启用桌面通知失败", "notifications.permission_required": "所需权限未被授予,所以桌面通知不可用", + "notifications.policy.accept": "接受", + "notifications.policy.accept_hint": "在通知中显示", + "notifications.policy.drop": "忽略", + "notifications.policy.drop_hint": "送入虚空,再也不查看", + "notifications.policy.filter": "过滤", + "notifications.policy.filter_hint": "发送到被过滤通知收件箱", + "notifications.policy.filter_limited_accounts_hint": "被实例管理员限制", + "notifications.policy.filter_limited_accounts_title": "受限账号", "notifications.policy.filter_new_accounts.hint": "在 {days, plural, other {# 天}}内创建的账户", "notifications.policy.filter_new_accounts_title": "新账户", "notifications.policy.filter_not_followers_hint": "包括关注你少于 {days, plural, other {# 天}}的人", @@ -553,7 +605,7 @@ "notifications.policy.filter_not_following_title": "你没有关注的人", "notifications.policy.filter_private_mentions_hint": "过滤通知,除非通知是在回复提及你自己的内容,或发送者是你关注的人", "notifications.policy.filter_private_mentions_title": "不请自来的提及", - "notifications.policy.title": "通知过滤范围", + "notifications.policy.title": "管理来自 … 的通知", "notifications_permission_banner.enable": "启用桌面通知", "notifications_permission_banner.how_to_control": "启用桌面通知以在 Mastodon 未打开时接收通知。你可以通过交互通过上面的 {icon} 按钮来精细控制可以发送桌面通知的交互类型。", "notifications_permission_banner.title": "精彩不容错过", @@ -740,8 +792,6 @@ "status.favourite": "喜欢", "status.favourites": "{count, plural, other {次喜欢}}", "status.filter": "过滤此嘟文", - "status.filtered": "已过滤", - "status.hide": "隐藏嘟文", "status.history.created": "{name} 创建于 {date}", "status.history.edited": "{name} 编辑于 {date}", "status.load_more": "加载更多", @@ -769,10 +819,7 @@ "status.report": "举报 @{name}", "status.sensitive_warning": "敏感内容", "status.share": "分享", - "status.show_filter_reason": "仍要显示", - "status.show_less": "隐藏内容", "status.show_less_all": "隐藏全部内容", - "status.show_more": "显示更多", "status.show_more_all": "显示全部内容", "status.show_original": "显示原文", "status.title.with_attachments": "{user} 上传了 {attachmentCount, plural, one {一个附件} other {{attachmentCount} 个附件}}", @@ -791,12 +838,8 @@ "time_remaining.minutes": "剩余 {number, plural, one {# 分钟} other {# 分钟}}", "time_remaining.moments": "即将结束", "time_remaining.seconds": "剩余 {number, plural, one {# 秒} other {# 秒}}", - "timeline_hint.remote_resource_not_displayed": "不会显示来自其它服务器的{resource}", - "timeline_hint.resources.followers": "粉丝", - "timeline_hint.resources.follows": "关注", - "timeline_hint.resources.statuses": "更早的嘟文", "trends.counter_by_accounts": "过去 {days, plural, other {{days} 天}}有{count, plural, other { {counter} 人}}讨论", - "trends.trending_now": "现在流行", + "trends.trending_now": "当前热门", "ui.beforeunload": "如果你现在离开 Mastodon,你的草稿内容将会丢失。", "units.short.billion": "{count} B", "units.short.million": "{count} M", diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json index 97feb9120d9..8543090b9a6 100644 --- a/app/javascript/mastodon/locales/zh-HK.json +++ b/app/javascript/mastodon/locales/zh-HK.json @@ -18,7 +18,6 @@ "account.block_domain": "封鎖網域 {domain}", "account.block_short": "封鎖", "account.blocked": "已封鎖", - "account.browse_more_on_origin_server": "前往原始的個人檔案頁瀏覽更多", "account.cancel_follow_request": "撤回追蹤請求", "account.copy": "複製個人檔案連結", "account.direct": "私下提及 @{name}", @@ -464,7 +463,6 @@ "notification.favourite": "{name} 喜歡你的文章", "notification.follow": "{name} 開始追蹤你", "notification.follow_request": "{name} 要求追蹤你", - "notification.mention": "{name} 提及你", "notification.moderation-warning.learn_more": "了解更多", "notification.moderation_warning.action_delete_statuses": "你的部份帖文已被刪除。", "notification.moderation_warning.action_disable": "你的帳號已被停用。", @@ -527,7 +525,6 @@ "notifications.policy.filter_not_following_title": "你未追蹤的人", "notifications.policy.filter_private_mentions_hint": "除非回覆你的提及或來自你追蹤的人,否則將被過濾", "notifications.policy.filter_private_mentions_title": "未經請求的私人提及", - "notifications.policy.title": "過濾來自以下的通知…", "notifications_permission_banner.enable": "啟用桌面通知", "notifications_permission_banner.how_to_control": "只要啟用桌面通知,便可在 Mastodon 網站沒有打開時收到通知。在已經啟用桌面通知的時候,你可以透過上面的 {icon} 按鈕準確控制哪些類型的互動會產生桌面通知。", "notifications_permission_banner.title": "不放過任何事情", @@ -707,8 +704,6 @@ "status.favourite": "最愛", "status.favourites": "{count, plural, one {則最愛} other {則最愛}}", "status.filter": "篩選此帖文", - "status.filtered": "已過濾", - "status.hide": "隱藏帖文", "status.history.created": "{name} 於 {date} 建立", "status.history.edited": "{name} 於 {date} 編輯", "status.load_more": "載入更多", @@ -736,10 +731,7 @@ "status.report": "舉報 @{name}", "status.sensitive_warning": "敏感內容", "status.share": "分享", - "status.show_filter_reason": "仍要顯示", - "status.show_less": "收起", "status.show_less_all": "全部收起", - "status.show_more": "展開", "status.show_more_all": "全部展開", "status.show_original": "顯示原文", "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", @@ -758,10 +750,6 @@ "time_remaining.minutes": "剩餘 {number, plural, one {# 分鐘} other {# 分鐘}}", "time_remaining.moments": "剩餘時間", "time_remaining.seconds": "剩餘 {number, plural, one {# 秒} other {# 秒}}", - "timeline_hint.remote_resource_not_displayed": "不會顯示來自其他伺服器的 {resource}", - "timeline_hint.resources.followers": "追蹤者", - "timeline_hint.resources.follows": "追蹤中", - "timeline_hint.resources.statuses": "更早的文章", "trends.counter_by_accounts": "{count, plural, one {{counter} 人} other {{counter} 人}} 於過去 {days, plural, one {日} other {{days} days}} 之間", "trends.trending_now": "現在流行", "ui.beforeunload": "如果你現在離開 Mastodon,你的草稿內容將會被丟棄。", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 9e2f783e6b9..df754f6d681 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -19,7 +19,6 @@ "account.block_domain": "封鎖來自 {domain} 網域的所有內容", "account.block_short": "封鎖", "account.blocked": "已封鎖", - "account.browse_more_on_origin_server": "在該伺服器上的個人檔案頁面瀏覽更多", "account.cancel_follow_request": "收回跟隨請求", "account.copy": "複製個人檔案連結", "account.direct": "私訊 @{name}", @@ -98,6 +97,8 @@ "block_modal.title": "是否封鎖該使用者?", "block_modal.you_wont_see_mentions": "您不會見到提及他們的嘟文。", "boost_modal.combo": "下次您可以按 {combo} 跳過", + "boost_modal.reblog": "是否要轉嘟?", + "boost_modal.undo_reblog": "是否要取消轉嘟?", "bundle_column_error.copy_stacktrace": "複製錯誤報告", "bundle_column_error.error.body": "無法繪製請求的頁面。這可能是因為我們程式碼中的臭蟲或是瀏覽器的相容問題。", "bundle_column_error.error.title": "糟糕!", @@ -128,7 +129,7 @@ "column.home": "首頁", "column.lists": "列表", "column.mutes": "已靜音的使用者", - "column.notifications": "通知", + "column.notifications": "推播通知", "column.pins": "釘選的嘟文", "column.public": "聯邦時間軸", "column_back_button.label": "上一頁", @@ -193,6 +194,8 @@ "confirmations.unfollow.confirm": "取消跟隨", "confirmations.unfollow.message": "您確定要取消跟隨 {name} 嗎?", "confirmations.unfollow.title": "是否取消跟隨該使用者?", + "content_warning.hide": "隱藏嘟文", + "content_warning.show": "仍要顯示", "conversation.delete": "刪除對話", "conversation.mark_as_read": "標記為已讀", "conversation.open": "檢視對話", @@ -219,7 +222,7 @@ "domain_block_modal.they_wont_know": "他們不會知道他們已被封鎖。", "domain_block_modal.title": "是否封鎖該網域?", "domain_block_modal.you_will_lose_followers": "所有您來自此伺服器之跟隨者將被移除。", - "domain_block_modal.you_wont_see_posts": "您不會見到來自此伺服器使用者之任何嘟文或通知。", + "domain_block_modal.you_wont_see_posts": "您不會見到來自此伺服器使用者之任何嘟文或推播通知。", "domain_pill.activitypub_lets_connect": "它使您能於 Mastodon 及其他不同的社群應用程式與人連結及互動。", "domain_pill.activitypub_like_language": "ActivityPub 像是 Mastodon 與其他社群網路溝通時所用的語言。", "domain_pill.server": "伺服器", @@ -269,8 +272,8 @@ "empty_column.list": "這份列表下什麼也沒有。當此列表的成員嘟出新的嘟文時,它們將顯示於此。", "empty_column.lists": "您還沒有新增任何列表。當您新增列表時,它將於此顯示。", "empty_column.mutes": "您尚未靜音任何使用者。", - "empty_column.notification_requests": "清空啦!已經沒有任何通知。當您收到新通知時,它們將依照您的設定於此顯示。", - "empty_column.notifications": "您還沒有收到任何通知,當您與別人開始互動時,它將於此顯示。", + "empty_column.notification_requests": "清空啦!已經沒有任何推播通知。當您收到新推播通知時,它們將依照您的設定於此顯示。", + "empty_column.notifications": "您還沒有收到任何推播通知,當您與別人開始互動時,它將於此顯示。", "empty_column.public": "這裡什麼都沒有!嘗試寫些公開的嘟文,或者跟隨其他伺服器的使用者後,就會有嘟文出現了", "error.unexpected_crash.explanation": "由於發生系統故障或瀏覽器相容性問題,無法正常顯示此頁面。", "error.unexpected_crash.explanation_addons": "此頁面無法被正常顯示,這可能是由瀏覽器附加元件或網頁自動翻譯工具造成的。", @@ -300,8 +303,9 @@ "filter_modal.select_filter.subtitle": "使用既有的類別或是新增", "filter_modal.select_filter.title": "過濾此嘟文", "filter_modal.title.status": "過濾一則嘟文", + "filter_warning.matches_filter": "匹配過濾器「{title}」", "filtered_notifications_banner.pending_requests": "來自您可能認識的 {count, plural, =0 {0 人} other {# 人}}", - "filtered_notifications_banner.title": "已過濾之通知", + "filtered_notifications_banner.title": "已過濾之推播通知", "firehose.all": "全部", "firehose.local": "本站", "firehose.remote": "聯邦宇宙", @@ -349,6 +353,14 @@ "hashtag.follow": "跟隨主題標籤", "hashtag.unfollow": "取消跟隨主題標籤", "hashtags.and_other": "…及其他 {count, plural, other {# 個}}", + "hints.profiles.followers_may_be_missing": "此個人檔案之跟隨者或有缺失。", + "hints.profiles.follows_may_be_missing": "此個人檔案之正在跟隨或有缺失。", + "hints.profiles.posts_may_be_missing": "此個人檔案之某些嘟文或有缺失。", + "hints.profiles.see_more_followers": "於 {domain} 檢視更多跟隨者", + "hints.profiles.see_more_follows": "於 {domain} 檢視更多正在跟隨", + "hints.profiles.see_more_posts": "於 {domain} 檢視更多嘟文", + "hints.threads.replies_may_be_missing": "來自其他站點之回覆或有缺失。", + "hints.threads.see_more": "於 {domain} 檢視更多回覆", "home.column_settings.show_reblogs": "顯示轉嘟", "home.column_settings.show_replies": "顯示回覆", "home.hide_announcements": "隱藏公告", @@ -356,6 +368,17 @@ "home.pending_critical_update.link": "檢視更新內容", "home.pending_critical_update.title": "有可取得的重要安全性更新!", "home.show_announcements": "顯示公告", + "ignore_notifications_modal.disclaimer": "Mastodon 無法通知您已忽略推播通知之使用者。忽略通知不會阻止訊息本身的發送。", + "ignore_notifications_modal.filter_instead": "改為過濾", + "ignore_notifications_modal.filter_to_act_users": "您仍能接受、拒絕、或檢舉使用者", + "ignore_notifications_modal.filter_to_avoid_confusion": "過濾器有助於避免潛在的混淆", + "ignore_notifications_modal.filter_to_review_separately": "您能單獨檢視已過濾推播通知", + "ignore_notifications_modal.ignore": "忽略推播通知", + "ignore_notifications_modal.limited_accounts_title": "忽略來自受管制帳號之推播通知?", + "ignore_notifications_modal.new_accounts_title": "忽略來自新帳號之推播通知?", + "ignore_notifications_modal.not_followers_title": "忽略來自未跟隨您帳號之推播通知?", + "ignore_notifications_modal.not_following_title": "忽略來自您未跟隨帳號之推播通知?", + "ignore_notifications_modal.private_mentions_title": "忽略來自不請自來私訊之推播通知?", "interaction_modal.description.favourite": "若於 Mastodon 上有個帳號,您可以將此嘟文加入最愛使作者知道您欣賞它且將它儲存下來。", "interaction_modal.description.follow": "若於 Mastodon 上有個帳號,您可以跟隨 {name} 以於首頁時間軸接收他們的嘟文。", "interaction_modal.description.reblog": "若於 Mastodon 上有個帳號,您可以轉嘟此嘟文以向您的跟隨者們分享。", @@ -436,7 +459,7 @@ "loading_indicator.label": "正在載入...", "media_gallery.toggle_visible": "切換可見性", "moved_to_account_banner.text": "您的帳號 {disabledAccount} 目前已停用,因為您已搬家至 {movedToAccount}。", - "mute_modal.hide_from_notifications": "於通知中隱藏", + "mute_modal.hide_from_notifications": "於推播通知中隱藏", "mute_modal.hide_options": "隱藏選項", "mute_modal.indefinite": "直到我解除靜音他們", "mute_modal.show_options": "顯示選項", @@ -445,9 +468,8 @@ "mute_modal.title": "是否靜音該使用者?", "mute_modal.you_wont_see_mentions": "您不會見到提及他們的嘟文。", "mute_modal.you_wont_see_posts": "他們仍可讀取您的嘟文,但您不會見到他們的。", - "name_and_others": "{name} 與 {count, plural, other {# 個人}}", - "name_and_others_with_link": "{name} 與 {count, plural, other {# 個人}}", "navigation_bar.about": "關於", + "navigation_bar.administration": "管理介面", "navigation_bar.advanced_interface": "以進階網頁介面開啟", "navigation_bar.blocks": "已封鎖的使用者", "navigation_bar.bookmarks": "書籤", @@ -464,6 +486,7 @@ "navigation_bar.follows_and_followers": "跟隨中與跟隨者", "navigation_bar.lists": "列表", "navigation_bar.logout": "登出", + "navigation_bar.moderation": "站務", "navigation_bar.mutes": "已靜音的使用者", "navigation_bar.opened_in_classic_interface": "預設於經典網頁介面中開啟嘟文、帳號與其他特定頁面。", "navigation_bar.personal": "個人", @@ -479,10 +502,18 @@ "notification.admin.report_statuses": "{name} 已檢舉 {target} 關於 {category}", "notification.admin.report_statuses_other": "{name} 已檢舉 {target}", "notification.admin.sign_up": "{name} 已經註冊", + "notification.admin.sign_up.name_and_others": "{name} 與{count, plural, other {其他 # 個人}}已註冊", "notification.favourite": "{name} 已將您的嘟文加入最愛", + "notification.favourite.name_and_others_with_link": "{name} 與{count, plural, other {其他 # 個人}}已將您的嘟文加入最愛", "notification.follow": "{name} 已跟隨您", + "notification.follow.name_and_others": "{name} 與{count, plural, other {其他 # 個人}}已跟隨您", "notification.follow_request": "{name} 要求跟隨您", - "notification.mention": "{name} 已提到您", + "notification.follow_request.name_and_others": "{name} 與{count, plural, other {其他 # 個人}}已請求跟隨您", + "notification.label.mention": "提及", + "notification.label.private_mention": "私訊", + "notification.label.private_reply": "私訊回嘟", + "notification.label.reply": "回嘟", + "notification.mention": "提及", "notification.moderation-warning.learn_more": "了解更多", "notification.moderation_warning": "您已收到管理員警告", "notification.moderation_warning.action_delete_statuses": "某些您的嘟文已被刪除。", @@ -494,8 +525,8 @@ "notification.moderation_warning.action_suspend": "您的帳號已被停權。", "notification.own_poll": "您的投票已結束", "notification.poll": "您曾投過的投票已經結束", - "notification.private_mention": "{name} 私訊您", "notification.reblog": "{name} 已轉嘟您的嘟文", + "notification.reblog.name_and_others_with_link": "{name} 與{count, plural, other {其他 # 個人}}已轉嘟您的嘟文", "notification.relationships_severance_event": "與 {name} 失去連結", "notification.relationships_severance_event.account_suspension": "{from} 之管理員已將 {target} 停權,意味著您將不再收到來自他們的更新或與之互動。", "notification.relationships_severance_event.domain_block": "{from} 之管理員已將 {target} 封鎖,包含 {followersCount} 名您的跟隨者及 {followingCount, plural, other {#}} 名您跟隨的帳號。", @@ -504,11 +535,24 @@ "notification.status": "{name} 剛剛嘟文", "notification.update": "{name} 已編輯嘟文", "notification_requests.accept": "接受", + "notification_requests.accept_multiple": "{count, plural, other {接受 # 則請求...}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, other {接受請求}}", + "notification_requests.confirm_accept_multiple.message": "您將接受 {count, plural, other {# 則推播通知請求}}。您確定要繼續?", + "notification_requests.confirm_accept_multiple.title": "接受推播通知請求?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, other {忽略請求}}", + "notification_requests.confirm_dismiss_multiple.message": "您將忽略 {count, plural, other {# 則推播通知請求}}。您將不再能輕易存取{count, plural, other {這些}}推播通知。您確定要繼續?", + "notification_requests.confirm_dismiss_multiple.title": "忽略推播通知請求?", "notification_requests.dismiss": "關閉", + "notification_requests.dismiss_multiple": "{count, plural, other {忽略 # 則請求...}}", + "notification_requests.edit_selection": "編輯", + "notification_requests.exit_selection": "完成", + "notification_requests.explainer_for_limited_account": "由於此帳號已被管理員限制,來自此帳號之通知已被過濾。", + "notification_requests.explainer_for_limited_remote_account": "由於此帳號或其伺服器已被管理員限制,來自此帳號之通知已被過濾。", "notification_requests.maximize": "最大化", "notification_requests.minimize_banner": "最小化已過濾通知橫幅", "notification_requests.notifications_from": "來自 {name} 之通知", - "notification_requests.title": "已過濾之通知", + "notification_requests.title": "已過濾之推播通知", + "notification_requests.view": "檢視推播通知", "notifications.clear": "清除通知", "notifications.clear_confirmation": "您確定要永久清除您的通知嗎?", "notifications.clear_title": "是否清除推播通知?", @@ -545,6 +589,14 @@ "notifications.permission_denied": "由於之前已拒絕瀏覽器請求,因此無法使用桌面通知", "notifications.permission_denied_alert": "由於之前瀏覽器權限被拒絕,無法啟用桌面通知", "notifications.permission_required": "由於尚未授予所需的權限,因此無法使用桌面通知。", + "notifications.policy.accept": "接受", + "notifications.policy.accept_hint": "顯示於推播通知", + "notifications.policy.drop": "忽略", + "notifications.policy.drop_hint": "送至黑洞,永不相見", + "notifications.policy.filter": "過濾器", + "notifications.policy.filter_hint": "送至已過濾推播通知收件夾", + "notifications.policy.filter_limited_accounts_hint": "已被伺服器管理員限制", + "notifications.policy.filter_limited_accounts_title": "受管制帳號", "notifications.policy.filter_new_accounts.hint": "新增於過去 {days, plural, other {# 日}}", "notifications.policy.filter_new_accounts_title": "新帳號", "notifications.policy.filter_not_followers_hint": "包含最近 {days, plural, other {# 日}} 內跟隨您之使用者", @@ -553,7 +605,7 @@ "notifications.policy.filter_not_following_title": "您未跟隨之使用者", "notifications.policy.filter_private_mentions_hint": "過濾通知,除非嘟文包含於您的提及,或您跟隨該發嘟帳號", "notifications.policy.filter_private_mentions_title": "不請自來的私訊", - "notifications.policy.title": "過濾通知來自...", + "notifications.policy.title": "管理推播通知來自...", "notifications_permission_banner.enable": "啟用桌面通知", "notifications_permission_banner.how_to_control": "啟用桌面通知以於 Mastodon 沒有開啟的時候接收通知。啟用桌面通知後,您可以透過上面的 {icon} 按鈕準確的控制哪些類型的互動會產生桌面通知。", "notifications_permission_banner.title": "不要錯過任何東西!", @@ -595,8 +647,8 @@ "onboarding.tips.accounts_from_other_servers": "您知道嗎? 由於 Mastodon 是去中心化的,有些您巧遇過的個人檔案託管於這邊以外的其他伺服器。即便如此,您也能無縫地與他們互動!他們的伺服器位址是他們帳號的後半部分!", "onboarding.tips.migration": "您知道嗎? 若您認為 {domain} 已不再對您的未來使用是好的伺服器選擇,您可以遷移至另一個 Mastodon 伺服器而不流失您現有的跟隨者。您甚至可以運行您自己的伺服器!", "onboarding.tips.verification": "您知道嗎? 您可以藉由於您自己的網站上設定 Mastodon 個人檔案連結並於個人檔案中連結該網站的方式以驗證您的帳號。不需要任何費用或是文件!", - "password_confirmation.exceeds_maxlength": "密碼確認欄超過最長密碼長度限制", - "password_confirmation.mismatching": "密碼確認欄與密碼不一致", + "password_confirmation.exceeds_maxlength": "密碼驗證欄超過最長密碼長度限制", + "password_confirmation.mismatching": "密碼驗證欄與密碼不一致", "picture_in_picture.restore": "還原", "poll.closed": "已關閉", "poll.refresh": "重新整理", @@ -740,8 +792,6 @@ "status.favourite": "最愛", "status.favourites": "{count, plural, other {# 則最愛}}", "status.filter": "過濾此嘟文", - "status.filtered": "已過濾", - "status.hide": "隱藏嘟文", "status.history.created": "{name} 於 {date} 建立", "status.history.edited": "{name} 於 {date} 修改", "status.load_more": "載入更多", @@ -769,10 +819,7 @@ "status.report": "檢舉 @{name}", "status.sensitive_warning": "敏感內容", "status.share": "分享", - "status.show_filter_reason": "仍要顯示", - "status.show_less": "減少顯示", "status.show_less_all": "隱藏所有內容警告與額外標籤", - "status.show_more": "顯示更多", "status.show_more_all": "顯示所有內容警告與額外標籤", "status.show_original": "顯示原文", "status.title.with_attachments": "{user} 嘟了 {attachmentCount, plural, other {{attachmentCount} 個附加檔案}}", @@ -791,10 +838,6 @@ "time_remaining.minutes": "剩餘 {number, plural, one {# 分鐘} other {# 分鐘}}", "time_remaining.moments": "剩餘時間", "time_remaining.seconds": "剩餘 {number, plural, one {# 秒} other {# 秒}}", - "timeline_hint.remote_resource_not_displayed": "不會顯示來自其他伺服器的 {resource}", - "timeline_hint.resources.followers": "跟隨者", - "timeline_hint.resources.follows": "正在跟隨", - "timeline_hint.resources.statuses": "更早的嘟文", "trends.counter_by_accounts": "{count, plural, one {{counter} 人} other {{counter} 人}}於過去 {days, plural, one {日} other {{days} 日}} 之間", "trends.trending_now": "現正熱門趨勢", "ui.beforeunload": "如果離開 Mastodon,您的草稿將會不見。", diff --git a/app/javascript/mastodon/models/notification_group.ts b/app/javascript/mastodon/models/notification_group.ts index 76034e644e9..09d407d4495 100644 --- a/app/javascript/mastodon/models/notification_group.ts +++ b/app/javascript/mastodon/models/notification_group.ts @@ -21,7 +21,7 @@ interface BaseNotificationGroup interface BaseNotificationWithStatus extends BaseNotificationGroup { type: Type; - statusId: string; + statusId: string | undefined; } interface BaseNotification @@ -126,7 +126,7 @@ export function createNotificationGroupFromJSON( case 'update': { const { status_id: statusId, ...groupWithoutStatus } = group; return { - statusId, + statusId: statusId ?? undefined, sampleAccountIds, ...groupWithoutStatus, }; @@ -183,7 +183,7 @@ export function createNotificationGroupFromNotificationJSON( case 'mention': case 'poll': case 'update': - return { ...group, statusId: notification.status.id }; + return { ...group, statusId: notification.status?.id }; case 'admin.report': return { ...group, report: createReportFromJSON(notification.report) }; case 'severed_relationships': diff --git a/app/javascript/mastodon/permissions.ts b/app/javascript/mastodon/permissions.ts index b583535c00e..8f015610ea0 100644 --- a/app/javascript/mastodon/permissions.ts +++ b/app/javascript/mastodon/permissions.ts @@ -1,4 +1,23 @@ export const PERMISSION_INVITE_USERS = 0x0000000000010000; export const PERMISSION_MANAGE_USERS = 0x0000000000000400; export const PERMISSION_MANAGE_FEDERATION = 0x0000000000000020; + export const PERMISSION_MANAGE_REPORTS = 0x0000000000000010; +export const PERMISSION_VIEW_DASHBOARD = 0x0000000000000008; + +// These helpers don't quite align with the names/categories in UserRole, +// but are likely "good enough" for the use cases at present. +// +// See: https://docs.joinmastodon.org/entities/Role/#permission-flags + +export function canViewAdminDashboard(permissions: number) { + return ( + (permissions & PERMISSION_VIEW_DASHBOARD) === PERMISSION_VIEW_DASHBOARD + ); +} + +export function canManageReports(permissions: number) { + return ( + (permissions & PERMISSION_MANAGE_REPORTS) === PERMISSION_MANAGE_REPORTS + ); +} diff --git a/app/javascript/mastodon/reducers/notification_groups.ts b/app/javascript/mastodon/reducers/notification_groups.ts index 871f50364b3..b3535d7b672 100644 --- a/app/javascript/mastodon/reducers/notification_groups.ts +++ b/app/javascript/mastodon/reducers/notification_groups.ts @@ -19,12 +19,17 @@ import { markNotificationsAsRead, mountNotifications, unmountNotifications, + refreshStaleNotificationGroups, + pollRecentNotifications, } from 'mastodon/actions/notification_groups'; import { disconnectTimeline, timelineDelete, } from 'mastodon/actions/timelines_typed'; -import type { ApiNotificationJSON } from 'mastodon/api_types/notifications'; +import type { + ApiNotificationJSON, + ApiNotificationGroupJSON, +} from 'mastodon/api_types/notifications'; import { compareId } from 'mastodon/compare_id'; import { usePendingItems } from 'mastodon/initial_state'; import { @@ -51,6 +56,7 @@ interface NotificationGroupsState { readMarkerId: string; mounted: number; isTabVisible: boolean; + mergedNotifications: 'ok' | 'pending' | 'needs-reload'; } const initialState: NotificationGroupsState = { @@ -58,6 +64,8 @@ const initialState: NotificationGroupsState = { pendingGroups: [], // holds pending groups in slow mode scrolledToTop: false, isLoading: false, + // this is used to track whether we need to refresh notifications after accepting requests + mergedNotifications: 'ok', // The following properties are used to track unread notifications lastReadId: '0', // used internally for unread notifications readMarkerId: '0', // user-facing and updated when focus changes @@ -292,6 +300,106 @@ function commitLastReadId(state: NotificationGroupsState) { } } +function fillNotificationsGap( + groups: NotificationGroupsState['groups'], + gap: NotificationGap, + notifications: ApiNotificationGroupJSON[], +): NotificationGroupsState['groups'] { + // find the gap in the existing notifications + const gapIndex = groups.findIndex( + (groupOrGap) => + groupOrGap.type === 'gap' && + groupOrGap.sinceId === gap.sinceId && + groupOrGap.maxId === gap.maxId, + ); + + if (gapIndex < 0) + // We do not know where to insert, let's return + return groups; + + // Filling a disconnection gap means we're getting historical data + // about groups we may know or may not know about. + + // The notifications timeline is split in two by the gap, with + // group information newer than the gap, and group information older + // than the gap. + + // Filling a gap should not touch anything before the gap, so any + // information on groups already appearing before the gap should be + // discarded, while any information on groups appearing after the gap + // can be updated and re-ordered. + + const oldestPageNotification = notifications.at(-1)?.page_min_id; + + // replace the gap with the notifications + a new gap + + const newerGroupKeys = groups + .slice(0, gapIndex) + .filter(isNotificationGroup) + .map((group) => group.group_key); + + const toInsert: NotificationGroupsState['groups'] = notifications + .map((json) => createNotificationGroupFromJSON(json)) + .filter((notification) => !newerGroupKeys.includes(notification.group_key)); + + const apiGroupKeys = (toInsert as NotificationGroup[]).map( + (group) => group.group_key, + ); + + const sinceId = gap.sinceId; + if ( + notifications.length > 0 && + !( + oldestPageNotification && + sinceId && + compareId(oldestPageNotification, sinceId) <= 0 + ) + ) { + // If we get an empty page, it means we reached the bottom, so we do not need to insert a new gap + // Similarly, if we've fetched more than the gap's, this means we have completely filled it + toInsert.push({ + type: 'gap', + maxId: notifications.at(-1)?.page_max_id, + sinceId, + } as NotificationGap); + } + + // Remove older groups covered by the API + groups = groups.filter( + (groupOrGap) => + groupOrGap.type !== 'gap' && !apiGroupKeys.includes(groupOrGap.group_key), + ); + + // Replace the gap with API results (+ the new gap if needed) + groups.splice(gapIndex, 1, ...toInsert); + + // Finally, merge any adjacent gaps that could have been created by filtering + // groups earlier + mergeGaps(groups); + + return groups; +} + +// Ensure the groups list starts with a gap, mutating it to prepend one if needed +function ensureLeadingGap( + groups: NotificationGroupsState['groups'], +): NotificationGap { + if (groups[0]?.type === 'gap') { + // We're expecting new notifications, so discard the maxId if there is one + groups[0].maxId = undefined; + + return groups[0]; + } else { + const gap: NotificationGap = { + type: 'gap', + sinceId: groups[0]?.page_min_id, + }; + + groups.unshift(gap); + return gap; + } +} + export const notificationGroupsReducer = createReducer( initialState, (builder) => { @@ -301,105 +409,59 @@ export const notificationGroupsReducer = createReducer( json.type === 'gap' ? json : createNotificationGroupFromJSON(json), ); state.isLoading = false; + state.mergedNotifications = 'ok'; updateLastReadId(state); }) .addCase(fetchNotificationsGap.fulfilled, (state, action) => { - const { notifications } = action.payload; - - // find the gap in the existing notifications - const gapIndex = state.groups.findIndex( - (groupOrGap) => - groupOrGap.type === 'gap' && - groupOrGap.sinceId === action.meta.arg.gap.sinceId && - groupOrGap.maxId === action.meta.arg.gap.maxId, + state.groups = fillNotificationsGap( + state.groups, + action.meta.arg.gap, + action.payload.notifications, ); - - if (gapIndex < 0) - // We do not know where to insert, let's return - return; - - // Filling a disconnection gap means we're getting historical data - // about groups we may know or may not know about. - - // The notifications timeline is split in two by the gap, with - // group information newer than the gap, and group information older - // than the gap. - - // Filling a gap should not touch anything before the gap, so any - // information on groups already appearing before the gap should be - // discarded, while any information on groups appearing after the gap - // can be updated and re-ordered. - - const oldestPageNotification = notifications.at(-1)?.page_min_id; - - // replace the gap with the notifications + a new gap - - const newerGroupKeys = state.groups - .slice(0, gapIndex) - .filter(isNotificationGroup) - .map((group) => group.group_key); - - const toInsert: NotificationGroupsState['groups'] = notifications - .map((json) => createNotificationGroupFromJSON(json)) - .filter( - (notification) => !newerGroupKeys.includes(notification.group_key), - ); - - const apiGroupKeys = (toInsert as NotificationGroup[]).map( - (group) => group.group_key, - ); - - const sinceId = action.meta.arg.gap.sinceId; - if ( - notifications.length > 0 && - !( - oldestPageNotification && - sinceId && - compareId(oldestPageNotification, sinceId) <= 0 - ) - ) { - // If we get an empty page, it means we reached the bottom, so we do not need to insert a new gap - // Similarly, if we've fetched more than the gap's, this means we have completely filled it - toInsert.push({ - type: 'gap', - maxId: notifications.at(-1)?.page_max_id, - sinceId, - } as NotificationGap); - } - - // Remove older groups covered by the API - state.groups = state.groups.filter( - (groupOrGap) => - groupOrGap.type !== 'gap' && - !apiGroupKeys.includes(groupOrGap.group_key), - ); - - // Replace the gap with API results (+ the new gap if needed) - state.groups.splice(gapIndex, 1, ...toInsert); - - // Finally, merge any adjacent gaps that could have been created by filtering - // groups earlier - mergeGaps(state.groups); - state.isLoading = false; updateLastReadId(state); }) - .addCase(processNewNotificationForGroups.fulfilled, (state, action) => { - const notification = action.payload; - processNewNotification( - usePendingItems ? state.pendingGroups : state.groups, - notification, - ); + .addCase(pollRecentNotifications.fulfilled, (state, action) => { + if (usePendingItems) { + const gap = ensureLeadingGap(state.pendingGroups); + state.pendingGroups = fillNotificationsGap( + state.pendingGroups, + gap, + action.payload.notifications, + ); + } else { + const gap = ensureLeadingGap(state.groups); + state.groups = fillNotificationsGap( + state.groups, + gap, + action.payload.notifications, + ); + } + + state.isLoading = false; + updateLastReadId(state); trimNotifications(state); }) + .addCase(processNewNotificationForGroups.fulfilled, (state, action) => { + const notification = action.payload; + if (notification) { + processNewNotification( + usePendingItems ? state.pendingGroups : state.groups, + notification, + ); + updateLastReadId(state); + trimNotifications(state); + } + }) .addCase(disconnectTimeline, (state, action) => { if (action.payload.timeline === 'home') { - if (state.groups.length > 0 && state.groups[0]?.type !== 'gap') { - state.groups.unshift({ + const groups = usePendingItems ? state.pendingGroups : state.groups; + if (groups.length > 0 && groups[0]?.type !== 'gap') { + groups.unshift({ type: 'gap', - sinceId: state.groups[0]?.page_min_id, + sinceId: groups[0]?.page_min_id, }); } } @@ -446,14 +508,15 @@ export const notificationGroupsReducer = createReducer( } } } - trimNotifications(state); }); // Then build the consolidated list and clear pending groups state.groups = state.pendingGroups.concat(state.groups); state.pendingGroups = []; + mergeGaps(state.groups); + trimNotifications(state); }) - .addCase(updateScrollPosition, (state, action) => { + .addCase(updateScrollPosition.fulfilled, (state, action) => { state.scrolledToTop = action.payload.top; updateLastReadId(state); trimNotifications(state); @@ -480,7 +543,7 @@ export const notificationGroupsReducer = createReducer( action.payload.markers.notifications.last_read_id; } }) - .addCase(mountNotifications, (state) => { + .addCase(mountNotifications.fulfilled, (state) => { state.mounted += 1; commitLastReadId(state); updateLastReadId(state); @@ -496,6 +559,10 @@ export const notificationGroupsReducer = createReducer( .addCase(unfocusApp, (state) => { state.isTabVisible = false; }) + .addCase(refreshStaleNotificationGroups.fulfilled, (state, action) => { + if (action.payload.deferredRefresh) + state.mergedNotifications = 'needs-reload'; + }) .addMatcher( isAnyOf(authorizeFollowRequestSuccess, rejectFollowRequestSuccess), (state, action) => { @@ -507,13 +574,21 @@ export const notificationGroupsReducer = createReducer( }, ) .addMatcher( - isAnyOf(fetchNotifications.pending, fetchNotificationsGap.pending), + isAnyOf( + fetchNotifications.pending, + fetchNotificationsGap.pending, + pollRecentNotifications.pending, + ), (state) => { state.isLoading = true; }, ) .addMatcher( - isAnyOf(fetchNotifications.rejected, fetchNotificationsGap.rejected), + isAnyOf( + fetchNotifications.rejected, + fetchNotificationsGap.rejected, + pollRecentNotifications.rejected, + ), (state) => { state.isLoading = false; }, diff --git a/app/javascript/mastodon/reducers/notification_requests.js b/app/javascript/mastodon/reducers/notification_requests.js index 1aaf167fa67..f73c641965a 100644 --- a/app/javascript/mastodon/reducers/notification_requests.js +++ b/app/javascript/mastodon/reducers/notification_requests.js @@ -13,6 +13,8 @@ import { NOTIFICATION_REQUEST_FETCH_FAIL, NOTIFICATION_REQUEST_ACCEPT_REQUEST, NOTIFICATION_REQUEST_DISMISS_REQUEST, + NOTIFICATION_REQUESTS_ACCEPT_REQUEST, + NOTIFICATION_REQUESTS_DISMISS_REQUEST, NOTIFICATIONS_FOR_REQUEST_FETCH_REQUEST, NOTIFICATIONS_FOR_REQUEST_FETCH_SUCCESS, NOTIFICATIONS_FOR_REQUEST_FETCH_FAIL, @@ -83,6 +85,9 @@ export const notificationRequestsReducer = (state = initialState, action) => { case NOTIFICATION_REQUEST_ACCEPT_REQUEST: case NOTIFICATION_REQUEST_DISMISS_REQUEST: return removeRequest(state, action.id); + case NOTIFICATION_REQUESTS_ACCEPT_REQUEST: + case NOTIFICATION_REQUESTS_DISMISS_REQUEST: + return action.ids.reduce((state, id) => removeRequest(state, id), state); case blockAccountSuccess.type: return removeRequestByAccount(state, action.payload.relationship.id); case muteAccountSuccess.type: diff --git a/app/javascript/mastodon/selectors/settings.ts b/app/javascript/mastodon/selectors/settings.ts index 93276c66920..22e7c13b932 100644 --- a/app/javascript/mastodon/selectors/settings.ts +++ b/app/javascript/mastodon/selectors/settings.ts @@ -1,3 +1,4 @@ +import { forceGroupedNotifications } from 'mastodon/initial_state'; import type { RootState } from 'mastodon/store'; /* eslint-disable @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access */ @@ -25,6 +26,10 @@ export const selectSettingsNotificationsQuickFilterAdvanced = ( ) => state.settings.getIn(['notifications', 'quickFilter', 'advanced']) as boolean; +export const selectUseGroupedNotifications = (state: RootState) => + forceGroupedNotifications || + (state.settings.getIn(['notifications', 'groupingBeta']) as boolean); + export const selectSettingsNotificationsShowUnread = (state: RootState) => state.settings.getIn(['notifications', 'showUnread']) as boolean; diff --git a/app/javascript/mastodon/store/middlewares/loading_bar.ts b/app/javascript/mastodon/store/middlewares/loading_bar.ts index d259be899b1..33d99f98526 100644 --- a/app/javascript/mastodon/store/middlewares/loading_bar.ts +++ b/app/javascript/mastodon/store/middlewares/loading_bar.ts @@ -48,8 +48,9 @@ export const loadingBarMiddleware = ( let isRejected = false; if ( - isAsyncThunkAction(action) - // TODO: once we get the first use-case for it, add a check for skipLoading + isAsyncThunkAction(action) && + 'useLoadingBar' in action.meta && + action.meta.useLoadingBar ) { if (isThunkActionPending(action)) isPending = true; else if (isThunkActionFulfilled(action)) isFulfilled = true; diff --git a/app/javascript/mastodon/store/typed_functions.ts b/app/javascript/mastodon/store/typed_functions.ts index cd0f95cef9a..544d6196829 100644 --- a/app/javascript/mastodon/store/typed_functions.ts +++ b/app/javascript/mastodon/store/typed_functions.ts @@ -15,7 +15,7 @@ export interface AsyncThunkRejectValue { } interface AppMeta { - skipLoading?: boolean; + useLoadingBar?: boolean; } export const createAppAsyncThunk = createAsyncThunk.withTypes<{ @@ -34,7 +34,7 @@ interface AppThunkConfig { type AppThunkApi = Pick, 'getState' | 'dispatch'>; interface AppThunkOptions { - skipLoading?: boolean; + useLoadingBar?: boolean; } const createBaseAsyncThunk = createAsyncThunk.withTypes(); @@ -54,15 +54,20 @@ export function createThunk( const result = await creator(arg, { dispatch, getState }); return fulfillWithValue(result, { - skipLoading: options.skipLoading, + useLoadingBar: options.useLoadingBar, }); } catch (error) { - return rejectWithValue({ error }, { skipLoading: true }); + return rejectWithValue( + { error }, + { + useLoadingBar: options.useLoadingBar, + }, + ); } }, { getPendingMeta() { - if (options.skipLoading) return { skipLoading: true }; + if (options.useLoadingBar) return { useLoadingBar: true }; return {}; }, }, @@ -148,7 +153,7 @@ export function createDataLoadingThunk< * You can also omit this parameter and pass `thunkOptions` directly * @param maybeThunkOptions * Additional Mastodon specific options for the thunk. Currently supports: - * - `skipLoading` to avoid showing the loading bar when the request is in progress + * - `useLoadingBar` to display a loading bar while this action is pending. Defaults to true. * @returns The created thunk */ export function createDataLoadingThunk< @@ -198,6 +203,6 @@ export function createDataLoadingThunk< return undefined as Returned; else return result; }, - thunkOptions, + { useLoadingBar: thunkOptions?.useLoadingBar ?? true }, ); } diff --git a/app/javascript/mastodon/utils/log_out.ts b/app/javascript/mastodon/utils/log_out.ts index b08a61a6a28..f8e98f1be96 100644 --- a/app/javascript/mastodon/utils/log_out.ts +++ b/app/javascript/mastodon/utils/log_out.ts @@ -1,36 +1,20 @@ -export const logOut = () => { - const form = document.createElement('form'); +import api from 'mastodon/api'; - const methodInput = document.createElement('input'); - methodInput.setAttribute('name', '_method'); - methodInput.setAttribute('value', 'delete'); - methodInput.setAttribute('type', 'hidden'); - form.appendChild(methodInput); +export async function logOut() { + try { + const response = await api(false).delete<{ redirect_to?: string }>( + '/auth/sign_out', + { headers: { Accept: 'application/json' }, withCredentials: true }, + ); - const csrfToken = document.querySelector( - 'meta[name=csrf-token]', - ); - - const csrfParam = document.querySelector( - 'meta[name=csrf-param]', - ); - - if (csrfParam && csrfToken) { - const csrfInput = document.createElement('input'); - csrfInput.setAttribute('name', csrfParam.content); - csrfInput.setAttribute('value', csrfToken.content); - csrfInput.setAttribute('type', 'hidden'); - form.appendChild(csrfInput); + if (response.status === 200 && response.data.redirect_to) + window.location.href = response.data.redirect_to; + else + console.error( + 'Failed to log out, got an unexpected non-redirect response from the server', + response, + ); + } catch (error) { + console.error('Failed to log out, response was an error', error); } - - const submitButton = document.createElement('input'); - submitButton.setAttribute('type', 'submit'); - form.appendChild(submitButton); - - form.method = 'post'; - form.action = '/auth/sign_out'; - form.style.display = 'none'; - - document.body.appendChild(form); - submitButton.click(); -}; +} diff --git a/app/javascript/material-icons/400-24px/chat.svg b/app/javascript/material-icons/400-24px/chat.svg new file mode 100644 index 00000000000..7369e6f847a --- /dev/null +++ b/app/javascript/material-icons/400-24px/chat.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/check_indeterminate_small-fill.svg b/app/javascript/material-icons/400-24px/check_indeterminate_small-fill.svg new file mode 100644 index 00000000000..d78d33e6567 --- /dev/null +++ b/app/javascript/material-icons/400-24px/check_indeterminate_small-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/check_indeterminate_small.svg b/app/javascript/material-icons/400-24px/check_indeterminate_small.svg new file mode 100644 index 00000000000..d78d33e6567 --- /dev/null +++ b/app/javascript/material-icons/400-24px/check_indeterminate_small.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/desktop_mac.svg b/app/javascript/material-icons/400-24px/desktop_mac.svg new file mode 100644 index 00000000000..5d2a07a3698 --- /dev/null +++ b/app/javascript/material-icons/400-24px/desktop_mac.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/feedback-fill.svg b/app/javascript/material-icons/400-24px/feedback-fill.svg new file mode 100644 index 00000000000..7edf5667b0a --- /dev/null +++ b/app/javascript/material-icons/400-24px/feedback-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/feedback.svg b/app/javascript/material-icons/400-24px/feedback.svg new file mode 100644 index 00000000000..b001b512c53 --- /dev/null +++ b/app/javascript/material-icons/400-24px/feedback.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/format_paragraph.svg b/app/javascript/material-icons/400-24px/format_paragraph.svg new file mode 100644 index 00000000000..657b483c00c --- /dev/null +++ b/app/javascript/material-icons/400-24px/format_paragraph.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/key.svg b/app/javascript/material-icons/400-24px/key.svg new file mode 100644 index 00000000000..bba7f1de9d5 --- /dev/null +++ b/app/javascript/material-icons/400-24px/key.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/smartphone.svg b/app/javascript/material-icons/400-24px/smartphone.svg new file mode 100644 index 00000000000..fa56825488f --- /dev/null +++ b/app/javascript/material-icons/400-24px/smartphone.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/tablet.svg b/app/javascript/material-icons/400-24px/tablet.svg new file mode 100644 index 00000000000..09a5fe6bb1a --- /dev/null +++ b/app/javascript/material-icons/400-24px/tablet.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/toggle_off.svg b/app/javascript/material-icons/400-24px/toggle_off.svg new file mode 100644 index 00000000000..dcef49f69c1 --- /dev/null +++ b/app/javascript/material-icons/400-24px/toggle_off.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/toggle_on.svg b/app/javascript/material-icons/400-24px/toggle_on.svg new file mode 100644 index 00000000000..943b6e6d332 --- /dev/null +++ b/app/javascript/material-icons/400-24px/toggle_on.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/app/javascript/styles/contrast/variables.scss b/app/javascript/styles/contrast/variables.scss index e38d24b271c..766591ba408 100644 --- a/app/javascript/styles/contrast/variables.scss +++ b/app/javascript/styles/contrast/variables.scss @@ -1,10 +1,10 @@ // Dependent colors $black: #000000; -$classic-base-color: #282c37; -$classic-primary-color: #9baec8; -$classic-secondary-color: #d9e1e8; -$classic-highlight-color: #6364ff; +$classic-base-color: hsl(240deg, 16%, 19%); +$classic-primary-color: hsl(240deg, 29%, 70%); +$classic-secondary-color: hsl(255deg, 25%, 88%); +$classic-highlight-color: hsl(240deg, 100%, 69%); $ui-base-color: $classic-base-color !default; $ui-primary-color: $classic-primary-color !default; diff --git a/app/javascript/styles/mastodon-light/diff.scss b/app/javascript/styles/mastodon-light/diff.scss index 1f282605edc..1df556b42a4 100644 --- a/app/javascript/styles/mastodon-light/diff.scss +++ b/app/javascript/styles/mastodon-light/diff.scss @@ -1,10 +1,6 @@ // Notes! // Sass color functions, "darken" and "lighten" are automatically replaced. -html { - scrollbar-color: $ui-base-color rgba($ui-base-color, 0.25); -} - .simple_form .button.button-tertiary { color: $highlight-text-color; } @@ -52,10 +48,6 @@ html { color: darken($action-button-color, 25%); } -.account__header__bar .avatar .account__avatar { - border-color: $white; -} - .getting-started__footer a { color: $ui-secondary-color; text-decoration: underline; @@ -422,9 +414,6 @@ html { border-color: transparent transparent $white; } -.hero-widget, -.moved-account-widget, -.memoriam-widget, .activity-stream, .nothing-here, .directory__tag > a, @@ -559,3 +548,20 @@ a.sparkline { .report-dialog-modal__textarea { background: darken($ui-base-color, 10%); } + +.autosuggest-account { + .display-name__account { + color: $dark-text-color; + } +} + +@supports not selector(::-webkit-scrollbar) { + html { + scrollbar-color: rgba($action-button-color, 0.25) + var(--background-border-color); + } +} + +::-webkit-scrollbar-thumb { + opacity: 0.25; +} diff --git a/app/javascript/styles/mastodon-light/variables.scss b/app/javascript/styles/mastodon-light/variables.scss index 9d4fd60945a..76ede262331 100644 --- a/app/javascript/styles/mastodon-light/variables.scss +++ b/app/javascript/styles/mastodon-light/variables.scss @@ -2,25 +2,25 @@ $black: #000000; $white: #ffffff; -$classic-base-color: #282c37; -$classic-primary-color: #9baec8; -$classic-secondary-color: #d9e1e8; -$classic-highlight-color: #6364ff; +$classic-base-color: hsl(240deg, 16%, 19%); +$classic-primary-color: hsl(240deg, 29%, 70%); +$classic-secondary-color: hsl(255deg, 25%, 88%); +$classic-highlight-color: hsl(240deg, 100%, 69%); -$blurple-600: #563acc; // Iris -$blurple-500: #6364ff; // Brand purple -$blurple-300: #858afa; // Faded Blue -$grey-600: #4e4c5a; // Trout -$grey-100: #dadaf3; // Topaz +$blurple-600: hsl(252deg, 59%, 51%); // Iris +$blurple-500: hsl(240deg, 100%, 69%); // Brand purple +$blurple-300: hsl(237deg, 92%, 75%); // Faded Blue +$grey-600: hsl(240deg, 8%, 33%); // Trout +$grey-100: hsl(240deg, 51%, 90%); // Topaz // Differences -$success-green: lighten(#3c754d, 8%); +$success-green: lighten(hsl(138deg, 32%, 35%), 8%); $base-overlay-background: $white !default; $valid-value-color: $success-green !default; $ui-base-color: $classic-secondary-color !default; -$ui-base-lighter-color: #b0c0cf; +$ui-base-lighter-color: hsl(250deg, 24%, 75%); $ui-primary-color: $classic-primary-color !default; $ui-secondary-color: $classic-base-color !default; $ui-highlight-color: $classic-highlight-color !default; @@ -35,12 +35,12 @@ $ui-button-tertiary-border-color: $blurple-500 !default; $primary-text-color: $black !default; $darker-text-color: $classic-base-color !default; $highlight-text-color: $ui-highlight-color !default; -$dark-text-color: #444b5d; -$action-button-color: #606984; +$dark-text-color: hsl(240deg, 16%, 32%); +$action-button-color: hsl(240deg, 16%, 45%); $inverted-text-color: $black !default; $lighter-text-color: $classic-base-color !default; -$light-text-color: #444b5d; +$light-text-color: hsl(240deg, 16%, 32%); // Newly added colors $account-background-color: $white !default; @@ -57,12 +57,13 @@ $account-background-color: $white !default; $emojis-requiring-inversion: 'chains'; body { - --dropdown-border-color: #d9e1e8; + --dropdown-border-color: hsl(240deg, 25%, 88%); --dropdown-background-color: #fff; - --modal-border-color: #d9e1e8; + --modal-border-color: hsl(240deg, 25%, 88%); --modal-background-color: var(--background-color-tint); - --background-border-color: #d9e1e8; + --background-border-color: hsl(240deg, 25%, 88%); --background-color: #fff; --background-color-tint: rgba(255, 255, 255, 80%); --background-filter: blur(10px); + --on-surface-color: #{transparentize($ui-base-color, 0.65)}; } diff --git a/app/javascript/styles/mastodon/accounts.scss b/app/javascript/styles/mastodon/accounts.scss index 894332acb58..c769c88f75a 100644 --- a/app/javascript/styles/mastodon/accounts.scss +++ b/app/javascript/styles/mastodon/accounts.scss @@ -66,7 +66,7 @@ margin-inline-start: 15px; text-align: start; - i[data-hidden] { + svg[data-hidden] { display: none; } @@ -130,21 +130,11 @@ .older { float: left; padding-inline-start: 0; - - .fa { - display: inline-block; - margin-inline-end: 5px; - } } .newer { float: right; padding-inline-end: 0; - - .fa { - display: inline-block; - margin-inline-start: 5px; - } } .disabled { diff --git a/app/javascript/styles/mastodon/admin.scss b/app/javascript/styles/mastodon/admin.scss index 045a435de27..120bad27ed9 100644 --- a/app/javascript/styles/mastodon/admin.scss +++ b/app/javascript/styles/mastodon/admin.scss @@ -65,16 +65,16 @@ $content-width: 840px; background: $ui-base-color; } - .fa-times { + .material-close { display: none; } &.active { - .fa-times { + .material-close { display: block; } - .fa-bars { + .material-menu { display: none; } } @@ -122,10 +122,6 @@ $content-width: 840px; overflow: hidden; text-overflow: ellipsis; - i.fa { - margin-inline-end: 5px; - } - &:hover { color: $primary-text-color; transition: all 100ms linear; @@ -248,6 +244,11 @@ $content-width: 840px; display: inline-flex; flex-flow: wrap; gap: 5px; + align-items: center; + + .time-period { + padding: 0 10px; + } } h2 small { @@ -306,10 +307,6 @@ $content-width: 840px; box-shadow: none; } - .directory__tag .table-action-link .fa { - color: inherit; - } - .directory__tag h4 { font-size: 18px; font-weight: 700; @@ -697,7 +694,7 @@ body, top: 15px; .avatar { - border-radius: 4px; + border-radius: var(--avatar-border-radius); width: 40px; height: 40px; } @@ -748,7 +745,7 @@ body, top: 15px; .avatar { - border-radius: 4px; + border-radius: var(--avatar-border-radius); width: 40px; height: 40px; } @@ -872,6 +869,7 @@ a.name-tag, .account { padding: 0; + border: none; &__avatar-wrapper { margin-inline-start: 0; @@ -1595,7 +1593,7 @@ a.sparkline { position: absolute; inset-inline-start: 15px; top: 15px; - border-radius: 4px; + border-radius: var(--avatar-border-radius); width: 40px; height: 40px; } diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 0fec52f3753..0b0cbbfa84f 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -426,10 +426,17 @@ body > [data-popper-placement] { &:hover, &:focus, - &:active, + &:active { + background: var(--dropdown-border-color); + + .autosuggest-account .display-name__account { + color: inherit; + } + } + &.selected { background: $ui-highlight-color; - color: $primary-text-color; + color: $ui-button-color; .autosuggest-account .display-name__account { color: inherit; @@ -465,7 +472,7 @@ body > [data-popper-placement] { display: block; line-height: 16px; font-size: 12px; - color: $dark-text-color; + color: $ui-primary-color; } } @@ -613,7 +620,7 @@ body > [data-popper-placement] { .spoiler-input__input { padding: 12px 12px - 5px; - background: mix($ui-base-color, $ui-highlight-color, 85%); + background: rgba($ui-highlight-color, 0.05); color: $highlight-text-color; } @@ -755,16 +762,6 @@ body > [data-popper-placement] { gap: 12px; flex-wrap: wrap; - .button { - display: block; // Otherwise text-ellipsis doesn't work - font-size: 14px; - line-height: normal; - font-weight: 700; - flex: 1 1 auto; - padding: 5px 12px; - border-radius: 4px; - } - .icon-button { box-sizing: content-box; color: $highlight-text-color; @@ -1386,6 +1383,14 @@ body > [data-popper-placement] { } } + .content-warning { + margin-bottom: 10px; + + &:last-child { + margin-bottom: 0; + } + } + .media-gallery, .video-player, .audio-player, @@ -1444,7 +1449,9 @@ body > [data-popper-placement] { .picture-in-picture-placeholder, .more-from-author, .status-card, - .hashtag-bar { + .hashtag-bar, + .content-warning, + .filter-warning { margin-inline-start: $thread-margin; width: calc(100% - $thread-margin); } @@ -1693,6 +1700,14 @@ body > [data-popper-placement] { padding: 0; margin-bottom: 16px; } + + .content-warning { + margin-bottom: 16px; + + &:last-child { + margin-bottom: 0; + } + } } .scrollable > div:first-child .detailed-status { @@ -1801,6 +1816,7 @@ body > [data-popper-placement] { .account { padding: 16px; + border-bottom: 1px solid var(--background-border-color); .account__display-name { flex: 1 1 auto; @@ -1989,13 +2005,14 @@ body > [data-popper-placement] { .account__avatar { display: block; position: relative; + border-radius: var(--avatar-border-radius); img { display: block; width: 100%; height: 100%; object-fit: cover; - border-radius: 4px; + border-radius: var(--avatar-border-radius); } &-inline { @@ -2829,7 +2846,7 @@ $ui-header-logo-wordmark-width: 99px; overflow: hidden; } -@media screen and (width >= 631px) { +@media screen and (width > $mobile-breakpoint) { .columns-area { padding: 0; } @@ -2892,10 +2909,6 @@ $ui-header-logo-wordmark-width: 99px; padding-inline-end: 30px; } - .search__icon .fa { - top: 15px; - } - .scrollable { overflow: visible; @@ -3427,26 +3440,6 @@ $ui-header-logo-wordmark-width: 99px; height: calc(100% - 10px); overflow-y: hidden; - .hero-widget { - box-shadow: none; - - &__text, - &__img, - &__img img { - border-radius: 0; - } - - &__text { - padding: 15px; - color: $secondary-text-color; - - strong { - font-weight: 700; - color: $primary-text-color; - } - } - } - .compose-form { flex: 1 1 auto; min-height: 0; @@ -4208,7 +4201,7 @@ a.status-card { text-decoration: none; &:hover { - background: lighten($ui-base-color, 2%); + background: var(--on-surface-color); } } @@ -4218,11 +4211,12 @@ a.status-card { .timeline-hint { text-align: center; - color: $darker-text-color; - padding: 15px; + color: $dark-text-color; + padding: 16px; box-sizing: border-box; width: 100%; - cursor: default; + font-size: 14px; + line-height: 21px; strong { font-weight: 500; @@ -4239,6 +4233,10 @@ a.status-card { color: lighten($highlight-text-color, 4%); } } + + &--with-descendants { + border-top: 1px solid var(--background-border-color); + } } .regeneration-indicator { @@ -4320,6 +4318,35 @@ a.status-card { } } +.column-header__select-row { + border-width: 0 1px 1px; + border-style: solid; + border-color: var(--background-border-color); + padding: 15px; + display: flex; + align-items: center; + gap: 8px; + + &__checkbox .check-box { + display: flex; + } + + &__select-menu:disabled { + visibility: hidden; + } + + &__mode-button { + margin-left: auto; + color: $highlight-text-color; + font-weight: bold; + font-size: 14px; + + &:hover { + color: lighten($highlight-text-color, 6%); + } + } +} + .column-header { display: flex; font-size: 16px; @@ -4461,10 +4488,19 @@ a.status-card { opacity: 1; z-index: 1; position: relative; + border-left: 1px solid var(--background-border-color); + border-right: 1px solid var(--background-border-color); + border-bottom: 1px solid var(--background-border-color); + + @media screen and (max-width: $no-gap-breakpoint) { + border-left: 0; + border-right: 0; + } &.collapsed { max-height: 0; opacity: 0.5; + border-bottom: 0; } &.animating { @@ -4481,13 +4517,7 @@ a.status-card { } .column-header__collapsible-inner { - border: 1px solid var(--background-border-color); border-top: 0; - - @media screen and (max-width: $no-gap-breakpoint) { - border-left: 0; - border-right: 0; - } } .column-header__setting-btn { @@ -4520,6 +4550,7 @@ a.status-card { padding: 0; font-family: inherit; font-size: inherit; + font-weight: inherit; color: inherit; border: 0; background: transparent; @@ -5694,7 +5725,7 @@ a.status-card { user-select: text; display: flex; - @media screen and (width <= 630px) { + @media screen and (width <= $mobile-breakpoint) { margin-top: auto; } } @@ -6053,7 +6084,7 @@ a.status-card { border-radius: 0 0 16px 16px; border-top: 0; - @media screen and (max-width: $no-gap-breakpoint) { + @media screen and (max-width: $mobile-breakpoint) { border-radius: 0; border-bottom: 0; padding-bottom: 32px; @@ -6111,6 +6142,48 @@ a.status-card { } } + &__status { + border: 1px solid var(--modal-border-color); + border-radius: 8px; + padding: 8px; + cursor: pointer; + + &__account { + display: flex; + align-items: center; + gap: 4px; + margin-bottom: 8px; + color: $dark-text-color; + + bdi { + color: inherit; + } + } + + &__content { + display: -webkit-box; + font-size: 15px; + line-height: 22px; + color: $dark-text-color; + -webkit-line-clamp: 4; + -webkit-box-orient: vertical; + max-height: 4 * 22px; + overflow: hidden; + + p, + a { + color: inherit; + } + } + + .reply-indicator__attachments { + margin-top: 0; + font-size: 15px; + line-height: 22px; + color: $dark-text-color; + } + } + &__bullet-points { display: flex; flex-direction: column; @@ -6188,6 +6261,12 @@ a.status-card { gap: 8px; justify-content: flex-end; + &__hint { + font-size: 14px; + line-height: 20px; + color: $dark-text-color; + } + .link-button { padding: 10px 12px; font-weight: 600; @@ -6195,6 +6274,18 @@ a.status-card { } } +.hotkey-combination { + display: inline-flex; + align-items: center; + gap: 4px; + + kbd { + padding: 3px 5px; + border: 1px solid var(--background-border-color); + border-radius: 4px; + } +} + .boost-modal, .report-modal, .actions-modal, @@ -6210,7 +6301,7 @@ a.status-card { } .boost-modal__container { - overflow-x: scroll; + overflow-y: auto; padding: 10px; .status { @@ -7326,9 +7417,18 @@ a.status-card { } .scrollable .account-card__title__avatar { - img, + img { + border: 2px solid var(--background-color); + } + .account__avatar { - border-color: lighten($ui-base-color, 8%); + border: none; + } +} + +.scrollable .account-card__header { + img { + border-radius: 4px; } } @@ -7467,20 +7567,9 @@ a.status-card { flex: 0 0 auto; border-radius: 50%; - &.checked { + &.checked, + &.indeterminate { border-color: $ui-highlight-color; - - &::before { - position: absolute; - left: 2px; - top: 2px; - content: ''; - display: block; - border-radius: 50%; - width: 12px; - height: 12px; - background: $ui-highlight-color; - } } .icon { @@ -7490,27 +7579,32 @@ a.status-card { } } +.radio-button.checked::before { + position: absolute; + left: 2px; + top: 2px; + content: ''; + display: block; + border-radius: 50%; + width: 12px; + height: 12px; + background: $ui-highlight-color; +} + .check-box { &__input { width: 18px; height: 18px; border-radius: 2px; - &.checked { + &.checked, + &.indeterminate { background: $ui-highlight-color; color: $white; - - &::before { - display: none; - } } } } -::-webkit-scrollbar-thumb { - border-radius: 0; -} - noscript { text-align: center; @@ -7935,7 +8029,8 @@ noscript { .account__avatar { background: var(--background-color); - border: 2px solid var(--background-border-color); + border: 1px solid var(--background-border-color); + border-radius: var(--avatar-border-radius); } } } @@ -9056,8 +9151,9 @@ noscript { backdrop-filter: var(--background-filter); border: 1px solid var(--modal-border-color); padding: 24px; + box-sizing: border-box; - @media screen and (max-width: $no-gap-breakpoint) { + @media screen and (max-width: $mobile-breakpoint) { border-radius: 16px 16px 0 0; border-bottom: 0; padding-bottom: 32px; @@ -10223,12 +10319,28 @@ noscript { } .notification-request { + $padding: 15px; + display: flex; - align-items: center; - gap: 16px; - padding: 15px; + padding: $padding; + gap: 8px; + position: relative; border-bottom: 1px solid var(--background-border-color); + &__checkbox { + position: absolute; + inset-inline-start: $padding; + top: 50%; + transform: translateY(-50%); + width: 0; + overflow: hidden; + opacity: 0; + + .check-box { + display: flex; + } + } + &__link { display: flex; align-items: center; @@ -10286,6 +10398,31 @@ noscript { padding: 5px; } } + + .notification-request__link { + transition: padding-inline-start 0.1s ease-in-out; + } + + &--forced-checkbox { + cursor: pointer; + + &:hover { + background: var(--on-surface-color); + } + + .notification-request__checkbox { + opacity: 1; + width: 30px; + } + + .notification-request__link { + padding-inline-start: 30px; + } + + .notification-request__actions { + display: none; + } + } } .more-from-author { @@ -10390,6 +10527,13 @@ noscript { gap: 8px; flex: 1 1 auto; overflow: hidden; + container-type: inline-size; + + @container (width < 350px) { + &__header time { + display: none; + } + } &__header { display: flex; @@ -10429,6 +10573,13 @@ noscript { border-radius: 8px; padding: 8px; } + + &__additional-content { + color: $dark-text-color; + margin-top: -8px; // to offset the parent's `gap` property + font-size: 15px; + line-height: 22px; + } } &__avatar-group { @@ -10445,39 +10596,67 @@ noscript { } &__embedded-status { + display: flex; + flex-direction: column; + gap: 8px; cursor: pointer; &__account { display: flex; align-items: center; gap: 4px; - margin-bottom: 8px; color: $dark-text-color; + font-size: 15px; + line-height: 22px; bdi { - color: inherit; + color: $darker-text-color; } } - .account__avatar { - opacity: 0.5; - } - &__content { display: -webkit-box; font-size: 15px; line-height: 22px; - color: $dark-text-color; + color: $darker-text-color; -webkit-line-clamp: 4; -webkit-box-orient: vertical; max-height: 4 * 22px; overflow: hidden; + p { + display: none; + + &:first-child { + display: initial; + } + } + p, a { color: inherit; } } + + .reply-indicator__attachments { + margin-top: 0; + font-size: 15px; + line-height: 22px; + color: $dark-text-color; + } + } +} + +.notification-group__actions, +.compose-form__actions { + .button { + display: block; // Otherwise text-ellipsis doesn't work + font-size: 14px; + line-height: normal; + font-weight: 700; + flex: 1 1 auto; + padding: 5px 12px; + border-radius: 4px; } } @@ -10539,7 +10718,9 @@ noscript { .picture-in-picture-placeholder, .more-from-author, .status-card, - .hashtag-bar { + .hashtag-bar, + .content-warning, + .filter-warning { margin-inline-start: $icon-margin; width: calc(100% - $icon-margin); } @@ -10747,3 +10928,53 @@ noscript { } } } + +.content-warning { + background: rgba($ui-highlight-color, 0.05); + color: $secondary-text-color; + border-top: 1px solid; + border-bottom: 1px solid; + border-color: rgba($ui-highlight-color, 0.15); + padding: 8px (5px + 8px); + position: relative; + font-size: 15px; + line-height: 22px; + + p { + margin-bottom: 8px; + } + + .link-button { + font-size: inherit; + line-height: inherit; + font-weight: 500; + } + + &::before, + &::after { + content: ''; + display: block; + position: absolute; + height: 100%; + background: url('../images/warning-stripes.svg') repeat-y; + width: 5px; + top: 0; + } + + &::before { + border-start-start-radius: 4px; + border-end-start-radius: 4px; + inset-inline-start: 0; + } + + &::after { + border-start-end-radius: 4px; + border-end-end-radius: 4px; + inset-inline-end: 0; + } + + &--filter::before, + &--filter::after { + background-image: url('../images/filter-stripes.svg'); + } +} diff --git a/app/javascript/styles/mastodon/containers.scss b/app/javascript/styles/mastodon/containers.scss index 9363e428b38..ac1f862a099 100644 --- a/app/javascript/styles/mastodon/containers.scss +++ b/app/javascript/styles/mastodon/containers.scss @@ -81,7 +81,7 @@ height: 100%; display: block; margin: 0; - border-radius: 4px; + border-radius: var(--avatar-border-radius); } } diff --git a/app/javascript/styles/mastodon/dashboard.scss b/app/javascript/styles/mastodon/dashboard.scss index 12d0a6b92f9..1621220ccb5 100644 --- a/app/javascript/styles/mastodon/dashboard.scss +++ b/app/javascript/styles/mastodon/dashboard.scss @@ -113,10 +113,6 @@ flex: 1 1 auto; } - .fa { - flex: 0 0 auto; - } - strong { font-weight: 700; } diff --git a/app/javascript/styles/mastodon/forms.scss b/app/javascript/styles/mastodon/forms.scss index 971e78f76f5..926df4e96fc 100644 --- a/app/javascript/styles/mastodon/forms.scss +++ b/app/javascript/styles/mastodon/forms.scss @@ -290,6 +290,10 @@ code { flex: 0; } + .input.select.select--languages { + min-width: 32ch; + } + .required abbr { text-decoration: none; color: lighten($error-value-color, 12%); @@ -308,7 +312,7 @@ code { margin-bottom: 10px; max-width: 100%; height: auto; - border-radius: 4px; + border-radius: var(--avatar-border-radius); background: url('images/void.png'); &[src$='missing.png'] { @@ -926,10 +930,6 @@ code { font-weight: 700; } } - - .fa { - font-weight: 400; - } } } } diff --git a/app/javascript/styles/mastodon/reset.scss b/app/javascript/styles/mastodon/reset.scss index 903b6c804fc..5a4152826d9 100644 --- a/app/javascript/styles/mastodon/reset.scss +++ b/app/javascript/styles/mastodon/reset.scss @@ -53,6 +53,31 @@ table { border-spacing: 0; } -html { - scrollbar-color: lighten($ui-base-color, 4%) rgba($base-overlay-background, 0.1); +@supports not selector(::-webkit-scrollbar) { + html { + scrollbar-color: $action-button-color var(--background-border-color); + scrollbar-width: thin; + } +} + +::-webkit-scrollbar { + width: 8px; + height: 8px; +} + +::-webkit-scrollbar-thumb { + background-color: $action-button-color; + border: 2px var(--background-border-color); + border-radius: 12px; + width: 6px; + box-shadow: inset 0 0 0 2px var(--background-border-color); +} + +::-webkit-scrollbar-track { + background-color: var(--background-border-color); + border-radius: 0px; +} + +::-webkit-scrollbar-corner { + background: transparent; } diff --git a/app/javascript/styles/mastodon/rtl.scss b/app/javascript/styles/mastodon/rtl.scss index 07fe96fc3ad..e4e299ff82d 100644 --- a/app/javascript/styles/mastodon/rtl.scss +++ b/app/javascript/styles/mastodon/rtl.scss @@ -41,14 +41,6 @@ body.rtl { no-repeat left 8px center / auto 16px; } - .fa-chevron-left::before { - content: '\F054'; - } - - .fa-chevron-right::before { - content: '\F053'; - } - .dismissable-banner, .warning-banner { &__action { diff --git a/app/javascript/styles/mastodon/tables.scss b/app/javascript/styles/mastodon/tables.scss index 4997ed9b847..2becd85bc66 100644 --- a/app/javascript/styles/mastodon/tables.scss +++ b/app/javascript/styles/mastodon/tables.scss @@ -142,11 +142,6 @@ a.table-action-link { color: $highlight-text-color; } - i.fa { - font-weight: 400; - margin-inline-end: 5px; - } - &:first-child { padding-inline-start: 0; } diff --git a/app/javascript/styles/mastodon/variables.scss b/app/javascript/styles/mastodon/variables.scss index 2848a42b3fe..c477e7a750c 100644 --- a/app/javascript/styles/mastodon/variables.scss +++ b/app/javascript/styles/mastodon/variables.scss @@ -7,8 +7,8 @@ $blurple-600: #563acc; // Iris $blurple-500: #6364ff; // Brand purple $blurple-400: #7477fd; // Medium slate blue $blurple-300: #858afa; // Faded Blue -$grey-600: #4e4c5a; // Trout -$grey-100: #dadaf3; // Topaz +$grey-600: hsl(240deg, 8%, 33%); // Trout +$grey-100: hsl(240deg, 51%, 90%); // Topaz $success-green: #79bd9a !default; // Padua $error-red: $red-500 !default; // Cerise @@ -18,10 +18,10 @@ $gold-star: #ca8f04 !default; // Dark Goldenrod $red-bookmark: $warning-red; // Values from the classic Mastodon UI -$classic-base-color: #282c37; // Midnight Express -$classic-primary-color: #9baec8; // Echo Blue -$classic-secondary-color: #d9e1e8; // Pattens Blue -$classic-highlight-color: #6364ff; // Brand purple +$classic-base-color: hsl(240deg, 16%, 19%); +$classic-primary-color: hsl(240deg, 29%, 70%); +$classic-secondary-color: hsl(255deg, 25%, 88%); +$classic-highlight-color: $blurple-500; // Variables for defaults in UI $base-shadow-color: $black !default; @@ -88,6 +88,7 @@ $media-modal-media-max-width: 100%; $media-modal-media-max-height: 80%; $no-gap-breakpoint: 1175px; +$mobile-breakpoint: 630px; $font-sans-serif: 'mastodon-font-sans-serif' !default; $font-display: 'mastodon-font-display' !default; @@ -108,4 +109,6 @@ $font-monospace: 'mastodon-font-monospace' !default; --surface-background-color: #{darken($ui-base-color, 4%)}; --surface-variant-background-color: #{$ui-base-color}; --surface-variant-active-background-color: #{lighten($ui-base-color, 4%)}; + --on-surface-color: #{transparentize($ui-base-color, 0.5)}; + --avatar-border-radius: 8px; } diff --git a/app/javascript/styles/mastodon/widgets.scss b/app/javascript/styles/mastodon/widgets.scss index da7d68ce8db..d810ee4bfc7 100644 --- a/app/javascript/styles/mastodon/widgets.scss +++ b/app/javascript/styles/mastodon/widgets.scss @@ -1,213 +1,4 @@ -@use 'sass:math'; - -.hero-widget { - margin-bottom: 10px; - box-shadow: 0 0 15px rgba($base-shadow-color, 0.2); - - &:last-child { - margin-bottom: 0; - } - - &__img { - width: 100%; - position: relative; - overflow: hidden; - border-radius: 4px 4px 0 0; - background: $base-shadow-color; - - img { - object-fit: cover; - display: block; - width: 100%; - height: 100%; - margin: 0; - border-radius: 4px 4px 0 0; - } - } - - &__text { - background: $ui-base-color; - padding: 20px; - border-radius: 0 0 4px 4px; - font-size: 15px; - color: $darker-text-color; - line-height: 20px; - word-wrap: break-word; - font-weight: 400; - - .emojione { - width: 20px; - height: 20px; - margin: -3px 0 0; - margin-inline-start: 0.075em; - margin-inline-end: 0.075em; - } - - p { - margin-bottom: 20px; - - &:last-child { - margin-bottom: 0; - } - } - - em { - display: inline; - margin: 0; - padding: 0; - font-weight: 700; - background: transparent; - font-family: inherit; - font-size: inherit; - line-height: inherit; - color: lighten($darker-text-color, 10%); - } - - a { - color: $secondary-text-color; - text-decoration: none; - - &:hover { - text-decoration: underline; - } - } - } - - @media screen and (max-width: $no-gap-breakpoint) { - display: none; - } -} - -.endorsements-widget { - margin-bottom: 10px; - padding-bottom: 10px; - - h4 { - padding: 10px; - text-transform: uppercase; - font-weight: 700; - font-size: 13px; - color: $darker-text-color; - } - - .account { - padding: 10px 0; - - &:last-child { - border-bottom: 0; - } - - .account__display-name { - display: flex; - align-items: center; - } - } - - .trends__item { - padding: 10px; - } -} - -.trends-widget { - h4 { - color: $darker-text-color; - } -} - -.placeholder-widget { - padding: 16px; - border-radius: 4px; - border: 2px dashed $dark-text-color; - text-align: center; - color: $darker-text-color; - margin-bottom: 10px; -} - -.moved-account-widget { - padding: 15px; - padding-bottom: 20px; - border-radius: 4px; - background: $ui-base-color; - box-shadow: 0 0 15px rgba($base-shadow-color, 0.2); - color: $secondary-text-color; - font-weight: 400; - margin-bottom: 10px; - - strong, - a { - font-weight: 500; - - @each $lang in $cjk-langs { - &:lang(#{$lang}) { - font-weight: 700; - } - } - } - - a { - color: inherit; - text-decoration: underline; - - &.mention { - text-decoration: none; - - span { - text-decoration: none; - } - - &:focus, - &:hover, - &:active { - text-decoration: none; - - span { - text-decoration: underline; - } - } - } - } - - &__message { - margin-bottom: 15px; - - .fa { - margin-inline-end: 5px; - color: $darker-text-color; - } - } - - &__card { - .detailed-status__display-avatar { - position: relative; - cursor: pointer; - } - - .detailed-status__display-name { - margin-bottom: 0; - text-decoration: none; - - span { - font-weight: 400; - } - } - } -} - -.memoriam-widget { - padding: 20px; - border-radius: 4px; - background: $base-shadow-color; - box-shadow: 0 0 15px rgba($base-shadow-color, 0.2); - font-size: 14px; - color: $darker-text-color; - margin-bottom: 10px; -} - .directory { - background: var(--background-color); - border-radius: 4px; - box-shadow: 0 0 15px rgba($base-shadow-color, 0.2); - &__tag { box-sizing: border-box; margin-bottom: 10px; @@ -366,9 +157,7 @@ padding-inline-end: 16px; } - .fa { - font-size: 16px; - + .icon { &.active { color: $highlight-text-color; } @@ -388,27 +177,3 @@ } } } - -.moved-account-widget, -.memoriam-widget, -.directory { - @media screen and (max-width: $no-gap-breakpoint) { - margin-bottom: 0; - box-shadow: none; - border-radius: 0; - } -} - -.placeholder-widget { - a { - text-decoration: none; - font-weight: 500; - color: $ui-highlight-color; - - &:hover, - &:focus, - &:active { - text-decoration: underline; - } - } -} diff --git a/app/lib/themes.rb b/app/lib/themes.rb index 183258d62f8..8b68c92e450 100644 --- a/app/lib/themes.rb +++ b/app/lib/themes.rb @@ -7,7 +7,7 @@ class Themes include Singleton THEME_COLORS = { - dark: '#191b22', + dark: '#181820', light: '#ffffff', }.freeze diff --git a/app/models/account.rb b/app/models/account.rb index 23ff07c7696..482eaa4aba9 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -144,6 +144,7 @@ class Account < ApplicationRecord scope :dormant, -> { joins(:account_stat).merge(AccountStat.without_recent_activity) } scope :with_username, ->(value) { where arel_table[:username].lower.eq(value.to_s.downcase) } scope :with_domain, ->(value) { where arel_table[:domain].lower.eq(value&.to_s&.downcase) } + scope :without_memorial, -> { where(memorial: false) } after_update_commit :trigger_update_webhooks diff --git a/app/models/account_suggestions/friends_of_friends_source.rb b/app/models/account_suggestions/friends_of_friends_source.rb index 825b24f4198..707c6ccaec2 100644 --- a/app/models/account_suggestions/friends_of_friends_source.rb +++ b/app/models/account_suggestions/friends_of_friends_source.rb @@ -31,6 +31,7 @@ class AccountSuggestions::FriendsOfFriendsSource < AccountSuggestions::Source AND accounts.suspended_at IS NULL AND accounts.silenced_at IS NULL AND accounts.moved_to_account_id IS NULL + AND accounts.memorial = FALSE AND follow_recommendation_mutes.target_account_id IS NULL GROUP BY accounts.id, account_stats.id ORDER BY frequency DESC, account_stats.followers_count ASC diff --git a/app/models/account_suggestions/source.rb b/app/models/account_suggestions/source.rb index 7afc4c80edd..9ae6bbbcc95 100644 --- a/app/models/account_suggestions/source.rb +++ b/app/models/account_suggestions/source.rb @@ -14,6 +14,7 @@ class AccountSuggestions::Source .searchable .where(discoverable: true) .without_silenced + .without_memorial .where.not(follows_sql, id: account.id) .where.not(follow_requests_sql, id: account.id) .not_excluded_by_account(account) diff --git a/app/models/media_attachment.rb b/app/models/media_attachment.rb index a9470e1ad20..6708cd7793d 100644 --- a/app/models/media_attachment.rb +++ b/app/models/media_attachment.rb @@ -422,7 +422,7 @@ class MediaAttachment < ApplicationRecord attachment = public_send(attachment_name) styles = DEFAULT_STYLES | attachment.styles.keys styles.map { |style| attachment.path(style) } - end + end.compact rescue => e # We really don't want any error here preventing media deletion Rails.logger.warn "Error #{e.class} busting cache: #{e.message}" diff --git a/app/models/notification.rb b/app/models/notification.rb index f1605f0347a..ae7c782bedf 100644 --- a/app/models/notification.rb +++ b/app/models/notification.rb @@ -180,8 +180,8 @@ class Notification < ApplicationRecord # Notifications that have no `group_key` each count as a separate group. def paginate_groups_by_max_id(limit, max_id: nil, since_id: nil) query = reorder(id: :desc) - query = query.where(id: ...max_id) if max_id.present? - query = query.where(id: (since_id + 1)...) if since_id.present? + query = query.where(id: ...(max_id.to_i)) if max_id.present? + query = query.where(id: (since_id.to_i + 1)...) if since_id.present? query.paginate_groups(limit, :desc) end @@ -190,8 +190,8 @@ class Notification < ApplicationRecord # Results will be in ascending order by id. def paginate_groups_by_min_id(limit, max_id: nil, min_id: nil) query = reorder(id: :asc) - query = query.where(id: (min_id + 1)...) if min_id.present? - query = query.where(id: ...max_id) if max_id.present? + query = query.where(id: (min_id.to_i + 1)...) if min_id.present? + query = query.where(id: ...(max_id.to_i)) if max_id.present? query.paginate_groups(limit, :asc) end diff --git a/app/models/trends/tag_filter.rb b/app/models/trends/tag_filter.rb index 46b747819e1..d6f88a9486e 100644 --- a/app/models/trends/tag_filter.rb +++ b/app/models/trends/tag_filter.rb @@ -14,7 +14,7 @@ class Trends::TagFilter def results scope = if params[:status] == 'pending_review' - Tag.unscoped + Tag.unscoped.order(id: :desc) else trending_scope end diff --git a/app/models/user.rb b/app/models/user.rb index 72854569260..f22b7ec684c 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -100,7 +100,7 @@ class User < ApplicationRecord validates :email, presence: true, email_address: true - validates_with BlacklistedEmailValidator, if: -> { ENV['EMAIL_DOMAIN_LISTS_APPLY_AFTER_CONFIRMATION'] == 'true' || !confirmed? } + validates_with UserEmailValidator, if: -> { ENV['EMAIL_DOMAIN_LISTS_APPLY_AFTER_CONFIRMATION'] == 'true' || !confirmed? } validates_with EmailMxValidator, if: :validate_email_dns? validates :agreement, acceptance: { allow_nil: false, accept: [true, 'true', '1'] }, on: :create diff --git a/app/serializers/initial_state_serializer.rb b/app/serializers/initial_state_serializer.rb index 13f332c95c4..25a352806fc 100644 --- a/app/serializers/initial_state_serializer.rb +++ b/app/serializers/initial_state_serializer.rb @@ -109,6 +109,7 @@ class InitialStateSerializer < ActiveModel::Serializer trends_as_landing_page: Setting.trends_as_landing_page, trends_enabled: Setting.trends, version: instance_presenter.version, + force_grouped_notifications: ENV['FORCE_GROUPED_NOTIFICATIONS'] == 'true', } end diff --git a/app/serializers/manifest_serializer.rb b/app/serializers/manifest_serializer.rb index a39fb5ef540..cf0164c24a3 100644 --- a/app/serializers/manifest_serializer.rb +++ b/app/serializers/manifest_serializer.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class ManifestSerializer < ActiveModel::Serializer - include ApplicationHelper + include InstanceHelper include RoutingHelper include ActionView::Helpers::TextHelper diff --git a/app/serializers/rest/instance_serializer.rb b/app/serializers/rest/instance_serializer.rb index 8df79db6c77..084701657e8 100644 --- a/app/serializers/rest/instance_serializer.rb +++ b/app/serializers/rest/instance_serializer.rb @@ -7,11 +7,12 @@ class REST::InstanceSerializer < ActiveModel::Serializer has_one :account, serializer: REST::AccountSerializer end + include InstanceHelper include RoutingHelper attributes :domain, :title, :version, :source_url, :description, - :usage, :thumbnail, :languages, :configuration, - :registrations + :usage, :thumbnail, :icon, :languages, :configuration, + :registrations, :api_versions has_one :contact, serializer: ContactSerializer has_many :rules, serializer: REST::RuleSerializer @@ -33,6 +34,18 @@ class REST::InstanceSerializer < ActiveModel::Serializer end end + def icon + SiteUpload::ANDROID_ICON_SIZES.map do |size| + src = app_icon_path(size.to_i) + src = URI.join(root_url, src).to_s if src.present? + + { + src: src || frontend_asset_url("icons/android-chrome-#{size}x#{size}.png"), + size: "#{size}x#{size}", + } + end + end + def usage { users: { @@ -94,6 +107,12 @@ class REST::InstanceSerializer < ActiveModel::Serializer } end + def api_versions + { + mastodon: 1, + } + end + private def registrations_enabled? diff --git a/app/services/accept_notification_request_service.rb b/app/services/accept_notification_request_service.rb index e49eae6fd30..60ec6bb3b63 100644 --- a/app/services/accept_notification_request_service.rb +++ b/app/services/accept_notification_request_service.rb @@ -1,8 +1,21 @@ # frozen_string_literal: true class AcceptNotificationRequestService < BaseService + include Redisable + def call(request) NotificationPermission.create!(account: request.account, from_account: request.from_account) - UnfilterNotificationsWorker.perform_async(request.id) + increment_worker_count!(request) + UnfilterNotificationsWorker.perform_async(request.account_id, request.from_account_id) + request.destroy! + end + + private + + def increment_worker_count!(request) + with_redis do |redis| + redis.incr("notification_unfilter_jobs:#{request.account_id}") + redis.expire("notification_unfilter_jobs:#{request.account_id}", 30.minutes.to_i) + end end end diff --git a/app/services/notify_service.rb b/app/services/notify_service.rb index 788381fe6b1..695f4153c6c 100644 --- a/app/services/notify_service.rb +++ b/app/services/notify_service.rb @@ -5,6 +5,7 @@ class NotifyService < BaseService MAXIMUM_GROUP_SPAN_HOURS = 12 + # TODO: the severed_relationships type probably warrants email notifications NON_EMAIL_TYPES = %i( admin.report admin.sign_up @@ -12,7 +13,6 @@ class NotifyService < BaseService poll status moderation_warning - # TODO: this probably warrants an email notification severed_relationships ).freeze diff --git a/app/validators/email_mx_validator.rb b/app/validators/email_mx_validator.rb index 79437789435..f78b98d7dd7 100644 --- a/app/validators/email_mx_validator.rb +++ b/app/validators/email_mx_validator.rb @@ -15,7 +15,7 @@ class EmailMxValidator < ActiveModel::Validator if resolved_ips.empty? user.errors.add(:email, :unreachable) - elsif on_blacklist?(resolved_domains, user.sign_up_ip) + elsif email_domain_blocked?(resolved_domains, user.sign_up_ip) user.errors.add(:email, :blocked) end end @@ -34,9 +34,9 @@ class EmailMxValidator < ActiveModel::Validator end def on_allowlist?(domain) - return false if Rails.configuration.x.email_domains_whitelist.blank? + return false if Rails.configuration.x.email_domains_allowlist.blank? - Rails.configuration.x.email_domains_whitelist.include?(domain) + Rails.configuration.x.email_domains_allowlist.include?(domain) end def resolve_mx(domain) @@ -58,7 +58,7 @@ class EmailMxValidator < ActiveModel::Validator [ips, records] end - def on_blacklist?(domains, attempt_ip) + def email_domain_blocked?(domains, attempt_ip) EmailDomainBlock.block?(domains, attempt_ip: attempt_ip) end end diff --git a/app/validators/blacklisted_email_validator.rb b/app/validators/user_email_validator.rb similarity index 74% rename from app/validators/blacklisted_email_validator.rb rename to app/validators/user_email_validator.rb index 9b3f2e33e55..21b22794ef6 100644 --- a/app/validators/blacklisted_email_validator.rb +++ b/app/validators/user_email_validator.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class BlacklistedEmailValidator < ActiveModel::Validator +class UserEmailValidator < ActiveModel::Validator def validate(user) return if user.valid_invitation? || user.email.blank? @@ -23,18 +23,18 @@ class BlacklistedEmailValidator < ActiveModel::Validator end def not_allowed_through_configuration?(email) - return false if Rails.configuration.x.email_domains_whitelist.blank? + return false if Rails.configuration.x.email_domains_allowlist.blank? - domains = Rails.configuration.x.email_domains_whitelist.gsub('.', '\.') + domains = Rails.configuration.x.email_domains_allowlist.gsub('.', '\.') regexp = Regexp.new("@(.+\\.)?(#{domains})$", true) email !~ regexp end def disallowed_through_configuration?(email) - return false if Rails.configuration.x.email_domains_blacklist.blank? + return false if Rails.configuration.x.email_domains_denylist.blank? - domains = Rails.configuration.x.email_domains_blacklist.gsub('.', '\.') + domains = Rails.configuration.x.email_domains_denylist.gsub('.', '\.') regexp = Regexp.new("@(.+\\.)?(#{domains})", true) regexp.match?(email) diff --git a/app/views/admin/accounts/_local_account.html.haml b/app/views/admin/accounts/_local_account.html.haml index 3ed392cd1a5..3ad47d8dfb8 100644 --- a/app/views/admin/accounts/_local_account.html.haml +++ b/app/views/admin/accounts/_local_account.html.haml @@ -1,12 +1,12 @@ - if account.avatar? %tr %th= t('admin.accounts.avatar') - %td= table_link_to 'trash', t('admin.accounts.remove_avatar'), remove_avatar_admin_account_path(account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:remove_avatar, account) + %td= table_link_to 'delete', t('admin.accounts.remove_avatar'), remove_avatar_admin_account_path(account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:remove_avatar, account) %td - if account.header? %tr %th= t('admin.accounts.header') - %td= table_link_to 'trash', t('admin.accounts.remove_header'), remove_header_admin_account_path(account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:remove_header, account) + %td= table_link_to 'delete', t('admin.accounts.remove_header'), remove_header_admin_account_path(account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:remove_header, account) %td %tr %th= t('admin.accounts.role') @@ -16,7 +16,7 @@ - else = account.user_role&.name %td - = table_link_to 'vcard', t('admin.accounts.change_role.label'), admin_user_role_path(account.user) if can?(:change_role, account.user) + = table_link_to 'contact_mail', t('admin.accounts.change_role.label'), admin_user_role_path(account.user) if can?(:change_role, account.user) %tr %th{ rowspan: can?(:create, :email_domain_block) ? 3 : 2 }= t('admin.accounts.email') %td{ rowspan: can?(:create, :email_domain_block) ? 3 : 2 }= account.user_email @@ -25,7 +25,7 @@ %td= table_link_to 'search', t('admin.accounts.search_same_email_domain'), admin_accounts_path(email: "%@#{account.user_email.split('@').last}") - if can?(:create, :email_domain_block) %tr - %td= table_link_to 'ban', t('admin.accounts.add_email_domain_block'), new_admin_email_domain_block_path(_domain: account.user_email.split('@').last) + %td= table_link_to 'hide_source', t('admin.accounts.add_email_domain_block'), new_admin_email_domain_block_path(_domain: account.user_email.split('@').last) - if account.user_unconfirmed_email.present? %tr %th= t('admin.accounts.unconfirmed_email') @@ -48,7 +48,7 @@ = t 'admin.accounts.security_measures.only_password' %td - if account.user&.two_factor_enabled? && can?(:disable_2fa, account.user) - = table_link_to 'unlock', t('admin.accounts.disable_two_factor_authentication'), admin_user_two_factor_authentication_path(account.user.id), method: :delete + = table_link_to 'lock_open', t('admin.accounts.disable_two_factor_authentication'), admin_user_two_factor_authentication_path(account.user.id), method: :delete - if can?(:reset_password, account.user) %tr %td diff --git a/app/views/admin/accounts/_remote_account.html.haml b/app/views/admin/accounts/_remote_account.html.haml index 6755af2496c..a052e877f43 100644 --- a/app/views/admin/accounts/_remote_account.html.haml +++ b/app/views/admin/accounts/_remote_account.html.haml @@ -12,4 +12,4 @@ = material_symbol DeliveryFailureTracker.available?(account.shared_inbox_url) ? 'check' : 'close' %td - if domain_block.nil? - = table_link_to 'ban', t('admin.domain_blocks.add_new'), new_admin_domain_block_path(_domain: account.domain) + = table_link_to 'hide_source', t('admin.domain_blocks.add_new'), new_admin_domain_block_path(_domain: account.domain) diff --git a/app/views/admin/announcements/_announcement.html.haml b/app/views/admin/announcements/_announcement.html.haml index 1c7f89ef21a..eac78efb288 100644 --- a/app/views/admin/announcements/_announcement.html.haml +++ b/app/views/admin/announcements/_announcement.html.haml @@ -12,8 +12,8 @@ %div - if can?(:update, announcement) - if announcement.published? - = table_link_to 'toggle-off', t('admin.announcements.unpublish'), unpublish_admin_announcement_path(announcement), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } + = table_link_to 'toggle_off', t('admin.announcements.unpublish'), unpublish_admin_announcement_path(announcement), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } - else - = table_link_to 'toggle-on', t('admin.announcements.publish'), publish_admin_announcement_path(announcement), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } + = table_link_to 'toggle_on', t('admin.announcements.publish'), publish_admin_announcement_path(announcement), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } - = table_link_to 'trash', t('generic.delete'), admin_announcement_path(announcement), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, announcement) + = table_link_to 'delete', t('generic.delete'), admin_announcement_path(announcement), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, announcement) diff --git a/app/views/admin/follow_recommendations/show.html.haml b/app/views/admin/follow_recommendations/show.html.haml index 62cd3157252..6c2627743b4 100644 --- a/app/views/admin/follow_recommendations/show.html.haml +++ b/app/views/admin/follow_recommendations/show.html.haml @@ -12,7 +12,7 @@ .filters .filter-subset.filter-subset--with-select %strong= t('admin.follow_recommendations.language') - .input.select.optional + .input.select.select--languages.optional = form.select :language, options_for_select(Trends.available_locales.map { |key| [standard_locale_name(key), key] }, @language) .filter-subset diff --git a/app/views/admin/invites/_invite.html.haml b/app/views/admin/invites/_invite.html.haml index f9cd6003f3d..8bd5f10feef 100644 --- a/app/views/admin/invites/_invite.html.haml +++ b/app/views/admin/invites/_invite.html.haml @@ -27,4 +27,4 @@ %td - if invite.valid_for_use? && policy(invite).destroy? - = table_link_to 'times', t('invites.delete'), admin_invite_path(invite), method: :delete + = table_link_to 'close', t('invites.delete'), admin_invite_path(invite), method: :delete diff --git a/app/views/admin/relays/_relay.html.haml b/app/views/admin/relays/_relay.html.haml index 2e76f543083..9e9f629eee1 100644 --- a/app/views/admin/relays/_relay.html.haml +++ b/app/views/admin/relays/_relay.html.haml @@ -18,8 +18,8 @@ = t 'admin.relays.disabled' %td - if relay.accepted? - = table_link_to 'power-off', t('admin.relays.disable'), disable_admin_relay_path(relay), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } + = table_link_to 'power_off', t('admin.relays.disable'), disable_admin_relay_path(relay), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } - elsif !relay.pending? - = table_link_to 'power-off', t('admin.relays.enable'), enable_admin_relay_path(relay), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } + = table_link_to 'power_off', t('admin.relays.enable'), enable_admin_relay_path(relay), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } - = table_link_to 'times', t('admin.relays.delete'), admin_relay_path(relay), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } + = table_link_to 'close', t('admin.relays.delete'), admin_relay_path(relay), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } diff --git a/app/views/admin/report_notes/_report_note.html.haml b/app/views/admin/report_notes/_report_note.html.haml index 64628989a6a..dd60f7eabd0 100644 --- a/app/views/admin/report_notes/_report_note.html.haml +++ b/app/views/admin/report_notes/_report_note.html.haml @@ -13,6 +13,6 @@ - if can?(:destroy, report_note) .report-notes__item__actions - if report_note.is_a?(AccountModerationNote) - = table_link_to 'trash', t('admin.reports.notes.delete'), admin_account_moderation_note_path(report_note), method: :delete + = table_link_to 'delete', t('admin.reports.notes.delete'), admin_account_moderation_note_path(report_note), method: :delete - else - = table_link_to 'trash', t('admin.reports.notes.delete'), admin_report_note_path(report_note), method: :delete + = table_link_to 'delete', t('admin.reports.notes.delete'), admin_report_note_path(report_note), method: :delete diff --git a/app/views/admin/reports/_header_details.html.haml b/app/views/admin/reports/_header_details.html.haml index 434231f7333..cf81670845f 100644 --- a/app/views/admin/reports/_header_details.html.haml +++ b/app/views/admin/reports/_header_details.html.haml @@ -54,6 +54,6 @@ = admin_account_link_to report.assigned_account — - if report.assigned_account != current_user.account - = table_link_to 'user', t('admin.reports.assign_to_self'), assign_to_self_admin_report_path(report), method: :post + = table_link_to 'person', t('admin.reports.assign_to_self'), assign_to_self_admin_report_path(report), method: :post - elsif !report.assigned_account.nil? - = table_link_to 'trash', t('admin.reports.unassign'), unassign_admin_report_path(report), method: :post + = table_link_to 'delete', t('admin.reports.unassign'), unassign_admin_report_path(report), method: :post diff --git a/app/views/admin/roles/_role.html.haml b/app/views/admin/roles/_role.html.haml index fd37644c835..636127354b0 100644 --- a/app/views/admin/roles/_role.html.haml +++ b/app/views/admin/roles/_role.html.haml @@ -27,4 +27,4 @@ · %abbr{ title: role.permissions_as_keys.map { |privilege| I18n.t("admin.roles.privileges.#{privilege}") }.join(', ') }= t('admin.roles.permissions_count', count: role.permissions_as_keys.size) %div - = table_link_to 'pencil', t('admin.accounts.edit'), edit_admin_role_path(role) if can?(:update, role) + = table_link_to 'edit', t('admin.accounts.edit'), edit_admin_role_path(role) if can?(:update, role) diff --git a/app/views/admin/rules/_rule.html.haml b/app/views/admin/rules/_rule.html.haml index 5f37f693543..eb97eefb3c7 100644 --- a/app/views/admin/rules/_rule.html.haml +++ b/app/views/admin/rules/_rule.html.haml @@ -8,4 +8,4 @@ = rule.hint %div - = table_link_to 'trash', t('admin.rules.delete'), admin_rule_path(rule), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, rule) + = table_link_to 'delete', t('admin.rules.delete'), admin_rule_path(rule), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, rule) diff --git a/app/views/admin/tags/show.html.haml b/app/views/admin/tags/show.html.haml index f6155575ae2..93387843b2c 100644 --- a/app/views/admin/tags/show.html.haml +++ b/app/views/admin/tags/show.html.haml @@ -3,9 +3,12 @@ - content_for :heading_actions do - if current_user.can?(:view_dashboard) - = l(@time_period.first) - = ' - ' - = l(@time_period.last) + .time-period + = l(@time_period.first) + = ' - ' + = l(@time_period.last) + + = link_to t('admin.tags.open'), tag_url(@tag), class: 'button', target: '_blank', rel: 'noopener noreferrer' - if current_user.can?(:view_dashboard) .dashboard diff --git a/app/views/admin/trends/statuses/index.html.haml b/app/views/admin/trends/statuses/index.html.haml index f9238dee461..93d4177a671 100644 --- a/app/views/admin/trends/statuses/index.html.haml +++ b/app/views/admin/trends/statuses/index.html.haml @@ -12,10 +12,11 @@ .filters .filter-subset.filter-subset--with-select %strong= t('admin.follow_recommendations.language') - .input.select.optional + .input.select.select--languages.optional = form.select :locale, options_for_select(@locales.map { |key| [standard_locale_name(key), key] }, params[:locale]), - include_blank: true + { include_blank: true }, + { disabled: @locales.empty? } .filter-subset %strong= t('admin.trends.trending') %ul diff --git a/app/views/admin/warning_presets/_warning_preset.html.haml b/app/views/admin/warning_presets/_warning_preset.html.haml index a58199c8046..2cc056420f4 100644 --- a/app/views/admin/warning_presets/_warning_preset.html.haml +++ b/app/views/admin/warning_presets/_warning_preset.html.haml @@ -7,4 +7,4 @@ = truncate(warning_preset.text) %div - = table_link_to 'trash', t('admin.warning_presets.delete'), admin_warning_preset_path(warning_preset), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, warning_preset) + = table_link_to 'delete', t('admin.warning_presets.delete'), admin_warning_preset_path(warning_preset), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, warning_preset) diff --git a/app/views/admin/webhooks/_webhook.html.haml b/app/views/admin/webhooks/_webhook.html.haml index 39abb7dd2c7..dca5abeb777 100644 --- a/app/views/admin/webhooks/_webhook.html.haml +++ b/app/views/admin/webhooks/_webhook.html.haml @@ -15,5 +15,5 @@ %abbr{ title: webhook.events.join(', ') }= t('admin.webhooks.enabled_events', count: webhook.events.size) %div - = table_link_to 'pencil', t('admin.webhooks.edit'), edit_admin_webhook_path(webhook) if can?(:update, webhook) - = table_link_to 'trash', t('admin.webhooks.delete'), admin_webhook_path(webhook), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, webhook) + = table_link_to 'edit', t('admin.webhooks.edit'), edit_admin_webhook_path(webhook) if can?(:update, webhook) + = table_link_to 'delete', t('admin.webhooks.delete'), admin_webhook_path(webhook), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, webhook) diff --git a/app/views/admin/webhooks/show.html.haml b/app/views/admin/webhooks/show.html.haml index c2c4f55788e..a389e611029 100644 --- a/app/views/admin/webhooks/show.html.haml +++ b/app/views/admin/webhooks/show.html.haml @@ -19,10 +19,10 @@ %td - if @webhook.enabled? %span.positive-hint= t('admin.webhooks.enabled') - = table_link_to 'power-off', t('admin.webhooks.disable'), disable_admin_webhook_path(@webhook), method: :post if can?(:disable, @webhook) + = table_link_to 'power_off', t('admin.webhooks.disable'), disable_admin_webhook_path(@webhook), method: :post if can?(:disable, @webhook) - else %span.negative-hint= t('admin.webhooks.disabled') - = table_link_to 'power-off', t('admin.webhooks.enable'), enable_admin_webhook_path(@webhook), method: :post if can?(:enable, @webhook) + = table_link_to 'power_off', t('admin.webhooks.enable'), enable_admin_webhook_path(@webhook), method: :post if can?(:enable, @webhook) %tr %th= t('admin.webhooks.events') %td diff --git a/app/views/application/_card.html.haml b/app/views/application/_card.html.haml index 1b3dd889c19..ae74f1dc638 100644 --- a/app/views/application/_card.html.haml +++ b/app/views/application/_card.html.haml @@ -15,4 +15,4 @@ %strong.emojify.p-name= display_name(account, custom_emojify: true) %span = acct(account) - = fa_icon('lock', { data: ({ hidden: true } unless account.locked?) }) + = material_symbol('lock', { data: ({ hidden: true } unless account.locked?) }) diff --git a/app/views/auth/registrations/_account_warning.html.haml b/app/views/auth/registrations/_account_warning.html.haml index c51179b49da..d558e1d9c96 100644 --- a/app/views/auth/registrations/_account_warning.html.haml +++ b/app/views/auth/registrations/_account_warning.html.haml @@ -2,7 +2,7 @@ .strike-entry__header .strike-entry__avatar .indicator-icon{ class: account_warning.overruled? ? 'success' : 'failure' } - = fa_icon 'warning' + = material_symbol 'warning' .strike-entry__content .strike-entry__title = t 'disputes.strikes.title', diff --git a/app/views/auth/registrations/_session.html.haml b/app/views/auth/registrations/_session.html.haml index 2fa7db70c7b..92e5147593f 100644 --- a/app/views/auth/registrations/_session.html.haml +++ b/app/views/auth/registrations/_session.html.haml @@ -1,7 +1,7 @@ %tr %td %span{ title: session.user_agent }< - = fa_icon "#{session_device_icon(session)} fw", 'aria-label': session_device_icon(session) + = material_symbol session_device_icon(session), 'aria-label': session_device_icon(session)   = t 'sessions.description', browser: t("sessions.browsers.#{session.browser}", default: session.browser.to_s), @@ -15,4 +15,4 @@ %time.time-ago{ datetime: session.updated_at.iso8601, title: l(session.updated_at) }= l(session.updated_at) %td - if current_session.session_id != session.session_id && !current_account.suspended? - = table_link_to 'times', t('sessions.revoke'), settings_session_path(session), method: :delete + = table_link_to 'close', t('sessions.revoke'), settings_session_path(session), method: :delete diff --git a/app/views/disputes/strikes/_card.html.haml b/app/views/disputes/strikes/_card.html.haml index 55551cc7d04..58965ad6006 100644 --- a/app/views/disputes/strikes/_card.html.haml +++ b/app/views/disputes/strikes/_card.html.haml @@ -24,7 +24,7 @@ .emojify= one_line_preview(status) - status.ordered_media_attachments.each do |media_attachment| %abbr{ title: media_attachment.description } - = fa_icon 'link' + = material_symbol 'link' = media_attachment.file_file_name .strike-card__statuses-list__item__meta = link_to ActivityPub::TagManager.instance.url_for(status), target: '_blank', rel: 'noopener noreferrer' do diff --git a/app/views/disputes/strikes/show.html.haml b/app/views/disputes/strikes/show.html.haml index 5f721388217..2bfecebbff9 100644 --- a/app/views/disputes/strikes/show.html.haml +++ b/app/views/disputes/strikes/show.html.haml @@ -9,13 +9,13 @@ - if @strike.overruled? %p.hint %span.positive-hint - = fa_icon 'check' + = material_symbol 'check'   = t 'disputes.strikes.appeal_approved' - elsif @appeal.persisted? && @appeal.rejected? %p.hint %span.negative-hint - = fa_icon 'times' + = material_symbol 'close'   = t 'disputes.strikes.appeal_rejected' diff --git a/app/views/filters/_filter.html.haml b/app/views/filters/_filter.html.haml index 9993ad2ee8e..a544ac3a758 100644 --- a/app/views/filters/_filter.html.haml +++ b/app/views/filters/_filter.html.haml @@ -14,7 +14,7 @@ - unless filter.keywords.empty? %li.permissions-list__item .permissions-list__item__icon - = fa_icon('paragraph') + = material_symbol('format_paragraph') .permissions-list__item__text .permissions-list__item__text__title = t('filters.index.keywords', count: filter.keywords.size) @@ -25,7 +25,7 @@ - unless filter.statuses.empty? %li.permissions-list__item .permissions-list__item__icon - = fa_icon('comment') + = material_symbol('chat') .permissions-list__item__text .permissions-list__item__text__title = t('filters.index.statuses', count: filter.statuses.size) @@ -37,5 +37,5 @@ = t('filters.index.contexts', contexts: filter.context.map { |context| I18n.t("filters.contexts.#{context}") }.join(', ')) %div - = table_link_to 'pencil', t('filters.edit.title'), edit_filter_path(filter) - = table_link_to 'times', t('filters.index.delete'), filter_path(filter), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } + = table_link_to 'edit', t('filters.edit.title'), edit_filter_path(filter) + = table_link_to 'close', t('filters.index.delete'), filter_path(filter), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } diff --git a/app/views/filters/_filter_fields.html.haml b/app/views/filters/_filter_fields.html.haml index 0f4049ffb61..797c969b24d 100644 --- a/app/views/filters/_filter_fields.html.haml +++ b/app/views/filters/_filter_fields.html.haml @@ -58,4 +58,4 @@ %tr %td{ colspan: 3 } = link_to_add_association f, :keywords, class: 'table-action-link', partial: 'keyword_fields', 'data-association-insertion-node': '.keywords-table tbody', 'data-association-insertion-method': 'append' do - = safe_join([fa_icon('plus'), t('filters.edit.add_keyword')]) + = safe_join([material_symbol('add'), t('filters.edit.add_keyword')]) diff --git a/app/views/filters/_keyword_fields.html.haml b/app/views/filters/_keyword_fields.html.haml index eedd514ef52..136ab1653db 100644 --- a/app/views/filters/_keyword_fields.html.haml +++ b/app/views/filters/_keyword_fields.html.haml @@ -5,4 +5,4 @@ %td = f.hidden_field :id if f.object&.persisted? # Required so Rails doesn't put the field outside of the = link_to_remove_association(f, class: 'table-action-link') do - = safe_join([fa_icon('times'), t('filters.index.delete')]) + = safe_join([material_symbol('close'), t('filters.index.delete')]) diff --git a/app/views/filters/statuses/_status_filter.html.haml b/app/views/filters/statuses/_status_filter.html.haml index 9999dcda81f..31aa9ec2377 100644 --- a/app/views/filters/statuses/_status_filter.html.haml +++ b/app/views/filters/statuses/_status_filter.html.haml @@ -15,7 +15,7 @@ - status.ordered_media_attachments.each do |media_attachment| %abbr{ title: media_attachment.description } - = fa_icon 'link' + = material_symbol 'link' = media_attachment.file_file_name .detailed-status__meta @@ -33,5 +33,5 @@ = t("statuses.visibilities.#{status.visibility}") - if status.sensitive? · - = fa_icon('eye-slash fw') + = material_symbol 'visibility_off' = t('stream_entries.sensitive_content') diff --git a/app/views/filters/statuses/index.html.haml b/app/views/filters/statuses/index.html.haml index 915ec59cafd..f9f94eee90d 100644 --- a/app/views/filters/statuses/index.html.haml +++ b/app/views/filters/statuses/index.html.haml @@ -6,7 +6,7 @@ .filters .back-link = link_to edit_filter_path(@filter) do - = fa_icon 'chevron-left fw' + = material_symbol 'chevron_left' = t('filters.statuses.back_to_filter') %p.hint= t('filters.statuses.index.hint') @@ -25,7 +25,7 @@ = check_box_tag :batch_checkbox_all, nil, false .batch-table__toolbar__actions - unless @status_filters.empty? - = f.button safe_join([fa_icon('times'), t('filters.statuses.batch.remove')]), name: :remove, class: 'table-action-link', type: :submit + = f.button safe_join([material_symbol('close'), t('filters.statuses.batch.remove')]), name: :remove, class: 'table-action-link', type: :submit .batch-table__body - if @status_filters.empty? = nothing_here 'nothing-here--under-tabs' diff --git a/app/views/invites/_invite.html.haml b/app/views/invites/_invite.html.haml index 62799ca5be2..94e1a711256 100644 --- a/app/views/invites/_invite.html.haml +++ b/app/views/invites/_invite.html.haml @@ -7,7 +7,7 @@ - if invite.valid_for_use? %td - = fa_icon 'user fw' + = material_symbol 'person' = invite.uses = " / #{invite.max_uses}" unless invite.max_uses.nil? %td @@ -22,4 +22,4 @@ %td - if invite.valid_for_use? && policy(invite).destroy? - = table_link_to 'times', t('invites.delete'), invite_path(invite), method: :delete + = table_link_to 'close', t('invites.delete'), invite_path(invite), method: :delete diff --git a/app/views/kaminari/_next_page.html.haml b/app/views/kaminari/_next_page.html.haml index c44aea1f11e..5f27f4c8eec 100644 --- a/app/views/kaminari/_next_page.html.haml +++ b/app/views/kaminari/_next_page.html.haml @@ -8,4 +8,4 @@ remote: data-remote %span.next - = link_to_unless current_page.last?, safe_join([t('pagination.next'), fa_icon('chevron-right')], ' '), url, rel: 'next', remote: remote + = link_to_unless current_page.last?, safe_join([t('pagination.next'), material_symbol('chevron_right')], ' '), url, rel: 'next', remote: remote diff --git a/app/views/kaminari/_prev_page.html.haml b/app/views/kaminari/_prev_page.html.haml index 284d6223b87..c5584f6a81a 100644 --- a/app/views/kaminari/_prev_page.html.haml +++ b/app/views/kaminari/_prev_page.html.haml @@ -7,4 +7,4 @@ per_page: number of items to fetch per page remote: data-remote %span.prev - = link_to_unless current_page.first?, safe_join([fa_icon('chevron-left'), t('pagination.prev')], ' '), url, rel: 'prev', remote: remote + = link_to_unless current_page.first?, safe_join([material_symbol('chevron_left'), t('pagination.prev')], ' '), url, rel: 'prev', remote: remote diff --git a/app/views/layouts/admin.html.haml b/app/views/layouts/admin.html.haml index d725e65aa9f..ebd236c6288 100644 --- a/app/views/layouts/admin.html.haml +++ b/app/views/layouts/admin.html.haml @@ -17,8 +17,8 @@ = logo_as_symbol(:wordmark) = link_to '#', class: 'sidebar__toggle__icon', 'aria-label': t('navigation.toggle_menu'), 'aria-expanded': 'false' do - = fa_icon 'bars' - = fa_icon 'times' + = material_symbol 'menu' + = material_symbol 'close' = render_navigation diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 0c0512e812f..a6b34c8a365 100755 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -25,7 +25,6 @@ %title= html_title - = stylesheet_pack_tag 'common', media: 'all', crossorigin: 'anonymous' = theme_style_tags current_theme -# Needed for the wicg-inert polyfill. It needs to be on it's own