Merge pull request #3412 from ClearlyClaire/glitch-soc/merge-upstream

Merge upstream changes up to 6ba6285a73
This commit is contained in:
Claire
2026-02-20 21:29:01 +01:00
committed by GitHub
98 changed files with 1329 additions and 319 deletions

View File

@@ -47,7 +47,7 @@ class Api::Fasp::BaseController < ApplicationController
provider = nil
Linzer.verify!(request.rack_request, no_older_than: 5.minutes) do |keyid|
provider = Fasp::Provider.find(keyid)
provider = Fasp::Provider.confirmed.find(keyid)
Linzer.new_ed25519_public_key(provider.provider_public_key_pem, keyid)
end

View File

@@ -0,0 +1,11 @@
# frozen_string_literal: true
class Api::V1::ProfilesController < Api::BaseController
before_action -> { doorkeeper_authorize! :profile, :read, :'read:accounts' }
before_action :require_user!
def show
@account = current_account
render json: @account, serializer: REST::ProfileSerializer
end
end

View File

@@ -74,6 +74,7 @@ interface AccountProps {
defaultAction?: 'block' | 'mute';
withBio?: boolean;
withMenu?: boolean;
extraAccountInfo?: React.ReactNode;
children?: React.ReactNode;
}
@@ -85,6 +86,7 @@ export const Account: React.FC<AccountProps> = ({
defaultAction,
withBio,
withMenu = true,
extraAccountInfo,
children,
}) => {
const intl = useIntl();
@@ -349,6 +351,8 @@ export const Account: React.FC<AccountProps> = ({
/>
</div>
))}
{extraAccountInfo}
</div>
{!minimal && (

View File

@@ -6,9 +6,14 @@ import { useHistory, useLocation } from 'react-router-dom';
import CancelIcon from '@/material-icons/400-24px/cancel.svg?react';
import CheckIcon from '@/material-icons/400-24px/check.svg?react';
import WarningIcon from '@/material-icons/400-24px/warning.svg?react';
import { showAlertForError } from 'flavours/glitch/actions/alerts';
import { openModal } from 'flavours/glitch/actions/modal';
import { apiFollowAccount } from 'flavours/glitch/api/accounts';
import type { ApiCollectionJSON } from 'flavours/glitch/api_types/collections';
import { Account } from 'flavours/glitch/components/account';
import { Avatar } from 'flavours/glitch/components/avatar';
import { Badge } from 'flavours/glitch/components/badge';
import { Button } from 'flavours/glitch/components/button';
import { Callout } from 'flavours/glitch/components/callout';
import { DisplayName } from 'flavours/glitch/components/display_name';
@@ -21,11 +26,13 @@ import { Icon } from 'flavours/glitch/components/icon';
import { IconButton } from 'flavours/glitch/components/icon_button';
import ScrollableList from 'flavours/glitch/components/scrollable_list';
import { useSearchAccounts } from 'flavours/glitch/features/lists/use_search_accounts';
import { useAccount } from 'flavours/glitch/hooks/useAccount';
import { me } from 'flavours/glitch/initial_state';
import {
addCollectionItem,
removeCollectionItem,
} from 'flavours/glitch/reducers/slices/collections';
import { useAppDispatch, useAppSelector } from 'flavours/glitch/store';
import { store, useAppDispatch, useAppSelector } from 'flavours/glitch/store';
import type { TempCollectionState } from './state';
import { getCollectionEditorState } from './state';
@@ -35,19 +42,51 @@ import { WizardStepHeader } from './wizard_step_header';
const MIN_ACCOUNT_COUNT = 1;
const MAX_ACCOUNT_COUNT = 25;
function isOlderThanAWeek(date?: string): boolean {
if (!date) return false;
const targetDate = new Date(date);
const sevenDaysAgo = new Date();
sevenDaysAgo.setDate(sevenDaysAgo.getDate() - 7);
return targetDate < sevenDaysAgo;
}
const AddedAccountItem: React.FC<{
accountId: string;
isRemovable: boolean;
onRemove: (id: string) => void;
}> = ({ accountId, isRemovable, onRemove }) => {
const intl = useIntl();
const account = useAccount(accountId);
const handleRemoveAccount = useCallback(() => {
onRemove(accountId);
}, [accountId, onRemove]);
const lastPostHint = useMemo(
() =>
isOlderThanAWeek(account?.last_status_at) && (
<Badge
label={
<FormattedMessage
id='collections.old_last_post_note'
defaultMessage='Last posted over a week ago'
/>
}
icon={<WarningIcon />}
className={classes.accountBadge}
/>
),
[account?.last_status_at],
);
return (
<Account minimal key={accountId} id={accountId}>
<Account
minimal
key={accountId}
id={accountId}
extraAccountInfo={lastPostHint}
>
{isRemovable && (
<IconButton
title={intl.formatMessage({
@@ -69,7 +108,7 @@ interface SuggestionItem {
}
const SuggestedAccountItem: React.FC<SuggestionItem> = ({ id, isSelected }) => {
const account = useAppSelector((state) => state.accounts.get(id));
const account = useAccount(id);
if (!account) return null;
@@ -133,6 +172,7 @@ export const CollectionAccounts: React.FC<{
isLoading: isLoadingSuggestions,
searchAccounts,
} = useSearchAccounts({
withRelationships: true,
filterResults: (account) =>
// Only suggest accounts who allow being featured/recommended
account.feature_approval.current_user === 'automatic',
@@ -160,14 +200,67 @@ export const CollectionAccounts: React.FC<{
[],
);
const toggleAccountItem = useCallback((item: SuggestionItem) => {
setAccountIds((ids) =>
ids.includes(item.id)
? ids.filter((id) => id !== item.id)
: [...ids, item.id],
);
const relationships = useAppSelector((state) => state.relationships);
const confirmFollowStatus = useCallback(
(accountId: string, onFollowing: () => void) => {
const relationship = relationships.get(accountId);
if (!relationship) {
return;
}
if (
accountId === me ||
relationship.following ||
relationship.requested
) {
onFollowing();
} else {
dispatch(
openModal({
modalType: 'CONFIRM_FOLLOW_TO_COLLECTION',
modalProps: {
accountId,
onConfirm: () => {
apiFollowAccount(accountId)
.then(onFollowing)
.catch((err: unknown) => {
store.dispatch(showAlertForError(err));
});
},
},
}),
);
}
},
[dispatch, relationships],
);
const removeAccountItem = useCallback((accountId: string) => {
setAccountIds((ids) => ids.filter((id) => id !== accountId));
}, []);
const addAccountItem = useCallback(
(accountId: string) => {
confirmFollowStatus(accountId, () => {
setAccountIds((ids) => [...ids, accountId]);
});
},
[confirmFollowStatus],
);
const toggleAccountItem = useCallback(
(item: SuggestionItem) => {
if (addedAccountIds.includes(item.id)) {
removeAccountItem(item.id);
} else {
addAccountItem(item.id);
}
},
[addAccountItem, addedAccountIds, removeAccountItem],
);
const instantRemoveAccountItem = useCallback(
(accountId: string) => {
const itemId = collectionItems?.find(
@@ -190,19 +283,24 @@ export const CollectionAccounts: React.FC<{
[collectionItems, dispatch, id, intl],
);
const instantAddAccountItem = useCallback(
(collectionId: string, accountId: string) => {
confirmFollowStatus(accountId, () => {
void dispatch(addCollectionItem({ collectionId, accountId }));
});
},
[confirmFollowStatus, dispatch],
);
const instantToggleAccountItem = useCallback(
(item: SuggestionItem) => {
if (accountIds.includes(item.id)) {
instantRemoveAccountItem(item.id);
} else {
if (id) {
void dispatch(
addCollectionItem({ collectionId: id, accountId: item.id }),
);
}
} else if (id) {
instantAddAccountItem(id, item.id);
}
},
[accountIds, dispatch, id, instantRemoveAccountItem],
[accountIds, id, instantAddAccountItem, instantRemoveAccountItem],
);
const handleRemoveAccountItem = useCallback(
@@ -210,10 +308,10 @@ export const CollectionAccounts: React.FC<{
if (isEditMode) {
instantRemoveAccountItem(accountId);
} else {
setAccountIds((ids) => ids.filter((id) => id !== accountId));
removeAccountItem(accountId);
}
},
[isEditMode, instantRemoveAccountItem],
[isEditMode, instantRemoveAccountItem, removeAccountItem],
);
const handleSubmit = useCallback(

View File

@@ -86,3 +86,12 @@
margin-inline: auto;
gap: 8px;
}
.accountBadge {
margin-inline-start: 56px;
@container (width < 360px) {
margin-top: 4px;
margin-inline-start: 46px;
}
}

View File

@@ -2,19 +2,22 @@ import { useRef, useState } from 'react';
import { useDebouncedCallback } from 'use-debounce';
import { fetchRelationships } from 'flavours/glitch/actions/accounts';
import { importFetchedAccounts } from 'flavours/glitch/actions/importer';
import { apiRequest } from 'flavours/glitch/api';
import type { ApiAccountJSON } from 'flavours/glitch/api_types/accounts';
import { useAppDispatch } from 'flavours/glitch/store';
export function useSearchAccounts({
resetOnInputClear = true,
onSettled,
filterResults,
resetOnInputClear = true,
withRelationships = false,
}: {
onSettled?: (value: string) => void;
filterResults?: (account: ApiAccountJSON) => boolean;
resetOnInputClear?: boolean;
withRelationships?: boolean;
} = {}) {
const dispatch = useAppDispatch();
@@ -52,8 +55,12 @@ export function useSearchAccounts({
})
.then((data) => {
const accounts = filterResults ? data.filter(filterResults) : data;
const accountIds = accounts.map((a) => a.id);
dispatch(importFetchedAccounts(accounts));
setAccountIds(accounts.map((a) => a.id));
if (withRelationships) {
dispatch(fetchRelationships(accountIds));
}
setAccountIds(accountIds);
setLoadingState('idle');
onSettled?.(value);
})

View File

@@ -0,0 +1,43 @@
import { defineMessages, FormattedMessage, useIntl } from 'react-intl';
import { useAccount } from 'flavours/glitch/hooks/useAccount';
import type { BaseConfirmationModalProps } from './confirmation_modal';
import { ConfirmationModal } from './confirmation_modal';
const messages = defineMessages({
title: {
id: 'confirmations.follow_to_collection.title',
defaultMessage: 'Follow account?',
},
confirm: {
id: 'confirmations.follow_to_collection.confirm',
defaultMessage: 'Follow and add to collection',
},
});
export const ConfirmFollowToCollectionModal: React.FC<
{
accountId: string;
onConfirm: () => void;
} & BaseConfirmationModalProps
> = ({ accountId, onConfirm, onClose }) => {
const intl = useIntl();
const account = useAccount(accountId);
return (
<ConfirmationModal
title={intl.formatMessage(messages.title)}
message={
<FormattedMessage
id='confirmations.follow_to_collection.message'
defaultMessage='You need to be following {name} to add them to a collection.'
values={{ name: <strong>@{account?.acct}</strong> }}
/>
}
confirm={intl.formatMessage(messages.confirm)}
onConfirm={onConfirm}
onClose={onClose}
/>
);
};

View File

@@ -1,6 +1,6 @@
import { defineMessages, FormattedMessage, useIntl } from 'react-intl';
import { useAppSelector } from 'flavours/glitch/store';
import { useAccount } from 'flavours/glitch/hooks/useAccount';
import type { BaseConfirmationModalProps } from './confirmation_modal';
import { ConfirmationModal } from './confirmation_modal';
@@ -23,7 +23,7 @@ export const ConfirmFollowToListModal: React.FC<
} & BaseConfirmationModalProps
> = ({ accountId, onConfirm, onClose }) => {
const intl = useIntl();
const account = useAppSelector((state) => state.accounts.get(accountId));
const account = useAccount(accountId);
return (
<ConfirmationModal

View File

@@ -13,6 +13,7 @@ export { ConfirmUnblockModal } from './unblock';
export { ConfirmClearNotificationsModal } from './clear_notifications';
export { ConfirmLogOutModal } from './log_out';
export { ConfirmFollowToListModal } from './follow_to_list';
export { ConfirmFollowToCollectionModal } from './follow_to_collection';
export { ConfirmMissingAltTextModal } from './missing_alt_text';
export { ConfirmRevokeQuoteModal } from './revoke_quote';
export { QuietPostQuoteInfoModal } from './quiet_post_quote_info';

View File

@@ -39,6 +39,7 @@ import {
ConfirmClearNotificationsModal,
ConfirmLogOutModal,
ConfirmFollowToListModal,
ConfirmFollowToCollectionModal,
ConfirmMissingAltTextModal,
ConfirmRevokeQuoteModal,
QuietPostQuoteInfoModal,
@@ -73,6 +74,7 @@ export const MODAL_COMPONENTS = {
'CONFIRM_CLEAR_NOTIFICATIONS': () => Promise.resolve({ default: ConfirmClearNotificationsModal }),
'CONFIRM_LOG_OUT': () => Promise.resolve({ default: ConfirmLogOutModal }),
'CONFIRM_FOLLOW_TO_LIST': () => Promise.resolve({ default: ConfirmFollowToListModal }),
'CONFIRM_FOLLOW_TO_COLLECTION': () => Promise.resolve({ default: ConfirmFollowToCollectionModal }),
'CONFIRM_MISSING_ALT_TEXT': () => Promise.resolve({ default: ConfirmMissingAltTextModal }),
'CONFIRM_PRIVATE_QUOTE_NOTIFY': () => Promise.resolve({ default: PrivateQuoteNotify }),
'CONFIRM_REVOKE_QUOTE': () => Promise.resolve({ default: ConfirmRevokeQuoteModal }),

View File

@@ -73,6 +73,7 @@ interface AccountProps {
defaultAction?: 'block' | 'mute';
withBio?: boolean;
withMenu?: boolean;
extraAccountInfo?: React.ReactNode;
children?: React.ReactNode;
}
@@ -84,6 +85,7 @@ export const Account: React.FC<AccountProps> = ({
defaultAction,
withBio,
withMenu = true,
extraAccountInfo,
children,
}) => {
const intl = useIntl();
@@ -347,6 +349,8 @@ export const Account: React.FC<AccountProps> = ({
/>
</div>
))}
{extraAccountInfo}
</div>
{!minimal && (

View File

@@ -6,9 +6,14 @@ import { useHistory, useLocation } from 'react-router-dom';
import CancelIcon from '@/material-icons/400-24px/cancel.svg?react';
import CheckIcon from '@/material-icons/400-24px/check.svg?react';
import WarningIcon from '@/material-icons/400-24px/warning.svg?react';
import { showAlertForError } from 'mastodon/actions/alerts';
import { openModal } from 'mastodon/actions/modal';
import { apiFollowAccount } from 'mastodon/api/accounts';
import type { ApiCollectionJSON } from 'mastodon/api_types/collections';
import { Account } from 'mastodon/components/account';
import { Avatar } from 'mastodon/components/avatar';
import { Badge } from 'mastodon/components/badge';
import { Button } from 'mastodon/components/button';
import { Callout } from 'mastodon/components/callout';
import { DisplayName } from 'mastodon/components/display_name';
@@ -18,11 +23,13 @@ import { Icon } from 'mastodon/components/icon';
import { IconButton } from 'mastodon/components/icon_button';
import ScrollableList from 'mastodon/components/scrollable_list';
import { useSearchAccounts } from 'mastodon/features/lists/use_search_accounts';
import { useAccount } from 'mastodon/hooks/useAccount';
import { me } from 'mastodon/initial_state';
import {
addCollectionItem,
removeCollectionItem,
} from 'mastodon/reducers/slices/collections';
import { useAppDispatch, useAppSelector } from 'mastodon/store';
import { store, useAppDispatch, useAppSelector } from 'mastodon/store';
import type { TempCollectionState } from './state';
import { getCollectionEditorState } from './state';
@@ -32,19 +39,51 @@ import { WizardStepHeader } from './wizard_step_header';
const MIN_ACCOUNT_COUNT = 1;
const MAX_ACCOUNT_COUNT = 25;
function isOlderThanAWeek(date?: string): boolean {
if (!date) return false;
const targetDate = new Date(date);
const sevenDaysAgo = new Date();
sevenDaysAgo.setDate(sevenDaysAgo.getDate() - 7);
return targetDate < sevenDaysAgo;
}
const AddedAccountItem: React.FC<{
accountId: string;
isRemovable: boolean;
onRemove: (id: string) => void;
}> = ({ accountId, isRemovable, onRemove }) => {
const intl = useIntl();
const account = useAccount(accountId);
const handleRemoveAccount = useCallback(() => {
onRemove(accountId);
}, [accountId, onRemove]);
const lastPostHint = useMemo(
() =>
isOlderThanAWeek(account?.last_status_at) && (
<Badge
label={
<FormattedMessage
id='collections.old_last_post_note'
defaultMessage='Last posted over a week ago'
/>
}
icon={<WarningIcon />}
className={classes.accountBadge}
/>
),
[account?.last_status_at],
);
return (
<Account minimal key={accountId} id={accountId}>
<Account
minimal
key={accountId}
id={accountId}
extraAccountInfo={lastPostHint}
>
{isRemovable && (
<IconButton
title={intl.formatMessage({
@@ -66,7 +105,7 @@ interface SuggestionItem {
}
const SuggestedAccountItem: React.FC<SuggestionItem> = ({ id, isSelected }) => {
const account = useAppSelector((state) => state.accounts.get(id));
const account = useAccount(id);
if (!account) return null;
@@ -130,6 +169,7 @@ export const CollectionAccounts: React.FC<{
isLoading: isLoadingSuggestions,
searchAccounts,
} = useSearchAccounts({
withRelationships: true,
filterResults: (account) =>
// Only suggest accounts who allow being featured/recommended
account.feature_approval.current_user === 'automatic',
@@ -157,14 +197,67 @@ export const CollectionAccounts: React.FC<{
[],
);
const toggleAccountItem = useCallback((item: SuggestionItem) => {
setAccountIds((ids) =>
ids.includes(item.id)
? ids.filter((id) => id !== item.id)
: [...ids, item.id],
);
const relationships = useAppSelector((state) => state.relationships);
const confirmFollowStatus = useCallback(
(accountId: string, onFollowing: () => void) => {
const relationship = relationships.get(accountId);
if (!relationship) {
return;
}
if (
accountId === me ||
relationship.following ||
relationship.requested
) {
onFollowing();
} else {
dispatch(
openModal({
modalType: 'CONFIRM_FOLLOW_TO_COLLECTION',
modalProps: {
accountId,
onConfirm: () => {
apiFollowAccount(accountId)
.then(onFollowing)
.catch((err: unknown) => {
store.dispatch(showAlertForError(err));
});
},
},
}),
);
}
},
[dispatch, relationships],
);
const removeAccountItem = useCallback((accountId: string) => {
setAccountIds((ids) => ids.filter((id) => id !== accountId));
}, []);
const addAccountItem = useCallback(
(accountId: string) => {
confirmFollowStatus(accountId, () => {
setAccountIds((ids) => [...ids, accountId]);
});
},
[confirmFollowStatus],
);
const toggleAccountItem = useCallback(
(item: SuggestionItem) => {
if (addedAccountIds.includes(item.id)) {
removeAccountItem(item.id);
} else {
addAccountItem(item.id);
}
},
[addAccountItem, addedAccountIds, removeAccountItem],
);
const instantRemoveAccountItem = useCallback(
(accountId: string) => {
const itemId = collectionItems?.find(
@@ -187,19 +280,24 @@ export const CollectionAccounts: React.FC<{
[collectionItems, dispatch, id, intl],
);
const instantAddAccountItem = useCallback(
(collectionId: string, accountId: string) => {
confirmFollowStatus(accountId, () => {
void dispatch(addCollectionItem({ collectionId, accountId }));
});
},
[confirmFollowStatus, dispatch],
);
const instantToggleAccountItem = useCallback(
(item: SuggestionItem) => {
if (accountIds.includes(item.id)) {
instantRemoveAccountItem(item.id);
} else {
if (id) {
void dispatch(
addCollectionItem({ collectionId: id, accountId: item.id }),
);
}
} else if (id) {
instantAddAccountItem(id, item.id);
}
},
[accountIds, dispatch, id, instantRemoveAccountItem],
[accountIds, id, instantAddAccountItem, instantRemoveAccountItem],
);
const handleRemoveAccountItem = useCallback(
@@ -207,10 +305,10 @@ export const CollectionAccounts: React.FC<{
if (isEditMode) {
instantRemoveAccountItem(accountId);
} else {
setAccountIds((ids) => ids.filter((id) => id !== accountId));
removeAccountItem(accountId);
}
},
[isEditMode, instantRemoveAccountItem],
[isEditMode, instantRemoveAccountItem, removeAccountItem],
);
const handleSubmit = useCallback(

View File

@@ -86,3 +86,12 @@
margin-inline: auto;
gap: 8px;
}
.accountBadge {
margin-inline-start: 56px;
@container (width < 360px) {
margin-top: 4px;
margin-inline-start: 46px;
}
}

View File

@@ -2,19 +2,22 @@ import { useRef, useState } from 'react';
import { useDebouncedCallback } from 'use-debounce';
import { fetchRelationships } from 'mastodon/actions/accounts';
import { importFetchedAccounts } from 'mastodon/actions/importer';
import { apiRequest } from 'mastodon/api';
import type { ApiAccountJSON } from 'mastodon/api_types/accounts';
import { useAppDispatch } from 'mastodon/store';
export function useSearchAccounts({
resetOnInputClear = true,
onSettled,
filterResults,
resetOnInputClear = true,
withRelationships = false,
}: {
onSettled?: (value: string) => void;
filterResults?: (account: ApiAccountJSON) => boolean;
resetOnInputClear?: boolean;
withRelationships?: boolean;
} = {}) {
const dispatch = useAppDispatch();
@@ -52,8 +55,12 @@ export function useSearchAccounts({
})
.then((data) => {
const accounts = filterResults ? data.filter(filterResults) : data;
const accountIds = accounts.map((a) => a.id);
dispatch(importFetchedAccounts(accounts));
setAccountIds(accounts.map((a) => a.id));
if (withRelationships) {
dispatch(fetchRelationships(accountIds));
}
setAccountIds(accountIds);
setLoadingState('idle');
onSettled?.(value);
})

View File

@@ -0,0 +1,43 @@
import { defineMessages, FormattedMessage, useIntl } from 'react-intl';
import { useAccount } from 'mastodon/hooks/useAccount';
import type { BaseConfirmationModalProps } from './confirmation_modal';
import { ConfirmationModal } from './confirmation_modal';
const messages = defineMessages({
title: {
id: 'confirmations.follow_to_collection.title',
defaultMessage: 'Follow account?',
},
confirm: {
id: 'confirmations.follow_to_collection.confirm',
defaultMessage: 'Follow and add to collection',
},
});
export const ConfirmFollowToCollectionModal: React.FC<
{
accountId: string;
onConfirm: () => void;
} & BaseConfirmationModalProps
> = ({ accountId, onConfirm, onClose }) => {
const intl = useIntl();
const account = useAccount(accountId);
return (
<ConfirmationModal
title={intl.formatMessage(messages.title)}
message={
<FormattedMessage
id='confirmations.follow_to_collection.message'
defaultMessage='You need to be following {name} to add them to a collection.'
values={{ name: <strong>@{account?.acct}</strong> }}
/>
}
confirm={intl.formatMessage(messages.confirm)}
onConfirm={onConfirm}
onClose={onClose}
/>
);
};

View File

@@ -1,6 +1,6 @@
import { defineMessages, FormattedMessage, useIntl } from 'react-intl';
import { useAppSelector } from 'mastodon/store';
import { useAccount } from 'mastodon/hooks/useAccount';
import type { BaseConfirmationModalProps } from './confirmation_modal';
import { ConfirmationModal } from './confirmation_modal';
@@ -23,7 +23,7 @@ export const ConfirmFollowToListModal: React.FC<
} & BaseConfirmationModalProps
> = ({ accountId, onConfirm, onClose }) => {
const intl = useIntl();
const account = useAppSelector((state) => state.accounts.get(accountId));
const account = useAccount(accountId);
return (
<ConfirmationModal

View File

@@ -13,6 +13,7 @@ export { ConfirmUnblockModal } from './unblock';
export { ConfirmClearNotificationsModal } from './clear_notifications';
export { ConfirmLogOutModal } from './log_out';
export { ConfirmFollowToListModal } from './follow_to_list';
export { ConfirmFollowToCollectionModal } from './follow_to_collection';
export { ConfirmMissingAltTextModal } from './missing_alt_text';
export { ConfirmRevokeQuoteModal } from './revoke_quote';
export { QuietPostQuoteInfoModal } from './quiet_post_quote_info';

View File

@@ -38,6 +38,7 @@ import {
ConfirmClearNotificationsModal,
ConfirmLogOutModal,
ConfirmFollowToListModal,
ConfirmFollowToCollectionModal,
ConfirmMissingAltTextModal,
ConfirmRevokeQuoteModal,
QuietPostQuoteInfoModal,
@@ -67,6 +68,7 @@ export const MODAL_COMPONENTS = {
'CONFIRM_CLEAR_NOTIFICATIONS': () => Promise.resolve({ default: ConfirmClearNotificationsModal }),
'CONFIRM_LOG_OUT': () => Promise.resolve({ default: ConfirmLogOutModal }),
'CONFIRM_FOLLOW_TO_LIST': () => Promise.resolve({ default: ConfirmFollowToListModal }),
'CONFIRM_FOLLOW_TO_COLLECTION': () => Promise.resolve({ default: ConfirmFollowToCollectionModal }),
'CONFIRM_MISSING_ALT_TEXT': () => Promise.resolve({ default: ConfirmMissingAltTextModal }),
'CONFIRM_PRIVATE_QUOTE_NOTIFY': () => Promise.resolve({ default: PrivateQuoteNotify }),
'CONFIRM_REVOKE_QUOTE': () => Promise.resolve({ default: ConfirmRevokeQuoteModal }),

View File

@@ -170,9 +170,7 @@
"collections.collection_topic": "الموضوع",
"collections.content_warning": "تحذير عن المحتوى",
"collections.continue": "مواصلة",
"collections.create.settings_title": "الإعدادات",
"collections.create.steps": "الخطوة {step}/{total}",
"collections.edit_settings": "تعديل الإعدادات",
"collections.manage_accounts": "إدارة الحسابات",
"column.about": "عن",
"column.blocks": "المُستَخدِمون المَحظورون",

View File

@@ -257,7 +257,6 @@
"collections.create.accounts_subtitle": "Можна дадаць толькі ўліковыя запісы, на якія Вы падпісаныя і якія далі дазвол на тое, каб іх можна было знайсці.",
"collections.create.accounts_title": "Каго Вы дадасце ў гэтую калекцыю?",
"collections.create.basic_details_title": "Асноўныя звесткі",
"collections.create.settings_title": "Налады",
"collections.create.steps": "Крок {step}/{total}",
"collections.create_a_collection_hint": "Стварыце калекцыю, каб параіць або падзяліцца сваімі любімымі ўліковымі запісамі з іншымі.",
"collections.create_collection": "Стварыць калекцыю",
@@ -268,18 +267,14 @@
"collections.detail.curated_by_you": "Курыруеце Вы",
"collections.detail.loading": "Загружаецца калекцыя…",
"collections.detail.share": "Падзяліцца гэтай калекцыяй",
"collections.edit_details": "Змяніць асноўныя звесткі",
"collections.edit_settings": "Змяніць налады",
"collections.error_loading_collections": "Адбылася памылка падчас загрузкі Вашых калекцый.",
"collections.hints.accounts_counter": "{count} / {max} уліковых запісаў",
"collections.hints.add_more_accounts": "Дадайце як мінімум {count, plural, one {# уліковы запіс} few{# ўліковыя запісы} other {# уліковых запісаў}}, каб працягнуць",
"collections.hints.can_not_remove_more_accounts": "У калекцыі мусіць быць як мінімум {count, plural, one {# уліковы запіс} few{# ўліковыя запісы} other {# уліковых запісаў}}. Немагчыма прыбраць больш уліковых запісаў.",
"collections.last_updated_at": "Апошняе абнаўленне: {date}",
"collections.manage_accounts": "Кіраванне ўліковымі запісамі",
"collections.manage_accounts_in_collection": "Кіраванне ўліковымі запісамі ў гэтай калекцыі",
"collections.mark_as_sensitive": "Пазначыць як далікатную",
"collections.mark_as_sensitive_hint": "Схаваць апісанне калекцыі і ўліковыя запісы за банерам з папярэджаннем. Назва калекцыі застанецца бачнай.",
"collections.name_length_hint": "Максімум 100 сімвалаў",
"collections.new_collection": "Новая калекцыя",
"collections.no_collections_yet": "Пакуль няма калекцый.",
"collections.remove_account": "Прыбраць гэты ўліковы запіс",

View File

@@ -217,7 +217,6 @@
"collections.error_loading_collections": "Hi ha hagut un error en carregar les vostres coŀleccions.",
"collections.mark_as_sensitive": "Marcar com a sensible",
"collections.mark_as_sensitive_hint": "Amaga la descripció i els comptes de la coŀlecció rere un avís de contingut. El nom de la coŀlecció serà encara visible.",
"collections.name_length_hint": "Límit de 100 caràcters",
"collections.no_collections_yet": "Encara no hi ha coŀleccions.",
"collections.topic_hint": "Afegir una etiqueta que ajudi altres a entendre el tema principal de la coŀlecció.",
"collections.view_collection": "Mostra la coŀlecció",

View File

@@ -106,7 +106,15 @@
"account.mutual": "Sledujete se navzájem",
"account.name.help.domain": "{domain} je server, který hostuje profily a příspěvky uživatelů.",
"account.name.help.domain_self": "{domain} je váš server, který hostuje váš profil a příspěvky.",
"account.name.help.footer": "Stejně jako můžete posílat e-maily lidem, kteří používají různé e-mailové klienty, můžete komunikovat s lidmi na jiných Mastodon serverech a s kýmkoli na jiných sociálních aplikacích poháněných stejným souborem pravidel, jako používá Mastodon (protokol ActivityPub).",
"account.name.help.header": "Handle je jako e-mailová adresa",
"account.name.help.username": "{username} je uživatelské jméno tohoto účtu na jeho serveru. Někdo na jiném serveru může mít stejné uživatelské jméno.",
"account.name.help.username_self": "{username} je vaše uživatelské jméno na tomto serveru. Někdo na jiném serveru může mít stejné uživatelské jméno.",
"account.name_info": "Co to znamená?",
"account.no_bio": "Nebyl poskytnut žádný popis.",
"account.node_modal.callout": "Vlastní poznámky jsou viditelné pouze pro vás.",
"account.node_modal.edit_title": "Upravit vlastní poznámku",
"account.node_modal.error_unknown": "Poznámka nemohla být uložena",
"account.node_modal.field_label": "Vlastní poznámka",
"account.node_modal.save": "Uložit",
"account.node_modal.title": "Přidat vlastní poznámku",
@@ -133,8 +141,13 @@
"account.unmute": "Zrušit skrytí @{name}",
"account.unmute_notifications_short": "Zrušit ztlumení oznámení",
"account.unmute_short": "Zrušit skrytí",
"account_edit.bio.placeholder": "Přidejte krátký úvod a pomozte ostatním vás poznat.",
"account_edit.char_counter": "{currentLength}/{maxLength} znaků",
"account_edit.column_button": "Hotovo",
"account_edit.column_title": "Upravit profil",
"account_edit.custom_fields.title": "Vlastní pole",
"account_edit.save": "Uložit",
"account_edit.section_edit_button": "Upravit",
"account_note.placeholder": "Klikněte pro přidání poznámky",
"admin.dashboard.daily_retention": "Míra udržení uživatelů podle dne po registraci",
"admin.dashboard.monthly_retention": "Míra udržení uživatelů podle měsíce po registraci",
@@ -237,14 +250,18 @@
"closed_registrations_modal.find_another_server": "Najít jiný server",
"closed_registrations_modal.preamble": "Mastodon je decentralizovaný, takže bez ohledu na to, kde vytvoříte svůj účet, budete moci sledovat a komunikovat s kýmkoli na tomto serveru. Můžete ho dokonce hostovat!",
"closed_registrations_modal.title": "Registrace na Mastodon",
"collections.collection_name": "Název",
"collections.collection_topic": "Téma",
"collections.confirm_account_removal": "Jste si jisti, že chcete odstranit tento účet z této sbírky?",
"collections.content_warning": "Varování o obsahu",
"collections.continue": "Pokračovat",
"collections.mark_as_sensitive_hint": "Skryje popis kolekce a účty za varováním obsahu. Název kolekce bude stále viditelný.",
"collections.name_length_hint": "Max. 100 znaků",
"collections.new_collection": "Nová sbírka",
"collections.no_collections_yet": "Ještě nemáte žádné sbírky.",
"collections.remove_account": "Odstranit tento účet",
"collections.search_accounts_label": "Hledat účty pro přidání…",
"collections.search_accounts_max_reached": "Přidali jste maximální počet účtů",
"collections.sensitive": "Citlivé",
"collections.topic_hint": "Přidat štítek, který pomůže ostatním pochopit hlavní téma této kolekce.",
"collections.view_collection": "Zobrazit sbírku",
"collections.visibility_public": "Veřejné",

View File

@@ -141,6 +141,25 @@
"account.unmute": "Dad-dewi {name}",
"account.unmute_notifications_short": "Dad-dewi hysbysiadau",
"account.unmute_short": "Dad-anwybyddu",
"account_edit.bio.placeholder": "Ychwanegwch gyflwyniad byr i helpu eraill i'ch adnabod chi.",
"account_edit.bio.title": "Cyflwyniad",
"account_edit.bio_modal.add_title": "Ychwanegu cyflwyniad",
"account_edit.bio_modal.edit_title": "Golygu'r cyflwyniad",
"account_edit.char_counter": "{currentLength}/{maxLength} nod",
"account_edit.column_button": "Gorffen",
"account_edit.column_title": "Golygu Proffil",
"account_edit.custom_fields.placeholder": "Ychwanegwch eich rhagenwau, dolenni allanol, neu unrhyw beth arall hoffech ei rannu.",
"account_edit.custom_fields.title": "Meysydd cyfaddas",
"account_edit.display_name.placeholder": "Eich enw dangos yw sut mae'ch enw'n ymddangos ar eich proffil ac mewn llinellau amser.",
"account_edit.display_name.title": "Enw dangos",
"account_edit.featured_hashtags.placeholder": "Helpwch eraill i adnabod, a chael mynediad cyflym at eich hoff bynciau.",
"account_edit.featured_hashtags.title": "Hashnodau dan sylw",
"account_edit.name_modal.add_title": "Ychwanegu enw dangos",
"account_edit.name_modal.edit_title": "Golygu enw dangos",
"account_edit.profile_tab.subtitle": "Cyfaddaswch y tabiau ar eich proffil a'r hyn maen nhw'n ei ddangos.",
"account_edit.profile_tab.title": "Gosodiadau tab proffil",
"account_edit.save": "Cadw",
"account_edit.section_edit_button": "Golygu",
"account_note.placeholder": "Clicio i ychwanegu nodyn",
"admin.dashboard.daily_retention": "Cyfradd cadw defnyddwyr fesul diwrnod ar ôl cofrestru",
"admin.dashboard.monthly_retention": "Cyfradd cadw defnyddwyr fesul mis ar ôl cofrestru",
@@ -244,31 +263,43 @@
"closed_registrations_modal.preamble": "Mae Mastodon wedi'i ddatganoli, felly does dim gwahaniaeth ble rydych chi'n creu eich cyfrif, byddwch chi'n gallu dilyn a rhyngweithio ag unrhyw un ar y gweinydd hwn. Gallwch hyd yn oed ei gynnal un eich hun!",
"closed_registrations_modal.title": "Cofrestru ar Mastodon",
"collections.account_count": "{count, plural, one {# cyfrif} other {# cyfrif}}",
"collections.accounts.empty_description": "Ychwanegwch hyd at {count} cyfrif rydych chi'n eu dilyn",
"collections.accounts.empty_title": "Mae'r casgliad hwn yn wag",
"collections.collection_description": "Disgrifiad",
"collections.collection_name": "Enw",
"collections.collection_topic": "Pwnc",
"collections.confirm_account_removal": "Ydych chi'n siŵr eich bod chi eisiau tynnu'r cyfrif hwn o'r casgliad hwn?",
"collections.content_warning": "Rhybudd cynnwys",
"collections.continue": "Parhau",
"collections.create.accounts_subtitle": "Dim ond cyfrifon rydych chi'n eu dilyn sydd wedi dewis cael eu darganfod y mae modd eu hychwanegu.",
"collections.create.accounts_title": "Pwy fyddwch chi'n ei gynnwys yn y casgliad hwn?",
"collections.create.basic_details_title": "Manylion sylfaenol",
"collections.create.settings_title": "Gosodiadau",
"collections.create.steps": "Cam {step}/{total}",
"collections.create_a_collection_hint": "Creu casgliad i argymell neu rannu eich hoff gyfrifon gydag eraill.",
"collections.create_collection": "Creu casgliad",
"collections.delete_collection": "Dileu casgliad",
"collections.description_length_hint": "Terfyn o 100 nod",
"collections.edit_details": "Golygu manylion sylfaenol",
"collections.edit_settings": "Golygu gosodiadau",
"collections.detail.accounts_heading": "Cyfrifon",
"collections.detail.curated_by_author": "Wedi'i guradu gan {author}",
"collections.detail.curated_by_you": "Wedi'i guradu gennych chi",
"collections.detail.loading": "Yn llwytho casgliad…",
"collections.detail.share": "Rhannu'r casgliad hwn",
"collections.edit_details": "Golygu manylion",
"collections.error_loading_collections": "Bu gwall wrth geisio llwytho eich casgliadau.",
"collections.hints.accounts_counter": "{count} / {max} cyfrif",
"collections.hints.add_more_accounts": "Ychwanegwch o leiaf {count, plural, one {# cyfrif} other {# cyfrif}} i barhau",
"collections.hints.can_not_remove_more_accounts": "Rhaid i gasgliadau gynnwys o leiaf {count, plural, one {# cyfrif} other {# cyfrif}}. Nid yw'n bosibl dileu mwy o gyfrifon.",
"collections.last_updated_at": "Diweddarwyd ddiwethaf: {date}",
"collections.manage_accounts": "Rheoli cyfrifon",
"collections.manage_accounts_in_collection": "Rheoli cyfrifon yn y casgliad hwn",
"collections.mark_as_sensitive": "Marcio fel sensitif",
"collections.mark_as_sensitive_hint": "Yn cuddio disgrifiad a chyfrifon y casgliad y tu ôl i rybudd cynnwys. Bydd enw'r casgliad yn dal i fod yn weladwy.",
"collections.name_length_hint": "Terfyn o 100 nod",
"collections.name_length_hint": "Terfyn o 40 nod",
"collections.new_collection": "Casgliad newydd",
"collections.no_collections_yet": "Dim casgliadau eto.",
"collections.remove_account": "Dileu'r cyfrif hwn",
"collections.search_accounts_label": "Chwiliwch am gyfrifon i'w hychwanegu…",
"collections.search_accounts_max_reached": "Rydych chi wedi ychwanegu'r nifer mwyaf o gyfrifon",
"collections.sensitive": "Sensitif",
"collections.topic_hint": "Ychwanegwch hashnod sy'n helpu eraill i ddeall prif bwnc y casgliad hwn.",
"collections.view_collection": "Gweld y casgliad",
"collections.visibility_public": "Cyhoeddus",

View File

@@ -141,8 +141,25 @@
"account.unmute": "Vis @{name} igen",
"account.unmute_notifications_short": "Vis notifikationer igen",
"account.unmute_short": "Vis igen",
"account_edit.bio.placeholder": "Tilføj en kort introduktion, så andre kan få et indtryk af, hvem du er.",
"account_edit.bio.title": "Bio",
"account_edit.bio_modal.add_title": "Tilføj bio",
"account_edit.bio_modal.edit_title": "Rediger bio",
"account_edit.char_counter": "{currentLength}/{maxLength} tegn",
"account_edit.column_button": "Færdig",
"account_edit.column_title": "Rediger profil",
"account_edit.custom_fields.placeholder": "Tilføj dine pronominer, eksterne links eller andet, du gerne vil dele.",
"account_edit.custom_fields.title": "Brugerdefinerede felter",
"account_edit.display_name.placeholder": "Dit visningsnavn er det navn, der vises på din profil og i tidslinjer.",
"account_edit.display_name.title": "Visningsnavn",
"account_edit.featured_hashtags.placeholder": "Hjælp andre med at identificere og få hurtig adgang til dine yndlingsemner.",
"account_edit.featured_hashtags.title": "Fremhævede hashtags",
"account_edit.name_modal.add_title": "Tilføj visningsnavn",
"account_edit.name_modal.edit_title": "Rediger visningsnavn",
"account_edit.profile_tab.subtitle": "Tilpas fanerne på din profil og det, de viser.",
"account_edit.profile_tab.title": "Indstillinger for profil-fane",
"account_edit.save": "Gem",
"account_edit.section_edit_button": "Rediger",
"account_note.placeholder": "Klik for at tilføje notat",
"admin.dashboard.daily_retention": "Brugerfastholdelsesrate pr. dag efter tilmelding",
"admin.dashboard.monthly_retention": "Brugerfastholdelsesrate pr. måned efter tilmelding",
@@ -257,7 +274,6 @@
"collections.create.accounts_subtitle": "Kun konti, du følger, og som har tilmeldt sig opdagelse, kan tilføjes.",
"collections.create.accounts_title": "Hvem vil du fremhæve i denne samling?",
"collections.create.basic_details_title": "Grundlæggende oplysninger",
"collections.create.settings_title": "Indstillinger",
"collections.create.steps": "Trin {step}/{total}",
"collections.create_a_collection_hint": "Opret en samling for at anbefale eller dele dine yndlingskonti med andre.",
"collections.create_collection": "Opret samling",
@@ -268,23 +284,22 @@
"collections.detail.curated_by_you": "Kurateret af dig",
"collections.detail.loading": "Indlæser samling…",
"collections.detail.share": "Del denne samling",
"collections.edit_details": "Rediger grundlæggende oplysninger",
"collections.edit_settings": "Rediger indstillinger",
"collections.edit_details": "Rediger detaljer",
"collections.error_loading_collections": "Der opstod en fejl under indlæsning af dine samlinger.",
"collections.hints.accounts_counter": "{count} / {max} konti",
"collections.hints.add_more_accounts": "Tilføj mindst {count, plural, one {# konto} other {# konti}} for at fortsætte",
"collections.hints.can_not_remove_more_accounts": "Samlinger skal indeholde mindst {count, plural, one {# konto} other {# konti}}. Det er ikke muligt at fjerne flere konti.",
"collections.last_updated_at": "Senest opdateret: {date}",
"collections.manage_accounts": "Administrer konti",
"collections.manage_accounts_in_collection": "Administrer konti i denne samling",
"collections.mark_as_sensitive": "Markér som sensitiv",
"collections.mark_as_sensitive_hint": "Skjuler samlingens beskrivelse og konti bag en indholdsadvarsel. Samlingens navn vil stadig være synligt.",
"collections.name_length_hint": "Begrænset til 100 tegn",
"collections.name_length_hint": "Begrænset til 40 tegn",
"collections.new_collection": "Ny samling",
"collections.no_collections_yet": "Ingen samlinger endnu.",
"collections.remove_account": "Fjern denne konto",
"collections.search_accounts_label": "Søg efter konti for at tilføje…",
"collections.search_accounts_max_reached": "Du har tilføjet det maksimale antal konti",
"collections.sensitive": "Sensitivt",
"collections.topic_hint": "Tilføj et hashtag, der hjælper andre med at forstå det overordnede emne for denne samling.",
"collections.view_collection": "Vis samling",
"collections.visibility_public": "Offentlig",

View File

@@ -141,8 +141,25 @@
"account.unmute": "Stummschaltung von @{name} aufheben",
"account.unmute_notifications_short": "Stummschaltung der Benachrichtigungen aufheben",
"account.unmute_short": "Stummschaltung aufheben",
"account_edit.bio.placeholder": "Gib anderen einen Einblick über dich, damit sie wissen, wer du bist.",
"account_edit.bio.title": "Über mich",
"account_edit.bio_modal.add_title": "Biografie hinzufügen",
"account_edit.bio_modal.edit_title": "Biografie bearbeiten",
"account_edit.char_counter": "{currentLength}/{maxLength} Zeichen",
"account_edit.column_button": "Erledigt",
"account_edit.column_title": "Profil bearbeiten",
"account_edit.custom_fields.placeholder": "Ergänze deine Pronomen, weiterführenden Links oder etwas anderes, das du teilen möchtest.",
"account_edit.custom_fields.title": "Zusatzfelder",
"account_edit.display_name.placeholder": "Dein Anzeigename wird auf deinem Profil und in Timelines angezeigt.",
"account_edit.display_name.title": "Anzeigename",
"account_edit.featured_hashtags.placeholder": "Hilf anderen dabei, deine Lieblingsthemen zu identifizieren und diese leicht zugänglich zu machen.",
"account_edit.featured_hashtags.title": "Vorgestellte Hashtags",
"account_edit.name_modal.add_title": "Anzeigenamen hinzufügen",
"account_edit.name_modal.edit_title": "Anzeigenamen bearbeiten",
"account_edit.profile_tab.subtitle": "Passe die Tabs deines Profils und deren Inhalte an.",
"account_edit.profile_tab.title": "Profil-Tab-Einstellungen",
"account_edit.save": "Speichern",
"account_edit.section_edit_button": "Bearbeiten",
"account_note.placeholder": "Klicken, um private Anmerkung hinzuzufügen",
"admin.dashboard.daily_retention": "Verweildauer der Nutzer*innen pro Tag seit der Registrierung",
"admin.dashboard.monthly_retention": "Verweildauer der Nutzer*innen pro Monat seit der Registrierung",
@@ -257,7 +274,6 @@
"collections.create.accounts_subtitle": "Du kannst nur Profile hinzufügen, denen du folgst und die das Hinzufügen gestatten.",
"collections.create.accounts_title": "Wen möchtest du in dieser Sammlung präsentieren?",
"collections.create.basic_details_title": "Allgemeine Informationen",
"collections.create.settings_title": "Einstellungen",
"collections.create.steps": "Schritt {step}/{total}",
"collections.create_a_collection_hint": "Erstelle eine Sammlung, um deine Lieblingsprofile anderen zu empfehlen oder sie zu teilen.",
"collections.create_collection": "Sammlung erstellen",
@@ -268,23 +284,22 @@
"collections.detail.curated_by_you": "Kuratiert von dir",
"collections.detail.loading": "Sammlung wird geladen …",
"collections.detail.share": "Sammlung teilen",
"collections.edit_details": "Allgemeine Informationen bearbeiten",
"collections.edit_settings": "Einstellungen bearbeiten",
"collections.edit_details": "Details bearbeiten",
"collections.error_loading_collections": "Beim Laden deiner Sammlungen ist ein Fehler aufgetreten.",
"collections.hints.accounts_counter": "{count}/{max} Konten",
"collections.hints.add_more_accounts": "Füge mindestens {count, plural, one {# Konto} other {# Konten}} hinzu, um fortzufahren",
"collections.hints.can_not_remove_more_accounts": "Sammlungen müssen mindestens {count, plural, one {# Konto} other {# Konten}} enthalten. Weitere Konten zu entfernen, ist daher nicht erlaubt.",
"collections.last_updated_at": "Aktualisiert: {date}",
"collections.manage_accounts": "Profile verwalten",
"collections.manage_accounts_in_collection": "Profile in dieser Sammlung verwalten",
"collections.mark_as_sensitive": "Mit Inhaltswarnung versehen",
"collections.mark_as_sensitive_hint": "Die Beschreibung sowie enthaltenen Profile werden durch eine Inhaltswarnung ausgeblendet. Der Titel bleibt weiterhin sichtbar.",
"collections.name_length_hint": "Maximal 100 Zeichen",
"collections.name_length_hint": "Maximal 40 Zeichen",
"collections.new_collection": "Neue Sammlung",
"collections.no_collections_yet": "Bisher keine Sammlungen vorhanden.",
"collections.remove_account": "Dieses Konto entfernen",
"collections.search_accounts_label": "Suche nach Konten, um sie hinzuzufügen …",
"collections.search_accounts_max_reached": "Du hast die Höchstzahl an Konten hinzugefügt",
"collections.sensitive": "Inhaltswarnung",
"collections.topic_hint": "Ein Hashtag für diese Sammlung kann anderen dabei helfen, dein Anliegen besser einordnen zu können.",
"collections.view_collection": "Sammlungen anzeigen",
"collections.visibility_public": "Öffentlich",

View File

@@ -11,7 +11,7 @@
"about.domain_blocks.suspended.title": "Σε αναστολή",
"about.language_label": "Γλώσσα",
"about.not_available": "Αυτές οι πληροφορίες δεν έχουν είναι διαθέσιμες σε αυτόν τον διακομιστή.",
"about.powered_by": "Αποκεντρωμένα μέσα κοινωνικής δικτύωσης που βασίζονται στο {mastodon}",
"about.powered_by": "Αποκεντρωμένο μέσο κοινωνικής δικτύωσης που βασίζεται στο {mastodon}",
"about.rules": "Κανόνες διακομιστή",
"account.about": "Σχετικά",
"account.account_note_header": "Προσωπική σημείωση",
@@ -120,7 +120,7 @@
"account.node_modal.title": "Προσθέστε μια προσωπική σημείωση",
"account.note.edit_button": "Επεξεργασία",
"account.note.title": "Προσωπική σημείωση (ορατή μόνο σε εσάς)",
"account.open_original_page": "Άνοιγμα αυθεντικής σελίδας",
"account.open_original_page": "Άνοιγμα πρωτότυπης σελίδας",
"account.posts": "Αναρτήσεις",
"account.posts_with_replies": "Αναρτήσεις και απαντήσεις",
"account.remove_from_followers": "Κατάργηση {name} από τους ακόλουθους",
@@ -141,8 +141,25 @@
"account.unmute": "Άρση σίγασης @{name}",
"account.unmute_notifications_short": "Σίγαση ειδοποιήσεων",
"account.unmute_short": "Κατάργηση σίγασης",
"account_edit.bio.placeholder": "Προσθέστε μια σύντομη εισαγωγή για να βοηθήσετε άλλους να σας αναγνωρίσουν.",
"account_edit.bio.title": "Βιογραφικό",
"account_edit.bio_modal.add_title": "Προσθήκη βιογραφικού",
"account_edit.bio_modal.edit_title": "Επεξεργασία βιογραφικού",
"account_edit.char_counter": "{currentLength}/{maxLength} χαρακτήρες",
"account_edit.column_button": "Έγινε",
"account_edit.column_title": "Επεξεργασία Προφίλ",
"account_edit.custom_fields.placeholder": "Προσθέστε τις αντωνυμίες σας, εξωτερικούς συνδέσμους ή οτιδήποτε άλλο θέλετε να μοιραστείτε.",
"account_edit.custom_fields.title": "Προσαρμοσμένα πεδία",
"account_edit.display_name.placeholder": "Το εμφανιζόμενο όνομα σας είναι πως εμφανίζεται το όνομά σας στο προφίλ σας και στα χρονοδιαγράμματα.",
"account_edit.display_name.title": "Εμφανιζόμενο όνομα",
"account_edit.featured_hashtags.placeholder": "Βοηθήστε τους άλλους να εντοπίσουν και να έχουν γρήγορη πρόσβαση στα αγαπημένα σας θέματα.",
"account_edit.featured_hashtags.title": "Αναδεδειγμένες ετικέτες",
"account_edit.name_modal.add_title": "Προσθήκη εμφανιζόμενου ονόματος",
"account_edit.name_modal.edit_title": "Επεξεργασία εμφανιζόμενου ονόματος",
"account_edit.profile_tab.subtitle": "Προσαρμόστε τις καρτέλες στο προφίλ σας και τι εμφανίζουν.",
"account_edit.profile_tab.title": "Ρυθμίσεις καρτέλας προφίλ",
"account_edit.save": "Αποθήκευση",
"account_edit.section_edit_button": "Επεξεργασία",
"account_note.placeholder": "Κάνε κλικ για να προσθέσεις σημείωση",
"admin.dashboard.daily_retention": "Ποσοστό χρηστών που παραμένουν μετά την εγγραφή, ανά ημέρα",
"admin.dashboard.monthly_retention": "Ποσοστό χρηστών που παραμένουν μετά την εγγραφή, ανά μήνα",
@@ -257,7 +274,6 @@
"collections.create.accounts_subtitle": "Μόνο οι λογαριασμοί που ακολουθείτε που έχουν επιλέξει ανακάλυψη μπορούν να προστεθούν.",
"collections.create.accounts_title": "Ποιον θα αναδείξετε σε αυτήν τη συλλογή;",
"collections.create.basic_details_title": "Βασικά στοιχεία",
"collections.create.settings_title": "Ρυθμίσεις",
"collections.create.steps": "Βήμα {step}/{total}",
"collections.create_a_collection_hint": "Δημιουργήστε μια συλλογή για να προτείνετε ή να μοιραστείτε τους αγαπημένους σας λογαριασμούς με άλλους.",
"collections.create_collection": "Δημιουργία συλλογής",
@@ -268,23 +284,22 @@
"collections.detail.curated_by_you": "Επιμέλεια από εσάς",
"collections.detail.loading": "Γίνεται φόρτωση της συλλογής…",
"collections.detail.share": "Κοινοποιήστε αυτήν τη συλλογή",
"collections.edit_details": "Επεξεργασία βασικών στοιχείων",
"collections.edit_settings": "Επεξεργασία ρυθμίσεων",
"collections.edit_details": "Επεξεργασία λεπτομερειών",
"collections.error_loading_collections": "Παρουσιάστηκε σφάλμα κατά την προσπάθεια φόρτωσης των συλλογών σας.",
"collections.hints.accounts_counter": "{count} / {max} λογαριασμοί",
"collections.hints.add_more_accounts": "Προσθέστε τουλάχιστον {count, plural, one {# λογαριασμό} other {# λογαριασμούς}} για να συνεχίσετε",
"collections.hints.can_not_remove_more_accounts": "Οι συλλογές πρέπει να περιέχουν τουλάχιστον {count, plural, one {# λογαριασμό} other {# λογαριασμούς}}. Δεν είναι δυνατή η αφαίρεση περισσότερων λογαριασμών.",
"collections.last_updated_at": "Τελευταία ενημέρωση: {date}",
"collections.manage_accounts": "Διαχείριση λογαριασμών",
"collections.manage_accounts_in_collection": "Διαχείριση λογαριασμών σε αυτήν τη συλλογή",
"collections.mark_as_sensitive": "Σήμανση ως ευαίσθητο",
"collections.mark_as_sensitive_hint": "Κρύβει την περιγραφή και τους λογαριασμούς της συλλογής πίσω από μια προειδοποίηση περιεχομένου. Το όνομα της συλλογής θα είναι ακόμη ορατό.",
"collections.name_length_hint": "Όριο 100 χαρακτήρων",
"collections.name_length_hint": "Όριο 40 χαρακτήρων",
"collections.new_collection": "Νέα συλλογή",
"collections.no_collections_yet": "Καμία συλλογή ακόμη.",
"collections.remove_account": "Αφαίρεση λογαριασμού",
"collections.search_accounts_label": "Αναζήτηση λογαριασμών για προσθήκη…",
"collections.search_accounts_max_reached": "Έχετε προσθέσει τον μέγιστο αριθμό λογαριασμών",
"collections.sensitive": "Ευαίσθητο",
"collections.topic_hint": "Προσθέστε μια ετικέτα που βοηθά άλλους να κατανοήσουν το κύριο θέμα αυτής της συλλογής.",
"collections.view_collection": "Προβολή συλλογής",
"collections.visibility_public": "Δημόσια",

View File

@@ -141,8 +141,25 @@
"account.unmute": "Unmute @{name}",
"account.unmute_notifications_short": "Unmute notifications",
"account.unmute_short": "Unmute",
"account_edit.bio.placeholder": "Add a short introduction to help others identify you.",
"account_edit.bio.title": "Bio",
"account_edit.bio_modal.add_title": "Add bio",
"account_edit.bio_modal.edit_title": "Edit bio",
"account_edit.char_counter": "{currentLength}/{maxLength} characters",
"account_edit.column_button": "Done",
"account_edit.column_title": "Edit Profile",
"account_edit.custom_fields.placeholder": "Add your pronouns, external links, or anything else youd like to share.",
"account_edit.custom_fields.title": "Custom fields",
"account_edit.display_name.placeholder": "Your display name is how your name appears on your profile and in timelines.",
"account_edit.display_name.title": "Display name",
"account_edit.featured_hashtags.placeholder": "Help others identify, and have quick access to, your favourite topics.",
"account_edit.featured_hashtags.title": "Featured hashtags",
"account_edit.name_modal.add_title": "Add display name",
"account_edit.name_modal.edit_title": "Edit display name",
"account_edit.profile_tab.subtitle": "Customise the tabs on your profile and what they display.",
"account_edit.profile_tab.title": "Profile tab settings",
"account_edit.save": "Save",
"account_edit.section_edit_button": "Edit",
"account_note.placeholder": "Click to add note",
"admin.dashboard.daily_retention": "User retention rate by day after sign-up",
"admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
@@ -257,7 +274,6 @@
"collections.create.accounts_subtitle": "Only accounts you follow who have opted into discovery can be added.",
"collections.create.accounts_title": "Who will you feature in this collection?",
"collections.create.basic_details_title": "Basic details",
"collections.create.settings_title": "Settings",
"collections.create.steps": "Step {step}/{total}",
"collections.create_a_collection_hint": "Create a collection to recommend or share your favourite accounts with others.",
"collections.create_collection": "Create collection",
@@ -275,7 +291,6 @@
"collections.hints.can_not_remove_more_accounts": "Collections must contain at least {count, plural, one {# account} other {# accounts}}. Removing more accounts is not possible.",
"collections.last_updated_at": "Last updated: {date}",
"collections.manage_accounts": "Manage accounts",
"collections.manage_accounts_in_collection": "Manage accounts in this collection",
"collections.mark_as_sensitive": "Mark as sensitive",
"collections.mark_as_sensitive_hint": "Hides the collection's description and accounts behind a content warning. The collection name will still be visible.",
"collections.name_length_hint": "40 characters limit",
@@ -284,6 +299,7 @@
"collections.remove_account": "Remove this account",
"collections.search_accounts_label": "Search for accounts to add…",
"collections.search_accounts_max_reached": "You have added the maximum number of accounts",
"collections.sensitive": "Sensitive",
"collections.topic_hint": "Add a hashtag that helps others understand the main topic of this collection.",
"collections.view_collection": "View collection",
"collections.visibility_public": "Public",

View File

@@ -296,6 +296,7 @@
"collections.name_length_hint": "40 characters limit",
"collections.new_collection": "New collection",
"collections.no_collections_yet": "No collections yet.",
"collections.old_last_post_note": "Last posted over a week ago",
"collections.remove_account": "Remove this account",
"collections.search_accounts_label": "Search for accounts to add…",
"collections.search_accounts_max_reached": "You have added the maximum number of accounts",
@@ -390,6 +391,9 @@
"confirmations.discard_draft.post.title": "Discard your draft post?",
"confirmations.discard_edit_media.confirm": "Discard",
"confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
"confirmations.follow_to_collection.confirm": "Follow and add to collection",
"confirmations.follow_to_collection.message": "You need to be following {name} to add them to a collection.",
"confirmations.follow_to_collection.title": "Follow account?",
"confirmations.follow_to_list.confirm": "Follow and add to list",
"confirmations.follow_to_list.message": "You need to be following {name} to add them to a list.",
"confirmations.follow_to_list.title": "Follow user?",

View File

@@ -141,8 +141,25 @@
"account.unmute": "Dejar de silenciar a @{name}",
"account.unmute_notifications_short": "Dejar de silenciar notificaciones",
"account.unmute_short": "Dejar de silenciar",
"account_edit.bio.placeholder": "Agregá una breve introducción para ayudar a otras personas a identificarte.",
"account_edit.bio.title": "Biografía",
"account_edit.bio_modal.add_title": "Agregar biografía",
"account_edit.bio_modal.edit_title": "Editar biografía",
"account_edit.char_counter": "{currentLength}/{maxLength} caracteres",
"account_edit.column_button": "Listo",
"account_edit.column_title": "Editar perfil",
"account_edit.custom_fields.placeholder": "Agregá tus pronombres personales, enlaces externos o cualquier otra cosa que quisieras compartir.",
"account_edit.custom_fields.title": "Campos personalizados",
"account_edit.display_name.placeholder": "Tu nombre a mostrar es cómo aparecerá tu nombre en tu perfil y en las líneas temporales.",
"account_edit.display_name.title": "Nombre a mostrar",
"account_edit.featured_hashtags.placeholder": "Ayudá a otras personas a identificarte y a tener un rápido acceso a tus temas favoritos.",
"account_edit.featured_hashtags.title": "Etiquetas destacadas",
"account_edit.name_modal.add_title": "Agregar nombre a mostrar",
"account_edit.name_modal.edit_title": "Editar nombre a mostrar",
"account_edit.profile_tab.subtitle": "Personalizá las pestañas en tu perfil y qué van a mostrar.",
"account_edit.profile_tab.title": "Configuración de pestaña de perfil",
"account_edit.save": "Guardar",
"account_edit.section_edit_button": "Editar",
"account_note.placeholder": "Hacé clic par agregar una nota",
"admin.dashboard.daily_retention": "Tasa de retención de usuarios por día, después del registro",
"admin.dashboard.monthly_retention": "Tasa de retención de usuarios por mes, después del registro",
@@ -257,7 +274,6 @@
"collections.create.accounts_subtitle": "Solo las cuentas que seguís —las cuales optaron por ser descubiertas— pueden ser agregadas.",
"collections.create.accounts_title": "¿A quién vas a destacar en esta colección?",
"collections.create.basic_details_title": "Detalles básicos",
"collections.create.settings_title": "Configuración",
"collections.create.steps": "Paso {step}/{total}",
"collections.create_a_collection_hint": "Creá una colección para recomendar o compartir tus cuentas favoritas con otras personas.",
"collections.create_collection": "Crear colección",
@@ -268,23 +284,22 @@
"collections.detail.curated_by_you": "Curado por vos",
"collections.detail.loading": "Cargando colección…",
"collections.detail.share": "Compartir esta colección",
"collections.edit_details": "Editar detalles básicos",
"collections.edit_settings": "Editar configuración",
"collections.edit_details": "Editar detalles",
"collections.error_loading_collections": "Hubo un error al intentar cargar tus colecciones.",
"collections.hints.accounts_counter": "{count} / {max} cuentas",
"collections.hints.add_more_accounts": "Agregá, al menos, {count, plural, one {# cuenta} other {# cuentas}} para continuar",
"collections.hints.can_not_remove_more_accounts": "Las colecciones deben contener, al menos, {count, plural, one {# cuenta} other {# cuentas}}. No es posible eliminar más cuentas.",
"collections.last_updated_at": "Última actualización: {date}",
"collections.manage_accounts": "Administrar cuentas",
"collections.manage_accounts_in_collection": "Administrar cuentas en esta colección",
"collections.mark_as_sensitive": "Marcar como sensible",
"collections.mark_as_sensitive_hint": "Oculta la descripción de la colección y las cuentas detrás de una advertencia de contenido. El nombre de la colección seguirá siendo visible.",
"collections.name_length_hint": "Límite de 100 caracteres",
"collections.name_length_hint": "Límite de 40 caracteres",
"collections.new_collection": "Nueva colección",
"collections.no_collections_yet": "No hay colecciones aún.",
"collections.remove_account": "Eliminar esta cuenta",
"collections.search_accounts_label": "Buscar cuentas para agregar…",
"collections.search_accounts_max_reached": "Agregaste el número máximo de cuentas",
"collections.sensitive": "Sensible",
"collections.topic_hint": "Agregá una etiqueta que ayude a otros usuarios a entender el tema principal de esta colección.",
"collections.view_collection": "Abrir colección",
"collections.visibility_public": "Pública",

View File

@@ -141,8 +141,25 @@
"account.unmute": "Dejar de silenciar a @{name}",
"account.unmute_notifications_short": "Dejar de silenciar notificaciones",
"account.unmute_short": "Dejar de silenciar",
"account_edit.bio.placeholder": "Añade una breve introducción para ayudar a los demás a identificarte.",
"account_edit.bio.title": "Biografía",
"account_edit.bio_modal.add_title": "Añadir biografía",
"account_edit.bio_modal.edit_title": "Editar biografía",
"account_edit.char_counter": "{currentLength}/{maxLength} caracteres",
"account_edit.column_button": "Hecho",
"account_edit.column_title": "Editar perfil",
"account_edit.custom_fields.placeholder": "Añade tus pronombres, enlaces externos o cualquier otra información que quieras compartir.",
"account_edit.custom_fields.title": "Campos personalizados",
"account_edit.display_name.placeholder": "Tu nombre de usuario es el nombre que aparece en tu perfil y en las líneas de tiempo.",
"account_edit.display_name.title": "Nombre para mostrar",
"account_edit.featured_hashtags.placeholder": "Ayuda a otros a identificar tus temas favoritos y a acceder rápidamente a ellos.",
"account_edit.featured_hashtags.title": "Etiquetas destacadas",
"account_edit.name_modal.add_title": "Añadir nombre para mostrar",
"account_edit.name_modal.edit_title": "Editar nombre para mostrar",
"account_edit.profile_tab.subtitle": "Personaliza las pestañas de tu perfil y lo que muestran.",
"account_edit.profile_tab.title": "Configuración de la pestaña de perfil",
"account_edit.save": "Guardar",
"account_edit.section_edit_button": "Editar",
"account_note.placeholder": "Haz clic para agregar una nota",
"admin.dashboard.daily_retention": "Tasa de retención de usuarios por día después de unirse",
"admin.dashboard.monthly_retention": "Tasa de retención de usuarios por mes después de unirse",
@@ -257,7 +274,6 @@
"collections.create.accounts_subtitle": "Solo se pueden agregar cuentas que sigas y que hayan optado por aparecer en los resultados de búsqueda.",
"collections.create.accounts_title": "¿A quién incluirás en esta colección?",
"collections.create.basic_details_title": "Detalles básicos",
"collections.create.settings_title": "Configuración",
"collections.create.steps": "Paso {step}/{total}",
"collections.create_a_collection_hint": "Crea una colección para recomendar o compartir tus cuentas favoritas con otras personas.",
"collections.create_collection": "Crear colección",
@@ -268,23 +284,22 @@
"collections.detail.curated_by_you": "Seleccionado por ti",
"collections.detail.loading": "Cargando colección…",
"collections.detail.share": "Compartir esta colección",
"collections.edit_details": "Editar detalles básicos",
"collections.edit_settings": "Editar configuración",
"collections.edit_details": "Editar detalles",
"collections.error_loading_collections": "Se produjo un error al intentar cargar tus colecciones.",
"collections.hints.accounts_counter": "{count} / {max} cuentas",
"collections.hints.add_more_accounts": "Añade al menos {count, plural,one {# cuenta} other {# cuentas}} para continuar",
"collections.hints.can_not_remove_more_accounts": "Las colecciones deben contener al menos {count, plural,one {# cuenta} other {# cuentas}}. No es posible eliminar más cuentas.",
"collections.last_updated_at": "Última actualización: {date}",
"collections.manage_accounts": "Administrar cuentas",
"collections.manage_accounts_in_collection": "Administrar cuentas en esta colección",
"collections.mark_as_sensitive": "Marcar como sensible",
"collections.mark_as_sensitive_hint": "Oculta la descripción y las cuentas de la colección detrás de una advertencia de contenido. El nombre de la colección seguirá siendo visible.",
"collections.name_length_hint": "Limitado a 100 caracteres",
"collections.name_length_hint": "Limitado a 40 caracteres",
"collections.new_collection": "Nueva colección",
"collections.no_collections_yet": "No hay colecciones todavía.",
"collections.remove_account": "Eliminar esta cuenta",
"collections.search_accounts_label": "Buscar cuentas para añadir…",
"collections.search_accounts_max_reached": "Has añadido el número máximo de cuentas",
"collections.sensitive": "Sensible",
"collections.topic_hint": "Agrega una etiqueta que ayude a los demás a comprender el tema principal de esta colección.",
"collections.view_collection": "Ver colección",
"collections.visibility_public": "Pública",

View File

@@ -257,7 +257,6 @@
"collections.create.accounts_subtitle": "Solo pueden añadirse cuentas que sigues y que han activado el descubrimiento.",
"collections.create.accounts_title": "¿A quién vas a destacar en esta colección?",
"collections.create.basic_details_title": "Datos básicos",
"collections.create.settings_title": "Ajustes",
"collections.create.steps": "Paso {step}/{total}",
"collections.create_a_collection_hint": "Crea una colección para recomendar o compartir tus cuentas favoritas con otros.",
"collections.create_collection": "Crear colección",
@@ -268,18 +267,14 @@
"collections.detail.curated_by_you": "Seleccionado por ti",
"collections.detail.loading": "Cargando colección…",
"collections.detail.share": "Compartir esta colección",
"collections.edit_details": "Editar datos básicos",
"collections.edit_settings": "Cambiar ajustes",
"collections.error_loading_collections": "Se ha producido un error al intentar cargar tus colecciones.",
"collections.hints.accounts_counter": "{count} / {max} cuentas",
"collections.hints.add_more_accounts": "¡Añade al menos {count, plural, one {# cuenta} other {# cuentas}} para continuar",
"collections.hints.can_not_remove_more_accounts": "Las colecciones deben contener al menos {count, plural, one {# cuenta} other {# cuentas}}. No es posible eliminar más cuentas.",
"collections.last_updated_at": "Última actualización: {date}",
"collections.manage_accounts": "Administrar cuentas",
"collections.manage_accounts_in_collection": "Administrar cuentas en esta colección",
"collections.mark_as_sensitive": "Marcar como sensible",
"collections.mark_as_sensitive_hint": "Oculta la descripción de la colección y las cuentas detrás de una advertencia de contenido. El nombre de la colección seguirá siendo visible.",
"collections.name_length_hint": "Limitado a 100 caracteres",
"collections.new_collection": "Nueva colección",
"collections.no_collections_yet": "Aún no hay colecciones.",
"collections.remove_account": "Borrar esta cuenta",

View File

@@ -252,21 +252,16 @@
"collections.create.accounts_subtitle": "Lisada saad vaid kasutajakontosid, keda sa jälgid ja kes on sellise leiatvuse lubanud.",
"collections.create.accounts_title": "Kes saavad olema selles kogumikus?",
"collections.create.basic_details_title": "Põhiandmed",
"collections.create.settings_title": "Seadistused",
"collections.create.steps": "Samm {step}/{total}",
"collections.create_a_collection_hint": "Soovitamaks oma lemmikuid teistele kasutajatele lisa asjakohane kogumik.",
"collections.create_collection": "Loo kogumik",
"collections.delete_collection": "Kustuta kogumik",
"collections.description_length_hint": "Kuni 100 tähemärki",
"collections.edit_details": "Muuda põhiandmeid",
"collections.edit_settings": "Muuda seadistusi",
"collections.error_loading_collections": "Sinu kogumike laadimisel tekkis viga.",
"collections.last_updated_at": "Viimati uuendatud: {date}",
"collections.manage_accounts": "Halda kasutajakontosid",
"collections.manage_accounts_in_collection": "Halda selle kogumiku kontosid",
"collections.mark_as_sensitive": "Märgi delikaatseks",
"collections.mark_as_sensitive_hint": "Peidab kogumiku kirjelduse ja kontod sisuhoiatuse taha. Kogumiku nimi ise on sellele vaatamata nähtav.",
"collections.name_length_hint": "Kuni 100 tähemärki",
"collections.new_collection": "Uus kogumik",
"collections.no_collections_yet": "Kogumikke veel pole.",
"collections.topic_hint": "Lisa teemaviide, mis aitab teistel kasutajatel mõista selle kogumiku põhisisu.",

View File

@@ -141,8 +141,25 @@
"account.unmute": "Kumoa käyttäjän @{name} mykistys",
"account.unmute_notifications_short": "Kumoa ilmoitusten mykistys",
"account.unmute_short": "Kumoa mykistys",
"account_edit.bio.placeholder": "Lisää lyhyt esittely, joka auttaa muita tunnistamaan sinut.",
"account_edit.bio.title": "Elämäkerta",
"account_edit.bio_modal.add_title": "Lisää elämäkerta",
"account_edit.bio_modal.edit_title": "Muokkaa elämäkertaa",
"account_edit.char_counter": "{currentLength}/{maxLength} merkkiä",
"account_edit.column_button": "Valmis",
"account_edit.column_title": "Muokkaa profiilia",
"account_edit.custom_fields.placeholder": "Lisää pronominisi, ulkoisia linkkejä tai mitä tahansa muuta, jonka haluat jakaa.",
"account_edit.custom_fields.title": "Mukautetut kentät",
"account_edit.display_name.placeholder": "Näyttönimesi on nimi, joka näkyy profiilissasi ja aikajanoilla.",
"account_edit.display_name.title": "Näyttönimi",
"account_edit.featured_hashtags.placeholder": "Auta muita tunnistamaan suosikkiaiheesi ja saamaan nopea pääsy niihin.",
"account_edit.featured_hashtags.title": "Esiteltävät aihetunnisteet",
"account_edit.name_modal.add_title": "Lisää näyttönimi",
"account_edit.name_modal.edit_title": "Muokkaa näyttönimeä",
"account_edit.profile_tab.subtitle": "Mukauta profiilisi välilehtiä ja sitä, mitä niissä näkyy.",
"account_edit.profile_tab.title": "Profiilin välilehtien asetukset",
"account_edit.save": "Tallenna",
"account_edit.section_edit_button": "Muokkaa",
"account_note.placeholder": "Lisää muistiinpano napsauttamalla",
"admin.dashboard.daily_retention": "Käyttäjien pysyvyys päivittäin rekisteröitymisen jälkeen",
"admin.dashboard.monthly_retention": "Käyttäjien pysyvyys kuukausittain rekisteröitymisen jälkeen",
@@ -257,7 +274,6 @@
"collections.create.accounts_subtitle": "Lisätä voi vain tilejä, joita seuraat ja jotka ovat valinneet tulla löydetyiksi.",
"collections.create.accounts_title": "Keitä esittelet tässä kokoelmassa?",
"collections.create.basic_details_title": "Perustiedot",
"collections.create.settings_title": "Asetukset",
"collections.create.steps": "Vaihe {step}/{total}",
"collections.create_a_collection_hint": "Luomalla kokoelman voit suositella tai jakaa suosikkitilejäsi muiden kanssa.",
"collections.create_collection": "Luo kokoelma",
@@ -268,23 +284,22 @@
"collections.detail.curated_by_you": "Itse kokoamasi",
"collections.detail.loading": "Ladataan kokoelmaa…",
"collections.detail.share": "Jaa tämä kokoelma",
"collections.edit_details": "Muokkaa perustietoja",
"collections.edit_settings": "Muokkaa asetuksia",
"collections.edit_details": "Muokkaa tietoja",
"collections.error_loading_collections": "Kokoelmien latauksessa tapahtui virhe.",
"collections.hints.accounts_counter": "{count} / {max} tiliä",
"collections.hints.add_more_accounts": "Jatka lisäämällä vähintään {count, plural, one {# tili} other {# tiliä}}",
"collections.hints.can_not_remove_more_accounts": "Kokoelmien on sisällettävä vähintään {count, plural, one {# tili} other {# tiliä}}. Enempää tilejä ei ole mahdollista poistaa.",
"collections.last_updated_at": "Päivitetty viimeksi {date}",
"collections.manage_accounts": "Hallitse tilejä",
"collections.manage_accounts_in_collection": "Hallitse tässä kokoelmassa olevia tilejä",
"collections.mark_as_sensitive": "Merkitse arkaluonteiseksi",
"collections.mark_as_sensitive_hint": "Piilottaa kokoelman kuvauksen ja tilit sisältövaroituksen taakse. Kokoelman nimi jää esiin.",
"collections.name_length_hint": "100 merkin rajoitus",
"collections.name_length_hint": "40 merkin rajoitus",
"collections.new_collection": "Uusi kokoelma",
"collections.no_collections_yet": "Ei vielä kokoelmia.",
"collections.remove_account": "Poista tämä tili",
"collections.search_accounts_label": "Hae lisättäviä tilejä…",
"collections.search_accounts_max_reached": "Olet lisännyt enimmäismäärän tilejä",
"collections.sensitive": "Arkaluonteinen",
"collections.topic_hint": "Lisää aihetunniste, joka auttaa muita ymmärtämään tämän kokoelman pääaiheen.",
"collections.view_collection": "Näytä kokoelma",
"collections.visibility_public": "Julkinen",

View File

@@ -257,24 +257,19 @@
"collections.create.accounts_subtitle": "Einans kontur, sum tú fylgir og sum hava játtað at blíva uppdagaðar, kunnu leggjast afturat.",
"collections.create.accounts_title": "Hvønn vil tú framhevja í hesum savninum?",
"collections.create.basic_details_title": "Grundleggjandi smálutir",
"collections.create.settings_title": "Stillingar",
"collections.create.steps": "Stig {step}/{total}",
"collections.create_a_collection_hint": "Ger eitt savn sum kann brúkast til at viðmæla ella deila yndiskontur við øðrum.",
"collections.create_collection": "Ger savn",
"collections.delete_collection": "Strika savn",
"collections.description_length_hint": "Í mesta lagi 100 tekn",
"collections.edit_details": "Rætta grundleggjandi smálutir",
"collections.edit_settings": "Rætta stillingar",
"collections.error_loading_collections": "Ein feilur hendi, tá tú royndi at finna fram søvnini hjá tær.",
"collections.hints.accounts_counter": "{count} / {max} kontur",
"collections.hints.add_more_accounts": "Legg minst {count, plural, one {# kontu} other {# kontur}} afturat fyri at halda fram",
"collections.hints.can_not_remove_more_accounts": "Søvn mugu innihalda minst {count, plural, one {# kontu} other {# kontur}}. Ikki møguligt at strika fleiri kontur.",
"collections.last_updated_at": "Seinast dagført: {date}",
"collections.manage_accounts": "Umsit kontur",
"collections.manage_accounts_in_collection": "Umsit kontur í hesum savninum",
"collections.mark_as_sensitive": "Merk sum viðkvæmt",
"collections.mark_as_sensitive_hint": "Fjalið lýsingina av og konturnar hjá savninum aftan fyri eina innihaldsávaring. Savnsnavnið verður framvegis sjónligt.",
"collections.name_length_hint": "Í mesta lagi 100 tekn",
"collections.new_collection": "Nýtt savn",
"collections.no_collections_yet": "Eingi søvn enn.",
"collections.remove_account": "Strika hesa kontuna",

View File

@@ -141,8 +141,15 @@
"account.unmute": "Ne plus masquer @{name}",
"account.unmute_notifications_short": "Ne plus masquer les notifications",
"account.unmute_short": "Ne plus masquer",
"account_edit.bio.placeholder": "Ajouter une courte introduction pour aider à vous connaître.",
"account_edit.bio.title": "Présentation",
"account_edit.bio_modal.add_title": "Ajouter une présentation",
"account_edit.bio_modal.edit_title": "Modifier la présentation",
"account_edit.char_counter": "{currentLength}/{maxLength} caractères",
"account_edit.column_button": "Terminé",
"account_edit.column_title": "Modifier le profil",
"account_edit.save": "Enregistrer",
"account_edit.section_edit_button": "Éditer",
"account_note.placeholder": "Cliquez pour ajouter une note",
"admin.dashboard.daily_retention": "Taux de rétention des comptes par jour après inscription",
"admin.dashboard.monthly_retention": "Taux de rétention des comptes par mois après inscription",
@@ -257,7 +264,6 @@
"collections.create.accounts_subtitle": "Seuls les comptes que vous suivez et qui ont autorisé leur découverte peuvent être ajoutés.",
"collections.create.accounts_title": "Qui voulez-vous mettre en avant dans cette collection?",
"collections.create.basic_details_title": "Informations générales",
"collections.create.settings_title": "Paramètres",
"collections.create.steps": "Étape {step}/{total}",
"collections.create_a_collection_hint": "Créer une collection pour recommander ou partager vos comptes préférés.",
"collections.create_collection": "Créer une collection",
@@ -268,18 +274,14 @@
"collections.detail.curated_by_you": "Organisée par vous",
"collections.detail.loading": "Chargement de la collection…",
"collections.detail.share": "Partager la collection",
"collections.edit_details": "Modifier les informations générales",
"collections.edit_settings": "Modifier les paramètres",
"collections.error_loading_collections": "Une erreur s'est produite durant le chargement de vos collections.",
"collections.hints.accounts_counter": "{count} / {max} comptes",
"collections.hints.add_more_accounts": "Ajouter au moins {count, plural, one {# compte} other {# comptes}} pour continuer",
"collections.hints.can_not_remove_more_accounts": "Les collections doivent contenir au moins {count, plural, one {# compte} other {# comptes}}. Il n'est pas possible de supprimer plus de comptes.",
"collections.last_updated_at": "Dernière mise à jour : {date}",
"collections.manage_accounts": "Gérer les comptes",
"collections.manage_accounts_in_collection": "Gérer les comptes de cette collection",
"collections.mark_as_sensitive": "Marquer comme sensible",
"collections.mark_as_sensitive_hint": "Masque la description et les comptes de la collection derrière un avertissement au public. Le titre reste visible.",
"collections.name_length_hint": "Maximum 100 caractères",
"collections.new_collection": "Nouvelle collection",
"collections.no_collections_yet": "Aucune collection pour le moment.",
"collections.remove_account": "Supprimer ce compte",

View File

@@ -141,8 +141,15 @@
"account.unmute": "Ne plus masquer @{name}",
"account.unmute_notifications_short": "Réactiver les notifications",
"account.unmute_short": "Ne plus masquer",
"account_edit.bio.placeholder": "Ajouter une courte introduction pour aider à vous connaître.",
"account_edit.bio.title": "Présentation",
"account_edit.bio_modal.add_title": "Ajouter une présentation",
"account_edit.bio_modal.edit_title": "Modifier la présentation",
"account_edit.char_counter": "{currentLength}/{maxLength} caractères",
"account_edit.column_button": "Terminé",
"account_edit.column_title": "Modifier le profil",
"account_edit.save": "Enregistrer",
"account_edit.section_edit_button": "Éditer",
"account_note.placeholder": "Cliquez pour ajouter une note",
"admin.dashboard.daily_retention": "Taux de rétention des utilisateur·rice·s par jour après inscription",
"admin.dashboard.monthly_retention": "Taux de rétention des utilisateur·rice·s par mois après inscription",
@@ -257,7 +264,6 @@
"collections.create.accounts_subtitle": "Seuls les comptes que vous suivez et qui ont autorisé leur découverte peuvent être ajoutés.",
"collections.create.accounts_title": "Qui voulez-vous mettre en avant dans cette collection?",
"collections.create.basic_details_title": "Informations générales",
"collections.create.settings_title": "Paramètres",
"collections.create.steps": "Étape {step}/{total}",
"collections.create_a_collection_hint": "Créer une collection pour recommander ou partager vos comptes préférés.",
"collections.create_collection": "Créer une collection",
@@ -268,18 +274,14 @@
"collections.detail.curated_by_you": "Organisée par vous",
"collections.detail.loading": "Chargement de la collection…",
"collections.detail.share": "Partager la collection",
"collections.edit_details": "Modifier les informations générales",
"collections.edit_settings": "Modifier les paramètres",
"collections.error_loading_collections": "Une erreur s'est produite durant le chargement de vos collections.",
"collections.hints.accounts_counter": "{count} / {max} comptes",
"collections.hints.add_more_accounts": "Ajouter au moins {count, plural, one {# compte} other {# comptes}} pour continuer",
"collections.hints.can_not_remove_more_accounts": "Les collections doivent contenir au moins {count, plural, one {# compte} other {# comptes}}. Il n'est pas possible de supprimer plus de comptes.",
"collections.last_updated_at": "Dernière mise à jour : {date}",
"collections.manage_accounts": "Gérer les comptes",
"collections.manage_accounts_in_collection": "Gérer les comptes de cette collection",
"collections.mark_as_sensitive": "Marquer comme sensible",
"collections.mark_as_sensitive_hint": "Masque la description et les comptes de la collection derrière un avertissement au public. Le titre reste visible.",
"collections.name_length_hint": "Maximum 100 caractères",
"collections.new_collection": "Nouvelle collection",
"collections.no_collections_yet": "Aucune collection pour le moment.",
"collections.remove_account": "Supprimer ce compte",

View File

@@ -141,8 +141,25 @@
"account.unmute": "Díbhalbhaigh @{name}",
"account.unmute_notifications_short": "Díbhalbhaigh fógraí",
"account.unmute_short": "Díbhalbhaigh",
"account_edit.bio.placeholder": "Cuir réamhrá gearr leis chun cabhrú le daoine eile tú a aithint.",
"account_edit.bio.title": "Beathaisnéis",
"account_edit.bio_modal.add_title": "Cuir beathaisnéis leis",
"account_edit.bio_modal.edit_title": "Cuir beathaisnéis in eagar",
"account_edit.char_counter": "{currentLength}/{maxLength} carachtair",
"account_edit.column_button": "Déanta",
"account_edit.column_title": "Cuir Próifíl in Eagar",
"account_edit.custom_fields.placeholder": "Cuir do fhorainmneacha, naisc sheachtracha, nó aon rud eile ar mhaith leat a roinnt leis.",
"account_edit.custom_fields.title": "Réimsí saincheaptha",
"account_edit.display_name.placeholder": "Is é dainm taispeána an chaoi a bhfeictear dainm ar do phróifíl agus in amlínte.",
"account_edit.display_name.title": "Ainm taispeána",
"account_edit.featured_hashtags.placeholder": "Cabhraigh le daoine eile do thopaicí is fearr leat a aithint, agus rochtain thapa a bheith acu orthu.",
"account_edit.featured_hashtags.title": "Haischlibeanna Réadmhaoine",
"account_edit.name_modal.add_title": "Cuir ainm taispeána leis",
"account_edit.name_modal.edit_title": "Cuir ainm taispeána in eagar",
"account_edit.profile_tab.subtitle": "Saincheap na cluaisíní ar do phróifíl agus a bhfuil á thaispeáint iontu.",
"account_edit.profile_tab.title": "Socruithe an chluaisín próifíle",
"account_edit.save": "Sábháil",
"account_edit.section_edit_button": "Cuir in Eagar",
"account_note.placeholder": "Cliceáil chun nóta a chuir leis",
"admin.dashboard.daily_retention": "Ráta coinneála an úsáideora de réir an lae tar éis clárú",
"admin.dashboard.monthly_retention": "Ráta coinneála na n-úsáideoirí de réir na míosa tar éis dóibh clárú",
@@ -257,7 +274,6 @@
"collections.create.accounts_subtitle": "Ní féidir ach cuntais a leanann tú atá roghnaithe le fionnachtain a chur leis.",
"collections.create.accounts_title": "Cé a bheidh le feiceáil agat sa bhailiúchán seo?",
"collections.create.basic_details_title": "Sonraí bunúsacha",
"collections.create.settings_title": "Socruithe",
"collections.create.steps": "Céim {step}/{total}",
"collections.create_a_collection_hint": "Cruthaigh bailiúchán chun do chuntais is fearr leat a mholadh nó a roinnt le daoine eile.",
"collections.create_collection": "Cruthaigh bailiúchán",
@@ -268,18 +284,14 @@
"collections.detail.curated_by_you": "Curtha i dtoll a chéile agatsa",
"collections.detail.loading": "Ag lódáil an bhailiúcháin…",
"collections.detail.share": "Comhroinn an bailiúchán seo",
"collections.edit_details": "Cuir sonraí bunúsacha in eagar",
"collections.edit_settings": "Socruithe a chur in eagar",
"collections.error_loading_collections": "Tharla earráid agus iarracht á déanamh do bhailiúcháin a luchtú.",
"collections.hints.accounts_counter": "{count} / {max} cuntais",
"collections.hints.add_more_accounts": "Cuir ar a laghad {count, plural, one {# cuntas} two {# cuntais} few {# cuntais} many {# cuntais} other {# cuntais}} leis chun leanúint ar aghaidh",
"collections.hints.can_not_remove_more_accounts": "Ní mór go mbeadh ar a laghad {count, plural, one {# cuntas} two {# cuntais} few {# cuntais} many {# cuntais} other {# cuntais}} i mbailiúcháin. Ní féidir tuilleadh cuntas a bhaint.",
"collections.last_updated_at": "Nuashonraithe go deireanach: {date}",
"collections.manage_accounts": "Bainistigh cuntais",
"collections.manage_accounts_in_collection": "Bainistigh cuntais sa bhailiúchán seo",
"collections.mark_as_sensitive": "Marcáil mar íogair",
"collections.mark_as_sensitive_hint": "Folaíonn sé cur síos agus cuntais an bhailiúcháin taobh thiar de rabhadh ábhair. Beidh ainm an bhailiúcháin le feiceáil fós.",
"collections.name_length_hint": "Teorainn 100 carachtar",
"collections.new_collection": "Bailiúchán nua",
"collections.no_collections_yet": "Gan aon bhailiúcháin fós.",
"collections.remove_account": "Bain an cuntas seo",

View File

@@ -257,7 +257,6 @@
"collections.create.accounts_subtitle": "Só se poden engadir contas que segues e que optaron por ser incluídas en descubrir.",
"collections.create.accounts_title": "A quen queres incluír nesta colección?",
"collections.create.basic_details_title": "Detalles básicos",
"collections.create.settings_title": "Axustes",
"collections.create.steps": "Paso {step}/{total}",
"collections.create_a_collection_hint": "Crear unha colección para recomendar ou compartir as túas contas favoritas.",
"collections.create_collection": "Crear colección",
@@ -268,18 +267,14 @@
"collections.detail.curated_by_you": "Seleccionadas por ti",
"collections.detail.loading": "Cargando colección…",
"collections.detail.share": "Compartir esta colección",
"collections.edit_details": "Editar detalles básicos",
"collections.edit_settings": "Editar axustes",
"collections.error_loading_collections": "Houbo un erro ao intentar cargar as túas coleccións.",
"collections.hints.accounts_counter": "{count} / {max} contas",
"collections.hints.add_more_accounts": "Engade polo menos {count, plural, one {# conta} other {# contas}} para continuar",
"collections.hints.can_not_remove_more_accounts": "As coleccións teñen que conter polo menos {count, plural, one {# conta} other {# contas}}. Non é posible retirar máis contas.",
"collections.last_updated_at": "Última actualización: {date}",
"collections.manage_accounts": "Xestionar contas",
"collections.manage_accounts_in_collection": "Xestionar as contas nesta colección",
"collections.mark_as_sensitive": "Marcar como sensible",
"collections.mark_as_sensitive_hint": "Oculta a descrición e contas da colección detrás dun aviso sobre o contido. O nome da colección permanece visible.",
"collections.name_length_hint": "Límite de 100 caracteres",
"collections.new_collection": "Nova colección",
"collections.no_collections_yet": "Aínda non tes coleccións.",
"collections.remove_account": "Retirar esta conta",

View File

@@ -257,7 +257,6 @@
"collections.create.accounts_subtitle": "רק חשבונות נעקבים שבחרו להופיע ב\"תגליות\" ניתנים להוספה.",
"collections.create.accounts_title": "את מי תבליטו באוסף זה?",
"collections.create.basic_details_title": "פרטים בסיסיים",
"collections.create.settings_title": "הגדרות",
"collections.create.steps": "צעד {step} מתוך {total}",
"collections.create_a_collection_hint": "יצירת אוסף כדי להמליץ או לשתף את החשבונות החביבים עליך עם אחרים.",
"collections.create_collection": "יצירת אוסף",
@@ -268,18 +267,14 @@
"collections.detail.curated_by_you": "נאצר על ידיך",
"collections.detail.loading": "טוען אוסף…",
"collections.detail.share": "שיתוף אוסף",
"collections.edit_details": "עריכת פרטים בסיסיים",
"collections.edit_settings": "עריכת הגדרות",
"collections.error_loading_collections": "חלה שגיאה בנסיון לטעון את אוספיך.",
"collections.hints.accounts_counter": "{count} \\ {max} חשבונות",
"collections.hints.add_more_accounts": "הוסיפו לפחות {count, plural,one {חשבון אחד}other {# חשבונות}} כדי להמשיך",
"collections.hints.can_not_remove_more_accounts": "אוספים חייבים להכיל לפחות {count, plural,one {חשבון אחד}other {# חשבונות}}. הסרת חשבונות נוספים איננה אפשרית.",
"collections.last_updated_at": "עדכון אחרון: {date}",
"collections.manage_accounts": "ניהול חשבונות",
"collections.manage_accounts_in_collection": "ניהול החשבונות שבאוסף זה",
"collections.mark_as_sensitive": "מסומנים כרגישים",
"collections.mark_as_sensitive_hint": "הסתרת תיאור וחשבונות האוסף מאחורי אזהרת תוכן. שם האוסף עדיין ישאר גלוי.",
"collections.name_length_hint": "מגבלה של 100 תווים",
"collections.new_collection": "אוסף חדש",
"collections.no_collections_yet": "עוד אין אוספים.",
"collections.remove_account": "הסר חשבון זה",

View File

@@ -141,6 +141,22 @@
"account.unmute": "@{name} némításának feloldása",
"account.unmute_notifications_short": "Értesítések némításának feloldása",
"account.unmute_short": "Némitás feloldása",
"account_edit.bio.placeholder": "Adj meg egy rövid bemutatkozást, hogy mások könnyebben megtaláljanak.",
"account_edit.bio.title": "Bemutatkozás",
"account_edit.bio_modal.add_title": "Bemutatkozás hozzáadása",
"account_edit.bio_modal.edit_title": "Bemutatkozás szerkesztése",
"account_edit.char_counter": "{currentLength}/{maxLength} karakter",
"account_edit.column_button": "Kész",
"account_edit.column_title": "Profil szerkesztése",
"account_edit.custom_fields.title": "Egyéni mezők",
"account_edit.display_name.placeholder": "A megjelenítendő név az, ahogy a neved megjelenik a profilodon és az idővonalakon.",
"account_edit.display_name.title": "Megjelenítendő név",
"account_edit.featured_hashtags.title": "Kiemelt hashtagek",
"account_edit.name_modal.add_title": "Megjelenítendő név hozzáadása",
"account_edit.name_modal.edit_title": "Megjelenítendő név szerkesztése",
"account_edit.profile_tab.title": "Profil lap beállításai",
"account_edit.save": "Mentés",
"account_edit.section_edit_button": "Szerkesztés",
"account_note.placeholder": "Kattintás jegyzet hozzáadásához",
"admin.dashboard.daily_retention": "Napi regisztráció utáni felhasználómegtartási arány",
"admin.dashboard.monthly_retention": "Havi regisztráció utáni felhasználómegtartási arány",
@@ -255,24 +271,24 @@
"collections.create.accounts_subtitle": "Csak azok a követett fiókok adhatóak hozzá, melyek engedélyezték a felfedezést.",
"collections.create.accounts_title": "Kit emelsz ki ebben a gyűjteményben?",
"collections.create.basic_details_title": "Alapvető részletek",
"collections.create.settings_title": "Beállítások",
"collections.create.steps": "{step}. lépés/{total}",
"collections.create_a_collection_hint": "Gyűjtemény létrehozása a kedvenc fiókok másoknak való ajánlásához.",
"collections.create_collection": "Gyűjtemény létrehozása",
"collections.delete_collection": "Gyűjtemény törlése",
"collections.description_length_hint": "100 karakteres korlát",
"collections.edit_details": "Alapvető részletek szerkesztése",
"collections.edit_settings": "Beállítások szerkesztése",
"collections.detail.accounts_heading": "Fiókok",
"collections.detail.loading": "Gyűjtemény betöltése",
"collections.detail.share": "Gyűjtemény megosztása",
"collections.edit_details": "Részletek szerkesztése",
"collections.error_loading_collections": "Hiba történt a gyűjtemények betöltése során.",
"collections.hints.accounts_counter": "{count} / {max} fiók",
"collections.hints.add_more_accounts": "Adj hozzá legalább {count, plural, one {# fiókot} other {# fiókot}} a folytatáshoz",
"collections.hints.can_not_remove_more_accounts": "A gyűjteményeknek legalább {count, plural, one {# fiókot} other {# fiókot}} kell tartalmazniuk. Több fiók eltávolítása nem lehetséges.",
"collections.last_updated_at": "Utoljára frissítve: {date}",
"collections.manage_accounts": "Fiókok kezelése",
"collections.manage_accounts_in_collection": "Gyűjteményben szereplő fiókok kezelése",
"collections.mark_as_sensitive": "Megjelelölés érzénykenként",
"collections.mark_as_sensitive_hint": "Tartalmi figyelmeztetés mögé rejti a gyűjtemény leírását és a fiókokat. A gyűjtemény neve továbbra is látható lesz.",
"collections.name_length_hint": "100 karakteres korlát",
"collections.name_length_hint": "40 karakteres korlát",
"collections.new_collection": "Új gyűjtemény",
"collections.no_collections_yet": "Még nincsenek gyűjtemények.",
"collections.remove_account": "Fiók eltávolítása",

View File

@@ -141,8 +141,25 @@
"account.unmute": "Hætta að þagga niður í @{name}",
"account.unmute_notifications_short": "Hætta að þagga í tilkynningum",
"account.unmute_short": "Hætta að þagga niður",
"account_edit.bio.placeholder": "Settu inn stutta kynningu á þér svo aðrir eigi betur með að auðkenna þig.",
"account_edit.bio.title": "Æviágrip",
"account_edit.bio_modal.add_title": "Bættu við æviágripi",
"account_edit.bio_modal.edit_title": "Breyta æviágripi",
"account_edit.char_counter": "{currentLength}/{maxLength} stafir",
"account_edit.column_button": "Lokið",
"account_edit.column_title": "Breyta notandasniði",
"account_edit.custom_fields.placeholder": "Settu inn fornöfn sem þú vilt nota, ytri tengla eða hvaðeina sem þú vilt deila með öðrum.",
"account_edit.custom_fields.title": "Sérsniðnir reitir",
"account_edit.display_name.placeholder": "Birtingarnafn er það sem birtist sem nafnið þitt á notandasniðinu þínu og í tímalínum.",
"account_edit.display_name.title": "Birtingarnafn",
"account_edit.featured_hashtags.placeholder": "Hjálpaðu öðrum að sjá og komast í eftirlætis-umfjöllunarefnin þín.",
"account_edit.featured_hashtags.title": "Myllumerki með aukið vægi",
"account_edit.name_modal.add_title": "Bættu við birtingarnafni",
"account_edit.name_modal.edit_title": "Breyta birtingarnafni",
"account_edit.profile_tab.subtitle": "Sérsníddu flipana á notandasniðinu þínu og hvað þeir birta.",
"account_edit.profile_tab.title": "Stillingar notandasniðsflipa",
"account_edit.save": "Vista",
"account_edit.section_edit_button": "Breyta",
"account_note.placeholder": "Smelltu til að bæta við minnispunkti",
"admin.dashboard.daily_retention": "Hlutfall virkra notenda eftir nýskráningu eftir dögum",
"admin.dashboard.monthly_retention": "Hlutfall virkra notenda eftir nýskráningu eftir mánuðum",
@@ -257,7 +274,6 @@
"collections.create.accounts_subtitle": "Einungis er hægt að bæta við notendum sem hafa samþykkt að vera með í opinberri birtingu.",
"collections.create.accounts_title": "Hvern vilt þú gera áberandi í þessu safni?",
"collections.create.basic_details_title": "Grunnupplýsingar",
"collections.create.settings_title": "Stillingar",
"collections.create.steps": "Skref {step}/{total}",
"collections.create_a_collection_hint": "Búðu til safn með eftirlætisnotendunum þínum til að deila eða mæla með við aðra.",
"collections.create_collection": "Búa til safn",
@@ -268,23 +284,22 @@
"collections.detail.curated_by_you": "Safnað saman af þér",
"collections.detail.loading": "Hleð inn safni…",
"collections.detail.share": "Deila þessu safni",
"collections.edit_details": "Breyta grunnupplýsingum",
"collections.edit_settings": "Breyta stillingum",
"collections.edit_details": "Breyta ítarupplýsingum",
"collections.error_loading_collections": "Villa kom upp þegar reynt var að hlaða inn söfnunum þínum.",
"collections.hints.accounts_counter": "{count} / {max} aðgangar",
"collections.hints.add_more_accounts": "Bættu við að minnsta kosti {count, plural, one {# aðgangi} other {# aðgöngum}} til að halda áfram",
"collections.hints.can_not_remove_more_accounts": "Söfn verða að innihalda að minnsta kosti {count, plural, one {# aðgang} other {# aðganga}}. Ekki er hægt að fjarlægja fleiri aðganga.",
"collections.last_updated_at": "Síðast uppfært: {date}",
"collections.manage_accounts": "Sýsla með notandaaðganga",
"collections.manage_accounts_in_collection": "Sýsla með notendaaðganga í þessu safni",
"collections.mark_as_sensitive": "Merkja sem viðkvæmt",
"collections.mark_as_sensitive_hint": "Felur lýsingu safnsins og notendur á bakvið aðvörun vegna efnis. Nafn safnsins verður áfram sýnilegt.",
"collections.name_length_hint": "100 stafa takmörk",
"collections.name_length_hint": "40 stafa takmörk",
"collections.new_collection": "Nýtt safn",
"collections.no_collections_yet": "Engin söfn ennþá.",
"collections.remove_account": "Fjarlægja þennan aðgang",
"collections.search_accounts_label": "Leita að aðgöngum til að bæta við…",
"collections.search_accounts_max_reached": "Þú hefur þegar bætt við leyfilegum hámarksfjölda aðganga",
"collections.sensitive": "Viðkvæmt",
"collections.topic_hint": "Bættu við myllumerki sem hjálpar öðrum að skilja aðalefni þessa safns.",
"collections.view_collection": "Skoða safn",
"collections.visibility_public": "Opinbert",

View File

@@ -141,8 +141,25 @@
"account.unmute": "Riattiva @{name}",
"account.unmute_notifications_short": "Riattiva notifiche",
"account.unmute_short": "Attiva audio",
"account_edit.bio.placeholder": "Aggiungi una breve introduzione per aiutare gli altri a identificarti.",
"account_edit.bio.title": "Biografia",
"account_edit.bio_modal.add_title": "Aggiungi biografia",
"account_edit.bio_modal.edit_title": "Modifica la biografia",
"account_edit.char_counter": "{currentLength}/{maxLength} caratteri",
"account_edit.column_button": "Fatto",
"account_edit.column_title": "Modifica il profilo",
"account_edit.custom_fields.placeholder": "Aggiungi i tuoi pronomi, collegamenti esterni o qualsiasi altra cosa desideri condividere.",
"account_edit.custom_fields.title": "Campi personalizzati",
"account_edit.display_name.placeholder": "Il tuo nome mostrato è il modo in cui il tuo nome appare sul tuo profilo e nelle timeline.",
"account_edit.display_name.title": "Nome mostrato",
"account_edit.featured_hashtags.placeholder": "Aiuta gli altri a identificare e ad accedere rapidamente ai tuoi argomenti preferiti.",
"account_edit.featured_hashtags.title": "Hashtag in evidenza",
"account_edit.name_modal.add_title": "Aggiungi il nome mostrato",
"account_edit.name_modal.edit_title": "Modifica il nome mostrato",
"account_edit.profile_tab.subtitle": "Personalizza le schede del tuo profilo e ciò che mostrano.",
"account_edit.profile_tab.title": "Impostazioni della scheda del profilo",
"account_edit.save": "Salva",
"account_edit.section_edit_button": "Modifica",
"account_note.placeholder": "Clicca per aggiungere una nota",
"admin.dashboard.daily_retention": "Tasso di ritenzione dell'utente per giorno, dopo la registrazione",
"admin.dashboard.monthly_retention": "Tasso di ritenzione dell'utente per mese, dopo la registrazione",
@@ -257,7 +274,6 @@
"collections.create.accounts_subtitle": "Possono essere aggiunti solo gli account che segui e che hanno aderito alla funzione di scoperta.",
"collections.create.accounts_title": "Chi includerai in questa collezione?",
"collections.create.basic_details_title": "Dettagli di base",
"collections.create.settings_title": "Impostazioni",
"collections.create.steps": "Step {step}/{total}",
"collections.create_a_collection_hint": "Crea una collezione per consigliare o condividere i tuoi account preferiti con altri.",
"collections.create_collection": "Crea la collezione",
@@ -268,23 +284,22 @@
"collections.detail.curated_by_you": "Curata da te",
"collections.detail.loading": "Caricamento della collezione…",
"collections.detail.share": "Condividi questa collezione",
"collections.edit_details": "Modifica i dettagli di base",
"collections.edit_settings": "Modifica impostazioni",
"collections.edit_details": "Modifica i dettagli",
"collections.error_loading_collections": "Si è verificato un errore durante il tentativo di caricare le tue collezioni.",
"collections.hints.accounts_counter": "{count} / {max} account",
"collections.hints.add_more_accounts": "Aggiungi almeno {count, plural, one {# account} other {# account}} per continuare",
"collections.hints.can_not_remove_more_accounts": "Le collezioni devono contenere almeno {count, plural, one {# account} other {# account}}. La rimozione di altri account, non è possibile.",
"collections.last_updated_at": "Ultimo aggiornamento: {date}",
"collections.manage_accounts": "Gestisci account",
"collections.manage_accounts_in_collection": "Gestisci gli account in questa collezione",
"collections.mark_as_sensitive": "Segna come sensibile",
"collections.mark_as_sensitive_hint": "Nasconde la descrizione e gli account della collezione dietro un avviso di contenuto. Il nome della collezione rimarrà visibile.",
"collections.name_length_hint": "Limite di 100 caratteri",
"collections.name_length_hint": "Limite di 40 caratteri",
"collections.new_collection": "Nuova collezione",
"collections.no_collections_yet": "Nessuna collezione ancora.",
"collections.remove_account": "Rimuovi questo account",
"collections.search_accounts_label": "Cerca account da aggiungere…",
"collections.search_accounts_max_reached": "Hai aggiunto il numero massimo di account",
"collections.sensitive": "Sensibile",
"collections.topic_hint": "Aggiungi un hashtag che aiuti gli altri a comprendere l'argomento principale di questa collezione.",
"collections.view_collection": "Visualizza la collezione",
"collections.visibility_public": "Pubblica",

View File

@@ -167,8 +167,6 @@
"collections.collection_description": "Aglam",
"collections.collection_name": "Isem",
"collections.continue": "Kemmel",
"collections.create.settings_title": "Iɣewwaren",
"collections.edit_settings": "Ẓreg iɣewwaren",
"collections.manage_accounts": "Sefrek imiḍanen",
"column.about": "Ɣef",
"column.blocks": "Imiḍanen yettusḥebsen",

View File

@@ -205,7 +205,6 @@
"closed_registrations_modal.title": "마스토돈에서 가입",
"collections.collection_description": "설명",
"collections.collection_topic": "화제",
"collections.create.settings_title": "설정",
"collections.create_collection": "컬렉션 만들기",
"collections.delete_collection": "컬렉션 지우기",
"collections.manage_accounts": "계정 관리하기",

View File

@@ -252,21 +252,16 @@
"collections.create.accounts_subtitle": "Kan-ta通加lí所綴而且選擇加入探索ê。",
"collections.create.accounts_title": "Lí想beh佇收藏內底予siáng標做特色ê",
"collections.create.basic_details_title": "基本ê資料",
"collections.create.settings_title": "設定",
"collections.create.steps": "第 {step} 步,總共 {total} 步",
"collections.create_a_collection_hint": "建立收藏來hām別lâng推薦á是分享lí上kah意ê口座。",
"collections.create_collection": "建立收藏",
"collections.delete_collection": "Thâi掉收藏",
"collections.description_length_hint": "限制 100 字",
"collections.edit_details": "編基本資料",
"collections.edit_settings": "編設定",
"collections.error_loading_collections": "佇載入lí ê收藏ê時陣出tshê。",
"collections.last_updated_at": "上尾更新tī{date}",
"collections.manage_accounts": "管理口座",
"collections.manage_accounts_in_collection": "管理tsit ê收藏內底ê口座",
"collections.mark_as_sensitive": "標做敏感ê",
"collections.mark_as_sensitive_hint": "Kā收藏ê描述kap口座tshàng佇內容警告ê後壁。收藏ê名猶原會當看。",
"collections.name_length_hint": "限制 100 字",
"collections.new_collection": "新ê收藏",
"collections.no_collections_yet": "Iáu無收藏。",
"collections.topic_hint": "加 hashtag幫tsān別lâng了解tsit ê收藏ê主題。",

View File

@@ -257,7 +257,6 @@
"collections.create.accounts_subtitle": "Alleen accounts die je volgt en ontdekt willen worden, kunnen worden toegevoegd.",
"collections.create.accounts_title": "Wie wil je aan deze verzameling toevoegen?",
"collections.create.basic_details_title": "Basisgegevens",
"collections.create.settings_title": "Instellingen",
"collections.create.steps": "Stap {step}/{total}",
"collections.create_a_collection_hint": "Een verzameling aanmaken om je favoriete accounts aan te bevelen of te delen met anderen.",
"collections.create_collection": "Verzameling aanmaken",
@@ -268,18 +267,14 @@
"collections.detail.curated_by_you": "Samengesteld door jou",
"collections.detail.loading": "Verzameling laden…",
"collections.detail.share": "Deze verzameling delen",
"collections.edit_details": "Basisgegevens bewerken",
"collections.edit_settings": "Instellingen bewerken",
"collections.error_loading_collections": "Er is een fout opgetreden bij het laden van je verzamelingen.",
"collections.hints.accounts_counter": "{count} / {max} accounts",
"collections.hints.add_more_accounts": "Voeg ten minste {count, plural, one {# account} other {# accounts}} toe om door te gaan",
"collections.hints.can_not_remove_more_accounts": "Verzamelingen moeten ten minste {count, plural, one {# account} other {# accounts}} bevatten. Meer accounts verwijderen is niet mogelijk.",
"collections.last_updated_at": "Laatst bijgewerkt: {date}",
"collections.manage_accounts": "Accounts beheren",
"collections.manage_accounts_in_collection": "Accounts in deze verzameling beheren",
"collections.mark_as_sensitive": "Als gevoelig markeren",
"collections.mark_as_sensitive_hint": "Verbergt de omschrijving en de accounts van de verzameling achter een waarschuwing. De naam van de verzameling blijft zichtbaar.",
"collections.name_length_hint": "100 tekens limiet",
"collections.new_collection": "Nieuwe verzameling",
"collections.no_collections_yet": "Nog geen verzamelingen.",
"collections.remove_account": "Deze account verwijderen",

View File

@@ -255,24 +255,19 @@
"collections.create.accounts_subtitle": "Du kan berre leggja til kontoar du fylgjer og som har sagt ja til å bli oppdaga.",
"collections.create.accounts_title": "Kven vil du leggja vekt på denne samlinga?",
"collections.create.basic_details_title": "Grunnleggjande opplysingar",
"collections.create.settings_title": "Innstillingar",
"collections.create.steps": "Steg {step}/{total}",
"collections.create_a_collection_hint": "Lag ei samling for å tilrå eller dela favorittbrukarkontoane dine med andre.",
"collections.create_collection": "Lag ei samling",
"collections.delete_collection": "Slett samlinga",
"collections.description_length_hint": "Maks 100 teikn",
"collections.edit_details": "Rediger grunnleggjande opplysingar",
"collections.edit_settings": "Rediger innstillingar",
"collections.error_loading_collections": "Noko gjekk gale då me prøvde å henta samlingane dine.",
"collections.hints.accounts_counter": "{count} av {max} kontoar",
"collections.hints.add_more_accounts": "Legg til minst {count, plural, one {# konto} other {# kontoar}} for å halda fram",
"collections.hints.can_not_remove_more_accounts": "Samlingar må innehalda minst {count, plural, one {# konto} other {# kontoar}}. Du kan ikkje fjerna fleire kontoar.",
"collections.last_updated_at": "Sist oppdatert: {date}",
"collections.manage_accounts": "Handter kontoar",
"collections.manage_accounts_in_collection": "Handter kontoar i denne samlinga",
"collections.mark_as_sensitive": "Merk som ømtolig",
"collections.mark_as_sensitive_hint": "Gøymer skildringa og kontoane i samlinga bak ei innhaldsåtvaring. Namnet på samlinga blir framleis synleg.",
"collections.name_length_hint": "Maks 100 teikn",
"collections.new_collection": "Ny samling",
"collections.no_collections_yet": "Du har ingen samlingar enno.",
"collections.remove_account": "Fjern denne kontoen",

View File

@@ -154,11 +154,7 @@
"collections.content_warning": "ਸਮੱਗਰੀ ਬਾਰੇ ਚੇਤਾਵਨੀ",
"collections.continue": "ਜਾਰੀ ਰੱਖੋ",
"collections.create.basic_details_title": "ਮੁ਼ੱਢਲੇ ਵੇਰਵੇ",
"collections.create.settings_title": "ਸੈਟਿੰਗਾਂ",
"collections.create.steps": "ਪੜਾਅ {step}/{total}",
"collections.edit_details": "ਮੁੱਢਲੇ ਵੇਰਵਿਆਂ ਨੂੰ ਸੋਧੋ",
"collections.edit_settings": "ਸੈਟਿੰਗਾਂ ਨੂੰ ਸੋਧੋ",
"collections.name_length_hint": "100 ਅੱਖਰਾਂ ਦੀ ਹੱਦ",
"collections.view_collection": "ਭੰਡਾਰ ਨੂੰ ਵੇਖੋ",
"collections.visibility_public": "ਜਨਤਕ",
"collections.visibility_title": "ਦਿੱਖ",

View File

@@ -13,12 +13,18 @@
"about.not_available": "Esta informação não foi disponibilizada neste servidor.",
"about.powered_by": "Rede social descentralizada baseada no {mastodon}",
"about.rules": "Regras do servidor",
"account.about": "Sobre",
"account.account_note_header": "Nota pessoal",
"account.activity": "Atividade",
"account.add_note": "Adicionar nota pessoal",
"account.add_or_remove_from_list": "Adicionar ou remover de listas",
"account.badges.admin": "Administrador",
"account.badges.blocked": "Bloqueado",
"account.badges.bot": "Robô",
"account.badges.domain_blocked": "Domínio bloqueado",
"account.badges.group": "Grupo",
"account.badges.muted": "Sileciado",
"account.badges.muted_until": "Silenciado até {until}",
"account.block": "Bloquear @{name}",
"account.block_domain": "Bloquear domínio {domain}",
"account.block_short": "Bloquear",
@@ -73,6 +79,24 @@
"account.locked_info": "Trancado. Seguir requer aprovação manual do perfil.",
"account.media": "Mídia",
"account.mention": "Mencionar @{name}",
"account.menu.add_to_list": "Adicionar à lista…",
"account.menu.block": "Bloquear conta",
"account.menu.block_domain": "Bloquear {domain}",
"account.menu.copied": "Link da conta copiado para área de transferência",
"account.menu.copy": "Copiar link",
"account.menu.direct": "Mencionar em privado",
"account.menu.hide_reblogs": "Ocultar impulsos na linha do tempo",
"account.menu.mention": "Mencionar",
"account.menu.mute": "Silenciar conta",
"account.menu.note.description": "Visível apenas para você",
"account.menu.open_original_page": "Ver em {domain}",
"account.menu.remove_follower": "Remover seguidor",
"account.menu.report": "Denunciar conta",
"account.menu.share": "Compartilhar…",
"account.menu.show_reblogs": "Mostrar impulsos na linha do tempo",
"account.menu.unblock": "Desbloquear conta",
"account.menu.unblock_domain": "Desbloquear {domain}",
"account.menu.unmute": "Dessilenciar conta",
"account.moved_to": "{name} indicou que sua nova conta agora é:",
"account.mute": "Silenciar @{name}",
"account.mute_notifications_short": "Silenciar notificações",
@@ -80,6 +104,9 @@
"account.muted": "Silenciado",
"account.muting": "Silenciando",
"account.mutual": "Vocês se seguem",
"account.name.help.domain": "{domain} é o servidor que hospeda o perfil e publicações do usuário.",
"account.name.help.domain_self": "{domain} é o seu servidor que hospeda seu perfil e publicações.",
"account.name.help.footer": "Da mesma forma que você pode enviar emails para pessoas utilizando diferentes clientes de email, você pode interagir com pessoas em outros servidores do Mastodon e com qualquer um em outros aplicativos sociais regidos pelo mesmo conjunto de regras que o Mastodon (chamadas de Protocolo ActivityPub).",
"account.no_bio": "Nenhuma descrição fornecida.",
"account.node_modal.callout": "Notas pessoais são visíveis apenas para você.",
"account.node_modal.edit_title": "Editar a nota pessoal",
@@ -220,7 +247,6 @@
"collections.error_loading_collections": "Houve um erro ao tentar carregar suas coleções.",
"collections.mark_as_sensitive": "Marcar como sensível",
"collections.mark_as_sensitive_hint": "Oculta a descrição e as contas da coleção por trás de um aviso de conteúdo. O nome da coleção ainda será visível.",
"collections.name_length_hint": "Limite de 100 caracteres",
"collections.no_collections_yet": "Ainda não há coleções.",
"collections.view_collection": "Ver coleção",
"column.about": "Sobre",

View File

@@ -141,6 +141,21 @@
"account.unmute": "Desocultar @{name}",
"account.unmute_notifications_short": "Desocultar notificações",
"account.unmute_short": "Desocultar",
"account_edit.bio.placeholder": "Adicione uma breve introdução para ajudar à sua identificação por outros.",
"account_edit.bio.title": "Bio",
"account_edit.bio_modal.add_title": "Adicionar biografia",
"account_edit.bio_modal.edit_title": "Editar biografia",
"account_edit.char_counter": "{currentLength}/{maxLength} caracteres",
"account_edit.column_button": "Concluído",
"account_edit.column_title": "Editar Perfil",
"account_edit.custom_fields.placeholder": "Adicione os seus pronomes, hiperligações externas ou qualquer outra coisa que queira partilhar.",
"account_edit.custom_fields.title": "Campos personalizados",
"account_edit.display_name.placeholder": "Como o seu nome vai aparecer no seu perfil e nas linhas do tempo.",
"account_edit.display_name.title": "Nome a mostrar",
"account_edit.featured_hashtags.placeholder": "Ajude à sua identificação por outros e tenha acesso rápido aos seus tópicos favoritos.",
"account_edit.featured_hashtags.title": "Etiquetas em destaque",
"account_edit.name_modal.add_title": "Adicionar nome a mostrar",
"account_edit.name_modal.edit_title": "Editar o nome a mostrar",
"account_note.placeholder": "Clicar para adicionar nota",
"admin.dashboard.daily_retention": "Taxa de retenção de utilizadores por dia após a inscrição",
"admin.dashboard.monthly_retention": "Taxa de retenção de utilizadores por mês após a inscrição",
@@ -252,21 +267,16 @@
"collections.create.accounts_subtitle": "Apenas as contas que segue e que optaram por ser descobertas podem ser adicionadas.",
"collections.create.accounts_title": "Quem vai destacar nesta coleção?",
"collections.create.basic_details_title": "Informações básicas",
"collections.create.settings_title": "Definições",
"collections.create.steps": "Passo {step}/{total}",
"collections.create_a_collection_hint": "Crie uma coleção para recomendar ou partilhar as suas contas favoritas com outras pessoas.",
"collections.create_collection": "Criar coleção",
"collections.delete_collection": "Eliminar coleção",
"collections.description_length_hint": "Limite de 100 caracteres",
"collections.edit_details": "Editar informações básicas",
"collections.edit_settings": "Editar definições",
"collections.error_loading_collections": "Ocorreu um erro ao tentar carregar as suas coleções.",
"collections.last_updated_at": "Última atualização: {date}",
"collections.manage_accounts": "Gerir contas",
"collections.manage_accounts_in_collection": "Gerir contas nesta coleção",
"collections.mark_as_sensitive": "Marcar como sensível",
"collections.mark_as_sensitive_hint": "Oculta a descrição e as contas da coleção por trás de um aviso de conteúdo. O nome da coleção ainda estará visível.",
"collections.name_length_hint": "Limite de 100 caracteres",
"collections.new_collection": "Nova coleção",
"collections.no_collections_yet": "Ainda não existem coleções.",
"collections.topic_hint": "Adicione uma etiqueta para ajudar outros a entender o tópico principal desta coleção.",

View File

@@ -141,8 +141,25 @@
"account.unmute": "Ktheji zërin @{name}",
"account.unmute_notifications_short": "Shfaqi njoftimet",
"account.unmute_short": "Çheshtoje",
"account_edit.bio.placeholder": "Shtoni një hyrje të shkurtër për të ndihmuar të tjerët tju identifikojnë.",
"account_edit.bio.title": "Jetëshkrim",
"account_edit.bio_modal.add_title": "Shtoni jetëshkrim",
"account_edit.bio_modal.edit_title": "Përpunoni jetëshkrim",
"account_edit.char_counter": "{currentLength}/{maxLength} shenja",
"account_edit.column_button": "U bë",
"account_edit.column_title": "Përpunoni Profil",
"account_edit.custom_fields.placeholder": "Shtoni përemrat tuaj, lidhje të jashme, ose gjithçka tjetë që do të donit të ndanit me të tjerë.",
"account_edit.custom_fields.title": "Fusha vetjake",
"account_edit.display_name.placeholder": "Emri juaj në ekran është ajo si duket emri juaj në profilikin dhe rrjedhat tuaja kohore.",
"account_edit.display_name.title": "Emër në ekran",
"account_edit.featured_hashtags.placeholder": "Ndihmoni të tjerët të identifikojnë dhe të hyjnë shpejt e shpejt te subjektet tuaj të parapëlqyer.",
"account_edit.featured_hashtags.title": "Hashtag-ë të zgjedhur",
"account_edit.name_modal.add_title": "Shtoni emër në ekran",
"account_edit.name_modal.edit_title": "Përpunoni emër në ekran",
"account_edit.profile_tab.subtitle": "Përshtatni skedat në profilin tuaj dhe ato çka shfaqet në to.",
"account_edit.profile_tab.title": "Rregullime skede profili",
"account_edit.save": "Ruaje",
"account_edit.section_edit_button": "Përpunojeni",
"account_note.placeholder": "Klikoni për të shtuar shënim",
"admin.dashboard.daily_retention": "Shkallë mbajtjeje përdoruesi, në ditë, pas regjistrimit",
"admin.dashboard.monthly_retention": "Shkallë mbajtjeje përdoruesi, në muaj, pas regjistrimit",
@@ -254,7 +271,6 @@
"collections.create.accounts_subtitle": "Mund të shtohen vetëm llogari që ju ndiqni të cilat kanë zgjedhur të jenë të zbulueshme.",
"collections.create.accounts_title": "Kë do të shfaqni në këtë koleksion?",
"collections.create.basic_details_title": "Hollësi bazë",
"collections.create.settings_title": "Rregullime",
"collections.create.steps": "Hapi {step}/{total}",
"collections.create_a_collection_hint": "Krijoni një koleksion për ta rekomanduar, ose për të ndarë me të tjerët llogaritë tuaja të parapëlqyera.",
"collections.create_collection": "Krijoni koleksion",
@@ -265,23 +281,22 @@
"collections.detail.curated_by_you": "Nën kujdesin tuaj",
"collections.detail.loading": "Po ngarkohet koleksion…",
"collections.detail.share": "Ndajeni këtë koleksion me të tjerë",
"collections.edit_details": "Përpunoni hollësi bazë",
"collections.edit_settings": "Përpunoni rregullime",
"collections.edit_details": "Përpunoni hollësi",
"collections.error_loading_collections": "Pati një gabim teksa provohej të ngarkoheshin koleksionet tuaj.",
"collections.hints.accounts_counter": "{count} / {max} llogari",
"collections.hints.add_more_accounts": "Që të vazhdohet, shtoni të paktën {count, plural, one {# llogari} other {# llogari}}",
"collections.hints.can_not_remove_more_accounts": "Koleksionet duhet të përmbajnë të paktën {count, plural, one {# llogari} other {# llogari}}. Sështë e mundshme heqja e më tepër llogarive.",
"collections.last_updated_at": "Përditësuar së fundi më: {date}",
"collections.manage_accounts": "Administroni llogari",
"collections.manage_accounts_in_collection": "Administroni llogari në këtë koleksion",
"collections.mark_as_sensitive": "Vëri shenjë si rezervat",
"collections.mark_as_sensitive_hint": "Bën fshehjen e përshkrimit të koleksionit dhe llogarive prapa një sinjalizimi lënde. Emri i koleksionit do të jetë ende i dukshëm.",
"collections.name_length_hint": "Kufi prej 100 shenjash",
"collections.name_length_hint": "Kufi 40 shenja",
"collections.new_collection": "Koleksion i ri",
"collections.no_collections_yet": "Ende pa koleksione.",
"collections.remove_account": "Hiqe këtë llogari",
"collections.search_accounts_label": "Kërkoni për llogari për shtim…",
"collections.search_accounts_max_reached": "Keni shtuar numrin maksimum të llogarive",
"collections.sensitive": "Rezervat",
"collections.topic_hint": "Shtoni një hashtag që ndihmon të tjerët të kuptojnë temën kryesore të këtij koleksion.",
"collections.view_collection": "Shiheni koleksionin",
"collections.visibility_public": "Publik",

View File

@@ -257,7 +257,6 @@
"collections.create.accounts_subtitle": "Yalnızca keşif seçeneğini etkinleştirmiş takip ettiğiniz hesaplar eklenebilir.",
"collections.create.accounts_title": "Bu koleksiyonda kimleri öne çıkaracaksınız?",
"collections.create.basic_details_title": "Temel bilgiler",
"collections.create.settings_title": "Ayarlar",
"collections.create.steps": "Adım {step}/{total}",
"collections.create_a_collection_hint": "En sevdiğiniz hesapları başkalarına önermek veya paylaşmak için bir koleksiyon oluşturun.",
"collections.create_collection": "Koleksiyon oluştur",
@@ -268,18 +267,14 @@
"collections.detail.curated_by_you": "Sizin derledikleriniz",
"collections.detail.loading": "Koleksiyon yükleniyor…",
"collections.detail.share": "Bu koleksiyonu paylaş",
"collections.edit_details": "Temel bilgileri düzenle",
"collections.edit_settings": "Ayarları düzenle",
"collections.error_loading_collections": "Koleksiyonlarınızı yüklemeye çalışırken bir hata oluştu.",
"collections.hints.accounts_counter": "{count} / {max} hesap",
"collections.hints.add_more_accounts": "Devam etmek için en az {count, plural, one {# hesap} other {# hesap}} ekleyin",
"collections.hints.can_not_remove_more_accounts": "Koleksiyonlar en azından {count, plural, one {# hesap} other {# hesap}} içermelidir. Daha fazla hesap çıkarmak mümkün değil.",
"collections.last_updated_at": "Son güncelleme: {date}",
"collections.manage_accounts": "Hesapları yönet",
"collections.manage_accounts_in_collection": "Bu koleksiyondaki hesapları yönet",
"collections.mark_as_sensitive": "Hassas olarak işaretle",
"collections.mark_as_sensitive_hint": "Koleksiyonun açıklamasını ve hesaplarını içerik uyarısının arkasında gizler. Koleksiyon adı hala görünür olacaktır.",
"collections.name_length_hint": "100 karakterle sınırlı",
"collections.new_collection": "Yeni koleksiyon",
"collections.no_collections_yet": "Henüz hiçbir koleksiyon yok.",
"collections.remove_account": "Bu hesabı çıkar",

View File

@@ -141,8 +141,25 @@
"account.unmute": "Bỏ phớt lờ @{name}",
"account.unmute_notifications_short": "Bỏ phớt lờ thông báo",
"account.unmute_short": "Bỏ phớt lờ",
"account_edit.bio.placeholder": "Thêm một dòng giới thiệu để giúp mọi người nhận ra bạn.",
"account_edit.bio.title": "Giới thiệu",
"account_edit.bio_modal.add_title": "Thêm giới thiệu",
"account_edit.bio_modal.edit_title": "Sửa giới thiệu",
"account_edit.char_counter": "{currentLength}/{maxLength} ký tự",
"account_edit.column_button": "Xong",
"account_edit.column_title": "Sửa hồ sơ",
"account_edit.custom_fields.placeholder": "Thêm nghề nghiệp, liên kết ngoài hoặc bất kỳ gì mà bạn muốn.",
"account_edit.custom_fields.title": "Trường tùy chỉnh",
"account_edit.display_name.placeholder": "Tên gọi là tên hiển thị trên hồ sơ của bạn, cũng như bảng tin.",
"account_edit.display_name.title": "Tên gọi",
"account_edit.featured_hashtags.placeholder": "Giúp mọi người nhận diện và truy cập nhanh những chủ đề mà bạn thích.",
"account_edit.featured_hashtags.title": "Hashtag thường dùng",
"account_edit.name_modal.add_title": "Thêm tên gọi",
"account_edit.name_modal.edit_title": "Sửa tên gọi",
"account_edit.profile_tab.subtitle": "Tùy chỉnh tab trên hồ sơ của bạn và những gì chúng hiển thị.",
"account_edit.profile_tab.title": "Thiết lập tab hồ sơ",
"account_edit.save": "Lưu",
"account_edit.section_edit_button": "Sửa",
"account_note.placeholder": "Nhấn để thêm",
"admin.dashboard.daily_retention": "Tỉ lệ người dùng sau đăng ký ở lại theo ngày",
"admin.dashboard.monthly_retention": "Tỉ lệ người dùng ở lại sau khi đăng ký",
@@ -257,7 +274,6 @@
"collections.create.accounts_subtitle": "Chỉ những tài khoản bạn theo dõi và đã chọn tham gia chương trình khám phá mới có thể được thêm vào.",
"collections.create.accounts_title": "Bạn sẽ chọn ai để giới thiệu trong bộ sưu tập này?",
"collections.create.basic_details_title": "Thông tin cơ bản",
"collections.create.settings_title": "Cài đặt",
"collections.create.steps": "Bước {step}/{total}",
"collections.create_a_collection_hint": "Tạo một collection để giới thiệu hoặc chia sẻ những tài khoản yêu thích của bạn với người khác.",
"collections.create_collection": "Tạo collection",
@@ -268,23 +284,22 @@
"collections.detail.curated_by_you": "Tuyển chọn bởi bạn",
"collections.detail.loading": "Đang tải collection…",
"collections.detail.share": "Chia sẻ collection này",
"collections.edit_details": "Sửa thông tin cơ bản",
"collections.edit_settings": "Sửa cài đặt",
"collections.edit_details": "Sửa chi tiết",
"collections.error_loading_collections": "Đã xảy ra lỗi khi tải những collection của bạn.",
"collections.hints.accounts_counter": "{count} / {max} tài khoản",
"collections.hints.add_more_accounts": "Thêm tối thiểu {count, plural, other {# tài khoản}} để tiếp tục",
"collections.hints.can_not_remove_more_accounts": "Bộ sưu tập phải chứa tối thiểu {count, plural, other {# tài khoản}}. Không thể gỡ nữa.",
"collections.last_updated_at": "Lần cuối cập nhật: {date}",
"collections.manage_accounts": "Quản lý tài khoản",
"collections.manage_accounts_in_collection": "Quản lý tài khoản trong collection này",
"collections.mark_as_sensitive": "Đánh dấu nhạy cảm",
"collections.mark_as_sensitive_hint": "Ẩn phần mô tả và thông tin tài khoản của collection phía sau cảnh báo nội dung. Tên bộ sưu tập vẫn hiển thị.",
"collections.name_length_hint": "Giới hạn 100 ký tự",
"collections.name_length_hint": "Giới hạn 40 ký tự",
"collections.new_collection": "Collection mới",
"collections.no_collections_yet": "Chưa có collection.",
"collections.remove_account": "Gỡ tài khoản này",
"collections.search_accounts_label": "Tìm tài khoản để thêm…",
"collections.search_accounts_max_reached": "Bạn đã đạt đến số lượng tài khoản tối đa",
"collections.sensitive": "Nhạy cảm",
"collections.topic_hint": "Thêm hashtag giúp người khác hiểu chủ đề chính của collection này.",
"collections.view_collection": "Xem collection",
"collections.visibility_public": "Công khai",

View File

@@ -257,7 +257,6 @@
"collections.create.accounts_subtitle": "只有你关注的且已经主动加入发现功能的账号可以添加。",
"collections.create.accounts_title": "你想在收藏列表中添加哪些人?",
"collections.create.basic_details_title": "基本信息",
"collections.create.settings_title": "设置",
"collections.create.steps": "第 {step} 步(共 {total} 步)",
"collections.create_a_collection_hint": "创建用于向其他人推荐或分享你最喜欢账号的收藏列表。",
"collections.create_collection": "创建收藏列表",
@@ -268,18 +267,14 @@
"collections.detail.curated_by_you": "由你精心挑选",
"collections.detail.loading": "正在加载收藏列表…",
"collections.detail.share": "分享此收藏列表",
"collections.edit_details": "编辑基本信息",
"collections.edit_settings": "编辑设置",
"collections.error_loading_collections": "加载你的收藏列表时发生错误。",
"collections.hints.accounts_counter": "{count} / {max} 个账号",
"collections.hints.add_more_accounts": "添加至少 {count, plural, other {# 个账号}}以继续",
"collections.hints.can_not_remove_more_accounts": "收藏列表必须包含至少 {count, plural, other {# 个账号}}。无法移除更多账号。",
"collections.last_updated_at": "最后更新:{date}",
"collections.manage_accounts": "管理账户",
"collections.manage_accounts_in_collection": "管理此收藏列表内的账户",
"collections.mark_as_sensitive": "标记为敏感内容",
"collections.mark_as_sensitive_hint": "将此收藏列表的说明用内容警告隐藏。此收藏列表的名称仍将可见。",
"collections.name_length_hint": "100字限制",
"collections.new_collection": "新建收藏列表",
"collections.no_collections_yet": "尚无收藏列表。",
"collections.remove_account": "移除此账号",

View File

@@ -141,8 +141,25 @@
"account.unmute": "解除靜音 @{name}",
"account.unmute_notifications_short": "解除靜音推播通知",
"account.unmute_short": "解除靜音",
"account_edit.bio.placeholder": "加入一段簡短介紹以幫助其他人識別您。",
"account_edit.bio.title": "個人簡介",
"account_edit.bio_modal.add_title": "新增個人簡介",
"account_edit.bio_modal.edit_title": "編輯個人簡介",
"account_edit.char_counter": "{currentLength}/{maxLength} 個字",
"account_edit.column_button": "完成",
"account_edit.column_title": "編輯個人檔案",
"account_edit.custom_fields.placeholder": "加入您的稱謂、外部連結、或其他您想分享的。",
"account_edit.custom_fields.title": "自定義欄位",
"account_edit.display_name.placeholder": "您的顯示名稱是您將於個人檔案與時間軸的出現方式。",
"account_edit.display_name.title": "顯示名稱",
"account_edit.featured_hashtags.placeholder": "協助其他人識別、以及快速存取您的最愛主題。",
"account_edit.featured_hashtags.title": "推薦主題標籤",
"account_edit.name_modal.add_title": "新增顯示名稱",
"account_edit.name_modal.edit_title": "編輯顯示名稱",
"account_edit.profile_tab.subtitle": "自訂您個人檔案之分頁與內容。",
"account_edit.profile_tab.title": "個人檔案分頁設定",
"account_edit.save": "儲存",
"account_edit.section_edit_button": "編輯",
"account_note.placeholder": "點擊以新增備註",
"admin.dashboard.daily_retention": "註冊後使用者存留率(日)",
"admin.dashboard.monthly_retention": "註冊後使用者存留率(月)",
@@ -257,7 +274,6 @@
"collections.create.accounts_subtitle": "僅能加入您跟隨並選擇加入探索功能之帳號。",
"collections.create.accounts_title": "您想於此收藏名單推薦誰?",
"collections.create.basic_details_title": "基本資料",
"collections.create.settings_title": "設定",
"collections.create.steps": "步驟 {step}/{total}",
"collections.create_a_collection_hint": "建立用以向其他人推薦或分享您最喜愛帳號之收藏名單。",
"collections.create_collection": "建立收藏名單",
@@ -268,23 +284,22 @@
"collections.detail.curated_by_you": "由您精選",
"collections.detail.loading": "讀取收藏名單中...",
"collections.detail.share": "分享此收藏名單",
"collections.edit_details": "編輯基本資料",
"collections.edit_settings": "編輯設定",
"collections.edit_details": "編輯詳細資料",
"collections.error_loading_collections": "讀取您的收藏名單時發生錯誤。",
"collections.hints.accounts_counter": "{count} / {max} 個帳號",
"collections.hints.add_more_accounts": "加入至少 {count, plural, other {# 個帳號}}以繼續",
"collections.hints.can_not_remove_more_accounts": "收藏名單必須至少包含 {count, plural, other {# 個帳號}}。無法移除更多帳號。",
"collections.last_updated_at": "最後更新:{date}",
"collections.manage_accounts": "管理帳號",
"collections.manage_accounts_in_collection": "管理此收藏名單之帳號",
"collections.mark_as_sensitive": "標記為敏感內容",
"collections.mark_as_sensitive_hint": "將此收藏名單之說明隱藏於內容警告之後。此收藏名單名稱仍將可見。",
"collections.name_length_hint": "100 字限制",
"collections.name_length_hint": "40 字限制",
"collections.new_collection": "新增收藏名單",
"collections.no_collections_yet": "您沒有任何收藏名單。",
"collections.remove_account": "移除此帳號",
"collections.search_accounts_label": "搜尋帳號以加入...",
"collections.search_accounts_max_reached": "您新增之帳號數已達上限",
"collections.sensitive": "敏感內容",
"collections.topic_hint": "新增主題標籤以協助其他人瞭解此收藏名單之主題。",
"collections.view_collection": "檢視收藏名單",
"collections.visibility_public": "公開",

View File

@@ -29,7 +29,7 @@ class Fasp::Request
response = HTTP
.headers(headers)
.use(http_signature: { key:, covered_components: COVERED_COMPONENTS })
.send(verb, url, body:)
.send(verb, url, body:, socket_class: ::Request::Socket)
validate!(response)
@provider.delivery_failure_tracker.track_success!

View File

@@ -378,5 +378,5 @@ class Request
end
end
private_constant :ClientLimit, :Socket, :ProxySocket
private_constant :ClientLimit
end

View File

@@ -37,6 +37,7 @@ class Fasp::Provider < ApplicationRecord
before_create :create_keypair
after_commit :update_remote_capabilities
scope :confirmed, -> { where(confirmed: true) }
scope :with_capability, lambda { |capability_name|
where('fasp_providers.capabilities @> ?::jsonb', "[{\"id\": \"#{capability_name}\", \"enabled\": true}]")
}

View File

@@ -0,0 +1,36 @@
# frozen_string_literal: true
class REST::ProfileSerializer < ActiveModel::Serializer
include RoutingHelper
attributes :id, :display_name, :note, :fields,
:avatar, :avatar_static, :avatar_description, :header, :header_static, :header_description,
:locked, :bot,
:hide_collections, :discoverable, :indexable,
:show_media, :show_media_replies, :show_featured,
:attribution_domains
def id
object.id.to_s
end
def fields
object.fields.map(&:to_h)
end
def avatar
object.avatar_file_name.present? ? full_asset_url(object.avatar_original_url) : nil
end
def avatar_static
object.avatar_file_name.present? ? full_asset_url(object.avatar_static_url) : nil
end
def header
object.header_file_name.present? ? full_asset_url(object.header_original_url) : nil
end
def header_static
object.header_file_name.present? ? full_asset_url(object.header_static_url) : nil
end
end

View File

@@ -8,7 +8,7 @@ class Fasp::BaseWorker
private
def with_provider(provider)
return unless provider.available?
return unless provider.confirmed? && provider.available?
yield
rescue *Mastodon::HTTP_CONNECTION_ERRORS

View File

@@ -62,6 +62,7 @@ cs:
label: Změnit roli
no_role: Žádná role
title: Změnit roli pro %{username}
collections: Sbírky
confirm: Potvrdit
confirmed: Potvrzeno
confirming: Potvrzuji
@@ -348,6 +349,17 @@ cs:
unpublish: Skrýt
unpublished_msg: Zveřejněné oznámení bylo úspěšně skryto!
updated_msg: Oznámení bylo úspěšně aktualizováno!
collections:
accounts: Účty
collection_title: Sbírka od %{name}
contents: Obsah
number_of_accounts:
few: "%{count} účty"
many: "%{count} účtů"
one: 1 účet
other: "%{count} účtů"
open: Otevřít
view_publicly: Zobrazit veřejně
critical_update_pending: Čeká se na kritickou aktualizaci
custom_emojis:
assign_category: Přiřadit kategorii
@@ -705,6 +717,7 @@ cs:
cancel: Zrušit
category: Kategorie
category_description_html: Důvod nahlášení tohoto účtu a/nebo obsahu bude uveden v komunikaci s nahlášeným účtem
collections: Sbírky
comment:
none: Žádné
comment_description_html: 'Pro upřesnění uživatel %{name} napsal:'
@@ -734,11 +747,13 @@ cs:
report: 'Hlášení #%{id}'
reported_account: Nahlášený účet
reported_by: Nahlášeno uživatelem
reported_content: Nahlášený obsah
reported_with_application: Nahlášeno aplikací
resolved: Vyřešeno
resolved_msg: Hlášení úspěšně vyřešeno!
skip_to_actions: Přeskočit k akcím
status: Stav
statuses: Příspěvky
statuses_description_html: Obsah porušující pravidla bude uveden v komunikaci s nahlášeným účtem
summary:
action_preambles:

View File

@@ -68,6 +68,7 @@ cy:
label: Newid rôl
no_role: Dim rôl
title: Newid rôl %{username}
collections: Casgliadau
confirm: Cadarnhau
confirmed: Cadarnhawyd
confirming: Yn cadarnhau
@@ -356,6 +357,19 @@ cy:
unpublish: Dadgyhoeddi
unpublished_msg: Cyhoeddiad wedi'i ddad gyhoeddi'n llwyddiannus!
updated_msg: Cyhoeddiad wedi'i ddiweddaru'n llwyddiannus!
collections:
accounts: Cyfrifon
collection_title: Casgliad gan %{name}
contents: Cynnwys
number_of_accounts:
few: "%{count} cyfrif"
many: "%{count} cyfrif"
one: 1 cyfrif
other: "%{count} cyfrif"
two: "%{count} cyfrif"
zero: "%{count} cyfrif"
open: Agor
view_publicly: Gweld yn gyhoeddus
critical_update_pending: Diweddariad hanfodol ar ei ffordd
custom_emojis:
assign_category: Neilltuo categori
@@ -731,6 +745,7 @@ cy:
cancel: Canslo
category: Categori
category_description_html: Bydd y rheswm dros adrodd am y cyfrif a/neur cynnwys hwn yn cael ei ddyfynnu wrth gyfathrebu âr cyfrif a adroddwyd
collections: Casgliadau
comment:
none: Dim
comment_description_html: 'I ddarparu rhagor o wybodaeth, ysgrifennodd %{name}:'
@@ -760,11 +775,13 @@ cy:
report: 'Adroddiad #%{id}'
reported_account: Cyfrif wedi ei adrodd
reported_by: Adroddwyd gan
reported_content: Cynnwys wedi'u hadrodd
reported_with_application: Adroddwyd gydag ap
resolved: Wedi ei ddatrys
resolved_msg: Llwyddwyd i ddatrys yr adroddiad!
skip_to_actions: Mynd i gamau gweithredu
status: Statws
statuses: Postiadau
statuses_description_html: Bydd cynnwys tramgwyddus yn cael ei ddyfynnu wrth gyfathrebu â'r cyfrif a adroddwyd
summary:
action_preambles:

View File

@@ -56,6 +56,7 @@ de:
label: Rolle ändern
no_role: Keine Rolle
title: Rolle für %{username} ändern
collections: Sammlungen
confirm: Bestätigen
confirmed: Bestätigt
confirming: Bestätigung ausstehend
@@ -340,6 +341,15 @@ de:
unpublish: Ankündigung zurücknehmen
unpublished_msg: Ankündigung erfolgreich zurückgenommen!
updated_msg: Ankündigung erfolgreich aktualisiert!
collections:
accounts: Konten
collection_title: Sammlung von %{name}
contents: Inhalte
number_of_accounts:
one: 1 Konto
other: "%{count} Konten"
open: Öffnen
view_publicly: Sammlung öffnen
critical_update_pending: Kritisches Update ausstehend
custom_emojis:
assign_category: Kategorie zuweisen
@@ -679,6 +689,7 @@ de:
cancel: Abbrechen
category: Kategorie
category_description_html: Der Grund, weshalb dieses Konto und/oder der Inhalt gemeldet worden ist, wird in der Kommunikation mit dem gemeldeten Konto erwähnt
collections: Sammlungen
comment:
none: Ohne ergänzenden Kommentar
comment_description_html: "%{name} ergänzte die Meldung um folgende Hinweis:"
@@ -708,11 +719,13 @@ de:
report: "%{id}. Meldung"
reported_account: Gemeldetes Konto
reported_by: Gemeldet von
reported_content: Gemeldeter Inhalt
reported_with_application: Gemeldet via
resolved: Geklärt
resolved_msg: Meldung erfolgreich geklärt!
skip_to_actions: Zur Maßnahme springen
status: Status
statuses: Beiträge
statuses_description_html: Beanstandete Inhalte werden in der Kommunikation mit dem gemeldeten Konto erwähnt
summary:
action_preambles:

View File

@@ -83,6 +83,10 @@ cy:
access_denied: Mae perchennog yr adnodd neu'r gweinydd awdurdodi wedi atal y cais.
credential_flow_not_configured: Llif meini prawf cyfrinair perchennog yr adnodd wedi methu achos fod Doorkeeper.configure.resource_owner_from_credentials heb ei ffurfweddu.
invalid_client: Methodd dilysu cleient oherwydd cleient anhysbys, dim dilysiad cleient wedi'i gynnwys, neu ddull dilysu heb ei gefnogi.
invalid_code_challenge_method:
one: Rhaid i'r code_challenge_method fod yn %{challenge_methods}.
other: Rhaid i'r code_challenge_method fod yn un o %{challenge_methods}.
zero: Nid yw'r gweinydd awdurdodi yn cefnogi PKCE gan nad oes unrhyw werthoedd code_challenge_method wedi'u derbyn.
invalid_grant: Mae'r grant awdurdodi ar yr amod yn annilys, wedi dod i ben, wedi'i ddirymu, nid yw'n cyfateb i'r URI ailgyfeirio a ddefnyddiwyd yn y cais am awdurdodiad, neu wedi'i roi i gleient arall.
invalid_redirect_uri: Nid yw'r uri ailgyfeirio a gynhwysir yn ddilys.
invalid_request:

View File

@@ -56,6 +56,7 @@ el:
label: Αλλαγή ρόλου
no_role: Κανένας ρόλος
title: Αλλαγή ρόλου για %{username}
collections: Συλλογές
confirm: Επιβεβαίωση
confirmed: Επιβεβαιώθηκε
confirming: Προς επιβεβαίωση
@@ -340,6 +341,15 @@ el:
unpublish: Αναίρεση δημοσίευσης
unpublished_msg: Επιτυχής ακύρωση δημοσίευσης ανακοίνωσης!
updated_msg: Επιτυχής ενημέρωση ανακοίνωσης!
collections:
accounts: Λογαριασμοί
collection_title: Συλλογή από %{name}
contents: Περιεχόμενα
number_of_accounts:
one: 1 λογαριασμός
other: "%{count} λογαριασμοί"
open: Άνοιγμα
view_publicly: Προβολή δημόσια
critical_update_pending: Κρίσιμη ενημέρωση σε αναμονή
custom_emojis:
assign_category: Ανάθεση κατηγορίας
@@ -679,6 +689,7 @@ el:
cancel: Άκυρο
category: Κατηγορία
category_description_html: Ο λόγος για τον οποίο αναφέρθηκε αυτός ο λογαριασμός και/ή το περιεχόμενο θα εσωκλείεται σε επικοινωνία με τον αναφερόμενο λογαριασμό
collections: Συλλογές
comment:
none: Κανένα
comment_description_html: 'Για να δώσει περισσότερες πληροφορίες, ο/η %{name} έγραψε:'
@@ -708,11 +719,13 @@ el:
report: 'Αναφορά #%{id}'
reported_account: Αναφερόμενος λογαριασμός
reported_by: Αναφέρθηκε από
reported_content: Αναφερόμενο περιεχόμενο
reported_with_application: Αναφέρθηκε με την εφαρμογή
resolved: Επιλύθηκε
resolved_msg: Η αναφορά επιλύθηκε επιτυχώς!
skip_to_actions: Μετάβαση στις ενέργειες
status: Κατάσταση
statuses: Αναρτήσεις
statuses_description_html: Το προσβλητικό περιεχόμενο θα εσωκλείεται στην επικοινωνία με τον αναφερόμενο λογαριασμό
summary:
action_preambles:

View File

@@ -56,6 +56,7 @@ en-GB:
label: Change role
no_role: No role
title: Change role for %{username}
collections: Collections
confirm: Confirm
confirmed: Confirmed
confirming: Confirming
@@ -340,6 +341,15 @@ en-GB:
unpublish: Unpublish
unpublished_msg: Announcement successfully unpublished!
updated_msg: Announcement successfully updated!
collections:
accounts: Accounts
collection_title: Collection by %{name}
contents: Contents
number_of_accounts:
one: 1 account
other: "%{count} accounts"
open: Open
view_publicly: View publicly
critical_update_pending: Critical update pending
custom_emojis:
assign_category: Assign category
@@ -679,6 +689,7 @@ en-GB:
cancel: Cancel
category: Category
category_description_html: The reason this account and/or content was reported will be cited in communication with the reported account
collections: Collections
comment:
none: None
comment_description_html: 'To provide more information, %{name} wrote:'
@@ -708,11 +719,13 @@ en-GB:
report: 'Report #%{id}'
reported_account: Reported account
reported_by: Reported by
reported_content: Reported content
reported_with_application: Reported with application
resolved: Resolved
resolved_msg: Report successfully resolved!
skip_to_actions: Skip to actions
status: Status
statuses: Posts
statuses_description_html: Offending content will be cited in communication with the reported account
summary:
action_preambles:

View File

@@ -56,6 +56,7 @@ es-AR:
label: Cambiar rol
no_role: Sin rol
title: Cambiar rol para %{username}
collections: Colecciones
confirm: Confirmar
confirmed: Confirmado
confirming: Confirmación
@@ -340,6 +341,15 @@ es-AR:
unpublish: Eliminar publicación
unpublished_msg: "¡Se dejó de publicar el anuncio exitosamente!"
updated_msg: "¡Anuncio actualizado exitosamente!"
collections:
accounts: Cuentas
collection_title: Colección de %{name}
contents: Contenidos
number_of_accounts:
one: 1 cuenta
other: "%{count} cuentas"
open: Abrir
view_publicly: Ver públicamente
critical_update_pending: Actualización crítica pendiente
custom_emojis:
assign_category: Asignar categoría
@@ -679,6 +689,7 @@ es-AR:
cancel: Cancelar
category: Categoría
category_description_html: El motivo por el que se denunció esta cuenta o contenido será citado en las comunicaciones con la cuenta denunciada
collections: Colecciones
comment:
none: Ninguno
comment_description_html: 'Para proporcionar más información, %{name} escribió:'
@@ -708,11 +719,13 @@ es-AR:
report: 'Denuncia #%{id}'
reported_account: Cuenta denunciada
reported_by: Denunciada por
reported_content: Contenido denunciado
reported_with_application: Denunciado con aplicación
resolved: Resueltas
resolved_msg: "¡Denuncia exitosamente resuelta!"
skip_to_actions: Ir directamente a las acciones
status: Estado
statuses: Mensajes
statuses_description_html: El contenido ofensivo se citará en la comunicación con la cuenta denunciada
summary:
action_preambles:

View File

@@ -56,6 +56,7 @@ es-MX:
label: Cambiar de rol
no_role: Sin rol
title: Cambiar el rol para %{username}
collections: Colecciones
confirm: Confirmar
confirmed: Confirmado
confirming: Confirmando
@@ -340,6 +341,15 @@ es-MX:
unpublish: Retirar publicación
unpublished_msg: "¡Anuncio despublicado con éxito!"
updated_msg: "¡Anuncio actualizado con éxito!"
collections:
accounts: Cuentas
collection_title: Colección de %{name}
contents: Contenidos
number_of_accounts:
one: 1 cuenta
other: "%{count} cuentas"
open: Pública
view_publicly: Vista pública
critical_update_pending: Actualización crítica pendiente
custom_emojis:
assign_category: Asignar categoría
@@ -679,6 +689,7 @@ es-MX:
cancel: Cancelar
category: Categoría
category_description_html: La razón por la que se reportó esta cuenta o contenido será citada en las comunicaciones con la cuenta reportada
collections: Colecciones
comment:
none: Ninguno
comment_description_html: 'Para proporcionar más información, %{name} escribió:'
@@ -708,11 +719,13 @@ es-MX:
report: 'Reportar #%{id}'
reported_account: Cuenta reportada
reported_by: Reportado por
reported_content: Contenido reportado
reported_with_application: Informado a través de la aplicación
resolved: Resuelto
resolved_msg: "¡La denuncia se ha resuelto correctamente!"
skip_to_actions: Ir directamente a las acciones
status: Estado
statuses: Publicaciones
statuses_description_html: El contenido ofensivo se citará en comunicación con la cuenta reportada
summary:
action_preambles:

View File

@@ -56,6 +56,7 @@ es:
label: Cambiar rol
no_role: Sin rol
title: Cambiar rol para %{username}
collections: Colecciones
confirm: Confirmar
confirmed: Confirmado
confirming: Confirmando
@@ -340,6 +341,15 @@ es:
unpublish: Retirar publicación
unpublished_msg: "¡Anuncio despublicado con éxito!"
updated_msg: "¡Anuncio actualizado con éxito!"
collections:
accounts: Cuentas
collection_title: Colección de %{name}
contents: Contenidos
number_of_accounts:
one: 1 cuenta
other: "%{count} cuentas"
open: Pública
view_publicly: Vista pública
critical_update_pending: Actualización crítica pendiente
custom_emojis:
assign_category: Asignar categoría
@@ -679,6 +689,7 @@ es:
cancel: Cancelar
category: Categoría
category_description_html: La razón por la que se reportó esta cuenta o contenido será citada en las comunicaciones con la cuenta reportada
collections: Colecciones
comment:
none: Ninguno
comment_description_html: 'Para proporcionar más información, %{name} escribió:'
@@ -708,11 +719,13 @@ es:
report: 'Reportar #%{id}'
reported_account: Cuenta reportada
reported_by: Reportado por
reported_content: Contenido reportado
reported_with_application: Informado a través de la aplicación
resolved: Resuelto
resolved_msg: "¡La denuncia se ha resuelto correctamente!"
skip_to_actions: Ir directamente a las acciones
status: Estado
statuses: Publicaciones
statuses_description_html: El contenido ofensivo se citará en la comunicación con la cuenta reportada
summary:
action_preambles:

View File

@@ -56,6 +56,7 @@ fi:
label: Vaihda rooli
no_role: Ei roolia
title: Vaihda käyttäjän %{username} rooli
collections: Kokoelmat
confirm: Vahvista
confirmed: Vahvistettu
confirming: Vahvistetaan
@@ -340,6 +341,15 @@ fi:
unpublish: Lopeta julkaisu
unpublished_msg: Tiedotteen julkaisun lopetus onnistui!
updated_msg: Tiedotteen päivitys onnistui!
collections:
accounts: Tilit
collection_title: Kokoelma, koonnut %{name}
contents: Sisältö
number_of_accounts:
one: 1 tili
other: "%{count} tiliä"
open: Avaa
view_publicly: Näytä julkisesti
critical_update_pending: Kriittinen päivitys odottaa
custom_emojis:
assign_category: Aseta luokka
@@ -679,6 +689,7 @@ fi:
cancel: Peruuta
category: Luokka
category_description_html: Syy siihen, miksi tämä tili ja/tai sisältö raportoitiin, mainitaan ilmoitetun tilin kanssa viestiessä
collections: Kokoelmat
comment:
none: Ei mitään
comment_description_html: 'Antaakseen lisätietoja %{name} kirjoitti:'
@@ -708,11 +719,13 @@ fi:
report: Raportti nro %{id}
reported_account: Raportoitu tili
reported_by: Raportoinut
reported_content: Raportoitu sisältö
reported_with_application: Raportoitu sovelluksella
resolved: Ratkaistu
resolved_msg: Raportin ratkaisu onnistui!
skip_to_actions: Siirry toimiin
status: Tila
statuses: Julkaisut
statuses_description_html: Loukkaava sisältö mainitaan raportoidun tilin yhteydessä
summary:
action_preambles:

View File

@@ -56,6 +56,7 @@ fr-CA:
label: Modifier le rôle
no_role: Aucun rôle
title: Modifier le rôle de %{username}
collections: Collections
confirm: Confirmer
confirmed: Confirmé
confirming: Confirmation
@@ -340,6 +341,15 @@ fr-CA:
unpublish: Retirer l'annonce
unpublished_msg: Lannonce a été dépubliée avec succès !
updated_msg: Lannonce a été mise à jour avec succès !
collections:
accounts: Comptes
collection_title: Collection par %{name}
contents: Contenu
number_of_accounts:
one: 1 compte
other: "%{count} comptes"
open: Ouvrir
view_publicly: Afficher publiquement
critical_update_pending: Mise à jour critique en attente
custom_emojis:
assign_category: Attribuer une catégorie
@@ -682,6 +692,7 @@ fr-CA:
cancel: Annuler
category: Catégorie
category_description_html: La raison pour laquelle ce compte et/ou ce contenu a été signalé sera citée dans la communication avec le compte signalé
collections: Collections
comment:
none: Aucun
comment_description_html: 'Pour fournir plus d''informations, %{name} a écrit :'
@@ -711,11 +722,13 @@ fr-CA:
report: 'Signalement #%{id}'
reported_account: Compte signalé
reported_by: Signalé par
reported_content: Contenu signalé
reported_with_application: Signalé avec l'application
resolved: Résolus
resolved_msg: Signalement résolu avec succès!
skip_to_actions: Passer aux actions
status: Statut
statuses: Messages
statuses_description_html: Le contenu offensant sera cité dans la communication avec le compte signalé
summary:
action_preambles:

View File

@@ -56,6 +56,7 @@ fr:
label: Modifier le rôle
no_role: Aucun rôle
title: Modifier le rôle de %{username}
collections: Collections
confirm: Confirmer
confirmed: Confirmé
confirming: Confirmation
@@ -340,6 +341,15 @@ fr:
unpublish: Retirer l'annonce
unpublished_msg: Lannonce a été dépubliée avec succès !
updated_msg: Lannonce a été mise à jour avec succès !
collections:
accounts: Comptes
collection_title: Collection par %{name}
contents: Contenu
number_of_accounts:
one: 1 compte
other: "%{count} comptes"
open: Ouvrir
view_publicly: Afficher publiquement
critical_update_pending: Mise à jour critique en attente
custom_emojis:
assign_category: Attribuer une catégorie
@@ -682,6 +692,7 @@ fr:
cancel: Annuler
category: Catégorie
category_description_html: La raison pour laquelle ce compte et/ou ce contenu a été signalé sera citée dans la communication avec le compte signalé
collections: Collections
comment:
none: Aucun
comment_description_html: 'Pour fournir plus d''informations, %{name} a écrit :'
@@ -711,11 +722,13 @@ fr:
report: 'Signalement #%{id}'
reported_account: Compte signalé
reported_by: Signalé par
reported_content: Contenu signalé
reported_with_application: Signalé avec l'application
resolved: Résolus
resolved_msg: Signalement résolu avec succès!
skip_to_actions: Passer aux actions
status: Statut
statuses: Messages
statuses_description_html: Le contenu offensant sera cité dans la communication avec le compte signalé
summary:
action_preambles:

View File

@@ -65,6 +65,7 @@ ga:
label: Athraigh ról
no_role: Gan ról
title: Athraigh ról do %{username}
collections: Bailiúcháin
confirm: Deimhnigh
confirmed: Deimhnithe
confirming: Ag deimhniú
@@ -352,6 +353,18 @@ ga:
unpublish: Dífhoilsiú
unpublished_msg: Déirigh leis an bhfógra neamhfhoilsithe!
updated_msg: D'éirigh leis an bhfógra a nuashonrú!
collections:
accounts: Cuntais
collection_title: Bailiúchán le %{name}
contents: Ábhar
number_of_accounts:
few: "%{count} cuntais"
many: "%{count} cuntais"
one: 1 chuntas
other: "%{count} cuntais"
two: "%{count} cuntais"
open: Oscail
view_publicly: Féach go poiblí
critical_update_pending: Nuashonrú criticiúil ar feitheamh
custom_emojis:
assign_category: Sann catagóir
@@ -718,6 +731,7 @@ ga:
cancel: Cealaigh
category: Catagóir
category_description_html: Luafar an chúis ar tuairiscíodh an cuntas seo agus/nó an t-ábhar seo i gcumarsáid leis an gcuntas tuairiscithe
collections: Bailiúcháin
comment:
none: Dada
comment_description_html: 'Chun tuilleadh eolais a sholáthar, scríobh %{name}:'
@@ -747,11 +761,13 @@ ga:
report: 'Tuairiscigh # %{id}'
reported_account: Cuntas tuairiscithe
reported_by: Tuairiscithe ag
reported_content: Ábhar tuairiscithe
reported_with_application: Tuairiscíodh leis an iarratas
resolved: Réitithe
resolved_msg: D'éirigh le réiteach an tuairisc!
skip_to_actions: Léim ar ghníomhartha
status: Stádas
statuses: Poist
statuses_description_html: Luafar ábhar ciontach i gcumarsáid leis an gcuntas tuairiscithe
summary:
action_preambles:

View File

@@ -56,6 +56,7 @@ gl:
label: Cambiar rol
no_role: Sen rol
title: Cambiar o rol de %{username}
collections: Coleccións
confirm: Confirmar
confirmed: Confirmado
confirming: Estase a confirmar
@@ -340,6 +341,15 @@ gl:
unpublish: Retirar publicación
unpublished_msg: Anuncio desbotado de xeito correcto!
updated_msg: Anuncio actualizado de xeito correcto!
collections:
accounts: Contas
collection_title: Colección de %{name}
contents: Contido
number_of_accounts:
one: 1 conta
other: "%{count} contas"
open: Abrir
view_publicly: Ver publicamente
critical_update_pending: Actualización crítica pendente
custom_emojis:
assign_category: Atribuír categoría
@@ -679,6 +689,7 @@ gl:
cancel: Cancelar
category: Categoría
category_description_html: A razón para denunciar esta conta ou contido será citada na comunicación coa conta denunciada
collections: Coleccións
comment:
none: Ningún
comment_description_html: 'Como información engadida, %{name} escribiu:'
@@ -708,11 +719,13 @@ gl:
report: 'Denuncia #%{id}'
reported_account: Conta denunciada
reported_by: Denunciado por
reported_content: Contido denunciado
reported_with_application: Denunciado coa aplicación
resolved: Resolto
resolved_msg: Resolveuse con éxito a denuncia!
skip_to_actions: Ir a accións
status: Estado
statuses: Publicacións
statuses_description_html: O contido ofensivo será citado na comunicación coa conta denunciada
summary:
action_preambles:

View File

@@ -56,6 +56,7 @@ hu:
label: Szerep megváltoztatása
no_role: Nincs szerep
title: "%{username} szerepének megváltoztatása"
collections: Gyűjtemények
confirm: Megerősítés
confirmed: Megerősítve
confirming: Megerősítés alatt
@@ -340,6 +341,15 @@ hu:
unpublish: Közzététel visszavonása
unpublished_msg: A közlemény közzététele sikeresen visszavonva!
updated_msg: A közlemény sikeresen frissítve!
collections:
accounts: Fiókok
collection_title: "%{name} gyűjteménye"
contents: Tartalom
number_of_accounts:
one: 1 fiók
other: "%{count} fiók"
open: Megnyitás
view_publicly: Megtekintés nyilvánosan
critical_update_pending: Függőben levő kritikus frissítés
custom_emojis:
assign_category: Kategória hozzárendelése
@@ -679,6 +689,7 @@ hu:
cancel: Mégse
category: Kategória
category_description_html: A fiók vagy tartalom bejelentésének oka a jelentett fiókkal kapcsolatos kommunikációban idézve lesz
collections: Gyűjtemények
comment:
none: Egyik sem
comment_description_html: 'Hogy további információkat adjon, %{name} ezt írta:'
@@ -708,11 +719,13 @@ hu:
report: "#%{id} számú jelentés"
reported_account: Bejelentett fiók
reported_by: 'Jelentette:'
reported_content: Jelentett tartalom
reported_with_application: Alkalmazással bejelentve
resolved: Megoldott
resolved_msg: A bejelentést sikeresen megoldottuk!
skip_to_actions: Tovább az intézkedésekhez
status: Állapot
statuses: Bejegyzések
statuses_description_html: A sértő tartalmat idézni fogjuk a bejelentett fiókkal való kommunikáció során
summary:
action_preambles:

View File

@@ -56,6 +56,7 @@ is:
label: Breyta hlutverki
no_role: Ekkert hlutverk
title: Breyta hlutverki fyrir %{username}
collections: Söfn
confirm: Staðfesta
confirmed: Staðfest
confirming: Staðfesti
@@ -340,6 +341,15 @@ is:
unpublish: Taka úr birtingu
unpublished_msg: Það tókst að taka auglýsinguna úr birtingu!
updated_msg: Það tókst að uppfæra auglýsinguna!
collections:
accounts: Notandaaðgangar
collection_title: Safn frá %{name}
contents: Efni
number_of_accounts:
one: 1 aðgangur
other: "%{count} aðgangar"
open: Opið
view_publicly: Skoða opinberlega
critical_update_pending: Áríðandi uppfærsla í bið
custom_emojis:
assign_category: Úthluta flokki
@@ -679,6 +689,7 @@ is:
cancel: Hætta við
category: Flokkur
category_description_html: Ástæðan fyrir því að þessi notandaaðgangur og/eða efni hans var kært mun verða tiltekin í samskiptum við kærðan notandaaðgang
collections: Söfn
comment:
none: Ekkert
comment_description_html: 'Til að gefa nánari upplýsingar skrifaði %{name}:'
@@ -708,11 +719,13 @@ is:
report: 'Kæra #%{id}'
reported_account: Kærður notandaaðgangur
reported_by: Kært af
reported_content: Kært efni
reported_with_application: Kærði með forritinu
resolved: Leyst
resolved_msg: Það tókst að leysa kæruna!
skip_to_actions: Sleppa og fara í aðgerðir
status: Staða
statuses: Færslur
statuses_description_html: Óviðeigandi efni verður tiltekið í samskiptum við kærðan notandaaðgang
summary:
action_preambles:

View File

@@ -56,6 +56,7 @@ it:
label: Cambia il ruolo
no_role: Nessun ruolo
title: Cambia il ruolo per %{username}
collections: Collezioni
confirm: Conferma
confirmed: Confermato
confirming: Confermando
@@ -340,6 +341,15 @@ it:
unpublish: Annulla la pubblicazione
unpublished_msg: Annuncio ritirato!
updated_msg: Annuncio aggiornato!
collections:
accounts: Account
collection_title: Collezione di %{name}
contents: Contenuti
number_of_accounts:
one: 1 account
other: "%{count} account"
open: Apri
view_publicly: Visualizza pubblicamente
critical_update_pending: Aggiornamento critico in sospeso
custom_emojis:
assign_category: Assegna categoria
@@ -679,6 +689,7 @@ it:
cancel: Annulla
category: Categoria
category_description_html: Il motivo per cui questo account e/o contenuto è stato segnalato sarà citato nella comunicazione con l'account segnalato
collections: Collezioni
comment:
none: Nessuno
comment_description_html: 'Per fornire ulteriori informazioni, %{name} ha scritto:'
@@ -708,11 +719,13 @@ it:
report: 'Rapporto #%{id}'
reported_account: Account segnalato
reported_by: Inviato da
reported_content: Contenuto segnalato
reported_with_application: Segnalato con applicazione
resolved: Risolto
resolved_msg: Rapporto risolto!
skip_to_actions: Passa alle azioni
status: Stato
statuses: Post
statuses_description_html: Il contenuto offensivo sarà citato nella comunicazione con l'account segnalato
summary:
action_preambles:

View File

@@ -12,20 +12,23 @@ pt-BR:
followers:
one: Seguidor
other: Seguidores
following:
one: Seguindo
other: Seguindo
instance_actor_flash: Esta conta é um ator virtual usado para representar o próprio servidor e não um usuário individual. É utilizada para fins de federação e não deve ser suspensa.
last_active: última atividade
link_verified_on: O link foi verificado em %{date}
link_verified_on: A propriedade do link foi verificada em %{date}
nothing_here: Nada aqui!
pin_errors:
following: Você deve estar seguindo a pessoa que você deseja sugerir
following: Você deve estar seguindo a pessoa que você deseja sugerir
posts:
one: Publicação
other: Publicações
posts_tab_heading: Publicações
self_follow_error: Seguir sua conta não é permitido
self_follow_error: Não é permitido seguir sua própria conta
admin:
account_actions:
action: Tomar uma atitude
action: Efetuar uma ação
already_silenced: Esta conta já foi limitada.
already_suspended: Esta conta já foi suspensa.
title: Moderar %{acct}
@@ -53,6 +56,7 @@ pt-BR:
label: Alterar função
no_role: Nenhuma função
title: Alterar função para %{username}
collections: Coleções
confirm: Confirmar
confirmed: Confirmado
confirming: Confirmando
@@ -337,6 +341,15 @@ pt-BR:
unpublish: Cancelar publicação
unpublished_msg: Anúncio desfeito!
updated_msg: Anúncio atualizado!
collections:
accounts: Contas
collection_title: Coleção de %{name}
contents: Conteúdo
number_of_accounts:
one: 1 conta
other: "%{count} contas"
open: Abrir
view_publicly: Ver publicamente
critical_update_pending: Atualização crítica pendente
custom_emojis:
assign_category: Atribuir categoria
@@ -676,6 +689,7 @@ pt-BR:
cancel: Cancelar
category: Categoria
category_description_html: O motivo pelo qual esta conta e/ou conteúdo foi denunciado será citado na comunicação com a conta denunciada
collections: Coleções
comment:
none: Nenhum
comment_description_html: 'Para fornecer mais informações, %{name} escreveu:'
@@ -705,11 +719,13 @@ pt-BR:
report: 'Denúncia #%{id}'
reported_account: Conta denunciada
reported_by: Denunciada por
reported_content: Conteúdo denunciado
reported_with_application: Denunciado pelo aplicativo
resolved: Resolvido
resolved_msg: Denúncia resolvida!
skip_to_actions: Pular para ações
status: Estado
statuses: Publicações
statuses_description_html: Conteúdo ofensivo será citado em comunicação com a conta denunciada
summary:
action_preambles:
@@ -798,6 +814,7 @@ pt-BR:
view_devops_description: Permite aos usuários acessar os painéis da Sidekiq e pgHero
view_feeds: Veja transmissões ao vivo e por tópico
view_feeds_description: Permite que os usuários acessem os feeds ao vivo e por tópico, independentemente das configurações do servidor
requires_2fa: Requer autenticação de dois fatores
title: Funções
rules:
add_new: Adicionar regra
@@ -2017,6 +2034,8 @@ pt-BR:
past_preamble_html: Alteramos nossos termos de serviço desde a sua última visita. Recomendamos que você revise os termos atualizados.
review_link: Revisar os termos do serviço
title: Os termos de serviço do %{domain} estão mudando
themes:
default: Mastodon
time:
formats:
default: "%H:%M em %d de %b de %Y"
@@ -2041,6 +2060,8 @@ pt-BR:
recovery_codes: Códigos de recuperação de reserva
recovery_codes_regenerated: Códigos de recuperação gerados
recovery_instructions_html: Se você perder acesso ao seu celular, você pode usar um dos códigos de recuperação abaixo para acessar a sua conta. <strong>Mantenha os códigos de recuperação em um local seguro</strong>. Por exemplo, você pode imprimi-los e guardá-los junto a outros documentos importantes.
resume_app_authorization: Retomar autorização de aplicativo
role_requirement: "%{domain} exige que você configure a autenticação de dois fatores antes de poder utilizar o Mastodon."
webauthn: Chaves de segurança
user_mailer:
announcement_published:

View File

@@ -56,6 +56,7 @@ pt-PT:
label: Alterar função
no_role: Nenhuma função
title: Alterar a função de %{username}
collections: Coleções
confirm: Confirmar
confirmed: Confirmado
confirming: A confirmar
@@ -340,6 +341,12 @@ pt-PT:
unpublish: Anular publicação
unpublished_msg: Mensagem de manutenção corretamente retirada de publicação!
updated_msg: Mensagem de manutenção atualizada com sucesso!
collections:
accounts: Contas
collection_title: Colecionado por %{name}
contents: Conteúdo
open: Abrir
view_publicly: Ver publicamente
critical_update_pending: Atualização crítica pendente
custom_emojis:
assign_category: Atribuir categoria
@@ -679,6 +686,7 @@ pt-PT:
cancel: Cancelar
category: Categoria
category_description_html: A razão pela qual esta conta e/ou conteúdo foi denunciado será citada na comunicação com a conta denunciada
collections: Coleções
comment:
none: Nenhum
comment_description_html: 'Para fornecer mais informações, %{name} escreveu:'
@@ -708,11 +716,13 @@ pt-PT:
report: 'Denúncia #%{id}'
reported_account: Conta denunciada
reported_by: Denunciado por
reported_content: Conteúdo denunciado
reported_with_application: Denunciado com a aplicação
resolved: Resolvido
resolved_msg: Denúncia resolvida com sucesso!
skip_to_actions: Passar para as ações
status: Estado
statuses: Publicações
statuses_description_html: O conteúdo ofensivo será citado na comunicação com a conta denunciada
summary:
action_preambles:

View File

@@ -228,6 +228,7 @@ cy:
email: Cyfeiriad e-bost
expires_in: Yn dod i ben ar ôl
fields: Metadata proffil
filter_action: Gweithred hidlo
header: Pennyn
honeypot: "%{label} (peidiwch â llenwi)"
inbox_url: URL y mewnflwch relái

View File

@@ -224,6 +224,7 @@ hu:
email: E-mail cím
expires_in: Elévülés dátuma
fields: Profil metaadatai
filter_action: Szűrési művelet
header: Fejléc
honeypot: "%{label} (ne töltsd ki)"
inbox_url: Továbbító inbox-hoz tartozó URL

View File

@@ -56,6 +56,7 @@ sq:
label: Ndryshoni rol
no_role: Pa rol
title: Ndryshoni rolin për %{username}
collections: Koleksione
confirm: Ripohojeni
confirmed: U ripohua
confirming: Po ripohohet
@@ -340,6 +341,15 @@ sq:
unpublish: Hiqi publikimin
unpublished_msg: Lajmërimi u botua me sukses!
updated_msg: Lajmërimi u përditësua me sukses!
collections:
accounts: Llogari
collection_title: Koleksion nga %{name}
contents: Lëndë
number_of_accounts:
one: 1 llogari
other: "%{count} llogari"
open: Hape
view_publicly: Shiheni publikisht
critical_update_pending: Përditësim kritik pezull
custom_emojis:
assign_category: Caktojini kategori
@@ -675,6 +685,7 @@ sq:
cancel: Anuloje
category: Kategori
category_description_html: Arsyeja pse kjo llogari dhe/ose lëndë raportohet do të citohet te komunikimi me llogarinë e raportuar
collections: Koleksione
comment:
none: Asnjë
comment_description_html: 'Për të dhënë më tepër informacion, %{name} shkroi:'
@@ -704,11 +715,13 @@ sq:
report: 'Raportim #%{id}'
reported_account: Llogari e raportuar
reported_by: Raportuar nga
reported_content: Lëndë e raportuar
reported_with_application: Raportuar me aplikacion
resolved: I zgjidhur
resolved_msg: Raportimi u zgjidh me sukses!
skip_to_actions: Kaloni te veprimet
status: Gjendje
statuses: Postime
statuses_description_html: Lënda problematike do të citohet në komunikimin me llogarinë e raportuar
summary:
action_preambles:

View File

@@ -337,6 +337,11 @@ sv:
unpublish: Avpublicera
unpublished_msg: Kungörelsen raderades!
updated_msg: Kungörelsen uppdaterades!
collections:
accounts: Konton
number_of_accounts:
one: 1 konto
other: "%{count} konton"
critical_update_pending: Kritisk uppdatering väntar
custom_emojis:
assign_category: Tilldela kategori
@@ -705,11 +710,13 @@ sv:
report: 'Rapport #%{id}'
reported_account: Anmält konto
reported_by: Anmäld av
reported_content: Rapporterat innehåll
reported_with_application: Rapporterat med applikation
resolved: Löst
resolved_msg: Anmälan har lösts framgångsrikt!
skip_to_actions: Hoppa till åtgärder
status: Status
statuses: Inlägg
statuses_description_html: Stötande innehåll kommer att citeras i kommunikationen med det rapporterade kontot
summary:
action_preambles:

View File

@@ -53,6 +53,7 @@ vi:
label: Đổi vai trò
no_role: Chưa có vai trò
title: Thay đổi vai trò %{username}
collections: Collection
confirm: Phê duyệt
confirmed: Đã xác minh
confirming: Chờ xác nhận
@@ -336,6 +337,14 @@ vi:
unpublish: Hủy đăng
unpublished_msg: Xóa bỏ thông báo thành xong!
updated_msg: Cập nhật thông báo thành công!
collections:
accounts: Tài khoản
collection_title: Collection bởi %{name}
contents: Nội dung
number_of_accounts:
other: "%{count} tài khoản"
open: Mở
view_publicly: Xem công khai
critical_update_pending: Cập nhật quan trọng đang chờ
custom_emojis:
assign_category: Xếp vào danh mục
@@ -666,6 +675,7 @@ vi:
cancel: Hủy bỏ
category: Phân loại
category_description_html: Lý do tài khoản hoặc nội dung này bị báo cáo sẽ được trích dẫn khi giao tiếp với họ
collections: Collection
comment:
none: Không có mô tả
comment_description_html: "%{name} cho biết thêm:"
@@ -695,11 +705,13 @@ vi:
report: 'Báo cáo #%{id}'
reported_account: Tài khoản bị báo cáo
reported_by: Báo cáo bởi
reported_content: Nội dung bị báo cáo
reported_with_application: Báo cáo bằng ứng dụng
resolved: Đã xong
resolved_msg: Đã xử lý báo cáo xong!
skip_to_actions: Kiểm duyệt
status: Trạng thái
statuses: Tút
statuses_description_html: Lý do tài khoản hoặc nội dung này bị báo cáo sẽ được trích dẫn khi giao tiếp với họ
summary:
action_preambles:

View File

@@ -53,6 +53,7 @@ zh-CN:
label: 更改角色
no_role: 没有角色
title: 更改 %{username} 的角色
collections: 收藏列表
confirm: 确认
confirmed: 已确认
confirming: 等待确认
@@ -336,6 +337,14 @@ zh-CN:
unpublish: 取消发布
unpublished_msg: 公告已取消发布!
updated_msg: 公告已成功更新!
collections:
accounts: 账号
collection_title: "%{name} 的收藏列表"
contents: 内容
number_of_accounts:
other: "%{count} 个账号"
open: 打开
view_publicly: 以公开身份查看
critical_update_pending: 紧急更新待处理
custom_emojis:
assign_category: 指定类别
@@ -666,6 +675,7 @@ zh-CN:
cancel: 取消
category: 类别
category_description_html: 在与被举报账号的通信时,将引用该账号和/或内容被举报的原因
collections: 收藏列表
comment:
none: 没有
comment_description_html: "%{name} 补充道:"
@@ -695,11 +705,13 @@ zh-CN:
report: '举报 #%{id}'
reported_account: 举报用户
reported_by: 举报人
reported_content: 被举报内容
reported_with_application: 举报人使用的应用
resolved: 已处理
resolved_msg: 举报处理成功!
skip_to_actions: 跳转到操作
status: 状态
statuses: 嘟文
statuses_description_html: 在与该账号的通信中将引用违规内容
summary:
action_preambles:

View File

@@ -53,6 +53,7 @@ zh-TW:
label: 變更角色
no_role: 沒有角色
title: 為 %{username} 變更角色
collections: 收藏名單
confirm: 確定
confirmed: 已確定
confirming: 確定
@@ -336,6 +337,14 @@ zh-TW:
unpublish: 取消發布
unpublished_msg: 成功取消發布公告!
updated_msg: 成功更新公告!
collections:
accounts: 帳號
collection_title: "%{name} 的收藏名單"
contents: 內容
number_of_accounts:
other: "%{count} 個帳號"
open: 開啟
view_publicly: 公開檢視
critical_update_pending: 重要更新待升級
custom_emojis:
assign_category: 指定分類
@@ -666,6 +675,7 @@ zh-TW:
cancel: 取消
category: 分類
category_description_html: 此帳號及/或被檢舉內容之原因將被引用於檢舉帳號通知中
collections: 收藏名單
comment:
none:
comment_description_html: 提供更多資訊,%{name} 寫道:
@@ -695,11 +705,13 @@ zh-TW:
report: '檢舉 #%{id}'
reported_account: 被檢舉使用者
reported_by: 檢舉人
reported_content: 被檢舉的內容
reported_with_application: 透過應用程式檢舉
resolved: 已解決
resolved_msg: 檢舉報告已處理完成!
skip_to_actions: 跳過行動
status: 嘟文
statuses: 嘟文
statuses_description_html: 侵犯性違規內容將被引用於檢舉帳號通知中
summary:
action_preambles:

View File

@@ -113,9 +113,11 @@ namespace :api, format: false do
resources :endorsements, only: [:index]
resources :markers, only: [:index, :create]
namespace :profile do
resource :avatar, only: :destroy
resource :header, only: :destroy
resource :profile, only: [:show] do
scope module: :profile do
resource :avatar, only: :destroy
resource :header, only: :destroy
end
end
namespace :apps do

View File

@@ -78,6 +78,24 @@ RSpec.describe Fasp::Request do
expect(provider.delivery_failure_tracker.failures).to eq 1
end
end
context 'when the provider host name resolves to a private address' do
around do |example|
WebMock.disable!
example.run
WebMock.enable!
end
it 'raises Mastodon::ValidationError' do
resolver = instance_double(Resolv::DNS)
allow(resolver).to receive(:getaddresses).with('reqprov.example.com').and_return(%w(0.0.0.0 2001:db8::face))
allow(resolver).to receive(:timeouts=).and_return(nil)
allow(Resolv::DNS).to receive(:open).and_yield(resolver)
expect { subject.send(method, '/test_path') }.to raise_error(Mastodon::ValidationError)
end
end
end
describe '#get' do

View File

@@ -6,34 +6,33 @@ RSpec.describe 'Api::Fasp::DataSharing::V0::BackfillRequests', feature: :fasp do
include ProviderRequestHelper
describe 'POST /api/fasp/data_sharing/v0/backfill_requests' do
let(:provider) { Fabricate(:fasp_provider) }
subject do
post api_fasp_data_sharing_v0_backfill_requests_path, headers:, params:, as: :json
end
let(:provider) { Fabricate(:confirmed_fasp) }
let(:params) { { category: 'content', maxCount: 10 } }
let(:headers) do
request_authentication_headers(provider,
url: api_fasp_data_sharing_v0_backfill_requests_url,
method: :post,
body: params)
end
it_behaves_like 'forbidden for unconfirmed provider'
context 'with valid parameters' do
it 'creates a new backfill request' do
params = { category: 'content', maxCount: 10 }
headers = request_authentication_headers(provider,
url: api_fasp_data_sharing_v0_backfill_requests_url,
method: :post,
body: params)
expect do
post api_fasp_data_sharing_v0_backfill_requests_path, headers:, params:, as: :json
end.to change(Fasp::BackfillRequest, :count).by(1)
expect { subject }.to change(Fasp::BackfillRequest, :count).by(1)
expect(response).to have_http_status(201)
end
end
context 'with invalid parameters' do
it 'does not create a backfill request' do
params = { category: 'unknown', maxCount: 10 }
headers = request_authentication_headers(provider,
url: api_fasp_data_sharing_v0_backfill_requests_url,
method: :post,
body: params)
let(:params) { { category: 'unknown', maxCount: 10 } }
expect do
post api_fasp_data_sharing_v0_backfill_requests_path, headers:, params:, as: :json
end.to_not change(Fasp::BackfillRequest, :count)
it 'does not create a backfill request' do
expect { subject }.to_not change(Fasp::BackfillRequest, :count)
expect(response).to have_http_status(422)
end
end

View File

@@ -6,15 +6,22 @@ RSpec.describe 'Api::Fasp::DataSharing::V0::Continuations', feature: :fasp do
include ProviderRequestHelper
describe 'POST /api/fasp/data_sharing/v0/backfill_requests/:id/continuations' do
let(:backfill_request) { Fabricate(:fasp_backfill_request) }
let(:provider) { backfill_request.fasp_provider }
subject do
post api_fasp_data_sharing_v0_backfill_request_continuation_path(backfill_request), headers:, as: :json
end
let(:provider) { Fabricate(:confirmed_fasp) }
let(:backfill_request) { Fabricate(:fasp_backfill_request, fasp_provider: provider) }
let(:headers) do
request_authentication_headers(provider,
url: api_fasp_data_sharing_v0_backfill_request_continuation_url(backfill_request),
method: :post)
end
it_behaves_like 'forbidden for unconfirmed provider'
it 'queues a job to continue the given backfill request' do
headers = request_authentication_headers(provider,
url: api_fasp_data_sharing_v0_backfill_request_continuation_url(backfill_request),
method: :post)
post api_fasp_data_sharing_v0_backfill_request_continuation_path(backfill_request), headers:, as: :json
subject
expect(response).to have_http_status(204)
expect(Fasp::BackfillWorker).to have_enqueued_sidekiq_job(backfill_request.id)
end

View File

@@ -6,51 +6,57 @@ RSpec.describe 'Api::Fasp::DataSharing::V0::EventSubscriptions', feature: :fasp
include ProviderRequestHelper
describe 'POST /api/fasp/data_sharing/v0/event_subscriptions' do
let(:provider) { Fabricate(:fasp_provider) }
subject do
post api_fasp_data_sharing_v0_event_subscriptions_path, headers:, params:, as: :json
end
let(:provider) { Fabricate(:confirmed_fasp) }
let(:params) { { category: 'content', subscriptionType: 'lifecycle', maxBatchSize: 10 } }
let(:headers) do
request_authentication_headers(provider,
url: api_fasp_data_sharing_v0_event_subscriptions_url,
method: :post,
body: params)
end
it_behaves_like 'forbidden for unconfirmed provider'
context 'with valid parameters' do
it 'creates a new subscription' do
params = { category: 'content', subscriptionType: 'lifecycle', maxBatchSize: 10 }
headers = request_authentication_headers(provider,
url: api_fasp_data_sharing_v0_event_subscriptions_url,
method: :post,
body: params)
expect do
post api_fasp_data_sharing_v0_event_subscriptions_path, headers:, params:, as: :json
subject
end.to change(Fasp::Subscription, :count).by(1)
expect(response).to have_http_status(201)
end
end
context 'with invalid parameters' do
it 'does not create a subscription' do
params = { category: 'unknown' }
headers = request_authentication_headers(provider,
url: api_fasp_data_sharing_v0_event_subscriptions_url,
method: :post,
body: params)
let(:params) { { category: 'unknown' } }
expect do
post api_fasp_data_sharing_v0_event_subscriptions_path, headers:, params:, as: :json
end.to_not change(Fasp::Subscription, :count)
it 'does not create a subscription' do
expect { subject }.to_not change(Fasp::Subscription, :count)
expect(response).to have_http_status(422)
end
end
end
describe 'DELETE /api/fasp/data_sharing/v0/event_subscriptions/:id' do
let(:subscription) { Fabricate(:fasp_subscription) }
let(:provider) { subscription.fasp_provider }
subject do
delete api_fasp_data_sharing_v0_event_subscription_path(subscription), headers:, as: :json
end
let(:provider) { Fabricate(:confirmed_fasp) }
let!(:subscription) { Fabricate(:fasp_subscription, fasp_provider: provider) }
let(:headers) do
request_authentication_headers(provider,
url: api_fasp_data_sharing_v0_event_subscription_url(subscription),
method: :delete)
end
it_behaves_like 'forbidden for unconfirmed provider'
it 'deletes the subscription' do
headers = request_authentication_headers(provider,
url: api_fasp_data_sharing_v0_event_subscription_url(subscription),
method: :delete)
expect do
delete api_fasp_data_sharing_v0_event_subscription_path(subscription), headers:, as: :json
end.to change(Fasp::Subscription, :count).by(-1)
expect { subject }.to change(Fasp::Subscription, :count).by(-1)
expect(response).to have_http_status(204)
end
end

View File

@@ -6,18 +6,23 @@ RSpec.describe 'Api::Fasp::Debug::V0::Callback::Responses', feature: :fasp do
include ProviderRequestHelper
describe 'POST /api/fasp/debug/v0/callback/responses' do
let(:provider) { Fabricate(:debug_fasp) }
subject do
post api_fasp_debug_v0_callback_responses_path, headers:, params: payload, as: :json
end
let(:provider) { Fabricate(:confirmed_fasp) }
let(:payload) { { test: 'call' } }
let(:headers) do
request_authentication_headers(provider,
url: api_fasp_debug_v0_callback_responses_url,
method: :post,
body: payload)
end
it_behaves_like 'forbidden for unconfirmed provider'
it 'create a record of the callback' do
payload = { test: 'call' }
headers = request_authentication_headers(provider,
url: api_fasp_debug_v0_callback_responses_url,
method: :post,
body: payload)
expect do
post api_fasp_debug_v0_callback_responses_path, headers:, params: payload, as: :json
end.to change(Fasp::DebugCallback, :count).by(1)
expect { subject }.to change(Fasp::DebugCallback, :count).by(1)
expect(response).to have_http_status(201)
debug_callback = Fasp::DebugCallback.last

View File

@@ -2,8 +2,10 @@
require 'rails_helper'
RSpec.describe 'Deleting profile images' do
include_context 'with API authentication', oauth_scopes: 'write:accounts'
RSpec.describe 'Profile API' do
include_context 'with API authentication'
let(:scopes) { 'write:accounts' }
let(:account) do
Fabricate(
@@ -14,53 +16,88 @@ RSpec.describe 'Deleting profile images' do
end
let(:user) { account.user }
describe 'DELETE /api/v1/profile' do
context 'when deleting an avatar' do
context 'with wrong scope' do
before do
delete '/api/v1/profile/avatar', headers: headers
end
describe 'GET /api/v1/profile' do
let(:scopes) { 'read:accounts' }
it_behaves_like 'forbidden for wrong scope', 'read'
end
it 'returns HTTP success with the appropriate profile' do
get '/api/v1/profile', headers: headers
it 'returns http success and deletes the avatar, preserves the header, queues up distribution' do
expect(response)
.to have_http_status(200)
expect(response.content_type)
.to start_with('application/json')
expect(response.parsed_body)
.to match(
'id' => account.id.to_s,
'avatar' => %r{https://.*},
'avatar_static' => %r{https://.*},
'avatar_description' => '',
'header' => %r{https://.*},
'header_static' => %r{https://.*},
'header_description' => '',
'hide_collections' => anything,
'bot' => account.bot,
'locked' => account.locked,
'discoverable' => account.discoverable,
'indexable' => account.indexable,
'display_name' => account.display_name,
'fields' => [],
'attribution_domains' => [],
'note' => account.note,
'show_featured' => account.show_featured,
'show_media' => account.show_media,
'show_media_replies' => account.show_media_replies
)
end
end
describe 'DELETE /api/v1/profile/avatar' do
context 'with wrong scope' do
before do
delete '/api/v1/profile/avatar', headers: headers
expect(response).to have_http_status(200)
expect(response.content_type)
.to start_with('application/json')
account.reload
expect(account.avatar).to_not exist
expect(account.header).to exist
expect(ActivityPub::UpdateDistributionWorker)
.to have_enqueued_sidekiq_job(account.id)
end
it_behaves_like 'forbidden for wrong scope', 'read'
end
context 'when deleting a header' do
context 'with wrong scope' do
before do
delete '/api/v1/profile/header', headers: headers
end
it 'returns http success and deletes the avatar, preserves the header, queues up distribution' do
delete '/api/v1/profile/avatar', headers: headers
it_behaves_like 'forbidden for wrong scope', 'read'
end
expect(response).to have_http_status(200)
expect(response.content_type)
.to start_with('application/json')
it 'returns http success, preserves the avatar, deletes the header, queues up distribution' do
account.reload
expect(account.avatar).to_not exist
expect(account.header).to exist
expect(ActivityPub::UpdateDistributionWorker)
.to have_enqueued_sidekiq_job(account.id)
end
end
describe 'DELETE /api/v1/profile/header' do
context 'with wrong scope' do
before do
delete '/api/v1/profile/header', headers: headers
expect(response).to have_http_status(200)
expect(response.content_type)
.to start_with('application/json')
account.reload
expect(account.avatar).to exist
expect(account.header).to_not exist
expect(ActivityPub::UpdateDistributionWorker)
.to have_enqueued_sidekiq_job(account.id)
end
it_behaves_like 'forbidden for wrong scope', 'read'
end
it 'returns http success, preserves the avatar, deletes the header, queues up distribution' do
delete '/api/v1/profile/header', headers: headers
expect(response).to have_http_status(200)
expect(response.content_type)
.to start_with('application/json')
account.reload
expect(account.avatar).to exist
expect(account.header).to_not exist
expect(ActivityPub::UpdateDistributionWorker)
.to have_enqueued_sidekiq_job(account.id)
end
end
end

View File

@@ -0,0 +1,13 @@
# frozen_string_literal: true
RSpec.shared_examples 'forbidden for unconfirmed provider' do
context 'when the requesting provider is unconfirmed' do
let(:provider) { Fabricate(:fasp_provider) }
it 'returns http unauthorized' do
subject
expect(response).to have_http_status(401)
end
end
end

View File

@@ -8,10 +8,10 @@ RSpec.describe Fasp::AnnounceAccountLifecycleEventWorker do
subject { described_class.new.perform(account_uri, 'new') }
let(:account_uri) { 'https://masto.example.com/accounts/1' }
let(:provider) { Fabricate(:confirmed_fasp) }
let(:subscription) do
Fabricate(:fasp_subscription, category: 'account')
Fabricate(:fasp_subscription, fasp_provider: provider, category: 'account')
end
let(:provider) { subscription.fasp_provider }
let(:path) { '/data_sharing/v0/announcements' }
let!(:stubbed_request) do

View File

@@ -8,10 +8,10 @@ RSpec.describe Fasp::AnnounceContentLifecycleEventWorker do
subject { described_class.new.perform(status_uri, 'new') }
let(:status_uri) { 'https://masto.example.com/status/1' }
let(:provider) { Fabricate(:confirmed_fasp) }
let(:subscription) do
Fabricate(:fasp_subscription)
Fabricate(:fasp_subscription, fasp_provider: provider)
end
let(:provider) { subscription.fasp_provider }
let(:path) { '/data_sharing/v0/announcements' }
let!(:stubbed_request) do

View File

@@ -8,14 +8,15 @@ RSpec.describe Fasp::AnnounceTrendWorker do
subject { described_class.new.perform(status.id, 'favourite') }
let(:status) { Fabricate(:status) }
let(:provider) { Fabricate(:confirmed_fasp) }
let(:subscription) do
Fabricate(:fasp_subscription,
fasp_provider: provider,
category: 'content',
subscription_type: 'trends',
threshold_timeframe: 15,
threshold_likes: 2)
end
let(:provider) { subscription.fasp_provider }
let(:path) { '/data_sharing/v0/announcements' }
let!(:stubbed_request) do

View File

@@ -7,8 +7,8 @@ RSpec.describe Fasp::BackfillWorker do
subject { described_class.new.perform(backfill_request.id) }
let(:backfill_request) { Fabricate(:fasp_backfill_request) }
let(:provider) { backfill_request.fasp_provider }
let(:provider) { Fabricate(:confirmed_fasp) }
let(:backfill_request) { Fabricate(:fasp_backfill_request, fasp_provider: provider) }
let(:status) { Fabricate(:status) }
let(:path) { '/data_sharing/v0/announcements' }