Merge pull request #2426 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 57f592fed5
This commit is contained in:
commit
fde89a8fc0
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
ignore:
|
||||||
|
# Sidekiq security issue, fixes in the latest Sidekiq 7 but we can not upgrade. Will be fixed in Sidekiq 6.5.10
|
||||||
|
- CVE-2023-26141
|
|
@ -29,10 +29,10 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- uses: docker/setup-qemu-action@v2
|
- uses: docker/setup-qemu-action@v3
|
||||||
if: contains(inputs.platforms, 'linux/arm64') && !inputs.use_native_arm64_builder
|
if: contains(inputs.platforms, 'linux/arm64') && !inputs.use_native_arm64_builder
|
||||||
|
|
||||||
- uses: docker/setup-buildx-action@v2
|
- uses: docker/setup-buildx-action@v3
|
||||||
id: buildx
|
id: buildx
|
||||||
if: ${{ !(inputs.use_native_arm64_builder && contains(inputs.platforms, 'linux/arm64')) }}
|
if: ${{ !(inputs.use_native_arm64_builder && contains(inputs.platforms, 'linux/arm64')) }}
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
docker run --rm -d --name buildkitd -p 1234:1234 --privileged moby/buildkit:latest --addr tcp://0.0.0.0:1234
|
docker run --rm -d --name buildkitd -p 1234:1234 --privileged moby/buildkit:latest --addr tcp://0.0.0.0:1234
|
||||||
|
|
||||||
- uses: docker/setup-buildx-action@v2
|
- uses: docker/setup-buildx-action@v3
|
||||||
id: buildx-native
|
id: buildx-native
|
||||||
if: inputs.use_native_arm64_builder && contains(inputs.platforms, 'linux/arm64')
|
if: inputs.use_native_arm64_builder && contains(inputs.platforms, 'linux/arm64')
|
||||||
with:
|
with:
|
||||||
|
@ -61,20 +61,20 @@ jobs:
|
||||||
|
|
||||||
- name: Log in to Docker Hub
|
- name: Log in to Docker Hub
|
||||||
if: contains(inputs.push_to_images, 'tootsuite')
|
if: contains(inputs.push_to_images, 'tootsuite')
|
||||||
uses: docker/login-action@v2
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Log in to the Github Container registry
|
- name: Log in to the Github Container registry
|
||||||
if: contains(inputs.push_to_images, 'ghcr.io')
|
if: contains(inputs.push_to_images, 'ghcr.io')
|
||||||
uses: docker/login-action@v2
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.actor }}
|
username: ${{ github.actor }}
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- uses: docker/metadata-action@v4
|
- uses: docker/metadata-action@v5
|
||||||
id: meta
|
id: meta
|
||||||
if: ${{ inputs.push_to_images != '' }}
|
if: ${{ inputs.push_to_images != '' }}
|
||||||
with:
|
with:
|
||||||
|
@ -83,7 +83,7 @@ jobs:
|
||||||
tags: ${{ inputs.tags }}
|
tags: ${{ inputs.tags }}
|
||||||
labels: ${{ inputs.labels }}
|
labels: ${{ inputs.labels }}
|
||||||
|
|
||||||
- uses: docker/build-push-action@v4
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
build-args: |
|
build-args: |
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# syntax=docker/dockerfile:1.4
|
# syntax=docker/dockerfile:1.4
|
||||||
# This needs to be bookworm-slim because the Ruby image is built on bookworm-slim
|
# This needs to be bookworm-slim because the Ruby image is built on bookworm-slim
|
||||||
ARG NODE_VERSION="20.6-bookworm-slim"
|
ARG NODE_VERSION="20.7-bookworm-slim"
|
||||||
|
|
||||||
FROM ghcr.io/moritzheiber/ruby-jemalloc:3.2.2-slim as ruby
|
FROM ghcr.io/moritzheiber/ruby-jemalloc:3.2.2-slim as ruby
|
||||||
FROM node:${NODE_VERSION} as build
|
FROM node:${NODE_VERSION} as build
|
||||||
|
|
|
@ -686,7 +686,7 @@ GEM
|
||||||
scenic (1.7.0)
|
scenic (1.7.0)
|
||||||
activerecord (>= 4.0.0)
|
activerecord (>= 4.0.0)
|
||||||
railties (>= 4.0.0)
|
railties (>= 4.0.0)
|
||||||
selenium-webdriver (4.11.0)
|
selenium-webdriver (4.13.1)
|
||||||
rexml (~> 3.2, >= 3.2.5)
|
rexml (~> 3.2, >= 3.2.5)
|
||||||
rubyzip (>= 1.2.2, < 3.0)
|
rubyzip (>= 1.2.2, < 3.0)
|
||||||
websocket (~> 1.0)
|
websocket (~> 1.0)
|
||||||
|
@ -804,7 +804,7 @@ GEM
|
||||||
rack-proxy (>= 0.6.1)
|
rack-proxy (>= 0.6.1)
|
||||||
railties (>= 5.2)
|
railties (>= 5.2)
|
||||||
semantic_range (>= 2.3.0)
|
semantic_range (>= 2.3.0)
|
||||||
websocket (1.2.9)
|
websocket (1.2.10)
|
||||||
websocket-driver (0.7.6)
|
websocket-driver (0.7.6)
|
||||||
websocket-extensions (>= 0.1.0)
|
websocket-extensions (>= 0.1.0)
|
||||||
websocket-extensions (0.1.5)
|
websocket-extensions (0.1.5)
|
||||||
|
|
|
@ -1,11 +1,24 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module DatabaseHelper
|
module DatabaseHelper
|
||||||
|
def replica_enabled?
|
||||||
|
ENV['REPLICA_DB_NAME'] || ENV.fetch('REPLICA_DATABASE_URL', nil)
|
||||||
|
end
|
||||||
|
module_function :replica_enabled?
|
||||||
|
|
||||||
def with_read_replica(&block)
|
def with_read_replica(&block)
|
||||||
|
if replica_enabled?
|
||||||
ApplicationRecord.connected_to(role: :reading, prevent_writes: true, &block)
|
ApplicationRecord.connected_to(role: :reading, prevent_writes: true, &block)
|
||||||
|
else
|
||||||
|
yield
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def with_primary(&block)
|
def with_primary(&block)
|
||||||
|
if replica_enabled?
|
||||||
ApplicationRecord.connected_to(role: :writing, &block)
|
ApplicationRecord.connected_to(role: :writing, &block)
|
||||||
|
else
|
||||||
|
yield
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
export const DROPDOWN_MENU_OPEN = 'DROPDOWN_MENU_OPEN';
|
|
||||||
export const DROPDOWN_MENU_CLOSE = 'DROPDOWN_MENU_CLOSE';
|
|
||||||
|
|
||||||
export function openDropdownMenu(id, keyboard, scroll_key) {
|
|
||||||
return { type: DROPDOWN_MENU_OPEN, id, keyboard, scroll_key };
|
|
||||||
}
|
|
||||||
|
|
||||||
export function closeDropdownMenu(id) {
|
|
||||||
return { type: DROPDOWN_MENU_CLOSE, id };
|
|
||||||
}
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
import { createAction } from '@reduxjs/toolkit';
|
||||||
|
|
||||||
|
export const openDropdownMenu = createAction<{
|
||||||
|
id: string;
|
||||||
|
keyboard: boolean;
|
||||||
|
scrollKey: string;
|
||||||
|
}>('dropdownMenu/open');
|
||||||
|
|
||||||
|
export const closeDropdownMenu = createAction<{ id: string }>(
|
||||||
|
'dropdownMenu/close',
|
||||||
|
);
|
|
@ -1,12 +1,14 @@
|
||||||
import { createAction } from '@reduxjs/toolkit';
|
import { createAction } from '@reduxjs/toolkit';
|
||||||
|
|
||||||
|
import type { ModalProps } from 'flavours/glitch/reducers/modal';
|
||||||
|
|
||||||
import type { MODAL_COMPONENTS } from '../features/ui/components/modal_root';
|
import type { MODAL_COMPONENTS } from '../features/ui/components/modal_root';
|
||||||
|
|
||||||
export type ModalType = keyof typeof MODAL_COMPONENTS;
|
export type ModalType = keyof typeof MODAL_COMPONENTS;
|
||||||
|
|
||||||
interface OpenModalPayload {
|
interface OpenModalPayload {
|
||||||
modalType: ModalType;
|
modalType: ModalType;
|
||||||
modalProps: unknown;
|
modalProps: ModalProps;
|
||||||
}
|
}
|
||||||
export const openModal = createAction<OpenModalPayload>('MODAL_OPEN');
|
export const openModal = createAction<OpenModalPayload>('MODAL_OPEN');
|
||||||
|
|
||||||
|
|
|
@ -4,9 +4,14 @@ import { openDropdownMenu, closeDropdownMenu } from 'flavours/glitch/actions/dro
|
||||||
import { fetchHistory } from 'flavours/glitch/actions/history';
|
import { fetchHistory } from 'flavours/glitch/actions/history';
|
||||||
import DropdownMenu from 'flavours/glitch/components/dropdown_menu';
|
import DropdownMenu from 'flavours/glitch/components/dropdown_menu';
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param {import('flavours/glitch/store').RootState} state
|
||||||
|
* @param {*} props
|
||||||
|
*/
|
||||||
const mapStateToProps = (state, { statusId }) => ({
|
const mapStateToProps = (state, { statusId }) => ({
|
||||||
openDropdownId: state.getIn(['dropdown_menu', 'openId']),
|
openDropdownId: state.dropdownMenu.openId,
|
||||||
openedViaKeyboard: state.getIn(['dropdown_menu', 'keyboard']),
|
openedViaKeyboard: state.dropdownMenu.keyboard,
|
||||||
items: state.getIn(['history', statusId, 'items']),
|
items: state.getIn(['history', statusId, 'items']),
|
||||||
loading: state.getIn(['history', statusId, 'loading']),
|
loading: state.getIn(['history', statusId, 'loading']),
|
||||||
});
|
});
|
||||||
|
@ -15,11 +20,11 @@ const mapDispatchToProps = (dispatch, { statusId }) => ({
|
||||||
|
|
||||||
onOpen (id, onItemClick, keyboard) {
|
onOpen (id, onItemClick, keyboard) {
|
||||||
dispatch(fetchHistory(statusId));
|
dispatch(fetchHistory(statusId));
|
||||||
dispatch(openDropdownMenu(id, keyboard));
|
dispatch(openDropdownMenu({ id, keyboard }));
|
||||||
},
|
},
|
||||||
|
|
||||||
onClose (id) {
|
onClose (id) {
|
||||||
dispatch(closeDropdownMenu(id));
|
dispatch(closeDropdownMenu({ id }));
|
||||||
},
|
},
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
@ -23,9 +23,14 @@ const MOUSE_IDLE_DELAY = 300;
|
||||||
|
|
||||||
const listenerOptions = supportsPassiveEvents ? { passive: true } : false;
|
const listenerOptions = supportsPassiveEvents ? { passive: true } : false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param {import('flavours/glitch/store').RootState} state
|
||||||
|
* @param {*} props
|
||||||
|
*/
|
||||||
const mapStateToProps = (state, { scrollKey }) => {
|
const mapStateToProps = (state, { scrollKey }) => {
|
||||||
return {
|
return {
|
||||||
preventScroll: scrollKey === state.getIn(['dropdown_menu', 'scroll_key']),
|
preventScroll: scrollKey === state.dropdownMenu.scrollKey,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -6,9 +6,12 @@ import DropdownMenu from 'flavours/glitch/components/dropdown_menu';
|
||||||
|
|
||||||
import { isUserTouching } from '../is_mobile';
|
import { isUserTouching } from '../is_mobile';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {import('flavours/glitch/store').RootState} state
|
||||||
|
*/
|
||||||
const mapStateToProps = state => ({
|
const mapStateToProps = state => ({
|
||||||
openDropdownId: state.getIn(['dropdown_menu', 'openId']),
|
openDropdownId: state.dropdownMenu.openId,
|
||||||
openedViaKeyboard: state.getIn(['dropdown_menu', 'keyboard']),
|
openedViaKeyboard: state.dropdownMenu.keyboard,
|
||||||
});
|
});
|
||||||
|
|
||||||
const mapDispatchToProps = (dispatch, { status, items, scrollKey }) => ({
|
const mapDispatchToProps = (dispatch, { status, items, scrollKey }) => ({
|
||||||
|
@ -20,7 +23,7 @@ const mapDispatchToProps = (dispatch, { status, items, scrollKey }) => ({
|
||||||
actions: items,
|
actions: items,
|
||||||
onClick: onItemClick,
|
onClick: onItemClick,
|
||||||
},
|
},
|
||||||
}) : openDropdownMenu(id, keyboard, scrollKey));
|
}) : openDropdownMenu({ id, keyboard, scrollKey }));
|
||||||
},
|
},
|
||||||
|
|
||||||
onClose(id) {
|
onClose(id) {
|
||||||
|
@ -28,7 +31,7 @@ const mapDispatchToProps = (dispatch, { status, items, scrollKey }) => ({
|
||||||
modalType: 'ACTIONS',
|
modalType: 'ACTIONS',
|
||||||
ignoreFocus: false,
|
ignoreFocus: false,
|
||||||
}));
|
}));
|
||||||
dispatch(closeDropdownMenu(id));
|
dispatch(closeDropdownMenu({ id }));
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ import { PureComponent } from 'react';
|
||||||
const iconStyle = {
|
const iconStyle = {
|
||||||
height: null,
|
height: null,
|
||||||
lineHeight: '27px',
|
lineHeight: '27px',
|
||||||
width: `${18 * 1.28571429}px`,
|
minWidth: `${18 * 1.28571429}px`,
|
||||||
};
|
};
|
||||||
|
|
||||||
export default class TextIconButton extends PureComponent {
|
export default class TextIconButton extends PureComponent {
|
||||||
|
|
|
@ -55,8 +55,10 @@ const homeTooSlow = createSelector([
|
||||||
getHomeFeedSpeed,
|
getHomeFeedSpeed,
|
||||||
], (isLoading, isPartial, speed) =>
|
], (isLoading, isPartial, speed) =>
|
||||||
!isLoading && !isPartial // Only if the home feed has finished loading
|
!isLoading && !isPartial // Only if the home feed has finished loading
|
||||||
&& (speed.gap > (30 * 60) // If the average gap between posts is more than 20 minutes
|
&& (
|
||||||
|
(speed.gap > (30 * 60) // If the average gap between posts is more than 30 minutes
|
||||||
|| (Date.now() - speed.newest) > (1000 * 3600)) // If the most recent post is from over an hour ago
|
|| (Date.now() - speed.newest) > (1000 * 3600)) // If the most recent post is from over an hour ago
|
||||||
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
const mapStateToProps = state => ({
|
const mapStateToProps = state => ({
|
||||||
|
|
|
@ -80,7 +80,7 @@ const mapStateToProps = state => ({
|
||||||
hasMediaAttachments: state.getIn(['compose', 'media_attachments']).size > 0,
|
hasMediaAttachments: state.getIn(['compose', 'media_attachments']).size > 0,
|
||||||
canUploadMore: !state.getIn(['compose', 'media_attachments']).some(x => ['audio', 'video'].includes(x.get('type'))) && state.getIn(['compose', 'media_attachments']).size < 4,
|
canUploadMore: !state.getIn(['compose', 'media_attachments']).some(x => ['audio', 'video'].includes(x.get('type'))) && state.getIn(['compose', 'media_attachments']).size < 4,
|
||||||
isWide: state.getIn(['local_settings', 'stretch']),
|
isWide: state.getIn(['local_settings', 'stretch']),
|
||||||
dropdownMenuIsOpen: state.getIn(['dropdown_menu', 'openId']) !== null,
|
dropdownMenuIsOpen: state.dropdownMenu.openId !== null,
|
||||||
unreadNotifications: state.getIn(['notifications', 'unread']),
|
unreadNotifications: state.getIn(['notifications', 'unread']),
|
||||||
showFaviconBadge: state.getIn(['local_settings', 'notifications', 'favicon_badge']),
|
showFaviconBadge: state.getIn(['local_settings', 'notifications', 'favicon_badge']),
|
||||||
hicolorPrivacyIcons: state.getIn(['local_settings', 'hicolor_privacy_icons']),
|
hicolorPrivacyIcons: state.getIn(['local_settings', 'hicolor_privacy_icons']),
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
import Immutable from 'immutable';
|
|
||||||
|
|
||||||
import {
|
|
||||||
DROPDOWN_MENU_OPEN,
|
|
||||||
DROPDOWN_MENU_CLOSE,
|
|
||||||
} from '../actions/dropdown_menu';
|
|
||||||
|
|
||||||
const initialState = Immutable.Map({ openId: null, keyboard: false, scroll_key: null });
|
|
||||||
|
|
||||||
export default function dropdownMenu(state = initialState, action) {
|
|
||||||
switch (action.type) {
|
|
||||||
case DROPDOWN_MENU_OPEN:
|
|
||||||
return state.merge({ openId: action.id, keyboard: action.keyboard, scroll_key: action.scroll_key });
|
|
||||||
case DROPDOWN_MENU_CLOSE:
|
|
||||||
return state.get('openId') === action.id ? state.set('openId', null).set('scroll_key', null) : state;
|
|
||||||
default:
|
|
||||||
return state;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
import { createReducer } from '@reduxjs/toolkit';
|
||||||
|
|
||||||
|
import { closeDropdownMenu, openDropdownMenu } from '../actions/dropdown_menu';
|
||||||
|
|
||||||
|
interface DropdownMenuState {
|
||||||
|
openId: string | null;
|
||||||
|
keyboard: boolean;
|
||||||
|
scrollKey: string | null;
|
||||||
|
}
|
||||||
|
|
||||||
|
const initialState: DropdownMenuState = {
|
||||||
|
openId: null,
|
||||||
|
keyboard: false,
|
||||||
|
scrollKey: null,
|
||||||
|
};
|
||||||
|
|
||||||
|
export const dropdownMenuReducer = createReducer(initialState, (builder) => {
|
||||||
|
builder
|
||||||
|
.addCase(
|
||||||
|
openDropdownMenu,
|
||||||
|
(state, { payload: { id, keyboard, scrollKey } }) => {
|
||||||
|
state.openId = id;
|
||||||
|
state.keyboard = keyboard;
|
||||||
|
state.scrollKey = scrollKey;
|
||||||
|
},
|
||||||
|
)
|
||||||
|
.addCase(closeDropdownMenu, (state, { payload: { id } }) => {
|
||||||
|
if (state.openId === id) {
|
||||||
|
state.openId = null;
|
||||||
|
state.scrollKey = null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
|
@ -16,7 +16,7 @@ import contexts from './contexts';
|
||||||
import conversations from './conversations';
|
import conversations from './conversations';
|
||||||
import custom_emojis from './custom_emojis';
|
import custom_emojis from './custom_emojis';
|
||||||
import domain_lists from './domain_lists';
|
import domain_lists from './domain_lists';
|
||||||
import dropdown_menu from './dropdown_menu';
|
import { dropdownMenuReducer } from './dropdown_menu';
|
||||||
import filters from './filters';
|
import filters from './filters';
|
||||||
import followed_tags from './followed_tags';
|
import followed_tags from './followed_tags';
|
||||||
import height_cache from './height_cache';
|
import height_cache from './height_cache';
|
||||||
|
@ -49,7 +49,7 @@ import user_lists from './user_lists';
|
||||||
|
|
||||||
const reducers = {
|
const reducers = {
|
||||||
announcements,
|
announcements,
|
||||||
dropdown_menu,
|
dropdownMenu: dropdownMenuReducer,
|
||||||
timelines,
|
timelines,
|
||||||
meta,
|
meta,
|
||||||
alerts,
|
alerts,
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
import { Record as ImmutableRecord, Stack } from 'immutable';
|
import { Record as ImmutableRecord, Stack } from 'immutable';
|
||||||
|
|
||||||
import type { PayloadAction } from '@reduxjs/toolkit';
|
import type { Reducer } from '@reduxjs/toolkit';
|
||||||
|
|
||||||
import { COMPOSE_UPLOAD_CHANGE_SUCCESS } from '../actions/compose';
|
import { COMPOSE_UPLOAD_CHANGE_SUCCESS } from '../actions/compose';
|
||||||
import type { ModalType } from '../actions/modal';
|
import type { ModalType } from '../actions/modal';
|
||||||
import { openModal, closeModal } from '../actions/modal';
|
import { openModal, closeModal } from '../actions/modal';
|
||||||
import { TIMELINE_DELETE } from '../actions/timelines';
|
import { TIMELINE_DELETE } from '../actions/timelines';
|
||||||
|
|
||||||
type ModalProps = Record<string, unknown>;
|
export type ModalProps = Record<string, unknown>;
|
||||||
interface Modal {
|
interface Modal {
|
||||||
modalType: ModalType;
|
modalType: ModalType;
|
||||||
modalProps: ModalProps;
|
modalProps: ModalProps;
|
||||||
|
@ -62,33 +62,22 @@ const pushModal = (
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
export function modalReducer(
|
export const modalReducer: Reducer<State> = (state = initialState, action) => {
|
||||||
state: State = initialState,
|
if (openModal.match(action))
|
||||||
action: PayloadAction<{
|
|
||||||
modalType: ModalType;
|
|
||||||
ignoreFocus: boolean;
|
|
||||||
modalProps: Record<string, unknown>;
|
|
||||||
}>,
|
|
||||||
) {
|
|
||||||
switch (action.type) {
|
|
||||||
case openModal.type:
|
|
||||||
return pushModal(
|
return pushModal(
|
||||||
state,
|
state,
|
||||||
action.payload.modalType,
|
action.payload.modalType,
|
||||||
action.payload.modalProps,
|
action.payload.modalProps,
|
||||||
);
|
);
|
||||||
case closeModal.type:
|
else if (closeModal.match(action)) return popModal(state, action.payload);
|
||||||
return popModal(state, action.payload);
|
// TODO: type those actions
|
||||||
case COMPOSE_UPLOAD_CHANGE_SUCCESS:
|
else if (action.type === COMPOSE_UPLOAD_CHANGE_SUCCESS)
|
||||||
return popModal(state, { modalType: 'FOCAL_POINT', ignoreFocus: false });
|
return popModal(state, { modalType: 'FOCAL_POINT', ignoreFocus: false });
|
||||||
case TIMELINE_DELETE:
|
else if (action.type === TIMELINE_DELETE)
|
||||||
return state.update('stack', (stack) =>
|
return state.update('stack', (stack) =>
|
||||||
stack.filterNot(
|
stack.filterNot(
|
||||||
// @ts-expect-error TIMELINE_DELETE action is not typed yet.
|
|
||||||
(modal) => modal.get('modalProps').statusId === action.id,
|
(modal) => modal.get('modalProps').statusId === action.id,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
default:
|
else return state;
|
||||||
return state;
|
};
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -281,6 +281,7 @@
|
||||||
background: transparent;
|
background: transparent;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
padding: 0 3px;
|
padding: 0 3px;
|
||||||
|
white-space: nowrap;
|
||||||
outline: 0;
|
outline: 0;
|
||||||
transition: all 100ms ease-in;
|
transition: all 100ms ease-in;
|
||||||
transition-property: background-color, color;
|
transition-property: background-color, color;
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
export const DROPDOWN_MENU_OPEN = 'DROPDOWN_MENU_OPEN';
|
|
||||||
export const DROPDOWN_MENU_CLOSE = 'DROPDOWN_MENU_CLOSE';
|
|
||||||
|
|
||||||
export function openDropdownMenu(id, keyboard, scroll_key) {
|
|
||||||
return { type: DROPDOWN_MENU_OPEN, id, keyboard, scroll_key };
|
|
||||||
}
|
|
||||||
|
|
||||||
export function closeDropdownMenu(id) {
|
|
||||||
return { type: DROPDOWN_MENU_CLOSE, id };
|
|
||||||
}
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
import { createAction } from '@reduxjs/toolkit';
|
||||||
|
|
||||||
|
export const openDropdownMenu = createAction<{
|
||||||
|
id: string;
|
||||||
|
keyboard: boolean;
|
||||||
|
scrollKey: string;
|
||||||
|
}>('dropdownMenu/open');
|
||||||
|
|
||||||
|
export const closeDropdownMenu = createAction<{ id: string }>(
|
||||||
|
'dropdownMenu/close',
|
||||||
|
);
|
|
@ -1,12 +1,14 @@
|
||||||
import { createAction } from '@reduxjs/toolkit';
|
import { createAction } from '@reduxjs/toolkit';
|
||||||
|
|
||||||
|
import type { ModalProps } from 'mastodon/reducers/modal';
|
||||||
|
|
||||||
import type { MODAL_COMPONENTS } from '../features/ui/components/modal_root';
|
import type { MODAL_COMPONENTS } from '../features/ui/components/modal_root';
|
||||||
|
|
||||||
export type ModalType = keyof typeof MODAL_COMPONENTS;
|
export type ModalType = keyof typeof MODAL_COMPONENTS;
|
||||||
|
|
||||||
interface OpenModalPayload {
|
interface OpenModalPayload {
|
||||||
modalType: ModalType;
|
modalType: ModalType;
|
||||||
modalProps: unknown;
|
modalProps: ModalProps;
|
||||||
}
|
}
|
||||||
export const openModal = createAction<OpenModalPayload>('MODAL_OPEN');
|
export const openModal = createAction<OpenModalPayload>('MODAL_OPEN');
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
import type { ApiCustomEmojiJSON } from './custom_emoji';
|
||||||
|
|
||||||
|
export interface ApiAccountFieldJSON {
|
||||||
|
name: string;
|
||||||
|
value: string;
|
||||||
|
verified_at: string | null;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ApiAccountRoleJSON {
|
||||||
|
color: string;
|
||||||
|
id: string;
|
||||||
|
name: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
// See app/serializers/rest/account_serializer.rb
|
||||||
|
export interface ApiAccountJSON {
|
||||||
|
acct: string;
|
||||||
|
avatar: string;
|
||||||
|
avatar_static: string;
|
||||||
|
bot: boolean;
|
||||||
|
created_at: string;
|
||||||
|
discoverable: boolean;
|
||||||
|
display_name: string;
|
||||||
|
emojis: ApiCustomEmojiJSON[];
|
||||||
|
fields: ApiAccountFieldJSON[];
|
||||||
|
followers_count: number;
|
||||||
|
following_count: number;
|
||||||
|
group: boolean;
|
||||||
|
header: string;
|
||||||
|
header_static: string;
|
||||||
|
id: string;
|
||||||
|
last_status_at: string;
|
||||||
|
locked: boolean;
|
||||||
|
noindex: boolean;
|
||||||
|
note: string;
|
||||||
|
roles: ApiAccountJSON[];
|
||||||
|
statuses_count: number;
|
||||||
|
uri: string;
|
||||||
|
url: string;
|
||||||
|
username: string;
|
||||||
|
moved?: ApiAccountJSON;
|
||||||
|
suspended?: boolean;
|
||||||
|
limited?: boolean;
|
||||||
|
memorial?: boolean;
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
// See app/serializers/rest/account_serializer.rb
|
||||||
|
export interface ApiCustomEmojiJSON {
|
||||||
|
shortcode: string;
|
||||||
|
static_url: string;
|
||||||
|
url: string;
|
||||||
|
category?: string;
|
||||||
|
visible_in_picker: boolean;
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
// See app/serializers/rest/relationship_serializer.rb
|
||||||
|
export interface ApiRelationshipJSON {
|
||||||
|
blocked_by: boolean;
|
||||||
|
blocking: boolean;
|
||||||
|
domain_blocking: boolean;
|
||||||
|
endorsed: boolean;
|
||||||
|
followed_by: boolean;
|
||||||
|
following: boolean;
|
||||||
|
id: string;
|
||||||
|
languages: string[] | null;
|
||||||
|
muting_notifications: boolean;
|
||||||
|
muting: boolean;
|
||||||
|
note: string;
|
||||||
|
notifying: boolean;
|
||||||
|
requested_by: boolean;
|
||||||
|
requested: boolean;
|
||||||
|
showing_reblogs: boolean;
|
||||||
|
}
|
|
@ -4,9 +4,14 @@ import { openDropdownMenu, closeDropdownMenu } from 'mastodon/actions/dropdown_m
|
||||||
import { fetchHistory } from 'mastodon/actions/history';
|
import { fetchHistory } from 'mastodon/actions/history';
|
||||||
import DropdownMenu from 'mastodon/components/dropdown_menu';
|
import DropdownMenu from 'mastodon/components/dropdown_menu';
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param {import('mastodon/store').RootState} state
|
||||||
|
* @param {*} props
|
||||||
|
*/
|
||||||
const mapStateToProps = (state, { statusId }) => ({
|
const mapStateToProps = (state, { statusId }) => ({
|
||||||
openDropdownId: state.getIn(['dropdown_menu', 'openId']),
|
openDropdownId: state.dropdownMenu.openId,
|
||||||
openedViaKeyboard: state.getIn(['dropdown_menu', 'keyboard']),
|
openedViaKeyboard: state.dropdownMenu.keyboard,
|
||||||
items: state.getIn(['history', statusId, 'items']),
|
items: state.getIn(['history', statusId, 'items']),
|
||||||
loading: state.getIn(['history', statusId, 'loading']),
|
loading: state.getIn(['history', statusId, 'loading']),
|
||||||
});
|
});
|
||||||
|
@ -15,11 +20,11 @@ const mapDispatchToProps = (dispatch, { statusId }) => ({
|
||||||
|
|
||||||
onOpen (id, onItemClick, keyboard) {
|
onOpen (id, onItemClick, keyboard) {
|
||||||
dispatch(fetchHistory(statusId));
|
dispatch(fetchHistory(statusId));
|
||||||
dispatch(openDropdownMenu(id, keyboard));
|
dispatch(openDropdownMenu({ id, keyboard }));
|
||||||
},
|
},
|
||||||
|
|
||||||
onClose (id) {
|
onClose (id) {
|
||||||
dispatch(closeDropdownMenu(id));
|
dispatch(closeDropdownMenu({ id }));
|
||||||
},
|
},
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
@ -23,9 +23,14 @@ const MOUSE_IDLE_DELAY = 300;
|
||||||
|
|
||||||
const listenerOptions = supportsPassiveEvents ? { passive: true } : false;
|
const listenerOptions = supportsPassiveEvents ? { passive: true } : false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param {import('mastodon/store').RootState} state
|
||||||
|
* @param {*} props
|
||||||
|
*/
|
||||||
const mapStateToProps = (state, { scrollKey }) => {
|
const mapStateToProps = (state, { scrollKey }) => {
|
||||||
return {
|
return {
|
||||||
preventScroll: scrollKey === state.getIn(['dropdown_menu', 'scroll_key']),
|
preventScroll: scrollKey === state.dropdownMenu.scrollKey,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -7,9 +7,12 @@ import { openModal, closeModal } from '../actions/modal';
|
||||||
import DropdownMenu from '../components/dropdown_menu';
|
import DropdownMenu from '../components/dropdown_menu';
|
||||||
import { isUserTouching } from '../is_mobile';
|
import { isUserTouching } from '../is_mobile';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {import('mastodon/store').RootState} state
|
||||||
|
*/
|
||||||
const mapStateToProps = state => ({
|
const mapStateToProps = state => ({
|
||||||
openDropdownId: state.getIn(['dropdown_menu', 'openId']),
|
openDropdownId: state.dropdownMenu.openId,
|
||||||
openedViaKeyboard: state.getIn(['dropdown_menu', 'keyboard']),
|
openedViaKeyboard: state.dropdownMenu.keyboard,
|
||||||
});
|
});
|
||||||
|
|
||||||
const mapDispatchToProps = (dispatch, { status, items, scrollKey }) => ({
|
const mapDispatchToProps = (dispatch, { status, items, scrollKey }) => ({
|
||||||
|
@ -25,7 +28,7 @@ const mapDispatchToProps = (dispatch, { status, items, scrollKey }) => ({
|
||||||
actions: items,
|
actions: items,
|
||||||
onClick: onItemClick,
|
onClick: onItemClick,
|
||||||
},
|
},
|
||||||
}) : openDropdownMenu(id, keyboard, scrollKey));
|
}) : openDropdownMenu({ id, keyboard, scrollKey }));
|
||||||
},
|
},
|
||||||
|
|
||||||
onClose(id) {
|
onClose(id) {
|
||||||
|
@ -33,7 +36,7 @@ const mapDispatchToProps = (dispatch, { status, items, scrollKey }) => ({
|
||||||
modalType: 'ACTIONS',
|
modalType: 'ACTIONS',
|
||||||
ignoreFocus: false,
|
ignoreFocus: false,
|
||||||
}));
|
}));
|
||||||
dispatch(closeDropdownMenu(id));
|
dispatch(closeDropdownMenu({ id }));
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ import { PureComponent } from 'react';
|
||||||
const iconStyle = {
|
const iconStyle = {
|
||||||
height: null,
|
height: null,
|
||||||
lineHeight: '27px',
|
lineHeight: '27px',
|
||||||
width: `${18 * 1.28571429}px`,
|
minWidth: `${18 * 1.28571429}px`,
|
||||||
};
|
};
|
||||||
|
|
||||||
export default class TextIconButton extends PureComponent {
|
export default class TextIconButton extends PureComponent {
|
||||||
|
|
|
@ -55,8 +55,10 @@ const homeTooSlow = createSelector([
|
||||||
getHomeFeedSpeed,
|
getHomeFeedSpeed,
|
||||||
], (isLoading, isPartial, speed) =>
|
], (isLoading, isPartial, speed) =>
|
||||||
!isLoading && !isPartial // Only if the home feed has finished loading
|
!isLoading && !isPartial // Only if the home feed has finished loading
|
||||||
&& (speed.gap > (30 * 60) // If the average gap between posts is more than 20 minutes
|
&& (
|
||||||
|
(speed.gap > (30 * 60) // If the average gap between posts is more than 30 minutes
|
||||||
|| (Date.now() - speed.newest) > (1000 * 3600)) // If the most recent post is from over an hour ago
|
|| (Date.now() - speed.newest) > (1000 * 3600)) // If the most recent post is from over an hour ago
|
||||||
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
const mapStateToProps = state => ({
|
const mapStateToProps = state => ({
|
||||||
|
|
|
@ -79,7 +79,7 @@ const mapStateToProps = state => ({
|
||||||
hasComposingText: state.getIn(['compose', 'text']).trim().length !== 0,
|
hasComposingText: state.getIn(['compose', 'text']).trim().length !== 0,
|
||||||
hasMediaAttachments: state.getIn(['compose', 'media_attachments']).size > 0,
|
hasMediaAttachments: state.getIn(['compose', 'media_attachments']).size > 0,
|
||||||
canUploadMore: !state.getIn(['compose', 'media_attachments']).some(x => ['audio', 'video'].includes(x.get('type'))) && state.getIn(['compose', 'media_attachments']).size < 4,
|
canUploadMore: !state.getIn(['compose', 'media_attachments']).some(x => ['audio', 'video'].includes(x.get('type'))) && state.getIn(['compose', 'media_attachments']).size < 4,
|
||||||
dropdownMenuIsOpen: state.getIn(['dropdown_menu', 'openId']) !== null,
|
dropdownMenuIsOpen: state.dropdownMenu.openId !== null,
|
||||||
firstLaunch: state.getIn(['settings', 'introductionVersion'], 0) < INTRODUCTION_VERSION,
|
firstLaunch: state.getIn(['settings', 'introductionVersion'], 0) < INTRODUCTION_VERSION,
|
||||||
username: state.getIn(['accounts', me, 'username']),
|
username: state.getIn(['accounts', me, 'username']),
|
||||||
});
|
});
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
"account.domain_blocked": "Блокиран домейн",
|
"account.domain_blocked": "Блокиран домейн",
|
||||||
"account.edit_profile": "Редактиране на профила",
|
"account.edit_profile": "Редактиране на профила",
|
||||||
"account.enable_notifications": "Известяване при публикуване от @{name}",
|
"account.enable_notifications": "Известяване при публикуване от @{name}",
|
||||||
"account.endorse": "Характеристика на профила",
|
"account.endorse": "Представи в профила",
|
||||||
"account.featured_tags.last_status_at": "Последна публикация на {date}",
|
"account.featured_tags.last_status_at": "Последна публикация на {date}",
|
||||||
"account.featured_tags.last_status_never": "Няма публикации",
|
"account.featured_tags.last_status_never": "Няма публикации",
|
||||||
"account.featured_tags.title": "Главни хаштагове на {name}",
|
"account.featured_tags.title": "Главни хаштагове на {name}",
|
||||||
|
@ -393,7 +393,7 @@
|
||||||
"media_gallery.toggle_visible": "Скриване на {number, plural, one {изображение} other {изображения}}",
|
"media_gallery.toggle_visible": "Скриване на {number, plural, one {изображение} other {изображения}}",
|
||||||
"moved_to_account_banner.text": "Вашият акаунт {disabledAccount} сега е изключен, защото се преместихте в {movedToAccount}.",
|
"moved_to_account_banner.text": "Вашият акаунт {disabledAccount} сега е изключен, защото се преместихте в {movedToAccount}.",
|
||||||
"mute_modal.duration": "Времетраене",
|
"mute_modal.duration": "Времетраене",
|
||||||
"mute_modal.hide_notifications": "Скривате ли известията от потребителя?",
|
"mute_modal.hide_notifications": "Скриване на известия от този потребител?",
|
||||||
"mute_modal.indefinite": "Неопределено",
|
"mute_modal.indefinite": "Неопределено",
|
||||||
"navigation_bar.about": "Относно",
|
"navigation_bar.about": "Относно",
|
||||||
"navigation_bar.advanced_interface": "Отваряне в разширен уебинтерфейс",
|
"navigation_bar.advanced_interface": "Отваряне в разширен уебинтерфейс",
|
||||||
|
|
|
@ -321,7 +321,7 @@
|
||||||
"interaction_modal.login.action": "Torna a l'inici",
|
"interaction_modal.login.action": "Torna a l'inici",
|
||||||
"interaction_modal.login.prompt": "Domini del teu servidor domèstic, p.ex. mastodon.social",
|
"interaction_modal.login.prompt": "Domini del teu servidor domèstic, p.ex. mastodon.social",
|
||||||
"interaction_modal.no_account_yet": "No a Mastodon?",
|
"interaction_modal.no_account_yet": "No a Mastodon?",
|
||||||
"interaction_modal.on_another_server": "En un servidor diferent",
|
"interaction_modal.on_another_server": "A un altre servidor",
|
||||||
"interaction_modal.on_this_server": "En aquest servidor",
|
"interaction_modal.on_this_server": "En aquest servidor",
|
||||||
"interaction_modal.sign_in": "No has iniciat sessió en aquest servidor. On tens el teu compte?",
|
"interaction_modal.sign_in": "No has iniciat sessió en aquest servidor. On tens el teu compte?",
|
||||||
"interaction_modal.sign_in_hint": "Ajuda: Aquesta és la web on vas registrar-te. Si no ho recordes, mira el correu electrònic de benvinguda en la teva safata d'entrada. També pots introduïr el teu nom d'usuari complet! (per ex. @Mastodon@mastodon.social)",
|
"interaction_modal.sign_in_hint": "Ajuda: Aquesta és la web on vas registrar-te. Si no ho recordes, mira el correu electrònic de benvinguda en la teva safata d'entrada. També pots introduïr el teu nom d'usuari complet! (per ex. @Mastodon@mastodon.social)",
|
||||||
|
@ -391,7 +391,7 @@
|
||||||
"load_pending": "{count, plural, one {# element nou} other {# elements nous}}",
|
"load_pending": "{count, plural, one {# element nou} other {# elements nous}}",
|
||||||
"loading_indicator.label": "Es carrega...",
|
"loading_indicator.label": "Es carrega...",
|
||||||
"media_gallery.toggle_visible": "{number, plural, one {Amaga la imatge} other {Amaga les imatges}}",
|
"media_gallery.toggle_visible": "{number, plural, one {Amaga la imatge} other {Amaga les imatges}}",
|
||||||
"moved_to_account_banner.text": "El teu compte {disabledAccount} està actualment desactivat perquè l'has traslladat a {movedToAccount}.",
|
"moved_to_account_banner.text": "El teu compte {disabledAccount} està desactivat perquè l'has mogut a {movedToAccount}.",
|
||||||
"mute_modal.duration": "Durada",
|
"mute_modal.duration": "Durada",
|
||||||
"mute_modal.hide_notifications": "Amagar les notificacions d'aquest usuari?",
|
"mute_modal.hide_notifications": "Amagar les notificacions d'aquest usuari?",
|
||||||
"mute_modal.indefinite": "Indefinit",
|
"mute_modal.indefinite": "Indefinit",
|
||||||
|
@ -426,8 +426,8 @@
|
||||||
"notification.admin.sign_up": "{name} s'ha registrat",
|
"notification.admin.sign_up": "{name} s'ha registrat",
|
||||||
"notification.favourite": "{name} ha afavorit el teu tut",
|
"notification.favourite": "{name} ha afavorit el teu tut",
|
||||||
"notification.follow": "{name} et segueix",
|
"notification.follow": "{name} et segueix",
|
||||||
"notification.follow_request": "{name} ha sol·licitat seguir-te",
|
"notification.follow_request": "{name} ha sol·licitat de seguir-te",
|
||||||
"notification.mention": "{name} t'ha mencionat",
|
"notification.mention": "{name} t'ha esmentat",
|
||||||
"notification.own_poll": "La teva enquesta ha finalitzat",
|
"notification.own_poll": "La teva enquesta ha finalitzat",
|
||||||
"notification.poll": "Ha finalitzat una enquesta en què has votat",
|
"notification.poll": "Ha finalitzat una enquesta en què has votat",
|
||||||
"notification.reblog": "{name} t'ha impulsat",
|
"notification.reblog": "{name} t'ha impulsat",
|
||||||
|
@ -451,7 +451,7 @@
|
||||||
"notifications.column_settings.show": "Mostra a la columna",
|
"notifications.column_settings.show": "Mostra a la columna",
|
||||||
"notifications.column_settings.sound": "Reprodueix so",
|
"notifications.column_settings.sound": "Reprodueix so",
|
||||||
"notifications.column_settings.status": "Nous tuts:",
|
"notifications.column_settings.status": "Nous tuts:",
|
||||||
"notifications.column_settings.unread_notifications.category": "Notificacions no llegides",
|
"notifications.column_settings.unread_notifications.category": "Notificacions pendents de llegir",
|
||||||
"notifications.column_settings.unread_notifications.highlight": "Destaca les notificacions no llegides",
|
"notifications.column_settings.unread_notifications.highlight": "Destaca les notificacions no llegides",
|
||||||
"notifications.column_settings.update": "Edicions:",
|
"notifications.column_settings.update": "Edicions:",
|
||||||
"notifications.filter.all": "Totes",
|
"notifications.filter.all": "Totes",
|
||||||
|
@ -473,25 +473,25 @@
|
||||||
"onboarding.action.back": "Porta'm enrere",
|
"onboarding.action.back": "Porta'm enrere",
|
||||||
"onboarding.actions.back": "Porta'm enrere",
|
"onboarding.actions.back": "Porta'm enrere",
|
||||||
"onboarding.actions.go_to_explore": "Mira què és tendència",
|
"onboarding.actions.go_to_explore": "Mira què és tendència",
|
||||||
"onboarding.actions.go_to_home": "Vés a la teva línia de temps inici",
|
"onboarding.actions.go_to_home": "Ves a la teva línia de temps",
|
||||||
"onboarding.compose.template": "Hola Mastodon!",
|
"onboarding.compose.template": "Hola Mastodon!",
|
||||||
"onboarding.follows.empty": "Malauradament, cap resultat pot ser mostrat ara mateix. Pots provar de fer servir la cerca o visitar la pàgina Explora per a trobar gent a qui seguir o provar-ho de nou més tard.",
|
"onboarding.follows.empty": "Malauradament, cap resultat pot ser mostrat ara mateix. Pots provar de fer servir la cerca o visitar la pàgina Explora per a trobar gent a qui seguir o provar-ho de nou més tard.",
|
||||||
"onboarding.follows.lead": "Tu tens cura de la teva línia de temps inici. Com més gent segueixis, més activa i interessant serà. Aquests perfils poden ser un bon punt d'inici—sempre pots acabar deixant-los de seguir!",
|
"onboarding.follows.lead": "La teva línia de temps inici només està a les teves mans. Com més gent segueixis, més activa i interessant serà. Aquests perfils poden ser un bon punt d'inici—sempre pots acabar deixant de seguir-los!:",
|
||||||
"onboarding.follows.title": "Popular a Mastodon",
|
"onboarding.follows.title": "Personalitza la pantalla d'inci",
|
||||||
"onboarding.share.lead": "Permet que la gent sàpiga com trobar-te a Mastodon!",
|
"onboarding.share.lead": "Permet que la gent sàpiga com trobar-te a Mastodon!",
|
||||||
"onboarding.share.message": "Sóc {username} a #Mastodon! Vine i segueix-me a {url}",
|
"onboarding.share.message": "Sóc {username} a #Mastodon! Vine i segueix-me a {url}",
|
||||||
"onboarding.share.next_steps": "Possibles passes següents:",
|
"onboarding.share.next_steps": "Possibles passes següents:",
|
||||||
"onboarding.share.title": "Comparteix el teu perfil",
|
"onboarding.share.title": "Comparteix el teu perfil",
|
||||||
"onboarding.start.lead": "El teu nou compte a Mastodon ja està preparat. Aquí tens com en pots treure tot el suc:",
|
"onboarding.start.lead": "El teu nou compte ja està preparat a Mastodon, la xarxa social on tu—no un algorisme—té tot el control. Aquí tens com en pots treure tot el suc:",
|
||||||
"onboarding.start.skip": "Vols saltar-te tota la resta?",
|
"onboarding.start.skip": "Vols saltar-te tota la resta?",
|
||||||
"onboarding.start.title": "Llestos!",
|
"onboarding.start.title": "Llestos!",
|
||||||
"onboarding.steps.follow_people.body": "Tu tens cura de la teva línia de temps. Omple-la de gent interessant.",
|
"onboarding.steps.follow_people.body": "Mastodon va de seguir a gent interessant.",
|
||||||
"onboarding.steps.follow_people.title": "{count, plural, zero {No segueixes cap persona} one {Segeueixes ona persona} other {Segueixes # persones}}",
|
"onboarding.steps.follow_people.title": "Personalitza la pantalla d'inci",
|
||||||
"onboarding.steps.publish_status.body": "Saluda el món.",
|
"onboarding.steps.publish_status.body": "Saluda al món amb text, fotos, vídeos o enquestes {emoji}",
|
||||||
"onboarding.steps.publish_status.title": "Fes el teu primer tut",
|
"onboarding.steps.publish_status.title": "Fes el teu primer tut",
|
||||||
"onboarding.steps.setup_profile.body": "És més fàcil que altres interaccionin amb tu si tens un perfil complet.",
|
"onboarding.steps.setup_profile.body": "És més fàcil que altres interactuïn amb tu si tens un perfil complet.",
|
||||||
"onboarding.steps.setup_profile.title": "Personalitza el perfil",
|
"onboarding.steps.setup_profile.title": "Personalitza el perfil",
|
||||||
"onboarding.steps.share_profile.body": "Permet als teus amics de saber com trobar-te a Mastodon!",
|
"onboarding.steps.share_profile.body": "Fer saber als teus amics com trobar-te a Mastodon",
|
||||||
"onboarding.steps.share_profile.title": "Comparteix el teu perfil",
|
"onboarding.steps.share_profile.title": "Comparteix el teu perfil",
|
||||||
"onboarding.tips.2fa": "<strong>Ho sabies?</strong> Pots securitzar el teu compte activant l'autenticació de doble factor en la configuració del teu perfil. Funciona amb qualsevol aplicació TOTP de la teva elecció, no cal número de telèfon!",
|
"onboarding.tips.2fa": "<strong>Ho sabies?</strong> Pots securitzar el teu compte activant l'autenticació de doble factor en la configuració del teu perfil. Funciona amb qualsevol aplicació TOTP de la teva elecció, no cal número de telèfon!",
|
||||||
"onboarding.tips.accounts_from_other_servers": "<strong>Ho sabies?</strong> Com Mastodon és descentralitzat, et pots trobar amb perfils que són a servidors diferents del teu. I, tanmateix, també hi pots interactuar sense cap problema! El servidor és la segona part del seu nom d'usuari!",
|
"onboarding.tips.accounts_from_other_servers": "<strong>Ho sabies?</strong> Com Mastodon és descentralitzat, et pots trobar amb perfils que són a servidors diferents del teu. I, tanmateix, també hi pots interactuar sense cap problema! El servidor és la segona part del seu nom d'usuari!",
|
||||||
|
|
|
@ -114,7 +114,7 @@
|
||||||
"column.directory": "Prozkoumat profily",
|
"column.directory": "Prozkoumat profily",
|
||||||
"column.domain_blocks": "Blokované domény",
|
"column.domain_blocks": "Blokované domény",
|
||||||
"column.favourites": "Oblíbené",
|
"column.favourites": "Oblíbené",
|
||||||
"column.firehose": "Živé kanály l",
|
"column.firehose": "Živé kanály",
|
||||||
"column.follow_requests": "Žádosti o sledování",
|
"column.follow_requests": "Žádosti o sledování",
|
||||||
"column.home": "Domů",
|
"column.home": "Domů",
|
||||||
"column.lists": "Seznamy",
|
"column.lists": "Seznamy",
|
||||||
|
@ -585,6 +585,7 @@
|
||||||
"search.quick_action.open_url": "Otevřít URL v Mastodonu",
|
"search.quick_action.open_url": "Otevřít URL v Mastodonu",
|
||||||
"search.quick_action.status_search": "Příspěvky odpovídající {x}",
|
"search.quick_action.status_search": "Příspěvky odpovídající {x}",
|
||||||
"search.search_or_paste": "Hledat nebo vložit URL",
|
"search.search_or_paste": "Hledat nebo vložit URL",
|
||||||
|
"search_popout.full_text_search_disabled_message": "Nedostupné na {domain}.",
|
||||||
"search_popout.language_code": "Kód jazyka podle ISO",
|
"search_popout.language_code": "Kód jazyka podle ISO",
|
||||||
"search_popout.options": "Možnosti hledání",
|
"search_popout.options": "Možnosti hledání",
|
||||||
"search_popout.quick_actions": "Rychlé akce",
|
"search_popout.quick_actions": "Rychlé akce",
|
||||||
|
|
|
@ -143,7 +143,7 @@
|
||||||
"compose_form.hashtag_warning": "Dieser Beitrag wird unter keinem Hashtag sichtbar sein, weil er nicht öffentlich ist. Nur öffentliche Beiträge können nach Hashtags durchsucht werden.",
|
"compose_form.hashtag_warning": "Dieser Beitrag wird unter keinem Hashtag sichtbar sein, weil er nicht öffentlich ist. Nur öffentliche Beiträge können nach Hashtags durchsucht werden.",
|
||||||
"compose_form.lock_disclaimer": "Dein Profil ist nicht {locked}. Andere können dir folgen und deine Beiträge sehen, die nur für Follower bestimmt sind.",
|
"compose_form.lock_disclaimer": "Dein Profil ist nicht {locked}. Andere können dir folgen und deine Beiträge sehen, die nur für Follower bestimmt sind.",
|
||||||
"compose_form.lock_disclaimer.lock": "geschützt",
|
"compose_form.lock_disclaimer.lock": "geschützt",
|
||||||
"compose_form.placeholder": "Was gibt's Neues?",
|
"compose_form.placeholder": "Was gibt’s Neues?",
|
||||||
"compose_form.poll.add_option": "Auswahl",
|
"compose_form.poll.add_option": "Auswahl",
|
||||||
"compose_form.poll.duration": "Umfragedauer",
|
"compose_form.poll.duration": "Umfragedauer",
|
||||||
"compose_form.poll.option_placeholder": "{number}. Auswahl",
|
"compose_form.poll.option_placeholder": "{number}. Auswahl",
|
||||||
|
@ -286,7 +286,7 @@
|
||||||
"footer.source_code": "Quellcode anzeigen",
|
"footer.source_code": "Quellcode anzeigen",
|
||||||
"footer.status": "Status",
|
"footer.status": "Status",
|
||||||
"generic.saved": "Gespeichert",
|
"generic.saved": "Gespeichert",
|
||||||
"getting_started.heading": "Auf geht's!",
|
"getting_started.heading": "Auf geht’s!",
|
||||||
"hashtag.column_header.tag_mode.all": "und {additional}",
|
"hashtag.column_header.tag_mode.all": "und {additional}",
|
||||||
"hashtag.column_header.tag_mode.any": "oder {additional}",
|
"hashtag.column_header.tag_mode.any": "oder {additional}",
|
||||||
"hashtag.column_header.tag_mode.none": "ohne {additional}",
|
"hashtag.column_header.tag_mode.none": "ohne {additional}",
|
||||||
|
@ -360,7 +360,7 @@
|
||||||
"keyboard_shortcuts.requests": "Liste der Follower-Anfragen aufrufen",
|
"keyboard_shortcuts.requests": "Liste der Follower-Anfragen aufrufen",
|
||||||
"keyboard_shortcuts.search": "Suchleiste fokussieren",
|
"keyboard_shortcuts.search": "Suchleiste fokussieren",
|
||||||
"keyboard_shortcuts.spoilers": "Feld für Inhaltswarnung anzeigen/ausblenden",
|
"keyboard_shortcuts.spoilers": "Feld für Inhaltswarnung anzeigen/ausblenden",
|
||||||
"keyboard_shortcuts.start": "„Auf geht's!“ öffnen",
|
"keyboard_shortcuts.start": "„Auf geht’s!“ öffnen",
|
||||||
"keyboard_shortcuts.toggle_hidden": "Beitragstext hinter der Inhaltswarnung anzeigen/ausblenden",
|
"keyboard_shortcuts.toggle_hidden": "Beitragstext hinter der Inhaltswarnung anzeigen/ausblenden",
|
||||||
"keyboard_shortcuts.toggle_sensitivity": "Medien anzeigen/ausblenden",
|
"keyboard_shortcuts.toggle_sensitivity": "Medien anzeigen/ausblenden",
|
||||||
"keyboard_shortcuts.toot": "Neuen Beitrag erstellen",
|
"keyboard_shortcuts.toot": "Neuen Beitrag erstellen",
|
||||||
|
|
|
@ -590,6 +590,7 @@
|
||||||
"search.quick_action.open_url": "Open URL in Mastodon",
|
"search.quick_action.open_url": "Open URL in Mastodon",
|
||||||
"search.quick_action.status_search": "Posts matching {x}",
|
"search.quick_action.status_search": "Posts matching {x}",
|
||||||
"search.search_or_paste": "Search or paste URL",
|
"search.search_or_paste": "Search or paste URL",
|
||||||
|
"search_popout.full_text_search_disabled_message": "Unavailable on {domain}.",
|
||||||
"search_popout.language_code": "ISO language code",
|
"search_popout.language_code": "ISO language code",
|
||||||
"search_popout.options": "Search options",
|
"search_popout.options": "Search options",
|
||||||
"search_popout.quick_actions": "Quick actions",
|
"search_popout.quick_actions": "Quick actions",
|
||||||
|
|
|
@ -113,6 +113,7 @@
|
||||||
"column.direct": "Privataj mencioj",
|
"column.direct": "Privataj mencioj",
|
||||||
"column.directory": "Foliumi la profilojn",
|
"column.directory": "Foliumi la profilojn",
|
||||||
"column.domain_blocks": "Blokitaj domajnoj",
|
"column.domain_blocks": "Blokitaj domajnoj",
|
||||||
|
"column.favourites": "Stelumoj",
|
||||||
"column.firehose": "Vivantaj fluoj",
|
"column.firehose": "Vivantaj fluoj",
|
||||||
"column.follow_requests": "Petoj de sekvado",
|
"column.follow_requests": "Petoj de sekvado",
|
||||||
"column.home": "Hejmo",
|
"column.home": "Hejmo",
|
||||||
|
@ -136,6 +137,7 @@
|
||||||
"compose.language.search": "Serĉi lingvojn...",
|
"compose.language.search": "Serĉi lingvojn...",
|
||||||
"compose.published.body": "Afiŝo publikigita.",
|
"compose.published.body": "Afiŝo publikigita.",
|
||||||
"compose.published.open": "Malfermi",
|
"compose.published.open": "Malfermi",
|
||||||
|
"compose.saved.body": "Afiŝo konservita.",
|
||||||
"compose_form.direct_message_warning_learn_more": "Lerni pli",
|
"compose_form.direct_message_warning_learn_more": "Lerni pli",
|
||||||
"compose_form.encryption_warning": "La afiŝoj en Mastodon ne estas tutvoje ĉifritaj. Ne kunhavigu tiklajn informojn ĉe Mastodon.",
|
"compose_form.encryption_warning": "La afiŝoj en Mastodon ne estas tutvoje ĉifritaj. Ne kunhavigu tiklajn informojn ĉe Mastodon.",
|
||||||
"compose_form.hashtag_warning": "Ĉi tiu afiŝo ne estos listigita en neniu kradvorto ĉar ĝi ne estas publika. Nur publikaj afiŝoj povas esti serĉitaj per kradvortoj.",
|
"compose_form.hashtag_warning": "Ĉi tiu afiŝo ne estos listigita en neniu kradvorto ĉar ĝi ne estas publika. Nur publikaj afiŝoj povas esti serĉitaj per kradvortoj.",
|
||||||
|
@ -180,6 +182,7 @@
|
||||||
"confirmations.mute.explanation": "Tio kaŝos la mesaĝojn de la uzanto kaj la mesaĝojn kiuj mencias rin, sed ri ankoraŭ rajtos vidi viajn mesaĝojn kaj sekvi vin.",
|
"confirmations.mute.explanation": "Tio kaŝos la mesaĝojn de la uzanto kaj la mesaĝojn kiuj mencias rin, sed ri ankoraŭ rajtos vidi viajn mesaĝojn kaj sekvi vin.",
|
||||||
"confirmations.mute.message": "Ĉu vi certas, ke vi volas silentigi {name}?",
|
"confirmations.mute.message": "Ĉu vi certas, ke vi volas silentigi {name}?",
|
||||||
"confirmations.redraft.confirm": "Forigi kaj reskribi",
|
"confirmations.redraft.confirm": "Forigi kaj reskribi",
|
||||||
|
"confirmations.redraft.message": "Ĉu vi certas ke vi volas forigi tiun afiŝon kaj reskribi ĝin? Ĉiuj diskonigoj kaj stelumoj estos perditaj, kaj respondoj al la originala mesaĝo estos senparentaj.",
|
||||||
"confirmations.reply.confirm": "Respondi",
|
"confirmations.reply.confirm": "Respondi",
|
||||||
"confirmations.reply.message": "Respondi nun anstataŭigos la skribatan afiŝon. Ĉu vi certas, ke vi volas daŭrigi?",
|
"confirmations.reply.message": "Respondi nun anstataŭigos la skribatan afiŝon. Ĉu vi certas, ke vi volas daŭrigi?",
|
||||||
"confirmations.unfollow.confirm": "Ne plu sekvi",
|
"confirmations.unfollow.confirm": "Ne plu sekvi",
|
||||||
|
@ -548,6 +551,7 @@
|
||||||
"search.search_or_paste": "Serĉu aŭ algluu URL-on",
|
"search.search_or_paste": "Serĉu aŭ algluu URL-on",
|
||||||
"search_popout.quick_actions": "Rapidaj agoj",
|
"search_popout.quick_actions": "Rapidaj agoj",
|
||||||
"search_popout.recent": "Lastaj serĉoj",
|
"search_popout.recent": "Lastaj serĉoj",
|
||||||
|
"search_popout.user": "uzanto",
|
||||||
"search_results.accounts": "Profiloj",
|
"search_results.accounts": "Profiloj",
|
||||||
"search_results.all": "Ĉiuj",
|
"search_results.all": "Ĉiuj",
|
||||||
"search_results.hashtags": "Kradvortoj",
|
"search_results.hashtags": "Kradvortoj",
|
||||||
|
|
|
@ -302,8 +302,8 @@
|
||||||
"hashtag.follow": "Seguir etiqueta",
|
"hashtag.follow": "Seguir etiqueta",
|
||||||
"hashtag.unfollow": "Dejar de seguir etiqueta",
|
"hashtag.unfollow": "Dejar de seguir etiqueta",
|
||||||
"hashtags.and_other": "…y {count, plural, other {# más}}",
|
"hashtags.and_other": "…y {count, plural, other {# más}}",
|
||||||
"home.actions.go_to_explore": "Mirá qué está en tendencia",
|
"home.actions.go_to_explore": "Ver qué está en tendencia",
|
||||||
"home.actions.go_to_suggestions": "Encontrá cuentas para seguir",
|
"home.actions.go_to_suggestions": "Encontrar cuentas para seguir",
|
||||||
"home.column_settings.basic": "Básico",
|
"home.column_settings.basic": "Básico",
|
||||||
"home.column_settings.show_reblogs": "Mostrar adhesiones",
|
"home.column_settings.show_reblogs": "Mostrar adhesiones",
|
||||||
"home.column_settings.show_replies": "Mostrar respuestas",
|
"home.column_settings.show_replies": "Mostrar respuestas",
|
||||||
|
|
|
@ -379,7 +379,7 @@
|
||||||
"lists.delete": "Borrar lista",
|
"lists.delete": "Borrar lista",
|
||||||
"lists.edit": "Editar lista",
|
"lists.edit": "Editar lista",
|
||||||
"lists.edit.submit": "Cambiar título",
|
"lists.edit.submit": "Cambiar título",
|
||||||
"lists.exclusive": "Ocultar estas publicaciones en inicio",
|
"lists.exclusive": "Ocultar estas publicaciones de inicio",
|
||||||
"lists.new.create": "Añadir lista",
|
"lists.new.create": "Añadir lista",
|
||||||
"lists.new.title_placeholder": "Título de la nueva lista",
|
"lists.new.title_placeholder": "Título de la nueva lista",
|
||||||
"lists.replies_policy.followed": "Cualquier usuario seguido",
|
"lists.replies_policy.followed": "Cualquier usuario seguido",
|
||||||
|
|
|
@ -15,13 +15,13 @@
|
||||||
"account.add_or_remove_from_list": "افزودن یا برداشتن از سیاههها",
|
"account.add_or_remove_from_list": "افزودن یا برداشتن از سیاههها",
|
||||||
"account.badges.bot": "روبات",
|
"account.badges.bot": "روبات",
|
||||||
"account.badges.group": "گروه",
|
"account.badges.group": "گروه",
|
||||||
"account.block": "مسدود کردن @{name}",
|
"account.block": "انسداد @{name}",
|
||||||
"account.block_domain": "مسدود کردن دامنهٔ {domain}",
|
"account.block_domain": "انسداد دامنهٔ {domain}",
|
||||||
"account.block_short": "انسداد",
|
"account.block_short": "انسداد",
|
||||||
"account.blocked": "مسدود شده",
|
"account.blocked": "مسدود",
|
||||||
"account.browse_more_on_origin_server": "مرور بیشتر روی نمایهٔ اصلی",
|
"account.browse_more_on_origin_server": "مرور بیشتر روی نمایهٔ اصلی",
|
||||||
"account.cancel_follow_request": "رد کردن درخواست پیگیری",
|
"account.cancel_follow_request": "رد کردن درخواست پیگیری",
|
||||||
"account.direct": "خصوصی از @{name} نام ببرید",
|
"account.direct": "اشارهٔ خصوصی به @{name}",
|
||||||
"account.disable_notifications": "آگاه کردن من هنگام فرستههای @{name} را متوقّف کن",
|
"account.disable_notifications": "آگاه کردن من هنگام فرستههای @{name} را متوقّف کن",
|
||||||
"account.domain_blocked": "دامنه مسدود شد",
|
"account.domain_blocked": "دامنه مسدود شد",
|
||||||
"account.edit_profile": "ویرایش نمایه",
|
"account.edit_profile": "ویرایش نمایه",
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
"account.link_verified_on": "مالکیت این پیوند در {date} بررسی شد",
|
"account.link_verified_on": "مالکیت این پیوند در {date} بررسی شد",
|
||||||
"account.locked_info": "این حساب خصوصی است. صاحبش تصمیم میگیرد که چه کسی پیگیرش باشد.",
|
"account.locked_info": "این حساب خصوصی است. صاحبش تصمیم میگیرد که چه کسی پیگیرش باشد.",
|
||||||
"account.media": "رسانه",
|
"account.media": "رسانه",
|
||||||
"account.mention": "نامبردن از @{name}",
|
"account.mention": "اشاره به @{name}",
|
||||||
"account.moved_to": "{name} نشان داده که حساب جدیدش این است:",
|
"account.moved_to": "{name} نشان داده که حساب جدیدش این است:",
|
||||||
"account.mute": "خموشاندن @{name}",
|
"account.mute": "خموشاندن @{name}",
|
||||||
"account.mute_notifications_short": "خموشی آگاهیها",
|
"account.mute_notifications_short": "خموشی آگاهیها",
|
||||||
|
@ -110,7 +110,7 @@
|
||||||
"column.blocks": "کاربران مسدود شده",
|
"column.blocks": "کاربران مسدود شده",
|
||||||
"column.bookmarks": "نشانکها",
|
"column.bookmarks": "نشانکها",
|
||||||
"column.community": "خط زمانی محلّی",
|
"column.community": "خط زمانی محلّی",
|
||||||
"column.direct": "خصوصی نام ببرید",
|
"column.direct": "اشارههای خصوصی",
|
||||||
"column.directory": "مرور نمایهها",
|
"column.directory": "مرور نمایهها",
|
||||||
"column.domain_blocks": "دامنههای مسدود شده",
|
"column.domain_blocks": "دامنههای مسدود شده",
|
||||||
"column.favourites": "برگزیدهها",
|
"column.favourites": "برگزیدهها",
|
||||||
|
@ -137,6 +137,7 @@
|
||||||
"compose.language.search": "جستوجوی زبانها…",
|
"compose.language.search": "جستوجوی زبانها…",
|
||||||
"compose.published.body": "فرسته منتشر شد.",
|
"compose.published.body": "فرسته منتشر شد.",
|
||||||
"compose.published.open": "گشودن",
|
"compose.published.open": "گشودن",
|
||||||
|
"compose.saved.body": "فرسته ذخیره شد.",
|
||||||
"compose_form.direct_message_warning_learn_more": "بیشتر بدانید",
|
"compose_form.direct_message_warning_learn_more": "بیشتر بدانید",
|
||||||
"compose_form.encryption_warning": "فرستههای ماستودون رمزگذاری سرتاسری نشدهاند. هیچ اطّلاعات حساسی را روی ماستودون همرسانی نکنید.",
|
"compose_form.encryption_warning": "فرستههای ماستودون رمزگذاری سرتاسری نشدهاند. هیچ اطّلاعات حساسی را روی ماستودون همرسانی نکنید.",
|
||||||
"compose_form.hashtag_warning": "از آنجا که این فرسته عمومی نیست زیر هیچ برچسبی سیاهه نخواهد شد. تنها فرستههای عمومی میتوانند با برچسب جستوجو شوند.",
|
"compose_form.hashtag_warning": "از آنجا که این فرسته عمومی نیست زیر هیچ برچسبی سیاهه نخواهد شد. تنها فرستههای عمومی میتوانند با برچسب جستوجو شوند.",
|
||||||
|
@ -147,7 +148,7 @@
|
||||||
"compose_form.poll.duration": "مدت نظرسنجی",
|
"compose_form.poll.duration": "مدت نظرسنجی",
|
||||||
"compose_form.poll.option_placeholder": "گزینهٔ {number}",
|
"compose_form.poll.option_placeholder": "گزینهٔ {number}",
|
||||||
"compose_form.poll.remove_option": "برداشتن این گزینه",
|
"compose_form.poll.remove_option": "برداشتن این گزینه",
|
||||||
"compose_form.poll.switch_to_multiple": "تبدیل به نظرسنجی چندگزینهای",
|
"compose_form.poll.switch_to_multiple": "تغییر نظرسنجی برای اجازه به چندین گزینه",
|
||||||
"compose_form.poll.switch_to_single": "تبدیل به نظرسنجی تکگزینهای",
|
"compose_form.poll.switch_to_single": "تبدیل به نظرسنجی تکگزینهای",
|
||||||
"compose_form.publish": "انتشار",
|
"compose_form.publish": "انتشار",
|
||||||
"compose_form.publish_form": "انتشار",
|
"compose_form.publish_form": "انتشار",
|
||||||
|
@ -160,8 +161,8 @@
|
||||||
"compose_form.spoiler.unmarked": "افزودن هشدار محتوا",
|
"compose_form.spoiler.unmarked": "افزودن هشدار محتوا",
|
||||||
"compose_form.spoiler_placeholder": "هشدارتان را اینجا بنویسید",
|
"compose_form.spoiler_placeholder": "هشدارتان را اینجا بنویسید",
|
||||||
"confirmation_modal.cancel": "لغو",
|
"confirmation_modal.cancel": "لغو",
|
||||||
"confirmations.block.block_and_report": "مسدود کردن و گزارش",
|
"confirmations.block.block_and_report": "انسداد و گزارش",
|
||||||
"confirmations.block.confirm": "مسدود کردن",
|
"confirmations.block.confirm": "انسداد",
|
||||||
"confirmations.block.message": "مطمئنید که میخواهید {name} را مسدود کنید؟",
|
"confirmations.block.message": "مطمئنید که میخواهید {name} را مسدود کنید؟",
|
||||||
"confirmations.cancel_follow_request.confirm": "رد کردن درخواست",
|
"confirmations.cancel_follow_request.confirm": "رد کردن درخواست",
|
||||||
"confirmations.cancel_follow_request.message": "مطمئنید که می خواهید درخواست پیگیری {name} را لغو کنید؟",
|
"confirmations.cancel_follow_request.message": "مطمئنید که می خواهید درخواست پیگیری {name} را لغو کنید؟",
|
||||||
|
@ -171,7 +172,7 @@
|
||||||
"confirmations.delete_list.message": "مطمئنید میخواهید این سیاهه را برای همیشه حذف کنید؟",
|
"confirmations.delete_list.message": "مطمئنید میخواهید این سیاهه را برای همیشه حذف کنید؟",
|
||||||
"confirmations.discard_edit_media.confirm": "دور انداختن",
|
"confirmations.discard_edit_media.confirm": "دور انداختن",
|
||||||
"confirmations.discard_edit_media.message": "تغییرات ذخیره نشدهای در توضیحات یا پیشنمایش رسانه دارید. همگی نادیده گرفته شوند؟",
|
"confirmations.discard_edit_media.message": "تغییرات ذخیره نشدهای در توضیحات یا پیشنمایش رسانه دارید. همگی نادیده گرفته شوند؟",
|
||||||
"confirmations.domain_block.confirm": "مسدود کردن تمام دامنه",
|
"confirmations.domain_block.confirm": "انسداد تمام دامنه",
|
||||||
"confirmations.domain_block.message": "آیا جدی جدی میخواهید تمام دامنهٔ {domain} را مسدود کنید؟ در بیشتر موارد مسدود کردن یا خموشاندن چند حساب خاص کافی است و توصیه میشود. پس از این کار شما هیچ محتوایی را از این دامنه در خط زمانی عمومی یا آگاهیهایتان نخواهید دید. پیگیرانتان از این دامنه هم برداشته خواهند شد.",
|
"confirmations.domain_block.message": "آیا جدی جدی میخواهید تمام دامنهٔ {domain} را مسدود کنید؟ در بیشتر موارد مسدود کردن یا خموشاندن چند حساب خاص کافی است و توصیه میشود. پس از این کار شما هیچ محتوایی را از این دامنه در خط زمانی عمومی یا آگاهیهایتان نخواهید دید. پیگیرانتان از این دامنه هم برداشته خواهند شد.",
|
||||||
"confirmations.edit.confirm": "ویرایش",
|
"confirmations.edit.confirm": "ویرایش",
|
||||||
"confirmations.edit.message": "در صورت ویرایش، پیامی که در حال نوشتنش بودید از بین خواهد رفت. میخواهید ادامه دهید؟",
|
"confirmations.edit.message": "در صورت ویرایش، پیامی که در حال نوشتنش بودید از بین خواهد رفت. میخواهید ادامه دهید؟",
|
||||||
|
@ -181,6 +182,7 @@
|
||||||
"confirmations.mute.explanation": "این کار فرستههای آنها و فرستههایی را که از آنها نام برده پنهان میکند، ولی آنها همچنان اجازه دارند فرستههای شما را ببینند و شما را پیگیری کنند.",
|
"confirmations.mute.explanation": "این کار فرستههای آنها و فرستههایی را که از آنها نام برده پنهان میکند، ولی آنها همچنان اجازه دارند فرستههای شما را ببینند و شما را پیگیری کنند.",
|
||||||
"confirmations.mute.message": "مطمئنید میخواهید {name} را بخموشانید؟",
|
"confirmations.mute.message": "مطمئنید میخواهید {name} را بخموشانید؟",
|
||||||
"confirmations.redraft.confirm": "حذف و بازنویسی",
|
"confirmations.redraft.confirm": "حذف و بازنویسی",
|
||||||
|
"confirmations.redraft.message": "مطمئنید که میخواهید این فرسته را حذف کنید و از نو بنویسید؟ با این کار تقویتها و پسندهایش از دست رفته و پاسخها به آن بیمرجع میشود.",
|
||||||
"confirmations.reply.confirm": "پاسخ",
|
"confirmations.reply.confirm": "پاسخ",
|
||||||
"confirmations.reply.message": "اگر الان پاسخ دهید، چیزی که در حال نوشتنش بودید پاک خواهد شد. میخواهید ادامه دهید؟",
|
"confirmations.reply.message": "اگر الان پاسخ دهید، چیزی که در حال نوشتنش بودید پاک خواهد شد. میخواهید ادامه دهید؟",
|
||||||
"confirmations.unfollow.confirm": "پینگرفتن",
|
"confirmations.unfollow.confirm": "پینگرفتن",
|
||||||
|
@ -294,16 +296,23 @@
|
||||||
"hashtag.column_settings.tag_mode.any": "هرکدام از اینها",
|
"hashtag.column_settings.tag_mode.any": "هرکدام از اینها",
|
||||||
"hashtag.column_settings.tag_mode.none": "هیچکدام از اینها",
|
"hashtag.column_settings.tag_mode.none": "هیچکدام از اینها",
|
||||||
"hashtag.column_settings.tag_toggle": "افزودن برچسبهایی بیشتر به این ستون",
|
"hashtag.column_settings.tag_toggle": "افزودن برچسبهایی بیشتر به این ستون",
|
||||||
|
"hashtag.counter_by_accounts": "{count, plural, one {{counter} مشارکت کننده} other {{counter} مشارکت کننده}}",
|
||||||
|
"hashtag.counter_by_uses": "{count, plural, one {{counter} فرسته} other {{counter} فرسته}}",
|
||||||
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} فرسته} other {{counter} فرسته}} امروز",
|
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} فرسته} other {{counter} فرسته}} امروز",
|
||||||
"hashtag.follow": "پیگرفتن برچسب",
|
"hashtag.follow": "پیگرفتن برچسب",
|
||||||
"hashtag.unfollow": "پینگرفتن برچسب",
|
"hashtag.unfollow": "پینگرفتن برچسب",
|
||||||
|
"hashtags.and_other": "…و {count, plural, other {# بیشتر}}",
|
||||||
"home.actions.go_to_explore": "ببینید چه داغ است",
|
"home.actions.go_to_explore": "ببینید چه داغ است",
|
||||||
"home.actions.go_to_suggestions": "یافتن افراد برای پیگیری",
|
"home.actions.go_to_suggestions": "یافتن افراد برای پیگیری",
|
||||||
"home.column_settings.basic": "پایهای",
|
"home.column_settings.basic": "پایهای",
|
||||||
"home.column_settings.show_reblogs": "نمایش تقویتها",
|
"home.column_settings.show_reblogs": "نمایش تقویتها",
|
||||||
"home.column_settings.show_replies": "نمایش پاسخها",
|
"home.column_settings.show_replies": "نمایش پاسخها",
|
||||||
|
"home.explore_prompt.body": "خوراک خانگیتان ترکیبی از فرستهها از برچسبهایی که برای پیگیری گزیدهاید، افرادی که پی میگیرید و فرستههایی که تقویت میکنند را خواهد داشت. اگر خیلی خلوت به نظر میرسد، شاید بخواهید:",
|
||||||
"home.explore_prompt.title": "این پایگاه خانگیتان در ماستودون است.",
|
"home.explore_prompt.title": "این پایگاه خانگیتان در ماستودون است.",
|
||||||
"home.hide_announcements": "نهفتن اعلامیهها",
|
"home.hide_announcements": "نهفتن اعلامیهها",
|
||||||
|
"home.pending_critical_update.body": "لطفاً کارساز ماستودونتان را در نخستین فرصت بهروز کنید!",
|
||||||
|
"home.pending_critical_update.link": "دیدن بهروز رسانیها",
|
||||||
|
"home.pending_critical_update.title": "بهروز رسانی امنیتی بحرانی موجود است!",
|
||||||
"home.show_announcements": "نمایش اعلامیهها",
|
"home.show_announcements": "نمایش اعلامیهها",
|
||||||
"interaction_modal.description.favourite": "با حسابی روی ماستودون میتوانید این فرسته را برگزیده تا نگارنده بداند قدردانش هستید و برای آینده ذخیرهاش میکنید.",
|
"interaction_modal.description.favourite": "با حسابی روی ماستودون میتوانید این فرسته را برگزیده تا نگارنده بداند قدردانش هستید و برای آینده ذخیرهاش میکنید.",
|
||||||
"interaction_modal.description.follow": "با حسابی روی ماستودون میتوانید {name} را برای دریافت فرستههایش در خوراک خانگیتان دنبال کنید.",
|
"interaction_modal.description.follow": "با حسابی روی ماستودون میتوانید {name} را برای دریافت فرستههایش در خوراک خانگیتان دنبال کنید.",
|
||||||
|
@ -314,6 +323,8 @@
|
||||||
"interaction_modal.no_account_yet": "در ماستودون نیست؟",
|
"interaction_modal.no_account_yet": "در ماستودون نیست؟",
|
||||||
"interaction_modal.on_another_server": "روی کارسازی دیگر",
|
"interaction_modal.on_another_server": "روی کارسازی دیگر",
|
||||||
"interaction_modal.on_this_server": "روی این کارساز",
|
"interaction_modal.on_this_server": "روی این کارساز",
|
||||||
|
"interaction_modal.sign_in": "شما در این کارساز وارد نشدهاید. حسابتان کجا میزبانی شده؟",
|
||||||
|
"interaction_modal.sign_in_hint": "نکته: میزبانتان، پایگاه وبیست که رویش ثبتنام کردهاید. اگر به خاطر نمیآورید، به رایانامهٔ خوشآمد در صندوق ورودیتان بنگرید. همچنین میتوانید نام کاربری کاملتان (چون @Mastodon@mastodon.social) را وارد کنید!",
|
||||||
"interaction_modal.title.favourite": "فرستههای برگزیدهٔ {name}",
|
"interaction_modal.title.favourite": "فرستههای برگزیدهٔ {name}",
|
||||||
"interaction_modal.title.follow": "پیگیری {name}",
|
"interaction_modal.title.follow": "پیگیری {name}",
|
||||||
"interaction_modal.title.reblog": "تقویت فرستهٔ {name}",
|
"interaction_modal.title.reblog": "تقویت فرستهٔ {name}",
|
||||||
|
@ -330,6 +341,7 @@
|
||||||
"keyboard_shortcuts.direct": "باز کردن ستون اشارههای خصوصی",
|
"keyboard_shortcuts.direct": "باز کردن ستون اشارههای خصوصی",
|
||||||
"keyboard_shortcuts.down": "پایین بردن در سیاهه",
|
"keyboard_shortcuts.down": "پایین بردن در سیاهه",
|
||||||
"keyboard_shortcuts.enter": "گشودن فرسته",
|
"keyboard_shortcuts.enter": "گشودن فرسته",
|
||||||
|
"keyboard_shortcuts.favourite": "پسندیدن فرسته",
|
||||||
"keyboard_shortcuts.favourites": "گشودن فهرست برگزیدهها",
|
"keyboard_shortcuts.favourites": "گشودن فهرست برگزیدهها",
|
||||||
"keyboard_shortcuts.federated": "گشودن خط زمانی همگانی",
|
"keyboard_shortcuts.federated": "گشودن خط زمانی همگانی",
|
||||||
"keyboard_shortcuts.heading": "میانبرهای صفحهکلید",
|
"keyboard_shortcuts.heading": "میانبرهای صفحهکلید",
|
||||||
|
@ -337,7 +349,7 @@
|
||||||
"keyboard_shortcuts.hotkey": "میانبر",
|
"keyboard_shortcuts.hotkey": "میانبر",
|
||||||
"keyboard_shortcuts.legend": "نمایش این نشانه",
|
"keyboard_shortcuts.legend": "نمایش این نشانه",
|
||||||
"keyboard_shortcuts.local": "گشودن خط زمانی محلّی",
|
"keyboard_shortcuts.local": "گشودن خط زمانی محلّی",
|
||||||
"keyboard_shortcuts.mention": "نامبردن نویسنده",
|
"keyboard_shortcuts.mention": "اشاره به نویسنده",
|
||||||
"keyboard_shortcuts.muted": "گشودن فهرست کاربران خموش",
|
"keyboard_shortcuts.muted": "گشودن فهرست کاربران خموش",
|
||||||
"keyboard_shortcuts.my_profile": "گشودن نمایهتان",
|
"keyboard_shortcuts.my_profile": "گشودن نمایهتان",
|
||||||
"keyboard_shortcuts.notifications": "گشودن ستون آگاهیها",
|
"keyboard_shortcuts.notifications": "گشودن ستون آگاهیها",
|
||||||
|
@ -361,7 +373,7 @@
|
||||||
"lightbox.previous": "قبلی",
|
"lightbox.previous": "قبلی",
|
||||||
"limited_account_hint.action": "به هر روی نمایه نشان داده شود",
|
"limited_account_hint.action": "به هر روی نمایه نشان داده شود",
|
||||||
"limited_account_hint.title": "این نمایه از سوی ناظمهای {domain} پنهان شده.",
|
"limited_account_hint.title": "این نمایه از سوی ناظمهای {domain} پنهان شده.",
|
||||||
"link_preview.author": "بر اساس {name}",
|
"link_preview.author": "از {name}",
|
||||||
"lists.account.add": "افزودن به سیاهه",
|
"lists.account.add": "افزودن به سیاهه",
|
||||||
"lists.account.remove": "برداشتن از سیاهه",
|
"lists.account.remove": "برداشتن از سیاهه",
|
||||||
"lists.delete": "حذف سیاهه",
|
"lists.delete": "حذف سیاهه",
|
||||||
|
@ -402,6 +414,7 @@
|
||||||
"navigation_bar.lists": "سیاههها",
|
"navigation_bar.lists": "سیاههها",
|
||||||
"navigation_bar.logout": "خروج",
|
"navigation_bar.logout": "خروج",
|
||||||
"navigation_bar.mutes": "کاربران خموشانده",
|
"navigation_bar.mutes": "کاربران خموشانده",
|
||||||
|
"navigation_bar.opened_in_classic_interface": "فرستهها، حسابها و دیگر صفحههای خاص به طور پیشگزیده در میانای وب کلاسیک گشوده میشوند.",
|
||||||
"navigation_bar.personal": "شخصی",
|
"navigation_bar.personal": "شخصی",
|
||||||
"navigation_bar.pins": "فرستههای سنجاق شده",
|
"navigation_bar.pins": "فرستههای سنجاق شده",
|
||||||
"navigation_bar.preferences": "ترجیحات",
|
"navigation_bar.preferences": "ترجیحات",
|
||||||
|
@ -411,11 +424,11 @@
|
||||||
"not_signed_in_indicator.not_signed_in": "برای دسترسی به این منبع باید وارد شوید.",
|
"not_signed_in_indicator.not_signed_in": "برای دسترسی به این منبع باید وارد شوید.",
|
||||||
"notification.admin.report": "{name}، {target} را گزارش داد",
|
"notification.admin.report": "{name}، {target} را گزارش داد",
|
||||||
"notification.admin.sign_up": "{name} ثبت نام کرد",
|
"notification.admin.sign_up": "{name} ثبت نام کرد",
|
||||||
"notification.favourite": "{name} نوشتهٔ شما را پسندید",
|
"notification.favourite": "{name} فرستهتان را برگزید",
|
||||||
"notification.follow": "{name} پیگیرتان شد",
|
"notification.follow": "{name} پیگیرتان شد",
|
||||||
"notification.follow_request": "{name} میخواهد پیگیر شما باشد",
|
"notification.follow_request": "{name} درخواست پیگیریتان را داد",
|
||||||
"notification.mention": "{name} از شما نام برد",
|
"notification.mention": "{name} به شما اشاره کرد",
|
||||||
"notification.own_poll": "نظرسنجی شما به پایان رسید",
|
"notification.own_poll": "نظرسنجیتان پایان یافت",
|
||||||
"notification.poll": "نظرسنجیای که در آن رأی دادید به پایان رسیده است",
|
"notification.poll": "نظرسنجیای که در آن رأی دادید به پایان رسیده است",
|
||||||
"notification.reblog": "{name} فرستهتان را تقویت کرد",
|
"notification.reblog": "{name} فرستهتان را تقویت کرد",
|
||||||
"notification.status": "{name} چیزی فرستاد",
|
"notification.status": "{name} چیزی فرستاد",
|
||||||
|
@ -431,7 +444,7 @@
|
||||||
"notifications.column_settings.filter_bar.show_bar": "نمایش نوار پالایه",
|
"notifications.column_settings.filter_bar.show_bar": "نمایش نوار پالایه",
|
||||||
"notifications.column_settings.follow": "پیگیرندگان جدید:",
|
"notifications.column_settings.follow": "پیگیرندگان جدید:",
|
||||||
"notifications.column_settings.follow_request": "درخواستهای جدید پیگیری:",
|
"notifications.column_settings.follow_request": "درخواستهای جدید پیگیری:",
|
||||||
"notifications.column_settings.mention": "نامبردنها:",
|
"notifications.column_settings.mention": "اشارهها:",
|
||||||
"notifications.column_settings.poll": "نتایج نظرسنجی:",
|
"notifications.column_settings.poll": "نتایج نظرسنجی:",
|
||||||
"notifications.column_settings.push": "آگاهیهای ارسالی",
|
"notifications.column_settings.push": "آگاهیهای ارسالی",
|
||||||
"notifications.column_settings.reblog": "تقویتها:",
|
"notifications.column_settings.reblog": "تقویتها:",
|
||||||
|
@ -445,7 +458,7 @@
|
||||||
"notifications.filter.boosts": "تقویتها",
|
"notifications.filter.boosts": "تقویتها",
|
||||||
"notifications.filter.favourites": "برگزیدهها",
|
"notifications.filter.favourites": "برگزیدهها",
|
||||||
"notifications.filter.follows": "پیگرفتگان",
|
"notifications.filter.follows": "پیگرفتگان",
|
||||||
"notifications.filter.mentions": "نامبردنها",
|
"notifications.filter.mentions": "اشارهها",
|
||||||
"notifications.filter.polls": "نتایج نظرسنجی",
|
"notifications.filter.polls": "نتایج نظرسنجی",
|
||||||
"notifications.filter.statuses": "بهروز رسانیها از کسانی که پیگیرشانید",
|
"notifications.filter.statuses": "بهروز رسانیها از کسانی که پیگیرشانید",
|
||||||
"notifications.grant_permission": "اعطای مجوز.",
|
"notifications.grant_permission": "اعطای مجوز.",
|
||||||
|
@ -480,10 +493,10 @@
|
||||||
"onboarding.steps.setup_profile.title": "Customize your 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.body": "Let your friends know how to find you on Mastodon!",
|
||||||
"onboarding.steps.share_profile.title": "Share your profile",
|
"onboarding.steps.share_profile.title": "Share your profile",
|
||||||
"onboarding.tips.2fa": "<strong>آیا میدانستید؟</strong> شما میتوانید با رفتن به تنظیمات حساب و فعال کردن احراز هویت دوعاملی، حساب خود را ایمن کنید؟ این قابلیت با هر نرمافزار TOTP دلخواه شما کار ميکند و نیازی به شماره تلفن ندارد!",
|
"onboarding.tips.2fa": "<strong>آیا میدانستید؟</strong> میتوانید با پریایی هویتسنجی دو عاملی در تنظیمات حساب، حسابتان را ایمن کنید؟ این قابلیت با هر نرمافزار TOTP دلخواه کار کرده و نیازی به شماره تلفن ندارد!",
|
||||||
"onboarding.tips.accounts_from_other_servers": "<strong>آیا میدانستید؟</strong> چون ماستودون نامتمرکز است، بعضی از پروفایلهایی که با آنها برخورد میکنید درواقع روی کارساز هایی متفاوت از کارساز شما میزبانی میشوند. و شما همچنان میتوانید با آنها به شکل راحت و روان تعامل کنید! کارساز آنها در نیمه دوم نام کاربریشان است!",
|
"onboarding.tips.accounts_from_other_servers": "<strong>آیا میدانستید؟</strong> از آنجا که ماستودون نامتمرکز است، برخی نمایهها که به آنها برمیخورید روی کارسازهایی متفاوت از شما میزبانی میشوند و باز هم میتوانید بدون مشکل با آنها تعامل داشته باشید! کارسازشان در نیمه دوم نام کاربریشان است!",
|
||||||
"onboarding.tips.migration": "<strong>آیا میدانستید؟</strong> اگر احساس میکنید {domain} انتخاب کارساز خوبی برای آیندهتان نیست، میتوانید بدون از دست دادن پیگیرهایتان به یک کارساز ماستودون دیگر مهاجرت کنید. شما حتی میتوانید کارساز خودتان را میزبانی کنید!",
|
"onboarding.tips.migration": "<strong>آیا میدانستید؟</strong> اگر احساس میکنید {domain} انتخاب کارساز خوبی برای آیندهتان نیست، میتوانید بدون از دست دادن پیگیرهایتان به کارساز ماستودون دیگری مهاجرت کنید. حتا میتوانید کارساز خودتان را میزبانی کنید!",
|
||||||
"onboarding.tips.verification": "<strong>آیا میدانستید؟</strong> شما میتوانید حساب خود را با قراردادن پیوندی به نمایه ماستودونتان روی وبسایت خود، و اضافه کردن وبسایتتان به نمایه خود تایید کنید. بدون نیاز به هیچ کارمزد یا سندی!",
|
"onboarding.tips.verification": "<strong>آیا میدانستید؟</strong> میتوانید حسابتان را با گذاشتن پیوندی به نمایهٔ ماستودونتان روی پایگاه وب خود و افزودن پایگاه وبتان به نمایهتان تأیید کنید. بدون نیاز به هیچ کارمزد یا سندی!",
|
||||||
"password_confirmation.exceeds_maxlength": "تأییدیه گذرواژه از حداکثر طول گذرواژه بیشتر است",
|
"password_confirmation.exceeds_maxlength": "تأییدیه گذرواژه از حداکثر طول گذرواژه بیشتر است",
|
||||||
"password_confirmation.mismatching": "تایید گذرواژه با گذرواژه مطابقت ندارد",
|
"password_confirmation.mismatching": "تایید گذرواژه با گذرواژه مطابقت ندارد",
|
||||||
"picture_in_picture.restore": "برگرداندن",
|
"picture_in_picture.restore": "برگرداندن",
|
||||||
|
@ -523,8 +536,9 @@
|
||||||
"relative_time.seconds": "{number} ثانیه",
|
"relative_time.seconds": "{number} ثانیه",
|
||||||
"relative_time.today": "امروز",
|
"relative_time.today": "امروز",
|
||||||
"reply_indicator.cancel": "لغو",
|
"reply_indicator.cancel": "لغو",
|
||||||
"report.block": "مسدود کردن",
|
"report.block": "انسداد",
|
||||||
"report.block_explanation": "شما فرستههایشان را نخواهید دید. آنها نمیتوانند فرستههایتان را ببینند یا شما را پیبگیرند. آنها میتوانند بگویند که مسدود شدهاند.",
|
"report.block_explanation": "شما فرستههایشان را نخواهید دید. آنها نمیتوانند فرستههایتان را ببینند یا شما را پیبگیرند. آنها میتوانند بگویند که مسدود شدهاند.",
|
||||||
|
"report.categories.legal": "حقوقی",
|
||||||
"report.categories.other": "غیره",
|
"report.categories.other": "غیره",
|
||||||
"report.categories.spam": "هرزنامه",
|
"report.categories.spam": "هرزنامه",
|
||||||
"report.categories.violation": "محتوا یک یا چند قانون کارساز را نقض میکند",
|
"report.categories.violation": "محتوا یک یا چند قانون کارساز را نقض میکند",
|
||||||
|
@ -576,12 +590,18 @@
|
||||||
"search.quick_action.open_url": "باز کردن پیوند در ماستودون",
|
"search.quick_action.open_url": "باز کردن پیوند در ماستودون",
|
||||||
"search.quick_action.status_search": "فرستههای جور با {x}",
|
"search.quick_action.status_search": "فرستههای جور با {x}",
|
||||||
"search.search_or_paste": "جستوجو یا جایگذاری نشانی",
|
"search.search_or_paste": "جستوجو یا جایگذاری نشانی",
|
||||||
|
"search_popout.full_text_search_disabled_message": "روی {domain} موجود نیست.",
|
||||||
|
"search_popout.language_code": "کد زبان ایزو",
|
||||||
|
"search_popout.options": "گزینههای جستوجو",
|
||||||
"search_popout.quick_actions": "کنشهای سریع",
|
"search_popout.quick_actions": "کنشهای سریع",
|
||||||
"search_popout.recent": "جستوجوهای اخیر",
|
"search_popout.recent": "جستوجوهای اخیر",
|
||||||
|
"search_popout.specific_date": "تاریخ مشخص",
|
||||||
|
"search_popout.user": "کاربر",
|
||||||
"search_results.accounts": "نمایهها",
|
"search_results.accounts": "نمایهها",
|
||||||
"search_results.all": "همه",
|
"search_results.all": "همه",
|
||||||
"search_results.hashtags": "برچسبها",
|
"search_results.hashtags": "برچسبها",
|
||||||
"search_results.nothing_found": "چیزی برای این عبارت جستوجو یافت نشد",
|
"search_results.nothing_found": "چیزی برای این عبارت جستوجو یافت نشد",
|
||||||
|
"search_results.see_all": "دیدن همه",
|
||||||
"search_results.statuses": "فرستهها",
|
"search_results.statuses": "فرستهها",
|
||||||
"search_results.title": "جستوجو برای {q}",
|
"search_results.title": "جستوجو برای {q}",
|
||||||
"server_banner.about_active_users": "افرادی که در ۳۰ روز گذشته از این کارساز استفاده کردهاند (کاربران فعّال ماهانه)",
|
"server_banner.about_active_users": "افرادی که در ۳۰ روز گذشته از این کارساز استفاده کردهاند (کاربران فعّال ماهانه)",
|
||||||
|
@ -597,15 +617,15 @@
|
||||||
"status.admin_account": "گشودن واسط مدیریت برای @{name}",
|
"status.admin_account": "گشودن واسط مدیریت برای @{name}",
|
||||||
"status.admin_domain": "گشودن واسط مدیریت برای {domain}",
|
"status.admin_domain": "گشودن واسط مدیریت برای {domain}",
|
||||||
"status.admin_status": "گشودن این فرسته در واسط مدیریت",
|
"status.admin_status": "گشودن این فرسته در واسط مدیریت",
|
||||||
"status.block": "مسدود کردن @{name}",
|
"status.block": "انسداد @{name}",
|
||||||
"status.bookmark": "نشانک",
|
"status.bookmark": "نشانک",
|
||||||
"status.cancel_reblog_private": "ناتقویت",
|
"status.cancel_reblog_private": "ناتقویت",
|
||||||
"status.cannot_reblog": "این فرسته قابل تقویت نیست",
|
"status.cannot_reblog": "این فرسته قابل تقویت نیست",
|
||||||
"status.copy": "رونوشت از پیوند فرسته",
|
"status.copy": "رونوشت از پیوند فرسته",
|
||||||
"status.delete": "حذف",
|
"status.delete": "حذف",
|
||||||
"status.detailed_status": "نمایش کامل گفتگو",
|
"status.detailed_status": "نمایش کامل گفتگو",
|
||||||
"status.direct": "خصوصی به @{name} اشاره کنید",
|
"status.direct": "اشارهٔ خصوصی به @{name}",
|
||||||
"status.direct_indicator": "اشاره خصوصی",
|
"status.direct_indicator": "اشارهٔ خصوصی",
|
||||||
"status.edit": "ویرایش",
|
"status.edit": "ویرایش",
|
||||||
"status.edited": "ویرایش شده در {date}",
|
"status.edited": "ویرایش شده در {date}",
|
||||||
"status.edited_x_times": "{count, plural, one {{count} مرتبه} other {{count} مرتبه}} ویرایش شد",
|
"status.edited_x_times": "{count, plural, one {{count} مرتبه} other {{count} مرتبه}} ویرایش شد",
|
||||||
|
@ -620,7 +640,7 @@
|
||||||
"status.media.open": "کلیک برای گشودن",
|
"status.media.open": "کلیک برای گشودن",
|
||||||
"status.media.show": "کلیک برای نمایش",
|
"status.media.show": "کلیک برای نمایش",
|
||||||
"status.media_hidden": "رسانهٔ نهفته",
|
"status.media_hidden": "رسانهٔ نهفته",
|
||||||
"status.mention": "نامبردن از @{name}",
|
"status.mention": "اشاره به @{name}",
|
||||||
"status.more": "بیشتر",
|
"status.more": "بیشتر",
|
||||||
"status.mute": "خموشاندن @{name}",
|
"status.mute": "خموشاندن @{name}",
|
||||||
"status.mute_conversation": "خموشاندن گفتوگو",
|
"status.mute_conversation": "خموشاندن گفتوگو",
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
"account.block_short": "Bloquer",
|
"account.block_short": "Bloquer",
|
||||||
"account.blocked": "Bloqué·e",
|
"account.blocked": "Bloqué·e",
|
||||||
"account.browse_more_on_origin_server": "Parcourir davantage sur le profil original",
|
"account.browse_more_on_origin_server": "Parcourir davantage sur le profil original",
|
||||||
"account.cancel_follow_request": "Retirer la demande d’abonnement",
|
"account.cancel_follow_request": "Annuler le suivi",
|
||||||
"account.direct": "Mention privée @{name}",
|
"account.direct": "Mention privée @{name}",
|
||||||
"account.disable_notifications": "Ne plus me notifier quand @{name} publie quelque chose",
|
"account.disable_notifications": "Ne plus me notifier quand @{name} publie quelque chose",
|
||||||
"account.domain_blocked": "Domaine bloqué",
|
"account.domain_blocked": "Domaine bloqué",
|
||||||
|
@ -50,7 +50,7 @@
|
||||||
"account.moved_to": "{name} a indiqué que son nouveau compte est maintenant :",
|
"account.moved_to": "{name} a indiqué que son nouveau compte est maintenant :",
|
||||||
"account.mute": "Masquer @{name}",
|
"account.mute": "Masquer @{name}",
|
||||||
"account.mute_notifications_short": "Désactiver les alertes",
|
"account.mute_notifications_short": "Désactiver les alertes",
|
||||||
"account.mute_short": "Masquer",
|
"account.mute_short": "Mettre en sourdine",
|
||||||
"account.muted": "Masqué·e",
|
"account.muted": "Masqué·e",
|
||||||
"account.no_bio": "Aucune description fournie.",
|
"account.no_bio": "Aucune description fournie.",
|
||||||
"account.open_original_page": "Ouvrir la page d'origine",
|
"account.open_original_page": "Ouvrir la page d'origine",
|
||||||
|
@ -108,7 +108,7 @@
|
||||||
"closed_registrations_modal.title": "Inscription sur Mastodon",
|
"closed_registrations_modal.title": "Inscription sur Mastodon",
|
||||||
"column.about": "À propos",
|
"column.about": "À propos",
|
||||||
"column.blocks": "Comptes bloqués",
|
"column.blocks": "Comptes bloqués",
|
||||||
"column.bookmarks": "Signets",
|
"column.bookmarks": "Marque-pages",
|
||||||
"column.community": "Fil public local",
|
"column.community": "Fil public local",
|
||||||
"column.direct": "Mentions privées",
|
"column.direct": "Mentions privées",
|
||||||
"column.directory": "Parcourir les profils",
|
"column.directory": "Parcourir les profils",
|
||||||
|
@ -149,9 +149,9 @@
|
||||||
"compose_form.poll.option_placeholder": "Choix {number}",
|
"compose_form.poll.option_placeholder": "Choix {number}",
|
||||||
"compose_form.poll.remove_option": "Supprimer ce choix",
|
"compose_form.poll.remove_option": "Supprimer ce choix",
|
||||||
"compose_form.poll.switch_to_multiple": "Changer le sondage pour autoriser plusieurs choix",
|
"compose_form.poll.switch_to_multiple": "Changer le sondage pour autoriser plusieurs choix",
|
||||||
"compose_form.poll.switch_to_single": "Changer le sondage pour autoriser qu'un seul choix",
|
"compose_form.poll.switch_to_single": "Modifier le sondage pour autoriser qu'un seul choix",
|
||||||
"compose_form.publish": "Publier",
|
"compose_form.publish": "Publier",
|
||||||
"compose_form.publish_form": "Publier",
|
"compose_form.publish_form": "Nouvelle publication",
|
||||||
"compose_form.publish_loud": "{publish} !",
|
"compose_form.publish_loud": "{publish} !",
|
||||||
"compose_form.save_changes": "Enregistrer les modifications",
|
"compose_form.save_changes": "Enregistrer les modifications",
|
||||||
"compose_form.sensitive.hide": "{count, plural, one {Marquer le média comme sensible} other {Marquer les médias comme sensibles}}",
|
"compose_form.sensitive.hide": "{count, plural, one {Marquer le média comme sensible} other {Marquer les médias comme sensibles}}",
|
||||||
|
|
|
@ -683,9 +683,9 @@
|
||||||
"time_remaining.moments": "Cha doir e ach greiseag",
|
"time_remaining.moments": "Cha doir e ach greiseag",
|
||||||
"time_remaining.seconds": "{number, plural, one {# diog} two {# dhiog} few {# diogan} other {# diog}} air fhàgail",
|
"time_remaining.seconds": "{number, plural, one {# diog} two {# dhiog} few {# diogan} other {# diog}} air fhàgail",
|
||||||
"timeline_hint.remote_resource_not_displayed": "Cha dèid {resource} o fhrithealaichean eile a shealltainn.",
|
"timeline_hint.remote_resource_not_displayed": "Cha dèid {resource} o fhrithealaichean eile a shealltainn.",
|
||||||
"timeline_hint.resources.followers": "Luchd-leantainn",
|
"timeline_hint.resources.followers": "luchd-leantainn",
|
||||||
"timeline_hint.resources.follows": "A’ leantainn",
|
"timeline_hint.resources.follows": "an fheadhainn gan leantainn",
|
||||||
"timeline_hint.resources.statuses": "Postaichean nas sine",
|
"timeline_hint.resources.statuses": "postaichean nas sine",
|
||||||
"trends.counter_by_accounts": "{count, plural, one {{counter} neach} two {{counter} neach} few {{counter} daoine} other {{counter} duine}} {days, plural, one {san {days} latha} two {san {days} latha} few {sna {days} làithean} other {sna {days} latha}} seo chaidh",
|
"trends.counter_by_accounts": "{count, plural, one {{counter} neach} two {{counter} neach} few {{counter} daoine} other {{counter} duine}} {days, plural, one {san {days} latha} two {san {days} latha} few {sna {days} làithean} other {sna {days} latha}} seo chaidh",
|
||||||
"trends.trending_now": "A’ treandadh an-dràsta",
|
"trends.trending_now": "A’ treandadh an-dràsta",
|
||||||
"ui.beforeunload": "Caillidh tu an dreachd agad ma dh’fhàgas tu Mastodon an-dràsta.",
|
"ui.beforeunload": "Caillidh tu an dreachd agad ma dh’fhàgas tu Mastodon an-dràsta.",
|
||||||
|
|
|
@ -135,7 +135,7 @@
|
||||||
"community.column_settings.remote_only": "Só remoto",
|
"community.column_settings.remote_only": "Só remoto",
|
||||||
"compose.language.change": "Elixe o idioma",
|
"compose.language.change": "Elixe o idioma",
|
||||||
"compose.language.search": "Buscar idiomas...",
|
"compose.language.search": "Buscar idiomas...",
|
||||||
"compose.published.body": "Publicación publicada.",
|
"compose.published.body": "Mensaxe publicada.",
|
||||||
"compose.published.open": "Abrir",
|
"compose.published.open": "Abrir",
|
||||||
"compose.saved.body": "Publicación gardada.",
|
"compose.saved.body": "Publicación gardada.",
|
||||||
"compose_form.direct_message_warning_learn_more": "Saber máis",
|
"compose_form.direct_message_warning_learn_more": "Saber máis",
|
||||||
|
|
|
@ -137,7 +137,7 @@
|
||||||
"compose.language.search": "언어 검색...",
|
"compose.language.search": "언어 검색...",
|
||||||
"compose.published.body": "게시하였습니다.",
|
"compose.published.body": "게시하였습니다.",
|
||||||
"compose.published.open": "열기",
|
"compose.published.open": "열기",
|
||||||
"compose.saved.body": "게시물을 저장했어요.",
|
"compose.saved.body": "게시물이 저장되었습니다.",
|
||||||
"compose_form.direct_message_warning_learn_more": "더 알아보기",
|
"compose_form.direct_message_warning_learn_more": "더 알아보기",
|
||||||
"compose_form.encryption_warning": "마스토돈의 게시물들은 종단간 암호화가 되지 않습니다. 민감한 정보를 마스토돈을 통해 전달하지 마세요.",
|
"compose_form.encryption_warning": "마스토돈의 게시물들은 종단간 암호화가 되지 않습니다. 민감한 정보를 마스토돈을 통해 전달하지 마세요.",
|
||||||
"compose_form.hashtag_warning": "이 게시물은 전체공개가 아니기 때문에 어떤 해시태그로도 검색 되지 않습니다. 전체공개로 게시 된 게시물만이 해시태그로 검색될 수 있습니다.",
|
"compose_form.hashtag_warning": "이 게시물은 전체공개가 아니기 때문에 어떤 해시태그로도 검색 되지 않습니다. 전체공개로 게시 된 게시물만이 해시태그로 검색될 수 있습니다.",
|
||||||
|
@ -307,12 +307,12 @@
|
||||||
"home.column_settings.basic": "기본",
|
"home.column_settings.basic": "기본",
|
||||||
"home.column_settings.show_reblogs": "부스트 표시",
|
"home.column_settings.show_reblogs": "부스트 표시",
|
||||||
"home.column_settings.show_replies": "답글 표시",
|
"home.column_settings.show_replies": "답글 표시",
|
||||||
"home.explore_prompt.body": "홈 피드에는 내가 팔로우한 해시태그 그리고 팔로우한 사람과 부스트가 함께 나타나요. 너무 고요하게 느껴진다면, 다음 것들을 살펴볼 수 있어요:",
|
"home.explore_prompt.body": "홈 피드에는 내가 팔로우한 해시태그 그리고 팔로우한 사람과 부스트가 함께 나타납니다. 너무 고요하게 느껴진다면, 다음 것들을 살펴볼 수 있습니다.",
|
||||||
"home.explore_prompt.title": "이곳은 마스토돈의 내 본거지입니다.",
|
"home.explore_prompt.title": "이곳은 마스토돈의 내 본거지입니다.",
|
||||||
"home.hide_announcements": "공지사항 숨기기",
|
"home.hide_announcements": "공지사항 숨기기",
|
||||||
"home.pending_critical_update.body": "서둘러 마스토돈 서버를 업데이트 하세요!",
|
"home.pending_critical_update.body": "서둘러 마스토돈 서버를 업데이트 하세요!",
|
||||||
"home.pending_critical_update.link": "업데이트 보기",
|
"home.pending_critical_update.link": "업데이트 보기",
|
||||||
"home.pending_critical_update.title": "긴급 보안 업데이트가 있어요!",
|
"home.pending_critical_update.title": "긴급 보안 업데이트가 있습니다!",
|
||||||
"home.show_announcements": "공지사항 보기",
|
"home.show_announcements": "공지사항 보기",
|
||||||
"interaction_modal.description.favourite": "마스토돈 계정을 통해, 게시물을 좋아하는 것으로 작성자에게 호의를 표하고 나중에 보기 위해 저장할 수 있습니다.",
|
"interaction_modal.description.favourite": "마스토돈 계정을 통해, 게시물을 좋아하는 것으로 작성자에게 호의를 표하고 나중에 보기 위해 저장할 수 있습니다.",
|
||||||
"interaction_modal.description.follow": "마스토돈 계정을 통해, {name} 님을 팔로우 하고 그의 게시물을 홈 피드에서 받아 볼 수 있습니다.",
|
"interaction_modal.description.follow": "마스토돈 계정을 통해, {name} 님을 팔로우 하고 그의 게시물을 홈 피드에서 받아 볼 수 있습니다.",
|
||||||
|
@ -487,7 +487,7 @@
|
||||||
"onboarding.start.title": "해내셨군요!",
|
"onboarding.start.title": "해내셨군요!",
|
||||||
"onboarding.steps.follow_people.body": "흥미로운 사람들을 팔로우하는 것은 마스토돈의 전부입니다.",
|
"onboarding.steps.follow_people.body": "흥미로운 사람들을 팔로우하는 것은 마스토돈의 전부입니다.",
|
||||||
"onboarding.steps.follow_people.title": "내게 맞는 홈 피드 꾸미기",
|
"onboarding.steps.follow_people.title": "내게 맞는 홈 피드 꾸미기",
|
||||||
"onboarding.steps.publish_status.body": "글, 사진, 영상, 투표 또는 {emoji}와 함께 세상에 인사해보세요.",
|
"onboarding.steps.publish_status.body": "글, 사진, 영상, 설문 또는 {emoji}와 함께 세상에 인사해보세요.",
|
||||||
"onboarding.steps.publish_status.title": "첫번째 게시물 쓰기",
|
"onboarding.steps.publish_status.title": "첫번째 게시물 쓰기",
|
||||||
"onboarding.steps.setup_profile.body": "의미있는 프로필을 작성해 상호작용을 늘려보세요.",
|
"onboarding.steps.setup_profile.body": "의미있는 프로필을 작성해 상호작용을 늘려보세요.",
|
||||||
"onboarding.steps.setup_profile.title": "프로필 꾸미기",
|
"onboarding.steps.setup_profile.title": "프로필 꾸미기",
|
||||||
|
|
|
@ -379,7 +379,7 @@
|
||||||
"lists.delete": "Lijst verwijderen",
|
"lists.delete": "Lijst verwijderen",
|
||||||
"lists.edit": "Lijst bewerken",
|
"lists.edit": "Lijst bewerken",
|
||||||
"lists.edit.submit": "Titel veranderen",
|
"lists.edit.submit": "Titel veranderen",
|
||||||
"lists.exclusive": "Verberg deze berichten op je startpagina",
|
"lists.exclusive": "Verberg deze berichten op je starttijdlijn",
|
||||||
"lists.new.create": "Lijst toevoegen",
|
"lists.new.create": "Lijst toevoegen",
|
||||||
"lists.new.title_placeholder": "Naam nieuwe lijst",
|
"lists.new.title_placeholder": "Naam nieuwe lijst",
|
||||||
"lists.replies_policy.followed": "Elke gevolgde gebruiker",
|
"lists.replies_policy.followed": "Elke gevolgde gebruiker",
|
||||||
|
|
|
@ -310,6 +310,9 @@
|
||||||
"home.explore_prompt.body": "Tidslinjen din inneholder en blanding av innlegg fra emneknagger du har valgt å følge, personene du har valgt å følge, og innleggene de fremhever. Hvis det føles for stille, kan det være lurt å:",
|
"home.explore_prompt.body": "Tidslinjen din inneholder en blanding av innlegg fra emneknagger du har valgt å følge, personene du har valgt å følge, og innleggene de fremhever. Hvis det føles for stille, kan det være lurt å:",
|
||||||
"home.explore_prompt.title": "Dette er hjemmet ditt i Mastodon.",
|
"home.explore_prompt.title": "Dette er hjemmet ditt i Mastodon.",
|
||||||
"home.hide_announcements": "Skjul kunngjøring",
|
"home.hide_announcements": "Skjul kunngjøring",
|
||||||
|
"home.pending_critical_update.body": "Vennligst oppdater Mastodon-serveren din så snart som mulig!",
|
||||||
|
"home.pending_critical_update.link": "Se oppdateringer",
|
||||||
|
"home.pending_critical_update.title": "Kritisk sikkerhetsoppdatering er tilgjengelig!",
|
||||||
"home.show_announcements": "Vis kunngjøring",
|
"home.show_announcements": "Vis kunngjøring",
|
||||||
"interaction_modal.description.favourite": "Med en konto på Mastodon, kan du favorittmarkere dette innlegget for å la forfatteren vite at du satte pris på det, og lagre innlegget til senere.",
|
"interaction_modal.description.favourite": "Med en konto på Mastodon, kan du favorittmarkere dette innlegget for å la forfatteren vite at du satte pris på det, og lagre innlegget til senere.",
|
||||||
"interaction_modal.description.follow": "Med en konto på Mastodon, kan du følge {name} for å få innleggene deres i tidslinjen din.",
|
"interaction_modal.description.follow": "Med en konto på Mastodon, kan du følge {name} for å få innleggene deres i tidslinjen din.",
|
||||||
|
@ -411,6 +414,7 @@
|
||||||
"navigation_bar.lists": "Lister",
|
"navigation_bar.lists": "Lister",
|
||||||
"navigation_bar.logout": "Logg ut",
|
"navigation_bar.logout": "Logg ut",
|
||||||
"navigation_bar.mutes": "Dempede brukere",
|
"navigation_bar.mutes": "Dempede brukere",
|
||||||
|
"navigation_bar.opened_in_classic_interface": "Innlegg, kontoer og andre spesifikke sider åpnes som standard i det klassiske webgrensesnittet.",
|
||||||
"navigation_bar.personal": "Personlig",
|
"navigation_bar.personal": "Personlig",
|
||||||
"navigation_bar.pins": "Festede innlegg",
|
"navigation_bar.pins": "Festede innlegg",
|
||||||
"navigation_bar.preferences": "Innstillinger",
|
"navigation_bar.preferences": "Innstillinger",
|
||||||
|
@ -586,6 +590,7 @@
|
||||||
"search.quick_action.open_url": "Åpne URL i Mastodon",
|
"search.quick_action.open_url": "Åpne URL i Mastodon",
|
||||||
"search.quick_action.status_search": "Innlegg som samsvarer med {x}",
|
"search.quick_action.status_search": "Innlegg som samsvarer med {x}",
|
||||||
"search.search_or_paste": "Søk eller lim inn URL",
|
"search.search_or_paste": "Søk eller lim inn URL",
|
||||||
|
"search_popout.full_text_search_disabled_message": "Ikke tilgjengelig på {domain}.",
|
||||||
"search_popout.language_code": "ISO språkkode",
|
"search_popout.language_code": "ISO språkkode",
|
||||||
"search_popout.options": "Alternativer for søk",
|
"search_popout.options": "Alternativer for søk",
|
||||||
"search_popout.quick_actions": "Hurtighandlinger",
|
"search_popout.quick_actions": "Hurtighandlinger",
|
||||||
|
@ -596,6 +601,7 @@
|
||||||
"search_results.all": "Alle",
|
"search_results.all": "Alle",
|
||||||
"search_results.hashtags": "Emneknagger",
|
"search_results.hashtags": "Emneknagger",
|
||||||
"search_results.nothing_found": "Fant ikke noe for disse søkeordene",
|
"search_results.nothing_found": "Fant ikke noe for disse søkeordene",
|
||||||
|
"search_results.see_all": "Se alle",
|
||||||
"search_results.statuses": "Innlegg",
|
"search_results.statuses": "Innlegg",
|
||||||
"search_results.title": "Søk etter {q}",
|
"search_results.title": "Søk etter {q}",
|
||||||
"server_banner.about_active_users": "Personer som har brukt denne serveren i løpet av de siste 30 dagene (aktive brukere månedlig)",
|
"server_banner.about_active_users": "Personer som har brukt denne serveren i løpet av de siste 30 dagene (aktive brukere månedlig)",
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
"account.locked_info": "Stav súkromia pre tento účet je nastavený na zamknutý. Jeho vlastník sám prehodnocuje, kto ho môže sledovať.",
|
"account.locked_info": "Stav súkromia pre tento účet je nastavený na zamknutý. Jeho vlastník sám prehodnocuje, kto ho môže sledovať.",
|
||||||
"account.media": "Médiá",
|
"account.media": "Médiá",
|
||||||
"account.mention": "Spomeň @{name}",
|
"account.mention": "Spomeň @{name}",
|
||||||
"account.moved_to": "{name} uvádza, že jeho/jej nový účet je:",
|
"account.moved_to": "{name} uvádza, že jeho/jej nový účet je teraz:",
|
||||||
"account.mute": "Nevšímaj si @{name}",
|
"account.mute": "Nevšímaj si @{name}",
|
||||||
"account.mute_notifications_short": "Stíš oboznámenia",
|
"account.mute_notifications_short": "Stíš oboznámenia",
|
||||||
"account.mute_short": "Nevšímaj si",
|
"account.mute_short": "Nevšímaj si",
|
||||||
|
@ -303,6 +303,7 @@
|
||||||
"home.column_settings.basic": "Základné",
|
"home.column_settings.basic": "Základné",
|
||||||
"home.column_settings.show_reblogs": "Ukáž vyzdvihnuté",
|
"home.column_settings.show_reblogs": "Ukáž vyzdvihnuté",
|
||||||
"home.column_settings.show_replies": "Ukáž odpovede",
|
"home.column_settings.show_replies": "Ukáž odpovede",
|
||||||
|
"home.explore_prompt.title": "Toto je tvoja domovina v rámci Mastodonu.",
|
||||||
"home.hide_announcements": "Skry oboznámenia",
|
"home.hide_announcements": "Skry oboznámenia",
|
||||||
"home.pending_critical_update.body": "Prosím aktualizuj si svoj Mastodon server, ako náhle to bude možné!",
|
"home.pending_critical_update.body": "Prosím aktualizuj si svoj Mastodon server, ako náhle to bude možné!",
|
||||||
"home.pending_critical_update.link": "Pozri aktualizácie",
|
"home.pending_critical_update.link": "Pozri aktualizácie",
|
||||||
|
|
|
@ -302,8 +302,8 @@
|
||||||
"hashtag.follow": "Zaprati heš oznaku",
|
"hashtag.follow": "Zaprati heš oznaku",
|
||||||
"hashtag.unfollow": "Otprati heš oznaku",
|
"hashtag.unfollow": "Otprati heš oznaku",
|
||||||
"hashtags.and_other": "…i {count, plural, one {još #} few {još #}other {još #}}",
|
"hashtags.and_other": "…i {count, plural, one {još #} few {još #}other {još #}}",
|
||||||
"home.actions.go_to_explore": "Pogledaj šta je u trendu",
|
"home.actions.go_to_explore": "Pogledate šta je u trendu",
|
||||||
"home.actions.go_to_suggestions": "Pronađite ljude za praćenje",
|
"home.actions.go_to_suggestions": "Pronađete ljude koje biste pratili",
|
||||||
"home.column_settings.basic": "Osnovna",
|
"home.column_settings.basic": "Osnovna",
|
||||||
"home.column_settings.show_reblogs": "Prikaži podržavanja",
|
"home.column_settings.show_reblogs": "Prikaži podržavanja",
|
||||||
"home.column_settings.show_replies": "Prikaži odgovore",
|
"home.column_settings.show_replies": "Prikaži odgovore",
|
||||||
|
@ -590,6 +590,7 @@
|
||||||
"search.quick_action.open_url": "Otvori URL adresu u Mastodon-u",
|
"search.quick_action.open_url": "Otvori URL adresu u Mastodon-u",
|
||||||
"search.quick_action.status_search": "Podudaranje objava {x}",
|
"search.quick_action.status_search": "Podudaranje objava {x}",
|
||||||
"search.search_or_paste": "Pretražite ili unesite adresu",
|
"search.search_or_paste": "Pretražite ili unesite adresu",
|
||||||
|
"search_popout.full_text_search_disabled_message": "Nije dostupno na {domain}.",
|
||||||
"search_popout.language_code": "ISO kod jezika",
|
"search_popout.language_code": "ISO kod jezika",
|
||||||
"search_popout.options": "Opcije pretrage",
|
"search_popout.options": "Opcije pretrage",
|
||||||
"search_popout.quick_actions": "Brze radnje",
|
"search_popout.quick_actions": "Brze radnje",
|
||||||
|
|
|
@ -302,8 +302,8 @@
|
||||||
"hashtag.follow": "Запрати хеш ознаку",
|
"hashtag.follow": "Запрати хеш ознаку",
|
||||||
"hashtag.unfollow": "Отпрати хеш ознаку",
|
"hashtag.unfollow": "Отпрати хеш ознаку",
|
||||||
"hashtags.and_other": "…и {count, plural, one {још #} few {још #}other {још #}}",
|
"hashtags.and_other": "…и {count, plural, one {још #} few {још #}other {још #}}",
|
||||||
"home.actions.go_to_explore": "Погледај шта је у тренду",
|
"home.actions.go_to_explore": "Погледате шта је у тренду",
|
||||||
"home.actions.go_to_suggestions": "Пронађите људе за праћење",
|
"home.actions.go_to_suggestions": "Пронађeте људе које бисте пратили",
|
||||||
"home.column_settings.basic": "Основна",
|
"home.column_settings.basic": "Основна",
|
||||||
"home.column_settings.show_reblogs": "Прикажи подржавања",
|
"home.column_settings.show_reblogs": "Прикажи подржавања",
|
||||||
"home.column_settings.show_replies": "Прикажи одговоре",
|
"home.column_settings.show_replies": "Прикажи одговоре",
|
||||||
|
@ -590,6 +590,7 @@
|
||||||
"search.quick_action.open_url": "Отвори URL адресу у Mastodon-у",
|
"search.quick_action.open_url": "Отвори URL адресу у Mastodon-у",
|
||||||
"search.quick_action.status_search": "Подударање објава {x}",
|
"search.quick_action.status_search": "Подударање објава {x}",
|
||||||
"search.search_or_paste": "Претражите или унесите адресу",
|
"search.search_or_paste": "Претражите или унесите адресу",
|
||||||
|
"search_popout.full_text_search_disabled_message": "Није доступно на {domain}.",
|
||||||
"search_popout.language_code": "ISO код језика",
|
"search_popout.language_code": "ISO код језика",
|
||||||
"search_popout.options": "Опције претраге",
|
"search_popout.options": "Опције претраге",
|
||||||
"search_popout.quick_actions": "Брзе радње",
|
"search_popout.quick_actions": "Брзе радње",
|
||||||
|
|
|
@ -341,8 +341,8 @@
|
||||||
"keyboard_shortcuts.direct": "mở mục nhắn riêng",
|
"keyboard_shortcuts.direct": "mở mục nhắn riêng",
|
||||||
"keyboard_shortcuts.down": "di chuyển xuống dưới danh sách",
|
"keyboard_shortcuts.down": "di chuyển xuống dưới danh sách",
|
||||||
"keyboard_shortcuts.enter": "viết tút mới",
|
"keyboard_shortcuts.enter": "viết tút mới",
|
||||||
"keyboard_shortcuts.favourite": "Thích tút",
|
"keyboard_shortcuts.favourite": "thích tút",
|
||||||
"keyboard_shortcuts.favourites": "Mở lượt thích",
|
"keyboard_shortcuts.favourites": "mở lượt thích",
|
||||||
"keyboard_shortcuts.federated": "mở mạng liên hợp",
|
"keyboard_shortcuts.federated": "mở mạng liên hợp",
|
||||||
"keyboard_shortcuts.heading": "Danh sách phím tắt",
|
"keyboard_shortcuts.heading": "Danh sách phím tắt",
|
||||||
"keyboard_shortcuts.home": "mở trang chính",
|
"keyboard_shortcuts.home": "mở trang chính",
|
||||||
|
@ -557,7 +557,7 @@
|
||||||
"report.reasons.dislike": "Tôi không thích nó",
|
"report.reasons.dislike": "Tôi không thích nó",
|
||||||
"report.reasons.dislike_description": "Đó không phải là thứ gì mà bạn muốn thấy",
|
"report.reasons.dislike_description": "Đó không phải là thứ gì mà bạn muốn thấy",
|
||||||
"report.reasons.legal": "Vi phạm pháp luật",
|
"report.reasons.legal": "Vi phạm pháp luật",
|
||||||
"report.reasons.legal_description": "Bạn tin rằng nó vi phạm pháp luật ở nơi đặt máy chủ hoặc nước bạn",
|
"report.reasons.legal_description": "Vi phạm pháp luật ở nơi đặt máy chủ hoặc nước bạn",
|
||||||
"report.reasons.other": "Một lý do khác",
|
"report.reasons.other": "Một lý do khác",
|
||||||
"report.reasons.other_description": "Vấn đề không nằm trong những mục trên",
|
"report.reasons.other_description": "Vấn đề không nằm trong những mục trên",
|
||||||
"report.reasons.spam": "Đây là spam",
|
"report.reasons.spam": "Đây là spam",
|
||||||
|
@ -592,7 +592,7 @@
|
||||||
"search.search_or_paste": "Tìm kiếm hoặc nhập URL",
|
"search.search_or_paste": "Tìm kiếm hoặc nhập URL",
|
||||||
"search_popout.full_text_search_disabled_message": "Không khả dụng trên {domain}.",
|
"search_popout.full_text_search_disabled_message": "Không khả dụng trên {domain}.",
|
||||||
"search_popout.language_code": "Mã ngôn ngữ ISO",
|
"search_popout.language_code": "Mã ngôn ngữ ISO",
|
||||||
"search_popout.options": "Tuỳ chọn tìm kiếm",
|
"search_popout.options": "Tùy chọn tìm kiếm",
|
||||||
"search_popout.quick_actions": "Thao tác nhanh",
|
"search_popout.quick_actions": "Thao tác nhanh",
|
||||||
"search_popout.recent": "Tìm kiếm gần đây",
|
"search_popout.recent": "Tìm kiếm gần đây",
|
||||||
"search_popout.specific_date": "ngày cụ thể",
|
"search_popout.specific_date": "ngày cụ thể",
|
||||||
|
|
|
@ -137,7 +137,7 @@
|
||||||
"compose.language.search": "搜索语言...",
|
"compose.language.search": "搜索语言...",
|
||||||
"compose.published.body": "嘟文已发布。",
|
"compose.published.body": "嘟文已发布。",
|
||||||
"compose.published.open": "打开",
|
"compose.published.open": "打开",
|
||||||
"compose.saved.body": "帖子已保存。",
|
"compose.saved.body": "嘟文已保存。",
|
||||||
"compose_form.direct_message_warning_learn_more": "详细了解",
|
"compose_form.direct_message_warning_learn_more": "详细了解",
|
||||||
"compose_form.encryption_warning": "Mastodon 上的嘟文未经端到端加密。请勿在 Mastodon 上分享敏感信息。",
|
"compose_form.encryption_warning": "Mastodon 上的嘟文未经端到端加密。请勿在 Mastodon 上分享敏感信息。",
|
||||||
"compose_form.hashtag_warning": "这条嘟文被设置为“不公开”,因此它不会出现在任何话题标签的列表下。只有公开的嘟文才能通过话题标签进行搜索。",
|
"compose_form.hashtag_warning": "这条嘟文被设置为“不公开”,因此它不会出现在任何话题标签的列表下。只有公开的嘟文才能通过话题标签进行搜索。",
|
||||||
|
@ -199,7 +199,7 @@
|
||||||
"directory.recently_active": "最近活跃",
|
"directory.recently_active": "最近活跃",
|
||||||
"disabled_account_banner.account_settings": "账号设置",
|
"disabled_account_banner.account_settings": "账号设置",
|
||||||
"disabled_account_banner.text": "您的账号 {disabledAccount} 目前已被禁用。",
|
"disabled_account_banner.text": "您的账号 {disabledAccount} 目前已被禁用。",
|
||||||
"dismissable_banner.community_timeline": "这些是来自 {domain} 用户的最新公共嘟文。",
|
"dismissable_banner.community_timeline": "这些是来自 {domain} 用户的最新公开嘟文。",
|
||||||
"dismissable_banner.dismiss": "忽略",
|
"dismissable_banner.dismiss": "忽略",
|
||||||
"dismissable_banner.explore_links": "这些新闻故事正被本站和分布式网络上其他站点的用户谈论。",
|
"dismissable_banner.explore_links": "这些新闻故事正被本站和分布式网络上其他站点的用户谈论。",
|
||||||
"dismissable_banner.explore_statuses": "这些是目前在社交网络上引起关注的嘟文。嘟文的喜欢和转嘟次数越多,排名越高。",
|
"dismissable_banner.explore_statuses": "这些是目前在社交网络上引起关注的嘟文。嘟文的喜欢和转嘟次数越多,排名越高。",
|
||||||
|
@ -414,7 +414,7 @@
|
||||||
"navigation_bar.lists": "列表",
|
"navigation_bar.lists": "列表",
|
||||||
"navigation_bar.logout": "退出登录",
|
"navigation_bar.logout": "退出登录",
|
||||||
"navigation_bar.mutes": "已隐藏的用户",
|
"navigation_bar.mutes": "已隐藏的用户",
|
||||||
"navigation_bar.opened_in_classic_interface": "帖子、账户和其他特定页面默认在经典网页界面中打开。",
|
"navigation_bar.opened_in_classic_interface": "嘟文、账户和其他特定页面默认在经典网页界面中打开。",
|
||||||
"navigation_bar.personal": "个人",
|
"navigation_bar.personal": "个人",
|
||||||
"navigation_bar.pins": "置顶嘟文",
|
"navigation_bar.pins": "置顶嘟文",
|
||||||
"navigation_bar.preferences": "首选项",
|
"navigation_bar.preferences": "首选项",
|
||||||
|
@ -473,7 +473,7 @@
|
||||||
"onboarding.action.back": "带我返回",
|
"onboarding.action.back": "带我返回",
|
||||||
"onboarding.actions.back": "带我返回",
|
"onboarding.actions.back": "带我返回",
|
||||||
"onboarding.actions.go_to_explore": "看看有什么新鲜事",
|
"onboarding.actions.go_to_explore": "看看有什么新鲜事",
|
||||||
"onboarding.actions.go_to_home": "转到主页订阅流",
|
"onboarding.actions.go_to_home": "转到主页动态",
|
||||||
"onboarding.compose.template": "你好 #Mastodon!",
|
"onboarding.compose.template": "你好 #Mastodon!",
|
||||||
"onboarding.follows.empty": "很抱歉,现在无法显示任何结果。您可以尝试使用搜索或浏览探索页面来查找要关注的人,或稍后再试。",
|
"onboarding.follows.empty": "很抱歉,现在无法显示任何结果。您可以尝试使用搜索或浏览探索页面来查找要关注的人,或稍后再试。",
|
||||||
"onboarding.follows.lead": "你管理你自己的家庭饲料。你关注的人越多,它将越活跃和有趣。 这些配置文件可能是一个很好的起点——你可以随时取消关注它们!",
|
"onboarding.follows.lead": "你管理你自己的家庭饲料。你关注的人越多,它将越活跃和有趣。 这些配置文件可能是一个很好的起点——你可以随时取消关注它们!",
|
||||||
|
@ -575,7 +575,7 @@
|
||||||
"report.thanks.title": "不想看到这个内容?",
|
"report.thanks.title": "不想看到这个内容?",
|
||||||
"report.thanks.title_actionable": "感谢提交举报,我们将会进行处理。",
|
"report.thanks.title_actionable": "感谢提交举报,我们将会进行处理。",
|
||||||
"report.unfollow": "取消关注 @{name}",
|
"report.unfollow": "取消关注 @{name}",
|
||||||
"report.unfollow_explanation": "你正在关注此账户。如果要想在你的主页上不再看到他们的帖子,取消对他们的关注即可。",
|
"report.unfollow_explanation": "你正在关注此账户。如果不想继续在主页看到他们的嘟文,取消对他们的关注即可。",
|
||||||
"report_notification.attached_statuses": "附上 {count} 条嘟文",
|
"report_notification.attached_statuses": "附上 {count} 条嘟文",
|
||||||
"report_notification.categories.legal": "法律义务",
|
"report_notification.categories.legal": "法律义务",
|
||||||
"report_notification.categories.other": "其他",
|
"report_notification.categories.other": "其他",
|
||||||
|
@ -588,7 +588,7 @@
|
||||||
"search.quick_action.go_to_account": "前往 {x} 个人资料",
|
"search.quick_action.go_to_account": "前往 {x} 个人资料",
|
||||||
"search.quick_action.go_to_hashtag": "前往标签 {x}",
|
"search.quick_action.go_to_hashtag": "前往标签 {x}",
|
||||||
"search.quick_action.open_url": "在 Mastodon 中打开网址",
|
"search.quick_action.open_url": "在 Mastodon 中打开网址",
|
||||||
"search.quick_action.status_search": "匹配 {x} 的帖子",
|
"search.quick_action.status_search": "匹配 {x} 的嘟文",
|
||||||
"search.search_or_paste": "搜索或输入网址",
|
"search.search_or_paste": "搜索或输入网址",
|
||||||
"search_popout.full_text_search_disabled_message": "在 {domain} 不可用",
|
"search_popout.full_text_search_disabled_message": "在 {domain} 不可用",
|
||||||
"search_popout.language_code": "ISO语言代码",
|
"search_popout.language_code": "ISO语言代码",
|
||||||
|
|
|
@ -600,6 +600,7 @@
|
||||||
"search_results.all": "全部",
|
"search_results.all": "全部",
|
||||||
"search_results.hashtags": "標籤",
|
"search_results.hashtags": "標籤",
|
||||||
"search_results.nothing_found": "找不到與搜尋字詞相關的內容",
|
"search_results.nothing_found": "找不到與搜尋字詞相關的內容",
|
||||||
|
"search_results.see_all": "顯示全部",
|
||||||
"search_results.statuses": "文章",
|
"search_results.statuses": "文章",
|
||||||
"search_results.title": "搜尋 {q}",
|
"search_results.title": "搜尋 {q}",
|
||||||
"server_banner.about_active_users": "在最近 30 天內內使用此伺服器的人 (月活躍用戶)",
|
"server_banner.about_active_users": "在最近 30 天內內使用此伺服器的人 (月活躍用戶)",
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
import Immutable from 'immutable';
|
|
||||||
|
|
||||||
import {
|
|
||||||
DROPDOWN_MENU_OPEN,
|
|
||||||
DROPDOWN_MENU_CLOSE,
|
|
||||||
} from '../actions/dropdown_menu';
|
|
||||||
|
|
||||||
const initialState = Immutable.Map({ openId: null, keyboard: false, scroll_key: null });
|
|
||||||
|
|
||||||
export default function dropdownMenu(state = initialState, action) {
|
|
||||||
switch (action.type) {
|
|
||||||
case DROPDOWN_MENU_OPEN:
|
|
||||||
return state.merge({ openId: action.id, keyboard: action.keyboard, scroll_key: action.scroll_key });
|
|
||||||
case DROPDOWN_MENU_CLOSE:
|
|
||||||
return state.get('openId') === action.id ? state.set('openId', null).set('scroll_key', null) : state;
|
|
||||||
default:
|
|
||||||
return state;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
import { createReducer } from '@reduxjs/toolkit';
|
||||||
|
|
||||||
|
import { closeDropdownMenu, openDropdownMenu } from '../actions/dropdown_menu';
|
||||||
|
|
||||||
|
interface DropdownMenuState {
|
||||||
|
openId: string | null;
|
||||||
|
keyboard: boolean;
|
||||||
|
scrollKey: string | null;
|
||||||
|
}
|
||||||
|
|
||||||
|
const initialState: DropdownMenuState = {
|
||||||
|
openId: null,
|
||||||
|
keyboard: false,
|
||||||
|
scrollKey: null,
|
||||||
|
};
|
||||||
|
|
||||||
|
export const dropdownMenuReducer = createReducer(initialState, (builder) => {
|
||||||
|
builder
|
||||||
|
.addCase(
|
||||||
|
openDropdownMenu,
|
||||||
|
(state, { payload: { id, keyboard, scrollKey } }) => {
|
||||||
|
state.openId = id;
|
||||||
|
state.keyboard = keyboard;
|
||||||
|
state.scrollKey = scrollKey;
|
||||||
|
},
|
||||||
|
)
|
||||||
|
.addCase(closeDropdownMenu, (state, { payload: { id } }) => {
|
||||||
|
if (state.openId === id) {
|
||||||
|
state.openId = null;
|
||||||
|
state.scrollKey = null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
|
@ -15,7 +15,7 @@ import contexts from './contexts';
|
||||||
import conversations from './conversations';
|
import conversations from './conversations';
|
||||||
import custom_emojis from './custom_emojis';
|
import custom_emojis from './custom_emojis';
|
||||||
import domain_lists from './domain_lists';
|
import domain_lists from './domain_lists';
|
||||||
import dropdown_menu from './dropdown_menu';
|
import { dropdownMenuReducer } from './dropdown_menu';
|
||||||
import filters from './filters';
|
import filters from './filters';
|
||||||
import followed_tags from './followed_tags';
|
import followed_tags from './followed_tags';
|
||||||
import height_cache from './height_cache';
|
import height_cache from './height_cache';
|
||||||
|
@ -46,7 +46,7 @@ import user_lists from './user_lists';
|
||||||
|
|
||||||
const reducers = {
|
const reducers = {
|
||||||
announcements,
|
announcements,
|
||||||
dropdown_menu,
|
dropdownMenu: dropdownMenuReducer,
|
||||||
timelines,
|
timelines,
|
||||||
meta,
|
meta,
|
||||||
alerts,
|
alerts,
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
import { Record as ImmutableRecord, Stack } from 'immutable';
|
import { Record as ImmutableRecord, Stack } from 'immutable';
|
||||||
|
|
||||||
import type { PayloadAction } from '@reduxjs/toolkit';
|
import type { Reducer } from '@reduxjs/toolkit';
|
||||||
|
|
||||||
import { COMPOSE_UPLOAD_CHANGE_SUCCESS } from '../actions/compose';
|
import { COMPOSE_UPLOAD_CHANGE_SUCCESS } from '../actions/compose';
|
||||||
import type { ModalType } from '../actions/modal';
|
import type { ModalType } from '../actions/modal';
|
||||||
import { openModal, closeModal } from '../actions/modal';
|
import { openModal, closeModal } from '../actions/modal';
|
||||||
import { TIMELINE_DELETE } from '../actions/timelines';
|
import { TIMELINE_DELETE } from '../actions/timelines';
|
||||||
|
|
||||||
type ModalProps = Record<string, unknown>;
|
export type ModalProps = Record<string, unknown>;
|
||||||
interface Modal {
|
interface Modal {
|
||||||
modalType: ModalType;
|
modalType: ModalType;
|
||||||
modalProps: ModalProps;
|
modalProps: ModalProps;
|
||||||
|
@ -62,33 +62,22 @@ const pushModal = (
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
export function modalReducer(
|
export const modalReducer: Reducer<State> = (state = initialState, action) => {
|
||||||
state: State = initialState,
|
if (openModal.match(action))
|
||||||
action: PayloadAction<{
|
|
||||||
modalType: ModalType;
|
|
||||||
ignoreFocus: boolean;
|
|
||||||
modalProps: Record<string, unknown>;
|
|
||||||
}>,
|
|
||||||
) {
|
|
||||||
switch (action.type) {
|
|
||||||
case openModal.type:
|
|
||||||
return pushModal(
|
return pushModal(
|
||||||
state,
|
state,
|
||||||
action.payload.modalType,
|
action.payload.modalType,
|
||||||
action.payload.modalProps,
|
action.payload.modalProps,
|
||||||
);
|
);
|
||||||
case closeModal.type:
|
else if (closeModal.match(action)) return popModal(state, action.payload);
|
||||||
return popModal(state, action.payload);
|
// TODO: type those actions
|
||||||
case COMPOSE_UPLOAD_CHANGE_SUCCESS:
|
else if (action.type === COMPOSE_UPLOAD_CHANGE_SUCCESS)
|
||||||
return popModal(state, { modalType: 'FOCAL_POINT', ignoreFocus: false });
|
return popModal(state, { modalType: 'FOCAL_POINT', ignoreFocus: false });
|
||||||
case TIMELINE_DELETE:
|
else if (action.type === TIMELINE_DELETE)
|
||||||
return state.update('stack', (stack) =>
|
return state.update('stack', (stack) =>
|
||||||
stack.filterNot(
|
stack.filterNot(
|
||||||
// @ts-expect-error TIMELINE_DELETE action is not typed yet.
|
|
||||||
(modal) => modal.get('modalProps').statusId === action.id,
|
(modal) => modal.get('modalProps').statusId === action.id,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
default:
|
else return state;
|
||||||
return state;
|
};
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -284,6 +284,7 @@
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
padding: 0 3px;
|
padding: 0 3px;
|
||||||
line-height: 27px;
|
line-height: 27px;
|
||||||
|
white-space: nowrap;
|
||||||
|
|
||||||
&:hover,
|
&:hover,
|
||||||
&:active,
|
&:active,
|
||||||
|
|
|
@ -41,13 +41,13 @@ class Admin::SystemCheck::ElasticsearchCheck < Admin::SystemCheck::BaseCheck
|
||||||
elsif cluster_health['status'] == 'red'
|
elsif cluster_health['status'] == 'red'
|
||||||
Admin::SystemCheck::Message.new(:elasticsearch_health_red)
|
Admin::SystemCheck::Message.new(:elasticsearch_health_red)
|
||||||
elsif cluster_health['number_of_nodes'] < 2 && es_preset != 'single_node_cluster'
|
elsif cluster_health['number_of_nodes'] < 2 && es_preset != 'single_node_cluster'
|
||||||
Admin::SystemCheck::Message.new(:elasticsearch_preset_single_node, nil, 'https://docs.joinmastodon.org/admin/optional/elasticsearch/#scaling')
|
Admin::SystemCheck::Message.new(:elasticsearch_preset_single_node, nil, 'https://docs.joinmastodon.org/admin/elasticsearch/#scaling')
|
||||||
elsif Chewy.client.indices.get_settings[Chewy::Stash::Specification.index_name]&.dig('settings', 'index', 'number_of_replicas')&.to_i&.positive? && es_preset == 'single_node_cluster'
|
elsif Chewy.client.indices.get_settings[Chewy::Stash::Specification.index_name]&.dig('settings', 'index', 'number_of_replicas')&.to_i&.positive? && es_preset == 'single_node_cluster'
|
||||||
Admin::SystemCheck::Message.new(:elasticsearch_reset_chewy)
|
Admin::SystemCheck::Message.new(:elasticsearch_reset_chewy)
|
||||||
elsif cluster_health['status'] == 'yellow'
|
elsif cluster_health['status'] == 'yellow'
|
||||||
Admin::SystemCheck::Message.new(:elasticsearch_health_yellow)
|
Admin::SystemCheck::Message.new(:elasticsearch_health_yellow)
|
||||||
else
|
else
|
||||||
Admin::SystemCheck::Message.new(:elasticsearch_preset, nil, 'https://docs.joinmastodon.org/admin/optional/elasticsearch/#scaling')
|
Admin::SystemCheck::Message.new(:elasticsearch_preset, nil, 'https://docs.joinmastodon.org/admin/elasticsearch/#scaling')
|
||||||
end
|
end
|
||||||
rescue Faraday::ConnectionFailed, Elasticsearch::Transport::Transport::Error
|
rescue Faraday::ConnectionFailed, Elasticsearch::Transport::Transport::Error
|
||||||
Admin::SystemCheck::Message.new(:elasticsearch_running_check)
|
Admin::SystemCheck::Message.new(:elasticsearch_running_check)
|
||||||
|
|
|
@ -14,6 +14,8 @@ class PermalinkRedirector
|
||||||
find_account_url_by_name(first_segment)
|
find_account_url_by_name(first_segment)
|
||||||
elsif accounts_request? && record_integer_id_request?
|
elsif accounts_request? && record_integer_id_request?
|
||||||
find_account_url_by_id(second_segment)
|
find_account_url_by_id(second_segment)
|
||||||
|
elsif @path.start_with?('/deck')
|
||||||
|
@path.delete_prefix('/deck')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -52,7 +54,7 @@ class PermalinkRedirector
|
||||||
end
|
end
|
||||||
|
|
||||||
def path_segments
|
def path_segments
|
||||||
@path_segments ||= @path.delete_prefix('/').split('/')
|
@path_segments ||= @path.delete_prefix('/deck').delete_prefix('/').split('/')
|
||||||
end
|
end
|
||||||
|
|
||||||
def find_status_url_by_id(id)
|
def find_status_url_by_id(id)
|
||||||
|
|
|
@ -5,7 +5,7 @@ class ApplicationRecord < ActiveRecord::Base
|
||||||
|
|
||||||
include Remotable
|
include Remotable
|
||||||
|
|
||||||
connects_to database: { writing: :primary, reading: ENV['REPLICA_DB_NAME'] || ENV['REPLICA_DATABASE_URL'] ? :replica : :primary }
|
connects_to database: { writing: :primary, reading: :replica } if DatabaseHelper.replica_enabled?
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
def update_index(_type_name, *_args, &_block)
|
def update_index(_type_name, *_args, &_block)
|
||||||
|
|
|
@ -18,7 +18,7 @@ module AccountAvatar
|
||||||
|
|
||||||
included do
|
included do
|
||||||
# Avatar upload
|
# Avatar upload
|
||||||
has_attached_file :avatar, styles: ->(f) { avatar_styles(f) }, convert_options: { all: '+profile "!icc,*" +set modify-date +set create-date' }, processors: [:lazy_thumbnail]
|
has_attached_file :avatar, styles: ->(f) { avatar_styles(f) }, convert_options: { all: '+profile "!icc,*" +set date:modify +set date:create +set date:timestamp' }, processors: [:lazy_thumbnail]
|
||||||
validates_attachment_content_type :avatar, content_type: IMAGE_MIME_TYPES
|
validates_attachment_content_type :avatar, content_type: IMAGE_MIME_TYPES
|
||||||
validates_attachment_size :avatar, less_than: LIMIT
|
validates_attachment_size :avatar, less_than: LIMIT
|
||||||
remotable_attachment :avatar, LIMIT, suppress_errors: false
|
remotable_attachment :avatar, LIMIT, suppress_errors: false
|
||||||
|
|
|
@ -19,7 +19,7 @@ module AccountHeader
|
||||||
|
|
||||||
included do
|
included do
|
||||||
# Header upload
|
# Header upload
|
||||||
has_attached_file :header, styles: ->(f) { header_styles(f) }, convert_options: { all: '+profile "!icc,*" +set modify-date +set create-date' }, processors: [:lazy_thumbnail]
|
has_attached_file :header, styles: ->(f) { header_styles(f) }, convert_options: { all: '+profile "!icc,*" +set date:modify +set date:create +set date:timestamp' }, processors: [:lazy_thumbnail]
|
||||||
validates_attachment_content_type :header, content_type: IMAGE_MIME_TYPES
|
validates_attachment_content_type :header, content_type: IMAGE_MIME_TYPES
|
||||||
validates_attachment_size :header, less_than: LIMIT
|
validates_attachment_size :header, less_than: LIMIT
|
||||||
remotable_attachment :header, LIMIT, suppress_errors: false
|
remotable_attachment :header, LIMIT, suppress_errors: false
|
||||||
|
|
|
@ -40,7 +40,7 @@ class CustomEmoji < ApplicationRecord
|
||||||
|
|
||||||
has_one :local_counterpart, -> { where(domain: nil) }, class_name: 'CustomEmoji', primary_key: :shortcode, foreign_key: :shortcode, inverse_of: false
|
has_one :local_counterpart, -> { where(domain: nil) }, class_name: 'CustomEmoji', primary_key: :shortcode, foreign_key: :shortcode, inverse_of: false
|
||||||
|
|
||||||
has_attached_file :image, styles: { static: { format: 'png', convert_options: '-coalesce +profile "!icc,*" +set modify-date +set create-date' } }, validate_media_type: false
|
has_attached_file :image, styles: { static: { format: 'png', convert_options: '-coalesce +profile "!icc,*" +set date:modify +set date:create +set date:timestamp' } }, validate_media_type: false
|
||||||
|
|
||||||
before_validation :downcase_domain
|
before_validation :downcase_domain
|
||||||
|
|
||||||
|
|
|
@ -171,7 +171,7 @@ class MediaAttachment < ApplicationRecord
|
||||||
DEFAULT_STYLES = [:original].freeze
|
DEFAULT_STYLES = [:original].freeze
|
||||||
|
|
||||||
GLOBAL_CONVERT_OPTIONS = {
|
GLOBAL_CONVERT_OPTIONS = {
|
||||||
all: '-quality 90 +profile "!icc,*" +set modify-date -define jpeg:dct-method=float +set create-date',
|
all: '-quality 90 +profile "!icc,*" +set date:modify +set date:create +set date:timestamp -define jpeg:dct-method=float',
|
||||||
}.freeze
|
}.freeze
|
||||||
|
|
||||||
belongs_to :account, inverse_of: :media_attachments, optional: true
|
belongs_to :account, inverse_of: :media_attachments, optional: true
|
||||||
|
|
|
@ -53,7 +53,7 @@ class PreviewCard < ApplicationRecord
|
||||||
has_and_belongs_to_many :statuses
|
has_and_belongs_to_many :statuses
|
||||||
has_one :trend, class_name: 'PreviewCardTrend', inverse_of: :preview_card, dependent: :destroy
|
has_one :trend, class_name: 'PreviewCardTrend', inverse_of: :preview_card, dependent: :destroy
|
||||||
|
|
||||||
has_attached_file :image, processors: [:thumbnail, :blurhash_transcoder], styles: ->(f) { image_styles(f) }, convert_options: { all: '-quality 90 +profile "!icc,*" +set modify-date +set create-date' }, validate_media_type: false
|
has_attached_file :image, processors: [:thumbnail, :blurhash_transcoder], styles: ->(f) { image_styles(f) }, convert_options: { all: '-quality 90 +profile "!icc,*" +set date:modify +set date:create +set date:timestamp' }, validate_media_type: false
|
||||||
|
|
||||||
validates :url, presence: true, uniqueness: true
|
validates :url, presence: true, uniqueness: true
|
||||||
validates_attachment_content_type :image, content_type: IMAGE_MIME_TYPES
|
validates_attachment_content_type :image, content_type: IMAGE_MIME_TYPES
|
||||||
|
|
|
@ -27,7 +27,7 @@ class PreviewCardProvider < ApplicationRecord
|
||||||
|
|
||||||
validates :domain, presence: true, uniqueness: true, domain: true
|
validates :domain, presence: true, uniqueness: true, domain: true
|
||||||
|
|
||||||
has_attached_file :icon, styles: { static: { format: 'png', convert_options: '-coalesce +profile "!icc,*" +set modify-date +set create-date' } }, validate_media_type: false
|
has_attached_file :icon, styles: { static: { format: 'png', convert_options: '-coalesce +profile "!icc,*" +set date:modify +set date:create +set date:timestamp' } }, validate_media_type: false
|
||||||
validates_attachment :icon, content_type: { content_type: ICON_MIME_TYPES }, size: { less_than: LIMIT }
|
validates_attachment :icon, content_type: { content_type: ICON_MIME_TYPES }, size: { less_than: LIMIT }
|
||||||
remotable_attachment :icon, LIMIT
|
remotable_attachment :icon, LIMIT
|
||||||
|
|
||||||
|
|
|
@ -62,13 +62,13 @@ class RelationshipFilter
|
||||||
def relationship_scope(value)
|
def relationship_scope(value)
|
||||||
case value
|
case value
|
||||||
when 'following'
|
when 'following'
|
||||||
account.following.eager_load(:account_stat).reorder(nil)
|
account.following.includes(:account_stat).reorder(nil)
|
||||||
when 'followed_by'
|
when 'followed_by'
|
||||||
account.followers.eager_load(:account_stat).reorder(nil)
|
account.followers.includes(:account_stat).reorder(nil)
|
||||||
when 'mutual'
|
when 'mutual'
|
||||||
account.followers.eager_load(:account_stat).reorder(nil).merge(Account.where(id: account.following))
|
account.followers.includes(:account_stat).reorder(nil).merge(Account.where(id: account.following))
|
||||||
when 'invited'
|
when 'invited'
|
||||||
Account.joins(user: :invite).merge(Invite.where(user: account.user)).eager_load(:account_stat).reorder(nil)
|
Account.joins(user: :invite).merge(Invite.where(user: account.user)).includes(:account_stat).reorder(nil)
|
||||||
else
|
else
|
||||||
raise Mastodon::InvalidParameterError, "Unknown relationship: #{value}"
|
raise Mastodon::InvalidParameterError, "Unknown relationship: #{value}"
|
||||||
end
|
end
|
||||||
|
|
|
@ -41,7 +41,7 @@ class SiteUpload < ApplicationRecord
|
||||||
mascot: {}.freeze,
|
mascot: {}.freeze,
|
||||||
}.freeze
|
}.freeze
|
||||||
|
|
||||||
has_attached_file :file, styles: ->(file) { STYLES[file.instance.var.to_sym] }, convert_options: { all: '-coalesce +profile "!icc,*" +set modify-date +set create-date' }, processors: [:lazy_thumbnail, :blurhash_transcoder, :type_corrector]
|
has_attached_file :file, styles: ->(file) { STYLES[file.instance.var.to_sym] }, convert_options: { all: '-coalesce +profile "!icc,*" +set date:modify +set date:create +set date:timestamp' }, processors: [:lazy_thumbnail, :blurhash_transcoder, :type_corrector]
|
||||||
|
|
||||||
validates_attachment_content_type :file, content_type: %r{\Aimage/.*\z}
|
validates_attachment_content_type :file, content_type: %r{\Aimage/.*\z}
|
||||||
validates :file, presence: true
|
validates :file, presence: true
|
||||||
|
|
|
@ -4,6 +4,8 @@ class REST::AccountSerializer < ActiveModel::Serializer
|
||||||
include RoutingHelper
|
include RoutingHelper
|
||||||
include FormattingHelper
|
include FormattingHelper
|
||||||
|
|
||||||
|
# Please update `app/javascript/mastodon/api_types/accounts.ts` when making changes to the attributes
|
||||||
|
|
||||||
attributes :id, :username, :acct, :display_name, :locked, :bot, :discoverable, :group, :created_at,
|
attributes :id, :username, :acct, :display_name, :locked, :bot, :discoverable, :group, :created_at,
|
||||||
:note, :url, :uri, :avatar, :avatar_static, :header, :header_static,
|
:note, :url, :uri, :avatar, :avatar_static, :header, :header_static,
|
||||||
:followers_count, :following_count, :statuses_count, :last_status_at
|
:followers_count, :following_count, :statuses_count, :last_status_at
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
class REST::CustomEmojiSerializer < ActiveModel::Serializer
|
class REST::CustomEmojiSerializer < ActiveModel::Serializer
|
||||||
include RoutingHelper
|
include RoutingHelper
|
||||||
|
|
||||||
|
# Please update `app/javascript/mastodon/api_types/custom_emoji.ts` when making changes to the attributes
|
||||||
|
|
||||||
attributes :shortcode, :url, :static_url, :visible_in_picker
|
attributes :shortcode, :url, :static_url, :visible_in_picker
|
||||||
|
|
||||||
attribute :category, if: :category_loaded?
|
attribute :category, if: :category_loaded?
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class REST::RelationshipSerializer < ActiveModel::Serializer
|
class REST::RelationshipSerializer < ActiveModel::Serializer
|
||||||
|
# Please update `app/javascript/mastodon/api_types/relationships.ts` when making changes to the attributes
|
||||||
|
|
||||||
attributes :id, :following, :showing_reblogs, :notifying, :languages, :followed_by,
|
attributes :id, :following, :showing_reblogs, :notifying, :languages, :followed_by,
|
||||||
:blocking, :blocked_by, :muting, :muting_notifications,
|
:blocking, :blocked_by, :muting, :muting_notifications,
|
||||||
:requested, :requested_by, :domain_blocking, :endorsed, :note
|
:requested, :requested_by, :domain_blocking, :endorsed, :note
|
||||||
|
|
|
@ -14,7 +14,7 @@ ca:
|
||||||
following: Seguint
|
following: Seguint
|
||||||
instance_actor_flash: Aquest compte és un actor virtual usat per a representar el mateix servidor i no cap usuari individual. Es fa servir per a federar i no s'hauria d'esborrar.
|
instance_actor_flash: Aquest compte és un actor virtual usat per a representar el mateix servidor i no cap usuari individual. Es fa servir per a federar i no s'hauria d'esborrar.
|
||||||
last_active: última activitat
|
last_active: última activitat
|
||||||
link_verified_on: La propietat d'aquest enllaç s'ha verificat el %{date}
|
link_verified_on: La propietat d'aquest enllaç va quedar verificada el %{date}
|
||||||
nothing_here: No hi ha res aquí!
|
nothing_here: No hi ha res aquí!
|
||||||
pin_errors:
|
pin_errors:
|
||||||
following: Has d'estar seguint la persona que vulguis avalar
|
following: Has d'estar seguint la persona que vulguis avalar
|
||||||
|
@ -1464,7 +1464,7 @@ ca:
|
||||||
action: Respon
|
action: Respon
|
||||||
body: "%{name} t'ha mencionat en:"
|
body: "%{name} t'ha mencionat en:"
|
||||||
subject: "%{name} t'ha mencionat"
|
subject: "%{name} t'ha mencionat"
|
||||||
title: Menció nova
|
title: Nova menció
|
||||||
poll:
|
poll:
|
||||||
subject: Ha finalitzat l'enquesta de %{name}
|
subject: Ha finalitzat l'enquesta de %{name}
|
||||||
reblog:
|
reblog:
|
||||||
|
|
|
@ -315,6 +315,7 @@ cs:
|
||||||
unpublish: Skrýt
|
unpublish: Skrýt
|
||||||
unpublished_msg: Zveřejněné oznámení bylo úspěšně skryto!
|
unpublished_msg: Zveřejněné oznámení bylo úspěšně skryto!
|
||||||
updated_msg: Oznámení bylo úspěšně aktualizováno!
|
updated_msg: Oznámení bylo úspěšně aktualizováno!
|
||||||
|
critical_update_pending: Čeká se na kritickou aktualizaci
|
||||||
custom_emojis:
|
custom_emojis:
|
||||||
assign_category: Přiřadit kategorii
|
assign_category: Přiřadit kategorii
|
||||||
by_domain: Doména
|
by_domain: Doména
|
||||||
|
@ -396,6 +397,15 @@ cs:
|
||||||
undo: Zakázat federaci s doménou
|
undo: Zakázat federaci s doménou
|
||||||
domain_blocks:
|
domain_blocks:
|
||||||
add_new: Přidat novou blokaci domény
|
add_new: Přidat novou blokaci domény
|
||||||
|
confirm_suspension:
|
||||||
|
cancel: Zrušit
|
||||||
|
confirm: Pozastavit
|
||||||
|
permanent_action: Zrušení pozastavení neobnoví žádná data ani vztah.
|
||||||
|
preamble_html: Chystáte se pozastavit <strong>%{domain}</strong> a jeho poddomény.
|
||||||
|
remove_all_data: Tímto odstraníte z vašeho serveru všechen obsah, média a profilové údaje účtů této domény.
|
||||||
|
stop_communication: Váš server přestane komunikovat s těmito servery.
|
||||||
|
title: Potvrďte blokování domény %{domain}
|
||||||
|
undo_relationships: Toto vrátí jakýkoliv vztah sledování mezi účty na těchto serverech a vaším.
|
||||||
created_msg: Blokace domény se právě vyřizuje
|
created_msg: Blokace domény se právě vyřizuje
|
||||||
destroyed_msg: Blokace domény byla odvolána
|
destroyed_msg: Blokace domény byla odvolána
|
||||||
domain: Doména
|
domain: Doména
|
||||||
|
@ -759,6 +769,9 @@ cs:
|
||||||
branding:
|
branding:
|
||||||
preamble: Značka vašeho serveru jej odlišuje od ostatních serverů v síti. Tyto informace se mohou zobrazovat v různých prostředích, například ve webovém rozhraní Mastodonu, v nativních aplikacích, v náhledech odkazů na jiných webových stránkách a v aplikacích pro zasílání zpráv atd. Z tohoto důvodu je nejlepší, aby tyto informace byly jasné, krátké a stručné.
|
preamble: Značka vašeho serveru jej odlišuje od ostatních serverů v síti. Tyto informace se mohou zobrazovat v různých prostředích, například ve webovém rozhraní Mastodonu, v nativních aplikacích, v náhledech odkazů na jiných webových stránkách a v aplikacích pro zasílání zpráv atd. Z tohoto důvodu je nejlepší, aby tyto informace byly jasné, krátké a stručné.
|
||||||
title: Značka
|
title: Značka
|
||||||
|
captcha_enabled:
|
||||||
|
desc_html: Toto spoléhá na externí skripty z hCaptcha, což může být budit obavy o bezpečnost a soukromí. Navíc <strong>to může způsobit, že proces registrace bude pro některé osoby (zejména se zdravotním postižením) hůře přístupný</strong>. Z těchto důvodů zvažte alternativní přístup, jako je schvalování registrace nebo pozvánky.
|
||||||
|
title: Vyžadovat po nových uživatelích, aby vyřešili CAPTCHU pro potvrzení jejich účtu
|
||||||
content_retention:
|
content_retention:
|
||||||
preamble: Určuje, jak je obsah generovaný uživatelem uložen v Mastodonu.
|
preamble: Určuje, jak je obsah generovaný uživatelem uložen v Mastodonu.
|
||||||
title: Uchovávání obsahu
|
title: Uchovávání obsahu
|
||||||
|
@ -786,9 +799,24 @@ cs:
|
||||||
approved: Pro registraci je vyžadováno schválení
|
approved: Pro registraci je vyžadováno schválení
|
||||||
none: Nikdo se nemůže registrovat
|
none: Nikdo se nemůže registrovat
|
||||||
open: Kdokoliv se může registrovat
|
open: Kdokoliv se může registrovat
|
||||||
|
security:
|
||||||
|
authorized_fetch: Vyžadovat autentizaci od federovaných serverů
|
||||||
|
authorized_fetch_overridden_hint: Momentálně nemůžete změnit toto nastavení, protože je přepsáno proměnnou prostředí.
|
||||||
|
title: Nastavení serveru
|
||||||
site_uploads:
|
site_uploads:
|
||||||
delete: Odstranit nahraný soubor
|
delete: Odstranit nahraný soubor
|
||||||
destroyed_msg: Upload stránky byl úspěšně smazán!
|
destroyed_msg: Upload stránky byl úspěšně smazán!
|
||||||
|
software_updates:
|
||||||
|
critical_update: Kritické — aktualizujte, prosím, co nejdříve
|
||||||
|
documentation_link: Zjistit více
|
||||||
|
release_notes: Poznámky k vydání
|
||||||
|
title: Dostupné aktualizace
|
||||||
|
type: Typ
|
||||||
|
types:
|
||||||
|
major: Hlavní vydání
|
||||||
|
minor: Menší vydání
|
||||||
|
patch: Záplatové vydání — opravy chyb a rychle aplikovatelné změny
|
||||||
|
version: Verze
|
||||||
statuses:
|
statuses:
|
||||||
account: Autor
|
account: Autor
|
||||||
application: Aplikace
|
application: Aplikace
|
||||||
|
@ -829,6 +857,20 @@ cs:
|
||||||
system_checks:
|
system_checks:
|
||||||
database_schema_check:
|
database_schema_check:
|
||||||
message_html: Na spuštění čekají databázové migrace. Nechte je prosím proběhnout pro zajištění očekávaného chování aplikace
|
message_html: Na spuštění čekají databázové migrace. Nechte je prosím proběhnout pro zajištění očekávaného chování aplikace
|
||||||
|
elasticsearch_health_red:
|
||||||
|
message_html: Elasticsearch cluster je nezdravý (červený stav), vyhledávací funkce jsou nedostupné
|
||||||
|
elasticsearch_health_yellow:
|
||||||
|
message_html: Elasticsearch cluster je nezdravý (žlutý stav), možná budete chtít prozkoumat důvod
|
||||||
|
elasticsearch_index_mismatch:
|
||||||
|
message_html: Mapování indexu Elasticsearch jsou zastaralá. Prosím spusťte <code>tootctl search deploy --only=%{value}</code>
|
||||||
|
elasticsearch_preset:
|
||||||
|
action: Prohlédnout dokumentaci
|
||||||
|
message_html: Váš Elasticsearch cluster má více než jeden node, ale Mastodon není nakonfigurován pro jejich používání.
|
||||||
|
elasticsearch_preset_single_node:
|
||||||
|
action: Zobrazit dokumentaci
|
||||||
|
message_html: Váš Elasticsearch cluster má pouze jeden uzel, <code>ES_PRESET</code> by měl být nastaven na <code>single_node_cluster</code>.
|
||||||
|
elasticsearch_reset_chewy:
|
||||||
|
message_html: Váš system index v Elasticsearch je kvůli změně nastavení zastaralý. Pro aktualizaci prosím spusťte <code>tootctl search deploy --reset-chewy</code>.
|
||||||
elasticsearch_running_check:
|
elasticsearch_running_check:
|
||||||
message_html: Nelze se připojit k Elasticsearch. Prosím zkontrolujte, že běží, nebo vypněte fulltextové vyhledávání
|
message_html: Nelze se připojit k Elasticsearch. Prosím zkontrolujte, že běží, nebo vypněte fulltextové vyhledávání
|
||||||
elasticsearch_version_check:
|
elasticsearch_version_check:
|
||||||
|
@ -839,6 +881,12 @@ cs:
|
||||||
message_html: Nedefinovali jste žádná pravidla serveru.
|
message_html: Nedefinovali jste žádná pravidla serveru.
|
||||||
sidekiq_process_check:
|
sidekiq_process_check:
|
||||||
message_html: Pro %{value} frontu/fronty neběží žádný Sidekiq proces. Zkontrolujte prosím svou Sidekiq konfiguraci
|
message_html: Pro %{value} frontu/fronty neběží žádný Sidekiq proces. Zkontrolujte prosím svou Sidekiq konfiguraci
|
||||||
|
software_version_critical_check:
|
||||||
|
action: Zobrazit dostupné aktualizace
|
||||||
|
message_html: K dispozici je kritická aktualizace Mastodonu, prosím aktualizujte co nejrychleji.
|
||||||
|
software_version_patch_check:
|
||||||
|
action: Zobrazit dostupné aktualizace
|
||||||
|
message_html: Je dostupná opravná aktualizace Mastodonu.
|
||||||
upload_check_privacy_error:
|
upload_check_privacy_error:
|
||||||
action: Pro více informací se podívejte zde
|
action: Pro více informací se podívejte zde
|
||||||
message_html: "<strong>Váš webový server je špatně nakonfigurován. Soukromí vašich uživatelů je ohroženo.</strong>"
|
message_html: "<strong>Váš webový server je špatně nakonfigurován. Soukromí vašich uživatelů je ohroženo.</strong>"
|
||||||
|
@ -960,6 +1008,9 @@ cs:
|
||||||
body: 'Uživatel %{target} se odvolává proti rozhodnutí moderátora %{action_taken_by} z %{date}, kterým bylo %{type}. Napsal:'
|
body: 'Uživatel %{target} se odvolává proti rozhodnutí moderátora %{action_taken_by} z %{date}, kterým bylo %{type}. Napsal:'
|
||||||
next_steps: Můžete schválit odvolání pro vrácení rozhodnutí moderátora, nebo to ignorovat.
|
next_steps: Můžete schválit odvolání pro vrácení rozhodnutí moderátora, nebo to ignorovat.
|
||||||
subject: Uživatel %{username} se odvolává proti rozhodnutí moderátora na %{instance}
|
subject: Uživatel %{username} se odvolává proti rozhodnutí moderátora na %{instance}
|
||||||
|
new_critical_software_updates:
|
||||||
|
body: Byly vydány nové kritické verze Mastodonu, možná budete chtít aktualizovat co nejdříve!
|
||||||
|
subject: Pro %{instance} jsou dostupné kritické aktualizace Mastodonu!
|
||||||
new_pending_account:
|
new_pending_account:
|
||||||
body: Detaily nového účtu jsou uvedeny níže. Tuto žádost můžete schválit nebo zamítnout.
|
body: Detaily nového účtu jsou uvedeny níže. Tuto žádost můžete schválit nebo zamítnout.
|
||||||
subject: Nový účet na serveru %{instance} čekající na posouzení (%{username})
|
subject: Nový účet na serveru %{instance} čekající na posouzení (%{username})
|
||||||
|
@ -967,6 +1018,9 @@ cs:
|
||||||
body: Uživatel %{reporter} nahlásil uživatele %{target}
|
body: Uživatel %{reporter} nahlásil uživatele %{target}
|
||||||
body_remote: Někdo z domény %{domain} nahlásil uživatele %{target}
|
body_remote: Někdo z domény %{domain} nahlásil uživatele %{target}
|
||||||
subject: Nové hlášení pro %{instance} (#%{id})
|
subject: Nové hlášení pro %{instance} (#%{id})
|
||||||
|
new_software_updates:
|
||||||
|
body: Byly vydány nové verze Mastodonu, možná budete chtít aktualizovat!
|
||||||
|
subject: Pro %{instance} jsou dostupné nové verze Mastodonu!
|
||||||
new_trends:
|
new_trends:
|
||||||
body: 'Následující položky vyžadují posouzení, než mohou být zobrazeny veřejně:'
|
body: 'Následující položky vyžadují posouzení, než mohou být zobrazeny veřejně:'
|
||||||
new_trending_links:
|
new_trending_links:
|
||||||
|
@ -1000,6 +1054,7 @@ cs:
|
||||||
notification_preferences: Změnit předvolby e-mailů
|
notification_preferences: Změnit předvolby e-mailů
|
||||||
salutation: "%{name},"
|
salutation: "%{name},"
|
||||||
settings: 'Změnit předvolby e-mailů: %{link}'
|
settings: 'Změnit předvolby e-mailů: %{link}'
|
||||||
|
unsubscribe: Přestat odebírat
|
||||||
view: 'Zobrazit:'
|
view: 'Zobrazit:'
|
||||||
view_profile: Zobrazit profil
|
view_profile: Zobrazit profil
|
||||||
view_status: Zobrazit příspěvek
|
view_status: Zobrazit příspěvek
|
||||||
|
@ -1013,6 +1068,10 @@ cs:
|
||||||
your_token: Váš přístupový token
|
your_token: Váš přístupový token
|
||||||
auth:
|
auth:
|
||||||
apply_for_account: Požádat o účet
|
apply_for_account: Požádat o účet
|
||||||
|
captcha_confirmation:
|
||||||
|
help_html: Pokud máte problémy s řešením CAPTCHA, můžete se s námi spojit prostřednictvím %{email} a můžeme vám pomoci.
|
||||||
|
hint_html: Ještě jedna věc! Musíme potvrdit, že jste člověk (to proto, abychom drželi stranou spam!). Vyřešte CAPTCHA níže a klikněte na "Pokračovat".
|
||||||
|
title: Bezpečnostní kontrola
|
||||||
confirmations:
|
confirmations:
|
||||||
wrong_email_hint: Pokud není e-mail správný, můžete si ho změnit v nastavení účtu.
|
wrong_email_hint: Pokud není e-mail správný, můžete si ho změnit v nastavení účtu.
|
||||||
delete_account: Odstranit účet
|
delete_account: Odstranit účet
|
||||||
|
@ -1049,8 +1108,11 @@ cs:
|
||||||
rules:
|
rules:
|
||||||
accept: Přijmout
|
accept: Přijmout
|
||||||
back: Zpět
|
back: Zpět
|
||||||
|
invited_by: 'Můžete se připojit k %{domain} díky pozvánce, kterou jste obdrželi od:'
|
||||||
preamble: Tohle nastavují a prosazují moderátoři %{domain}.
|
preamble: Tohle nastavují a prosazují moderátoři %{domain}.
|
||||||
|
preamble_invited: Než budete pokračovat, vezměte prosím v úvahu základní pravidla stanovená moderátory %{domain}.
|
||||||
title: Některá základní pravidla.
|
title: Některá základní pravidla.
|
||||||
|
title_invited: Byl/a jsi pozván/a.
|
||||||
security: Zabezpečení
|
security: Zabezpečení
|
||||||
set_new_password: Nastavit nové heslo
|
set_new_password: Nastavit nové heslo
|
||||||
setup:
|
setup:
|
||||||
|
@ -1151,6 +1213,10 @@ cs:
|
||||||
your_appeal_rejected: Vaše odvolání bylo zamítnuto
|
your_appeal_rejected: Vaše odvolání bylo zamítnuto
|
||||||
domain_validator:
|
domain_validator:
|
||||||
invalid_domain: není platné doménové jméno
|
invalid_domain: není platné doménové jméno
|
||||||
|
edit_profile:
|
||||||
|
basic_information: Základní informace
|
||||||
|
hint_html: "<strong>Nastavte si, co lidé uvidí na vašem veřejném profilu a vedle vašich příspěvků.</strong> Ostatní lidé vás budou spíše sledovat a komunikovat s vámi, když budete mít vyplněný profil a profilový obrázek."
|
||||||
|
other: Další
|
||||||
errors:
|
errors:
|
||||||
'400': Žádost, kterou jste odeslali, byla neplatná nebo poškozená.
|
'400': Žádost, kterou jste odeslali, byla neplatná nebo poškozená.
|
||||||
'403': Nejste oprávněni tuto stránku zobrazit.
|
'403': Nejste oprávněni tuto stránku zobrazit.
|
||||||
|
@ -1306,6 +1372,7 @@ cs:
|
||||||
bookmarks: Záložky
|
bookmarks: Záložky
|
||||||
domain_blocking: Seznam blokovaných domén
|
domain_blocking: Seznam blokovaných domén
|
||||||
following: Seznam sledovaných
|
following: Seznam sledovaných
|
||||||
|
lists: Seznamy
|
||||||
muting: Seznam ignorovaných
|
muting: Seznam ignorovaných
|
||||||
upload: Nahrát
|
upload: Nahrát
|
||||||
invites:
|
invites:
|
||||||
|
@ -1461,12 +1528,22 @@ cs:
|
||||||
expired: Anketa již skončila
|
expired: Anketa již skončila
|
||||||
invalid_choice: Zvolená možnost hlasování neexistuje
|
invalid_choice: Zvolená možnost hlasování neexistuje
|
||||||
over_character_limit: nesmí být žádná delší než %{max} znaků
|
over_character_limit: nesmí být žádná delší než %{max} znaků
|
||||||
|
self_vote: Nemůžete hlasovat ve svých vlastních anketách
|
||||||
too_few_options: musí mít více než jednu položku
|
too_few_options: musí mít více než jednu položku
|
||||||
too_many_options: nesmí obsahovat více než %{max} položek
|
too_many_options: nesmí obsahovat více než %{max} položek
|
||||||
preferences:
|
preferences:
|
||||||
other: Ostatní
|
other: Ostatní
|
||||||
posting_defaults: Výchozí možnosti psaní
|
posting_defaults: Výchozí možnosti psaní
|
||||||
public_timelines: Veřejné časové osy
|
public_timelines: Veřejné časové osy
|
||||||
|
privacy:
|
||||||
|
hint_html: "<strong>Nastavte si, jak chcete, aby šlo váš profil a vaše příspěvky nalézt.</strong> Řada funkcí v Mastodonu vám může po zapnutí pomoci získat širší publikum. Věnujte chvíli kontrole těchto nastavení, aby vyhovovala vašim potřebám."
|
||||||
|
privacy: Soukromí
|
||||||
|
privacy_hint_html: Nastavte si, kolik toho chcete zveřejnit ve prospěch ostatních. Lidé objevují zajímavé profily a skvělé aplikace procházením sledovaných ostatních lidí i tím, že vidí, z jakých aplikací ostatní posílají příspěvky, vy se však můžete rozhodnout tyto údaje skrýt.
|
||||||
|
reach: Dosah
|
||||||
|
reach_hint_html: Nastavte si, zda chcete být objeveni a sledováni novými lidmi. Chcete, aby se vaše příspěvky objevovaly na obrazovce Objevit? Chcete, aby vás další lidé viděli ve svých doporučeních ke sledování? Chcete přijímat všechny nové sledující automaticky nebo mít podrobnou kontrolu nad každým z nich?
|
||||||
|
search: Vyhledávání
|
||||||
|
search_hint_html: Mějte pod kontrolou, jak chcete být nalezeni. Chcete, aby vás lidé našli podle toho, o čem jste veřejně psali? Chcete, aby lidé mimo Mastodon mohli nalézt váš profil při prohledávání webu? Mějte na vědomí, že úplné vyřazení ze všech vyhledávačů nelze u veřejných informací garantovat.
|
||||||
|
title: Soukromí a dosah
|
||||||
privacy_policy:
|
privacy_policy:
|
||||||
title: Zásady ochrany osobních údajů
|
title: Zásady ochrany osobních údajů
|
||||||
reactions:
|
reactions:
|
||||||
|
@ -1773,7 +1850,10 @@ cs:
|
||||||
seamless_external_login: Jste přihlášeni přes externí službu, nastavení hesla a e-mailu proto nejsou dostupná.
|
seamless_external_login: Jste přihlášeni přes externí službu, nastavení hesla a e-mailu proto nejsou dostupná.
|
||||||
signed_in_as: 'Přihlášeni jako:'
|
signed_in_as: 'Přihlášeni jako:'
|
||||||
verification:
|
verification:
|
||||||
|
here_is_how: Jak na to
|
||||||
|
instructions_html: Zkopírujte a vložte níže uvedený kód do HTML vašeho webu. Poté přidejte adresu vašeho webu do jednoho z extra políček na vašem profilu na záložce "Upravit profil" a uložte změny.
|
||||||
verification: Ověření
|
verification: Ověření
|
||||||
|
verified_links: Vaše ověřené odkazy
|
||||||
webauthn_credentials:
|
webauthn_credentials:
|
||||||
add: Přidat nový bezpečnostní klíč
|
add: Přidat nový bezpečnostní klíč
|
||||||
create:
|
create:
|
||||||
|
|
|
@ -1866,6 +1866,7 @@ cy:
|
||||||
default: "%b %d, %Y, %H:%M"
|
default: "%b %d, %Y, %H:%M"
|
||||||
month: "%b %Y"
|
month: "%b %Y"
|
||||||
time: "%H:%M"
|
time: "%H:%M"
|
||||||
|
with_time_zone: "%b %d, %Y, %H:%M %Z"
|
||||||
translation:
|
translation:
|
||||||
errors:
|
errors:
|
||||||
quota_exceeded: Aethpwyd y tu hwnt i gwota defnydd y gweinydd cyfan ar gyfer y gwasanaeth cyfieithu.
|
quota_exceeded: Aethpwyd y tu hwnt i gwota defnydd y gweinydd cyfan ar gyfer y gwasanaeth cyfieithu.
|
||||||
|
|
|
@ -1829,7 +1829,7 @@ de:
|
||||||
signed_in_as: 'Angemeldet als:'
|
signed_in_as: 'Angemeldet als:'
|
||||||
verification:
|
verification:
|
||||||
extra_instructions_html: <strong>Hinweis:</strong> Der Link auf deiner Website kann unsichtbar sein. Der wichtige Teil ist <code>rel="me"</code>, wodurch das Nachahmen von Personen auf Websites mit nutzergenerierten Inhalten verhindert wird. Du kannst auch ein <code>link</code>-Tag statt <code>a</code> im Header auf der Seite verwenden, jedoch muss der HTML-Code ohne das Ausführen von JavaScript zugänglich sein.
|
extra_instructions_html: <strong>Hinweis:</strong> Der Link auf deiner Website kann unsichtbar sein. Der wichtige Teil ist <code>rel="me"</code>, wodurch das Nachahmen von Personen auf Websites mit nutzergenerierten Inhalten verhindert wird. Du kannst auch ein <code>link</code>-Tag statt <code>a</code> im Header auf der Seite verwenden, jedoch muss der HTML-Code ohne das Ausführen von JavaScript zugänglich sein.
|
||||||
here_is_how: So funktioniert's
|
here_is_how: So funktioniert’s
|
||||||
hint_html: "<strong>Alle können ihre Identität auf Mastodon verifizieren.</strong> Basierend auf offenen Standards – jetzt und für immer kostenlos. Alles, was du brauchst, ist eine eigene Website. Wenn du von deinem Profil auf diese Website verlinkst, überprüfen wir, ob die Website zu deinem Profil zurückverlinkt, und zeigen einen visuellen Hinweis an."
|
hint_html: "<strong>Alle können ihre Identität auf Mastodon verifizieren.</strong> Basierend auf offenen Standards – jetzt und für immer kostenlos. Alles, was du brauchst, ist eine eigene Website. Wenn du von deinem Profil auf diese Website verlinkst, überprüfen wir, ob die Website zu deinem Profil zurückverlinkt, und zeigen einen visuellen Hinweis an."
|
||||||
instructions_html: Kopiere den unten stehenden Code und füge ihn in das HTML deiner Website ein. Trage anschließend die Adresse deiner Website in ein Zusatzfeld auf deinem Profil ein und speichere die Änderungen. Die Zusatzfelder befinden sich im Reiter „Profil bearbeiten“.
|
instructions_html: Kopiere den unten stehenden Code und füge ihn in das HTML deiner Website ein. Trage anschließend die Adresse deiner Website in ein Zusatzfeld auf deinem Profil ein und speichere die Änderungen. Die Zusatzfelder befinden sich im Reiter „Profil bearbeiten“.
|
||||||
verification: Verifizierung
|
verification: Verifizierung
|
||||||
|
|
|
@ -18,13 +18,13 @@ sr-Latn:
|
||||||
unconfirmed: Pre nastavka morate potvrditi svoj nalog.
|
unconfirmed: Pre nastavka morate potvrditi svoj nalog.
|
||||||
mailer:
|
mailer:
|
||||||
confirmation_instructions:
|
confirmation_instructions:
|
||||||
action: Potvrdite adresu e-pošte
|
action: Verifikujte adresu e-pošte
|
||||||
action_with_app: Potvrdi i vrati se na %{app}
|
action_with_app: Potvrdi i vrati se na %{app}
|
||||||
explanation: Napravili ste nalog na %{host} sa adresom ove e-pošte. Na jedan klik ste udaljeni od aktiviranja. Ako ovo niste vi, molimo ignorišite ovu e-poštu.
|
explanation: Napravili ste nalog na %{host} sa adresom ove e-pošte. Na jedan klik ste udaljeni od aktiviranja. Ako ovo niste vi, molimo ignorišite ovu e-poštu.
|
||||||
explanation_when_pending: Prijavili ste se za poziv %{host} sa ovim imejlom. Kada potvrdite svoj imejl, pregledaćemo vašu prijavu. Možete se prijaviti da biste promenili detalje ili izbrisali nalog, ali ne možete pristupiti većini funkcija dok vam nalog ne bude odobren. Ako vaša prijava bude odbijena, vaši podaci će biti uklonjeni, tako da od vas neće biti potrebne dalje radnje. Ako ovo niste bili vi, zanemarite ovaj imejl.
|
explanation_when_pending: Prijavili ste se za poziv %{host} sa ovim imejlom. Kada potvrdite svoj imejl, pregledaćemo vašu prijavu. Možete se prijaviti da biste promenili detalje ili izbrisali nalog, ali ne možete pristupiti većini funkcija dok vam nalog ne bude odobren. Ako vaša prijava bude odbijena, vaši podaci će biti uklonjeni, tako da od vas neće biti potrebne dalje radnje. Ako ovo niste bili vi, zanemarite ovaj imejl.
|
||||||
extra_html: Molimo da takođe proverite <a href="%{terms_path}"> pravila ove instance i <a href="%{policy_path}"> naše uslove korišćenja.
|
extra_html: Molimo da takođe proverite <a href="%{terms_path}"> pravila ove instance i <a href="%{policy_path}"> naše uslove korišćenja.
|
||||||
subject: 'Mastodont: Uputstvo za potvrdu korisničkog naloga na instanci %{instance}'
|
subject: 'Mastodont: Uputstvo za potvrdu korisničkog naloga na instanci %{instance}'
|
||||||
title: Potvrdite adresu e-pošte
|
title: Verifikujte adresu e-pošte
|
||||||
email_changed:
|
email_changed:
|
||||||
explanation: 'Adresa ove e-pošte za vaš nalog će biti promenjena u:'
|
explanation: 'Adresa ove e-pošte za vaš nalog će biti promenjena u:'
|
||||||
extra: Ako niste promenili vašu e-poštu, sasvim je moguće da je neko drugi dobio pristup vašem nalogu. Molimo promenite lozinku odmah ili kontaktirajte administratora instance ako ste zaključani izvan vašeg naloga.
|
extra: Ako niste promenili vašu e-poštu, sasvim je moguće da je neko drugi dobio pristup vašem nalogu. Molimo promenite lozinku odmah ili kontaktirajte administratora instance ako ste zaključani izvan vašeg naloga.
|
||||||
|
@ -39,7 +39,7 @@ sr-Latn:
|
||||||
explanation: Potvrdite novu adresu da biste promenili e-poštu.
|
explanation: Potvrdite novu adresu da biste promenili e-poštu.
|
||||||
extra: Ako ova promena nije inicirana sa vaše strane, molimo ignorišite ovu e-poštu. Adresa e-pošta za ovaj Mastodon nalog neće biti promenjena dok ne pristupite poveznici/linku iznad.
|
extra: Ako ova promena nije inicirana sa vaše strane, molimo ignorišite ovu e-poštu. Adresa e-pošta za ovaj Mastodon nalog neće biti promenjena dok ne pristupite poveznici/linku iznad.
|
||||||
subject: 'Mastodon: Potvrdite e-poštu za %{instance}'
|
subject: 'Mastodon: Potvrdite e-poštu za %{instance}'
|
||||||
title: Potvrdite adresu e-pošte
|
title: Verifikujte adresu e-pošte
|
||||||
reset_password_instructions:
|
reset_password_instructions:
|
||||||
action: Lozinka promenjena
|
action: Lozinka promenjena
|
||||||
explanation: Zatražili ste novu lozinku za vaš nalog.
|
explanation: Zatražili ste novu lozinku za vaš nalog.
|
||||||
|
@ -93,7 +93,7 @@ sr-Latn:
|
||||||
signed_up_but_locked: Uspešno ste se registrovali. Nažalost ne možete se prijaviti zato što je Vaš nalog zaključan.
|
signed_up_but_locked: Uspešno ste se registrovali. Nažalost ne možete se prijaviti zato što je Vaš nalog zaključan.
|
||||||
signed_up_but_pending: Na vaš imejl poslata je poruka sa vezom za potvrdu. Nakon što kliknete na vezu, pregledaćemo vašu prijavu. Bićete obavešteni ako bude odobreno.
|
signed_up_but_pending: Na vaš imejl poslata je poruka sa vezom za potvrdu. Nakon što kliknete na vezu, pregledaćemo vašu prijavu. Bićete obavešteni ako bude odobreno.
|
||||||
signed_up_but_unconfirmed: Poruka za potvrdu Vašeg naloga je poslata na Vašu imejl adresu. Kliknite na vezu u imejlu da potvrdite svoj nalog. Molimo proverite i spam fasciklu ako niste primili poruku.
|
signed_up_but_unconfirmed: Poruka za potvrdu Vašeg naloga je poslata na Vašu imejl adresu. Kliknite na vezu u imejlu da potvrdite svoj nalog. Molimo proverite i spam fasciklu ako niste primili poruku.
|
||||||
update_needs_confirmation: Uspešno ste ažurirali svoj nalog, ali treba da potvrdimo novu adresu Vaše e-pošte. Molimo Vas da proverite e-poštu i pratite link za potvrdu nove adrese Vaše e-pošte.
|
update_needs_confirmation: Uspešno ste ažurirali svoj nalog, ali moramo da verifikujemo vašu novu adresu e-pošte. Proverite svoju e-poštu i pratite vezu za potvrdu da biste potvrdili novu adresu e-pošte. Proverite svoju fasciklu neželjene pošte ako niste primili ovu e-poštu.
|
||||||
updated: Vaš nalog je uspešno ažuriran.
|
updated: Vaš nalog je uspešno ažuriran.
|
||||||
sessions:
|
sessions:
|
||||||
already_signed_out: Uspešno ste se odjavili.
|
already_signed_out: Uspešno ste se odjavili.
|
||||||
|
|
|
@ -18,13 +18,13 @@ sr:
|
||||||
unconfirmed: Пре наставка морате потврдити свој налог.
|
unconfirmed: Пре наставка морате потврдити свој налог.
|
||||||
mailer:
|
mailer:
|
||||||
confirmation_instructions:
|
confirmation_instructions:
|
||||||
action: Потврдите адресу е-поште
|
action: Верификујте адресу е-поште
|
||||||
action_with_app: Потврди и врати се на %{app}
|
action_with_app: Потврди и врати се на %{app}
|
||||||
explanation: Направили сте налог на %{host} са адресом ове е-поште. На један клик сте удаљени од активирања. Ако ово нисте ви, молимо игноришите ову е-пошту.
|
explanation: Направили сте налог на %{host} са адресом ове е-поште. На један клик сте удаљени од активирања. Ако ово нисте ви, молимо игноришите ову е-пошту.
|
||||||
explanation_when_pending: Пријавили сте се за позив %{host} са овим имејлом. Када потврдите свој имејл, прегледаћемо вашу пријаву. Можете се пријавити да бисте променили детаље или избрисали налог, али не можете приступити већини функција док вам налог не буде одобрен. Ако ваша пријава буде одбијена, ваши подаци ће бити уклоњени, тако да од вас неће бити потребне даље радње. Ако ово нисте били ви, занемарите овај имејл.
|
explanation_when_pending: Пријавили сте се за позив %{host} са овим имејлом. Када потврдите свој имејл, прегледаћемо вашу пријаву. Можете се пријавити да бисте променили детаље или избрисали налог, али не можете приступити већини функција док вам налог не буде одобрен. Ако ваша пријава буде одбијена, ваши подаци ће бити уклоњени, тако да од вас неће бити потребне даље радње. Ако ово нисте били ви, занемарите овај имејл.
|
||||||
extra_html: Молимо да такође проверите <a href="%{terms_path}"> правила ове инстанце и <a href="%{policy_path}"> наше услове коришћења.
|
extra_html: Молимо да такође проверите <a href="%{terms_path}"> правила ове инстанце и <a href="%{policy_path}"> наше услове коришћења.
|
||||||
subject: 'Mastodon: Упутство за потврду корисничког налога на инстанци %{instance}'
|
subject: 'Mastodon: Упутство за потврду корисничког налога на инстанци %{instance}'
|
||||||
title: Потврдите адресу е-поште
|
title: Верификујте адресу е-поште
|
||||||
email_changed:
|
email_changed:
|
||||||
explanation: 'Адреса ове е-поште за ваш налог ће бити промењена у:'
|
explanation: 'Адреса ове е-поште за ваш налог ће бити промењена у:'
|
||||||
extra: Ако нисте променили вашу е-пошту, сасвим је могуће да је неко други добио приступ вашем налогу. Молимо промените лозинку одмах или контактирајте администратора инстанце ако сте закључани изван вашег налога.
|
extra: Ако нисте променили вашу е-пошту, сасвим је могуће да је неко други добио приступ вашем налогу. Молимо промените лозинку одмах или контактирајте администратора инстанце ако сте закључани изван вашег налога.
|
||||||
|
@ -39,7 +39,7 @@ sr:
|
||||||
explanation: Потврдите нову адресу да бисте променили е-пошту.
|
explanation: Потврдите нову адресу да бисте променили е-пошту.
|
||||||
extra: Ако ова промена није иницирана са ваше стране, молимо игноришите ову е-пошту. Адреса е-поште за овај Mastodon налог неће бити промењена док не приступите вези изнад.
|
extra: Ако ова промена није иницирана са ваше стране, молимо игноришите ову е-пошту. Адреса е-поште за овај Mastodon налог неће бити промењена док не приступите вези изнад.
|
||||||
subject: 'Mastodon: Потврдите е-пошту за %{instance}'
|
subject: 'Mastodon: Потврдите е-пошту за %{instance}'
|
||||||
title: Потврдите адресу е-поште
|
title: Верификујте адресу е-поште
|
||||||
reset_password_instructions:
|
reset_password_instructions:
|
||||||
action: Лозинка промењена
|
action: Лозинка промењена
|
||||||
explanation: Затражили сте нову лозинку за ваш налог.
|
explanation: Затражили сте нову лозинку за ваш налог.
|
||||||
|
@ -93,7 +93,7 @@ sr:
|
||||||
signed_up_but_locked: Успешно сте се регистровали. Нажалост не можете се пријавити зато што је Ваш налог закључан.
|
signed_up_but_locked: Успешно сте се регистровали. Нажалост не можете се пријавити зато што је Ваш налог закључан.
|
||||||
signed_up_but_pending: На ваш имејл послата је порука са везом за потврду. Након што кликнете на везу, прегледаћемо вашу пријаву. Бићете обавештени ако буде одобрено.
|
signed_up_but_pending: На ваш имејл послата је порука са везом за потврду. Након што кликнете на везу, прегледаћемо вашу пријаву. Бићете обавештени ако буде одобрено.
|
||||||
signed_up_but_unconfirmed: Порука за потврду Вашег налога је послата на Вашу имејл адресу. Кликните на везу у имејлу да потврдите свој налог. Молимо проверите и спам фасциклу ако нисте примили поруку.
|
signed_up_but_unconfirmed: Порука за потврду Вашег налога је послата на Вашу имејл адресу. Кликните на везу у имејлу да потврдите свој налог. Молимо проверите и спам фасциклу ако нисте примили поруку.
|
||||||
update_needs_confirmation: Uспешно сте ажурирали свој налог, али треба да потврдимо нову адресу Ваше е-поште. Молимо Вас да проверите е-пошту и пратите линк за потврду нове адресе Ваше е-поште.
|
update_needs_confirmation: Успешно сте ажурирали свој налог, али морамо да верификујемо вашу нову адресу е-поште. Проверите своју е-пошту и пратите везу за потврду да бисте потврдили нову адресу е-поште. Проверите своју фасциклу нежељене поште ако нисте примили ову е-пошту.
|
||||||
updated: Ваш налог је успешно ажуриран.
|
updated: Ваш налог је успешно ажуриран.
|
||||||
sessions:
|
sessions:
|
||||||
already_signed_out: Успешно сте се одјавили.
|
already_signed_out: Успешно сте се одјавили.
|
||||||
|
|
|
@ -64,7 +64,7 @@ fa:
|
||||||
review_permissions: بازبینی اجازهها
|
review_permissions: بازبینی اجازهها
|
||||||
title: نیاز به اجازه دادن
|
title: نیاز به اجازه دادن
|
||||||
show:
|
show:
|
||||||
title: این کد مجوز را کپی کرده و در برنامه وارد کنید.
|
title: این کد تأیید را رونوشت کرده و در برنامه بگذارید.
|
||||||
authorized_applications:
|
authorized_applications:
|
||||||
buttons:
|
buttons:
|
||||||
revoke: فسخ
|
revoke: فسخ
|
||||||
|
@ -127,6 +127,7 @@ fa:
|
||||||
bookmarks: نشانکها
|
bookmarks: نشانکها
|
||||||
conversations: گفتوگوها
|
conversations: گفتوگوها
|
||||||
crypto: رمزگذاری سرتاسری
|
crypto: رمزگذاری سرتاسری
|
||||||
|
favourites: برگزیدهها
|
||||||
filters: پالایهها
|
filters: پالایهها
|
||||||
follow: پیگیری، خموشی و مسدودیها
|
follow: پیگیری، خموشی و مسدودیها
|
||||||
follows: پیگرفتگان
|
follows: پیگرفتگان
|
||||||
|
@ -155,6 +156,9 @@ fa:
|
||||||
admin:read:reports: خواندن اطّلاعات حساس از همهٔ گزارشها و حسابهای گزارششده
|
admin:read:reports: خواندن اطّلاعات حساس از همهٔ گزارشها و حسابهای گزارششده
|
||||||
admin:write: تغییر تمام دادهها روی کارساز
|
admin:write: تغییر تمام دادهها روی کارساز
|
||||||
admin:write:accounts: انجام کنش مدیریتی روی حسابها
|
admin:write:accounts: انجام کنش مدیریتی روی حسابها
|
||||||
|
admin:write:domain_allows: انجام کنش مدیریتی روی اجازههای دامنه
|
||||||
|
admin:write:domain_blocks: انجام کنش مدیریتی روی انسدادهای دامنه
|
||||||
|
admin:write:email_domain_blocks: انجام کنش مدیریتی روی انسدادهای دامنهٔ رایانامه
|
||||||
admin:write:ip_blocks: انجام کنش مدیریتی روی مسدودسازی های IP
|
admin:write:ip_blocks: انجام کنش مدیریتی روی مسدودسازی های IP
|
||||||
admin:write:reports: انجام کنش مدیریتی روی گزارشها
|
admin:write:reports: انجام کنش مدیریتی روی گزارشها
|
||||||
crypto: از رمزگذاری سرتاسر استفاده کنید
|
crypto: از رمزگذاری سرتاسر استفاده کنید
|
||||||
|
@ -164,6 +168,7 @@ fa:
|
||||||
read:accounts: دیدن اطّلاعات حساب
|
read:accounts: دیدن اطّلاعات حساب
|
||||||
read:blocks: دیدن مسدودهایتان
|
read:blocks: دیدن مسدودهایتان
|
||||||
read:bookmarks: دیدن نشانکهایتان
|
read:bookmarks: دیدن نشانکهایتان
|
||||||
|
read:favourites: دیدن برگزیدههایتان
|
||||||
read:filters: دیدن پالایههایتان
|
read:filters: دیدن پالایههایتان
|
||||||
read:follows: دیدن پیگیریهایتان
|
read:follows: دیدن پیگیریهایتان
|
||||||
read:lists: دیدن سیاهههایتان
|
read:lists: دیدن سیاهههایتان
|
||||||
|
@ -177,6 +182,7 @@ fa:
|
||||||
write:blocks: انسداد حسابها و دامنهها
|
write:blocks: انسداد حسابها و دامنهها
|
||||||
write:bookmarks: نشانکگذاری وضعیتها
|
write:bookmarks: نشانکگذاری وضعیتها
|
||||||
write:conversations: مکالمات را بیصدا و حذف کنید
|
write:conversations: مکالمات را بیصدا و حذف کنید
|
||||||
|
write:favourites: فرستههای برگزیده
|
||||||
write:filters: ایحاد پالایشها
|
write:filters: ایحاد پالایشها
|
||||||
write:follows: پیگیری افراد
|
write:follows: پیگیری افراد
|
||||||
write:lists: ایجاد سیاههها
|
write:lists: ایجاد سیاههها
|
||||||
|
|
|
@ -31,7 +31,7 @@ fa:
|
||||||
created_msg: یادداشت مدیر با موفقیت ساخته شد!
|
created_msg: یادداشت مدیر با موفقیت ساخته شد!
|
||||||
destroyed_msg: یادداشت نظارتی با موفقیت نابود شد!
|
destroyed_msg: یادداشت نظارتی با موفقیت نابود شد!
|
||||||
accounts:
|
accounts:
|
||||||
add_email_domain_block: مسدود کردن دامنهٔ رایانامه
|
add_email_domain_block: انسداد دامنهٔ رایانامه
|
||||||
approve: پذیرفتن
|
approve: پذیرفتن
|
||||||
approved_msg: کارهٔ ثبتنام %{username} با موفقیت تأیید شد
|
approved_msg: کارهٔ ثبتنام %{username} با موفقیت تأیید شد
|
||||||
are_you_sure: مطمئنید؟
|
are_you_sure: مطمئنید؟
|
||||||
|
@ -309,6 +309,7 @@ fa:
|
||||||
unpublish: عدم انتشار
|
unpublish: عدم انتشار
|
||||||
unpublished_msg: انتشار اعلامیه با موفقیت لغو شد!
|
unpublished_msg: انتشار اعلامیه با موفقیت لغو شد!
|
||||||
updated_msg: اعلامیه با موفقیت بهروز شد!
|
updated_msg: اعلامیه با موفقیت بهروز شد!
|
||||||
|
critical_update_pending: بهروز رسانیهای بحرانی منتظرند
|
||||||
custom_emojis:
|
custom_emojis:
|
||||||
assign_category: تعیین دسته
|
assign_category: تعیین دسته
|
||||||
by_domain: دامنه
|
by_domain: دامنه
|
||||||
|
@ -387,7 +388,7 @@ fa:
|
||||||
confirm: تعلیق
|
confirm: تعلیق
|
||||||
title: تأیید انسداد دامنه برای %{domain}
|
title: تأیید انسداد دامنه برای %{domain}
|
||||||
created_msg: مسدودسازی دامنه در حال پردازش است
|
created_msg: مسدودسازی دامنه در حال پردازش است
|
||||||
destroyed_msg: مسدودکردن دامنه واگردانده شد
|
destroyed_msg: انسداد دامنه واگردانده شد
|
||||||
domain: دامنه
|
domain: دامنه
|
||||||
edit: ویرایش مسدودسازی دامنه
|
edit: ویرایش مسدودسازی دامنه
|
||||||
existing_domain_block_html: شما پیشتر محدودیتهای سختتری روی %{name} اعمال کردهاید، و باید نخست <a href="%{unblock_url}">مسدودسازی را لغو کنید</a>.
|
existing_domain_block_html: شما پیشتر محدودیتهای سختتری روی %{name} اعمال کردهاید، و باید نخست <a href="%{unblock_url}">مسدودسازی را لغو کنید</a>.
|
||||||
|
@ -432,8 +433,16 @@ fa:
|
||||||
not_permitted: مجاز نیست
|
not_permitted: مجاز نیست
|
||||||
title: دامنههای رایانامهٔ مسدود شده
|
title: دامنههای رایانامهٔ مسدود شده
|
||||||
export_domain_allows:
|
export_domain_allows:
|
||||||
|
new:
|
||||||
|
title: درونریزی اجازههای دامنه
|
||||||
no_file: هیچ پروندهای گزیده نشده
|
no_file: هیچ پروندهای گزیده نشده
|
||||||
export_domain_blocks:
|
export_domain_blocks:
|
||||||
|
import:
|
||||||
|
existing_relationships_warning: رابطههای پیگیری موجود
|
||||||
|
private_comment_template: درونریخته از %{source} در %{date}
|
||||||
|
title: درونریزی انسدادهای دامنه
|
||||||
|
new:
|
||||||
|
title: درونریزی انسدادهای دامنه
|
||||||
no_file: هیچ پروندهای گزیده نشده
|
no_file: هیچ پروندهای گزیده نشده
|
||||||
follow_recommendations:
|
follow_recommendations:
|
||||||
description_html: "<strong>پیشنهادات پیگیری به کاربران جدید کک میکند تا سریعتر محتوای جالب را پیدا کنند</strong>. زمانی که کاربری هنوز به اندازه کافی با دیگران تعامل نداشته است تا پیشنهادات پیگیری شخصیسازیشده دریافت کند، این حسابها را به جای آن فهرست مشاهده خواهد کرد. این حسابها به صورت روزانه و در ترکیب با بیشتری تعاملات و بالاترین دنبالکنندگان محلی برای یک زبان مشخص بازمحاسبه میشوند."
|
description_html: "<strong>پیشنهادات پیگیری به کاربران جدید کک میکند تا سریعتر محتوای جالب را پیدا کنند</strong>. زمانی که کاربری هنوز به اندازه کافی با دیگران تعامل نداشته است تا پیشنهادات پیگیری شخصیسازیشده دریافت کند، این حسابها را به جای آن فهرست مشاهده خواهد کرد. این حسابها به صورت روزانه و در ترکیب با بیشتری تعاملات و بالاترین دنبالکنندگان محلی برای یک زبان مشخص بازمحاسبه میشوند."
|
||||||
|
@ -445,6 +454,7 @@ fa:
|
||||||
unsuppress: بازگردانی پیشنهادهای پیگیری
|
unsuppress: بازگردانی پیشنهادهای پیگیری
|
||||||
instances:
|
instances:
|
||||||
availability:
|
availability:
|
||||||
|
failure_threshold_reached: در %{date} به آستانهٔ شکست رسید.
|
||||||
no_failures_recorded: هیچ شکستی در سابقه نیست.
|
no_failures_recorded: هیچ شکستی در سابقه نیست.
|
||||||
title: موجود بودن
|
title: موجود بودن
|
||||||
back_to_all: همه
|
back_to_all: همه
|
||||||
|
@ -473,6 +483,7 @@ fa:
|
||||||
delivery:
|
delivery:
|
||||||
all: همه
|
all: همه
|
||||||
clear: پاک کردن خطاهای تحول محتوا
|
clear: پاک کردن خطاهای تحول محتوا
|
||||||
|
failing: شکست خوردن
|
||||||
restart: بازراهاندازی تحویل محتوا
|
restart: بازراهاندازی تحویل محتوا
|
||||||
stop: متوقفکردن تحویل محتوا
|
stop: متوقفکردن تحویل محتوا
|
||||||
unavailable: ناموجود
|
unavailable: ناموجود
|
||||||
|
@ -618,8 +629,10 @@ fa:
|
||||||
delete_user_data: حذف دادههای کاربر
|
delete_user_data: حذف دادههای کاربر
|
||||||
invite_users: دعوت کاربران
|
invite_users: دعوت کاربران
|
||||||
manage_announcements: مدیریت اعلامیهها
|
manage_announcements: مدیریت اعلامیهها
|
||||||
|
manage_appeals: مدیریت درخواستهای بازنگری
|
||||||
manage_blocks: مدیریت مسدودیها
|
manage_blocks: مدیریت مسدودیها
|
||||||
manage_custom_emojis: مدیریت ایموجیهای سفارشی
|
manage_custom_emojis: مدیریت ایموجیهای سفارشی
|
||||||
|
manage_federation: مدیریت خودگردانی
|
||||||
manage_invites: مدیریت دعوتها
|
manage_invites: مدیریت دعوتها
|
||||||
manage_reports: مدیریت گزارشها
|
manage_reports: مدیریت گزارشها
|
||||||
manage_roles: مدیریت نقشها
|
manage_roles: مدیریت نقشها
|
||||||
|
@ -648,6 +661,8 @@ fa:
|
||||||
appearance:
|
appearance:
|
||||||
preamble: سفارشیسازی رابطس وب ماستودون.
|
preamble: سفارشیسازی رابطس وب ماستودون.
|
||||||
title: ظاهر
|
title: ظاهر
|
||||||
|
default_noindex:
|
||||||
|
title: درخواست خروج از اندیسگذاری پیشگزیدهٔ موتور جستوجو
|
||||||
discovery:
|
discovery:
|
||||||
follow_recommendations: پیروی از پیشنهادها
|
follow_recommendations: پیروی از پیشنهادها
|
||||||
profile_directory: شاخهٔ نمایه
|
profile_directory: شاخهٔ نمایه
|
||||||
|
@ -667,9 +682,20 @@ fa:
|
||||||
approved: ثبت نام نیازمند تأیید مدیران است
|
approved: ثبت نام نیازمند تأیید مدیران است
|
||||||
none: کسی نمیتواند ثبت نام کند
|
none: کسی نمیتواند ثبت نام کند
|
||||||
open: همه میتوانند ثبت نام کنند
|
open: همه میتوانند ثبت نام کنند
|
||||||
|
title: تنظیمات کارساز
|
||||||
site_uploads:
|
site_uploads:
|
||||||
delete: پرونده بارگذاری شده را پاک کنید
|
delete: پرونده بارگذاری شده را پاک کنید
|
||||||
destroyed_msg: بارگذاری پایگاه با موفقیت حذف شد!
|
destroyed_msg: بارگذاری پایگاه با موفقیت حذف شد!
|
||||||
|
software_updates:
|
||||||
|
critical_update: بحرانی — لطفاً به سرعت بهروز کنید
|
||||||
|
documentation_link: بیشتر بیاموزید
|
||||||
|
release_notes: یادداشتهای انتشار
|
||||||
|
title: بهروز رسانیهای موجود
|
||||||
|
type: گونه
|
||||||
|
types:
|
||||||
|
major: ارائه بزرگ
|
||||||
|
minor: ارائه کوچک
|
||||||
|
version: نگارش
|
||||||
statuses:
|
statuses:
|
||||||
account: نگارنده
|
account: نگارنده
|
||||||
application: برنامه
|
application: برنامه
|
||||||
|
@ -710,11 +736,24 @@ fa:
|
||||||
system_checks:
|
system_checks:
|
||||||
database_schema_check:
|
database_schema_check:
|
||||||
message_html: تعداد مهاجرت پایگاه داده در انتظار انجام هستند. لطفا آنها را اجرا کنید تا اطمینان یابید که برنامه مطابق انتظار رفتار خواهد کرد
|
message_html: تعداد مهاجرت پایگاه داده در انتظار انجام هستند. لطفا آنها را اجرا کنید تا اطمینان یابید که برنامه مطابق انتظار رفتار خواهد کرد
|
||||||
|
elasticsearch_preset:
|
||||||
|
action: دیدن مستندات
|
||||||
|
elasticsearch_preset_single_node:
|
||||||
|
action: دیدن مستندات
|
||||||
|
elasticsearch_version_check:
|
||||||
|
message_html: 'نگارش الستیکسرچ ناسازگار: %{value}'
|
||||||
|
version_comparison: الستیکسرچ %{running_version} در حال اجراست، حال که %{required_version} لازم است
|
||||||
rules_check:
|
rules_check:
|
||||||
action: مدیریت قانونهای کارساز
|
action: مدیریت قانونهای کارساز
|
||||||
message_html: هیچ قانون کارسازی تعریف نکردهاید.
|
message_html: هیچ قانون کارسازی تعریف نکردهاید.
|
||||||
sidekiq_process_check:
|
sidekiq_process_check:
|
||||||
message_html: صف(های) %{value} فاقد هیچونه فرایند Sidekiq هستند. لطفا تنظیمات Sidekiq خود را بازبینی کنید
|
message_html: صف(های) %{value} فاقد هیچونه فرایند Sidekiq هستند. لطفا تنظیمات Sidekiq خود را بازبینی کنید
|
||||||
|
upload_check_privacy_error:
|
||||||
|
action: برای اطّلاعات بیشتر اینجا را بررسی کنید
|
||||||
|
message_html: "<strong>کارساز وبتان بد پیکربندی شده. محرمانگی کاربرانتان در خطر است.</strong>"
|
||||||
|
upload_check_privacy_error_object_storage:
|
||||||
|
action: برای اطّلاعات بیشتر اینجا را بررسی کنید
|
||||||
|
message_html: "<strong>ذخیرهسازتان بد پیکربندی شده. محرمانگی کاربرانتان در خطر است.</strong>"
|
||||||
tags:
|
tags:
|
||||||
review: وضعیت بازبینی
|
review: وضعیت بازبینی
|
||||||
updated_msg: تنظیمات برچسبها با موفقیت بهروز شد
|
updated_msg: تنظیمات برچسبها با موفقیت بهروز شد
|
||||||
|
@ -858,6 +897,7 @@ fa:
|
||||||
migrate_account: نقل مکان به یک حساب دیگر
|
migrate_account: نقل مکان به یک حساب دیگر
|
||||||
migrate_account_html: اگر میخواهید این حساب را به حساب دیگری منتقل کنید، <a href="%{path}">اینجا را کلیک کنید</a>.
|
migrate_account_html: اگر میخواهید این حساب را به حساب دیگری منتقل کنید، <a href="%{path}">اینجا را کلیک کنید</a>.
|
||||||
or_log_in_with: یا ورود به وسیلهٔ
|
or_log_in_with: یا ورود به وسیلهٔ
|
||||||
|
privacy_policy_agreement_html: <a href="%{privacy_policy_path}" target="_blank">سیاست محرمانگی</a> را خوانده و پذیرفتهام
|
||||||
progress:
|
progress:
|
||||||
confirm: تأیید رایانامه
|
confirm: تأیید رایانامه
|
||||||
details: جزئیات شما
|
details: جزئیات شما
|
||||||
|
@ -967,6 +1007,7 @@ fa:
|
||||||
invalid_domain: نام دامین معتبر نیست
|
invalid_domain: نام دامین معتبر نیست
|
||||||
edit_profile:
|
edit_profile:
|
||||||
basic_information: اطلاعات پایه
|
basic_information: اطلاعات پایه
|
||||||
|
hint_html: "<strong>شخصیسازی آن چه مردم روی نمایهٔ عمومیتان و کنار فرستههایتان میبینند.</strong> هنگامی که نمایهای کامل و یک تصویر نمایه داشته باشید، احتمال پیگیری متقابل و تعامل با شما بیشتر است."
|
||||||
other: سایر
|
other: سایر
|
||||||
errors:
|
errors:
|
||||||
'400': درخواستی که فرستادید نامعتبر یا اشتباه بود.
|
'400': درخواستی که فرستادید نامعتبر یا اشتباه بود.
|
||||||
|
@ -1019,6 +1060,7 @@ fa:
|
||||||
statuses: فرستههای جدا
|
statuses: فرستههای جدا
|
||||||
title: ویرایش پالایه
|
title: ویرایش پالایه
|
||||||
errors:
|
errors:
|
||||||
|
deprecated_api_multiple_keywords: این پارامترها نمیتوانند از این برنامه تغییر یابند؛ چرا که به بیش از یک کلیدواژهٔ پالایه اعمال میشود. از برنامهای جدیدتر یا میانای وب استفاده کنید.
|
||||||
invalid_context: زمینهای موجود نیست یا نامعتبر است
|
invalid_context: زمینهای موجود نیست یا نامعتبر است
|
||||||
index:
|
index:
|
||||||
delete: پاککردن
|
delete: پاککردن
|
||||||
|
@ -1045,6 +1087,9 @@ fa:
|
||||||
title: فرستههای پالوده
|
title: فرستههای پالوده
|
||||||
generic:
|
generic:
|
||||||
all: همه
|
all: همه
|
||||||
|
all_matching_items_selected_html:
|
||||||
|
one: "<strong>%{count}</strong> مورد مطابق با جستوجویتان گزیده شده."
|
||||||
|
other: "<strong>%{count}</strong> مورد مطابق با جستوجویتان گزیده شدند."
|
||||||
cancel: لغو
|
cancel: لغو
|
||||||
changes_saved_msg: تغییرات با موفقیت ذخیره شدند!
|
changes_saved_msg: تغییرات با موفقیت ذخیره شدند!
|
||||||
confirm: تأیید
|
confirm: تأیید
|
||||||
|
@ -1107,6 +1152,9 @@ fa:
|
||||||
expires_at: تاریخ انقضا
|
expires_at: تاریخ انقضا
|
||||||
uses: استفادهها
|
uses: استفادهها
|
||||||
title: دعوت دیگران
|
title: دعوت دیگران
|
||||||
|
lists:
|
||||||
|
errors:
|
||||||
|
limit: به بیشینهٔ تعداد سیاههها رسیدید
|
||||||
login_activities:
|
login_activities:
|
||||||
authentication_methods:
|
authentication_methods:
|
||||||
otp: کارهٔ تأیید هویت دوعاملی
|
otp: کارهٔ تأیید هویت دوعاملی
|
||||||
|
@ -1121,6 +1169,9 @@ fa:
|
||||||
mail_subscriptions:
|
mail_subscriptions:
|
||||||
unsubscribe:
|
unsubscribe:
|
||||||
complete: لغو اشتراک شد
|
complete: لغو اشتراک شد
|
||||||
|
emails:
|
||||||
|
notification_emails:
|
||||||
|
mention: رایانامههای آگاهی اشاره
|
||||||
title: لغو اشتراک
|
title: لغو اشتراک
|
||||||
media_attachments:
|
media_attachments:
|
||||||
validations:
|
validations:
|
||||||
|
@ -1187,9 +1238,9 @@ fa:
|
||||||
title: درخواست پیگیری تازه
|
title: درخواست پیگیری تازه
|
||||||
mention:
|
mention:
|
||||||
action: پاسخ
|
action: پاسخ
|
||||||
body: "%{name} در اینجا از شما نام برد:"
|
body: "%{name} در اینجا به شما اشاره کرد:"
|
||||||
subject: "%{name} از شما نام برد"
|
subject: "%{name} به شما اشاره کرد"
|
||||||
title: نامبردهشدن تازه
|
title: اشارهٔ جدید
|
||||||
poll:
|
poll:
|
||||||
subject: نظرسنجیای از %{name} پایان یافت
|
subject: نظرسنجیای از %{name} پایان یافت
|
||||||
reblog:
|
reblog:
|
||||||
|
@ -1244,6 +1295,14 @@ fa:
|
||||||
other: سایر تنظیمات
|
other: سایر تنظیمات
|
||||||
posting_defaults: تنظیمات پیشفرض انتشار
|
posting_defaults: تنظیمات پیشفرض انتشار
|
||||||
public_timelines: خط زمانیهای عمومی
|
public_timelines: خط زمانیهای عمومی
|
||||||
|
privacy:
|
||||||
|
hint_html: "<strong>شخصیسازی چگونگی پیدا شدن فرستهها و نمایهتان.</strong> ویژگیهای متعدّدی در ماستودون میتوانند هنگام به کار افتادن در رسیدن به مخاطبینی گستردهتر یاریتان کنند. کمی وقت برای بازبینی این تنظیمات گذاشته تا مطمئن شوید برایتان مناسبند."
|
||||||
|
privacy: محرمانگی
|
||||||
|
reach: دسترسی
|
||||||
|
reach_hint_html: واپایش این که میخواهید به دست افراد جدید قابل کشف و پیگیری باشید یا نه. میخواهید فرستههایتان روی صفحهٔ کشف ظاهر شوند؟ میخواهید دیگر افراد در پیشنهادهای پیگیریشان ببینندتان؟ میخواهید پیگیران جدید را به طور خودکار بپذیرید یا روی هرکدامشان واپایش داشته باشید؟
|
||||||
|
search: جستوجو
|
||||||
|
search_hint_html: واپایش این که چگونه میخواهید پیدا شوید. میخواهید افراد با آنچه به صورت عمومی دربارهاش فرستادهاید پیدایتان کنند؟ میخواهید افراد خارج از ماستودون هنگام جستوجوی وب نمایهتان را بیابند؟ لطفاًبه خاطر داشته باشید که خروج کامل از تمامی موتورهای جستوجو برای اطّلاعات عمومی قابل تضمین نیست.
|
||||||
|
title: محرمانگی و دسترسی
|
||||||
privacy_policy:
|
privacy_policy:
|
||||||
title: سیاست محرمانگی
|
title: سیاست محرمانگی
|
||||||
reactions:
|
reactions:
|
||||||
|
@ -1519,7 +1578,10 @@ fa:
|
||||||
seamless_external_login: شما با یک سرویس خارج از مجموعه وارد شدهاید، به همین دلیل تنظیمات ایمیل و گذرواژه برای شما در دسترس نیست.
|
seamless_external_login: شما با یک سرویس خارج از مجموعه وارد شدهاید، به همین دلیل تنظیمات ایمیل و گذرواژه برای شما در دسترس نیست.
|
||||||
signed_in_as: 'واردشده به نام:'
|
signed_in_as: 'واردشده به نام:'
|
||||||
verification:
|
verification:
|
||||||
|
extra_instructions_html: <strong>نکته:</strong> پیوند روی پایگاه وبتان میتواند نامرئی باشد. بخش مهم <code>rel="me"</code> است که از جعل هویت روی پایگاههایی با محتوای تولید شده به دست کاربر جلوگیری میکند. حتا میتوانید به جای برچسب <code>a</code> از برچسب <code>link</code> در سرایند صفحه استفاده کنید؛ ولی HTML باید بدون اجرای جاوااسکریپت در دسترس باشد.
|
||||||
here_is_how: به اینصورت
|
here_is_how: به اینصورت
|
||||||
|
hint_html: "<strong>تأیید هویتتان روی ماستودون برای همه است.</strong> برپایهٔ استانداردهای وب و رایگان برای همیشه. تمام آن چه نیاز دارید پایگاه وب شخصیست که افراد شما را با آن بشناسند. هنگام پیوند دادن به این پایگاه از نمایهتان، بررسی میکنیم که پیوندهای پایگاه وب نیز به نمایهتان پیوند داده باشد و نشانگری تصویری رویش نشان میدهیم."
|
||||||
|
instructions_html: کد زیر را رونوشت کرده و در HTML پایگاه وبتان جایگذاری کنید. سپس نشانی پایگاه وبتان را از زبانهٔ «ویرایش نمایه» در یکی از زمینههای اضافی روی نمایهتان افزوده و تغییرات را ذخیره کنید.
|
||||||
verification: تأیید
|
verification: تأیید
|
||||||
verified_links: "پیوندهای تأییدشده شما"
|
verified_links: "پیوندهای تأییدشده شما"
|
||||||
webauthn_credentials:
|
webauthn_credentials:
|
||||||
|
|
|
@ -458,7 +458,7 @@ gd:
|
||||||
not_permitted: Chan eil seo ceadaichte
|
not_permitted: Chan eil seo ceadaichte
|
||||||
resolved_dns_records_hint_html: Thèid ainm na h-àrainne fhuasgladh nan àrainnean MX a leanas agus an urra riutha-san gun gabh iad ri post-d. Ma bhacas tu àrainn MX, bacaidh seo an clàradh o sheòladh puist-d sam bith a chleachdas an aon àrainn MX fiù ’s ma bhios ainm àrainne eadar-dhealaichte ’ga sealltainn. <strong>Thoir an aire nach bac thu solaraichean puist-d mòra.</strong>
|
resolved_dns_records_hint_html: Thèid ainm na h-àrainne fhuasgladh nan àrainnean MX a leanas agus an urra riutha-san gun gabh iad ri post-d. Ma bhacas tu àrainn MX, bacaidh seo an clàradh o sheòladh puist-d sam bith a chleachdas an aon àrainn MX fiù ’s ma bhios ainm àrainne eadar-dhealaichte ’ga sealltainn. <strong>Thoir an aire nach bac thu solaraichean puist-d mòra.</strong>
|
||||||
resolved_through_html: Chaidh fuasgladh slighe %{domain}
|
resolved_through_html: Chaidh fuasgladh slighe %{domain}
|
||||||
title: Àrainnean puist-d ’gam bacadh
|
title: Bacadh àrainnean puist-d
|
||||||
export_domain_allows:
|
export_domain_allows:
|
||||||
new:
|
new:
|
||||||
title: Ion-phortaich àrainnean ceadaichte
|
title: Ion-phortaich àrainnean ceadaichte
|
||||||
|
|
|
@ -71,7 +71,7 @@ gl:
|
||||||
enabled: Activado
|
enabled: Activado
|
||||||
enabled_msg: Desbloqueada a conta de %{username}
|
enabled_msg: Desbloqueada a conta de %{username}
|
||||||
followers: Seguidoras
|
followers: Seguidoras
|
||||||
follows: Segue
|
follows: Seguimentos
|
||||||
header: Cabeceira
|
header: Cabeceira
|
||||||
inbox_url: URL da caixa de entrada
|
inbox_url: URL da caixa de entrada
|
||||||
invite_request_text: Razóns para unirte
|
invite_request_text: Razóns para unirte
|
||||||
|
|
|
@ -378,12 +378,12 @@ ja:
|
||||||
add_new: ドメインブロックを追加
|
add_new: ドメインブロックを追加
|
||||||
confirm_suspension:
|
confirm_suspension:
|
||||||
cancel: キャンセル
|
cancel: キャンセル
|
||||||
confirm: ブロック
|
confirm: 停止
|
||||||
permanent_action: 失われたデータやフォロー関係は、ブロックを解除しても元に戻せません。
|
permanent_action: 失われたデータやフォロー関係は、停止を解除しても元に戻せません。
|
||||||
preamble_html: "<strong>%{domain}</strong> と、そのサブドメインをブロックします。"
|
preamble_html: "<strong>%{domain}</strong> と、そのサブドメインに「停止」の処置を行います。"
|
||||||
remove_all_data: この操作により、対象のドメインにあるアカウントからのコンテンツやメディア、プロフィール情報はすべて削除されます。
|
remove_all_data: この操作により、対象のドメインにあるアカウントからのコンテンツやメディア、プロフィール情報はすべて削除されます。
|
||||||
stop_communication: ブロックしたサーバーとは通信を行わなくなります。
|
stop_communication: 対象のサーバーとは通信を行わなくなります。
|
||||||
title: "%{domain} をブロック"
|
title: "「%{domain}」ドメインブロックの確認"
|
||||||
undo_relationships: この操作により、このサーバーと対象サーバーのアカウント間のフォロー関係はすべて解除されます。
|
undo_relationships: この操作により、このサーバーと対象サーバーのアカウント間のフォロー関係はすべて解除されます。
|
||||||
created_msg: ドメインブロック処理を完了しました
|
created_msg: ドメインブロック処理を完了しました
|
||||||
destroyed_msg: ドメインブロックを外しました
|
destroyed_msg: ドメインブロックを外しました
|
||||||
|
|
|
@ -1303,7 +1303,7 @@ ko:
|
||||||
unconfirmed: 미확인
|
unconfirmed: 미확인
|
||||||
status: 상태
|
status: 상태
|
||||||
success: 파일이 정상적으로 업로드되었으며, 현재 처리 중입니다
|
success: 파일이 정상적으로 업로드되었으며, 현재 처리 중입니다
|
||||||
time_started: 시작 시간
|
time_started: 시작 시각
|
||||||
titles:
|
titles:
|
||||||
blocking: 차단한 계정 가져오는 중
|
blocking: 차단한 계정 가져오는 중
|
||||||
bookmarks: 북마크 가져오는 중
|
bookmarks: 북마크 가져오는 중
|
||||||
|
|
|
@ -309,6 +309,7 @@
|
||||||
unpublish: Avpubliser
|
unpublish: Avpubliser
|
||||||
unpublished_msg: Kunngjøring upublisert!
|
unpublished_msg: Kunngjøring upublisert!
|
||||||
updated_msg: Kunngjøringen er oppdatert!
|
updated_msg: Kunngjøringen er oppdatert!
|
||||||
|
critical_update_pending: Kritisk oppdatering avventer
|
||||||
custom_emojis:
|
custom_emojis:
|
||||||
assign_category: Tilegn kategori
|
assign_category: Tilegn kategori
|
||||||
by_domain: Domene
|
by_domain: Domene
|
||||||
|
@ -774,6 +775,18 @@
|
||||||
site_uploads:
|
site_uploads:
|
||||||
delete: Slett den opplastede filen
|
delete: Slett den opplastede filen
|
||||||
destroyed_msg: Vellykket sletting av sideopplasting!
|
destroyed_msg: Vellykket sletting av sideopplasting!
|
||||||
|
software_updates:
|
||||||
|
critical_update: Kritisk — vennligst oppdater raskt
|
||||||
|
description: "Det anbefales å holde Mastodon-installasjonen oppdatert for å dra nytte av nye rettelser og funksjoner. Dessuten er det av og til viktig å oppdatere Mastodon raskt for å unngå sikkerhetsproblemer. Derfor sjekker Mastodon om det finnes oppdateringer \nhvert 30. minutt, og varsler deg i henhold til dine valg for e-postvarsling."
|
||||||
|
documentation_link: Finn ut mer
|
||||||
|
release_notes: Informasjon om utgivelsen
|
||||||
|
title: Tilgjengelige oppdateringer
|
||||||
|
type: Type
|
||||||
|
types:
|
||||||
|
major: Stor oppdatering
|
||||||
|
minor: Mindre oppdatering
|
||||||
|
patch: Liten oppdatering – feilrettinger og endringer som er lette å legge til
|
||||||
|
version: Versjon
|
||||||
statuses:
|
statuses:
|
||||||
account: Forfatter
|
account: Forfatter
|
||||||
application: Applikasjon
|
application: Applikasjon
|
||||||
|
@ -838,6 +851,12 @@
|
||||||
message_html: Du har ikke definert noen serverregler.
|
message_html: Du har ikke definert noen serverregler.
|
||||||
sidekiq_process_check:
|
sidekiq_process_check:
|
||||||
message_html: Ingen Sidekiq-prosess kjører for %{value} køen(e). Vennligst se gjennom Sidekiq-konfigurasjonen din
|
message_html: Ingen Sidekiq-prosess kjører for %{value} køen(e). Vennligst se gjennom Sidekiq-konfigurasjonen din
|
||||||
|
software_version_critical_check:
|
||||||
|
action: Se tilgjengelige oppdateringer
|
||||||
|
message_html: En kritisk oppdatering av Mastodon er tilgjengelig. Vennligst oppdater så raskt som mulig.
|
||||||
|
software_version_patch_check:
|
||||||
|
action: Se tilgjengelige oppdateringer
|
||||||
|
message_html: En oppdatering av Mastodon som inneholder feilrettinger er tilgjengelig.
|
||||||
upload_check_privacy_error:
|
upload_check_privacy_error:
|
||||||
action: Sjekk her for mer informasjon
|
action: Sjekk her for mer informasjon
|
||||||
message_html: "<strong>Webserveren din er feilkonfigurert. Personvernet til brukerne dine er i fare.</strong>"
|
message_html: "<strong>Webserveren din er feilkonfigurert. Personvernet til brukerne dine er i fare.</strong>"
|
||||||
|
@ -951,6 +970,9 @@
|
||||||
body: "%{target} klager på en moderasjonsbeslutning av %{action_taken_by} fra %{date}, noe som var %{type}. De skrev:"
|
body: "%{target} klager på en moderasjonsbeslutning av %{action_taken_by} fra %{date}, noe som var %{type}. De skrev:"
|
||||||
next_steps: Du kan godkjenne klagen for å angre på moderasjonsvedtaket eller ignorere det.
|
next_steps: Du kan godkjenne klagen for å angre på moderasjonsvedtaket eller ignorere det.
|
||||||
subject: "%{username} klager på en moderasjonsbeslutning for %{instance}"
|
subject: "%{username} klager på en moderasjonsbeslutning for %{instance}"
|
||||||
|
new_critical_software_updates:
|
||||||
|
body: Nye kritiske versjoner av Mastodon har blitt utgitt, det kan være fordelaktig å oppdatere så snart som mulig!
|
||||||
|
subject: Kritiske Mastodon-oppdateringer er tilgjengelige for %{instance}!
|
||||||
new_pending_account:
|
new_pending_account:
|
||||||
body: Detaljer om den nye kontoen er nedenfor. Du kan godkjenne eller avvise denne søknaden.
|
body: Detaljer om den nye kontoen er nedenfor. Du kan godkjenne eller avvise denne søknaden.
|
||||||
subject: Ny konto opp til vurdering på %{instance} (%{username})
|
subject: Ny konto opp til vurdering på %{instance} (%{username})
|
||||||
|
@ -958,6 +980,9 @@
|
||||||
body: "%{reporter} har rapportert %{target}"
|
body: "%{reporter} har rapportert %{target}"
|
||||||
body_remote: Noen fra %{domain} har rapportert %{target}
|
body_remote: Noen fra %{domain} har rapportert %{target}
|
||||||
subject: Ny rapport for %{instance} (#%{id})
|
subject: Ny rapport for %{instance} (#%{id})
|
||||||
|
new_software_updates:
|
||||||
|
body: Nye versjoner av Mastodoner har blitt utgitt, du ønsker kanskje å oppdatere!
|
||||||
|
subject: Nye versjoner av Mastodon er tilgjengelige for %{instance}!
|
||||||
new_trends:
|
new_trends:
|
||||||
body: 'Følgende elementer trenger en gjennomgang før de kan vises offentlig:'
|
body: 'Følgende elementer trenger en gjennomgang før de kan vises offentlig:'
|
||||||
new_trending_links:
|
new_trending_links:
|
||||||
|
@ -1708,6 +1733,7 @@
|
||||||
default: "%-d. %b %Y, %H:%M"
|
default: "%-d. %b %Y, %H:%M"
|
||||||
month: "%b %Y"
|
month: "%b %Y"
|
||||||
time: "%H:%M"
|
time: "%H:%M"
|
||||||
|
with_time_zone: "%-d. %b %Y, %H:%M %Z"
|
||||||
two_factor_authentication:
|
two_factor_authentication:
|
||||||
add: Legg til
|
add: Legg til
|
||||||
disable: Skru av
|
disable: Skru av
|
||||||
|
|
|
@ -15,7 +15,7 @@ ca:
|
||||||
account_migration:
|
account_migration:
|
||||||
acct: Especifica l'usuari@domini del compte al qual et vols traslladar
|
acct: Especifica l'usuari@domini del compte al qual et vols traslladar
|
||||||
account_warning_preset:
|
account_warning_preset:
|
||||||
text: Pots usar totes les sintaxis, com ara URL, etiquetes i mencions
|
text: Pots usar tota mena de sintaxi, com ara URL, etiquetes i mencions
|
||||||
title: Opcional. No és visible per al destinatari
|
title: Opcional. No és visible per al destinatari
|
||||||
admin_account_action:
|
admin_account_action:
|
||||||
include_statuses: L'usuari veurà quins tuts han causat l'acció de moderació o avís
|
include_statuses: L'usuari veurà quins tuts han causat l'acció de moderació o avís
|
||||||
|
|
|
@ -291,6 +291,8 @@ cy:
|
||||||
pending_account: Mae cyfrif newydd angen adolygiad
|
pending_account: Mae cyfrif newydd angen adolygiad
|
||||||
reblog: Mae rhywun wedi hybu eich postiad
|
reblog: Mae rhywun wedi hybu eich postiad
|
||||||
report: Cyflwynwyd adroddiad newydd
|
report: Cyflwynwyd adroddiad newydd
|
||||||
|
software_updates:
|
||||||
|
label: Mae fersiwn Mastodon newydd ar gael
|
||||||
trending_tag: Mae pwnc llosg newydd angen adolygiad
|
trending_tag: Mae pwnc llosg newydd angen adolygiad
|
||||||
rule:
|
rule:
|
||||||
text: Rheol
|
text: Rheol
|
||||||
|
|
|
@ -2,6 +2,14 @@
|
||||||
fa:
|
fa:
|
||||||
simple_form:
|
simple_form:
|
||||||
hints:
|
hints:
|
||||||
|
account:
|
||||||
|
discoverable: ممکن است نمایه و فرستههای عمومیتان در جاهای مختلف ماستودون نمایانده و توصیه شود و نمایهتان به دیگر کاربران پیشنهاد شود.
|
||||||
|
display_name: نام کامل یا باحالتان.
|
||||||
|
fields: صفحهٔ خانگی، تلفّظ، سن و هرچیزی که دوست دارید.
|
||||||
|
indexable: ممکن است فرستههای عمومیتان در نتیجههای جستوجوی ماستودون ظاهر شود. افرادی که با فرستههایتان تعامل داشتند در هر صورت میتوانند جستوجویشان کنند.
|
||||||
|
note: 'میتوانید افراد دیگر را @نام برده یا #برچسب بزنید.'
|
||||||
|
show_collections: افراد خواهند توانست پیگیران و پیگرفته شدههایتان را مرور کنند. افرادی که پیمیگیریدشان در هر صورت خواهند دید که پیمیگیریدشان.
|
||||||
|
unlocked: افراد خواهند توانست بدون درخواست تأیید پیبگیرندتان. اگر میخواهید درخواستهای پیگیری را بازبینی کرده و بگزینید که پیگیران جدید را بپذیرید یا رد کنید، علامت را بردارید.
|
||||||
account_alias:
|
account_alias:
|
||||||
acct: مشخّص کردن username@domain حسابی که میخواهید از آن منتقل شوید
|
acct: مشخّص کردن username@domain حسابی که میخواهید از آن منتقل شوید
|
||||||
account_migration:
|
account_migration:
|
||||||
|
@ -72,7 +80,17 @@ fa:
|
||||||
backups_retention_period: نگه داشتن بایگانیهای کاربری برای روزهای مشخّص شده.
|
backups_retention_period: نگه داشتن بایگانیهای کاربری برای روزهای مشخّص شده.
|
||||||
bootstrap_timeline_accounts: سنجاق کردنThese accounts will be pinned to the top of new users' follow recommendations.
|
bootstrap_timeline_accounts: سنجاق کردنThese accounts will be pinned to the top of new users' follow recommendations.
|
||||||
closed_registrations_message: نمایش داده هنگام بسته بودن ثبتنامها
|
closed_registrations_message: نمایش داده هنگام بسته بودن ثبتنامها
|
||||||
|
content_cache_retention_period: همهٔ فرستهها و تقویتها از دیگر کارسازها پس از روزهای نشخّص حذف خواهند شد. ممکن است برخی فرستهها قابل بازیابی نباشند. همهٔ نشانکها، پسندها و تقویتها نیز از دست خواهند رفت و قابل بازگشت نخواهند بود.
|
||||||
|
custom_css: میتوانیدروی نگارش وب ماستودون سبکهای سفارشی اعمال کنید.
|
||||||
|
mascot: نقش میانای وب پیشرفته را پایمال میکند.
|
||||||
|
media_cache_retention_period: اگر به مقدار مثبتی تنظیم شود، پروندههای رسانهٔ بارگرفته پس از روزهای مشخّص شده حذف خواهند شد و هنگام درخواست دوباره بارگرفته میشوند.
|
||||||
|
profile_directory: شاخهٔ نمایه، همهٔ کاربرانی که کشفپذیری را برگزیدهاند سیاهه میکند.
|
||||||
require_invite_text: زمانی که نامنویسی ها نیازمند تایید دستی است، متن «چرا میخواهید بپیوندید؟» بخش درخواست دعوت را به جای اختیاری، اجباری کنید
|
require_invite_text: زمانی که نامنویسی ها نیازمند تایید دستی است، متن «چرا میخواهید بپیوندید؟» بخش درخواست دعوت را به جای اختیاری، اجباری کنید
|
||||||
|
site_contact_email: چگونگی دسترسی افراد به شما برای مقاصد قانونی یا پشتیبانی.
|
||||||
|
site_contact_username: چکونگی رسیدن افراد به شما روی ماستودون.
|
||||||
|
site_extended_description: هر اطّلاعات بیشتری که ممکن است برای بازدیدکنندگان و کاربرانتان مفید باشد. میتواند به شکل مارکدون باشد.
|
||||||
|
site_short_description: شرحی کوتاه برای کمک به شناسایی یکتای کارسازتان. چهکسی میگرداندش و برای چه کسیست؟
|
||||||
|
site_terms: از سیاست محرمانگی خوتان استفاده کرده یا برای استفاده از سیاست پیشگزیده خالی بگذارید. میتواند در قالب مارکدون باشد.
|
||||||
form_challenge:
|
form_challenge:
|
||||||
current_password: شما در حال ورود به یک منطقهٔ حفاظتشده هستید
|
current_password: شما در حال ورود به یک منطقهٔ حفاظتشده هستید
|
||||||
imports:
|
imports:
|
||||||
|
@ -93,6 +111,9 @@ fa:
|
||||||
sessions:
|
sessions:
|
||||||
otp: 'کد تأیید دومرحلهای که کاره روی تلفن شما ساخته را وارد کنید یا یکی از کدهای بازیابی را به کار ببرید:'
|
otp: 'کد تأیید دومرحلهای که کاره روی تلفن شما ساخته را وارد کنید یا یکی از کدهای بازیابی را به کار ببرید:'
|
||||||
webauthn: اگر کلید USB باشد ، از اتصاڵ آن مطمئن شوید و، اگر لازم باشد، به آن ضربهایی بزنید.
|
webauthn: اگر کلید USB باشد ، از اتصاڵ آن مطمئن شوید و، اگر لازم باشد، به آن ضربهایی بزنید.
|
||||||
|
settings:
|
||||||
|
indexable: صفحهٔ نمایهتان ممکن است در نتیجههای جستوجو روی گوگل، بینگ و جاهای دیگر ظاهر شود.
|
||||||
|
show_application: خودتان همواره خواهید توانست ببینید که کدام کاره فرستهتان را منتشر کرده.
|
||||||
tag:
|
tag:
|
||||||
name: شما تنها میتوانید بزرگی و کوچکی حروف را تغییر دهید تا مثلاً آن را خواناتر کنید
|
name: شما تنها میتوانید بزرگی و کوچکی حروف را تغییر دهید تا مثلاً آن را خواناتر کنید
|
||||||
user:
|
user:
|
||||||
|
@ -102,9 +123,13 @@ fa:
|
||||||
url: جایی که رویدادها فرستاده میشوند
|
url: جایی که رویدادها فرستاده میشوند
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
|
discoverable: معرّفی نمایه و فرستهها در الگوریتمهای کشف
|
||||||
fields:
|
fields:
|
||||||
name: برچسب
|
name: برچسب
|
||||||
value: محتوا
|
value: محتوا
|
||||||
|
indexable: بودن فرستههای عمومی در نتیجههای جستوجو
|
||||||
|
show_collections: نمایش پیگیران و پیگرفته شدهها روی نمایه
|
||||||
|
unlocked: پذیرش خودکار پیگیران جدید
|
||||||
account_alias:
|
account_alias:
|
||||||
acct: نشانی حساب قدیمی
|
acct: نشانی حساب قدیمی
|
||||||
account_migration:
|
account_migration:
|
||||||
|
@ -249,9 +274,18 @@ fa:
|
||||||
pending_account: وقتی حساب تازهای نیاز به بازبینی داشت ایمیل بفرست
|
pending_account: وقتی حساب تازهای نیاز به بازبینی داشت ایمیل بفرست
|
||||||
reblog: وقتی کسی فرستهٔ شما را تقویت کرد ایمیل بفرست
|
reblog: وقتی کسی فرستهٔ شما را تقویت کرد ایمیل بفرست
|
||||||
report: گزارش جدیدی فرستاده شد
|
report: گزارش جدیدی فرستاده شد
|
||||||
|
software_updates:
|
||||||
|
all: آگاهی برای همهٔ بهروز رسانیها
|
||||||
|
critical: آگاهی فقط برای بهروز رسانیهای بحرانی
|
||||||
|
label: نگارشی جدید از ماستادون موجود است
|
||||||
|
none: هرگز برای بهروز رسانیها آگاهی داده نشود (توصیه نمیشود)
|
||||||
|
patch: آگاهی برای بهروز رسانیهای رفع اشکال
|
||||||
trending_tag: روند جدیدی نیازمند بازبینی است
|
trending_tag: روند جدیدی نیازمند بازبینی است
|
||||||
rule:
|
rule:
|
||||||
text: قانون
|
text: قانون
|
||||||
|
settings:
|
||||||
|
indexable: بودن صفحهٔ نمایه در نتیجههای جستوجو
|
||||||
|
show_application: نمایش این که فرسته را از کدام کاره فرستادهاید
|
||||||
tag:
|
tag:
|
||||||
listable: اجازه به این برچسب برای ظاهر شدن در جستوجوها و پیشنهادها
|
listable: اجازه به این برچسب برای ظاهر شدن در جستوجوها و پیشنهادها
|
||||||
name: برچسب
|
name: برچسب
|
||||||
|
@ -271,6 +305,7 @@ fa:
|
||||||
url: نشانی نقطهٔ پایانی
|
url: نشانی نقطهٔ پایانی
|
||||||
'no': خیر
|
'no': خیر
|
||||||
not_recommended: پیشنهاد نشده
|
not_recommended: پیشنهاد نشده
|
||||||
|
overridden: پایمال
|
||||||
recommended: توصیه میشود
|
recommended: توصیه میشود
|
||||||
required:
|
required:
|
||||||
mark: "*"
|
mark: "*"
|
||||||
|
|
|
@ -301,7 +301,7 @@ lv:
|
||||||
rule:
|
rule:
|
||||||
text: Noteikumi
|
text: Noteikumi
|
||||||
settings:
|
settings:
|
||||||
indexable: Ietvert profila lapu muklēšanas dzinējos
|
indexable: Ietvert profila lapu meklēšanas dzinējos
|
||||||
show_application: Parādi, no kuras lietotnes nosūtīji ziņu
|
show_application: Parādi, no kuras lietotnes nosūtīji ziņu
|
||||||
tag:
|
tag:
|
||||||
listable: Atļaut šim tēmturim parādīties meklējumos un ieteikumos
|
listable: Atļaut šim tēmturim parādīties meklējumos un ieteikumos
|
||||||
|
|
|
@ -200,7 +200,7 @@
|
||||||
password: Passord
|
password: Passord
|
||||||
phrase: Nøkkelord eller frase
|
phrase: Nøkkelord eller frase
|
||||||
setting_advanced_layout: Skru på det avanserte nettgrensesnittet
|
setting_advanced_layout: Skru på det avanserte nettgrensesnittet
|
||||||
setting_aggregate_reblogs: Gruppefremhevinger i tidslinjer
|
setting_aggregate_reblogs: Samle fremhevinger i tidslinjer
|
||||||
setting_always_send_emails: Alltid send e-postvarslinger
|
setting_always_send_emails: Alltid send e-postvarslinger
|
||||||
setting_auto_play_gif: Autoavspill animert GIF-filer
|
setting_auto_play_gif: Autoavspill animert GIF-filer
|
||||||
setting_boost_modal: Vis bekreftelse før fremheving
|
setting_boost_modal: Vis bekreftelse før fremheving
|
||||||
|
@ -291,6 +291,12 @@
|
||||||
pending_account: Ny bruker avventer gjennomgang
|
pending_account: Ny bruker avventer gjennomgang
|
||||||
reblog: Send e-post når noen fremhever din status
|
reblog: Send e-post når noen fremhever din status
|
||||||
report: Ny rapport er sendt
|
report: Ny rapport er sendt
|
||||||
|
software_updates:
|
||||||
|
all: Varsle om alle oppdateringer
|
||||||
|
critical: Varsle kun om kritiske oppdateringer
|
||||||
|
label: En ny versjon av Mastodon er tilgjengelig
|
||||||
|
none: Aldri varsle om oppdateringer (anbefales ikke)
|
||||||
|
patch: Varsle om oppdateringer med feilrettinger
|
||||||
trending_tag: Ny trend krever gjennomgang
|
trending_tag: Ny trend krever gjennomgang
|
||||||
rule:
|
rule:
|
||||||
text: Regler
|
text: Regler
|
||||||
|
|
|
@ -3,10 +3,10 @@ zh-CN:
|
||||||
simple_form:
|
simple_form:
|
||||||
hints:
|
hints:
|
||||||
account:
|
account:
|
||||||
discoverable: 您的公开帖子和个人资料可能会在Mastodon的各个领域中被推荐,您的个人资料可能会被推荐给其他用户。
|
discoverable: 您的公开嘟文和个人资料可能会在 Mastodon 的多个位置展示,您的个人资料可能会被推荐给其他用户。
|
||||||
display_name: 您的全名或昵称。
|
display_name: 您的全名或昵称。
|
||||||
fields: 你的主页、人称代词、年龄,以及任何你想要添加的内容。
|
fields: 你的主页、人称代词、年龄,以及任何你想要添加的内容。
|
||||||
indexable: 您的公开嘟文可能会出现在Mastodon的搜索结果中。与您的嘟文互动过的人可能能够进行搜索并找到它们。
|
indexable: 您的公开嘟文会出现在 Mastodon 的搜索结果中。无论是否勾选,与您的嘟文有过交互的人都可能通过搜索找到它们。
|
||||||
note: '您可以提及 @其他人 或 #标签 。'
|
note: '您可以提及 @其他人 或 #标签 。'
|
||||||
show_collections: 人们将能够浏览您的关注和追随者。您关注的人会看到您关注他们。
|
show_collections: 人们将能够浏览您的关注和追随者。您关注的人会看到您关注他们。
|
||||||
unlocked: 人们将能够在不请求批准的情况下关注您。如果您希望审核关注请求并选择接受或拒绝新的粉丝,请取消勾选此项。
|
unlocked: 人们将能够在不请求批准的情况下关注您。如果您希望审核关注请求并选择接受或拒绝新的粉丝,请取消勾选此项。
|
||||||
|
@ -71,12 +71,12 @@ zh-CN:
|
||||||
featured_tag:
|
featured_tag:
|
||||||
name: 以下是你最近使用过的标签:
|
name: 以下是你最近使用过的标签:
|
||||||
filters:
|
filters:
|
||||||
action: 选择在帖子匹配过滤器时要执行的操作
|
action: 选择在嘟文命中过滤器时要执行的操作
|
||||||
actions:
|
actions:
|
||||||
hide: 彻底屏蔽过滤内容,犹如它不曾存在过一般
|
hide: 彻底屏蔽过滤内容,犹如它不曾存在过一般
|
||||||
warn: 在警告中提及过滤器标题后,隐藏过滤内容
|
warn: 在警告中提及过滤器标题后,隐藏过滤内容
|
||||||
form_admin_settings:
|
form_admin_settings:
|
||||||
activity_api_enabled: 本地发布的帖子、 活跃用户和每周的注册数
|
activity_api_enabled: 本站每周的嘟文数、活跃用户数和新注册用户数
|
||||||
backups_retention_period: 将在指定天数内保留生成的用户存档。
|
backups_retention_period: 将在指定天数内保留生成的用户存档。
|
||||||
bootstrap_timeline_accounts: 这些账号将在新用户关注推荐中置顶。
|
bootstrap_timeline_accounts: 这些账号将在新用户关注推荐中置顶。
|
||||||
closed_registrations_message: 在关闭注册时显示
|
closed_registrations_message: 在关闭注册时显示
|
||||||
|
@ -144,7 +144,7 @@ zh-CN:
|
||||||
fields:
|
fields:
|
||||||
name: 标签
|
name: 标签
|
||||||
value: 内容
|
value: 内容
|
||||||
indexable: 在搜索结果中包含公共嘟文
|
indexable: 将公开嘟文纳入搜索范围
|
||||||
show_collections: 在个人资料中显示关注和关注者
|
show_collections: 在个人资料中显示关注和关注者
|
||||||
unlocked: 自动接受新关注者
|
unlocked: 自动接受新关注者
|
||||||
account_alias:
|
account_alias:
|
||||||
|
|
|
@ -273,6 +273,7 @@ sk:
|
||||||
title: Oboznámenia
|
title: Oboznámenia
|
||||||
unpublish: Zruš zverejnenie
|
unpublish: Zruš zverejnenie
|
||||||
updated_msg: Oboznámenie úspešne aktualizované!
|
updated_msg: Oboznámenie úspešne aktualizované!
|
||||||
|
critical_update_pending: Čaká kritická aktualizácia
|
||||||
custom_emojis:
|
custom_emojis:
|
||||||
assign_category: Priraď kategóriu
|
assign_category: Priraď kategóriu
|
||||||
by_domain: Doména
|
by_domain: Doména
|
||||||
|
@ -418,6 +419,8 @@ sk:
|
||||||
instance_accounts_dimension: Najsledovanejšie účty
|
instance_accounts_dimension: Najsledovanejšie účty
|
||||||
instance_accounts_measure: uložené účty
|
instance_accounts_measure: uložené účty
|
||||||
instance_follows_measure: ich sledovatelia tu
|
instance_follows_measure: ich sledovatelia tu
|
||||||
|
instance_languages_dimension: Najpopulárnejšie jazyky
|
||||||
|
instance_media_attachments_measure: uložené mediálne prílohy
|
||||||
instance_reports_measure: hlásenia o nich
|
instance_reports_measure: hlásenia o nich
|
||||||
instance_statuses_measure: uložené príspevky
|
instance_statuses_measure: uložené príspevky
|
||||||
delivery:
|
delivery:
|
||||||
|
@ -425,6 +428,7 @@ sk:
|
||||||
failing: Zlyhávajúce
|
failing: Zlyhávajúce
|
||||||
unavailable: Nedostupné
|
unavailable: Nedostupné
|
||||||
delivery_available: Je v dosahu doručovania
|
delivery_available: Je v dosahu doručovania
|
||||||
|
empty: Nenájdené žiadne domény.
|
||||||
moderation:
|
moderation:
|
||||||
all: Všetky
|
all: Všetky
|
||||||
limited: Obmedzené
|
limited: Obmedzené
|
||||||
|
@ -482,6 +486,12 @@ sk:
|
||||||
created_msg: Poznámka o nahlásení úspešne vytvorená!
|
created_msg: Poznámka o nahlásení úspešne vytvorená!
|
||||||
destroyed_msg: Poznámka o nahlásení úspešne vymazaná!
|
destroyed_msg: Poznámka o nahlásení úspešne vymazaná!
|
||||||
reports:
|
reports:
|
||||||
|
account:
|
||||||
|
notes:
|
||||||
|
few: "%{count} poznámok"
|
||||||
|
many: "%{count} poznámok"
|
||||||
|
one: "%{count} poznámka"
|
||||||
|
other: "%{count} poznámky"
|
||||||
action_taken_by: Zákrok vykonal/a
|
action_taken_by: Zákrok vykonal/a
|
||||||
actions:
|
actions:
|
||||||
suspend_description_html: Tento účet a všetok jeho obsah bude nedostupný a nakoniec zmazaný, interaktovať s ním bude nemožné. Zvrátiteľné v rámci 30 dní. Uzatvára všetky hlásenia voči tomuto účtu.
|
suspend_description_html: Tento účet a všetok jeho obsah bude nedostupný a nakoniec zmazaný, interaktovať s ním bude nemožné. Zvrátiteľné v rámci 30 dní. Uzatvára všetky hlásenia voči tomuto účtu.
|
||||||
|
@ -1015,6 +1025,8 @@ sk:
|
||||||
other: Ostatné
|
other: Ostatné
|
||||||
posting_defaults: Východiskové nastavenia príspevkov
|
posting_defaults: Východiskové nastavenia príspevkov
|
||||||
public_timelines: Verejné časové osi
|
public_timelines: Verejné časové osi
|
||||||
|
privacy:
|
||||||
|
title: Súkromie a dosah
|
||||||
reactions:
|
reactions:
|
||||||
errors:
|
errors:
|
||||||
limit_reached: Maximálny počet rôznorodých reakcií bol dosiahnutý
|
limit_reached: Maximálny počet rôznorodých reakcií bol dosiahnutý
|
||||||
|
|
|
@ -869,6 +869,7 @@ sl:
|
||||||
action: Glejte razpoložljive posodobitve
|
action: Glejte razpoložljive posodobitve
|
||||||
software_version_patch_check:
|
software_version_patch_check:
|
||||||
action: Glejte razpoložljive posodobitve
|
action: Glejte razpoložljive posodobitve
|
||||||
|
message_html: Na voljo je posodobitev Mastodona s popravki hroščev.
|
||||||
upload_check_privacy_error:
|
upload_check_privacy_error:
|
||||||
action: Preverite tukaj za več informacij
|
action: Preverite tukaj za več informacij
|
||||||
message_html: "<strong>Vaš spletni strežnik je napačno nastavljen. Zasebnost vaših uporabnikov je izpostavljena tveganjem.</strong>"
|
message_html: "<strong>Vaš spletni strežnik je napačno nastavljen. Zasebnost vaših uporabnikov je izpostavljena tveganjem.</strong>"
|
||||||
|
|
|
@ -1151,7 +1151,7 @@ sr-Latn:
|
||||||
x_seconds: "%{count} sek."
|
x_seconds: "%{count} sek."
|
||||||
deletes:
|
deletes:
|
||||||
challenge_not_passed: Lozinka koju ste uneli nije bila ispravna
|
challenge_not_passed: Lozinka koju ste uneli nije bila ispravna
|
||||||
confirm_password: Unesite trenutnu lozinku da bismo proverili Vaš identitet
|
confirm_password: Unesite trenutnu lozinku za verifikaciju vašeg identiteta
|
||||||
confirm_username: Unesite svoje korisničko ime da biste potvrdili proceduru
|
confirm_username: Unesite svoje korisničko ime da biste potvrdili proceduru
|
||||||
proceed: Obriši nalog
|
proceed: Obriši nalog
|
||||||
success_msg: Vaš nalog je uspešno obrisan
|
success_msg: Vaš nalog je uspešno obrisan
|
||||||
|
@ -1209,8 +1209,8 @@ sr-Latn:
|
||||||
'406': Ova stranica nije dostupna u izabranom formatu.
|
'406': Ova stranica nije dostupna u izabranom formatu.
|
||||||
'410': Strana koju ste tražili više ne postoji.
|
'410': Strana koju ste tražili više ne postoji.
|
||||||
'422':
|
'422':
|
||||||
content: Bezbedonosna provera nije uspela. Da ne blokirate kolačiće?
|
content: Bezbedonosna verifikacija nije uspela. Da li blokirate kolačiće?
|
||||||
title: Bezbedonosna provera nije uspela
|
title: Bezbedonosna verifikacija nije uspela
|
||||||
'429': Uspored
|
'429': Uspored
|
||||||
'500':
|
'500':
|
||||||
content: Izvinjavamo se, nešto je pošlo po zlu sa ove strane.
|
content: Izvinjavamo se, nešto je pošlo po zlu sa ove strane.
|
||||||
|
@ -1296,7 +1296,7 @@ sr-Latn:
|
||||||
one: "<strong>%{count}</strong> stavka koja se poklapa sa Vašom pretragom je izabrana."
|
one: "<strong>%{count}</strong> stavka koja se poklapa sa Vašom pretragom je izabrana."
|
||||||
other: Svih <strong>%{count}</strong> stavki koje se poklapaju sa Vašom pretragom su izabrane.
|
other: Svih <strong>%{count}</strong> stavki koje se poklapaju sa Vašom pretragom su izabrane.
|
||||||
cancel: Otkaži
|
cancel: Otkaži
|
||||||
changes_saved_msg: Izmene uspešno sačuvane!
|
changes_saved_msg: Promene su uspešno sačuvane!
|
||||||
confirm: Potvrdi
|
confirm: Potvrdi
|
||||||
copy: Kopiraj
|
copy: Kopiraj
|
||||||
delete: Izbriši
|
delete: Izbriši
|
||||||
|
@ -1770,6 +1770,7 @@ sr-Latn:
|
||||||
default: "%d %b %Y, %H:%M"
|
default: "%d %b %Y, %H:%M"
|
||||||
month: "%b %Y"
|
month: "%b %Y"
|
||||||
time: "%H:%M"
|
time: "%H:%M"
|
||||||
|
with_time_zone: "%d. %b %Y, %H:%M %Z"
|
||||||
translation:
|
translation:
|
||||||
errors:
|
errors:
|
||||||
quota_exceeded: Prekoračena je kvota korišćenja usluge prevođenja na celom serveru.
|
quota_exceeded: Prekoračena je kvota korišćenja usluge prevođenja na celom serveru.
|
||||||
|
@ -1863,7 +1864,7 @@ sr-Latn:
|
||||||
here_is_how: Evo kako
|
here_is_how: Evo kako
|
||||||
hint_html: "<strong>Verifikacija vašeg identiteta na Mastodon-u je za svakoga.</strong> Zasnovano na otvorenim veb standardima, sada i zauvek besplatno. Sve što vam treba je lični veb sajt po kome vas ljudi prepoznaju. Kada se povežete sa ovim veb sajtom sa svog profila, proverićemo da li je veb sajt povezan sa vašim profilom i na njemu ćemo prikazati vizuelni indikator."
|
hint_html: "<strong>Verifikacija vašeg identiteta na Mastodon-u je za svakoga.</strong> Zasnovano na otvorenim veb standardima, sada i zauvek besplatno. Sve što vam treba je lični veb sajt po kome vas ljudi prepoznaju. Kada se povežete sa ovim veb sajtom sa svog profila, proverićemo da li je veb sajt povezan sa vašim profilom i na njemu ćemo prikazati vizuelni indikator."
|
||||||
instructions_html: Kopirajte i nalepite kod ispod u HTML svog veb sajta. Zatim dodajte adresu svog veb sajta u jedno od dodatnih polja na svom profilu sa kartice „Uredi profil” i sačuvajte promene.
|
instructions_html: Kopirajte i nalepite kod ispod u HTML svog veb sajta. Zatim dodajte adresu svog veb sajta u jedno od dodatnih polja na svom profilu sa kartice „Uredi profil” i sačuvajte promene.
|
||||||
verification: Provera
|
verification: Verifikacija
|
||||||
verified_links: Vaše verifikovane veze
|
verified_links: Vaše verifikovane veze
|
||||||
webauthn_credentials:
|
webauthn_credentials:
|
||||||
add: Dodajte novi sigurnosni ključ
|
add: Dodajte novi sigurnosni ključ
|
||||||
|
|
|
@ -1151,7 +1151,7 @@ sr:
|
||||||
x_seconds: "%{count} сек."
|
x_seconds: "%{count} сек."
|
||||||
deletes:
|
deletes:
|
||||||
challenge_not_passed: Лозинка коју сте унели није била исправна
|
challenge_not_passed: Лозинка коју сте унели није била исправна
|
||||||
confirm_password: Унесите тренутну лозинку да бисмо проверили Ваш идентитет
|
confirm_password: Унесите тренутну лозинку за верификацију вашег идентитета
|
||||||
confirm_username: Унесите своје корисничко име да бисте потврдили процедуру
|
confirm_username: Унесите своје корисничко име да бисте потврдили процедуру
|
||||||
proceed: Обриши налог
|
proceed: Обриши налог
|
||||||
success_msg: Ваш налог је успешно обрисан
|
success_msg: Ваш налог је успешно обрисан
|
||||||
|
@ -1209,8 +1209,8 @@ sr:
|
||||||
'406': Ова страница није доступна у изабраном формату.
|
'406': Ова страница није доступна у изабраном формату.
|
||||||
'410': Страна коју сте тражили више не постоји.
|
'410': Страна коју сте тражили више не постоји.
|
||||||
'422':
|
'422':
|
||||||
content: Безбедоносна провера није успела. Да не блокирате колачиће?
|
content: Безбедоносна верификација није успела. Да ли блокирате колачиће?
|
||||||
title: Безбедоносна провера није успела
|
title: Безбедоносна верификација није успела
|
||||||
'429': Успоред
|
'429': Успоред
|
||||||
'500':
|
'500':
|
||||||
content: Извињавамо се, нешто је пошло по злу са ове стране.
|
content: Извињавамо се, нешто је пошло по злу са ове стране.
|
||||||
|
@ -1296,7 +1296,7 @@ sr:
|
||||||
one: "<strong>%{count}</strong> ставка која се поклапа са Вашом претрагом је изабрана."
|
one: "<strong>%{count}</strong> ставка која се поклапа са Вашом претрагом је изабрана."
|
||||||
other: Свих <strong>%{count}</strong> ставки које се поклапају са Вашом претрагом су изабране.
|
other: Свих <strong>%{count}</strong> ставки које се поклапају са Вашом претрагом су изабране.
|
||||||
cancel: Откажи
|
cancel: Откажи
|
||||||
changes_saved_msg: Измене успешно сачуване!
|
changes_saved_msg: Промене су успешно сачуване!
|
||||||
confirm: Потврди
|
confirm: Потврди
|
||||||
copy: Копирај
|
copy: Копирај
|
||||||
delete: Избриши
|
delete: Избриши
|
||||||
|
@ -1770,6 +1770,7 @@ sr:
|
||||||
default: "%d %b %Y, %H:%M"
|
default: "%d %b %Y, %H:%M"
|
||||||
month: "%b %Y"
|
month: "%b %Y"
|
||||||
time: "%H:%M"
|
time: "%H:%M"
|
||||||
|
with_time_zone: "%d. %b %Y, %H:%M %Z"
|
||||||
translation:
|
translation:
|
||||||
errors:
|
errors:
|
||||||
quota_exceeded: Прекорачена је квота коришћења услуге превођења на целом серверу.
|
quota_exceeded: Прекорачена је квота коришћења услуге превођења на целом серверу.
|
||||||
|
@ -1863,7 +1864,7 @@ sr:
|
||||||
here_is_how: Ево како
|
here_is_how: Ево како
|
||||||
hint_html: "<strong>Верификација вашег идентитета на Mastodon-у је за свакога.</strong> Засновано на отвореним веб стандардима, сада и заувек бесплатно. Све што вам треба је лични веб сајт по коме вас људи препознају. Када се повежете са овим веб сајтом са свог профила, проверићемо да ли је веб сајт повезан са вашим профилом и на њему ћемо приказати визуелни индикатор."
|
hint_html: "<strong>Верификација вашег идентитета на Mastodon-у је за свакога.</strong> Засновано на отвореним веб стандардима, сада и заувек бесплатно. Све што вам треба је лични веб сајт по коме вас људи препознају. Када се повежете са овим веб сајтом са свог профила, проверићемо да ли је веб сајт повезан са вашим профилом и на њему ћемо приказати визуелни индикатор."
|
||||||
instructions_html: Копирајте и налепите код испод у HTML свог веб сајта. Затим додајте адресу свог веб сајта у једно од додатних поља на свом профилу са картице „Уреди профил” и сачувајте промене.
|
instructions_html: Копирајте и налепите код испод у HTML свог веб сајта. Затим додајте адресу свог веб сајта у једно од додатних поља на свом профилу са картице „Уреди профил” и сачувајте промене.
|
||||||
verification: Провера
|
verification: Верификација
|
||||||
verified_links: Ваше верификоване везе
|
verified_links: Ваше верификоване везе
|
||||||
webauthn_credentials:
|
webauthn_credentials:
|
||||||
add: Додајте нови сигурносни кључ
|
add: Додајте нови сигурносни кључ
|
||||||
|
|
|
@ -1513,7 +1513,7 @@ vi:
|
||||||
activity: Tương tác
|
activity: Tương tác
|
||||||
confirm_follow_selected_followers: Bạn có chắc muốn theo dõi những người đã chọn?
|
confirm_follow_selected_followers: Bạn có chắc muốn theo dõi những người đã chọn?
|
||||||
confirm_remove_selected_followers: Bạn có chắc muốn bỏ theo dõi những người đã chọn?
|
confirm_remove_selected_followers: Bạn có chắc muốn bỏ theo dõi những người đã chọn?
|
||||||
confirm_remove_selected_follows: Bạn có chắc muốn xoá những người theo dõi bạn đã chọn không?
|
confirm_remove_selected_follows: Bạn có chắc muốn xóa những người theo dõi bạn đã chọn không?
|
||||||
dormant: Chưa
|
dormant: Chưa
|
||||||
follow_failure: Không thể theo dõi một số tài khoản đã chọn.
|
follow_failure: Không thể theo dõi một số tài khoản đã chọn.
|
||||||
follow_selected_followers: Theo dõi những người đã chọn
|
follow_selected_followers: Theo dõi những người đã chọn
|
||||||
|
|
|
@ -626,13 +626,13 @@ zh-CN:
|
||||||
statuses_description_html: 在与该账号的通信中将引用违规内容
|
statuses_description_html: 在与该账号的通信中将引用违规内容
|
||||||
summary:
|
summary:
|
||||||
action_preambles:
|
action_preambles:
|
||||||
delete_html: 您即将<strong>删除</strong> <strong>@%{acct}</strong> 的一些帖子。 这将:
|
delete_html: 您即将<strong>删除</strong> <strong>@%{acct}</strong> 的一些嘟文。 这将:
|
||||||
mark_as_sensitive_html: 您即将 <strong>标记</strong> <strong>@%{acct}</strong> 的帖一些子为 <strong>敏感</strong>。这将:
|
mark_as_sensitive_html: 您即将 <strong>标记</strong> <strong>@%{acct}</strong> 的帖一些子为 <strong>敏感</strong>。这将:
|
||||||
silence_html: 您即将<strong>限制</strong> <strong>@%{acct}</strong> 的帐户。 这将:
|
silence_html: 您即将<strong>限制</strong> <strong>@%{acct}</strong> 的帐户。 这将:
|
||||||
suspend_html: 您即将<strong>暂停</strong> <strong>@%{acct}</strong> 的帐户。 这将:
|
suspend_html: 您即将<strong>暂停</strong> <strong>@%{acct}</strong> 的帐户。 这将:
|
||||||
actions:
|
actions:
|
||||||
delete_html: 删除违规帖子
|
delete_html: 删除违规嘟文
|
||||||
mark_as_sensitive_html: 将违规帖子的媒体标记为敏感
|
mark_as_sensitive_html: 将违规嘟文的媒体标记为敏感
|
||||||
silence_html: 严格限制 <strong>@%{acct}</strong> 的影响力,方法是让他们的个人资料和内容仅对已经关注他们的人可见,或手动查找其个人资料时
|
silence_html: 严格限制 <strong>@%{acct}</strong> 的影响力,方法是让他们的个人资料和内容仅对已经关注他们的人可见,或手动查找其个人资料时
|
||||||
suspend_html: 暂停 <strong>@%{acct}</strong>,使他们的个人资料和内容无法访问,也无法与之互动
|
suspend_html: 暂停 <strong>@%{acct}</strong>,使他们的个人资料和内容无法访问,也无法与之互动
|
||||||
close_report: '将报告 #%{id} 标记为已解决'
|
close_report: '将报告 #%{id} 标记为已解决'
|
||||||
|
@ -759,7 +759,7 @@ zh-CN:
|
||||||
open: 开放注册
|
open: 开放注册
|
||||||
security:
|
security:
|
||||||
authorized_fetch: 需要跨站认证
|
authorized_fetch: 需要跨站认证
|
||||||
authorized_fetch_hint: 要求跨站验证可以更严格地执行用户级和服务器级的封锁。然而,这会产生性能上的代价,减少你的回复触达范围,并可能导致与一些联邦服务的兼容问题。此外,这并不能阻止专门的参与者获取你的公共帖子和账户。
|
authorized_fetch_hint: 要求外站请求通过验证能够使用户级别与服务器级别的封锁更为严格。然而,这将带来额外的性能负担、减少回复触达范围、并可能导致与一些联邦宇宙服务的兼容性问题。此外,这并不能阻止他人针对性地获取公开嘟文与账户。
|
||||||
authorized_fetch_overridden_hint: 由于此设置被环境变量覆盖,目前无法更改。
|
authorized_fetch_overridden_hint: 由于此设置被环境变量覆盖,目前无法更改。
|
||||||
federation_authentication: 强制跨站认证
|
federation_authentication: 强制跨站认证
|
||||||
title: 服务器设置
|
title: 服务器设置
|
||||||
|
@ -1164,7 +1164,7 @@ zh-CN:
|
||||||
invalid_domain: 不是一个有效的域名
|
invalid_domain: 不是一个有效的域名
|
||||||
edit_profile:
|
edit_profile:
|
||||||
basic_information: 基本信息
|
basic_information: 基本信息
|
||||||
hint_html: "<strong>自定义公开资料和帖子旁边显示的内容。</strong>当您填写完整的个人资料并设置了头像时,其他人更有可能关注您并与您互动。"
|
hint_html: "<strong>自定义公开资料和嘟文旁边显示的内容。</strong>当您填写完整的个人资料并设置了头像时,其他人更有可能关注您并与您互动。"
|
||||||
other: 其他
|
other: 其他
|
||||||
errors:
|
errors:
|
||||||
'400': 你提交的请求无效或格式不正确。
|
'400': 你提交的请求无效或格式不正确。
|
||||||
|
@ -1499,7 +1499,7 @@ zh-CN:
|
||||||
privacy: 隐私
|
privacy: 隐私
|
||||||
privacy_hint_html: 控制你愿意向他人透露多少信息。通过浏览他人的关注列表和查看他们发嘟所用的应用,人们可以发现有趣的用户和酷炫的应用,但你可能更喜欢将其隐藏起来。
|
privacy_hint_html: 控制你愿意向他人透露多少信息。通过浏览他人的关注列表和查看他们发嘟所用的应用,人们可以发现有趣的用户和酷炫的应用,但你可能更喜欢将其隐藏起来。
|
||||||
reach: 范围
|
reach: 范围
|
||||||
reach_hint_html: 控制您是否希望被新人发现和关注。您是否希望您的帖子出现在“探索”屏幕上?您是否希望其他人在关注推荐中看到您?您是想自动接受所有新粉丝,还是对每个粉丝都进行仔细的筛选?
|
reach_hint_html: 控制您是否希望被新人发现和关注。您是否希望您的嘟文出现在“探索”页面上?您是否希望其他人在关注推荐中看到您?您是想自动接受所有新粉丝,还是对每个粉丝都进行仔细的筛选?
|
||||||
search: 搜索
|
search: 搜索
|
||||||
search_hint_html: 控制你希望被找到的方式。你想让人们通过你公开发布的内容来找到你吗?当在网络上搜索时,你是否希望Mastodon之外的人能够找到你的个人资料?请注意,我们无法保证完全排除所有搜索引擎对公开信息的索引。
|
search_hint_html: 控制你希望被找到的方式。你想让人们通过你公开发布的内容来找到你吗?当在网络上搜索时,你是否希望Mastodon之外的人能够找到你的个人资料?请注意,我们无法保证完全排除所有搜索引擎对公开信息的索引。
|
||||||
title: 隐私与可达性
|
title: 隐私与可达性
|
||||||
|
|
|
@ -5,7 +5,7 @@ require_relative 'base'
|
||||||
module Mastodon::CLI
|
module Mastodon::CLI
|
||||||
class Maintenance < Base
|
class Maintenance < Base
|
||||||
MIN_SUPPORTED_VERSION = 2019_10_01_213028
|
MIN_SUPPORTED_VERSION = 2019_10_01_213028
|
||||||
MAX_SUPPORTED_VERSION = 2022_11_04_133904
|
MAX_SUPPORTED_VERSION = 2023_09_07_150100
|
||||||
|
|
||||||
# Stubs to enjoy ActiveRecord queries while not depending on a particular
|
# Stubs to enjoy ActiveRecord queries while not depending on a particular
|
||||||
# version of the code/database
|
# version of the code/database
|
||||||
|
@ -37,6 +37,8 @@ module Mastodon::CLI
|
||||||
class CanonicalEmailBlock < ApplicationRecord; end
|
class CanonicalEmailBlock < ApplicationRecord; end
|
||||||
class Appeal < ApplicationRecord; end
|
class Appeal < ApplicationRecord; end
|
||||||
class Webhook < ApplicationRecord; end
|
class Webhook < ApplicationRecord; end
|
||||||
|
class BulkImport < ApplicationRecord; end
|
||||||
|
class SoftwareUpdate < ApplicationRecord; end
|
||||||
|
|
||||||
class PreviewCard < ApplicationRecord
|
class PreviewCard < ApplicationRecord
|
||||||
self.inheritance_column = false
|
self.inheritance_column = false
|
||||||
|
@ -86,6 +88,7 @@ module Mastodon::CLI
|
||||||
owned_classes << FollowRecommendationSuppression if ActiveRecord::Base.connection.table_exists?(:follow_recommendation_suppressions)
|
owned_classes << FollowRecommendationSuppression if ActiveRecord::Base.connection.table_exists?(:follow_recommendation_suppressions)
|
||||||
owned_classes << AccountIdentityProof if ActiveRecord::Base.connection.table_exists?(:account_identity_proofs)
|
owned_classes << AccountIdentityProof if ActiveRecord::Base.connection.table_exists?(:account_identity_proofs)
|
||||||
owned_classes << Appeal if ActiveRecord::Base.connection.table_exists?(:appeals)
|
owned_classes << Appeal if ActiveRecord::Base.connection.table_exists?(:appeals)
|
||||||
|
owned_classes << BulkImport if ActiveRecord::Base.connection.table_exists?(:bulk_imports)
|
||||||
|
|
||||||
owned_classes.each do |klass|
|
owned_classes.each do |klass|
|
||||||
klass.where(account_id: other_account.id).find_each do |record|
|
klass.where(account_id: other_account.id).find_each do |record|
|
||||||
|
@ -169,6 +172,7 @@ module Mastodon::CLI
|
||||||
deduplicate_tags!
|
deduplicate_tags!
|
||||||
deduplicate_webauthn_credentials!
|
deduplicate_webauthn_credentials!
|
||||||
deduplicate_webhooks!
|
deduplicate_webhooks!
|
||||||
|
deduplicate_software_updates!
|
||||||
|
|
||||||
Scenic.database.refresh_materialized_view('instances', concurrently: true, cascade: false) if ActiveRecord::Migrator.current_version >= 2020_12_06_004238
|
Scenic.database.refresh_materialized_view('instances', concurrently: true, cascade: false) if ActiveRecord::Migrator.current_version >= 2020_12_06_004238
|
||||||
Rails.cache.clear
|
Rails.cache.clear
|
||||||
|
@ -204,6 +208,7 @@ module Mastodon::CLI
|
||||||
ActiveRecord::Base.connection.execute('REINDEX INDEX search_index;')
|
ActiveRecord::Base.connection.execute('REINDEX INDEX search_index;')
|
||||||
ActiveRecord::Base.connection.execute('REINDEX INDEX index_accounts_on_uri;')
|
ActiveRecord::Base.connection.execute('REINDEX INDEX index_accounts_on_uri;')
|
||||||
ActiveRecord::Base.connection.execute('REINDEX INDEX index_accounts_on_url;')
|
ActiveRecord::Base.connection.execute('REINDEX INDEX index_accounts_on_url;')
|
||||||
|
ActiveRecord::Base.connection.execute('REINDEX INDEX index_accounts_on_domain_and_id;') if ActiveRecord::Migrator.current_version >= 2023_05_24_190515
|
||||||
end
|
end
|
||||||
|
|
||||||
def deduplicate_users!
|
def deduplicate_users!
|
||||||
|
@ -241,6 +246,8 @@ module Mastodon::CLI
|
||||||
else
|
else
|
||||||
ActiveRecord::Base.connection.add_index :users, ['reset_password_token'], name: 'index_users_on_reset_password_token', unique: true, where: 'reset_password_token IS NOT NULL', opclass: :text_pattern_ops
|
ActiveRecord::Base.connection.add_index :users, ['reset_password_token'], name: 'index_users_on_reset_password_token', unique: true, where: 'reset_password_token IS NOT NULL', opclass: :text_pattern_ops
|
||||||
end
|
end
|
||||||
|
|
||||||
|
ActiveRecord::Base.connection.execute('REINDEX INDEX index_users_on_unconfirmed_email;') if ActiveRecord::Migrator.current_version >= 2023_07_02_151753
|
||||||
end
|
end
|
||||||
|
|
||||||
def deduplicate_users_process_confirmation_token
|
def deduplicate_users_process_confirmation_token
|
||||||
|
@ -541,6 +548,11 @@ module Mastodon::CLI
|
||||||
ActiveRecord::Base.connection.add_index :webhooks, ['url'], name: 'index_webhooks_on_url', unique: true
|
ActiveRecord::Base.connection.add_index :webhooks, ['url'], name: 'index_webhooks_on_url', unique: true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def deduplicate_software_updates!
|
||||||
|
# Not bothering with this, it's data that will be recovered with the scheduler
|
||||||
|
SoftwareUpdate.delete_all
|
||||||
|
end
|
||||||
|
|
||||||
def deduplicate_local_accounts!(accounts)
|
def deduplicate_local_accounts!(accounts)
|
||||||
accounts = accounts.sort_by(&:id).reverse
|
accounts = accounts.sort_by(&:id).reverse
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,8 @@ module Paperclip
|
||||||
unless eligible_to_passthrough?(metadata)
|
unless eligible_to_passthrough?(metadata)
|
||||||
size_limit_in_bits = MediaAttachment::VIDEO_LIMIT * 8
|
size_limit_in_bits = MediaAttachment::VIDEO_LIMIT * 8
|
||||||
desired_bitrate = (metadata.width * metadata.height * 30 * BITS_PER_PIXEL).floor
|
desired_bitrate = (metadata.width * metadata.height * 30 * BITS_PER_PIXEL).floor
|
||||||
maximum_bitrate = (size_limit_in_bits / metadata.duration).floor - 192_000 # Leave some space for the audio stream
|
duration = [metadata.duration, 1].max
|
||||||
|
maximum_bitrate = (size_limit_in_bits / duration).floor - 192_000 # Leave some space for the audio stream
|
||||||
bitrate = [desired_bitrate, maximum_bitrate].min
|
bitrate = [desired_bitrate, maximum_bitrate].min
|
||||||
|
|
||||||
@output_options['b:v'] = bitrate
|
@output_options['b:v'] = bitrate
|
||||||
|
|
165
yarn.lock
165
yarn.lock
|
@ -1298,16 +1298,11 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint-visitor-keys "^3.3.0"
|
eslint-visitor-keys "^3.3.0"
|
||||||
|
|
||||||
"@eslint-community/regexpp@^4.5.1":
|
"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1":
|
||||||
version "4.8.1"
|
version "4.8.1"
|
||||||
resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.8.1.tgz#8c4bb756cc2aa7eaf13cfa5e69c83afb3260c20c"
|
resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.8.1.tgz#8c4bb756cc2aa7eaf13cfa5e69c83afb3260c20c"
|
||||||
integrity sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==
|
integrity sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==
|
||||||
|
|
||||||
"@eslint-community/regexpp@^4.6.1":
|
|
||||||
version "4.8.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.8.0.tgz#11195513186f68d42fbf449f9a7136b2c0c92005"
|
|
||||||
integrity sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==
|
|
||||||
|
|
||||||
"@eslint/eslintrc@^2.1.2":
|
"@eslint/eslintrc@^2.1.2":
|
||||||
version "2.1.2"
|
version "2.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396"
|
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396"
|
||||||
|
@ -1323,10 +1318,10 @@
|
||||||
minimatch "^3.1.2"
|
minimatch "^3.1.2"
|
||||||
strip-json-comments "^3.1.1"
|
strip-json-comments "^3.1.1"
|
||||||
|
|
||||||
"@eslint/js@8.49.0":
|
"@eslint/js@8.50.0":
|
||||||
version "8.49.0"
|
version "8.50.0"
|
||||||
resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.49.0.tgz#86f79756004a97fa4df866835093f1df3d03c333"
|
resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.50.0.tgz#9e93b850f0f3fa35f5fa59adfd03adae8488e484"
|
||||||
integrity sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==
|
integrity sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==
|
||||||
|
|
||||||
"@floating-ui/core@^1.3.1":
|
"@floating-ui/core@^1.3.1":
|
||||||
version "1.3.1"
|
version "1.3.1"
|
||||||
|
@ -1818,9 +1813,9 @@
|
||||||
integrity sha512-tOQQBVH8LsUpGXqDnk+kaOGVsgZ8maHAhEiw3Git3p88q+c0Slgu47HuDnL6sVxeCfz24zbq7dOjsVYDiTpDIA==
|
integrity sha512-tOQQBVH8LsUpGXqDnk+kaOGVsgZ8maHAhEiw3Git3p88q+c0Slgu47HuDnL6sVxeCfz24zbq7dOjsVYDiTpDIA==
|
||||||
|
|
||||||
"@reduxjs/toolkit@^1.9.5":
|
"@reduxjs/toolkit@^1.9.5":
|
||||||
version "1.9.5"
|
version "1.9.6"
|
||||||
resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-1.9.5.tgz#d3987849c24189ca483baa7aa59386c8e52077c4"
|
resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-1.9.6.tgz#fc968b45fe5b17ff90932c4556960d9c1078365a"
|
||||||
integrity sha512-Rt97jHmfTeaxL4swLRNPD/zV4OxTes4la07Xc4hetpUW/vc75t5m1ANyxG6ymnEQ2FsLQsoMlYB2vV1sO3m8tQ==
|
integrity sha512-Gc4ikl90ORF4viIdAkY06JNUnODjKfGxZRwATM30EdHq8hLSVoSrwXne5dd739yenP5bJxAX7tLuOWK5RPGtrw==
|
||||||
dependencies:
|
dependencies:
|
||||||
immer "^9.0.21"
|
immer "^9.0.21"
|
||||||
redux "^4.2.1"
|
redux "^4.2.1"
|
||||||
|
@ -2114,24 +2109,24 @@
|
||||||
"@babel/types" "^7.20.7"
|
"@babel/types" "^7.20.7"
|
||||||
|
|
||||||
"@types/body-parser@*":
|
"@types/body-parser@*":
|
||||||
version "1.19.2"
|
version "1.19.3"
|
||||||
resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0"
|
resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.3.tgz#fb558014374f7d9e56c8f34bab2042a3a07d25cd"
|
||||||
integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==
|
integrity sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/connect" "*"
|
"@types/connect" "*"
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
|
|
||||||
"@types/connect@*":
|
"@types/connect@*":
|
||||||
version "3.4.35"
|
version "3.4.36"
|
||||||
resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1"
|
resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.36.tgz#e511558c15a39cb29bd5357eebb57bd1459cd1ab"
|
||||||
integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==
|
integrity sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
|
|
||||||
"@types/emoji-mart@^3.0.9":
|
"@types/emoji-mart@^3.0.9":
|
||||||
version "3.0.9"
|
version "3.0.10"
|
||||||
resolved "https://registry.yarnpkg.com/@types/emoji-mart/-/emoji-mart-3.0.9.tgz#2f7ef5d9ec194f28029c46c81a5fc1e5b0efa73c"
|
resolved "https://registry.yarnpkg.com/@types/emoji-mart/-/emoji-mart-3.0.10.tgz#d2248c08758094377bd8f438cf13b1364b8b6649"
|
||||||
integrity sha512-qdBo/2Y8MXaJ/2spKjDZocuq79GpnOhkwMHnK2GnVFa8WYFgfA+ei6sil3aeWQPCreOKIx9ogPpR5+7MaOqYAA==
|
integrity sha512-WP5Vw1CLsTQpPT/Hj+shIMC5TB4pyoJourYQe01ceYtJVEopTwuXbCTE6f7aHOKj26E/Y+oZaPtKBtnG1S4d2Q==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/react" "*"
|
"@types/react" "*"
|
||||||
|
|
||||||
|
@ -2159,9 +2154,9 @@
|
||||||
integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
|
integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
|
||||||
|
|
||||||
"@types/express-serve-static-core@^4.17.33":
|
"@types/express-serve-static-core@^4.17.33":
|
||||||
version "4.17.35"
|
version "4.17.37"
|
||||||
resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz#c95dd4424f0d32e525d23812aa8ab8e4d3906c4f"
|
resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.37.tgz#7e4b7b59da9142138a2aaa7621f5abedce8c7320"
|
||||||
integrity sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==
|
integrity sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
"@types/qs" "*"
|
"@types/qs" "*"
|
||||||
|
@ -2169,9 +2164,9 @@
|
||||||
"@types/send" "*"
|
"@types/send" "*"
|
||||||
|
|
||||||
"@types/express@^4.17.17":
|
"@types/express@^4.17.17":
|
||||||
version "4.17.17"
|
version "4.17.18"
|
||||||
resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.17.tgz#01d5437f6ef9cfa8668e616e13c2f2ac9a491ae4"
|
resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.18.tgz#efabf5c4495c1880df1bdffee604b143b29c4a95"
|
||||||
integrity sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==
|
integrity sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/body-parser" "*"
|
"@types/body-parser" "*"
|
||||||
"@types/express-serve-static-core" "^4.17.33"
|
"@types/express-serve-static-core" "^4.17.33"
|
||||||
|
@ -2206,6 +2201,11 @@
|
||||||
"@types/react" "*"
|
"@types/react" "*"
|
||||||
hoist-non-react-statics "^3.3.0"
|
hoist-non-react-statics "^3.3.0"
|
||||||
|
|
||||||
|
"@types/http-errors@*":
|
||||||
|
version "2.0.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.2.tgz#a86e00bbde8950364f8e7846687259ffcd96e8c2"
|
||||||
|
integrity sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==
|
||||||
|
|
||||||
"@types/http-link-header@^1.0.3":
|
"@types/http-link-header@^1.0.3":
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/@types/http-link-header/-/http-link-header-1.0.3.tgz#899adf1d8d2036074514f3dbd148fb901ceff920"
|
resolved "https://registry.yarnpkg.com/@types/http-link-header/-/http-link-header-1.0.3.tgz#899adf1d8d2036074514f3dbd148fb901ceff920"
|
||||||
|
@ -2280,9 +2280,9 @@
|
||||||
integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
|
integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
|
||||||
|
|
||||||
"@types/lodash@^4.14.195":
|
"@types/lodash@^4.14.195":
|
||||||
version "4.14.198"
|
version "4.14.199"
|
||||||
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.198.tgz#4d27465257011aedc741a809f1269941fa2c5d4c"
|
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.199.tgz#c3edb5650149d847a277a8961a7ad360c474e9bf"
|
||||||
integrity sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg==
|
integrity sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==
|
||||||
|
|
||||||
"@types/mime@*":
|
"@types/mime@*":
|
||||||
version "3.0.1"
|
version "3.0.1"
|
||||||
|
@ -2305,9 +2305,9 @@
|
||||||
integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==
|
integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==
|
||||||
|
|
||||||
"@types/node@*":
|
"@types/node@*":
|
||||||
version "20.6.2"
|
version "20.6.5"
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.6.2.tgz#a065925409f59657022e9063275cd0b9bd7e1b12"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.6.5.tgz#4c6a79adf59a8e8193ac87a0e522605b16587258"
|
||||||
integrity sha512-Y+/1vGBHV/cYk6OI1Na/LHzwnlNCAfU3ZNGrc1LdRe/LAIbdDPTTv/HU3M7yXN448aTVDq3eKRm2cg7iKLb8gw==
|
integrity sha512-2qGq5LAOTh9izcc0+F+dToFigBWiK1phKPt7rNhOqJSr35y8rlIBjDwGtFSgAI6MGIhjwOVNSQZVdJsZJ2uR1w==
|
||||||
|
|
||||||
"@types/node@14 || 16 || 17":
|
"@types/node@14 || 16 || 17":
|
||||||
version "17.0.45"
|
version "17.0.45"
|
||||||
|
@ -2315,9 +2315,9 @@
|
||||||
integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==
|
integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==
|
||||||
|
|
||||||
"@types/normalize-package-data@^2.4.0":
|
"@types/normalize-package-data@^2.4.0":
|
||||||
version "2.4.1"
|
version "2.4.2"
|
||||||
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301"
|
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.2.tgz#9b0e3e8533fe5024ad32d6637eb9589988b6fdca"
|
||||||
integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==
|
integrity sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==
|
||||||
|
|
||||||
"@types/npmlog@^4.1.4":
|
"@types/npmlog@^4.1.4":
|
||||||
version "4.1.4"
|
version "4.1.4"
|
||||||
|
@ -2335,9 +2335,9 @@
|
||||||
integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
|
integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
|
||||||
|
|
||||||
"@types/pg@^8.6.6":
|
"@types/pg@^8.6.6":
|
||||||
version "8.10.2"
|
version "8.10.3"
|
||||||
resolved "https://registry.yarnpkg.com/@types/pg/-/pg-8.10.2.tgz#7814d1ca02c8071f4d0864c1b17c589b061dba43"
|
resolved "https://registry.yarnpkg.com/@types/pg/-/pg-8.10.3.tgz#39b3acba4f313a65c8fbb4b241fcb21cc1ba4126"
|
||||||
integrity sha512-MKFs9P6nJ+LAeHLU3V0cODEOgyThJ3OAnmOlsZsxux6sfQs3HRXR5bBn7xG5DjckEFhTAxsXi7k7cd0pCMxpJw==
|
integrity sha512-BACzsw64lCZesclRpZGu55tnqgFAYcrCBP92xLh1KLypZLCOsvJTSTgaoFVTy3lCys/aZTQzfeDxtjwrvdzL2g==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
pg-protocol "*"
|
pg-protocol "*"
|
||||||
|
@ -2349,9 +2349,9 @@
|
||||||
integrity sha512-O397rnSS9iQI4OirieAtsDqvCj4+3eY1J+EPdNTKuHuRWIfUoGyzX294o8C4KJYaLqgSrd2o60c5EqCU8Zv02g==
|
integrity sha512-O397rnSS9iQI4OirieAtsDqvCj4+3eY1J+EPdNTKuHuRWIfUoGyzX294o8C4KJYaLqgSrd2o60c5EqCU8Zv02g==
|
||||||
|
|
||||||
"@types/prop-types@*", "@types/prop-types@^15.7.5":
|
"@types/prop-types@*", "@types/prop-types@^15.7.5":
|
||||||
version "15.7.6"
|
version "15.7.7"
|
||||||
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.6.tgz#bbf819813d6be21011b8f5801058498bec555572"
|
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.7.tgz#f9361f7b87fd5d8188b2c998db0a1f47e9fb391a"
|
||||||
integrity sha512-RK/kBbYOQQHLYj9Z95eh7S6t7gq4Ojt/NT8HTk8bWVhA5DaF+5SMnxHKkP4gPNN3wAZkKP+VjAf0ebtYzf+fxg==
|
integrity sha512-FbtmBWCcSa2J4zL781Zf1p5YUBXQomPEcep9QZCfRfQgTxz3pJWiDFLebohZ9fFntX5ibzOkSsrJ0TEew8cAog==
|
||||||
|
|
||||||
"@types/punycode@^2.1.0":
|
"@types/punycode@^2.1.0":
|
||||||
version "2.1.0"
|
version "2.1.0"
|
||||||
|
@ -2523,10 +2523,11 @@
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
|
|
||||||
"@types/serve-static@*":
|
"@types/serve-static@*":
|
||||||
version "1.15.1"
|
version "1.15.2"
|
||||||
resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.1.tgz#86b1753f0be4f9a1bee68d459fcda5be4ea52b5d"
|
resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.2.tgz#3e5419ecd1e40e7405d34093f10befb43f63381a"
|
||||||
integrity sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==
|
integrity sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==
|
||||||
dependencies:
|
dependencies:
|
||||||
|
"@types/http-errors" "*"
|
||||||
"@types/mime" "*"
|
"@types/mime" "*"
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
|
|
||||||
|
@ -2599,14 +2600,14 @@
|
||||||
source-map "^0.6.0"
|
source-map "^0.6.0"
|
||||||
|
|
||||||
"@types/yargs-parser@*":
|
"@types/yargs-parser@*":
|
||||||
version "21.0.0"
|
version "21.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
|
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.1.tgz#07773d7160494d56aa882d7531aac7319ea67c3b"
|
||||||
integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==
|
integrity sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==
|
||||||
|
|
||||||
"@types/yargs@^17.0.24", "@types/yargs@^17.0.8":
|
"@types/yargs@^17.0.24", "@types/yargs@^17.0.8":
|
||||||
version "17.0.24"
|
version "17.0.25"
|
||||||
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.24.tgz#b3ef8d50ad4aa6aecf6ddc97c580a00f5aa11902"
|
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.25.tgz#3edd102803c97356fb4c805b2bbaf7dfc9ab6abc"
|
||||||
integrity sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==
|
integrity sha512-gy7iPgwnzNvxgAEi2bXOHWCVOG6f7xsprVJH4MjlAWeBmJ7vh/Y1kwMtUrs64ztf24zVIRCpr3n/z6gm9QIkgg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/yargs-parser" "*"
|
"@types/yargs-parser" "*"
|
||||||
|
|
||||||
|
@ -5362,9 +5363,9 @@ eslint-import-resolver-node@^0.3.7:
|
||||||
resolve "^1.22.4"
|
resolve "^1.22.4"
|
||||||
|
|
||||||
eslint-import-resolver-typescript@^3.5.5:
|
eslint-import-resolver-typescript@^3.5.5:
|
||||||
version "3.6.0"
|
version "3.6.1"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.0.tgz#36f93e1eb65a635e688e16cae4bead54552e3bbd"
|
resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz#7b983680edd3f1c5bce1a5829ae0bc2d57fe9efa"
|
||||||
integrity sha512-QTHR9ddNnn35RTxlaEnx2gCxqFlF2SEN0SE2d17SqwyM7YOSI2GHWRYp5BiRkObTUNYPupC/3Fq2a0PpT+EKpg==
|
integrity sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==
|
||||||
dependencies:
|
dependencies:
|
||||||
debug "^4.3.4"
|
debug "^4.3.4"
|
||||||
enhanced-resolve "^5.12.0"
|
enhanced-resolve "^5.12.0"
|
||||||
|
@ -5422,9 +5423,9 @@ eslint-plugin-import@~2.28.0:
|
||||||
tsconfig-paths "^3.14.2"
|
tsconfig-paths "^3.14.2"
|
||||||
|
|
||||||
eslint-plugin-jsdoc@^46.1.0:
|
eslint-plugin-jsdoc@^46.1.0:
|
||||||
version "46.8.1"
|
version "46.8.2"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.8.1.tgz#cfc649c15d460903fe8e86eda582023bb97f283a"
|
resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.8.2.tgz#3e6b1c93e91e38fe01874d45da121b56393c54a5"
|
||||||
integrity sha512-uTce7IBluPKXIQMWJkIwFsI1gv7sZRmLjctca2K5DIxPi8fSBj9f4iru42XmGwuiMyH2f3nfc60sFmnSGv4Z/A==
|
integrity sha512-5TSnD018f3tUJNne4s4gDWQflbsgOycIKEUBoCLn6XtBMgNHxQFmV8vVxUtiPxAQq8lrX85OaSG/2gnctxw9uQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@es-joy/jsdoccomment" "~0.40.1"
|
"@es-joy/jsdoccomment" "~0.40.1"
|
||||||
are-docs-informative "^0.0.2"
|
are-docs-informative "^0.0.2"
|
||||||
|
@ -5520,14 +5521,14 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4
|
||||||
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
|
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
|
||||||
|
|
||||||
eslint@^8.41.0:
|
eslint@^8.41.0:
|
||||||
version "8.49.0"
|
version "8.50.0"
|
||||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.49.0.tgz#09d80a89bdb4edee2efcf6964623af1054bf6d42"
|
resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.50.0.tgz#2ae6015fee0240fcd3f83e1e25df0287f487d6b2"
|
||||||
integrity sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==
|
integrity sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@eslint-community/eslint-utils" "^4.2.0"
|
"@eslint-community/eslint-utils" "^4.2.0"
|
||||||
"@eslint-community/regexpp" "^4.6.1"
|
"@eslint-community/regexpp" "^4.6.1"
|
||||||
"@eslint/eslintrc" "^2.1.2"
|
"@eslint/eslintrc" "^2.1.2"
|
||||||
"@eslint/js" "8.49.0"
|
"@eslint/js" "8.50.0"
|
||||||
"@humanwhocodes/config-array" "^0.11.11"
|
"@humanwhocodes/config-array" "^0.11.11"
|
||||||
"@humanwhocodes/module-importer" "^1.0.1"
|
"@humanwhocodes/module-importer" "^1.0.1"
|
||||||
"@nodelib/fs.walk" "^1.2.8"
|
"@nodelib/fs.walk" "^1.2.8"
|
||||||
|
@ -6012,9 +6013,9 @@ flat-cache@^3.0.4:
|
||||||
rimraf "^3.0.2"
|
rimraf "^3.0.2"
|
||||||
|
|
||||||
flatted@^3.2.7:
|
flatted@^3.2.7:
|
||||||
version "3.2.7"
|
version "3.2.9"
|
||||||
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
|
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf"
|
||||||
integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
|
integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==
|
||||||
|
|
||||||
follow-redirects@^1.0.0, follow-redirects@^1.15.0:
|
follow-redirects@^1.0.0, follow-redirects@^1.15.0:
|
||||||
version "1.15.2"
|
version "1.15.2"
|
||||||
|
@ -6207,9 +6208,9 @@ get-symbol-description@^1.0.0:
|
||||||
get-intrinsic "^1.1.1"
|
get-intrinsic "^1.1.1"
|
||||||
|
|
||||||
get-tsconfig@^4.5.0:
|
get-tsconfig@^4.5.0:
|
||||||
version "4.7.0"
|
version "4.7.2"
|
||||||
resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.0.tgz#06ce112a1463e93196aa90320c35df5039147e34"
|
resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.2.tgz#0dcd6fb330391d46332f4c6c1bf89a6514c2ddce"
|
||||||
integrity sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw==
|
integrity sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==
|
||||||
dependencies:
|
dependencies:
|
||||||
resolve-pkg-maps "^1.0.0"
|
resolve-pkg-maps "^1.0.0"
|
||||||
|
|
||||||
|
@ -6241,12 +6242,12 @@ glob-parent@^6.0.2:
|
||||||
is-glob "^4.0.3"
|
is-glob "^4.0.3"
|
||||||
|
|
||||||
glob@^10.2.5, glob@^10.2.6:
|
glob@^10.2.5, glob@^10.2.6:
|
||||||
version "10.3.5"
|
version "10.3.9"
|
||||||
resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.5.tgz#4c0e46b5bccd78ac42b06a7eaaeb9ee34062968e"
|
resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.9.tgz#181ae87640ecce9b2fc5b96e4e2d70b7c3629ab8"
|
||||||
integrity sha512-bYUpUD7XDEHI4Q2O5a7PXGvyw4deKR70kHiDxzQbe925wbZknhOzUt2xBgTkYL6RBcVeXYuD9iNYeqoWbBZQnA==
|
integrity sha512-2tU/LKevAQvDVuVJ9pg9Yv9xcbSh+TqHuTaXTNbQwf+0kDl9Fm6bMovi4Nm5c8TVvfxo2LLcqCGtmO9KoJaGWg==
|
||||||
dependencies:
|
dependencies:
|
||||||
foreground-child "^3.1.0"
|
foreground-child "^3.1.0"
|
||||||
jackspeak "^2.0.3"
|
jackspeak "^2.3.5"
|
||||||
minimatch "^9.0.1"
|
minimatch "^9.0.1"
|
||||||
minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
|
minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
|
||||||
path-scurry "^1.10.1"
|
path-scurry "^1.10.1"
|
||||||
|
@ -6305,9 +6306,9 @@ globals@^11.1.0:
|
||||||
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
|
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
|
||||||
|
|
||||||
globals@^13.19.0:
|
globals@^13.19.0:
|
||||||
version "13.21.0"
|
version "13.22.0"
|
||||||
resolved "https://registry.yarnpkg.com/globals/-/globals-13.21.0.tgz#163aae12f34ef502f5153cfbdd3600f36c63c571"
|
resolved "https://registry.yarnpkg.com/globals/-/globals-13.22.0.tgz#0c9fcb9c48a2494fbb5edbfee644285543eba9d8"
|
||||||
integrity sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==
|
integrity sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==
|
||||||
dependencies:
|
dependencies:
|
||||||
type-fest "^0.20.2"
|
type-fest "^0.20.2"
|
||||||
|
|
||||||
|
@ -7360,10 +7361,10 @@ iterator.prototype@^1.1.0:
|
||||||
has-tostringtag "^1.0.0"
|
has-tostringtag "^1.0.0"
|
||||||
reflect.getprototypeof "^1.0.3"
|
reflect.getprototypeof "^1.0.3"
|
||||||
|
|
||||||
jackspeak@^2.0.3:
|
jackspeak@^2.3.5:
|
||||||
version "2.3.3"
|
version "2.3.5"
|
||||||
resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.3.tgz#95e4cbcc03b3eb357bf6bcce14a903fb3d1151e1"
|
resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.5.tgz#443f237f9eeeb0d7c6ec34835ef5289bb4acb068"
|
||||||
integrity sha512-R2bUw+kVZFS/h1AZqBKrSgDmdmjApzgY0AlCPumopFiAlbUxE2gf+SCuBzQ0cP5hHmUmFYF5yw55T97Th5Kstg==
|
integrity sha512-Ratx+B8WeXLAtRJn26hrhY8S1+Jz6pxPMrkrdkgb/NstTNiqMhX0/oFVu5wX+g5n6JlEu2LPsDJmY8nRP4+alw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@isaacs/cliui" "^8.0.2"
|
"@isaacs/cliui" "^8.0.2"
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
|
@ -11221,9 +11222,9 @@ spdx-expression-parse@^3.0.0, spdx-expression-parse@^3.0.1:
|
||||||
spdx-license-ids "^3.0.0"
|
spdx-license-ids "^3.0.0"
|
||||||
|
|
||||||
spdx-license-ids@^3.0.0:
|
spdx-license-ids@^3.0.0:
|
||||||
version "3.0.13"
|
version "3.0.15"
|
||||||
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5"
|
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.15.tgz#142460aabaca062bc7cd4cc87b7d50725ed6a4ba"
|
||||||
integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==
|
integrity sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==
|
||||||
|
|
||||||
spdy-transport@^3.0.0:
|
spdy-transport@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
|
|
Loading…
Reference in New Issue