mirror of
https://github.com/funamitech/mastodon
synced 2024-11-27 14:29:03 +09:00
Merge commit 'fe04291af46d7cb9d3439fa73739b2ffb2b53d72' into glitch-soc/merge-upstream
Conflicts: - `spec/lib/sanitize/config_spec.rb`: Upstream rewrote top-level `describe` calls to `RSpec.describe`, and glitch-soc had differences in the first few tests because of the wider subset of HTML it accepts. Changed `describe` to `RSpec.describe` as upstream did, keeping glitch-soc's tests.
This commit is contained in:
commit
5a55180b95
@ -11,5 +11,8 @@ RUN apt-get update && \
|
|||||||
export DEBIAN_FRONTEND=noninteractive && \
|
export DEBIAN_FRONTEND=noninteractive && \
|
||||||
apt-get -y install --no-install-recommends libicu-dev libidn11-dev ffmpeg imagemagick libvips42 libpam-dev
|
apt-get -y install --no-install-recommends libicu-dev libidn11-dev ffmpeg imagemagick libvips42 libpam-dev
|
||||||
|
|
||||||
|
# Disable download prompt for Corepack
|
||||||
|
ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0
|
||||||
|
|
||||||
# Move welcome message to where VS Code expects it
|
# Move welcome message to where VS Code expects it
|
||||||
COPY .devcontainer/welcome-message.txt /usr/local/etc/vscode-dev-containers/first-run-notice.txt
|
COPY .devcontainer/welcome-message.txt /usr/local/etc/vscode-dev-containers/first-run-notice.txt
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
"onCreateCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}",
|
"onCreateCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}",
|
||||||
"postCreateCommand": "COREPACK_ENABLE_DOWNLOAD_PROMPT=0 bin/setup",
|
"postCreateCommand": "bin/setup",
|
||||||
"waitFor": "postCreateCommand",
|
"waitFor": "postCreateCommand",
|
||||||
|
|
||||||
"customizations": {
|
"customizations": {
|
||||||
|
@ -1 +1 @@
|
|||||||
3.3.4
|
3.3.5
|
||||||
|
16
Gemfile.lock
16
Gemfile.lock
@ -100,17 +100,17 @@ GEM
|
|||||||
attr_required (1.0.2)
|
attr_required (1.0.2)
|
||||||
awrence (1.2.1)
|
awrence (1.2.1)
|
||||||
aws-eventstream (1.3.0)
|
aws-eventstream (1.3.0)
|
||||||
aws-partitions (1.969.0)
|
aws-partitions (1.970.0)
|
||||||
aws-sdk-core (3.202.1)
|
aws-sdk-core (3.203.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.88.0)
|
aws-sdk-kms (1.89.0)
|
||||||
aws-sdk-core (~> 3, >= 3.201.0)
|
aws-sdk-core (~> 3, >= 3.203.0)
|
||||||
aws-sigv4 (~> 1.5)
|
aws-sigv4 (~> 1.5)
|
||||||
aws-sdk-s3 (1.159.0)
|
aws-sdk-s3 (1.160.0)
|
||||||
aws-sdk-core (~> 3, >= 3.201.0)
|
aws-sdk-core (~> 3, >= 3.203.0)
|
||||||
aws-sdk-kms (~> 1)
|
aws-sdk-kms (~> 1)
|
||||||
aws-sigv4 (~> 1.5)
|
aws-sigv4 (~> 1.5)
|
||||||
aws-sigv4 (1.9.1)
|
aws-sigv4 (1.9.1)
|
||||||
@ -790,7 +790,7 @@ GEM
|
|||||||
rubyzip (>= 1.2.2, < 3.0)
|
rubyzip (>= 1.2.2, < 3.0)
|
||||||
websocket (~> 1.0)
|
websocket (~> 1.0)
|
||||||
semantic_range (3.0.0)
|
semantic_range (3.0.0)
|
||||||
shoulda-matchers (6.3.1)
|
shoulda-matchers (6.4.0)
|
||||||
activesupport (>= 5.2.0)
|
activesupport (>= 5.2.0)
|
||||||
sidekiq (6.5.12)
|
sidekiq (6.5.12)
|
||||||
connection_pool (>= 2.2.5, < 3)
|
connection_pool (>= 2.2.5, < 3)
|
||||||
@ -837,7 +837,7 @@ GEM
|
|||||||
unicode-display_width (>= 1.1.1, < 3)
|
unicode-display_width (>= 1.1.1, < 3)
|
||||||
terrapin (1.0.1)
|
terrapin (1.0.1)
|
||||||
climate_control
|
climate_control
|
||||||
test-prof (1.4.1)
|
test-prof (1.4.2)
|
||||||
thor (1.3.2)
|
thor (1.3.2)
|
||||||
tilt (2.4.0)
|
tilt (2.4.0)
|
||||||
timeout (0.4.1)
|
timeout (0.4.1)
|
||||||
|
@ -77,6 +77,8 @@ class Api::V2Alpha::NotificationsController < Api::BaseController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def load_grouped_notifications
|
def load_grouped_notifications
|
||||||
|
return [] if @notifications.empty?
|
||||||
|
|
||||||
MastodonOTELTracer.in_span('Api::V2Alpha::NotificationsController#load_grouped_notifications') do
|
MastodonOTELTracer.in_span('Api::V2Alpha::NotificationsController#load_grouped_notifications') do
|
||||||
NotificationGroup.from_notifications(@notifications, pagination_range: (@notifications.last.id)..(@notifications.first.id), grouped_types: params[:grouped_types])
|
NotificationGroup.from_notifications(@notifications, pagination_range: (@notifications.last.id)..(@notifications.first.id), grouped_types: params[:grouped_types])
|
||||||
end
|
end
|
||||||
|
@ -18,7 +18,7 @@ import {
|
|||||||
selectSettingsNotificationsQuickFilterActive,
|
selectSettingsNotificationsQuickFilterActive,
|
||||||
selectSettingsNotificationsShows,
|
selectSettingsNotificationsShows,
|
||||||
} from 'mastodon/selectors/settings';
|
} from 'mastodon/selectors/settings';
|
||||||
import type { AppDispatch } from 'mastodon/store';
|
import type { AppDispatch, RootState } from 'mastodon/store';
|
||||||
import {
|
import {
|
||||||
createAppAsyncThunk,
|
createAppAsyncThunk,
|
||||||
createDataLoadingThunk,
|
createDataLoadingThunk,
|
||||||
@ -32,6 +32,14 @@ function excludeAllTypesExcept(filter: string) {
|
|||||||
return allNotificationTypes.filter((item) => item !== filter);
|
return allNotificationTypes.filter((item) => item !== filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getExcludedTypes(state: RootState) {
|
||||||
|
const activeFilter = selectSettingsNotificationsQuickFilterActive(state);
|
||||||
|
|
||||||
|
return activeFilter === 'all'
|
||||||
|
? selectSettingsNotificationsExcludedTypes(state)
|
||||||
|
: excludeAllTypesExcept(activeFilter);
|
||||||
|
}
|
||||||
|
|
||||||
function dispatchAssociatedRecords(
|
function dispatchAssociatedRecords(
|
||||||
dispatch: AppDispatch,
|
dispatch: AppDispatch,
|
||||||
notifications: ApiNotificationGroupJSON[] | ApiNotificationJSON[],
|
notifications: ApiNotificationGroupJSON[] | ApiNotificationJSON[],
|
||||||
@ -62,17 +70,8 @@ function dispatchAssociatedRecords(
|
|||||||
|
|
||||||
export const fetchNotifications = createDataLoadingThunk(
|
export const fetchNotifications = createDataLoadingThunk(
|
||||||
'notificationGroups/fetch',
|
'notificationGroups/fetch',
|
||||||
async (_params, { getState }) => {
|
async (_params, { getState }) =>
|
||||||
const activeFilter =
|
apiFetchNotifications({ exclude_types: getExcludedTypes(getState()) }),
|
||||||
selectSettingsNotificationsQuickFilterActive(getState());
|
|
||||||
|
|
||||||
return apiFetchNotifications({
|
|
||||||
exclude_types:
|
|
||||||
activeFilter === 'all'
|
|
||||||
? selectSettingsNotificationsExcludedTypes(getState())
|
|
||||||
: excludeAllTypesExcept(activeFilter),
|
|
||||||
});
|
|
||||||
},
|
|
||||||
({ notifications, accounts, statuses }, { dispatch }) => {
|
({ notifications, accounts, statuses }, { dispatch }) => {
|
||||||
dispatch(importFetchedAccounts(accounts));
|
dispatch(importFetchedAccounts(accounts));
|
||||||
dispatch(importFetchedStatuses(statuses));
|
dispatch(importFetchedStatuses(statuses));
|
||||||
@ -92,9 +91,11 @@ export const fetchNotifications = createDataLoadingThunk(
|
|||||||
|
|
||||||
export const fetchNotificationsGap = createDataLoadingThunk(
|
export const fetchNotificationsGap = createDataLoadingThunk(
|
||||||
'notificationGroups/fetchGap',
|
'notificationGroups/fetchGap',
|
||||||
async (params: { gap: NotificationGap }) =>
|
async (params: { gap: NotificationGap }, { getState }) =>
|
||||||
apiFetchNotifications({ max_id: params.gap.maxId }),
|
apiFetchNotifications({
|
||||||
|
max_id: params.gap.maxId,
|
||||||
|
exclude_types: getExcludedTypes(getState()),
|
||||||
|
}),
|
||||||
({ notifications, accounts, statuses }, { dispatch }) => {
|
({ notifications, accounts, statuses }, { dispatch }) => {
|
||||||
dispatch(importFetchedAccounts(accounts));
|
dispatch(importFetchedAccounts(accounts));
|
||||||
dispatch(importFetchedStatuses(statuses));
|
dispatch(importFetchedStatuses(statuses));
|
||||||
@ -109,6 +110,7 @@ export const pollRecentNotifications = createDataLoadingThunk(
|
|||||||
async (_params, { getState }) => {
|
async (_params, { getState }) => {
|
||||||
return apiFetchNotifications({
|
return apiFetchNotifications({
|
||||||
max_id: undefined,
|
max_id: undefined,
|
||||||
|
exclude_types: getExcludedTypes(getState()),
|
||||||
// In slow mode, we don't want to include notifications that duplicate the already-displayed ones
|
// In slow mode, we don't want to include notifications that duplicate the already-displayed ones
|
||||||
since_id: usePendingItems
|
since_id: usePendingItems
|
||||||
? getState().notificationGroups.groups.find(
|
? getState().notificationGroups.groups.find(
|
||||||
@ -183,7 +185,6 @@ export const setNotificationsFilter = createAppAsyncThunk(
|
|||||||
path: ['notifications', 'quickFilter', 'active'],
|
path: ['notifications', 'quickFilter', 'active'],
|
||||||
value: filterType,
|
value: filterType,
|
||||||
});
|
});
|
||||||
// dispatch(expandNotifications({ forceLoad: true }));
|
|
||||||
void dispatch(fetchNotifications());
|
void dispatch(fetchNotifications());
|
||||||
dispatch(saveSettings());
|
dispatch(saveSettings());
|
||||||
},
|
},
|
||||||
|
@ -42,19 +42,11 @@ export const NotificationAdminReport: React.FC<{
|
|||||||
|
|
||||||
if (!account || !targetAccount) return null;
|
if (!account || !targetAccount) return null;
|
||||||
|
|
||||||
|
const domain = account.acct.split('@')[1];
|
||||||
|
|
||||||
const values = {
|
const values = {
|
||||||
name: (
|
name: <bdi>{domain ?? `@${account.acct}`}</bdi>,
|
||||||
<bdi
|
target: <bdi>@{targetAccount.acct}</bdi>,
|
||||||
dangerouslySetInnerHTML={{ __html: account.get('display_name_html') }}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
target: (
|
|
||||||
<bdi
|
|
||||||
dangerouslySetInnerHTML={{
|
|
||||||
__html: targetAccount.get('display_name_html'),
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
category: intl.formatMessage(messages[report.category]),
|
category: intl.formatMessage(messages[report.category]),
|
||||||
count: report.status_ids.length,
|
count: report.status_ids.length,
|
||||||
};
|
};
|
||||||
|
@ -524,7 +524,9 @@
|
|||||||
"notification.moderation_warning.action_silence": "Sua conta foi limitada.",
|
"notification.moderation_warning.action_silence": "Sua conta foi limitada.",
|
||||||
"notification.moderation_warning.action_suspend": "Sua conta foi suspensa.",
|
"notification.moderation_warning.action_suspend": "Sua conta foi suspensa.",
|
||||||
"notification.own_poll": "Sua enquete terminou",
|
"notification.own_poll": "Sua enquete terminou",
|
||||||
|
"notification.poll": "Uma enquete que você votou terminou",
|
||||||
"notification.reblog": "{name} deu boost no teu toot",
|
"notification.reblog": "{name} deu boost no teu toot",
|
||||||
|
"notification.reblog.name_and_others_with_link": "{name} e <a>{count, plural, one {# outra} other {# outras}}</a> impulsionaram a publicação",
|
||||||
"notification.relationships_severance_event": "Conexões perdidas com {name}",
|
"notification.relationships_severance_event": "Conexões perdidas com {name}",
|
||||||
"notification.relationships_severance_event.account_suspension": "Um administrador de {from} suspendeu {target}, o que significa que você não pode mais receber atualizações deles ou interagir com eles.",
|
"notification.relationships_severance_event.account_suspension": "Um administrador de {from} suspendeu {target}, o que significa que você não pode mais receber atualizações deles ou interagir com eles.",
|
||||||
"notification.relationships_severance_event.domain_block": "An admin from {from} has blocked {target}, including {followersCount} of your followers and {followingCount, plural, one {# account} other {# accounts}} you follow.",
|
"notification.relationships_severance_event.domain_block": "An admin from {from} has blocked {target}, including {followersCount} of your followers and {followingCount, plural, one {# account} other {# accounts}} you follow.",
|
||||||
@ -533,16 +535,32 @@
|
|||||||
"notification.status": "{name} acabou de tootar",
|
"notification.status": "{name} acabou de tootar",
|
||||||
"notification.update": "{name} editou uma publicação",
|
"notification.update": "{name} editou uma publicação",
|
||||||
"notification_requests.accept": "Aceitar",
|
"notification_requests.accept": "Aceitar",
|
||||||
|
"notification_requests.accept_multiple": "{count, plural, one {Aceite # pedido…} other {Aceite # pedidos…}}",
|
||||||
|
"notification_requests.confirm_accept_multiple.button": "{count, plural, one {Aceite # pedido} other {Aceite # pedidos}}",
|
||||||
|
"notification_requests.confirm_accept_multiple.message": "Você está prestes a aceitar {count, plural, one {um pedido de notificação} other {# pedidos de notificação}}. Tem certeza de que deseja continuar?",
|
||||||
|
"notification_requests.confirm_accept_multiple.title": "Aceitar solicitações de notificação?",
|
||||||
|
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Dispensar pedido} other {Dispensar pedidos}}",
|
||||||
|
"notification_requests.confirm_dismiss_multiple.message": "Você está prestes a descartar {count, plural, one {um pedido de notificação} other {# pedidos de notificação}}. Você não será capaz de acessar facilmente{count, plural, one {} other {}} novamente. Tem certeza de que deseja continuar?",
|
||||||
|
"notification_requests.confirm_dismiss_multiple.title": "Descartar solicitações de notificação?",
|
||||||
"notification_requests.dismiss": "Rejeitar",
|
"notification_requests.dismiss": "Rejeitar",
|
||||||
|
"notification_requests.dismiss_multiple": "{count, plural, one {Dispensar # pedido…} other {Dispensar # pedidos…}}",
|
||||||
|
"notification_requests.edit_selection": "Editar",
|
||||||
|
"notification_requests.exit_selection": "Concluído",
|
||||||
|
"notification_requests.explainer_for_limited_account": "As notificações desta conta foram filtradas porque a conta foi limitada por um moderador.",
|
||||||
|
"notification_requests.explainer_for_limited_remote_account": "As notificações desta conta foram filtradas porque a conta ou o seu servidor foi limitado por um moderador.",
|
||||||
"notification_requests.maximize": "Maximizar",
|
"notification_requests.maximize": "Maximizar",
|
||||||
|
"notification_requests.minimize_banner": "Minimizar banner de notificações filtradas",
|
||||||
"notification_requests.notifications_from": "Notificações de {name}",
|
"notification_requests.notifications_from": "Notificações de {name}",
|
||||||
"notification_requests.title": "Notificações filtradas",
|
"notification_requests.title": "Notificações filtradas",
|
||||||
|
"notification_requests.view": "Ver notificações",
|
||||||
"notifications.clear": "Limpar notificações",
|
"notifications.clear": "Limpar notificações",
|
||||||
"notifications.clear_confirmation": "Você tem certeza de que deseja limpar todas as suas notificações?",
|
"notifications.clear_confirmation": "Você tem certeza de que deseja limpar todas as suas notificações?",
|
||||||
"notifications.clear_title": "Limpar notificações?",
|
"notifications.clear_title": "Limpar notificações?",
|
||||||
"notifications.column_settings.admin.report": "Novas denúncias:",
|
"notifications.column_settings.admin.report": "Novas denúncias:",
|
||||||
"notifications.column_settings.admin.sign_up": "Novas inscrições:",
|
"notifications.column_settings.admin.sign_up": "Novas inscrições:",
|
||||||
"notifications.column_settings.alert": "Notificações no computador",
|
"notifications.column_settings.alert": "Notificações no computador",
|
||||||
|
"notifications.column_settings.beta.category": "Recursos experimentais",
|
||||||
|
"notifications.column_settings.beta.grouping": "Agrupar notificações",
|
||||||
"notifications.column_settings.favourite": "Favoritos:",
|
"notifications.column_settings.favourite": "Favoritos:",
|
||||||
"notifications.column_settings.filter_bar.advanced": "Exibir todas as categorias",
|
"notifications.column_settings.filter_bar.advanced": "Exibir todas as categorias",
|
||||||
"notifications.column_settings.filter_bar.category": "Barra de filtro rápido",
|
"notifications.column_settings.filter_bar.category": "Barra de filtro rápido",
|
||||||
@ -574,6 +592,11 @@
|
|||||||
"notifications.policy.accept": "Aceitar",
|
"notifications.policy.accept": "Aceitar",
|
||||||
"notifications.policy.accept_hint": "Mostrar nas notificações",
|
"notifications.policy.accept_hint": "Mostrar nas notificações",
|
||||||
"notifications.policy.drop": "Ignorar",
|
"notifications.policy.drop": "Ignorar",
|
||||||
|
"notifications.policy.drop_hint": "Envie para o void, para nunca mais ser visto novamente",
|
||||||
|
"notifications.policy.filter": "Filtrar",
|
||||||
|
"notifications.policy.filter_hint": "Enviar para caixa de notificações filtradas",
|
||||||
|
"notifications.policy.filter_limited_accounts_hint": "Limitado pelos moderadores do servidor",
|
||||||
|
"notifications.policy.filter_limited_accounts_title": "Contas moderadas",
|
||||||
"notifications.policy.filter_new_accounts.hint": "Created within the past {days, plural, one {one day} other {# days}}",
|
"notifications.policy.filter_new_accounts.hint": "Created within the past {days, plural, one {one day} other {# days}}",
|
||||||
"notifications.policy.filter_new_accounts_title": "Novas contas",
|
"notifications.policy.filter_new_accounts_title": "Novas contas",
|
||||||
"notifications.policy.filter_not_followers_hint": "Including people who have been following you fewer than {days, plural, one {one day} other {# days}}",
|
"notifications.policy.filter_not_followers_hint": "Including people who have been following you fewer than {days, plural, one {one day} other {# days}}",
|
||||||
@ -582,6 +605,7 @@
|
|||||||
"notifications.policy.filter_not_following_title": "Pessoas que você não segue",
|
"notifications.policy.filter_not_following_title": "Pessoas que você não segue",
|
||||||
"notifications.policy.filter_private_mentions_hint": "Filtrado, a menos que respondido em sua própria menção ou se você segue o remetente",
|
"notifications.policy.filter_private_mentions_hint": "Filtrado, a menos que respondido em sua própria menção ou se você segue o remetente",
|
||||||
"notifications.policy.filter_private_mentions_title": "Menções privadas não solicitadas",
|
"notifications.policy.filter_private_mentions_title": "Menções privadas não solicitadas",
|
||||||
|
"notifications.policy.title": "Gerenciar notificações de…",
|
||||||
"notifications_permission_banner.enable": "Ativar notificações no computador",
|
"notifications_permission_banner.enable": "Ativar notificações no computador",
|
||||||
"notifications_permission_banner.how_to_control": "Para receber notificações quando o Mastodon não estiver aberto, ative as notificações no computador. Você pode controlar precisamente quais tipos de interações geram notificações no computador através do botão {icon}.",
|
"notifications_permission_banner.how_to_control": "Para receber notificações quando o Mastodon não estiver aberto, ative as notificações no computador. Você pode controlar precisamente quais tipos de interações geram notificações no computador através do botão {icon}.",
|
||||||
"notifications_permission_banner.title": "Nunca perca nada",
|
"notifications_permission_banner.title": "Nunca perca nada",
|
||||||
@ -708,9 +732,13 @@
|
|||||||
"report.unfollow_explanation": "Você está seguindo esta conta. Para não ver as publicações dela em sua página inicial, deixe de segui-la.",
|
"report.unfollow_explanation": "Você está seguindo esta conta. Para não ver as publicações dela em sua página inicial, deixe de segui-la.",
|
||||||
"report_notification.attached_statuses": "{count, plural, one {{count} publicação anexada} other {{count} publicações anexadas}}",
|
"report_notification.attached_statuses": "{count, plural, one {{count} publicação anexada} other {{count} publicações anexadas}}",
|
||||||
"report_notification.categories.legal": "Legal",
|
"report_notification.categories.legal": "Legal",
|
||||||
|
"report_notification.categories.legal_sentence": "conteúdo ilegal",
|
||||||
"report_notification.categories.other": "Outro",
|
"report_notification.categories.other": "Outro",
|
||||||
|
"report_notification.categories.other_sentence": "outro",
|
||||||
"report_notification.categories.spam": "Spam",
|
"report_notification.categories.spam": "Spam",
|
||||||
|
"report_notification.categories.spam_sentence": "spam",
|
||||||
"report_notification.categories.violation": "Violação de regra",
|
"report_notification.categories.violation": "Violação de regra",
|
||||||
|
"report_notification.categories.violation_sentence": "violação de regra",
|
||||||
"report_notification.open": "Abrir denúncia",
|
"report_notification.open": "Abrir denúncia",
|
||||||
"search.no_recent_searches": "Nenhuma busca recente",
|
"search.no_recent_searches": "Nenhuma busca recente",
|
||||||
"search.placeholder": "Pesquisar",
|
"search.placeholder": "Pesquisar",
|
||||||
|
@ -11,6 +11,16 @@ class AnnualReport::Source
|
|||||||
protected
|
protected
|
||||||
|
|
||||||
def year_as_snowflake_range
|
def year_as_snowflake_range
|
||||||
(Mastodon::Snowflake.id_at(DateTime.new(year, 1, 1))..Mastodon::Snowflake.id_at(DateTime.new(year, 12, 31)))
|
(beginning_snowflake_id..ending_snowflake_id)
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def beginning_snowflake_id
|
||||||
|
Mastodon::Snowflake.id_at DateTime.new(year).beginning_of_year
|
||||||
|
end
|
||||||
|
|
||||||
|
def ending_snowflake_id
|
||||||
|
Mastodon::Snowflake.id_at DateTime.new(year).end_of_year
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -145,15 +145,15 @@ class AccountStatusesCleanupPolicy < ApplicationRecord
|
|||||||
end
|
end
|
||||||
|
|
||||||
def without_self_fav_scope
|
def without_self_fav_scope
|
||||||
Status.where('NOT EXISTS (SELECT 1 FROM favourites fav WHERE fav.account_id = statuses.account_id AND fav.status_id = statuses.id)')
|
Status.where.not(self_status_reference_exists(Favourite))
|
||||||
end
|
end
|
||||||
|
|
||||||
def without_self_bookmark_scope
|
def without_self_bookmark_scope
|
||||||
Status.where('NOT EXISTS (SELECT 1 FROM bookmarks bookmark WHERE bookmark.account_id = statuses.account_id AND bookmark.status_id = statuses.id)')
|
Status.where.not(self_status_reference_exists(Bookmark))
|
||||||
end
|
end
|
||||||
|
|
||||||
def without_pinned_scope
|
def without_pinned_scope
|
||||||
Status.where('NOT EXISTS (SELECT 1 FROM status_pins pin WHERE pin.account_id = statuses.account_id AND pin.status_id = statuses.id)')
|
Status.where.not(self_status_reference_exists(StatusPin))
|
||||||
end
|
end
|
||||||
|
|
||||||
def without_media_scope
|
def without_media_scope
|
||||||
@ -174,4 +174,13 @@ class AccountStatusesCleanupPolicy < ApplicationRecord
|
|||||||
def account_statuses
|
def account_statuses
|
||||||
Status.where(account_id: account_id)
|
Status.where(account_id: account_id)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def self_status_reference_exists(model)
|
||||||
|
model
|
||||||
|
.where(model.arel_table[:account_id].eq Status.arel_table[:account_id])
|
||||||
|
.where(model.arel_table[:status_id].eq Status.arel_table[:id])
|
||||||
|
.select(1)
|
||||||
|
.arel
|
||||||
|
.exists
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -22,6 +22,7 @@ Rails.application.config.middleware.insert_before 0, Rack::Cors do
|
|||||||
expose: %w(Link X-RateLimit-Reset X-RateLimit-Limit X-RateLimit-Remaining X-Request-Id),
|
expose: %w(Link X-RateLimit-Reset X-RateLimit-Limit X-RateLimit-Remaining X-Request-Id),
|
||||||
methods: %i(post put delete get patch options)
|
methods: %i(post put delete get patch options)
|
||||||
resource '/oauth/token', methods: [:post]
|
resource '/oauth/token', methods: [:post]
|
||||||
|
resource '/oauth/revoke', methods: [:post]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -32,7 +32,7 @@ pt-BR:
|
|||||||
import:
|
import:
|
||||||
attributes:
|
attributes:
|
||||||
data:
|
data:
|
||||||
malformed: está incorreto
|
malformed: está malformado
|
||||||
status:
|
status:
|
||||||
attributes:
|
attributes:
|
||||||
reblog:
|
reblog:
|
||||||
@ -43,16 +43,16 @@ pt-BR:
|
|||||||
blocked: usa provedor de e-mail não permitido
|
blocked: usa provedor de e-mail não permitido
|
||||||
unreachable: parece não existir
|
unreachable: parece não existir
|
||||||
role_id:
|
role_id:
|
||||||
elevated: não pode ser maior que seu cargo atual
|
elevated: não pode maior que sua função atual
|
||||||
user_role:
|
user_role:
|
||||||
attributes:
|
attributes:
|
||||||
permissions_as_keys:
|
permissions_as_keys:
|
||||||
dangerous: incluir permissões que não são seguras para o cargo base
|
dangerous: incluir permissões que não são seguras para a função base
|
||||||
elevated: não pode incluir permissões que o seu cargo atual não possui
|
elevated: não pode incluir permissões que a sua função atual não possui
|
||||||
own_role: não pode ser alterado com seu cargo atual
|
own_role: não pode ser alterado com sua função atual
|
||||||
position:
|
position:
|
||||||
elevated: não pode ser maior do que seu cargo atual
|
elevated: não pode ser maior do que sua função atual
|
||||||
own_role: não pode ser alterado com seu cargo atual
|
own_role: não pode ser alterado com sua função atual
|
||||||
webhook:
|
webhook:
|
||||||
attributes:
|
attributes:
|
||||||
events:
|
events:
|
||||||
|
@ -14,7 +14,7 @@ pt-BR:
|
|||||||
not_found_in_database: "%{authentication_keys} ou senha inválida."
|
not_found_in_database: "%{authentication_keys} ou senha inválida."
|
||||||
omniauth_user_creation_failure: Erro ao criar uma conta para esta identidade.
|
omniauth_user_creation_failure: Erro ao criar uma conta para esta identidade.
|
||||||
pending: Sua conta está sendo revisada.
|
pending: Sua conta está sendo revisada.
|
||||||
timeout: Sua sessão expirou. Por favor, entre novamente para continuar.
|
timeout: Sua sessão expirou. Faça ‘login’ novamente para continuar.
|
||||||
unauthenticated: Você precisa entrar ou criar uma conta antes de continuar.
|
unauthenticated: Você precisa entrar ou criar uma conta antes de continuar.
|
||||||
unconfirmed: Você precisa confirmar o seu endereço de e-mail antes de continuar.
|
unconfirmed: Você precisa confirmar o seu endereço de e-mail antes de continuar.
|
||||||
mailer:
|
mailer:
|
||||||
@ -48,12 +48,12 @@ pt-BR:
|
|||||||
subject: 'Mastodon: Instruções para alterar senha'
|
subject: 'Mastodon: Instruções para alterar senha'
|
||||||
title: Redefinir senha
|
title: Redefinir senha
|
||||||
two_factor_disabled:
|
two_factor_disabled:
|
||||||
explanation: O ‘login’ agora é possível usando apenas o endereço de e-mail e senha.
|
explanation: O ‘login’ agora é possível usando apenas o endereço eletrônico e senha.
|
||||||
subject: 'Mastodon: Autenticação de dois fatores desativada'
|
subject: 'Mastodon: Autenticação de dois fatores desativada'
|
||||||
subtitle: A autenticação de dois fatores foi desativada.
|
subtitle: A autenticação de dois fatores foi desativada.
|
||||||
title: 2FA desativada
|
title: 2FA desativada
|
||||||
two_factor_enabled:
|
two_factor_enabled:
|
||||||
explanation: Será necessário um código gerado pelo aplicativo de autenticação para fazer login.
|
explanation: Será necessário um código gerado pelo aplicativo de autenticação TOTP para fazer login.
|
||||||
subject: 'Mastodon: Autenticação de dois fatores ativada'
|
subject: 'Mastodon: Autenticação de dois fatores ativada'
|
||||||
subtitle: A autenticação de dois fatores foi ativada para sua conta.
|
subtitle: A autenticação de dois fatores foi ativada para sua conta.
|
||||||
title: 2FA ativada
|
title: 2FA ativada
|
||||||
@ -75,11 +75,11 @@ pt-BR:
|
|||||||
title: Uma das suas chaves de segurança foi excluída
|
title: Uma das suas chaves de segurança foi excluída
|
||||||
webauthn_disabled:
|
webauthn_disabled:
|
||||||
explanation: A autenticação por chaves de segurança foi desativada para sua conta.
|
explanation: A autenticação por chaves de segurança foi desativada para sua conta.
|
||||||
extra: O login agora é possível usando o código gerado por um aplicativo de autenticação de dois fatores.
|
extra: Agora você pode fazer login usando apenas o código gerado pelo aplicativo de autenticação TOTP.
|
||||||
subject: 'Mastodon: Autenticação por chaves de segurança desativada'
|
subject: 'Mastodon: Autenticação por chaves de segurança desativada'
|
||||||
title: Chaves de segurança desativadas
|
title: Chaves de segurança desativadas
|
||||||
webauthn_enabled:
|
webauthn_enabled:
|
||||||
explanation: Autenticação por chave de segurança foi ativada para sua conta.
|
explanation: A autenticação por chave de segurança foi ativada para sua conta.
|
||||||
extra: Sua chave de segurança agora pode ser usada para ‘login’.
|
extra: Sua chave de segurança agora pode ser usada para ‘login’.
|
||||||
subject: 'Mastodon: Autenticação por chaves de segurança ativada'
|
subject: 'Mastodon: Autenticação por chaves de segurança ativada'
|
||||||
title: Chaves de segurança ativadas
|
title: Chaves de segurança ativadas
|
||||||
|
@ -60,8 +60,8 @@ 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. É uma aplicação de terceiros. <strong>Se você não confia, então você não deve autorizá-lo.</strong>
|
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: Revisar permissões
|
review_permissions: Rever permissões
|
||||||
title: Autorização necessária
|
title: Autorização necessária
|
||||||
show:
|
show:
|
||||||
title: Copie este código de autorização e cole no aplicativo.
|
title: Copie este código de autorização e cole no aplicativo.
|
||||||
@ -72,8 +72,8 @@ pt-BR:
|
|||||||
revoke: Você tem certeza?
|
revoke: Você tem certeza?
|
||||||
index:
|
index:
|
||||||
authorized_at: Autorizado em %{date}
|
authorized_at: Autorizado em %{date}
|
||||||
description_html: Estas são as aplicações que podem acessar sua conta usando a API. Se houver aplicativos que você não reconhece ou com mau funcionamento, você pode revogar seu acesso.
|
description_html: Estas são as aplicações que podem acessar sua conta usando a API. Se houver aplicações que você não reconhece ou que não funcionem corretamente, você pode revogar os acessos.
|
||||||
last_used_at: Última vez usado em %{date}
|
last_used_at: Usado pela última vez em %{date}
|
||||||
never_used: Nunca usado
|
never_used: Nunca usado
|
||||||
scopes: Permissões
|
scopes: Permissões
|
||||||
superapp: Interno
|
superapp: Interno
|
||||||
@ -83,6 +83,7 @@ pt-BR:
|
|||||||
access_denied: O proprietário do recurso ou servidor de autorização recusou a solicitação.
|
access_denied: O proprietário do recurso ou servidor de autorização recusou a solicitação.
|
||||||
credential_flow_not_configured: Fluxo das Credenciais de Senha do Proprietário do Recurso falhou porque Doorkeeper.configure.resource_owner_from_credentials não foi configurado.
|
credential_flow_not_configured: Fluxo das Credenciais de Senha do Proprietário do Recurso falhou porque Doorkeeper.configure.resource_owner_from_credentials não foi configurado.
|
||||||
invalid_client: Autenticação do cliente falhou por causa de um cliente desconhecido, nenhum cliente de autenticação foi incluído ou o método de autenticação não é suportado.
|
invalid_client: Autenticação do cliente falhou por causa de um cliente desconhecido, nenhum cliente de autenticação foi incluído ou o método de autenticação não é suportado.
|
||||||
|
invalid_code_challenge_method: O método de desafio de código deve ser S256; o método 'plain' não é suportado.
|
||||||
invalid_grant: A garantia de autorização está inválida, expirou ou foi revogada, não é equivalente ao link de redirecionamento usado na solicitação de autorização ou foi emitido por outro cliente.
|
invalid_grant: A garantia de autorização está inválida, expirou ou foi revogada, não é equivalente ao link de redirecionamento usado na solicitação de autorização ou foi emitido por outro cliente.
|
||||||
invalid_redirect_uri: O link de redirecionamento é inválido.
|
invalid_redirect_uri: O link de redirecionamento é inválido.
|
||||||
invalid_request:
|
invalid_request:
|
||||||
@ -114,23 +115,23 @@ pt-BR:
|
|||||||
notice: Aplicativo revogado.
|
notice: Aplicativo revogado.
|
||||||
grouped_scopes:
|
grouped_scopes:
|
||||||
access:
|
access:
|
||||||
read: Acesso somente para leitura
|
read: Acesso somente leitura
|
||||||
read/write: Acesso de leitura e escrita
|
read/write: Acesso de leitura e escrita
|
||||||
write: Acesso somente para escrita
|
write: Acesso somente escrita
|
||||||
title:
|
title:
|
||||||
accounts: Contas
|
accounts: Contas
|
||||||
admin/accounts: Administração de contas
|
admin/accounts: Administração de contas
|
||||||
admin/all: Todas as funções administrativas
|
admin/all: Todas as funções administrativas
|
||||||
admin/reports: Controle de denúncias
|
admin/reports: Administração de denúncias
|
||||||
all: Acesso total à sua conta Mastodon
|
all: Acesso total à sua conta Mastodon
|
||||||
blocks: Bloqueios
|
blocks: Bloqueios
|
||||||
bookmarks: Salvos
|
bookmarks: Salvos
|
||||||
conversations: Conversas
|
conversations: Conversas
|
||||||
crypto: Criptografia de ponta a ponta
|
crypto: Criptografia de ponta a ponta
|
||||||
favourites: Favoritas
|
favourites: Favoritos
|
||||||
filters: Filtros
|
filters: Filtros
|
||||||
follow: Seguidores, Silenciados e Bloqueados
|
follow: Seguimentos, Silenciamentos e Bloqueios
|
||||||
follows: Seguidores
|
follows: Seguidos
|
||||||
lists: Listas
|
lists: Listas
|
||||||
media: Mídias anexadas
|
media: Mídias anexadas
|
||||||
mutes: Silenciados
|
mutes: Silenciados
|
||||||
@ -151,17 +152,17 @@ pt-BR:
|
|||||||
admin:read: ler todos os dados no servidor
|
admin:read: ler todos os dados no servidor
|
||||||
admin:read:accounts: ler informações sensíveis de todas as contas
|
admin:read:accounts: ler informações sensíveis de todas as contas
|
||||||
admin:read:canonical_email_blocks: ler informações sensíveis de todos os blocos de e-mail canônicos
|
admin:read:canonical_email_blocks: ler informações sensíveis de todos os blocos de e-mail canônicos
|
||||||
admin:read:domain_allows: ler informações sensíveis de todos os domínios (URL) permitidos
|
admin:read:domain_allows: ler informações sensíveis de todos os domínios permitidos
|
||||||
admin:read:domain_blocks: ler informações sensíveis de todos os domínios (URL) bloqueados
|
admin:read:domain_blocks: ler informações sensíveis de todos os domínios bloqueados
|
||||||
admin:read:email_domain_blocks: ler informações sensíveis de todos os e-mails de domínios bloqueados
|
admin:read:email_domain_blocks: ler informações sensíveis de todos os domínios de e-mail bloqueados
|
||||||
admin:read:ip_blocks: ler informações sensíveis de todos os endereços de IP bloqueados
|
admin:read:ip_blocks: ler informações sensíveis de todos os endereços de IP bloqueados
|
||||||
admin:read:reports: ler informações sensíveis de todas as denúncias e contas denunciadas
|
admin:read:reports: ler informações sensíveis de todas as denúncias e contas denunciadas
|
||||||
admin:write: alterar todos os dados no servidor
|
admin:write: alterar todos os dados no servidor
|
||||||
admin:write:accounts: executar ações de moderação em contas
|
admin:write:accounts: executar ações de moderação em contas
|
||||||
admin:write:canonical_email_blocks: executar ações de moderação em blocos canônicos de e-mail
|
admin:write:canonical_email_blocks: executar ações de moderação em blocos canônicos de e-mail
|
||||||
admin:write:domain_allows: executar ações de moderação em domínios (URL) permitidos
|
admin:write:domain_allows: executar ações de moderação em domínios permitidos
|
||||||
admin:write:domain_blocks: executar ações de moderação em domínios (URL) bloqueados
|
admin:write:domain_blocks: executar ações de moderação em domínios bloqueados
|
||||||
admin:write:email_domain_blocks: executar ações de moderação em blocos de e-mail bloqueados
|
admin:write:email_domain_blocks: executar ações de moderação em domínios de e-mail bloqueados
|
||||||
admin:write:ip_blocks: executar ações de moderação em IPs bloqueados
|
admin:write:ip_blocks: executar ações de moderação em IPs bloqueados
|
||||||
admin:write:reports: executar ações de moderação em denúncias
|
admin:write:reports: executar ações de moderação em denúncias
|
||||||
crypto: usar criptografia de ponta-a-ponta
|
crypto: usar criptografia de ponta-a-ponta
|
||||||
@ -172,7 +173,7 @@ pt-BR:
|
|||||||
read:accounts: ver informações das contas
|
read:accounts: ver informações das contas
|
||||||
read:blocks: ver seus bloqueados
|
read:blocks: ver seus bloqueados
|
||||||
read:bookmarks: ver seus salvos
|
read:bookmarks: ver seus salvos
|
||||||
read:favourites: veja suas favoritas
|
read:favourites: veja seus favoritos
|
||||||
read:filters: ver seus filtros
|
read:filters: ver seus filtros
|
||||||
read:follows: ver quem você segue
|
read:follows: ver quem você segue
|
||||||
read:lists: ver suas listas
|
read:lists: ver suas listas
|
||||||
|
@ -182,14 +182,17 @@ en-GB:
|
|||||||
create_custom_emoji: Create Custom Emoji
|
create_custom_emoji: Create Custom Emoji
|
||||||
create_domain_allow: Create Domain Allow
|
create_domain_allow: Create Domain Allow
|
||||||
create_domain_block: Create Domain Block
|
create_domain_block: Create Domain Block
|
||||||
|
create_email_domain_block: Create Email Domain Block
|
||||||
create_ip_block: Create IP rule
|
create_ip_block: Create IP rule
|
||||||
create_unavailable_domain: Create Unavailable Domain
|
create_unavailable_domain: Create Unavailable Domain
|
||||||
create_user_role: Create Role
|
create_user_role: Create Role
|
||||||
demote_user: Demote User
|
demote_user: Demote User
|
||||||
destroy_announcement: Delete Announcement
|
destroy_announcement: Delete Announcement
|
||||||
|
destroy_canonical_email_block: Delete Email Block
|
||||||
destroy_custom_emoji: Delete Custom Emoji
|
destroy_custom_emoji: Delete Custom Emoji
|
||||||
destroy_domain_allow: Delete Domain Allow
|
destroy_domain_allow: Delete Domain Allow
|
||||||
destroy_domain_block: Delete Domain Block
|
destroy_domain_block: Delete Domain Block
|
||||||
|
destroy_email_domain_block: Delete Email Domain Block
|
||||||
destroy_instance: Purge Domain
|
destroy_instance: Purge Domain
|
||||||
destroy_ip_block: Delete IP rule
|
destroy_ip_block: Delete IP rule
|
||||||
destroy_status: Delete Post
|
destroy_status: Delete Post
|
||||||
@ -197,8 +200,10 @@ en-GB:
|
|||||||
destroy_user_role: Destroy Role
|
destroy_user_role: Destroy Role
|
||||||
disable_2fa_user: Disable 2FA
|
disable_2fa_user: Disable 2FA
|
||||||
disable_custom_emoji: Disable Custom Emoji
|
disable_custom_emoji: Disable Custom Emoji
|
||||||
|
disable_sign_in_token_auth_user: Disable Email Token Authentication for User
|
||||||
disable_user: Disable User
|
disable_user: Disable User
|
||||||
enable_custom_emoji: Enable Custom Emoji
|
enable_custom_emoji: Enable Custom Emoji
|
||||||
|
enable_sign_in_token_auth_user: Enable Email Token Authentication for User
|
||||||
enable_user: Enable User
|
enable_user: Enable User
|
||||||
memorialize_account: Memorialise Account
|
memorialize_account: Memorialise Account
|
||||||
promote_user: Promote User
|
promote_user: Promote User
|
||||||
@ -228,20 +233,26 @@ en-GB:
|
|||||||
approve_appeal_html: "%{name} approved moderation decision appeal from %{target}"
|
approve_appeal_html: "%{name} approved moderation decision appeal from %{target}"
|
||||||
approve_user_html: "%{name} approved sign-up from %{target}"
|
approve_user_html: "%{name} approved sign-up from %{target}"
|
||||||
assigned_to_self_report_html: "%{name} assigned report %{target} to themselves"
|
assigned_to_self_report_html: "%{name} assigned report %{target} to themselves"
|
||||||
|
change_email_user_html: "%{name} changed the email address of user %{target}"
|
||||||
change_role_user_html: "%{name} changed role of %{target}"
|
change_role_user_html: "%{name} changed role of %{target}"
|
||||||
|
confirm_user_html: "%{name} confirmed email address of user %{target}"
|
||||||
create_account_warning_html: "%{name} sent a warning to %{target}"
|
create_account_warning_html: "%{name} sent a warning to %{target}"
|
||||||
create_announcement_html: "%{name} created new announcement %{target}"
|
create_announcement_html: "%{name} created new announcement %{target}"
|
||||||
|
create_canonical_email_block_html: "%{name} blocked email with the hash %{target}"
|
||||||
create_custom_emoji_html: "%{name} uploaded new emoji %{target}"
|
create_custom_emoji_html: "%{name} uploaded new emoji %{target}"
|
||||||
create_domain_allow_html: "%{name} allowed federation with domain %{target}"
|
create_domain_allow_html: "%{name} allowed federation with domain %{target}"
|
||||||
create_domain_block_html: "%{name} blocked domain %{target}"
|
create_domain_block_html: "%{name} blocked domain %{target}"
|
||||||
|
create_email_domain_block_html: "%{name} blocked email domain %{target}"
|
||||||
create_ip_block_html: "%{name} created rule for IP %{target}"
|
create_ip_block_html: "%{name} created rule for IP %{target}"
|
||||||
create_unavailable_domain_html: "%{name} stopped delivery to domain %{target}"
|
create_unavailable_domain_html: "%{name} stopped delivery to domain %{target}"
|
||||||
create_user_role_html: "%{name} created %{target} role"
|
create_user_role_html: "%{name} created %{target} role"
|
||||||
demote_user_html: "%{name} demoted user %{target}"
|
demote_user_html: "%{name} demoted user %{target}"
|
||||||
destroy_announcement_html: "%{name} deleted announcement %{target}"
|
destroy_announcement_html: "%{name} deleted announcement %{target}"
|
||||||
|
destroy_canonical_email_block_html: "%{name} unblocked email with the hash %{target}"
|
||||||
destroy_custom_emoji_html: "%{name} deleted emoji %{target}"
|
destroy_custom_emoji_html: "%{name} deleted emoji %{target}"
|
||||||
destroy_domain_allow_html: "%{name} disallowed federation with domain %{target}"
|
destroy_domain_allow_html: "%{name} disallowed federation with domain %{target}"
|
||||||
destroy_domain_block_html: "%{name} unblocked domain %{target}"
|
destroy_domain_block_html: "%{name} unblocked domain %{target}"
|
||||||
|
destroy_email_domain_block_html: "%{name} unblocked email domain %{target}"
|
||||||
destroy_instance_html: "%{name} purged domain %{target}"
|
destroy_instance_html: "%{name} purged domain %{target}"
|
||||||
destroy_ip_block_html: "%{name} deleted rule for IP %{target}"
|
destroy_ip_block_html: "%{name} deleted rule for IP %{target}"
|
||||||
destroy_status_html: "%{name} removed post by %{target}"
|
destroy_status_html: "%{name} removed post by %{target}"
|
||||||
@ -249,8 +260,10 @@ en-GB:
|
|||||||
destroy_user_role_html: "%{name} deleted %{target} role"
|
destroy_user_role_html: "%{name} deleted %{target} role"
|
||||||
disable_2fa_user_html: "%{name} disabled two factor requirement for user %{target}"
|
disable_2fa_user_html: "%{name} disabled two factor requirement for user %{target}"
|
||||||
disable_custom_emoji_html: "%{name} disabled emoji %{target}"
|
disable_custom_emoji_html: "%{name} disabled emoji %{target}"
|
||||||
|
disable_sign_in_token_auth_user_html: "%{name} disabled email token authentication for %{target}"
|
||||||
disable_user_html: "%{name} disabled login for user %{target}"
|
disable_user_html: "%{name} disabled login for user %{target}"
|
||||||
enable_custom_emoji_html: "%{name} enabled emoji %{target}"
|
enable_custom_emoji_html: "%{name} enabled emoji %{target}"
|
||||||
|
enable_sign_in_token_auth_user_html: "%{name} enabled email token authentication for %{target}"
|
||||||
enable_user_html: "%{name} enabled login for user %{target}"
|
enable_user_html: "%{name} enabled login for user %{target}"
|
||||||
memorialize_account_html: "%{name} turned %{target}'s account into a memoriam page"
|
memorialize_account_html: "%{name} turned %{target}'s account into a memoriam page"
|
||||||
promote_user_html: "%{name} promoted user %{target}"
|
promote_user_html: "%{name} promoted user %{target}"
|
||||||
@ -258,6 +271,7 @@ en-GB:
|
|||||||
reject_user_html: "%{name} rejected sign-up from %{target}"
|
reject_user_html: "%{name} rejected sign-up from %{target}"
|
||||||
remove_avatar_user_html: "%{name} removed %{target}'s avatar"
|
remove_avatar_user_html: "%{name} removed %{target}'s avatar"
|
||||||
reopen_report_html: "%{name} reopened report %{target}"
|
reopen_report_html: "%{name} reopened report %{target}"
|
||||||
|
resend_user_html: "%{name} resent confirmation email for %{target}"
|
||||||
reset_password_user_html: "%{name} reset password of user %{target}"
|
reset_password_user_html: "%{name} reset password of user %{target}"
|
||||||
resolve_report_html: "%{name} resolved report %{target}"
|
resolve_report_html: "%{name} resolved report %{target}"
|
||||||
sensitive_account_html: "%{name} marked %{target}'s media as sensitive"
|
sensitive_account_html: "%{name} marked %{target}'s media as sensitive"
|
||||||
@ -418,6 +432,7 @@ en-GB:
|
|||||||
attempts_over_week:
|
attempts_over_week:
|
||||||
one: "%{count} attempt over the last week"
|
one: "%{count} attempt over the last week"
|
||||||
other: "%{count} sign-up attempts over the last week"
|
other: "%{count} sign-up attempts over the last week"
|
||||||
|
created_msg: Successfully blocked email domain
|
||||||
delete: Delete
|
delete: Delete
|
||||||
dns:
|
dns:
|
||||||
types:
|
types:
|
||||||
@ -426,8 +441,12 @@ en-GB:
|
|||||||
new:
|
new:
|
||||||
create: Add domain
|
create: Add domain
|
||||||
resolve: Resolve domain
|
resolve: Resolve domain
|
||||||
|
title: Block new email domain
|
||||||
|
no_email_domain_block_selected: No email domain blocks were changed as none were selected
|
||||||
not_permitted: Not permitted
|
not_permitted: Not permitted
|
||||||
|
resolved_dns_records_hint_html: The domain name resolves to the following MX domains, which are ultimately responsible for accepting email. Blocking an MX domain will block sign-ups from any email address which uses the same MX domain, even if the visible domain name is different. <strong>Be careful not to block major email providers.</strong>
|
||||||
resolved_through_html: Resolved through %{domain}
|
resolved_through_html: Resolved through %{domain}
|
||||||
|
title: Blocked email domains
|
||||||
export_domain_allows:
|
export_domain_allows:
|
||||||
new:
|
new:
|
||||||
title: Import domain allows
|
title: Import domain allows
|
||||||
@ -581,6 +600,7 @@ en-GB:
|
|||||||
resolve_description_html: No action will be taken against the reported account, no strike recorded, and the report will be closed.
|
resolve_description_html: No action will be taken against the reported account, no strike recorded, and the report will be closed.
|
||||||
silence_description_html: The account will be visible only to those who already follow it or manually look it up, severely limiting its reach. Can always be reverted. Closes all reports against this account.
|
silence_description_html: The account will be visible only to those who already follow it or manually look it up, severely limiting its reach. Can always be reverted. Closes all reports against this account.
|
||||||
suspend_description_html: The account and all its contents will be inaccessible and eventually deleted, and interacting with it will be impossible. Reversible within 30 days. Closes all reports against this account.
|
suspend_description_html: The account and all its contents will be inaccessible and eventually deleted, and interacting with it will be impossible. Reversible within 30 days. Closes all reports against this account.
|
||||||
|
actions_description_html: Decide which action to take to resolve this report. If you take a punitive action against the reported account, an email notification will be sent to them, except when the <strong>Spam</strong> category is selected.
|
||||||
actions_description_remote_html: Decide which action to take to resolve this report. This will only affect how <strong>your</strong> server communicates with this remote account and handle its content.
|
actions_description_remote_html: Decide which action to take to resolve this report. This will only affect how <strong>your</strong> server communicates with this remote account and handle its content.
|
||||||
add_to_report: Add more to report
|
add_to_report: Add more to report
|
||||||
already_suspended_badges:
|
already_suspended_badges:
|
||||||
@ -645,6 +665,7 @@ en-GB:
|
|||||||
delete_data_html: Delete <strong>@%{acct}</strong>'s profile and contents 30 days from now unless they get unsuspended in the meantime
|
delete_data_html: Delete <strong>@%{acct}</strong>'s profile and contents 30 days from now unless they get unsuspended in the meantime
|
||||||
preview_preamble_html: "<strong>@%{acct}</strong> will receive a warning with the following contents:"
|
preview_preamble_html: "<strong>@%{acct}</strong> will receive a warning with the following contents:"
|
||||||
record_strike_html: Record a strike against <strong>@%{acct}</strong> to help you escalate on future violations from this account
|
record_strike_html: Record a strike against <strong>@%{acct}</strong> to help you escalate on future violations from this account
|
||||||
|
send_email_html: Send <strong>@%{acct}</strong> a warning email
|
||||||
warning_placeholder: Optional additional reasoning for the moderation action.
|
warning_placeholder: Optional additional reasoning for the moderation action.
|
||||||
target_origin: Origin of reported account
|
target_origin: Origin of reported account
|
||||||
title: Reports
|
title: Reports
|
||||||
@ -684,6 +705,7 @@ en-GB:
|
|||||||
manage_appeals: Manage Appeals
|
manage_appeals: Manage Appeals
|
||||||
manage_appeals_description: Allows users to review appeals against moderation actions
|
manage_appeals_description: Allows users to review appeals against moderation actions
|
||||||
manage_blocks: Manage Blocks
|
manage_blocks: Manage Blocks
|
||||||
|
manage_blocks_description: Allows users to block email providers and IP addresses
|
||||||
manage_custom_emojis: Manage Custom Emojis
|
manage_custom_emojis: Manage Custom Emojis
|
||||||
manage_custom_emojis_description: Allows users to manage custom emojis on the server
|
manage_custom_emojis_description: Allows users to manage custom emojis on the server
|
||||||
manage_federation: Manage Federation
|
manage_federation: Manage Federation
|
||||||
|
@ -58,6 +58,7 @@ fr-CA:
|
|||||||
demote: Rétrograder
|
demote: Rétrograder
|
||||||
destroyed_msg: Les données de %{username} sont maintenant en file d’attente pour être supprimées imminemment
|
destroyed_msg: Les données de %{username} sont maintenant en file d’attente pour être supprimées imminemment
|
||||||
disable: Geler
|
disable: Geler
|
||||||
|
disable_sign_in_token_auth: Désactiver le jeton d'authentification par e-mail
|
||||||
disable_two_factor_authentication: Désactiver l’authentification à deux facteurs
|
disable_two_factor_authentication: Désactiver l’authentification à deux facteurs
|
||||||
disabled: Gelé
|
disabled: Gelé
|
||||||
display_name: Nom affiché
|
display_name: Nom affiché
|
||||||
@ -66,6 +67,7 @@ fr-CA:
|
|||||||
email: Courriel
|
email: Courriel
|
||||||
email_status: État du courriel
|
email_status: État du courriel
|
||||||
enable: Dégeler
|
enable: Dégeler
|
||||||
|
enable_sign_in_token_auth: Activer le jeton d'authentification par e-mail
|
||||||
enabled: Activé
|
enabled: Activé
|
||||||
enabled_msg: Le compte de %{username} a été dégelé avec succès
|
enabled_msg: Le compte de %{username} a été dégelé avec succès
|
||||||
followers: Abonné·e·s
|
followers: Abonné·e·s
|
||||||
@ -195,8 +197,10 @@ fr-CA:
|
|||||||
destroy_user_role: Détruire le rôle
|
destroy_user_role: Détruire le rôle
|
||||||
disable_2fa_user: Désactiver l’A2F
|
disable_2fa_user: Désactiver l’A2F
|
||||||
disable_custom_emoji: Désactiver les émojis personnalisés
|
disable_custom_emoji: Désactiver les émojis personnalisés
|
||||||
|
disable_sign_in_token_auth_user: Désactiver le jeton d'authentification par e-mail pour l'utilisateur
|
||||||
disable_user: Désactiver le compte
|
disable_user: Désactiver le compte
|
||||||
enable_custom_emoji: Activer les émojis personnalisées
|
enable_custom_emoji: Activer les émojis personnalisées
|
||||||
|
enable_sign_in_token_auth_user: Activer le jeton d'authentification par e-mail pour l'utilisateur
|
||||||
enable_user: Activer l’utilisateur
|
enable_user: Activer l’utilisateur
|
||||||
memorialize_account: Ériger en mémorial
|
memorialize_account: Ériger en mémorial
|
||||||
promote_user: Promouvoir l’utilisateur
|
promote_user: Promouvoir l’utilisateur
|
||||||
@ -219,18 +223,22 @@ fr-CA:
|
|||||||
update_custom_emoji: Mettre à jour les émojis personnalisés
|
update_custom_emoji: Mettre à jour les émojis personnalisés
|
||||||
update_domain_block: Mettre à jour le blocage de domaine
|
update_domain_block: Mettre à jour le blocage de domaine
|
||||||
update_ip_block: Mettre à jour la règle IP
|
update_ip_block: Mettre à jour la règle IP
|
||||||
|
update_report: Mettre à jour le rapport
|
||||||
update_status: Mettre à jour le message
|
update_status: Mettre à jour le message
|
||||||
update_user_role: Mettre à jour le rôle
|
update_user_role: Mettre à jour le rôle
|
||||||
actions:
|
actions:
|
||||||
approve_appeal_html: "%{name} a approuvé l'appel de la décision de modération émis par %{target}"
|
approve_appeal_html: "%{name} a approuvé l'appel de la décision de modération émis par %{target}"
|
||||||
approve_user_html: "%{name} a approuvé l’inscription de %{target}"
|
approve_user_html: "%{name} a approuvé l’inscription de %{target}"
|
||||||
assigned_to_self_report_html: "%{name} s’est assigné·e le signalement de %{target}"
|
assigned_to_self_report_html: "%{name} s’est assigné·e le signalement de %{target}"
|
||||||
|
change_email_user_html: "%{name} a changé l'adresse e-mail de l'utilisateur \n%{target}"
|
||||||
change_role_user_html: "%{name} a changé le rôle de %{target}"
|
change_role_user_html: "%{name} a changé le rôle de %{target}"
|
||||||
|
confirm_user_html: "%{name} a confirmé l'adresse e-mail de l'utilisateur %{target}"
|
||||||
create_account_warning_html: "%{name} a envoyé un avertissement à %{target}"
|
create_account_warning_html: "%{name} a envoyé un avertissement à %{target}"
|
||||||
create_announcement_html: "%{name} a créé une nouvelle annonce %{target}"
|
create_announcement_html: "%{name} a créé une nouvelle annonce %{target}"
|
||||||
create_custom_emoji_html: "%{name} a téléversé un nouvel émoji %{target}"
|
create_custom_emoji_html: "%{name} a téléversé un nouvel émoji %{target}"
|
||||||
create_domain_allow_html: "%{name} a autorisé la fédération avec le domaine %{target}"
|
create_domain_allow_html: "%{name} a autorisé la fédération avec le domaine %{target}"
|
||||||
create_domain_block_html: "%{name} a bloqué le domaine %{target}"
|
create_domain_block_html: "%{name} a bloqué le domaine %{target}"
|
||||||
|
create_email_domain_block_html: "%{name} a bloqué le domaine d'e-mail %{target}"
|
||||||
create_ip_block_html: "%{name} a créé une règle pour l'IP %{target}"
|
create_ip_block_html: "%{name} a créé une règle pour l'IP %{target}"
|
||||||
create_unavailable_domain_html: "%{name} a arrêté la livraison vers le domaine %{target}"
|
create_unavailable_domain_html: "%{name} a arrêté la livraison vers le domaine %{target}"
|
||||||
create_user_role_html: "%{name} a créé le rôle %{target}"
|
create_user_role_html: "%{name} a créé le rôle %{target}"
|
||||||
@ -239,6 +247,7 @@ fr-CA:
|
|||||||
destroy_custom_emoji_html: "%{name} a supprimé l'émoji %{target}"
|
destroy_custom_emoji_html: "%{name} a supprimé l'émoji %{target}"
|
||||||
destroy_domain_allow_html: "%{name} a rejeté la fédération avec le domaine %{target}"
|
destroy_domain_allow_html: "%{name} a rejeté la fédération avec le domaine %{target}"
|
||||||
destroy_domain_block_html: "%{name} a débloqué le domaine %{target}"
|
destroy_domain_block_html: "%{name} a débloqué le domaine %{target}"
|
||||||
|
destroy_email_domain_block_html: "%{name} a débloqué le domaine d'e-mail %{target}"
|
||||||
destroy_instance_html: "%{name} a purgé le domaine %{target}"
|
destroy_instance_html: "%{name} a purgé le domaine %{target}"
|
||||||
destroy_ip_block_html: "%{name} a supprimé la règle pour l'IP %{target}"
|
destroy_ip_block_html: "%{name} a supprimé la règle pour l'IP %{target}"
|
||||||
destroy_status_html: "%{name} a supprimé le message de %{target}"
|
destroy_status_html: "%{name} a supprimé le message de %{target}"
|
||||||
@ -276,6 +285,7 @@ fr-CA:
|
|||||||
filter_by_action: Filtrer par action
|
filter_by_action: Filtrer par action
|
||||||
filter_by_user: Filtrer par utilisateur·ice
|
filter_by_user: Filtrer par utilisateur·ice
|
||||||
title: Journal d’audit
|
title: Journal d’audit
|
||||||
|
unavailable_instance: "(nom de domaine indisponible)"
|
||||||
announcements:
|
announcements:
|
||||||
destroyed_msg: Annonce supprimée avec succès !
|
destroyed_msg: Annonce supprimée avec succès !
|
||||||
edit:
|
edit:
|
||||||
@ -413,6 +423,7 @@ fr-CA:
|
|||||||
attempts_over_week:
|
attempts_over_week:
|
||||||
one: "%{count} tentative au cours de la dernière semaine"
|
one: "%{count} tentative au cours de la dernière semaine"
|
||||||
other: "%{count} tentatives au cours de la dernière semaine"
|
other: "%{count} tentatives au cours de la dernière semaine"
|
||||||
|
created_msg: Domaine d'e-mail bloqué avec succès
|
||||||
delete: Supprimer
|
delete: Supprimer
|
||||||
dns:
|
dns:
|
||||||
types:
|
types:
|
||||||
@ -914,6 +925,10 @@ fr-CA:
|
|||||||
statuses:
|
statuses:
|
||||||
allow: Autoriser le message
|
allow: Autoriser le message
|
||||||
allow_account: Autoriser l'auteur·rice
|
allow_account: Autoriser l'auteur·rice
|
||||||
|
confirm_allow: Êtes-vous sûr de vouloir autoriser les statuts sélectionnés ?
|
||||||
|
confirm_allow_account: Êtes-vous sûr de vouloir autoriser les comptes sélectionnés ?
|
||||||
|
confirm_disallow: Êtes-vous sûr de vouloir rejeter les statuts sélectionnés ?
|
||||||
|
confirm_disallow_account: Êtes-vous sûr de vouloir rejeter les comptes sélectionnés ?
|
||||||
description_html: Voici les messages dont votre serveur a connaissance qui sont beaucoup partagés et mis en favoris en ce moment. Cela peut aider vos utilisateur⋅rice⋅s, néophytes comme aguerri⋅e⋅s, à trouver plus de comptes à suivre. Aucun message n'est publiquement affiché tant que vous n'en avez pas approuvé l'auteur⋅rice, et seulement si icellui permet que son compte soit suggéré aux autres. Vous pouvez également autoriser ou rejeter les messages individuellement.
|
description_html: Voici les messages dont votre serveur a connaissance qui sont beaucoup partagés et mis en favoris en ce moment. Cela peut aider vos utilisateur⋅rice⋅s, néophytes comme aguerri⋅e⋅s, à trouver plus de comptes à suivre. Aucun message n'est publiquement affiché tant que vous n'en avez pas approuvé l'auteur⋅rice, et seulement si icellui permet que son compte soit suggéré aux autres. Vous pouvez également autoriser ou rejeter les messages individuellement.
|
||||||
disallow: Proscrire le message
|
disallow: Proscrire le message
|
||||||
disallow_account: Proscrire l'auteur·rice
|
disallow_account: Proscrire l'auteur·rice
|
||||||
@ -1896,6 +1911,7 @@ fr-CA:
|
|||||||
invalid_otp_token: Le code d’authentification à deux facteurs est invalide
|
invalid_otp_token: Le code d’authentification à deux facteurs est invalide
|
||||||
otp_lost_help_html: Si vous perdez accès aux deux, vous pouvez contacter %{email}
|
otp_lost_help_html: Si vous perdez accès aux deux, vous pouvez contacter %{email}
|
||||||
rate_limited: Trop de tentatives d'authentification, réessayez plus tard.
|
rate_limited: Trop de tentatives d'authentification, réessayez plus tard.
|
||||||
|
seamless_external_login: Vous êtes connectés sur un service externe, de fait les paramètres de mot de passe et d'e-mail ne sont pas disponibles.
|
||||||
signed_in_as: 'Connecté·e en tant que :'
|
signed_in_as: 'Connecté·e en tant que :'
|
||||||
verification:
|
verification:
|
||||||
extra_instructions_html: <strong>Astuce:</strong> Le lien sur votre site Web peut être invisible. La partie importante est <code>rel="me"</code> qui évite d’autres liens provenant de contenu générés par des utilisateurs tiers d'être pris en compte. Vous pouvez même utiliser une balise <code>link</code> dans l’en-tête de la page au lieu de <code>a</code>, mais le HTML doit être accessible sans avoir besoin d’exécuter du JavaScript.
|
extra_instructions_html: <strong>Astuce:</strong> Le lien sur votre site Web peut être invisible. La partie importante est <code>rel="me"</code> qui évite d’autres liens provenant de contenu générés par des utilisateurs tiers d'être pris en compte. Vous pouvez même utiliser une balise <code>link</code> dans l’en-tête de la page au lieu de <code>a</code>, mais le HTML doit être accessible sans avoir besoin d’exécuter du JavaScript.
|
||||||
|
@ -58,6 +58,7 @@ fr:
|
|||||||
demote: Rétrograder
|
demote: Rétrograder
|
||||||
destroyed_msg: Les données de %{username} sont maintenant en file d’attente pour être supprimées imminemment
|
destroyed_msg: Les données de %{username} sont maintenant en file d’attente pour être supprimées imminemment
|
||||||
disable: Geler
|
disable: Geler
|
||||||
|
disable_sign_in_token_auth: Désactiver le jeton d'authentification par e-mail
|
||||||
disable_two_factor_authentication: Désactiver l’authentification à deux facteurs
|
disable_two_factor_authentication: Désactiver l’authentification à deux facteurs
|
||||||
disabled: Gelé
|
disabled: Gelé
|
||||||
display_name: Nom affiché
|
display_name: Nom affiché
|
||||||
@ -66,6 +67,7 @@ fr:
|
|||||||
email: Adresse de courriel
|
email: Adresse de courriel
|
||||||
email_status: État du courriel
|
email_status: État du courriel
|
||||||
enable: Dégeler
|
enable: Dégeler
|
||||||
|
enable_sign_in_token_auth: Activer le jeton d'authentification par e-mail
|
||||||
enabled: Activé
|
enabled: Activé
|
||||||
enabled_msg: Le compte de %{username} a été dégelé avec succès
|
enabled_msg: Le compte de %{username} a été dégelé avec succès
|
||||||
followers: Abonné·e·s
|
followers: Abonné·e·s
|
||||||
@ -195,8 +197,10 @@ fr:
|
|||||||
destroy_user_role: Détruire le rôle
|
destroy_user_role: Détruire le rôle
|
||||||
disable_2fa_user: Désactiver l’A2F
|
disable_2fa_user: Désactiver l’A2F
|
||||||
disable_custom_emoji: Désactiver les émojis personnalisés
|
disable_custom_emoji: Désactiver les émojis personnalisés
|
||||||
|
disable_sign_in_token_auth_user: Désactiver le jeton d'authentification par e-mail pour l'utilisateur
|
||||||
disable_user: Désactiver le compte
|
disable_user: Désactiver le compte
|
||||||
enable_custom_emoji: Activer les émojis personnalisées
|
enable_custom_emoji: Activer les émojis personnalisées
|
||||||
|
enable_sign_in_token_auth_user: Activer le jeton d'authentification par e-mail pour l'utilisateur
|
||||||
enable_user: Activer le compte
|
enable_user: Activer le compte
|
||||||
memorialize_account: Ériger en mémorial
|
memorialize_account: Ériger en mémorial
|
||||||
promote_user: Promouvoir le compte
|
promote_user: Promouvoir le compte
|
||||||
@ -219,18 +223,22 @@ fr:
|
|||||||
update_custom_emoji: Mettre à jour les émojis personnalisés
|
update_custom_emoji: Mettre à jour les émojis personnalisés
|
||||||
update_domain_block: Mettre à jour le blocage de domaine
|
update_domain_block: Mettre à jour le blocage de domaine
|
||||||
update_ip_block: Mettre à jour la règle IP
|
update_ip_block: Mettre à jour la règle IP
|
||||||
|
update_report: Mettre à jour le rapport
|
||||||
update_status: Mettre à jour le message
|
update_status: Mettre à jour le message
|
||||||
update_user_role: Mettre à jour le rôle
|
update_user_role: Mettre à jour le rôle
|
||||||
actions:
|
actions:
|
||||||
approve_appeal_html: "%{name} a approuvé l'appel de la décision de modération émis par %{target}"
|
approve_appeal_html: "%{name} a approuvé l'appel de la décision de modération émis par %{target}"
|
||||||
approve_user_html: "%{name} a approuvé l’inscription de %{target}"
|
approve_user_html: "%{name} a approuvé l’inscription de %{target}"
|
||||||
assigned_to_self_report_html: "%{name} s’est assigné·e le signalement de %{target}"
|
assigned_to_self_report_html: "%{name} s’est assigné·e le signalement de %{target}"
|
||||||
|
change_email_user_html: "%{name} a changé l'adresse e-mail de l'utilisateur \n%{target}"
|
||||||
change_role_user_html: "%{name} a changé le rôle de %{target}"
|
change_role_user_html: "%{name} a changé le rôle de %{target}"
|
||||||
|
confirm_user_html: "%{name} a confirmé l'adresse e-mail de l'utilisateur %{target}"
|
||||||
create_account_warning_html: "%{name} a envoyé un avertissement à %{target}"
|
create_account_warning_html: "%{name} a envoyé un avertissement à %{target}"
|
||||||
create_announcement_html: "%{name} a créé une nouvelle annonce %{target}"
|
create_announcement_html: "%{name} a créé une nouvelle annonce %{target}"
|
||||||
create_custom_emoji_html: "%{name} a téléversé un nouvel émoji %{target}"
|
create_custom_emoji_html: "%{name} a téléversé un nouvel émoji %{target}"
|
||||||
create_domain_allow_html: "%{name} a autorisé la fédération avec le domaine %{target}"
|
create_domain_allow_html: "%{name} a autorisé la fédération avec le domaine %{target}"
|
||||||
create_domain_block_html: "%{name} a bloqué le domaine %{target}"
|
create_domain_block_html: "%{name} a bloqué le domaine %{target}"
|
||||||
|
create_email_domain_block_html: "%{name} a bloqué le domaine d'e-mail %{target}"
|
||||||
create_ip_block_html: "%{name} a créé une règle pour l'IP %{target}"
|
create_ip_block_html: "%{name} a créé une règle pour l'IP %{target}"
|
||||||
create_unavailable_domain_html: "%{name} a arrêté la livraison vers le domaine %{target}"
|
create_unavailable_domain_html: "%{name} a arrêté la livraison vers le domaine %{target}"
|
||||||
create_user_role_html: "%{name} a créé le rôle %{target}"
|
create_user_role_html: "%{name} a créé le rôle %{target}"
|
||||||
@ -239,6 +247,7 @@ fr:
|
|||||||
destroy_custom_emoji_html: "%{name} a supprimé l'émoji %{target}"
|
destroy_custom_emoji_html: "%{name} a supprimé l'émoji %{target}"
|
||||||
destroy_domain_allow_html: "%{name} a rejeté la fédération avec le domaine %{target}"
|
destroy_domain_allow_html: "%{name} a rejeté la fédération avec le domaine %{target}"
|
||||||
destroy_domain_block_html: "%{name} a débloqué le domaine %{target}"
|
destroy_domain_block_html: "%{name} a débloqué le domaine %{target}"
|
||||||
|
destroy_email_domain_block_html: "%{name} a débloqué le domaine d'e-mail %{target}"
|
||||||
destroy_instance_html: "%{name} a purgé le domaine %{target}"
|
destroy_instance_html: "%{name} a purgé le domaine %{target}"
|
||||||
destroy_ip_block_html: "%{name} a supprimé la règle pour l'IP %{target}"
|
destroy_ip_block_html: "%{name} a supprimé la règle pour l'IP %{target}"
|
||||||
destroy_status_html: "%{name} a supprimé le message de %{target}"
|
destroy_status_html: "%{name} a supprimé le message de %{target}"
|
||||||
@ -276,6 +285,7 @@ fr:
|
|||||||
filter_by_action: Filtrer par action
|
filter_by_action: Filtrer par action
|
||||||
filter_by_user: Filtrer par utilisateur·ice
|
filter_by_user: Filtrer par utilisateur·ice
|
||||||
title: Journal d’audit
|
title: Journal d’audit
|
||||||
|
unavailable_instance: "(nom de domaine indisponible)"
|
||||||
announcements:
|
announcements:
|
||||||
destroyed_msg: Annonce supprimée avec succès !
|
destroyed_msg: Annonce supprimée avec succès !
|
||||||
edit:
|
edit:
|
||||||
@ -413,6 +423,7 @@ fr:
|
|||||||
attempts_over_week:
|
attempts_over_week:
|
||||||
one: "%{count} tentative au cours de la dernière semaine"
|
one: "%{count} tentative au cours de la dernière semaine"
|
||||||
other: "%{count} tentatives au cours de la dernière semaine"
|
other: "%{count} tentatives au cours de la dernière semaine"
|
||||||
|
created_msg: Domaine d'e-mail bloqué avec succès
|
||||||
delete: Supprimer
|
delete: Supprimer
|
||||||
dns:
|
dns:
|
||||||
types:
|
types:
|
||||||
@ -914,6 +925,10 @@ fr:
|
|||||||
statuses:
|
statuses:
|
||||||
allow: Autoriser le message
|
allow: Autoriser le message
|
||||||
allow_account: Autoriser l'auteur·rice
|
allow_account: Autoriser l'auteur·rice
|
||||||
|
confirm_allow: Êtes-vous sûr de vouloir autoriser les statuts sélectionnés ?
|
||||||
|
confirm_allow_account: Êtes-vous sûr de vouloir autoriser les comptes sélectionnés ?
|
||||||
|
confirm_disallow: Êtes-vous sûr de vouloir rejeter les statuts sélectionnés ?
|
||||||
|
confirm_disallow_account: Êtes-vous sûr de vouloir rejeter les comptes sélectionnés ?
|
||||||
description_html: Voici les messages dont votre serveur a connaissance qui sont beaucoup partagés et mis en favoris en ce moment. Cela peut aider vos utilisateur⋅rice⋅s, néophytes comme aguerri⋅e⋅s, à trouver plus de comptes à suivre. Aucun message n'est publiquement affiché tant que vous n'en avez pas approuvé l'auteur⋅rice, et seulement si icellui permet que son compte soit suggéré aux autres. Vous pouvez également autoriser ou rejeter les messages individuellement.
|
description_html: Voici les messages dont votre serveur a connaissance qui sont beaucoup partagés et mis en favoris en ce moment. Cela peut aider vos utilisateur⋅rice⋅s, néophytes comme aguerri⋅e⋅s, à trouver plus de comptes à suivre. Aucun message n'est publiquement affiché tant que vous n'en avez pas approuvé l'auteur⋅rice, et seulement si icellui permet que son compte soit suggéré aux autres. Vous pouvez également autoriser ou rejeter les messages individuellement.
|
||||||
disallow: Proscrire le message
|
disallow: Proscrire le message
|
||||||
disallow_account: Proscrire l'auteur·rice
|
disallow_account: Proscrire l'auteur·rice
|
||||||
@ -1896,6 +1911,7 @@ fr:
|
|||||||
invalid_otp_token: Le code d’authentification à deux facteurs est invalide
|
invalid_otp_token: Le code d’authentification à deux facteurs est invalide
|
||||||
otp_lost_help_html: Si vous perdez accès aux deux, vous pouvez contacter %{email}
|
otp_lost_help_html: Si vous perdez accès aux deux, vous pouvez contacter %{email}
|
||||||
rate_limited: Trop de tentatives d'authentification, réessayez plus tard.
|
rate_limited: Trop de tentatives d'authentification, réessayez plus tard.
|
||||||
|
seamless_external_login: Vous êtes connectés sur un service externe, de fait les paramètres de mot de passe et d'e-mail ne sont pas disponibles.
|
||||||
signed_in_as: 'Connecté·e en tant que :'
|
signed_in_as: 'Connecté·e en tant que :'
|
||||||
verification:
|
verification:
|
||||||
extra_instructions_html: <strong>Astuce :</strong> Le lien sur votre site Web peut être invisible. La partie importante est <code>rel="me"</code> qui évite que soient pris en compte d’autres liens provenant de contenu générés par des utilisateurs tiers. Vous pouvez même utiliser une balise <code>link</code> dans l’en-tête de la page au lieu de <code>a</code>, mais le HTML doit être accessible sans avoir besoin d’exécuter du JavaScript.
|
extra_instructions_html: <strong>Astuce :</strong> Le lien sur votre site Web peut être invisible. La partie importante est <code>rel="me"</code> qui évite que soient pris en compte d’autres liens provenant de contenu générés par des utilisateurs tiers. Vous pouvez même utiliser une balise <code>link</code> dans l’en-tête de la page au lieu de <code>a</code>, mais le HTML doit être accessible sans avoir besoin d’exécuter du JavaScript.
|
||||||
|
@ -1506,6 +1506,7 @@ he:
|
|||||||
media_attachments:
|
media_attachments:
|
||||||
validations:
|
validations:
|
||||||
images_and_video: לא ניתן להוסיף וידאו להודעה שכבר מכילה תמונות
|
images_and_video: לא ניתן להוסיף וידאו להודעה שכבר מכילה תמונות
|
||||||
|
not_found: קובץ %{ids} לא נמצא, או שהוצמד כבר להודעה אחרת
|
||||||
not_ready: לא ניתן להצמיד קבצים שהעלאתם לא הסתיימה. נסה/י שוב בעוד רגע!
|
not_ready: לא ניתן להצמיד קבצים שהעלאתם לא הסתיימה. נסה/י שוב בעוד רגע!
|
||||||
too_many: לא ניתן להוסיף יותר מארבעה קבצים
|
too_many: לא ניתן להוסיף יותר מארבעה קבצים
|
||||||
migrations:
|
migrations:
|
||||||
|
@ -1454,6 +1454,7 @@ hu:
|
|||||||
media_attachments:
|
media_attachments:
|
||||||
validations:
|
validations:
|
||||||
images_and_video: Nem csatolhatsz videót olyan bejegyzéshez, amelyhez már csatoltál képet
|
images_and_video: Nem csatolhatsz videót olyan bejegyzéshez, amelyhez már csatoltál képet
|
||||||
|
not_found: A(z) %{ids} média nem található, vagy már egy másik bejegyzéshez lett csatolva
|
||||||
not_ready: Nem lehet olyan fájlt csatolni, melynek még nem fejeződött be a feldolgozása. Próbáld kicsit később!
|
not_ready: Nem lehet olyan fájlt csatolni, melynek még nem fejeződött be a feldolgozása. Próbáld kicsit később!
|
||||||
too_many: Maximum négy fájlt csatolhatsz
|
too_many: Maximum négy fájlt csatolhatsz
|
||||||
migrations:
|
migrations:
|
||||||
|
@ -1458,6 +1458,7 @@ is:
|
|||||||
media_attachments:
|
media_attachments:
|
||||||
validations:
|
validations:
|
||||||
images_and_video: Ekki er hægt að hengja myndskeið við færslu sem þegar inniheldur myndir
|
images_and_video: Ekki er hægt að hengja myndskeið við færslu sem þegar inniheldur myndir
|
||||||
|
not_found: Myndefnið %{ids} fannst ekki eða er þegar hengt við aðra færslu
|
||||||
not_ready: Ekki er hægt að hengja við skrár sem ekki er búið að vinna til fulls. Prófaðu aftur eftir augnablik!
|
not_ready: Ekki er hægt að hengja við skrár sem ekki er búið að vinna til fulls. Prófaðu aftur eftir augnablik!
|
||||||
too_many: Ekki er hægt að hengja við fleiri en 4 skrár
|
too_many: Ekki er hægt að hengja við fleiri en 4 skrár
|
||||||
migrations:
|
migrations:
|
||||||
|
@ -830,7 +830,7 @@ ko:
|
|||||||
sensitive: "%{name} 님이 %{target}의 계정을 민감함으로 표시했습니다"
|
sensitive: "%{name} 님이 %{target}의 계정을 민감함으로 표시했습니다"
|
||||||
silence: "%{name} 님이 %{target}의 계정을 제한시켰습니다"
|
silence: "%{name} 님이 %{target}의 계정을 제한시켰습니다"
|
||||||
suspend: "%{name} 님이 %{target}의 계정을 정지시켰습니다"
|
suspend: "%{name} 님이 %{target}의 계정을 정지시켰습니다"
|
||||||
appeal_approved: 이의제기됨
|
appeal_approved: 이의 받아들여짐
|
||||||
appeal_pending: 이의제기 대기중
|
appeal_pending: 이의제기 대기중
|
||||||
appeal_rejected: 이의 제기 거절됨
|
appeal_rejected: 이의 제기 거절됨
|
||||||
system_checks:
|
system_checks:
|
||||||
|
@ -1454,6 +1454,7 @@ nn:
|
|||||||
media_attachments:
|
media_attachments:
|
||||||
validations:
|
validations:
|
||||||
images_and_video: Kan ikkje leggja ved video til status som allereie inneheld bilete
|
images_and_video: Kan ikkje leggja ved video til status som allereie inneheld bilete
|
||||||
|
not_found: Media %{ids} vart ikkje funne eller er allereie kopla til eit anna innlegg
|
||||||
not_ready: Kan ikke legge til filer som ikke er ferdigbehandlet. Prøv igjen om et øyeblikk!
|
not_ready: Kan ikke legge til filer som ikke er ferdigbehandlet. Prøv igjen om et øyeblikk!
|
||||||
too_many: Kan ikkje leggja til meir enn 4 filer
|
too_many: Kan ikkje leggja til meir enn 4 filer
|
||||||
migrations:
|
migrations:
|
||||||
|
@ -4,7 +4,7 @@ pt-BR:
|
|||||||
about_mastodon_html: 'A rede social do futuro: Sem anúncios, sem vigilância corporativa, com design ético e muita descentralização! Possua seus próprios dados com o Mastodon!'
|
about_mastodon_html: 'A rede social do futuro: Sem anúncios, sem vigilância corporativa, com design ético e muita descentralização! Possua seus próprios dados com o Mastodon!'
|
||||||
contact_missing: Não definido
|
contact_missing: Não definido
|
||||||
contact_unavailable: Não disponível
|
contact_unavailable: Não disponível
|
||||||
hosted_on: Servidor Mastodon em %{domain}
|
hosted_on: Mastodon hospedado em %{domain}
|
||||||
title: Sobre
|
title: Sobre
|
||||||
accounts:
|
accounts:
|
||||||
follow: Seguir
|
follow: Seguir
|
||||||
@ -31,6 +31,7 @@ pt-BR:
|
|||||||
created_msg: Nota de moderação criada!
|
created_msg: Nota de moderação criada!
|
||||||
destroyed_msg: Nota de moderação excluída!
|
destroyed_msg: Nota de moderação excluída!
|
||||||
accounts:
|
accounts:
|
||||||
|
add_email_domain_block: Bloquear domínio de email
|
||||||
approve: Aprovar
|
approve: Aprovar
|
||||||
approved_msg: O registro de %{username} foi aprovado
|
approved_msg: O registro de %{username} foi aprovado
|
||||||
are_you_sure: Você tem certeza?
|
are_you_sure: Você tem certeza?
|
||||||
@ -44,10 +45,10 @@ pt-BR:
|
|||||||
submit: Alterar e-mail
|
submit: Alterar e-mail
|
||||||
title: Alterar e-mail para %{username}
|
title: Alterar e-mail para %{username}
|
||||||
change_role:
|
change_role:
|
||||||
changed_msg: Cargo alterado!
|
changed_msg: Função alterada com sucesso!
|
||||||
label: Alterar cargo
|
label: Alterar função
|
||||||
no_role: Sem cargo
|
no_role: Nenhuma função
|
||||||
title: Alterar cargo para %{username}
|
title: Alterar função para %{username}
|
||||||
confirm: Confirmar
|
confirm: Confirmar
|
||||||
confirmed: Confirmado
|
confirmed: Confirmado
|
||||||
confirming: Confirmando
|
confirming: Confirmando
|
||||||
@ -57,6 +58,7 @@ pt-BR:
|
|||||||
demote: Rebaixar
|
demote: Rebaixar
|
||||||
destroyed_msg: Os dados de %{username} estão na fila para serem excluídos em breve
|
destroyed_msg: Os dados de %{username} estão na fila para serem excluídos em breve
|
||||||
disable: Congelar
|
disable: Congelar
|
||||||
|
disable_sign_in_token_auth: Desativar autenticação via token por email
|
||||||
disable_two_factor_authentication: Desativar autenticação de dois fatores
|
disable_two_factor_authentication: Desativar autenticação de dois fatores
|
||||||
disabled: Congelada
|
disabled: Congelada
|
||||||
display_name: Nome de exibição
|
display_name: Nome de exibição
|
||||||
@ -65,6 +67,7 @@ pt-BR:
|
|||||||
email: E-mail
|
email: E-mail
|
||||||
email_status: Estado do e-mail
|
email_status: Estado do e-mail
|
||||||
enable: Descongelar
|
enable: Descongelar
|
||||||
|
enable_sign_in_token_auth: Ativar autenticação via token por email
|
||||||
enabled: Ativada
|
enabled: Ativada
|
||||||
enabled_msg: A conta de %{username} foi descongelada
|
enabled_msg: A conta de %{username} foi descongelada
|
||||||
followers: Seguidores
|
followers: Seguidores
|
||||||
@ -129,6 +132,7 @@ pt-BR:
|
|||||||
resubscribe: Reinscrever-se
|
resubscribe: Reinscrever-se
|
||||||
role: Cargo
|
role: Cargo
|
||||||
search: Buscar
|
search: Buscar
|
||||||
|
search_same_email_domain: Outros usuários com o mesmo domínio de e-mail
|
||||||
search_same_ip: Outros usuários com o mesmo IP
|
search_same_ip: Outros usuários com o mesmo IP
|
||||||
security: Segurança
|
security: Segurança
|
||||||
security_measures:
|
security_measures:
|
||||||
@ -169,21 +173,26 @@ pt-BR:
|
|||||||
approve_appeal: Aprovar revisão
|
approve_appeal: Aprovar revisão
|
||||||
approve_user: Aprovar usuário
|
approve_user: Aprovar usuário
|
||||||
assigned_to_self_report: Atribuir denúncia
|
assigned_to_self_report: Atribuir denúncia
|
||||||
|
change_email_user: Alterar o Email para o usuário
|
||||||
change_role_user: Alterar cargo do usuário
|
change_role_user: Alterar cargo do usuário
|
||||||
confirm_user: Confirmar usuário
|
confirm_user: Confirmar usuário
|
||||||
create_account_warning: Criar aviso
|
create_account_warning: Criar aviso
|
||||||
create_announcement: Criar anúncio
|
create_announcement: Criar anúncio
|
||||||
|
create_canonical_email_block: Criar bloqueio de Email
|
||||||
create_custom_emoji: Criar emoji personalizado
|
create_custom_emoji: Criar emoji personalizado
|
||||||
create_domain_allow: Permitir domínio
|
create_domain_allow: Permitir domínio
|
||||||
create_domain_block: Bloquear domínio
|
create_domain_block: Bloquear domínio
|
||||||
|
create_email_domain_block: Criar Bloqueio de Domínio de Email
|
||||||
create_ip_block: Criar regra de IP
|
create_ip_block: Criar regra de IP
|
||||||
create_unavailable_domain: Criar domínio indisponível
|
create_unavailable_domain: Criar domínio indisponível
|
||||||
create_user_role: Criar cargo
|
create_user_role: Criar cargo
|
||||||
demote_user: Rebaixar usuário
|
demote_user: Rebaixar usuário
|
||||||
destroy_announcement: Excluir anúncio
|
destroy_announcement: Excluir anúncio
|
||||||
|
destroy_canonical_email_block: Deletar bloqueio de Email
|
||||||
destroy_custom_emoji: Excluir emoji personalizado
|
destroy_custom_emoji: Excluir emoji personalizado
|
||||||
destroy_domain_allow: Excluir domínio permitido
|
destroy_domain_allow: Excluir domínio permitido
|
||||||
destroy_domain_block: Desbloquear domínio
|
destroy_domain_block: Desbloquear domínio
|
||||||
|
destroy_email_domain_block: Deletar bloqueio de domínio Email
|
||||||
destroy_instance: Limpar domínio
|
destroy_instance: Limpar domínio
|
||||||
destroy_ip_block: Excluir regra de IP
|
destroy_ip_block: Excluir regra de IP
|
||||||
destroy_status: Excluir publicação
|
destroy_status: Excluir publicação
|
||||||
@ -191,8 +200,10 @@ pt-BR:
|
|||||||
destroy_user_role: Destruir cargo
|
destroy_user_role: Destruir cargo
|
||||||
disable_2fa_user: Desativar autenticação de dois fatores
|
disable_2fa_user: Desativar autenticação de dois fatores
|
||||||
disable_custom_emoji: Desativar emoji personalizado
|
disable_custom_emoji: Desativar emoji personalizado
|
||||||
|
disable_sign_in_token_auth_user: Desativar autenticação via Token de Email para Usuário
|
||||||
disable_user: Desativar usuário
|
disable_user: Desativar usuário
|
||||||
enable_custom_emoji: Ativar emoji personalizado
|
enable_custom_emoji: Ativar emoji personalizado
|
||||||
|
enable_sign_in_token_auth_user: Desativar autenticação via token por e-mail para o usuário
|
||||||
enable_user: Ativar usuário
|
enable_user: Ativar usuário
|
||||||
memorialize_account: Converter conta em memorial
|
memorialize_account: Converter conta em memorial
|
||||||
promote_user: Promover usuário
|
promote_user: Promover usuário
|
||||||
@ -215,6 +226,7 @@ pt-BR:
|
|||||||
update_custom_emoji: Editar Emoji Personalizado
|
update_custom_emoji: Editar Emoji Personalizado
|
||||||
update_domain_block: Atualizar bloqueio de domínio
|
update_domain_block: Atualizar bloqueio de domínio
|
||||||
update_ip_block: Atualizar regra de IP
|
update_ip_block: Atualizar regra de IP
|
||||||
|
update_report: Atualizar Relatório
|
||||||
update_status: Editar Status
|
update_status: Editar Status
|
||||||
update_user_role: Atualizar cargo
|
update_user_role: Atualizar cargo
|
||||||
actions:
|
actions:
|
||||||
@ -223,19 +235,24 @@ pt-BR:
|
|||||||
assigned_to_self_report_html: "%{name} atribuiu a denúncia %{target} para si"
|
assigned_to_self_report_html: "%{name} atribuiu a denúncia %{target} para si"
|
||||||
change_email_user_html: "%{name} alterou o endereço de e-mail do usuário %{target}"
|
change_email_user_html: "%{name} alterou o endereço de e-mail do usuário %{target}"
|
||||||
change_role_user_html: "%{name} alterou o cargo de %{target}"
|
change_role_user_html: "%{name} alterou o cargo de %{target}"
|
||||||
|
confirm_user_html: "%{name} confirmou o endereço de e-mail do usuário %{target}"
|
||||||
create_account_warning_html: "%{name} enviou um aviso para %{target}"
|
create_account_warning_html: "%{name} enviou um aviso para %{target}"
|
||||||
create_announcement_html: "%{name} criou o novo anúncio %{target}"
|
create_announcement_html: "%{name} criou o novo anúncio %{target}"
|
||||||
|
create_canonical_email_block_html: "%{name} bloqueou o endereço de e-mail com o hash %{target}"
|
||||||
create_custom_emoji_html: "%{name} enviou o novo emoji %{target}"
|
create_custom_emoji_html: "%{name} enviou o novo emoji %{target}"
|
||||||
create_domain_allow_html: "%{name} permitiu federação com domínio %{target}"
|
create_domain_allow_html: "%{name} permitiu federação com domínio %{target}"
|
||||||
create_domain_block_html: "%{name} bloqueou o domínio %{target}"
|
create_domain_block_html: "%{name} bloqueou o domínio %{target}"
|
||||||
|
create_email_domain_block_html: "%{name} bloqueou o domínio de e-mail %{target}"
|
||||||
create_ip_block_html: "%{name} criou a regra para o IP %{target}"
|
create_ip_block_html: "%{name} criou a regra para o IP %{target}"
|
||||||
create_unavailable_domain_html: "%{name} parou a entrega ao domínio %{target}"
|
create_unavailable_domain_html: "%{name} parou a entrega ao domínio %{target}"
|
||||||
create_user_role_html: "%{name} criou o cargo %{target}"
|
create_user_role_html: "%{name} criou o cargo %{target}"
|
||||||
demote_user_html: "%{name} rebaixou o usuário %{target}"
|
demote_user_html: "%{name} rebaixou o usuário %{target}"
|
||||||
destroy_announcement_html: "%{name} excluiu o anúncio %{target}"
|
destroy_announcement_html: "%{name} excluiu o anúncio %{target}"
|
||||||
|
destroy_canonical_email_block_html: "%{name} desbloqueou o endereço e-mail com o hash %{target}"
|
||||||
destroy_custom_emoji_html: "%{name} apagou o emoji %{target}"
|
destroy_custom_emoji_html: "%{name} apagou o emoji %{target}"
|
||||||
destroy_domain_allow_html: "%{name} bloqueou federação com domínio %{target}"
|
destroy_domain_allow_html: "%{name} bloqueou federação com domínio %{target}"
|
||||||
destroy_domain_block_html: "%{name} desbloqueou o domínio %{target}"
|
destroy_domain_block_html: "%{name} desbloqueou o domínio %{target}"
|
||||||
|
destroy_email_domain_block_html: "%{name} desbloqueou o domínio de e-mail %{target}"
|
||||||
destroy_instance_html: "%{name} limpou o domínio %{target}"
|
destroy_instance_html: "%{name} limpou o domínio %{target}"
|
||||||
destroy_ip_block_html: "%{name} excluiu a regra para o IP %{target}"
|
destroy_ip_block_html: "%{name} excluiu a regra para o IP %{target}"
|
||||||
destroy_status_html: "%{name} removeu a publicação de %{target}"
|
destroy_status_html: "%{name} removeu a publicação de %{target}"
|
||||||
@ -243,8 +260,10 @@ pt-BR:
|
|||||||
destroy_user_role_html: "%{name} excluiu o cargo %{target}"
|
destroy_user_role_html: "%{name} excluiu o cargo %{target}"
|
||||||
disable_2fa_user_html: "%{name} desativou a exigência da autenticação de dois fatores para o usuário %{target}"
|
disable_2fa_user_html: "%{name} desativou a exigência da autenticação de dois fatores para o usuário %{target}"
|
||||||
disable_custom_emoji_html: "%{name} desativou o emoji %{target}"
|
disable_custom_emoji_html: "%{name} desativou o emoji %{target}"
|
||||||
|
disable_sign_in_token_auth_user_html: "%{name} desativou a autenticação via token por e-mail para %{target}"
|
||||||
disable_user_html: "%{name} desativou o login para %{target}"
|
disable_user_html: "%{name} desativou o login para %{target}"
|
||||||
enable_custom_emoji_html: "%{name} ativou o emoji %{target}"
|
enable_custom_emoji_html: "%{name} ativou o emoji %{target}"
|
||||||
|
enable_sign_in_token_auth_user_html: "%{name} ativou a autenticação via token por e-mail para %{target}"
|
||||||
enable_user_html: "%{name} ativou o login para %{target}"
|
enable_user_html: "%{name} ativou o login para %{target}"
|
||||||
memorialize_account_html: "%{name} transformou a conta de %{target} em um memorial"
|
memorialize_account_html: "%{name} transformou a conta de %{target} em um memorial"
|
||||||
promote_user_html: "%{name} promoveu o usuário %{target}"
|
promote_user_html: "%{name} promoveu o usuário %{target}"
|
||||||
@ -252,6 +271,7 @@ pt-BR:
|
|||||||
reject_user_html: "%{name} rejeitou a inscrição de %{target}"
|
reject_user_html: "%{name} rejeitou a inscrição de %{target}"
|
||||||
remove_avatar_user_html: "%{name} removeu a imagem de perfil de %{target}"
|
remove_avatar_user_html: "%{name} removeu a imagem de perfil de %{target}"
|
||||||
reopen_report_html: "%{name} reabriu a denúncia %{target}"
|
reopen_report_html: "%{name} reabriu a denúncia %{target}"
|
||||||
|
resend_user_html: "%{name} reenviou um e-mail de confirmação para %{target}"
|
||||||
reset_password_user_html: "%{name} redefiniu a senha de %{target}"
|
reset_password_user_html: "%{name} redefiniu a senha de %{target}"
|
||||||
resolve_report_html: "%{name} resolveu a denúncia %{target}"
|
resolve_report_html: "%{name} resolveu a denúncia %{target}"
|
||||||
sensitive_account_html: "%{name} marcou a mídia de %{target} como sensível"
|
sensitive_account_html: "%{name} marcou a mídia de %{target} como sensível"
|
||||||
@ -412,6 +432,7 @@ pt-BR:
|
|||||||
attempts_over_week:
|
attempts_over_week:
|
||||||
one: "%{count} tentativa na última semana"
|
one: "%{count} tentativa na última semana"
|
||||||
other: "%{count} tentativas de inscrição na última semana"
|
other: "%{count} tentativas de inscrição na última semana"
|
||||||
|
created_msg: Domínio de e-mail bloqueado com sucesso
|
||||||
delete: Excluir
|
delete: Excluir
|
||||||
dns:
|
dns:
|
||||||
types:
|
types:
|
||||||
@ -420,8 +441,11 @@ pt-BR:
|
|||||||
new:
|
new:
|
||||||
create: Adicionar domínio
|
create: Adicionar domínio
|
||||||
resolve: Resolver domínio
|
resolve: Resolver domínio
|
||||||
|
title: Bloquear novo domínio de e-mail
|
||||||
not_permitted: Não permitido
|
not_permitted: Não permitido
|
||||||
|
resolved_dns_records_hint_html: O nome de domínio é associado aos seguintes domínios MX, que são responsáveis por aceitar e-mails. Ao bloquear um domínio MX, você bloqueará as inscrições de qualquer endereço de e-mail que use o mesmo domínio MX, mesmo que o nome de domínio visível seja diferente. <strong>Tenha cuidado para não bloquear os principais provedores de e-mail.</strong>
|
||||||
resolved_through_html: Resolvido através de %{domain}
|
resolved_through_html: Resolvido através de %{domain}
|
||||||
|
title: Domínios de e-mail bloqueados
|
||||||
export_domain_allows:
|
export_domain_allows:
|
||||||
new:
|
new:
|
||||||
title: Importar domínios permitidos
|
title: Importar domínios permitidos
|
||||||
@ -446,6 +470,9 @@ pt-BR:
|
|||||||
title: Recomendações de contas
|
title: Recomendações de contas
|
||||||
unsuppress: Restaurar recomendação de contas
|
unsuppress: Restaurar recomendação de contas
|
||||||
instances:
|
instances:
|
||||||
|
audit_log:
|
||||||
|
title: Logs de auditoria recentes
|
||||||
|
view_all: Ver todos os logs de auditoria
|
||||||
availability:
|
availability:
|
||||||
description_html:
|
description_html:
|
||||||
one: Se a entrega ao domínio falhar em <strong>%{count} dia</strong> sem sucesso, nenhuma tentativa de entrega será feita a menos que uma entrega <em>do</em> domínio seja recebida.
|
one: Se a entrega ao domínio falhar em <strong>%{count} dia</strong> sem sucesso, nenhuma tentativa de entrega será feita a menos que uma entrega <em>do</em> domínio seja recebida.
|
||||||
@ -572,6 +599,7 @@ pt-BR:
|
|||||||
resolve_description_html: Nenhuma ação será tomada contra a conta denunciada, nenhuma violação será guardada e a denúncia será encerrada.
|
resolve_description_html: Nenhuma ação será tomada contra a conta denunciada, nenhuma violação será guardada e a denúncia será encerrada.
|
||||||
silence_description_html: A conta ficará visível apenas para aqueles que já a seguem ou que a procuram manualmente, limitando severamente seu alcance. Pode ser revertido a qualquer momento. Fecha todas as denúncias desta conta.
|
silence_description_html: A conta ficará visível apenas para aqueles que já a seguem ou que a procuram manualmente, limitando severamente seu alcance. Pode ser revertido a qualquer momento. Fecha todas as denúncias desta conta.
|
||||||
suspend_description_html: A conta e todo o seu conteúdo ficará inacessível e, eventualmente, excluído e interagir com ela será impossível. Reversível dentro de 30 dias. Encerra todas as denúncias contra esta conta.
|
suspend_description_html: A conta e todo o seu conteúdo ficará inacessível e, eventualmente, excluído e interagir com ela será impossível. Reversível dentro de 30 dias. Encerra todas as denúncias contra esta conta.
|
||||||
|
actions_description_html: Decida qual ação tomar para responder a essa denúncia. Se você tomar uma ação punitiva contra a conta denunciada, uma notificação por e-mail será enviada ao usuário, exceto quando a categoria <strong>Spam</strong> for selecionada.
|
||||||
actions_description_remote_html: Decida quais medidas tomará para resolver esta denúncia. Isso só afetará como <strong>seu servidor</strong> se comunica com esta conta remota e manipula seu conteúdo.
|
actions_description_remote_html: Decida quais medidas tomará para resolver esta denúncia. Isso só afetará como <strong>seu servidor</strong> se comunica com esta conta remota e manipula seu conteúdo.
|
||||||
add_to_report: Adicionar mais à denúncia
|
add_to_report: Adicionar mais à denúncia
|
||||||
already_suspended_badges:
|
already_suspended_badges:
|
||||||
@ -613,6 +641,7 @@ pt-BR:
|
|||||||
report: 'Denúncia #%{id}'
|
report: 'Denúncia #%{id}'
|
||||||
reported_account: Conta denunciada
|
reported_account: Conta denunciada
|
||||||
reported_by: Denunciada por
|
reported_by: Denunciada por
|
||||||
|
reported_with_application: Denunciado pelo aplicativo
|
||||||
resolved: Resolvido
|
resolved: Resolvido
|
||||||
resolved_msg: Denúncia resolvida!
|
resolved_msg: Denúncia resolvida!
|
||||||
skip_to_actions: Pular para ações
|
skip_to_actions: Pular para ações
|
||||||
@ -635,6 +664,7 @@ pt-BR:
|
|||||||
delete_data_html: Exclua o perfil e o conteúdo de <strong>@%{acct}</strong> daqui a 30 dias, a menos que a suspensão seja desfeita nesse meio tempo
|
delete_data_html: Exclua o perfil e o conteúdo de <strong>@%{acct}</strong> daqui a 30 dias, a menos que a suspensão seja desfeita nesse meio tempo
|
||||||
preview_preamble_html: "<strong>@%{acct}</strong> receberá um aviso com o seguinte conteúdo:"
|
preview_preamble_html: "<strong>@%{acct}</strong> receberá um aviso com o seguinte conteúdo:"
|
||||||
record_strike_html: Registre uma ação contra <strong>@%{acct}</strong> para te ajudar em futuras violações desta conta
|
record_strike_html: Registre uma ação contra <strong>@%{acct}</strong> para te ajudar em futuras violações desta conta
|
||||||
|
send_email_html: Enviar <strong>@%{acct}</strong> um e-mail de alerta
|
||||||
warning_placeholder: Argumentos adicionais para a ação de moderação.
|
warning_placeholder: Argumentos adicionais para a ação de moderação.
|
||||||
target_origin: Origem da conta denunciada
|
target_origin: Origem da conta denunciada
|
||||||
title: Denúncias
|
title: Denúncias
|
||||||
@ -674,6 +704,7 @@ pt-BR:
|
|||||||
manage_appeals: Gerenciar revisões
|
manage_appeals: Gerenciar revisões
|
||||||
manage_appeals_description: Permite aos usuários visualizar as revisões das decisões da moderação
|
manage_appeals_description: Permite aos usuários visualizar as revisões das decisões da moderação
|
||||||
manage_blocks: Gerenciar Bloqueios
|
manage_blocks: Gerenciar Bloqueios
|
||||||
|
manage_blocks_description: Permite aos usuários bloquear provedores de e-mail e endereços IP
|
||||||
manage_custom_emojis: Gerenciar Emojis Personalizados
|
manage_custom_emojis: Gerenciar Emojis Personalizados
|
||||||
manage_custom_emojis_description: Permite aos usuários gerenciar emojis personalizados no servidor
|
manage_custom_emojis_description: Permite aos usuários gerenciar emojis personalizados no servidor
|
||||||
manage_federation: Gerenciar Federação
|
manage_federation: Gerenciar Federação
|
||||||
@ -691,6 +722,7 @@ pt-BR:
|
|||||||
manage_taxonomies: Gerenciar taxonomias
|
manage_taxonomies: Gerenciar taxonomias
|
||||||
manage_taxonomies_description: Permite aos usuários rever o conteúdo em alta e atualizar as configurações de hashtag
|
manage_taxonomies_description: Permite aos usuários rever o conteúdo em alta e atualizar as configurações de hashtag
|
||||||
manage_user_access: Gerenciar Acesso de Usuário
|
manage_user_access: Gerenciar Acesso de Usuário
|
||||||
|
manage_user_access_description: Permite aos usuários desativar a autenticação de dois fatores de outros usuários, alterar seu endereço de e-mail e redefinir sua senha
|
||||||
manage_users: Gerenciar usuários
|
manage_users: Gerenciar usuários
|
||||||
manage_users_description: Permite aos usuários ver os detalhes de outros usuários e executar ações de moderação contra eles
|
manage_users_description: Permite aos usuários ver os detalhes de outros usuários e executar ações de moderação contra eles
|
||||||
manage_webhooks: Gerenciar Webhooks
|
manage_webhooks: Gerenciar Webhooks
|
||||||
@ -765,6 +797,7 @@ pt-BR:
|
|||||||
destroyed_msg: Upload do site excluído com sucesso!
|
destroyed_msg: Upload do site excluído com sucesso!
|
||||||
software_updates:
|
software_updates:
|
||||||
critical_update: Crítico — por favor, atualize rapidamente
|
critical_update: Crítico — por favor, atualize rapidamente
|
||||||
|
description: É recomendável que você mantenha a instalação do Mastodon atualizada para se beneficiar das correções e das novas funcionalidades. Além disso, às vezes é imprescindível atualizar o Mastodon rapidamente para evitar problemas de segurança. Por esses motivos, o Mastodon verifica se há atualizações a cada 30 minutos e notificará você de acordo com as suas preferências de notificação por e-mail.
|
||||||
documentation_link: Saiba mais
|
documentation_link: Saiba mais
|
||||||
release_notes: Notas de lançamento
|
release_notes: Notas de lançamento
|
||||||
title: Atualizações disponíveis
|
title: Atualizações disponíveis
|
||||||
@ -851,16 +884,39 @@ pt-BR:
|
|||||||
action: Confira aqui para mais informações
|
action: Confira aqui para mais informações
|
||||||
message_html: "<strong>Seu armazenamento de objetos está mal configurado. A privacidade de seus usuários está em risco.</strong>"
|
message_html: "<strong>Seu armazenamento de objetos está mal configurado. A privacidade de seus usuários está em risco.</strong>"
|
||||||
tags:
|
tags:
|
||||||
|
moderation:
|
||||||
|
not_trendable: Fora de moda
|
||||||
|
not_usable: Não utilizável
|
||||||
|
pending_review: Revisão pendente
|
||||||
|
review_requested: Revisão solicitada
|
||||||
|
reviewed: Revisado
|
||||||
|
title: Status
|
||||||
|
trendable: Tendências
|
||||||
|
unreviewed: Não revisado
|
||||||
|
usable: Utilizável
|
||||||
|
name: Nome
|
||||||
|
newest: Mais recente
|
||||||
|
oldest: Mais antigos
|
||||||
|
open: Visualizar Publicamente
|
||||||
|
reset: Reinicializar
|
||||||
review: Status da revisão
|
review: Status da revisão
|
||||||
|
search: Buscar
|
||||||
|
title: Hashtags
|
||||||
updated_msg: Configurações de hashtag atualizadas
|
updated_msg: Configurações de hashtag atualizadas
|
||||||
title: Administração
|
title: Administração
|
||||||
trends:
|
trends:
|
||||||
allow: Permitir
|
allow: Permitir
|
||||||
approved: Aprovado
|
approved: Aprovado
|
||||||
|
confirm_allow: Você tem certeza que deseja permitir as tags selecionadas?
|
||||||
|
confirm_disallow: Você tem certeza de que deseja vetar as tags selecionadas?
|
||||||
disallow: Impedir
|
disallow: Impedir
|
||||||
links:
|
links:
|
||||||
allow: Permitir link
|
allow: Permitir link
|
||||||
allow_provider: Permitir editor
|
allow_provider: Permitir editor
|
||||||
|
confirm_allow: Tem certeza que deseja permitir os links selecionados?
|
||||||
|
confirm_allow_provider: Tem certeza que deseja permitir os provedores selecionados?
|
||||||
|
confirm_disallow: Tem certeza que deseja vetar os links selecionados?
|
||||||
|
confirm_disallow_provider: Tem certeza que deseja vetar os provedores selecionados?
|
||||||
description_html: Estes são links que estão sendo compartilhados por contas que seu servidor vê. Você pode ajudar seus usuários a descobrir o que está acontecendo no mundo. Nenhum link é exibido publicamente até que você aprove o editor. Você também pode permitir ou rejeitar links individuais.
|
description_html: Estes são links que estão sendo compartilhados por contas que seu servidor vê. Você pode ajudar seus usuários a descobrir o que está acontecendo no mundo. Nenhum link é exibido publicamente até que você aprove o editor. Você também pode permitir ou rejeitar links individuais.
|
||||||
disallow: Proibir link
|
disallow: Proibir link
|
||||||
disallow_provider: Proibir autor
|
disallow_provider: Proibir autor
|
||||||
@ -884,6 +940,10 @@ pt-BR:
|
|||||||
statuses:
|
statuses:
|
||||||
allow: Permitir publicação
|
allow: Permitir publicação
|
||||||
allow_account: Permitir autor
|
allow_account: Permitir autor
|
||||||
|
confirm_allow: Tem certeza que deseja permitir os status selecionados?
|
||||||
|
confirm_allow_account: Tem certeza que deseja permitir as contas selecionadas?
|
||||||
|
confirm_disallow: Tem certeza que deseja vetar os status selecionados?
|
||||||
|
confirm_disallow_account: Tem certeza que deseja vetar as contas selecionadas?
|
||||||
description_html: Estes são as publicações que seu servidor sabe que estão sendo muito compartilhadas e favorecidas no momento. Isso pode ajudar seus usuários, novos e atuais, a encontrar mais pessoas para seguir. Nenhuma publicação é exibida publicamente até que você aprove o autor e o autor permitir que sua conta seja sugerida a outros. Você também pode permitir ou rejeitar publicações individuais.
|
description_html: Estes são as publicações que seu servidor sabe que estão sendo muito compartilhadas e favorecidas no momento. Isso pode ajudar seus usuários, novos e atuais, a encontrar mais pessoas para seguir. Nenhuma publicação é exibida publicamente até que você aprove o autor e o autor permitir que sua conta seja sugerida a outros. Você também pode permitir ou rejeitar publicações individuais.
|
||||||
disallow: Proibir publicação
|
disallow: Proibir publicação
|
||||||
disallow_account: Proibir autor
|
disallow_account: Proibir autor
|
||||||
@ -916,6 +976,7 @@ pt-BR:
|
|||||||
used_by_over_week:
|
used_by_over_week:
|
||||||
one: Usado por uma pessoa na última semana
|
one: Usado por uma pessoa na última semana
|
||||||
other: Usado por %{count} pessoas na última semana
|
other: Usado por %{count} pessoas na última semana
|
||||||
|
title: Recomendações e tendências
|
||||||
trending: Em alta
|
trending: Em alta
|
||||||
warning_presets:
|
warning_presets:
|
||||||
add_new: Adicionar novo
|
add_new: Adicionar novo
|
||||||
@ -1000,7 +1061,9 @@ pt-BR:
|
|||||||
guide_link_text: Todos podem contribuir.
|
guide_link_text: Todos podem contribuir.
|
||||||
sensitive_content: Conteúdo sensível
|
sensitive_content: Conteúdo sensível
|
||||||
application_mailer:
|
application_mailer:
|
||||||
|
notification_preferences: Alterar preferências de e-mail
|
||||||
salutation: "%{name},"
|
salutation: "%{name},"
|
||||||
|
settings: 'Alterar preferências de e-mail: %{link}'
|
||||||
unsubscribe: Desinscrever
|
unsubscribe: Desinscrever
|
||||||
view: 'Ver:'
|
view: 'Ver:'
|
||||||
view_profile: Ver perfil
|
view_profile: Ver perfil
|
||||||
@ -1020,6 +1083,7 @@ pt-BR:
|
|||||||
hint_html: Só mais uma coisa! Precisamos confirmar que você é um humano (isso é para que possamos evitar o spam!). Resolva o CAPTCHA abaixo e clique em "Continuar".
|
hint_html: Só mais uma coisa! Precisamos confirmar que você é um humano (isso é para que possamos evitar o spam!). Resolva o CAPTCHA abaixo e clique em "Continuar".
|
||||||
title: Verificação de segurança
|
title: Verificação de segurança
|
||||||
confirmations:
|
confirmations:
|
||||||
|
awaiting_review: Seu endereço de e-mail está confirmado! A equipe %{domain} está agora revisando a sua inscrição. Você receberá um e-mail se a sua conta for aprovada!
|
||||||
awaiting_review_title: Seu cadastro está sendo analisado
|
awaiting_review_title: Seu cadastro está sendo analisado
|
||||||
clicking_this_link: clicar este link
|
clicking_this_link: clicar este link
|
||||||
login_link: entrar
|
login_link: entrar
|
||||||
@ -1027,6 +1091,7 @@ pt-BR:
|
|||||||
redirect_to_app_html: Você deveria ter sido redirecionado para o aplicativo <strong>%{app_name}</strong>. Se isso não aconteceu, tente %{clicking_this_link} ou volte manualmente para o aplicativo.
|
redirect_to_app_html: Você deveria ter sido redirecionado para o aplicativo <strong>%{app_name}</strong>. Se isso não aconteceu, tente %{clicking_this_link} ou volte manualmente para o aplicativo.
|
||||||
registration_complete: Seu cadastro no %{domain} foi concluído!
|
registration_complete: Seu cadastro no %{domain} foi concluído!
|
||||||
welcome_title: Boas vindas, %{name}!
|
welcome_title: Boas vindas, %{name}!
|
||||||
|
wrong_email_hint: Se esse endereço de e-mail não estiver correto, você pode alterá-lo nas configurações da conta.
|
||||||
delete_account: Excluir conta
|
delete_account: Excluir conta
|
||||||
delete_account_html: Se você deseja excluir sua conta, você pode <a href="%{path}">fazer isso aqui</a>. Uma confirmação será solicitada.
|
delete_account_html: Se você deseja excluir sua conta, você pode <a href="%{path}">fazer isso aqui</a>. Uma confirmação será solicitada.
|
||||||
description:
|
description:
|
||||||
@ -1047,6 +1112,7 @@ pt-BR:
|
|||||||
or_log_in_with: Ou entre com
|
or_log_in_with: Ou entre com
|
||||||
privacy_policy_agreement_html: Eu li e concordo com a <a href="%{privacy_policy_path}" target="_blank">política de privacidade</a>
|
privacy_policy_agreement_html: Eu li e concordo com a <a href="%{privacy_policy_path}" target="_blank">política de privacidade</a>
|
||||||
progress:
|
progress:
|
||||||
|
confirm: Confirmar e-mail
|
||||||
details: Suas informações
|
details: Suas informações
|
||||||
review: Nossa avaliação
|
review: Nossa avaliação
|
||||||
rules: Aceitar regras
|
rules: Aceitar regras
|
||||||
@ -1068,8 +1134,10 @@ pt-BR:
|
|||||||
security: Segurança
|
security: Segurança
|
||||||
set_new_password: Definir uma nova senha
|
set_new_password: Definir uma nova senha
|
||||||
setup:
|
setup:
|
||||||
|
email_below_hint_html: Verifique a sua pasta de spam, ou solicite outra. Você pode corrigir o seu endereço de e-mail se estiver errado.
|
||||||
email_settings_hint_html: Clique no link que te enviamos para verificar %{email}. Esperaremos aqui.
|
email_settings_hint_html: Clique no link que te enviamos para verificar %{email}. Esperaremos aqui.
|
||||||
link_not_received: Não recebeu um link?
|
link_not_received: Não recebeu um link?
|
||||||
|
new_confirmation_instructions_sent: Você receberá um novo e-mail com o link de confirmação em alguns minutos!
|
||||||
title: Verifique sua caixa de entrada
|
title: Verifique sua caixa de entrada
|
||||||
sign_in:
|
sign_in:
|
||||||
preamble_html: Entre com suas credenciais de domínios ( <strong>%{domain}</strong> ) . Se sua conta estiver hospedada em um servidor diferente, você não deve conseguir acessar este conteúdo.
|
preamble_html: Entre com suas credenciais de domínios ( <strong>%{domain}</strong> ) . Se sua conta estiver hospedada em um servidor diferente, você não deve conseguir acessar este conteúdo.
|
||||||
@ -1080,7 +1148,9 @@ pt-BR:
|
|||||||
title: Então vamos lá criar uma conta em %{domain}.
|
title: Então vamos lá criar uma conta em %{domain}.
|
||||||
status:
|
status:
|
||||||
account_status: Status da conta
|
account_status: Status da conta
|
||||||
|
confirming: Confirmação por e-mail pendente.
|
||||||
functional: Sua conta está totalmente operacional.
|
functional: Sua conta está totalmente operacional.
|
||||||
|
pending: Sua inscrição está aguardando revisão pela nossa equipe. Isto pode levar algum tempo. Você receberá um e-mail se sua inscrição for aprovada.
|
||||||
redirecting_to: Sua conta está inativa porque atualmente está redirecionando para %{acct}.
|
redirecting_to: Sua conta está inativa porque atualmente está redirecionando para %{acct}.
|
||||||
self_destruct: Como %{domain} está se encerrando, você só terá acesso limitado à sua conta.
|
self_destruct: Como %{domain} está se encerrando, você só terá acesso limitado à sua conta.
|
||||||
view_strikes: Veja os avisos anteriores em relação à sua conta
|
view_strikes: Veja os avisos anteriores em relação à sua conta
|
||||||
@ -1123,6 +1193,9 @@ pt-BR:
|
|||||||
before: 'Antes de prosseguir, leia com cuidado:'
|
before: 'Antes de prosseguir, leia com cuidado:'
|
||||||
caches: Conteúdo que foi armazenado em cache por outros servidores pode continuar a existir
|
caches: Conteúdo que foi armazenado em cache por outros servidores pode continuar a existir
|
||||||
data_removal: Suas publicações e outros dados serão removidos permanentemente
|
data_removal: Suas publicações e outros dados serão removidos permanentemente
|
||||||
|
email_change_html: Você pode <a href="%{path}">alterar seu endereço de e-mail</a> sem excluir sua conta
|
||||||
|
email_contact_html: Se ainda não chegar, você pode enviar um e-mail para <a href="mailto:%{email}">%{email}</a> para obter ajuda
|
||||||
|
email_reconfirmation_html: Se você não recebeu o e-mail de confirmação, você pode <a href="%{path}">solicitá-lo novamente</a>
|
||||||
irreversible: Você não conseguirá restaurar ou reativar a sua conta
|
irreversible: Você não conseguirá restaurar ou reativar a sua conta
|
||||||
more_details_html: Para mais detalhes, consulte a <a href="%{terms_path}">Política de Privacidade</a>.
|
more_details_html: Para mais detalhes, consulte a <a href="%{terms_path}">Política de Privacidade</a>.
|
||||||
username_available: Seu nome de usuário ficará disponível novamente
|
username_available: Seu nome de usuário ficará disponível novamente
|
||||||
@ -1355,6 +1428,7 @@ pt-BR:
|
|||||||
authentication_methods:
|
authentication_methods:
|
||||||
otp: autenticação de dois fatores
|
otp: autenticação de dois fatores
|
||||||
password: senha
|
password: senha
|
||||||
|
sign_in_token: código de segurança do e-mail
|
||||||
webauthn: chaves de segurança
|
webauthn: chaves de segurança
|
||||||
description_html: Se você vir atividades suspeitas ou não reconhecidas, considere alterar sua senha e ativar a autenticação de dois fatores.
|
description_html: Se você vir atividades suspeitas ou não reconhecidas, considere alterar sua senha e ativar a autenticação de dois fatores.
|
||||||
empty: Sem histórico de autenticação disponível
|
empty: Sem histórico de autenticação disponível
|
||||||
@ -1365,10 +1439,14 @@ pt-BR:
|
|||||||
unsubscribe:
|
unsubscribe:
|
||||||
action: Sim, cancelar subscrição
|
action: Sim, cancelar subscrição
|
||||||
complete: Desinscrito
|
complete: Desinscrito
|
||||||
|
confirmation_html: Tem certeza que deseja cancelar a assinatura de %{type} para Mastodon no %{domain} para o seu endereço de e-mail %{email}? Você sempre pode se inscrever novamente nas <a href="%{settings_path}">configurações de notificação de email</a>.
|
||||||
|
resubscribe_html: Se você cancelou sua inscrição por engano, você pode se inscrever novamente em suas <a href="%{settings_path}"> configurações de notificações por e-mail</a>.
|
||||||
|
success_html: Você não mais receberá %{type} no Mastodon em %{domain} ao seu endereço de e-mail %{email}.
|
||||||
title: Cancelar inscrição
|
title: Cancelar inscrição
|
||||||
media_attachments:
|
media_attachments:
|
||||||
validations:
|
validations:
|
||||||
images_and_video: Não foi possível anexar um vídeo a uma publicação que já contém imagens
|
images_and_video: Não foi possível anexar um vídeo a uma publicação que já contém imagens
|
||||||
|
not_found: Mídia %{ids} não encontrada ou já anexada a outra publicação
|
||||||
not_ready: Não é possível anexar arquivos que não terminaram de ser processados. Tente novamente daqui a pouco!
|
not_ready: Não é possível anexar arquivos que não terminaram de ser processados. Tente novamente daqui a pouco!
|
||||||
too_many: Não foi possível anexar mais de 4 imagens
|
too_many: Não foi possível anexar mais de 4 imagens
|
||||||
migrations:
|
migrations:
|
||||||
@ -1445,6 +1523,8 @@ pt-BR:
|
|||||||
update:
|
update:
|
||||||
subject: "%{name} editou uma publicação"
|
subject: "%{name} editou uma publicação"
|
||||||
notifications:
|
notifications:
|
||||||
|
administration_emails: Notificações de e-mail do administrador
|
||||||
|
email_events: Eventos para notificações por e-mail
|
||||||
email_events_hint: 'Selecione os eventos que deseja receber notificações:'
|
email_events_hint: 'Selecione os eventos que deseja receber notificações:'
|
||||||
number:
|
number:
|
||||||
human:
|
human:
|
||||||
@ -1603,6 +1683,7 @@ pt-BR:
|
|||||||
import: Importar
|
import: Importar
|
||||||
import_and_export: Importar e exportar
|
import_and_export: Importar e exportar
|
||||||
migrate: Migração de conta
|
migrate: Migração de conta
|
||||||
|
notifications: Notificações por e-mail
|
||||||
preferences: Preferências
|
preferences: Preferências
|
||||||
profile: Perfil
|
profile: Perfil
|
||||||
relationships: Seguindo e seguidores
|
relationships: Seguindo e seguidores
|
||||||
@ -1849,6 +1930,7 @@ pt-BR:
|
|||||||
invalid_otp_token: Código de dois fatores inválido
|
invalid_otp_token: Código de dois fatores inválido
|
||||||
otp_lost_help_html: Se você perder o acesso à ambos, você pode entrar em contato com %{email}
|
otp_lost_help_html: Se você perder o acesso à ambos, você pode entrar em contato com %{email}
|
||||||
rate_limited: Muitas tentativas de autenticação; tente novamente mais tarde.
|
rate_limited: Muitas tentativas de autenticação; tente novamente mais tarde.
|
||||||
|
seamless_external_login: Você está logado através de um serviço externo, portanto as configurações de senha e e-mail não estão disponíveis.
|
||||||
signed_in_as: 'Entrou como:'
|
signed_in_as: 'Entrou como:'
|
||||||
verification:
|
verification:
|
||||||
extra_instructions_html: <strong>Dica:</strong> O link do seu site não precisa ser visível. O importante é a parte <code>rel="me"</code>, que impede a personificação em sites com conteúdo gerado pelo usuário. Você pode até usar uma tag <code>link</code> no cabeçalho da página ao invés de uma tag <code>a</code>, mas é importante que o HTML esteja acessível sem executar JavaScript.
|
extra_instructions_html: <strong>Dica:</strong> O link do seu site não precisa ser visível. O importante é a parte <code>rel="me"</code>, que impede a personificação em sites com conteúdo gerado pelo usuário. Você pode até usar uma tag <code>link</code> no cabeçalho da página ao invés de uma tag <code>a</code>, mas é importante que o HTML esteja acessível sem executar JavaScript.
|
||||||
|
@ -211,6 +211,7 @@ pt-BR:
|
|||||||
setting_default_privacy: Privacidade dos toots
|
setting_default_privacy: Privacidade dos toots
|
||||||
setting_default_sensitive: Sempre marcar mídia como sensível
|
setting_default_sensitive: Sempre marcar mídia como sensível
|
||||||
setting_delete_modal: Solicitar confirmação antes de excluir toot
|
setting_delete_modal: Solicitar confirmação antes de excluir toot
|
||||||
|
setting_disable_hover_cards: Desativar visualização de perfil ao passar o mouse por cima
|
||||||
setting_disable_swiping: Desabilitar movimentos deslizantes
|
setting_disable_swiping: Desabilitar movimentos deslizantes
|
||||||
setting_display_media: Exibição das mídias
|
setting_display_media: Exibição das mídias
|
||||||
setting_display_media_default: Padrão
|
setting_display_media_default: Padrão
|
||||||
@ -242,11 +243,13 @@ pt-BR:
|
|||||||
warn: Ocultar com um aviso
|
warn: Ocultar com um aviso
|
||||||
form_admin_settings:
|
form_admin_settings:
|
||||||
activity_api_enabled: Publicar estatísticas agregadas sobre atividade de usuários na API
|
activity_api_enabled: Publicar estatísticas agregadas sobre atividade de usuários na API
|
||||||
|
app_icon: Ícone do aplicativo
|
||||||
backups_retention_period: Período de retenção do arquivo de usuário
|
backups_retention_period: Período de retenção do arquivo de usuário
|
||||||
bootstrap_timeline_accounts: Sempre recomendar essas contas para novos usuários
|
bootstrap_timeline_accounts: Sempre recomendar essas contas para novos usuários
|
||||||
closed_registrations_message: Mensagem personalizada quando inscrições não estão disponíveis
|
closed_registrations_message: Mensagem personalizada quando inscrições não estão disponíveis
|
||||||
content_cache_retention_period: Período de retenção de conteúdo remoto
|
content_cache_retention_period: Período de retenção de conteúdo remoto
|
||||||
custom_css: CSS personalizável
|
custom_css: CSS personalizável
|
||||||
|
favicon: Favicon
|
||||||
mascot: Mascote personalizado (legado)
|
mascot: Mascote personalizado (legado)
|
||||||
media_cache_retention_period: Período de retenção do cachê de mídia
|
media_cache_retention_period: Período de retenção do cachê de mídia
|
||||||
peers_api_enabled: Publicar lista de instâncias de servidor descobertas na API
|
peers_api_enabled: Publicar lista de instâncias de servidor descobertas na API
|
||||||
@ -311,6 +314,7 @@ pt-BR:
|
|||||||
listable: Permitir que esta hashtag apareça em pesquisas e sugestões
|
listable: Permitir que esta hashtag apareça em pesquisas e sugestões
|
||||||
name: Hashtag
|
name: Hashtag
|
||||||
trendable: Permitir que esta hashtag fique em alta
|
trendable: Permitir que esta hashtag fique em alta
|
||||||
|
usable: Permitir que as publicações usem esta hashtag localmente
|
||||||
user:
|
user:
|
||||||
role: Cargo
|
role: Cargo
|
||||||
time_zone: Fuso horário
|
time_zone: Fuso horário
|
||||||
|
@ -1454,6 +1454,7 @@ tr:
|
|||||||
media_attachments:
|
media_attachments:
|
||||||
validations:
|
validations:
|
||||||
images_and_video: Zaten resim içeren bir duruma video eklenemez
|
images_and_video: Zaten resim içeren bir duruma video eklenemez
|
||||||
|
not_found: "%{ids} medya dosyaları bulunamadı veya başka bir gönderiye zaten eklenmiş"
|
||||||
not_ready: İşlemi tamamlanmamış dosyalar eklenemez. Birazdan tekrar deneyin!
|
not_ready: İşlemi tamamlanmamış dosyalar eklenemez. Birazdan tekrar deneyin!
|
||||||
too_many: 4'ten fazla dosya eklenemiyor
|
too_many: 4'ten fazla dosya eklenemiyor
|
||||||
migrations:
|
migrations:
|
||||||
|
@ -1,34 +1,33 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class Mastodon::RedisConfiguration
|
class Mastodon::RedisConfiguration
|
||||||
|
DEFAULTS = {
|
||||||
|
host: 'localhost',
|
||||||
|
port: 6379,
|
||||||
|
db: 0,
|
||||||
|
}.freeze
|
||||||
|
|
||||||
def base
|
def base
|
||||||
@base ||= {
|
@base ||= setup_config(prefix: nil, defaults: DEFAULTS)
|
||||||
url: setup_base_redis_url,
|
.merge(namespace: base_namespace)
|
||||||
driver: driver,
|
|
||||||
namespace: base_namespace,
|
|
||||||
}
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def sidekiq
|
def sidekiq
|
||||||
@sidekiq ||= {
|
@sidekiq ||= setup_config(prefix: 'SIDEKIQ_')
|
||||||
url: setup_prefixed_redis_url(:sidekiq),
|
.merge(namespace: sidekiq_namespace)
|
||||||
driver: driver,
|
|
||||||
namespace: sidekiq_namespace,
|
|
||||||
}
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def cache
|
def cache
|
||||||
@cache ||= {
|
@cache ||= setup_config(prefix: 'CACHE_')
|
||||||
url: setup_prefixed_redis_url(:cache),
|
.merge({
|
||||||
driver: driver,
|
namespace: cache_namespace,
|
||||||
namespace: cache_namespace,
|
expires_in: 10.minutes,
|
||||||
expires_in: 10.minutes,
|
connect_timeout: 5,
|
||||||
connect_timeout: 5,
|
pool: {
|
||||||
pool: {
|
size: Sidekiq.server? ? Sidekiq[:concurrency] : Integer(ENV['MAX_THREADS'] || 5),
|
||||||
size: Sidekiq.server? ? Sidekiq[:concurrency] : Integer(ENV['MAX_THREADS'] || 5),
|
timeout: 5,
|
||||||
timeout: 5,
|
},
|
||||||
},
|
})
|
||||||
}
|
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
@ -55,42 +54,53 @@ class Mastodon::RedisConfiguration
|
|||||||
namespace ? "#{namespace}_cache" : 'cache'
|
namespace ? "#{namespace}_cache" : 'cache'
|
||||||
end
|
end
|
||||||
|
|
||||||
def setup_base_redis_url
|
def setup_config(prefix: nil, defaults: {})
|
||||||
url = ENV.fetch('REDIS_URL', nil)
|
prefix = "#{prefix}REDIS_"
|
||||||
return url if url.present?
|
|
||||||
|
|
||||||
user = ENV.fetch('REDIS_USER', '')
|
url = ENV.fetch("#{prefix}URL", nil)
|
||||||
password = ENV.fetch('REDIS_PASSWORD', '')
|
user = ENV.fetch("#{prefix}USER", nil)
|
||||||
host = ENV.fetch('REDIS_HOST', 'localhost')
|
password = ENV.fetch("#{prefix}PASSWORD", nil)
|
||||||
port = ENV.fetch('REDIS_PORT', 6379)
|
host = ENV.fetch("#{prefix}HOST", defaults[:host])
|
||||||
db = ENV.fetch('REDIS_DB', 0)
|
port = ENV.fetch("#{prefix}PORT", defaults[:port])
|
||||||
|
db = ENV.fetch("#{prefix}DB", defaults[:db])
|
||||||
|
name = ENV.fetch("#{prefix}SENTINEL_MASTER", nil)
|
||||||
|
sentinels = parse_sentinels(ENV.fetch("#{prefix}SENTINELS", nil))
|
||||||
|
|
||||||
construct_uri(host, port, db, user, password)
|
return { url:, driver: } if url
|
||||||
end
|
|
||||||
|
|
||||||
def setup_prefixed_redis_url(prefix)
|
if name.present? && sentinels.present?
|
||||||
prefix = "#{prefix.to_s.upcase}_"
|
host = name
|
||||||
url = ENV.fetch("#{prefix}REDIS_URL", nil)
|
port = nil
|
||||||
|
db ||= 0
|
||||||
return url if url.present?
|
|
||||||
|
|
||||||
user = ENV.fetch("#{prefix}REDIS_USER", nil)
|
|
||||||
password = ENV.fetch("#{prefix}REDIS_PASSWORD", nil)
|
|
||||||
host = ENV.fetch("#{prefix}REDIS_HOST", nil)
|
|
||||||
port = ENV.fetch("#{prefix}REDIS_PORT", nil)
|
|
||||||
db = ENV.fetch("#{prefix}REDIS_DB", nil)
|
|
||||||
|
|
||||||
if host.nil?
|
|
||||||
base[:url]
|
|
||||||
else
|
else
|
||||||
construct_uri(host, port, db, user, password)
|
sentinels = nil
|
||||||
|
end
|
||||||
|
|
||||||
|
url = construct_uri(host, port, db, user, password)
|
||||||
|
|
||||||
|
if url.present?
|
||||||
|
{ url:, driver:, name:, sentinels: }
|
||||||
|
else
|
||||||
|
# Fall back to base config. This has defaults for the URL
|
||||||
|
# so this cannot lead to an endless loop.
|
||||||
|
base
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def construct_uri(host, port, db, user, password)
|
def construct_uri(host, port, db, user, password)
|
||||||
|
return nil if host.blank?
|
||||||
|
|
||||||
Addressable::URI.parse("redis://#{host}:#{port}/#{db}").tap do |uri|
|
Addressable::URI.parse("redis://#{host}:#{port}/#{db}").tap do |uri|
|
||||||
uri.user = user if user.present?
|
uri.user = user if user.present?
|
||||||
uri.password = password if password.present?
|
uri.password = password if password.present?
|
||||||
end.normalize.to_str
|
end.normalize.to_str
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def parse_sentinels(sentinels_string)
|
||||||
|
(sentinels_string || '').split(',').map do |sentinel|
|
||||||
|
host, port = sentinel.split(':')
|
||||||
|
port = port.present? ? port.to_i : 26_379
|
||||||
|
{ host: host, port: port }
|
||||||
|
end.presence
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -178,9 +178,9 @@
|
|||||||
"eslint-define-config": "^2.0.0",
|
"eslint-define-config": "^2.0.0",
|
||||||
"eslint-import-resolver-typescript": "^3.5.5",
|
"eslint-import-resolver-typescript": "^3.5.5",
|
||||||
"eslint-plugin-formatjs": "^4.10.1",
|
"eslint-plugin-formatjs": "^4.10.1",
|
||||||
"eslint-plugin-import": "~2.29.0",
|
"eslint-plugin-import": "~2.30.0",
|
||||||
"eslint-plugin-jsdoc": "^50.0.0",
|
"eslint-plugin-jsdoc": "^50.0.0",
|
||||||
"eslint-plugin-jsx-a11y": "~6.9.0",
|
"eslint-plugin-jsx-a11y": "~6.10.0",
|
||||||
"eslint-plugin-promise": "~7.1.0",
|
"eslint-plugin-promise": "~7.1.0",
|
||||||
"eslint-plugin-react": "^7.33.2",
|
"eslint-plugin-react": "^7.33.2",
|
||||||
"eslint-plugin-react-hooks": "^4.6.0",
|
"eslint-plugin-react-hooks": "^4.6.0",
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe AccountsIndex do
|
RSpec.describe AccountsIndex do
|
||||||
describe 'Searching the index' do
|
describe 'Searching the index' do
|
||||||
before do
|
before do
|
||||||
mock_elasticsearch_response(described_class, raw_response)
|
mock_elasticsearch_response(described_class, raw_response)
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe PublicStatusesIndex do
|
RSpec.describe PublicStatusesIndex do
|
||||||
describe 'Searching the index' do
|
describe 'Searching the index' do
|
||||||
before do
|
before do
|
||||||
mock_elasticsearch_response(described_class, raw_response)
|
mock_elasticsearch_response(described_class, raw_response)
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe StatusesIndex do
|
RSpec.describe StatusesIndex do
|
||||||
describe 'Searching the index' do
|
describe 'Searching the index' do
|
||||||
before do
|
before do
|
||||||
mock_elasticsearch_response(described_class, raw_response)
|
mock_elasticsearch_response(described_class, raw_response)
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe TagsIndex do
|
RSpec.describe TagsIndex do
|
||||||
describe 'Searching the index' do
|
describe 'Searching the index' do
|
||||||
before do
|
before do
|
||||||
mock_elasticsearch_response(described_class, raw_response)
|
mock_elasticsearch_response(described_class, raw_response)
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Rack::Attack, type: :request do
|
RSpec.describe Rack::Attack, type: :request do
|
||||||
def app
|
def app
|
||||||
Rails.application
|
Rails.application
|
||||||
end
|
end
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe ActivityPub::ClaimsController do
|
RSpec.describe ActivityPub::ClaimsController do
|
||||||
let(:account) { Fabricate(:account) }
|
let(:account) { Fabricate(:account) }
|
||||||
|
|
||||||
describe 'POST #create' do
|
describe 'POST #create' do
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::AccountActionsController do
|
RSpec.describe Admin::AccountActionsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::ActionLogsController do
|
RSpec.describe Admin::ActionLogsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
# Action logs typically cause issues when their targets are not in the database
|
# Action logs typically cause issues when their targets are not in the database
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::BaseController do
|
RSpec.describe Admin::BaseController do
|
||||||
controller do
|
controller do
|
||||||
def success
|
def success
|
||||||
authorize :dashboard, :index?
|
authorize :dashboard, :index?
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::CustomEmojisController do
|
RSpec.describe Admin::CustomEmojisController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::DashboardController do
|
RSpec.describe Admin::DashboardController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
describe 'GET #index' do
|
describe 'GET #index' do
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::FollowRecommendationsController do
|
RSpec.describe Admin::FollowRecommendationsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::InvitesController do
|
RSpec.describe Admin::InvitesController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::IpBlocksController do
|
RSpec.describe Admin::IpBlocksController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::RelationshipsController do
|
RSpec.describe Admin::RelationshipsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::RelaysController do
|
RSpec.describe Admin::RelaysController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::ReportNotesController do
|
RSpec.describe Admin::ReportNotesController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::Reports::ActionsController do
|
RSpec.describe Admin::Reports::ActionsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::ReportsController do
|
RSpec.describe Admin::ReportsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::RolesController do
|
RSpec.describe Admin::RolesController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:permissions) { UserRole::Flags::NONE }
|
let(:permissions) { UserRole::Flags::NONE }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::RulesController do
|
RSpec.describe Admin::RulesController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::SiteUploadsController do
|
RSpec.describe Admin::SiteUploadsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::StatusesController do
|
RSpec.describe Admin::StatusesController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::Trends::Links::PreviewCardProvidersController do
|
RSpec.describe Admin::Trends::Links::PreviewCardProvidersController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::Trends::LinksController do
|
RSpec.describe Admin::Trends::LinksController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::Trends::StatusesController do
|
RSpec.describe Admin::Trends::StatusesController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::Trends::TagsController do
|
RSpec.describe Admin::Trends::TagsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::Users::RolesController do
|
RSpec.describe Admin::Users::RolesController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:current_role) { UserRole.create(name: 'Foo', permissions: UserRole::FLAGS[:manage_roles], position: 10) }
|
let(:current_role) { UserRole.create(name: 'Foo', permissions: UserRole::FLAGS[:manage_roles], position: 10) }
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
require 'webauthn/fake_client'
|
require 'webauthn/fake_client'
|
||||||
|
|
||||||
describe Admin::Users::TwoFactorAuthenticationsController do
|
RSpec.describe Admin::Users::TwoFactorAuthenticationsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user) }
|
let(:user) { Fabricate(:user) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::WarningPresetsController do
|
RSpec.describe Admin::WarningPresetsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::Webhooks::SecretsController do
|
RSpec.describe Admin::Webhooks::SecretsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Admin::WebhooksController do
|
RSpec.describe Admin::WebhooksController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Api::BaseController do
|
RSpec.describe Api::BaseController do
|
||||||
controller do
|
controller do
|
||||||
def success
|
def success
|
||||||
head 200
|
head 200
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Api::Web::PushSubscriptionsController do
|
RSpec.describe Api::Web::PushSubscriptionsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user) }
|
let(:user) { Fabricate(:user) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe ApplicationController do
|
RSpec.describe ApplicationController do
|
||||||
controller do
|
controller do
|
||||||
def success
|
def success
|
||||||
head 200
|
head 200
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Auth::ChallengesController do
|
RSpec.describe Auth::ChallengesController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:password) { 'foobar12345' }
|
let(:password) { 'foobar12345' }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Auth::ConfirmationsController do
|
RSpec.describe Auth::ConfirmationsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
describe 'GET #new' do
|
describe 'GET #new' do
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Auth::PasswordsController do
|
RSpec.describe Auth::PasswordsController do
|
||||||
include Devise::Test::ControllerHelpers
|
include Devise::Test::ControllerHelpers
|
||||||
|
|
||||||
describe 'GET #new' do
|
describe 'GET #new' do
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Auth::SetupController do
|
RSpec.describe Auth::SetupController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
describe 'GET #show' do
|
describe 'GET #show' do
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe AuthorizeInteractionsController do
|
RSpec.describe AuthorizeInteractionsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
describe 'GET #show' do
|
describe 'GET #show' do
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe AccountControllerConcern do
|
RSpec.describe AccountControllerConcern do
|
||||||
controller(ApplicationController) do
|
controller(ApplicationController) do
|
||||||
include AccountControllerConcern
|
include AccountControllerConcern
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Api::ErrorHandling do
|
RSpec.describe Api::ErrorHandling do
|
||||||
before do
|
before do
|
||||||
stub_const('FakeService', Class.new)
|
stub_const('FakeService', Class.new)
|
||||||
end
|
end
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Api::RateLimitHeaders do
|
RSpec.describe Api::RateLimitHeaders do
|
||||||
controller(ApplicationController) do
|
controller(ApplicationController) do
|
||||||
include Api::RateLimitHeaders
|
include Api::RateLimitHeaders
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Localized do
|
RSpec.describe Localized do
|
||||||
controller(ApplicationController) do
|
controller(ApplicationController) do
|
||||||
include Localized
|
include Localized
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Settings::ExportControllerConcern do
|
RSpec.describe Settings::ExportControllerConcern do
|
||||||
controller(ApplicationController) do
|
controller(ApplicationController) do
|
||||||
include Settings::ExportControllerConcern
|
include Settings::ExportControllerConcern
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe UserTrackingConcern do
|
RSpec.describe UserTrackingConcern do
|
||||||
controller(ApplicationController) do
|
controller(ApplicationController) do
|
||||||
include UserTrackingConcern
|
include UserTrackingConcern
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Filters::StatusesController do
|
RSpec.describe Filters::StatusesController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
describe 'GET #index' do
|
describe 'GET #index' do
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe FiltersController do
|
RSpec.describe FiltersController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
describe 'GET #index' do
|
describe 'GET #index' do
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe FollowerAccountsController do
|
RSpec.describe FollowerAccountsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:alice) { Fabricate(:account, username: 'alice') }
|
let(:alice) { Fabricate(:account, username: 'alice') }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe FollowingAccountsController do
|
RSpec.describe FollowingAccountsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:alice) { Fabricate(:account, username: 'alice') }
|
let(:alice) { Fabricate(:account, username: 'alice') }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe InvitesController do
|
RSpec.describe InvitesController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user) }
|
let(:user) { Fabricate(:user) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Oauth::AuthorizedApplicationsController do
|
RSpec.describe Oauth::AuthorizedApplicationsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
describe 'GET #index' do
|
describe 'GET #index' do
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe RelationshipsController do
|
RSpec.describe RelationshipsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user) }
|
let(:user) { Fabricate(:user) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Settings::AliasesController do
|
RSpec.describe Settings::AliasesController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let!(:user) { Fabricate(:user) }
|
let!(:user) { Fabricate(:user) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Settings::ApplicationsController do
|
RSpec.describe Settings::ApplicationsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let!(:user) { Fabricate(:user) }
|
let!(:user) { Fabricate(:user) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Settings::DeletesController do
|
RSpec.describe Settings::DeletesController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
describe 'GET #show' do
|
describe 'GET #show' do
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Settings::ExportsController do
|
RSpec.describe Settings::ExportsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
describe 'GET #show' do
|
describe 'GET #show' do
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Settings::FeaturedTagsController do
|
RSpec.describe Settings::FeaturedTagsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
shared_examples 'authenticate user' do
|
shared_examples 'authenticate user' do
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Settings::LoginActivitiesController do
|
RSpec.describe Settings::LoginActivitiesController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let!(:user) { Fabricate(:user) }
|
let!(:user) { Fabricate(:user) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Settings::Migration::RedirectsController do
|
RSpec.describe Settings::Migration::RedirectsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let!(:user) { Fabricate(:user, password: 'testtest') }
|
let!(:user) { Fabricate(:user, password: 'testtest') }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Settings::MigrationsController do
|
RSpec.describe Settings::MigrationsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
shared_examples 'authenticate user' do
|
shared_examples 'authenticate user' do
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Settings::PicturesController do
|
RSpec.describe Settings::PicturesController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let!(:user) { Fabricate(:user) }
|
let!(:user) { Fabricate(:user) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Settings::Preferences::AppearanceController do
|
RSpec.describe Settings::Preferences::AppearanceController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let!(:user) { Fabricate(:user) }
|
let!(:user) { Fabricate(:user) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Settings::Preferences::BaseController do
|
RSpec.describe Settings::Preferences::BaseController do
|
||||||
describe 'after_update_redirect_path' do
|
describe 'after_update_redirect_path' do
|
||||||
it 'raises error when called' do
|
it 'raises error when called' do
|
||||||
expect { described_class.new.send(:after_update_redirect_path) }.to raise_error(/Override/)
|
expect { described_class.new.send(:after_update_redirect_path) }.to raise_error(/Override/)
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Settings::Preferences::NotificationsController do
|
RSpec.describe Settings::Preferences::NotificationsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user) }
|
let(:user) { Fabricate(:user) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Settings::Preferences::OtherController do
|
RSpec.describe Settings::Preferences::OtherController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, chosen_languages: []) }
|
let(:user) { Fabricate(:user, chosen_languages: []) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Settings::SessionsController do
|
RSpec.describe Settings::SessionsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user) }
|
let(:user) { Fabricate(:user) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Settings::TwoFactorAuthentication::ConfirmationsController do
|
RSpec.describe Settings::TwoFactorAuthentication::ConfirmationsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
shared_examples 'renders :new' do
|
shared_examples 'renders :new' do
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Settings::TwoFactorAuthentication::OtpAuthenticationController do
|
RSpec.describe Settings::TwoFactorAuthentication::OtpAuthenticationController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user) }
|
let(:user) { Fabricate(:user) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Settings::TwoFactorAuthentication::RecoveryCodesController do
|
RSpec.describe Settings::TwoFactorAuthentication::RecoveryCodesController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
describe 'POST #create' do
|
describe 'POST #create' do
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
require 'webauthn/fake_client'
|
require 'webauthn/fake_client'
|
||||||
|
|
||||||
describe Settings::TwoFactorAuthentication::WebauthnCredentialsController do
|
RSpec.describe Settings::TwoFactorAuthentication::WebauthnCredentialsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:user) { Fabricate(:user) }
|
let(:user) { Fabricate(:user) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Settings::TwoFactorAuthenticationMethodsController do
|
RSpec.describe Settings::TwoFactorAuthenticationMethodsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
context 'when not signed in' do
|
context 'when not signed in' do
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe StatusesController do
|
RSpec.describe StatusesController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
describe 'GET #show' do
|
describe 'GET #show' do
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user