mirror of
https://git.kescher.at/CatCatNya/catstodon.git
synced 2024-11-22 18:48:06 +01:00
Merge commit '70988519df66f0b8edeb6ca95140f1d3e436fea8' into glitch-soc/merge-upstream
This commit is contained in:
commit
c6039f99ce
99 changed files with 396 additions and 209 deletions
|
@ -101,15 +101,15 @@ GEM
|
||||||
awrence (1.2.1)
|
awrence (1.2.1)
|
||||||
aws-eventstream (1.3.0)
|
aws-eventstream (1.3.0)
|
||||||
aws-partitions (1.977.0)
|
aws-partitions (1.977.0)
|
||||||
aws-sdk-core (3.207.0)
|
aws-sdk-core (3.208.0)
|
||||||
aws-eventstream (~> 1, >= 1.3.0)
|
aws-eventstream (~> 1, >= 1.3.0)
|
||||||
aws-partitions (~> 1, >= 1.651.0)
|
aws-partitions (~> 1, >= 1.651.0)
|
||||||
aws-sigv4 (~> 1.9)
|
aws-sigv4 (~> 1.9)
|
||||||
jmespath (~> 1, >= 1.6.1)
|
jmespath (~> 1, >= 1.6.1)
|
||||||
aws-sdk-kms (1.92.0)
|
aws-sdk-kms (1.93.0)
|
||||||
aws-sdk-core (~> 3, >= 3.207.0)
|
aws-sdk-core (~> 3, >= 3.207.0)
|
||||||
aws-sigv4 (~> 1.5)
|
aws-sigv4 (~> 1.5)
|
||||||
aws-sdk-s3 (1.164.0)
|
aws-sdk-s3 (1.165.0)
|
||||||
aws-sdk-core (~> 3, >= 3.207.0)
|
aws-sdk-core (~> 3, >= 3.207.0)
|
||||||
aws-sdk-kms (~> 1)
|
aws-sdk-kms (~> 1)
|
||||||
aws-sigv4 (~> 1.5)
|
aws-sigv4 (~> 1.5)
|
||||||
|
@ -893,7 +893,7 @@ GEM
|
||||||
rack-proxy (>= 0.6.1)
|
rack-proxy (>= 0.6.1)
|
||||||
railties (>= 5.2)
|
railties (>= 5.2)
|
||||||
semantic_range (>= 2.3.0)
|
semantic_range (>= 2.3.0)
|
||||||
webrick (1.8.1)
|
webrick (1.8.2)
|
||||||
websocket (1.2.11)
|
websocket (1.2.11)
|
||||||
websocket-driver (0.7.6)
|
websocket-driver (0.7.6)
|
||||||
websocket-extensions (>= 0.1.0)
|
websocket-extensions (>= 0.1.0)
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import { browserHistory } from 'mastodon/components/router';
|
import { browserHistory } from 'mastodon/components/router';
|
||||||
|
import { debounceWithDispatchAndArguments } from 'mastodon/utils/debounce';
|
||||||
|
|
||||||
import api, { getLinks } from '../api';
|
import api, { getLinks } from '../api';
|
||||||
|
|
||||||
|
@ -449,6 +450,20 @@ export function expandFollowingFail(id, error) {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const debouncedFetchRelationships = debounceWithDispatchAndArguments((dispatch, ...newAccountIds) => {
|
||||||
|
if (newAccountIds.length === 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
dispatch(fetchRelationshipsRequest(newAccountIds));
|
||||||
|
|
||||||
|
api().get(`/api/v1/accounts/relationships?with_suspended=true&${newAccountIds.map(id => `id[]=${id}`).join('&')}`).then(response => {
|
||||||
|
dispatch(fetchRelationshipsSuccess({ relationships: response.data }));
|
||||||
|
}).catch(error => {
|
||||||
|
dispatch(fetchRelationshipsFail(error));
|
||||||
|
});
|
||||||
|
}, { delay: 500 });
|
||||||
|
|
||||||
export function fetchRelationships(accountIds) {
|
export function fetchRelationships(accountIds) {
|
||||||
return (dispatch, getState) => {
|
return (dispatch, getState) => {
|
||||||
const state = getState();
|
const state = getState();
|
||||||
|
@ -460,13 +475,7 @@ export function fetchRelationships(accountIds) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatch(fetchRelationshipsRequest(newAccountIds));
|
debouncedFetchRelationships(dispatch, ...newAccountIds);
|
||||||
|
|
||||||
api().get(`/api/v1/accounts/relationships?with_suspended=true&${newAccountIds.map(id => `id[]=${id}`).join('&')}`).then(response => {
|
|
||||||
dispatch(fetchRelationshipsSuccess({ relationships: response.data }));
|
|
||||||
}).catch(error => {
|
|
||||||
dispatch(fetchRelationshipsFail(error));
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,6 @@ export const updateNotificationsPolicy = createDataLoadingThunk(
|
||||||
(policy: Partial<NotificationPolicy>) => apiUpdateNotificationsPolicy(policy),
|
(policy: Partial<NotificationPolicy>) => apiUpdateNotificationsPolicy(policy),
|
||||||
);
|
);
|
||||||
|
|
||||||
export const decreasePendingNotificationsCount = createAction<number>(
|
export const decreasePendingRequestsCount = createAction<number>(
|
||||||
'notificationPolicy/decreasePendingNotificationCount',
|
'notificationPolicy/decreasePendingRequestsCount',
|
||||||
);
|
);
|
||||||
|
|
|
@ -13,11 +13,11 @@ import type {
|
||||||
ApiNotificationJSON,
|
ApiNotificationJSON,
|
||||||
} from 'mastodon/api_types/notifications';
|
} from 'mastodon/api_types/notifications';
|
||||||
import type { ApiStatusJSON } from 'mastodon/api_types/statuses';
|
import type { ApiStatusJSON } from 'mastodon/api_types/statuses';
|
||||||
import type { AppDispatch, RootState } from 'mastodon/store';
|
import type { AppDispatch } from 'mastodon/store';
|
||||||
import { createDataLoadingThunk } from 'mastodon/store/typed_functions';
|
import { createDataLoadingThunk } from 'mastodon/store/typed_functions';
|
||||||
|
|
||||||
import { importFetchedAccounts, importFetchedStatuses } from './importer';
|
import { importFetchedAccounts, importFetchedStatuses } from './importer';
|
||||||
import { decreasePendingNotificationsCount } from './notification_policies';
|
import { decreasePendingRequestsCount } from './notification_policies';
|
||||||
|
|
||||||
// TODO: refactor with notification_groups
|
// TODO: refactor with notification_groups
|
||||||
function dispatchAssociatedRecords(
|
function dispatchAssociatedRecords(
|
||||||
|
@ -169,19 +169,11 @@ export const expandNotificationsForRequest = createDataLoadingThunk(
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
const selectNotificationCountForRequest = (state: RootState, id: string) => {
|
|
||||||
const requests = state.notificationRequests.items;
|
|
||||||
const thisRequest = requests.find((request) => request.id === id);
|
|
||||||
return thisRequest ? thisRequest.notifications_count : 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
export const acceptNotificationRequest = createDataLoadingThunk(
|
export const acceptNotificationRequest = createDataLoadingThunk(
|
||||||
'notificationRequest/accept',
|
'notificationRequest/accept',
|
||||||
({ id }: { id: string }) => apiAcceptNotificationRequest(id),
|
({ id }: { id: string }) => apiAcceptNotificationRequest(id),
|
||||||
(_data, { dispatch, getState, discardLoadData, actionArg: { id } }) => {
|
(_data, { dispatch, discardLoadData }) => {
|
||||||
const count = selectNotificationCountForRequest(getState(), id);
|
dispatch(decreasePendingRequestsCount(1));
|
||||||
|
|
||||||
dispatch(decreasePendingNotificationsCount(count));
|
|
||||||
|
|
||||||
// The payload is not used in any functions
|
// The payload is not used in any functions
|
||||||
return discardLoadData;
|
return discardLoadData;
|
||||||
|
@ -191,10 +183,8 @@ export const acceptNotificationRequest = createDataLoadingThunk(
|
||||||
export const dismissNotificationRequest = createDataLoadingThunk(
|
export const dismissNotificationRequest = createDataLoadingThunk(
|
||||||
'notificationRequest/dismiss',
|
'notificationRequest/dismiss',
|
||||||
({ id }: { id: string }) => apiDismissNotificationRequest(id),
|
({ id }: { id: string }) => apiDismissNotificationRequest(id),
|
||||||
(_data, { dispatch, getState, discardLoadData, actionArg: { id } }) => {
|
(_data, { dispatch, discardLoadData }) => {
|
||||||
const count = selectNotificationCountForRequest(getState(), id);
|
dispatch(decreasePendingRequestsCount(1));
|
||||||
|
|
||||||
dispatch(decreasePendingNotificationsCount(count));
|
|
||||||
|
|
||||||
// The payload is not used in any functions
|
// The payload is not used in any functions
|
||||||
return discardLoadData;
|
return discardLoadData;
|
||||||
|
@ -204,13 +194,8 @@ export const dismissNotificationRequest = createDataLoadingThunk(
|
||||||
export const acceptNotificationRequests = createDataLoadingThunk(
|
export const acceptNotificationRequests = createDataLoadingThunk(
|
||||||
'notificationRequests/acceptBulk',
|
'notificationRequests/acceptBulk',
|
||||||
({ ids }: { ids: string[] }) => apiAcceptNotificationRequests(ids),
|
({ ids }: { ids: string[] }) => apiAcceptNotificationRequests(ids),
|
||||||
(_data, { dispatch, getState, discardLoadData, actionArg: { ids } }) => {
|
(_data, { dispatch, discardLoadData, actionArg: { ids } }) => {
|
||||||
const count = ids.reduce(
|
dispatch(decreasePendingRequestsCount(ids.length));
|
||||||
(count, id) => count + selectNotificationCountForRequest(getState(), id),
|
|
||||||
0,
|
|
||||||
);
|
|
||||||
|
|
||||||
dispatch(decreasePendingNotificationsCount(count));
|
|
||||||
|
|
||||||
// The payload is not used in any functions
|
// The payload is not used in any functions
|
||||||
return discardLoadData;
|
return discardLoadData;
|
||||||
|
@ -220,13 +205,8 @@ export const acceptNotificationRequests = createDataLoadingThunk(
|
||||||
export const dismissNotificationRequests = createDataLoadingThunk(
|
export const dismissNotificationRequests = createDataLoadingThunk(
|
||||||
'notificationRequests/dismissBulk',
|
'notificationRequests/dismissBulk',
|
||||||
({ ids }: { ids: string[] }) => apiDismissNotificationRequests(ids),
|
({ ids }: { ids: string[] }) => apiDismissNotificationRequests(ids),
|
||||||
(_data, { dispatch, getState, discardLoadData, actionArg: { ids } }) => {
|
(_data, { dispatch, discardLoadData, actionArg: { ids } }) => {
|
||||||
const count = ids.reduce(
|
dispatch(decreasePendingRequestsCount(ids.length));
|
||||||
(count, id) => count + selectNotificationCountForRequest(getState(), id),
|
|
||||||
0,
|
|
||||||
);
|
|
||||||
|
|
||||||
dispatch(decreasePendingNotificationsCount(count));
|
|
||||||
|
|
||||||
// The payload is not used in any functions
|
// The payload is not used in any functions
|
||||||
return discardLoadData;
|
return discardLoadData;
|
||||||
|
|
|
@ -10,7 +10,7 @@ import api, { getLinks } from '../api';
|
||||||
import { unescapeHTML } from '../utils/html';
|
import { unescapeHTML } from '../utils/html';
|
||||||
import { requestNotificationPermission } from '../utils/notifications';
|
import { requestNotificationPermission } from '../utils/notifications';
|
||||||
|
|
||||||
import { fetchFollowRequests, fetchRelationships } from './accounts';
|
import { fetchFollowRequests } from './accounts';
|
||||||
import {
|
import {
|
||||||
importFetchedAccount,
|
importFetchedAccount,
|
||||||
importFetchedAccounts,
|
importFetchedAccounts,
|
||||||
|
@ -56,14 +56,6 @@ defineMessages({
|
||||||
group: { id: 'notifications.group', defaultMessage: '{count} notifications' },
|
group: { id: 'notifications.group', defaultMessage: '{count} notifications' },
|
||||||
});
|
});
|
||||||
|
|
||||||
const fetchRelatedRelationships = (dispatch, notifications) => {
|
|
||||||
const accountIds = notifications.filter(item => ['follow', 'follow_request', 'admin.sign_up'].indexOf(item.type) !== -1).map(item => item.account.id);
|
|
||||||
|
|
||||||
if (accountIds.length > 0) {
|
|
||||||
dispatch(fetchRelationships(accountIds));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export const loadPending = () => ({
|
export const loadPending = () => ({
|
||||||
type: NOTIFICATIONS_LOAD_PENDING,
|
type: NOTIFICATIONS_LOAD_PENDING,
|
||||||
});
|
});
|
||||||
|
@ -106,8 +98,6 @@ export function updateNotifications(notification, intlMessages, intlLocale) {
|
||||||
|
|
||||||
|
|
||||||
dispatch(notificationsUpdate({ notification, preferPendingItems, playSound: playSound && !filtered}));
|
dispatch(notificationsUpdate({ notification, preferPendingItems, playSound: playSound && !filtered}));
|
||||||
|
|
||||||
fetchRelatedRelationships(dispatch, [notification]);
|
|
||||||
} else if (playSound && !filtered) {
|
} else if (playSound && !filtered) {
|
||||||
dispatch({
|
dispatch({
|
||||||
type: NOTIFICATIONS_UPDATE_NOOP,
|
type: NOTIFICATIONS_UPDATE_NOOP,
|
||||||
|
@ -199,7 +189,6 @@ export function expandNotifications({ maxId = undefined, forceLoad = false }) {
|
||||||
dispatch(importFetchedAccounts(response.data.filter(item => item.report).map(item => item.report.target_account)));
|
dispatch(importFetchedAccounts(response.data.filter(item => item.report).map(item => item.report.target_account)));
|
||||||
|
|
||||||
dispatch(expandNotificationsSuccess(response.data, next ? next.uri : null, isLoadingMore, isLoadingRecent, isLoadingRecent && preferPendingItems));
|
dispatch(expandNotificationsSuccess(response.data, next ? next.uri : null, isLoadingMore, isLoadingRecent, isLoadingRecent && preferPendingItems));
|
||||||
fetchRelatedRelationships(dispatch, response.data);
|
|
||||||
dispatch(submitMarkers());
|
dispatch(submitMarkers());
|
||||||
} catch(error) {
|
} catch(error) {
|
||||||
dispatch(expandNotificationsFail(error, isLoadingMore));
|
dispatch(expandNotificationsFail(error, isLoadingMore));
|
||||||
|
|
|
@ -91,5 +91,5 @@ export const apiAcceptNotificationRequests = async (id: string[]) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
export const apiDismissNotificationRequests = async (id: string[]) => {
|
export const apiDismissNotificationRequests = async (id: string[]) => {
|
||||||
return apiRequestPost('v1/notifications/dismiss/dismiss', { id });
|
return apiRequestPost('v1/notifications/requests/dismiss', { id });
|
||||||
};
|
};
|
||||||
|
|
|
@ -31,7 +31,7 @@ export const FilteredNotificationsIconButton: React.FC<{
|
||||||
history.push('/notifications/requests');
|
history.push('/notifications/requests');
|
||||||
}, [history]);
|
}, [history]);
|
||||||
|
|
||||||
if (policy === null || policy.summary.pending_notifications_count === 0) {
|
if (policy === null || policy.summary.pending_requests_count <= 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ export const FilteredNotificationsBanner: React.FC = () => {
|
||||||
};
|
};
|
||||||
}, [dispatch]);
|
}, [dispatch]);
|
||||||
|
|
||||||
if (policy === null || policy.summary.pending_notifications_count === 0) {
|
if (policy === null || policy.summary.pending_requests_count <= 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -97,6 +97,8 @@
|
||||||
"block_modal.title": "Αποκλεισμός χρήστη;",
|
"block_modal.title": "Αποκλεισμός χρήστη;",
|
||||||
"block_modal.you_wont_see_mentions": "Δε θα βλέπεις τις αναρτήσεις που τον αναφέρουν.",
|
"block_modal.you_wont_see_mentions": "Δε θα βλέπεις τις αναρτήσεις που τον αναφέρουν.",
|
||||||
"boost_modal.combo": "Μπορείς να πατήσεις {combo} για να το προσπεράσεις την επόμενη φορά",
|
"boost_modal.combo": "Μπορείς να πατήσεις {combo} για να το προσπεράσεις την επόμενη φορά",
|
||||||
|
"boost_modal.reblog": "Ενίσχυση ανάρτησης;",
|
||||||
|
"boost_modal.undo_reblog": "Αναίρεση ενίσχυσης;",
|
||||||
"bundle_column_error.copy_stacktrace": "Αντιγραφή αναφοράς σφάλματος",
|
"bundle_column_error.copy_stacktrace": "Αντιγραφή αναφοράς σφάλματος",
|
||||||
"bundle_column_error.error.body": "Δεν ήταν δυνατή η απόδοση της σελίδας που ζήτησες. Μπορεί να οφείλεται σε σφάλμα στον κώδικά μας ή σε πρόβλημα συμβατότητας του προγράμματος περιήγησης.",
|
"bundle_column_error.error.body": "Δεν ήταν δυνατή η απόδοση της σελίδας που ζήτησες. Μπορεί να οφείλεται σε σφάλμα στον κώδικά μας ή σε πρόβλημα συμβατότητας του προγράμματος περιήγησης.",
|
||||||
"bundle_column_error.error.title": "Ωχ όχι!",
|
"bundle_column_error.error.title": "Ωχ όχι!",
|
||||||
|
@ -192,6 +194,8 @@
|
||||||
"confirmations.unfollow.confirm": "Άρση ακολούθησης",
|
"confirmations.unfollow.confirm": "Άρση ακολούθησης",
|
||||||
"confirmations.unfollow.message": "Σίγουρα θες να πάψεις να ακολουθείς τον/την {name};",
|
"confirmations.unfollow.message": "Σίγουρα θες να πάψεις να ακολουθείς τον/την {name};",
|
||||||
"confirmations.unfollow.title": "Άρση ακολούθησης;",
|
"confirmations.unfollow.title": "Άρση ακολούθησης;",
|
||||||
|
"content_warning.hide": "Απόκρυψη ανάρτησης",
|
||||||
|
"content_warning.show": "Εμφάνιση ούτως ή άλλως",
|
||||||
"conversation.delete": "Διαγραφή συζήτησης",
|
"conversation.delete": "Διαγραφή συζήτησης",
|
||||||
"conversation.mark_as_read": "Σήμανση ως αναγνωσμένο",
|
"conversation.mark_as_read": "Σήμανση ως αναγνωσμένο",
|
||||||
"conversation.open": "Προβολή συνομιλίας",
|
"conversation.open": "Προβολή συνομιλίας",
|
||||||
|
@ -299,6 +303,7 @@
|
||||||
"filter_modal.select_filter.subtitle": "Χρησιμοποιήστε μια υπάρχουσα κατηγορία ή δημιουργήστε μια νέα",
|
"filter_modal.select_filter.subtitle": "Χρησιμοποιήστε μια υπάρχουσα κατηγορία ή δημιουργήστε μια νέα",
|
||||||
"filter_modal.select_filter.title": "Φιλτράρισμα αυτής της ανάρτησης",
|
"filter_modal.select_filter.title": "Φιλτράρισμα αυτής της ανάρτησης",
|
||||||
"filter_modal.title.status": "Φιλτράρισμα μιας ανάρτησης",
|
"filter_modal.title.status": "Φιλτράρισμα μιας ανάρτησης",
|
||||||
|
"filter_warning.matches_filter": "Ταιριάζει με το φίλτρο “{title}”",
|
||||||
"filtered_notifications_banner.pending_requests": "Από {count, plural, =0 {κανένα} one {ένα άτομο} other {# άτομα}} που μπορεί να ξέρεις",
|
"filtered_notifications_banner.pending_requests": "Από {count, plural, =0 {κανένα} one {ένα άτομο} other {# άτομα}} που μπορεί να ξέρεις",
|
||||||
"filtered_notifications_banner.title": "Φιλτραρισμένες ειδοποιήσεις",
|
"filtered_notifications_banner.title": "Φιλτραρισμένες ειδοποιήσεις",
|
||||||
"firehose.all": "Όλα",
|
"firehose.all": "Όλα",
|
||||||
|
@ -429,6 +434,8 @@
|
||||||
"lightbox.close": "Κλείσιμο",
|
"lightbox.close": "Κλείσιμο",
|
||||||
"lightbox.next": "Επόμενο",
|
"lightbox.next": "Επόμενο",
|
||||||
"lightbox.previous": "Προηγούμενο",
|
"lightbox.previous": "Προηγούμενο",
|
||||||
|
"lightbox.zoom_in": "Εστίαση στο πραγματικό μέγεθος",
|
||||||
|
"lightbox.zoom_out": "Εστίαση για προσαρμογή",
|
||||||
"limited_account_hint.action": "Εμφάνιση προφίλ ούτως ή άλλως",
|
"limited_account_hint.action": "Εμφάνιση προφίλ ούτως ή άλλως",
|
||||||
"limited_account_hint.title": "Αυτό το προφίλ έχει αποκρυφτεί από τους διαχειριστές του διακομιστή {domain}.",
|
"limited_account_hint.title": "Αυτό το προφίλ έχει αποκρυφτεί από τους διαχειριστές του διακομιστή {domain}.",
|
||||||
"link_preview.author": "Από {name}",
|
"link_preview.author": "Από {name}",
|
||||||
|
@ -450,6 +457,7 @@
|
||||||
"lists.subheading": "Οι λίστες σου",
|
"lists.subheading": "Οι λίστες σου",
|
||||||
"load_pending": "{count, plural, one {# νέο στοιχείο} other {# νέα στοιχεία}}",
|
"load_pending": "{count, plural, one {# νέο στοιχείο} other {# νέα στοιχεία}}",
|
||||||
"loading_indicator.label": "Φόρτωση…",
|
"loading_indicator.label": "Φόρτωση…",
|
||||||
|
"media_gallery.hide": "Απόκρυψη",
|
||||||
"moved_to_account_banner.text": "Ο λογαριασμός σου {disabledAccount} είναι προσωρινά απενεργοποιημένος επειδή μεταφέρθηκες στον {movedToAccount}.",
|
"moved_to_account_banner.text": "Ο λογαριασμός σου {disabledAccount} είναι προσωρινά απενεργοποιημένος επειδή μεταφέρθηκες στον {movedToAccount}.",
|
||||||
"mute_modal.hide_from_notifications": "Απόκρυψη από ειδοποιήσεις",
|
"mute_modal.hide_from_notifications": "Απόκρυψη από ειδοποιήσεις",
|
||||||
"mute_modal.hide_options": "Απόκρυψη επιλογών",
|
"mute_modal.hide_options": "Απόκρυψη επιλογών",
|
||||||
|
@ -461,6 +469,7 @@
|
||||||
"mute_modal.you_wont_see_mentions": "Δε θα βλέπεις τις αναρτήσεις που τον αναφέρουν.",
|
"mute_modal.you_wont_see_mentions": "Δε θα βλέπεις τις αναρτήσεις που τον αναφέρουν.",
|
||||||
"mute_modal.you_wont_see_posts": "Μπορεί ακόμα να δει τις αναρτήσεις σου, αλλά δε θα βλέπεις τις δικές του.",
|
"mute_modal.you_wont_see_posts": "Μπορεί ακόμα να δει τις αναρτήσεις σου, αλλά δε θα βλέπεις τις δικές του.",
|
||||||
"navigation_bar.about": "Σχετικά με",
|
"navigation_bar.about": "Σχετικά με",
|
||||||
|
"navigation_bar.administration": "Διαχείριση",
|
||||||
"navigation_bar.advanced_interface": "Άνοιγμα σε προηγμένη διεπαφή ιστού",
|
"navigation_bar.advanced_interface": "Άνοιγμα σε προηγμένη διεπαφή ιστού",
|
||||||
"navigation_bar.blocks": "Αποκλεισμένοι χρήστες",
|
"navigation_bar.blocks": "Αποκλεισμένοι χρήστες",
|
||||||
"navigation_bar.bookmarks": "Σελιδοδείκτες",
|
"navigation_bar.bookmarks": "Σελιδοδείκτες",
|
||||||
|
@ -477,6 +486,7 @@
|
||||||
"navigation_bar.follows_and_followers": "Ακολουθείς και σε ακολουθούν",
|
"navigation_bar.follows_and_followers": "Ακολουθείς και σε ακολουθούν",
|
||||||
"navigation_bar.lists": "Λίστες",
|
"navigation_bar.lists": "Λίστες",
|
||||||
"navigation_bar.logout": "Αποσύνδεση",
|
"navigation_bar.logout": "Αποσύνδεση",
|
||||||
|
"navigation_bar.moderation": "Συντονισμός",
|
||||||
"navigation_bar.mutes": "Αποσιωπημένοι χρήστες",
|
"navigation_bar.mutes": "Αποσιωπημένοι χρήστες",
|
||||||
"navigation_bar.opened_in_classic_interface": "Δημοσιεύσεις, λογαριασμοί και άλλες συγκεκριμένες σελίδες ανοίγονται από προεπιλογή στην κλασική διεπαφή ιστού.",
|
"navigation_bar.opened_in_classic_interface": "Δημοσιεύσεις, λογαριασμοί και άλλες συγκεκριμένες σελίδες ανοίγονται από προεπιλογή στην κλασική διεπαφή ιστού.",
|
||||||
"navigation_bar.personal": "Προσωπικά",
|
"navigation_bar.personal": "Προσωπικά",
|
||||||
|
@ -768,6 +778,7 @@
|
||||||
"status.bookmark": "Σελιδοδείκτης",
|
"status.bookmark": "Σελιδοδείκτης",
|
||||||
"status.cancel_reblog_private": "Ακύρωση ενίσχυσης",
|
"status.cancel_reblog_private": "Ακύρωση ενίσχυσης",
|
||||||
"status.cannot_reblog": "Αυτή η ανάρτηση δεν μπορεί να ενισχυθεί",
|
"status.cannot_reblog": "Αυτή η ανάρτηση δεν μπορεί να ενισχυθεί",
|
||||||
|
"status.continued_thread": "Συνεχιζόμενο νήματος",
|
||||||
"status.copy": "Αντιγραφή συνδέσμου ανάρτησης",
|
"status.copy": "Αντιγραφή συνδέσμου ανάρτησης",
|
||||||
"status.delete": "Διαγραφή",
|
"status.delete": "Διαγραφή",
|
||||||
"status.detailed_status": "Προβολή λεπτομερούς συζήτησης",
|
"status.detailed_status": "Προβολή λεπτομερούς συζήτησης",
|
||||||
|
@ -776,6 +787,7 @@
|
||||||
"status.edit": "Επεξεργασία",
|
"status.edit": "Επεξεργασία",
|
||||||
"status.edited": "Τελευταία επεξεργασία {date}",
|
"status.edited": "Τελευταία επεξεργασία {date}",
|
||||||
"status.edited_x_times": "Επεξεργάστηκε {count, plural, one {{count} φορά} other {{count} φορές}}",
|
"status.edited_x_times": "Επεξεργάστηκε {count, plural, one {{count} φορά} other {{count} φορές}}",
|
||||||
|
"status.embed": "Απόκτηση κώδικα ενσωμάτωσης",
|
||||||
"status.favourite": "Αγαπημένα",
|
"status.favourite": "Αγαπημένα",
|
||||||
"status.favourites": "{count, plural, one {# αγαπημένο} other {# αγαπημένα}}",
|
"status.favourites": "{count, plural, one {# αγαπημένο} other {# αγαπημένα}}",
|
||||||
"status.filter": "Φιλτράρισμα αυτής της ανάρτησης",
|
"status.filter": "Φιλτράρισμα αυτής της ανάρτησης",
|
||||||
|
@ -800,6 +812,7 @@
|
||||||
"status.reblogs.empty": "Κανείς δεν ενίσχυσε αυτή την ανάρτηση ακόμα. Μόλις το κάνει κάποιος, θα εμφανιστεί εδώ.",
|
"status.reblogs.empty": "Κανείς δεν ενίσχυσε αυτή την ανάρτηση ακόμα. Μόλις το κάνει κάποιος, θα εμφανιστεί εδώ.",
|
||||||
"status.redraft": "Σβήσε & ξαναγράψε",
|
"status.redraft": "Σβήσε & ξαναγράψε",
|
||||||
"status.remove_bookmark": "Αφαίρεση σελιδοδείκτη",
|
"status.remove_bookmark": "Αφαίρεση σελιδοδείκτη",
|
||||||
|
"status.replied_in_thread": "Απαντήθηκε σε νήμα",
|
||||||
"status.replied_to": "Απάντησε στον {name}",
|
"status.replied_to": "Απάντησε στον {name}",
|
||||||
"status.reply": "Απάντησε",
|
"status.reply": "Απάντησε",
|
||||||
"status.replyAll": "Απάντησε στο νήμα συζήτησης",
|
"status.replyAll": "Απάντησε στο νήμα συζήτησης",
|
||||||
|
|
|
@ -231,6 +231,8 @@
|
||||||
"domain_pill.their_username": "Ilia unika identigilo sur ilia servilo. Eblas trovi uzantojn kun la sama uzantnomo sur malsamaj serviloj.",
|
"domain_pill.their_username": "Ilia unika identigilo sur ilia servilo. Eblas trovi uzantojn kun la sama uzantnomo sur malsamaj serviloj.",
|
||||||
"domain_pill.username": "Uzantnomo",
|
"domain_pill.username": "Uzantnomo",
|
||||||
"domain_pill.whats_in_a_handle": "Kio estas en identigo?",
|
"domain_pill.whats_in_a_handle": "Kio estas en identigo?",
|
||||||
|
"domain_pill.who_they_are": "Ĉar identigoj diras, kiu iu estas kaj kie ili estas, vi povas interagi kun homoj tra la socia reto de <button>ActivityPub-funkciigitaj platformoj</button>.",
|
||||||
|
"domain_pill.who_you_are": "Ĉar via identigo diras kiu vi estas kaj kie vi estas, homoj povas interagi kun vi tra la socia reto de <button>ActivityPub-funkciigitaj platformoj</button>.",
|
||||||
"domain_pill.your_handle": "Via identigo:",
|
"domain_pill.your_handle": "Via identigo:",
|
||||||
"domain_pill.your_server": "Via cifereca hejmo, kie loĝas ĉiuj viaj afiŝoj. Ĉu vi ne ŝatas ĉi tiun? Transloku servilojn iam ajn kaj alportu ankaŭ viajn sekvantojn.",
|
"domain_pill.your_server": "Via cifereca hejmo, kie loĝas ĉiuj viaj afiŝoj. Ĉu vi ne ŝatas ĉi tiun? Transloku servilojn iam ajn kaj alportu ankaŭ viajn sekvantojn.",
|
||||||
"domain_pill.your_username": "Via unika identigilo sur ĉi tiu servilo. Eblas trovi uzantojn kun la sama uzantnomo sur malsamaj serviloj.",
|
"domain_pill.your_username": "Via unika identigilo sur ĉi tiu servilo. Eblas trovi uzantojn kun la sama uzantnomo sur malsamaj serviloj.",
|
||||||
|
@ -301,6 +303,7 @@
|
||||||
"filter_modal.select_filter.subtitle": "Uzu ekzistantan kategorion aŭ kreu novan",
|
"filter_modal.select_filter.subtitle": "Uzu ekzistantan kategorion aŭ kreu novan",
|
||||||
"filter_modal.select_filter.title": "Filtri ĉi tiun afiŝon",
|
"filter_modal.select_filter.title": "Filtri ĉi tiun afiŝon",
|
||||||
"filter_modal.title.status": "Filtri mesaĝon",
|
"filter_modal.title.status": "Filtri mesaĝon",
|
||||||
|
"filter_warning.matches_filter": "Filtrilo de kongruoj “{title}”",
|
||||||
"filtered_notifications_banner.pending_requests": "El {count, plural, =0 {neniu} one {unu persono} other {# homoj}} vi eble konas",
|
"filtered_notifications_banner.pending_requests": "El {count, plural, =0 {neniu} one {unu persono} other {# homoj}} vi eble konas",
|
||||||
"filtered_notifications_banner.title": "Filtritaj sciigoj",
|
"filtered_notifications_banner.title": "Filtritaj sciigoj",
|
||||||
"firehose.all": "Ĉiuj",
|
"firehose.all": "Ĉiuj",
|
||||||
|
@ -309,11 +312,16 @@
|
||||||
"follow_request.authorize": "Rajtigi",
|
"follow_request.authorize": "Rajtigi",
|
||||||
"follow_request.reject": "Rifuzi",
|
"follow_request.reject": "Rifuzi",
|
||||||
"follow_requests.unlocked_explanation": "Kvankam via konto ne estas ŝlosita, la dungitaro de {domain} opinias, ke vi eble volas revizii petojn pri sekvado de ĉi tiuj kontoj permane.",
|
"follow_requests.unlocked_explanation": "Kvankam via konto ne estas ŝlosita, la dungitaro de {domain} opinias, ke vi eble volas revizii petojn pri sekvado de ĉi tiuj kontoj permane.",
|
||||||
|
"follow_suggestions.curated_suggestion": "Elekto de stabo",
|
||||||
"follow_suggestions.dismiss": "Ne montri denove",
|
"follow_suggestions.dismiss": "Ne montri denove",
|
||||||
|
"follow_suggestions.featured_longer": "Mane elektita de la teamo de {domain}",
|
||||||
"follow_suggestions.friends_of_friends_longer": "Populara inter homoj, kiujn vi sekvas",
|
"follow_suggestions.friends_of_friends_longer": "Populara inter homoj, kiujn vi sekvas",
|
||||||
|
"follow_suggestions.hints.featured": "Ĉi tiu profilo estis mane elektita de la teamo de {domain}.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Ĉi tiu profilo estas populara inter la homoj, kiujn vi sekvas.",
|
"follow_suggestions.hints.friends_of_friends": "Ĉi tiu profilo estas populara inter la homoj, kiujn vi sekvas.",
|
||||||
"follow_suggestions.hints.most_followed": "Ĉi tiu profilo estas unu el la plej sekvataj en {domain}.",
|
"follow_suggestions.hints.most_followed": "Ĉi tiu profilo estas unu el la plej sekvataj en {domain}.",
|
||||||
|
"follow_suggestions.hints.most_interactions": "Ĉi tiu profilo lastatempe ricevis multe da atento sur {domain}.",
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "Ĉi tiu profilo similas al la profiloj kiujn vi plej lastatempe sekvis.",
|
"follow_suggestions.hints.similar_to_recently_followed": "Ĉi tiu profilo similas al la profiloj kiujn vi plej lastatempe sekvis.",
|
||||||
|
"follow_suggestions.personalized_suggestion": "Agordita propono",
|
||||||
"follow_suggestions.popular_suggestion": "Popularaj proponoj",
|
"follow_suggestions.popular_suggestion": "Popularaj proponoj",
|
||||||
"follow_suggestions.popular_suggestion_longer": "Populara en {domain}",
|
"follow_suggestions.popular_suggestion_longer": "Populara en {domain}",
|
||||||
"follow_suggestions.similar_to_recently_followed_longer": "Simile al profiloj, kiujn vi lastatempe sekvis",
|
"follow_suggestions.similar_to_recently_followed_longer": "Simile al profiloj, kiujn vi lastatempe sekvis",
|
||||||
|
@ -346,9 +354,12 @@
|
||||||
"hashtag.unfollow": "Ne plu sekvi la kradvorton",
|
"hashtag.unfollow": "Ne plu sekvi la kradvorton",
|
||||||
"hashtags.and_other": "…kaj {count, plural,other {# pli}}",
|
"hashtags.and_other": "…kaj {count, plural,other {# pli}}",
|
||||||
"hints.profiles.followers_may_be_missing": "Sekvantoj por ĉi tiu profilo eble mankas.",
|
"hints.profiles.followers_may_be_missing": "Sekvantoj por ĉi tiu profilo eble mankas.",
|
||||||
|
"hints.profiles.follows_may_be_missing": "Sekvatoj de ĉi tiu profilo eble mankas.",
|
||||||
"hints.profiles.posts_may_be_missing": "Iuj afiŝoj de ĉi tiu profilo eble mankas.",
|
"hints.profiles.posts_may_be_missing": "Iuj afiŝoj de ĉi tiu profilo eble mankas.",
|
||||||
"hints.profiles.see_more_followers": "Vidi pli da sekvantoj sur {domain}",
|
"hints.profiles.see_more_followers": "Vidi pli da sekvantoj sur {domain}",
|
||||||
|
"hints.profiles.see_more_follows": "Vidi pli da sekvatoj sur {domain}",
|
||||||
"hints.profiles.see_more_posts": "Vidi pli da afiŝoj sur {domain}",
|
"hints.profiles.see_more_posts": "Vidi pli da afiŝoj sur {domain}",
|
||||||
|
"hints.threads.replies_may_be_missing": "Respondoj de aliaj serviloj eble mankas.",
|
||||||
"hints.threads.see_more": "Vidi pli da respondoj sur {domain}",
|
"hints.threads.see_more": "Vidi pli da respondoj sur {domain}",
|
||||||
"home.column_settings.show_reblogs": "Montri diskonigojn",
|
"home.column_settings.show_reblogs": "Montri diskonigojn",
|
||||||
"home.column_settings.show_replies": "Montri respondojn",
|
"home.column_settings.show_replies": "Montri respondojn",
|
||||||
|
@ -358,6 +369,10 @@
|
||||||
"home.pending_critical_update.title": "Kritika sekurĝisdatigo estas disponebla!",
|
"home.pending_critical_update.title": "Kritika sekurĝisdatigo estas disponebla!",
|
||||||
"home.show_announcements": "Montri anoncojn",
|
"home.show_announcements": "Montri anoncojn",
|
||||||
"ignore_notifications_modal.disclaimer": "Mastodon ne povas informi uzantojn, ke vi ignoris iliajn sciigojn. Ignori sciigojn ne malhelpos la mesaĝojn mem esti senditaj.",
|
"ignore_notifications_modal.disclaimer": "Mastodon ne povas informi uzantojn, ke vi ignoris iliajn sciigojn. Ignori sciigojn ne malhelpos la mesaĝojn mem esti senditaj.",
|
||||||
|
"ignore_notifications_modal.filter_instead": "Filtri anstataŭe",
|
||||||
|
"ignore_notifications_modal.filter_to_act_users": "Vi ankoraŭ povos akcepti, malakcepti aŭ raporti uzantojn",
|
||||||
|
"ignore_notifications_modal.filter_to_avoid_confusion": "Filtrado helpas eviti eblan konfuzon",
|
||||||
|
"ignore_notifications_modal.filter_to_review_separately": "Vi povas revizii filtritajn sciigojn aparte",
|
||||||
"ignore_notifications_modal.ignore": "Ignori sciigojn",
|
"ignore_notifications_modal.ignore": "Ignori sciigojn",
|
||||||
"ignore_notifications_modal.limited_accounts_title": "Ĉu ignori sciigojn de moderigitaj kontoj?",
|
"ignore_notifications_modal.limited_accounts_title": "Ĉu ignori sciigojn de moderigitaj kontoj?",
|
||||||
"ignore_notifications_modal.new_accounts_title": "Ĉu ignori sciigojn de novaj kontoj?",
|
"ignore_notifications_modal.new_accounts_title": "Ĉu ignori sciigojn de novaj kontoj?",
|
||||||
|
@ -471,6 +486,7 @@
|
||||||
"navigation_bar.follows_and_followers": "Sekvatoj kaj sekvantoj",
|
"navigation_bar.follows_and_followers": "Sekvatoj kaj sekvantoj",
|
||||||
"navigation_bar.lists": "Listoj",
|
"navigation_bar.lists": "Listoj",
|
||||||
"navigation_bar.logout": "Adiaŭi",
|
"navigation_bar.logout": "Adiaŭi",
|
||||||
|
"navigation_bar.moderation": "Modereco",
|
||||||
"navigation_bar.mutes": "Silentigitaj uzantoj",
|
"navigation_bar.mutes": "Silentigitaj uzantoj",
|
||||||
"navigation_bar.opened_in_classic_interface": "Afiŝoj, kontoj, kaj aliaj specifaj paĝoj kiuj estas malfermititaj defaulta en la klasika reta interfaco.",
|
"navigation_bar.opened_in_classic_interface": "Afiŝoj, kontoj, kaj aliaj specifaj paĝoj kiuj estas malfermititaj defaulta en la klasika reta interfaco.",
|
||||||
"navigation_bar.personal": "Persone",
|
"navigation_bar.personal": "Persone",
|
||||||
|
@ -486,7 +502,9 @@
|
||||||
"notification.admin.report_statuses": "{name} raportis {target} por {category}",
|
"notification.admin.report_statuses": "{name} raportis {target} por {category}",
|
||||||
"notification.admin.report_statuses_other": "{name} raportis {target}",
|
"notification.admin.report_statuses_other": "{name} raportis {target}",
|
||||||
"notification.admin.sign_up": "{name} kreis konton",
|
"notification.admin.sign_up": "{name} kreis konton",
|
||||||
|
"notification.admin.sign_up.name_and_others": "{name} kaj {count, plural, one {# alia} other {# aliaj}} kreis konton",
|
||||||
"notification.favourite": "{name} stelumis vian afiŝon",
|
"notification.favourite": "{name} stelumis vian afiŝon",
|
||||||
|
"notification.favourite.name_and_others_with_link": "{name} kaj <a>{count, plural, one {# alia} other {# aliaj}}</a> ŝatis vian afiŝon",
|
||||||
"notification.follow": "{name} eksekvis vin",
|
"notification.follow": "{name} eksekvis vin",
|
||||||
"notification.follow.name_and_others": "{name} kaj {count, plural, one {# alia} other {# aliaj}} sekvis vin",
|
"notification.follow.name_and_others": "{name} kaj {count, plural, one {# alia} other {# aliaj}} sekvis vin",
|
||||||
"notification.follow_request": "{name} petis sekvi vin",
|
"notification.follow_request": "{name} petis sekvi vin",
|
||||||
|
@ -506,22 +524,32 @@
|
||||||
"notification.moderation_warning.action_silence": "Via konto estis limigita.",
|
"notification.moderation_warning.action_silence": "Via konto estis limigita.",
|
||||||
"notification.moderation_warning.action_suspend": "Via konto estas malakceptita.",
|
"notification.moderation_warning.action_suspend": "Via konto estas malakceptita.",
|
||||||
"notification.own_poll": "Via enketo finiĝis",
|
"notification.own_poll": "Via enketo finiĝis",
|
||||||
|
"notification.poll": "Balotenketo, en kiu vi voĉdonis, finiĝis",
|
||||||
"notification.reblog": "{name} diskonigis vian afiŝon",
|
"notification.reblog": "{name} diskonigis vian afiŝon",
|
||||||
"notification.reblog.name_and_others_with_link": "{name} kaj <a>{count, plural, one {# alia} other {# aliaj}}</a> diskonigis vian afiŝon",
|
"notification.reblog.name_and_others_with_link": "{name} kaj <a>{count, plural, one {# alia} other {# aliaj}}</a> diskonigis vian afiŝon",
|
||||||
|
"notification.relationships_severance_event": "Perditaj konektoj kun {name}",
|
||||||
|
"notification.relationships_severance_event.account_suspension": "Administranto de {from} malakceptis {target}, kio signifas, ke vi ne plu povas ricevi ĝisdatigojn de ili aŭ interagi kun ili.",
|
||||||
|
"notification.relationships_severance_event.domain_block": "Administranto de {from} blokis {target}, inkluzive de {followersCount} de viaj sekvantoj kaj {followingCount, plural, one {# konto} other {# kontoj}} kiujn vi sekvas.",
|
||||||
"notification.relationships_severance_event.learn_more": "Lerni pli",
|
"notification.relationships_severance_event.learn_more": "Lerni pli",
|
||||||
|
"notification.relationships_severance_event.user_domain_block": "Vi blokis {target}, forigante {followersCount} de viaj sekvantoj kaj {followingCount, plural, one {# konto} other {# kontoj}} kiujn vi sekvas.",
|
||||||
"notification.status": "{name} ĵus afiŝis",
|
"notification.status": "{name} ĵus afiŝis",
|
||||||
"notification.update": "{name} redaktis afiŝon",
|
"notification.update": "{name} redaktis afiŝon",
|
||||||
"notification_requests.accept": "Akcepti",
|
"notification_requests.accept": "Akcepti",
|
||||||
"notification_requests.accept_multiple": "{count, plural, one {Akcepti # peton…} other {Akcepti # petojn…}}",
|
"notification_requests.accept_multiple": "{count, plural, one {Akcepti # peton…} other {Akcepti # petojn…}}",
|
||||||
"notification_requests.confirm_accept_multiple.button": "{count, plural, one {Akcepti peton} other {Akcepti petojn}}",
|
"notification_requests.confirm_accept_multiple.button": "{count, plural, one {Akcepti peton} other {Akcepti petojn}}",
|
||||||
|
"notification_requests.confirm_accept_multiple.message": "Vi estas akceptonta {count, plural, one {unu sciigan peton} other {# sciigajn petojn}}. Ĉu vi certas, ke vi volas daŭrigi?",
|
||||||
"notification_requests.confirm_accept_multiple.title": "Ĉu akcepti sciigajn petojn?",
|
"notification_requests.confirm_accept_multiple.title": "Ĉu akcepti sciigajn petojn?",
|
||||||
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Malakcepti peton} other {Malakcepti petojn}}",
|
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Malakcepti peton} other {Malakcepti petojn}}",
|
||||||
|
"notification_requests.confirm_dismiss_multiple.message": "Vi estas malakceptonta {count, plural, one {unu sciigan peton} other {# sciigajn petojn}}. Vi ne povos facile aliri {count, plural, one {ĝin} other {ilin}} denove. Ĉu vi certas, ke vi volas daŭrigi?",
|
||||||
"notification_requests.confirm_dismiss_multiple.title": "Ĉu malakcepti sciigajn petojn?",
|
"notification_requests.confirm_dismiss_multiple.title": "Ĉu malakcepti sciigajn petojn?",
|
||||||
"notification_requests.dismiss": "Forĵeti",
|
"notification_requests.dismiss": "Forĵeti",
|
||||||
|
"notification_requests.dismiss_multiple": "{count, plural, one {Malakcepti # peton…} other {# Malakcepti # petojn…}}",
|
||||||
"notification_requests.edit_selection": "Redakti",
|
"notification_requests.edit_selection": "Redakti",
|
||||||
"notification_requests.exit_selection": "Farita",
|
"notification_requests.exit_selection": "Farita",
|
||||||
"notification_requests.explainer_for_limited_account": "Sciigoj de ĉi tiu konto estis filtritaj ĉar la konto estis limigita de moderanto.",
|
"notification_requests.explainer_for_limited_account": "Sciigoj de ĉi tiu konto estis filtritaj ĉar la konto estis limigita de moderanto.",
|
||||||
"notification_requests.explainer_for_limited_remote_account": "Sciigoj de ĉi tiu konto estis filtritaj ĉar la konto aŭ ĝia servilo estis limigitaj de moderanto.",
|
"notification_requests.explainer_for_limited_remote_account": "Sciigoj de ĉi tiu konto estis filtritaj ĉar la konto aŭ ĝia servilo estis limigitaj de moderanto.",
|
||||||
|
"notification_requests.maximize": "Maksimumigi",
|
||||||
|
"notification_requests.minimize_banner": "Minimumigi filtritajn sciigojn-rubandon",
|
||||||
"notification_requests.notifications_from": "Sciigoj de {name}",
|
"notification_requests.notifications_from": "Sciigoj de {name}",
|
||||||
"notification_requests.title": "Filtritaj sciigoj",
|
"notification_requests.title": "Filtritaj sciigoj",
|
||||||
"notification_requests.view": "Vidi sciigojn",
|
"notification_requests.view": "Vidi sciigojn",
|
||||||
|
@ -533,6 +561,7 @@
|
||||||
"notifications.column_settings.alert": "Sciigoj de la retumilo",
|
"notifications.column_settings.alert": "Sciigoj de la retumilo",
|
||||||
"notifications.column_settings.favourite": "Stelumoj:",
|
"notifications.column_settings.favourite": "Stelumoj:",
|
||||||
"notifications.column_settings.filter_bar.advanced": "Montri ĉiujn kategoriojn",
|
"notifications.column_settings.filter_bar.advanced": "Montri ĉiujn kategoriojn",
|
||||||
|
"notifications.column_settings.filter_bar.category": "Rapida filtrila breto",
|
||||||
"notifications.column_settings.follow": "Novaj sekvantoj:",
|
"notifications.column_settings.follow": "Novaj sekvantoj:",
|
||||||
"notifications.column_settings.follow_request": "Novaj petoj de sekvado:",
|
"notifications.column_settings.follow_request": "Novaj petoj de sekvado:",
|
||||||
"notifications.column_settings.mention": "Mencioj:",
|
"notifications.column_settings.mention": "Mencioj:",
|
||||||
|
@ -548,7 +577,7 @@
|
||||||
"notifications.filter.all": "Ĉiuj",
|
"notifications.filter.all": "Ĉiuj",
|
||||||
"notifications.filter.boosts": "Diskonigoj",
|
"notifications.filter.boosts": "Diskonigoj",
|
||||||
"notifications.filter.favourites": "Stelumoj",
|
"notifications.filter.favourites": "Stelumoj",
|
||||||
"notifications.filter.follows": "Sekvoj",
|
"notifications.filter.follows": "Sekvatoj",
|
||||||
"notifications.filter.mentions": "Mencioj",
|
"notifications.filter.mentions": "Mencioj",
|
||||||
"notifications.filter.polls": "Balotenketaj rezultoj",
|
"notifications.filter.polls": "Balotenketaj rezultoj",
|
||||||
"notifications.filter.statuses": "Ĝisdatigoj de homoj, kiujn vi sekvas",
|
"notifications.filter.statuses": "Ĝisdatigoj de homoj, kiujn vi sekvas",
|
||||||
|
@ -563,12 +592,16 @@
|
||||||
"notifications.policy.drop": "Ignori",
|
"notifications.policy.drop": "Ignori",
|
||||||
"notifications.policy.drop_hint": "Sendi al la malpleno, por neniam esti vidita denove",
|
"notifications.policy.drop_hint": "Sendi al la malpleno, por neniam esti vidita denove",
|
||||||
"notifications.policy.filter": "Filtri",
|
"notifications.policy.filter": "Filtri",
|
||||||
|
"notifications.policy.filter_hint": "Sendi al filtritaj sciigoj-enirkesto",
|
||||||
|
"notifications.policy.filter_limited_accounts_hint": "Limigita de servilaj moderigantoj",
|
||||||
"notifications.policy.filter_limited_accounts_title": "Moderigitaj kontoj",
|
"notifications.policy.filter_limited_accounts_title": "Moderigitaj kontoj",
|
||||||
"notifications.policy.filter_new_accounts.hint": "Kreite en la {days, plural, one {lasta tago} other {# lastaj tagoj}}",
|
"notifications.policy.filter_new_accounts.hint": "Kreite en la {days, plural, one {lasta tago} other {# lastaj tagoj}}",
|
||||||
"notifications.policy.filter_new_accounts_title": "Novaj kontoj",
|
"notifications.policy.filter_new_accounts_title": "Novaj kontoj",
|
||||||
|
"notifications.policy.filter_not_followers_hint": "Inkluzive de homoj, kiuj sekvis vin malpli ol {days, plural, one {unu tago} other {# tagoj}}",
|
||||||
"notifications.policy.filter_not_followers_title": "Homoj, kiuj ne sekvas vin",
|
"notifications.policy.filter_not_followers_title": "Homoj, kiuj ne sekvas vin",
|
||||||
"notifications.policy.filter_not_following_hint": "Ĝis vi permane aprobas ilin",
|
"notifications.policy.filter_not_following_hint": "Ĝis vi permane aprobas ilin",
|
||||||
"notifications.policy.filter_not_following_title": "Homoj, kiujn vi ne sekvas",
|
"notifications.policy.filter_not_following_title": "Homoj, kiujn vi ne sekvas",
|
||||||
|
"notifications.policy.filter_private_mentions_hint": "Filtrite krom se ĝi respondas al via propra mencio aŭ se vi sekvas la sendinton",
|
||||||
"notifications.policy.filter_private_mentions_title": "Nepetitaj privataj mencioj",
|
"notifications.policy.filter_private_mentions_title": "Nepetitaj privataj mencioj",
|
||||||
"notifications.policy.title": "Administri sciigojn de…",
|
"notifications.policy.title": "Administri sciigojn de…",
|
||||||
"notifications_permission_banner.enable": "Ŝalti retumilajn sciigojn",
|
"notifications_permission_banner.enable": "Ŝalti retumilajn sciigojn",
|
||||||
|
@ -580,8 +613,8 @@
|
||||||
"onboarding.actions.go_to_home": "Go to your home feed",
|
"onboarding.actions.go_to_home": "Go to your home feed",
|
||||||
"onboarding.compose.template": "Saluton #Mastodon!",
|
"onboarding.compose.template": "Saluton #Mastodon!",
|
||||||
"onboarding.follows.empty": "Bedaŭrinde, neniu rezulto estas montrebla nuntempe. Vi povas provi serĉi aŭ foliumi la esploran paĝon por trovi kontojn por sekvi, aŭ retrovi baldaŭ.",
|
"onboarding.follows.empty": "Bedaŭrinde, neniu rezulto estas montrebla nuntempe. Vi povas provi serĉi aŭ foliumi la esploran paĝon por trovi kontojn por sekvi, aŭ retrovi baldaŭ.",
|
||||||
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
|
"onboarding.follows.lead": "Via hejma fluo estas la ĉefa maniero sperti Mastodon. Ju pli da homoj vi sekvas, des pli aktiva kaj interesa ĝi estos. Por komenci, jen kelkaj sugestoj:",
|
||||||
"onboarding.follows.title": "Popular on Mastodon",
|
"onboarding.follows.title": "Agordi vian hejman fluon",
|
||||||
"onboarding.profile.discoverable": "Trovebligi mian profilon",
|
"onboarding.profile.discoverable": "Trovebligi mian profilon",
|
||||||
"onboarding.profile.discoverable_hint": "Kiam vi aliĝi al trovebleco ĉe Mastodon, viaj afiŝoj eble aperos en serĉaj rezultoj kaj populariĝoj, kaj via profilo eble estas sugestota al personoj kun similaj intereseoj al vi.",
|
"onboarding.profile.discoverable_hint": "Kiam vi aliĝi al trovebleco ĉe Mastodon, viaj afiŝoj eble aperos en serĉaj rezultoj kaj populariĝoj, kaj via profilo eble estas sugestota al personoj kun similaj intereseoj al vi.",
|
||||||
"onboarding.profile.display_name": "Publika nomo",
|
"onboarding.profile.display_name": "Publika nomo",
|
||||||
|
@ -602,7 +635,7 @@
|
||||||
"onboarding.start.title": "Vi atingas ĝin!",
|
"onboarding.start.title": "Vi atingas ĝin!",
|
||||||
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
|
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
|
||||||
"onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}",
|
"onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}",
|
||||||
"onboarding.steps.publish_status.body": "Say hello to the world.",
|
"onboarding.steps.publish_status.body": "Salutu la mondon per teksto, fotoj, filmetoj aŭ balotenketoj {emoji}",
|
||||||
"onboarding.steps.publish_status.title": "Fari vian unuan afiŝon",
|
"onboarding.steps.publish_status.title": "Fari vian unuan afiŝon",
|
||||||
"onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.",
|
"onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.",
|
||||||
"onboarding.steps.setup_profile.title": "Customize your profile",
|
"onboarding.steps.setup_profile.title": "Customize your profile",
|
||||||
|
@ -632,6 +665,7 @@
|
||||||
"privacy.private.short": "Sekvantoj",
|
"privacy.private.short": "Sekvantoj",
|
||||||
"privacy.public.long": "Ĉiujn ajn ĉe kaj ekster Mastodon",
|
"privacy.public.long": "Ĉiujn ajn ĉe kaj ekster Mastodon",
|
||||||
"privacy.public.short": "Publika",
|
"privacy.public.short": "Publika",
|
||||||
|
"privacy.unlisted.additional": "Ĉi tio kondutas ekzakte kiel publika, krom ke la afiŝo ne aperos en vivaj fluoj aŭ kradvortoj, esploro aŭ Mastodon-serĉo, eĉ se vi estas enskribita en la tuta konto.",
|
||||||
"privacy.unlisted.long": "Malpli algoritmaj fanfaroj",
|
"privacy.unlisted.long": "Malpli algoritmaj fanfaroj",
|
||||||
"privacy.unlisted.short": "Diskrete publika",
|
"privacy.unlisted.short": "Diskrete publika",
|
||||||
"privacy_policy.last_updated": "Laste ĝisdatigita en {date}",
|
"privacy_policy.last_updated": "Laste ĝisdatigita en {date}",
|
||||||
|
@ -651,7 +685,9 @@
|
||||||
"relative_time.minutes": "{number}m",
|
"relative_time.minutes": "{number}m",
|
||||||
"relative_time.seconds": "{number}s",
|
"relative_time.seconds": "{number}s",
|
||||||
"relative_time.today": "hodiaŭ",
|
"relative_time.today": "hodiaŭ",
|
||||||
|
"reply_indicator.attachments": "{count, plural, one {# aldonaĵo} other {# aldonaĵoj}}",
|
||||||
"reply_indicator.cancel": "Nuligi",
|
"reply_indicator.cancel": "Nuligi",
|
||||||
|
"reply_indicator.poll": "Balotenketo",
|
||||||
"report.block": "Bloki",
|
"report.block": "Bloki",
|
||||||
"report.block_explanation": "Vi ne vidos iliajn afiŝojn. Ili ne povos vidi viajn afiŝojn, nek sekvi vin. Ili ne scios, ke vi blokas ilin.",
|
"report.block_explanation": "Vi ne vidos iliajn afiŝojn. Ili ne povos vidi viajn afiŝojn, nek sekvi vin. Ili ne scios, ke vi blokas ilin.",
|
||||||
"report.categories.legal": "Laŭleĝa",
|
"report.categories.legal": "Laŭleĝa",
|
||||||
|
@ -732,6 +768,7 @@
|
||||||
"server_banner.server_stats": "Statistikoj de la servilo:",
|
"server_banner.server_stats": "Statistikoj de la servilo:",
|
||||||
"sign_in_banner.create_account": "Krei konton",
|
"sign_in_banner.create_account": "Krei konton",
|
||||||
"sign_in_banner.follow_anyone": "Sekvi iun ajn tra la fediverso kaj vidi ĉion en kronologia ordo. Neniuj algoritmoj, reklamoj aŭ klakbetoj videblas.",
|
"sign_in_banner.follow_anyone": "Sekvi iun ajn tra la fediverso kaj vidi ĉion en kronologia ordo. Neniuj algoritmoj, reklamoj aŭ klakbetoj videblas.",
|
||||||
|
"sign_in_banner.mastodon_is": "Mastodonto estas la plej bona maniero por resti flank-al-flanke kun kio okazas.",
|
||||||
"sign_in_banner.sign_in": "Saluti",
|
"sign_in_banner.sign_in": "Saluti",
|
||||||
"sign_in_banner.sso_redirect": "Ensalutu aŭ Registriĝi",
|
"sign_in_banner.sso_redirect": "Ensalutu aŭ Registriĝi",
|
||||||
"status.admin_account": "Malfermi fasadon de moderigado por @{name}",
|
"status.admin_account": "Malfermi fasadon de moderigado por @{name}",
|
||||||
|
@ -741,6 +778,7 @@
|
||||||
"status.bookmark": "Aldoni al la legosignoj",
|
"status.bookmark": "Aldoni al la legosignoj",
|
||||||
"status.cancel_reblog_private": "Ne plu diskonigi",
|
"status.cancel_reblog_private": "Ne plu diskonigi",
|
||||||
"status.cannot_reblog": "Ĉi tiun afiŝon ne eblas diskonigi",
|
"status.cannot_reblog": "Ĉi tiun afiŝon ne eblas diskonigi",
|
||||||
|
"status.continued_thread": "Daŭrigis fadenon",
|
||||||
"status.copy": "Kopii la ligilon al la mesaĝo",
|
"status.copy": "Kopii la ligilon al la mesaĝo",
|
||||||
"status.delete": "Forigi",
|
"status.delete": "Forigi",
|
||||||
"status.detailed_status": "Detala konversacia vido",
|
"status.detailed_status": "Detala konversacia vido",
|
||||||
|
@ -749,6 +787,7 @@
|
||||||
"status.edit": "Redakti",
|
"status.edit": "Redakti",
|
||||||
"status.edited": "Laste redaktita {date}",
|
"status.edited": "Laste redaktita {date}",
|
||||||
"status.edited_x_times": "Redactita {count, plural, one {{count} fojon} other {{count} fojojn}}",
|
"status.edited_x_times": "Redactita {count, plural, one {{count} fojon} other {{count} fojojn}}",
|
||||||
|
"status.embed": "Akiri enkorpigan kodon",
|
||||||
"status.favourite": "Ŝatata",
|
"status.favourite": "Ŝatata",
|
||||||
"status.favourites": "{count, plural, one {plej ŝatata} other {plej ŝatataj}}",
|
"status.favourites": "{count, plural, one {plej ŝatata} other {plej ŝatataj}}",
|
||||||
"status.filter": "Filtri ĉi tiun afiŝon",
|
"status.filter": "Filtri ĉi tiun afiŝon",
|
||||||
|
@ -773,6 +812,7 @@
|
||||||
"status.reblogs.empty": "Ankoraŭ neniu diskonigis tiun afiŝon. Kiam iu faras tion, ri aperos ĉi tie.",
|
"status.reblogs.empty": "Ankoraŭ neniu diskonigis tiun afiŝon. Kiam iu faras tion, ri aperos ĉi tie.",
|
||||||
"status.redraft": "Forigi kaj reskribi",
|
"status.redraft": "Forigi kaj reskribi",
|
||||||
"status.remove_bookmark": "Forigi legosignon",
|
"status.remove_bookmark": "Forigi legosignon",
|
||||||
|
"status.replied_in_thread": "Respondis en fadeno",
|
||||||
"status.replied_to": "Respondis al {name}",
|
"status.replied_to": "Respondis al {name}",
|
||||||
"status.reply": "Respondi",
|
"status.reply": "Respondi",
|
||||||
"status.replyAll": "Respondi al la fadeno",
|
"status.replyAll": "Respondi al la fadeno",
|
||||||
|
|
|
@ -435,7 +435,7 @@
|
||||||
"lightbox.next": "Siguiente",
|
"lightbox.next": "Siguiente",
|
||||||
"lightbox.previous": "Anterior",
|
"lightbox.previous": "Anterior",
|
||||||
"lightbox.zoom_in": "Ampliar al tamaño real",
|
"lightbox.zoom_in": "Ampliar al tamaño real",
|
||||||
"lightbox.zoom_out": "Ampliar para ajustar",
|
"lightbox.zoom_out": "Ampliar hasta ajustar",
|
||||||
"limited_account_hint.action": "Mostrar perfil de todos modos",
|
"limited_account_hint.action": "Mostrar perfil de todos modos",
|
||||||
"limited_account_hint.title": "Este perfil fue ocultado por los moderadores de {domain}.",
|
"limited_account_hint.title": "Este perfil fue ocultado por los moderadores de {domain}.",
|
||||||
"link_preview.author": "Por {name}",
|
"link_preview.author": "Por {name}",
|
||||||
|
|
|
@ -267,7 +267,7 @@
|
||||||
"empty_column.favourites": "Todavía nadie marcó esta publicación como favorita. Cuando alguien lo haga, se mostrarán aquí.",
|
"empty_column.favourites": "Todavía nadie marcó esta publicación como favorita. Cuando alguien lo haga, se mostrarán aquí.",
|
||||||
"empty_column.follow_requests": "No tienes ninguna petición de seguidor. Cuando recibas una, se mostrará aquí.",
|
"empty_column.follow_requests": "No tienes ninguna petición de seguidor. Cuando recibas una, se mostrará aquí.",
|
||||||
"empty_column.followed_tags": "No has seguido ninguna etiqueta todavía. Cuando lo hagas, se mostrarán aquí.",
|
"empty_column.followed_tags": "No has seguido ninguna etiqueta todavía. Cuando lo hagas, se mostrarán aquí.",
|
||||||
"empty_column.hashtag": "No hay nada en este hashtag aún.",
|
"empty_column.hashtag": "No hay nada en esta etiqueta todavía.",
|
||||||
"empty_column.home": "¡Tu línea temporal está vacía! Sigue a más personas para rellenarla.",
|
"empty_column.home": "¡Tu línea temporal está vacía! Sigue a más personas para rellenarla.",
|
||||||
"empty_column.list": "Aún no hay nada en esta lista. Cuando los miembros de esta lista publiquen nuevos estados, estos aparecerán aquí.",
|
"empty_column.list": "Aún no hay nada en esta lista. Cuando los miembros de esta lista publiquen nuevos estados, estos aparecerán aquí.",
|
||||||
"empty_column.lists": "No tienes ninguna lista. Cuando crees una, se mostrará aquí.",
|
"empty_column.lists": "No tienes ninguna lista. Cuando crees una, se mostrará aquí.",
|
||||||
|
@ -342,7 +342,7 @@
|
||||||
"hashtag.column_header.tag_mode.any": "o {additional}",
|
"hashtag.column_header.tag_mode.any": "o {additional}",
|
||||||
"hashtag.column_header.tag_mode.none": "sin {additional}",
|
"hashtag.column_header.tag_mode.none": "sin {additional}",
|
||||||
"hashtag.column_settings.select.no_options_message": "No se encontraron sugerencias",
|
"hashtag.column_settings.select.no_options_message": "No se encontraron sugerencias",
|
||||||
"hashtag.column_settings.select.placeholder": "Introduzca hashtags…",
|
"hashtag.column_settings.select.placeholder": "Introduce etiquetas…",
|
||||||
"hashtag.column_settings.tag_mode.all": "Todos estos",
|
"hashtag.column_settings.tag_mode.all": "Todos estos",
|
||||||
"hashtag.column_settings.tag_mode.any": "Cualquiera de estos",
|
"hashtag.column_settings.tag_mode.any": "Cualquiera de estos",
|
||||||
"hashtag.column_settings.tag_mode.none": "Ninguno de estos",
|
"hashtag.column_settings.tag_mode.none": "Ninguno de estos",
|
||||||
|
@ -637,7 +637,7 @@
|
||||||
"onboarding.steps.follow_people.title": "Personaliza tu línea de inicio",
|
"onboarding.steps.follow_people.title": "Personaliza tu línea de inicio",
|
||||||
"onboarding.steps.publish_status.body": "Di hola al mundo con texto, fotos, vídeos o encuestas {emoji}",
|
"onboarding.steps.publish_status.body": "Di hola al mundo con texto, fotos, vídeos o encuestas {emoji}",
|
||||||
"onboarding.steps.publish_status.title": "Escribe tu primera publicación",
|
"onboarding.steps.publish_status.title": "Escribe tu primera publicación",
|
||||||
"onboarding.steps.setup_profile.body": "Aumenta tus interacciones tcompletando tu perfil.",
|
"onboarding.steps.setup_profile.body": "Aumenta tus interacciones con un perfil completo.",
|
||||||
"onboarding.steps.setup_profile.title": "Personaliza tu perfil",
|
"onboarding.steps.setup_profile.title": "Personaliza tu perfil",
|
||||||
"onboarding.steps.share_profile.body": "¡Dile a tus amigos cómo encontrarte en Mastodon!",
|
"onboarding.steps.share_profile.body": "¡Dile a tus amigos cómo encontrarte en Mastodon!",
|
||||||
"onboarding.steps.share_profile.title": "Comparte tu perfil de Mastodon",
|
"onboarding.steps.share_profile.title": "Comparte tu perfil de Mastodon",
|
||||||
|
|
|
@ -434,6 +434,8 @@
|
||||||
"lightbox.close": "Dùin",
|
"lightbox.close": "Dùin",
|
||||||
"lightbox.next": "Air adhart",
|
"lightbox.next": "Air adhart",
|
||||||
"lightbox.previous": "Air ais",
|
"lightbox.previous": "Air ais",
|
||||||
|
"lightbox.zoom_in": "Sùm dhan fhìor-mheud",
|
||||||
|
"lightbox.zoom_out": "Sùm fèin-obrachail",
|
||||||
"limited_account_hint.action": "Seall a’ phròifil co-dhiù",
|
"limited_account_hint.action": "Seall a’ phròifil co-dhiù",
|
||||||
"limited_account_hint.title": "Chaidh a’ phròifil seo fhalach le maoir {domain}.",
|
"limited_account_hint.title": "Chaidh a’ phròifil seo fhalach le maoir {domain}.",
|
||||||
"link_preview.author": "Le {name}",
|
"link_preview.author": "Le {name}",
|
||||||
|
|
|
@ -368,13 +368,13 @@
|
||||||
"home.pending_critical_update.link": "Mira as actualizacións",
|
"home.pending_critical_update.link": "Mira as actualizacións",
|
||||||
"home.pending_critical_update.title": "Hai una actualización crítica de seguridade!",
|
"home.pending_critical_update.title": "Hai una actualización crítica de seguridade!",
|
||||||
"home.show_announcements": "Amosar anuncios",
|
"home.show_announcements": "Amosar anuncios",
|
||||||
"ignore_notifications_modal.disclaimer": "Mastodon non pode informar ás usuarias se ignoraches as súas notificacións. Ao ignorar as notificacións non evitarás que as mensaxes sexan enviadas igualmente.",
|
"ignore_notifications_modal.disclaimer": "Mastodon non pode informar ás usuarias de que ignoraches as súas notificacións. Ao ignorar as notificacións non evitarás que as mensaxes sexan enviadas igualmente.",
|
||||||
"ignore_notifications_modal.filter_instead": "Filtrar igualmente",
|
"ignore_notifications_modal.filter_instead": "Filtrar igualmente",
|
||||||
"ignore_notifications_modal.filter_to_act_users": "Poderás seguir aceptando, rexeitando e denunciando usuarias",
|
"ignore_notifications_modal.filter_to_act_users": "Poderás seguir aceptando, rexeitando e denunciando usuarias",
|
||||||
"ignore_notifications_modal.filter_to_avoid_confusion": "Ao filtrar axudas a evitar posibles confusións",
|
"ignore_notifications_modal.filter_to_avoid_confusion": "Ao filtrar axudas a evitar posibles confusións",
|
||||||
"ignore_notifications_modal.filter_to_review_separately": "Podes revisar as notificacións filtradas por separado",
|
"ignore_notifications_modal.filter_to_review_separately": "Podes revisar por separado as notificacións filtradas",
|
||||||
"ignore_notifications_modal.ignore": "Ignorar notificacións",
|
"ignore_notifications_modal.ignore": "Ignorar notificacións",
|
||||||
"ignore_notifications_modal.limited_accounts_title": "Ignorar notificacións desde contas moderadas?",
|
"ignore_notifications_modal.limited_accounts_title": "Ignorar notificacións desde contas limitadas?",
|
||||||
"ignore_notifications_modal.new_accounts_title": "Ignorar notificacións desde novas contas?",
|
"ignore_notifications_modal.new_accounts_title": "Ignorar notificacións desde novas contas?",
|
||||||
"ignore_notifications_modal.not_followers_title": "Ignorar notificacións de persoas que non te seguen?",
|
"ignore_notifications_modal.not_followers_title": "Ignorar notificacións de persoas que non te seguen?",
|
||||||
"ignore_notifications_modal.not_following_title": "Ignorar notificacións de persoas que non segues?",
|
"ignore_notifications_modal.not_following_title": "Ignorar notificacións de persoas que non segues?",
|
||||||
|
@ -463,7 +463,7 @@
|
||||||
"mute_modal.hide_options": "Opcións ao ocultar",
|
"mute_modal.hide_options": "Opcións ao ocultar",
|
||||||
"mute_modal.indefinite": "Ata que as reactive",
|
"mute_modal.indefinite": "Ata que as reactive",
|
||||||
"mute_modal.show_options": "Mostrar opcións",
|
"mute_modal.show_options": "Mostrar opcións",
|
||||||
"mute_modal.they_can_mention_and_follow": "Pódete mencionar e seguirte, pero non o verás.",
|
"mute_modal.they_can_mention_and_follow": "Pódete mencionar e seguirte, pero non a verás.",
|
||||||
"mute_modal.they_wont_know": "Non saberá que a acalaches.",
|
"mute_modal.they_wont_know": "Non saberá que a acalaches.",
|
||||||
"mute_modal.title": "Acalar usuaria?",
|
"mute_modal.title": "Acalar usuaria?",
|
||||||
"mute_modal.you_wont_see_mentions": "Non verás as publicacións que a mencionen.",
|
"mute_modal.you_wont_see_mentions": "Non verás as publicacións que a mencionen.",
|
||||||
|
|
|
@ -2,7 +2,7 @@ import { createReducer, isAnyOf } from '@reduxjs/toolkit';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
fetchNotificationPolicy,
|
fetchNotificationPolicy,
|
||||||
decreasePendingNotificationsCount,
|
decreasePendingRequestsCount,
|
||||||
updateNotificationsPolicy,
|
updateNotificationsPolicy,
|
||||||
} from 'mastodon/actions/notification_policies';
|
} from 'mastodon/actions/notification_policies';
|
||||||
import type { NotificationPolicy } from 'mastodon/models/notification_policy';
|
import type { NotificationPolicy } from 'mastodon/models/notification_policy';
|
||||||
|
@ -10,10 +10,9 @@ import type { NotificationPolicy } from 'mastodon/models/notification_policy';
|
||||||
export const notificationPolicyReducer =
|
export const notificationPolicyReducer =
|
||||||
createReducer<NotificationPolicy | null>(null, (builder) => {
|
createReducer<NotificationPolicy | null>(null, (builder) => {
|
||||||
builder
|
builder
|
||||||
.addCase(decreasePendingNotificationsCount, (state, action) => {
|
.addCase(decreasePendingRequestsCount, (state, action) => {
|
||||||
if (state) {
|
if (state) {
|
||||||
state.summary.pending_notifications_count -= action.payload;
|
state.summary.pending_requests_count -= action.payload;
|
||||||
state.summary.pending_requests_count -= 1;
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.addMatcher(
|
.addMatcher(
|
||||||
|
|
23
app/javascript/mastodon/utils/debounce.ts
Normal file
23
app/javascript/mastodon/utils/debounce.ts
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
import { debounce } from 'lodash';
|
||||||
|
|
||||||
|
import type { AppDispatch } from 'mastodon/store';
|
||||||
|
|
||||||
|
export const debounceWithDispatchAndArguments = <T>(
|
||||||
|
fn: (dispatch: AppDispatch, ...args: T[]) => void,
|
||||||
|
{ delay = 100 },
|
||||||
|
) => {
|
||||||
|
let argumentBuffer: T[] = [];
|
||||||
|
let dispatchBuffer: AppDispatch;
|
||||||
|
|
||||||
|
const wrapped = debounce(() => {
|
||||||
|
const tmpBuffer = argumentBuffer;
|
||||||
|
argumentBuffer = [];
|
||||||
|
fn(dispatchBuffer, ...tmpBuffer);
|
||||||
|
}, delay);
|
||||||
|
|
||||||
|
return (dispatch: AppDispatch, ...args: T[]) => {
|
||||||
|
dispatchBuffer = dispatch;
|
||||||
|
argumentBuffer.push(...args);
|
||||||
|
wrapped();
|
||||||
|
};
|
||||||
|
};
|
|
@ -6889,7 +6889,7 @@ a.status-card {
|
||||||
|
|
||||||
.media-gallery__actions {
|
.media-gallery__actions {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 6px;
|
top: 6px;
|
||||||
inset-inline-end: 6px;
|
inset-inline-end: 6px;
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 2px;
|
gap: 2px;
|
||||||
|
@ -6912,7 +6912,7 @@ a.status-card {
|
||||||
.media-gallery__item__badges {
|
.media-gallery__item__badges {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 8px;
|
bottom: 8px;
|
||||||
inset-inline-start: 8px;
|
inset-inline-end: 8px;
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 2px;
|
gap: 2px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,9 +86,7 @@
|
||||||
color: $primary-text-color;
|
color: $primary-text-color;
|
||||||
transition: all 100ms ease-in;
|
transition: all 100ms ease-in;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
padding: 0 16px;
|
padding: 8px 16px;
|
||||||
line-height: 36px;
|
|
||||||
height: 36px;
|
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
|
|
||||||
|
|
|
@ -342,7 +342,15 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
|
||||||
end
|
end
|
||||||
|
|
||||||
def converted_text
|
def converted_text
|
||||||
linkify([@status_parser.title.presence, @status_parser.spoiler_text.presence, @status_parser.url || @status_parser.uri].compact.join("\n\n"))
|
[formatted_title, @status_parser.spoiler_text.presence, formatted_url].compact.join("\n\n")
|
||||||
|
end
|
||||||
|
|
||||||
|
def formatted_title
|
||||||
|
"<h2>#{@status_parser.title}</h2>" if @status_parser.title.present?
|
||||||
|
end
|
||||||
|
|
||||||
|
def formatted_url
|
||||||
|
linkify(@status_parser.url || @status_parser.uri)
|
||||||
end
|
end
|
||||||
|
|
||||||
def unsupported_media_type?(mime_type)
|
def unsupported_media_type?(mime_type)
|
||||||
|
|
|
@ -9,6 +9,8 @@ class AdminMailer < ApplicationMailer
|
||||||
before_action :process_params
|
before_action :process_params
|
||||||
before_action :set_instance
|
before_action :set_instance
|
||||||
|
|
||||||
|
after_action :set_important_headers!, only: :new_critical_software_updates
|
||||||
|
|
||||||
default to: -> { @me.user_email }
|
default to: -> { @me.user_email }
|
||||||
|
|
||||||
def new_report(report)
|
def new_report(report)
|
||||||
|
@ -56,12 +58,6 @@ class AdminMailer < ApplicationMailer
|
||||||
def new_critical_software_updates
|
def new_critical_software_updates
|
||||||
@software_updates = SoftwareUpdate.where(urgent: true).to_a.sort_by(&:gem_version)
|
@software_updates = SoftwareUpdate.where(urgent: true).to_a.sort_by(&:gem_version)
|
||||||
|
|
||||||
headers(
|
|
||||||
'Importance' => 'high',
|
|
||||||
'Priority' => 'urgent',
|
|
||||||
'X-Priority' => '1'
|
|
||||||
)
|
|
||||||
|
|
||||||
locale_for_account(@me) do
|
locale_for_account(@me) do
|
||||||
mail subject: default_i18n_subject(instance: @instance)
|
mail subject: default_i18n_subject(instance: @instance)
|
||||||
end
|
end
|
||||||
|
@ -82,4 +78,12 @@ class AdminMailer < ApplicationMailer
|
||||||
def set_instance
|
def set_instance
|
||||||
@instance = Rails.configuration.x.local_domain
|
@instance = Rails.configuration.x.local_domain
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def set_important_headers!
|
||||||
|
headers(
|
||||||
|
'Importance' => 'high',
|
||||||
|
'Priority' => 'urgent',
|
||||||
|
'X-Priority' => '1'
|
||||||
|
)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -53,7 +53,7 @@ class ApproveAppealService < BaseService
|
||||||
|
|
||||||
def undo_mark_statuses_as_sensitive!
|
def undo_mark_statuses_as_sensitive!
|
||||||
representative_account = Account.representative
|
representative_account = Account.representative
|
||||||
@strike.statuses.includes(:media_attachments).find_each do |status|
|
@strike.statuses.kept.includes(:media_attachments).reorder(nil).find_each do |status|
|
||||||
UpdateStatusService.new.call(status, representative_account.id, sensitive: false) if status.with_media?
|
UpdateStatusService.new.call(status, representative_account.id, sensitive: false) if status.with_media?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
# 0.5s is a fairly high timeout, but that should account for slow servers under load
|
# 2s is a fairly high default, but that should account for slow servers under load
|
||||||
Regexp.timeout = 0.5 if Regexp.respond_to?(:timeout=)
|
Regexp.timeout = ENV.fetch('REGEXP_TIMEOUT', 2).to_f if Regexp.respond_to?(:timeout=)
|
||||||
|
|
|
@ -15,6 +15,8 @@ be:
|
||||||
user/invite_request:
|
user/invite_request:
|
||||||
text: Прычына
|
text: Прычына
|
||||||
errors:
|
errors:
|
||||||
|
messages:
|
||||||
|
too_many_lines: перавышана абмежаванне ў %{limit} радкоў
|
||||||
models:
|
models:
|
||||||
account:
|
account:
|
||||||
attributes:
|
attributes:
|
||||||
|
|
|
@ -15,6 +15,12 @@ el:
|
||||||
user/invite_request:
|
user/invite_request:
|
||||||
text: Αιτιολογία
|
text: Αιτιολογία
|
||||||
errors:
|
errors:
|
||||||
|
attributes:
|
||||||
|
domain:
|
||||||
|
invalid: δεν είναι έγκυρο όνομα τομέα
|
||||||
|
messages:
|
||||||
|
invalid_domain_on_line: το %{value} δεν είναι έγκυρο όνομα τομέα
|
||||||
|
too_many_lines: υπερβαίνει το όριο των %{limit} γραμμών
|
||||||
models:
|
models:
|
||||||
account:
|
account:
|
||||||
attributes:
|
attributes:
|
||||||
|
|
|
@ -60,7 +60,6 @@ af:
|
||||||
error:
|
error:
|
||||||
title: "’n Fout het ingesluip"
|
title: "’n Fout het ingesluip"
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} wil toegang hê tot jou rekening. Dit is ’n derdepartytoepassing. <strong>Moet dit nie toelaat as jy dit nie vertrou nie.</strong>"
|
|
||||||
review_permissions: Hersien toestemmings
|
review_permissions: Hersien toestemmings
|
||||||
title: Benodig magtiging
|
title: Benodig magtiging
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ an:
|
||||||
error:
|
error:
|
||||||
title: Ha ocurriu una error
|
title: Ha ocurriu una error
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} deseya permiso pa acceder ta la tuya cuenta. Ye una aplicación de tercers. <strong>Si no confías en ella, no habrías d'autorizar-la.</strong>"
|
|
||||||
review_permissions: Revisar permisos
|
review_permissions: Revisar permisos
|
||||||
title: Se requiere autorización
|
title: Se requiere autorización
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ ar:
|
||||||
error:
|
error:
|
||||||
title: حدث هناك خطأ
|
title: حدث هناك خطأ
|
||||||
new:
|
new:
|
||||||
prompt_html: يريد %{client_name} الإذن للوصول إلى حسابك. إنه تطبيق طرف ثالث. <strong>إذا كنت لا تثق فيه، فلا ينبغي أن تأذن له بذلك.</strong>
|
|
||||||
review_permissions: مراجعة الصلاحيات
|
review_permissions: مراجعة الصلاحيات
|
||||||
title: إذن بالتصريح
|
title: إذن بالتصريح
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -41,7 +41,6 @@ ast:
|
||||||
error:
|
error:
|
||||||
title: Prodúxose un error
|
title: Prodúxose un error
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name}, que ye una aplicación de terceros, quier tener accesu a la cuenta. <strong>Si nun t'enfotes nella, nun habríes autorizala.</strong>"
|
|
||||||
review_permissions: Revisión de los permisos
|
review_permissions: Revisión de los permisos
|
||||||
show:
|
show:
|
||||||
title: Copia esti códigu d'autorización y apiégalu na aplicación.
|
title: Copia esti códigu d'autorización y apiégalu na aplicación.
|
||||||
|
|
|
@ -60,7 +60,6 @@ be:
|
||||||
error:
|
error:
|
||||||
title: Узнікла памылка
|
title: Узнікла памылка
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} хацеў бы атрымаць дазвол для доступу да вашага акаунта. Гэта вонкавае прыкладанне. <strong> Не давайце дазволу на гэта, калі вы не давяраеце гэтаму прыкладанню. </strong>"
|
|
||||||
review_permissions: Прагледзець дазволы
|
review_permissions: Прагледзець дазволы
|
||||||
title: Патрабуецца аўтарызацыя
|
title: Патрабуецца аўтарызацыя
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ bg:
|
||||||
error:
|
error:
|
||||||
title: Възникна грешка
|
title: Възникна грешка
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} иска разрешение да има достъп до акаунта ви. Приложение от трета страна е.<strong>Ако не му се доверявате, то може да не го упълномощявате.</strong>"
|
|
||||||
review_permissions: Преглед на разрешенията
|
review_permissions: Преглед на разрешенията
|
||||||
title: Изисква се упълномощаване
|
title: Изисква се упълномощаване
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ ca:
|
||||||
error:
|
error:
|
||||||
title: S'ha produït un error
|
title: S'ha produït un error
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} vol permís per accedir el teu compte. És una aplicació de tercers. <strong>Si no hi confies, no hauries d'autoritzar-la.</strong>"
|
prompt_html: "%{client_name} demana accés al vostre compte. <strong>Només aproveu aquesta petició si reconeixeu i confieu en aquest origen.</strong>"
|
||||||
review_permissions: Revisa els permisos
|
review_permissions: Revisa els permisos
|
||||||
title: Cal autorizació
|
title: Cal autorizació
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ ckb:
|
||||||
error:
|
error:
|
||||||
title: هەڵەیەک ڕوویدا
|
title: هەڵەیەک ڕوویدا
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} حەز دەکات مۆڵەت بدرێت بۆ چوونە ناو ئەکاونتەکەت. ئەپڵیکەیشنێکی لایەنی سێیەمە. <strong>ئەگەر متمانەت پێی نییە، ئەوا نابێت ڕێگەی پێبدەیت.</strong>"
|
|
||||||
review_permissions: پێداچوونەوە بە مۆڵەتەکاندا بکە
|
review_permissions: پێداچوونەوە بە مۆڵەتەکاندا بکە
|
||||||
title: ڕێپێدان پێویستە
|
title: ڕێپێدان پێویستە
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ cs:
|
||||||
error:
|
error:
|
||||||
title: Vyskytla se chyba
|
title: Vyskytla se chyba
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} si přeje oprávnění pro přístup k vašemu účtu. Je to aplikace třetí strany. <strong>Pokud jí nedůvěřujete, pak byste ji neměli autorizovat.</strong>"
|
|
||||||
review_permissions: Zkontrolujte oprávnění
|
review_permissions: Zkontrolujte oprávnění
|
||||||
title: Je vyžadována autorizace
|
title: Je vyžadována autorizace
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ cy:
|
||||||
error:
|
error:
|
||||||
title: Mae rhywbeth wedi mynd o'i le
|
title: Mae rhywbeth wedi mynd o'i le
|
||||||
new:
|
new:
|
||||||
prompt_html: Hoffai %{client_name} gael caniatâd i gael mynediad i'ch cyfrif. Mae'n gais trydydd parti. <strong>Os nad ydych yn ymddiried ynddo, yna peidiwch a'i awdurdodi.</strong>
|
|
||||||
review_permissions: Adolygu caniatâd
|
review_permissions: Adolygu caniatâd
|
||||||
title: Angen awdurdodi
|
title: Angen awdurdodi
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ da:
|
||||||
error:
|
error:
|
||||||
title: En fejl opstod
|
title: En fejl opstod
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} ønsker tilladelse til at tilgå din konto. Den er en tredjepartsapplikation. <strong>Har du ikke tillid til den, bør den ikke godkendes.</strong>"
|
prompt_html: "%{client_name} vil ønsker tilladelse til at tilgå din konto. <strong>Godkend kun denne anmodning, hvis kilden genkendes, og man stoler på den.</strong>"
|
||||||
review_permissions: Gennemgå tilladelser
|
review_permissions: Gennemgå tilladelser
|
||||||
title: Godkendelse kræves
|
title: Godkendelse kræves
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ de:
|
||||||
error:
|
error:
|
||||||
title: Ein Fehler ist aufgetreten
|
title: Ein Fehler ist aufgetreten
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} möchte auf dein Konto zugreifen. Es handelt sich um eine Software von Dritten. <strong>Wenn du der Anwendung nicht vertraust, solltest du ihr keinen Zugriff auf dein Konto geben.</strong>"
|
prompt_html: "%{client_name} möchte auf dein Konto zugreifen. <strong>Du solltest diese Anfrage nur genehmigen, wenn du diese Quelle kennst und ihr vertraust.</strong>"
|
||||||
review_permissions: Berechtigungen überprüfen
|
review_permissions: Berechtigungen überprüfen
|
||||||
title: Autorisierung erforderlich
|
title: Autorisierung erforderlich
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ el:
|
||||||
error:
|
error:
|
||||||
title: Εμφανίστηκε σφάλμα
|
title: Εμφανίστηκε σφάλμα
|
||||||
new:
|
new:
|
||||||
prompt_html: Το %{client_name} θα ήθελε άδεια πρόσβασης στο λογαριασμό σου. Είναι μια εφαρμογή τρίτων. <strong>Αν δεν το εμπιστεύεσαι, τότε δεν πρέπει να το εγκρίνεις.</strong>
|
|
||||||
review_permissions: Ανασκόπηση δικαιωμάτων
|
review_permissions: Ανασκόπηση δικαιωμάτων
|
||||||
title: Απαιτείται έγκριση
|
title: Απαιτείται έγκριση
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ en-GB:
|
||||||
error:
|
error:
|
||||||
title: An error has occurred
|
title: An error has occurred
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} would like permission to access your account. It is a third-party application. <strong>If you do not trust it, then you should not authorise it.</strong>"
|
prompt_html: "%{client_name} would like permission to access your account. <strong>Only approve this request if you recognise and trust this source.</strong>"
|
||||||
review_permissions: Review permissions
|
review_permissions: Review permissions
|
||||||
title: Authorisation required
|
title: Authorisation required
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ eo:
|
||||||
error:
|
error:
|
||||||
title: Eraro okazis
|
title: Eraro okazis
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} petas permeson por aliri vian konton. <strong>Se vi ne fidas ĝin, ne rajtigu ĝin.</strong>"
|
|
||||||
review_permissions: Revizu permesojn
|
review_permissions: Revizu permesojn
|
||||||
title: Rajtigo bezonata
|
title: Rajtigo bezonata
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ es-AR:
|
||||||
error:
|
error:
|
||||||
title: Ocurrió un error
|
title: Ocurrió un error
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} solicita permiso para acceder a tu cuenta. Es una aplicación de terceros. <strong>Si no confiás en ella, no deberías autorizarla.</strong>"
|
prompt_html: "%{client_name} le gustaría obtener permiso para acceder a tu cuenta. <strong>Solo aprueba esta solicitud si reconoces y confías en esta fuente.</strong>"
|
||||||
review_permissions: Revisar permisos
|
review_permissions: Revisar permisos
|
||||||
title: Autorización requerida
|
title: Autorización requerida
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ es-MX:
|
||||||
error:
|
error:
|
||||||
title: Ha ocurrido un error
|
title: Ha ocurrido un error
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} requiere permiso para acceder a tu cuenta. Es una aplicación de terceros. <strong>Si no confías en esta, no deberías autorizarla.</strong>"
|
prompt_html: "%{client_name} le gustaría obtener permiso para acceder a tu cuenta. <strong>Solo aprueba esta solicitud si reconoces y confías en esta fuente.</strong>"
|
||||||
review_permissions: Revisar permisos
|
review_permissions: Revisar permisos
|
||||||
title: Se requiere autorización
|
title: Se requiere autorización
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ es:
|
||||||
error:
|
error:
|
||||||
title: Ha ocurrido un error
|
title: Ha ocurrido un error
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} desea permiso para acceder a tu cuenta. Es una aplicación de terceros. <strong>Si no confías en ella, no deberías autorizarla.</strong>"
|
prompt_html: "%{client_name} le gustaría obtener permiso para acceder a tu cuenta. <strong>Solo aprueba esta solicitud si reconoces y confías en esta fuente.</strong>"
|
||||||
review_permissions: Revisar permisos
|
review_permissions: Revisar permisos
|
||||||
title: Se requiere autorización
|
title: Se requiere autorización
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ et:
|
||||||
error:
|
error:
|
||||||
title: Ilmnes viga
|
title: Ilmnes viga
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} soovib luba kontole juurdepääsuks. See on kolmanda osapoole rakendus. <strong>Kui see pole usaldusväärne, siis ei tohiks seda lubada.</strong>"
|
|
||||||
review_permissions: Lubade ülevaade
|
review_permissions: Lubade ülevaade
|
||||||
title: Autoriseerimine vajalik
|
title: Autoriseerimine vajalik
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ eu:
|
||||||
error:
|
error:
|
||||||
title: Errore bat gertatu da
|
title: Errore bat gertatu da
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} bezeroak zure kontura sartzeko baimena nahi du. Hirugarrengoen aplikazio bat da. <strong>Ez bazara fidatzen, ez zenuke baimendu behar.</strong>"
|
|
||||||
review_permissions: Berrikusi baimenak
|
review_permissions: Berrikusi baimenak
|
||||||
title: Baimena behar da
|
title: Baimena behar da
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ fa:
|
||||||
error:
|
error:
|
||||||
title: خطایی رخ داد
|
title: خطایی رخ داد
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} خواهان اجازه دسترسی به حساب کاربری شماست. <strong>اگر به آن اعتماد ندارید، نباید تاییدش کنید.</strong>"
|
|
||||||
review_permissions: بازبینی اجازهها
|
review_permissions: بازبینی اجازهها
|
||||||
title: نیاز به اجازه دادن
|
title: نیاز به اجازه دادن
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ fi:
|
||||||
error:
|
error:
|
||||||
title: Tapahtui virhe
|
title: Tapahtui virhe
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} pyytää oikeutta käyttää tiliäsi. Se on kolmannen osapuolen sovellus. <strong>Jos et luota siihen, älä valtuuta sitä.</strong>"
|
prompt_html: "%{client_name} haluaisi käyttöoikeuden tiliisi. <strong>Hyväksy tämä pyyntö vain, jos tunnistat lähteen ja luotat siihen.</strong>"
|
||||||
review_permissions: Tarkista käyttöoikeudet
|
review_permissions: Tarkista käyttöoikeudet
|
||||||
title: Valtuutus vaaditaan
|
title: Valtuutus vaaditaan
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ fo:
|
||||||
error:
|
error:
|
||||||
title: Ein feilur er íkomin
|
title: Ein feilur er íkomin
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} kundi hugsa sær atgongd til tína kontu. Tað er ein triðjaparts-nýtsluskipan. <strong>Tú skal ikki geva henni hesa heimld, um tú ikki hevur álit á henni.</strong>"
|
prompt_html: "%{client_name} kundi hugsað sær atgongd til tína kontu. <strong>Góðtak einans hesa umbøn, um tú kennir hesa keldu aftur og hevur álit á henni.</strong>"
|
||||||
review_permissions: Eftirkanna rættindi
|
review_permissions: Eftirkanna rættindi
|
||||||
title: Váttan kravd
|
title: Váttan kravd
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ fr-CA:
|
||||||
error:
|
error:
|
||||||
title: Une erreur est survenue
|
title: Une erreur est survenue
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} souhaite accéder à votre compte. Il s'agit d'une application tierce. <strong>Si vous ne lui faites pas confiance, vous ne devriez pas l'y autoriser.</strong>"
|
|
||||||
review_permissions: Examiner les autorisations
|
review_permissions: Examiner les autorisations
|
||||||
title: Autorisation requise
|
title: Autorisation requise
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ fr:
|
||||||
error:
|
error:
|
||||||
title: Une erreur est survenue
|
title: Une erreur est survenue
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} souhaite accéder à votre compte. Il s'agit d'une application tierce. <strong>Vous ne devriez pas l'y autoriser si vous ne lui faites pas confiance.</strong>"
|
|
||||||
review_permissions: Examiner les autorisations
|
review_permissions: Examiner les autorisations
|
||||||
title: Autorisation requise
|
title: Autorisation requise
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ fy:
|
||||||
error:
|
error:
|
||||||
title: Der is in flater bard
|
title: Der is in flater bard
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} hat tastimming nedich om tagong te krijen ta jo account. It giet om in tapassing fan in tredde partij.<strong>As jo dit net fertrouwe, moatte jo gjin tastimming jaan.</strong>"
|
|
||||||
review_permissions: Tastimmingen beoardiele
|
review_permissions: Tastimmingen beoardiele
|
||||||
title: Autorisaasje fereaske
|
title: Autorisaasje fereaske
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ ga:
|
||||||
error:
|
error:
|
||||||
title: Tharla earráid
|
title: Tharla earráid
|
||||||
new:
|
new:
|
||||||
prompt_html: Ba mhaith le %{client_name} cead rochtain a fháil ar do chuntas. Is iarratas tríú páirtí é. <strong>Mura bhfuil muinín agat as, níor cheart duit é a údarú.</strong>
|
|
||||||
review_permissions: Ceadanna a athbhreithniú
|
review_permissions: Ceadanna a athbhreithniú
|
||||||
title: Tá údarú ag teastáil
|
title: Tá údarú ag teastáil
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ gd:
|
||||||
error:
|
error:
|
||||||
title: Thachair mearachd
|
title: Thachair mearachd
|
||||||
new:
|
new:
|
||||||
prompt_html: Bu mhiann le %{client_name} cead gus an cunntas agad inntrigeadh. Seo aplacaid threas-phàrtaidh. <strong>Mur eil earbsa agad ann, na ùghdarraich e.</strong>
|
prompt_html: Bu toigh le %{client_name} cead fhaighinn airson an cunntas agad inntrigeadh. <strong>Na gabh ris an iarrtas seo ach mas aithne dhut an tùs seo agus earbsa agad ann.</strong>
|
||||||
review_permissions: Thoir sùil air na ceadan
|
review_permissions: Thoir sùil air na ceadan
|
||||||
title: Tha feum air ùghdarrachadh
|
title: Tha feum air ùghdarrachadh
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ gl:
|
||||||
error:
|
error:
|
||||||
title: Algo fallou
|
title: Algo fallou
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} solicita permiso para acceder á túa conta. É unha aplicación de terceiros. <strong>Se non confías nela, non deberías autorizala.</strong>"
|
prompt_html: "%{client_name} solicita permiso para acceder á túa conta. <strong>Aproba esta solicitude só se recoñeces e confías da súa orixe.</strong>"
|
||||||
review_permissions: Revisar permisos
|
review_permissions: Revisar permisos
|
||||||
title: Autorización necesaria
|
title: Autorización necesaria
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ he:
|
||||||
error:
|
error:
|
||||||
title: התרחשה שגיאה
|
title: התרחשה שגיאה
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} מעוניין בהרשאה לגשת לחשבונך. זוהי אפליקציית צד-שלישי. <strong>אם יש סיבה לא לבטוח בה, נא לא לאשר.</strong>"
|
prompt_html: היישום %{client_name} מבקש גישה לחשבונך. <strong>אשרו רק אם אתם מזהים את הבקשה וסומכים על מקור הבקשה.</strong>
|
||||||
review_permissions: עיון בהרשאות
|
review_permissions: עיון בהרשאות
|
||||||
title: נדרשת הרשאה
|
title: נדרשת הרשאה
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ hu:
|
||||||
error:
|
error:
|
||||||
title: Hiba történt
|
title: Hiba történt
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} szeretné elérni a fiókodat. Ez egy harmadik féltől származó alkalmazás. <strong>Ha nem bízol meg benne, ne addj felhatalmazást neki.</strong>"
|
|
||||||
review_permissions: Jogosultságok áttekintése
|
review_permissions: Jogosultságok áttekintése
|
||||||
title: Engedélyezés szükséges
|
title: Engedélyezés szükséges
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ ia:
|
||||||
error:
|
error:
|
||||||
title: Un error ha occurrite
|
title: Un error ha occurrite
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} vole haber le permission de acceder a tu conto. Illo es un application tertie. <strong>Si tu non confide in illo, alora tu non deberea autorisar lo.</strong>"
|
|
||||||
review_permissions: Revider permissiones
|
review_permissions: Revider permissiones
|
||||||
title: Autorisation necessari
|
title: Autorisation necessari
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ id:
|
||||||
error:
|
error:
|
||||||
title: Ada yang error
|
title: Ada yang error
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} meminta izin untuk mengakses akun Anda. Ini adalah aplikasi pihak ketiga. <strong>Jika Anda tidak mempercayainya, Anda boleh tidak mengizinkannya.</strong>"
|
|
||||||
review_permissions: Tinjau izin
|
review_permissions: Tinjau izin
|
||||||
title: Izin diperlukan
|
title: Izin diperlukan
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ ie:
|
||||||
error:
|
error:
|
||||||
title: Alquo ha errat
|
title: Alquo ha errat
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name}, un aplication de triesim partise, vole permission por accesser tui conto. <strong>Si tu ne fide it, ne autorisa it.</strong>"
|
|
||||||
review_permissions: Inspecter permissiones
|
review_permissions: Inspecter permissiones
|
||||||
title: Autorisation besonat
|
title: Autorisation besonat
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ io:
|
||||||
error:
|
error:
|
||||||
title: Eroro eventis
|
title: Eroro eventis
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} volas permiso por acesar vua konti. Ol esas externa softwaro. <strong>Se vu ne fidas, lore vu debas ne yurizar.</strong>"
|
|
||||||
review_permissions: Kontrolez permisi
|
review_permissions: Kontrolez permisi
|
||||||
title: Yurizo bezonesas
|
title: Yurizo bezonesas
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ is:
|
||||||
error:
|
error:
|
||||||
title: Villa kom upp
|
title: Villa kom upp
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} biður um heimild til að fara inn á notandaaðganginn þinn. Þetta er utanaðkomandi hugbúnaður. <strong>Ef þú treystir ekki viðkomandi, þá ættir þú ekki að heimila þetta.</strong>"
|
|
||||||
review_permissions: Yfirfara heimildir
|
review_permissions: Yfirfara heimildir
|
||||||
title: Auðkenning er nauðsynleg
|
title: Auðkenning er nauðsynleg
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ it:
|
||||||
error:
|
error:
|
||||||
title: Si è verificato un errore
|
title: Si è verificato un errore
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} vorrebbe l'autorizzazione ad accedere al tuo profilo. È un'applicazione di terze parti. <strong>Se non ti fidi, non dovresti autorizzarla.</strong>"
|
prompt_html: "%{client_name} vorrebbe il permesso di accedere al tuo account. <strong>Approva questa richiesta solo se riconosci e ti fidi di questa fonte.</strong>"
|
||||||
review_permissions: Revisiona le autorizzazioni
|
review_permissions: Revisiona le autorizzazioni
|
||||||
title: Autorizzazione necessaria
|
title: Autorizzazione necessaria
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ ja:
|
||||||
error:
|
error:
|
||||||
title: エラーが発生しました
|
title: エラーが発生しました
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name}があなたのアカウントにアクセスする許可を求めています。<strong>心当たりが無い場合はアクセス許可しないでください。</strong>"
|
|
||||||
review_permissions: アクセス許可を確認
|
review_permissions: アクセス許可を確認
|
||||||
title: 認証が必要です
|
title: 認証が必要です
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ ko:
|
||||||
error:
|
error:
|
||||||
title: 오류가 발생하였습니다
|
title: 오류가 발생하였습니다
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} 제3자 애플리케이션이 귀하의 계정에 접근하기 위한 권한을 요청하고 있습니다. <strong>이 애플리케이션을 신뢰할 수 없다면 이 요청을 승인하지 마십시오.</strong>"
|
|
||||||
review_permissions: 권한 검토
|
review_permissions: 권한 검토
|
||||||
title: 승인 필요
|
title: 승인 필요
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ ku:
|
||||||
error:
|
error:
|
||||||
title: Xeletîyek çêbû
|
title: Xeletîyek çêbû
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} mafê dixwaze ku bigihîje ajimêrê te. Ew sepanek aliyê sêyemîn e. <strong>Ku tu pê bawer nakî, wê demê divê tu mafê gihiştinê nedî. </strong>"
|
|
||||||
review_permissions: Gihiştinan binirxînin
|
review_permissions: Gihiştinan binirxînin
|
||||||
title: Destûr kirin pêwîst e
|
title: Destûr kirin pêwîst e
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ lad:
|
||||||
error:
|
error:
|
||||||
title: Un yerro tiene afitado
|
title: Un yerro tiene afitado
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} kere permiso para akseder tu kuento. Es una aplikasyon de terseros. <strong>Si no konfias en eya, no deverias autorizarla.</strong>"
|
|
||||||
review_permissions: Reviza permisos
|
review_permissions: Reviza permisos
|
||||||
title: Autorizasyon rekerida
|
title: Autorizasyon rekerida
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ lt:
|
||||||
error:
|
error:
|
||||||
title: Įvyko klaida.
|
title: Įvyko klaida.
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} norėtų gauti leidimą pasiekti tavo paskyrą. Tai – trečiosios šalies programa. <strong>Jei ja nepasitiki, tada neturėtum leisti.</strong>"
|
prompt_html: "%{client_name} norėtų gauti leidimą pasiekti tavo paskyrą. <strong>Patvirtink šį prašymą tik tada, jei atpažįsti šį šaltinį ir juo pasitiki.</strong>"
|
||||||
review_permissions: Peržiūrėti leidimus
|
review_permissions: Peržiūrėti leidimus
|
||||||
title: Privalomas leidimas
|
title: Privalomas leidimas
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ lv:
|
||||||
error:
|
error:
|
||||||
title: Radās kļūda
|
title: Radās kļūda
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} vēlas saņemt atļauju piekļūt tavam kontam. Tā ir trešās puses lietojumprogramma. <strong>Ja tu tam neuzticies, tad nevajadzētu to autorizēt.</strong>"
|
|
||||||
review_permissions: Pārskatīt atļaujas
|
review_permissions: Pārskatīt atļaujas
|
||||||
title: Nepieciešama autorizācija
|
title: Nepieciešama autorizācija
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ ms:
|
||||||
error:
|
error:
|
||||||
title: Ralat telah berlaku
|
title: Ralat telah berlaku
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} ingin mendapatkan kebenaran untuk mengakses akaun anda. Ia adalah aplikasi pihak ketiga. <strong>Jika anda tidak mempercayainya, maka anda tidak seharusnya membenarkannya.</strong>"
|
|
||||||
review_permissions: Semak kebenaran
|
review_permissions: Semak kebenaran
|
||||||
title: Kebenaran diperlukan
|
title: Kebenaran diperlukan
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ my:
|
||||||
error:
|
error:
|
||||||
title: အမှားအယွင်းတစ်ခု ဖြစ်ပေါ်ခဲ့သည်
|
title: အမှားအယွင်းတစ်ခု ဖြစ်ပေါ်ခဲ့သည်
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} က သင့်အကောင့်သို့ ဝင်ရောက်ရန် ခွင့်ပြုချက်ရယူလိုပါသည်။ ၎င်းမှာ ပြင်ပကြားခံအက်ပလီကေးရှင်းတစ်ခုဖြစ်သည်။ <strong>သင် မယုံကြည်ပါက ၎င်းကိုခွင့်မပြုသင့်ပါ။</strong>"
|
|
||||||
review_permissions: ခွင့်ပြုချက်များကို ပြန်လည်သုံးသပ်ပါ
|
review_permissions: ခွင့်ပြုချက်များကို ပြန်လည်သုံးသပ်ပါ
|
||||||
title: ခွင့်ပြုချက် လိုအပ်သည်
|
title: ခွင့်ပြုချက် လိုအပ်သည်
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ nl:
|
||||||
error:
|
error:
|
||||||
title: Er is een fout opgetreden
|
title: Er is een fout opgetreden
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} heeft toestemming nodig om toegang te krijgen tot jouw account. Het betreft een third-party-toepassing.<strong>Als je dit niet vertrouwt, moet je geen toestemming verlenen.</strong>"
|
prompt_html: "%{client_name} vraagt om toegang tot je account. <strong>Keur dit verzoek alleen goed als je deze bron herkent en vertrouwt.</strong>"
|
||||||
review_permissions: Toestemmingen beoordelen
|
review_permissions: Toestemmingen beoordelen
|
||||||
title: Autorisatie vereist
|
title: Autorisatie vereist
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ nn:
|
||||||
error:
|
error:
|
||||||
title: Ein feil har oppstått
|
title: Ein feil har oppstått
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} ønsker tilgang til kontoen din. Det er ein tredjepartsapplikasjon. <strong>Dersom du ikkje stolar på den, bør du ikkje autorisere det.</strong>"
|
prompt_html: "%{client_name} ynskjer tilgang til kontoen din. <strong>Godkjenn dette berre dersom du kjenner att og stolar på %{client_name}.</strong>"
|
||||||
review_permissions: Sjå gjennom løyve
|
review_permissions: Sjå gjennom løyve
|
||||||
title: Autorisasjon nødvendig
|
title: Autorisasjon nødvendig
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@
|
||||||
error:
|
error:
|
||||||
title: En feil oppstod
|
title: En feil oppstod
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} ønsker tilgang til kontoen din. Det er en tredjeparts applikasjon. <strong>Hvis du ikke stoler på den, bør du ikke autorisere den.</strong>"
|
|
||||||
review_permissions: Gå gjennom tillatelser
|
review_permissions: Gå gjennom tillatelser
|
||||||
title: Autorisasjon påkrevd
|
title: Autorisasjon påkrevd
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ oc:
|
||||||
error:
|
error:
|
||||||
title: I a agut un error
|
title: I a agut un error
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} volria l’autorizacion d’accedir a vòstre compte. Es una aplicacion tèrça.<strong>Se vos fisatz pas a ela, alara deuriatz pas l’autorizacion.</strong>"
|
|
||||||
review_permissions: Repassar las autorizacions
|
review_permissions: Repassar las autorizacions
|
||||||
title: Cal l’autorizacion
|
title: Cal l’autorizacion
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ pl:
|
||||||
error:
|
error:
|
||||||
title: Wystapił błąd
|
title: Wystapił błąd
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} chciałby uzyskać pozwolenie na dostęp do Twojego konta. Jest to aplikacja zewnętrzna. <strong>Jeśli jej nie ufasz, nie powinno się jej autoryzować.</strong>"
|
prompt_html: "%{client_name} prosi o dostęp do twojego konta. <strong>Tylko zatwierdź tę prośbę, jeżeli ją rozpoznajesz i ufasz.</strong>"
|
||||||
review_permissions: Sprawdź uprawnienia
|
review_permissions: Sprawdź uprawnienia
|
||||||
title: Wymagana jest autoryzacja
|
title: Wymagana jest autoryzacja
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ pt-BR:
|
||||||
error:
|
error:
|
||||||
title: Ocorreu um erro
|
title: Ocorreu um erro
|
||||||
new:
|
new:
|
||||||
prompt_html: O %{client_name} gostaria de ter permissão para acessar sua conta. Trata-se de uma aplicação de terceiros. <strong>Se você não confia nesta aplicação, então você não deve autorizá-la.</strong>
|
|
||||||
review_permissions: Rever permissões
|
review_permissions: Rever permissões
|
||||||
title: Autorização necessária
|
title: Autorização necessária
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ pt-PT:
|
||||||
error:
|
error:
|
||||||
title: Ocorreu um erro
|
title: Ocorreu um erro
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} pretende ter permissão para aceder à sua conta. É uma aplicação de terceiros. <strong>Se não confia nesta aplicação, então não deve autorizá-la.</strong>"
|
|
||||||
review_permissions: Rever permissões
|
review_permissions: Rever permissões
|
||||||
title: Autorização necessária
|
title: Autorização necessária
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ ro:
|
||||||
error:
|
error:
|
||||||
title: A apărut o eroare
|
title: A apărut o eroare
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} dorește să îți acceseze contul. Este o aplicație terță. <strong>Dacă nu aveți încredere în ea, atunci nu ar trebui să o autorizați.</strong>"
|
|
||||||
review_permissions: Revizuiți permisiunile
|
review_permissions: Revizuiți permisiunile
|
||||||
title: Autorizare necesară
|
title: Autorizare necesară
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ ru:
|
||||||
error:
|
error:
|
||||||
title: Произошла ошибка
|
title: Произошла ошибка
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} хочет получить доступ к вашему аккаунту. Это стороннее приложение. <strong>Если вы ему не доверяете, не разрешайте доступ.</strong>"
|
|
||||||
review_permissions: Просмотр разрешений
|
review_permissions: Просмотр разрешений
|
||||||
title: Требуется авторизация
|
title: Требуется авторизация
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ sco:
|
||||||
error:
|
error:
|
||||||
title: A error haes occurrt
|
title: A error haes occurrt
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} wad like permission fir tae access yer accoont. It is a third-party application. <strong>Gin ye dinnae trust it, then ye shuidnae authorize it.</strong>"
|
|
||||||
review_permissions: Luik ower permissions
|
review_permissions: Luik ower permissions
|
||||||
title: Authorization requirt
|
title: Authorization requirt
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ si:
|
||||||
error:
|
error:
|
||||||
title: දෝෂයක් සිදු වී ඇත
|
title: දෝෂයක් සිදු වී ඇත
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} ඔබගේ ගිණුමට ප්රවේශ වීමට අවසර ලබා ගැනීමට කැමති වේ. එය තෙවන පාර්ශවීය යෙදුමකි. <strong>ඔබ එය විශ්වාස නොකරන්නේ නම්, ඔබ එයට අවසර නොදිය යුතුය.</strong>"
|
|
||||||
review_permissions: අවසර සමාලෝචනය
|
review_permissions: අවසර සමාලෝචනය
|
||||||
title: බලය පැවරීමේ අවශ්ය
|
title: බලය පැවරීමේ අවශ්ය
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ sk:
|
||||||
error:
|
error:
|
||||||
title: Nastala chyba
|
title: Nastala chyba
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} žiada o povolenie na prístup k vášmu účtu. Ide o aplikáciu tretej strany. <strong>Ak jej nedôverujete, nemali by ste ju povoliť.</strong>"
|
|
||||||
review_permissions: Preskúmať povolenia
|
review_permissions: Preskúmať povolenia
|
||||||
title: Je potrebné schválenie
|
title: Je potrebné schválenie
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ sl:
|
||||||
error:
|
error:
|
||||||
title: Prišlo je do napake
|
title: Prišlo je do napake
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} želi dovoljenje za dostop do vašega računa. Gre za zunanji program. <strong>Če mu ne zaupate, mu ne dodelite teh pravic.</strong>"
|
|
||||||
review_permissions: Preglej dovoljenja
|
review_permissions: Preglej dovoljenja
|
||||||
title: Potrebna je odobritev
|
title: Potrebna je odobritev
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ sq:
|
||||||
error:
|
error:
|
||||||
title: Ndodhi një gabim
|
title: Ndodhi një gabim
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} do të donte leje të hyjë në llogarinë tuaj. Është një aplikacion palësh të treta. <strong>Nëse s’i zini besë, atëherë s’duhet ta autorizoni.</strong>"
|
|
||||||
review_permissions: Shqyrtoni leje
|
review_permissions: Shqyrtoni leje
|
||||||
title: Lypset autorizim
|
title: Lypset autorizim
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ sr-Latn:
|
||||||
error:
|
error:
|
||||||
title: Dogodila se greška
|
title: Dogodila se greška
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} želi dozvolu za pristup tvom nalogu. U pitanju je aplikacija treće strane. <strong>Ako smatraš da nije pouzdana, ne bi trebalo da je ovlastiš.</strong>"
|
|
||||||
review_permissions: Pregledaj dozvole
|
review_permissions: Pregledaj dozvole
|
||||||
title: Potrebna autorizacija
|
title: Potrebna autorizacija
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ sr:
|
||||||
error:
|
error:
|
||||||
title: Догодила се грешка
|
title: Догодила се грешка
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} жели дозволу за приступ твом налогу. У питању је апликација треће стране. <strong>Ако сматраш да није поуздана, не би требало да је овластиш.</strong>"
|
|
||||||
review_permissions: Прегледај дозволе
|
review_permissions: Прегледај дозволе
|
||||||
title: Потребна ауторизација
|
title: Потребна ауторизација
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ sv:
|
||||||
error:
|
error:
|
||||||
title: Ett fel har uppstått
|
title: Ett fel har uppstått
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} vill ha behörighet att komma åt ditt konto. Det är en applikation från tredje part. <strong>Du bör endast godkänna den om du litar på den.</strong>"
|
|
||||||
review_permissions: Granska behörigheter
|
review_permissions: Granska behörigheter
|
||||||
title: Godkännande krävs
|
title: Godkännande krävs
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ th:
|
||||||
error:
|
error:
|
||||||
title: เกิดข้อผิดพลาด
|
title: เกิดข้อผิดพลาด
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} ต้องการสิทธิอนุญาตเพื่อเข้าถึงบัญชีของคุณ แอปพลิเคชันเป็นแอปพลิเคชันจากบุคคลที่สาม <strong>หากคุณไม่เชื่อถือแอปพลิเคชัน คุณไม่ควรอนุญาตแอปพลิเคชัน</strong>"
|
|
||||||
review_permissions: ตรวจทานสิทธิอนุญาต
|
review_permissions: ตรวจทานสิทธิอนุญาต
|
||||||
title: ต้องการการอนุญาต
|
title: ต้องการการอนุญาต
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ tr:
|
||||||
error:
|
error:
|
||||||
title: Bir hata oluştu
|
title: Bir hata oluştu
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} hesabınıza erişme izni istiyor. Bu üçüncü taraf bir uygulamadır. <strong>Eğer güvenmiyorsanız, izin vermemelisiniz.</strong>"
|
prompt_html: "%{client_name} hesabınıze erişmek için izin istiyor. <strong>Bu isteği sadece bu kaynağı tanıyor ve güveniyorsanız onaylayın.</strong>"
|
||||||
review_permissions: İzinleri incele
|
review_permissions: İzinleri incele
|
||||||
title: İzin gerekli
|
title: İzin gerekli
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ uk:
|
||||||
error:
|
error:
|
||||||
title: Сталася помилка
|
title: Сталася помилка
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} хоче отримати доступ до вашого облікового запису. Це сторонній застосунок. <strong>Якщо ви йому не довіряєте, не варто авторизувати його.</strong>"
|
prompt_html: "%{client_name} хоче отримати дозвіл на доступ до вашого облікового запису. <strong>Схвалюйте цей запит, якщо ви впізнаєте це джерело і довіряєте йому.</strong>"
|
||||||
review_permissions: Переглянути дозволи
|
review_permissions: Переглянути дозволи
|
||||||
title: Необхідна авторизація
|
title: Необхідна авторизація
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ vi:
|
||||||
error:
|
error:
|
||||||
title: Một lỗi đã xảy ra
|
title: Một lỗi đã xảy ra
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} yêu cầu truy cập tài khoản của bạn. Đây là ứng dụng của bên thứ ba. <strong>Nếu không tin tưởng, đừng cho phép nó.</strong>"
|
prompt_html: "%{client_name} cần được bạn cho phép truy cập vào tài khoản. <strong>Cho phép nếu bạn tin tưởng ứng dụng này.</strong>"
|
||||||
review_permissions: Quyền truy cập
|
review_permissions: Quyền truy cập
|
||||||
title: Yêu cầu truy cập
|
title: Yêu cầu truy cập
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ zh-CN:
|
||||||
error:
|
error:
|
||||||
title: 发生错误
|
title: 发生错误
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} 希望得到访问你账号的许可。这是一个第三方应用。<strong>如果你不信任它,那么你不应该授权它。</strong>"
|
prompt_html: "%{client_name} 请求获得访问您账户的权限。 <strong>请在确保自己了解并信任此来源后再批准该请求。</strong>"
|
||||||
review_permissions: 检查权限
|
review_permissions: 检查权限
|
||||||
title: 需要授权
|
title: 需要授权
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,6 @@ zh-HK:
|
||||||
error:
|
error:
|
||||||
title: 發生錯誤
|
title: 發生錯誤
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} 想得到存取你帳號的權限。這是一個第三方應用程式。<strong>如果你不信任它,請勿授權。</strong>"
|
|
||||||
review_permissions: 檢視權限
|
review_permissions: 檢視權限
|
||||||
title: 需要用戶授權
|
title: 需要用戶授權
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -60,7 +60,7 @@ zh-TW:
|
||||||
error:
|
error:
|
||||||
title: 發生錯誤
|
title: 發生錯誤
|
||||||
new:
|
new:
|
||||||
prompt_html: "%{client_name} 欲請求存取您帳號之權限。這是一個第三方應用程式。<strong>若您不信任該應用程式,請不要授權。</strong>"
|
prompt_html: "%{client_name} 想要請求存取您帳號之權限。<strong>請僅於您所識別且信任此來源時允許請求。</strong>"
|
||||||
review_permissions: 檢視權限
|
review_permissions: 檢視權限
|
||||||
title: 需要授權
|
title: 需要授權
|
||||||
show:
|
show:
|
||||||
|
|
|
@ -24,6 +24,8 @@ el:
|
||||||
admin:
|
admin:
|
||||||
account_actions:
|
account_actions:
|
||||||
action: Εκτέλεση ενέργειας
|
action: Εκτέλεση ενέργειας
|
||||||
|
already_silenced: Αυτός ο λογαριασμός έχει ήδη περιοριστεί.
|
||||||
|
already_suspended: Αυτός ο λογαριασμός έχει ήδη ανασταλεί.
|
||||||
title: Εκτέλεση ενέργειας συντονισμού στον %{acct}
|
title: Εκτέλεση ενέργειας συντονισμού στον %{acct}
|
||||||
account_moderation_notes:
|
account_moderation_notes:
|
||||||
create: Άφησε σημείωση
|
create: Άφησε σημείωση
|
||||||
|
@ -45,6 +47,7 @@ el:
|
||||||
title: Αλλαγή email για %{username}
|
title: Αλλαγή email για %{username}
|
||||||
change_role:
|
change_role:
|
||||||
changed_msg: Ο ρόλος άλλαξε επιτυχώς!
|
changed_msg: Ο ρόλος άλλαξε επιτυχώς!
|
||||||
|
edit_roles: Διαχείριση ρόλων χρήστη
|
||||||
label: Αλλαγή ρόλου
|
label: Αλλαγή ρόλου
|
||||||
no_role: Κανένας ρόλος
|
no_role: Κανένας ρόλος
|
||||||
title: Αλλαγή ρόλου για %{username}
|
title: Αλλαγή ρόλου για %{username}
|
||||||
|
|
|
@ -24,12 +24,15 @@ eo:
|
||||||
admin:
|
admin:
|
||||||
account_actions:
|
account_actions:
|
||||||
action: Plenumi agon
|
action: Plenumi agon
|
||||||
|
already_silenced: Ĉi tiu konto jam estis limigita.
|
||||||
|
already_suspended: Ĉi tiu konto jam estis suspendita.
|
||||||
title: Plenumi kontrolan agon al %{acct}
|
title: Plenumi kontrolan agon al %{acct}
|
||||||
account_moderation_notes:
|
account_moderation_notes:
|
||||||
create: Lasi noton
|
create: Lasi noton
|
||||||
created_msg: Noto de moderigado sukcese kreita!
|
created_msg: Noto de moderigado sukcese kreita!
|
||||||
destroyed_msg: Noto de moderigado sukcese detruita!
|
destroyed_msg: Noto de moderigado sukcese detruita!
|
||||||
accounts:
|
accounts:
|
||||||
|
add_email_domain_block: Bloki retpoŝtan domajnon
|
||||||
approve: Aprobi
|
approve: Aprobi
|
||||||
approved_msg: Sukcese aprobis aliĝ-peton de %{username}
|
approved_msg: Sukcese aprobis aliĝ-peton de %{username}
|
||||||
are_you_sure: Ĉu vi certas?
|
are_you_sure: Ĉu vi certas?
|
||||||
|
@ -44,6 +47,7 @@ eo:
|
||||||
title: Ŝanĝi retadreson por %{username}
|
title: Ŝanĝi retadreson por %{username}
|
||||||
change_role:
|
change_role:
|
||||||
changed_msg: Rolo sukcese ŝanĝita!
|
changed_msg: Rolo sukcese ŝanĝita!
|
||||||
|
edit_roles: Administri uzantrolojn
|
||||||
label: Ŝanĝi rolon
|
label: Ŝanĝi rolon
|
||||||
no_role: Neniu rolo
|
no_role: Neniu rolo
|
||||||
title: Ŝanĝi rolon por %{username}
|
title: Ŝanĝi rolon por %{username}
|
||||||
|
@ -817,16 +821,27 @@ eo:
|
||||||
action: Klaku ĉi tie por pliaj informoj
|
action: Klaku ĉi tie por pliaj informoj
|
||||||
message_html: "<strong>Via objektostokado estas misagordita. La privateco de viaj uzantoj estas en risko.</strong>"
|
message_html: "<strong>Via objektostokado estas misagordita. La privateco de viaj uzantoj estas en risko.</strong>"
|
||||||
tags:
|
tags:
|
||||||
|
moderation:
|
||||||
|
title: Stato
|
||||||
|
name: Nomo
|
||||||
|
newest: Plej novaj
|
||||||
|
oldest: Plej malnovaj
|
||||||
review: La statuso de la recenzo
|
review: La statuso de la recenzo
|
||||||
|
search: Serĉi
|
||||||
|
title: Kradvortoj
|
||||||
updated_msg: Kradvorto agordoj ĝisdatigis sukcese
|
updated_msg: Kradvorto agordoj ĝisdatigis sukcese
|
||||||
title: Administrado
|
title: Administrado
|
||||||
trends:
|
trends:
|
||||||
allow: Permesi
|
allow: Permesi
|
||||||
approved: Aprobita
|
approved: Aprobita
|
||||||
|
confirm_allow: Ĉu vi certas, ke vi volas permesi elektitajn etikedojn?
|
||||||
|
confirm_disallow: Ĉu vi certas, ke vi volas malpermesi elektitajn etikedojn?
|
||||||
disallow: Malpermesi
|
disallow: Malpermesi
|
||||||
links:
|
links:
|
||||||
allow: Permesi ligilon
|
allow: Permesi ligilon
|
||||||
allow_provider: Permesi publikiganto
|
allow_provider: Permesi publikiganto
|
||||||
|
confirm_allow: Ĉu vi certas, ke vi volas permesi elektitajn ligilojn?
|
||||||
|
confirm_disallow: Ĉu vi certas, ke vi volas malpermesi elektitajn ligilojn?
|
||||||
description_html: Ĉioj estas ligiloj kiuj nun diskonitajs multe de kontoj kiujn via servilo vidas. Ligiloj ne montritas publike se vi ne aprobis la publikiganton.
|
description_html: Ĉioj estas ligiloj kiuj nun diskonitajs multe de kontoj kiujn via servilo vidas. Ligiloj ne montritas publike se vi ne aprobis la publikiganton.
|
||||||
disallow: Malpermesi ligilon
|
disallow: Malpermesi ligilon
|
||||||
disallow_provider: Malpermesi publikiganton
|
disallow_provider: Malpermesi publikiganton
|
||||||
|
@ -850,6 +865,8 @@ eo:
|
||||||
statuses:
|
statuses:
|
||||||
allow: Permesi afiŝon
|
allow: Permesi afiŝon
|
||||||
allow_account: Permesi aŭtoron
|
allow_account: Permesi aŭtoron
|
||||||
|
confirm_allow_account: Ĉu vi certas, ke vi volas permesi elektitajn kontojn?
|
||||||
|
confirm_disallow_account: Ĉu vi certas, ke vi volas malpermesi elektitajn kontojn?
|
||||||
description_html: Oni multe diskonigas kaj stelumas ĉi tiujn mesaĝojn nuntempe laŭ via servilo. Tio povas helpi novajn kaj revenantajn uzantojn trovi pli da homoj por sekvi. Mesaĝo estas montrita publike nur se vi aprobis la aŭtoron kaj se la aŭtoro aprobis ke ties konto estu proponita al aliaj. Vi ankaŭ povas permesi aŭ malakcepti specifajn mesaĝojn.
|
description_html: Oni multe diskonigas kaj stelumas ĉi tiujn mesaĝojn nuntempe laŭ via servilo. Tio povas helpi novajn kaj revenantajn uzantojn trovi pli da homoj por sekvi. Mesaĝo estas montrita publike nur se vi aprobis la aŭtoron kaj se la aŭtoro aprobis ke ties konto estu proponita al aliaj. Vi ankaŭ povas permesi aŭ malakcepti specifajn mesaĝojn.
|
||||||
disallow: Malpermesi afiŝon
|
disallow: Malpermesi afiŝon
|
||||||
disallow_account: Malpermesi aŭtoron
|
disallow_account: Malpermesi aŭtoron
|
||||||
|
@ -928,6 +945,8 @@ eo:
|
||||||
body: "%{reporter} signalis %{target}"
|
body: "%{reporter} signalis %{target}"
|
||||||
body_remote: Iu de %{domain} signalis %{target}
|
body_remote: Iu de %{domain} signalis %{target}
|
||||||
subject: Nova signalo por %{instance} (#%{id})
|
subject: Nova signalo por %{instance} (#%{id})
|
||||||
|
new_software_updates:
|
||||||
|
body: Novaj versioj de Mastodon estis publikigitaj, vi eble volas ĝisdatigi!
|
||||||
new_trends:
|
new_trends:
|
||||||
body: 'La eroj bezonas kontrolon antau ol ili povas montritas publike:'
|
body: 'La eroj bezonas kontrolon antau ol ili povas montritas publike:'
|
||||||
new_trending_links:
|
new_trending_links:
|
||||||
|
@ -1033,6 +1052,9 @@ eo:
|
||||||
view_strikes: Vidi antauaj admonoj kontra via konto
|
view_strikes: Vidi antauaj admonoj kontra via konto
|
||||||
too_fast: Formularo sendita tro rapide, klopodu denove.
|
too_fast: Formularo sendita tro rapide, klopodu denove.
|
||||||
use_security_key: Uzi sekurecan ŝlosilon
|
use_security_key: Uzi sekurecan ŝlosilon
|
||||||
|
author_attribution:
|
||||||
|
more_from_html: Pli de %{name}
|
||||||
|
s_blog: Blogo de %{name}
|
||||||
challenge:
|
challenge:
|
||||||
confirm: Daŭrigi
|
confirm: Daŭrigi
|
||||||
hint_html: "<strong>Konsileto:</strong> Ni ne demandos pri via pasvorto ĝis 1 horo."
|
hint_html: "<strong>Konsileto:</strong> Ni ne demandos pri via pasvorto ĝis 1 horo."
|
||||||
|
@ -1231,6 +1253,7 @@ eo:
|
||||||
states:
|
states:
|
||||||
finished: Finita
|
finished: Finita
|
||||||
unconfirmed: Nekonfirmita
|
unconfirmed: Nekonfirmita
|
||||||
|
status: Stato
|
||||||
success: Viaj datumoj estis sukcese alŝutitaj kaj estos traktitaj kiel planite
|
success: Viaj datumoj estis sukcese alŝutitaj kaj estos traktitaj kiel planite
|
||||||
titles:
|
titles:
|
||||||
following: Importado de sekvaj kontoj
|
following: Importado de sekvaj kontoj
|
||||||
|
@ -1689,7 +1712,13 @@ eo:
|
||||||
silence: Konto limigita
|
silence: Konto limigita
|
||||||
suspend: Konto suspendita
|
suspend: Konto suspendita
|
||||||
welcome:
|
welcome:
|
||||||
|
apps_step: Elŝutu niajn oficialajn aplikaĵojn.
|
||||||
|
apps_title: Aplikaĵoj de Mastodon
|
||||||
|
edit_profile_action: Agordi
|
||||||
|
edit_profile_title: Agordi vian profilon
|
||||||
explanation: Jen kelkaj konsiloj por helpi vin komenci
|
explanation: Jen kelkaj konsiloj por helpi vin komenci
|
||||||
|
feature_action: Lerni pli
|
||||||
|
follow_action: Sekvi
|
||||||
subject: Bonvenon en Mastodon
|
subject: Bonvenon en Mastodon
|
||||||
title: Bonvenon, %{name}!
|
title: Bonvenon, %{name}!
|
||||||
users:
|
users:
|
||||||
|
|
|
@ -2,6 +2,15 @@
|
||||||
el:
|
el:
|
||||||
simple_form:
|
simple_form:
|
||||||
hints:
|
hints:
|
||||||
|
account:
|
||||||
|
attribution_domains_as_text: Προστατεύει από ψευδείς ιδιότητες.
|
||||||
|
discoverable: Οι δημόσιες δημοσιεύσεις και το προφίλ σου μπορεί να εμφανίζονται ή να συνιστώνται σε διάφορους τομείς του Mastodon και το προφίλ σου μπορεί να προτείνεται σε άλλους χρήστες.
|
||||||
|
display_name: Το πλήρες ή το αστείο σου όνομα.
|
||||||
|
fields: Η αρχική σου σελίδα, αντωνυμίες, ηλικία, ό,τι θες.
|
||||||
|
indexable: Οι δημόσιες δημοσιεύσεις σου μπορεί να εμφανιστούν στα αποτελέσματα αναζήτησης στο Mastodon. Άτομα που έχουν αλληλεπιδράσει με τις δημοσιεύσεις σου μπορεί να είναι σε θέση να τις αναζητήσουν όπως και να 'χει.
|
||||||
|
note: 'Μπορείς να @επισημάνεις άλλα άτομα ή #ετικέτες.'
|
||||||
|
show_collections: Οι χρήστες θα είναι σε θέση να περιηγηθούν στα άτομα που ακολουθείς και στους ακόλουθούς σου. Άτομα που ακολουθείς θα βλέπουν ότι τους ακολουθείς όπως και να 'χει.
|
||||||
|
unlocked: Οι χρήστες θα είναι σε θέση να σε ακολουθήσουν χωρίς να ζητούν έγκριση. Κατάργησε την επιλογή αν θες να αξιολογείς τα αιτήματα ακολούθησης και να επιλέξεις αν θα αποδεχθείς ή απορρίψεις νέους ακόλουθους.
|
||||||
account_alias:
|
account_alias:
|
||||||
acct: Όρισε το username@domain του λογαριασμού από τον οποίο θέλεις να μετακινηθείς
|
acct: Όρισε το username@domain του λογαριασμού από τον οποίο θέλεις να μετακινηθείς
|
||||||
account_migration:
|
account_migration:
|
||||||
|
@ -31,12 +40,14 @@ el:
|
||||||
text: Μπορείς να κάνετε έφεση σε ένα παράπτωμα μόνο μία φορά
|
text: Μπορείς να κάνετε έφεση σε ένα παράπτωμα μόνο μία φορά
|
||||||
defaults:
|
defaults:
|
||||||
autofollow: Όσοι εγγραφούν μέσω της πρόσκλησης θα σε ακολουθούν αυτόματα
|
autofollow: Όσοι εγγραφούν μέσω της πρόσκλησης θα σε ακολουθούν αυτόματα
|
||||||
|
avatar: WEBP, PNG, GIF ή JPG. Το πολύ %{size}. Θα υποβαθμιστεί σε %{dimensions}px
|
||||||
bot: Ο λογαριασμός αυτός εκτελεί κυρίως αυτοματοποιημένες ενέργειες και ίσως να μην παρακολουθείται
|
bot: Ο λογαριασμός αυτός εκτελεί κυρίως αυτοματοποιημένες ενέργειες και ίσως να μην παρακολουθείται
|
||||||
context: Ένα ή περισσότερα πλαίσια στα οποία μπορεί να εφαρμόζεται αυτό το φίλτρο
|
context: Ένα ή περισσότερα πλαίσια στα οποία μπορεί να εφαρμόζεται αυτό το φίλτρο
|
||||||
current_password: Για λόγους ασφαλείας παρακαλώ γράψε τον κωδικό του τρέχοντος λογαριασμού
|
current_password: Για λόγους ασφαλείας παρακαλώ γράψε τον κωδικό του τρέχοντος λογαριασμού
|
||||||
current_username: Για επιβεβαίωση, παρακαλώ γράψε το όνομα χρήστη του τρέχοντος λογαριασμού
|
current_username: Για επιβεβαίωση, παρακαλώ γράψε το όνομα χρήστη του τρέχοντος λογαριασμού
|
||||||
digest: Αποστέλλεται μόνο μετά από μακρά περίοδο αδράνειας και μόνο αν έχεις λάβει προσωπικά μηνύματα κατά την απουσία σου
|
digest: Αποστέλλεται μόνο μετά από μακρά περίοδο αδράνειας και μόνο αν έχεις λάβει προσωπικά μηνύματα κατά την απουσία σου
|
||||||
email: Θα σου σταλεί email επιβεβαίωσης
|
email: Θα σου σταλεί email επιβεβαίωσης
|
||||||
|
header: WEBP, PNG, GIF ή JPG. Το πολύ %{size}. Θα υποβαθμιστεί σε %{dimensions}px
|
||||||
inbox_url: Αντέγραψε το URL της αρχικής σελίδας του ανταποκριτή που θέλεις να χρησιμοποιήσεις
|
inbox_url: Αντέγραψε το URL της αρχικής σελίδας του ανταποκριτή που θέλεις να χρησιμοποιήσεις
|
||||||
irreversible: Οι φιλτραρισμένες αναρτήσεις θα εξαφανιστούν αμετάκλητα, ακόμα και αν το φίλτρο αργότερα αφαιρεθεί
|
irreversible: Οι φιλτραρισμένες αναρτήσεις θα εξαφανιστούν αμετάκλητα, ακόμα και αν το φίλτρο αργότερα αφαιρεθεί
|
||||||
locale: Η γλώσσα χρήσης, των email και των ειδοποιήσεων push
|
locale: Η γλώσσα χρήσης, των email και των ειδοποιήσεων push
|
||||||
|
@ -67,10 +78,15 @@ el:
|
||||||
warn: Απόκρυψη φιλτραρισμένου περιεχομένου πίσω από μια προειδοποίηση που αναφέρει τον τίτλο του φίλτρου
|
warn: Απόκρυψη φιλτραρισμένου περιεχομένου πίσω από μια προειδοποίηση που αναφέρει τον τίτλο του φίλτρου
|
||||||
form_admin_settings:
|
form_admin_settings:
|
||||||
activity_api_enabled: Καταμέτρηση τοπικά δημοσιευμένων δημοσιεύσεων, ενεργών χρηστών και νέων εγγραφών σε εβδομαδιαία πακέτα
|
activity_api_enabled: Καταμέτρηση τοπικά δημοσιευμένων δημοσιεύσεων, ενεργών χρηστών και νέων εγγραφών σε εβδομαδιαία πακέτα
|
||||||
|
app_icon: WEBP, PNG, GIF ή JPG. Παρακάμπτει το προεπιλεγμένο εικονίδιο εφαρμογής σε κινητές συσκευές με προσαρμοσμένο εικονίδιο.
|
||||||
|
backups_retention_period: Οι χρήστες έχουν τη δυνατότητα να δημιουργήσουν αρχεία των αναρτήσεων τους για να κατεβάσουν αργότερα. Όταν οριστεί μια θετική τιμή, αυτά τα αρχεία θα διαγράφονται αυτόματα από τον αποθηκευτικό σου χώρο μετά τον καθορισμένο αριθμό ημερών.
|
||||||
bootstrap_timeline_accounts: Αυτοί οι λογαριασμοί θα καρφιτσωθούν στην κορυφή των νέων χρηστών που ακολουθούν τις συστάσεις.
|
bootstrap_timeline_accounts: Αυτοί οι λογαριασμοί θα καρφιτσωθούν στην κορυφή των νέων χρηστών που ακολουθούν τις συστάσεις.
|
||||||
closed_registrations_message: Εμφανίζεται όταν κλείνουν οι εγγραφές
|
closed_registrations_message: Εμφανίζεται όταν κλείνουν οι εγγραφές
|
||||||
|
content_cache_retention_period: Όλες οι αναρτήσεις από άλλους διακομιστές (συμπεριλαμβανομένων των ενισχύσεων και απαντήσεων) θα διαγραφούν μετά τον καθορισμένο αριθμό ημερών, χωρίς να λαμβάνεται υπόψη οποιαδήποτε αλληλεπίδραση τοπικού χρήστη με αυτές τις αναρτήσεις. Αυτό περιλαμβάνει αναρτήσεις όπου ένας τοπικός χρήστης την έχει χαρακτηρίσει ως σελιδοδείκτη ή αγαπημένη. Θα χαθούν επίσης ιδιωτικές αναφορές μεταξύ χρηστών από διαφορετικές οντότητες και θα είναι αδύνατο να αποκατασταθούν. Η χρήση αυτής της ρύθμισης προορίζεται για οντότητες ειδικού σκοπού και χαλάει πολλές προσδοκίες του χρήστη όταν εφαρμόζεται για χρήση γενική σκοπού.
|
||||||
custom_css: Μπορείς να εφαρμόσεις προσαρμοσμένα στυλ στην έκδοση ιστοσελίδας του Mastodon.
|
custom_css: Μπορείς να εφαρμόσεις προσαρμοσμένα στυλ στην έκδοση ιστοσελίδας του Mastodon.
|
||||||
|
favicon: WEBP, PNG, GIF ή JPG. Παρακάμπτει το προεπιλεγμένο favicon του Mastodon με ένα προσαρμοσμένο εικονίδιο.
|
||||||
mascot: Παρακάμπτει την εικονογραφία στην προηγμένη διεπαφή ιστού.
|
mascot: Παρακάμπτει την εικονογραφία στην προηγμένη διεπαφή ιστού.
|
||||||
|
media_cache_retention_period: Τα αρχεία πολυμέσων από αναρτήσεις που γίνονται από απομακρυσμένους χρήστες αποθηκεύονται προσωρινά στο διακομιστή σου. Όταν οριστεί μια θετική τιμή, τα μέσα θα διαγραφούν μετά τον καθορισμένο αριθμό ημερών. Αν τα δεδομένα πολυμέσων ζητηθούν μετά τη διαγραφή τους, θα γίνει ε, αν το πηγαίο περιεχόμενο είναι ακόμα διαθέσιμο. Λόγω περιορισμών σχετικά με το πόσο συχνά οι κάρτες προεπισκόπησης συνδέσμων συνδέονται σε ιστοσελίδες τρίτων, συνιστάται να ορίσεις αυτή την τιμή σε τουλάχιστον 14 ημέρες ή οι κάρτες προεπισκόπησης συνδέσμων δεν θα ενημερώνονται κατ' απάιτηση πριν από εκείνη την ώρα.
|
||||||
peers_api_enabled: Μια λίστα με ονόματα τομέα που συνάντησε αυτός ο διακομιστής στο fediverse. Δεν περιλαμβάνονται δεδομένα εδώ για το αν συναλλάσσετε με ένα συγκεκριμένο διακομιστή, μόνο ότι ο διακομιστής σας το ξέρει. Χρησιμοποιείται από υπηρεσίες που συλλέγουν στατιστικά στοιχεία για την συναλλαγή με γενική έννοια.
|
peers_api_enabled: Μια λίστα με ονόματα τομέα που συνάντησε αυτός ο διακομιστής στο fediverse. Δεν περιλαμβάνονται δεδομένα εδώ για το αν συναλλάσσετε με ένα συγκεκριμένο διακομιστή, μόνο ότι ο διακομιστής σας το ξέρει. Χρησιμοποιείται από υπηρεσίες που συλλέγουν στατιστικά στοιχεία για την συναλλαγή με γενική έννοια.
|
||||||
profile_directory: Ο κατάλογος προφίλ παραθέτει όλους τους χρήστες που έχουν επιλέξει να είναι ανακαλύψιμοι.
|
profile_directory: Ο κατάλογος προφίλ παραθέτει όλους τους χρήστες που έχουν επιλέξει να είναι ανακαλύψιμοι.
|
||||||
require_invite_text: 'Όταν η εγγραφή απαιτεί χειροκίνητη έγκριση, κάνε το πεδίο κειμένου: «Γιατί θέλετε να συμμετάσχετε;» υποχρεωτικό αντί για προαιρετικό'
|
require_invite_text: 'Όταν η εγγραφή απαιτεί χειροκίνητη έγκριση, κάνε το πεδίο κειμένου: «Γιατί θέλετε να συμμετάσχετε;» υποχρεωτικό αντί για προαιρετικό'
|
||||||
|
@ -103,14 +119,19 @@ el:
|
||||||
sign_up_requires_approval: Νέες εγγραφές θα απαιτούν την έγκριση σας
|
sign_up_requires_approval: Νέες εγγραφές θα απαιτούν την έγκριση σας
|
||||||
severity: Επιλέξτε τι θα γίνεται με αιτήσεις από αυτήν την διεύθυνση IP
|
severity: Επιλέξτε τι θα γίνεται με αιτήσεις από αυτήν την διεύθυνση IP
|
||||||
rule:
|
rule:
|
||||||
|
hint: Προαιρετικό. Δώσε περισσότερες λεπτομέρειες σχετικά με τον κανόνα
|
||||||
text: Περιγράψτε έναν κανόνα ή μια απαίτηση για τους χρήστες σε αυτόν τον διακομιστή. Προσπαθήστε να τον κρατήσετε σύντομο και απλό
|
text: Περιγράψτε έναν κανόνα ή μια απαίτηση για τους χρήστες σε αυτόν τον διακομιστή. Προσπαθήστε να τον κρατήσετε σύντομο και απλό
|
||||||
sessions:
|
sessions:
|
||||||
otp: 'Βάλε τον κωδικό δυο παραγόντων (2FA) από την εφαρμογή του τηλεφώνου σου ή χρησιμοποίησε κάποιον από τους κωδικούς ανάκτησης σου:'
|
otp: 'Βάλε τον κωδικό δυο παραγόντων (2FA) από την εφαρμογή του τηλεφώνου σου ή χρησιμοποίησε κάποιον από τους κωδικούς ανάκτησης σου:'
|
||||||
webauthn: Αν πρόκειται για ένα κλειδί USB βεβαιωθείτε ότι είναι συνδεδεμένο και αν απαιτείται πατήστε το ελαφρά.
|
webauthn: Αν πρόκειται για ένα κλειδί USB βεβαιωθείτε ότι είναι συνδεδεμένο και αν απαιτείται πατήστε το ελαφρά.
|
||||||
|
settings:
|
||||||
|
indexable: Η σελίδα του προφίλ σου μπορεί να εμφανιστεί στα αποτελέσματα αναζήτησης στο Google, Bing και άλλες.
|
||||||
|
show_application: Θα είσαι πάντα σε θέση να δεις ποια εφαρμογή δημοσίευσε την ανάρτησή σου όπως και να 'χει.
|
||||||
tag:
|
tag:
|
||||||
name: Μπορείς να αλλάξεις μόνο το πλαίσιο των χαρακτήρων, για παράδειγμα για να γίνει περισσότερο ευανάγνωστο
|
name: Μπορείς να αλλάξεις μόνο το πλαίσιο των χαρακτήρων, για παράδειγμα για να γίνει περισσότερο ευανάγνωστο
|
||||||
user:
|
user:
|
||||||
chosen_languages: Όταν ενεργοποιηθεί, στη δημόσια ροή θα εμφανίζονται τουτ μόνο από τις επιλεγμένες γλώσσες
|
chosen_languages: Όταν ενεργοποιηθεί, στη δημόσια ροή θα εμφανίζονται τουτ μόνο από τις επιλεγμένες γλώσσες
|
||||||
|
role: Ο ρόλος ελέγχει ποια δικαιώματα έχει ο χρήστης.
|
||||||
user_role:
|
user_role:
|
||||||
color: Το χρώμα που θα χρησιμοποιηθεί για το ρόλο σε ολόκληρη τη διεπαφή, ως RGB σε δεκαεξαδική μορφή
|
color: Το χρώμα που θα χρησιμοποιηθεί για το ρόλο σε ολόκληρη τη διεπαφή, ως RGB σε δεκαεξαδική μορφή
|
||||||
highlighted: Αυτό καθιστά το ρόλο δημόσια ορατό
|
highlighted: Αυτό καθιστά το ρόλο δημόσια ορατό
|
||||||
|
@ -119,12 +140,18 @@ el:
|
||||||
position: Ανώτεροι ρόλοι αποφασίζει την επίλυση συγκρούσεων σε ορισμένες περιπτώσεις. Ορισμένες ενέργειες μπορούν να εκτελεστούν μόνο σε ρόλους με χαμηλότερη προτεραιότητα
|
position: Ανώτεροι ρόλοι αποφασίζει την επίλυση συγκρούσεων σε ορισμένες περιπτώσεις. Ορισμένες ενέργειες μπορούν να εκτελεστούν μόνο σε ρόλους με χαμηλότερη προτεραιότητα
|
||||||
webhook:
|
webhook:
|
||||||
events: Επιλέξτε συμβάντα για αποστολή
|
events: Επιλέξτε συμβάντα για αποστολή
|
||||||
|
template: Σύνθεσε το δικό σου JSON payload χρησιμοποιώντας μεταβλητή παρεμβολή. Άφησε κενό για προεπιλογή JSON.
|
||||||
url: Πού θα σταλούν τα γεγονότα
|
url: Πού θα σταλούν τα γεγονότα
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
|
attribution_domains_as_text: Να επιτρέπονται μόνο συγκεκριμένες ιστοσελίδες
|
||||||
|
discoverable: Παροχή προφίλ και αναρτήσεων σε αλγορίθμους ανακάλυψης
|
||||||
fields:
|
fields:
|
||||||
name: Περιγραφή
|
name: Περιγραφή
|
||||||
value: Περιεχόμενο
|
value: Περιεχόμενο
|
||||||
|
indexable: Συμπερίληψη δημόσιων αναρτήσεων στα αποτελέσματα αναζήτησης
|
||||||
|
show_collections: Εμφάνιση ακολούθων και ακολουθουμένων στο προφίλ
|
||||||
|
unlocked: Αυτόματη αποδοχή νέων ακολούθων
|
||||||
account_alias:
|
account_alias:
|
||||||
acct: Διακριτικό του παλιού λογαριασμού
|
acct: Διακριτικό του παλιού λογαριασμού
|
||||||
account_migration:
|
account_migration:
|
||||||
|
@ -186,6 +213,7 @@ el:
|
||||||
setting_default_privacy: Ιδιωτικότητα δημοσιεύσεων
|
setting_default_privacy: Ιδιωτικότητα δημοσιεύσεων
|
||||||
setting_default_sensitive: Σημείωση όλων των πολυμέσων ως ευαίσθητου περιεχομένου
|
setting_default_sensitive: Σημείωση όλων των πολυμέσων ως ευαίσθητου περιεχομένου
|
||||||
setting_delete_modal: Επιβεβαίωση πριν τη διαγραφή ενός τουτ
|
setting_delete_modal: Επιβεβαίωση πριν τη διαγραφή ενός τουτ
|
||||||
|
setting_disable_hover_cards: Απενεργοποίηση προεπισκόπησης προφίλ κατά την αιώρηση
|
||||||
setting_disable_swiping: Απενεργοποίηση κινήσεων συρσίματος
|
setting_disable_swiping: Απενεργοποίηση κινήσεων συρσίματος
|
||||||
setting_display_media: Εμφάνιση πολυμέσων
|
setting_display_media: Εμφάνιση πολυμέσων
|
||||||
setting_display_media_default: Προκαθορισμένο
|
setting_display_media_default: Προκαθορισμένο
|
||||||
|
@ -217,10 +245,13 @@ el:
|
||||||
warn: Απόκρυψη με προειδοποίηση
|
warn: Απόκρυψη με προειδοποίηση
|
||||||
form_admin_settings:
|
form_admin_settings:
|
||||||
activity_api_enabled: Δημοσίευση συγκεντρωτικών στατιστικών σχετικά με τη δραστηριότητα του χρήστη στο API
|
activity_api_enabled: Δημοσίευση συγκεντρωτικών στατιστικών σχετικά με τη δραστηριότητα του χρήστη στο API
|
||||||
|
app_icon: Εικονίδιο εφαρμογής
|
||||||
backups_retention_period: Περίοδος αρχειοθέτησης του χρήστη
|
backups_retention_period: Περίοδος αρχειοθέτησης του χρήστη
|
||||||
bootstrap_timeline_accounts: Πρότεινε πάντα αυτούς τους λογαριασμούς σε νέους χρήστες
|
bootstrap_timeline_accounts: Πρότεινε πάντα αυτούς τους λογαριασμούς σε νέους χρήστες
|
||||||
closed_registrations_message: Προσαρμοσμένο μήνυμα όταν οι εγγραφές δεν είναι διαθέσιμες
|
closed_registrations_message: Προσαρμοσμένο μήνυμα όταν οι εγγραφές δεν είναι διαθέσιμες
|
||||||
|
content_cache_retention_period: Περίοδος διατήρησης απομακρυσμένου περιεχομένου
|
||||||
custom_css: Προσαρμοσμένο CSS
|
custom_css: Προσαρμοσμένο CSS
|
||||||
|
favicon: Favicon
|
||||||
mascot: Προσαρμοσμένη μασκότ (απαρχαιωμένο)
|
mascot: Προσαρμοσμένη μασκότ (απαρχαιωμένο)
|
||||||
media_cache_retention_period: Περίοδος διατήρησης προσωρινής μνήμης πολυμέσων
|
media_cache_retention_period: Περίοδος διατήρησης προσωρινής μνήμης πολυμέσων
|
||||||
peers_api_enabled: Δημοσίευση λίστας των εντοπισμένων διακομιστών στο API
|
peers_api_enabled: Δημοσίευση λίστας των εντοπισμένων διακομιστών στο API
|
||||||
|
@ -268,15 +299,27 @@ el:
|
||||||
pending_account: Αποστολή email όταν υπάρχει νέος λογαριασμός για επιθεώρηση
|
pending_account: Αποστολή email όταν υπάρχει νέος λογαριασμός για επιθεώρηση
|
||||||
reblog: Αποστολή email όταν κάποιος προωθεί τη δημοσίευση σου
|
reblog: Αποστολή email όταν κάποιος προωθεί τη δημοσίευση σου
|
||||||
report: Υποβλήθηκε νέα αναφορά
|
report: Υποβλήθηκε νέα αναφορά
|
||||||
|
software_updates:
|
||||||
|
all: Ειδοποίηση για όλες τις ενημερώσεις
|
||||||
|
critical: Ειδοποίηση μόνο για κρίσιμες ενημερώσεις
|
||||||
|
label: Μια νέα έκδοση του Mastodon είναι διαθέσιμη
|
||||||
|
none: Να μην ειδοποιούμαι ποτέ για ενημερώσεις (δεν συνιστάται)
|
||||||
|
patch: Ειδοποίηση για ενημερώσεις σφαλμάτων
|
||||||
trending_tag: Νέο περιεχόμενο προς τάση απαιτεί αξιολόγηση
|
trending_tag: Νέο περιεχόμενο προς τάση απαιτεί αξιολόγηση
|
||||||
rule:
|
rule:
|
||||||
|
hint: Επιπρόσθετες πληροφορίες
|
||||||
text: Κανόνας
|
text: Κανόνας
|
||||||
|
settings:
|
||||||
|
indexable: Συμπερίληψη σελίδας προφίλ στις μηχανές αναζήτησης
|
||||||
|
show_application: Εμφάνιση από ποια εφαρμογή έστειλες μία ανάρτηση
|
||||||
tag:
|
tag:
|
||||||
listable: Εμφάνιση αυτής της ετικέτας στο δημόσιο κατάλογο
|
listable: Εμφάνιση αυτής της ετικέτας στο δημόσιο κατάλογο
|
||||||
name: Ετικέτα
|
name: Ετικέτα
|
||||||
trendable: Εμφάνιση της ετικέτας στις τάσεις
|
trendable: Εμφάνιση της ετικέτας στις τάσεις
|
||||||
|
usable: Να επιτρέπεται η τοπική χρήση αυτής της ετικέτας από αναρτήσεις
|
||||||
user:
|
user:
|
||||||
role: Ρόλος
|
role: Ρόλος
|
||||||
|
time_zone: Ζώνη ώρας
|
||||||
user_role:
|
user_role:
|
||||||
color: Χρώμα εμβλήματος
|
color: Χρώμα εμβλήματος
|
||||||
highlighted: Εμφάνιση ρόλου ως σήμα στα προφίλ χρηστών
|
highlighted: Εμφάνιση ρόλου ως σήμα στα προφίλ χρηστών
|
||||||
|
@ -285,9 +328,11 @@ el:
|
||||||
position: Προτεραιότητα
|
position: Προτεραιότητα
|
||||||
webhook:
|
webhook:
|
||||||
events: Ενεργοποιημένα συμβάντα
|
events: Ενεργοποιημένα συμβάντα
|
||||||
|
template: Πρότυπο payload
|
||||||
url: Endpoint URL
|
url: Endpoint URL
|
||||||
'no': Όχι
|
'no': Όχι
|
||||||
not_recommended: Δεν προτείνεται
|
not_recommended: Δεν προτείνεται
|
||||||
|
overridden: Αντικαταστάθηκε
|
||||||
recommended: Προτείνεται
|
recommended: Προτείνεται
|
||||||
required:
|
required:
|
||||||
mark: "*"
|
mark: "*"
|
||||||
|
|
|
@ -8,38 +8,12 @@ RSpec.describe NotificationMailer do
|
||||||
let(:foreign_status) { Fabricate(:status, account: sender, text: 'The body of the foreign status') }
|
let(:foreign_status) { Fabricate(:status, account: sender, text: 'The body of the foreign status') }
|
||||||
let(:own_status) { Fabricate(:status, account: receiver.account, text: 'The body of the own status') }
|
let(:own_status) { Fabricate(:status, account: receiver.account, text: 'The body of the own status') }
|
||||||
|
|
||||||
shared_examples 'standard headers' do |type|
|
|
||||||
it 'renders the email' do
|
|
||||||
expect(mail)
|
|
||||||
.to be_present
|
|
||||||
.and(have_header('To', "#{receiver.account.username} <#{receiver.email}>"))
|
|
||||||
.and(have_header('List-ID', "<#{type}.alice.cb6e6126.ngrok.io>"))
|
|
||||||
.and(have_header('List-Unsubscribe', %r{<https://cb6e6126.ngrok.io/unsubscribe\?token=.+>}))
|
|
||||||
.and(have_header('List-Unsubscribe', /&type=#{type}/))
|
|
||||||
.and(have_header('List-Unsubscribe-Post', 'List-Unsubscribe=One-Click'))
|
|
||||||
.and(deliver_to("#{receiver.account.username} <#{receiver.email}>"))
|
|
||||||
.and(deliver_from('notifications@localhost'))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
shared_examples 'thread headers' do
|
|
||||||
it 'renders the email with conversation thread headers' do
|
|
||||||
conversation_header_regex = /<conversation-\d+.\d\d\d\d-\d\d-\d\d@cb6e6126.ngrok.io>/
|
|
||||||
expect(mail)
|
|
||||||
.to be_present
|
|
||||||
.and(have_header('In-Reply-To', conversation_header_regex))
|
|
||||||
.and(have_header('References', conversation_header_regex))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'mention' do
|
describe 'mention' do
|
||||||
let(:mention) { Mention.create!(account: receiver.account, status: foreign_status) }
|
let(:mention) { Mention.create!(account: receiver.account, status: foreign_status) }
|
||||||
let(:notification) { Notification.create!(account: receiver.account, activity: mention) }
|
let(:notification) { Notification.create!(account: receiver.account, activity: mention) }
|
||||||
let(:mail) { prepared_mailer_for(receiver.account).mention }
|
let(:mail) { prepared_mailer_for(receiver.account).mention }
|
||||||
|
|
||||||
include_examples 'localized subject', 'notification_mailer.mention.subject', name: 'bob'
|
include_examples 'localized subject', 'notification_mailer.mention.subject', name: 'bob'
|
||||||
include_examples 'standard headers', 'mention'
|
|
||||||
include_examples 'thread headers'
|
|
||||||
|
|
||||||
it 'renders the email' do
|
it 'renders the email' do
|
||||||
expect(mail)
|
expect(mail)
|
||||||
|
@ -47,6 +21,8 @@ RSpec.describe NotificationMailer do
|
||||||
.and(have_subject('You were mentioned by bob'))
|
.and(have_subject('You were mentioned by bob'))
|
||||||
.and(have_body_text('You were mentioned by bob'))
|
.and(have_body_text('You were mentioned by bob'))
|
||||||
.and(have_body_text('The body of the foreign status'))
|
.and(have_body_text('The body of the foreign status'))
|
||||||
|
.and have_thread_headers
|
||||||
|
.and have_standard_headers('mention').for(receiver)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -56,13 +32,13 @@ RSpec.describe NotificationMailer do
|
||||||
let(:mail) { prepared_mailer_for(receiver.account).follow }
|
let(:mail) { prepared_mailer_for(receiver.account).follow }
|
||||||
|
|
||||||
include_examples 'localized subject', 'notification_mailer.follow.subject', name: 'bob'
|
include_examples 'localized subject', 'notification_mailer.follow.subject', name: 'bob'
|
||||||
include_examples 'standard headers', 'follow'
|
|
||||||
|
|
||||||
it 'renders the email' do
|
it 'renders the email' do
|
||||||
expect(mail)
|
expect(mail)
|
||||||
.to be_present
|
.to be_present
|
||||||
.and(have_subject('bob is now following you'))
|
.and(have_subject('bob is now following you'))
|
||||||
.and(have_body_text('bob is now following you'))
|
.and(have_body_text('bob is now following you'))
|
||||||
|
.and have_standard_headers('follow').for(receiver)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -72,8 +48,6 @@ RSpec.describe NotificationMailer do
|
||||||
let(:mail) { prepared_mailer_for(own_status.account).favourite }
|
let(:mail) { prepared_mailer_for(own_status.account).favourite }
|
||||||
|
|
||||||
include_examples 'localized subject', 'notification_mailer.favourite.subject', name: 'bob'
|
include_examples 'localized subject', 'notification_mailer.favourite.subject', name: 'bob'
|
||||||
include_examples 'standard headers', 'favourite'
|
|
||||||
include_examples 'thread headers'
|
|
||||||
|
|
||||||
it 'renders the email' do
|
it 'renders the email' do
|
||||||
expect(mail)
|
expect(mail)
|
||||||
|
@ -81,6 +55,8 @@ RSpec.describe NotificationMailer do
|
||||||
.and(have_subject('bob favorited your post'))
|
.and(have_subject('bob favorited your post'))
|
||||||
.and(have_body_text('Your post was favorited by bob'))
|
.and(have_body_text('Your post was favorited by bob'))
|
||||||
.and(have_body_text('The body of the own status'))
|
.and(have_body_text('The body of the own status'))
|
||||||
|
.and have_thread_headers
|
||||||
|
.and have_standard_headers('favourite').for(receiver)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -90,8 +66,6 @@ RSpec.describe NotificationMailer do
|
||||||
let(:mail) { prepared_mailer_for(own_status.account).reblog }
|
let(:mail) { prepared_mailer_for(own_status.account).reblog }
|
||||||
|
|
||||||
include_examples 'localized subject', 'notification_mailer.reblog.subject', name: 'bob'
|
include_examples 'localized subject', 'notification_mailer.reblog.subject', name: 'bob'
|
||||||
include_examples 'standard headers', 'reblog'
|
|
||||||
include_examples 'thread headers'
|
|
||||||
|
|
||||||
it 'renders the email' do
|
it 'renders the email' do
|
||||||
expect(mail)
|
expect(mail)
|
||||||
|
@ -99,6 +73,8 @@ RSpec.describe NotificationMailer do
|
||||||
.and(have_subject('bob boosted your post'))
|
.and(have_subject('bob boosted your post'))
|
||||||
.and(have_body_text('Your post was boosted by bob'))
|
.and(have_body_text('Your post was boosted by bob'))
|
||||||
.and(have_body_text('The body of the own status'))
|
.and(have_body_text('The body of the own status'))
|
||||||
|
.and have_thread_headers
|
||||||
|
.and have_standard_headers('reblog').for(receiver)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -108,13 +84,13 @@ RSpec.describe NotificationMailer do
|
||||||
let(:mail) { prepared_mailer_for(receiver.account).follow_request }
|
let(:mail) { prepared_mailer_for(receiver.account).follow_request }
|
||||||
|
|
||||||
include_examples 'localized subject', 'notification_mailer.follow_request.subject', name: 'bob'
|
include_examples 'localized subject', 'notification_mailer.follow_request.subject', name: 'bob'
|
||||||
include_examples 'standard headers', 'follow_request'
|
|
||||||
|
|
||||||
it 'renders the email' do
|
it 'renders the email' do
|
||||||
expect(mail)
|
expect(mail)
|
||||||
.to be_present
|
.to be_present
|
||||||
.and(have_subject('Pending follower: bob'))
|
.and(have_subject('Pending follower: bob'))
|
||||||
.and(have_body_text('bob has requested to follow you'))
|
.and(have_body_text('bob has requested to follow you'))
|
||||||
|
.and have_standard_headers('follow_request').for(receiver)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ RSpec.describe ActivityPub::FetchRemoteStatusService do
|
||||||
|
|
||||||
expect(status).to_not be_nil
|
expect(status).to_not be_nil
|
||||||
expect(status.url).to eq 'https://foo.bar/watch?v=12345'
|
expect(status.url).to eq 'https://foo.bar/watch?v=12345'
|
||||||
expect(strip_tags(status.text)).to eq 'Nyan Cat 10 hours remixhttps://foo.bar/watch?v=12345'
|
expect(strip_tags(status.text)).to eq "Nyan Cat 10 hours remix\n\nhttps://foo.bar/watch?v=12345"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ RSpec.describe ActivityPub::FetchRemoteStatusService do
|
||||||
|
|
||||||
expect(status).to_not be_nil
|
expect(status).to_not be_nil
|
||||||
expect(status.url).to eq 'https://foo.bar/watch?v=12345'
|
expect(status.url).to eq 'https://foo.bar/watch?v=12345'
|
||||||
expect(strip_tags(status.text)).to eq 'Nyan Cat 10 hours remixhttps://foo.bar/watch?v=12345'
|
expect(strip_tags(status.text)).to eq "Nyan Cat 10 hours remix\n\nhttps://foo.bar/watch?v=12345"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -125,7 +125,58 @@ RSpec.describe ActivityPub::FetchRemoteStatusService do
|
||||||
|
|
||||||
expect(status).to_not be_nil
|
expect(status).to_not be_nil
|
||||||
expect(status.url).to eq 'https://foo.bar/@foo/1234'
|
expect(status.url).to eq 'https://foo.bar/@foo/1234'
|
||||||
expect(strip_tags(status.text)).to eq "Let's change the worldhttps://foo.bar/@foo/1234"
|
expect(strip_tags(status.text)).to eq "Let's change the world\n\nhttps://foo.bar/@foo/1234"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with Event object that contains a HTML summary' do
|
||||||
|
let(:object) do
|
||||||
|
{
|
||||||
|
'@context': 'https://www.w3.org/ns/activitystreams',
|
||||||
|
id: 'https://foo.bar/@foo/1234',
|
||||||
|
type: 'Event',
|
||||||
|
name: 'Fediverse Birthday Party',
|
||||||
|
startTime: '2024-01-31T20:00:00.000+01:00',
|
||||||
|
location: {
|
||||||
|
type: 'Place',
|
||||||
|
name: 'FooBar – The not converted location',
|
||||||
|
},
|
||||||
|
content: 'The not converted detailed description of the event object.',
|
||||||
|
summary: '<p>See you at the <strong>FooBar</strong>!</p><ul><li><strong>Doors:</strong> 8pm</li><li><strong>Music:</strong> 10pm</li></ul>',
|
||||||
|
attributedTo: ActivityPub::TagManager.instance.uri_for(sender),
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'creates status' do
|
||||||
|
status = sender.statuses.first
|
||||||
|
|
||||||
|
expect(status).to_not be_nil
|
||||||
|
expect(status.url).to eq 'https://foo.bar/@foo/1234'
|
||||||
|
expect(status.text).to start_with "<h2>#{object[:name]}</h2>\n\n#{object[:summary]}\n\n"
|
||||||
|
expect(status.text).to include "href=\"#{object[:id]}\""
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with Article object that contains a HTML summary' do
|
||||||
|
let(:object) do
|
||||||
|
{
|
||||||
|
'@context': 'https://www.w3.org/ns/activitystreams',
|
||||||
|
id: 'https://foo.bar/blog/future-of-the-fediverse',
|
||||||
|
type: 'Article',
|
||||||
|
name: 'Future of the Fediverse',
|
||||||
|
content: 'Lorem Ipsum',
|
||||||
|
summary: '<p>Guest article by <a href="https://john.mastodon">John Mastodon</a></p><p>The fediverse is great reading this you will find out why!</p>',
|
||||||
|
attributedTo: ActivityPub::TagManager.instance.uri_for(sender),
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'creates status' do
|
||||||
|
status = sender.statuses.first
|
||||||
|
|
||||||
|
expect(status).to_not be_nil
|
||||||
|
expect(status.url).to eq object[:id]
|
||||||
|
expect(status.text).to start_with "<h2>#{object[:name]}</h2>\n\n#{object[:summary]}\n\n"
|
||||||
|
expect(status.text).to include "href=\"#{object[:id]}\""
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -4,27 +4,55 @@ require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe ApproveAppealService do
|
RSpec.describe ApproveAppealService do
|
||||||
describe '#call' do
|
describe '#call' do
|
||||||
context 'with an existing appeal' do
|
let(:appeal) { Fabricate(:appeal) }
|
||||||
let(:appeal) { Fabricate(:appeal) }
|
let(:account) { Fabricate(:account) }
|
||||||
let(:account) { Fabricate(:account) }
|
|
||||||
|
|
||||||
it 'processes the appeal approval' do
|
it 'processes the appeal approval' do
|
||||||
expect { subject.call(appeal, account) }
|
expect { subject.call(appeal, account) }
|
||||||
.to mark_overruled
|
.to mark_overruled
|
||||||
.and record_approver
|
.and record_approver
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with an appeal about then-deleted posts marked as sensitive by moderators' do
|
||||||
|
let(:target_account) { Fabricate(:account) }
|
||||||
|
let(:appeal) { Fabricate(:appeal, strike: strike, account: target_account) }
|
||||||
|
let(:deleted_media) { Fabricate(:media_attachment, type: :video, status: Fabricate(:status, account: target_account), account: target_account) }
|
||||||
|
let(:kept_media) { Fabricate(:media_attachment, type: :video, status: Fabricate(:status, account: target_account), account: target_account) }
|
||||||
|
let(:strike) { Fabricate(:account_warning, target_account: target_account, action: :mark_statuses_as_sensitive, status_ids: [deleted_media.status.id, kept_media.status.id]) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
target_account.unsuspend!
|
||||||
|
deleted_media.status.discard!
|
||||||
end
|
end
|
||||||
|
|
||||||
def mark_overruled
|
it 'approves the appeal, marks the statuses as not sensitive and notifies target account about the approval', :inline_jobs do
|
||||||
change(appeal.strike, :overruled_at)
|
emails = capture_emails { subject.call(appeal, account) }
|
||||||
.from(nil)
|
|
||||||
.to(be > 1.minute.ago)
|
|
||||||
end
|
|
||||||
|
|
||||||
def record_approver
|
expect(appeal.reload).to be_approved
|
||||||
change(appeal, :approved_by_account)
|
expect(strike.reload).to be_overruled
|
||||||
.from(nil)
|
|
||||||
.to(account)
|
expect(kept_media.status.reload).to_not be_sensitive
|
||||||
|
|
||||||
|
expect(emails.size)
|
||||||
|
.to eq(1)
|
||||||
|
expect(emails.first)
|
||||||
|
.to have_attributes(
|
||||||
|
to: contain_exactly(target_account.user.email),
|
||||||
|
subject: eq(I18n.t('user_mailer.appeal_approved.subject', date: I18n.l(appeal.created_at)))
|
||||||
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def mark_overruled
|
||||||
|
change(appeal.strike, :overruled_at)
|
||||||
|
.from(nil)
|
||||||
|
.to(be > 1.minute.ago)
|
||||||
|
end
|
||||||
|
|
||||||
|
def record_approver
|
||||||
|
change(appeal, :approved_by_account)
|
||||||
|
.from(nil)
|
||||||
|
.to(account)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -12,3 +12,32 @@ RSpec.shared_examples 'localized subject' do |*args, **kwrest|
|
||||||
expect(mail.subject).to eq I18n.t(*args, **kwrest.merge(locale: I18n.default_locale))
|
expect(mail.subject).to eq I18n.t(*args, **kwrest.merge(locale: I18n.default_locale))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
RSpec::Matchers.define :have_thread_headers do
|
||||||
|
match(notify_expectation_failures: true) do |mail|
|
||||||
|
expect(mail)
|
||||||
|
.to be_present
|
||||||
|
.and(have_header('In-Reply-To', conversation_header_regex))
|
||||||
|
.and(have_header('References', conversation_header_regex))
|
||||||
|
end
|
||||||
|
|
||||||
|
def conversation_header_regex = /<conversation-\d+.\d\d\d\d-\d\d-\d\d@cb6e6126.ngrok.io>/
|
||||||
|
end
|
||||||
|
|
||||||
|
RSpec::Matchers.define :have_standard_headers do |type|
|
||||||
|
chain :for do |user|
|
||||||
|
@user = user
|
||||||
|
end
|
||||||
|
|
||||||
|
match(notify_expectation_failures: true) do |mail|
|
||||||
|
expect(mail)
|
||||||
|
.to be_present
|
||||||
|
.and(have_header('To', "#{@user.account.username} <#{@user.email}>"))
|
||||||
|
.and(have_header('List-ID', "<#{type}.#{@user.account.username}.#{Rails.configuration.x.local_domain}>"))
|
||||||
|
.and(have_header('List-Unsubscribe', %r{<https://#{Rails.configuration.x.local_domain}/unsubscribe\?token=.+>}))
|
||||||
|
.and(have_header('List-Unsubscribe', /&type=#{type}/))
|
||||||
|
.and(have_header('List-Unsubscribe-Post', 'List-Unsubscribe=One-Click'))
|
||||||
|
.and(deliver_to("#{@user.account.username} <#{@user.email}>"))
|
||||||
|
.and(deliver_from(Rails.configuration.action_mailer.default_options[:from]))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
Loading…
Reference in a new issue