mirror of
https://git.kescher.at/CatCatNya/catstodon.git
synced 2024-12-28 20:55:37 +01:00
Merge branch 'upstream-stable/4.3' into stable/4.3
This commit is contained in:
commit
b58bc7102e
296 changed files with 2347 additions and 1288 deletions
|
@ -73,6 +73,16 @@ DB_PORT=5432
|
|||
SECRET_KEY_BASE=
|
||||
OTP_SECRET=
|
||||
|
||||
# Encryption secrets
|
||||
# ------------------
|
||||
# Must be available (and set to same values) for all server processes
|
||||
# These are private/secret values, do not share outside hosting environment
|
||||
# Use `bin/rails db:encryption:init` to generate fresh secrets
|
||||
# Do not change these secrets once in use, as this would cause data loss and other issues
|
||||
# ------------------
|
||||
# ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=
|
||||
# ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=
|
||||
# ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=
|
||||
|
||||
# Web Push
|
||||
# --------
|
||||
|
|
6
.github/workflows/build-push-pr.yml
vendored
6
.github/workflows/build-push-pr.yml
vendored
|
@ -21,9 +21,11 @@ jobs:
|
|||
uses: actions/checkout@v4
|
||||
- id: version_vars
|
||||
run: |
|
||||
echo mastodon_version_metadata=pr-${{ github.event.pull_request.number }}-$(git rev-parse --short HEAD) >> $GITHUB_OUTPUT
|
||||
echo mastodon_version_metadata=pr-${{ github.event.pull_request.number }}-$(git rev-parse --short ${{github.event.pull_request.head.sha}}) >> $GITHUB_OUTPUT
|
||||
echo mastodon_short_sha=$(git rev-parse --short ${{github.event.pull_request.head.sha}}) >> $GITHUB_OUTPUT
|
||||
outputs:
|
||||
metadata: ${{ steps.version_vars.outputs.mastodon_version_metadata }}
|
||||
short_sha: ${{ steps.version_vars.outputs.mastodon_short_sha }}
|
||||
|
||||
build-image:
|
||||
needs: compute-suffix
|
||||
|
@ -39,6 +41,7 @@ jobs:
|
|||
latest=auto
|
||||
tags: |
|
||||
type=ref,event=pr
|
||||
type=ref,event=pr,suffix=-${{ needs.compute-suffix.outputs.short_sha }}
|
||||
secrets: inherit
|
||||
|
||||
build-image-streaming:
|
||||
|
@ -55,4 +58,5 @@ jobs:
|
|||
latest=auto
|
||||
tags: |
|
||||
type=ref,event=pr
|
||||
type=ref,event=pr,suffix=-${{ needs.compute-suffix.outputs.short_sha }}
|
||||
secrets: inherit
|
||||
|
|
2
.github/workflows/build-releases.yml
vendored
2
.github/workflows/build-releases.yml
vendored
|
@ -22,7 +22,7 @@ jobs:
|
|||
# Only tag with latest when ran against the latest stable branch
|
||||
# This needs to be updated after each minor version release
|
||||
flavor: |
|
||||
latest=${{ startsWith(github.ref, 'refs/tags/v4.2.') }}
|
||||
latest=${{ startsWith(github.ref, 'refs/tags/v4.3.') }}
|
||||
tags: |
|
||||
type=pep440,pattern={{raw}}
|
||||
type=pep440,pattern=v{{major}}.{{minor}}
|
||||
|
|
2
.github/workflows/test-migrations.yml
vendored
2
.github/workflows/test-migrations.yml
vendored
|
@ -32,6 +32,8 @@ jobs:
|
|||
postgres:
|
||||
- 14-alpine
|
||||
- 15-alpine
|
||||
- 16-alpine
|
||||
- 17-alpine
|
||||
|
||||
services:
|
||||
postgres:
|
||||
|
|
8
.github/workflows/test-ruby.yml
vendored
8
.github/workflows/test-ruby.yml
vendored
|
@ -143,7 +143,7 @@ jobs:
|
|||
uses: ./.github/actions/setup-ruby
|
||||
with:
|
||||
ruby-version: ${{ matrix.ruby-version}}
|
||||
additional-system-dependencies: ffmpeg libpam-dev
|
||||
additional-system-dependencies: ffmpeg imagemagick libpam-dev
|
||||
|
||||
- name: Load database schema
|
||||
run: |
|
||||
|
@ -245,7 +245,7 @@ jobs:
|
|||
uses: ./.github/actions/setup-ruby
|
||||
with:
|
||||
ruby-version: ${{ matrix.ruby-version}}
|
||||
additional-system-dependencies: ffmpeg libpam-dev libyaml-dev
|
||||
additional-system-dependencies: ffmpeg libpam-dev
|
||||
|
||||
- name: Load database schema
|
||||
run: './bin/rails db:create db:schema:load db:seed'
|
||||
|
@ -325,7 +325,7 @@ jobs:
|
|||
uses: ./.github/actions/setup-ruby
|
||||
with:
|
||||
ruby-version: ${{ matrix.ruby-version}}
|
||||
additional-system-dependencies: ffmpeg
|
||||
additional-system-dependencies: ffmpeg imagemagick
|
||||
|
||||
- name: Set up Javascript environment
|
||||
uses: ./.github/actions/setup-javascript
|
||||
|
@ -445,7 +445,7 @@ jobs:
|
|||
uses: ./.github/actions/setup-ruby
|
||||
with:
|
||||
ruby-version: ${{ matrix.ruby-version}}
|
||||
additional-system-dependencies: ffmpeg
|
||||
additional-system-dependencies: ffmpeg imagemagick
|
||||
|
||||
- name: Set up Javascript environment
|
||||
uses: ./.github/actions/setup-javascript
|
||||
|
|
|
@ -4,6 +4,10 @@ All changes to Catstodon that aren't Mastodon or glitch-soc Mastodon changes wil
|
|||
|
||||
All release dates, as well as most other dates, are intended to be read as "within the day, in UTC time."
|
||||
|
||||
## [v4.3.1+cat.1.0.0] - 2024-11-01
|
||||
|
||||
- Upstream changes (see [upstream release](https://github.com/glitch-soc/mastodon/releases/tag/v4.3.1)).
|
||||
|
||||
## [v4.3.0+cat.1.0.2] - 2024-10-12
|
||||
|
||||
- Upstream changes
|
||||
|
|
|
@ -2,6 +2,48 @@
|
|||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [4.3.1] - 2024-10-21
|
||||
|
||||
### Added
|
||||
|
||||
- Add more explicit explanations about author attribution and `fediverse:creator` (#32383 by @ClearlyClaire)
|
||||
- Add ability to group follow notifications in WebUI, can be disabled in the column settings (#32520 by @renchap)
|
||||
- Add back a 6 hours mute duration option (#32522 by @renchap)
|
||||
- Add note about not changing ActiveRecord encryption secrets once they are set (#32413, #32476, #32512, and #32537 by @ClearlyClaire and @mjankowski)
|
||||
|
||||
### Changed
|
||||
|
||||
- Change translation feature to translate to selected regional variant (e.g. pt-BR) if available (#32428 by @c960657)
|
||||
|
||||
### Removed
|
||||
|
||||
- Remove ability to get embed code for remote posts (#32578 by @ClearlyClaire)\
|
||||
Getting the embed code is only reliable for local posts.\
|
||||
It never worked for non-Mastodon servers, and stopped working correctly with the changes made in 4.3.0.\
|
||||
We have therefore decided to remove the menu entry while we investigate solutions.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix follow recommendation moderation page default language when using regional variant (#32580 by @ClearlyClaire)
|
||||
- Fix column-settings spacing in local timeline in advanced view (#32567 by @lindwurm)
|
||||
- Fix broken i18n in text welcome mailer tags area (#32571 by @mjankowski)
|
||||
- Fix missing or incorrect cache-control headers for Streaming server (#32551 by @ThisIsMissEm)
|
||||
- Fix only the first paragraph being displayed in some notifications (#32348 by @ClearlyClaire)
|
||||
- Fix reblog icons on account media view (#32506 by @tribela)
|
||||
- Fix Content-Security-Policy not allowing OpenStack SWIFT object storage URI (#32439 by @kenkiku1021)
|
||||
- Fix back arrow pointing to the incorrect direction in RTL languages (#32485 by @renchap)
|
||||
- Fix streaming server using `REDIS_USERNAME` instead of `REDIS_USER` (#32493 by @ThisIsMissEm)
|
||||
- Fix follow recommendation carrousel scrolling on RTL layouts (#32462 and #32505 by @ClearlyClaire)
|
||||
- Fix follow recommendation suppressions not applying immediately (#32392 by @ClearlyClaire)
|
||||
- Fix language of push notifications (#32415 by @ClearlyClaire)
|
||||
- Fix mute duration not being shown in list of muted accounts in web UI (#32388 by @ClearlyClaire)
|
||||
- Fix “Mark every notification as read” not updating the read marker if scrolled down (#32385 by @ClearlyClaire)
|
||||
- Fix “Mention” appearing for otherwise filtered posts (#32356 by @ClearlyClaire)
|
||||
- Fix notification requests from suspended accounts still being listed (#32354 by @ClearlyClaire)
|
||||
- Fix list edition modal styling (#32358 and #32367 by @ClearlyClaire and @vmstan)
|
||||
- Fix 4 columns barely not fitting on 1920px screen (#32361 by @ClearlyClaire)
|
||||
- Fix icon alignment in applications list (#32293 by @mjankowski)
|
||||
|
||||
## [4.3.0] - 2024-10-08
|
||||
|
||||
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.
|
||||
|
@ -67,7 +109,7 @@ The following changelog entries focus on changes visible to users, administrator
|
|||
```html
|
||||
<meta name="fediverse:creator" content="username@domain" />
|
||||
```
|
||||
On the API side, this is represented by a new `authors` attribute to the `PreviewCard` entity: https://docs.joinmastodon.org/entities/PreviewCard/#authors\
|
||||
On the API side, this is represented by a new `authors` attribute to the `PreviewCard` entity: https://docs.joinmastodon.org/entities/PreviewCard/#authors \
|
||||
Users can allow arbitrary domains to use `fediverse:creator` to credit them by visiting `/settings/verification`.\
|
||||
This is federated as a new `attributionDomains` property in the `http://joinmastodon.org/ns` namespace, containing an array of domain names: https://docs.joinmastodon.org/spec/activitypub/#properties-used-1
|
||||
- **Add in-app notifications for moderation actions and warnings** (#30065, #30082, and #30081 by @ClearlyClaire)\
|
||||
|
|
106
Gemfile.lock
106
Gemfile.lock
|
@ -10,35 +10,35 @@ GIT
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
actioncable (7.1.4)
|
||||
actionpack (= 7.1.4)
|
||||
activesupport (= 7.1.4)
|
||||
actioncable (7.1.4.1)
|
||||
actionpack (= 7.1.4.1)
|
||||
activesupport (= 7.1.4.1)
|
||||
nio4r (~> 2.0)
|
||||
websocket-driver (>= 0.6.1)
|
||||
zeitwerk (~> 2.6)
|
||||
actionmailbox (7.1.4)
|
||||
actionpack (= 7.1.4)
|
||||
activejob (= 7.1.4)
|
||||
activerecord (= 7.1.4)
|
||||
activestorage (= 7.1.4)
|
||||
activesupport (= 7.1.4)
|
||||
actionmailbox (7.1.4.1)
|
||||
actionpack (= 7.1.4.1)
|
||||
activejob (= 7.1.4.1)
|
||||
activerecord (= 7.1.4.1)
|
||||
activestorage (= 7.1.4.1)
|
||||
activesupport (= 7.1.4.1)
|
||||
mail (>= 2.7.1)
|
||||
net-imap
|
||||
net-pop
|
||||
net-smtp
|
||||
actionmailer (7.1.4)
|
||||
actionpack (= 7.1.4)
|
||||
actionview (= 7.1.4)
|
||||
activejob (= 7.1.4)
|
||||
activesupport (= 7.1.4)
|
||||
actionmailer (7.1.4.1)
|
||||
actionpack (= 7.1.4.1)
|
||||
actionview (= 7.1.4.1)
|
||||
activejob (= 7.1.4.1)
|
||||
activesupport (= 7.1.4.1)
|
||||
mail (~> 2.5, >= 2.5.4)
|
||||
net-imap
|
||||
net-pop
|
||||
net-smtp
|
||||
rails-dom-testing (~> 2.2)
|
||||
actionpack (7.1.4)
|
||||
actionview (= 7.1.4)
|
||||
activesupport (= 7.1.4)
|
||||
actionpack (7.1.4.1)
|
||||
actionview (= 7.1.4.1)
|
||||
activesupport (= 7.1.4.1)
|
||||
nokogiri (>= 1.8.5)
|
||||
racc
|
||||
rack (>= 2.2.4)
|
||||
|
@ -46,15 +46,15 @@ GEM
|
|||
rack-test (>= 0.6.3)
|
||||
rails-dom-testing (~> 2.2)
|
||||
rails-html-sanitizer (~> 1.6)
|
||||
actiontext (7.1.4)
|
||||
actionpack (= 7.1.4)
|
||||
activerecord (= 7.1.4)
|
||||
activestorage (= 7.1.4)
|
||||
activesupport (= 7.1.4)
|
||||
actiontext (7.1.4.1)
|
||||
actionpack (= 7.1.4.1)
|
||||
activerecord (= 7.1.4.1)
|
||||
activestorage (= 7.1.4.1)
|
||||
activesupport (= 7.1.4.1)
|
||||
globalid (>= 0.6.0)
|
||||
nokogiri (>= 1.8.5)
|
||||
actionview (7.1.4)
|
||||
activesupport (= 7.1.4)
|
||||
actionview (7.1.4.1)
|
||||
activesupport (= 7.1.4.1)
|
||||
builder (~> 3.1)
|
||||
erubi (~> 1.11)
|
||||
rails-dom-testing (~> 2.2)
|
||||
|
@ -64,22 +64,22 @@ GEM
|
|||
activemodel (>= 4.1)
|
||||
case_transform (>= 0.2)
|
||||
jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
|
||||
activejob (7.1.4)
|
||||
activesupport (= 7.1.4)
|
||||
activejob (7.1.4.1)
|
||||
activesupport (= 7.1.4.1)
|
||||
globalid (>= 0.3.6)
|
||||
activemodel (7.1.4)
|
||||
activesupport (= 7.1.4)
|
||||
activerecord (7.1.4)
|
||||
activemodel (= 7.1.4)
|
||||
activesupport (= 7.1.4)
|
||||
activemodel (7.1.4.1)
|
||||
activesupport (= 7.1.4.1)
|
||||
activerecord (7.1.4.1)
|
||||
activemodel (= 7.1.4.1)
|
||||
activesupport (= 7.1.4.1)
|
||||
timeout (>= 0.4.0)
|
||||
activestorage (7.1.4)
|
||||
actionpack (= 7.1.4)
|
||||
activejob (= 7.1.4)
|
||||
activerecord (= 7.1.4)
|
||||
activesupport (= 7.1.4)
|
||||
activestorage (7.1.4.1)
|
||||
actionpack (= 7.1.4.1)
|
||||
activejob (= 7.1.4.1)
|
||||
activerecord (= 7.1.4.1)
|
||||
activesupport (= 7.1.4.1)
|
||||
marcel (~> 1.0)
|
||||
activesupport (7.1.4)
|
||||
activesupport (7.1.4.1)
|
||||
base64
|
||||
bigdecimal
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
|
@ -638,20 +638,20 @@ GEM
|
|||
rackup (1.0.0)
|
||||
rack (< 3)
|
||||
webrick
|
||||
rails (7.1.4)
|
||||
actioncable (= 7.1.4)
|
||||
actionmailbox (= 7.1.4)
|
||||
actionmailer (= 7.1.4)
|
||||
actionpack (= 7.1.4)
|
||||
actiontext (= 7.1.4)
|
||||
actionview (= 7.1.4)
|
||||
activejob (= 7.1.4)
|
||||
activemodel (= 7.1.4)
|
||||
activerecord (= 7.1.4)
|
||||
activestorage (= 7.1.4)
|
||||
activesupport (= 7.1.4)
|
||||
rails (7.1.4.1)
|
||||
actioncable (= 7.1.4.1)
|
||||
actionmailbox (= 7.1.4.1)
|
||||
actionmailer (= 7.1.4.1)
|
||||
actionpack (= 7.1.4.1)
|
||||
actiontext (= 7.1.4.1)
|
||||
actionview (= 7.1.4.1)
|
||||
activejob (= 7.1.4.1)
|
||||
activemodel (= 7.1.4.1)
|
||||
activerecord (= 7.1.4.1)
|
||||
activestorage (= 7.1.4.1)
|
||||
activesupport (= 7.1.4.1)
|
||||
bundler (>= 1.15.0)
|
||||
railties (= 7.1.4)
|
||||
railties (= 7.1.4.1)
|
||||
rails-controller-testing (1.0.5)
|
||||
actionpack (>= 5.0.1.rc1)
|
||||
actionview (>= 5.0.1.rc1)
|
||||
|
@ -666,9 +666,9 @@ GEM
|
|||
rails-i18n (7.0.9)
|
||||
i18n (>= 0.7, < 2)
|
||||
railties (>= 6.0.0, < 8)
|
||||
railties (7.1.4)
|
||||
actionpack (= 7.1.4)
|
||||
activesupport (= 7.1.4)
|
||||
railties (7.1.4.1)
|
||||
actionpack (= 7.1.4.1)
|
||||
activesupport (= 7.1.4.1)
|
||||
irb
|
||||
rackup (>= 1.0.0)
|
||||
rake (>= 12.2)
|
||||
|
|
|
@ -52,7 +52,7 @@ class Api::V1::Notifications::RequestsController < Api::BaseController
|
|||
private
|
||||
|
||||
def load_requests
|
||||
requests = NotificationRequest.where(account: current_account).includes(:last_status, from_account: [:account_stat, :user]).to_a_paginated_by_id(
|
||||
requests = NotificationRequest.where(account: current_account).without_suspended.includes(:last_status, from_account: [:account_stat, :user]).to_a_paginated_by_id(
|
||||
limit_param(DEFAULT_ACCOUNTS_LIMIT),
|
||||
params_slice(:max_id, :since_id, :min_id)
|
||||
)
|
||||
|
|
|
@ -23,6 +23,6 @@ class Api::V1::Statuses::TranslationsController < Api::V1::Statuses::BaseControl
|
|||
private
|
||||
|
||||
def set_translation
|
||||
@translation = TranslateStatusService.new.call(@status, content_locale)
|
||||
@translation = TranslateStatusService.new.call(@status, I18n.locale.to_s)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -245,6 +245,11 @@ module ApplicationHelper
|
|||
tag.input(type: :text, maxlength: 999, spellcheck: false, readonly: true, **options)
|
||||
end
|
||||
|
||||
def recent_tag_usage(tag)
|
||||
people = tag.history.aggregate(2.days.ago.to_date..Time.zone.today).accounts
|
||||
I18n.t 'user_mailer.welcome.hashtags_recent_count', people: number_with_delimiter(people), count: people
|
||||
end
|
||||
|
||||
# glitch-soc addition to handle the multiple flavors
|
||||
def preload_locale_pack
|
||||
supported_locales = Themes.instance.flavour(current_flavour)['locales']
|
||||
|
|
|
@ -8,6 +8,7 @@ import type { ApiAccountJSON } from 'flavours/glitch/api_types/accounts';
|
|||
import type {
|
||||
ApiNotificationGroupJSON,
|
||||
ApiNotificationJSON,
|
||||
NotificationType,
|
||||
} from 'flavours/glitch/api_types/notifications';
|
||||
import { allNotificationTypes } from 'flavours/glitch/api_types/notifications';
|
||||
import type { ApiStatusJSON } from 'flavours/glitch/api_types/statuses';
|
||||
|
@ -15,6 +16,7 @@ import { usePendingItems } from 'flavours/glitch/initial_state';
|
|||
import type { NotificationGap } from 'flavours/glitch/reducers/notification_groups';
|
||||
import {
|
||||
selectSettingsNotificationsExcludedTypes,
|
||||
selectSettingsNotificationsGroupFollows,
|
||||
selectSettingsNotificationsQuickFilterActive,
|
||||
selectSettingsNotificationsShows,
|
||||
} from 'flavours/glitch/selectors/settings';
|
||||
|
@ -68,17 +70,19 @@ function dispatchAssociatedRecords(
|
|||
dispatch(importFetchedStatuses(fetchedStatuses));
|
||||
}
|
||||
|
||||
const supportedGroupedNotificationTypes = ['favourite', 'reblog'];
|
||||
function selectNotificationGroupedTypes(state: RootState) {
|
||||
const types: NotificationType[] = ['favourite', 'reblog'];
|
||||
|
||||
export function shouldGroupNotificationType(type: string) {
|
||||
return supportedGroupedNotificationTypes.includes(type);
|
||||
if (selectSettingsNotificationsGroupFollows(state)) types.push('follow');
|
||||
|
||||
return types;
|
||||
}
|
||||
|
||||
export const fetchNotifications = createDataLoadingThunk(
|
||||
'notificationGroups/fetch',
|
||||
async (_params, { getState }) =>
|
||||
apiFetchNotificationGroups({
|
||||
grouped_types: supportedGroupedNotificationTypes,
|
||||
grouped_types: selectNotificationGroupedTypes(getState()),
|
||||
exclude_types: getExcludedTypes(getState()),
|
||||
}),
|
||||
({ notifications, accounts, statuses }, { dispatch }) => {
|
||||
|
@ -102,7 +106,7 @@ export const fetchNotificationsGap = createDataLoadingThunk(
|
|||
'notificationGroups/fetchGap',
|
||||
async (params: { gap: NotificationGap }, { getState }) =>
|
||||
apiFetchNotificationGroups({
|
||||
grouped_types: supportedGroupedNotificationTypes,
|
||||
grouped_types: selectNotificationGroupedTypes(getState()),
|
||||
max_id: params.gap.maxId,
|
||||
exclude_types: getExcludedTypes(getState()),
|
||||
}),
|
||||
|
@ -119,7 +123,7 @@ export const pollRecentNotifications = createDataLoadingThunk(
|
|||
'notificationGroups/pollRecentNotifications',
|
||||
async (_params, { getState }) => {
|
||||
return apiFetchNotificationGroups({
|
||||
grouped_types: supportedGroupedNotificationTypes,
|
||||
grouped_types: selectNotificationGroupedTypes(getState()),
|
||||
max_id: undefined,
|
||||
exclude_types: getExcludedTypes(getState()),
|
||||
// In slow mode, we don't want to include notifications that duplicate the already-displayed ones
|
||||
|
@ -168,7 +172,10 @@ export const processNewNotificationForGroups = createAppAsyncThunk(
|
|||
|
||||
dispatchAssociatedRecords(dispatch, [notification]);
|
||||
|
||||
return notification;
|
||||
return {
|
||||
notification,
|
||||
groupedTypes: selectNotificationGroupedTypes(state),
|
||||
};
|
||||
},
|
||||
);
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ export interface ApiAccountRoleJSON {
|
|||
}
|
||||
|
||||
// See app/serializers/rest/account_serializer.rb
|
||||
export interface ApiAccountJSON {
|
||||
export interface BaseApiAccountJSON {
|
||||
acct: string;
|
||||
avatar: string;
|
||||
avatar_static: string;
|
||||
|
@ -45,3 +45,12 @@ export interface ApiAccountJSON {
|
|||
memorial?: boolean;
|
||||
hide_collections: boolean;
|
||||
}
|
||||
|
||||
// See app/serializers/rest/muted_account_serializer.rb
|
||||
export interface ApiMutedAccountJSON extends BaseApiAccountJSON {
|
||||
mute_expires_at?: string | null;
|
||||
}
|
||||
|
||||
// For now, we have the same type representing both `Account` and `MutedAccount`
|
||||
// objects, but we should refactor this in the future.
|
||||
export type ApiAccountJSON = ApiMutedAccountJSON;
|
||||
|
|
|
@ -241,7 +241,7 @@ class StatusActionBar extends ImmutablePureComponent {
|
|||
menu.push({ text: intl.formatMessage(messages.share), action: this.handleShareClick });
|
||||
}
|
||||
|
||||
if (publicStatus && (signedIn || !isRemote)) {
|
||||
if (publicStatus && !isRemote) {
|
||||
menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });
|
||||
}
|
||||
|
||||
|
|
|
@ -27,15 +27,19 @@ class ColumnSettings extends PureComponent {
|
|||
|
||||
return (
|
||||
<div className='column-settings'>
|
||||
<div className='column-settings__row'>
|
||||
<SettingToggle settings={settings} settingPath={['other', 'onlyMedia']} onChange={onChange} label={<FormattedMessage id='community.column_settings.media_only' defaultMessage='Media only' />} />
|
||||
</div>
|
||||
<section>
|
||||
<div className='column-settings__row'>
|
||||
<SettingToggle settings={settings} settingPath={['other', 'onlyMedia']} onChange={onChange} label={<FormattedMessage id='community.column_settings.media_only' defaultMessage='Media only' />} />
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<span className='column-settings__section'><FormattedMessage id='home.column_settings.advanced' defaultMessage='Advanced' /></span>
|
||||
<section>
|
||||
<span className='column-settings__section'><FormattedMessage id='home.column_settings.advanced' defaultMessage='Advanced' /></span>
|
||||
|
||||
<div className='column-settings__row'>
|
||||
<SettingText settings={settings} settingPath={['regex', 'body']} onChange={onChange} label={intl.formatMessage(messages.filter_regex)} />
|
||||
</div>
|
||||
<div className='column-settings__row'>
|
||||
<SettingText settings={settings} settingPath={['regex', 'body']} onChange={onChange} label={intl.formatMessage(messages.filter_regex)} />
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -129,8 +129,13 @@ export const InlineFollowSuggestions = ({ hidden }) => {
|
|||
return;
|
||||
}
|
||||
|
||||
setCanScrollLeft(bodyRef.current.scrollLeft > 0);
|
||||
setCanScrollRight((bodyRef.current.scrollLeft + bodyRef.current.clientWidth) < bodyRef.current.scrollWidth);
|
||||
if (getComputedStyle(bodyRef.current).direction === 'rtl') {
|
||||
setCanScrollLeft((bodyRef.current.clientWidth - bodyRef.current.scrollLeft) < bodyRef.current.scrollWidth);
|
||||
setCanScrollRight(bodyRef.current.scrollLeft < 0);
|
||||
} else {
|
||||
setCanScrollLeft(bodyRef.current.scrollLeft > 0);
|
||||
setCanScrollRight((bodyRef.current.scrollLeft + bodyRef.current.clientWidth) < bodyRef.current.scrollWidth);
|
||||
}
|
||||
}, [setCanScrollRight, setCanScrollLeft, bodyRef, suggestions]);
|
||||
|
||||
const handleLeftNav = useCallback(() => {
|
||||
|
@ -146,8 +151,13 @@ export const InlineFollowSuggestions = ({ hidden }) => {
|
|||
return;
|
||||
}
|
||||
|
||||
setCanScrollLeft(bodyRef.current.scrollLeft > 0);
|
||||
setCanScrollRight((bodyRef.current.scrollLeft + bodyRef.current.clientWidth) < bodyRef.current.scrollWidth);
|
||||
if (getComputedStyle(bodyRef.current).direction === 'rtl') {
|
||||
setCanScrollLeft((bodyRef.current.clientWidth - bodyRef.current.scrollLeft) < bodyRef.current.scrollWidth);
|
||||
setCanScrollRight(bodyRef.current.scrollLeft < 0);
|
||||
} else {
|
||||
setCanScrollLeft(bodyRef.current.scrollLeft > 0);
|
||||
setCanScrollRight((bodyRef.current.scrollLeft + bodyRef.current.clientWidth) < bodyRef.current.scrollWidth);
|
||||
}
|
||||
}, [setCanScrollRight, setCanScrollLeft, bodyRef]);
|
||||
|
||||
const handleDismiss = useCallback(() => {
|
||||
|
|
|
@ -40,6 +40,7 @@ class ColumnSettings extends PureComponent {
|
|||
const alertStr = <FormattedMessage id='notifications.column_settings.alert' defaultMessage='Desktop notifications' />;
|
||||
const showStr = <FormattedMessage id='notifications.column_settings.show' defaultMessage='Show in column' />;
|
||||
const soundStr = <FormattedMessage id='notifications.column_settings.sound' defaultMessage='Play sound' />;
|
||||
const groupStr = <FormattedMessage id='notifications.column_settings.group' defaultMessage='Group' />;
|
||||
|
||||
const showPushSettings = pushSettings.get('browserSupport') && pushSettings.get('isSubscribed');
|
||||
const pushStr = showPushSettings && <FormattedMessage id='notifications.column_settings.push' defaultMessage='Push notifications' />;
|
||||
|
@ -96,6 +97,10 @@ class ColumnSettings extends PureComponent {
|
|||
<PillBarButton prefix='notifications' settings={settings} settingPath={['shows', 'follow']} onChange={onChange} label={showStr} />
|
||||
<PillBarButton prefix='notifications' settings={settings} settingPath={['sounds', 'follow']} onChange={onChange} label={soundStr} />
|
||||
</div>
|
||||
|
||||
<div className='column-settings__row'>
|
||||
<SettingToggle prefix='notifications' settings={settings} settingPath={['group', 'follow']} onChange={onChange} label={groupStr} />
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section role='group' aria-labelledby='notifications-follow-request'>
|
||||
|
|
|
@ -56,11 +56,12 @@ const mapDispatchToProps = (dispatch) => ({
|
|||
} else {
|
||||
dispatch(changeSetting(['notifications', ...path], checked));
|
||||
}
|
||||
} else if(path[0] === 'groupingBeta') {
|
||||
dispatch(changeSetting(['notifications', ...path], checked));
|
||||
dispatch(initializeNotifications());
|
||||
} else {
|
||||
dispatch(changeSetting(['notifications', ...path], checked));
|
||||
|
||||
if(path[0] === 'group' && path[1] === 'follow') {
|
||||
dispatch(initializeNotifications());
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
@ -1,16 +1,19 @@
|
|||
import { FormattedMessage } from 'react-intl';
|
||||
|
||||
import { Link } from 'react-router-dom';
|
||||
|
||||
import PersonAddIcon from '@/material-icons/400-24px/person_add-fill.svg?react';
|
||||
import { FollowersCounter } from 'flavours/glitch/components/counters';
|
||||
import { FollowButton } from 'flavours/glitch/components/follow_button';
|
||||
import { ShortNumber } from 'flavours/glitch/components/short_number';
|
||||
import { me } from 'flavours/glitch/initial_state';
|
||||
import type { NotificationGroupFollow } from 'flavours/glitch/models/notification_group';
|
||||
import { useAppSelector } from 'flavours/glitch/store';
|
||||
|
||||
import type { LabelRenderer } from './notification_group_with_status';
|
||||
import { NotificationGroupWithStatus } from './notification_group_with_status';
|
||||
|
||||
const labelRenderer: LabelRenderer = (displayedName, total) => {
|
||||
const labelRenderer: LabelRenderer = (displayedName, total, seeMoreHref) => {
|
||||
if (total === 1)
|
||||
return (
|
||||
<FormattedMessage
|
||||
|
@ -23,10 +26,12 @@ const labelRenderer: LabelRenderer = (displayedName, total) => {
|
|||
return (
|
||||
<FormattedMessage
|
||||
id='notification.follow.name_and_others'
|
||||
defaultMessage='{name} and {count, plural, one {# other} other {# others}} followed you'
|
||||
defaultMessage='{name} and <a>{count, plural, one {# other} other {# others}}</a> followed you'
|
||||
values={{
|
||||
name: displayedName,
|
||||
count: total - 1,
|
||||
a: (chunks) =>
|
||||
seeMoreHref ? <Link to={seeMoreHref}>{chunks}</Link> : chunks,
|
||||
}}
|
||||
/>
|
||||
);
|
||||
|
@ -46,6 +51,10 @@ export const NotificationFollow: React.FC<{
|
|||
notification: NotificationGroupFollow;
|
||||
unread: boolean;
|
||||
}> = ({ notification, unread }) => {
|
||||
const username = useAppSelector(
|
||||
(state) => state.accounts.getIn([me, 'username']) as string,
|
||||
);
|
||||
|
||||
let actions: JSX.Element | undefined;
|
||||
let additionalContent: JSX.Element | undefined;
|
||||
|
||||
|
@ -68,6 +77,7 @@ export const NotificationFollow: React.FC<{
|
|||
timestamp={notification.latest_page_notification_at}
|
||||
count={notification.notifications_count}
|
||||
labelRenderer={labelRenderer}
|
||||
labelSeeMoreHref={`/@${username}/followers`}
|
||||
unread={unread}
|
||||
actions={actions}
|
||||
additionalContent={additionalContent}
|
||||
|
|
|
@ -16,6 +16,7 @@ import {
|
|||
import type { IconProp } from 'flavours/glitch/components/icon';
|
||||
import { Icon } from 'flavours/glitch/components/icon';
|
||||
import Status from 'flavours/glitch/containers/status_container';
|
||||
import { getStatusHidden } from 'flavours/glitch/selectors/filters';
|
||||
import { useAppSelector, useAppDispatch } from 'flavours/glitch/store';
|
||||
|
||||
import { DisplayedName } from './displayed_name';
|
||||
|
@ -51,6 +52,12 @@ export const NotificationWithStatus: React.FC<{
|
|||
(state) => state.statuses.getIn([statusId, 'visibility']) === 'direct',
|
||||
);
|
||||
|
||||
const isFiltered = useAppSelector(
|
||||
(state) =>
|
||||
statusId &&
|
||||
getStatusHidden(state, { id: statusId, contextType: 'notifications' }),
|
||||
);
|
||||
|
||||
const handlers = useMemo(
|
||||
() => ({
|
||||
open: () => {
|
||||
|
@ -77,7 +84,7 @@ export const NotificationWithStatus: React.FC<{
|
|||
[dispatch, statusId],
|
||||
);
|
||||
|
||||
if (!statusId) return null;
|
||||
if (!statusId || isFiltered) return null;
|
||||
|
||||
return (
|
||||
<HotKeys handlers={handlers}>
|
||||
|
|
|
@ -14,6 +14,8 @@ import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react';
|
|||
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.svg?react';
|
||||
import RepeatDisabledIcon from '@/svg-icons/repeat_disabled.svg?react';
|
||||
import RepeatPrivateIcon from '@/svg-icons/repeat_private.svg?react';
|
||||
import { replyCompose } from 'flavours/glitch/actions/compose';
|
||||
import { toggleReblog, toggleFavourite } from 'flavours/glitch/actions/interactions';
|
||||
import { openModal } from 'flavours/glitch/actions/modal';
|
||||
|
@ -161,16 +163,20 @@ class Footer extends ImmutablePureComponent {
|
|||
replyTitle = intl.formatMessage(messages.replyAll);
|
||||
}
|
||||
|
||||
let reblogTitle = '';
|
||||
let reblogTitle, reblogIconComponent;
|
||||
|
||||
if (status.get('reblogged')) {
|
||||
reblogTitle = intl.formatMessage(messages.cancel_reblog_private);
|
||||
reblogIconComponent = publicStatus ? RepeatIcon : RepeatPrivateIcon;
|
||||
} else if (publicStatus) {
|
||||
reblogTitle = intl.formatMessage(messages.reblog);
|
||||
reblogIconComponent = RepeatIcon;
|
||||
} else if (reblogPrivate) {
|
||||
reblogTitle = intl.formatMessage(messages.reblog_private);
|
||||
reblogIconComponent = RepeatPrivateIcon;
|
||||
} else {
|
||||
reblogTitle = intl.formatMessage(messages.cannot_reblog);
|
||||
reblogIconComponent = RepeatDisabledIcon;
|
||||
}
|
||||
|
||||
let replyButton = null;
|
||||
|
@ -201,7 +207,7 @@ class Footer extends ImmutablePureComponent {
|
|||
return (
|
||||
<div className='picture-in-picture__footer'>
|
||||
{replyButton}
|
||||
<IconButton className={classNames('status__action-bar-button', { reblogPrivate })} disabled={!publicStatus && !reblogPrivate} active={status.get('reblogged')} title={reblogTitle} icon='retweet' iconComponent={RepeatIcon} onClick={this.handleReblogClick} counter={status.get('reblogs_count')} />
|
||||
<IconButton className={classNames('status__action-bar-button', { reblogPrivate })} disabled={!publicStatus && !reblogPrivate} active={status.get('reblogged')} title={reblogTitle} icon='retweet' iconComponent={reblogIconComponent} onClick={this.handleReblogClick} counter={status.get('reblogs_count')} />
|
||||
<IconButton className='status__action-bar-button star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' iconComponent={StarIcon} onClick={this.handleFavouriteClick} counter={status.get('favourites_count')} />
|
||||
{withOpenButton && <IconButton className='status__action-bar-button' title={intl.formatMessage(messages.open)} icon='external-link' iconComponent={OpenInNewIcon} onClick={this.handleOpenClick} href={status.get('url')} />}
|
||||
</div>
|
||||
|
|
|
@ -116,6 +116,7 @@ export const MuteModal = ({ accountId, acct }) => {
|
|||
<div className='safety-action-modal__bottom__collapsible'>
|
||||
<div className='safety-action-modal__field-group'>
|
||||
<RadioButtonLabel name='duration' value='0' label={intl.formatMessage(messages.indefinite)} currentValue={muteDuration} onChange={handleChangeMuteDuration} />
|
||||
<RadioButtonLabel name='duration' value='21600' label={intl.formatMessage(messages.hours, { number: 6 })} currentValue={muteDuration} onChange={handleChangeMuteDuration} />
|
||||
<RadioButtonLabel name='duration' value='86400' label={intl.formatMessage(messages.hours, { number: 24 })} currentValue={muteDuration} onChange={handleChangeMuteDuration} />
|
||||
<RadioButtonLabel name='duration' value='604800' label={intl.formatMessage(messages.days, { number: 7 })} currentValue={muteDuration} onChange={handleChangeMuteDuration} />
|
||||
<RadioButtonLabel name='duration' value='2592000' label={intl.formatMessage(messages.days, { number: 30 })} currentValue={muteDuration} onChange={handleChangeMuteDuration} />
|
||||
|
|
|
@ -95,6 +95,9 @@ export const accountDefaultValues: AccountShape = {
|
|||
limited: false,
|
||||
moved: null,
|
||||
hide_collections: false,
|
||||
// This comes from `ApiMutedAccountJSON`, but we should eventually
|
||||
// store that in a different object.
|
||||
mute_expires_at: null,
|
||||
};
|
||||
|
||||
const AccountFactory = ImmutableRecord<AccountShape>(accountDefaultValues);
|
||||
|
|
|
@ -21,7 +21,6 @@ import {
|
|||
unmountNotifications,
|
||||
refreshStaleNotificationGroups,
|
||||
pollRecentNotifications,
|
||||
shouldGroupNotificationType,
|
||||
} from 'flavours/glitch/actions/notification_groups';
|
||||
import {
|
||||
disconnectTimeline,
|
||||
|
@ -30,6 +29,7 @@ import {
|
|||
import type {
|
||||
ApiNotificationJSON,
|
||||
ApiNotificationGroupJSON,
|
||||
NotificationType,
|
||||
} from 'flavours/glitch/api_types/notifications';
|
||||
import { compareId } from 'flavours/glitch/compare_id';
|
||||
import { usePendingItems } from 'flavours/glitch/initial_state';
|
||||
|
@ -205,8 +205,9 @@ function mergeGapsAround(
|
|||
function processNewNotification(
|
||||
groups: NotificationGroupsState['groups'],
|
||||
notification: ApiNotificationJSON,
|
||||
groupedTypes: NotificationType[],
|
||||
) {
|
||||
if (!shouldGroupNotificationType(notification.type)) {
|
||||
if (!groupedTypes.includes(notification.type)) {
|
||||
notification = {
|
||||
...notification,
|
||||
group_key: `ungrouped-${notification.id}`,
|
||||
|
@ -476,11 +477,13 @@ export const notificationGroupsReducer = createReducer<NotificationGroupsState>(
|
|||
trimNotifications(state);
|
||||
})
|
||||
.addCase(processNewNotificationForGroups.fulfilled, (state, action) => {
|
||||
const notification = action.payload;
|
||||
if (notification) {
|
||||
if (action.payload) {
|
||||
const { notification, groupedTypes } = action.payload;
|
||||
|
||||
processNewNotification(
|
||||
usePendingItems ? state.pendingGroups : state.groups,
|
||||
notification,
|
||||
groupedTypes,
|
||||
);
|
||||
updateLastReadId(state);
|
||||
trimNotifications(state);
|
||||
|
@ -559,7 +562,10 @@ export const notificationGroupsReducer = createReducer<NotificationGroupsState>(
|
|||
compareId(state.lastReadId, mostRecentGroup.page_max_id) < 0
|
||||
)
|
||||
state.lastReadId = mostRecentGroup.page_max_id;
|
||||
commitLastReadId(state);
|
||||
|
||||
// We don't call `commitLastReadId`, because that is conditional
|
||||
// and we want to unconditionally update the state instead.
|
||||
state.readMarkerId = state.lastReadId;
|
||||
})
|
||||
.addCase(fetchMarkers.fulfilled, (state, action) => {
|
||||
if (
|
||||
|
|
|
@ -82,6 +82,10 @@ const initialState = ImmutableMap({
|
|||
'admin.sign_up': true,
|
||||
'admin.report': true,
|
||||
}),
|
||||
|
||||
group: ImmutableMap({
|
||||
follow: true
|
||||
}),
|
||||
}),
|
||||
|
||||
firehose: ImmutableMap({
|
||||
|
|
50
app/javascript/flavours/glitch/selectors/filters.ts
Normal file
50
app/javascript/flavours/glitch/selectors/filters.ts
Normal file
|
@ -0,0 +1,50 @@
|
|||
import { createSelector } from '@reduxjs/toolkit';
|
||||
|
||||
import type { RootState } from 'flavours/glitch/store';
|
||||
import { toServerSideType } from 'flavours/glitch/utils/filters';
|
||||
|
||||
// TODO: move to `app/javascript/flavours/glitch/models` and use more globally
|
||||
type Filter = Immutable.Map<string, unknown>;
|
||||
|
||||
// TODO: move to `app/javascript/flavours/glitch/models` and use more globally
|
||||
type FilterResult = Immutable.Map<string, unknown>;
|
||||
|
||||
export const getFilters = createSelector(
|
||||
[
|
||||
(state: RootState) => state.filters as Immutable.Map<string, Filter>,
|
||||
(_, { contextType }: { contextType: string }) => contextType,
|
||||
],
|
||||
(filters, contextType) => {
|
||||
if (!contextType) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const now = new Date();
|
||||
const serverSideType = toServerSideType(contextType);
|
||||
|
||||
return filters.filter((filter) => {
|
||||
const context = filter.get('context') as Immutable.List<string>;
|
||||
const expiration = filter.get('expires_at') as Date | null;
|
||||
return (
|
||||
context.includes(serverSideType) &&
|
||||
(expiration === null || expiration > now)
|
||||
);
|
||||
});
|
||||
},
|
||||
);
|
||||
|
||||
export const getStatusHidden = (
|
||||
state: RootState,
|
||||
{ id, contextType }: { id: string; contextType: string },
|
||||
) => {
|
||||
const filters = getFilters(state, { contextType });
|
||||
if (filters === null) return false;
|
||||
|
||||
const filtered = state.statuses.getIn([id, 'filtered']) as
|
||||
| Immutable.List<FilterResult>
|
||||
| undefined;
|
||||
return filtered?.some(
|
||||
(result) =>
|
||||
filters.getIn([result.get('filter'), 'filter_action']) === 'hide',
|
||||
);
|
||||
};
|
|
@ -1,23 +1,12 @@
|
|||
import { createSelector } from '@reduxjs/toolkit';
|
||||
import { List as ImmutableList, Map as ImmutableMap } from 'immutable';
|
||||
|
||||
import { toServerSideType } from 'flavours/glitch/utils/filters';
|
||||
|
||||
import { me } from '../initial_state';
|
||||
|
||||
import { getFilters } from './filters';
|
||||
|
||||
export { makeGetAccount } from "./accounts";
|
||||
|
||||
const getFilters = createSelector([state => state.get('filters'), (_, { contextType }) => contextType], (filters, contextType) => {
|
||||
if (!contextType) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const now = new Date();
|
||||
const serverSideType = toServerSideType(contextType);
|
||||
|
||||
return filters.filter(filter => filter.get('context').includes(serverSideType) && (filter.get('expires_at') === null || filter.get('expires_at') > now));
|
||||
});
|
||||
|
||||
export const makeGetStatus = () => {
|
||||
return createSelector(
|
||||
[
|
||||
|
|
|
@ -52,4 +52,7 @@ export const selectSettingsNotificationsMinimizeFilteredBanner = (
|
|||
) =>
|
||||
state.settings.getIn(['notifications', 'minimizeFilteredBanner']) as boolean;
|
||||
|
||||
export const selectSettingsNotificationsGroupFollows = (state: RootState) =>
|
||||
state.settings.getIn(['notifications', 'group', 'follow']) as boolean;
|
||||
|
||||
/* eslint-enable @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access */
|
||||
|
|
|
@ -1050,6 +1050,12 @@ a.name-tag,
|
|||
color: var(--user-role-accent);
|
||||
}
|
||||
|
||||
.applications-list {
|
||||
.icon {
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
.announcements-list,
|
||||
.filters-list {
|
||||
border: 1px solid var(--background-border-color);
|
||||
|
|
|
@ -8542,79 +8542,23 @@ noscript {
|
|||
background: rgba($base-overlay-background, 0.5);
|
||||
}
|
||||
|
||||
.list-adder,
|
||||
.list-editor {
|
||||
background: $ui-base-color;
|
||||
backdrop-filter: var(--background-filter);
|
||||
background: var(--modal-background-color);
|
||||
border: 1px solid var(--modal-border-color);
|
||||
flex-direction: column;
|
||||
border-radius: 8px;
|
||||
box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
|
||||
width: 380px;
|
||||
overflow: hidden;
|
||||
|
||||
@media screen and (width <= 420px) {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
h4 {
|
||||
padding: 15px 0;
|
||||
background: lighten($ui-base-color, 13%);
|
||||
font-weight: 500;
|
||||
font-size: 16px;
|
||||
text-align: center;
|
||||
border-radius: 8px 8px 0 0;
|
||||
}
|
||||
|
||||
.drawer__pager {
|
||||
height: 50vh;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.drawer__inner {
|
||||
border-radius: 0 0 8px 8px;
|
||||
|
||||
&.backdrop {
|
||||
width: calc(100% - 60px);
|
||||
box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
|
||||
border-radius: 0 0 0 8px;
|
||||
}
|
||||
}
|
||||
|
||||
&__accounts {
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.account__display-name {
|
||||
&:hover strong {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.account__avatar {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.search {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.list-adder {
|
||||
background: $ui-base-color;
|
||||
flex-direction: column;
|
||||
border-radius: 8px;
|
||||
box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
|
||||
width: 380px;
|
||||
overflow: hidden;
|
||||
|
||||
@media screen and (width <= 420px) {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
&__account {
|
||||
background: lighten($ui-base-color, 13%);
|
||||
}
|
||||
|
||||
&__lists {
|
||||
background: lighten($ui-base-color, 13%);
|
||||
height: 50vh;
|
||||
border-radius: 0 0 8px 8px;
|
||||
overflow-y: auto;
|
||||
|
@ -8635,6 +8579,52 @@ noscript {
|
|||
text-decoration: none;
|
||||
font-size: 16px;
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.list-editor {
|
||||
h4 {
|
||||
padding: 15px 0;
|
||||
background: lighten($ui-base-color, 13%);
|
||||
font-weight: 500;
|
||||
font-size: 16px;
|
||||
text-align: center;
|
||||
border-radius: 8px 8px 0 0;
|
||||
}
|
||||
|
||||
.drawer__pager {
|
||||
height: 50vh;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.drawer__inner {
|
||||
&.backdrop {
|
||||
width: calc(100% - 60px);
|
||||
box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
|
||||
border-radius: 0 0 0 8px;
|
||||
}
|
||||
}
|
||||
|
||||
&__accounts {
|
||||
background: unset;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.account__display-name {
|
||||
&:hover strong {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.account__avatar {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.search {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -11387,21 +11377,17 @@ noscript {
|
|||
color: $darker-text-color;
|
||||
-webkit-line-clamp: 4;
|
||||
-webkit-box-orient: vertical;
|
||||
max-height: 4 * 22px;
|
||||
max-height: none;
|
||||
overflow: hidden;
|
||||
|
||||
p {
|
||||
display: none;
|
||||
|
||||
&:first-child {
|
||||
display: initial;
|
||||
}
|
||||
}
|
||||
|
||||
p,
|
||||
a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
.reply-indicator__attachments {
|
||||
|
|
|
@ -23,6 +23,8 @@ code {
|
|||
position: relative;
|
||||
overflow: hidden;
|
||||
height: 160px;
|
||||
max-width: 566px;
|
||||
margin-inline: auto;
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
|
|
|
@ -90,6 +90,10 @@ body.rtl {
|
|||
direction: rtl;
|
||||
}
|
||||
|
||||
.column-back-button__icon {
|
||||
transform: scale(-1, 1);
|
||||
}
|
||||
|
||||
.simple_form select {
|
||||
background: $ui-base-color
|
||||
url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14.933 18.467' height='19.698' width='15.929'><path d='M3.467 14.967l-3.393-3.5H14.86l-3.392 3.5c-1.866 1.925-3.666 3.5-4 3.5-.335 0-2.135-1.575-4-3.5zm.266-11.234L7.467 0 11.2 3.733l3.733 3.734H0l3.733-3.734z' fill='#{hex-color(lighten($ui-base-color, 12%))}'/></svg>")
|
||||
|
|
|
@ -8,6 +8,7 @@ import type { ApiAccountJSON } from 'mastodon/api_types/accounts';
|
|||
import type {
|
||||
ApiNotificationGroupJSON,
|
||||
ApiNotificationJSON,
|
||||
NotificationType,
|
||||
} from 'mastodon/api_types/notifications';
|
||||
import { allNotificationTypes } from 'mastodon/api_types/notifications';
|
||||
import type { ApiStatusJSON } from 'mastodon/api_types/statuses';
|
||||
|
@ -15,6 +16,7 @@ import { usePendingItems } from 'mastodon/initial_state';
|
|||
import type { NotificationGap } from 'mastodon/reducers/notification_groups';
|
||||
import {
|
||||
selectSettingsNotificationsExcludedTypes,
|
||||
selectSettingsNotificationsGroupFollows,
|
||||
selectSettingsNotificationsQuickFilterActive,
|
||||
selectSettingsNotificationsShows,
|
||||
} from 'mastodon/selectors/settings';
|
||||
|
@ -68,17 +70,19 @@ function dispatchAssociatedRecords(
|
|||
dispatch(importFetchedStatuses(fetchedStatuses));
|
||||
}
|
||||
|
||||
const supportedGroupedNotificationTypes = ['favourite', 'reblog'];
|
||||
function selectNotificationGroupedTypes(state: RootState) {
|
||||
const types: NotificationType[] = ['favourite', 'reblog'];
|
||||
|
||||
export function shouldGroupNotificationType(type: string) {
|
||||
return supportedGroupedNotificationTypes.includes(type);
|
||||
if (selectSettingsNotificationsGroupFollows(state)) types.push('follow');
|
||||
|
||||
return types;
|
||||
}
|
||||
|
||||
export const fetchNotifications = createDataLoadingThunk(
|
||||
'notificationGroups/fetch',
|
||||
async (_params, { getState }) =>
|
||||
apiFetchNotificationGroups({
|
||||
grouped_types: supportedGroupedNotificationTypes,
|
||||
grouped_types: selectNotificationGroupedTypes(getState()),
|
||||
exclude_types: getExcludedTypes(getState()),
|
||||
}),
|
||||
({ notifications, accounts, statuses }, { dispatch }) => {
|
||||
|
@ -102,7 +106,7 @@ export const fetchNotificationsGap = createDataLoadingThunk(
|
|||
'notificationGroups/fetchGap',
|
||||
async (params: { gap: NotificationGap }, { getState }) =>
|
||||
apiFetchNotificationGroups({
|
||||
grouped_types: supportedGroupedNotificationTypes,
|
||||
grouped_types: selectNotificationGroupedTypes(getState()),
|
||||
max_id: params.gap.maxId,
|
||||
exclude_types: getExcludedTypes(getState()),
|
||||
}),
|
||||
|
@ -119,7 +123,7 @@ export const pollRecentNotifications = createDataLoadingThunk(
|
|||
'notificationGroups/pollRecentNotifications',
|
||||
async (_params, { getState }) => {
|
||||
return apiFetchNotificationGroups({
|
||||
grouped_types: supportedGroupedNotificationTypes,
|
||||
grouped_types: selectNotificationGroupedTypes(getState()),
|
||||
max_id: undefined,
|
||||
exclude_types: getExcludedTypes(getState()),
|
||||
// In slow mode, we don't want to include notifications that duplicate the already-displayed ones
|
||||
|
@ -168,7 +172,10 @@ export const processNewNotificationForGroups = createAppAsyncThunk(
|
|||
|
||||
dispatchAssociatedRecords(dispatch, [notification]);
|
||||
|
||||
return notification;
|
||||
return {
|
||||
notification,
|
||||
groupedTypes: selectNotificationGroupedTypes(state),
|
||||
};
|
||||
},
|
||||
);
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ export interface ApiAccountRoleJSON {
|
|||
}
|
||||
|
||||
// See app/serializers/rest/account_serializer.rb
|
||||
export interface ApiAccountJSON {
|
||||
export interface BaseApiAccountJSON {
|
||||
acct: string;
|
||||
avatar: string;
|
||||
avatar_static: string;
|
||||
|
@ -45,3 +45,12 @@ export interface ApiAccountJSON {
|
|||
memorial?: boolean;
|
||||
hide_collections: boolean;
|
||||
}
|
||||
|
||||
// See app/serializers/rest/muted_account_serializer.rb
|
||||
export interface ApiMutedAccountJSON extends BaseApiAccountJSON {
|
||||
mute_expires_at?: string | null;
|
||||
}
|
||||
|
||||
// For now, we have the same type representing both `Account` and `MutedAccount`
|
||||
// objects, but we should refactor this in the future.
|
||||
export type ApiAccountJSON = ApiMutedAccountJSON;
|
||||
|
|
|
@ -264,7 +264,7 @@ class StatusActionBar extends ImmutablePureComponent {
|
|||
menu.push({ text: intl.formatMessage(messages.share), action: this.handleShareClick });
|
||||
}
|
||||
|
||||
if (publicStatus && (signedIn || !isRemote)) {
|
||||
if (publicStatus && !isRemote) {
|
||||
menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });
|
||||
}
|
||||
|
||||
|
|
|
@ -21,9 +21,11 @@ class ColumnSettings extends PureComponent {
|
|||
|
||||
return (
|
||||
<div className='column-settings'>
|
||||
<div className='column-settings__row'>
|
||||
<SettingToggle settings={settings} settingPath={['other', 'onlyMedia']} onChange={onChange} label={<FormattedMessage id='community.column_settings.media_only' defaultMessage='Media only' />} />
|
||||
</div>
|
||||
<section>
|
||||
<div className='column-settings__row'>
|
||||
<SettingToggle settings={settings} settingPath={['other', 'onlyMedia']} onChange={onChange} label={<FormattedMessage id='community.column_settings.media_only' defaultMessage='Media only' />} />
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -129,8 +129,13 @@ export const InlineFollowSuggestions = ({ hidden }) => {
|
|||
return;
|
||||
}
|
||||
|
||||
setCanScrollLeft(bodyRef.current.scrollLeft > 0);
|
||||
setCanScrollRight((bodyRef.current.scrollLeft + bodyRef.current.clientWidth) < bodyRef.current.scrollWidth);
|
||||
if (getComputedStyle(bodyRef.current).direction === 'rtl') {
|
||||
setCanScrollLeft((bodyRef.current.clientWidth - bodyRef.current.scrollLeft) < bodyRef.current.scrollWidth);
|
||||
setCanScrollRight(bodyRef.current.scrollLeft < 0);
|
||||
} else {
|
||||
setCanScrollLeft(bodyRef.current.scrollLeft > 0);
|
||||
setCanScrollRight((bodyRef.current.scrollLeft + bodyRef.current.clientWidth) < bodyRef.current.scrollWidth);
|
||||
}
|
||||
}, [setCanScrollRight, setCanScrollLeft, bodyRef, suggestions]);
|
||||
|
||||
const handleLeftNav = useCallback(() => {
|
||||
|
@ -146,8 +151,13 @@ export const InlineFollowSuggestions = ({ hidden }) => {
|
|||
return;
|
||||
}
|
||||
|
||||
setCanScrollLeft(bodyRef.current.scrollLeft > 0);
|
||||
setCanScrollRight((bodyRef.current.scrollLeft + bodyRef.current.clientWidth) < bodyRef.current.scrollWidth);
|
||||
if (getComputedStyle(bodyRef.current).direction === 'rtl') {
|
||||
setCanScrollLeft((bodyRef.current.clientWidth - bodyRef.current.scrollLeft) < bodyRef.current.scrollWidth);
|
||||
setCanScrollRight(bodyRef.current.scrollLeft < 0);
|
||||
} else {
|
||||
setCanScrollLeft(bodyRef.current.scrollLeft > 0);
|
||||
setCanScrollRight((bodyRef.current.scrollLeft + bodyRef.current.clientWidth) < bodyRef.current.scrollWidth);
|
||||
}
|
||||
}, [setCanScrollRight, setCanScrollLeft, bodyRef]);
|
||||
|
||||
const handleDismiss = useCallback(() => {
|
||||
|
|
|
@ -38,6 +38,7 @@ class ColumnSettings extends PureComponent {
|
|||
const alertStr = <FormattedMessage id='notifications.column_settings.alert' defaultMessage='Desktop notifications' />;
|
||||
const showStr = <FormattedMessage id='notifications.column_settings.show' defaultMessage='Show in column' />;
|
||||
const soundStr = <FormattedMessage id='notifications.column_settings.sound' defaultMessage='Play sound' />;
|
||||
const groupStr = <FormattedMessage id='notifications.column_settings.group' defaultMessage='Group' />;
|
||||
|
||||
const showPushSettings = pushSettings.get('browserSupport') && pushSettings.get('isSubscribed');
|
||||
const pushStr = showPushSettings && <FormattedMessage id='notifications.column_settings.push' defaultMessage='Push notifications' />;
|
||||
|
@ -94,6 +95,7 @@ class ColumnSettings extends PureComponent {
|
|||
{showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingPath={['alerts', 'follow']} onChange={this.onPushChange} label={pushStr} />}
|
||||
<SettingToggle prefix='notifications' settings={settings} settingPath={['shows', 'follow']} onChange={onChange} label={showStr} />
|
||||
<SettingToggle prefix='notifications' settings={settings} settingPath={['sounds', 'follow']} onChange={onChange} label={soundStr} />
|
||||
<SettingToggle prefix='notifications' settings={settings} settingPath={['group', 'follow']} onChange={onChange} label={groupStr} />
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
|
|
@ -56,11 +56,12 @@ const mapDispatchToProps = (dispatch) => ({
|
|||
} else {
|
||||
dispatch(changeSetting(['notifications', ...path], checked));
|
||||
}
|
||||
} else if(path[0] === 'groupingBeta') {
|
||||
dispatch(changeSetting(['notifications', ...path], checked));
|
||||
dispatch(initializeNotifications());
|
||||
} else {
|
||||
dispatch(changeSetting(['notifications', ...path], checked));
|
||||
|
||||
if(path[0] === 'group' && path[1] === 'follow') {
|
||||
dispatch(initializeNotifications());
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
@ -1,16 +1,19 @@
|
|||
import { FormattedMessage } from 'react-intl';
|
||||
|
||||
import { Link } from 'react-router-dom';
|
||||
|
||||
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 { me } from 'mastodon/initial_state';
|
||||
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 = (displayedName, total) => {
|
||||
const labelRenderer: LabelRenderer = (displayedName, total, seeMoreHref) => {
|
||||
if (total === 1)
|
||||
return (
|
||||
<FormattedMessage
|
||||
|
@ -23,10 +26,12 @@ const labelRenderer: LabelRenderer = (displayedName, total) => {
|
|||
return (
|
||||
<FormattedMessage
|
||||
id='notification.follow.name_and_others'
|
||||
defaultMessage='{name} and {count, plural, one {# other} other {# others}} followed you'
|
||||
defaultMessage='{name} and <a>{count, plural, one {# other} other {# others}}</a> followed you'
|
||||
values={{
|
||||
name: displayedName,
|
||||
count: total - 1,
|
||||
a: (chunks) =>
|
||||
seeMoreHref ? <Link to={seeMoreHref}>{chunks}</Link> : chunks,
|
||||
}}
|
||||
/>
|
||||
);
|
||||
|
@ -46,6 +51,10 @@ export const NotificationFollow: React.FC<{
|
|||
notification: NotificationGroupFollow;
|
||||
unread: boolean;
|
||||
}> = ({ notification, unread }) => {
|
||||
const username = useAppSelector(
|
||||
(state) => state.accounts.getIn([me, 'username']) as string,
|
||||
);
|
||||
|
||||
let actions: JSX.Element | undefined;
|
||||
let additionalContent: JSX.Element | undefined;
|
||||
|
||||
|
@ -68,6 +77,7 @@ export const NotificationFollow: React.FC<{
|
|||
timestamp={notification.latest_page_notification_at}
|
||||
count={notification.notifications_count}
|
||||
labelRenderer={labelRenderer}
|
||||
labelSeeMoreHref={`/@${username}/followers`}
|
||||
unread={unread}
|
||||
actions={actions}
|
||||
additionalContent={additionalContent}
|
||||
|
|
|
@ -13,6 +13,7 @@ import {
|
|||
import type { IconProp } from 'mastodon/components/icon';
|
||||
import { Icon } from 'mastodon/components/icon';
|
||||
import Status from 'mastodon/containers/status_container';
|
||||
import { getStatusHidden } from 'mastodon/selectors/filters';
|
||||
import { useAppSelector, useAppDispatch } from 'mastodon/store';
|
||||
|
||||
import { DisplayedName } from './displayed_name';
|
||||
|
@ -48,6 +49,12 @@ export const NotificationWithStatus: React.FC<{
|
|||
(state) => state.statuses.getIn([statusId, 'visibility']) === 'direct',
|
||||
);
|
||||
|
||||
const isFiltered = useAppSelector(
|
||||
(state) =>
|
||||
statusId &&
|
||||
getStatusHidden(state, { id: statusId, contextType: 'notifications' }),
|
||||
);
|
||||
|
||||
const handlers = useMemo(
|
||||
() => ({
|
||||
open: () => {
|
||||
|
@ -73,7 +80,7 @@ export const NotificationWithStatus: React.FC<{
|
|||
[dispatch, statusId],
|
||||
);
|
||||
|
||||
if (!statusId) return null;
|
||||
if (!statusId || isFiltered) return null;
|
||||
|
||||
return (
|
||||
<HotKeys handlers={handlers}>
|
||||
|
|
|
@ -14,6 +14,8 @@ import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react';
|
|||
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.svg?react';
|
||||
import RepeatDisabledIcon from '@/svg-icons/repeat_disabled.svg?react';
|
||||
import RepeatPrivateIcon from '@/svg-icons/repeat_private.svg?react';
|
||||
import { replyCompose } from 'mastodon/actions/compose';
|
||||
import { toggleReblog, toggleFavourite } from 'mastodon/actions/interactions';
|
||||
import { openModal } from 'mastodon/actions/modal';
|
||||
|
@ -159,22 +161,26 @@ class Footer extends ImmutablePureComponent {
|
|||
replyTitle = intl.formatMessage(messages.replyAll);
|
||||
}
|
||||
|
||||
let reblogTitle = '';
|
||||
let reblogTitle, reblogIconComponent;
|
||||
|
||||
if (status.get('reblogged')) {
|
||||
reblogTitle = intl.formatMessage(messages.cancel_reblog_private);
|
||||
reblogIconComponent = publicStatus ? RepeatIcon : RepeatPrivateIcon;
|
||||
} else if (publicStatus) {
|
||||
reblogTitle = intl.formatMessage(messages.reblog);
|
||||
reblogIconComponent = RepeatIcon;
|
||||
} else if (reblogPrivate) {
|
||||
reblogTitle = intl.formatMessage(messages.reblog_private);
|
||||
reblogIconComponent = RepeatPrivateIcon;
|
||||
} else {
|
||||
reblogTitle = intl.formatMessage(messages.cannot_reblog);
|
||||
reblogIconComponent = RepeatDisabledIcon;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className='picture-in-picture__footer'>
|
||||
<IconButton className='status__action-bar-button' title={replyTitle} icon={status.get('in_reply_to_account_id') === status.getIn(['account', 'id']) ? 'reply' : replyIcon} iconComponent={status.get('in_reply_to_account_id') === status.getIn(['account', 'id']) ? ReplyIcon : replyIconComponent} onClick={this.handleReplyClick} counter={status.get('replies_count')} />
|
||||
<IconButton className={classNames('status__action-bar-button', { reblogPrivate })} disabled={!publicStatus && !reblogPrivate} active={status.get('reblogged')} title={reblogTitle} icon='retweet' iconComponent={RepeatIcon} onClick={this.handleReblogClick} counter={status.get('reblogs_count')} />
|
||||
<IconButton className={classNames('status__action-bar-button', { reblogPrivate })} disabled={!publicStatus && !reblogPrivate} active={status.get('reblogged')} title={reblogTitle} icon='retweet' iconComponent={reblogIconComponent} onClick={this.handleReblogClick} counter={status.get('reblogs_count')} />
|
||||
<IconButton className='status__action-bar-button star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' iconComponent={StarIcon} onClick={this.handleFavouriteClick} counter={status.get('favourites_count')} />
|
||||
{withOpenButton && <IconButton className='status__action-bar-button' title={intl.formatMessage(messages.open)} icon='external-link' iconComponent={OpenInNewIcon} onClick={this.handleOpenClick} href={`/@${status.getIn(['account', 'acct'])}/${status.get('id')}`} />}
|
||||
</div>
|
||||
|
|
|
@ -116,6 +116,7 @@ export const MuteModal = ({ accountId, acct }) => {
|
|||
<div className='safety-action-modal__bottom__collapsible'>
|
||||
<div className='safety-action-modal__field-group'>
|
||||
<RadioButtonLabel name='duration' value='0' label={intl.formatMessage(messages.indefinite)} currentValue={muteDuration} onChange={handleChangeMuteDuration} />
|
||||
<RadioButtonLabel name='duration' value='21600' label={intl.formatMessage(messages.hours, { number: 6 })} currentValue={muteDuration} onChange={handleChangeMuteDuration} />
|
||||
<RadioButtonLabel name='duration' value='86400' label={intl.formatMessage(messages.hours, { number: 24 })} currentValue={muteDuration} onChange={handleChangeMuteDuration} />
|
||||
<RadioButtonLabel name='duration' value='604800' label={intl.formatMessage(messages.days, { number: 7 })} currentValue={muteDuration} onChange={handleChangeMuteDuration} />
|
||||
<RadioButtonLabel name='duration' value='2592000' label={intl.formatMessage(messages.days, { number: 30 })} currentValue={muteDuration} onChange={handleChangeMuteDuration} />
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
"account.followers": "Siguidores",
|
||||
"account.followers.empty": "Naide sigue a esti perfil.",
|
||||
"account.follows.empty": "Esti perfil nun sigue a naide.",
|
||||
"account.hide_reblogs": "Anubrir los artículos compartíos de @{name}",
|
||||
"account.hide_reblogs": "Esconder los artículos compartíos de @{name}",
|
||||
"account.in_memoriam": "N'alcordanza.",
|
||||
"account.joined_short": "Data de xunión",
|
||||
"account.link_verified_on": "La propiedá d'esti enllaz comprobóse'l {date}",
|
||||
|
@ -122,6 +122,7 @@
|
|||
"conversation.open": "Ver la conversación",
|
||||
"conversation.with": "Con {names}",
|
||||
"copypaste.copied": "Copióse",
|
||||
"copypaste.copy_to_clipboard": "Copiar nel cartafueyu",
|
||||
"directory.federated": "Del fediversu conocíu",
|
||||
"directory.local": "De «{domain}» namás",
|
||||
"directory.new_arrivals": "Cuentes nueves",
|
||||
|
@ -130,7 +131,7 @@
|
|||
"dismissable_banner.dismiss": "Escartar",
|
||||
"dismissable_banner.explore_tags": "Esta seición contién les etiquetes del fediversu que tán ganando popularidá güei. Les etiquetes más usaes polos perfiles apaecen no cimero.",
|
||||
"dismissable_banner.public_timeline": "Esta seición contién los artículos más nuevos de les persones na web social que les persones de {domain} siguen.",
|
||||
"embed.instructions": "Empotra esti artículu nel to sitiu web pente la copia del códigu d'abaxo.",
|
||||
"embed.instructions": "Empotra esti artículu nel to sitiu web copiando'l códigu d'abaxo.",
|
||||
"embed.preview": "Va apaecer asina:",
|
||||
"emoji_button.activity": "Actividá",
|
||||
"emoji_button.flags": "Banderes",
|
||||
|
@ -251,7 +252,7 @@
|
|||
"keyboard_shortcuts.requests": "Abrir la llista de solicitúes de siguimientu",
|
||||
"keyboard_shortcuts.search": "Enfocar la barra de busca",
|
||||
"keyboard_shortcuts.start": "Abrir la columna «Entamar»",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Amosar/anubrir el conteníu multimedia",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Amosar/esconder el conteníu multimedia",
|
||||
"keyboard_shortcuts.toot": "Comenzar un artículu nuevu",
|
||||
"keyboard_shortcuts.unfocus": "Desenfocar l'área de composición/busca",
|
||||
"keyboard_shortcuts.up": "Xubir na llista",
|
||||
|
@ -299,6 +300,7 @@
|
|||
"notifications.column_settings.admin.sign_up": "Rexistros nuevos:",
|
||||
"notifications.column_settings.follow": "Siguidores nuevos:",
|
||||
"notifications.column_settings.follow_request": "Solicitúes de siguimientu nueves:",
|
||||
"notifications.column_settings.group": "Agrupar",
|
||||
"notifications.column_settings.mention": "Menciones:",
|
||||
"notifications.column_settings.poll": "Resultaos de les encuestes:",
|
||||
"notifications.column_settings.reblog": "Artículos compartíos:",
|
||||
|
@ -418,11 +420,12 @@
|
|||
"status.direct": "Mentar a @{name} per privao",
|
||||
"status.direct_indicator": "Mención privada",
|
||||
"status.edited_x_times": "Editóse {count, plural, one {{count} vegada} other {{count} vegaes}}",
|
||||
"status.embed": "Consiguir el códigu pa empotrar",
|
||||
"status.filter": "Peñerar esti artículu",
|
||||
"status.history.created": "{name} creó {date}",
|
||||
"status.history.edited": "{name} editó {date}",
|
||||
"status.load_more": "Cargar más",
|
||||
"status.media_hidden": "Conteníu multimedia anubríu",
|
||||
"status.media_hidden": "Conteníu multimedia escondíu",
|
||||
"status.mention": "Mentar a @{name}",
|
||||
"status.more": "Más",
|
||||
"status.mute": "Desactivar los avisos de @{name}",
|
||||
|
@ -468,14 +471,14 @@
|
|||
"upload_modal.applying": "Aplicando…",
|
||||
"upload_modal.detect_text": "Detectar el testu de la semeya",
|
||||
"upload_modal.edit_media": "Edición",
|
||||
"upload_modal.hint": "Calca o arrastra'l círculu de la previsualización pa escoyer el puntu d'enfoque que siempres va tar a la vista en toles miniatures.",
|
||||
"upload_modal.hint": "Calca o arrastra'l círculu de la previsualización pa escoyer el puntu d'enfoque que siempre va tar a la vista en toles miniatures.",
|
||||
"upload_progress.label": "Xubiendo…",
|
||||
"upload_progress.processing": "Procesando…",
|
||||
"video.close": "Zarrar el videu",
|
||||
"video.download": "Baxar el ficheru",
|
||||
"video.expand": "Espander el videu",
|
||||
"video.fullscreen": "Pantalla completa",
|
||||
"video.hide": "Anubrir el videu",
|
||||
"video.hide": "Esconder el videu",
|
||||
"video.mute": "Desactivar el soníu",
|
||||
"video.pause": "Posar",
|
||||
"video.play": "Reproducir",
|
||||
|
|
|
@ -490,7 +490,6 @@
|
|||
"notification.favourite": "{name} направи любима публикацията ви",
|
||||
"notification.favourite.name_and_others_with_link": "{name} и <a>{count, plural, one {# друг} other {# други}}</a> направиха любима ваша публикация",
|
||||
"notification.follow": "{name} ви последва",
|
||||
"notification.follow.name_and_others": "{name} и {count, plural, one {# друг} other {# други}} ви последваха",
|
||||
"notification.follow_request": "{name} поиска да ви последва",
|
||||
"notification.follow_request.name_and_others": "{name} и {count, plural, one {# друг} other {# други}} поискаха да ви последват",
|
||||
"notification.label.mention": "Споменаване",
|
||||
|
|
|
@ -385,6 +385,7 @@
|
|||
"notification.admin.report": "Disklêriet eo bet {target} gant {name}",
|
||||
"notification.admin.sign_up": "{name} en·he deus lakaet e·hec'h anv",
|
||||
"notification.follow": "heuliañ a ra {name} ac'hanoc'h",
|
||||
"notification.follow.name_and_others": "{name} <a>{count, plural, one {hag # den all} two {ha # zen all} few {ha # den all} many {ha # den all} other {ha # den all}}</a> zo o heuliañ ac'hanoc'h",
|
||||
"notification.follow_request": "Gant {name} eo bet goulennet ho heuliañ",
|
||||
"notification.moderation-warning.learn_more": "Gouzout hiroc'h",
|
||||
"notification.own_poll": "Echu eo ho sontadeg",
|
||||
|
@ -399,6 +400,7 @@
|
|||
"notifications.column_settings.favourite": "Muiañ-karet:",
|
||||
"notifications.column_settings.follow": "Heulierien nevez:",
|
||||
"notifications.column_settings.follow_request": "Pedadoù heuliañ nevez :",
|
||||
"notifications.column_settings.group": "Strollañ",
|
||||
"notifications.column_settings.mention": "Menegoù:",
|
||||
"notifications.column_settings.poll": "Disoc'hoù ar sontadeg:",
|
||||
"notifications.column_settings.push": "Kemennoù push",
|
||||
|
|
|
@ -508,7 +508,6 @@
|
|||
"notification.favourite": "{name} ha afavorit el teu tut",
|
||||
"notification.favourite.name_and_others_with_link": "{name} i <a>{count, plural, one {# altre} other {# altres}}</a> 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.follow_request.name_and_others": "{name} i {count, plural, one {# altre} other {# altres}} han demanat de seguir-vos",
|
||||
"notification.label.mention": "Menció",
|
||||
|
|
|
@ -222,6 +222,7 @@
|
|||
"domain_block_modal.they_cant_follow": "Ni all neb o'r gweinydd hwn eich dilyn.",
|
||||
"domain_block_modal.they_wont_know": "Fyddan nhw ddim yn gwybod eu bod wedi cael eu blocio.",
|
||||
"domain_block_modal.title": "Blocio parth?",
|
||||
"domain_block_modal.you_will_lose_num_followers": "Byddwch yn colli {followersCount, plural, one {{followersCountDisplay} dilynwr} other {{followersCountDisplay} dilynwyr}} a {followingCount, plural, one {{followingCountDisplay} person rydych yn dilyn} other {{followingCountDisplay} o bobl rydych yn eu dilyn}}.",
|
||||
"domain_block_modal.you_will_lose_relationships": "Byddwch yn colli'r holl ddilynwyr a phobl rydych chi'n eu dilyn o'r gweinydd hwn.",
|
||||
"domain_block_modal.you_wont_see_posts": "Fyddwch chi ddim yn gweld postiadau na hysbysiadau gan ddefnyddwyr ar y gweinydd hwn.",
|
||||
"domain_pill.activitypub_lets_connect": "Mae'n caniatáu ichi gysylltu a rhyngweithio â phobl nid yn unig ar Mastodon, ond ar draws gwahanol apiau cymdeithasol hefyd.",
|
||||
|
@ -507,7 +508,7 @@
|
|||
"notification.favourite": "Ffafriodd {name} eich postiad",
|
||||
"notification.favourite.name_and_others_with_link": "Ffafriodd {name} a <a>{count, plural, one {# arall} other {# eraill}}</a> 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.name_and_others": "Mae {name} a <a>{count, plural, zero {}one {# other} two {# others} few {# others} many {# others} other {# others}}</a> nawr yn eich dilyn chi",
|
||||
"notification.follow_request": "Mae {name} wedi gwneud cais i'ch dilyn",
|
||||
"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",
|
||||
|
@ -515,6 +516,7 @@
|
|||
"notification.label.private_reply": "Ateb preifat",
|
||||
"notification.label.reply": "Ateb",
|
||||
"notification.mention": "Crybwyll",
|
||||
"notification.mentioned_you": "Rydych wedi'ch crybwyll gan {name}",
|
||||
"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.",
|
||||
|
@ -565,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Bar hidlo cyflym",
|
||||
"notifications.column_settings.follow": "Dilynwyr newydd:",
|
||||
"notifications.column_settings.follow_request": "Ceisiadau dilyn newydd:",
|
||||
"notifications.column_settings.group": "Grŵp",
|
||||
"notifications.column_settings.mention": "Crybwylliadau:",
|
||||
"notifications.column_settings.poll": "Canlyniadau pleidlais:",
|
||||
"notifications.column_settings.push": "Hysbysiadau gwthiadwy",
|
||||
|
|
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} favoritmarkerede dit indlæg",
|
||||
"notification.favourite.name_and_others_with_link": "{name} og <a>{count, plural, one {# anden} other {# andre}}</a> 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.name_and_others": "{name} og <a>{count, plural, one {# andre} other {# andre}}</a> begyndte at følge dig",
|
||||
"notification.follow_request": "{name} har anmodet om at følge 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",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Hurtigfiltreringsbjælke",
|
||||
"notifications.column_settings.follow": "Nye følgere:",
|
||||
"notifications.column_settings.follow_request": "Nye følgeanmodninger:",
|
||||
"notifications.column_settings.group": "Gruppere",
|
||||
"notifications.column_settings.mention": "Omtaler:",
|
||||
"notifications.column_settings.poll": "Afstemningsresultater:",
|
||||
"notifications.column_settings.push": "Push-notifikationer",
|
||||
|
|
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} favorisierte deinen Beitrag",
|
||||
"notification.favourite.name_and_others_with_link": "{name} und <a>{count, plural, one {# weitere Person} other {# weitere Personen}}</a> 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.name_and_others": "{name} und <a>{count, plural, one {# weitere Person} other {# weitere Personen}}</a> folgen dir",
|
||||
"notification.follow_request": "{name} möchte dir folgen",
|
||||
"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",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Filterleiste",
|
||||
"notifications.column_settings.follow": "Neue Follower:",
|
||||
"notifications.column_settings.follow_request": "Neue Follower-Anfragen:",
|
||||
"notifications.column_settings.group": "Gruppieren",
|
||||
"notifications.column_settings.mention": "Erwähnungen:",
|
||||
"notifications.column_settings.poll": "Umfrageergebnisse:",
|
||||
"notifications.column_settings.push": "Push-Benachrichtigungen",
|
||||
|
|
|
@ -508,7 +508,6 @@
|
|||
"notification.favourite": "{name} favorited your post\n{name} προτίμησε την ανάρτηση σου",
|
||||
"notification.favourite.name_and_others_with_link": "{name} και <a>{count, plural, one {# ακόμη} other {# ακόμη}}</a> αγάπησαν την ανάρτησή σου",
|
||||
"notification.follow": "Ο/Η {name} σε ακολούθησε",
|
||||
"notification.follow.name_and_others": "{name} και {count, plural, one {# ακόμη} other {# ακόμη}} σε ακολούθησαν",
|
||||
"notification.follow_request": "Ο/H {name} ζήτησε να σε ακολουθήσει",
|
||||
"notification.follow_request.name_and_others": "{name} και {count, plural, one {# άλλος} other {# άλλοι}} ζήτησαν να σε ακολουθήσουν",
|
||||
"notification.label.mention": "Επισήμανση",
|
||||
|
|
|
@ -508,7 +508,6 @@
|
|||
"notification.favourite": "{name} favourited your post",
|
||||
"notification.favourite.name_and_others_with_link": "{name} and <a>{count, plural, one {# other} other {# others}}</a> 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.follow_request.name_and_others": "{name} and {count, plural, one {# other} other {# others}} has requested to follow you",
|
||||
"notification.label.mention": "Mention",
|
||||
|
@ -791,7 +790,7 @@
|
|||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
"status.embed": "Get embed code",
|
||||
"status.favourite": "Favourite",
|
||||
"status.favourites": "{count, plural, one {favorite} other {favorites}}",
|
||||
"status.favourites": "{count, plural, one {favourite} other {favourites}}",
|
||||
"status.filter": "Filter this post",
|
||||
"status.history.created": "{name} created {date}",
|
||||
"status.history.edited": "{name} edited {date}",
|
||||
|
|
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} favorited your post",
|
||||
"notification.favourite.name_and_others_with_link": "{name} and <a>{count, plural, one {# other} other {# others}}</a> 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.name_and_others": "{name} and <a>{count, plural, one {# other} other {# others}}</a> 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",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Quick filter bar",
|
||||
"notifications.column_settings.follow": "New followers:",
|
||||
"notifications.column_settings.follow_request": "New follow requests:",
|
||||
"notifications.column_settings.group": "Group",
|
||||
"notifications.column_settings.mention": "Mentions:",
|
||||
"notifications.column_settings.poll": "Poll results:",
|
||||
"notifications.column_settings.push": "Push notifications",
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
"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.bot": "Aŭtomata",
|
||||
"account.badges.group": "Grupo",
|
||||
"account.block": "Bloki @{name}",
|
||||
"account.block_domain": "Bloki la domajnon {domain}",
|
||||
|
@ -86,7 +86,7 @@
|
|||
"alert.unexpected.message": "Neatendita eraro okazis.",
|
||||
"alert.unexpected.title": "Aj!",
|
||||
"alt_text_badge.title": "Alt-teksto",
|
||||
"announcement.announcement": "Anoncoj",
|
||||
"announcement.announcement": "Anonco",
|
||||
"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.",
|
||||
|
@ -105,13 +105,13 @@
|
|||
"bundle_column_error.error.title": "Ho, ve!",
|
||||
"bundle_column_error.network.body": "Okazis eraro dum ŝarĝado de ĉi tiu paĝo. Tion povas kaŭzi portempa problemo pri via retkonektado aŭ pri ĉi tiu servilo.",
|
||||
"bundle_column_error.network.title": "Eraro de reto",
|
||||
"bundle_column_error.retry": "Provu refoje",
|
||||
"bundle_column_error.retry": "Provu denove",
|
||||
"bundle_column_error.return": "Reiri hejmen",
|
||||
"bundle_column_error.routing.body": "La celita paĝo ne troveblas. Ĉu vi certas, ke la retadreso (URL) en via retfoliumilo estas ĝusta?",
|
||||
"bundle_column_error.routing.title": "404",
|
||||
"bundle_modal_error.close": "Fermi",
|
||||
"bundle_modal_error.message": "Io misfunkciis en la ŝargado de ĉi tiu elemento.",
|
||||
"bundle_modal_error.retry": "Bonvolu reprovi",
|
||||
"bundle_modal_error.retry": "Provu denove",
|
||||
"closed_registrations.other_server_instructions": "Ĉar Mastodon estas malcentraliza, vi povas krei konton ĉe alia servilo kaj ankoraŭ komuniki kun ĉi tiu.",
|
||||
"closed_registrations_modal.description": "Krei konton ĉe {domain} aktuale ne eblas, tamen bonvole rimarku, ke vi ne bezonas konton specife ĉe {domain} por uzi Mastodon.",
|
||||
"closed_registrations_modal.find_another_server": "Trovi alian servilon",
|
||||
|
@ -182,8 +182,8 @@
|
|||
"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.confirm": "Elsaluti",
|
||||
"confirmations.logout.message": "Ĉu vi certas, ke vi volas elsaluti?",
|
||||
"confirmations.logout.title": "Ĉu elsaluti?",
|
||||
"confirmations.mute.confirm": "Silentigi",
|
||||
"confirmations.redraft.confirm": "Forigi kaj reskribi",
|
||||
|
@ -198,7 +198,7 @@
|
|||
"content_warning.hide": "Kaŝi afiŝon",
|
||||
"content_warning.show": "Montri ĉiukaze",
|
||||
"conversation.delete": "Forigi konversacion",
|
||||
"conversation.mark_as_read": "Marki legita",
|
||||
"conversation.mark_as_read": "Marku kiel legita",
|
||||
"conversation.open": "Vidi konversacion",
|
||||
"conversation.with": "Kun {names}",
|
||||
"copy_icon_button.copied": "Kopiis al kliptabulo",
|
||||
|
@ -247,18 +247,18 @@
|
|||
"emoji_button.food": "Manĝi kaj trinki",
|
||||
"emoji_button.label": "Enmeti emoĝion",
|
||||
"emoji_button.nature": "Naturo",
|
||||
"emoji_button.not_found": "Neniu emoĝio!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.not_found": "Neniuj kongruaj emoĝioj trovitaj",
|
||||
"emoji_button.objects": "Aĵoj",
|
||||
"emoji_button.people": "Homoj",
|
||||
"emoji_button.recent": "Ofte uzataj",
|
||||
"emoji_button.search": "Serĉo…",
|
||||
"emoji_button.search": "Serĉo...",
|
||||
"emoji_button.search_results": "Serĉaj rezultoj",
|
||||
"emoji_button.symbols": "Simboloj",
|
||||
"emoji_button.travel": "Vojaĝoj kaj lokoj",
|
||||
"empty_column.account_hides_collections": "Ĉi tiu uzanto elektis ne disponebligi ĉi tiu informon",
|
||||
"empty_column.account_suspended": "Konto suspendita",
|
||||
"empty_column.account_timeline": "Neniu afiŝo ĉi tie!",
|
||||
"empty_column.account_unavailable": "Profilo ne disponebla",
|
||||
"empty_column.account_timeline": "Neniuj afiŝoj ĉi tie!",
|
||||
"empty_column.account_unavailable": "Profilo nedisponebla",
|
||||
"empty_column.blocks": "Vi ankoraŭ ne blokis uzanton.",
|
||||
"empty_column.bookmarked_statuses": "Vi ankoraŭ ne aldonis afiŝon al viaj legosignoj. Kiam vi aldonos iun, tiu aperos ĉi tie.",
|
||||
"empty_column.community": "La loka templinio estas malplena. Skribu ion por plenigi ĝin!",
|
||||
|
@ -343,7 +343,7 @@
|
|||
"hashtag.column_header.tag_mode.all": "kaj {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "aŭ {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "sen {additional}",
|
||||
"hashtag.column_settings.select.no_options_message": "Neniu sugesto trovita",
|
||||
"hashtag.column_settings.select.no_options_message": "Neniuj sugestoj trovitaj",
|
||||
"hashtag.column_settings.select.placeholder": "Enmeti kradvortojn…",
|
||||
"hashtag.column_settings.tag_mode.all": "Ĉiuj",
|
||||
"hashtag.column_settings.tag_mode.any": "Iu ajn",
|
||||
|
@ -399,40 +399,40 @@
|
|||
"intervals.full.days": "{number, plural, one {# tago} other {# tagoj}}",
|
||||
"intervals.full.hours": "{number, plural, one {# horo} other {# horoj}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutoj}}",
|
||||
"keyboard_shortcuts.back": "reveni",
|
||||
"keyboard_shortcuts.back": "Reiru reen",
|
||||
"keyboard_shortcuts.blocked": "Malfermi la liston de blokitaj uzantoj",
|
||||
"keyboard_shortcuts.boost": "Diskonigi la mesaĝon",
|
||||
"keyboard_shortcuts.column": "Fokusi kolumnon",
|
||||
"keyboard_shortcuts.compose": "enfokusigi la tekstujon",
|
||||
"keyboard_shortcuts.compose": "Enfokusigi la tekstaron",
|
||||
"keyboard_shortcuts.description": "Priskribo",
|
||||
"keyboard_shortcuts.direct": "por malfermi la kolumnon pri privataj mencioj",
|
||||
"keyboard_shortcuts.down": "iri suben en la listo",
|
||||
"keyboard_shortcuts.down": "Movu malsupren en la listo",
|
||||
"keyboard_shortcuts.enter": "Malfermi afiŝon",
|
||||
"keyboard_shortcuts.favourite": "Stelumi afiŝon",
|
||||
"keyboard_shortcuts.favourites": "Malfermi la liston de la stelumoj",
|
||||
"keyboard_shortcuts.federated": "Malfermi la frataran templinion",
|
||||
"keyboard_shortcuts.heading": "Klavaraj mallongigoj",
|
||||
"keyboard_shortcuts.heading": "Fulmoklavoj",
|
||||
"keyboard_shortcuts.home": "Malfermi la hejman templinion",
|
||||
"keyboard_shortcuts.hotkey": "Rapidklavo",
|
||||
"keyboard_shortcuts.legend": "montri ĉi tiun noton",
|
||||
"keyboard_shortcuts.local": "Malfermi la lokan templinion",
|
||||
"keyboard_shortcuts.mention": "mencii la aŭtoron",
|
||||
"keyboard_shortcuts.muted": "malfermi la liston de silentigitaj uzantoj",
|
||||
"keyboard_shortcuts.my_profile": "malfermi vian profilon",
|
||||
"keyboard_shortcuts.notifications": "malfermi la kolumnon de sciigoj",
|
||||
"keyboard_shortcuts.open_media": "Malfermi plurmedion",
|
||||
"keyboard_shortcuts.legend": "Montru ĉi tiun legendon",
|
||||
"keyboard_shortcuts.local": "Malfermu la lokan templinion",
|
||||
"keyboard_shortcuts.mention": "Menciu aŭtoron",
|
||||
"keyboard_shortcuts.muted": "Malfermu la liston de silentigitaj uzantoj",
|
||||
"keyboard_shortcuts.my_profile": "Malfermu vian profilon",
|
||||
"keyboard_shortcuts.notifications": "Malfermu la sciigajn kolumnon",
|
||||
"keyboard_shortcuts.open_media": "Malfermu plurmedion",
|
||||
"keyboard_shortcuts.pinned": "Malfermu alpinglitajn afiŝojn-liston",
|
||||
"keyboard_shortcuts.profile": "malfermi la profilon de la aŭtoro",
|
||||
"keyboard_shortcuts.profile": "Malfermu la profilon de aŭtoro",
|
||||
"keyboard_shortcuts.reply": "Respondu al afiŝo",
|
||||
"keyboard_shortcuts.requests": "Malfermi la liston de petoj por sekvado",
|
||||
"keyboard_shortcuts.search": "enfokusigi la serĉilon",
|
||||
"keyboard_shortcuts.spoilers": "Montri/kaŝi la kampon de averto de enhavo (\"CW\")",
|
||||
"keyboard_shortcuts.start": "malfermi la kolumnon «por komenci»",
|
||||
"keyboard_shortcuts.toggle_hidden": "Montri/kaŝi tekston malantaŭ la averto de enhavo (\"CW\")",
|
||||
"keyboard_shortcuts.search": "Enfokusigi la serĉbreton",
|
||||
"keyboard_shortcuts.spoilers": "Montri/kaŝi CW-kampon",
|
||||
"keyboard_shortcuts.start": "Malfermu \"por komenci\" kolumnon",
|
||||
"keyboard_shortcuts.toggle_hidden": "Montri/kaŝi tekston malantaŭ CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Montri/kaŝi plurmedion",
|
||||
"keyboard_shortcuts.toot": "Komencu novan afiŝon",
|
||||
"keyboard_shortcuts.unfocus": "malenfokusigi la tekstujon aŭ la serĉilon",
|
||||
"keyboard_shortcuts.up": "iri supren en la listo",
|
||||
"keyboard_shortcuts.unfocus": "Senfokusigi verki tekstareon/serĉon",
|
||||
"keyboard_shortcuts.up": "Movu supren en la listo",
|
||||
"lightbox.close": "Fermi",
|
||||
"lightbox.next": "Antaŭen",
|
||||
"lightbox.previous": "Malantaŭen",
|
||||
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} stelumis vian afiŝon",
|
||||
"notification.favourite.name_and_others_with_link": "{name} kaj <a>{count, plural, one {# alia} other {# aliaj}}</a> ŝatis vian afiŝon",
|
||||
"notification.follow": "{name} eksekvis vin",
|
||||
"notification.follow.name_and_others": "{name} kaj {count, plural, one {# alia} other {# aliaj}} sekvis vin",
|
||||
"notification.follow.name_and_others": "{name} kaj <a>{count, plural, one {# alia} other {# aliaj}}</a> sekvis vin",
|
||||
"notification.follow_request": "{name} petis sekvi vin",
|
||||
"notification.follow_request.name_and_others": "{name} kaj {count, plural, one {# alia} other {# aliaj}} petis sekvi vin",
|
||||
"notification.label.mention": "Mencii",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Rapida filtrila breto",
|
||||
"notifications.column_settings.follow": "Novaj sekvantoj:",
|
||||
"notifications.column_settings.follow_request": "Novaj petoj de sekvado:",
|
||||
"notifications.column_settings.group": "Grupo",
|
||||
"notifications.column_settings.mention": "Mencioj:",
|
||||
"notifications.column_settings.poll": "Balotenketaj rezultoj:",
|
||||
"notifications.column_settings.push": "Puŝsciigoj",
|
||||
|
@ -612,8 +613,8 @@
|
|||
"notifications_permission_banner.title": "Neniam preterlasas iun ajn",
|
||||
"onboarding.action.back": "Prenu min reen",
|
||||
"onboarding.actions.back": "Prenu min reen",
|
||||
"onboarding.actions.go_to_explore": "See what's trending",
|
||||
"onboarding.actions.go_to_home": "Go to your home feed",
|
||||
"onboarding.actions.go_to_explore": "Konduku min al tendenco",
|
||||
"onboarding.actions.go_to_home": "Konduku min al mia hejma fluo",
|
||||
"onboarding.compose.template": "Saluton #Mastodon!",
|
||||
"onboarding.follows.empty": "Bedaŭrinde, neniu rezulto estas montrebla nuntempe. Vi povas provi serĉi aŭ foliumi la esploran paĝon por trovi kontojn por sekvi, aŭ retrovi baldaŭ.",
|
||||
"onboarding.follows.lead": "Via hejma fluo estas la ĉefa maniero sperti Mastodon. Ju pli da homoj vi sekvas, des pli aktiva kaj interesa ĝi estos. Por komenci, jen kelkaj sugestoj:",
|
||||
|
@ -633,17 +634,17 @@
|
|||
"onboarding.share.message": "Mi estas {username} en #Mastodon! Sekvu min ĉe {url}",
|
||||
"onboarding.share.next_steps": "Eblaj malantauaj paŝoj:",
|
||||
"onboarding.share.title": "Disvastigi vian profilon",
|
||||
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
|
||||
"onboarding.start.skip": "Want to skip right ahead?",
|
||||
"onboarding.start.lead": "Vi nun estas parto de Mastodon, unika, malcentralizita socia amaskomunikilara platformo, kie vi—ne algoritmo—zorgas vian propran sperton. Ni komencu vin sur ĉi tiu nova socia limo:",
|
||||
"onboarding.start.skip": "Ĉu vi ne bezonas helpon por komenci?",
|
||||
"onboarding.start.title": "Vi atingas ĝin!",
|
||||
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
|
||||
"onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}",
|
||||
"onboarding.steps.follow_people.body": "Sekvi interesajn homojn estas pri kio Mastodonto temas.",
|
||||
"onboarding.steps.follow_people.title": "Agordu vian hejman fluon",
|
||||
"onboarding.steps.publish_status.body": "Salutu la mondon per teksto, fotoj, filmetoj aŭ balotenketoj {emoji}",
|
||||
"onboarding.steps.publish_status.title": "Fari vian unuan afiŝon",
|
||||
"onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.",
|
||||
"onboarding.steps.setup_profile.title": "Customize your profile",
|
||||
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
|
||||
"onboarding.steps.share_profile.title": "Share your profile",
|
||||
"onboarding.steps.setup_profile.body": "Diskonigu viajn interagojn havante ampleksan profilon.",
|
||||
"onboarding.steps.setup_profile.title": "Agordu vian profilon",
|
||||
"onboarding.steps.share_profile.body": "Sciigu viajn amikojn kiel trovi vin sur Mastodon",
|
||||
"onboarding.steps.share_profile.title": "Kunhavigu vian Mastodon-profilon",
|
||||
"onboarding.tips.2fa": "<strong>Ĉu vi scias?</strong> Vi povas sekurigi vian konton per efektivigi dufaktora autentigo en via kontoagordoj.",
|
||||
"onboarding.tips.accounts_from_other_servers": "<strong>Ĉu vi scias?</strong> Ĉar Mastodon estas sencentra, kelkaj profiloj kiujn vi trovi estas gastigitaj ĉe aliaj serviloj kiuj ne estas via.",
|
||||
"onboarding.tips.migration": "<strong>Ĉu vi scias?</strong> Se vi sentas ke {domain} ne estas bona servilelekto por vi en la estonteco, vi povas translokiĝi al alia servilo de Mastodon sen malgajni viajn sekvantojn.",
|
||||
|
@ -825,7 +826,7 @@
|
|||
"status.show_less_all": "Montri malpli ĉiun",
|
||||
"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}}",
|
||||
"status.title.with_attachments": "{user} afiŝis {attachmentCount, plural, one {aldonaĵon} other {{attachmentCount} aldonaĵojn}}",
|
||||
"status.translate": "Traduki",
|
||||
"status.translated_from_with": "Tradukita el {lang} per {provider}",
|
||||
"status.uncached_media_warning": "Antaŭrigardo ne disponebla",
|
||||
|
@ -848,7 +849,7 @@
|
|||
"units.short.million": "{count}M",
|
||||
"units.short.thousand": "{count}K",
|
||||
"upload_area.title": "Altreni kaj lasi por alŝuti",
|
||||
"upload_button.label": "Aldoni aŭdovidaĵon (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_button.label": "Aldonu bildojn, filmeton aŭ sondosieron",
|
||||
"upload_error.limit": "Limo de dosiera alŝutado transpasita.",
|
||||
"upload_error.poll": "Alŝuto de dosiero ne permesita kun balotenketo.",
|
||||
"upload_form.audio_description": "Priskribi por homoj kiuj malfacile aŭdi",
|
||||
|
@ -871,17 +872,17 @@
|
|||
"upload_modal.hint": "Klaku aŭ trenu la cirklon en la antaŭvidilo por elekti la fokuspunkton kiu ĉiam videblos en ĉiuj etigitaj bildoj.",
|
||||
"upload_modal.preparing_ocr": "Preparante OSR…",
|
||||
"upload_modal.preview_label": "Antaŭvido ({ratio})",
|
||||
"upload_progress.label": "Alŝutado…",
|
||||
"upload_progress.label": "Alŝutante...",
|
||||
"upload_progress.processing": "Traktante…",
|
||||
"username.taken": "La uzantnomo estas jam posedita. Provu alion",
|
||||
"video.close": "Fermi la videon",
|
||||
"video.close": "Fermu la filmeton",
|
||||
"video.download": "Elŝuti dosieron",
|
||||
"video.exit_fullscreen": "Eksigi plenekrana",
|
||||
"video.expand": "Pligrandigi la videon",
|
||||
"video.fullscreen": "Igi plenekrana",
|
||||
"video.hide": "Kaŝi la videon",
|
||||
"video.hide": "Kaŝu la filmeton",
|
||||
"video.mute": "Silentigi",
|
||||
"video.pause": "Paŭzi",
|
||||
"video.pause": "Paŭzigi",
|
||||
"video.play": "Ekigi",
|
||||
"video.unmute": "Malsilentigi"
|
||||
}
|
||||
|
|
|
@ -249,7 +249,7 @@
|
|||
"emoji_button.nature": "Naturaleza",
|
||||
"emoji_button.not_found": "No se encontraron emojis coincidentes",
|
||||
"emoji_button.objects": "Objetos",
|
||||
"emoji_button.people": "Cuentas",
|
||||
"emoji_button.people": "Gente",
|
||||
"emoji_button.recent": "Usados frecuentemente",
|
||||
"emoji_button.search": "Buscar...",
|
||||
"emoji_button.search_results": "Resultados de búsqueda",
|
||||
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} marcó tu mensaje como favorito",
|
||||
"notification.favourite.name_and_others_with_link": "{name} y <a>{count, plural, one {# cuenta más} other {# cuentas más}}</a> 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.name_and_others": "{name} y <a>{count, plural, one {# cuenta más} other {# cuentas más}}</a> te están siguiendo",
|
||||
"notification.follow_request": "{name} solicitó seguirte",
|
||||
"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",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Barra de filtrado rápido",
|
||||
"notifications.column_settings.follow": "Nuevos seguidores:",
|
||||
"notifications.column_settings.follow_request": "Nuevas solicitudes de seguimiento:",
|
||||
"notifications.column_settings.group": "Agrupar",
|
||||
"notifications.column_settings.mention": "Menciones:",
|
||||
"notifications.column_settings.poll": "Resultados de la encuesta:",
|
||||
"notifications.column_settings.push": "Notificaciones push",
|
||||
|
|
|
@ -159,8 +159,8 @@
|
|||
"compose_form.poll.multiple": "Selección múltiple",
|
||||
"compose_form.poll.option_placeholder": "Opción {number}",
|
||||
"compose_form.poll.single": "Seleccione uno",
|
||||
"compose_form.poll.switch_to_multiple": "Modificar encuesta para permitir múltiples opciones",
|
||||
"compose_form.poll.switch_to_single": "Modificar encuesta para permitir una única opción",
|
||||
"compose_form.poll.switch_to_multiple": "Cambiar la encuesta para permitir múltiples opciones",
|
||||
"compose_form.poll.switch_to_single": "Cambiar la encuesta para permitir una única opción",
|
||||
"compose_form.poll.type": "Estilo",
|
||||
"compose_form.publish": "Publicación",
|
||||
"compose_form.publish_form": "Publicar",
|
||||
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} marcó como favorita tu publicación",
|
||||
"notification.favourite.name_and_others_with_link": "{name} y <a>{count, plural, one {# otro} other {# otros}}</a> marcaron tu publicación como favorita",
|
||||
"notification.follow": "{name} te empezó a seguir",
|
||||
"notification.follow.name_and_others": "{name} y {count, plural, one {# otro} other {# otros}} te siguieron",
|
||||
"notification.follow.name_and_others": "{name} y <a>{count, plural, one {# otro} other {# otros}}</a> te han seguido",
|
||||
"notification.follow_request": "{name} ha solicitado seguirte",
|
||||
"notification.follow_request.name_and_others": "{name} y {count, plural, one {# otro} other {# otros}} han solicitado seguirte",
|
||||
"notification.label.mention": "Mención",
|
||||
|
@ -516,7 +516,7 @@
|
|||
"notification.label.private_reply": "Respuesta privada",
|
||||
"notification.label.reply": "Respuesta",
|
||||
"notification.mention": "Mención",
|
||||
"notification.mentioned_you": "{name} te ha mencionado",
|
||||
"notification.mentioned_you": "{name} te mencionó",
|
||||
"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.",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Barra de filtrado rápido",
|
||||
"notifications.column_settings.follow": "Nuevos seguidores:",
|
||||
"notifications.column_settings.follow_request": "Nuevas solicitudes de seguimiento:",
|
||||
"notifications.column_settings.group": "Grupo",
|
||||
"notifications.column_settings.mention": "Menciones:",
|
||||
"notifications.column_settings.poll": "Resultados de la votación:",
|
||||
"notifications.column_settings.push": "Notificaciones push",
|
||||
|
@ -644,7 +645,7 @@
|
|||
"onboarding.steps.setup_profile.title": "Personaliza tu perfil",
|
||||
"onboarding.steps.share_profile.body": "Dile a tus amigos cómo encontrarte en Mastodon",
|
||||
"onboarding.steps.share_profile.title": "Comparte tu perfil",
|
||||
"onboarding.tips.2fa": "<strong>¿Sabías que?</strong> Puedes proteger tu cuenta configurando la autenticación de dos factores en la configuración de su cuenta. Funciona con cualquier aplicación TOTP de su elección, ¡no necesitas número de teléfono!",
|
||||
"onboarding.tips.2fa": "<strong>¿Sabías que?</strong> Puedes proteger tu cuenta configurando la autenticación de dos factores en los ajustes de su cuenta. Funciona con cualquier aplicación TOTP que elijas, ¡sin necesidad de número de teléfono!",
|
||||
"onboarding.tips.accounts_from_other_servers": "<strong>¿Sabías que?</strong> Como Mastodon es descentralizado, algunos perfiles que encuentras están alojados en servidores distintos del tuyo. Y sin embargo, ¡puedes interactuar con ellos! ¡Su servidor corresponde a la segunda mitad de su nombre de usuario!",
|
||||
"onboarding.tips.migration": "<strong>¿Sabías que?</strong> Si sientes que {domain} no es una gran elección de servidor para ti en el futuro, puedes moverte a otro servidor de Mastodon sin perder a tus seguidores. ¡Incluso puedes alojar tu propio servidor!",
|
||||
"onboarding.tips.verification": "<strong>¿Sabías que?</strong> Puedes verificar tu cuenta poniendo un enlace a tu perfil de Mastodon en su propio sitio web y añadiendo el sitio web a su perfil. ¡Sin necesidad de comisiones ni documentos!",
|
||||
|
|
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} marcó como favorita tu publicación",
|
||||
"notification.favourite.name_and_others_with_link": "{name} y <a>{count, plural, one {# más} other {# más}}</a> 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.name_and_others": "{name} y <a>{count, plural, one {# otro} other {# otros}}</a> te siguieron",
|
||||
"notification.follow_request": "{name} ha solicitado seguirte",
|
||||
"notification.follow_request.name_and_others": "{name} y {count, plural, one {# más} other {# más}} han solicitado seguirte",
|
||||
"notification.label.mention": "Mención",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Barra de filtrado rápido",
|
||||
"notifications.column_settings.follow": "Nuevos seguidores:",
|
||||
"notifications.column_settings.follow_request": "Nuevas solicitudes de seguimiento:",
|
||||
"notifications.column_settings.group": "Grupo",
|
||||
"notifications.column_settings.mention": "Menciones:",
|
||||
"notifications.column_settings.poll": "Resultados de la votación:",
|
||||
"notifications.column_settings.push": "Notificaciones push",
|
||||
|
|
|
@ -85,6 +85,7 @@
|
|||
"alert.rate_limited.title": "Kiiruspiirang",
|
||||
"alert.unexpected.message": "Tekkis ootamatu viga.",
|
||||
"alert.unexpected.title": "Oih!",
|
||||
"alt_text_badge.title": "Alternatiivtekst",
|
||||
"announcement.announcement": "Teadaanne",
|
||||
"attachments_list.unprocessed": "(töötlemata)",
|
||||
"audio.hide": "Peida audio",
|
||||
|
@ -221,6 +222,8 @@
|
|||
"domain_block_modal.they_cant_follow": "Sellest serverist ei saa keegi sind jälgida.",
|
||||
"domain_block_modal.they_wont_know": "Nad ei tea, et nad on blokeeritud.",
|
||||
"domain_block_modal.title": "Blokeerida domeen?",
|
||||
"domain_block_modal.you_will_lose_num_followers": "Sult kaob {followersCount, plural, one {{followersCountDisplay} jälgija} other {{followersCountDisplay} jälgijat}} ja {followingCount, plural, one {{followingCountDisplay} inimene} other {{followingCountDisplay} inimest}}, keda sa ise jälgid.",
|
||||
"domain_block_modal.you_will_lose_relationships": "Sa kaotad kõik oma jälgijad ja inimesed, kes sind jälgivad sellest serverist.",
|
||||
"domain_block_modal.you_wont_see_posts": "Sa ei näe selle serveri kasutajate postitusi ega teavitusi.",
|
||||
"domain_pill.activitypub_lets_connect": "See võimaldab sul ühenduda inimestega ja nendega suhelda mitte ainult Mastodonis, vaid ka teistes suhtlusrakendustes.",
|
||||
"domain_pill.activitypub_like_language": "ActivityPub on nagu keel, mida Mastodon räägib teiste suhtlusvõrgustikega.",
|
||||
|
@ -433,6 +436,8 @@
|
|||
"lightbox.close": "Sulge",
|
||||
"lightbox.next": "Järgmine",
|
||||
"lightbox.previous": "Eelmine",
|
||||
"lightbox.zoom_in": "Näita algsuuruses",
|
||||
"lightbox.zoom_out": "Näita kõik",
|
||||
"limited_account_hint.action": "Näita profilli sellegipoolest",
|
||||
"limited_account_hint.title": "See profiil on peidetud {domain} moderaatorite poolt.",
|
||||
"link_preview.author": "{name} poolt",
|
||||
|
@ -503,7 +508,6 @@
|
|||
"notification.favourite": "{name} märkis su postituse lemmikuks",
|
||||
"notification.favourite.name_and_others_with_link": "{name} ja <a>{count, plural, one {# veel} other {# teist}}</a> märkis su postituse lemmikuks",
|
||||
"notification.follow": "{name} alustas su jälgimist",
|
||||
"notification.follow.name_and_others": "{name} ja {count, plural, one {# veel} other {# teist}} hakkas sind jälgima",
|
||||
"notification.follow_request": "{name} soovib sind jälgida",
|
||||
"notification.follow_request.name_and_others": "{name} ja {count, plural, one {# veel} other {# teist}} taotles sinu jälgimist",
|
||||
"notification.label.mention": "Mainimine",
|
||||
|
@ -511,6 +515,7 @@
|
|||
"notification.label.private_reply": "Privaatne vastus",
|
||||
"notification.label.reply": "Vastus",
|
||||
"notification.mention": "Mainimine",
|
||||
"notification.mentioned_you": "{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.",
|
||||
|
@ -847,6 +852,11 @@
|
|||
"upload_error.poll": "Küsitlustes pole faili üleslaadimine lubatud.",
|
||||
"upload_form.audio_description": "Kirjelda kuulmispuudega inimeste jaoks",
|
||||
"upload_form.description": "Kirjelda vaegnägijatele",
|
||||
"upload_form.drag_and_drop.instructions": "Vajuta tühikut või enterit, et tõsta manus. Lohistamise ajal kasuta nooleklahve, et manust liigutada teatud suunas. Vajuta tühikut või enterit uuesti, et paigutada manus oma uuele kohale, või escape tühistamiseks.",
|
||||
"upload_form.drag_and_drop.on_drag_cancel": "Lohistamine tühistati. Manus {item} on asetatud.",
|
||||
"upload_form.drag_and_drop.on_drag_end": "Manus {item} on asetatud.",
|
||||
"upload_form.drag_and_drop.on_drag_over": "Manus {item} on liigutatud.",
|
||||
"upload_form.drag_and_drop.on_drag_start": "Tõstetud on manus {item}.",
|
||||
"upload_form.edit": "Muuda",
|
||||
"upload_form.thumbnail": "Muuda pisipilti",
|
||||
"upload_form.video_description": "Kirjelda kuulmis- või nägemispuudega inimeste jaoks",
|
||||
|
|
|
@ -268,7 +268,7 @@
|
|||
"empty_column.follow_requests": "Ez duzu jarraitzeko eskaerarik oraindik. Baten bat jasotzen duzunean, hemen agertuko da.",
|
||||
"empty_column.followed_tags": "Oraindik ez duzu traolik jarraitzen. Egiterakoan, hemen agertuko dira.",
|
||||
"empty_column.hashtag": "Ez dago ezer traola honetan oraindik.",
|
||||
"empty_column.home": "Zure hasierako denbora-lerroa hutsik dago! Ikusi {public} edo erabili bilaketa lehen urratsak eman eta beste batzuk aurkitzeko.",
|
||||
"empty_column.home": "Zure hasierako denbora-lerroa hutsik dago! Jarraitu jende gehiago betetzeko.",
|
||||
"empty_column.list": "Ez dago ezer zerrenda honetan. Zerrenda honetako kideek bidalketa berriak argitaratzean, hemen agertuko dira.",
|
||||
"empty_column.lists": "Ez duzu zerrendarik oraindik. Baten bat sortzen duzunean hemen agertuko da.",
|
||||
"empty_column.mutes": "Ez duzu erabiltzailerik mututu oraindik.",
|
||||
|
@ -504,7 +504,6 @@
|
|||
"notification.favourite": "{name}(e)k zure bidalketa gogoko du",
|
||||
"notification.favourite.name_and_others_with_link": "{name} eta <a>{count, plural, one {erabiltzaile # gehiagok} other {# erabiltzaile gehiagok}}</a> zure bidalketa gogoko dute",
|
||||
"notification.follow": "{name}(e)k jarraitzen dizu",
|
||||
"notification.follow.name_and_others": "{name} eta {count, plural, one {erabiltzaile # gehiagok} other {# erabiltzaile gehiagok}} jarraitu dizute",
|
||||
"notification.follow_request": "{name}(e)k zu jarraitzeko eskaera egin du",
|
||||
"notification.follow_request.name_and_others": "{name} eta {count, plural, one {erabiltzaile # gehiagok} other {# erabiltzaile gehiagok}} zu jarraitzeko eskaera egin dute",
|
||||
"notification.label.mention": "Aipamena",
|
||||
|
@ -597,7 +596,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": "Kudeatu honen jakinarazpaenak…",
|
||||
"notifications.policy.title": "Kudeatu honen jakinarazpenak…",
|
||||
"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",
|
||||
|
|
|
@ -373,6 +373,7 @@
|
|||
"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": "با حسابی روی ماستودون میتوانید این فرسته را با پیگیران خودتان همرسانی کنید.",
|
||||
|
@ -494,7 +495,6 @@
|
|||
"notification.favourite": "{name} فرستهتان را برگزید",
|
||||
"notification.favourite.name_and_others_with_link": "{name} و <a>{count, plural, one {# نفر دیگر} other {# نفر دیگر}}</a> فرستهتان را برگزیدند",
|
||||
"notification.follow": "{name} پیگیرتان شد",
|
||||
"notification.follow.name_and_others": "{name} و {count, plural, one {# نفر دیگر} other {# نفر دیگر}} پیتان گرفتند",
|
||||
"notification.follow_request": "{name} درخواست پیگیریتان را داد",
|
||||
"notification.follow_request.name_and_others": "{name} و {count, plural, one {# نفر دیگر} other {# نفر دیگر}} درخواست پیگیریتان را دادند",
|
||||
"notification.label.mention": "اشاره",
|
||||
|
@ -554,7 +554,7 @@
|
|||
"notifications.filter.all": "همه",
|
||||
"notifications.filter.boosts": "تقویتها",
|
||||
"notifications.filter.favourites": "برگزیدهها",
|
||||
"notifications.filter.follows": "پیگرفتگان",
|
||||
"notifications.filter.follows": "پیگرفتنها",
|
||||
"notifications.filter.mentions": "اشارهها",
|
||||
"notifications.filter.polls": "نتایج نظرسنجی",
|
||||
"notifications.filter.statuses": "بهروز رسانیها از کسانی که پیگیرشانید",
|
||||
|
@ -572,10 +572,14 @@
|
|||
"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 {#}} روز است پیتان میگیرند",
|
||||
"notifications.policy.filter_not_followers_title": "کسانی که شما را دنبال میکنند",
|
||||
"notifications.policy.filter_not_following_hint": "",
|
||||
"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": "برای دریافت آگاهیها هنگام باز نبودن ماستودون، آگاهیهای میزکار را به کار بیندازید. پس از به کار افتادنشان میتوانید گونههای دقیق برهمکنشهایی که آگاهیهای میزکار تولید میکنند را از {icon} بالا واپایید.",
|
||||
|
|
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} lisäsi julkaisusi suosikkeihinsa",
|
||||
"notification.favourite.name_and_others_with_link": "{name} ja <a>{count, plural, one {# muu} other {# muuta}}</a> 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.name_and_others": "{name} ja <a>{count, plural, one {# muu} other {# muuta}}</a> seurasivat sinua",
|
||||
"notification.follow_request": "{name} on pyytänyt lupaa seurata sinua",
|
||||
"notification.follow_request.name_and_others": "{name} ja {count, plural, one {# muu} other {# muuta}} pyysivät saada seurata sinua",
|
||||
"notification.label.mention": "Maininta",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Pikasuodatuspalkki",
|
||||
"notifications.column_settings.follow": "Uudet seuraajat:",
|
||||
"notifications.column_settings.follow_request": "Uudet seurantapyynnöt:",
|
||||
"notifications.column_settings.group": "Ryhmitä",
|
||||
"notifications.column_settings.mention": "Maininnat:",
|
||||
"notifications.column_settings.poll": "Äänestyksen tulokset:",
|
||||
"notifications.column_settings.push": "Puskuilmoitukset",
|
||||
|
|
|
@ -46,9 +46,11 @@
|
|||
"account.media": "Medya",
|
||||
"account.mention": "Banggitin si @{name}",
|
||||
"account.moved_to": "Ipinahihiwatig ni {name} na ang kanilang bagong account ngayon ay:",
|
||||
"account.no_bio": "Walang nakalaan na paglalarawan.",
|
||||
"account.open_original_page": "Buksan ang pinagmulang pahina",
|
||||
"account.report": "I-ulat si/ang @{name}",
|
||||
"account.requested_follow": "Hinihiling ni {name} na sundan ka",
|
||||
"account.share": "Ibahagi ang profile ni @{name}",
|
||||
"account.show_reblogs": "Ipakita ang mga pagpapalakas mula sa/kay {name}",
|
||||
"account.unendorse": "Huwag itampok sa profile",
|
||||
"admin.dashboard.retention.cohort_size": "Mga bagong tagagamit",
|
||||
|
@ -56,7 +58,11 @@
|
|||
"audio.hide": "Itago ang tunog",
|
||||
"block_modal.show_less": "Magpakita ng mas kaunti",
|
||||
"block_modal.show_more": "Magpakita ng higit pa",
|
||||
"block_modal.they_cant_mention": "Hindi sila makakabanggit sa iyo o sundan ka.",
|
||||
"block_modal.they_will_know": "Makita nila na hinarangan sila.",
|
||||
"block_modal.title": "Harangan ang tagagamit?",
|
||||
"block_modal.you_wont_see_mentions": "Hindi ka makakakita ng mga post na nagbanggit sa kanila.",
|
||||
"boost_modal.combo": "Maari mong pindutin ang {combo} upang laktawan ito sa susunod na oras",
|
||||
"bundle_column_error.error.title": "Naku!",
|
||||
"bundle_column_error.network.body": "Nagkaroon ng kamalian habang sinusubukang i-karga ang pahinang ito. Maaaring dahil ito sa pansamantalang problema ng iyong koneksyon sa internet o ang server na ito.",
|
||||
"bundle_column_error.network.title": "Kamaliang network",
|
||||
|
@ -107,6 +113,8 @@
|
|||
"compose_form.direct_message_warning_learn_more": "Matuto pa",
|
||||
"compose_form.encryption_warning": "Ang mga post sa Mastodon ay hindi naka-encrypt nang dulo-dulo. Huwag magbahagi ng anumang sensitibong impormasyon sa Mastodon.",
|
||||
"compose_form.hashtag_warning": "Hindi maililista ang post na ito sa anumang hashtag dahil hindi ito nakapubliko. Mga nakapublikong post lamang ang mahahanap ayon sa hashtag.",
|
||||
"compose_form.lock_disclaimer": "Hindi {locked} ang iyong account. Maaaring susundan ka ng sinuman upang tingnan ang iyong mga post na para sa mga tagasunod lamang.",
|
||||
"compose_form.lock_disclaimer.lock": "nakakandado",
|
||||
"compose_form.placeholder": "Anong nangyari?",
|
||||
"compose_form.poll.duration": "Tagal ng botohan",
|
||||
"compose_form.poll.multiple": "Maraming pagpipilian",
|
||||
|
@ -123,6 +131,7 @@
|
|||
"confirmations.edit.confirm": "Baguhin",
|
||||
"confirmations.reply.confirm": "Tumugon",
|
||||
"conversation.mark_as_read": "Markahan bilang nabasa na",
|
||||
"conversation.open": "Tingnan ang pag-uusap",
|
||||
"copy_icon_button.copied": "Sinipi sa clipboard",
|
||||
"copypaste.copied": "Sinipi",
|
||||
"copypaste.copy_to_clipboard": "I-sipi sa clipboard",
|
||||
|
@ -176,6 +185,7 @@
|
|||
"empty_column.home": "Walang laman ang timeline ng tahanan mo! Sumunod sa marami pang tao para mapunan ito.",
|
||||
"empty_column.list": "Wala pang laman ang listahang ito. Kapag naglathala ng mga bagong post ang mga miyembro ng listahang ito, makikita iyon dito.",
|
||||
"empty_column.lists": "Wala ka pang mga listahan. Kapag gumawa ka ng isa, makikita yun dito.",
|
||||
"errors.unexpected_crash.report_issue": "Iulat ang isyu",
|
||||
"explore.search_results": "Mga resulta ng paghahanap",
|
||||
"explore.suggested_follows": "Mga tao",
|
||||
"explore.title": "Tuklasin",
|
||||
|
@ -187,6 +197,7 @@
|
|||
"follow_request.authorize": "Tanggapin",
|
||||
"follow_request.reject": "Tanggihan",
|
||||
"follow_suggestions.dismiss": "Huwag nang ipakita muli",
|
||||
"follow_suggestions.popular_suggestion": "Sikat na mungkahi",
|
||||
"follow_suggestions.popular_suggestion_longer": "Sikat sa {domain}",
|
||||
"follow_suggestions.view_all": "Tingnan lahat",
|
||||
"follow_suggestions.who_to_follow": "Sinong maaaring sundan",
|
||||
|
@ -196,6 +207,7 @@
|
|||
"generic.saved": "Nakaimbak",
|
||||
"hashtag.column_header.tag_mode.all": "at {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "o {additional}",
|
||||
"hashtag.column_settings.select.no_options_message": "Walang mungkahing nakita",
|
||||
"hashtag.column_settings.tag_mode.all": "Lahat ng nandito",
|
||||
"hashtag.column_settings.tag_mode.any": "Ilan dito",
|
||||
"hashtag.column_settings.tag_mode.none": "Wala dito",
|
||||
|
@ -223,11 +235,14 @@
|
|||
"lists.account.add": "Idagdag sa talaan",
|
||||
"lists.account.remove": "Tanggalin mula sa talaan",
|
||||
"lists.delete": "Burahin ang listahan",
|
||||
"lists.edit.submit": "Baguhin ang pamagat",
|
||||
"lists.new.create": "Idagdag sa talaan",
|
||||
"lists.new.title_placeholder": "Bagong pangalan ng talaan",
|
||||
"lists.replies_policy.none": "Walang simuman",
|
||||
"lists.replies_policy.title": "Ipakita ang mga tugon sa:",
|
||||
"lists.subheading": "Iyong mga talaan",
|
||||
"loading_indicator.label": "Kumakarga…",
|
||||
"media_gallery.hide": "Itago",
|
||||
"mute_modal.hide_from_notifications": "Itago mula sa mga abiso",
|
||||
"navigation_bar.about": "Tungkol dito",
|
||||
"navigation_bar.blocks": "Nakaharang na mga tagagamit",
|
||||
|
@ -243,11 +258,15 @@
|
|||
"notification.admin.report": "Iniulat ni {name} si {target}",
|
||||
"notification.follow": "Sinundan ka ni {name}",
|
||||
"notification.follow_request": "Hinihiling ni {name} na sundan ka",
|
||||
"notification.label.private_mention": "Palihim na banggit",
|
||||
"notification.mentioned_you": "Binanggit ka ni {name}",
|
||||
"notification.moderation-warning.learn_more": "Matuto nang higit pa",
|
||||
"notification.moderation_warning": "Mayroong kang natanggap na babala sa pagtitimpi",
|
||||
"notification.relationships_severance_event.learn_more": "Matuto nang higit pa",
|
||||
"notification_requests.accept": "Tanggapin",
|
||||
"notification_requests.notifications_from": "Mga abiso mula kay/sa {name}",
|
||||
"notifications.clear": "Burahin mga abiso",
|
||||
"notifications.clear_title": "Linisin ang mga abiso?",
|
||||
"notifications.column_settings.admin.report": "Mga bagong ulat:",
|
||||
"notifications.column_settings.alert": "Mga abiso sa Desktop",
|
||||
"notifications.column_settings.favourite": "Mga paborito:",
|
||||
|
@ -259,6 +278,8 @@
|
|||
"notifications.filter.favourites": "Mga paborito",
|
||||
"notifications.filter.polls": "Resulta ng botohan",
|
||||
"notifications.mark_as_read": "Markahan lahat ng abiso bilang nabasa na",
|
||||
"notifications.policy.accept": "Tanggapin",
|
||||
"notifications.policy.accept_hint": "Ipakita sa mga abiso",
|
||||
"notifications.policy.filter_not_followers_title": "Mga taong hindi ka susundan",
|
||||
"notifications.policy.filter_not_following_title": "Mga taong hindi mo sinusundan",
|
||||
"onboarding.action.back": "Ibalik mo ako",
|
||||
|
@ -275,6 +296,10 @@
|
|||
"privacy.private.long": "Mga tagasunod mo lamang",
|
||||
"privacy.private.short": "Mga tagasunod",
|
||||
"privacy.public.long": "Sinumang nasa loob at labas ng Mastodon",
|
||||
"privacy.public.short": "Pampubliko",
|
||||
"privacy.unlisted.short": "Hindi nakalista",
|
||||
"privacy_policy.last_updated": "Huling nabago noong {date}",
|
||||
"recommended": "Inirekomenda",
|
||||
"regeneration_indicator.label": "Kumakarga…",
|
||||
"relative_time.days": "{number}a",
|
||||
"relative_time.full.days": "{number, plural, one {# araw} other {# na araw}} ang nakalipas",
|
||||
|
@ -286,6 +311,7 @@
|
|||
"relative_time.just_now": "ngayon",
|
||||
"relative_time.minutes": "{number}m",
|
||||
"relative_time.seconds": "{number}s",
|
||||
"relative_time.today": "ngayon",
|
||||
"reply_indicator.cancel": "Ipagpaliban",
|
||||
"report.block": "Harangan",
|
||||
"report.categories.other": "Iba pa",
|
||||
|
@ -293,9 +319,11 @@
|
|||
"report.category.subtitle": "Piliin ang pinakamahusay na tugma",
|
||||
"report.category.title": "Sabihin mo sa amin kung anong nangyari sa {type} na ito",
|
||||
"report.close": "Tapos na",
|
||||
"report.comment.title": "Mayroon pa bang dapat naming malaman?",
|
||||
"report.next": "Sunod",
|
||||
"report.placeholder": "Mga Karagdagang Puna",
|
||||
"report.reasons.dislike": "Hindi ko gusto ito",
|
||||
"report.reasons.legal": "Labag ito sa batas",
|
||||
"report.reasons.violation": "Lumalabag ito sa mga panuntunan ng serbiro",
|
||||
"report.reasons.violation_description": "Alam mo na lumalabag ito sa mga partikular na panuntunan",
|
||||
"report.rules.title": "Aling mga patakaran ang nilabag?",
|
||||
|
@ -342,5 +370,8 @@
|
|||
"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"
|
||||
"time_remaining.seconds": "{number, plural, one {# segundo} other {# na segundo}} ang natitira",
|
||||
"upload_modal.apply": "Ilapat",
|
||||
"upload_modal.applying": "Nilalapat…",
|
||||
"upload_modal.choose_image": "Pumili ng larawan"
|
||||
}
|
||||
|
|
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} dámdi postin hjá tær",
|
||||
"notification.favourite.name_and_others_with_link": "{name} og <a>{count, plural, one {# annar/onnur} other {# onnur}}</a> 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.name_and_others": "{name} og <a>{count, plural, one {# annar/onnur} other {# onnur}}</a> fylgdu tær",
|
||||
"notification.follow_request": "{name} biður um at fylgja tær",
|
||||
"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",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Skjótfilturbjálki",
|
||||
"notifications.column_settings.follow": "Nýggir fylgjarar:",
|
||||
"notifications.column_settings.follow_request": "Nýggjar umbønir um at fylgja:",
|
||||
"notifications.column_settings.group": "Bólkur",
|
||||
"notifications.column_settings.mention": "Umrøður:",
|
||||
"notifications.column_settings.poll": "Úrslit frá atkvøðugreiðslu:",
|
||||
"notifications.column_settings.push": "Trýstifráboðanir",
|
||||
|
|
|
@ -89,7 +89,7 @@
|
|||
"announcement.announcement": "Annonce",
|
||||
"attachments_list.unprocessed": "(non traité)",
|
||||
"audio.hide": "Masquer l'audio",
|
||||
"block_modal.remote_users_caveat": "Nous allons demander au serveur {domain} de respecter votre décision. Cependant, ce respect n'est pas garanti, car certains serveurs peuvent gérer différemment les blocages. Les messages publics peuvent rester visibles par les utilisateurs non connectés.",
|
||||
"block_modal.remote_users_caveat": "Nous allons demander au serveur {domain} de respecter votre décision. Cependant, ce respect n'est pas garanti, car certains serveurs peuvent gérer différemment les blocages. Les messages publics peuvent rester visibles par les utilisateur·rice·s non connecté·e·s.",
|
||||
"block_modal.show_less": "Afficher moins",
|
||||
"block_modal.show_more": "Afficher plus",
|
||||
"block_modal.they_cant_mention": "Il ne peut pas vous mentionner ou vous suivre.",
|
||||
|
@ -194,7 +194,7 @@
|
|||
"confirmations.reply.title": "Remplacer le message ?",
|
||||
"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 ?",
|
||||
"confirmations.unfollow.title": "Se désabonner de l'utilisateur·rice ?",
|
||||
"content_warning.hide": "Masquer le message",
|
||||
"content_warning.show": "Afficher quand même",
|
||||
"conversation.delete": "Supprimer cette conversation",
|
||||
|
@ -224,7 +224,7 @@
|
|||
"domain_block_modal.title": "Bloquer le domaine ?",
|
||||
"domain_block_modal.you_will_lose_num_followers": "Vous allez perdre {followersCount, plural, one {{followersCountDisplay} abonné·e} other {{followersCountDisplay} abonné·e·s}} et {followingCount, plural, one {{followingCountDisplay} personne que vous suivez} other {{followingCountDisplay} personnes que vous suivez}}.",
|
||||
"domain_block_modal.you_will_lose_relationships": "Vous allez perdre tous les abonné·e·s et les personnes que vous suivez sur ce serveur.",
|
||||
"domain_block_modal.you_wont_see_posts": "Vous ne verrez plus les publications ou les notifications des utilisateurs de ce serveur.",
|
||||
"domain_block_modal.you_wont_see_posts": "Vous ne verrez plus les publications ou les notifications des utilisateur·rice·s de ce serveur.",
|
||||
"domain_pill.activitypub_lets_connect": "Cela vous permet de vous connecter et d'interagir avec les autres non seulement sur Mastodon, mais également sur d'autres applications de réseaux sociaux.",
|
||||
"domain_pill.activitypub_like_language": "ActivityPub est comme une langue que Mastodon utilise pour communiquer avec les autres réseaux sociaux.",
|
||||
"domain_pill.server": "Serveur",
|
||||
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} a ajouté votre publication à ses favoris",
|
||||
"notification.favourite.name_and_others_with_link": "{name} et <a>{count, plural, one {# autre} other {# autres}}</a> 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.name_and_others": "{name} et <a>{count, plural, one {# autre} other {# autres}}</a> vous suivent",
|
||||
"notification.follow_request": "{name} a demandé à vous suivre",
|
||||
"notification.follow_request.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} ont demandé à vous suivre",
|
||||
"notification.label.mention": "Mention",
|
||||
|
@ -543,12 +543,12 @@
|
|||
"notification_requests.confirm_accept_multiple.message": "Vous êtes sur le point d'accepter {count, plural, one {une requête de notification} other {# requêtes de notification}}. Êtes-vous sûr de vouloir continuer ?",
|
||||
"notification_requests.confirm_accept_multiple.title": "Accepter les requêtes de notification ?",
|
||||
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Ignorer la requête} other {Ignorer les requêtes}}",
|
||||
"notification_requests.confirm_dismiss_multiple.message": "Vous êtes sur le point de rejeter {count, plural, one {une requête de notification} other {# requêtes de notification}}. Vous ne serez plus en mesure d’{count, plural, one {y} other {y}} accéder facilement, ultérieurement. Êtes-vous sûr de vouloir continuer ?",
|
||||
"notification_requests.confirm_dismiss_multiple.message": "Vous êtes sur le point de rejeter {count, plural, one {une requête de notification} other {# requêtes de notification}}. Vous ne pourrez plus {count, plural, one {y} other {y}} accéder facilement plus tard. Voulez-vous vraiment continuer ?",
|
||||
"notification_requests.confirm_dismiss_multiple.title": "Rejeter les requêtes de notification ?",
|
||||
"notification_requests.dismiss": "Rejeter",
|
||||
"notification_requests.dismiss_multiple": "{count, plural, one {Rejeter # requête …} other {Rejeter # requêtes …}}",
|
||||
"notification_requests.edit_selection": "Modifier",
|
||||
"notification_requests.exit_selection": "Fait",
|
||||
"notification_requests.exit_selection": "Terminé",
|
||||
"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",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Barre de filtre rapide",
|
||||
"notifications.column_settings.follow": "Nouveaux⋅elles abonné⋅e⋅s:",
|
||||
"notifications.column_settings.follow_request": "Nouvelles demandes d’abonnement:",
|
||||
"notifications.column_settings.group": "Grouper",
|
||||
"notifications.column_settings.mention": "Mentions:",
|
||||
"notifications.column_settings.poll": "Résultats des sondages:",
|
||||
"notifications.column_settings.push": "Notifications push",
|
||||
|
@ -854,6 +855,7 @@
|
|||
"upload_form.audio_description": "Décrire pour les personnes ayant des difficultés d’audition",
|
||||
"upload_form.description": "Décrire pour les malvoyants",
|
||||
"upload_form.drag_and_drop.instructions": "Pour choisir un média joint, appuyez sur la touche espace ou entrée. Tout en faisant glisser, utilisez les touches fléchées pour déplacer le fichier média dans une direction donnée. Appuyez à nouveau sur la touche espace ou entrée pour déposer le fichier média dans sa nouvelle position, ou appuyez sur la touche Echap pour annuler.",
|
||||
"upload_form.drag_and_drop.on_drag_cancel": "Le glissement a été annulé. La pièce jointe {item} n'a pas été ajoutée.",
|
||||
"upload_form.edit": "Modifier",
|
||||
"upload_form.thumbnail": "Changer la vignette",
|
||||
"upload_form.video_description": "Décrire pour les personnes ayant des problèmes de vue ou d'audition",
|
||||
|
|
|
@ -79,7 +79,7 @@
|
|||
"admin.dashboard.retention.cohort_size": "Nouveaux comptes",
|
||||
"admin.impact_report.instance_accounts": "Profils de comptes que cela supprimerait",
|
||||
"admin.impact_report.instance_followers": "Abonnées que nos utilisateurs perdraient",
|
||||
"admin.impact_report.instance_follows": "Abonnées que leurs utilisateurs perdraient",
|
||||
"admin.impact_report.instance_follows": "Abonné·e·s que leurs utilisateur·rice·s perdraient",
|
||||
"admin.impact_report.title": "Résumé de l'impact",
|
||||
"alert.rate_limited.message": "Veuillez réessayer après {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Nombre de requêtes limité",
|
||||
|
@ -89,7 +89,7 @@
|
|||
"announcement.announcement": "Annonce",
|
||||
"attachments_list.unprocessed": "(non traité)",
|
||||
"audio.hide": "Masquer l'audio",
|
||||
"block_modal.remote_users_caveat": "Nous allons demander au serveur {domain} de respecter votre décision. Cependant, ce respect n'est pas garanti, car certains serveurs peuvent gérer différemment les blocages. Les messages publics peuvent rester visibles par les utilisateurs non connectés.",
|
||||
"block_modal.remote_users_caveat": "Nous allons demander au serveur {domain} de respecter votre décision. Cependant, ce respect n'est pas garanti, car certains serveurs peuvent gérer différemment les blocages. Les messages publics peuvent rester visibles par les utilisateur·rice·s non connecté·e·s.",
|
||||
"block_modal.show_less": "Afficher moins",
|
||||
"block_modal.show_more": "Afficher plus",
|
||||
"block_modal.they_cant_mention": "Il ne peut pas vous mentionner ou vous suivre.",
|
||||
|
@ -194,7 +194,7 @@
|
|||
"confirmations.reply.title": "Remplacer le message ?",
|
||||
"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 ?",
|
||||
"confirmations.unfollow.title": "Se désabonner de l'utilisateur·rice ?",
|
||||
"content_warning.hide": "Masquer le message",
|
||||
"content_warning.show": "Afficher quand même",
|
||||
"conversation.delete": "Supprimer la conversation",
|
||||
|
@ -224,7 +224,7 @@
|
|||
"domain_block_modal.title": "Bloquer le domaine ?",
|
||||
"domain_block_modal.you_will_lose_num_followers": "Vous allez perdre {followersCount, plural, one {{followersCountDisplay} abonné·e} other {{followersCountDisplay} abonné·e·s}} et {followingCount, plural, one {{followingCountDisplay} personne que vous suivez} other {{followingCountDisplay} personnes que vous suivez}}.",
|
||||
"domain_block_modal.you_will_lose_relationships": "Vous allez perdre tous les abonné·e·s et les personnes que vous suivez sur ce serveur.",
|
||||
"domain_block_modal.you_wont_see_posts": "Vous ne verrez plus les publications ou les notifications des utilisateurs de ce serveur.",
|
||||
"domain_block_modal.you_wont_see_posts": "Vous ne verrez plus les publications ou les notifications des utilisateur·rice·s de ce serveur.",
|
||||
"domain_pill.activitypub_lets_connect": "Cela vous permet de vous connecter et d'interagir avec les autres non seulement sur Mastodon, mais également sur d'autres applications de réseaux sociaux.",
|
||||
"domain_pill.activitypub_like_language": "ActivityPub est comme une langue que Mastodon utilise pour communiquer avec les autres réseaux sociaux.",
|
||||
"domain_pill.server": "Serveur",
|
||||
|
@ -262,7 +262,7 @@
|
|||
"empty_column.blocks": "Vous n’avez bloqué aucun compte pour le moment.",
|
||||
"empty_column.bookmarked_statuses": "Vous n'avez pas de message en marque-page. Lorsque vous en ajouterez un, il apparaîtra ici.",
|
||||
"empty_column.community": "Le fil public local est vide. Écrivez donc quelque chose pour le remplir !",
|
||||
"empty_column.direct": "Vous n'avez pas encore de mentions privées. Quand vous en envoyez ou en recevez, elles apparaîtront ici.",
|
||||
"empty_column.direct": "Vous n'avez pas encore de mentions privées. Quand vous en enverrez ou recevrez, elles apparaîtront ici.",
|
||||
"empty_column.domain_blocks": "Il n’y a aucun domaine bloqué pour le moment.",
|
||||
"empty_column.explore_statuses": "Rien n'est en tendance pour le moment. Revenez plus tard !",
|
||||
"empty_column.favourited_statuses": "Vous n’avez pas encore de message en favori. Lorsque vous en ajouterez un, il apparaîtra ici.",
|
||||
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} a ajouté votre message à ses favoris",
|
||||
"notification.favourite.name_and_others_with_link": "{name} et <a>{count, plural, one {# autre} other {# autres}}</a> 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.name_and_others": "{name} et <a>{count, plural, one {# autre} other {# autres}}</a> vous suivent",
|
||||
"notification.follow_request": "{name} a demandé à vous suivre",
|
||||
"notification.follow_request.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} ont demandé à vous suivre",
|
||||
"notification.label.mention": "Mention",
|
||||
|
@ -543,12 +543,12 @@
|
|||
"notification_requests.confirm_accept_multiple.message": "Vous êtes sur le point d'accepter {count, plural, one {une requête de notification} other {# requêtes de notification}}. Êtes-vous sûr de vouloir continuer ?",
|
||||
"notification_requests.confirm_accept_multiple.title": "Accepter les requêtes de notification ?",
|
||||
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Ignorer la requête} other {Ignorer les requêtes}}",
|
||||
"notification_requests.confirm_dismiss_multiple.message": "Vous êtes sur le point de rejeter {count, plural, one {une requête de notification} other {# requêtes de notification}}. Vous ne serez plus en mesure d’{count, plural, one {y} other {y}} accéder facilement, ultérieurement. Êtes-vous sûr de vouloir continuer ?",
|
||||
"notification_requests.confirm_dismiss_multiple.message": "Vous êtes sur le point de rejeter {count, plural, one {une requête de notification} other {# requêtes de notification}}. Vous ne pourrez plus {count, plural, one {y} other {y}} accéder facilement plus tard. Voulez-vous vraiment continuer ?",
|
||||
"notification_requests.confirm_dismiss_multiple.title": "Rejeter les requêtes de notification ?",
|
||||
"notification_requests.dismiss": "Rejeter",
|
||||
"notification_requests.dismiss_multiple": "{count, plural, one {Rejeter # requête …} other {Rejeter # requêtes …}}",
|
||||
"notification_requests.edit_selection": "Modifier",
|
||||
"notification_requests.exit_selection": "Fait",
|
||||
"notification_requests.exit_selection": "Terminé",
|
||||
"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",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Barre de filtre rapide",
|
||||
"notifications.column_settings.follow": "Nouveaux·elles abonné·e·s :",
|
||||
"notifications.column_settings.follow_request": "Nouvelles demandes d’abonnement :",
|
||||
"notifications.column_settings.group": "Grouper",
|
||||
"notifications.column_settings.mention": "Mentions :",
|
||||
"notifications.column_settings.poll": "Résultats des sondages :",
|
||||
"notifications.column_settings.push": "Notifications push",
|
||||
|
@ -854,6 +855,7 @@
|
|||
"upload_form.audio_description": "Décrire pour les personnes ayant des difficultés d’audition",
|
||||
"upload_form.description": "Décrire pour les malvoyant·e·s",
|
||||
"upload_form.drag_and_drop.instructions": "Pour choisir un média joint, appuyez sur la touche espace ou entrée. Tout en faisant glisser, utilisez les touches fléchées pour déplacer le fichier média dans une direction donnée. Appuyez à nouveau sur la touche espace ou entrée pour déposer le fichier média dans sa nouvelle position, ou appuyez sur la touche Echap pour annuler.",
|
||||
"upload_form.drag_and_drop.on_drag_cancel": "Le glissement a été annulé. La pièce jointe {item} n'a pas été ajoutée.",
|
||||
"upload_form.edit": "Modifier",
|
||||
"upload_form.thumbnail": "Changer la vignette",
|
||||
"upload_form.video_description": "Décrire pour les personnes ayant des problèmes de vue ou d'audition",
|
||||
|
|
|
@ -508,7 +508,6 @@
|
|||
"notification.favourite": "{name} hat jo berjocht as favoryt markearre",
|
||||
"notification.favourite.name_and_others_with_link": "{name} en <a>{count, plural, one {# oar} other {# oaren}}</a> hawwe jo berjocht as favoryt markearre",
|
||||
"notification.follow": "{name} folget dy",
|
||||
"notification.follow.name_and_others": "{name} en {count, plural, one {# oar} other {# oaren}} hawwe jo folge",
|
||||
"notification.follow_request": "{name} hat dy in folchfersyk stjoerd",
|
||||
"notification.follow_request.name_and_others": "{name} en {count, plural, one {# oar} other {# oaren}} hawwe frege om jo te folgjen",
|
||||
"notification.label.mention": "Fermelding",
|
||||
|
|
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "Is fearr le {name} do phostáil",
|
||||
"notification.favourite.name_and_others_with_link": "{name} agus <a>{count, plural, one {# duine eile} other {# daoine eile}}</a> 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.name_and_others": "{name} agus <a>{count, plural, one {# other} two {# eile} few {# eile} many {# eile} other {# others}}</a> lean tú",
|
||||
"notification.follow_request": "D'iarr {name} ort do chuntas a leanúint",
|
||||
"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",
|
||||
|
@ -516,6 +516,7 @@
|
|||
"notification.label.private_reply": "Freagra príobháideach",
|
||||
"notification.label.reply": "Freagra",
|
||||
"notification.mention": "Luaigh",
|
||||
"notification.mentioned_you": "Luaigh {name} tú",
|
||||
"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.",
|
||||
|
@ -566,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Barra scagairí tapa",
|
||||
"notifications.column_settings.follow": "Leantóirí nua:",
|
||||
"notifications.column_settings.follow_request": "Iarratais leanúnaí nua:",
|
||||
"notifications.column_settings.group": "Grúpa",
|
||||
"notifications.column_settings.mention": "Tráchtanna:",
|
||||
"notifications.column_settings.poll": "Torthaí suirbhéanna:",
|
||||
"notifications.column_settings.push": "Brúfhógraí",
|
||||
|
|
|
@ -508,7 +508,6 @@
|
|||
"notification.favourite": "Is annsa le {name} am post agad",
|
||||
"notification.favourite.name_and_others_with_link": "Is annsa le {name} ’s <a>{count, plural, one {# eile} two {# eile} few {# eile} other {# eile}}</a> 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.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",
|
||||
|
@ -516,6 +515,7 @@
|
|||
"notification.label.private_reply": "Freagairt phrìobhaideach",
|
||||
"notification.label.reply": "Freagairt",
|
||||
"notification.mention": "Iomradh",
|
||||
"notification.mentioned_you": "Thug {name} iomradh ort",
|
||||
"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.",
|
||||
|
|
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} marcou como favorita a túa publicación",
|
||||
"notification.favourite.name_and_others_with_link": "{name} e <a>{count, plural, one {# máis} other {# máis}}</a> 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.name_and_others": "{name} e <a>{count, plural, one {# mais} other {# mais}}</a> seguíronte",
|
||||
"notification.follow_request": "{name} solicitou seguirte",
|
||||
"notification.follow_request.name_and_others": "{name} e {count, plural, one {# máis} other {# máis}} solicitaron seguirte",
|
||||
"notification.label.mention": "Mención",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Barra de filtrado rápido",
|
||||
"notifications.column_settings.follow": "Novas seguidoras:",
|
||||
"notifications.column_settings.follow_request": "Novas peticións de seguimento:",
|
||||
"notifications.column_settings.group": "Agrupar",
|
||||
"notifications.column_settings.mention": "Mencións:",
|
||||
"notifications.column_settings.poll": "Resultados da enquisa:",
|
||||
"notifications.column_settings.push": "Notificacións emerxentes",
|
||||
|
|
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "הודעתך חובבה על ידי {name}",
|
||||
"notification.favourite.name_and_others_with_link": "{name} ועוד <a>{count, plural,one {אחד נוסף}other {# נוספים}}</a> חיבבו את הודעתך",
|
||||
"notification.follow": "{name} במעקב אחרייך",
|
||||
"notification.follow.name_and_others": "{name} ועוד {count, plural,one {אחד אחר}other {# אחרים}} עקבו אחריך",
|
||||
"notification.follow.name_and_others": "{name} ועוד <a>{count, plural,one {מישהו} other {# אחרים}}</a> החלו לעקוב אחריך",
|
||||
"notification.follow_request": "{name} ביקשו לעקוב אחריך",
|
||||
"notification.follow_request.name_and_others": "{name} ועוד {count, plural,one {אחד אחר}other {# אחרים}} ביקשו לעקוב אחריך",
|
||||
"notification.label.mention": "אזכור",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "שורת סינון מהיר",
|
||||
"notifications.column_settings.follow": "עוקבים חדשים:",
|
||||
"notifications.column_settings.follow_request": "בקשות מעקב חדשות:",
|
||||
"notifications.column_settings.group": "קבוצה",
|
||||
"notifications.column_settings.mention": "פניות:",
|
||||
"notifications.column_settings.poll": "תוצאות סקר:",
|
||||
"notifications.column_settings.push": "התראות בדחיפה",
|
||||
|
|
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} kedvencnek jelölte a bejegyzésedet",
|
||||
"notification.favourite.name_and_others_with_link": "{name} és <a>{count, plural, one {# másik} other {# másik}}</a> 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.name_and_others": "{name} és <a>{count, plural, one {# másik} other {# másik}}</a> követni kezdett",
|
||||
"notification.follow_request": "{name} követni szeretne téged",
|
||||
"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",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Gyorsszűrő sáv",
|
||||
"notifications.column_settings.follow": "Új követők:",
|
||||
"notifications.column_settings.follow_request": "Új követési kérések:",
|
||||
"notifications.column_settings.group": "Csoportosítás",
|
||||
"notifications.column_settings.mention": "Megemlítések:",
|
||||
"notifications.column_settings.poll": "Szavazási eredmények:",
|
||||
"notifications.column_settings.push": "Leküldéses értesítések",
|
||||
|
|
|
@ -85,6 +85,7 @@
|
|||
"alert.rate_limited.title": "Excesso de requestas",
|
||||
"alert.unexpected.message": "Un error inexpectate ha occurrite.",
|
||||
"alert.unexpected.title": "Ups!",
|
||||
"alt_text_badge.title": "Texto alt",
|
||||
"announcement.announcement": "Annuncio",
|
||||
"attachments_list.unprocessed": "(non processate)",
|
||||
"audio.hide": "Celar audio",
|
||||
|
@ -221,6 +222,8 @@
|
|||
"domain_block_modal.they_cant_follow": "Necuno de iste servitor pote sequer te.",
|
||||
"domain_block_modal.they_wont_know": "Ille non sapera que ille ha essite blocate.",
|
||||
"domain_block_modal.title": "Blocar dominio?",
|
||||
"domain_block_modal.you_will_lose_num_followers": "Tu perdera {followersCount, plural, one {{followersCountDisplay} sequace} other {{followersCountDisplay} sequaces}} e {followingCount, plural, one {{followingCountDisplay} persona que tu seque} other {{followingCountDisplay} personas que tu seque}}.",
|
||||
"domain_block_modal.you_will_lose_relationships": "Tu perdera tote le sequaces e le personas que tu seque ab iste servitor.",
|
||||
"domain_block_modal.you_wont_see_posts": "Tu non videra messages e notificationes de usatores sur iste servitor.",
|
||||
"domain_pill.activitypub_lets_connect": "Illo te permitte connecter e interager con personas non solmente sur Mastodon, ma tamben sur altere applicationes social.",
|
||||
"domain_pill.activitypub_like_language": "ActivityPub es como le linguage commun que Mastodon parla con altere retes social.",
|
||||
|
@ -303,6 +306,7 @@
|
|||
"filter_modal.select_filter.title": "Filtrar iste message",
|
||||
"filter_modal.title.status": "Filtrar un message",
|
||||
"filter_warning.matches_filter": "Corresponde al filtro “{title}”",
|
||||
"filtered_notifications_banner.pending_requests": "De {count, plural, =0 {nemo} one {un persona} other {# personas}} que tu pote cognoscer",
|
||||
"filtered_notifications_banner.title": "Notificationes filtrate",
|
||||
"firehose.all": "Toto",
|
||||
"firehose.local": "Iste servitor",
|
||||
|
@ -351,6 +355,9 @@
|
|||
"hashtag.follow": "Sequer hashtag",
|
||||
"hashtag.unfollow": "Non sequer plus le hashtag",
|
||||
"hashtags.and_other": "…e {count, plural, one {}other {# plus}}",
|
||||
"hints.profiles.followers_may_be_missing": "Le sequaces pro iste profilo pote mancar.",
|
||||
"hints.profiles.follows_may_be_missing": "Sequites pro iste profilo pote mancar.",
|
||||
"hints.profiles.posts_may_be_missing": "Alcun messages ab iste profilo pote mancar.",
|
||||
"hints.profiles.see_more_followers": "Vider plus de sequitores sur {domain}",
|
||||
"hints.profiles.see_more_follows": "Vider plus de sequites sur {domain}",
|
||||
"hints.profiles.see_more_posts": "Vider plus de messages sur {domain}",
|
||||
|
@ -363,6 +370,11 @@
|
|||
"home.pending_critical_update.link": "Vider actualisationes",
|
||||
"home.pending_critical_update.title": "Actualisation de securitate critic disponibile!",
|
||||
"home.show_announcements": "Monstrar annuncios",
|
||||
"ignore_notifications_modal.disclaimer": "Mastodon non pote informar le usatores que tu ha ignorate lor avisos. Ignorar avisos non stoppara le messages mesme de esser inviate.",
|
||||
"ignore_notifications_modal.filter_instead": "Filtrar in vice",
|
||||
"ignore_notifications_modal.filter_to_act_users": "Tu ancora potera acceptar, rejectar, o reportar usatores",
|
||||
"ignore_notifications_modal.filter_to_avoid_confusion": "Filtrar adjuta evitar confusion potential",
|
||||
"ignore_notifications_modal.filter_to_review_separately": "Tu pote revider avisos filtrate separatemente",
|
||||
"ignore_notifications_modal.ignore": "Ignorar le notificationes",
|
||||
"ignore_notifications_modal.limited_accounts_title": "Ignorar le notificationes de contos moderate?",
|
||||
"ignore_notifications_modal.new_accounts_title": "Ignorar le notificationes de nove contos?",
|
||||
|
@ -424,6 +436,8 @@
|
|||
"lightbox.close": "Clauder",
|
||||
"lightbox.next": "Sequente",
|
||||
"lightbox.previous": "Precedente",
|
||||
"lightbox.zoom_in": "Aggrandir a dimension actual",
|
||||
"lightbox.zoom_out": "Aggrandir pro adaptar",
|
||||
"limited_account_hint.action": "Monstrar profilo in omne caso",
|
||||
"limited_account_hint.title": "Iste profilo ha essite celate per le moderatores de {domain}.",
|
||||
"link_preview.author": "Per {name}",
|
||||
|
@ -490,14 +504,18 @@
|
|||
"notification.admin.report_statuses": "{name} ha reportate {target} pro {category}",
|
||||
"notification.admin.report_statuses_other": "{name} ha reportate {target}",
|
||||
"notification.admin.sign_up": "{name} se ha inscribite",
|
||||
"notification.admin.sign_up.name_and_others": "{name} e {count, plural, one {# altere usator} other {altere # usatores}} se inscribeva",
|
||||
"notification.favourite": "{name} ha marcate tu message como favorite",
|
||||
"notification.favourite.name_and_others_with_link": "{name} e <a>{count, plural, one {# altere} other {# alteres}}</a> favoriva tu message",
|
||||
"notification.follow": "{name} te ha sequite",
|
||||
"notification.follow_request": "{name} ha requestate de sequer te",
|
||||
"notification.follow_request.name_and_others": "{name} e {count, plural, one {# altere} other {# alteres}} ha demandate de sequer te",
|
||||
"notification.label.mention": "Mention",
|
||||
"notification.label.private_mention": "Mention private",
|
||||
"notification.label.private_reply": "Responsa private",
|
||||
"notification.label.reply": "Responder",
|
||||
"notification.mention": "Mention",
|
||||
"notification.mentioned_you": "{name} te mentionava",
|
||||
"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.",
|
||||
|
@ -510,6 +528,7 @@
|
|||
"notification.own_poll": "Tu sondage ha finite",
|
||||
"notification.poll": "Un sondage in le qual tu ha votate ha finite",
|
||||
"notification.reblog": "{name} ha impulsate tu message",
|
||||
"notification.reblog.name_and_others_with_link": "{name} e <a>{count, plural, one {# altere} other {# alteres}}</a> promoveva tu message",
|
||||
"notification.relationships_severance_event": "Connexiones perdite con {name}",
|
||||
"notification.relationships_severance_event.account_suspension": "Un administrator de {from} ha suspendiute {target}. Isto significa que tu non pote plus reciper actualisationes de iste persona o interager con ille.",
|
||||
"notification.relationships_severance_event.domain_block": "Un administrator de {from} ha blocate {target}, includente {followersCount} de tu sequitores e {followingCount, plural, one {# conto} other {# contos}} que tu seque.",
|
||||
|
@ -518,11 +537,21 @@
|
|||
"notification.status": "{name} ha justo ora publicate",
|
||||
"notification.update": "{name} ha modificate un message",
|
||||
"notification_requests.accept": "Acceptar",
|
||||
"notification_requests.accept_multiple": "{count, plural, one {Accepta # requesta…} other {Accepta # requestas…}}",
|
||||
"notification_requests.confirm_accept_multiple.button": "{count, plural, one {Accepta requesta} other {Accepta requestas}}",
|
||||
"notification_requests.confirm_accept_multiple.message": "Tu acceptara {count, plural, one {un requesta de aviso} other {# requestas de aviso}}. Desira tu vermente continuar?",
|
||||
"notification_requests.confirm_accept_multiple.title": "Acceptar petitiones de notification?",
|
||||
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Rejectar requesta} other {Rejectar requestas}}",
|
||||
"notification_requests.confirm_dismiss_multiple.message": "Tu rejectara {count, plural, one {un requesta de aviso} other {# requestas de aviso}}. Tu non potera facilemente acceder {count, plural, one {lo} other {los}} ancora. Desira tu vermente continuar?",
|
||||
"notification_requests.confirm_dismiss_multiple.title": "Dimitter petitiones de notification?",
|
||||
"notification_requests.dismiss": "Clauder",
|
||||
"notification_requests.dismiss_multiple": "{count, plural, one {Rejectar # requesta…} other {Rejectar # requestas…}}",
|
||||
"notification_requests.edit_selection": "Modificar",
|
||||
"notification_requests.exit_selection": "Facite",
|
||||
"notification_requests.explainer_for_limited_account": "Le avisos ab iste conto ha essite filtrate perque le conto ha essite limitate per un moderator.",
|
||||
"notification_requests.explainer_for_limited_remote_account": "Le avisos ab iste conto ha essite filtrate perque le conto o su servitor ha essite limitate per un moderator.",
|
||||
"notification_requests.maximize": "Maximisar",
|
||||
"notification_requests.minimize_banner": "Minimisar le bandiera del avisos filtrate",
|
||||
"notification_requests.notifications_from": "Notificationes de {name}",
|
||||
"notification_requests.title": "Notificationes filtrate",
|
||||
"notification_requests.view": "Vider notificationes",
|
||||
|
@ -562,8 +591,11 @@
|
|||
"notifications.permission_required": "Le notificationes de scriptorio es indisponibile perque le permission necessari non ha essite concedite.",
|
||||
"notifications.policy.accept": "Acceptar",
|
||||
"notifications.policy.accept_hint": "Monstrar in le notificationes",
|
||||
"notifications.policy.drop": "Ignorar",
|
||||
"notifications.policy.drop_hint": "Inviar al nihil, pro jammais esser vidite ancora",
|
||||
"notifications.policy.filter": "Filtrar",
|
||||
"notifications.policy.filter_hint": "Inviar al cassa de notificationes filtrate",
|
||||
"notifications.policy.filter_limited_accounts_hint": "Limitate per moderatores de servitor",
|
||||
"notifications.policy.filter_limited_accounts_title": "Contos moderate",
|
||||
"notifications.policy.filter_new_accounts.hint": "Create in le ultime {days, plural, one {die} other {# dies}}",
|
||||
"notifications.policy.filter_new_accounts_title": "Nove contos",
|
||||
|
@ -700,6 +732,7 @@
|
|||
"report.unfollow_explanation": "Tu seque iste conto. Pro non plus vider su messages in tu fluxo de initio, cessa de sequer lo.",
|
||||
"report_notification.attached_statuses": "{count, plural, one {{count} message} other {{count} messages}} annexate",
|
||||
"report_notification.categories.legal": "Juridic",
|
||||
"report_notification.categories.legal_sentence": "contento illegal",
|
||||
"report_notification.categories.other": "Alteres",
|
||||
"report_notification.categories.other_sentence": "alteres",
|
||||
"report_notification.categories.spam": "Spam",
|
||||
|
@ -747,6 +780,7 @@
|
|||
"status.bookmark": "Adder al marcapaginas",
|
||||
"status.cancel_reblog_private": "Disfacer impulso",
|
||||
"status.cannot_reblog": "Iste message non pote esser impulsate",
|
||||
"status.continued_thread": "Argumento continuitate",
|
||||
"status.copy": "Copiar ligamine a message",
|
||||
"status.delete": "Deler",
|
||||
"status.detailed_status": "Vista detaliate del conversation",
|
||||
|
@ -755,6 +789,7 @@
|
|||
"status.edit": "Modificar",
|
||||
"status.edited": "Ultime modification le {date}",
|
||||
"status.edited_x_times": "Modificate {count, plural, one {{count} vice} other {{count} vices}}",
|
||||
"status.embed": "Obtener codice incorporate",
|
||||
"status.favourite": "Adder al favorites",
|
||||
"status.favourites": "{count, plural, one {favorite} other {favorites}}",
|
||||
"status.filter": "Filtrar iste message",
|
||||
|
@ -817,6 +852,11 @@
|
|||
"upload_error.poll": "Incargamento de files non permittite con sondages.",
|
||||
"upload_form.audio_description": "Describe lo pro le gente con difficultates auditive",
|
||||
"upload_form.description": "Describe lo pro le gente con difficultates visual",
|
||||
"upload_form.drag_and_drop.instructions": "Pro colliger un annexo de medios, pressar Spatio o Inviar. Trahente lo, usar le claves flecha pro mover le annexo de medios in ulle direction date. De novo pressar Spatio o Inviar pro deponer le annexo de medios in su nove position, o pressar Escappar pro cancellar.",
|
||||
"upload_form.drag_and_drop.on_drag_cancel": "Le extraction era cancellate. Le annexo de medios {item} era deponite.",
|
||||
"upload_form.drag_and_drop.on_drag_end": "Le annexo de medios {item} era deponite.",
|
||||
"upload_form.drag_and_drop.on_drag_over": "Le annexo de medios {item} era movite.",
|
||||
"upload_form.drag_and_drop.on_drag_start": "Annexo de medios {item} colligite.",
|
||||
"upload_form.edit": "Modificar",
|
||||
"upload_form.thumbnail": "Cambiar le miniatura",
|
||||
"upload_form.video_description": "Describe lo pro le gente con difficultates auditive o visual",
|
||||
|
|
|
@ -508,7 +508,6 @@
|
|||
"notification.favourite": "{name} favorizis tua mesajo",
|
||||
"notification.favourite.name_and_others_with_link": "{name} e <a>{count, plural,one {# altru} other {# altri}}</a> favorizis vua posto",
|
||||
"notification.follow": "{name} sequeskis tu",
|
||||
"notification.follow.name_and_others": "{name} e {count, plural,one {# altru} other {#altri}} sequis vu",
|
||||
"notification.follow_request": "{name} demandas sequar vu",
|
||||
"notification.follow_request.name_and_others": "{name} e {count, plural,one {# altru} other {# altri}} volas sequar vu",
|
||||
"notification.label.mention": "Mencionez",
|
||||
|
|
|
@ -222,6 +222,8 @@
|
|||
"domain_block_modal.they_cant_follow": "Enginn frá þessum netþjóni getur fylgst með þér.",
|
||||
"domain_block_modal.they_wont_know": "Viðkomandi mun ekki vita að hann hafi verið útilokaður.",
|
||||
"domain_block_modal.title": "Útiloka lén?",
|
||||
"domain_block_modal.you_will_lose_num_followers": "Þú munt missa {followersCount, plural, one {{followersCountDisplay} fylgjanda} other {{followersCountDisplay} fylgjendur}} og {followingCount, plural, one {{followingCountDisplay} aðila sem þú fylgist með} other {{followingCountDisplay} aðila sem þú fylgist með}}.",
|
||||
"domain_block_modal.you_will_lose_relationships": "Þú munt missa alla fylgjendur og þá sem þú fylgist með á þessum netþjóni.",
|
||||
"domain_block_modal.you_wont_see_posts": "Þú munt ekki sjá neinar færslur eða tilkynningar frá notendum á þessum netþjóni.",
|
||||
"domain_pill.activitypub_lets_connect": "Það gerir þér kleift að tengjast og eiga í samskiptum við fólk, ekki bara á Mastodon, heldur einnig á mörgum öðrum mismunandi samfélagsmiðlum.",
|
||||
"domain_pill.activitypub_like_language": "ActivityPub er eins og tungumál sem Mastodon notar til að tala við önnur samfélagsnet.",
|
||||
|
@ -506,7 +508,7 @@
|
|||
"notification.favourite": "{name} setti færsluna þína í eftirlæti",
|
||||
"notification.favourite.name_and_others_with_link": "{name} og <a>{count, plural, one {# í viðbót hefur} other {# í viðbót hafa}}</a> 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.name_and_others": "{name} og <a>{count, plural, one {# í viðbót fylgdist} other {# í viðbót fylgdust}}</a> með þér",
|
||||
"notification.follow_request": "{name} hefur beðið um að fylgjast með þér",
|
||||
"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 á",
|
||||
|
@ -565,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Skyndisíustika",
|
||||
"notifications.column_settings.follow": "Nýir fylgjendur:",
|
||||
"notifications.column_settings.follow_request": "Nýjar beiðnir um að fylgjast með:",
|
||||
"notifications.column_settings.group": "Hópur",
|
||||
"notifications.column_settings.mention": "Tilvísanir:",
|
||||
"notifications.column_settings.poll": "Niðurstöður könnunar:",
|
||||
"notifications.column_settings.push": "Ýti-tilkynningar",
|
||||
|
@ -851,6 +854,11 @@
|
|||
"upload_error.poll": "Innsending skráa er ekki leyfð í könnunum.",
|
||||
"upload_form.audio_description": "Lýstu þessu fyrir heyrnarskerta",
|
||||
"upload_form.description": "Lýstu þessu fyrir sjónskerta",
|
||||
"upload_form.drag_and_drop.instructions": "Til að taka í myndefnisviðhengi skaltu ýta á bilslána eða Enter. Til að draga geturðu notað örvalyklana til að færa viðhengið í samsvarandi áttir. Ýttu aftur á bilslána eða Enter til að sleppa viðhenginu á nýja staðinn, eða ýttu á Escape til að hætta við.",
|
||||
"upload_form.drag_and_drop.on_drag_cancel": "Hætt var við að draga. Myndefnisviðhenginu {item} var sleppt.",
|
||||
"upload_form.drag_and_drop.on_drag_end": "Myndefnisviðhenginu {item} var sleppt.",
|
||||
"upload_form.drag_and_drop.on_drag_over": "Myndefnisviðhengið {item} var fært.",
|
||||
"upload_form.drag_and_drop.on_drag_start": "Tók í myndefnisviðhengið {item}.",
|
||||
"upload_form.edit": "Breyta",
|
||||
"upload_form.thumbnail": "Skipta um smámynd",
|
||||
"upload_form.video_description": "Lýstu þessu fyrir fólk sem heyrir illa eða er með skerta sjón",
|
||||
|
|
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} ha aggiunto il tuo post ai preferiti",
|
||||
"notification.favourite.name_and_others_with_link": "{name} e <a>{count, plural, one {# altro} other {altri #}}</a> 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.name_and_others": "{name} e <a>{count, plural, one {# altro} other {altri #}}</a> hanno iniziato a seguirti",
|
||||
"notification.follow_request": "{name} ha richiesto di seguirti",
|
||||
"notification.follow_request.name_and_others": "{name} e {count, plural, one {# altro} other {altri #}} hanno richiesto di seguirti",
|
||||
"notification.label.mention": "Menziona",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Barra del filtro veloce",
|
||||
"notifications.column_settings.follow": "Nuovi seguaci:",
|
||||
"notifications.column_settings.follow_request": "Nuove richieste di seguirti:",
|
||||
"notifications.column_settings.group": "Gruppo",
|
||||
"notifications.column_settings.mention": "Menzioni:",
|
||||
"notifications.column_settings.poll": "Risultati del sondaggio:",
|
||||
"notifications.column_settings.push": "Notifiche push",
|
||||
|
|
|
@ -222,6 +222,8 @@
|
|||
"domain_block_modal.they_cant_follow": "このサーバーのユーザーはあなたをフォローできなくなります。",
|
||||
"domain_block_modal.they_wont_know": "ドメインブロックは相手からはわかりません。",
|
||||
"domain_block_modal.title": "ドメインをブロックしますか?",
|
||||
"domain_block_modal.you_will_lose_num_followers": "「{followingCount, plural, other {{followingCountDisplay}フォロー}}」、「{followersCount, plural, other {{followersCountDisplay}フォロワー}}」を失うことになります。",
|
||||
"domain_block_modal.you_will_lose_relationships": "このサーバーにいるすべてのフォローとフォロワーを失うことになります。",
|
||||
"domain_block_modal.you_wont_see_posts": "このサーバーのユーザーからの投稿や通知が閲覧できなくなります。",
|
||||
"domain_pill.activitypub_lets_connect": "Mastodonからほかのソーシャルアプリのユーザーへ、そのまた別のアプリのユーザーへと、それぞれが互いにつながり関わり合うことをこのActivityPubの仕組みが実現しています。",
|
||||
"domain_pill.activitypub_like_language": "ActivityPubとは、Mastodonがほかのサーバーと会話をするときにしゃべる「言葉」のようなものです。",
|
||||
|
@ -506,7 +508,6 @@
|
|||
"notification.favourite": "{name}さんがお気に入りしました",
|
||||
"notification.favourite.name_and_others_with_link": "{name}さん<a>ほか{count, plural, other {#人}}</a>がお気に入りしました",
|
||||
"notification.follow": "{name}さんにフォローされました",
|
||||
"notification.follow.name_and_others": "{name}さんほか{count, plural, other {#人}}にフォローされました",
|
||||
"notification.follow_request": "{name}さんがあなたにフォローリクエストしました",
|
||||
"notification.follow_request.name_and_others": "{name}さんほか{count, plural, other {#人}}があなたにフォローリクエストしました",
|
||||
"notification.label.mention": "メンション",
|
||||
|
@ -779,6 +780,7 @@
|
|||
"status.bookmark": "ブックマーク",
|
||||
"status.cancel_reblog_private": "ブースト解除",
|
||||
"status.cannot_reblog": "この投稿はブーストできません",
|
||||
"status.continued_thread": "続きのスレッド",
|
||||
"status.copy": "投稿へのリンクをコピー",
|
||||
"status.delete": "削除",
|
||||
"status.detailed_status": "詳細な会話ビュー",
|
||||
|
@ -812,6 +814,7 @@
|
|||
"status.reblogs.empty": "まだ誰もブーストしていません。ブーストされるとここに表示されます。",
|
||||
"status.redraft": "削除して下書きに戻す",
|
||||
"status.remove_bookmark": "ブックマークを削除",
|
||||
"status.replied_in_thread": "ほかのユーザーへ",
|
||||
"status.replied_to": "{name}さんへの返信",
|
||||
"status.reply": "返信",
|
||||
"status.replyAll": "全員に返信",
|
||||
|
@ -849,6 +852,11 @@
|
|||
"upload_error.poll": "アンケートではファイルをアップロードできません。",
|
||||
"upload_form.audio_description": "聴き取りが難しいユーザーへの説明",
|
||||
"upload_form.description": "視覚的に閲覧が難しいユーザーへの説明",
|
||||
"upload_form.drag_and_drop.instructions": "メディア添付ファイルを選択するには、スペースキーまたはエンターキーを押してください。ドラッグ中は、矢印キーを使ってメディア添付ファイルを任意の方向に移動できます。再度スペースキーまたはエンターキーを押すと新しい位置にメディア添付ファイルをドロップできます。キャンセルするにはエスケープキーを押してください。",
|
||||
"upload_form.drag_and_drop.on_drag_cancel": "ドラッグがキャンセルされました。メディア添付ファイル {item} がドロップされました。",
|
||||
"upload_form.drag_and_drop.on_drag_end": "メディア添付ファイル {item} がドロップされました。",
|
||||
"upload_form.drag_and_drop.on_drag_over": "メディア添付ファイル {item} が移動されました。",
|
||||
"upload_form.drag_and_drop.on_drag_start": "メディア添付ファイル {item} を選択しました。",
|
||||
"upload_form.edit": "編集",
|
||||
"upload_form.thumbnail": "サムネイルを変更",
|
||||
"upload_form.video_description": "聴き取りや視覚的に閲覧が難しいユーザーへの説明",
|
||||
|
|
|
@ -499,7 +499,7 @@
|
|||
"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": "{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}을 신고했습니다",
|
||||
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} 님이 내 게시물을 좋아합니다",
|
||||
"notification.favourite.name_and_others_with_link": "{name} 외 <a>{count, plural, other {# 명}}</a>이 내 게시물을 좋아합니다",
|
||||
"notification.follow": "{name} 님이 나를 팔로우했습니다",
|
||||
"notification.follow.name_and_others": "{name} 외 {count, plural, other {# 명}}이 날 팔로우 했습니다",
|
||||
"notification.follow.name_and_others": "{name} 외 {count, plural, other {# 명}}이 날 팔로우했습니다",
|
||||
"notification.follow_request": "{name} 님이 팔로우 요청을 보냈습니다",
|
||||
"notification.follow_request.name_and_others": "{name} 외 {count, plural, other {# 명}}이 나에게 팔로우 요청을 보냈습니다",
|
||||
"notification.label.mention": "멘션",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "빠른 필터 막대",
|
||||
"notifications.column_settings.follow": "새 팔로워:",
|
||||
"notifications.column_settings.follow_request": "새 팔로우 요청:",
|
||||
"notifications.column_settings.group": "그룹화",
|
||||
"notifications.column_settings.mention": "멘션:",
|
||||
"notifications.column_settings.poll": "설문 결과:",
|
||||
"notifications.column_settings.push": "푸시 알림",
|
||||
|
|
|
@ -85,6 +85,7 @@
|
|||
"alert.rate_limited.title": "Trafiko limitado",
|
||||
"alert.unexpected.message": "Afito un yerro no asperado.",
|
||||
"alert.unexpected.title": "Atyo!",
|
||||
"alt_text_badge.title": "Teksto alternativo",
|
||||
"announcement.announcement": "Pregon",
|
||||
"attachments_list.unprocessed": "(no prosesado)",
|
||||
"audio.hide": "Eskonde audio",
|
||||
|
@ -334,6 +335,11 @@
|
|||
"hashtag.follow": "Sige etiketa",
|
||||
"hashtag.unfollow": "Desige etiketa",
|
||||
"hashtags.and_other": "…i {count, plural, one {}other {# mas}}",
|
||||
"hints.profiles.see_more_followers": "Ve mas suivantes en {domain}",
|
||||
"hints.profiles.see_more_follows": "Ve mas segidos en {domain}",
|
||||
"hints.profiles.see_more_posts": "Ve mas puvlikasyones en {domain}",
|
||||
"hints.threads.replies_may_be_missing": "Puede mankar repuestas de otros sirvidores.",
|
||||
"hints.threads.see_more": "Ve mas repuestas en {domain}",
|
||||
"home.column_settings.show_reblogs": "Amostra repartajasyones",
|
||||
"home.column_settings.show_replies": "Amostra repuestas",
|
||||
"home.hide_announcements": "Eskonde pregones",
|
||||
|
@ -342,6 +348,10 @@
|
|||
"home.pending_critical_update.title": "Aktualizasyon de seguridad kritika esta desponivle!",
|
||||
"home.show_announcements": "Amostra pregones",
|
||||
"ignore_notifications_modal.ignore": "Inyora avizos",
|
||||
"ignore_notifications_modal.limited_accounts_title": "Inyorar avizos de kuentos moderados?",
|
||||
"ignore_notifications_modal.new_accounts_title": "Inyorar avizos de kuentos muevos?",
|
||||
"ignore_notifications_modal.not_followers_title": "Inyorar avizos de personas a las kualas no te sigen?",
|
||||
"ignore_notifications_modal.not_following_title": "Inyorar avizos de personas a las kualas no siges?",
|
||||
"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.",
|
||||
|
@ -465,6 +475,7 @@
|
|||
"notification.label.private_mention": "Enmentadura privada",
|
||||
"notification.label.reply": "Arisponde",
|
||||
"notification.mention": "Enmenta",
|
||||
"notification.mentioned_you": "{name} te enmento",
|
||||
"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.",
|
||||
|
@ -482,6 +493,7 @@
|
|||
"notification_requests.dismiss": "Kita",
|
||||
"notification_requests.edit_selection": "Edita",
|
||||
"notification_requests.exit_selection": "Fecho",
|
||||
"notification_requests.maximize": "Maksimizar",
|
||||
"notification_requests.notifications_from": "Avizos de {name}",
|
||||
"notification_requests.title": "Avizos filtrados",
|
||||
"notification_requests.view": "Amostra avizos",
|
||||
|
@ -496,6 +508,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Vara de filtrado rapido",
|
||||
"notifications.column_settings.follow": "Muevos suivantes:",
|
||||
"notifications.column_settings.follow_request": "Muevas solisitudes de segimiento:",
|
||||
"notifications.column_settings.group": "Grupo",
|
||||
"notifications.column_settings.mention": "Enmentaduras:",
|
||||
"notifications.column_settings.poll": "Rizultados de anketas:",
|
||||
"notifications.column_settings.push": "Avizos arrepushados",
|
||||
|
@ -523,6 +536,7 @@
|
|||
"notifications.policy.accept_hint": "Amostra en avizos",
|
||||
"notifications.policy.drop": "Inyora",
|
||||
"notifications.policy.filter": "Filtra",
|
||||
"notifications.policy.filter_limited_accounts_title": "Kuentos moderados",
|
||||
"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",
|
||||
|
@ -655,6 +669,7 @@
|
|||
"report.unfollow_explanation": "Estas sigiendo este kuento. Para no ver sus publikasyones en tu linya de tiempo, puedes deshar de segirlo.",
|
||||
"report_notification.attached_statuses": "{count, plural, one {{count} publikasyon} other {{count} publikasyones}} atadas",
|
||||
"report_notification.categories.legal": "Legal",
|
||||
"report_notification.categories.legal_sentence": "kontenido ilegal",
|
||||
"report_notification.categories.other": "Otros",
|
||||
"report_notification.categories.other_sentence": "otros",
|
||||
"report_notification.categories.spam": "Spam",
|
||||
|
@ -729,6 +744,7 @@
|
|||
"status.reblogs.empty": "Ainda nadie tiene repartajado esta publikasyon. Kuando algien lo aga, se amostrara aki.",
|
||||
"status.redraft": "Efasa i eskrive de muevo",
|
||||
"status.remove_bookmark": "Kita markador",
|
||||
"status.replied_in_thread": "Arispondo en filo",
|
||||
"status.replied_to": "Arispondio a {name}",
|
||||
"status.reply": "Arisponde",
|
||||
"status.replyAll": "Arisponde al filo",
|
||||
|
|
|
@ -506,6 +506,7 @@
|
|||
"notification.admin.sign_up": "{name} užsiregistravo",
|
||||
"notification.favourite": "{name} pamėgo tavo įrašą",
|
||||
"notification.follow": "{name} seka tave",
|
||||
"notification.follow.name_and_others": "{name} ir <a>{count, plural, one {# kitas} few {# kiti} many {# kito} other {# kitų}}</a> seka tave",
|
||||
"notification.follow_request": "{name} paprašė tave sekti",
|
||||
"notification.label.mention": "Paminėjimas",
|
||||
"notification.label.private_mention": "Privatus paminėjimas",
|
||||
|
@ -559,6 +560,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Spartaus filtro juosta",
|
||||
"notifications.column_settings.follow": "Nauji sekėjai:",
|
||||
"notifications.column_settings.follow_request": "Nauji sekimo prašymai:",
|
||||
"notifications.column_settings.group": "Grupė",
|
||||
"notifications.column_settings.mention": "Paminėjimai:",
|
||||
"notifications.column_settings.poll": "Balsavimo rezultatai:",
|
||||
"notifications.column_settings.push": "Tiesioginiai pranešimai",
|
||||
|
|
|
@ -5,19 +5,25 @@
|
|||
"about.domain_blocks.silenced.title": "പരിമിതമായത്",
|
||||
"about.domain_blocks.suspended.title": "താൽക്കാലികമായി നിർത്തിവെച്ചിരിക്കുന്നു",
|
||||
"about.rules": "സെർവ്വർ നിയമങ്ങൾ",
|
||||
"account.account_note_header": "സ്വകാര്യ കുറിപ്പു്",
|
||||
"account.add_or_remove_from_list": "പട്ടികയിൽ ചേർക്കുകയോ/മാറ്റുകയോ ചെയ്യുക",
|
||||
"account.badges.bot": "റോബോട്ട്",
|
||||
"account.badges.group": "ഗ്രൂപ്പ്",
|
||||
"account.block": "@{name} -നെ തടയുക",
|
||||
"account.block_domain": "{domain} എന്ന മേഖല തടയുക",
|
||||
"account.block_short": "തടസ്സപെടുത്തുക",
|
||||
"account.blocked": "തടഞ്ഞു",
|
||||
"account.cancel_follow_request": "Withdraw follow request",
|
||||
"account.copy": "രൂപരേഖയിന്റെ വിലാസം പകർത്തുക",
|
||||
"account.direct": "സ്വകാരൃമായിട്ടു് @{name}-ന് സൂചനപിക്കുക",
|
||||
"account.disable_notifications": "@{name} പോസ്റ്റുചെയ്യുന്നത് എന്നെ അറിയിക്കുന്നത് നിർത്തുക",
|
||||
"account.domain_blocked": "മേഖല തടഞ്ഞു",
|
||||
"account.edit_profile": "പ്രൊഫൈൽ തിരുത്തുക",
|
||||
"account.enable_notifications": "@{name} പോസ്റ്റ് ചെയ്യുമ്പോൾ എന്നെ അറിയിക്കുക",
|
||||
"account.endorse": "പ്രൊഫൈലിൽ പ്രകടമാക്കുക",
|
||||
"account.featured_tags.last_status_never": "എഴുത്തുകളില്ല",
|
||||
"account.follow": "പിന്തുടരുക",
|
||||
"account.follow_back": "തിരിച്ചു പിന്തുടരുക",
|
||||
"account.followers": "പിന്തുടരുന്നവർ",
|
||||
"account.followers.empty": "ഈ ഉപയോക്താവിനെ ആരും ഇതുവരെ പിന്തുടരുന്നില്ല.",
|
||||
"account.following": "പിന്തുടരുന്നു",
|
||||
|
@ -31,7 +37,11 @@
|
|||
"account.media": "മീഡിയ",
|
||||
"account.mention": "@{name} സൂചിപ്പിക്കുക",
|
||||
"account.mute": "@{name}-നെ(യെ) നിശ്ശബ്ദമാക്കൂ",
|
||||
"account.mute_notifications_short": "അറിയിപ്പുകൾ മിണ്ടാതാക്കുക",
|
||||
"account.mute_short": "മിണ്ടാതാക്കുക",
|
||||
"account.muted": "നിശ്ശബ്ദമാക്കിയിരിക്കുന്നു",
|
||||
"account.no_bio": "വിവരണം നല്കുിയിട്ടില്ല.",
|
||||
"account.open_original_page": "ആദ്യത്തു് താൾ തുറക്കുക",
|
||||
"account.posts": "പോസ്റ്റുകൾ",
|
||||
"account.posts_with_replies": "പോസ്റ്റുകളും മറുപടികളും",
|
||||
"account.report": "റിപ്പോർട്ട് ചെയ്യുക @{name}",
|
||||
|
@ -52,10 +62,16 @@
|
|||
"alert.rate_limited.title": "തോത് പരിമിതപ്പെടുത്തിയിരിക്കുന്നു",
|
||||
"alert.unexpected.message": "അപ്രതീക്ഷിതമായി എന്തോ സംഭവിച്ചു.",
|
||||
"alert.unexpected.title": "ശ്ശോ!",
|
||||
"alt_text_badge.title": "പകരമായ വരി",
|
||||
"announcement.announcement": "അറിയിപ്പ്",
|
||||
"attachments_list.unprocessed": "(പ്രോസസ്സ് ചെയ്യാത്തത്)",
|
||||
"audio.hide": "ശബ്ദം ഒഴിവാക്കുക",
|
||||
"block_modal.show_less": "കുറച്ചു് കാണിക്കുക",
|
||||
"block_modal.show_more": "ഇനിയും കാണിക്കുക",
|
||||
"block_modal.title": "ഉപയോക്താവിനു് തടസ്സപെടുത്തുക?",
|
||||
"boost_modal.combo": "അടുത്ത തവണ ഇത് ഒഴിവാക്കുവാൻ {combo} ഞെക്കാവുന്നതാണ്",
|
||||
"bundle_column_error.copy_stacktrace": "പിഴരേഖ പകർത്തുക",
|
||||
"bundle_column_error.error.title": "അയ്യോ!",
|
||||
"bundle_column_error.network.title": "നെറ്റ്വർക്ക് പിശക്",
|
||||
"bundle_column_error.retry": "വീണ്ടും ശ്രമിക്കുക",
|
||||
"bundle_column_error.return": "ഹോം പേജിലേക്ക് മടങ്ങാം",
|
||||
|
@ -66,14 +82,16 @@
|
|||
"closed_registrations.other_server_instructions": "Mastodon വികേന്ദ്രീകൃത സംവിധാനം ആയതിനാൽ, നിങ്ങൾക്ക് മറ്റൊരു സെർവറിൽ ഒരു അക്കൗണ്ട് ഉണ്ടാക്കിയും ഇതുമായി ആശയവിനിമയം നടത്താൻ സാധിക്കുന്നതാണ്.",
|
||||
"closed_registrations_modal.description": "{domain} ഇൽ ഇപ്പോൾ അക്കൗണ്ട് ഉണ്ടാക്കാൻ സാധിക്കുന്നതല്ല, Mastodon ഉപയോഗിക്കുന്നതിനായി നിങ്ങൾക്ക് {domain}-ൽ പ്രത്യേകമായി ഒരു അക്കൗണ്ട് ആവശ്യമില്ല എന്നത് ദയവായി ഓർക്കുക.",
|
||||
"closed_registrations_modal.find_another_server": "മറ്റൊരു സെർവർ കണ്ടെത്തുക",
|
||||
"closed_registrations_modal.title": "മാസ്റ്റഡോണിൽ ചേർക്കൽ",
|
||||
"column.about": "അപ്ലിക്കേഷനെക്കുറിച്ച്",
|
||||
"column.blocks": "തടയപ്പെട്ട ഉപയോക്താക്കൾ",
|
||||
"column.bookmarks": "ബുക്ക്മാർക്കുകൾ",
|
||||
"column.community": "പ്രാദേശികമായ സമയരേഖ",
|
||||
"column.directory": "പ്രൊഫൈലുകൾ മറിച്ചുനോക്കുക",
|
||||
"column.domain_blocks": "മറയ്ക്കപ്പെട്ട മേഖലകൾ",
|
||||
"column.favourites": "പ്രിയപ്പെട്ടതു്",
|
||||
"column.follow_requests": "പിന്തുടരാനുള്ള അഭ്യർത്ഥനകൾ",
|
||||
"column.home": "ഹോം",
|
||||
"column.home": "ആമുഖം",
|
||||
"column.lists": "പട്ടികകൾ",
|
||||
"column.mutes": "നിശബ്ദമാക്കപ്പെട്ട ഉപയോക്താക്കൾ",
|
||||
"column.notifications": "അറിയിപ്പുകൾ",
|
||||
|
@ -89,27 +107,40 @@
|
|||
"column_subheading.settings": "ക്രമീകരണങ്ങള്",
|
||||
"community.column_settings.local_only": "പ്രാദേശികം മാത്രം",
|
||||
"community.column_settings.media_only": "മാധ്യമങ്ങൾ മാത്രം",
|
||||
"community.column_settings.remote_only": "വിദൂര മാത്രം",
|
||||
"compose.language.change": "ഭാഷ മാറ്റുക",
|
||||
"compose.language.search": "ഭാഷകൾ തിരയുക...",
|
||||
"compose.published.open": "തുറക്കുക",
|
||||
"compose_form.direct_message_warning_learn_more": "കൂടുതൽ പഠിക്കുക",
|
||||
"compose_form.encryption_warning": "Mastodon-ലെ പോസ്റ്റുകൾ എൻഡ്-ടു-എൻഡ് എൻക്രിപ്റ്റ് ചെയ്തവയല്ല. അതിനാൽ 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.lock": "ലോക്കുചെയ്തു",
|
||||
"compose_form.placeholder": "നിങ്ങളുടെ മനസ്സിൽ എന്താണ്?",
|
||||
"compose_form.poll.duration": "തിരഞ്ഞെടുപ്പിന്റെ സമയദൈർഖ്യം",
|
||||
"compose_form.poll.multiple": "ഒരുപാടു് സാധ്യതകൾ",
|
||||
"compose_form.poll.option_placeholder": "സാധ്യത {number}",
|
||||
"compose_form.poll.switch_to_multiple": "വോട്ടെടുപ്പിൽ ഒന്നിലധികം ചോയ്സുകൾ ഉൾപ്പെടുതുക",
|
||||
"compose_form.poll.switch_to_single": "വോട്ടെടുപ്പിൽ ഒരൊറ്റ ചോയ്സ് മാത്രം ആക്കുക",
|
||||
"compose_form.poll.type": "രീതി",
|
||||
"compose_form.publish": "അയക്കുക",
|
||||
"compose_form.publish_form": "Publish",
|
||||
"compose_form.reply": "മറുപടി",
|
||||
"compose_form.save_changes": "കാലാനുസ്യതമാക്കുക",
|
||||
"compose_form.spoiler.marked": "എഴുത്ത് മുന്നറിയിപ്പിനാൽ മറച്ചിരിക്കുന്നു",
|
||||
"compose_form.spoiler.unmarked": "എഴുത്ത് മറയ്ക്കപ്പെട്ടിട്ടില്ല",
|
||||
"confirmation_modal.cancel": "റദ്ദാക്കുക",
|
||||
"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.edit.confirm": "സംശോധിക്കുക",
|
||||
"confirmations.logout.confirm": "പുറത്തുകടക്കുക",
|
||||
"confirmations.logout.message": "നിങ്ങൾക്ക് ലോഗ് ഔട്ട് ചെയ്യണമെന്ന് ഉറപ്പാണോ?",
|
||||
"confirmations.logout.title": "പുറത്തിറങ്ങുക?",
|
||||
"confirmations.mute.confirm": "നിശ്ശബ്ദമാക്കുക",
|
||||
"confirmations.redraft.confirm": "മായിച്ച് മാറ്റങ്ങൾ വരുത്തി വീണ്ടും എഴുതുക",
|
||||
"confirmations.reply.confirm": "മറുപടി",
|
||||
|
@ -125,9 +156,12 @@
|
|||
"directory.local": "{domain} ൽ നിന്ന് മാത്രം",
|
||||
"directory.new_arrivals": "പുതിയ വരവുകൾ",
|
||||
"directory.recently_active": "അടുത്തിടെയായി സജീവമായ",
|
||||
"disabled_account_banner.account_settings": "ഇടപാടു് ക്രമീകരങ്ങൾ",
|
||||
"disabled_account_banner.text": "നിങ്ങളുടെ {disabledAccount} എന്ന അക്കൗണ്ട് ഇപ്പോൾ പ്രവർത്തനരഹിതമാണ്.",
|
||||
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
|
||||
"dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
|
||||
"domain_block_modal.title": "മേഖല തടസ്സപെടുത്തുക?",
|
||||
"domain_pill.username": "ഉപയോക്തൃപേരു്",
|
||||
"embed.instructions": "ചുവടെയുള്ള കോഡ് പകർത്തിക്കൊണ്ട് നിങ്ങളുടെ വെബ്സൈറ്റിൽ ഈ ടൂട്ട് ഉൾച്ചേർക്കുക.",
|
||||
"embed.preview": "ഇത് ഇങ്ങനെ കാണപ്പെടും:",
|
||||
"emoji_button.activity": "പ്രവര്ത്തനം",
|
||||
|
@ -158,10 +192,28 @@
|
|||
"empty_column.notifications": "നിങ്ങൾക്ക് ഇതുവരെ ഒരു അറിയിപ്പുകളും ഇല്ല. മറ്റുള്ളവരുമായി ഇടപെട്ട് സംഭാഷണത്തിന് തുടക്കം കുറിക്കു.",
|
||||
"empty_column.public": "ഇവിടെ ഒന്നുമില്ലല്ലോ! ഇവിടെ നിറയ്ക്കാൻ എന്തെങ്കിലും പരസ്യമായി എഴുതുകയോ മറ്റ് ഉപഭോക്താക്കളെ പിന്തുടരുകയോ ചെയ്യുക",
|
||||
"errors.unexpected_crash.report_issue": "പ്രശ്നം അറിയിക്കുക",
|
||||
"explore.search_results": "തിരയൽ ഫലങ്ങൾ",
|
||||
"explore.suggested_follows": "ആൾക്കാർ",
|
||||
"explore.title": "പര്യവേക്ഷണം നടത്തുക",
|
||||
"explore.trending_links": "വാര്ത്ത",
|
||||
"explore.trending_statuses": "എഴുത്തുകൾ",
|
||||
"explore.trending_tags": "ചർച്ചാവിഷയങ്ങൾ",
|
||||
"filter_modal.added.review_and_configure_title": "അരിക്കൽ ക്രമീകരങ്ങൾ",
|
||||
"filter_modal.select_filter.prompt_new": "പുതിയ വിഭാഗം: {name}",
|
||||
"filter_modal.select_filter.search": "തിരയുക അല്ലെങ്കിൽ നിർമാണിക്കുക",
|
||||
"firehose.all": "എല്ലാം",
|
||||
"follow_request.authorize": "ചുമതലപ്പെടുത്തുക",
|
||||
"follow_request.reject": "നിരസിക്കുക",
|
||||
"follow_suggestions.dismiss": "വീണ്ടും കാണിക്കരുതു്",
|
||||
"follow_suggestions.view_all": "എല്ലാം കാണുക",
|
||||
"follow_suggestions.who_to_follow": "ആരേ പിന്തുടരണം",
|
||||
"followed_tags": "പിന്തുടരിയതു് ചർച്ചാവിഷയങ്ങൾ",
|
||||
"footer.directory": "രൂപരേഖ നാമഗൃഹസൂചി",
|
||||
"footer.get_app": "ഉപകരണം ലഭിക്കൂ",
|
||||
"footer.invite": "ആളുകളെ ക്ഷണിക്കുക",
|
||||
"footer.privacy_policy": "സ്വകാര്യത്തനയം",
|
||||
"footer.source_code": "ഉറവിടസങ്കേതം കാണുക",
|
||||
"footer.status": "അവസ്ഥ",
|
||||
"generic.saved": "സംരക്ഷിച്ചു",
|
||||
"getting_started.heading": "തുടക്കം കുറിക്കുക",
|
||||
"hashtag.column_header.tag_mode.all": "{additional} ഉം കൂടെ",
|
||||
|
@ -173,11 +225,19 @@
|
|||
"hashtag.column_settings.tag_mode.any": "ഇവയിലേതെങ്കിലും",
|
||||
"hashtag.column_settings.tag_mode.none": "ഇതിലൊന്നുമല്ല",
|
||||
"hashtag.column_settings.tag_toggle": "ഈ എഴുത്തുപംക്തിക്ക് കൂടുതൽ ഉപനാമങ്ങൾ ചേർക്കുക",
|
||||
"hashtag.follow": "ചർച്ചാവിഷയം പിന്തുടരുക",
|
||||
"hashtag.unfollow": "ചർച്ചാവിഷയം പിന്തുടരരുതു്",
|
||||
"home.column_settings.show_reblogs": "ബൂസ്റ്റുകൾ കാണിക്കുക",
|
||||
"home.column_settings.show_replies": "മറുപടികൾ കാണിക്കുക",
|
||||
"home.hide_announcements": "പ്രഖ്യാപനങ്ങൾ മറയ്ക്കുക",
|
||||
"home.pending_critical_update.link": "പുതുകൾ കാണുക",
|
||||
"home.show_announcements": "പ്രഖ്യാപനങ്ങൾ കാണിക്കുക",
|
||||
"interaction_modal.login.action": "ആമുഖം വരെ എടുത്തോണ്ടു് പോവുക",
|
||||
"interaction_modal.login.prompt": "ആമുഖപ്രദാനിയുടെ മേഖലപേരു്. ഉദ: mastodon.social",
|
||||
"interaction_modal.no_account_yet": "മാസ്റ്റഡോണിൽ ഇല്ലേ?",
|
||||
"interaction_modal.on_this_server": "ഈ സെർവറീൽ",
|
||||
"interaction_modal.title.favourite": "പ്രിയപ്പെട്ട {name}-ന്റെ എഴുതു്",
|
||||
"interaction_modal.title.follow": "{name}-െ പിന്തുടരുക",
|
||||
"keyboard_shortcuts.back": "തിരികെ പോകുക",
|
||||
"keyboard_shortcuts.blocked": "to open blocked users list",
|
||||
"keyboard_shortcuts.boost": "ബൂസ്റ്റ് ചെയ്യുക",
|
||||
|
@ -189,7 +249,7 @@
|
|||
"keyboard_shortcuts.enter": "ടൂട്ട് എടുക്കാൻ",
|
||||
"keyboard_shortcuts.federated": "to open federated timeline",
|
||||
"keyboard_shortcuts.heading": "കീബോർഡ് എളുപ്പവഴികൾ",
|
||||
"keyboard_shortcuts.home": "ഹോം ടൈംലൈൻ തുറക്കുന്നതിന്",
|
||||
"keyboard_shortcuts.home": "ആമുഖം സമയരേഖ തുറക്കുക",
|
||||
"keyboard_shortcuts.legend": "to display this legend",
|
||||
"keyboard_shortcuts.local": "പ്രാദേശിക സമയരേഖ തുറക്കാൻ",
|
||||
"keyboard_shortcuts.mention": "രചയിതാവിനെ സൂചിപ്പിക്കാൻ",
|
||||
|
@ -212,45 +272,62 @@
|
|||
"lightbox.close": "അടയ്ക്കുക",
|
||||
"lightbox.next": "അടുത്തത്",
|
||||
"lightbox.previous": "പുറകോട്ട്",
|
||||
"limited_account_hint.action": "എന്നാലും രൂപരേഖ കാണിക്കുക",
|
||||
"link_preview.author": "{name}-നിന്നു്",
|
||||
"lists.account.add": "പട്ടികയിലേക്ക് ചേർക്കുക",
|
||||
"lists.account.remove": "പട്ടികയിൽ നിന്ന് ഒഴിവാക്കുക",
|
||||
"lists.delete": "പട്ടിക ഒഴിവാക്കുക",
|
||||
"lists.edit": "പട്ടിക തിരുത്തുക",
|
||||
"lists.edit.submit": "തലക്കെട്ട് മാറ്റുക",
|
||||
"lists.exclusive": "ഈ എഴുത്തുകൾ ആമുഖം നിന്നു് മറയ്ക്കുക",
|
||||
"lists.new.create": "പുതിയ പട്ടിക ചേർക്കുക",
|
||||
"lists.new.title_placeholder": "പുതിയ പട്ടിക തലക്കെട്ടു്",
|
||||
"lists.replies_policy.none": "ആരുമില്ല",
|
||||
"lists.replies_policy.title": "ഇതിനുള്ള മറുപടികൾ കാണിക്കുക:",
|
||||
"lists.subheading": "എന്റെ പട്ടികകൾ",
|
||||
"media_gallery.hide": "മറയ്ക്കുക",
|
||||
"navigation_bar.blocks": "തടയപ്പെട്ട ഉപയോക്താക്കൾ",
|
||||
"navigation_bar.bookmarks": "ബുക്ക്മാർക്കുകൾ",
|
||||
"navigation_bar.community_timeline": "പ്രാദേശിക സമയരേഖ",
|
||||
"navigation_bar.compose": "പുതിയ ടൂട്ട് എഴുതുക",
|
||||
"navigation_bar.discover": "കണ്ടെത്തുക",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.explore": "ആരായുക",
|
||||
"navigation_bar.favourites": "പ്രിയപ്പെട്ടതു്",
|
||||
"navigation_bar.follow_requests": "പിന്തുടരാനുള്ള അഭ്യർത്ഥനകൾ",
|
||||
"navigation_bar.lists": "ലിസ്റ്റുകൾ",
|
||||
"navigation_bar.logout": "ലോഗൗട്ട്",
|
||||
"navigation_bar.mutes": "നിശബ്ദമാക്കപ്പെട്ട ഉപയോക്താക്കൾ",
|
||||
"navigation_bar.personal": "സ്വകാര്യ",
|
||||
"navigation_bar.pins": "Pinned toots",
|
||||
"navigation_bar.preferences": "ക്രമീകരണങ്ങൾ",
|
||||
"navigation_bar.search": "തിരയുക",
|
||||
"navigation_bar.security": "സുരക്ഷ",
|
||||
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
|
||||
"notification.follow": "{name} നിങ്ങളെ പിന്തുടർന്നു",
|
||||
"notification.follow_request": "{name} നിങ്ങളെ പിന്തുടരാൻ അഭ്യർത്ഥിച്ചു",
|
||||
"notification.label.reply": "മറുപടി",
|
||||
"notification.moderation-warning.learn_more": "ഇനീം അറിയുക",
|
||||
"notification.moderation_warning.action_silence": "താങ്ങളുടെ ഇടപാടു് പരിധിപെട്ടിരിക്കുന്നു.",
|
||||
"notification.own_poll": "നിങ്ങളുടെ പോൾ അവസാനിച്ചു",
|
||||
"notification.reblog": "{name} നിങ്ങളുടെ പോസ്റ്റ് ബൂസ്റ്റ് ചെയ്തു",
|
||||
"notification.status": "{name} ഇപ്പോൾ പോസ്റ്റുചെയ്തു",
|
||||
"notification_requests.accept": "സ്വീകരിക്കുക",
|
||||
"notification_requests.edit_selection": "പരിഷ്കരിക്കുക",
|
||||
"notifications.clear": "അറിയിപ്പ് മായ്ക്കുക",
|
||||
"notifications.clear_confirmation": "നിങ്ങളുടെ എല്ലാ അറിയിപ്പുകളും ശാശ്വതമായി മായ്ക്കണമെന്ന് നിങ്ങൾക്ക് ഉറപ്പാണോ?",
|
||||
"notifications.column_settings.alert": "ഡെസ്ക്ടോപ്പ് അറിയിപ്പുകൾ",
|
||||
"notifications.column_settings.follow": "പുതിയ പിന്തുടരുന്നവർ:",
|
||||
"notifications.column_settings.follow_request": "പുതിയ പിന്തുടരൽ അഭ്യർത്ഥനകൾ:",
|
||||
"notifications.column_settings.group": "കൂട്ടം",
|
||||
"notifications.column_settings.mention": "സൂചനകൾ:",
|
||||
"notifications.column_settings.poll": "പോൾ ഫലങ്ങൾ:",
|
||||
"notifications.column_settings.push": "പുഷ് അറിയിപ്പുകൾ",
|
||||
"notifications.column_settings.reblog": "ബൂസ്റ്റുകൾ:",
|
||||
"notifications.column_settings.show": "എഴുത്തുപംക്തിയിൽ കാണിക്കുക",
|
||||
"notifications.column_settings.sound": "ശബ്ദം പ്ലേ ചെയ്യുക",
|
||||
"notifications.column_settings.status": "പുതിയ ടൂട്ടുകൾ:",
|
||||
"notifications.column_settings.update": "പരിഷ്കരണങ്ങൾ:",
|
||||
"notifications.filter.all": "എല്ലാം",
|
||||
"notifications.filter.boosts": "ബൂസ്റ്റുകൾ",
|
||||
"notifications.filter.follows": "പിന്തുടരുന്നു",
|
||||
|
@ -260,15 +337,19 @@
|
|||
"notifications.grant_permission": "അനുമതി നൽകുക.",
|
||||
"notifications.group": "{count} അറിയിപ്പുകൾ",
|
||||
"notifications.mark_as_read": "എല്ലാ അറിയിപ്പുകളും വായിച്ചതായി അടയാളപ്പെടുത്തുക",
|
||||
"notifications.policy.filter": "അരിക്കൽ",
|
||||
"notifications.policy.filter_new_accounts_title": "പുതിയ ഇടപാടുകൾ",
|
||||
"notifications.policy.filter_not_followers_title": "താങ്ങളെ പിന്തുടരാത്തതു് ആൾക്കാർ",
|
||||
"notifications_permission_banner.enable": "ഡെസ്ക്ടോപ്പ് അറിയിപ്പുകൾ പ്രാപ്തമാക്കുക",
|
||||
"onboarding.actions.go_to_explore": "See what's trending",
|
||||
"onboarding.actions.go_to_home": "Go to your home feed",
|
||||
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
|
||||
"onboarding.follows.title": "Popular on Mastodon",
|
||||
"onboarding.actions.go_to_home": "ആമുഖത്താൾ വരെ പോവ്വുക",
|
||||
"onboarding.follows.lead": "",
|
||||
"onboarding.follows.title": "താങ്ങളുടെ ആമുഖത്താളിന് വ്യക്തിപരമാക്കുക",
|
||||
"onboarding.share.title": "താങ്ങളുടെ രൂപരേഖ പങ്കിടുക",
|
||||
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
|
||||
"onboarding.start.skip": "Want to skip right ahead?",
|
||||
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
|
||||
"onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}",
|
||||
"onboarding.steps.follow_people.title": "താങ്ങളുടെ ആമുഖത്താളിന് വ്യക്തിപരമാക്കുക",
|
||||
"onboarding.steps.publish_status.body": "Say hello to the world.",
|
||||
"onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.",
|
||||
"onboarding.steps.setup_profile.title": "Customize your profile",
|
||||
|
@ -277,22 +358,32 @@
|
|||
"picture_in_picture.restore": "തിരികെ വയ്ക്കുക",
|
||||
"poll.closed": "അടച്ചു",
|
||||
"poll.refresh": "പുതുക്കുക",
|
||||
"poll.reveal": "ഫലങ്ങൾ കാണുക",
|
||||
"poll.vote": "വോട്ട് ചെയ്യുക",
|
||||
"poll.voted": "ഈ ഉത്തരത്തിനായി നിങ്ങൾ വോട്ട് ചെയ്തു",
|
||||
"poll_button.add_poll": "ഒരു പോൾ ചേർക്കുക",
|
||||
"poll_button.remove_poll": "പോൾ നീക്കംചെയ്യുക",
|
||||
"privacy.change": "ടൂട്ട് സ്വകാര്യത ക്രമീകരിക്കുക",
|
||||
"privacy.private.long": "താങ്ങളെ പിന്തുടരുന്നവർ മാത്രം",
|
||||
"privacy.private.short": "പിന്തുടരുന്നവർ",
|
||||
"privacy.public.short": "എല്ലാവര്ക്കും",
|
||||
"privacy_policy.title": "സ്വകാര്യത്തനയം",
|
||||
"refresh": "പുതുക്കുക",
|
||||
"regeneration_indicator.label": "ലഭ്യമാക്കുന്നു…",
|
||||
"regeneration_indicator.sublabel": "നിങ്ങളുടെ ഹോം ഫീഡ് തയാറാക്കുന്നു!",
|
||||
"regeneration_indicator.sublabel": "നിങ്ങളുടെ താങ്ങളുടെ ആമുഖത്താളിന് തയാറാക്കുന്നു!",
|
||||
"relative_time.days": "{number}ദിവസം",
|
||||
"relative_time.full.just_now": "ഇപ്പോൾതന്നെ",
|
||||
"relative_time.hours": "{number}മണി",
|
||||
"relative_time.just_now": "ഇപ്പോൾ",
|
||||
"relative_time.today": "ഇന്ന്",
|
||||
"reply_indicator.cancel": "റദ്ദാക്കുക",
|
||||
"report.block": "തടസ്സപെടുത്തുക",
|
||||
"report.category.title_account": "രൂപരേഖ",
|
||||
"report.close": "ചെയ്തു",
|
||||
"report.forward_hint": "ഈ അക്കൗണ്ട് മറ്റൊരു സെർവറിൽ നിന്നാണ്. റിപ്പോർട്ടിന്റെ അജ്ഞാത പകർപ്പ് അവിടെ അയയ്ക്കണോ?",
|
||||
"report.next": "അടുത്തതു്",
|
||||
"report.placeholder": "കൂടുതൽ അഭിപ്രായങ്ങൾ",
|
||||
"report.reasons.spam": "ഇതു് പാഴടക്കമാണു്",
|
||||
"report.submit": "സമർപ്പിക്കുക",
|
||||
"report.target": "Report {target}",
|
||||
"report_notification.attached_statuses": "{count, plural, one {# post} other {# posts}} attached",
|
||||
|
@ -327,7 +418,7 @@
|
|||
"status.share": "പങ്കിടുക",
|
||||
"status.show_more_all": "എല്ലാവർക്കുമായി കൂടുതൽ കാണിക്കുക",
|
||||
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
|
||||
"tabs_bar.home": "ഹോം",
|
||||
"tabs_bar.home": "ആമുഖം",
|
||||
"tabs_bar.notifications": "അറിയിപ്പുകൾ",
|
||||
"time_remaining.days": "{number, plural, one {# ദിവസം} other {# ദിവസങ്ങൾ}} ബാക്കി",
|
||||
"time_remaining.hours": "{number, plural, one {# മണിക്കൂർ} other {# മണിക്കൂർ}} ശേഷിക്കുന്നു",
|
||||
|
@ -351,7 +442,7 @@
|
|||
"upload_modal.preview_label": "പൂര്വ്വദൃശ്യം({ratio})",
|
||||
"upload_progress.label": "Uploading…",
|
||||
"video.close": "വീഡിയോ അടയ്ക്കുക",
|
||||
"video.download": "ഫയൽ ഡൌൺലോഡ് ചെയ്യുക",
|
||||
"video.download": "ഫയൽ ഇറക്കുവയ്ക്കുക",
|
||||
"video.exit_fullscreen": "പൂർണ്ണ സ്ക്രീനിൽ നിന്ന് പുറത്തുകടക്കുക",
|
||||
"video.expand": "വീഡിയോ വികസപ്പിക്കൂ",
|
||||
"video.fullscreen": "പൂർണ്ണ സ്ക്രീൻ",
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
"account.followers.empty": "Belum ada yang mengikuti pengguna ini.",
|
||||
"account.followers_counter": "{count, plural, one {{counter} Diikuti} other {{counter} Diikuti}}",
|
||||
"account.following": "Mengikuti",
|
||||
"account.following_counter": "{count, plural, other {{counter} following}}",
|
||||
"account.follows.empty": "Pengguna ini belum mengikuti sesiapa.",
|
||||
"account.go_to_profile": "Pergi ke profil",
|
||||
"account.hide_reblogs": "Sembunyikan galakan daripada @{name}",
|
||||
|
@ -61,6 +62,7 @@
|
|||
"account.requested_follow": "{name} has requested to follow you",
|
||||
"account.share": "Kongsi profil @{name}",
|
||||
"account.show_reblogs": "Tunjukkan galakan daripada @{name}",
|
||||
"account.statuses_counter": "{count, plural, other {{counter} siaran}}",
|
||||
"account.unblock": "Nyahsekat @{name}",
|
||||
"account.unblock_domain": "Nyahsekat domain {domain}",
|
||||
"account.unblock_short": "Nyahsekat",
|
||||
|
|
|
@ -459,7 +459,7 @@
|
|||
"lists.subheading": "Jouw lijsten",
|
||||
"load_pending": "{count, plural, one {# nieuw item} other {# nieuwe items}}",
|
||||
"loading_indicator.label": "Laden…",
|
||||
"media_gallery.hide": "Verbergen",
|
||||
"media_gallery.hide": "Verberg",
|
||||
"moved_to_account_banner.text": "Omdat je naar {movedToAccount} bent verhuisd is jouw account {disabledAccount} momenteel uitgeschakeld.",
|
||||
"mute_modal.hide_from_notifications": "Onder meldingen verbergen",
|
||||
"mute_modal.hide_options": "Opties verbergen",
|
||||
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} markeerde jouw bericht als favoriet",
|
||||
"notification.favourite.name_and_others_with_link": "{name} en <a>{count, plural, one {# ander persoon} other {# andere personen}}</a> hebben jouw bericht als favoriet gemarkeerd",
|
||||
"notification.follow": "{name} volgt jou nu",
|
||||
"notification.follow.name_and_others": "{name} en {count, plural, one {# ander persoon} other {# andere personen}} hebben je gevolgd",
|
||||
"notification.follow.name_and_others": "{name} en <a>{count, plural, one {# ander persoon} other {# andere personen}}</a> volgen jou nou",
|
||||
"notification.follow_request": "{name} wil jou graag volgen",
|
||||
"notification.follow_request.name_and_others": "{name} en {count, plural, one {# ander persoon} other {# andere personen}} hebben gevraagd om je te volgen",
|
||||
"notification.label.mention": "Vermelding",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Snelle filterbalk",
|
||||
"notifications.column_settings.follow": "Nieuwe volgers:",
|
||||
"notifications.column_settings.follow_request": "Nieuw volgverzoek:",
|
||||
"notifications.column_settings.group": "Groeperen",
|
||||
"notifications.column_settings.mention": "Vermeldingen:",
|
||||
"notifications.column_settings.poll": "Peilingresultaten:",
|
||||
"notifications.column_settings.push": "Pushmeldingen",
|
||||
|
@ -781,7 +782,7 @@
|
|||
"status.bookmark": "Bladwijzer toevoegen",
|
||||
"status.cancel_reblog_private": "Niet langer boosten",
|
||||
"status.cannot_reblog": "Dit bericht kan niet geboost worden",
|
||||
"status.continued_thread": "Vervolgt het gesprek",
|
||||
"status.continued_thread": "Vervolg van gesprek",
|
||||
"status.copy": "Link naar bericht kopiëren",
|
||||
"status.delete": "Verwijderen",
|
||||
"status.detailed_status": "Uitgebreide gespreksweergave",
|
||||
|
|
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} markerte innlegget ditt som favoritt",
|
||||
"notification.favourite.name_and_others_with_link": "{name} og <a>{count, plural, one {# annan} other {# andre}}</a> 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.name_and_others": "{name} og <a>{count, plural, one {# annan} other {# andre}}</a> fylgde deg",
|
||||
"notification.follow_request": "{name} har bedt om å fylgja deg",
|
||||
"notification.follow_request.name_and_others": "{name} og {count, plural, one {# annan} other {# andre}} har spurt om å fylgja deg",
|
||||
"notification.label.mention": "Omtale",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"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.group": "Gruppe",
|
||||
"notifications.column_settings.mention": "Omtaler:",
|
||||
"notifications.column_settings.poll": "Røysteresultat:",
|
||||
"notifications.column_settings.push": "Pushvarsel",
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"about.not_available": "Aquesta informacion foguèt pas renduda disponibla sus aqueste servidor.",
|
||||
"about.powered_by": "Malhum social descentralizat propulsat per {mastodon}",
|
||||
"about.rules": "Règlas del servidor",
|
||||
"account.account_note_header": "Nòta personala",
|
||||
"account.add_or_remove_from_list": "Ajustar o tirar de las listas",
|
||||
"account.badges.bot": "Robòt",
|
||||
"account.badges.group": "Grop",
|
||||
|
@ -72,9 +73,12 @@
|
|||
"alert.rate_limited.title": "Taus limitat",
|
||||
"alert.unexpected.message": "Una error s’es producha.",
|
||||
"alert.unexpected.title": "Ops !",
|
||||
"alt_text_badge.title": "Tèxt alternatiu",
|
||||
"announcement.announcement": "Anóncia",
|
||||
"attachments_list.unprocessed": "(pas tractat)",
|
||||
"audio.hide": "Amagar àudio",
|
||||
"block_modal.show_less": "Ne veire mens",
|
||||
"block_modal.show_more": "Ne veire mai",
|
||||
"boost_modal.combo": "Podètz botar {combo} per passar aquò lo còp que ven",
|
||||
"bundle_column_error.copy_stacktrace": "Copiar senhalament d’avaria",
|
||||
"bundle_column_error.error.title": "Oh non !",
|
||||
|
@ -128,9 +132,14 @@
|
|||
"compose_form.poll.duration": "Durada del sondatge",
|
||||
"compose_form.poll.switch_to_multiple": "Cambiar lo sondatge per permetre de causidas multiplas",
|
||||
"compose_form.poll.switch_to_single": "Cambiar lo sondatge per permetre una sola causida",
|
||||
"compose_form.poll.type": "Estil",
|
||||
"compose_form.publish": "Publicar",
|
||||
"compose_form.publish_form": "Publicar",
|
||||
"compose_form.reply": "Respondre",
|
||||
"compose_form.save_changes": "Actualizar",
|
||||
"compose_form.spoiler.marked": "Lo tèxte es rescondut jos l’avertiment",
|
||||
"compose_form.spoiler.unmarked": "Lo tèxte es pas rescondut",
|
||||
"compose_form.spoiler_placeholder": "Avertiment de contengut (opcional)",
|
||||
"confirmation_modal.cancel": "Anullar",
|
||||
"confirmations.block.confirm": "Blocar",
|
||||
"confirmations.delete.confirm": "Escafar",
|
||||
|
|
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} dodaje Twój wpis do ulubionych",
|
||||
"notification.favourite.name_and_others_with_link": "{name} i <a>{count, plural, one {# inna osoba</a> polubiła twój wpis} few {# inne osoby</a> polubiły twój wpis} other {# innych osób</a> 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.name_and_others": "{name} i {count, plural, one {<a># inna osoba</a> cię zaobserwowała} few {<a># inne osoby</a> cię zaobserwowały} other {<a># innych osób</a> cię zaobserwowało}}",
|
||||
"notification.follow_request": "{name} chce cię zaobserwować",
|
||||
"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",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Szybkie filtrowanie",
|
||||
"notifications.column_settings.follow": "Nowi obserwujący:",
|
||||
"notifications.column_settings.follow_request": "Nowe prośby o możliwość obserwacji:",
|
||||
"notifications.column_settings.group": "Grupuj",
|
||||
"notifications.column_settings.mention": "Wspomnienia:",
|
||||
"notifications.column_settings.poll": "Wyniki głosowania:",
|
||||
"notifications.column_settings.push": "Powiadomienia push",
|
||||
|
|
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} favoritou sua publicação",
|
||||
"notification.favourite.name_and_others_with_link": "{name} e <a>{count, plural, one {# outro} other {# others}}</a> favoritaram a publicação",
|
||||
"notification.follow": "{name} te seguiu",
|
||||
"notification.follow.name_and_others": "{name} e {count, plural, one {# other} other {# outros}} seguiu você",
|
||||
"notification.follow.name_and_others": "{name} e <a>{count, plural, one {# outro} other {# outros}}</a> seguiram você",
|
||||
"notification.follow_request": "{name} quer te seguir",
|
||||
"notification.follow_request.name_and_others": "{name} e {count, plural, one {# other} other {# outros}} pediu para seguir você",
|
||||
"notification.label.mention": "Menção",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Barra de filtro rápido",
|
||||
"notifications.column_settings.follow": "Seguidores:",
|
||||
"notifications.column_settings.follow_request": "Seguidores pendentes:",
|
||||
"notifications.column_settings.group": "Grupo",
|
||||
"notifications.column_settings.mention": "Menções:",
|
||||
"notifications.column_settings.poll": "Enquetes:",
|
||||
"notifications.column_settings.push": "Notificações push",
|
||||
|
|
|
@ -503,7 +503,6 @@
|
|||
"notification.favourite": "{name} assinalou a sua publicação como favorita",
|
||||
"notification.favourite.name_and_others_with_link": "{name} e <a>{count, plural, one {# outro} other {# outros}}</a> assinalou a sua publicação como favorita",
|
||||
"notification.follow": "{name} começou a seguir-te",
|
||||
"notification.follow.name_and_others": "{name} e {count, plural, one {# outro} other {# outros}} começaram a segui-lo",
|
||||
"notification.follow_request": "{name} pediu para segui-lo",
|
||||
"notification.follow_request.name_and_others": "{name} e {count, plural, one {# outro} other {# outros}} pediram para segui-lo",
|
||||
"notification.label.mention": "Menção",
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
"account.follow_back": "Подписаться в ответ",
|
||||
"account.followers": "Подписчики",
|
||||
"account.followers.empty": "На этого пользователя пока никто не подписан.",
|
||||
"account.followers_counter": "{count, plural, one {{counter} последователя} other {{counter} последователей}}",
|
||||
"account.followers_counter": "{count, plural, one {{counter} подписчик} few {{counter} подписчика} other {{counter} подписчиков}}",
|
||||
"account.following": "Подписки",
|
||||
"account.following_counter": "{count, plural, one {{counter} последующий} other {{counter} последующие}}",
|
||||
"account.follows.empty": "Этот пользователь пока ни на кого не подписался.",
|
||||
|
@ -62,6 +62,7 @@
|
|||
"account.requested_follow": "{name} отправил(а) вам запрос на подписку",
|
||||
"account.share": "Поделиться профилем @{name}",
|
||||
"account.show_reblogs": "Показывать продвижения от @{name}",
|
||||
"account.statuses_counter": "{count, plural, one {# пост} few {# поста} many {# постов} other {# постов}}",
|
||||
"account.unblock": "Разблокировать @{name}",
|
||||
"account.unblock_domain": "Разблокировать {domain}",
|
||||
"account.unblock_short": "Разблокировать",
|
||||
|
@ -77,13 +78,14 @@
|
|||
"admin.dashboard.retention.cohort": "Месяц регистрации",
|
||||
"admin.dashboard.retention.cohort_size": "Новые пользователи",
|
||||
"admin.impact_report.instance_accounts": "Профили учетных записей, которые будут удалены",
|
||||
"admin.impact_report.instance_followers": "Последователи, которых потеряют наши пользователи",
|
||||
"admin.impact_report.instance_follows": "Последователи, которых потеряют наши пользователи",
|
||||
"admin.impact_report.instance_followers": "Подписчики, которых потеряют наши пользователи",
|
||||
"admin.impact_report.instance_follows": "Подписчики, которых потеряют их пользователи",
|
||||
"admin.impact_report.title": "Резюме воздействия",
|
||||
"alert.rate_limited.message": "Пожалуйста, повторите после {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Ограничение количества запросов",
|
||||
"alert.unexpected.message": "Произошла непредвиденная ошибка.",
|
||||
"alert.unexpected.title": "Упс!",
|
||||
"alt_text_badge.title": "Альтернативный текст",
|
||||
"announcement.announcement": "Объявление",
|
||||
"attachments_list.unprocessed": "(не обработан)",
|
||||
"audio.hide": "Скрыть аудио",
|
||||
|
@ -220,6 +222,7 @@
|
|||
"domain_block_modal.they_cant_follow": "Никто из этого сервера не может подписываться на вас.",
|
||||
"domain_block_modal.they_wont_know": "Он не будет знать, что его заблокировали.",
|
||||
"domain_block_modal.title": "Заблокировать домен?",
|
||||
"domain_block_modal.you_will_lose_relationships": "Вы потеряете всех подписчиков и людей, на которых вы подписаны, на этом сервере.",
|
||||
"domain_block_modal.you_wont_see_posts": "Вы не будете видеть записи или уведомления от пользователей на этом сервере.",
|
||||
"domain_pill.activitypub_lets_connect": "Это позволяет вам общаться и взаимодействовать с людьми не только на Mastodon, но и в различных социальных приложениях.",
|
||||
"domain_pill.activitypub_like_language": "ActivityPub как язык Mastodon говорит с другими социальными сетями.",
|
||||
|
@ -351,7 +354,7 @@
|
|||
"hashtag.follow": "Подписаться на новые посты",
|
||||
"hashtag.unfollow": "Отписаться",
|
||||
"hashtags.and_other": "...и {count, plural, other {# ещё}}",
|
||||
"hints.profiles.followers_may_be_missing": "Последователи для этого профиля могут отсутствовать.",
|
||||
"hints.profiles.followers_may_be_missing": "Подписчики у этого профиля могут отсутствовать.",
|
||||
"hints.profiles.follows_may_be_missing": "Фолловеры для этого профиля могут отсутствовать.",
|
||||
"hints.profiles.posts_may_be_missing": "Некоторые сообщения из этого профиля могут отсутствовать.",
|
||||
"hints.profiles.see_more_followers": "Посмотреть больше подписчиков на {domain}",
|
||||
|
@ -432,6 +435,8 @@
|
|||
"lightbox.close": "Закрыть",
|
||||
"lightbox.next": "Далее",
|
||||
"lightbox.previous": "Назад",
|
||||
"lightbox.zoom_in": "Масштаб до фактического размера",
|
||||
"lightbox.zoom_out": "Масштаб по размеру экрана",
|
||||
"limited_account_hint.action": "Все равно показать профиль",
|
||||
"limited_account_hint.title": "Этот профиль был скрыт модераторами {domain}.",
|
||||
"link_preview.author": "Автор: {name}",
|
||||
|
@ -503,12 +508,13 @@
|
|||
"notification.favourite.name_and_others_with_link": "{name} и <a>{count, plural, one {# другие} other {# другие}}</a> отдали предпочтение вашему посту",
|
||||
"notification.follow": "{name} подписался (-лась) на вас",
|
||||
"notification.follow_request": "{name} отправил запрос на подписку",
|
||||
"notification.follow_request.name_and_others": "{name} и {count, plural, one {# другие} other {# другие}} последовали за тобой",
|
||||
"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.mentioned_you": "{name} упомянул(а) вас",
|
||||
"notification.moderation-warning.learn_more": "Узнать больше",
|
||||
"notification.moderation_warning": "Вы получили предупреждение от модерации",
|
||||
"notification.moderation_warning.action_delete_statuses": "Некоторые из ваших публикаций были удалены.",
|
||||
|
@ -632,7 +638,7 @@
|
|||
"onboarding.steps.share_profile.title": "Поделитесь вашим профилем",
|
||||
"onboarding.tips.2fa": "<strong>Знаете ли вы? </strong> Вы можете защитить свой аккаунт, настроив двухфакторную аутентификацию в настройках аккаунта. Она работает с любым приложением TOTP по вашему выбору, номер телефона не требуется!",
|
||||
"onboarding.tips.accounts_from_other_servers": "<strong>Знали ли вы? </strong> Поскольку Mastodon децентрализован, некоторые профили, с которыми вы столкнетесь, будут размещены на серверах, отличных от вашего. И все же вы можете взаимодействовать с ними без проблем! Их сервер находится во второй половине имени пользователя!",
|
||||
"onboarding.tips.migration": "<strong>Знаете ли вы? </strong> Если вы чувствуете, что {domain} не подходит вам в качестве сервера в будущем, вы можете переехать на другой сервер Mastodon без потери своих последователей. Вы даже можете разместить свой собственный сервер!",
|
||||
"onboarding.tips.migration": "<strong>Знаете ли вы? </strong> Если вы чувствуете, что {domain} не подходит вам в качестве сервера в будущем, вы можете переехать на другой сервер Mastodon без потери своих подписчиков. Вы даже можете разместить свой собственный сервер!",
|
||||
"onboarding.tips.verification": "<strong>Знали ли вы? </strong> Вы можете подтвердить свою учетную запись, разместив ссылку на свой профиль Mastodon на собственном сайте и добавив сайт в свой профиль. Никаких сборов или документов не требуется!",
|
||||
"password_confirmation.exceeds_maxlength": "Срок подтверждения пароля превышает максимальную длину пароля",
|
||||
"password_confirmation.mismatching": "Введенные пароли не совпадают.",
|
||||
|
@ -725,6 +731,7 @@
|
|||
"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": "Поиск",
|
||||
|
@ -754,7 +761,7 @@
|
|||
"server_banner.administered_by": "Управляется:",
|
||||
"server_banner.is_one_of_many": "{domain} - это один из многих независимых серверов Mastodon, которые вы можете использовать для участия в fediverse.",
|
||||
"server_banner.server_stats": "Статистика сервера:",
|
||||
"sign_in_banner.create_account": "Создать учётную запись",
|
||||
"sign_in_banner.create_account": "Зарегистрироваться",
|
||||
"sign_in_banner.follow_anyone": "Следите за любым человеком в федеральной вселенной и смотрите все в хронологическом порядке. Никаких алгоритмов, рекламы или клик бейта.",
|
||||
"sign_in_banner.mastodon_is": "Mastodon - лучший способ быть в курсе всего происходящего.",
|
||||
"sign_in_banner.sign_in": "Войти",
|
||||
|
@ -836,6 +843,10 @@
|
|||
"upload_error.poll": "К опросам нельзя прикреплять файлы.",
|
||||
"upload_form.audio_description": "Опишите аудиофайл для людей с нарушением слуха",
|
||||
"upload_form.description": "Добавьте описание для людей с нарушениями зрения:",
|
||||
"upload_form.drag_and_drop.instructions": "Чтобы подобрать прикрепленный файл, нажмите \"Пробел\" (Space) или \"Ввод\" (Enter). При перетаскивании используйте клавиши со стрелками, чтобы переместить прикрепленные файлы в любом направлении. Нажмите \"Пробел\" (Space) или \"Ввод\" (Enter) еще раз, чтобы переместить вложение в новое место, или нажмите кнопку \"Выйти\" (Escape), чтобы отменить.",
|
||||
"upload_form.drag_and_drop.on_drag_cancel": "Перетаскивание было отменено. Вложение медиа {item} было удалено.",
|
||||
"upload_form.drag_and_drop.on_drag_end": "Медиа вложение {item} было удалено.",
|
||||
"upload_form.drag_and_drop.on_drag_over": "Медиа вложение {item} было перемещено.",
|
||||
"upload_form.edit": "Изменить",
|
||||
"upload_form.thumbnail": "Изменить обложку",
|
||||
"upload_form.video_description": "Опишите видео для людей с нарушением слуха или зрения",
|
||||
|
|
|
@ -458,7 +458,6 @@
|
|||
"notification.favourite": "{name} at marcadu comente a preferidu s'istadu tuo",
|
||||
"notification.favourite.name_and_others_with_link": "{name} e <a>{count, plural, one {un'àtera persone} other {àteras # persones}}</a> ant marcadu sa publicatzione tua comente preferida",
|
||||
"notification.follow": "{name} ti sighit",
|
||||
"notification.follow.name_and_others": "{name} e {count, plural, one {un'àtera persone} other {àteras # persones}} ti sighint",
|
||||
"notification.follow_request": "{name} at dimandadu de ti sighire",
|
||||
"notification.follow_request.name_and_others": "{name} e {count, plural, one {un'àtera persone} other {àteras # persones}} ant pedidu de ti sighire",
|
||||
"notification.label.mention": "Mèntovu",
|
||||
|
|
|
@ -508,7 +508,6 @@
|
|||
"notification.favourite": "{name} i vuri shenjë postimit tuaj si të parapëlqyer",
|
||||
"notification.favourite.name_and_others_with_link": "{name} dhe <a>{count, plural, one {# tjetër} other {# të tjerë}}</a> 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.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",
|
||||
|
|
|
@ -85,6 +85,7 @@
|
|||
"alert.rate_limited.title": "Mängd begränsad",
|
||||
"alert.unexpected.message": "Ett oväntat fel uppstod.",
|
||||
"alert.unexpected.title": "Hoppsan!",
|
||||
"alt_text_badge.title": "Alt-Text",
|
||||
"announcement.announcement": "Meddelande",
|
||||
"attachments_list.unprocessed": "(obehandlad)",
|
||||
"audio.hide": "Dölj audio",
|
||||
|
@ -97,6 +98,8 @@
|
|||
"block_modal.title": "Blockera användare?",
|
||||
"block_modal.you_wont_see_mentions": "Du kommer inte att se inlägg som nämner dem.",
|
||||
"boost_modal.combo": "Du kan trycka på {combo} för att hoppa över detta nästa gång",
|
||||
"boost_modal.reblog": "Boosta inlägg?",
|
||||
"boost_modal.undo_reblog": "Avboosta inlägg?",
|
||||
"bundle_column_error.copy_stacktrace": "Kopiera felrapport",
|
||||
"bundle_column_error.error.body": "Den begärda sidan kunde inte visas. Det kan bero på ett fel i vår kod eller ett problem med webbläsarens kompatibilitet.",
|
||||
"bundle_column_error.error.title": "Åh nej!",
|
||||
|
@ -219,6 +222,8 @@
|
|||
"domain_block_modal.they_cant_follow": "Ingen från denna server kan följa dig.",
|
||||
"domain_block_modal.they_wont_know": "De kommer inte veta att de har blockerats.",
|
||||
"domain_block_modal.title": "Blockera domän?",
|
||||
"domain_block_modal.you_will_lose_num_followers": "Du kommer att förlora {followersCount, plural, other {{followersCountDisplay} följare}} och {followingCount, plural, one {{followingCountDisplay} person du följer} other {{followingCountDisplay} personer du följer}}.",
|
||||
"domain_block_modal.you_will_lose_relationships": "Du kommer att förlora alla följare och personer du följer från denna server.",
|
||||
"domain_block_modal.you_wont_see_posts": "Du kommer inte att se inlägg eller meddelanden från användare på den här servern.",
|
||||
"domain_pill.activitypub_lets_connect": "Det låter dig ansluta och interagera med människor inte bara på Mastodon, men även på andra sociala appar.",
|
||||
"domain_pill.activitypub_like_language": "ActivityPub är som språket Mastodon talar med andra sociala nätverk.",
|
||||
|
@ -300,6 +305,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",
|
||||
"filter_warning.matches_filter": "Matchar filtret \"{title}\"",
|
||||
"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",
|
||||
|
@ -430,6 +436,8 @@
|
|||
"lightbox.close": "Stäng",
|
||||
"lightbox.next": "Nästa",
|
||||
"lightbox.previous": "Tidigare",
|
||||
"lightbox.zoom_in": "Zooma till faktisk storlek",
|
||||
"lightbox.zoom_out": "Zooma för att passa",
|
||||
"limited_account_hint.action": "Visa profil ändå",
|
||||
"limited_account_hint.title": "Denna profil har dolts av {domain}s moderatorer.",
|
||||
"link_preview.author": "Av {name}",
|
||||
|
@ -463,6 +471,7 @@
|
|||
"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.",
|
||||
"navigation_bar.about": "Om",
|
||||
"navigation_bar.administration": "Administration",
|
||||
"navigation_bar.advanced_interface": "Öppna i avancerat webbgränssnitt",
|
||||
"navigation_bar.blocks": "Blockerade användare",
|
||||
"navigation_bar.bookmarks": "Bokmärken",
|
||||
|
@ -479,6 +488,7 @@
|
|||
"navigation_bar.follows_and_followers": "Följer och följare",
|
||||
"navigation_bar.lists": "Listor",
|
||||
"navigation_bar.logout": "Logga ut",
|
||||
"navigation_bar.moderation": "Moderering",
|
||||
"navigation_bar.mutes": "Tystade användare",
|
||||
"navigation_bar.opened_in_classic_interface": "Inlägg, konton och andra specifika sidor öppnas som standard i det klassiska webbgränssnittet.",
|
||||
"navigation_bar.personal": "Personligt",
|
||||
|
@ -498,7 +508,6 @@
|
|||
"notification.favourite": "{name} favoritmarkerade ditt inlägg",
|
||||
"notification.favourite.name_and_others_with_link": "{name} och <a>{count, plural, one {# annan} other {# andra}}</a> 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.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",
|
||||
|
@ -771,6 +780,7 @@
|
|||
"status.bookmark": "Bokmärk",
|
||||
"status.cancel_reblog_private": "Sluta boosta",
|
||||
"status.cannot_reblog": "Detta inlägg kan inte boostas",
|
||||
"status.continued_thread": "Fortsatt tråd",
|
||||
"status.copy": "Kopiera inläggslänk",
|
||||
"status.delete": "Radera",
|
||||
"status.detailed_status": "Detaljerad samtalsvy",
|
||||
|
@ -804,6 +814,7 @@
|
|||
"status.reblogs.empty": "Ingen har boostat detta inlägg än. När någon gör det kommer de synas här.",
|
||||
"status.redraft": "Radera & gör om",
|
||||
"status.remove_bookmark": "Ta bort bokmärke",
|
||||
"status.replied_in_thread": "Svarade i tråden",
|
||||
"status.replied_to": "Svarade på {name}",
|
||||
"status.reply": "Svara",
|
||||
"status.replyAll": "Svara på tråden",
|
||||
|
@ -841,6 +852,11 @@
|
|||
"upload_error.poll": "Filuppladdning tillåts inte med omröstningar.",
|
||||
"upload_form.audio_description": "Beskriv för personer med hörselnedsättning",
|
||||
"upload_form.description": "Beskriv för synskadade",
|
||||
"upload_form.drag_and_drop.instructions": "För att plocka upp en mediebilaga, tryck på mellanslag eller enter. Använd piltangenterna för att flytta mediebilagan. Tryck på mellanslag eller enter igen för att släppa mediebilagan i sin nya position, eller tryck på escape för att avbryta.",
|
||||
"upload_form.drag_and_drop.on_drag_cancel": "Flytten avbröts. Mediebilagan {item} släpptes.",
|
||||
"upload_form.drag_and_drop.on_drag_end": "Mediebilagan {item} släpptes.",
|
||||
"upload_form.drag_and_drop.on_drag_over": "Mediebilagan {item} flyttades.",
|
||||
"upload_form.drag_and_drop.on_drag_start": "Mediebilagan {item} plockades upp.",
|
||||
"upload_form.edit": "Redigera",
|
||||
"upload_form.thumbnail": "Ändra miniatyr",
|
||||
"upload_form.video_description": "Beskriv för personer med hörsel- eller synnedsättning",
|
||||
|
|
|
@ -222,6 +222,8 @@
|
|||
"domain_block_modal.they_cant_follow": "ไม่มีใครจากเซิร์ฟเวอร์นี้สามารถติดตามคุณ",
|
||||
"domain_block_modal.they_wont_know": "เขาจะไม่ทราบว่ามีการปิดกั้นเขา",
|
||||
"domain_block_modal.title": "ปิดกั้นโดเมน?",
|
||||
"domain_block_modal.you_will_lose_num_followers": "คุณจะสูญเสีย {followersCount, plural, other {{followersCountDisplay} ผู้ติดตาม}}และ {followingCount, plural, other {{followingCountDisplay} คนที่คุณติดตาม}}",
|
||||
"domain_block_modal.you_will_lose_relationships": "คุณจะสูญเสียผู้ติดตามและผู้คนที่คุณติดตามทั้งหมดจากเซิร์ฟเวอร์นี้",
|
||||
"domain_block_modal.you_wont_see_posts": "คุณจะไม่เห็นโพสต์หรือการแจ้งเตือนจากผู้ใช้ในเซิร์ฟเวอร์นี้",
|
||||
"domain_pill.activitypub_lets_connect": "โปรโตคอลช่วยให้คุณเชื่อมต่อและโต้ตอบกับผู้คนไม่ใช่แค่ใน Mastodon แต่ทั่วทั้งแอปสังคมต่าง ๆ เช่นกัน",
|
||||
"domain_pill.activitypub_like_language": "ActivityPub เป็นเหมือนภาษาที่ Mastodon พูดกับเครือข่ายสังคมอื่น ๆ",
|
||||
|
@ -434,6 +436,8 @@
|
|||
"lightbox.close": "ปิด",
|
||||
"lightbox.next": "ถัดไป",
|
||||
"lightbox.previous": "ก่อนหน้า",
|
||||
"lightbox.zoom_in": "ซูมเป็นขนาดจริง",
|
||||
"lightbox.zoom_out": "ซูมให้พอดี",
|
||||
"limited_account_hint.action": "แสดงโปรไฟล์ต่อไป",
|
||||
"limited_account_hint.title": "มีการซ่อนโปรไฟล์นี้โดยผู้กลั่นกรองของ {domain}",
|
||||
"link_preview.author": "โดย {name}",
|
||||
|
@ -504,7 +508,6 @@
|
|||
"notification.favourite": "{name} ได้ชื่นชอบโพสต์ของคุณ",
|
||||
"notification.favourite.name_and_others_with_link": "{name} และ <a>{count, plural, other {# อื่น ๆ}}</a> ได้ชื่นชอบโพสต์ของคุณ",
|
||||
"notification.follow": "{name} ได้ติดตามคุณ",
|
||||
"notification.follow.name_and_others": "{name} และ {count, plural, other {# อื่น ๆ}} ได้ติดตามคุณ",
|
||||
"notification.follow_request": "{name} ได้ขอติดตามคุณ",
|
||||
"notification.follow_request.name_and_others": "{name} และ {count, plural, other {# อื่น ๆ}} ได้ขอติดตามคุณ",
|
||||
"notification.label.mention": "การกล่าวถึง",
|
||||
|
|
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} gönderinizi beğendi",
|
||||
"notification.favourite.name_and_others_with_link": "{name} ve <a>{count, plural, one {# diğer kişi} other {# diğer kişi}}</a> 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.name_and_others": "{name} ve <a>{count, plural, one {# diğer kişi} other {# diğer kişi}}</a> sizi takip etti",
|
||||
"notification.follow_request": "{name} size takip isteği gönderdi",
|
||||
"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",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Hızlı filtre çubuğu",
|
||||
"notifications.column_settings.follow": "Yeni takipçiler:",
|
||||
"notifications.column_settings.follow_request": "Yeni takip istekleri:",
|
||||
"notifications.column_settings.group": "Grupla",
|
||||
"notifications.column_settings.mention": "Bahsetmeler:",
|
||||
"notifications.column_settings.poll": "Anket sonuçları:",
|
||||
"notifications.column_settings.push": "Anlık bildirimler",
|
||||
|
|
|
@ -508,7 +508,6 @@
|
|||
"notification.favourite": "Ваш допис сподобався {name}",
|
||||
"notification.favourite.name_and_others_with_link": "{name} та <a>{count, plural, one {# інший} few {# інших} many {# інших} other {# інший}}</a> вподобали ваш допис",
|
||||
"notification.follow": "{name} підписалися на вас",
|
||||
"notification.follow.name_and_others": "{name} та {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}} стежать за вами",
|
||||
"notification.follow_request": "{name} відправили запит на підписку",
|
||||
"notification.follow_request.name_and_others": "{name} та {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}} надсилають вам запит на стеження",
|
||||
"notification.label.mention": "Згадка",
|
||||
|
@ -567,6 +566,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Панель швидкого фільтра",
|
||||
"notifications.column_settings.follow": "Нові підписники:",
|
||||
"notifications.column_settings.follow_request": "Нові запити на підписку:",
|
||||
"notifications.column_settings.group": "Група",
|
||||
"notifications.column_settings.mention": "Згадки:",
|
||||
"notifications.column_settings.poll": "Результати опитування:",
|
||||
"notifications.column_settings.push": "Push-сповіщення",
|
||||
|
|
|
@ -441,7 +441,7 @@
|
|||
"limited_account_hint.action": "Vẫn cứ xem",
|
||||
"limited_account_hint.title": "Người này đã bị ẩn bởi quản trị viên {domain}.",
|
||||
"link_preview.author": "Bởi {name}",
|
||||
"link_preview.more_from_author": "Thêm từ {name}",
|
||||
"link_preview.more_from_author": "Viết bởi {name}",
|
||||
"link_preview.shares": "{count, plural, other {{counter} lượt chia sẻ}}",
|
||||
"lists.account.add": "Thêm vào danh sách",
|
||||
"lists.account.remove": "Xóa khỏi danh sách",
|
||||
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} thích tút của bạn",
|
||||
"notification.favourite.name_and_others_with_link": "{name} và <a>{count, plural, other {# người khác}}</a> đã 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.name_and_others": "{name} và <a>{count, plural, other {# người khác}}</a> theo dõi bạn",
|
||||
"notification.follow_request": "{name} yêu cầu theo dõi 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",
|
||||
|
@ -527,7 +527,7 @@
|
|||
"notification.moderation_warning.action_silence": "Tài khoản của bạn đã bị hạn chế.",
|
||||
"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.poll": "Cuộc bình chọn mà bạn tham gia đã kết thúc",
|
||||
"notification.reblog": "{name} đăng lại tút của bạn",
|
||||
"notification.reblog.name_and_others_with_link": "{name} và <a>{count, plural, other {# người khác}}</a> đã đăng lại tút của bạn",
|
||||
"notification.relationships_severance_event": "Mất kết nối với {name}",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Thanh lọc nhanh",
|
||||
"notifications.column_settings.follow": "Người theo dõi:",
|
||||
"notifications.column_settings.follow_request": "Yêu cầu theo dõi:",
|
||||
"notifications.column_settings.group": "Nhóm",
|
||||
"notifications.column_settings.mention": "Lượt nhắc đến:",
|
||||
"notifications.column_settings.poll": "Kết quả bình chọn:",
|
||||
"notifications.column_settings.push": "Thông báo đẩy",
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
"account.followers.empty": "目前无人关注此用户。",
|
||||
"account.followers_counter": "{count, plural, other {{counter} 关注者}}",
|
||||
"account.following": "正在关注",
|
||||
"account.following_counter": "{count, plural, other {{counter} 关注}}",
|
||||
"account.following_counter": "正在关注 {count, plural, other {{counter} 人}}",
|
||||
"account.follows.empty": "此用户目前未关注任何人。",
|
||||
"account.go_to_profile": "前往个人资料页",
|
||||
"account.hide_reblogs": "隐藏来自 @{name} 的转嘟",
|
||||
|
@ -59,7 +59,7 @@
|
|||
"account.posts_with_replies": "嘟文和回复",
|
||||
"account.report": "举报 @{name}",
|
||||
"account.requested": "正在等待对方同意。点击取消发送关注请求",
|
||||
"account.requested_follow": "{name} 已经向你发送了关注请求",
|
||||
"account.requested_follow": "{name} 向你发送了关注请求",
|
||||
"account.share": "分享 @{name} 的个人资料页",
|
||||
"account.show_reblogs": "显示来自 @{name} 的转嘟",
|
||||
"account.statuses_counter": "{count, plural, other {{counter} 条嘟文}}",
|
||||
|
@ -94,8 +94,8 @@
|
|||
"block_modal.show_more": "显示更多",
|
||||
"block_modal.they_cant_mention": "他们不能提及或关注你。",
|
||||
"block_modal.they_cant_see_posts": "他们看不到你的嘟文,你也看不到他们的嘟文。",
|
||||
"block_modal.they_will_know": "他们将能看到他们被屏蔽。",
|
||||
"block_modal.title": "是否屏蔽该用户?",
|
||||
"block_modal.they_will_know": "对方将能看到自己被屏蔽。",
|
||||
"block_modal.title": "屏蔽该用户?",
|
||||
"block_modal.you_wont_see_mentions": "你将不会看到提及他们的嘟文。",
|
||||
"boost_modal.combo": "下次按住 {combo} 即可跳过此提示",
|
||||
"boost_modal.reblog": "是否转嘟?",
|
||||
|
@ -204,7 +204,7 @@
|
|||
"copy_icon_button.copied": "已复制到剪贴板",
|
||||
"copypaste.copied": "已复制",
|
||||
"copypaste.copy_to_clipboard": "复制到剪贴板",
|
||||
"directory.federated": "来自已知的联邦宇宙",
|
||||
"directory.federated": "来自已知联邦宇宙",
|
||||
"directory.local": "仅来自 {domain}",
|
||||
"directory.new_arrivals": "新来者",
|
||||
"directory.recently_active": "最近活跃",
|
||||
|
@ -220,24 +220,24 @@
|
|||
"domain_block_modal.block_account_instead": "改为屏蔽 @{name}",
|
||||
"domain_block_modal.they_can_interact_with_old_posts": "来自该服务器的人可以与你之前的嘟文交互。",
|
||||
"domain_block_modal.they_cant_follow": "此服务器上没有人可以关注你。",
|
||||
"domain_block_modal.they_wont_know": "他们不会知道自己被屏蔽。",
|
||||
"domain_block_modal.they_wont_know": "对方不会知道自己被屏蔽。",
|
||||
"domain_block_modal.title": "屏蔽该域名?",
|
||||
"domain_block_modal.you_will_lose_num_followers": "你将失去 {followersCount, plural, other {{followersCountDisplay} 名关注者}}和 {followingCount, plural, other {{followingCountDisplay} 名关注}}。",
|
||||
"domain_block_modal.you_will_lose_relationships": "你将失去在此实例上的所有关注和关注者。",
|
||||
"domain_block_modal.you_wont_see_posts": "你将不会看到此服务器上用户的嘟文或通知。",
|
||||
"domain_pill.activitypub_lets_connect": "它让你不仅能与Mastodon上的人交流互动,还能与其它不同社交应用上的人联系。",
|
||||
"domain_pill.activitypub_like_language": "ActivityPub就像Mastodon与其它社交网络交流时使用的语言。",
|
||||
"domain_pill.activitypub_lets_connect": "它让你不仅能与 Mastodon 上的人交流互动,还能与其它不同社交应用上的人联系。",
|
||||
"domain_pill.activitypub_like_language": "ActivityPub 好比 Mastodon 与其它社交网络交流时使用的语言。",
|
||||
"domain_pill.server": "服务器",
|
||||
"domain_pill.their_handle": "它们的代号:",
|
||||
"domain_pill.their_server": "它们的数字家园,它们的所有嘟文都存放在那里。",
|
||||
"domain_pill.their_username": "它们在它们的服务器上的唯一标识符。在不同的服务器上可能会找到相同用户名的用户。",
|
||||
"domain_pill.their_handle": "对方代号:",
|
||||
"domain_pill.their_server": "对方的数字家园,对方的所有嘟文都存放在那里。",
|
||||
"domain_pill.their_username": "对方在其服务器上的唯一标识符。不同服务器上可能会存在相同用户名的用户。",
|
||||
"domain_pill.username": "用户名",
|
||||
"domain_pill.whats_in_a_handle": "代号里都有什么?",
|
||||
"domain_pill.who_they_are": "代号可以告诉你一个人是谁和在哪里,所以你可以在社交网络上与<button>由ActivityPub驱动的不同平台</button>的人们互动。",
|
||||
"domain_pill.who_you_are": "你的代号可以告诉别人你是谁和你在哪里,这样社交网络上来自<button>由ActivityPub驱动的不同平台</button>的人们就可以与你互动。",
|
||||
"domain_pill.who_they_are": "代号可以表明用户和其所在站点,你可以在社交网络上与<button>由 ActivityPub 驱动的不同平台</button>的人们互动。",
|
||||
"domain_pill.who_you_are": "代号可以表明你自己和你所在站点,社交网络上来自<button>由 ActivityPub 驱动的不同平台</button>的人们因此可以与你互动。",
|
||||
"domain_pill.your_handle": "你的代号:",
|
||||
"domain_pill.your_server": "你的数字家园,你的所有嘟文都存放在这里。不喜欢这个服务器吗?随时带上你的关注者一起迁移到其它服务器。",
|
||||
"domain_pill.your_username": "你在这个服务器上的唯一标识符。在不同的服务器上可能会找到相同用户名的用户。",
|
||||
"domain_pill.your_username": "你在这个服务器上的唯一标识符。不同服务器上可能会存在相同用户名的用户。",
|
||||
"embed.instructions": "复制下列代码以在你的网站中嵌入此嘟文。",
|
||||
"embed.preview": "它会像这样显示出来:",
|
||||
"emoji_button.activity": "活动",
|
||||
|
@ -465,11 +465,11 @@
|
|||
"mute_modal.hide_options": "隐藏选项",
|
||||
"mute_modal.indefinite": "直到我取消隐藏他们",
|
||||
"mute_modal.show_options": "显示选项",
|
||||
"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_posts": "他们可以看到你的嘟文,但是你看不到他们的。",
|
||||
"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_posts": "对方可以看到你的嘟文,但是你看不到对方的。",
|
||||
"navigation_bar.about": "关于",
|
||||
"navigation_bar.administration": "管理",
|
||||
"navigation_bar.advanced_interface": "在高级网页界面中打开",
|
||||
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} 喜欢了你的嘟文",
|
||||
"notification.favourite.name_and_others_with_link": "{name} 和 <a>{count, plural, other {另外 # 人}}</a> 喜欢了你的嘟文",
|
||||
"notification.follow": "{name} 开始关注你",
|
||||
"notification.follow.name_and_others": "{name} 和 {count, plural, other {另外 # 人}} 关注了你",
|
||||
"notification.follow.name_and_others": "{name} 和 <a>{count, plural, other {另外 # 人}}</a> 关注了你",
|
||||
"notification.follow_request": "{name} 向你发送了关注请求",
|
||||
"notification.follow_request.name_and_others": "{name} 和 {count, plural, other {另外 # 人}} 向你发送了关注请求",
|
||||
"notification.label.mention": "提及",
|
||||
|
@ -524,15 +524,15 @@
|
|||
"notification.moderation_warning.action_mark_statuses_as_sensitive": "你的一些嘟文已被标记为敏感内容。",
|
||||
"notification.moderation_warning.action_none": "你的账号收到了管理警告。",
|
||||
"notification.moderation_warning.action_sensitive": "今后你的嘟文都会被标记为敏感内容。",
|
||||
"notification.moderation_warning.action_silence": "你的账号已被限制。",
|
||||
"notification.moderation_warning.action_suspend": "你的账号已被封禁.",
|
||||
"notification.moderation_warning.action_silence": "你的账号已被隐藏。",
|
||||
"notification.moderation_warning.action_suspend": "你的账号已被封禁。",
|
||||
"notification.own_poll": "你的投票已经结束",
|
||||
"notification.poll": "你参与的一项投票已结束",
|
||||
"notification.reblog": "{name} 转发了你的嘟文",
|
||||
"notification.reblog.name_and_others_with_link": "{name} 和 <a>{count, plural, other {另外 # 人}}</a> 转嘟了你的嘟文",
|
||||
"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 {# 个关注}}。",
|
||||
"notification.relationships_severance_event.account_suspension": "来自 {from} 的管理员封禁了 {target},这意味着你将无法再收到对方的更新或与其互动。",
|
||||
"notification.relationships_severance_event.domain_block": "来自 {from} 的管理员屏蔽了 {target},其中包括你的 {followersCount} 个关注者和 {followingCount, plural, other {# 个关注}}。",
|
||||
"notification.relationships_severance_event.learn_more": "了解更多",
|
||||
"notification.relationships_severance_event.user_domain_block": "你已经屏蔽了 {target},移除了你的 {followersCount} 个关注者和 {followingCount, plural, other {# 个关注}}。",
|
||||
"notification.status": "{name} 刚刚发布嘟文",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "快速筛选栏",
|
||||
"notifications.column_settings.follow": "新粉丝:",
|
||||
"notifications.column_settings.follow_request": "新关注请求:",
|
||||
"notifications.column_settings.group": "分组",
|
||||
"notifications.column_settings.mention": "提及:",
|
||||
"notifications.column_settings.poll": "投票结果:",
|
||||
"notifications.column_settings.push": "推送通知",
|
||||
|
@ -781,14 +782,14 @@
|
|||
"status.bookmark": "添加到书签",
|
||||
"status.cancel_reblog_private": "取消转贴",
|
||||
"status.cannot_reblog": "这条嘟文不允许被转嘟",
|
||||
"status.continued_thread": "继续线程",
|
||||
"status.continued_thread": "上接嘟文串",
|
||||
"status.copy": "复制嘟文链接",
|
||||
"status.delete": "删除",
|
||||
"status.detailed_status": "详细的对话视图",
|
||||
"status.direct": "私下提及 @{name}",
|
||||
"status.direct_indicator": "私下提及",
|
||||
"status.edit": "编辑",
|
||||
"status.edited": "最近编辑于 {date}",
|
||||
"status.edited": "最后编辑于 {date}",
|
||||
"status.edited_x_times": "共编辑 {count, plural, one {{count} 次} other {{count} 次}}",
|
||||
"status.embed": "获取嵌入代码",
|
||||
"status.favourite": "喜欢",
|
||||
|
@ -815,10 +816,10 @@
|
|||
"status.reblogs.empty": "没有人转嘟过此条嘟文。如果有人转嘟了,就会显示在这里。",
|
||||
"status.redraft": "删除并重新编辑",
|
||||
"status.remove_bookmark": "移除书签",
|
||||
"status.replied_in_thread": "已在线程中回复",
|
||||
"status.replied_in_thread": "回复给嘟文串",
|
||||
"status.replied_to": "回复给 {name}",
|
||||
"status.reply": "回复",
|
||||
"status.replyAll": "回复所有人",
|
||||
"status.replyAll": "回复此嘟文串",
|
||||
"status.report": "举报 @{name}",
|
||||
"status.sensitive_warning": "敏感内容",
|
||||
"status.share": "分享",
|
||||
|
|
|
@ -508,7 +508,7 @@
|
|||
"notification.favourite": "{name} 已將您的嘟文加入最愛",
|
||||
"notification.favourite.name_and_others_with_link": "{name} 與<a>{count, plural, other {其他 # 個人}}</a>已將您的嘟文加入最愛",
|
||||
"notification.follow": "{name} 已跟隨您",
|
||||
"notification.follow.name_and_others": "{name} 與{count, plural, other {其他 # 個人}}已跟隨您",
|
||||
"notification.follow.name_and_others": "{name} 與<a>{count, plural, other {其他 # 個人}}</a>已跟隨您",
|
||||
"notification.follow_request": "{name} 要求跟隨您",
|
||||
"notification.follow_request.name_and_others": "{name} 與{count, plural, other {其他 # 個人}}已請求跟隨您",
|
||||
"notification.label.mention": "提及",
|
||||
|
@ -567,6 +567,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "快速過濾器",
|
||||
"notifications.column_settings.follow": "新的跟隨者:",
|
||||
"notifications.column_settings.follow_request": "新的跟隨請求:",
|
||||
"notifications.column_settings.group": "群組",
|
||||
"notifications.column_settings.mention": "提及:",
|
||||
"notifications.column_settings.poll": "投票結果:",
|
||||
"notifications.column_settings.push": "推播通知",
|
||||
|
|
|
@ -95,6 +95,9 @@ export const accountDefaultValues: AccountShape = {
|
|||
limited: false,
|
||||
moved: null,
|
||||
hide_collections: false,
|
||||
// This comes from `ApiMutedAccountJSON`, but we should eventually
|
||||
// store that in a different object.
|
||||
mute_expires_at: null,
|
||||
};
|
||||
|
||||
const AccountFactory = ImmutableRecord<AccountShape>(accountDefaultValues);
|
||||
|
|
|
@ -21,7 +21,6 @@ import {
|
|||
unmountNotifications,
|
||||
refreshStaleNotificationGroups,
|
||||
pollRecentNotifications,
|
||||
shouldGroupNotificationType,
|
||||
} from 'mastodon/actions/notification_groups';
|
||||
import {
|
||||
disconnectTimeline,
|
||||
|
@ -30,6 +29,7 @@ import {
|
|||
import type {
|
||||
ApiNotificationJSON,
|
||||
ApiNotificationGroupJSON,
|
||||
NotificationType,
|
||||
} from 'mastodon/api_types/notifications';
|
||||
import { compareId } from 'mastodon/compare_id';
|
||||
import { usePendingItems } from 'mastodon/initial_state';
|
||||
|
@ -205,8 +205,9 @@ function mergeGapsAround(
|
|||
function processNewNotification(
|
||||
groups: NotificationGroupsState['groups'],
|
||||
notification: ApiNotificationJSON,
|
||||
groupedTypes: NotificationType[],
|
||||
) {
|
||||
if (!shouldGroupNotificationType(notification.type)) {
|
||||
if (!groupedTypes.includes(notification.type)) {
|
||||
notification = {
|
||||
...notification,
|
||||
group_key: `ungrouped-${notification.id}`,
|
||||
|
@ -476,11 +477,13 @@ export const notificationGroupsReducer = createReducer<NotificationGroupsState>(
|
|||
trimNotifications(state);
|
||||
})
|
||||
.addCase(processNewNotificationForGroups.fulfilled, (state, action) => {
|
||||
const notification = action.payload;
|
||||
if (notification) {
|
||||
if (action.payload) {
|
||||
const { notification, groupedTypes } = action.payload;
|
||||
|
||||
processNewNotification(
|
||||
usePendingItems ? state.pendingGroups : state.groups,
|
||||
notification,
|
||||
groupedTypes,
|
||||
);
|
||||
updateLastReadId(state);
|
||||
trimNotifications(state);
|
||||
|
@ -559,7 +562,10 @@ export const notificationGroupsReducer = createReducer<NotificationGroupsState>(
|
|||
compareId(state.lastReadId, mostRecentGroup.page_max_id) < 0
|
||||
)
|
||||
state.lastReadId = mostRecentGroup.page_max_id;
|
||||
commitLastReadId(state);
|
||||
|
||||
// We don't call `commitLastReadId`, because that is conditional
|
||||
// and we want to unconditionally update the state instead.
|
||||
state.readMarkerId = state.lastReadId;
|
||||
})
|
||||
.addCase(fetchMarkers.fulfilled, (state, action) => {
|
||||
if (
|
||||
|
|
|
@ -78,6 +78,10 @@ const initialState = ImmutableMap({
|
|||
'admin.sign_up': true,
|
||||
'admin.report': true,
|
||||
}),
|
||||
|
||||
group: ImmutableMap({
|
||||
follow: true
|
||||
}),
|
||||
}),
|
||||
|
||||
firehose: ImmutableMap({
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue