Merge commit '02633d6ebbe944a8769c8f2229fa9e0d6c7d1142' into glitch-soc/merge-upstream
This commit is contained in:
commit
6f35e93f72
4
Gemfile
4
Gemfile
@ -99,10 +99,10 @@ gem 'json-ld'
|
|||||||
gem 'json-ld-preloaded', '~> 3.2'
|
gem 'json-ld-preloaded', '~> 3.2'
|
||||||
gem 'rdf-normalize', '~> 0.5'
|
gem 'rdf-normalize', '~> 0.5'
|
||||||
|
|
||||||
gem 'opentelemetry-api', '~> 1.3.0'
|
gem 'opentelemetry-api', '~> 1.4.0'
|
||||||
|
|
||||||
group :opentelemetry do
|
group :opentelemetry do
|
||||||
gem 'opentelemetry-exporter-otlp', '~> 0.28.0', require: false
|
gem 'opentelemetry-exporter-otlp', '~> 0.29.0', require: false
|
||||||
gem 'opentelemetry-instrumentation-active_job', '~> 0.7.1', require: false
|
gem 'opentelemetry-instrumentation-active_job', '~> 0.7.1', require: false
|
||||||
gem 'opentelemetry-instrumentation-active_model_serializers', '~> 0.20.1', require: false
|
gem 'opentelemetry-instrumentation-active_model_serializers', '~> 0.20.1', require: false
|
||||||
gem 'opentelemetry-instrumentation-concurrent_ruby', '~> 0.21.2', require: false
|
gem 'opentelemetry-instrumentation-concurrent_ruby', '~> 0.21.2', require: false
|
||||||
|
27
Gemfile.lock
27
Gemfile.lock
@ -264,10 +264,11 @@ GEM
|
|||||||
ffi-compiler (1.3.2)
|
ffi-compiler (1.3.2)
|
||||||
ffi (>= 1.15.5)
|
ffi (>= 1.15.5)
|
||||||
rake
|
rake
|
||||||
flatware (2.3.2)
|
flatware (2.3.3)
|
||||||
|
drb
|
||||||
thor (< 2.0)
|
thor (< 2.0)
|
||||||
flatware-rspec (2.3.2)
|
flatware-rspec (2.3.3)
|
||||||
flatware (= 2.3.2)
|
flatware (= 2.3.3)
|
||||||
rspec (>= 3.6)
|
rspec (>= 3.6)
|
||||||
fog-core (2.5.0)
|
fog-core (2.5.0)
|
||||||
builder
|
builder
|
||||||
@ -290,8 +291,8 @@ GEM
|
|||||||
globalid (1.2.1)
|
globalid (1.2.1)
|
||||||
activesupport (>= 6.1)
|
activesupport (>= 6.1)
|
||||||
google-protobuf (3.25.4)
|
google-protobuf (3.25.4)
|
||||||
googleapis-common-protos-types (1.14.0)
|
googleapis-common-protos-types (1.15.0)
|
||||||
google-protobuf (~> 3.18)
|
google-protobuf (>= 3.18, < 5.a)
|
||||||
haml (6.3.0)
|
haml (6.3.0)
|
||||||
temple (>= 0.8.2)
|
temple (>= 0.8.2)
|
||||||
thor
|
thor
|
||||||
@ -489,10 +490,10 @@ GEM
|
|||||||
openssl (3.2.0)
|
openssl (3.2.0)
|
||||||
openssl-signature_algorithm (1.3.0)
|
openssl-signature_algorithm (1.3.0)
|
||||||
openssl (> 2.0)
|
openssl (> 2.0)
|
||||||
opentelemetry-api (1.3.0)
|
opentelemetry-api (1.4.0)
|
||||||
opentelemetry-common (0.20.1)
|
opentelemetry-common (0.21.0)
|
||||||
opentelemetry-api (~> 1.0)
|
opentelemetry-api (~> 1.0)
|
||||||
opentelemetry-exporter-otlp (0.28.1)
|
opentelemetry-exporter-otlp (0.29.0)
|
||||||
google-protobuf (>= 3.18)
|
google-protobuf (>= 3.18)
|
||||||
googleapis-common-protos-types (~> 1.3)
|
googleapis-common-protos-types (~> 1.3)
|
||||||
opentelemetry-api (~> 1.1)
|
opentelemetry-api (~> 1.1)
|
||||||
@ -710,7 +711,7 @@ GEM
|
|||||||
rspec-mocks (~> 3.13.0)
|
rspec-mocks (~> 3.13.0)
|
||||||
rspec-core (3.13.0)
|
rspec-core (3.13.0)
|
||||||
rspec-support (~> 3.13.0)
|
rspec-support (~> 3.13.0)
|
||||||
rspec-expectations (3.13.1)
|
rspec-expectations (3.13.2)
|
||||||
diff-lcs (>= 1.2.0, < 2.0)
|
diff-lcs (>= 1.2.0, < 2.0)
|
||||||
rspec-support (~> 3.13.0)
|
rspec-support (~> 3.13.0)
|
||||||
rspec-github (2.4.0)
|
rspec-github (2.4.0)
|
||||||
@ -780,7 +781,7 @@ GEM
|
|||||||
scenic (1.8.0)
|
scenic (1.8.0)
|
||||||
activerecord (>= 4.0.0)
|
activerecord (>= 4.0.0)
|
||||||
railties (>= 4.0.0)
|
railties (>= 4.0.0)
|
||||||
selenium-webdriver (4.23.0)
|
selenium-webdriver (4.24.0)
|
||||||
base64 (~> 0.2)
|
base64 (~> 0.2)
|
||||||
logger (~> 1.4)
|
logger (~> 1.4)
|
||||||
rexml (~> 3.2, >= 3.2.5)
|
rexml (~> 3.2, >= 3.2.5)
|
||||||
@ -833,7 +834,7 @@ GEM
|
|||||||
terrapin (1.0.1)
|
terrapin (1.0.1)
|
||||||
climate_control
|
climate_control
|
||||||
test-prof (1.4.1)
|
test-prof (1.4.1)
|
||||||
thor (1.3.1)
|
thor (1.3.2)
|
||||||
tilt (2.3.0)
|
tilt (2.3.0)
|
||||||
timeout (0.4.1)
|
timeout (0.4.1)
|
||||||
tpm-key_attestation (0.12.0)
|
tpm-key_attestation (0.12.0)
|
||||||
@ -980,8 +981,8 @@ DEPENDENCIES
|
|||||||
omniauth-rails_csrf_protection (~> 1.0)
|
omniauth-rails_csrf_protection (~> 1.0)
|
||||||
omniauth-saml (~> 2.0)
|
omniauth-saml (~> 2.0)
|
||||||
omniauth_openid_connect (~> 0.6.1)
|
omniauth_openid_connect (~> 0.6.1)
|
||||||
opentelemetry-api (~> 1.3.0)
|
opentelemetry-api (~> 1.4.0)
|
||||||
opentelemetry-exporter-otlp (~> 0.28.0)
|
opentelemetry-exporter-otlp (~> 0.29.0)
|
||||||
opentelemetry-instrumentation-active_job (~> 0.7.1)
|
opentelemetry-instrumentation-active_job (~> 0.7.1)
|
||||||
opentelemetry-instrumentation-active_model_serializers (~> 0.20.1)
|
opentelemetry-instrumentation-active_model_serializers (~> 0.20.1)
|
||||||
opentelemetry-instrumentation-concurrent_ruby (~> 0.21.2)
|
opentelemetry-instrumentation-concurrent_ruby (~> 0.21.2)
|
||||||
|
@ -42,7 +42,7 @@ class Api::V2Alpha::NotificationsController < Api::BaseController
|
|||||||
limit = limit_param(DEFAULT_NOTIFICATIONS_COUNT_LIMIT, MAX_NOTIFICATIONS_COUNT_LIMIT)
|
limit = limit_param(DEFAULT_NOTIFICATIONS_COUNT_LIMIT, MAX_NOTIFICATIONS_COUNT_LIMIT)
|
||||||
|
|
||||||
with_read_replica do
|
with_read_replica do
|
||||||
render json: { count: browserable_account_notifications.paginate_groups_by_min_id(limit, min_id: notification_marker&.last_read_id).count }
|
render json: { count: browserable_account_notifications.paginate_groups_by_min_id(limit, min_id: notification_marker&.last_read_id, grouped_types: params[:grouped_types]).count }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -68,7 +68,7 @@ class Api::V2Alpha::NotificationsController < Api::BaseController
|
|||||||
MastodonOTELTracer.in_span('Api::V2Alpha::NotificationsController#load_notifications') do
|
MastodonOTELTracer.in_span('Api::V2Alpha::NotificationsController#load_notifications') do
|
||||||
notifications = browserable_account_notifications.includes(from_account: [:account_stat, :user]).to_a_grouped_paginated_by_id(
|
notifications = browserable_account_notifications.includes(from_account: [:account_stat, :user]).to_a_grouped_paginated_by_id(
|
||||||
limit_param(DEFAULT_NOTIFICATIONS_LIMIT),
|
limit_param(DEFAULT_NOTIFICATIONS_LIMIT),
|
||||||
params_slice(:max_id, :since_id, :min_id)
|
params.slice(:max_id, :since_id, :min_id, :grouped_types).permit(:max_id, :since_id, :min_id, grouped_types: [])
|
||||||
)
|
)
|
||||||
|
|
||||||
Notification.preload_cache_collection_target_statuses(notifications) do |target_statuses|
|
Notification.preload_cache_collection_target_statuses(notifications) do |target_statuses|
|
||||||
@ -92,7 +92,7 @@ class Api::V2Alpha::NotificationsController < Api::BaseController
|
|||||||
|
|
||||||
def load_grouped_notifications
|
def load_grouped_notifications
|
||||||
MastodonOTELTracer.in_span('Api::V2Alpha::NotificationsController#load_grouped_notifications') do
|
MastodonOTELTracer.in_span('Api::V2Alpha::NotificationsController#load_grouped_notifications') do
|
||||||
@notifications.map { |notification| NotificationGroup.from_notification(notification, max_id: @group_metadata.dig(notification.group_key, :max_id)) }
|
@notifications.map { |notification| NotificationGroup.from_notification(notification, max_id: @group_metadata.dig(notification.group_key, :max_id), grouped_types: params[:grouped_types]) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -125,11 +125,11 @@ class Api::V2Alpha::NotificationsController < Api::BaseController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def browserable_params
|
def browserable_params
|
||||||
params.permit(:include_filtered, types: [], exclude_types: [])
|
params.slice(:include_filtered, :types, :exclude_types, :grouped_types).permit(:include_filtered, types: [], exclude_types: [], grouped_types: [])
|
||||||
end
|
end
|
||||||
|
|
||||||
def pagination_params(core_params)
|
def pagination_params(core_params)
|
||||||
params.slice(:limit, :types, :exclude_types, :include_filtered).permit(:limit, :include_filtered, types: [], exclude_types: []).merge(core_params)
|
params.slice(:limit, :include_filtered, :types, :exclude_types, :grouped_types).permit(:limit, :include_filtered, types: [], exclude_types: [], grouped_types: []).merge(core_params)
|
||||||
end
|
end
|
||||||
|
|
||||||
def expand_accounts_param
|
def expand_accounts_param
|
||||||
|
@ -31,11 +31,11 @@ import { RelationshipsSeveranceEvent } from './relationships_severance_event';
|
|||||||
import Report from './report';
|
import Report from './report';
|
||||||
|
|
||||||
const messages = defineMessages({
|
const messages = defineMessages({
|
||||||
favourite: { id: 'notification.favourite', defaultMessage: '{name} favorited your status' },
|
favourite: { id: 'notification.favourite', defaultMessage: '{name} favorited your post' },
|
||||||
follow: { id: 'notification.follow', defaultMessage: '{name} followed you' },
|
follow: { id: 'notification.follow', defaultMessage: '{name} followed you' },
|
||||||
ownPoll: { id: 'notification.own_poll', defaultMessage: 'Your poll has ended' },
|
ownPoll: { id: 'notification.own_poll', defaultMessage: 'Your poll has ended' },
|
||||||
poll: { id: 'notification.poll', defaultMessage: 'A poll you voted in has ended' },
|
poll: { id: 'notification.poll', defaultMessage: 'A poll you voted in has ended' },
|
||||||
reblog: { id: 'notification.reblog', defaultMessage: '{name} boosted your status' },
|
reblog: { id: 'notification.reblog', defaultMessage: '{name} boosted your post' },
|
||||||
status: { id: 'notification.status', defaultMessage: '{name} just posted' },
|
status: { id: 'notification.status', defaultMessage: '{name} just posted' },
|
||||||
update: { id: 'notification.update', defaultMessage: '{name} edited a post' },
|
update: { id: 'notification.update', defaultMessage: '{name} edited a post' },
|
||||||
adminSignUp: { id: 'notification.admin.sign_up', defaultMessage: '{name} signed up' },
|
adminSignUp: { id: 'notification.admin.sign_up', defaultMessage: '{name} signed up' },
|
||||||
@ -201,7 +201,7 @@ class Notification extends ImmutablePureComponent {
|
|||||||
<Icon id='star' icon={StarIcon} className='star-icon' />
|
<Icon id='star' icon={StarIcon} className='star-icon' />
|
||||||
|
|
||||||
<span title={notification.get('created_at')}>
|
<span title={notification.get('created_at')}>
|
||||||
<FormattedMessage id='notification.favourite' defaultMessage='{name} favorited your status' values={{ name: link }} />
|
<FormattedMessage id='notification.favourite' defaultMessage='{name} favorited your post' values={{ name: link }} />
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -231,7 +231,7 @@ class Notification extends ImmutablePureComponent {
|
|||||||
<Icon id='retweet' icon={RepeatIcon} />
|
<Icon id='retweet' icon={RepeatIcon} />
|
||||||
|
|
||||||
<span title={notification.get('created_at')}>
|
<span title={notification.get('created_at')}>
|
||||||
<FormattedMessage id='notification.reblog' defaultMessage='{name} boosted your status' values={{ name: link }} />
|
<FormattedMessage id='notification.reblog' defaultMessage='{name} boosted your post' values={{ name: link }} />
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ const labelRenderer: LabelRenderer = (displayedName, total, seeMoreHref) => {
|
|||||||
return (
|
return (
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='notification.favourite'
|
id='notification.favourite'
|
||||||
defaultMessage='{name} favorited your status'
|
defaultMessage='{name} favorited your post'
|
||||||
values={{ name: displayedName }}
|
values={{ name: displayedName }}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
@ -9,7 +9,7 @@ import { navigateToStatus } from 'mastodon/actions/statuses';
|
|||||||
import type { IconProp } from 'mastodon/components/icon';
|
import type { IconProp } from 'mastodon/components/icon';
|
||||||
import { Icon } from 'mastodon/components/icon';
|
import { Icon } from 'mastodon/components/icon';
|
||||||
import { RelativeTimestamp } from 'mastodon/components/relative_timestamp';
|
import { RelativeTimestamp } from 'mastodon/components/relative_timestamp';
|
||||||
import { useAppDispatch } from 'mastodon/store';
|
import { useAppSelector, useAppDispatch } from 'mastodon/store';
|
||||||
|
|
||||||
import { AvatarGroup } from './avatar_group';
|
import { AvatarGroup } from './avatar_group';
|
||||||
import { DisplayedName } from './displayed_name';
|
import { DisplayedName } from './displayed_name';
|
||||||
@ -60,6 +60,10 @@ export const NotificationGroupWithStatus: React.FC<{
|
|||||||
[labelRenderer, accountIds, count, labelSeeMoreHref],
|
[labelRenderer, accountIds, count, labelSeeMoreHref],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const isPrivateMention = useAppSelector(
|
||||||
|
(state) => state.statuses.getIn([statusId, 'visibility']) === 'direct',
|
||||||
|
);
|
||||||
|
|
||||||
const handlers = useMemo(
|
const handlers = useMemo(
|
||||||
() => ({
|
() => ({
|
||||||
open: () => {
|
open: () => {
|
||||||
@ -79,7 +83,10 @@ export const NotificationGroupWithStatus: React.FC<{
|
|||||||
role='button'
|
role='button'
|
||||||
className={classNames(
|
className={classNames(
|
||||||
`notification-group focusable notification-group--${type}`,
|
`notification-group focusable notification-group--${type}`,
|
||||||
{ 'notification-group--unread': unread },
|
{
|
||||||
|
'notification-group--unread': unread,
|
||||||
|
'notification-group--direct': isPrivateMention,
|
||||||
|
},
|
||||||
)}
|
)}
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
>
|
>
|
||||||
|
@ -14,7 +14,7 @@ const labelRenderer: LabelRenderer = (displayedName, total, seeMoreHref) => {
|
|||||||
return (
|
return (
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='notification.reblog'
|
id='notification.reblog'
|
||||||
defaultMessage='{name} boosted your status'
|
defaultMessage='{name} boosted your post'
|
||||||
values={{ name: displayedName }}
|
values={{ name: displayedName }}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
@ -85,7 +85,7 @@ const mapStateToProps = state => ({
|
|||||||
isComposing: state.getIn(['compose', 'is_composing']),
|
isComposing: state.getIn(['compose', 'is_composing']),
|
||||||
hasComposingText: state.getIn(['compose', 'text']).trim().length !== 0,
|
hasComposingText: state.getIn(['compose', 'text']).trim().length !== 0,
|
||||||
hasMediaAttachments: state.getIn(['compose', 'media_attachments']).size > 0,
|
hasMediaAttachments: state.getIn(['compose', 'media_attachments']).size > 0,
|
||||||
canUploadMore: !state.getIn(['compose', 'media_attachments']).some(x => ['audio', 'video'].includes(x.get('type'))) && state.getIn(['compose', 'media_attachments']).size < 4,
|
canUploadMore: !state.getIn(['compose', 'media_attachments']).some(x => ['audio', 'video'].includes(x.get('type'))) && state.getIn(['compose', 'media_attachments']).size < state.getIn(['server', 'server', 'configuration', 'statuses', 'max_media_attachments']),
|
||||||
firstLaunch: state.getIn(['settings', 'introductionVersion'], 0) < INTRODUCTION_VERSION,
|
firstLaunch: state.getIn(['settings', 'introductionVersion'], 0) < INTRODUCTION_VERSION,
|
||||||
username: state.getIn(['accounts', me, 'username']),
|
username: state.getIn(['accounts', me, 'username']),
|
||||||
});
|
});
|
||||||
|
@ -97,6 +97,8 @@
|
|||||||
"block_modal.title": "Zablokovat uživatele?",
|
"block_modal.title": "Zablokovat uživatele?",
|
||||||
"block_modal.you_wont_see_mentions": "Neuvidíte příspěvky, které ho zmiňují.",
|
"block_modal.you_wont_see_mentions": "Neuvidíte příspěvky, které ho zmiňují.",
|
||||||
"boost_modal.combo": "Příště můžete pro přeskočení stisknout {combo}",
|
"boost_modal.combo": "Příště můžete pro přeskočení stisknout {combo}",
|
||||||
|
"boost_modal.reblog": "Boostnout příspěvek?",
|
||||||
|
"boost_modal.undo_reblog": "Zrušit boostování příspěvku?",
|
||||||
"bundle_column_error.copy_stacktrace": "Zkopírovat zprávu o chybě",
|
"bundle_column_error.copy_stacktrace": "Zkopírovat zprávu o chybě",
|
||||||
"bundle_column_error.error.body": "Požadovanou stránku nelze vykreslit. Může to být způsobeno chybou v našem kódu nebo problémem s kompatibilitou prohlížeče.",
|
"bundle_column_error.error.body": "Požadovanou stránku nelze vykreslit. Může to být způsobeno chybou v našem kódu nebo problémem s kompatibilitou prohlížeče.",
|
||||||
"bundle_column_error.error.title": "Ale ne!",
|
"bundle_column_error.error.title": "Ale ne!",
|
||||||
@ -192,6 +194,7 @@
|
|||||||
"confirmations.unfollow.confirm": "Přestat sledovat",
|
"confirmations.unfollow.confirm": "Přestat sledovat",
|
||||||
"confirmations.unfollow.message": "Opravdu chcete {name} přestat sledovat?",
|
"confirmations.unfollow.message": "Opravdu chcete {name} přestat sledovat?",
|
||||||
"confirmations.unfollow.title": "Přestat sledovat uživatele?",
|
"confirmations.unfollow.title": "Přestat sledovat uživatele?",
|
||||||
|
"content_warning.hide": "Skrýt příspěvek",
|
||||||
"conversation.delete": "Smazat konverzaci",
|
"conversation.delete": "Smazat konverzaci",
|
||||||
"conversation.mark_as_read": "Označit jako přečtené",
|
"conversation.mark_as_read": "Označit jako přečtené",
|
||||||
"conversation.open": "Zobrazit konverzaci",
|
"conversation.open": "Zobrazit konverzaci",
|
||||||
|
@ -95,8 +95,10 @@
|
|||||||
"block_modal.they_cant_see_posts": "Nid ydynt yn gallu gweld eich postiadau ac ni fyddwch yn gweld eu rhai hwy.",
|
"block_modal.they_cant_see_posts": "Nid ydynt yn gallu gweld eich postiadau ac ni fyddwch yn gweld eu rhai hwy.",
|
||||||
"block_modal.they_will_know": "Gallant weld eu bod wedi'u rhwystro.",
|
"block_modal.they_will_know": "Gallant weld eu bod wedi'u rhwystro.",
|
||||||
"block_modal.title": "Blocio defnyddiwr?",
|
"block_modal.title": "Blocio defnyddiwr?",
|
||||||
"block_modal.you_wont_see_mentions": "Ni welwch bostiadau sy'n sôn amdanynt.",
|
"block_modal.you_wont_see_mentions": "Fyddwch chi ddim yn gweld postiadau sy'n sôn amdanyn nhw.",
|
||||||
"boost_modal.combo": "Mae modd pwyso {combo} er mwyn hepgor hyn tro nesa",
|
"boost_modal.combo": "Mae modd pwyso {combo} er mwyn hepgor hyn tro nesa",
|
||||||
|
"boost_modal.reblog": "Hybu postiad",
|
||||||
|
"boost_modal.undo_reblog": "Dad-hybu postiad?",
|
||||||
"bundle_column_error.copy_stacktrace": "Copïo'r adroddiad gwall",
|
"bundle_column_error.copy_stacktrace": "Copïo'r adroddiad gwall",
|
||||||
"bundle_column_error.error.body": "Nid oedd modd cynhyrchu'r dudalen honno. Gall fod oherwydd gwall yn ein cod neu fater cydnawsedd porwr.",
|
"bundle_column_error.error.body": "Nid oedd modd cynhyrchu'r dudalen honno. Gall fod oherwydd gwall yn ein cod neu fater cydnawsedd porwr.",
|
||||||
"bundle_column_error.error.title": "O na!",
|
"bundle_column_error.error.title": "O na!",
|
||||||
@ -145,7 +147,7 @@
|
|||||||
"compose.language.search": "Chwilio ieithoedd...",
|
"compose.language.search": "Chwilio ieithoedd...",
|
||||||
"compose.published.body": "Postiad wedi ei gyhoeddi.",
|
"compose.published.body": "Postiad wedi ei gyhoeddi.",
|
||||||
"compose.published.open": "Agor",
|
"compose.published.open": "Agor",
|
||||||
"compose.saved.body": "Post wedi'i gadw.",
|
"compose.saved.body": "Postiad wedi'i gadw.",
|
||||||
"compose_form.direct_message_warning_learn_more": "Dysgu mwy",
|
"compose_form.direct_message_warning_learn_more": "Dysgu mwy",
|
||||||
"compose_form.encryption_warning": "Dyw postiadau ar Mastodon ddim wedi'u hamgryptio o ben i ben. Peidiwch â rhannu unrhyw wybodaeth sensitif dros Mastodon.",
|
"compose_form.encryption_warning": "Dyw postiadau ar Mastodon ddim wedi'u hamgryptio o ben i ben. Peidiwch â rhannu unrhyw wybodaeth sensitif dros Mastodon.",
|
||||||
"compose_form.hashtag_warning": "Ni fydd y postiad hwn wedi ei restru o dan unrhyw hashnod gan nad yw'n gyhoeddus. Dim ond postiadau cyhoeddus y mae modd eu chwilio drwy hashnod.",
|
"compose_form.hashtag_warning": "Ni fydd y postiad hwn wedi ei restru o dan unrhyw hashnod gan nad yw'n gyhoeddus. Dim ond postiadau cyhoeddus y mae modd eu chwilio drwy hashnod.",
|
||||||
@ -170,7 +172,7 @@
|
|||||||
"confirmations.block.confirm": "Blocio",
|
"confirmations.block.confirm": "Blocio",
|
||||||
"confirmations.delete.confirm": "Dileu",
|
"confirmations.delete.confirm": "Dileu",
|
||||||
"confirmations.delete.message": "Ydych chi'n sicr eich bod eisiau dileu y post hwn?",
|
"confirmations.delete.message": "Ydych chi'n sicr eich bod eisiau dileu y post hwn?",
|
||||||
"confirmations.delete.title": "Dileu post?",
|
"confirmations.delete.title": "Dileu postiad?",
|
||||||
"confirmations.delete_list.confirm": "Dileu",
|
"confirmations.delete_list.confirm": "Dileu",
|
||||||
"confirmations.delete_list.message": "Ydych chi'n siŵr eich bod eisiau dileu'r rhestr hwn am byth?",
|
"confirmations.delete_list.message": "Ydych chi'n siŵr eich bod eisiau dileu'r rhestr hwn am byth?",
|
||||||
"confirmations.delete_list.title": "Dileu rhestr?",
|
"confirmations.delete_list.title": "Dileu rhestr?",
|
||||||
@ -178,21 +180,21 @@
|
|||||||
"confirmations.discard_edit_media.message": "Mae gennych newidiadau heb eu cadw i'r disgrifiad cyfryngau neu'r rhagolwg - eu dileu beth bynnag?",
|
"confirmations.discard_edit_media.message": "Mae gennych newidiadau heb eu cadw i'r disgrifiad cyfryngau neu'r rhagolwg - eu dileu beth bynnag?",
|
||||||
"confirmations.edit.confirm": "Golygu",
|
"confirmations.edit.confirm": "Golygu",
|
||||||
"confirmations.edit.message": "Bydd golygu nawr yn trosysgrifennu'r neges rydych yn ei ysgrifennu ar hyn o bryd. Ydych chi'n siŵr eich bod eisiau gwneud hyn?",
|
"confirmations.edit.message": "Bydd golygu nawr yn trosysgrifennu'r neges rydych yn ei ysgrifennu ar hyn o bryd. Ydych chi'n siŵr eich bod eisiau gwneud hyn?",
|
||||||
"confirmations.edit.title": "Trosysgrifo post?",
|
"confirmations.edit.title": "Trosysgrifo'r postiad?",
|
||||||
"confirmations.logout.confirm": "Allgofnodi",
|
"confirmations.logout.confirm": "Allgofnodi",
|
||||||
"confirmations.logout.message": "Ydych chi'n siŵr eich bod am allgofnodi?",
|
"confirmations.logout.message": "Ydych chi'n siŵr eich bod am allgofnodi?",
|
||||||
"confirmations.logout.title": "Allgofnodi?",
|
"confirmations.logout.title": "Allgofnodi?",
|
||||||
"confirmations.mute.confirm": "Tewi",
|
"confirmations.mute.confirm": "Tewi",
|
||||||
"confirmations.redraft.confirm": "Dileu ac ailddrafftio",
|
"confirmations.redraft.confirm": "Dileu ac ailddrafftio",
|
||||||
"confirmations.redraft.message": "Ydych chi wir eisiau'r dileu'r postiad hwn a'i ailddrafftio? Bydd ffefrynnau a hybiau'n cael eu colli, a bydd atebion i'r post gwreiddiol yn mynd yn amddifad.",
|
"confirmations.redraft.message": "Ydych chi wir eisiau'r dileu'r postiad hwn a'i ailddrafftio? Bydd ffefrynnau a hybiau'n cael eu colli, a bydd atebion i'r post gwreiddiol yn mynd yn amddifad.",
|
||||||
"confirmations.redraft.title": "Dileu & ailddraftio post?",
|
"confirmations.redraft.title": "Dileu & ailddraftio postiad?",
|
||||||
"confirmations.reply.confirm": "Ateb",
|
"confirmations.reply.confirm": "Ateb",
|
||||||
"confirmations.reply.message": "Bydd ateb nawr yn cymryd lle y neges yr ydych yn cyfansoddi ar hyn o bryd. Ydych chi'n siŵr eich bod am barhau?",
|
"confirmations.reply.message": "Bydd ateb nawr yn cymryd lle y neges yr ydych yn cyfansoddi ar hyn o bryd. Ydych chi'n siŵr eich bod am barhau?",
|
||||||
"confirmations.reply.title": "Trosysgrifo post?",
|
"confirmations.reply.title": "Trosysgrifo'r postiad?",
|
||||||
"confirmations.unfollow.confirm": "Dad-ddilyn",
|
"confirmations.unfollow.confirm": "Dad-ddilyn",
|
||||||
"confirmations.unfollow.message": "Ydych chi'n siŵr eich bod am ddad-ddilyn {name}?",
|
"confirmations.unfollow.message": "Ydych chi'n siŵr eich bod am ddad-ddilyn {name}?",
|
||||||
"confirmations.unfollow.title": "Dad-ddilyn defnyddiwr?",
|
"confirmations.unfollow.title": "Dad-ddilyn defnyddiwr?",
|
||||||
"content_warning.hide": "Cuddio'r post",
|
"content_warning.hide": "Cuddio'r postiad",
|
||||||
"content_warning.show": "Dangos beth bynnag",
|
"content_warning.show": "Dangos beth bynnag",
|
||||||
"conversation.delete": "Dileu sgwrs",
|
"conversation.delete": "Dileu sgwrs",
|
||||||
"conversation.mark_as_read": "Nodi fel wedi'i ddarllen",
|
"conversation.mark_as_read": "Nodi fel wedi'i ddarllen",
|
||||||
@ -256,7 +258,7 @@
|
|||||||
"empty_column.account_timeline": "Dim postiadau yma!",
|
"empty_column.account_timeline": "Dim postiadau yma!",
|
||||||
"empty_column.account_unavailable": "Nid yw'r proffil ar gael",
|
"empty_column.account_unavailable": "Nid yw'r proffil ar gael",
|
||||||
"empty_column.blocks": "Nid ydych wedi blocio unrhyw ddefnyddwyr eto.",
|
"empty_column.blocks": "Nid ydych wedi blocio unrhyw ddefnyddwyr eto.",
|
||||||
"empty_column.bookmarked_statuses": "Nid oes gennych unrhyw bostiad wedi'u cadw fel llyfrnodau eto. Pan fyddwch yn gosod nod tudalen i un, mi fydd yn ymddangos yma.",
|
"empty_column.bookmarked_statuses": "Nid oes gennych unrhyw bostiad wedi'u cadw fel nod tudalen eto. Pan fyddwch yn gosod nod tudalen i un, mi fydd yn ymddangos yma.",
|
||||||
"empty_column.community": "Mae'r ffrwd lleol yn wag. Beth am ysgrifennu rhywbeth cyhoeddus!",
|
"empty_column.community": "Mae'r ffrwd lleol yn wag. Beth am ysgrifennu rhywbeth cyhoeddus!",
|
||||||
"empty_column.direct": "Nid oes gennych unrhyw grybwylliadau preifat eto. Pan fyddwch chi'n anfon neu'n derbyn un, bydd yn ymddangos yma.",
|
"empty_column.direct": "Nid oes gennych unrhyw grybwylliadau preifat eto. Pan fyddwch chi'n anfon neu'n derbyn un, bydd yn ymddangos yma.",
|
||||||
"empty_column.domain_blocks": "Nid oes unrhyw barthau wedi'u blocio eto.",
|
"empty_column.domain_blocks": "Nid oes unrhyw barthau wedi'u blocio eto.",
|
||||||
@ -351,9 +353,13 @@
|
|||||||
"hashtag.follow": "Dilyn hashnod",
|
"hashtag.follow": "Dilyn hashnod",
|
||||||
"hashtag.unfollow": "Dad-ddilyn hashnod",
|
"hashtag.unfollow": "Dad-ddilyn hashnod",
|
||||||
"hashtags.and_other": "…a {count, plural, other {# more}}",
|
"hashtags.and_other": "…a {count, plural, other {# more}}",
|
||||||
|
"hints.profiles.followers_may_be_missing": "Mae'n bosibl bod dilynwyr y proffil hwn ar goll.",
|
||||||
|
"hints.profiles.follows_may_be_missing": "Mae'n bosibl bod dilynwyr y proffil hwn ar goll.",
|
||||||
|
"hints.profiles.posts_may_be_missing": "Mae'n bosibl bod rhai postiadau y proffil hwn ar goll.",
|
||||||
"hints.profiles.see_more_followers": "Gweld mwy o ddilynwyr ar {domain}",
|
"hints.profiles.see_more_followers": "Gweld mwy o ddilynwyr ar {domain}",
|
||||||
"hints.profiles.see_more_follows": "Gweld mwy o 'yn dilyn' ar {domain}",
|
"hints.profiles.see_more_follows": "Gweld mwy o 'yn dilyn' ar {domain}",
|
||||||
"hints.profiles.see_more_posts": "Gweld mwy o bostiadau ar {domain}",
|
"hints.profiles.see_more_posts": "Gweld mwy o bostiadau ar {domain}",
|
||||||
|
"hints.threads.replies_may_be_missing": "Mae'n bosibl y bydd atebion gan weinyddion eraill ar goll.",
|
||||||
"hints.threads.see_more": "Gweld mwy o atebion ar {domain}",
|
"hints.threads.see_more": "Gweld mwy o atebion ar {domain}",
|
||||||
"home.column_settings.show_reblogs": "Dangos hybiau",
|
"home.column_settings.show_reblogs": "Dangos hybiau",
|
||||||
"home.column_settings.show_replies": "Dangos atebion",
|
"home.column_settings.show_replies": "Dangos atebion",
|
||||||
@ -434,7 +440,7 @@
|
|||||||
"limited_account_hint.title": "Mae'r proffil hwn wedi cael ei guddio gan gymedrolwyr {domain}.",
|
"limited_account_hint.title": "Mae'r proffil hwn wedi cael ei guddio gan gymedrolwyr {domain}.",
|
||||||
"link_preview.author": "Gan {name}",
|
"link_preview.author": "Gan {name}",
|
||||||
"link_preview.more_from_author": "Mwy gan {name}",
|
"link_preview.more_from_author": "Mwy gan {name}",
|
||||||
"link_preview.shares": "{count, plural, one {{counter} post} two {{counter} bost} few {{counter} phost} many {{counter} post} other {{counter} post}}",
|
"link_preview.shares": "{count, plural, one {{counter} ostiad } two {{counter} bostiad } few {{counter} postiad} many {{counter} postiad} other {{counter} postiad}}",
|
||||||
"lists.account.add": "Ychwanegu at restr",
|
"lists.account.add": "Ychwanegu at restr",
|
||||||
"lists.account.remove": "Tynnu o'r rhestr",
|
"lists.account.remove": "Tynnu o'r rhestr",
|
||||||
"lists.delete": "Dileu rhestr",
|
"lists.delete": "Dileu rhestr",
|
||||||
@ -463,6 +469,7 @@
|
|||||||
"mute_modal.you_wont_see_mentions": "Welwch chi ddim postiadau sy'n sôn amdanyn nhw.",
|
"mute_modal.you_wont_see_mentions": "Welwch chi ddim postiadau sy'n sôn amdanyn nhw.",
|
||||||
"mute_modal.you_wont_see_posts": "Gallan nhw weld eich postiadau o hyd, ond fyddwch chi ddim yn gweld eu rhai hwy.",
|
"mute_modal.you_wont_see_posts": "Gallan nhw weld eich postiadau o hyd, ond fyddwch chi ddim yn gweld eu rhai hwy.",
|
||||||
"navigation_bar.about": "Ynghylch",
|
"navigation_bar.about": "Ynghylch",
|
||||||
|
"navigation_bar.administration": "Gweinyddiaeth",
|
||||||
"navigation_bar.advanced_interface": "Agor mewn rhyngwyneb gwe uwch",
|
"navigation_bar.advanced_interface": "Agor mewn rhyngwyneb gwe uwch",
|
||||||
"navigation_bar.blocks": "Defnyddwyr wedi eu blocio",
|
"navigation_bar.blocks": "Defnyddwyr wedi eu blocio",
|
||||||
"navigation_bar.bookmarks": "Nodau Tudalen",
|
"navigation_bar.bookmarks": "Nodau Tudalen",
|
||||||
@ -479,6 +486,7 @@
|
|||||||
"navigation_bar.follows_and_followers": "Yn dilyn a dilynwyr",
|
"navigation_bar.follows_and_followers": "Yn dilyn a dilynwyr",
|
||||||
"navigation_bar.lists": "Rhestrau",
|
"navigation_bar.lists": "Rhestrau",
|
||||||
"navigation_bar.logout": "Allgofnodi",
|
"navigation_bar.logout": "Allgofnodi",
|
||||||
|
"navigation_bar.moderation": "Cymedroil",
|
||||||
"navigation_bar.mutes": "Defnyddwyr wedi'u tewi",
|
"navigation_bar.mutes": "Defnyddwyr wedi'u tewi",
|
||||||
"navigation_bar.opened_in_classic_interface": "Mae postiadau, cyfrifon a thudalennau penodol eraill yn cael eu hagor fel rhagosodiad yn y rhyngwyneb gwe clasurol.",
|
"navigation_bar.opened_in_classic_interface": "Mae postiadau, cyfrifon a thudalennau penodol eraill yn cael eu hagor fel rhagosodiad yn y rhyngwyneb gwe clasurol.",
|
||||||
"navigation_bar.personal": "Personol",
|
"navigation_bar.personal": "Personol",
|
||||||
@ -489,8 +497,8 @@
|
|||||||
"navigation_bar.security": "Diogelwch",
|
"navigation_bar.security": "Diogelwch",
|
||||||
"not_signed_in_indicator.not_signed_in": "Rhaid i chi fewngofnodi i weld yr adnodd hwn.",
|
"not_signed_in_indicator.not_signed_in": "Rhaid i chi fewngofnodi i weld yr adnodd hwn.",
|
||||||
"notification.admin.report": "Adroddwyd ar {name} {target}",
|
"notification.admin.report": "Adroddwyd ar {name} {target}",
|
||||||
"notification.admin.report_account": "{name} reported {count, plural, one {un post} other {# postsiadau}} from {target} for {category}",
|
"notification.admin.report_account": "{name} reported {count, plural, one {un postiad} other {# postiad}} from {target} for {category}",
|
||||||
"notification.admin.report_account_other": "Adroddodd {name} {count, plural, one {un post} two {# bost} few {# phost} other {# post}} gan {target}",
|
"notification.admin.report_account_other": "Adroddodd {name} {count, plural, one {un postiad} two {# bostiad} few {# phost} other {# postiad}} gan {target}",
|
||||||
"notification.admin.report_statuses": "Adroddodd {name} {target} ar gyfer {category}",
|
"notification.admin.report_statuses": "Adroddodd {name} {target} ar gyfer {category}",
|
||||||
"notification.admin.report_statuses_other": "Adroddodd {name} {target}",
|
"notification.admin.report_statuses_other": "Adroddodd {name} {target}",
|
||||||
"notification.admin.sign_up": "Cofrestrodd {name}",
|
"notification.admin.sign_up": "Cofrestrodd {name}",
|
||||||
@ -498,7 +506,9 @@
|
|||||||
"notification.favourite": "Ffafriodd {name} eich postiad",
|
"notification.favourite": "Ffafriodd {name} eich postiad",
|
||||||
"notification.favourite.name_and_others_with_link": "Ffafriodd {name} a <a>{count, plural, one {# arall} other {# eraill}}</a> eich postiad",
|
"notification.favourite.name_and_others_with_link": "Ffafriodd {name} a <a>{count, plural, one {# arall} other {# eraill}}</a> eich postiad",
|
||||||
"notification.follow": "Dilynodd {name} chi",
|
"notification.follow": "Dilynodd {name} chi",
|
||||||
|
"notification.follow.name_and_others": "Mae {name} a {count, plural, one {# other} other {# others}} wedi'ch dilyn chi",
|
||||||
"notification.follow_request": "Mae {name} wedi gwneud cais i'ch dilyn",
|
"notification.follow_request": "Mae {name} wedi gwneud cais i'ch dilyn",
|
||||||
|
"notification.follow_request.name_and_others": "Mae {name} a{count, plural, one {# other} other {# others}} wedi gofyn i'ch dilyn chi",
|
||||||
"notification.label.mention": "Crybwyll",
|
"notification.label.mention": "Crybwyll",
|
||||||
"notification.label.private_mention": "Crybwyll preifat",
|
"notification.label.private_mention": "Crybwyll preifat",
|
||||||
"notification.label.private_reply": "Ateb preifat",
|
"notification.label.private_reply": "Ateb preifat",
|
||||||
@ -516,6 +526,7 @@
|
|||||||
"notification.own_poll": "Mae eich pleidlais wedi dod i ben",
|
"notification.own_poll": "Mae eich pleidlais wedi dod i ben",
|
||||||
"notification.poll": "Mae arolwg y gwnaethoch bleidleisio ynddo wedi dod i ben",
|
"notification.poll": "Mae arolwg y gwnaethoch bleidleisio ynddo wedi dod i ben",
|
||||||
"notification.reblog": "Hybodd {name} eich post",
|
"notification.reblog": "Hybodd {name} eich post",
|
||||||
|
"notification.reblog.name_and_others_with_link": "Mae {name} a <a>{count, plural, one {# other} other {# others}}</a> wedi hybu eich postiad",
|
||||||
"notification.relationships_severance_event": "Wedi colli cysylltiad â {name}",
|
"notification.relationships_severance_event": "Wedi colli cysylltiad â {name}",
|
||||||
"notification.relationships_severance_event.account_suspension": "Mae gweinyddwr o {from} wedi atal {target}, sy'n golygu na allwch dderbyn diweddariadau ganddynt mwyach na rhyngweithio â nhw.",
|
"notification.relationships_severance_event.account_suspension": "Mae gweinyddwr o {from} wedi atal {target}, sy'n golygu na allwch dderbyn diweddariadau ganddynt mwyach na rhyngweithio â nhw.",
|
||||||
"notification.relationships_severance_event.domain_block": "Mae gweinyddwr o {from} wedi blocio {target}, gan gynnwys {followersCount} o'ch dilynwyr a {followingCount, plural, one {# cyfrif} other {# cyfrif}} arall rydych chi'n ei ddilyn.",
|
"notification.relationships_severance_event.domain_block": "Mae gweinyddwr o {from} wedi blocio {target}, gan gynnwys {followersCount} o'ch dilynwyr a {followingCount, plural, one {# cyfrif} other {# cyfrif}} arall rydych chi'n ei ddilyn.",
|
||||||
@ -524,8 +535,12 @@
|
|||||||
"notification.status": "{name} newydd ei bostio",
|
"notification.status": "{name} newydd ei bostio",
|
||||||
"notification.update": "Golygodd {name} bostiad",
|
"notification.update": "Golygodd {name} bostiad",
|
||||||
"notification_requests.accept": "Derbyn",
|
"notification_requests.accept": "Derbyn",
|
||||||
|
"notification_requests.accept_multiple": "{count, plural, one {Accept # request…} other {Accept # requests…}}",
|
||||||
|
"notification_requests.confirm_accept_multiple.button": "{count, plural, one {Accept request} other {Accept requests}}",
|
||||||
|
"notification_requests.confirm_accept_multiple.message": "Rydych ar fin derbyn {count, plural, one {one notification request} other {# notification requests}}. Ydych chi'n siŵr eich bod am barhau?",
|
||||||
"notification_requests.confirm_accept_multiple.title": "Derbyn ceisiadau hysbysu?",
|
"notification_requests.confirm_accept_multiple.title": "Derbyn ceisiadau hysbysu?",
|
||||||
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Diystyru cais} other {Diystyru ceisiadau}}",
|
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Diystyru cais} other {Diystyru ceisiadau}}",
|
||||||
|
"notification_requests.confirm_dismiss_multiple.message": "Rydych ar fin diystyru {count, plural, one {un cais hysbysu} other {# cais hysbysiad}}. Fyddwch chi ddim yn gallu cyrchu {count, plural, one {it} other {them}} yn hawdd eto. Ydych chi'n yn siŵr eich bod am fwrw ymlaen?",
|
||||||
"notification_requests.confirm_dismiss_multiple.title": "Diystyru ceisiadau hysbysu?",
|
"notification_requests.confirm_dismiss_multiple.title": "Diystyru ceisiadau hysbysu?",
|
||||||
"notification_requests.dismiss": "Cau",
|
"notification_requests.dismiss": "Cau",
|
||||||
"notification_requests.dismiss_multiple": "{count, plural, one {Diystyru # cais…} two {Diystyru # gais…} few {Diystyru # chais…} other {Diystyru # cais…}}",
|
"notification_requests.dismiss_multiple": "{count, plural, one {Diystyru # cais…} two {Diystyru # gais…} few {Diystyru # chais…} other {Diystyru # cais…}}",
|
||||||
@ -646,7 +661,7 @@
|
|||||||
"poll_button.add_poll": "Ychwanegu pleidlais",
|
"poll_button.add_poll": "Ychwanegu pleidlais",
|
||||||
"poll_button.remove_poll": "Tynnu pleidlais",
|
"poll_button.remove_poll": "Tynnu pleidlais",
|
||||||
"privacy.change": "Addasu preifatrwdd y post",
|
"privacy.change": "Addasu preifatrwdd y post",
|
||||||
"privacy.direct.long": "Pawb sydd â son amdanyn nhw yn y postiad",
|
"privacy.direct.long": "Pawb sydd â sôn amdanyn nhw yn y postiad",
|
||||||
"privacy.direct.short": "Pobl benodol",
|
"privacy.direct.short": "Pobl benodol",
|
||||||
"privacy.private.long": "Eich dilynwyr yn unig",
|
"privacy.private.long": "Eich dilynwyr yn unig",
|
||||||
"privacy.private.short": "Dilynwyr",
|
"privacy.private.short": "Dilynwyr",
|
||||||
|
@ -97,6 +97,8 @@
|
|||||||
"block_modal.title": "Blokér bruger?",
|
"block_modal.title": "Blokér bruger?",
|
||||||
"block_modal.you_wont_see_mentions": "Du vil ikke se indlæg, som nævner vedkommende.",
|
"block_modal.you_wont_see_mentions": "Du vil ikke se indlæg, som nævner vedkommende.",
|
||||||
"boost_modal.combo": "Du kan trykke {combo} for at springe dette over næste gang",
|
"boost_modal.combo": "Du kan trykke {combo} for at springe dette over næste gang",
|
||||||
|
"boost_modal.reblog": "Boost indlæg?",
|
||||||
|
"boost_modal.undo_reblog": "Fjern boost af indlæg?",
|
||||||
"bundle_column_error.copy_stacktrace": "Kopiér fejlrapport",
|
"bundle_column_error.copy_stacktrace": "Kopiér fejlrapport",
|
||||||
"bundle_column_error.error.body": "Den anmodede side kunne ikke gengives. Dette kan skyldes flere typer fejl.",
|
"bundle_column_error.error.body": "Den anmodede side kunne ikke gengives. Dette kan skyldes flere typer fejl.",
|
||||||
"bundle_column_error.error.title": "Åh nej!",
|
"bundle_column_error.error.title": "Åh nej!",
|
||||||
@ -467,6 +469,7 @@
|
|||||||
"mute_modal.you_wont_see_mentions": "Indlæg, som nævner vedkommende, vises ikke.",
|
"mute_modal.you_wont_see_mentions": "Indlæg, som nævner vedkommende, vises ikke.",
|
||||||
"mute_modal.you_wont_see_posts": "Vedkommende kan stadig se dine indlæg, med vedkommendes vise ikke.",
|
"mute_modal.you_wont_see_posts": "Vedkommende kan stadig se dine indlæg, med vedkommendes vise ikke.",
|
||||||
"navigation_bar.about": "Om",
|
"navigation_bar.about": "Om",
|
||||||
|
"navigation_bar.administration": "Håndtering",
|
||||||
"navigation_bar.advanced_interface": "Åbn i avanceret webgrænseflade",
|
"navigation_bar.advanced_interface": "Åbn i avanceret webgrænseflade",
|
||||||
"navigation_bar.blocks": "Blokerede brugere",
|
"navigation_bar.blocks": "Blokerede brugere",
|
||||||
"navigation_bar.bookmarks": "Bogmærker",
|
"navigation_bar.bookmarks": "Bogmærker",
|
||||||
@ -483,6 +486,7 @@
|
|||||||
"navigation_bar.follows_and_followers": "Følges og følgere",
|
"navigation_bar.follows_and_followers": "Følges og følgere",
|
||||||
"navigation_bar.lists": "Lister",
|
"navigation_bar.lists": "Lister",
|
||||||
"navigation_bar.logout": "Log af",
|
"navigation_bar.logout": "Log af",
|
||||||
|
"navigation_bar.moderation": "Moderering",
|
||||||
"navigation_bar.mutes": "Skjulte brugere (mutede)",
|
"navigation_bar.mutes": "Skjulte brugere (mutede)",
|
||||||
"navigation_bar.opened_in_classic_interface": "Indlæg, konti og visse andre sider åbnes som standard i den klassiske webgrænseflade.",
|
"navigation_bar.opened_in_classic_interface": "Indlæg, konti og visse andre sider åbnes som standard i den klassiske webgrænseflade.",
|
||||||
"navigation_bar.personal": "Personlig",
|
"navigation_bar.personal": "Personlig",
|
||||||
|
@ -355,11 +355,11 @@
|
|||||||
"hashtags.and_other": "… und {count, plural, one{# weiterer} other {# weitere}}",
|
"hashtags.and_other": "… und {count, plural, one{# weiterer} other {# weitere}}",
|
||||||
"hints.profiles.followers_may_be_missing": "Möglicherweise werden für dieses Profil nicht alle Follower angezeigt.",
|
"hints.profiles.followers_may_be_missing": "Möglicherweise werden für dieses Profil nicht alle Follower angezeigt.",
|
||||||
"hints.profiles.follows_may_be_missing": "Möglicherweise werden für dieses Profil nicht alle gefolgten Profile angezeigt.",
|
"hints.profiles.follows_may_be_missing": "Möglicherweise werden für dieses Profil nicht alle gefolgten Profile angezeigt.",
|
||||||
"hints.profiles.posts_may_be_missing": "Möglicherweise werden für dieses Profil nicht alle Beiträge angezeigt.",
|
"hints.profiles.posts_may_be_missing": "Möglicherweise werden nicht alle Beiträge von diesem Profil angezeigt.",
|
||||||
"hints.profiles.see_more_followers": "Weitere Follower auf {domain} ansehen",
|
"hints.profiles.see_more_followers": "Weitere Follower auf {domain} ansehen",
|
||||||
"hints.profiles.see_more_follows": "Weitere gefolgte Profile auf {domain} ansehen",
|
"hints.profiles.see_more_follows": "Weitere gefolgte Profile auf {domain} ansehen",
|
||||||
"hints.profiles.see_more_posts": "Weitere Beiträge auf {domain} ansehen",
|
"hints.profiles.see_more_posts": "Weitere Beiträge auf {domain} ansehen",
|
||||||
"hints.threads.replies_may_be_missing": "Möglicherweise werden für dieses Profil nicht alle Antworten angezeigt.",
|
"hints.threads.replies_may_be_missing": "Möglicherweise werden nicht alle Antworten von anderen Servern angezeigt.",
|
||||||
"hints.threads.see_more": "Weitere Antworten auf {domain} ansehen",
|
"hints.threads.see_more": "Weitere Antworten auf {domain} ansehen",
|
||||||
"home.column_settings.show_reblogs": "Geteilte Beiträge anzeigen",
|
"home.column_settings.show_reblogs": "Geteilte Beiträge anzeigen",
|
||||||
"home.column_settings.show_replies": "Antworten anzeigen",
|
"home.column_settings.show_replies": "Antworten anzeigen",
|
||||||
|
@ -97,6 +97,8 @@
|
|||||||
"block_modal.title": "Block user?",
|
"block_modal.title": "Block user?",
|
||||||
"block_modal.you_wont_see_mentions": "You won't see posts that mention them.",
|
"block_modal.you_wont_see_mentions": "You won't see posts that mention them.",
|
||||||
"boost_modal.combo": "You can press {combo} to skip this next time",
|
"boost_modal.combo": "You can press {combo} to skip this next time",
|
||||||
|
"boost_modal.reblog": "Boost post?",
|
||||||
|
"boost_modal.undo_reblog": "Unboost post?",
|
||||||
"bundle_column_error.copy_stacktrace": "Copy error report",
|
"bundle_column_error.copy_stacktrace": "Copy error report",
|
||||||
"bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.",
|
"bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.",
|
||||||
"bundle_column_error.error.title": "Oh, no!",
|
"bundle_column_error.error.title": "Oh, no!",
|
||||||
@ -192,6 +194,8 @@
|
|||||||
"confirmations.unfollow.confirm": "Unfollow",
|
"confirmations.unfollow.confirm": "Unfollow",
|
||||||
"confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
|
"confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
|
||||||
"confirmations.unfollow.title": "Unfollow user?",
|
"confirmations.unfollow.title": "Unfollow user?",
|
||||||
|
"content_warning.hide": "Hide post",
|
||||||
|
"content_warning.show": "Show anyway",
|
||||||
"conversation.delete": "Delete conversation",
|
"conversation.delete": "Delete conversation",
|
||||||
"conversation.mark_as_read": "Mark as read",
|
"conversation.mark_as_read": "Mark as read",
|
||||||
"conversation.open": "View conversation",
|
"conversation.open": "View conversation",
|
||||||
@ -299,6 +303,7 @@
|
|||||||
"filter_modal.select_filter.subtitle": "Use an existing category or create a new one",
|
"filter_modal.select_filter.subtitle": "Use an existing category or create a new one",
|
||||||
"filter_modal.select_filter.title": "Filter this post",
|
"filter_modal.select_filter.title": "Filter this post",
|
||||||
"filter_modal.title.status": "Filter a post",
|
"filter_modal.title.status": "Filter a post",
|
||||||
|
"filter_warning.matches_filter": "Matches filter “{title}”",
|
||||||
"filtered_notifications_banner.pending_requests": "From {count, plural, =0 {no one} one {one person} other {# people}} you may know",
|
"filtered_notifications_banner.pending_requests": "From {count, plural, =0 {no one} one {one person} other {# people}} you may know",
|
||||||
"filtered_notifications_banner.title": "Filtered notifications",
|
"filtered_notifications_banner.title": "Filtered notifications",
|
||||||
"firehose.all": "All",
|
"firehose.all": "All",
|
||||||
@ -464,6 +469,7 @@
|
|||||||
"mute_modal.you_wont_see_mentions": "You won't see posts that mention them.",
|
"mute_modal.you_wont_see_mentions": "You won't see posts that mention them.",
|
||||||
"mute_modal.you_wont_see_posts": "They can still see your posts, but you won't see theirs.",
|
"mute_modal.you_wont_see_posts": "They can still see your posts, but you won't see theirs.",
|
||||||
"navigation_bar.about": "About",
|
"navigation_bar.about": "About",
|
||||||
|
"navigation_bar.administration": "Administration",
|
||||||
"navigation_bar.advanced_interface": "Open in advanced web interface",
|
"navigation_bar.advanced_interface": "Open in advanced web interface",
|
||||||
"navigation_bar.blocks": "Blocked users",
|
"navigation_bar.blocks": "Blocked users",
|
||||||
"navigation_bar.bookmarks": "Bookmarks",
|
"navigation_bar.bookmarks": "Bookmarks",
|
||||||
@ -480,6 +486,7 @@
|
|||||||
"navigation_bar.follows_and_followers": "Follows and followers",
|
"navigation_bar.follows_and_followers": "Follows and followers",
|
||||||
"navigation_bar.lists": "Lists",
|
"navigation_bar.lists": "Lists",
|
||||||
"navigation_bar.logout": "Logout",
|
"navigation_bar.logout": "Logout",
|
||||||
|
"navigation_bar.moderation": "Moderation",
|
||||||
"navigation_bar.mutes": "Muted users",
|
"navigation_bar.mutes": "Muted users",
|
||||||
"navigation_bar.opened_in_classic_interface": "Posts, accounts, and other specific pages are opened by default in the classic web interface.",
|
"navigation_bar.opened_in_classic_interface": "Posts, accounts, and other specific pages are opened by default in the classic web interface.",
|
||||||
"navigation_bar.personal": "Personal",
|
"navigation_bar.personal": "Personal",
|
||||||
|
@ -97,6 +97,8 @@
|
|||||||
"block_modal.title": "¿Bloquear usuario?",
|
"block_modal.title": "¿Bloquear usuario?",
|
||||||
"block_modal.you_wont_see_mentions": "No verás publicaciones que los mencionen.",
|
"block_modal.you_wont_see_mentions": "No verás publicaciones que los mencionen.",
|
||||||
"boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la próxima vez",
|
"boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la próxima vez",
|
||||||
|
"boost_modal.reblog": "¿Impulsar la publicación?",
|
||||||
|
"boost_modal.undo_reblog": "¿Dejar de impulsar la publicación?",
|
||||||
"bundle_column_error.copy_stacktrace": "Copiar informe de error",
|
"bundle_column_error.copy_stacktrace": "Copiar informe de error",
|
||||||
"bundle_column_error.error.body": "La página solicitada no pudo ser renderizada. Podría deberse a un error en nuestro código o a un problema de compatibilidad con el navegador.",
|
"bundle_column_error.error.body": "La página solicitada no pudo ser renderizada. Podría deberse a un error en nuestro código o a un problema de compatibilidad con el navegador.",
|
||||||
"bundle_column_error.error.title": "¡Oh, no!",
|
"bundle_column_error.error.title": "¡Oh, no!",
|
||||||
@ -467,6 +469,7 @@
|
|||||||
"mute_modal.you_wont_see_mentions": "No verás publicaciones que los mencionen.",
|
"mute_modal.you_wont_see_mentions": "No verás publicaciones que los mencionen.",
|
||||||
"mute_modal.you_wont_see_posts": "Todavía pueden ver tus publicaciones, pero tú no verás las de ellos.",
|
"mute_modal.you_wont_see_posts": "Todavía pueden ver tus publicaciones, pero tú no verás las de ellos.",
|
||||||
"navigation_bar.about": "Acerca de",
|
"navigation_bar.about": "Acerca de",
|
||||||
|
"navigation_bar.administration": "Administración",
|
||||||
"navigation_bar.advanced_interface": "Abrir en interfaz web avanzada",
|
"navigation_bar.advanced_interface": "Abrir en interfaz web avanzada",
|
||||||
"navigation_bar.blocks": "Usuarios bloqueados",
|
"navigation_bar.blocks": "Usuarios bloqueados",
|
||||||
"navigation_bar.bookmarks": "Marcadores",
|
"navigation_bar.bookmarks": "Marcadores",
|
||||||
@ -483,6 +486,7 @@
|
|||||||
"navigation_bar.follows_and_followers": "Siguiendo y seguidores",
|
"navigation_bar.follows_and_followers": "Siguiendo y seguidores",
|
||||||
"navigation_bar.lists": "Listas",
|
"navigation_bar.lists": "Listas",
|
||||||
"navigation_bar.logout": "Cerrar sesión",
|
"navigation_bar.logout": "Cerrar sesión",
|
||||||
|
"navigation_bar.moderation": "Moderación",
|
||||||
"navigation_bar.mutes": "Usuarios silenciados",
|
"navigation_bar.mutes": "Usuarios silenciados",
|
||||||
"navigation_bar.opened_in_classic_interface": "Publicaciones, cuentas y otras páginas específicas se abren por defecto en la interfaz web clásica.",
|
"navigation_bar.opened_in_classic_interface": "Publicaciones, cuentas y otras páginas específicas se abren por defecto en la interfaz web clásica.",
|
||||||
"navigation_bar.personal": "Personal",
|
"navigation_bar.personal": "Personal",
|
||||||
|
@ -97,6 +97,8 @@
|
|||||||
"block_modal.title": "¿Bloquear usuario?",
|
"block_modal.title": "¿Bloquear usuario?",
|
||||||
"block_modal.you_wont_see_mentions": "No verás mensajes que los mencionen.",
|
"block_modal.you_wont_see_mentions": "No verás mensajes que los mencionen.",
|
||||||
"boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la próxima vez",
|
"boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la próxima vez",
|
||||||
|
"boost_modal.reblog": "¿Impulsar la publicación?",
|
||||||
|
"boost_modal.undo_reblog": "¿Dejar de impulsar la publicación?",
|
||||||
"bundle_column_error.copy_stacktrace": "Copiar informe de error",
|
"bundle_column_error.copy_stacktrace": "Copiar informe de error",
|
||||||
"bundle_column_error.error.body": "La página solicitada no pudo ser renderizada. Podría deberse a un error en nuestro código o a un problema de compatibilidad con el navegador.",
|
"bundle_column_error.error.body": "La página solicitada no pudo ser renderizada. Podría deberse a un error en nuestro código o a un problema de compatibilidad con el navegador.",
|
||||||
"bundle_column_error.error.title": "¡Oh, no!",
|
"bundle_column_error.error.title": "¡Oh, no!",
|
||||||
@ -467,6 +469,7 @@
|
|||||||
"mute_modal.you_wont_see_mentions": "No verás mensajes que los mencionen.",
|
"mute_modal.you_wont_see_mentions": "No verás mensajes que los mencionen.",
|
||||||
"mute_modal.you_wont_see_posts": "Todavía pueden ver tus publicaciones, pero tú no verás las suyas.",
|
"mute_modal.you_wont_see_posts": "Todavía pueden ver tus publicaciones, pero tú no verás las suyas.",
|
||||||
"navigation_bar.about": "Acerca de",
|
"navigation_bar.about": "Acerca de",
|
||||||
|
"navigation_bar.administration": "Administración",
|
||||||
"navigation_bar.advanced_interface": "Abrir en la interfaz web avanzada",
|
"navigation_bar.advanced_interface": "Abrir en la interfaz web avanzada",
|
||||||
"navigation_bar.blocks": "Usuarios bloqueados",
|
"navigation_bar.blocks": "Usuarios bloqueados",
|
||||||
"navigation_bar.bookmarks": "Marcadores",
|
"navigation_bar.bookmarks": "Marcadores",
|
||||||
@ -483,6 +486,7 @@
|
|||||||
"navigation_bar.follows_and_followers": "Siguiendo y seguidores",
|
"navigation_bar.follows_and_followers": "Siguiendo y seguidores",
|
||||||
"navigation_bar.lists": "Listas",
|
"navigation_bar.lists": "Listas",
|
||||||
"navigation_bar.logout": "Cerrar sesión",
|
"navigation_bar.logout": "Cerrar sesión",
|
||||||
|
"navigation_bar.moderation": "Moderación",
|
||||||
"navigation_bar.mutes": "Usuarios silenciados",
|
"navigation_bar.mutes": "Usuarios silenciados",
|
||||||
"navigation_bar.opened_in_classic_interface": "Publicaciones, cuentas y otras páginas específicas se abren por defecto en la interfaz web clásica.",
|
"navigation_bar.opened_in_classic_interface": "Publicaciones, cuentas y otras páginas específicas se abren por defecto en la interfaz web clásica.",
|
||||||
"navigation_bar.personal": "Personal",
|
"navigation_bar.personal": "Personal",
|
||||||
|
@ -97,6 +97,8 @@
|
|||||||
"block_modal.title": "Erabiltzailea blokeatu nahi duzu?",
|
"block_modal.title": "Erabiltzailea blokeatu nahi duzu?",
|
||||||
"block_modal.you_wont_see_mentions": "Ez duzu ikusiko bera aipatzen duen argitalpenik.",
|
"block_modal.you_wont_see_mentions": "Ez duzu ikusiko bera aipatzen duen argitalpenik.",
|
||||||
"boost_modal.combo": "{combo} sakatu dezakezu hurrengoan hau saltatzeko",
|
"boost_modal.combo": "{combo} sakatu dezakezu hurrengoan hau saltatzeko",
|
||||||
|
"boost_modal.reblog": "Bultzatu bidalketa?",
|
||||||
|
"boost_modal.undo_reblog": "Bidalketari bultzada kendu?",
|
||||||
"bundle_column_error.copy_stacktrace": "Kopiatu errore-txostena",
|
"bundle_column_error.copy_stacktrace": "Kopiatu errore-txostena",
|
||||||
"bundle_column_error.error.body": "Eskatutako orria ezin izan da bistaratu. Kodeko errore bategatik izan daiteke edo nabigatzailearen bateragarritasun arazo bategatik.",
|
"bundle_column_error.error.body": "Eskatutako orria ezin izan da bistaratu. Kodeko errore bategatik izan daiteke edo nabigatzailearen bateragarritasun arazo bategatik.",
|
||||||
"bundle_column_error.error.title": "O ez!",
|
"bundle_column_error.error.title": "O ez!",
|
||||||
@ -192,6 +194,8 @@
|
|||||||
"confirmations.unfollow.confirm": "Utzi jarraitzeari",
|
"confirmations.unfollow.confirm": "Utzi jarraitzeari",
|
||||||
"confirmations.unfollow.message": "Ziur {name} jarraitzeari utzi nahi diozula?",
|
"confirmations.unfollow.message": "Ziur {name} jarraitzeari utzi nahi diozula?",
|
||||||
"confirmations.unfollow.title": "Erabiltzailea jarraitzeari utzi?",
|
"confirmations.unfollow.title": "Erabiltzailea jarraitzeari utzi?",
|
||||||
|
"content_warning.hide": "Tuta ezkutatu",
|
||||||
|
"content_warning.show": "Erakutsi hala ere",
|
||||||
"conversation.delete": "Ezabatu elkarrizketa",
|
"conversation.delete": "Ezabatu elkarrizketa",
|
||||||
"conversation.mark_as_read": "Markatu irakurrita bezala",
|
"conversation.mark_as_read": "Markatu irakurrita bezala",
|
||||||
"conversation.open": "Ikusi elkarrizketa",
|
"conversation.open": "Ikusi elkarrizketa",
|
||||||
@ -299,6 +303,8 @@
|
|||||||
"filter_modal.select_filter.subtitle": "Hautatu lehendik dagoen kategoria bat edo sortu berria",
|
"filter_modal.select_filter.subtitle": "Hautatu lehendik dagoen kategoria bat edo sortu berria",
|
||||||
"filter_modal.select_filter.title": "Iragazi bidalketa hau",
|
"filter_modal.select_filter.title": "Iragazi bidalketa hau",
|
||||||
"filter_modal.title.status": "Iragazi bidalketa bat",
|
"filter_modal.title.status": "Iragazi bidalketa bat",
|
||||||
|
"filter_warning.matches_filter": "“{title}” iragazkiarekin bat dator",
|
||||||
|
"filtered_notifications_banner.pending_requests": "Ezagutu dezakezun {count, plural, =0 {inoren} one {pertsona baten} other {# pertsonen}}",
|
||||||
"filtered_notifications_banner.title": "Iragazitako jakinarazpenak",
|
"filtered_notifications_banner.title": "Iragazitako jakinarazpenak",
|
||||||
"firehose.all": "Guztiak",
|
"firehose.all": "Guztiak",
|
||||||
"firehose.local": "Zerbitzari hau",
|
"firehose.local": "Zerbitzari hau",
|
||||||
@ -347,6 +353,14 @@
|
|||||||
"hashtag.follow": "Jarraitu traolari",
|
"hashtag.follow": "Jarraitu traolari",
|
||||||
"hashtag.unfollow": "Utzi traola jarraitzeari",
|
"hashtag.unfollow": "Utzi traola jarraitzeari",
|
||||||
"hashtags.and_other": "…eta {count, plural, one {}other {# gehiago}}",
|
"hashtags.and_other": "…eta {count, plural, one {}other {# gehiago}}",
|
||||||
|
"hints.profiles.followers_may_be_missing": "Baliteke profil honen jarraitzaile guztiak ez agertzea.",
|
||||||
|
"hints.profiles.follows_may_be_missing": "Baliteke profil honek jarraitzen dituen profil guztiak ez erakustea.",
|
||||||
|
"hints.profiles.posts_may_be_missing": "Baliteke profil honen tut guztiak ez erakustea.",
|
||||||
|
"hints.profiles.see_more_followers": "Ikusi jarraitzaile gehiago {domain}-(e)n",
|
||||||
|
"hints.profiles.see_more_follows": "Ikusi jarraitzaile gehiago {domain}-(e)n",
|
||||||
|
"hints.profiles.see_more_posts": "Ikusi bidalketa gehiago {domain}-(e)n",
|
||||||
|
"hints.threads.replies_may_be_missing": "Baliteke beste zerbitzari batzuen erantzun batzuk ez erakustea.",
|
||||||
|
"hints.threads.see_more": "Ikusi erantzun gehiago {domain}-(e)n",
|
||||||
"home.column_settings.show_reblogs": "Erakutsi bultzadak",
|
"home.column_settings.show_reblogs": "Erakutsi bultzadak",
|
||||||
"home.column_settings.show_replies": "Erakutsi erantzunak",
|
"home.column_settings.show_replies": "Erakutsi erantzunak",
|
||||||
"home.hide_announcements": "Ezkutatu iragarpenak",
|
"home.hide_announcements": "Ezkutatu iragarpenak",
|
||||||
@ -354,12 +368,17 @@
|
|||||||
"home.pending_critical_update.link": "Ikusi eguneraketak",
|
"home.pending_critical_update.link": "Ikusi eguneraketak",
|
||||||
"home.pending_critical_update.title": "Segurtasun eguneraketa kritikoa eskuragarri!",
|
"home.pending_critical_update.title": "Segurtasun eguneraketa kritikoa eskuragarri!",
|
||||||
"home.show_announcements": "Erakutsi iragarpenak",
|
"home.show_announcements": "Erakutsi iragarpenak",
|
||||||
|
"ignore_notifications_modal.disclaimer": "Mastodonek ezin die jakinarazi erabiltzaileei beraien jakinarazpenei ezikusiarena egingo diezula. Jakinarazpenei ezikusiarena egiteak ez du eragotziko mezuak bidaltzen jarraitzea.",
|
||||||
"ignore_notifications_modal.filter_instead": "Iragazi ez ikusiarena egin beharrean",
|
"ignore_notifications_modal.filter_instead": "Iragazi ez ikusiarena egin beharrean",
|
||||||
|
"ignore_notifications_modal.filter_to_act_users": "Oraindik ere erabiltzaileak onartu, baztertu edo salatu ahal izango dituzu",
|
||||||
|
"ignore_notifications_modal.filter_to_avoid_confusion": "Iragazteak nahaste potentzialak saihesten laguntzen du",
|
||||||
|
"ignore_notifications_modal.filter_to_review_separately": "Banaka berrikus ditzakezu iragazitako jakinarazpenak",
|
||||||
"ignore_notifications_modal.ignore": "Ezikusi jakinarazpenak",
|
"ignore_notifications_modal.ignore": "Ezikusi jakinarazpenak",
|
||||||
"ignore_notifications_modal.limited_accounts_title": "Moderatutako kontuen jakinarazpenei ez ikusiarena egin?",
|
"ignore_notifications_modal.limited_accounts_title": "Moderatutako kontuen jakinarazpenei ez ikusiarena egin?",
|
||||||
"ignore_notifications_modal.new_accounts_title": "Kontu berrien jakinarazpenei ez ikusiarena egin?",
|
"ignore_notifications_modal.new_accounts_title": "Kontu berrien jakinarazpenei ez ikusiarena egin?",
|
||||||
"ignore_notifications_modal.not_followers_title": "Jarraitzen ez zaituzten pertsonen jakinarazpenei ez ikusiarena egin?",
|
"ignore_notifications_modal.not_followers_title": "Jarraitzen ez zaituzten pertsonen jakinarazpenei ez ikusiarena egin?",
|
||||||
"ignore_notifications_modal.not_following_title": "Jarraitzen ez dituzun pertsonen jakinarazpenei ez ikusiarena egin?",
|
"ignore_notifications_modal.not_following_title": "Jarraitzen ez dituzun pertsonen jakinarazpenei ez ikusiarena egin?",
|
||||||
|
"ignore_notifications_modal.private_mentions_title": "Eskatu gabeko aipamen pribatuen jakinarazpenei ez ikusiarena egin?",
|
||||||
"interaction_modal.description.favourite": "Mastodon kontu batekin bidalketa hau gogoko egin dezakezu, egileari eskertzeko eta gerorako gordetzeko.",
|
"interaction_modal.description.favourite": "Mastodon kontu batekin bidalketa hau gogoko egin dezakezu, egileari eskertzeko eta gerorako gordetzeko.",
|
||||||
"interaction_modal.description.follow": "Mastodon kontu batekin {name} jarraitu dezakezu bere bidalketak zure hasierako denbora lerroan jasotzeko.",
|
"interaction_modal.description.follow": "Mastodon kontu batekin {name} jarraitu dezakezu bere bidalketak zure hasierako denbora lerroan jasotzeko.",
|
||||||
"interaction_modal.description.reblog": "Mastodon kontu batekin bidalketa hau bultzatu dezakezu, zure jarraitzaileekin partekatzeko.",
|
"interaction_modal.description.reblog": "Mastodon kontu batekin bidalketa hau bultzatu dezakezu, zure jarraitzaileekin partekatzeko.",
|
||||||
@ -420,6 +439,8 @@
|
|||||||
"limited_account_hint.action": "Erakutsi profila hala ere",
|
"limited_account_hint.action": "Erakutsi profila hala ere",
|
||||||
"limited_account_hint.title": "Profil hau ezkutatu egin dute {domain} zerbitzariko moderatzaileek.",
|
"limited_account_hint.title": "Profil hau ezkutatu egin dute {domain} zerbitzariko moderatzaileek.",
|
||||||
"link_preview.author": "Egilea: {name}",
|
"link_preview.author": "Egilea: {name}",
|
||||||
|
"link_preview.more_from_author": "{name} erabiltzaileaz gehiago jakin",
|
||||||
|
"link_preview.shares": "{count, plural, one {{counter} bidalketa} other {{counter} bidalketa}}",
|
||||||
"lists.account.add": "Gehitu zerrendara",
|
"lists.account.add": "Gehitu zerrendara",
|
||||||
"lists.account.remove": "Kendu zerrendatik",
|
"lists.account.remove": "Kendu zerrendatik",
|
||||||
"lists.delete": "Ezabatu zerrenda",
|
"lists.delete": "Ezabatu zerrenda",
|
||||||
@ -448,6 +469,7 @@
|
|||||||
"mute_modal.you_wont_see_mentions": "Ez duzu ikusiko bera aipatzen duen argitalpenik.",
|
"mute_modal.you_wont_see_mentions": "Ez duzu ikusiko bera aipatzen duen argitalpenik.",
|
||||||
"mute_modal.you_wont_see_posts": "Zure argitalpenak ikus ditzake, baina ez dituzu bereak ikusiko.",
|
"mute_modal.you_wont_see_posts": "Zure argitalpenak ikus ditzake, baina ez dituzu bereak ikusiko.",
|
||||||
"navigation_bar.about": "Honi buruz",
|
"navigation_bar.about": "Honi buruz",
|
||||||
|
"navigation_bar.administration": "Administrazioa",
|
||||||
"navigation_bar.advanced_interface": "Ireki web interfaze aurreratuan",
|
"navigation_bar.advanced_interface": "Ireki web interfaze aurreratuan",
|
||||||
"navigation_bar.blocks": "Blokeatutako erabiltzaileak",
|
"navigation_bar.blocks": "Blokeatutako erabiltzaileak",
|
||||||
"navigation_bar.bookmarks": "Laster-markak",
|
"navigation_bar.bookmarks": "Laster-markak",
|
||||||
@ -464,6 +486,7 @@
|
|||||||
"navigation_bar.follows_and_followers": "Jarraitutakoak eta jarraitzaileak",
|
"navigation_bar.follows_and_followers": "Jarraitutakoak eta jarraitzaileak",
|
||||||
"navigation_bar.lists": "Zerrendak",
|
"navigation_bar.lists": "Zerrendak",
|
||||||
"navigation_bar.logout": "Amaitu saioa",
|
"navigation_bar.logout": "Amaitu saioa",
|
||||||
|
"navigation_bar.moderation": "Moderazioa",
|
||||||
"navigation_bar.mutes": "Mutututako erabiltzaileak",
|
"navigation_bar.mutes": "Mutututako erabiltzaileak",
|
||||||
"navigation_bar.opened_in_classic_interface": "Argitalpenak, kontuak eta beste orri jakin batzuk lehenespenez irekitzen dira web-interfaze klasikoan.",
|
"navigation_bar.opened_in_classic_interface": "Argitalpenak, kontuak eta beste orri jakin batzuk lehenespenez irekitzen dira web-interfaze klasikoan.",
|
||||||
"navigation_bar.personal": "Pertsonala",
|
"navigation_bar.personal": "Pertsonala",
|
||||||
@ -474,10 +497,18 @@
|
|||||||
"navigation_bar.security": "Segurtasuna",
|
"navigation_bar.security": "Segurtasuna",
|
||||||
"not_signed_in_indicator.not_signed_in": "Baliabide honetara sarbidea izateko saioa hasi behar duzu.",
|
"not_signed_in_indicator.not_signed_in": "Baliabide honetara sarbidea izateko saioa hasi behar duzu.",
|
||||||
"notification.admin.report": "{name} erabiltzaileak {target} salatu du",
|
"notification.admin.report": "{name} erabiltzaileak {target} salatu du",
|
||||||
|
"notification.admin.report_account": "{name}-(e)k {target}-ren {count, plural, one {bidalketa bat} other {# bidalketa}} salatu zituen {category} delakoagatik",
|
||||||
|
"notification.admin.report_account_other": "{name}-(e)k {target}-ren {count, plural, one {bidalketa bat salatu zuen} other {# bidalketa salatu zituen}}",
|
||||||
|
"notification.admin.report_statuses": "{name}-(e)k {target} salatu zuen {category} delakoagatik",
|
||||||
|
"notification.admin.report_statuses_other": "{name} erabiltzaileak {target} salatu du",
|
||||||
"notification.admin.sign_up": "{name} erabiltzailea erregistratu da",
|
"notification.admin.sign_up": "{name} erabiltzailea erregistratu da",
|
||||||
|
"notification.admin.sign_up.name_and_others": "{name} eta {count, plural, one {erabiltzaile # gehiago} other {# erabiltzaile gehiago}} erregistratu dira",
|
||||||
"notification.favourite": "{name}(e)k zure bidalketa gogoko du",
|
"notification.favourite": "{name}(e)k zure bidalketa gogoko du",
|
||||||
|
"notification.favourite.name_and_others_with_link": "{name} eta <a>{count, plural, one {erabiltzaile # gehiagok} other {# erabiltzaile gehiagok}}</a> zure bidalketa gogoko dute",
|
||||||
"notification.follow": "{name}(e)k jarraitzen dizu",
|
"notification.follow": "{name}(e)k jarraitzen dizu",
|
||||||
|
"notification.follow.name_and_others": "{name} eta {count, plural, one {erabiltzaile # gehiagok} other {# erabiltzaile gehiagok}} jarraitu dizute",
|
||||||
"notification.follow_request": "{name}(e)k zu jarraitzeko eskaera egin du",
|
"notification.follow_request": "{name}(e)k zu jarraitzeko eskaera egin du",
|
||||||
|
"notification.follow_request.name_and_others": "{name} eta {count, plural, one {erabiltzaile # gehiagok} other {# erabiltzaile gehiagok}} zu jarraitzeko eskaera egin dute",
|
||||||
"notification.label.mention": "Aipamena",
|
"notification.label.mention": "Aipamena",
|
||||||
"notification.label.private_mention": "Aipamen pribatua",
|
"notification.label.private_mention": "Aipamen pribatua",
|
||||||
"notification.label.private_reply": "Erantzun pribatua",
|
"notification.label.private_reply": "Erantzun pribatua",
|
||||||
@ -495,14 +526,26 @@
|
|||||||
"notification.own_poll": "Zure inkesta amaitu da",
|
"notification.own_poll": "Zure inkesta amaitu da",
|
||||||
"notification.poll": "Zuk erantzun duzun inkesta bat bukatu da",
|
"notification.poll": "Zuk erantzun duzun inkesta bat bukatu da",
|
||||||
"notification.reblog": "{name}(e)k bultzada eman dio zure bidalketari",
|
"notification.reblog": "{name}(e)k bultzada eman dio zure bidalketari",
|
||||||
|
"notification.reblog.name_and_others_with_link": "{name} eta <a>{count, plural, one {erabiltzaile # gehiagok} other {# erabiltzaile gehiagok}}</a> bultzada eman diote zure bidalketari",
|
||||||
"notification.relationships_severance_event": "{name} erabiltzailearekin galdutako konexioak",
|
"notification.relationships_severance_event": "{name} erabiltzailearekin galdutako konexioak",
|
||||||
"notification.relationships_severance_event.account_suspension": "{from} zerbitzariko administratzaile batek {target} bertan behera utzi du, hau da, ezin izango dituzu jaso hango eguneratzerik edo hangoekin elkarreragin.",
|
"notification.relationships_severance_event.account_suspension": "{from} zerbitzariko administratzaile batek {target} bertan behera utzi du, hau da, ezin izango dituzu jaso hango eguneratzerik edo hangoekin elkarreragin.",
|
||||||
"notification.relationships_severance_event.learn_more": "Informazio gehiago",
|
"notification.relationships_severance_event.learn_more": "Informazio gehiago",
|
||||||
"notification.status": "{name} erabiltzaileak bidalketa egin berri du",
|
"notification.status": "{name} erabiltzaileak bidalketa egin berri du",
|
||||||
"notification.update": "{name} erabiltzaileak bidalketa bat editatu du",
|
"notification.update": "{name} erabiltzaileak bidalketa bat editatu du",
|
||||||
"notification_requests.accept": "Onartu",
|
"notification_requests.accept": "Onartu",
|
||||||
|
"notification_requests.accept_multiple": "{count, plural, one {Onartu eskaera…} other {Onartu # eskaerak…}}",
|
||||||
|
"notification_requests.confirm_accept_multiple.button": "{count, plural, one {Onartu eskaera} other {Onartu eskaerak}}",
|
||||||
|
"notification_requests.confirm_accept_multiple.title": "Onartu jakinarazpen-eskaerak?",
|
||||||
|
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Baztertu eskaera} other {Baztertu eskaerak}}",
|
||||||
|
"notification_requests.confirm_dismiss_multiple.title": "Baztertu jakinarazpen-eskaerak?",
|
||||||
"notification_requests.dismiss": "Baztertu",
|
"notification_requests.dismiss": "Baztertu",
|
||||||
|
"notification_requests.dismiss_multiple": "{count, plural, one {Baztertu eskaera…} other {Baztertu # eskaerak…}}",
|
||||||
|
"notification_requests.edit_selection": "Editatu",
|
||||||
|
"notification_requests.exit_selection": "Egina",
|
||||||
|
"notification_requests.explainer_for_limited_account": "Kontu honen jakinarazpenak iragazi egin dira, kontua moderatzaile batek mugatu duelako.",
|
||||||
|
"notification_requests.explainer_for_limited_remote_account": "Kontu horren jakinarazpenak iragazi egin dira kontua edo bere zerbitzaria moderatzaile batek mugatu duelako.",
|
||||||
"notification_requests.maximize": "Maximizatu",
|
"notification_requests.maximize": "Maximizatu",
|
||||||
|
"notification_requests.minimize_banner": "Minimizatu iragazitako jakinarazpenen bannerra",
|
||||||
"notification_requests.notifications_from": "{name} erabiltzailearen jakinarazpenak",
|
"notification_requests.notifications_from": "{name} erabiltzailearen jakinarazpenak",
|
||||||
"notification_requests.title": "Iragazitako jakinarazpenak",
|
"notification_requests.title": "Iragazitako jakinarazpenak",
|
||||||
"notification_requests.view": "Ikusi jakinarazpenak",
|
"notification_requests.view": "Ikusi jakinarazpenak",
|
||||||
@ -719,8 +762,10 @@
|
|||||||
"server_banner.about_active_users": "Azken 30 egunetan zerbitzari hau erabili duen jendea (hilabeteko erabiltzaile aktiboak)",
|
"server_banner.about_active_users": "Azken 30 egunetan zerbitzari hau erabili duen jendea (hilabeteko erabiltzaile aktiboak)",
|
||||||
"server_banner.active_users": "erabiltzaile aktibo",
|
"server_banner.active_users": "erabiltzaile aktibo",
|
||||||
"server_banner.administered_by": "Administratzailea(k):",
|
"server_banner.administered_by": "Administratzailea(k):",
|
||||||
|
"server_banner.is_one_of_many": "{domain} fedibertsoan parte hartzeko erabil dezakezun Mastodonen zerbitzari independenteetako bat da.",
|
||||||
"server_banner.server_stats": "Zerbitzariaren estatistikak:",
|
"server_banner.server_stats": "Zerbitzariaren estatistikak:",
|
||||||
"sign_in_banner.create_account": "Sortu kontua",
|
"sign_in_banner.create_account": "Sortu kontua",
|
||||||
|
"sign_in_banner.follow_anyone": "Jarraitu edonori fedibertsoan eta ikusi dena ordena kronologikoan. Algoritmorik gabe, iragarki edo titulu gezurtirik gabe.",
|
||||||
"sign_in_banner.mastodon_is": "Mastodon gertatzen ari denari buruz egunean egoteko modurik onena da.",
|
"sign_in_banner.mastodon_is": "Mastodon gertatzen ari denari buruz egunean egoteko modurik onena da.",
|
||||||
"sign_in_banner.sign_in": "Hasi saioa",
|
"sign_in_banner.sign_in": "Hasi saioa",
|
||||||
"sign_in_banner.sso_redirect": "Hasi saioa edo izena eman",
|
"sign_in_banner.sso_redirect": "Hasi saioa edo izena eman",
|
||||||
|
@ -97,6 +97,8 @@
|
|||||||
"block_modal.title": "Banna brúkara?",
|
"block_modal.title": "Banna brúkara?",
|
||||||
"block_modal.you_wont_see_mentions": "Tú sært ikki postar, sum nevna tey.",
|
"block_modal.you_wont_see_mentions": "Tú sært ikki postar, sum nevna tey.",
|
||||||
"boost_modal.combo": "Tú kanst trýsta á {combo} fyri at loypa uppum hetta næstu ferð",
|
"boost_modal.combo": "Tú kanst trýsta á {combo} fyri at loypa uppum hetta næstu ferð",
|
||||||
|
"boost_modal.reblog": "Stimbra post?",
|
||||||
|
"boost_modal.undo_reblog": "Strika stimbran av posti?",
|
||||||
"bundle_column_error.copy_stacktrace": "Avrita feilfráboðan",
|
"bundle_column_error.copy_stacktrace": "Avrita feilfráboðan",
|
||||||
"bundle_column_error.error.body": "Umbidna síðan kann ikki vísast. Tað kann vera orsakað av einum feili í koduni hjá okkum ella tað kann vera orsakað av kaganum, sum tú brúkar.",
|
"bundle_column_error.error.body": "Umbidna síðan kann ikki vísast. Tað kann vera orsakað av einum feili í koduni hjá okkum ella tað kann vera orsakað av kaganum, sum tú brúkar.",
|
||||||
"bundle_column_error.error.title": "Áh, nei!",
|
"bundle_column_error.error.title": "Áh, nei!",
|
||||||
@ -467,6 +469,7 @@
|
|||||||
"mute_modal.you_wont_see_mentions": "Tú sært ikki postar, sum nevna tey.",
|
"mute_modal.you_wont_see_mentions": "Tú sært ikki postar, sum nevna tey.",
|
||||||
"mute_modal.you_wont_see_posts": "Tey síggja framvegis tínar postar, men tú sært ikki teirra.",
|
"mute_modal.you_wont_see_posts": "Tey síggja framvegis tínar postar, men tú sært ikki teirra.",
|
||||||
"navigation_bar.about": "Um",
|
"navigation_bar.about": "Um",
|
||||||
|
"navigation_bar.administration": "Umsiting",
|
||||||
"navigation_bar.advanced_interface": "Lat upp í framkomnum vevmarkamóti",
|
"navigation_bar.advanced_interface": "Lat upp í framkomnum vevmarkamóti",
|
||||||
"navigation_bar.blocks": "Bannaðir brúkarar",
|
"navigation_bar.blocks": "Bannaðir brúkarar",
|
||||||
"navigation_bar.bookmarks": "Goymd",
|
"navigation_bar.bookmarks": "Goymd",
|
||||||
@ -483,6 +486,7 @@
|
|||||||
"navigation_bar.follows_and_followers": "Fylgd og fylgjarar",
|
"navigation_bar.follows_and_followers": "Fylgd og fylgjarar",
|
||||||
"navigation_bar.lists": "Listar",
|
"navigation_bar.lists": "Listar",
|
||||||
"navigation_bar.logout": "Rita út",
|
"navigation_bar.logout": "Rita út",
|
||||||
|
"navigation_bar.moderation": "Umsjón",
|
||||||
"navigation_bar.mutes": "Doyvdir brúkarar",
|
"navigation_bar.mutes": "Doyvdir brúkarar",
|
||||||
"navigation_bar.opened_in_classic_interface": "Postar, kontur og aðrar serstakar síður verða - um ikki annað er ásett - latnar upp í klassiska vev-markamótinum.",
|
"navigation_bar.opened_in_classic_interface": "Postar, kontur og aðrar serstakar síður verða - um ikki annað er ásett - latnar upp í klassiska vev-markamótinum.",
|
||||||
"navigation_bar.personal": "Persónligt",
|
"navigation_bar.personal": "Persónligt",
|
||||||
|
@ -96,6 +96,8 @@
|
|||||||
"block_modal.title": "Bloquer l'utilisateur·rice ?",
|
"block_modal.title": "Bloquer l'utilisateur·rice ?",
|
||||||
"block_modal.you_wont_see_mentions": "Vous ne verrez pas les publications qui le mentionne.",
|
"block_modal.you_wont_see_mentions": "Vous ne verrez pas les publications qui le mentionne.",
|
||||||
"boost_modal.combo": "Vous pouvez appuyer sur {combo} pour sauter ceci la prochaine fois",
|
"boost_modal.combo": "Vous pouvez appuyer sur {combo} pour sauter ceci la prochaine fois",
|
||||||
|
"boost_modal.reblog": "Booster le message ?",
|
||||||
|
"boost_modal.undo_reblog": "Annuler le boost du message ?",
|
||||||
"bundle_column_error.copy_stacktrace": "Copier le rapport d'erreur",
|
"bundle_column_error.copy_stacktrace": "Copier le rapport d'erreur",
|
||||||
"bundle_column_error.error.body": "La page demandée n'a pas pu être affichée. Cela pourrait être dû à un bogue dans notre code, ou à un problème de compatibilité avec le navigateur.",
|
"bundle_column_error.error.body": "La page demandée n'a pas pu être affichée. Cela pourrait être dû à un bogue dans notre code, ou à un problème de compatibilité avec le navigateur.",
|
||||||
"bundle_column_error.error.title": "Oh non!",
|
"bundle_column_error.error.title": "Oh non!",
|
||||||
@ -301,6 +303,7 @@
|
|||||||
"filter_modal.select_filter.title": "Filtrer cette publication",
|
"filter_modal.select_filter.title": "Filtrer cette publication",
|
||||||
"filter_modal.title.status": "Filtrer une publication",
|
"filter_modal.title.status": "Filtrer une publication",
|
||||||
"filter_warning.matches_filter": "Correspond au filtre « {title} »",
|
"filter_warning.matches_filter": "Correspond au filtre « {title} »",
|
||||||
|
"filtered_notifications_banner.pending_requests": "De la part {count, plural, =0 {d’aucune personne} one {d'une personne} other {de # personnes}} que vous pourriez connaître",
|
||||||
"filtered_notifications_banner.title": "Notifications filtrées",
|
"filtered_notifications_banner.title": "Notifications filtrées",
|
||||||
"firehose.all": "Tout",
|
"firehose.all": "Tout",
|
||||||
"firehose.local": "Ce serveur",
|
"firehose.local": "Ce serveur",
|
||||||
@ -310,6 +313,7 @@
|
|||||||
"follow_requests.unlocked_explanation": "Même si votre compte n’est pas privé, l’équipe de {domain} a pensé que vous pourriez vouloir peut-être consulter manuellement les demandes d'abonnement de ces comptes.",
|
"follow_requests.unlocked_explanation": "Même si votre compte n’est pas privé, l’équipe de {domain} a pensé que vous pourriez vouloir peut-être consulter manuellement les demandes d'abonnement de ces comptes.",
|
||||||
"follow_suggestions.curated_suggestion": "Choix du staff",
|
"follow_suggestions.curated_suggestion": "Choix du staff",
|
||||||
"follow_suggestions.dismiss": "Ne plus afficher",
|
"follow_suggestions.dismiss": "Ne plus afficher",
|
||||||
|
"follow_suggestions.featured_longer": "Sélectionné par l'équipe de {domain}",
|
||||||
"follow_suggestions.friends_of_friends_longer": "Populaire dans le cercle des personnes que vous suivez",
|
"follow_suggestions.friends_of_friends_longer": "Populaire dans le cercle des personnes que vous suivez",
|
||||||
"follow_suggestions.hints.featured": "Ce profil a été sélectionné par l'équipe de {domain}.",
|
"follow_suggestions.hints.featured": "Ce profil a été sélectionné par l'équipe de {domain}.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Ce profil est populaire parmi les personnes que vous suivez.",
|
"follow_suggestions.hints.friends_of_friends": "Ce profil est populaire parmi les personnes que vous suivez.",
|
||||||
@ -348,8 +352,12 @@
|
|||||||
"hashtag.follow": "Suivre ce hashtag",
|
"hashtag.follow": "Suivre ce hashtag",
|
||||||
"hashtag.unfollow": "Ne plus suivre ce hashtag",
|
"hashtag.unfollow": "Ne plus suivre ce hashtag",
|
||||||
"hashtags.and_other": "…et {count, plural, other {# de plus}}",
|
"hashtags.and_other": "…et {count, plural, other {# de plus}}",
|
||||||
|
"hints.profiles.followers_may_be_missing": "Les abonné·e·s à ce profil peuvent être manquant·e·s.",
|
||||||
|
"hints.profiles.follows_may_be_missing": "Les abonnements pour ce profil peuvent être manquants.",
|
||||||
|
"hints.profiles.posts_may_be_missing": "Certains messages de ce profil peuvent être manquants.",
|
||||||
"hints.profiles.see_more_followers": "Afficher plus d'abonné·e·s sur {domain}",
|
"hints.profiles.see_more_followers": "Afficher plus d'abonné·e·s sur {domain}",
|
||||||
"hints.profiles.see_more_posts": "Voir plus de messages sur {domain}",
|
"hints.profiles.see_more_posts": "Voir plus de messages sur {domain}",
|
||||||
|
"hints.threads.replies_may_be_missing": "Les réponses provenant des autres serveurs pourraient être manquantes.",
|
||||||
"hints.threads.see_more": "Afficher plus de réponses sur {domain}",
|
"hints.threads.see_more": "Afficher plus de réponses sur {domain}",
|
||||||
"home.column_settings.show_reblogs": "Afficher boosts",
|
"home.column_settings.show_reblogs": "Afficher boosts",
|
||||||
"home.column_settings.show_replies": "Afficher réponses",
|
"home.column_settings.show_replies": "Afficher réponses",
|
||||||
@ -358,6 +366,17 @@
|
|||||||
"home.pending_critical_update.link": "Voir les mises à jour",
|
"home.pending_critical_update.link": "Voir les mises à jour",
|
||||||
"home.pending_critical_update.title": "Une mise à jour de sécurité critique est disponible !",
|
"home.pending_critical_update.title": "Une mise à jour de sécurité critique est disponible !",
|
||||||
"home.show_announcements": "Afficher annonces",
|
"home.show_announcements": "Afficher annonces",
|
||||||
|
"ignore_notifications_modal.disclaimer": "Mastodon ne peut pas indiquer aux utilisateurs que vous avez ignoré leurs notifications. Le fait d'ignorer les notifications n'empêchera pas la transmission des messages eux-mêmes.",
|
||||||
|
"ignore_notifications_modal.filter_instead": "Filtrer plutôt",
|
||||||
|
"ignore_notifications_modal.filter_to_act_users": "Vous serez toujours en mesure d'accepter, de rejeter ou de signaler les utilisateur·rice·s",
|
||||||
|
"ignore_notifications_modal.filter_to_avoid_confusion": "Le filtrage permet d'éviter toute éventuelle confusion",
|
||||||
|
"ignore_notifications_modal.filter_to_review_separately": "Vous pouvez réexaminer les notifications filtrées séparément",
|
||||||
|
"ignore_notifications_modal.ignore": "Ignorer les notifications",
|
||||||
|
"ignore_notifications_modal.limited_accounts_title": "Ignorer les notifications provenant des comptes modérés ?",
|
||||||
|
"ignore_notifications_modal.new_accounts_title": "Ignorer les notifications provenant des nouveaux comptes ?",
|
||||||
|
"ignore_notifications_modal.not_followers_title": "Ignorer les notifications provenant des personnes qui ne vous suivent pas ?",
|
||||||
|
"ignore_notifications_modal.not_following_title": "Ignorer les notifications provenant des personnes que vous ne suivez pas ?",
|
||||||
|
"ignore_notifications_modal.private_mentions_title": "Ignorer les notifications issues des mentions privées non sollicitées ?",
|
||||||
"interaction_modal.description.favourite": "Avec un compte Mastodon, vous pouvez ajouter cette publication à vos favoris pour informer l'auteur⋅rice que vous l'appréciez et la sauvegarder pour plus tard.",
|
"interaction_modal.description.favourite": "Avec un compte Mastodon, vous pouvez ajouter cette publication à vos favoris pour informer l'auteur⋅rice que vous l'appréciez et la sauvegarder pour plus tard.",
|
||||||
"interaction_modal.description.follow": "Avec un compte Mastodon, vous pouvez suivre {name} et recevoir leurs publications dans votre fil d'accueil.",
|
"interaction_modal.description.follow": "Avec un compte Mastodon, vous pouvez suivre {name} et recevoir leurs publications dans votre fil d'accueil.",
|
||||||
"interaction_modal.description.reblog": "Avec un compte Mastodon, vous pouvez booster cette publication pour la partager avec vos propres abonné·e·s.",
|
"interaction_modal.description.reblog": "Avec un compte Mastodon, vous pouvez booster cette publication pour la partager avec vos propres abonné·e·s.",
|
||||||
@ -448,6 +467,7 @@
|
|||||||
"mute_modal.you_wont_see_mentions": "Vous ne verrez pas les publications qui le mentionne.",
|
"mute_modal.you_wont_see_mentions": "Vous ne verrez pas les publications qui le mentionne.",
|
||||||
"mute_modal.you_wont_see_posts": "Il peut toujours voir vos publications, mais vous ne verrez pas les siennes.",
|
"mute_modal.you_wont_see_posts": "Il peut toujours voir vos publications, mais vous ne verrez pas les siennes.",
|
||||||
"navigation_bar.about": "À propos",
|
"navigation_bar.about": "À propos",
|
||||||
|
"navigation_bar.administration": "Administration",
|
||||||
"navigation_bar.advanced_interface": "Ouvrir dans l’interface avancée",
|
"navigation_bar.advanced_interface": "Ouvrir dans l’interface avancée",
|
||||||
"navigation_bar.blocks": "Comptes bloqués",
|
"navigation_bar.blocks": "Comptes bloqués",
|
||||||
"navigation_bar.bookmarks": "Signets",
|
"navigation_bar.bookmarks": "Signets",
|
||||||
@ -464,6 +484,7 @@
|
|||||||
"navigation_bar.follows_and_followers": "Abonnements et abonnés",
|
"navigation_bar.follows_and_followers": "Abonnements et abonnés",
|
||||||
"navigation_bar.lists": "Listes",
|
"navigation_bar.lists": "Listes",
|
||||||
"navigation_bar.logout": "Se déconnecter",
|
"navigation_bar.logout": "Se déconnecter",
|
||||||
|
"navigation_bar.moderation": "Modération",
|
||||||
"navigation_bar.mutes": "Utilisateurs masqués",
|
"navigation_bar.mutes": "Utilisateurs masqués",
|
||||||
"navigation_bar.opened_in_classic_interface": "Les messages, les comptes et les pages spécifiques sont ouvertes dans l’interface classique.",
|
"navigation_bar.opened_in_classic_interface": "Les messages, les comptes et les pages spécifiques sont ouvertes dans l’interface classique.",
|
||||||
"navigation_bar.personal": "Personnel",
|
"navigation_bar.personal": "Personnel",
|
||||||
@ -474,14 +495,23 @@
|
|||||||
"navigation_bar.security": "Sécurité",
|
"navigation_bar.security": "Sécurité",
|
||||||
"not_signed_in_indicator.not_signed_in": "Vous devez vous connecter pour accéder à cette ressource.",
|
"not_signed_in_indicator.not_signed_in": "Vous devez vous connecter pour accéder à cette ressource.",
|
||||||
"notification.admin.report": "{name} a signalé {target}",
|
"notification.admin.report": "{name} a signalé {target}",
|
||||||
|
"notification.admin.report_account": "{name} a signalé {count, plural, one {un message} other {# messages}} de {target} pour {category}",
|
||||||
|
"notification.admin.report_account_other": "{name} a signalé {count, plural, one {un message} other {# messages}} depuis {target}",
|
||||||
|
"notification.admin.report_statuses": "{name} a signalé {target} pour {category}",
|
||||||
|
"notification.admin.report_statuses_other": "{name} a signalé {target}",
|
||||||
"notification.admin.sign_up": "{name} s'est inscrit·e",
|
"notification.admin.sign_up": "{name} s'est inscrit·e",
|
||||||
|
"notification.admin.sign_up.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} se sont inscrit",
|
||||||
"notification.favourite": "{name} a ajouté votre publication à ses favoris",
|
"notification.favourite": "{name} a ajouté votre publication à ses favoris",
|
||||||
|
"notification.favourite.name_and_others_with_link": "{name} et <a>{count, plural, one {# autre} other {# autres}}</a> ont mis votre message en favori",
|
||||||
"notification.follow": "{name} vous suit",
|
"notification.follow": "{name} vous suit",
|
||||||
|
"notification.follow.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} se sont abonné à votre compte",
|
||||||
"notification.follow_request": "{name} a demandé à vous suivre",
|
"notification.follow_request": "{name} a demandé à vous suivre",
|
||||||
|
"notification.follow_request.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} ont demandé à vous suivre",
|
||||||
"notification.label.mention": "Mention",
|
"notification.label.mention": "Mention",
|
||||||
"notification.label.private_mention": "Mention privée",
|
"notification.label.private_mention": "Mention privée",
|
||||||
"notification.label.private_reply": "Répondre en privé",
|
"notification.label.private_reply": "Répondre en privé",
|
||||||
"notification.label.reply": "Réponse",
|
"notification.label.reply": "Réponse",
|
||||||
|
"notification.mention": "Mention",
|
||||||
"notification.moderation-warning.learn_more": "En savoir plus",
|
"notification.moderation-warning.learn_more": "En savoir plus",
|
||||||
"notification.moderation_warning": "Vous avez reçu un avertissement de modération",
|
"notification.moderation_warning": "Vous avez reçu un avertissement de modération",
|
||||||
"notification.moderation_warning.action_delete_statuses": "Certains de vos messages ont été supprimés.",
|
"notification.moderation_warning.action_delete_statuses": "Certains de vos messages ont été supprimés.",
|
||||||
@ -494,6 +524,7 @@
|
|||||||
"notification.own_poll": "Votre sondage est terminé",
|
"notification.own_poll": "Votre sondage est terminé",
|
||||||
"notification.poll": "Un sondage auquel vous avez participé vient de se terminer",
|
"notification.poll": "Un sondage auquel vous avez participé vient de se terminer",
|
||||||
"notification.reblog": "{name} a boosté votre message",
|
"notification.reblog": "{name} a boosté votre message",
|
||||||
|
"notification.reblog.name_and_others_with_link": "{name} et <a>{count, plural, one {# autre} other {# autres}}</a> ont boosté votre message",
|
||||||
"notification.relationships_severance_event": "Connexions perdues avec {name}",
|
"notification.relationships_severance_event": "Connexions perdues avec {name}",
|
||||||
"notification.relationships_severance_event.account_suspension": "Un·e administrateur·rice de {from} a suspendu {target}, ce qui signifie que vous ne pourrez plus recevoir de mises à jour ou interagir avec lui.",
|
"notification.relationships_severance_event.account_suspension": "Un·e administrateur·rice de {from} a suspendu {target}, ce qui signifie que vous ne pourrez plus recevoir de mises à jour ou interagir avec lui.",
|
||||||
"notification.relationships_severance_event.domain_block": "Un·e administrateur·rice de {from} en a bloqué {target}, comprenant {followersCount} de vos abonné·e·s et {followingCount, plural, one {# compte} other {# comptes}} vous suivez.",
|
"notification.relationships_severance_event.domain_block": "Un·e administrateur·rice de {from} en a bloqué {target}, comprenant {followersCount} de vos abonné·e·s et {followingCount, plural, one {# compte} other {# comptes}} vous suivez.",
|
||||||
@ -502,11 +533,24 @@
|
|||||||
"notification.status": "{name} vient de publier",
|
"notification.status": "{name} vient de publier",
|
||||||
"notification.update": "{name} a modifié une publication",
|
"notification.update": "{name} a modifié une publication",
|
||||||
"notification_requests.accept": "Accepter",
|
"notification_requests.accept": "Accepter",
|
||||||
|
"notification_requests.accept_multiple": "{count, plural, one {Accepter # requête …} other {Accepter # requêtes …}}",
|
||||||
|
"notification_requests.confirm_accept_multiple.button": "{count, plural, one {Accepter la requête} other {Accepter les requêtes}}",
|
||||||
|
"notification_requests.confirm_accept_multiple.message": "Vous êtes sur le point d'accepter {count, plural, one {une requête de notification} other {# requêtes de notification}}. Êtes-vous sûr de vouloir continuer ?",
|
||||||
|
"notification_requests.confirm_accept_multiple.title": "Accepter les requêtes de notification ?",
|
||||||
|
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Ignorer la requête} other {Ignorer les requêtes}}",
|
||||||
|
"notification_requests.confirm_dismiss_multiple.message": "Vous êtes sur le point de rejeter {count, plural, one {une requête de notification} other {# requêtes de notification}}. Vous ne serez plus en mesure d'{count, plural, one {y} other {y}} accéder facilement, ultérieurement. Êtes-vous sûr de vouloir continuer ?",
|
||||||
|
"notification_requests.confirm_dismiss_multiple.title": "Rejeter les requêtes de notification ?",
|
||||||
"notification_requests.dismiss": "Rejeter",
|
"notification_requests.dismiss": "Rejeter",
|
||||||
|
"notification_requests.dismiss_multiple": "{count, plural, one {Rejeter # requête …} other {Rejeter # requêtes …}}",
|
||||||
"notification_requests.edit_selection": "Modifier",
|
"notification_requests.edit_selection": "Modifier",
|
||||||
"notification_requests.exit_selection": "Fait",
|
"notification_requests.exit_selection": "Fait",
|
||||||
|
"notification_requests.explainer_for_limited_account": "Les notifications en provenance de ce compte ont été filtrées car le compte a été limité par un modérateur.",
|
||||||
|
"notification_requests.explainer_for_limited_remote_account": "Les notifications en provenance de ce compte ont été filtrées car le compte ou le serveur dont il est issu a été limité par un modérateur.",
|
||||||
|
"notification_requests.maximize": "Agrandir",
|
||||||
|
"notification_requests.minimize_banner": "Réduire la bannière des notifications filtrées",
|
||||||
"notification_requests.notifications_from": "Notifications de {name}",
|
"notification_requests.notifications_from": "Notifications de {name}",
|
||||||
"notification_requests.title": "Notifications filtrées",
|
"notification_requests.title": "Notifications filtrées",
|
||||||
|
"notification_requests.view": "Afficher les notifications",
|
||||||
"notifications.clear": "Effacer notifications",
|
"notifications.clear": "Effacer notifications",
|
||||||
"notifications.clear_confirmation": "Voulez-vous vraiment effacer toutes vos notifications?",
|
"notifications.clear_confirmation": "Voulez-vous vraiment effacer toutes vos notifications?",
|
||||||
"notifications.clear_title": "Effacer les notifications ?",
|
"notifications.clear_title": "Effacer les notifications ?",
|
||||||
@ -548,7 +592,8 @@
|
|||||||
"notifications.policy.drop": "Ignorer",
|
"notifications.policy.drop": "Ignorer",
|
||||||
"notifications.policy.drop_hint": "Expulser vers le vide, pour ne plus jamais les revoir",
|
"notifications.policy.drop_hint": "Expulser vers le vide, pour ne plus jamais les revoir",
|
||||||
"notifications.policy.filter": "Filtrer",
|
"notifications.policy.filter": "Filtrer",
|
||||||
"notifications.policy.filter_limited_accounts_hint": "Limité par les modérateur·rice·s du serveur",
|
"notifications.policy.filter_hint": "Envoyer à la boîte de réception des notifications filtrées",
|
||||||
|
"notifications.policy.filter_limited_accounts_hint": "Limités par les modérateur·rice·s du serveur",
|
||||||
"notifications.policy.filter_limited_accounts_title": "Comptes modérés",
|
"notifications.policy.filter_limited_accounts_title": "Comptes modérés",
|
||||||
"notifications.policy.filter_new_accounts.hint": "Créés au cours des derniers {days, plural, one {un jour} other {# jours}}",
|
"notifications.policy.filter_new_accounts.hint": "Créés au cours des derniers {days, plural, one {un jour} other {# jours}}",
|
||||||
"notifications.policy.filter_new_accounts_title": "Nouveaux comptes",
|
"notifications.policy.filter_new_accounts_title": "Nouveaux comptes",
|
||||||
@ -556,8 +601,9 @@
|
|||||||
"notifications.policy.filter_not_followers_title": "Personnes qui ne vous suivent pas",
|
"notifications.policy.filter_not_followers_title": "Personnes qui ne vous suivent pas",
|
||||||
"notifications.policy.filter_not_following_hint": "Jusqu'à ce que vous les validiez manuellement",
|
"notifications.policy.filter_not_following_hint": "Jusqu'à ce que vous les validiez manuellement",
|
||||||
"notifications.policy.filter_not_following_title": "Personnes que vous ne suivez pas",
|
"notifications.policy.filter_not_following_title": "Personnes que vous ne suivez pas",
|
||||||
"notifications.policy.filter_private_mentions_hint": "Filtré sauf si c'est en réponse à une mention de vous ou si vous suivez l'expéditeur",
|
"notifications.policy.filter_private_mentions_hint": "Filtrées sauf si c'est en réponse à l'une de vos mentions ou si vous suivez l'expéditeur·ice",
|
||||||
"notifications.policy.filter_private_mentions_title": "Mentions privées non sollicitées",
|
"notifications.policy.filter_private_mentions_title": "Mentions privées non sollicitées",
|
||||||
|
"notifications.policy.title": "Gestion des notifications des …",
|
||||||
"notifications_permission_banner.enable": "Activer les notifications de bureau",
|
"notifications_permission_banner.enable": "Activer les notifications de bureau",
|
||||||
"notifications_permission_banner.how_to_control": "Pour recevoir des notifications lorsque Mastodon n’est pas ouvert, activez les notifications de bureau. Vous pouvez contrôler précisément quels types d’interactions génèrent des notifications de bureau via le bouton {icon} ci-dessus une fois qu’elles sont activées.",
|
"notifications_permission_banner.how_to_control": "Pour recevoir des notifications lorsque Mastodon n’est pas ouvert, activez les notifications de bureau. Vous pouvez contrôler précisément quels types d’interactions génèrent des notifications de bureau via le bouton {icon} ci-dessus une fois qu’elles sont activées.",
|
||||||
"notifications_permission_banner.title": "Ne rien rater",
|
"notifications_permission_banner.title": "Ne rien rater",
|
||||||
@ -721,6 +767,7 @@
|
|||||||
"server_banner.is_one_of_many": "{domain} est l'un des nombreux serveurs Mastodon indépendants que vous pouvez utiliser pour participer au fédiverse.",
|
"server_banner.is_one_of_many": "{domain} est l'un des nombreux serveurs Mastodon indépendants que vous pouvez utiliser pour participer au fédiverse.",
|
||||||
"server_banner.server_stats": "Statistiques du serveur:",
|
"server_banner.server_stats": "Statistiques du serveur:",
|
||||||
"sign_in_banner.create_account": "Créer un compte",
|
"sign_in_banner.create_account": "Créer un compte",
|
||||||
|
"sign_in_banner.follow_anyone": "Suivez n'importe qui à travers le fédivers et affichez tout dans un ordre chronologique. Ni algorithmes, ni publicités, ni appâts à clics en perspective.",
|
||||||
"sign_in_banner.mastodon_is": "Mastodon est le meilleur moyen de suivre ce qui se passe.",
|
"sign_in_banner.mastodon_is": "Mastodon est le meilleur moyen de suivre ce qui se passe.",
|
||||||
"sign_in_banner.sign_in": "Se connecter",
|
"sign_in_banner.sign_in": "Se connecter",
|
||||||
"sign_in_banner.sso_redirect": "Se connecter ou s’inscrire",
|
"sign_in_banner.sso_redirect": "Se connecter ou s’inscrire",
|
||||||
|
@ -96,6 +96,8 @@
|
|||||||
"block_modal.title": "Bloquer l'utilisateur·rice ?",
|
"block_modal.title": "Bloquer l'utilisateur·rice ?",
|
||||||
"block_modal.you_wont_see_mentions": "Vous ne verrez pas les publications qui le mentionne.",
|
"block_modal.you_wont_see_mentions": "Vous ne verrez pas les publications qui le mentionne.",
|
||||||
"boost_modal.combo": "Vous pouvez appuyer sur {combo} pour passer ceci la prochaine fois",
|
"boost_modal.combo": "Vous pouvez appuyer sur {combo} pour passer ceci la prochaine fois",
|
||||||
|
"boost_modal.reblog": "Booster le message ?",
|
||||||
|
"boost_modal.undo_reblog": "Annuler le boost du message ?",
|
||||||
"bundle_column_error.copy_stacktrace": "Copier le rapport d'erreur",
|
"bundle_column_error.copy_stacktrace": "Copier le rapport d'erreur",
|
||||||
"bundle_column_error.error.body": "La page demandée n'a pas pu être affichée. Cela peut être dû à un bogue dans notre code, ou à un problème de compatibilité avec le navigateur.",
|
"bundle_column_error.error.body": "La page demandée n'a pas pu être affichée. Cela peut être dû à un bogue dans notre code, ou à un problème de compatibilité avec le navigateur.",
|
||||||
"bundle_column_error.error.title": "Oh non !",
|
"bundle_column_error.error.title": "Oh non !",
|
||||||
@ -288,7 +290,7 @@
|
|||||||
"filter_modal.added.context_mismatch_title": "Incompatibilité du contexte !",
|
"filter_modal.added.context_mismatch_title": "Incompatibilité du contexte !",
|
||||||
"filter_modal.added.expired_explanation": "Cette catégorie de filtre a expiré, vous devrez modifier la date d'expiration pour qu'elle soit appliquée.",
|
"filter_modal.added.expired_explanation": "Cette catégorie de filtre a expiré, vous devrez modifier la date d'expiration pour qu'elle soit appliquée.",
|
||||||
"filter_modal.added.expired_title": "Filtre expiré !",
|
"filter_modal.added.expired_title": "Filtre expiré !",
|
||||||
"filter_modal.added.review_and_configure": "Pour examiner et affiner la configuration de cette catégorie de filtre, allez à {settings_link}.",
|
"filter_modal.added.review_and_configure": "Pour examiner et affiner la configuration de cette catégorie de filtres, allez à {settings_link}.",
|
||||||
"filter_modal.added.review_and_configure_title": "Paramètres du filtre",
|
"filter_modal.added.review_and_configure_title": "Paramètres du filtre",
|
||||||
"filter_modal.added.settings_link": "page des paramètres",
|
"filter_modal.added.settings_link": "page des paramètres",
|
||||||
"filter_modal.added.short_explanation": "Ce message a été ajouté à la catégorie de filtre suivante : {title}.",
|
"filter_modal.added.short_explanation": "Ce message a été ajouté à la catégorie de filtre suivante : {title}.",
|
||||||
@ -297,10 +299,11 @@
|
|||||||
"filter_modal.select_filter.expired": "a expiré",
|
"filter_modal.select_filter.expired": "a expiré",
|
||||||
"filter_modal.select_filter.prompt_new": "Nouvelle catégorie : {name}",
|
"filter_modal.select_filter.prompt_new": "Nouvelle catégorie : {name}",
|
||||||
"filter_modal.select_filter.search": "Rechercher ou créer",
|
"filter_modal.select_filter.search": "Rechercher ou créer",
|
||||||
"filter_modal.select_filter.subtitle": "Utilisez une catégorie existante ou en créer une nouvelle",
|
"filter_modal.select_filter.subtitle": "Utilisez une catégorie existante ou créez-en une nouvelle",
|
||||||
"filter_modal.select_filter.title": "Filtrer ce message",
|
"filter_modal.select_filter.title": "Filtrer ce message",
|
||||||
"filter_modal.title.status": "Filtrer un message",
|
"filter_modal.title.status": "Filtrer un message",
|
||||||
"filter_warning.matches_filter": "Correspond au filtre « {title} »",
|
"filter_warning.matches_filter": "Correspond au filtre « {title} »",
|
||||||
|
"filtered_notifications_banner.pending_requests": "De la part {count, plural, =0 {d’aucune personne} one {d'une personne} other {de # personnes}} que vous pourriez connaître",
|
||||||
"filtered_notifications_banner.title": "Notifications filtrées",
|
"filtered_notifications_banner.title": "Notifications filtrées",
|
||||||
"firehose.all": "Tout",
|
"firehose.all": "Tout",
|
||||||
"firehose.local": "Ce serveur",
|
"firehose.local": "Ce serveur",
|
||||||
@ -310,6 +313,7 @@
|
|||||||
"follow_requests.unlocked_explanation": "Même si votre compte n’est pas privé, l’équipe de {domain} a pensé que vous pourriez vouloir consulter manuellement les demandes de suivi de ces comptes.",
|
"follow_requests.unlocked_explanation": "Même si votre compte n’est pas privé, l’équipe de {domain} a pensé que vous pourriez vouloir consulter manuellement les demandes de suivi de ces comptes.",
|
||||||
"follow_suggestions.curated_suggestion": "Choix du staff",
|
"follow_suggestions.curated_suggestion": "Choix du staff",
|
||||||
"follow_suggestions.dismiss": "Ne plus afficher",
|
"follow_suggestions.dismiss": "Ne plus afficher",
|
||||||
|
"follow_suggestions.featured_longer": "Sélectionné par l'équipe de {domain}",
|
||||||
"follow_suggestions.friends_of_friends_longer": "Populaire dans le cercle des personnes que vous suivez",
|
"follow_suggestions.friends_of_friends_longer": "Populaire dans le cercle des personnes que vous suivez",
|
||||||
"follow_suggestions.hints.featured": "Ce profil a été sélectionné par l'équipe de {domain}.",
|
"follow_suggestions.hints.featured": "Ce profil a été sélectionné par l'équipe de {domain}.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Ce profil est populaire parmi les personnes que vous suivez.",
|
"follow_suggestions.hints.friends_of_friends": "Ce profil est populaire parmi les personnes que vous suivez.",
|
||||||
@ -348,8 +352,12 @@
|
|||||||
"hashtag.follow": "Suivre le hashtag",
|
"hashtag.follow": "Suivre le hashtag",
|
||||||
"hashtag.unfollow": "Ne plus suivre le hashtag",
|
"hashtag.unfollow": "Ne plus suivre le hashtag",
|
||||||
"hashtags.and_other": "…et {count, plural, other {# de plus}}",
|
"hashtags.and_other": "…et {count, plural, other {# de plus}}",
|
||||||
|
"hints.profiles.followers_may_be_missing": "Les abonné·e·s à ce profil peuvent être manquant·e·s.",
|
||||||
|
"hints.profiles.follows_may_be_missing": "Les abonnements pour ce profil peuvent être manquants.",
|
||||||
|
"hints.profiles.posts_may_be_missing": "Certains messages de ce profil peuvent être manquants.",
|
||||||
"hints.profiles.see_more_followers": "Afficher plus d'abonné·e·s sur {domain}",
|
"hints.profiles.see_more_followers": "Afficher plus d'abonné·e·s sur {domain}",
|
||||||
"hints.profiles.see_more_posts": "Voir plus de messages sur {domain}",
|
"hints.profiles.see_more_posts": "Voir plus de messages sur {domain}",
|
||||||
|
"hints.threads.replies_may_be_missing": "Les réponses provenant des autres serveurs pourraient être manquantes.",
|
||||||
"hints.threads.see_more": "Afficher plus de réponses sur {domain}",
|
"hints.threads.see_more": "Afficher plus de réponses sur {domain}",
|
||||||
"home.column_settings.show_reblogs": "Afficher les partages",
|
"home.column_settings.show_reblogs": "Afficher les partages",
|
||||||
"home.column_settings.show_replies": "Afficher les réponses",
|
"home.column_settings.show_replies": "Afficher les réponses",
|
||||||
@ -358,6 +366,17 @@
|
|||||||
"home.pending_critical_update.link": "Voir les mises à jour",
|
"home.pending_critical_update.link": "Voir les mises à jour",
|
||||||
"home.pending_critical_update.title": "Une mise à jour de sécurité critique est disponible !",
|
"home.pending_critical_update.title": "Une mise à jour de sécurité critique est disponible !",
|
||||||
"home.show_announcements": "Afficher les annonces",
|
"home.show_announcements": "Afficher les annonces",
|
||||||
|
"ignore_notifications_modal.disclaimer": "Mastodon ne peut pas indiquer aux utilisateurs que vous avez ignoré leurs notifications. Le fait d'ignorer les notifications n'empêchera pas la transmission des messages eux-mêmes.",
|
||||||
|
"ignore_notifications_modal.filter_instead": "Filtrer plutôt",
|
||||||
|
"ignore_notifications_modal.filter_to_act_users": "Vous serez toujours en mesure d'accepter, de rejeter ou de signaler les utilisateur·rice·s",
|
||||||
|
"ignore_notifications_modal.filter_to_avoid_confusion": "Le filtrage permet d'éviter toute éventuelle confusion",
|
||||||
|
"ignore_notifications_modal.filter_to_review_separately": "Vous pouvez réexaminer les notifications filtrées séparément",
|
||||||
|
"ignore_notifications_modal.ignore": "Ignorer les notifications",
|
||||||
|
"ignore_notifications_modal.limited_accounts_title": "Ignorer les notifications provenant des comptes modérés ?",
|
||||||
|
"ignore_notifications_modal.new_accounts_title": "Ignorer les notifications provenant des nouveaux comptes ?",
|
||||||
|
"ignore_notifications_modal.not_followers_title": "Ignorer les notifications provenant des personnes qui ne vous suivent pas ?",
|
||||||
|
"ignore_notifications_modal.not_following_title": "Ignorer les notifications provenant des personnes que vous ne suivez pas ?",
|
||||||
|
"ignore_notifications_modal.private_mentions_title": "Ignorer les notifications issues des mentions privées non sollicitées ?",
|
||||||
"interaction_modal.description.favourite": "Avec un compte Mastodon, vous pouvez ajouter ce message à vos favoris pour informer l'auteur⋅rice que vous l'appréciez et pour le sauvegarder pour plus tard.",
|
"interaction_modal.description.favourite": "Avec un compte Mastodon, vous pouvez ajouter ce message à vos favoris pour informer l'auteur⋅rice que vous l'appréciez et pour le sauvegarder pour plus tard.",
|
||||||
"interaction_modal.description.follow": "Avec un compte Mastodon, vous pouvez suivre {name} et recevoir leurs posts dans votre fil d'actualité.",
|
"interaction_modal.description.follow": "Avec un compte Mastodon, vous pouvez suivre {name} et recevoir leurs posts dans votre fil d'actualité.",
|
||||||
"interaction_modal.description.reblog": "Avec un compte sur Mastodon, vous pouvez partager ce message pour le faire découvrir à vos propres abonné⋅e⋅s.",
|
"interaction_modal.description.reblog": "Avec un compte sur Mastodon, vous pouvez partager ce message pour le faire découvrir à vos propres abonné⋅e⋅s.",
|
||||||
@ -448,6 +467,7 @@
|
|||||||
"mute_modal.you_wont_see_mentions": "Vous ne verrez pas les publications qui le mentionne.",
|
"mute_modal.you_wont_see_mentions": "Vous ne verrez pas les publications qui le mentionne.",
|
||||||
"mute_modal.you_wont_see_posts": "Il peut toujours voir vos publications, mais vous ne verrez pas les siennes.",
|
"mute_modal.you_wont_see_posts": "Il peut toujours voir vos publications, mais vous ne verrez pas les siennes.",
|
||||||
"navigation_bar.about": "À propos",
|
"navigation_bar.about": "À propos",
|
||||||
|
"navigation_bar.administration": "Administration",
|
||||||
"navigation_bar.advanced_interface": "Ouvrir dans l’interface avancée",
|
"navigation_bar.advanced_interface": "Ouvrir dans l’interface avancée",
|
||||||
"navigation_bar.blocks": "Comptes bloqués",
|
"navigation_bar.blocks": "Comptes bloqués",
|
||||||
"navigation_bar.bookmarks": "Marque-pages",
|
"navigation_bar.bookmarks": "Marque-pages",
|
||||||
@ -464,6 +484,7 @@
|
|||||||
"navigation_bar.follows_and_followers": "Abonnements et abonnés",
|
"navigation_bar.follows_and_followers": "Abonnements et abonnés",
|
||||||
"navigation_bar.lists": "Listes",
|
"navigation_bar.lists": "Listes",
|
||||||
"navigation_bar.logout": "Déconnexion",
|
"navigation_bar.logout": "Déconnexion",
|
||||||
|
"navigation_bar.moderation": "Modération",
|
||||||
"navigation_bar.mutes": "Comptes masqués",
|
"navigation_bar.mutes": "Comptes masqués",
|
||||||
"navigation_bar.opened_in_classic_interface": "Les messages, les comptes et les pages spécifiques sont ouvertes dans l’interface classique.",
|
"navigation_bar.opened_in_classic_interface": "Les messages, les comptes et les pages spécifiques sont ouvertes dans l’interface classique.",
|
||||||
"navigation_bar.personal": "Personnel",
|
"navigation_bar.personal": "Personnel",
|
||||||
@ -474,14 +495,23 @@
|
|||||||
"navigation_bar.security": "Sécurité",
|
"navigation_bar.security": "Sécurité",
|
||||||
"not_signed_in_indicator.not_signed_in": "Vous devez vous connecter pour accéder à cette ressource.",
|
"not_signed_in_indicator.not_signed_in": "Vous devez vous connecter pour accéder à cette ressource.",
|
||||||
"notification.admin.report": "{name} a signalé {target}",
|
"notification.admin.report": "{name} a signalé {target}",
|
||||||
|
"notification.admin.report_account": "{name} a signalé {count, plural, one {un message} other {# messages}} de {target} pour {category}",
|
||||||
|
"notification.admin.report_account_other": "{name} a signalé {count, plural, one {un message} other {# messages}} depuis {target}",
|
||||||
|
"notification.admin.report_statuses": "{name} a signalé {target} pour {category}",
|
||||||
|
"notification.admin.report_statuses_other": "{name} a signalé {target}",
|
||||||
"notification.admin.sign_up": "{name} s'est inscrit",
|
"notification.admin.sign_up": "{name} s'est inscrit",
|
||||||
|
"notification.admin.sign_up.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} se sont inscrit",
|
||||||
"notification.favourite": "{name} a ajouté votre message à ses favoris",
|
"notification.favourite": "{name} a ajouté votre message à ses favoris",
|
||||||
|
"notification.favourite.name_and_others_with_link": "{name} et <a>{count, plural, one {# autre} other {# autres}}</a> ont mis votre message en favori",
|
||||||
"notification.follow": "{name} vous suit",
|
"notification.follow": "{name} vous suit",
|
||||||
|
"notification.follow.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} se sont abonné à votre compte",
|
||||||
"notification.follow_request": "{name} a demandé à vous suivre",
|
"notification.follow_request": "{name} a demandé à vous suivre",
|
||||||
|
"notification.follow_request.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} ont demandé à vous suivre",
|
||||||
"notification.label.mention": "Mention",
|
"notification.label.mention": "Mention",
|
||||||
"notification.label.private_mention": "Mention privée",
|
"notification.label.private_mention": "Mention privée",
|
||||||
"notification.label.private_reply": "Répondre en privé",
|
"notification.label.private_reply": "Répondre en privé",
|
||||||
"notification.label.reply": "Réponse",
|
"notification.label.reply": "Réponse",
|
||||||
|
"notification.mention": "Mention",
|
||||||
"notification.moderation-warning.learn_more": "En savoir plus",
|
"notification.moderation-warning.learn_more": "En savoir plus",
|
||||||
"notification.moderation_warning": "Vous avez reçu un avertissement de modération",
|
"notification.moderation_warning": "Vous avez reçu un avertissement de modération",
|
||||||
"notification.moderation_warning.action_delete_statuses": "Certains de vos messages ont été supprimés.",
|
"notification.moderation_warning.action_delete_statuses": "Certains de vos messages ont été supprimés.",
|
||||||
@ -494,6 +524,7 @@
|
|||||||
"notification.own_poll": "Votre sondage est terminé",
|
"notification.own_poll": "Votre sondage est terminé",
|
||||||
"notification.poll": "Un sondage auquel vous avez participé vient de se terminer",
|
"notification.poll": "Un sondage auquel vous avez participé vient de se terminer",
|
||||||
"notification.reblog": "{name} a partagé votre message",
|
"notification.reblog": "{name} a partagé votre message",
|
||||||
|
"notification.reblog.name_and_others_with_link": "{name} et <a>{count, plural, one {# autre} other {# autres}}</a> ont boosté votre message",
|
||||||
"notification.relationships_severance_event": "Connexions perdues avec {name}",
|
"notification.relationships_severance_event": "Connexions perdues avec {name}",
|
||||||
"notification.relationships_severance_event.account_suspension": "Un·e administrateur·rice de {from} a suspendu {target}, ce qui signifie que vous ne pourrez plus recevoir de mises à jour ou interagir avec lui.",
|
"notification.relationships_severance_event.account_suspension": "Un·e administrateur·rice de {from} a suspendu {target}, ce qui signifie que vous ne pourrez plus recevoir de mises à jour ou interagir avec lui.",
|
||||||
"notification.relationships_severance_event.domain_block": "Un·e administrateur·rice de {from} en a bloqué {target}, comprenant {followersCount} de vos abonné·e·s et {followingCount, plural, one {# compte} other {# comptes}} vous suivez.",
|
"notification.relationships_severance_event.domain_block": "Un·e administrateur·rice de {from} en a bloqué {target}, comprenant {followersCount} de vos abonné·e·s et {followingCount, plural, one {# compte} other {# comptes}} vous suivez.",
|
||||||
@ -502,11 +533,24 @@
|
|||||||
"notification.status": "{name} vient de publier",
|
"notification.status": "{name} vient de publier",
|
||||||
"notification.update": "{name} a modifié un message",
|
"notification.update": "{name} a modifié un message",
|
||||||
"notification_requests.accept": "Accepter",
|
"notification_requests.accept": "Accepter",
|
||||||
|
"notification_requests.accept_multiple": "{count, plural, one {Accepter # requête …} other {Accepter # requêtes …}}",
|
||||||
|
"notification_requests.confirm_accept_multiple.button": "{count, plural, one {Accepter la requête} other {Accepter les requêtes}}",
|
||||||
|
"notification_requests.confirm_accept_multiple.message": "Vous êtes sur le point d'accepter {count, plural, one {une requête de notification} other {# requêtes de notification}}. Êtes-vous sûr de vouloir continuer ?",
|
||||||
|
"notification_requests.confirm_accept_multiple.title": "Accepter les requêtes de notification ?",
|
||||||
|
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Ignorer la requête} other {Ignorer les requêtes}}",
|
||||||
|
"notification_requests.confirm_dismiss_multiple.message": "Vous êtes sur le point de rejeter {count, plural, one {une requête de notification} other {# requêtes de notification}}. Vous ne serez plus en mesure d'{count, plural, one {y} other {y}} accéder facilement, ultérieurement. Êtes-vous sûr de vouloir continuer ?",
|
||||||
|
"notification_requests.confirm_dismiss_multiple.title": "Rejeter les requêtes de notification ?",
|
||||||
"notification_requests.dismiss": "Rejeter",
|
"notification_requests.dismiss": "Rejeter",
|
||||||
|
"notification_requests.dismiss_multiple": "{count, plural, one {Rejeter # requête …} other {Rejeter # requêtes …}}",
|
||||||
"notification_requests.edit_selection": "Modifier",
|
"notification_requests.edit_selection": "Modifier",
|
||||||
"notification_requests.exit_selection": "Fait",
|
"notification_requests.exit_selection": "Fait",
|
||||||
|
"notification_requests.explainer_for_limited_account": "Les notifications en provenance de ce compte ont été filtrées car le compte a été limité par un modérateur.",
|
||||||
|
"notification_requests.explainer_for_limited_remote_account": "Les notifications en provenance de ce compte ont été filtrées car le compte ou le serveur dont il est issu a été limité par un modérateur.",
|
||||||
|
"notification_requests.maximize": "Agrandir",
|
||||||
|
"notification_requests.minimize_banner": "Réduire la bannière des notifications filtrées",
|
||||||
"notification_requests.notifications_from": "Notifications de {name}",
|
"notification_requests.notifications_from": "Notifications de {name}",
|
||||||
"notification_requests.title": "Notifications filtrées",
|
"notification_requests.title": "Notifications filtrées",
|
||||||
|
"notification_requests.view": "Afficher les notifications",
|
||||||
"notifications.clear": "Effacer les notifications",
|
"notifications.clear": "Effacer les notifications",
|
||||||
"notifications.clear_confirmation": "Voulez-vous vraiment effacer toutes vos notifications ?",
|
"notifications.clear_confirmation": "Voulez-vous vraiment effacer toutes vos notifications ?",
|
||||||
"notifications.clear_title": "Effacer les notifications ?",
|
"notifications.clear_title": "Effacer les notifications ?",
|
||||||
@ -548,7 +592,8 @@
|
|||||||
"notifications.policy.drop": "Ignorer",
|
"notifications.policy.drop": "Ignorer",
|
||||||
"notifications.policy.drop_hint": "Expulser vers le vide, pour ne plus jamais les revoir",
|
"notifications.policy.drop_hint": "Expulser vers le vide, pour ne plus jamais les revoir",
|
||||||
"notifications.policy.filter": "Filtrer",
|
"notifications.policy.filter": "Filtrer",
|
||||||
"notifications.policy.filter_limited_accounts_hint": "Limité par les modérateur·rice·s du serveur",
|
"notifications.policy.filter_hint": "Envoyer à la boîte de réception des notifications filtrées",
|
||||||
|
"notifications.policy.filter_limited_accounts_hint": "Limités par les modérateur·rice·s du serveur",
|
||||||
"notifications.policy.filter_limited_accounts_title": "Comptes modérés",
|
"notifications.policy.filter_limited_accounts_title": "Comptes modérés",
|
||||||
"notifications.policy.filter_new_accounts.hint": "Créés au cours des derniers {days, plural, one {un jour} other {# jours}}",
|
"notifications.policy.filter_new_accounts.hint": "Créés au cours des derniers {days, plural, one {un jour} other {# jours}}",
|
||||||
"notifications.policy.filter_new_accounts_title": "Nouveaux comptes",
|
"notifications.policy.filter_new_accounts_title": "Nouveaux comptes",
|
||||||
@ -556,8 +601,9 @@
|
|||||||
"notifications.policy.filter_not_followers_title": "Personnes qui ne vous suivent pas",
|
"notifications.policy.filter_not_followers_title": "Personnes qui ne vous suivent pas",
|
||||||
"notifications.policy.filter_not_following_hint": "Jusqu'à ce que vous les validiez manuellement",
|
"notifications.policy.filter_not_following_hint": "Jusqu'à ce que vous les validiez manuellement",
|
||||||
"notifications.policy.filter_not_following_title": "Personnes que vous ne suivez pas",
|
"notifications.policy.filter_not_following_title": "Personnes que vous ne suivez pas",
|
||||||
"notifications.policy.filter_private_mentions_hint": "Filtré sauf si c'est en réponse à une mention de vous ou si vous suivez l'expéditeur",
|
"notifications.policy.filter_private_mentions_hint": "Filtrées sauf si c'est en réponse à l'une de vos mentions ou si vous suivez l'expéditeur·ice",
|
||||||
"notifications.policy.filter_private_mentions_title": "Mentions privées non sollicitées",
|
"notifications.policy.filter_private_mentions_title": "Mentions privées non sollicitées",
|
||||||
|
"notifications.policy.title": "Gestion des notifications des …",
|
||||||
"notifications_permission_banner.enable": "Activer les notifications de bureau",
|
"notifications_permission_banner.enable": "Activer les notifications de bureau",
|
||||||
"notifications_permission_banner.how_to_control": "Pour recevoir des notifications lorsque Mastodon n’est pas ouvert, activez les notifications du bureau. Vous pouvez contrôler précisément quels types d’interactions génèrent des notifications de bureau via le bouton {icon} ci-dessus une fois qu’elles sont activées.",
|
"notifications_permission_banner.how_to_control": "Pour recevoir des notifications lorsque Mastodon n’est pas ouvert, activez les notifications du bureau. Vous pouvez contrôler précisément quels types d’interactions génèrent des notifications de bureau via le bouton {icon} ci-dessus une fois qu’elles sont activées.",
|
||||||
"notifications_permission_banner.title": "Toujours au courant",
|
"notifications_permission_banner.title": "Toujours au courant",
|
||||||
@ -721,6 +767,7 @@
|
|||||||
"server_banner.is_one_of_many": "{domain} est l'un des nombreux serveurs Mastodon indépendants que vous pouvez utiliser pour participer au fédiverse.",
|
"server_banner.is_one_of_many": "{domain} est l'un des nombreux serveurs Mastodon indépendants que vous pouvez utiliser pour participer au fédiverse.",
|
||||||
"server_banner.server_stats": "Statistiques du serveur :",
|
"server_banner.server_stats": "Statistiques du serveur :",
|
||||||
"sign_in_banner.create_account": "Créer un compte",
|
"sign_in_banner.create_account": "Créer un compte",
|
||||||
|
"sign_in_banner.follow_anyone": "Suivez n'importe qui à travers le fédivers et affichez tout dans un ordre chronologique. Ni algorithmes, ni publicités, ni appâts à clics en perspective.",
|
||||||
"sign_in_banner.mastodon_is": "Mastodon est le meilleur moyen de suivre ce qui se passe.",
|
"sign_in_banner.mastodon_is": "Mastodon est le meilleur moyen de suivre ce qui se passe.",
|
||||||
"sign_in_banner.sign_in": "Se connecter",
|
"sign_in_banner.sign_in": "Se connecter",
|
||||||
"sign_in_banner.sso_redirect": "Se connecter ou s’inscrire",
|
"sign_in_banner.sso_redirect": "Se connecter ou s’inscrire",
|
||||||
|
@ -97,6 +97,8 @@
|
|||||||
"block_modal.title": "לחסום משתמש?",
|
"block_modal.title": "לחסום משתמש?",
|
||||||
"block_modal.you_wont_see_mentions": "לא תראה הודעות שמאזכרות אותם.",
|
"block_modal.you_wont_see_mentions": "לא תראה הודעות שמאזכרות אותם.",
|
||||||
"boost_modal.combo": "ניתן להקיש {combo} כדי לדלג בפעם הבאה",
|
"boost_modal.combo": "ניתן להקיש {combo} כדי לדלג בפעם הבאה",
|
||||||
|
"boost_modal.reblog": "להדהד הודעה?",
|
||||||
|
"boost_modal.undo_reblog": "להסיר הדהוד?",
|
||||||
"bundle_column_error.copy_stacktrace": "העתקת הודעת שגיאה",
|
"bundle_column_error.copy_stacktrace": "העתקת הודעת שגיאה",
|
||||||
"bundle_column_error.error.body": "הדף המבוקש אינו זמין. זה עשוי להיות באג בקוד או בעייה בתאימות הדפדפן.",
|
"bundle_column_error.error.body": "הדף המבוקש אינו זמין. זה עשוי להיות באג בקוד או בעייה בתאימות הדפדפן.",
|
||||||
"bundle_column_error.error.title": "הו, לא!",
|
"bundle_column_error.error.title": "הו, לא!",
|
||||||
@ -467,6 +469,7 @@
|
|||||||
"mute_modal.you_wont_see_mentions": "לא תראה הודעות שמאזכרות אותם.",
|
"mute_modal.you_wont_see_mentions": "לא תראה הודעות שמאזכרות אותם.",
|
||||||
"mute_modal.you_wont_see_posts": "הם יכולים לראות את הודעותכם, אבל אתם לא תוכלו לראות את שלהם.",
|
"mute_modal.you_wont_see_posts": "הם יכולים לראות את הודעותכם, אבל אתם לא תוכלו לראות את שלהם.",
|
||||||
"navigation_bar.about": "אודות",
|
"navigation_bar.about": "אודות",
|
||||||
|
"navigation_bar.administration": "ניהול",
|
||||||
"navigation_bar.advanced_interface": "פתח במנשק ווב מתקדם",
|
"navigation_bar.advanced_interface": "פתח במנשק ווב מתקדם",
|
||||||
"navigation_bar.blocks": "משתמשים חסומים",
|
"navigation_bar.blocks": "משתמשים חסומים",
|
||||||
"navigation_bar.bookmarks": "סימניות",
|
"navigation_bar.bookmarks": "סימניות",
|
||||||
@ -483,6 +486,7 @@
|
|||||||
"navigation_bar.follows_and_followers": "נעקבים ועוקבים",
|
"navigation_bar.follows_and_followers": "נעקבים ועוקבים",
|
||||||
"navigation_bar.lists": "רשימות",
|
"navigation_bar.lists": "רשימות",
|
||||||
"navigation_bar.logout": "התנתקות",
|
"navigation_bar.logout": "התנתקות",
|
||||||
|
"navigation_bar.moderation": "פיקוח",
|
||||||
"navigation_bar.mutes": "משתמשים בהשתקה",
|
"navigation_bar.mutes": "משתמשים בהשתקה",
|
||||||
"navigation_bar.opened_in_classic_interface": "הודעות, חשבונות ושאר עמודי רשת יפתחו כברירת מחדל בדפדפן רשת קלאסי.",
|
"navigation_bar.opened_in_classic_interface": "הודעות, חשבונות ושאר עמודי רשת יפתחו כברירת מחדל בדפדפן רשת קלאסי.",
|
||||||
"navigation_bar.personal": "אישי",
|
"navigation_bar.personal": "אישי",
|
||||||
|
@ -97,6 +97,8 @@
|
|||||||
"block_modal.title": "Letiltsuk a felhasználót?",
|
"block_modal.title": "Letiltsuk a felhasználót?",
|
||||||
"block_modal.you_wont_see_mentions": "Nem látsz majd őt említő bejegyzéseket.",
|
"block_modal.you_wont_see_mentions": "Nem látsz majd őt említő bejegyzéseket.",
|
||||||
"boost_modal.combo": "Hogy átugord ezt következő alkalommal, használd {combo}",
|
"boost_modal.combo": "Hogy átugord ezt következő alkalommal, használd {combo}",
|
||||||
|
"boost_modal.reblog": "Bejegyzés megtolása?",
|
||||||
|
"boost_modal.undo_reblog": "Megtolás visszavonása?",
|
||||||
"bundle_column_error.copy_stacktrace": "Hibajelentés másolása",
|
"bundle_column_error.copy_stacktrace": "Hibajelentés másolása",
|
||||||
"bundle_column_error.error.body": "A kért lap nem jeleníthető meg. Ez lehet, hogy kódhiba, vagy böngészőkompatibitási hiba.",
|
"bundle_column_error.error.body": "A kért lap nem jeleníthető meg. Ez lehet, hogy kódhiba, vagy böngészőkompatibitási hiba.",
|
||||||
"bundle_column_error.error.title": "Jaj ne!",
|
"bundle_column_error.error.title": "Jaj ne!",
|
||||||
@ -467,6 +469,7 @@
|
|||||||
"mute_modal.you_wont_see_mentions": "Nem látsz majd őt említő bejegyzéseket.",
|
"mute_modal.you_wont_see_mentions": "Nem látsz majd őt említő bejegyzéseket.",
|
||||||
"mute_modal.you_wont_see_posts": "Továbbra is látni fogja a bejegyzéseidet, de te nem fogod látni az övéit.",
|
"mute_modal.you_wont_see_posts": "Továbbra is látni fogja a bejegyzéseidet, de te nem fogod látni az övéit.",
|
||||||
"navigation_bar.about": "Névjegy",
|
"navigation_bar.about": "Névjegy",
|
||||||
|
"navigation_bar.administration": "Adminisztráció",
|
||||||
"navigation_bar.advanced_interface": "Megnyitás a speciális webes felületben",
|
"navigation_bar.advanced_interface": "Megnyitás a speciális webes felületben",
|
||||||
"navigation_bar.blocks": "Letiltott felhasználók",
|
"navigation_bar.blocks": "Letiltott felhasználók",
|
||||||
"navigation_bar.bookmarks": "Könyvjelzők",
|
"navigation_bar.bookmarks": "Könyvjelzők",
|
||||||
@ -483,6 +486,7 @@
|
|||||||
"navigation_bar.follows_and_followers": "Követések és követők",
|
"navigation_bar.follows_and_followers": "Követések és követők",
|
||||||
"navigation_bar.lists": "Listák",
|
"navigation_bar.lists": "Listák",
|
||||||
"navigation_bar.logout": "Kijelentkezés",
|
"navigation_bar.logout": "Kijelentkezés",
|
||||||
|
"navigation_bar.moderation": "Moderáció",
|
||||||
"navigation_bar.mutes": "Némított felhasználók",
|
"navigation_bar.mutes": "Némított felhasználók",
|
||||||
"navigation_bar.opened_in_classic_interface": "A bejegyzések, fiókok és más speciális oldalak alapértelmezés szerint a klasszikus webes felületen nyílnak meg.",
|
"navigation_bar.opened_in_classic_interface": "A bejegyzések, fiókok és más speciális oldalak alapértelmezés szerint a klasszikus webes felületen nyílnak meg.",
|
||||||
"navigation_bar.personal": "Személyes",
|
"navigation_bar.personal": "Személyes",
|
||||||
|
@ -97,6 +97,7 @@
|
|||||||
"block_modal.title": "Blocar usator?",
|
"block_modal.title": "Blocar usator?",
|
||||||
"block_modal.you_wont_see_mentions": "Tu non videra le messages que mentiona iste persona.",
|
"block_modal.you_wont_see_mentions": "Tu non videra le messages que mentiona iste persona.",
|
||||||
"boost_modal.combo": "Tu pote premer {combo} pro saltar isto le proxime vice",
|
"boost_modal.combo": "Tu pote premer {combo} pro saltar isto le proxime vice",
|
||||||
|
"boost_modal.reblog": "Impulsar le message?",
|
||||||
"bundle_column_error.copy_stacktrace": "Copiar reporto de error",
|
"bundle_column_error.copy_stacktrace": "Copiar reporto de error",
|
||||||
"bundle_column_error.error.body": "Le pagina requestate non pote esser visualisate. Pote esser a causa de un defecto in nostre codice o de un problema de compatibilitate del navigator.",
|
"bundle_column_error.error.body": "Le pagina requestate non pote esser visualisate. Pote esser a causa de un defecto in nostre codice o de un problema de compatibilitate del navigator.",
|
||||||
"bundle_column_error.error.title": "Oh, no!",
|
"bundle_column_error.error.title": "Oh, no!",
|
||||||
|
@ -97,6 +97,8 @@
|
|||||||
"block_modal.title": "Bloccare l'utente?",
|
"block_modal.title": "Bloccare l'utente?",
|
||||||
"block_modal.you_wont_see_mentions": "Non vedrai i post che li menzionano.",
|
"block_modal.you_wont_see_mentions": "Non vedrai i post che li menzionano.",
|
||||||
"boost_modal.combo": "Puoi premere {combo} per saltare questo passaggio, la prossima volta",
|
"boost_modal.combo": "Puoi premere {combo} per saltare questo passaggio, la prossima volta",
|
||||||
|
"boost_modal.reblog": "Condividere il post?",
|
||||||
|
"boost_modal.undo_reblog": "Annullare la condivisione del post?",
|
||||||
"bundle_column_error.copy_stacktrace": "Copia rapporto sull'errore",
|
"bundle_column_error.copy_stacktrace": "Copia rapporto sull'errore",
|
||||||
"bundle_column_error.error.body": "Impossibile rendedrizzare la pagina richiesta. Potrebbe dipendere da un bug nel nostro codice o da un problema di compatibilità di un browser.",
|
"bundle_column_error.error.body": "Impossibile rendedrizzare la pagina richiesta. Potrebbe dipendere da un bug nel nostro codice o da un problema di compatibilità di un browser.",
|
||||||
"bundle_column_error.error.title": "Oh, no!",
|
"bundle_column_error.error.title": "Oh, no!",
|
||||||
@ -125,7 +127,7 @@
|
|||||||
"column.firehose": "Feed dal vivo",
|
"column.firehose": "Feed dal vivo",
|
||||||
"column.follow_requests": "Richieste di seguirti",
|
"column.follow_requests": "Richieste di seguirti",
|
||||||
"column.home": "Home",
|
"column.home": "Home",
|
||||||
"column.lists": "Elenchi",
|
"column.lists": "Liste",
|
||||||
"column.mutes": "Utenti silenziati",
|
"column.mutes": "Utenti silenziati",
|
||||||
"column.notifications": "Notifiche",
|
"column.notifications": "Notifiche",
|
||||||
"column.pins": "Post fissati",
|
"column.pins": "Post fissati",
|
||||||
@ -452,7 +454,7 @@
|
|||||||
"lists.replies_policy.none": "Nessuno",
|
"lists.replies_policy.none": "Nessuno",
|
||||||
"lists.replies_policy.title": "Mostra risposte a:",
|
"lists.replies_policy.title": "Mostra risposte a:",
|
||||||
"lists.search": "Cerca tra le persone che segui",
|
"lists.search": "Cerca tra le persone che segui",
|
||||||
"lists.subheading": "I tuoi elenchi",
|
"lists.subheading": "Le tue liste",
|
||||||
"load_pending": "{count, plural, one {# nuovo oggetto} other {# nuovi oggetti}}",
|
"load_pending": "{count, plural, one {# nuovo oggetto} other {# nuovi oggetti}}",
|
||||||
"loading_indicator.label": "Caricamento…",
|
"loading_indicator.label": "Caricamento…",
|
||||||
"media_gallery.toggle_visible": "{number, plural, one {Nascondi immagine} other {Nascondi immagini}}",
|
"media_gallery.toggle_visible": "{number, plural, one {Nascondi immagine} other {Nascondi immagini}}",
|
||||||
@ -467,6 +469,7 @@
|
|||||||
"mute_modal.you_wont_see_mentions": "Non vedrai i post che li menzionano.",
|
"mute_modal.you_wont_see_mentions": "Non vedrai i post che li menzionano.",
|
||||||
"mute_modal.you_wont_see_posts": "Possono ancora vedere i tuoi post, ma tu non vedrai i loro.",
|
"mute_modal.you_wont_see_posts": "Possono ancora vedere i tuoi post, ma tu non vedrai i loro.",
|
||||||
"navigation_bar.about": "Info",
|
"navigation_bar.about": "Info",
|
||||||
|
"navigation_bar.administration": "Amministrazione",
|
||||||
"navigation_bar.advanced_interface": "Apri nell'interfaccia web avanzata",
|
"navigation_bar.advanced_interface": "Apri nell'interfaccia web avanzata",
|
||||||
"navigation_bar.blocks": "Utenti bloccati",
|
"navigation_bar.blocks": "Utenti bloccati",
|
||||||
"navigation_bar.bookmarks": "Segnalibri",
|
"navigation_bar.bookmarks": "Segnalibri",
|
||||||
@ -483,6 +486,7 @@
|
|||||||
"navigation_bar.follows_and_followers": "Seguiti e seguaci",
|
"navigation_bar.follows_and_followers": "Seguiti e seguaci",
|
||||||
"navigation_bar.lists": "Liste",
|
"navigation_bar.lists": "Liste",
|
||||||
"navigation_bar.logout": "Disconnettiti",
|
"navigation_bar.logout": "Disconnettiti",
|
||||||
|
"navigation_bar.moderation": "Moderazione",
|
||||||
"navigation_bar.mutes": "Utenti silenziati",
|
"navigation_bar.mutes": "Utenti silenziati",
|
||||||
"navigation_bar.opened_in_classic_interface": "Post, account e altre pagine specifiche sono aperti per impostazione predefinita nella classica interfaccia web.",
|
"navigation_bar.opened_in_classic_interface": "Post, account e altre pagine specifiche sono aperti per impostazione predefinita nella classica interfaccia web.",
|
||||||
"navigation_bar.personal": "Personale",
|
"navigation_bar.personal": "Personale",
|
||||||
|
@ -97,6 +97,8 @@
|
|||||||
"block_modal.title": "ユーザーをブロックしますか?",
|
"block_modal.title": "ユーザーをブロックしますか?",
|
||||||
"block_modal.you_wont_see_mentions": "宛先に相手が入っている投稿も閲覧できなくなります。",
|
"block_modal.you_wont_see_mentions": "宛先に相手が入っている投稿も閲覧できなくなります。",
|
||||||
"boost_modal.combo": "次からは{combo}を押せばスキップできます",
|
"boost_modal.combo": "次からは{combo}を押せばスキップできます",
|
||||||
|
"boost_modal.reblog": "ブーストしますか?",
|
||||||
|
"boost_modal.undo_reblog": "ブーストを解除しますか?",
|
||||||
"bundle_column_error.copy_stacktrace": "エラーレポートをコピー",
|
"bundle_column_error.copy_stacktrace": "エラーレポートをコピー",
|
||||||
"bundle_column_error.error.body": "要求されたページをレンダリングできませんでした。コードのバグ、またはブラウザの互換性の問題が原因である可能性があります。",
|
"bundle_column_error.error.body": "要求されたページをレンダリングできませんでした。コードのバグ、またはブラウザの互換性の問題が原因である可能性があります。",
|
||||||
"bundle_column_error.error.title": "おっと!",
|
"bundle_column_error.error.title": "おっと!",
|
||||||
@ -351,6 +353,14 @@
|
|||||||
"hashtag.follow": "ハッシュタグをフォローする",
|
"hashtag.follow": "ハッシュタグをフォローする",
|
||||||
"hashtag.unfollow": "ハッシュタグのフォローを解除",
|
"hashtag.unfollow": "ハッシュタグのフォローを解除",
|
||||||
"hashtags.and_other": "ほか{count, plural, other {#個}}",
|
"hashtags.and_other": "ほか{count, plural, other {#個}}",
|
||||||
|
"hints.profiles.followers_may_be_missing": "フォロワーの一覧は不正確な場合があります。",
|
||||||
|
"hints.profiles.follows_may_be_missing": "フォローの一覧は不正確な場合があります。",
|
||||||
|
"hints.profiles.posts_may_be_missing": "すべての投稿を表示できていない場合があります。",
|
||||||
|
"hints.profiles.see_more_followers": "{domain} で正確な情報を見る",
|
||||||
|
"hints.profiles.see_more_follows": "{domain} で正確な情報を見る",
|
||||||
|
"hints.profiles.see_more_posts": "{domain} でその他の投稿を見る",
|
||||||
|
"hints.threads.replies_may_be_missing": "リモートの返信は表示されない場合があります。",
|
||||||
|
"hints.threads.see_more": "{domain} でその他の返信を見る",
|
||||||
"home.column_settings.show_reblogs": "ブースト表示",
|
"home.column_settings.show_reblogs": "ブースト表示",
|
||||||
"home.column_settings.show_replies": "返信表示",
|
"home.column_settings.show_replies": "返信表示",
|
||||||
"home.hide_announcements": "お知らせを隠す",
|
"home.hide_announcements": "お知らせを隠す",
|
||||||
@ -358,6 +368,17 @@
|
|||||||
"home.pending_critical_update.link": "詳細",
|
"home.pending_critical_update.link": "詳細",
|
||||||
"home.pending_critical_update.title": "緊急のセキュリティアップデートがあります",
|
"home.pending_critical_update.title": "緊急のセキュリティアップデートがあります",
|
||||||
"home.show_announcements": "お知らせを表示",
|
"home.show_announcements": "お知らせを表示",
|
||||||
|
"ignore_notifications_modal.disclaimer": "通知が無視されていることは通知の送信元の相手には伝わりません。通知が破棄されるのみで、投稿や返信の送信を止めさせる効果はありません。",
|
||||||
|
"ignore_notifications_modal.filter_instead": "「保留」に設定",
|
||||||
|
"ignore_notifications_modal.filter_to_act_users": "保留された通知は「受け入れ」「無視」を選択できます。当該ユーザーの通報も可能です",
|
||||||
|
"ignore_notifications_modal.filter_to_avoid_confusion": "通知の破棄による意図しない混乱を避けるためにも、「保留」設定の使用を検討してください",
|
||||||
|
"ignore_notifications_modal.filter_to_review_separately": "「保留」設定を使用することで、保留された通知を個別に確認できます",
|
||||||
|
"ignore_notifications_modal.ignore": "「無視」に設定",
|
||||||
|
"ignore_notifications_modal.limited_accounts_title": "本当に「モデレーションされたアカウントからの通知」を無視するようにしますか?",
|
||||||
|
"ignore_notifications_modal.new_accounts_title": "本当に「新しいアカウントからの通知」を無視するようにしますか?",
|
||||||
|
"ignore_notifications_modal.not_followers_title": "本当に「フォローされていないアカウントからの通知」を無視するようにしますか?",
|
||||||
|
"ignore_notifications_modal.not_following_title": "本当に「フォローしていないアカウントからの通知」を無視するようにしますか?",
|
||||||
|
"ignore_notifications_modal.private_mentions_title": "本当に「外部からの非公開の返信」を無視するようにしますか?",
|
||||||
"interaction_modal.description.favourite": "Mastodonのアカウントがあれば投稿をお気に入り登録して投稿者に気持ちを伝えたり、あとで見返すことができます。",
|
"interaction_modal.description.favourite": "Mastodonのアカウントがあれば投稿をお気に入り登録して投稿者に気持ちを伝えたり、あとで見返すことができます。",
|
||||||
"interaction_modal.description.follow": "Mastodonのアカウントで{name}さんをフォローしてホームフィードで投稿を受け取れます。",
|
"interaction_modal.description.follow": "Mastodonのアカウントで{name}さんをフォローしてホームフィードで投稿を受け取れます。",
|
||||||
"interaction_modal.description.reblog": "Mastodonのアカウントでこの投稿をブーストして自分のフォロワーに共有できます。",
|
"interaction_modal.description.reblog": "Mastodonのアカウントでこの投稿をブーストして自分のフォロワーに共有できます。",
|
||||||
@ -479,9 +500,18 @@
|
|||||||
"notification.admin.report_statuses": "{name}さんが{target}さんを「{category}」として通報しました",
|
"notification.admin.report_statuses": "{name}さんが{target}さんを「{category}」として通報しました",
|
||||||
"notification.admin.report_statuses_other": "{name}さんが{target}さんを通報しました",
|
"notification.admin.report_statuses_other": "{name}さんが{target}さんを通報しました",
|
||||||
"notification.admin.sign_up": "{name}さんがサインアップしました",
|
"notification.admin.sign_up": "{name}さんがサインアップしました",
|
||||||
|
"notification.admin.sign_up.name_and_others": "{name}さんほか{count, plural, other {#人}}がサインアップしました",
|
||||||
"notification.favourite": "{name}さんがお気に入りしました",
|
"notification.favourite": "{name}さんがお気に入りしました",
|
||||||
|
"notification.favourite.name_and_others_with_link": "{name}さん<a>ほか{count, plural, other {#人}}</a>がお気に入りしました",
|
||||||
"notification.follow": "{name}さんにフォローされました",
|
"notification.follow": "{name}さんにフォローされました",
|
||||||
|
"notification.follow.name_and_others": "{name}さんほか{count, plural, other {#人}}にフォローされました",
|
||||||
"notification.follow_request": "{name}さんがあなたにフォローリクエストしました",
|
"notification.follow_request": "{name}さんがあなたにフォローリクエストしました",
|
||||||
|
"notification.follow_request.name_and_others": "{name}さんほか{count, plural, other {#人}}があなたにフォローリクエストしました",
|
||||||
|
"notification.label.mention": "メンション",
|
||||||
|
"notification.label.private_mention": "非公開の返信 (メンション)",
|
||||||
|
"notification.label.private_reply": "非公開の返信",
|
||||||
|
"notification.label.reply": "返信",
|
||||||
|
"notification.mention": "メンション",
|
||||||
"notification.moderation-warning.learn_more": "さらに詳しく",
|
"notification.moderation-warning.learn_more": "さらに詳しく",
|
||||||
"notification.moderation_warning": "管理者から警告が来ています",
|
"notification.moderation_warning": "管理者から警告が来ています",
|
||||||
"notification.moderation_warning.action_delete_statuses": "あなたによるいくつかの投稿が削除されました。",
|
"notification.moderation_warning.action_delete_statuses": "あなたによるいくつかの投稿が削除されました。",
|
||||||
@ -494,6 +524,7 @@
|
|||||||
"notification.own_poll": "アンケートが終了しました",
|
"notification.own_poll": "アンケートが終了しました",
|
||||||
"notification.poll": "投票したアンケートが終了しました",
|
"notification.poll": "投票したアンケートが終了しました",
|
||||||
"notification.reblog": "{name}さんがあなたの投稿をブーストしました",
|
"notification.reblog": "{name}さんがあなたの投稿をブーストしました",
|
||||||
|
"notification.reblog.name_and_others_with_link": "{name}さん<a>ほか{count, plural, other {#人}}</a>にブーストされました",
|
||||||
"notification.relationships_severance_event": "{name} との関係が失われました",
|
"notification.relationships_severance_event": "{name} との関係が失われました",
|
||||||
"notification.relationships_severance_event.account_suspension": "{from} の管理者が {target} さんを停止したため、今後このユーザーとの交流や新しい投稿の受け取りができなくなりました。",
|
"notification.relationships_severance_event.account_suspension": "{from} の管理者が {target} さんを停止したため、今後このユーザーとの交流や新しい投稿の受け取りができなくなりました。",
|
||||||
"notification.relationships_severance_event.domain_block": "{from} の管理者が {target} をブロックしました。これにより{followersCount}フォロワーと{followingCount, plural, other {#フォロー}}が失われました。",
|
"notification.relationships_severance_event.domain_block": "{from} の管理者が {target} をブロックしました。これにより{followersCount}フォロワーと{followingCount, plural, other {#フォロー}}が失われました。",
|
||||||
@ -518,6 +549,7 @@
|
|||||||
"notification_requests.minimize_banner": "「保留中の通知」のバナーを最小化する",
|
"notification_requests.minimize_banner": "「保留中の通知」のバナーを最小化する",
|
||||||
"notification_requests.notifications_from": "{name}からの通知",
|
"notification_requests.notifications_from": "{name}からの通知",
|
||||||
"notification_requests.title": "保留中の通知",
|
"notification_requests.title": "保留中の通知",
|
||||||
|
"notification_requests.view": "通知を確認",
|
||||||
"notifications.clear": "通知を消去",
|
"notifications.clear": "通知を消去",
|
||||||
"notifications.clear_confirmation": "本当に通知を消去しますか?",
|
"notifications.clear_confirmation": "本当に通知を消去しますか?",
|
||||||
"notifications.clear_title": "通知を消去しようとしています",
|
"notifications.clear_title": "通知を消去しようとしています",
|
||||||
@ -568,7 +600,7 @@
|
|||||||
"notifications.policy.filter_not_followers_title": "フォローされていないアカウントからの通知",
|
"notifications.policy.filter_not_followers_title": "フォローされていないアカウントからの通知",
|
||||||
"notifications.policy.filter_not_following_hint": "手動で通知を受け入れたアカウントは対象外です",
|
"notifications.policy.filter_not_following_hint": "手動で通知を受け入れたアカウントは対象外です",
|
||||||
"notifications.policy.filter_not_following_title": "フォローしていないアカウントからの通知",
|
"notifications.policy.filter_not_following_title": "フォローしていないアカウントからの通知",
|
||||||
"notifications.policy.filter_private_mentions_hint": "あなたがメンションした相手からの返信、およびフォローしているアカウントからの返信は対象外です",
|
"notifications.policy.filter_private_mentions_hint": "メンションした相手からの返信、およびフォローしているアカウントからの返信は対象外です",
|
||||||
"notifications.policy.filter_private_mentions_title": "外部からの非公開の返信",
|
"notifications.policy.filter_private_mentions_title": "外部からの非公開の返信",
|
||||||
"notifications.policy.title": "通知のフィルタリング",
|
"notifications.policy.title": "通知のフィルタリング",
|
||||||
"notifications_permission_banner.enable": "デスクトップ通知を有効にする",
|
"notifications_permission_banner.enable": "デスクトップ通知を有効にする",
|
||||||
|
@ -97,6 +97,8 @@
|
|||||||
"block_modal.title": "사용자를 차단할까요?",
|
"block_modal.title": "사용자를 차단할까요?",
|
||||||
"block_modal.you_wont_see_mentions": "그를 멘션하는 게시물을 더는 보지 않습니다.",
|
"block_modal.you_wont_see_mentions": "그를 멘션하는 게시물을 더는 보지 않습니다.",
|
||||||
"boost_modal.combo": "다음엔 {combo}를 눌러서 이 과정을 건너뛸 수 있습니다",
|
"boost_modal.combo": "다음엔 {combo}를 눌러서 이 과정을 건너뛸 수 있습니다",
|
||||||
|
"boost_modal.reblog": "게시물을 부스트할까요?",
|
||||||
|
"boost_modal.undo_reblog": "게시물을 부스트 취소할까요?",
|
||||||
"bundle_column_error.copy_stacktrace": "에러 리포트 복사하기",
|
"bundle_column_error.copy_stacktrace": "에러 리포트 복사하기",
|
||||||
"bundle_column_error.error.body": "요청한 페이지를 렌더링 할 수 없습니다. 저희의 코드에 버그가 있거나, 브라우저 호환성 문제일 수 있습니다.",
|
"bundle_column_error.error.body": "요청한 페이지를 렌더링 할 수 없습니다. 저희의 코드에 버그가 있거나, 브라우저 호환성 문제일 수 있습니다.",
|
||||||
"bundle_column_error.error.title": "으악, 안돼!",
|
"bundle_column_error.error.title": "으악, 안돼!",
|
||||||
@ -467,6 +469,7 @@
|
|||||||
"mute_modal.you_wont_see_mentions": "그를 멘션하는 게시물을 더는 보지 않게 됩니다.",
|
"mute_modal.you_wont_see_mentions": "그를 멘션하는 게시물을 더는 보지 않게 됩니다.",
|
||||||
"mute_modal.you_wont_see_posts": "내가 작성한 게시물을 볼 수는 있지만, 나는 그가 작성한 것을 보지 않게 됩니다.",
|
"mute_modal.you_wont_see_posts": "내가 작성한 게시물을 볼 수는 있지만, 나는 그가 작성한 것을 보지 않게 됩니다.",
|
||||||
"navigation_bar.about": "정보",
|
"navigation_bar.about": "정보",
|
||||||
|
"navigation_bar.administration": "관리",
|
||||||
"navigation_bar.advanced_interface": "고급 웹 인터페이스에서 열기",
|
"navigation_bar.advanced_interface": "고급 웹 인터페이스에서 열기",
|
||||||
"navigation_bar.blocks": "차단한 사용자",
|
"navigation_bar.blocks": "차단한 사용자",
|
||||||
"navigation_bar.bookmarks": "북마크",
|
"navigation_bar.bookmarks": "북마크",
|
||||||
@ -483,6 +486,7 @@
|
|||||||
"navigation_bar.follows_and_followers": "팔로우와 팔로워",
|
"navigation_bar.follows_and_followers": "팔로우와 팔로워",
|
||||||
"navigation_bar.lists": "리스트",
|
"navigation_bar.lists": "리스트",
|
||||||
"navigation_bar.logout": "로그아웃",
|
"navigation_bar.logout": "로그아웃",
|
||||||
|
"navigation_bar.moderation": "중재",
|
||||||
"navigation_bar.mutes": "뮤트한 사용자",
|
"navigation_bar.mutes": "뮤트한 사용자",
|
||||||
"navigation_bar.opened_in_classic_interface": "게시물, 계정, 기타 특정 페이지들은 기본적으로 기존 웹 인터페이스로 열리게 됩니다.",
|
"navigation_bar.opened_in_classic_interface": "게시물, 계정, 기타 특정 페이지들은 기본적으로 기존 웹 인터페이스로 열리게 됩니다.",
|
||||||
"navigation_bar.personal": "개인용",
|
"navigation_bar.personal": "개인용",
|
||||||
|
@ -98,6 +98,7 @@
|
|||||||
"block_modal.you_wont_see_mentions": "Je ziet geen berichten meer die dit account vermelden.",
|
"block_modal.you_wont_see_mentions": "Je ziet geen berichten meer die dit account vermelden.",
|
||||||
"boost_modal.combo": "Je kunt {combo} klikken om dit de volgende keer over te slaan",
|
"boost_modal.combo": "Je kunt {combo} klikken om dit de volgende keer over te slaan",
|
||||||
"boost_modal.reblog": "Bericht boosten?",
|
"boost_modal.reblog": "Bericht boosten?",
|
||||||
|
"boost_modal.undo_reblog": "Bericht niet langer boosten?",
|
||||||
"bundle_column_error.copy_stacktrace": "Foutrapportage kopiëren",
|
"bundle_column_error.copy_stacktrace": "Foutrapportage kopiëren",
|
||||||
"bundle_column_error.error.body": "De opgevraagde pagina kon niet worden weergegeven. Dit kan het gevolg zijn van een fout in onze broncode, of van een compatibiliteitsprobleem met je webbrowser.",
|
"bundle_column_error.error.body": "De opgevraagde pagina kon niet worden weergegeven. Dit kan het gevolg zijn van een fout in onze broncode, of van een compatibiliteitsprobleem met je webbrowser.",
|
||||||
"bundle_column_error.error.title": "O nee!",
|
"bundle_column_error.error.title": "O nee!",
|
||||||
|
@ -97,6 +97,8 @@
|
|||||||
"block_modal.title": "Blokker brukaren?",
|
"block_modal.title": "Blokker brukaren?",
|
||||||
"block_modal.you_wont_see_mentions": "Du ser ikkje innlegg som nemner dei.",
|
"block_modal.you_wont_see_mentions": "Du ser ikkje innlegg som nemner dei.",
|
||||||
"boost_modal.combo": "Du kan trykkja {combo} for å hoppa over dette neste gong",
|
"boost_modal.combo": "Du kan trykkja {combo} for å hoppa over dette neste gong",
|
||||||
|
"boost_modal.reblog": "Framhev innlegget?",
|
||||||
|
"boost_modal.undo_reblog": "Fjern framhevinga?",
|
||||||
"bundle_column_error.copy_stacktrace": "Kopier feilrapport",
|
"bundle_column_error.copy_stacktrace": "Kopier feilrapport",
|
||||||
"bundle_column_error.error.body": "Den etterspurde sida kan ikke hentast fram. Det kan skuldast ein feil i koden vår eller eit kompatibilitetsproblem.",
|
"bundle_column_error.error.body": "Den etterspurde sida kan ikke hentast fram. Det kan skuldast ein feil i koden vår eller eit kompatibilitetsproblem.",
|
||||||
"bundle_column_error.error.title": "Ånei!",
|
"bundle_column_error.error.title": "Ånei!",
|
||||||
@ -467,6 +469,7 @@
|
|||||||
"mute_modal.you_wont_see_mentions": "Du vil ikkje sjå innlegg som nemner dei.",
|
"mute_modal.you_wont_see_mentions": "Du vil ikkje sjå innlegg som nemner dei.",
|
||||||
"mute_modal.you_wont_see_posts": "Dei kan framleis sjå innlegga dine, men du vil ikkje sjå deira.",
|
"mute_modal.you_wont_see_posts": "Dei kan framleis sjå innlegga dine, men du vil ikkje sjå deira.",
|
||||||
"navigation_bar.about": "Om",
|
"navigation_bar.about": "Om",
|
||||||
|
"navigation_bar.administration": "Administrasjon",
|
||||||
"navigation_bar.advanced_interface": "Opne i avansert nettgrensesnitt",
|
"navigation_bar.advanced_interface": "Opne i avansert nettgrensesnitt",
|
||||||
"navigation_bar.blocks": "Blokkerte brukarar",
|
"navigation_bar.blocks": "Blokkerte brukarar",
|
||||||
"navigation_bar.bookmarks": "Bokmerke",
|
"navigation_bar.bookmarks": "Bokmerke",
|
||||||
@ -483,6 +486,7 @@
|
|||||||
"navigation_bar.follows_and_followers": "Fylgje og fylgjarar",
|
"navigation_bar.follows_and_followers": "Fylgje og fylgjarar",
|
||||||
"navigation_bar.lists": "Lister",
|
"navigation_bar.lists": "Lister",
|
||||||
"navigation_bar.logout": "Logg ut",
|
"navigation_bar.logout": "Logg ut",
|
||||||
|
"navigation_bar.moderation": "Moderering",
|
||||||
"navigation_bar.mutes": "Målbundne brukarar",
|
"navigation_bar.mutes": "Målbundne brukarar",
|
||||||
"navigation_bar.opened_in_classic_interface": "Innlegg, kontoar, og enkelte andre sider blir opna som standard i det klassiske webgrensesnittet.",
|
"navigation_bar.opened_in_classic_interface": "Innlegg, kontoar, og enkelte andre sider blir opna som standard i det klassiske webgrensesnittet.",
|
||||||
"navigation_bar.personal": "Personleg",
|
"navigation_bar.personal": "Personleg",
|
||||||
|
@ -531,6 +531,7 @@
|
|||||||
"notification.relationships_severance_event.account_suspension": "Administrator z {from} zawiesił {target}, więc nie dostaniesz wieści ani nie wejdziesz w interakcje z użytkownikami z tego serwera.",
|
"notification.relationships_severance_event.account_suspension": "Administrator z {from} zawiesił {target}, więc nie dostaniesz wieści ani nie wejdziesz w interakcje z użytkownikami z tego serwera.",
|
||||||
"notification.relationships_severance_event.domain_block": "Administrator z {from} zablokował {target}, w tym {followersCount} z Twoich obserwujących i {followingCount, plural, one {# konto} other {# konta}} które obserwujesz.",
|
"notification.relationships_severance_event.domain_block": "Administrator z {from} zablokował {target}, w tym {followersCount} z Twoich obserwujących i {followingCount, plural, one {# konto} other {# konta}} które obserwujesz.",
|
||||||
"notification.relationships_severance_event.learn_more": "Dowiedz się więcej",
|
"notification.relationships_severance_event.learn_more": "Dowiedz się więcej",
|
||||||
|
"notification.relationships_severance_event.user_domain_block": "Zablokowałeś {target}, w tym {followersCount} z Twoich obserwujących i {followingCount, plural, one {# konto} other {# konta}} które obserwujesz.",
|
||||||
"notification.status": "{name} opublikował(a) nowy wpis",
|
"notification.status": "{name} opublikował(a) nowy wpis",
|
||||||
"notification.update": "{name} edytował(a) post",
|
"notification.update": "{name} edytował(a) post",
|
||||||
"notification_requests.accept": "Akceptuj",
|
"notification_requests.accept": "Akceptuj",
|
||||||
|
@ -189,6 +189,7 @@
|
|||||||
"confirmations.unfollow.confirm": "Отписаться",
|
"confirmations.unfollow.confirm": "Отписаться",
|
||||||
"confirmations.unfollow.message": "Вы уверены, что хотите отписаться от {name}?",
|
"confirmations.unfollow.message": "Вы уверены, что хотите отписаться от {name}?",
|
||||||
"confirmations.unfollow.title": "Отписаться?",
|
"confirmations.unfollow.title": "Отписаться?",
|
||||||
|
"content_warning.hide": "Скрыть пост",
|
||||||
"conversation.delete": "Удалить беседу",
|
"conversation.delete": "Удалить беседу",
|
||||||
"conversation.mark_as_read": "Отметить как прочитанное",
|
"conversation.mark_as_read": "Отметить как прочитанное",
|
||||||
"conversation.open": "Просмотр беседы",
|
"conversation.open": "Просмотр беседы",
|
||||||
|
@ -148,6 +148,11 @@
|
|||||||
"compose_form.publish_form": "Нова публикація",
|
"compose_form.publish_form": "Нова публикація",
|
||||||
"compose_form.reply": "Удповідь",
|
"compose_form.reply": "Удповідь",
|
||||||
"compose_form.save_changes": "Усокотити",
|
"compose_form.save_changes": "Усокотити",
|
||||||
|
"confirmations.logout.confirm": "Уйти гет",
|
||||||
|
"confirmations.logout.message": "Бизувні сьте ож хочете уйти?",
|
||||||
|
"confirmations.logout.title": "Уйти гет?",
|
||||||
|
"confirmations.mute.confirm": "Стишити",
|
||||||
|
"confirmations.reply.confirm": "Удповісти",
|
||||||
"copypaste.copy_to_clipboard": "Копіровати у памнять",
|
"copypaste.copy_to_clipboard": "Копіровати у памнять",
|
||||||
"directory.recently_active": "Недавно актівні",
|
"directory.recently_active": "Недавно актівні",
|
||||||
"disabled_account_banner.account_settings": "Штімованя акаунта",
|
"disabled_account_banner.account_settings": "Штімованя акаунта",
|
||||||
|
@ -97,6 +97,8 @@
|
|||||||
"block_modal.title": "ปิดกั้นผู้ใช้?",
|
"block_modal.title": "ปิดกั้นผู้ใช้?",
|
||||||
"block_modal.you_wont_see_mentions": "คุณจะไม่เห็นโพสต์ที่กล่าวถึงเขา",
|
"block_modal.you_wont_see_mentions": "คุณจะไม่เห็นโพสต์ที่กล่าวถึงเขา",
|
||||||
"boost_modal.combo": "คุณสามารถกด {combo} เพื่อข้ามสิ่งนี้ในครั้งถัดไป",
|
"boost_modal.combo": "คุณสามารถกด {combo} เพื่อข้ามสิ่งนี้ในครั้งถัดไป",
|
||||||
|
"boost_modal.reblog": "ดันโพสต์?",
|
||||||
|
"boost_modal.undo_reblog": "เลิกดันโพสต์?",
|
||||||
"bundle_column_error.copy_stacktrace": "คัดลอกรายงานข้อผิดพลาด",
|
"bundle_column_error.copy_stacktrace": "คัดลอกรายงานข้อผิดพลาด",
|
||||||
"bundle_column_error.error.body": "ไม่สามารถแสดงผลหน้าที่ขอ ข้อผิดพลาดอาจเป็นเพราะข้อบกพร่องในโค้ดของเรา หรือปัญหาความเข้ากันได้ของเบราว์เซอร์",
|
"bundle_column_error.error.body": "ไม่สามารถแสดงผลหน้าที่ขอ ข้อผิดพลาดอาจเป็นเพราะข้อบกพร่องในโค้ดของเรา หรือปัญหาความเข้ากันได้ของเบราว์เซอร์",
|
||||||
"bundle_column_error.error.title": "โอ้ ไม่!",
|
"bundle_column_error.error.title": "โอ้ ไม่!",
|
||||||
@ -467,6 +469,7 @@
|
|||||||
"mute_modal.you_wont_see_mentions": "คุณจะไม่เห็นโพสต์ที่กล่าวถึงเขา",
|
"mute_modal.you_wont_see_mentions": "คุณจะไม่เห็นโพสต์ที่กล่าวถึงเขา",
|
||||||
"mute_modal.you_wont_see_posts": "เขายังคงสามารถเห็นโพสต์ของคุณ แต่คุณจะไม่เห็นโพสต์ของเขา",
|
"mute_modal.you_wont_see_posts": "เขายังคงสามารถเห็นโพสต์ของคุณ แต่คุณจะไม่เห็นโพสต์ของเขา",
|
||||||
"navigation_bar.about": "เกี่ยวกับ",
|
"navigation_bar.about": "เกี่ยวกับ",
|
||||||
|
"navigation_bar.administration": "การดูแล",
|
||||||
"navigation_bar.advanced_interface": "เปิดในส่วนติดต่อเว็บขั้นสูง",
|
"navigation_bar.advanced_interface": "เปิดในส่วนติดต่อเว็บขั้นสูง",
|
||||||
"navigation_bar.blocks": "ผู้ใช้ที่ปิดกั้นอยู่",
|
"navigation_bar.blocks": "ผู้ใช้ที่ปิดกั้นอยู่",
|
||||||
"navigation_bar.bookmarks": "ที่คั่นหน้า",
|
"navigation_bar.bookmarks": "ที่คั่นหน้า",
|
||||||
@ -483,6 +486,7 @@
|
|||||||
"navigation_bar.follows_and_followers": "การติดตามและผู้ติดตาม",
|
"navigation_bar.follows_and_followers": "การติดตามและผู้ติดตาม",
|
||||||
"navigation_bar.lists": "รายการ",
|
"navigation_bar.lists": "รายการ",
|
||||||
"navigation_bar.logout": "ออกจากระบบ",
|
"navigation_bar.logout": "ออกจากระบบ",
|
||||||
|
"navigation_bar.moderation": "การกลั่นกรอง",
|
||||||
"navigation_bar.mutes": "ผู้ใช้ที่ซ่อนอยู่",
|
"navigation_bar.mutes": "ผู้ใช้ที่ซ่อนอยู่",
|
||||||
"navigation_bar.opened_in_classic_interface": "จะเปิดโพสต์, บัญชี และหน้าที่เฉพาะเจาะจงอื่น ๆ เป็นค่าเริ่มต้นในส่วนติดต่อเว็บแบบคลาสสิก",
|
"navigation_bar.opened_in_classic_interface": "จะเปิดโพสต์, บัญชี และหน้าที่เฉพาะเจาะจงอื่น ๆ เป็นค่าเริ่มต้นในส่วนติดต่อเว็บแบบคลาสสิก",
|
||||||
"navigation_bar.personal": "ส่วนบุคคล",
|
"navigation_bar.personal": "ส่วนบุคคล",
|
||||||
|
@ -97,6 +97,8 @@
|
|||||||
"block_modal.title": "Kullanıcıyı engelle?",
|
"block_modal.title": "Kullanıcıyı engelle?",
|
||||||
"block_modal.you_wont_see_mentions": "Onlardan bahseden gönderiler göremezsiniz.",
|
"block_modal.you_wont_see_mentions": "Onlardan bahseden gönderiler göremezsiniz.",
|
||||||
"boost_modal.combo": "Bir daha ki sefere {combo} tuşuna basabilirsin",
|
"boost_modal.combo": "Bir daha ki sefere {combo} tuşuna basabilirsin",
|
||||||
|
"boost_modal.reblog": "Gönderiyi yeniden paylaş?",
|
||||||
|
"boost_modal.undo_reblog": "Gönderinin yeniden paylaşımını geri al?",
|
||||||
"bundle_column_error.copy_stacktrace": "Hata raporunu kopyala",
|
"bundle_column_error.copy_stacktrace": "Hata raporunu kopyala",
|
||||||
"bundle_column_error.error.body": "İstenen sayfa gösterilemiyor. Bu durum kodumuzdaki bir hatadan veya tarayıcı uyum sorunundan kaynaklanıyor olabilir.",
|
"bundle_column_error.error.body": "İstenen sayfa gösterilemiyor. Bu durum kodumuzdaki bir hatadan veya tarayıcı uyum sorunundan kaynaklanıyor olabilir.",
|
||||||
"bundle_column_error.error.title": "Ah, hayır!",
|
"bundle_column_error.error.title": "Ah, hayır!",
|
||||||
@ -467,6 +469,7 @@
|
|||||||
"mute_modal.you_wont_see_mentions": "Onlardan bahseden gönderiler göremezsiniz.",
|
"mute_modal.you_wont_see_mentions": "Onlardan bahseden gönderiler göremezsiniz.",
|
||||||
"mute_modal.you_wont_see_posts": "Onlar sizin gönderilerinizi görmeye devam edebilir, ancak siz onlarınkini göremezsiniz.",
|
"mute_modal.you_wont_see_posts": "Onlar sizin gönderilerinizi görmeye devam edebilir, ancak siz onlarınkini göremezsiniz.",
|
||||||
"navigation_bar.about": "Hakkında",
|
"navigation_bar.about": "Hakkında",
|
||||||
|
"navigation_bar.administration": "Yönetim",
|
||||||
"navigation_bar.advanced_interface": "Gelişmiş web arayüzünde aç",
|
"navigation_bar.advanced_interface": "Gelişmiş web arayüzünde aç",
|
||||||
"navigation_bar.blocks": "Engellenen kullanıcılar",
|
"navigation_bar.blocks": "Engellenen kullanıcılar",
|
||||||
"navigation_bar.bookmarks": "Yer İşaretleri",
|
"navigation_bar.bookmarks": "Yer İşaretleri",
|
||||||
@ -483,6 +486,7 @@
|
|||||||
"navigation_bar.follows_and_followers": "Takip edilenler ve takipçiler",
|
"navigation_bar.follows_and_followers": "Takip edilenler ve takipçiler",
|
||||||
"navigation_bar.lists": "Listeler",
|
"navigation_bar.lists": "Listeler",
|
||||||
"navigation_bar.logout": "Oturumu kapat",
|
"navigation_bar.logout": "Oturumu kapat",
|
||||||
|
"navigation_bar.moderation": "Moderasyon",
|
||||||
"navigation_bar.mutes": "Sessize alınmış kullanıcılar",
|
"navigation_bar.mutes": "Sessize alınmış kullanıcılar",
|
||||||
"navigation_bar.opened_in_classic_interface": "Gönderiler, hesaplar ve diğer belirli sayfalar klasik web arayüzünde varsayılan olarak açılıyorlar.",
|
"navigation_bar.opened_in_classic_interface": "Gönderiler, hesaplar ve diğer belirli sayfalar klasik web arayüzünde varsayılan olarak açılıyorlar.",
|
||||||
"navigation_bar.personal": "Kişisel",
|
"navigation_bar.personal": "Kişisel",
|
||||||
|
@ -97,6 +97,8 @@
|
|||||||
"block_modal.title": "Заблокувати користувача?",
|
"block_modal.title": "Заблокувати користувача?",
|
||||||
"block_modal.you_wont_see_mentions": "Ви не бачитимете дописів, де їх згадано.",
|
"block_modal.you_wont_see_mentions": "Ви не бачитимете дописів, де їх згадано.",
|
||||||
"boost_modal.combo": "Ви можете натиснути {combo}, щоби пропустити це наступного разу",
|
"boost_modal.combo": "Ви можете натиснути {combo}, щоби пропустити це наступного разу",
|
||||||
|
"boost_modal.reblog": "Поширити допис?",
|
||||||
|
"boost_modal.undo_reblog": "Скасувати поширення?",
|
||||||
"bundle_column_error.copy_stacktrace": "Копіювати звіт про помилку",
|
"bundle_column_error.copy_stacktrace": "Копіювати звіт про помилку",
|
||||||
"bundle_column_error.error.body": "Неможливо показати запитану сторінку. Це може бути спричинено помилкою у нашому коді, або через проблему сумісності з браузером.",
|
"bundle_column_error.error.body": "Неможливо показати запитану сторінку. Це може бути спричинено помилкою у нашому коді, або через проблему сумісності з браузером.",
|
||||||
"bundle_column_error.error.title": "О, ні!",
|
"bundle_column_error.error.title": "О, ні!",
|
||||||
@ -467,6 +469,7 @@
|
|||||||
"mute_modal.you_wont_see_mentions": "Ви не бачитимете дописів, де їх згадано.",
|
"mute_modal.you_wont_see_mentions": "Ви не бачитимете дописів, де їх згадано.",
|
||||||
"mute_modal.you_wont_see_posts": "Вони все ще можуть бачити ваші дописи, але ви не бачитимете їхніх.",
|
"mute_modal.you_wont_see_posts": "Вони все ще можуть бачити ваші дописи, але ви не бачитимете їхніх.",
|
||||||
"navigation_bar.about": "Про застосунок",
|
"navigation_bar.about": "Про застосунок",
|
||||||
|
"navigation_bar.administration": "Адміністрування",
|
||||||
"navigation_bar.advanced_interface": "Відкрити в розширеному вебінтерфейсі",
|
"navigation_bar.advanced_interface": "Відкрити в розширеному вебінтерфейсі",
|
||||||
"navigation_bar.blocks": "Заблоковані користувачі",
|
"navigation_bar.blocks": "Заблоковані користувачі",
|
||||||
"navigation_bar.bookmarks": "Закладки",
|
"navigation_bar.bookmarks": "Закладки",
|
||||||
@ -483,6 +486,7 @@
|
|||||||
"navigation_bar.follows_and_followers": "Підписки та підписники",
|
"navigation_bar.follows_and_followers": "Підписки та підписники",
|
||||||
"navigation_bar.lists": "Списки",
|
"navigation_bar.lists": "Списки",
|
||||||
"navigation_bar.logout": "Вийти",
|
"navigation_bar.logout": "Вийти",
|
||||||
|
"navigation_bar.moderation": "Модерування",
|
||||||
"navigation_bar.mutes": "Приховані користувачі",
|
"navigation_bar.mutes": "Приховані користувачі",
|
||||||
"navigation_bar.opened_in_classic_interface": "Дописи, облікові записи та інші специфічні сторінки усталено відкриваються в класичному вебінтерфейсі.",
|
"navigation_bar.opened_in_classic_interface": "Дописи, облікові записи та інші специфічні сторінки усталено відкриваються в класичному вебінтерфейсі.",
|
||||||
"navigation_bar.personal": "Особисте",
|
"navigation_bar.personal": "Особисте",
|
||||||
|
@ -97,6 +97,8 @@
|
|||||||
"block_modal.title": "Chặn người này?",
|
"block_modal.title": "Chặn người này?",
|
||||||
"block_modal.you_wont_see_mentions": "Bạn sẽ không nhìn thấy tút có nhắc đến họ.",
|
"block_modal.you_wont_see_mentions": "Bạn sẽ không nhìn thấy tút có nhắc đến họ.",
|
||||||
"boost_modal.combo": "Nhấn {combo} để bỏ qua bước này",
|
"boost_modal.combo": "Nhấn {combo} để bỏ qua bước này",
|
||||||
|
"boost_modal.reblog": "Đăng lại?",
|
||||||
|
"boost_modal.undo_reblog": "Hủy đăng lại?",
|
||||||
"bundle_column_error.copy_stacktrace": "Sao chép báo lỗi",
|
"bundle_column_error.copy_stacktrace": "Sao chép báo lỗi",
|
||||||
"bundle_column_error.error.body": "Không thể hiện trang này. Đây có thể là một lỗi trong mã lập trình của chúng tôi, hoặc là vấn đề tương thích của trình duyệt.",
|
"bundle_column_error.error.body": "Không thể hiện trang này. Đây có thể là một lỗi trong mã lập trình của chúng tôi, hoặc là vấn đề tương thích của trình duyệt.",
|
||||||
"bundle_column_error.error.title": "Ôi không!",
|
"bundle_column_error.error.title": "Ôi không!",
|
||||||
@ -458,6 +460,7 @@
|
|||||||
"mute_modal.you_wont_see_mentions": "Bạn sẽ không nhìn thấy tút có nhắc đến họ.",
|
"mute_modal.you_wont_see_mentions": "Bạn sẽ không nhìn thấy tút có nhắc đến họ.",
|
||||||
"mute_modal.you_wont_see_posts": "Bạn sẽ không nhìn thấy tút của họ.",
|
"mute_modal.you_wont_see_posts": "Bạn sẽ không nhìn thấy tút của họ.",
|
||||||
"navigation_bar.about": "Giới thiệu",
|
"navigation_bar.about": "Giới thiệu",
|
||||||
|
"navigation_bar.administration": "Quản trị",
|
||||||
"navigation_bar.advanced_interface": "Dùng bố cục nhiều cột",
|
"navigation_bar.advanced_interface": "Dùng bố cục nhiều cột",
|
||||||
"navigation_bar.blocks": "Người đã chặn",
|
"navigation_bar.blocks": "Người đã chặn",
|
||||||
"navigation_bar.bookmarks": "Đã lưu",
|
"navigation_bar.bookmarks": "Đã lưu",
|
||||||
@ -474,6 +477,7 @@
|
|||||||
"navigation_bar.follows_and_followers": "Quan hệ",
|
"navigation_bar.follows_and_followers": "Quan hệ",
|
||||||
"navigation_bar.lists": "Danh sách",
|
"navigation_bar.lists": "Danh sách",
|
||||||
"navigation_bar.logout": "Đăng xuất",
|
"navigation_bar.logout": "Đăng xuất",
|
||||||
|
"navigation_bar.moderation": "Kiểm duyệt",
|
||||||
"navigation_bar.mutes": "Người đã ẩn",
|
"navigation_bar.mutes": "Người đã ẩn",
|
||||||
"navigation_bar.opened_in_classic_interface": "Tút, tài khoản và các trang cụ thể khác được mở theo mặc định trong giao diện web cổ điển.",
|
"navigation_bar.opened_in_classic_interface": "Tút, tài khoản và các trang cụ thể khác được mở theo mặc định trong giao diện web cổ điển.",
|
||||||
"navigation_bar.personal": "Cá nhân",
|
"navigation_bar.personal": "Cá nhân",
|
||||||
|
@ -97,6 +97,8 @@
|
|||||||
"block_modal.title": "屏蔽该用户?",
|
"block_modal.title": "屏蔽该用户?",
|
||||||
"block_modal.you_wont_see_mentions": "你将无法看到提及他们的嘟文。",
|
"block_modal.you_wont_see_mentions": "你将无法看到提及他们的嘟文。",
|
||||||
"boost_modal.combo": "下次按住 {combo} 即可跳过此提示",
|
"boost_modal.combo": "下次按住 {combo} 即可跳过此提示",
|
||||||
|
"boost_modal.reblog": "是否转嘟?",
|
||||||
|
"boost_modal.undo_reblog": "是否取消转嘟?",
|
||||||
"bundle_column_error.copy_stacktrace": "复制错误报告",
|
"bundle_column_error.copy_stacktrace": "复制错误报告",
|
||||||
"bundle_column_error.error.body": "请求的页面无法渲染,可能是代码出现错误或浏览器存在兼容性问题。",
|
"bundle_column_error.error.body": "请求的页面无法渲染,可能是代码出现错误或浏览器存在兼容性问题。",
|
||||||
"bundle_column_error.error.title": "糟糕!",
|
"bundle_column_error.error.title": "糟糕!",
|
||||||
@ -467,6 +469,7 @@
|
|||||||
"mute_modal.you_wont_see_mentions": "你看不到提及他们的嘟文。",
|
"mute_modal.you_wont_see_mentions": "你看不到提及他们的嘟文。",
|
||||||
"mute_modal.you_wont_see_posts": "他们可以看到你的嘟文,但是你看不到他们的。",
|
"mute_modal.you_wont_see_posts": "他们可以看到你的嘟文,但是你看不到他们的。",
|
||||||
"navigation_bar.about": "关于",
|
"navigation_bar.about": "关于",
|
||||||
|
"navigation_bar.administration": "管理",
|
||||||
"navigation_bar.advanced_interface": "在高级网页界面中打开",
|
"navigation_bar.advanced_interface": "在高级网页界面中打开",
|
||||||
"navigation_bar.blocks": "已屏蔽的用户",
|
"navigation_bar.blocks": "已屏蔽的用户",
|
||||||
"navigation_bar.bookmarks": "书签",
|
"navigation_bar.bookmarks": "书签",
|
||||||
@ -483,6 +486,7 @@
|
|||||||
"navigation_bar.follows_and_followers": "关注和粉丝",
|
"navigation_bar.follows_and_followers": "关注和粉丝",
|
||||||
"navigation_bar.lists": "列表",
|
"navigation_bar.lists": "列表",
|
||||||
"navigation_bar.logout": "退出登录",
|
"navigation_bar.logout": "退出登录",
|
||||||
|
"navigation_bar.moderation": "运营",
|
||||||
"navigation_bar.mutes": "已隐藏的用户",
|
"navigation_bar.mutes": "已隐藏的用户",
|
||||||
"navigation_bar.opened_in_classic_interface": "嘟文、账户和其他特定页面默认在经典网页界面中打开。",
|
"navigation_bar.opened_in_classic_interface": "嘟文、账户和其他特定页面默认在经典网页界面中打开。",
|
||||||
"navigation_bar.personal": "个人",
|
"navigation_bar.personal": "个人",
|
||||||
|
@ -1626,7 +1626,8 @@ body > [data-popper-placement] {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.status__wrapper-direct,
|
.status__wrapper-direct,
|
||||||
.notification-ungrouped--direct {
|
.notification-ungrouped--direct,
|
||||||
|
.notification-group--direct {
|
||||||
background: rgba($ui-highlight-color, 0.05);
|
background: rgba($ui-highlight-color, 0.05);
|
||||||
|
|
||||||
&:focus {
|
&:focus {
|
||||||
|
@ -30,6 +30,8 @@ class Notification < ApplicationRecord
|
|||||||
'Poll' => :poll,
|
'Poll' => :poll,
|
||||||
}.freeze
|
}.freeze
|
||||||
|
|
||||||
|
GROUPABLE_NOTIFICATION_TYPES = %i(favourite reblog).freeze
|
||||||
|
|
||||||
# Please update app/javascript/api_types/notification.ts if you change this
|
# Please update app/javascript/api_types/notification.ts if you change this
|
||||||
PROPERTIES = {
|
PROPERTIES = {
|
||||||
mention: {
|
mention: {
|
||||||
@ -138,17 +140,40 @@ class Notification < ApplicationRecord
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def paginate_groups(limit, pagination_order)
|
def paginate_groups(limit, pagination_order, grouped_types: nil)
|
||||||
raise ArgumentError unless %i(asc desc).include?(pagination_order)
|
raise ArgumentError unless %i(asc desc).include?(pagination_order)
|
||||||
|
|
||||||
query = reorder(id: pagination_order)
|
query = reorder(id: pagination_order)
|
||||||
|
|
||||||
|
# Ideally `:types` would be a bind rather than part of the SQL itself, but that does not
|
||||||
|
# seem to be possible to do with Rails, considering that the expression would occur in
|
||||||
|
# multiple places, including in a `select`
|
||||||
|
group_key_sql = begin
|
||||||
|
if grouped_types.present?
|
||||||
|
# Normalize `grouped_types` so the number of different SQL query shapes remains small, and
|
||||||
|
# the queries can be analyzed in monitoring/telemetry tools
|
||||||
|
grouped_types = (grouped_types.map(&:to_sym) & GROUPABLE_NOTIFICATION_TYPES).sort
|
||||||
|
|
||||||
|
sanitize_sql_array([<<~SQL.squish, { types: grouped_types }])
|
||||||
|
COALESCE(
|
||||||
|
CASE
|
||||||
|
WHEN notifications.type IN (:types) THEN notifications.group_key
|
||||||
|
ELSE NULL
|
||||||
|
END,
|
||||||
|
'ungrouped-' || notifications.id
|
||||||
|
)
|
||||||
|
SQL
|
||||||
|
else
|
||||||
|
"COALESCE(notifications.group_key, 'ungrouped-' || notifications.id)"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
unscoped
|
unscoped
|
||||||
.with_recursive(
|
.with_recursive(
|
||||||
grouped_notifications: [
|
grouped_notifications: [
|
||||||
# Base case: fetching one notification and annotating it with visited groups
|
# Base case: fetching one notification and annotating it with visited groups
|
||||||
query
|
query
|
||||||
.select('notifications.*', "ARRAY[COALESCE(notifications.group_key, 'ungrouped-' || notifications.id)] AS groups")
|
.select('notifications.*', "ARRAY[#{group_key_sql}] AS groups")
|
||||||
.limit(1),
|
.limit(1),
|
||||||
# Recursive case, always yielding at most one annotated notification
|
# Recursive case, always yielding at most one annotated notification
|
||||||
unscoped
|
unscoped
|
||||||
@ -163,12 +188,12 @@ class Notification < ApplicationRecord
|
|||||||
# Recursive query, using `LATERAL` so we can refer to `wt`
|
# Recursive query, using `LATERAL` so we can refer to `wt`
|
||||||
query
|
query
|
||||||
.where(pagination_order == :desc ? 'notifications.id < wt.id' : 'notifications.id > wt.id')
|
.where(pagination_order == :desc ? 'notifications.id < wt.id' : 'notifications.id > wt.id')
|
||||||
.where.not("COALESCE(notifications.group_key, 'ungrouped-' || notifications.id) = ANY(wt.groups)")
|
.where.not("#{group_key_sql} = ANY(wt.groups)")
|
||||||
.limit(1)
|
.limit(1)
|
||||||
.arel.lateral('notifications'),
|
.arel.lateral('notifications'),
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
.select('notifications.*', "array_append(wt.groups, COALESCE(notifications.group_key, 'ungrouped-' || notifications.id))"),
|
.select('notifications.*', "array_append(wt.groups, #{group_key_sql}) AS groups"),
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
.from('grouped_notifications AS notifications')
|
.from('grouped_notifications AS notifications')
|
||||||
@ -178,28 +203,28 @@ class Notification < ApplicationRecord
|
|||||||
|
|
||||||
# This returns notifications from the request page, but with at most one notification per group.
|
# This returns notifications from the request page, but with at most one notification per group.
|
||||||
# Notifications that have no `group_key` each count as a separate group.
|
# Notifications that have no `group_key` each count as a separate group.
|
||||||
def paginate_groups_by_max_id(limit, max_id: nil, since_id: nil)
|
def paginate_groups_by_max_id(limit, max_id: nil, since_id: nil, grouped_types: nil)
|
||||||
query = reorder(id: :desc)
|
query = reorder(id: :desc)
|
||||||
query = query.where(id: ...(max_id.to_i)) if max_id.present?
|
query = query.where(id: ...(max_id.to_i)) if max_id.present?
|
||||||
query = query.where(id: (since_id.to_i + 1)...) if since_id.present?
|
query = query.where(id: (since_id.to_i + 1)...) if since_id.present?
|
||||||
query.paginate_groups(limit, :desc)
|
query.paginate_groups(limit, :desc, grouped_types: grouped_types)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Differs from :paginate_groups_by_max_id in that it gives the results immediately following min_id,
|
# Differs from :paginate_groups_by_max_id in that it gives the results immediately following min_id,
|
||||||
# whereas since_id gives the items with largest id, but with since_id as a cutoff.
|
# whereas since_id gives the items with largest id, but with since_id as a cutoff.
|
||||||
# Results will be in ascending order by id.
|
# Results will be in ascending order by id.
|
||||||
def paginate_groups_by_min_id(limit, max_id: nil, min_id: nil)
|
def paginate_groups_by_min_id(limit, max_id: nil, min_id: nil, grouped_types: nil)
|
||||||
query = reorder(id: :asc)
|
query = reorder(id: :asc)
|
||||||
query = query.where(id: (min_id.to_i + 1)...) if min_id.present?
|
query = query.where(id: (min_id.to_i + 1)...) if min_id.present?
|
||||||
query = query.where(id: ...(max_id.to_i)) if max_id.present?
|
query = query.where(id: ...(max_id.to_i)) if max_id.present?
|
||||||
query.paginate_groups(limit, :asc)
|
query.paginate_groups(limit, :asc, grouped_types: grouped_types)
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_a_grouped_paginated_by_id(limit, options = {})
|
def to_a_grouped_paginated_by_id(limit, options = {})
|
||||||
if options[:min_id].present?
|
if options[:min_id].present?
|
||||||
paginate_groups_by_min_id(limit, min_id: options[:min_id], max_id: options[:max_id]).reverse
|
paginate_groups_by_min_id(limit, min_id: options[:min_id], max_id: options[:max_id], grouped_types: options[:grouped_types]).reverse
|
||||||
else
|
else
|
||||||
paginate_groups_by_max_id(limit, max_id: options[:max_id], since_id: options[:since_id]).to_a
|
paginate_groups_by_max_id(limit, max_id: options[:max_id], since_id: options[:since_id], grouped_types: options[:grouped_types]).to_a
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -6,8 +6,11 @@ class NotificationGroup < ActiveModelSerializers::Model
|
|||||||
# Try to keep this consistent with `app/javascript/mastodon/models/notification_group.ts`
|
# Try to keep this consistent with `app/javascript/mastodon/models/notification_group.ts`
|
||||||
SAMPLE_ACCOUNTS_SIZE = 8
|
SAMPLE_ACCOUNTS_SIZE = 8
|
||||||
|
|
||||||
def self.from_notification(notification, max_id: nil)
|
def self.from_notification(notification, max_id: nil, grouped_types: nil)
|
||||||
if notification.group_key.present?
|
grouped_types = grouped_types.presence&.map(&:to_sym) || Notification::GROUPABLE_NOTIFICATION_TYPES
|
||||||
|
groupable = notification.group_key.present? && grouped_types.include?(notification.type)
|
||||||
|
|
||||||
|
if groupable
|
||||||
# TODO: caching, and, if caching, preloading
|
# TODO: caching, and, if caching, preloading
|
||||||
scope = notification.account.notifications.where(group_key: notification.group_key)
|
scope = notification.account.notifications.where(group_key: notification.group_key)
|
||||||
scope = scope.where(id: ..max_id) if max_id.present?
|
scope = scope.where(id: ..max_id) if max_id.present?
|
||||||
@ -25,7 +28,7 @@ class NotificationGroup < ActiveModelSerializers::Model
|
|||||||
|
|
||||||
NotificationGroup.new(
|
NotificationGroup.new(
|
||||||
notification: notification,
|
notification: notification,
|
||||||
group_key: notification.group_key || "ungrouped-#{notification.id}",
|
group_key: groupable ? notification.group_key : "ungrouped-#{notification.id}",
|
||||||
sample_accounts: sample_accounts,
|
sample_accounts: sample_accounts,
|
||||||
notifications_count: notifications_count,
|
notifications_count: notifications_count,
|
||||||
most_recent_notification_id: most_recent_id
|
most_recent_notification_id: most_recent_id
|
||||||
|
@ -78,7 +78,7 @@ class REST::InstanceSerializer < ActiveModel::Serializer
|
|||||||
},
|
},
|
||||||
|
|
||||||
media_attachments: {
|
media_attachments: {
|
||||||
supported_mime_types: MediaAttachment::IMAGE_MIME_TYPES + MediaAttachment::VIDEO_MIME_TYPES + MediaAttachment::AUDIO_MIME_TYPES,
|
supported_mime_types: MediaAttachment.supported_mime_types,
|
||||||
image_size_limit: MediaAttachment::IMAGE_LIMIT,
|
image_size_limit: MediaAttachment::IMAGE_LIMIT,
|
||||||
image_matrix_limit: Attachmentable::MAX_MATRIX_LIMIT,
|
image_matrix_limit: Attachmentable::MAX_MATRIX_LIMIT,
|
||||||
video_size_limit: MediaAttachment::VIDEO_LIMIT,
|
video_size_limit: MediaAttachment::VIDEO_LIMIT,
|
||||||
|
@ -83,7 +83,7 @@ class REST::V1::InstanceSerializer < ActiveModel::Serializer
|
|||||||
},
|
},
|
||||||
|
|
||||||
media_attachments: {
|
media_attachments: {
|
||||||
supported_mime_types: MediaAttachment::IMAGE_MIME_TYPES + MediaAttachment::VIDEO_MIME_TYPES + MediaAttachment::AUDIO_MIME_TYPES,
|
supported_mime_types: MediaAttachment.supported_mime_types,
|
||||||
image_size_limit: MediaAttachment::IMAGE_LIMIT,
|
image_size_limit: MediaAttachment::IMAGE_LIMIT,
|
||||||
image_matrix_limit: Attachmentable::MAX_MATRIX_LIMIT,
|
image_matrix_limit: Attachmentable::MAX_MATRIX_LIMIT,
|
||||||
video_size_limit: MediaAttachment::VIDEO_LIMIT,
|
video_size_limit: MediaAttachment::VIDEO_LIMIT,
|
||||||
|
@ -237,7 +237,7 @@ class NotifyService < BaseService
|
|||||||
private
|
private
|
||||||
|
|
||||||
def notification_group_key
|
def notification_group_key
|
||||||
return nil if @notification.filtered || %i(favourite reblog).exclude?(@notification.type)
|
return nil if @notification.filtered || Notification::GROUPABLE_NOTIFICATION_TYPES.exclude?(@notification.type)
|
||||||
|
|
||||||
type_prefix = "#{@notification.type}-#{@notification.target_status.id}"
|
type_prefix = "#{@notification.type}-#{@notification.target_status.id}"
|
||||||
redis_key = "notif-group/#{@recipient.id}/#{type_prefix}"
|
redis_key = "notif-group/#{@recipient.id}/#{type_prefix}"
|
||||||
|
@ -52,7 +52,7 @@
|
|||||||
- if can?(:reset_password, account.user)
|
- if can?(:reset_password, account.user)
|
||||||
%tr
|
%tr
|
||||||
%td
|
%td
|
||||||
= table_link_to 'key', t('admin.accounts.reset_password'), admin_account_reset_path(account.id), method: :create, data: { confirm: t('admin.accounts.are_you_sure') }
|
= table_link_to 'key', t('admin.accounts.reset_password'), admin_account_reset_path(account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
|
||||||
%tr
|
%tr
|
||||||
%th= t('simple_form.labels.defaults.locale')
|
%th= t('simple_form.labels.defaults.locale')
|
||||||
%td= standard_locale_name(account.user_locale)
|
%td= standard_locale_name(account.user_locale)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.announcements-list__item
|
.announcements-list__item{ id: dom_id(announcement) }
|
||||||
= link_to edit_admin_announcement_path(announcement), class: 'announcements-list__item__title' do
|
= link_to edit_admin_announcement_path(announcement), class: 'announcements-list__item__title' do
|
||||||
= truncate(announcement.text)
|
= truncate(announcement.text)
|
||||||
|
|
||||||
|
@ -160,9 +160,10 @@ elsif ENV['AZURE_ENABLED'] == 'true'
|
|||||||
)
|
)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
Rails.configuration.x.file_storage_root_path = ENV.fetch('PAPERCLIP_ROOT_PATH', File.join(':rails_root', 'public', 'system'))
|
||||||
Paperclip::Attachment.default_options.merge!(
|
Paperclip::Attachment.default_options.merge!(
|
||||||
storage: :filesystem,
|
storage: :filesystem,
|
||||||
path: File.join(ENV.fetch('PAPERCLIP_ROOT_PATH', File.join(':rails_root', 'public', 'system')), ':prefix_path:class', ':attachment', ':id_partition', ':style', ':filename'),
|
path: File.join(Rails.configuration.x.file_storage_root_path, ':prefix_path:class', ':attachment', ':id_partition', ':style', ':filename'),
|
||||||
url: ENV.fetch('PAPERCLIP_ROOT_URL', '/system') + "/#{PATH}"
|
url: ENV.fetch('PAPERCLIP_ROOT_URL', '/system') + "/#{PATH}"
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
@ -83,6 +83,7 @@ fr-CA:
|
|||||||
access_denied: Le/la propriétaire de la ressource ou le serveur d’autorisation a refusé la requête.
|
access_denied: Le/la propriétaire de la ressource ou le serveur d’autorisation a refusé la requête.
|
||||||
credential_flow_not_configured: Le flux des identifiants du mot de passe du/de la propriétaire de la ressource a échoué car Doorkeeper.configure.resource_owner_from_credentials n’est pas configuré.
|
credential_flow_not_configured: Le flux des identifiants du mot de passe du/de la propriétaire de la ressource a échoué car Doorkeeper.configure.resource_owner_from_credentials n’est pas configuré.
|
||||||
invalid_client: L’authentification du client a échoué à cause d’un client inconnu, d’aucune authentification de client incluse ou d’une méthode d’authentification non prise en charge.
|
invalid_client: L’authentification du client a échoué à cause d’un client inconnu, d’aucune authentification de client incluse ou d’une méthode d’authentification non prise en charge.
|
||||||
|
invalid_code_challenge_method: La méthode de contrôle du code doit être S256, le mode « en clair » n'est pas pris en charge.
|
||||||
invalid_grant: L’autorisation accordée est invalide, expirée, révoquée, ne concorde pas avec l’URI de redirection utilisée dans la requête d’autorisation, ou a été délivrée à un autre client.
|
invalid_grant: L’autorisation accordée est invalide, expirée, révoquée, ne concorde pas avec l’URI de redirection utilisée dans la requête d’autorisation, ou a été délivrée à un autre client.
|
||||||
invalid_redirect_uri: L’URI de redirection n’est pas valide.
|
invalid_redirect_uri: L’URI de redirection n’est pas valide.
|
||||||
invalid_request:
|
invalid_request:
|
||||||
|
@ -25,7 +25,7 @@ fr:
|
|||||||
edit: Modifier
|
edit: Modifier
|
||||||
submit: Envoyer
|
submit: Envoyer
|
||||||
confirmations:
|
confirmations:
|
||||||
destroy: Voulez-vous vraiment faire ça ?
|
destroy: En êtes-vous sûr ?
|
||||||
edit:
|
edit:
|
||||||
title: Modifier l’application
|
title: Modifier l’application
|
||||||
form:
|
form:
|
||||||
@ -69,7 +69,7 @@ fr:
|
|||||||
buttons:
|
buttons:
|
||||||
revoke: Révoquer
|
revoke: Révoquer
|
||||||
confirmations:
|
confirmations:
|
||||||
revoke: Voulez-vous vraiment faire ça ?
|
revoke: En êtes-vous sûr ?
|
||||||
index:
|
index:
|
||||||
authorized_at: Autorisée le %{date}
|
authorized_at: Autorisée le %{date}
|
||||||
description_html: Ces applications peuvent accéder à votre compte via l'API. Si vous voyez ici des applications que vous ne reconnaissez pas ou qui ne fonctionnent pas normalement, vous pouvez en révoquer les accès.
|
description_html: Ces applications peuvent accéder à votre compte via l'API. Si vous voyez ici des applications que vous ne reconnaissez pas ou qui ne fonctionnent pas normalement, vous pouvez en révoquer les accès.
|
||||||
@ -83,6 +83,7 @@ fr:
|
|||||||
access_denied: Le propriétaire de la ressource ou le serveur d’autorisation a refusé la requête.
|
access_denied: Le propriétaire de la ressource ou le serveur d’autorisation a refusé la requête.
|
||||||
credential_flow_not_configured: Le flux des identifiants du mot de passe du propriétaire de la ressource a échoué car Doorkeeper.configure.resource_owner_from_credentials n’est pas configuré.
|
credential_flow_not_configured: Le flux des identifiants du mot de passe du propriétaire de la ressource a échoué car Doorkeeper.configure.resource_owner_from_credentials n’est pas configuré.
|
||||||
invalid_client: L’authentification du client a échoué à cause d’un client inconnu, d’aucune authentification de client incluse ou d’une méthode d’authentification non prise en charge.
|
invalid_client: L’authentification du client a échoué à cause d’un client inconnu, d’aucune authentification de client incluse ou d’une méthode d’authentification non prise en charge.
|
||||||
|
invalid_code_challenge_method: La méthode de contrôle du code doit être S256, le mode « en clair » n'est pas pris en charge.
|
||||||
invalid_grant: L’autorisation accordée est invalide, expirée, annulée, ne concorde pas avec l’URL de redirection utilisée dans la requête d’autorisation, ou a été délivrée à un autre client.
|
invalid_grant: L’autorisation accordée est invalide, expirée, annulée, ne concorde pas avec l’URL de redirection utilisée dans la requête d’autorisation, ou a été délivrée à un autre client.
|
||||||
invalid_redirect_uri: L’URL de redirection n’est pas valide.
|
invalid_redirect_uri: L’URL de redirection n’est pas valide.
|
||||||
invalid_request:
|
invalid_request:
|
||||||
|
@ -865,6 +865,8 @@ en-GB:
|
|||||||
links:
|
links:
|
||||||
allow: Allow link
|
allow: Allow link
|
||||||
allow_provider: Allow publisher
|
allow_provider: Allow publisher
|
||||||
|
confirm_disallow: Are you sure you want to disallow selected links?
|
||||||
|
confirm_disallow_provider: Are you sure you want to disallow selected providers?
|
||||||
description_html: These are links that are currently being shared a lot by accounts that your server sees posts from. It can help your users find out what's going on in the world. No links are displayed publicly until you approve the publisher. You can also allow or reject individual links.
|
description_html: These are links that are currently being shared a lot by accounts that your server sees posts from. It can help your users find out what's going on in the world. No links are displayed publicly until you approve the publisher. You can also allow or reject individual links.
|
||||||
disallow: Disallow link
|
disallow: Disallow link
|
||||||
disallow_provider: Disallow publisher
|
disallow_provider: Disallow publisher
|
||||||
@ -888,6 +890,10 @@ en-GB:
|
|||||||
statuses:
|
statuses:
|
||||||
allow: Allow post
|
allow: Allow post
|
||||||
allow_account: Allow author
|
allow_account: Allow author
|
||||||
|
confirm_allow: Are you sure you want to allow selected statuses?
|
||||||
|
confirm_allow_account: Are you sure you want to allow selected accounts?
|
||||||
|
confirm_disallow: Are you sure you want to disallow selected statuses?
|
||||||
|
confirm_disallow_account: Are you sure you want to disallow selected accounts?
|
||||||
description_html: These are posts that your server knows about that are currently being shared and favourited a lot at the moment. It can help your new and returning users to find more people to follow. No posts are displayed publicly until you approve the author, and the author allows their account to be suggested to others. You can also allow or reject individual posts.
|
description_html: These are posts that your server knows about that are currently being shared and favourited a lot at the moment. It can help your new and returning users to find more people to follow. No posts are displayed publicly until you approve the author, and the author allows their account to be suggested to others. You can also allow or reject individual posts.
|
||||||
disallow: Disallow post
|
disallow: Disallow post
|
||||||
disallow_account: Disallow author
|
disallow_account: Disallow author
|
||||||
@ -920,6 +926,7 @@ en-GB:
|
|||||||
used_by_over_week:
|
used_by_over_week:
|
||||||
one: Used by one person over the last week
|
one: Used by one person over the last week
|
||||||
other: Used by %{count} people over the last week
|
other: Used by %{count} people over the last week
|
||||||
|
title: Recommendations & Trends
|
||||||
trending: Trending
|
trending: Trending
|
||||||
warning_presets:
|
warning_presets:
|
||||||
add_new: Add new
|
add_new: Add new
|
||||||
|
@ -1091,7 +1091,7 @@ es:
|
|||||||
proceed_to_login_html: Ahora puedes proceder a %{login_link}.
|
proceed_to_login_html: Ahora puedes proceder a %{login_link}.
|
||||||
redirect_to_app_html: Serás redirigido a la aplicación <strong>%{app_name}</strong>. Si esto no sucede, prueba %{clicking_this_link} o regresa manualmente a la aplicación.
|
redirect_to_app_html: Serás redirigido a la aplicación <strong>%{app_name}</strong>. Si esto no sucede, prueba %{clicking_this_link} o regresa manualmente a la aplicación.
|
||||||
registration_complete: "¡Has completado tu registro en %{domain}!"
|
registration_complete: "¡Has completado tu registro en %{domain}!"
|
||||||
welcome_title: "¡Bienvenido, %{name}!"
|
welcome_title: "¡Te damos la bienvenida, %{name}!"
|
||||||
wrong_email_hint: Si esa dirección de correo electrónico no es correcta, puedes cambiarla en la configuración de la cuenta.
|
wrong_email_hint: Si esa dirección de correo electrónico no es correcta, puedes cambiarla en la configuración de la cuenta.
|
||||||
delete_account: Borrar cuenta
|
delete_account: Borrar cuenta
|
||||||
delete_account_html: Si desea eliminar su cuenta, puede <a href="%{path}">proceder aquí</a>. Será pedido de una confirmación.
|
delete_account_html: Si desea eliminar su cuenta, puede <a href="%{path}">proceder aquí</a>. Será pedido de una confirmación.
|
||||||
@ -1913,7 +1913,7 @@ es:
|
|||||||
follow_action: Seguir
|
follow_action: Seguir
|
||||||
follow_step: Seguir a personas interesantes es de lo que trata Mastodon.
|
follow_step: Seguir a personas interesantes es de lo que trata Mastodon.
|
||||||
follow_title: Personaliza tu línea de inicio
|
follow_title: Personaliza tu línea de inicio
|
||||||
follows_subtitle: Seguir cuentas conocidas
|
follows_subtitle: Sigue a cuentas conocidas
|
||||||
follows_title: A quién seguir
|
follows_title: A quién seguir
|
||||||
follows_view_more: Ver más personas para seguir
|
follows_view_more: Ver más personas para seguir
|
||||||
hashtags_recent_count:
|
hashtags_recent_count:
|
||||||
|
@ -31,6 +31,7 @@ fr-CA:
|
|||||||
created_msg: Note de modération créée avec succès !
|
created_msg: Note de modération créée avec succès !
|
||||||
destroyed_msg: Note de modération supprimée avec succès !
|
destroyed_msg: Note de modération supprimée avec succès !
|
||||||
accounts:
|
accounts:
|
||||||
|
add_email_domain_block: Bloquer le domaine de messagerie
|
||||||
approve: Approuver
|
approve: Approuver
|
||||||
approved_msg: La demande d’inscription de %{username} a été approuvée avec succès
|
approved_msg: La demande d’inscription de %{username} a été approuvée avec succès
|
||||||
are_you_sure: Voulez-vous vraiment faire ça ?
|
are_you_sure: Voulez-vous vraiment faire ça ?
|
||||||
@ -169,13 +170,16 @@ fr-CA:
|
|||||||
approve_appeal: Approuver l'appel
|
approve_appeal: Approuver l'appel
|
||||||
approve_user: Approuver l’utilisateur
|
approve_user: Approuver l’utilisateur
|
||||||
assigned_to_self_report: Affecter le signalement
|
assigned_to_self_report: Affecter le signalement
|
||||||
|
change_email_user: Modification de l’adresse de messagerie électronique pour l'utilisateur·ce
|
||||||
change_role_user: Changer le rôle de l’utilisateur·rice
|
change_role_user: Changer le rôle de l’utilisateur·rice
|
||||||
confirm_user: Confirmer l’utilisateur
|
confirm_user: Confirmer l’utilisateur
|
||||||
create_account_warning: Créer une alerte
|
create_account_warning: Créer une alerte
|
||||||
create_announcement: Créer une annonce
|
create_announcement: Créer une annonce
|
||||||
|
create_canonical_email_block: Création d'un blocage de courrier électronique
|
||||||
create_custom_emoji: Créer des émojis personnalisés
|
create_custom_emoji: Créer des émojis personnalisés
|
||||||
create_domain_allow: Créer un domaine autorisé
|
create_domain_allow: Créer un domaine autorisé
|
||||||
create_domain_block: Créer un blocage de domaine
|
create_domain_block: Créer un blocage de domaine
|
||||||
|
create_email_domain_block: Création d'un blocage de domaine de courrier électronique
|
||||||
create_ip_block: Créer une règle IP
|
create_ip_block: Créer une règle IP
|
||||||
create_unavailable_domain: Créer un domaine indisponible
|
create_unavailable_domain: Créer un domaine indisponible
|
||||||
create_user_role: Créer le rôle
|
create_user_role: Créer le rôle
|
||||||
@ -417,8 +421,10 @@ fr-CA:
|
|||||||
new:
|
new:
|
||||||
create: Créer le blocage
|
create: Créer le blocage
|
||||||
resolve: Résoudre le domaine
|
resolve: Résoudre le domaine
|
||||||
|
title: Blocage d'un nouveau domaine de messagerie électronique
|
||||||
not_permitted: Non autorisé
|
not_permitted: Non autorisé
|
||||||
resolved_through_html: Résolu par %{domain}
|
resolved_through_html: Résolu par %{domain}
|
||||||
|
title: Domaines de messagerie électronique bloqués
|
||||||
export_domain_allows:
|
export_domain_allows:
|
||||||
new:
|
new:
|
||||||
title: Importer les autorisations de domaine
|
title: Importer les autorisations de domaine
|
||||||
@ -443,6 +449,9 @@ fr-CA:
|
|||||||
title: Recommandations d'abonnement
|
title: Recommandations d'abonnement
|
||||||
unsuppress: Rétablir les recommandations d'abonnement
|
unsuppress: Rétablir les recommandations d'abonnement
|
||||||
instances:
|
instances:
|
||||||
|
audit_log:
|
||||||
|
title: Journaux d'audit récents
|
||||||
|
view_all: Voir les journaux d'audit complets
|
||||||
availability:
|
availability:
|
||||||
description_html:
|
description_html:
|
||||||
one: Si la livraison au domaine échoue pendant <strong>%{count} jour</strong>, aucune autre tentative de livraison ne sera faite à moins qu'une livraison <em>depuis</em> le domaine ne soit reçue.
|
one: Si la livraison au domaine échoue pendant <strong>%{count} jour</strong>, aucune autre tentative de livraison ne sera faite à moins qu'une livraison <em>depuis</em> le domaine ne soit reçue.
|
||||||
@ -610,6 +619,7 @@ fr-CA:
|
|||||||
report: 'Signalement #%{id}'
|
report: 'Signalement #%{id}'
|
||||||
reported_account: Compte signalé
|
reported_account: Compte signalé
|
||||||
reported_by: Signalé par
|
reported_by: Signalé par
|
||||||
|
reported_with_application: Signalé avec l'application
|
||||||
resolved: Résolus
|
resolved: Résolus
|
||||||
resolved_msg: Signalement résolu avec succès !
|
resolved_msg: Signalement résolu avec succès !
|
||||||
skip_to_actions: Passer aux actions
|
skip_to_actions: Passer aux actions
|
||||||
@ -632,6 +642,7 @@ fr-CA:
|
|||||||
delete_data_html: effacer le profil de <strong>@%{acct}</strong> et ses contenus dans 30 jours, à moins que la suspension du compte ne soit annulée entre temps
|
delete_data_html: effacer le profil de <strong>@%{acct}</strong> et ses contenus dans 30 jours, à moins que la suspension du compte ne soit annulée entre temps
|
||||||
preview_preamble_html: "<strong>@%{acct}</strong> recevra un avertissement contenant les éléments suivants :"
|
preview_preamble_html: "<strong>@%{acct}</strong> recevra un avertissement contenant les éléments suivants :"
|
||||||
record_strike_html: enregistrer une sanction contre <strong>@%{acct}</strong> pour vous aider à prendre des mesures supplémentaires en cas d'infractions futures de ce compte
|
record_strike_html: enregistrer une sanction contre <strong>@%{acct}</strong> pour vous aider à prendre des mesures supplémentaires en cas d'infractions futures de ce compte
|
||||||
|
send_email_html: Envoyer un courriel d'avertissement à <strong>@%{acct}</strong>
|
||||||
warning_placeholder: Arguments supplémentaires pour l'action de modération (facultatif).
|
warning_placeholder: Arguments supplémentaires pour l'action de modération (facultatif).
|
||||||
target_origin: Origine du compte signalé
|
target_origin: Origine du compte signalé
|
||||||
title: Signalements
|
title: Signalements
|
||||||
@ -671,6 +682,7 @@ fr-CA:
|
|||||||
manage_appeals: Gérer les contestations
|
manage_appeals: Gérer les contestations
|
||||||
manage_appeals_description: Permet aux utilisateur⋅rice⋅s d'examiner les appels contre les actions de modération
|
manage_appeals_description: Permet aux utilisateur⋅rice⋅s d'examiner les appels contre les actions de modération
|
||||||
manage_blocks: Gérer les blocages
|
manage_blocks: Gérer les blocages
|
||||||
|
manage_blocks_description: Permet aux utilisateur⋅rice⋅s de bloquer des fournisseurs de courriel et des adresses IP
|
||||||
manage_custom_emojis: Gérer les émojis personnalisés
|
manage_custom_emojis: Gérer les émojis personnalisés
|
||||||
manage_custom_emojis_description: Permet aux utilisateur⋅rice⋅s de gérer les émoticônes personnalisées sur le serveur
|
manage_custom_emojis_description: Permet aux utilisateur⋅rice⋅s de gérer les émoticônes personnalisées sur le serveur
|
||||||
manage_federation: Gérer de la féderation
|
manage_federation: Gérer de la féderation
|
||||||
@ -722,6 +734,7 @@ fr-CA:
|
|||||||
desc_html: Ceci se base sur des scripts externes de hCaptcha, ce qui peut engendrer des soucis de sécurité et de confidentialité. De plus, <strong>cela peut rendre l'inscription beaucoup moins accessible pour certaines personnes (surtout les personnes handicapées)</strong>. Pour ces raisons, veuillez envisager des mesures alternatives telles que l'inscription par acceptation ou par invitation.
|
desc_html: Ceci se base sur des scripts externes de hCaptcha, ce qui peut engendrer des soucis de sécurité et de confidentialité. De plus, <strong>cela peut rendre l'inscription beaucoup moins accessible pour certaines personnes (surtout les personnes handicapées)</strong>. Pour ces raisons, veuillez envisager des mesures alternatives telles que l'inscription par acceptation ou par invitation.
|
||||||
title: Obliger les nouveaux utilisateurs à résoudre un CAPTCHA pour vérifier leur compte
|
title: Obliger les nouveaux utilisateurs à résoudre un CAPTCHA pour vérifier leur compte
|
||||||
content_retention:
|
content_retention:
|
||||||
|
danger_zone: Zone de danger
|
||||||
preamble: Contrôle comment le contenu créé par les utilisateurs est enregistré et stocké dans Mastodon.
|
preamble: Contrôle comment le contenu créé par les utilisateurs est enregistré et stocké dans Mastodon.
|
||||||
title: Rétention du contenu
|
title: Rétention du contenu
|
||||||
default_noindex:
|
default_noindex:
|
||||||
@ -761,6 +774,7 @@ fr-CA:
|
|||||||
destroyed_msg: Téléversement sur le site supprimé avec succès !
|
destroyed_msg: Téléversement sur le site supprimé avec succès !
|
||||||
software_updates:
|
software_updates:
|
||||||
critical_update: Critique — veuillez mettre à jour au plus vite
|
critical_update: Critique — veuillez mettre à jour au plus vite
|
||||||
|
description: Il est recommandé de maintenir votre installation de Mastodon à jour afin de bénéficier des derniers correctifs et fonctionnalités. Par ailleurs, il est parfois critique de mettre à jour Mastodon en temps voulu de manière à éviter les incidents relatifs à la sécurité. Pour ces raisons, Mastodon examine la disponibilté des mises à jour toutes les 30 minutes, et vous en avisera en fonction de vos préférences de notification par messagerie électronique.
|
||||||
documentation_link: En savoir plus
|
documentation_link: En savoir plus
|
||||||
release_notes: Notes de mises à jour
|
release_notes: Notes de mises à jour
|
||||||
title: Mises à jour disponibles
|
title: Mises à jour disponibles
|
||||||
@ -847,7 +861,18 @@ fr-CA:
|
|||||||
action: Pour plus d'informations, cliquez ici
|
action: Pour plus d'informations, cliquez ici
|
||||||
message_html: "<strong>Votre serveur web est mal configuré. La confidentialité de vos utilisateurs est en péril.</strong>"
|
message_html: "<strong>Votre serveur web est mal configuré. La confidentialité de vos utilisateurs est en péril.</strong>"
|
||||||
tags:
|
tags:
|
||||||
|
moderation:
|
||||||
|
not_usable: Non utilisable
|
||||||
|
pending_review: En attente de traitement
|
||||||
|
review_requested: Révision requise
|
||||||
|
reviewed: Traité
|
||||||
|
title: État
|
||||||
|
unreviewed: Non traité
|
||||||
|
usable: Utilisable
|
||||||
name: Nom
|
name: Nom
|
||||||
|
newest: Plus récents
|
||||||
|
oldest: Plus anciens
|
||||||
|
reset: Réinitialiser
|
||||||
review: État du traitement
|
review: État du traitement
|
||||||
search: Recherche
|
search: Recherche
|
||||||
title: Hashtags
|
title: Hashtags
|
||||||
@ -856,10 +881,16 @@ fr-CA:
|
|||||||
trends:
|
trends:
|
||||||
allow: Autoriser
|
allow: Autoriser
|
||||||
approved: Approuvé
|
approved: Approuvé
|
||||||
|
confirm_allow: Êtes-vous sûr de vouloir autoriser les hashtags sélectionnés ?
|
||||||
|
confirm_disallow: Êtes-vous sûr de vouloir interdire les hashtags sélectionnés ?
|
||||||
disallow: Interdire
|
disallow: Interdire
|
||||||
links:
|
links:
|
||||||
allow: Autoriser le lien
|
allow: Autoriser le lien
|
||||||
allow_provider: Autoriser l'éditeur
|
allow_provider: Autoriser l'éditeur
|
||||||
|
confirm_allow: Êtes-vous sûr de vouloir autoriser les liens sélectionnés ?
|
||||||
|
confirm_allow_provider: Êtes-vous sûr de vouloir autoriser les fournisseurs sélectionnés ?
|
||||||
|
confirm_disallow: Êtes-vous sûr de vouloir interdire les liens sélectionnés ?
|
||||||
|
confirm_disallow_provider: Êtes-vous sûr de vouloir interdire les fournisseurs sélectionnés ?
|
||||||
description_html: Ces liens sont actuellement énormément partagés par des comptes dont votre serveur voit les messages. Cela peut aider vos utilisateur⋅rice⋅s à découvrir ce qu'il se passe dans le monde. Aucun lien n'est publiquement affiché tant que vous n'avez pas approuvé le compte qui le publie. Vous pouvez également autoriser ou rejeter les liens individuellement.
|
description_html: Ces liens sont actuellement énormément partagés par des comptes dont votre serveur voit les messages. Cela peut aider vos utilisateur⋅rice⋅s à découvrir ce qu'il se passe dans le monde. Aucun lien n'est publiquement affiché tant que vous n'avez pas approuvé le compte qui le publie. Vous pouvez également autoriser ou rejeter les liens individuellement.
|
||||||
disallow: Interdire le lien
|
disallow: Interdire le lien
|
||||||
disallow_provider: Interdire l'éditeur
|
disallow_provider: Interdire l'éditeur
|
||||||
@ -1000,7 +1031,9 @@ fr-CA:
|
|||||||
guide_link_text: Tout le monde peut y contribuer.
|
guide_link_text: Tout le monde peut y contribuer.
|
||||||
sensitive_content: Contenu sensible
|
sensitive_content: Contenu sensible
|
||||||
application_mailer:
|
application_mailer:
|
||||||
|
notification_preferences: Modification des préférences de la messagerie
|
||||||
salutation: "%{name},"
|
salutation: "%{name},"
|
||||||
|
settings: 'Modifier les préférences de la messagerie : %{link}'
|
||||||
unsubscribe: Se désabonner
|
unsubscribe: Se désabonner
|
||||||
view: 'Voir :'
|
view: 'Voir :'
|
||||||
view_profile: Voir le profil
|
view_profile: Voir le profil
|
||||||
@ -1020,6 +1053,7 @@ fr-CA:
|
|||||||
hint_html: Juste une autre chose! Nous avons besoin de confirmer que vous êtes un humain (pour que nous puissions empêcher les spams!). Résolvez le CAPTCHA ci-dessous et cliquez sur "Continuer".
|
hint_html: Juste une autre chose! Nous avons besoin de confirmer que vous êtes un humain (pour que nous puissions empêcher les spams!). Résolvez le CAPTCHA ci-dessous et cliquez sur "Continuer".
|
||||||
title: Vérification de sécurité
|
title: Vérification de sécurité
|
||||||
confirmations:
|
confirmations:
|
||||||
|
awaiting_review: Votre adresse de messagerie est confirmée ! L'équipe de %{domain} est en train d'examiner votre inscription. Vous recevrez un e-mail si votre compte est approuvé !
|
||||||
awaiting_review_title: Votre inscription est en cours de validation
|
awaiting_review_title: Votre inscription est en cours de validation
|
||||||
clicking_this_link: cliquer sur ce lien
|
clicking_this_link: cliquer sur ce lien
|
||||||
login_link: vous connecter
|
login_link: vous connecter
|
||||||
@ -1027,6 +1061,7 @@ fr-CA:
|
|||||||
redirect_to_app_html: Vous auriez dû être redirigé vers l’application <strong>%{app_name}</strong>. Si cela ne s’est pas produit, essayez de %{clicking_this_link} ou de revenir manuellement à l’application.
|
redirect_to_app_html: Vous auriez dû être redirigé vers l’application <strong>%{app_name}</strong>. Si cela ne s’est pas produit, essayez de %{clicking_this_link} ou de revenir manuellement à l’application.
|
||||||
registration_complete: Votre inscription sur %{domain} est désormais terminée !
|
registration_complete: Votre inscription sur %{domain} est désormais terminée !
|
||||||
welcome_title: Bienvenue, %{name} !
|
welcome_title: Bienvenue, %{name} !
|
||||||
|
wrong_email_hint: Si cette adresse de messagerie est incorrecte, vous pouvez la modifier dans vos paramètres de compte.
|
||||||
delete_account: Supprimer le compte
|
delete_account: Supprimer le compte
|
||||||
delete_account_html: Si vous désirez supprimer votre compte, vous pouvez <a href="%{path}">cliquer ici</a>. Il vous sera demandé de confirmer cette action.
|
delete_account_html: Si vous désirez supprimer votre compte, vous pouvez <a href="%{path}">cliquer ici</a>. Il vous sera demandé de confirmer cette action.
|
||||||
description:
|
description:
|
||||||
@ -1047,6 +1082,7 @@ fr-CA:
|
|||||||
or_log_in_with: Ou authentifiez-vous avec
|
or_log_in_with: Ou authentifiez-vous avec
|
||||||
privacy_policy_agreement_html: J’ai lu et j’accepte la <a href="%{privacy_policy_path}" target="_blank">politique de confidentialité</a>
|
privacy_policy_agreement_html: J’ai lu et j’accepte la <a href="%{privacy_policy_path}" target="_blank">politique de confidentialité</a>
|
||||||
progress:
|
progress:
|
||||||
|
confirm: Confirmation de l'adresse mail
|
||||||
details: Vos infos
|
details: Vos infos
|
||||||
review: Notre avis
|
review: Notre avis
|
||||||
rules: Accepter les règles
|
rules: Accepter les règles
|
||||||
@ -1068,6 +1104,7 @@ fr-CA:
|
|||||||
security: Sécurité
|
security: Sécurité
|
||||||
set_new_password: Définir le nouveau mot de passe
|
set_new_password: Définir le nouveau mot de passe
|
||||||
setup:
|
setup:
|
||||||
|
email_below_hint_html: Consultez votre dossier de courrier indésirable ou demandez-en un autre. Vous pouvez corriger votre adresse e-mail si elle est incorrecte.
|
||||||
email_settings_hint_html: Cliquez sur le lien que nous vous avons envoyé pour vérifier %{email}. Nous vous attendrons ici.
|
email_settings_hint_html: Cliquez sur le lien que nous vous avons envoyé pour vérifier %{email}. Nous vous attendrons ici.
|
||||||
link_not_received: Vous n'avez pas reçu de lien?
|
link_not_received: Vous n'avez pas reçu de lien?
|
||||||
new_confirmation_instructions_sent: Vous allez recevoir un nouvel e-mail avec le lien de confirmation dans quelques minutes !
|
new_confirmation_instructions_sent: Vous allez recevoir un nouvel e-mail avec le lien de confirmation dans quelques minutes !
|
||||||
@ -1081,6 +1118,7 @@ fr-CA:
|
|||||||
title: Mettons les choses en place pour %{domain}.
|
title: Mettons les choses en place pour %{domain}.
|
||||||
status:
|
status:
|
||||||
account_status: État du compte
|
account_status: État du compte
|
||||||
|
confirming: En attente de la confirmation par courrier électronique.
|
||||||
functional: Votre compte est entièrement opérationnel.
|
functional: Votre compte est entièrement opérationnel.
|
||||||
pending: Votre demande est en attente d’examen par notre équipe. Cela peut prendre un certain temps. Vous recevrez un e-mail si votre demande est approuvée.
|
pending: Votre demande est en attente d’examen par notre équipe. Cela peut prendre un certain temps. Vous recevrez un e-mail si votre demande est approuvée.
|
||||||
redirecting_to: Votre compte est inactif car il est actuellement redirigé vers %{acct}.
|
redirecting_to: Votre compte est inactif car il est actuellement redirigé vers %{acct}.
|
||||||
@ -1126,6 +1164,8 @@ fr-CA:
|
|||||||
caches: Le contenu mis en cache par d'autres serveurs peut persister
|
caches: Le contenu mis en cache par d'autres serveurs peut persister
|
||||||
data_removal: Vos messages et autres données seront définitivement supprimés
|
data_removal: Vos messages et autres données seront définitivement supprimés
|
||||||
email_change_html: Vous pouvez <a href="%{path}">modifier votre adresse e-mail</a> sans supprimer votre compte
|
email_change_html: Vous pouvez <a href="%{path}">modifier votre adresse e-mail</a> sans supprimer votre compte
|
||||||
|
email_contact_html: S'il ne vous est toujours pas parvenu, vous pouvez envoyer un message à <a href="mailto:%{email}">%{email}</a> pour obtenir de l'aide
|
||||||
|
email_reconfirmation_html: Dans le cas où vous n'auriez pas reçu l'email de confirmation, vous pouvez <a href="%{path}">en réclamer un nouveau</a>
|
||||||
irreversible: Vous ne pourrez pas restaurer ou réactiver votre compte
|
irreversible: Vous ne pourrez pas restaurer ou réactiver votre compte
|
||||||
more_details_html: Pour plus de détails, voir la <a href="%{terms_path}">politique de confidentialité</a>.
|
more_details_html: Pour plus de détails, voir la <a href="%{terms_path}">politique de confidentialité</a>.
|
||||||
username_available: Votre nom d’utilisateur·rice sera à nouveau disponible
|
username_available: Votre nom d’utilisateur·rice sera à nouveau disponible
|
||||||
|
@ -31,6 +31,7 @@ fr:
|
|||||||
created_msg: Note de modération créée avec succès !
|
created_msg: Note de modération créée avec succès !
|
||||||
destroyed_msg: Note de modération supprimée avec succès !
|
destroyed_msg: Note de modération supprimée avec succès !
|
||||||
accounts:
|
accounts:
|
||||||
|
add_email_domain_block: Bloquer le domaine de messagerie
|
||||||
approve: Approuver
|
approve: Approuver
|
||||||
approved_msg: La demande d’inscription de %{username} a été approuvée avec succès
|
approved_msg: La demande d’inscription de %{username} a été approuvée avec succès
|
||||||
are_you_sure: Voulez-vous vraiment faire ça ?
|
are_you_sure: Voulez-vous vraiment faire ça ?
|
||||||
@ -169,13 +170,16 @@ fr:
|
|||||||
approve_appeal: Approuver l'appel
|
approve_appeal: Approuver l'appel
|
||||||
approve_user: Approuver le compte
|
approve_user: Approuver le compte
|
||||||
assigned_to_self_report: Affecter le signalement
|
assigned_to_self_report: Affecter le signalement
|
||||||
|
change_email_user: Modification de l’adresse de messagerie électronique pour l'utilisateur·ce
|
||||||
change_role_user: Changer le rôle du compte
|
change_role_user: Changer le rôle du compte
|
||||||
confirm_user: Confirmer le compte
|
confirm_user: Confirmer le compte
|
||||||
create_account_warning: Créer une alerte
|
create_account_warning: Créer une alerte
|
||||||
create_announcement: Créer une annonce
|
create_announcement: Créer une annonce
|
||||||
|
create_canonical_email_block: Création d'un blocage de courrier électronique
|
||||||
create_custom_emoji: Créer des émojis personnalisés
|
create_custom_emoji: Créer des émojis personnalisés
|
||||||
create_domain_allow: Créer un domaine autorisé
|
create_domain_allow: Créer un domaine autorisé
|
||||||
create_domain_block: Créer un blocage de domaine
|
create_domain_block: Créer un blocage de domaine
|
||||||
|
create_email_domain_block: Création d'un blocage de domaine de courrier électronique
|
||||||
create_ip_block: Créer une règle IP
|
create_ip_block: Créer une règle IP
|
||||||
create_unavailable_domain: Créer un domaine indisponible
|
create_unavailable_domain: Créer un domaine indisponible
|
||||||
create_user_role: Créer le rôle
|
create_user_role: Créer le rôle
|
||||||
@ -417,8 +421,10 @@ fr:
|
|||||||
new:
|
new:
|
||||||
create: Créer le blocage
|
create: Créer le blocage
|
||||||
resolve: Résoudre le domaine
|
resolve: Résoudre le domaine
|
||||||
|
title: Blocage d'un nouveau domaine de messagerie électronique
|
||||||
not_permitted: Non autorisé
|
not_permitted: Non autorisé
|
||||||
resolved_through_html: Résolu par %{domain}
|
resolved_through_html: Résolu par %{domain}
|
||||||
|
title: Domaines de messagerie électronique bloqués
|
||||||
export_domain_allows:
|
export_domain_allows:
|
||||||
new:
|
new:
|
||||||
title: Importer les autorisations de domaine
|
title: Importer les autorisations de domaine
|
||||||
@ -443,6 +449,9 @@ fr:
|
|||||||
title: Recommandations d'abonnement
|
title: Recommandations d'abonnement
|
||||||
unsuppress: Rétablir les recommandations d'abonnement
|
unsuppress: Rétablir les recommandations d'abonnement
|
||||||
instances:
|
instances:
|
||||||
|
audit_log:
|
||||||
|
title: Journaux d'audit récents
|
||||||
|
view_all: Voir les journaux d'audit complets
|
||||||
availability:
|
availability:
|
||||||
description_html:
|
description_html:
|
||||||
one: Si la livraison au domaine échoue pendant <strong>%{count} jour</strong>, aucune autre tentative de livraison ne sera faite à moins qu'une livraison <em>depuis</em> le domaine ne soit reçue.
|
one: Si la livraison au domaine échoue pendant <strong>%{count} jour</strong>, aucune autre tentative de livraison ne sera faite à moins qu'une livraison <em>depuis</em> le domaine ne soit reçue.
|
||||||
@ -574,7 +583,7 @@ fr:
|
|||||||
already_suspended_badges:
|
already_suspended_badges:
|
||||||
local: Déjà suspendu sur ce serveur
|
local: Déjà suspendu sur ce serveur
|
||||||
remote: Déjà suspendu sur le serveur distant
|
remote: Déjà suspendu sur le serveur distant
|
||||||
are_you_sure: Voulez-vous vraiment faire ça ?
|
are_you_sure: En êtes-vous sûr ?
|
||||||
assign_to_self: Me l’assigner
|
assign_to_self: Me l’assigner
|
||||||
assigned: Modérateur assigné
|
assigned: Modérateur assigné
|
||||||
by_target_domain: Domaine du compte signalé
|
by_target_domain: Domaine du compte signalé
|
||||||
@ -610,6 +619,7 @@ fr:
|
|||||||
report: 'Signalement #%{id}'
|
report: 'Signalement #%{id}'
|
||||||
reported_account: Compte signalé
|
reported_account: Compte signalé
|
||||||
reported_by: Signalé par
|
reported_by: Signalé par
|
||||||
|
reported_with_application: Signalé avec l'application
|
||||||
resolved: Résolus
|
resolved: Résolus
|
||||||
resolved_msg: Signalement résolu avec succès !
|
resolved_msg: Signalement résolu avec succès !
|
||||||
skip_to_actions: Passer aux actions
|
skip_to_actions: Passer aux actions
|
||||||
@ -632,6 +642,7 @@ fr:
|
|||||||
delete_data_html: effacer le profil de <strong>@%{acct}</strong> et ses contenus dans 30 jours, à moins que la suspension du compte ne soit annulée entre temps
|
delete_data_html: effacer le profil de <strong>@%{acct}</strong> et ses contenus dans 30 jours, à moins que la suspension du compte ne soit annulée entre temps
|
||||||
preview_preamble_html: "<strong>@%{acct}</strong> recevra un avertissement contenant les éléments suivants :"
|
preview_preamble_html: "<strong>@%{acct}</strong> recevra un avertissement contenant les éléments suivants :"
|
||||||
record_strike_html: enregistrer une sanction contre <strong>@%{acct}</strong> pour vous aider à prendre des mesures supplémentaires en cas d'infractions futures de ce compte
|
record_strike_html: enregistrer une sanction contre <strong>@%{acct}</strong> pour vous aider à prendre des mesures supplémentaires en cas d'infractions futures de ce compte
|
||||||
|
send_email_html: Envoyer un courriel d'avertissement à <strong>@%{acct}</strong>
|
||||||
warning_placeholder: Arguments supplémentaires pour l'action de modération (facultatif).
|
warning_placeholder: Arguments supplémentaires pour l'action de modération (facultatif).
|
||||||
target_origin: Origine du compte signalé
|
target_origin: Origine du compte signalé
|
||||||
title: Signalements
|
title: Signalements
|
||||||
@ -671,6 +682,7 @@ fr:
|
|||||||
manage_appeals: Gérer les contestations
|
manage_appeals: Gérer les contestations
|
||||||
manage_appeals_description: Permet aux utilisateur⋅rice⋅s d'examiner les appels contre les actions de modération
|
manage_appeals_description: Permet aux utilisateur⋅rice⋅s d'examiner les appels contre les actions de modération
|
||||||
manage_blocks: Gérer les blocages
|
manage_blocks: Gérer les blocages
|
||||||
|
manage_blocks_description: Permet aux utilisateur⋅rice⋅s de bloquer des fournisseurs de courriel et des adresses IP
|
||||||
manage_custom_emojis: Gérer les émojis personnalisés
|
manage_custom_emojis: Gérer les émojis personnalisés
|
||||||
manage_custom_emojis_description: Permet aux utilisateur⋅rice⋅s de gérer les émoticônes personnalisées sur le serveur
|
manage_custom_emojis_description: Permet aux utilisateur⋅rice⋅s de gérer les émoticônes personnalisées sur le serveur
|
||||||
manage_federation: Gérer de la féderation
|
manage_federation: Gérer de la féderation
|
||||||
@ -722,6 +734,7 @@ fr:
|
|||||||
desc_html: Ceci se base sur des scripts externes venant de hCaptcha, ce qui peut engendrer des soucis de sécurité et de confidentialité. De plus, <strong>cela peut rendre l'inscription beaucoup moins accessible pour certaines personnes (comme les personnes handicapées)</strong>. Pour ces raisons, veuillez envisager des mesures alternatives telles que l'inscription sur acceptation ou invitation.
|
desc_html: Ceci se base sur des scripts externes venant de hCaptcha, ce qui peut engendrer des soucis de sécurité et de confidentialité. De plus, <strong>cela peut rendre l'inscription beaucoup moins accessible pour certaines personnes (comme les personnes handicapées)</strong>. Pour ces raisons, veuillez envisager des mesures alternatives telles que l'inscription sur acceptation ou invitation.
|
||||||
title: Exiger que les nouveaux utilisateurs résolvent un CAPTCHA pour confirmer leur compte
|
title: Exiger que les nouveaux utilisateurs résolvent un CAPTCHA pour confirmer leur compte
|
||||||
content_retention:
|
content_retention:
|
||||||
|
danger_zone: Zone de danger
|
||||||
preamble: Contrôle comment le contenu créé par les utilisateurs est enregistré et stocké dans Mastodon.
|
preamble: Contrôle comment le contenu créé par les utilisateurs est enregistré et stocké dans Mastodon.
|
||||||
title: Rétention du contenu
|
title: Rétention du contenu
|
||||||
default_noindex:
|
default_noindex:
|
||||||
@ -761,6 +774,7 @@ fr:
|
|||||||
destroyed_msg: Téléversement sur le site supprimé avec succès !
|
destroyed_msg: Téléversement sur le site supprimé avec succès !
|
||||||
software_updates:
|
software_updates:
|
||||||
critical_update: Critique — veuillez mettre à jour au plus vite
|
critical_update: Critique — veuillez mettre à jour au plus vite
|
||||||
|
description: Il est recommandé de maintenir votre installation de Mastodon à jour afin de bénéficier des derniers correctifs et fonctionnalités. Par ailleurs, il est parfois critique de mettre à jour Mastodon en temps voulu de manière à éviter les incidents relatifs à la sécurité. Pour ces raisons, Mastodon examine la disponibilté des mises à jour toutes les 30 minutes, et vous en avisera en fonction de vos préférences de notification par messagerie électronique.
|
||||||
documentation_link: En savoir plus
|
documentation_link: En savoir plus
|
||||||
release_notes: Notes de mises à jour
|
release_notes: Notes de mises à jour
|
||||||
title: Mises à jour disponibles
|
title: Mises à jour disponibles
|
||||||
@ -847,7 +861,18 @@ fr:
|
|||||||
action: Pour plus d'informations, cliquez ici
|
action: Pour plus d'informations, cliquez ici
|
||||||
message_html: "<strong>Votre serveur web est mal configuré. La confidentialité de vos utilisateurs est en péril.</strong>"
|
message_html: "<strong>Votre serveur web est mal configuré. La confidentialité de vos utilisateurs est en péril.</strong>"
|
||||||
tags:
|
tags:
|
||||||
|
moderation:
|
||||||
|
not_usable: Non utilisable
|
||||||
|
pending_review: En attente de traitement
|
||||||
|
review_requested: Révision requise
|
||||||
|
reviewed: Traité
|
||||||
|
title: État
|
||||||
|
unreviewed: Non traité
|
||||||
|
usable: Utilisable
|
||||||
name: Nom
|
name: Nom
|
||||||
|
newest: Plus récents
|
||||||
|
oldest: Plus anciens
|
||||||
|
reset: Réinitialiser
|
||||||
review: État du traitement
|
review: État du traitement
|
||||||
search: Recherche
|
search: Recherche
|
||||||
title: Hashtags
|
title: Hashtags
|
||||||
@ -856,10 +881,16 @@ fr:
|
|||||||
trends:
|
trends:
|
||||||
allow: Autoriser
|
allow: Autoriser
|
||||||
approved: Approuvé
|
approved: Approuvé
|
||||||
|
confirm_allow: Êtes-vous sûr de vouloir autoriser les hashtags sélectionnés ?
|
||||||
|
confirm_disallow: Êtes-vous sûr de vouloir interdire les hashtags sélectionnés ?
|
||||||
disallow: Interdire
|
disallow: Interdire
|
||||||
links:
|
links:
|
||||||
allow: Autoriser le lien
|
allow: Autoriser le lien
|
||||||
allow_provider: Autoriser l'éditeur
|
allow_provider: Autoriser l'éditeur
|
||||||
|
confirm_allow: Êtes-vous sûr de vouloir autoriser les liens sélectionnés ?
|
||||||
|
confirm_allow_provider: Êtes-vous sûr de vouloir autoriser les fournisseurs sélectionnés ?
|
||||||
|
confirm_disallow: Êtes-vous sûr de vouloir interdire les liens sélectionnés ?
|
||||||
|
confirm_disallow_provider: Êtes-vous sûr de vouloir interdire les fournisseurs sélectionnés ?
|
||||||
description_html: Ces liens sont actuellement énormément partagés par des comptes dont votre serveur voit les messages. Cela peut aider vos utilisateur⋅rice⋅s à découvrir ce qu'il se passe dans le monde. Aucun lien n'est publiquement affiché tant que vous n'avez pas approuvé le compte qui le publie. Vous pouvez également autoriser ou rejeter les liens individuellement.
|
description_html: Ces liens sont actuellement énormément partagés par des comptes dont votre serveur voit les messages. Cela peut aider vos utilisateur⋅rice⋅s à découvrir ce qu'il se passe dans le monde. Aucun lien n'est publiquement affiché tant que vous n'avez pas approuvé le compte qui le publie. Vous pouvez également autoriser ou rejeter les liens individuellement.
|
||||||
disallow: Interdire le lien
|
disallow: Interdire le lien
|
||||||
disallow_provider: Interdire l'éditeur
|
disallow_provider: Interdire l'éditeur
|
||||||
@ -1000,7 +1031,9 @@ fr:
|
|||||||
guide_link_text: Tout le monde peut y contribuer.
|
guide_link_text: Tout le monde peut y contribuer.
|
||||||
sensitive_content: Contenu sensible
|
sensitive_content: Contenu sensible
|
||||||
application_mailer:
|
application_mailer:
|
||||||
|
notification_preferences: Modification des préférences de la messagerie
|
||||||
salutation: "%{name},"
|
salutation: "%{name},"
|
||||||
|
settings: 'Modifier les préférences de la messagerie : %{link}'
|
||||||
unsubscribe: Se désabonner
|
unsubscribe: Se désabonner
|
||||||
view: 'Voir :'
|
view: 'Voir :'
|
||||||
view_profile: Voir le profil
|
view_profile: Voir le profil
|
||||||
@ -1020,6 +1053,7 @@ fr:
|
|||||||
hint_html: Encore une chose ! Nous avons besoin de confirmer que vous êtes un humain (c'est pour que nous puissions empêcher les spams !). Résolvez le CAPTCHA ci-dessous et cliquez sur "Continuer".
|
hint_html: Encore une chose ! Nous avons besoin de confirmer que vous êtes un humain (c'est pour que nous puissions empêcher les spams !). Résolvez le CAPTCHA ci-dessous et cliquez sur "Continuer".
|
||||||
title: Vérification de sécurité
|
title: Vérification de sécurité
|
||||||
confirmations:
|
confirmations:
|
||||||
|
awaiting_review: Votre adresse de messagerie est confirmée ! L'équipe de %{domain} est en train d'examiner votre inscription. Vous recevrez un e-mail si votre compte est approuvé !
|
||||||
awaiting_review_title: Votre inscription est en cours de validation
|
awaiting_review_title: Votre inscription est en cours de validation
|
||||||
clicking_this_link: cliquer sur ce lien
|
clicking_this_link: cliquer sur ce lien
|
||||||
login_link: vous connecter
|
login_link: vous connecter
|
||||||
@ -1027,6 +1061,7 @@ fr:
|
|||||||
redirect_to_app_html: Vous auriez dû être redirigé vers l’application <strong>%{app_name}</strong>. Si cela ne s’est pas produit, essayez de %{clicking_this_link} ou de revenir manuellement à l’application.
|
redirect_to_app_html: Vous auriez dû être redirigé vers l’application <strong>%{app_name}</strong>. Si cela ne s’est pas produit, essayez de %{clicking_this_link} ou de revenir manuellement à l’application.
|
||||||
registration_complete: Votre inscription sur %{domain} est désormais terminée !
|
registration_complete: Votre inscription sur %{domain} est désormais terminée !
|
||||||
welcome_title: Bienvenue, %{name} !
|
welcome_title: Bienvenue, %{name} !
|
||||||
|
wrong_email_hint: Si cette adresse de messagerie est incorrecte, vous pouvez la modifier dans vos paramètres de compte.
|
||||||
delete_account: Supprimer le compte
|
delete_account: Supprimer le compte
|
||||||
delete_account_html: Si vous désirez supprimer votre compte, vous pouvez <a href="%{path}">cliquer ici</a>. Il vous sera demandé de confirmer cette action.
|
delete_account_html: Si vous désirez supprimer votre compte, vous pouvez <a href="%{path}">cliquer ici</a>. Il vous sera demandé de confirmer cette action.
|
||||||
description:
|
description:
|
||||||
@ -1047,6 +1082,7 @@ fr:
|
|||||||
or_log_in_with: Ou authentifiez-vous avec
|
or_log_in_with: Ou authentifiez-vous avec
|
||||||
privacy_policy_agreement_html: J’ai lu et j’accepte la <a href="%{privacy_policy_path}" target="_blank">politique de confidentialité</a>
|
privacy_policy_agreement_html: J’ai lu et j’accepte la <a href="%{privacy_policy_path}" target="_blank">politique de confidentialité</a>
|
||||||
progress:
|
progress:
|
||||||
|
confirm: Confirmation de l'adresse mail
|
||||||
details: Vos infos
|
details: Vos infos
|
||||||
review: Notre avis
|
review: Notre avis
|
||||||
rules: Accepter les règles
|
rules: Accepter les règles
|
||||||
@ -1068,6 +1104,7 @@ fr:
|
|||||||
security: Sécurité
|
security: Sécurité
|
||||||
set_new_password: Définir le nouveau mot de passe
|
set_new_password: Définir le nouveau mot de passe
|
||||||
setup:
|
setup:
|
||||||
|
email_below_hint_html: Consultez votre dossier de courrier indésirable ou demandez-en un autre. Vous pouvez corriger votre adresse e-mail si elle est incorrecte.
|
||||||
email_settings_hint_html: Cliquez sur le lien que nous vous avons envoyé pour vérifier l’adresse %{email}. Nous vous attendons ici.
|
email_settings_hint_html: Cliquez sur le lien que nous vous avons envoyé pour vérifier l’adresse %{email}. Nous vous attendons ici.
|
||||||
link_not_received: Vous n'avez pas reçu de lien ?
|
link_not_received: Vous n'avez pas reçu de lien ?
|
||||||
new_confirmation_instructions_sent: Vous allez recevoir un nouvel e-mail avec le lien de confirmation dans quelques minutes !
|
new_confirmation_instructions_sent: Vous allez recevoir un nouvel e-mail avec le lien de confirmation dans quelques minutes !
|
||||||
@ -1081,6 +1118,7 @@ fr:
|
|||||||
title: Mettons les choses en place pour %{domain}.
|
title: Mettons les choses en place pour %{domain}.
|
||||||
status:
|
status:
|
||||||
account_status: État du compte
|
account_status: État du compte
|
||||||
|
confirming: En attente de la confirmation par courrier électronique.
|
||||||
functional: Votre compte est entièrement opérationnel.
|
functional: Votre compte est entièrement opérationnel.
|
||||||
pending: Votre demande est en attente d’examen par notre équipe. Cela peut prendre un certain temps. Vous recevrez un e-mail si votre demande est approuvée.
|
pending: Votre demande est en attente d’examen par notre équipe. Cela peut prendre un certain temps. Vous recevrez un e-mail si votre demande est approuvée.
|
||||||
redirecting_to: Votre compte est inactif car il est actuellement redirigé vers %{acct}.
|
redirecting_to: Votre compte est inactif car il est actuellement redirigé vers %{acct}.
|
||||||
@ -1126,6 +1164,8 @@ fr:
|
|||||||
caches: Le contenu mis en cache par d'autres serveurs peut persister
|
caches: Le contenu mis en cache par d'autres serveurs peut persister
|
||||||
data_removal: Vos messages et autres données seront définitivement supprimés
|
data_removal: Vos messages et autres données seront définitivement supprimés
|
||||||
email_change_html: Vous pouvez <a href="%{path}">modifier votre adresse e-mail</a> sans supprimer votre compte
|
email_change_html: Vous pouvez <a href="%{path}">modifier votre adresse e-mail</a> sans supprimer votre compte
|
||||||
|
email_contact_html: S'il ne vous est toujours pas parvenu, vous pouvez envoyer un message à <a href="mailto:%{email}">%{email}</a> pour obtenir de l'aide
|
||||||
|
email_reconfirmation_html: Dans le cas où vous n'auriez pas reçu l'email de confirmation, vous pouvez <a href="%{path}">en réclamer un nouveau</a>
|
||||||
irreversible: Vous ne pourrez pas restaurer ou réactiver votre compte
|
irreversible: Vous ne pourrez pas restaurer ou réactiver votre compte
|
||||||
more_details_html: Pour plus de détails, voir la <a href="%{terms_path}">politique de confidentialité</a>.
|
more_details_html: Pour plus de détails, voir la <a href="%{terms_path}">politique de confidentialité</a>.
|
||||||
username_available: Votre nom d’utilisateur·rice sera à nouveau disponible
|
username_available: Votre nom d’utilisateur·rice sera à nouveau disponible
|
||||||
|
@ -404,6 +404,7 @@ ja:
|
|||||||
allow_registrations_with_approval: 承認制での新規登録を可能にする
|
allow_registrations_with_approval: 承認制での新規登録を可能にする
|
||||||
attempts_over_week:
|
attempts_over_week:
|
||||||
other: 先週は%{count}回サインアップが試みられました
|
other: 先週は%{count}回サインアップが試みられました
|
||||||
|
created_msg: メールドメインブロックを追加しました
|
||||||
delete: 消去
|
delete: 消去
|
||||||
dns:
|
dns:
|
||||||
types:
|
types:
|
||||||
@ -412,8 +413,12 @@ ja:
|
|||||||
new:
|
new:
|
||||||
create: ドメインを追加
|
create: ドメインを追加
|
||||||
resolve: ドメイン解決
|
resolve: ドメイン解決
|
||||||
|
title: 新規メールドメインブロック
|
||||||
|
no_email_domain_block_selected: 変更対象のメールドメインブロックを選択してください
|
||||||
not_permitted: 権限がありません
|
not_permitted: 権限がありません
|
||||||
|
resolved_dns_records_hint_html: 入力されたドメイン名のMXレコードから以下のドメインが解決されました。MXレコードが指すドメインはメールの送受信において重要な役割をもっています。MXレコードのドメインをブロックすると、見た目のドメインが異なるメールアドレスからの登録であっても、そのドメイン名から解決されるMXレコードのドメインが同じ場合はブロックの対象になります。<strong>大手のメールプロバイダをブロックしないように注意してください。</strong>
|
||||||
resolved_through_html: "%{domain}を通して解決しました"
|
resolved_through_html: "%{domain}を通して解決しました"
|
||||||
|
title: メールドメインブロック
|
||||||
export_domain_allows:
|
export_domain_allows:
|
||||||
new:
|
new:
|
||||||
title: ドメイン許可をインポート
|
title: ドメイン許可をインポート
|
||||||
@ -900,6 +905,7 @@ ja:
|
|||||||
usage_comparison: 今日は%{today}回、昨日は%{yesterday}回使用されました。
|
usage_comparison: 今日は%{today}回、昨日は%{yesterday}回使用されました。
|
||||||
used_by_over_week:
|
used_by_over_week:
|
||||||
other: 週間%{count}人に使用されました
|
other: 週間%{count}人に使用されました
|
||||||
|
title: おすすめとトレンド
|
||||||
trending: トレンド
|
trending: トレンド
|
||||||
warning_presets:
|
warning_presets:
|
||||||
add_new: 追加
|
add_new: 追加
|
||||||
@ -1340,6 +1346,16 @@ ja:
|
|||||||
unsubscribe:
|
unsubscribe:
|
||||||
action: 購読を解除する
|
action: 購読を解除する
|
||||||
complete: 購読を解除しました
|
complete: 購読を解除しました
|
||||||
|
confirmation_html: Mastodon (%{domain}) による %{email} 宛の「%{type}」の配信を停止します。再度必要になった場合は<a href="%{settings_path}">メール通知の設定</a>からいつでも再開できます。
|
||||||
|
emails:
|
||||||
|
notification_emails:
|
||||||
|
favourite: お気に入りの通知メール
|
||||||
|
follow: フォローの通知メール
|
||||||
|
follow_request: フォローリクエストの通知メール
|
||||||
|
mention: 返信の通知メール
|
||||||
|
reblog: ブーストの通知メール
|
||||||
|
resubscribe_html: 誤って解除した場合は<a href="%{settings_path}">メール通知の設定</a>から再購読できます。
|
||||||
|
success_html: Mastodon (%{domain}) から %{email} への「%{type}」の配信が停止されました。
|
||||||
title: 購読の解除
|
title: 購読の解除
|
||||||
media_attachments:
|
media_attachments:
|
||||||
validations:
|
validations:
|
||||||
@ -1578,6 +1594,7 @@ ja:
|
|||||||
import: データのインポート
|
import: データのインポート
|
||||||
import_and_export: インポート・エクスポート
|
import_and_export: インポート・エクスポート
|
||||||
migrate: アカウントの引っ越し
|
migrate: アカウントの引っ越し
|
||||||
|
notifications: メール通知
|
||||||
preferences: ユーザー設定
|
preferences: ユーザー設定
|
||||||
profile: プロフィール
|
profile: プロフィール
|
||||||
relationships: フォロー・フォロワー
|
relationships: フォロー・フォロワー
|
||||||
|
@ -505,8 +505,8 @@ nl:
|
|||||||
dashboard:
|
dashboard:
|
||||||
instance_accounts_dimension: Meest door ons gevolgde accounts
|
instance_accounts_dimension: Meest door ons gevolgde accounts
|
||||||
instance_accounts_measure: opgeslagen accounts
|
instance_accounts_measure: opgeslagen accounts
|
||||||
instance_followers_measure: daar ons daar gevolgd
|
instance_followers_measure: onze volgens daar
|
||||||
instance_follows_measure: door hun hier gevolgd
|
instance_follows_measure: hun volgers hier
|
||||||
instance_languages_dimension: Meest actieve talen
|
instance_languages_dimension: Meest actieve talen
|
||||||
instance_media_attachments_measure: opgeslagen mediabestanden
|
instance_media_attachments_measure: opgeslagen mediabestanden
|
||||||
instance_reports_measure: rapportages over hun
|
instance_reports_measure: rapportages over hun
|
||||||
@ -898,7 +898,7 @@ nl:
|
|||||||
name: Naam
|
name: Naam
|
||||||
newest: Nieuwste
|
newest: Nieuwste
|
||||||
oldest: Oudste
|
oldest: Oudste
|
||||||
open: Openbaar bekijken
|
open: In het openbaar bekijken
|
||||||
reset: Opnieuw
|
reset: Opnieuw
|
||||||
review: Status beoordelen
|
review: Status beoordelen
|
||||||
search: Zoeken
|
search: Zoeken
|
||||||
|
@ -82,6 +82,7 @@ fr-CA:
|
|||||||
closed_registrations_message: Affiché lorsque les inscriptions sont fermées
|
closed_registrations_message: Affiché lorsque les inscriptions sont fermées
|
||||||
custom_css: Vous pouvez appliquer des styles personnalisés sur la version Web de Mastodon.
|
custom_css: Vous pouvez appliquer des styles personnalisés sur la version Web de Mastodon.
|
||||||
mascot: Remplace l'illustration dans l'interface Web avancée.
|
mascot: Remplace l'illustration dans l'interface Web avancée.
|
||||||
|
media_cache_retention_period: Les fichiers médias des messages publiés par des utilisateurs distants sont mis en cache sur votre serveur. Lorsque cette valeur est positive, les médias sont supprimés au terme du nombre de jours spécifié. Si les données des médias sont demandées après leur suppression, elles seront téléchargées à nouveau, dans la mesure où le contenu source est toujours disponible. En raison des restrictions concernant la fréquence à laquelle les cartes de prévisualisation des liens interrogent des sites tiers, il est recommandé de fixer cette valeur à au moins 14 jours, faute de quoi les cartes de prévisualisation des liens ne seront pas mises à jour à la demande avant cette échéance.
|
||||||
peers_api_enabled: Une liste de noms de domaine que ce serveur a rencontrés dans le fédiverse. Aucune donnée indiquant si vous vous fédérez ou non avec un serveur particulier n'est incluse ici, seulement l'information que votre serveur connaît un autre serveur. Cette option est utilisée par les services qui collectent des statistiques sur la fédération en général.
|
peers_api_enabled: Une liste de noms de domaine que ce serveur a rencontrés dans le fédiverse. Aucune donnée indiquant si vous vous fédérez ou non avec un serveur particulier n'est incluse ici, seulement l'information que votre serveur connaît un autre serveur. Cette option est utilisée par les services qui collectent des statistiques sur la fédération en général.
|
||||||
profile_directory: L'annuaire des profils répertorie tous les utilisateurs qui ont opté pour être découverts.
|
profile_directory: L'annuaire des profils répertorie tous les utilisateurs qui ont opté pour être découverts.
|
||||||
require_invite_text: Lorsque les inscriptions nécessitent une approbation manuelle, rendre le texte de l’invitation "Pourquoi voulez-vous vous inscrire ?" obligatoire plutôt que facultatif
|
require_invite_text: Lorsque les inscriptions nécessitent une approbation manuelle, rendre le texte de l’invitation "Pourquoi voulez-vous vous inscrire ?" obligatoire plutôt que facultatif
|
||||||
|
@ -82,6 +82,7 @@ fr:
|
|||||||
closed_registrations_message: Affiché lorsque les inscriptions sont fermées
|
closed_registrations_message: Affiché lorsque les inscriptions sont fermées
|
||||||
custom_css: Vous pouvez appliquer des styles personnalisés sur la version Web de Mastodon.
|
custom_css: Vous pouvez appliquer des styles personnalisés sur la version Web de Mastodon.
|
||||||
mascot: Remplace l'illustration dans l'interface Web avancée.
|
mascot: Remplace l'illustration dans l'interface Web avancée.
|
||||||
|
media_cache_retention_period: Les fichiers médias des messages publiés par des utilisateurs distants sont mis en cache sur votre serveur. Lorsque cette valeur est positive, les médias sont supprimés au terme du nombre de jours spécifié. Si les données des médias sont demandées après leur suppression, elles seront téléchargées à nouveau, dans la mesure où le contenu source est toujours disponible. En raison des restrictions concernant la fréquence à laquelle les cartes de prévisualisation des liens interrogent des sites tiers, il est recommandé de fixer cette valeur à au moins 14 jours, faute de quoi les cartes de prévisualisation des liens ne seront pas mises à jour à la demande avant cette échéance.
|
||||||
peers_api_enabled: Une liste de noms de domaine que ce serveur a rencontrés dans le fédiverse. Aucune donnée indiquant si vous vous fédérez ou non avec un serveur particulier n'est incluse ici, seulement l'information que votre serveur connaît un autre serveur. Cette option est utilisée par les services qui collectent des statistiques sur la fédération en général.
|
peers_api_enabled: Une liste de noms de domaine que ce serveur a rencontrés dans le fédiverse. Aucune donnée indiquant si vous vous fédérez ou non avec un serveur particulier n'est incluse ici, seulement l'information que votre serveur connaît un autre serveur. Cette option est utilisée par les services qui collectent des statistiques sur la fédération en général.
|
||||||
profile_directory: L'annuaire des profils répertorie tous les comptes qui choisi d'être découvrables.
|
profile_directory: L'annuaire des profils répertorie tous les comptes qui choisi d'être découvrables.
|
||||||
require_invite_text: Lorsque les inscriptions nécessitent une approbation manuelle, rendre le texte de l’invitation "Pourquoi voulez-vous vous inscrire ?" obligatoire plutôt que facultatif
|
require_invite_text: Lorsque les inscriptions nécessitent une approbation manuelle, rendre le texte de l’invitation "Pourquoi voulez-vous vous inscrire ?" obligatoire plutôt que facultatif
|
||||||
|
@ -157,7 +157,7 @@ module Mastodon::CLI
|
|||||||
when :filesystem
|
when :filesystem
|
||||||
require 'find'
|
require 'find'
|
||||||
|
|
||||||
root_path = ENV.fetch('PAPERCLIP_ROOT_PATH', File.join(':rails_root', 'public', 'system')).gsub(':rails_root', Rails.root.to_s)
|
root_path = Rails.configuration.x.file_storage_root_path.gsub(':rails_root', Rails.root.to_s)
|
||||||
|
|
||||||
Find.find(File.join(*[root_path, prefix].compact)) do |path|
|
Find.find(File.join(*[root_path, prefix].compact)) do |path|
|
||||||
next if File.directory?(path)
|
next if File.directory?(path)
|
||||||
|
@ -45,7 +45,7 @@
|
|||||||
"@formatjs/intl-pluralrules": "^5.2.2",
|
"@formatjs/intl-pluralrules": "^5.2.2",
|
||||||
"@gamestdio/websocket": "^0.3.2",
|
"@gamestdio/websocket": "^0.3.2",
|
||||||
"@github/webauthn-json": "^2.1.1",
|
"@github/webauthn-json": "^2.1.1",
|
||||||
"@rails/ujs": "7.1.3",
|
"@rails/ujs": "7.1.400",
|
||||||
"@reduxjs/toolkit": "^2.0.1",
|
"@reduxjs/toolkit": "^2.0.1",
|
||||||
"@svgr/webpack": "^5.5.0",
|
"@svgr/webpack": "^5.5.0",
|
||||||
"arrow-key-navigation": "^1.2.0",
|
"arrow-key-navigation": "^1.2.0",
|
||||||
|
@ -1,102 +0,0 @@
|
|||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
describe Admin::AnnouncementsController do
|
|
||||||
render_views
|
|
||||||
|
|
||||||
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
sign_in user, scope: :user
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'GET #index' do
|
|
||||||
it 'returns http success' do
|
|
||||||
get :index
|
|
||||||
|
|
||||||
expect(response).to have_http_status(:success)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'GET #new' do
|
|
||||||
it 'returns http success and renders new' do
|
|
||||||
get :new
|
|
||||||
|
|
||||||
expect(response).to have_http_status(:success)
|
|
||||||
expect(response).to render_template(:new)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'GET #edit' do
|
|
||||||
let(:announcement) { Fabricate(:announcement) }
|
|
||||||
|
|
||||||
it 'returns http success and renders edit' do
|
|
||||||
get :edit, params: { id: announcement.id }
|
|
||||||
|
|
||||||
expect(response).to have_http_status(:success)
|
|
||||||
expect(response).to render_template(:edit)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'POST #create' do
|
|
||||||
it 'creates a new announcement and redirects' do
|
|
||||||
expect do
|
|
||||||
post :create, params: { announcement: { text: 'The announcement message.' } }
|
|
||||||
end.to change(Announcement, :count).by(1)
|
|
||||||
|
|
||||||
expect(response).to redirect_to(admin_announcements_path)
|
|
||||||
expect(flash.notice).to match(I18n.t('admin.announcements.published_msg'))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'PUT #update' do
|
|
||||||
let(:announcement) { Fabricate(:announcement, text: 'Original text') }
|
|
||||||
|
|
||||||
it 'updates an announcement and redirects' do
|
|
||||||
put :update, params: { id: announcement.id, announcement: { text: 'Updated text.' } }
|
|
||||||
|
|
||||||
expect(response).to redirect_to(admin_announcements_path)
|
|
||||||
expect(flash.notice).to match(I18n.t('admin.announcements.updated_msg'))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'DELETE #destroy' do
|
|
||||||
let!(:announcement) { Fabricate(:announcement, text: 'Original text') }
|
|
||||||
|
|
||||||
it 'destroys an announcement and redirects' do
|
|
||||||
expect do
|
|
||||||
delete :destroy, params: { id: announcement.id }
|
|
||||||
end.to change(Announcement, :count).by(-1)
|
|
||||||
|
|
||||||
expect(response).to redirect_to(admin_announcements_path)
|
|
||||||
expect(flash.notice).to match(I18n.t('admin.announcements.destroyed_msg'))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'POST #publish' do
|
|
||||||
subject { post :publish, params: { id: announcement.id } }
|
|
||||||
|
|
||||||
let(:announcement) { Fabricate(:announcement, published_at: nil) }
|
|
||||||
|
|
||||||
it 'marks announcement published' do
|
|
||||||
subject
|
|
||||||
|
|
||||||
expect(announcement.reload).to be_published
|
|
||||||
expect(response).to redirect_to admin_announcements_path
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'POST #unpublish' do
|
|
||||||
subject { post :unpublish, params: { id: announcement.id } }
|
|
||||||
|
|
||||||
let(:announcement) { Fabricate(:announcement, published_at: 4.days.ago) }
|
|
||||||
|
|
||||||
it 'marks announcement as not published' do
|
|
||||||
subject
|
|
||||||
|
|
||||||
expect(announcement.reload).to_not be_published
|
|
||||||
expect(response).to redirect_to admin_announcements_path
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
@ -1,35 +0,0 @@
|
|||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
describe Admin::ResetsController do
|
|
||||||
render_views
|
|
||||||
|
|
||||||
subject { post :create, params: { account_id: account.id } }
|
|
||||||
|
|
||||||
let(:account) { Fabricate(:account) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
sign_in Fabricate(:user, role: UserRole.find_by(name: 'Admin')), scope: :user
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'POST #create', :inline_jobs do
|
|
||||||
it 'redirects to admin accounts page' do
|
|
||||||
emails = capture_emails { subject }
|
|
||||||
|
|
||||||
expect(emails.size)
|
|
||||||
.to eq(2)
|
|
||||||
expect(emails).to have_attributes(
|
|
||||||
first: have_attributes(
|
|
||||||
to: include(account.user.email),
|
|
||||||
subject: I18n.t('devise.mailer.password_change.subject')
|
|
||||||
),
|
|
||||||
last: have_attributes(
|
|
||||||
to: include(account.user.email),
|
|
||||||
subject: I18n.t('devise.mailer.reset_password_instructions.subject')
|
|
||||||
)
|
|
||||||
)
|
|
||||||
expect(response).to redirect_to(admin_account_path(account.id))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
@ -1,54 +0,0 @@
|
|||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
RSpec.describe InstanceActorsController do
|
|
||||||
describe 'GET #show' do
|
|
||||||
context 'with JSON' do
|
|
||||||
let(:format) { 'json' }
|
|
||||||
|
|
||||||
shared_examples 'shared behavior' do
|
|
||||||
before do
|
|
||||||
get :show, params: { format: format }
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'returns http success with correct media type and body' do
|
|
||||||
expect(response)
|
|
||||||
.to have_http_status(200)
|
|
||||||
.and have_attributes(
|
|
||||||
media_type: eq('application/activity+json')
|
|
||||||
)
|
|
||||||
|
|
||||||
expect(body_as_json)
|
|
||||||
.to include(:id, :type, :preferredUsername, :inbox, :publicKey, :inbox, :outbox, :url)
|
|
||||||
end
|
|
||||||
|
|
||||||
it_behaves_like 'cacheable response'
|
|
||||||
end
|
|
||||||
|
|
||||||
before do
|
|
||||||
allow(controller).to receive(:authorized_fetch_mode?).and_return(authorized_fetch_mode)
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'without authorized fetch mode' do
|
|
||||||
let(:authorized_fetch_mode) { false }
|
|
||||||
|
|
||||||
it_behaves_like 'shared behavior'
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with authorized fetch mode' do
|
|
||||||
let(:authorized_fetch_mode) { true }
|
|
||||||
|
|
||||||
it_behaves_like 'shared behavior'
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with a suspended instance actor' do
|
|
||||||
let(:authorized_fetch_mode) { false }
|
|
||||||
|
|
||||||
before { Account.representative.update(suspended_at: 10.days.ago) }
|
|
||||||
|
|
||||||
it_behaves_like 'shared behavior'
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
@ -1,65 +0,0 @@
|
|||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
describe MediaController do
|
|
||||||
render_views
|
|
||||||
|
|
||||||
describe '#show' do
|
|
||||||
it 'raises when shortcode cant be found' do
|
|
||||||
get :show, params: { id: 'missing' }
|
|
||||||
|
|
||||||
expect(response).to have_http_status(404)
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when the media attachment has a shortcode' do
|
|
||||||
it 'redirects to the file url when attached to a status' do
|
|
||||||
status = Fabricate(:status)
|
|
||||||
media_attachment = Fabricate(:media_attachment, status: status, shortcode: 'OI6IgDzG-nYTqvDQ994')
|
|
||||||
get :show, params: { id: media_attachment.to_param }
|
|
||||||
|
|
||||||
expect(response).to redirect_to(media_attachment.file.url(:original))
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'responds with missing when there is not an attached status' do
|
|
||||||
media_attachment = Fabricate(:media_attachment, status: nil, shortcode: 'OI6IgDzG-nYTqvDQ994')
|
|
||||||
get :show, params: { id: media_attachment.to_param }
|
|
||||||
|
|
||||||
expect(response).to have_http_status(404)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'raises when not permitted to view' do
|
|
||||||
status = Fabricate(:status, visibility: :direct)
|
|
||||||
media_attachment = Fabricate(:media_attachment, status: status, shortcode: 'OI6IgDzG-nYTqvDQ994')
|
|
||||||
get :show, params: { id: media_attachment.to_param }
|
|
||||||
|
|
||||||
expect(response).to have_http_status(404)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when the media attachment has no shortcode' do
|
|
||||||
it 'redirects to the file url when attached to a status' do
|
|
||||||
status = Fabricate(:status)
|
|
||||||
media_attachment = Fabricate(:media_attachment, status: status)
|
|
||||||
get :show, params: { id: media_attachment.to_param }
|
|
||||||
|
|
||||||
expect(response).to redirect_to(media_attachment.file.url(:original))
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'responds with missing when there is not an attached status' do
|
|
||||||
media_attachment = Fabricate(:media_attachment, status: nil)
|
|
||||||
get :show, params: { id: media_attachment.to_param }
|
|
||||||
|
|
||||||
expect(response).to have_http_status(404)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'raises when not permitted to view' do
|
|
||||||
status = Fabricate(:status, visibility: :direct)
|
|
||||||
media_attachment = Fabricate(:media_attachment, status: status)
|
|
||||||
get :show, params: { id: media_attachment.to_param }
|
|
||||||
|
|
||||||
expect(response).to have_http_status(404)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
@ -1,22 +0,0 @@
|
|||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
describe SharesController do
|
|
||||||
render_views
|
|
||||||
|
|
||||||
let(:user) { Fabricate(:user) }
|
|
||||||
|
|
||||||
before { sign_in user }
|
|
||||||
|
|
||||||
describe 'GET #show' do
|
|
||||||
subject(:body_classes) { assigns(:body_classes) }
|
|
||||||
|
|
||||||
before { get :show, params: { title: 'test title', text: 'test text', url: 'url1 url2' } }
|
|
||||||
|
|
||||||
it 'returns http success' do
|
|
||||||
expect(response).to have_http_status 200
|
|
||||||
expect(body_classes).to eq 'modal-layout compose-standalone'
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
@ -35,6 +35,17 @@ RSpec.describe 'Notifications' do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'with grouped_types parameter' do
|
||||||
|
let(:params) { { grouped_types: %w(reblog) } }
|
||||||
|
|
||||||
|
it 'returns expected notifications count' do
|
||||||
|
subject
|
||||||
|
|
||||||
|
expect(response).to have_http_status(200)
|
||||||
|
expect(body_as_json[:count]).to eq 5
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context 'with a read marker' do
|
context 'with a read marker' do
|
||||||
before do
|
before do
|
||||||
id = user.account.notifications.browserable.order(id: :desc).offset(2).first.id
|
id = user.account.notifications.browserable.order(id: :desc).offset(2).first.id
|
||||||
@ -114,6 +125,38 @@ RSpec.describe 'Notifications' do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'with grouped_types param' do
|
||||||
|
let(:params) { { grouped_types: %w(reblog) } }
|
||||||
|
|
||||||
|
it 'returns everything, but does not group favourites' do
|
||||||
|
subject
|
||||||
|
|
||||||
|
expect(response).to have_http_status(200)
|
||||||
|
expect(body_as_json[:notification_groups]).to contain_exactly(
|
||||||
|
a_hash_including(
|
||||||
|
type: 'reblog',
|
||||||
|
sample_account_ids: [bob.account_id.to_s]
|
||||||
|
),
|
||||||
|
a_hash_including(
|
||||||
|
type: 'mention',
|
||||||
|
sample_account_ids: [bob.account_id.to_s]
|
||||||
|
),
|
||||||
|
a_hash_including(
|
||||||
|
type: 'favourite',
|
||||||
|
sample_account_ids: [bob.account_id.to_s]
|
||||||
|
),
|
||||||
|
a_hash_including(
|
||||||
|
type: 'favourite',
|
||||||
|
sample_account_ids: [tom.account_id.to_s]
|
||||||
|
),
|
||||||
|
a_hash_including(
|
||||||
|
type: 'follow',
|
||||||
|
sample_account_ids: [bob.account_id.to_s]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context 'with exclude_types param' do
|
context 'with exclude_types param' do
|
||||||
let(:params) { { exclude_types: %w(mention) } }
|
let(:params) { { exclude_types: %w(mention) } }
|
||||||
|
|
||||||
|
71
spec/requests/instance_actor_spec.rb
Normal file
71
spec/requests/instance_actor_spec.rb
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe 'Instance actor endpoint' do
|
||||||
|
describe 'GET /actor' do
|
||||||
|
before do
|
||||||
|
integration_session.https! # TODO: Move to global rails_helper for all request specs?
|
||||||
|
host! Rails.configuration.x.local_domain # TODO: Move to global rails_helper for all request specs?
|
||||||
|
end
|
||||||
|
|
||||||
|
let!(:original_federation_mode) { Rails.configuration.x.limited_federation_mode }
|
||||||
|
|
||||||
|
shared_examples 'instance actor endpoint' do
|
||||||
|
before { get instance_actor_path(format: :json) }
|
||||||
|
|
||||||
|
it 'returns http success with correct media type and body' do
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(200)
|
||||||
|
expect(response.content_type)
|
||||||
|
.to start_with('application/activity+json')
|
||||||
|
expect(body_as_json)
|
||||||
|
.to include(
|
||||||
|
id: instance_actor_url,
|
||||||
|
type: 'Application',
|
||||||
|
preferredUsername: 'mastodon.internal',
|
||||||
|
inbox: instance_actor_inbox_url,
|
||||||
|
outbox: instance_actor_outbox_url,
|
||||||
|
publicKey: include(
|
||||||
|
id: instance_actor_url(anchor: 'main-key')
|
||||||
|
),
|
||||||
|
url: about_more_url(instance_actor: true)
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
it_behaves_like 'cacheable response'
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with limited federation mode disabled' do
|
||||||
|
before { Rails.configuration.x.limited_federation_mode = false }
|
||||||
|
after { Rails.configuration.x.limited_federation_mode = original_federation_mode }
|
||||||
|
|
||||||
|
it_behaves_like 'instance actor endpoint'
|
||||||
|
|
||||||
|
context 'with a disabled instance actor' do
|
||||||
|
before { disable_instance_actor }
|
||||||
|
|
||||||
|
it_behaves_like 'instance actor endpoint'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with limited federation mode enabled' do
|
||||||
|
before { Rails.configuration.x.limited_federation_mode = true }
|
||||||
|
after { Rails.configuration.x.limited_federation_mode = original_federation_mode }
|
||||||
|
|
||||||
|
it_behaves_like 'instance actor endpoint'
|
||||||
|
|
||||||
|
context 'with a disabled instance actor' do
|
||||||
|
before { disable_instance_actor }
|
||||||
|
|
||||||
|
it_behaves_like 'instance actor endpoint'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def disable_instance_actor
|
||||||
|
Account
|
||||||
|
.representative
|
||||||
|
.update(suspended_at: 10.days.ago)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
90
spec/requests/media_spec.rb
Normal file
90
spec/requests/media_spec.rb
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe 'Media' do
|
||||||
|
describe 'GET /media/:id' do
|
||||||
|
context 'when the media attachment does not exist' do
|
||||||
|
it 'responds with not found' do
|
||||||
|
get '/media/missing'
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(404)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when the media attachment has a shortcode' do
|
||||||
|
let(:media_attachment) { Fabricate :media_attachment, status: status, shortcode: 'OI6IgDzG-nYTqvDQ994' }
|
||||||
|
|
||||||
|
context 'when attached to a status' do
|
||||||
|
let(:status) { Fabricate :status }
|
||||||
|
|
||||||
|
it 'redirects to file url' do
|
||||||
|
get medium_path(id: media_attachment.shortcode)
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to redirect_to(media_attachment.file.url(:original))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when not attached to a status' do
|
||||||
|
let(:status) { nil }
|
||||||
|
|
||||||
|
it 'responds with not found' do
|
||||||
|
get medium_path(id: media_attachment.shortcode)
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(404)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when attached to non-public status' do
|
||||||
|
let(:status) { Fabricate :status, visibility: :direct }
|
||||||
|
|
||||||
|
it 'responds with not found' do
|
||||||
|
get medium_path(id: media_attachment.shortcode)
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(404)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when the media attachment does not have a shortcode' do
|
||||||
|
let(:media_attachment) { Fabricate :media_attachment, status: status, shortcode: nil }
|
||||||
|
|
||||||
|
context 'when attached to a status' do
|
||||||
|
let(:status) { Fabricate :status }
|
||||||
|
|
||||||
|
it 'redirects to file url' do
|
||||||
|
get medium_path(id: media_attachment.id)
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to redirect_to(media_attachment.file.url(:original))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when not attached to a status' do
|
||||||
|
let(:status) { nil }
|
||||||
|
|
||||||
|
it 'responds with not found' do
|
||||||
|
get medium_path(id: media_attachment.id)
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(404)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when attached to non-public status' do
|
||||||
|
let(:status) { Fabricate :status, visibility: :direct }
|
||||||
|
|
||||||
|
it 'responds with not found' do
|
||||||
|
get medium_path(id: media_attachment.id)
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(404)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
134
spec/system/admin/announcements_spec.rb
Normal file
134
spec/system/admin/announcements_spec.rb
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
describe 'Admin::Announcements' do
|
||||||
|
include ActionView::RecordIdentifier
|
||||||
|
|
||||||
|
describe 'Viewing announcements' do
|
||||||
|
it 'can view a list of existing announcements' do
|
||||||
|
announcement = Fabricate :announcement, text: 'Test Announcement'
|
||||||
|
sign_in admin_user
|
||||||
|
visit admin_announcements_path
|
||||||
|
|
||||||
|
within css_id(announcement) do
|
||||||
|
expect(page)
|
||||||
|
.to have_content(announcement.text)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'Creating announcements' do
|
||||||
|
it 'create a new announcement' do
|
||||||
|
sign_in admin_user
|
||||||
|
visit new_admin_announcement_path
|
||||||
|
|
||||||
|
fill_in text_label,
|
||||||
|
with: 'Announcement text'
|
||||||
|
|
||||||
|
expect { submit_form }
|
||||||
|
.to change(Announcement, :count).by(1)
|
||||||
|
expect(page)
|
||||||
|
.to have_content(I18n.t('admin.announcements.published_msg'))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'Updating announcements' do
|
||||||
|
it 'updates an existing announcement' do
|
||||||
|
announcement = Fabricate :announcement, text: 'Test Announcement'
|
||||||
|
sign_in admin_user
|
||||||
|
visit admin_announcements_path
|
||||||
|
|
||||||
|
within css_id(announcement) do
|
||||||
|
click_on announcement.text
|
||||||
|
end
|
||||||
|
|
||||||
|
fill_in text_label,
|
||||||
|
with: 'Announcement text'
|
||||||
|
save_changes
|
||||||
|
|
||||||
|
expect(page)
|
||||||
|
.to have_content(I18n.t('admin.announcements.updated_msg'))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'Deleting announcements' do
|
||||||
|
it 'deletes an existing announcement' do
|
||||||
|
announcement = Fabricate :announcement, text: 'Test Announcement'
|
||||||
|
sign_in admin_user
|
||||||
|
visit admin_announcements_path
|
||||||
|
|
||||||
|
expect { delete_announcement(announcement) }
|
||||||
|
.to change(Announcement, :count).by(-1)
|
||||||
|
|
||||||
|
expect(page)
|
||||||
|
.to have_content(I18n.t('admin.announcements.destroyed_msg'))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'Publishing announcements' do
|
||||||
|
it 'publishes an existing announcement' do
|
||||||
|
announcement = Fabricate :announcement, published: false, scheduled_at: 10.days.from_now
|
||||||
|
sign_in admin_user
|
||||||
|
visit admin_announcements_path
|
||||||
|
|
||||||
|
expect { publish_announcement(announcement) }
|
||||||
|
.to change { announcement.reload.published? }.to(true)
|
||||||
|
|
||||||
|
expect(page)
|
||||||
|
.to have_content(I18n.t('admin.announcements.published_msg'))
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'unpublishes an existing announcement' do
|
||||||
|
announcement = Fabricate :announcement, published: true
|
||||||
|
sign_in admin_user
|
||||||
|
visit admin_announcements_path
|
||||||
|
|
||||||
|
expect { unpublish_announcement(announcement) }
|
||||||
|
.to change { announcement.reload.published? }.to(false)
|
||||||
|
|
||||||
|
expect(page)
|
||||||
|
.to have_content(I18n.t('admin.announcements.unpublished_msg'))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def css_id(record)
|
||||||
|
"##{dom_id(record)}" # TODO: Extract to system spec helper?
|
||||||
|
end
|
||||||
|
|
||||||
|
def publish_announcement(announcement)
|
||||||
|
within css_id(announcement) do
|
||||||
|
click_on I18n.t('admin.announcements.publish')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def unpublish_announcement(announcement)
|
||||||
|
within css_id(announcement) do
|
||||||
|
click_on I18n.t('admin.announcements.unpublish')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def delete_announcement(announcement)
|
||||||
|
within css_id(announcement) do
|
||||||
|
click_on I18n.t('generic.delete')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def save_changes
|
||||||
|
click_on I18n.t('generic.save_changes')
|
||||||
|
end
|
||||||
|
|
||||||
|
def submit_form
|
||||||
|
click_on I18n.t('admin.announcements.new.create')
|
||||||
|
end
|
||||||
|
|
||||||
|
def text_label
|
||||||
|
I18n.t('simple_form.labels.announcement.text')
|
||||||
|
end
|
||||||
|
|
||||||
|
def admin_user
|
||||||
|
Fabricate(:user, role: UserRole.find_by(name: 'Admin'))
|
||||||
|
end
|
||||||
|
end
|
45
spec/system/admin/reset_spec.rb
Normal file
45
spec/system/admin/reset_spec.rb
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
describe 'Admin::Reset' do
|
||||||
|
it 'Resets password for account user' do
|
||||||
|
account = Fabricate :account
|
||||||
|
sign_in admin_user
|
||||||
|
visit admin_account_path(account.id)
|
||||||
|
|
||||||
|
emails = capture_emails do
|
||||||
|
expect { submit_reset }
|
||||||
|
.to change(Admin::ActionLog.where(target: account.user), :count).by(1)
|
||||||
|
end
|
||||||
|
|
||||||
|
expect(emails.first)
|
||||||
|
.to be_present
|
||||||
|
.and(deliver_to(account.user.email))
|
||||||
|
.and(have_subject(password_change_subject))
|
||||||
|
|
||||||
|
expect(emails.last)
|
||||||
|
.to be_present
|
||||||
|
.and(deliver_to(account.user.email))
|
||||||
|
.and(have_subject(reset_instructions_subject))
|
||||||
|
|
||||||
|
expect(page)
|
||||||
|
.to have_content(account.username)
|
||||||
|
end
|
||||||
|
|
||||||
|
def admin_user
|
||||||
|
Fabricate(:user, role: UserRole.find_by(name: 'Admin'))
|
||||||
|
end
|
||||||
|
|
||||||
|
def submit_reset
|
||||||
|
click_on I18n.t('admin.accounts.reset_password')
|
||||||
|
end
|
||||||
|
|
||||||
|
def password_change_subject
|
||||||
|
I18n.t('devise.mailer.password_change.subject')
|
||||||
|
end
|
||||||
|
|
||||||
|
def reset_instructions_subject
|
||||||
|
I18n.t('devise.mailer.reset_password_instructions.subject')
|
||||||
|
end
|
||||||
|
end
|
@ -2,32 +2,45 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe 'ShareEntrypoint', :js, :streaming do
|
describe 'Share page', :js, :streaming do
|
||||||
include ProfileStories
|
include ProfileStories
|
||||||
|
|
||||||
subject { page }
|
|
||||||
|
|
||||||
let(:email) { 'test@example.com' }
|
let(:email) { 'test@example.com' }
|
||||||
let(:password) { 'password' }
|
let(:password) { 'password' }
|
||||||
let(:confirmed_at) { Time.zone.now }
|
let(:confirmed_at) { Time.zone.now }
|
||||||
let(:finished_onboarding) { true }
|
let(:finished_onboarding) { true }
|
||||||
|
|
||||||
before do
|
before { as_a_logged_in_user }
|
||||||
as_a_logged_in_user
|
|
||||||
|
it 'allows posting a new status' do
|
||||||
visit share_path
|
visit share_path
|
||||||
|
|
||||||
|
expect(page)
|
||||||
|
.to have_css('.modal-layout__mastodon')
|
||||||
|
.and have_css('div#mastodon-compose')
|
||||||
|
.and have_css('.compose-form__submit')
|
||||||
|
|
||||||
|
fill_in_form
|
||||||
|
|
||||||
|
expect(page)
|
||||||
|
.to have_css('.notification-bar-message', text: translations['compose.published.body'])
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'can be used to post a new status' do
|
def fill_in_form
|
||||||
expect(subject).to have_css('div#mastodon-compose')
|
|
||||||
expect(subject).to have_css('.compose-form__submit')
|
|
||||||
|
|
||||||
status_text = 'This is a new status!'
|
|
||||||
|
|
||||||
within('.compose-form') do
|
within('.compose-form') do
|
||||||
fill_in "What's on your mind?", with: status_text
|
fill_in translations['compose_form.placeholder'],
|
||||||
click_on 'Post'
|
with: 'This is a new status!'
|
||||||
|
click_on translations['compose_form.publish']
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
expect(subject).to have_css('.notification-bar-message', text: 'Post published.')
|
def translations
|
||||||
|
# TODO: Extract to system spec helper for re-use?
|
||||||
|
JSON.parse(
|
||||||
|
Rails
|
||||||
|
.root
|
||||||
|
.join('app', 'javascript', 'mastodon', 'locales', 'en.json')
|
||||||
|
.read
|
||||||
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -1372,15 +1372,23 @@ const startServer = async () => {
|
|||||||
* @param {function(string): void} [onSuccess]
|
* @param {function(string): void} [onSuccess]
|
||||||
*/
|
*/
|
||||||
const attachServerWithConfig = (server, onSuccess) => {
|
const attachServerWithConfig = (server, onSuccess) => {
|
||||||
if (process.env.SOCKET || process.env.PORT && isNaN(+process.env.PORT)) {
|
if (process.env.SOCKET) {
|
||||||
server.listen(process.env.SOCKET || process.env.PORT, () => {
|
server.listen(process.env.SOCKET, () => {
|
||||||
if (onSuccess) {
|
if (onSuccess) {
|
||||||
fs.chmodSync(server.address(), 0o666);
|
fs.chmodSync(server.address(), 0o666);
|
||||||
onSuccess(server.address());
|
onSuccess(server.address());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
server.listen(+(process.env.PORT || 4000), process.env.BIND || '127.0.0.1', () => {
|
const port = +(process.env.PORT || 4000);
|
||||||
|
let bind = process.env.BIND ?? '127.0.0.1';
|
||||||
|
// Web uses the URI syntax for BIND, which means IPv6 addresses may
|
||||||
|
// be wrapped in square brackets:
|
||||||
|
if (bind.startsWith('[') && bind.endsWith(']')) {
|
||||||
|
bind = bind.slice(1, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
server.listen(port, bind, () => {
|
||||||
if (onSuccess) {
|
if (onSuccess) {
|
||||||
onSuccess(`${server.address().address}:${server.address().port}`);
|
onSuccess(`${server.address().address}:${server.address().port}`);
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
"dotenv": "^16.0.3",
|
"dotenv": "^16.0.3",
|
||||||
"express": "^4.18.2",
|
"express": "^4.18.2",
|
||||||
"ioredis": "^5.3.2",
|
"ioredis": "^5.3.2",
|
||||||
"jsdom": "^24.0.0",
|
"jsdom": "^25.0.0",
|
||||||
"pg": "^8.5.0",
|
"pg": "^8.5.0",
|
||||||
"pg-connection-string": "^2.6.0",
|
"pg-connection-string": "^2.6.0",
|
||||||
"pino": "^9.0.0",
|
"pino": "^9.0.0",
|
||||||
|
26
yarn.lock
26
yarn.lock
@ -1487,11 +1487,11 @@ __metadata:
|
|||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.22.3, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2":
|
"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.22.3, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2":
|
||||||
version: 7.25.4
|
version: 7.25.6
|
||||||
resolution: "@babel/runtime@npm:7.25.4"
|
resolution: "@babel/runtime@npm:7.25.6"
|
||||||
dependencies:
|
dependencies:
|
||||||
regenerator-runtime: "npm:^0.14.0"
|
regenerator-runtime: "npm:^0.14.0"
|
||||||
checksum: 10c0/33e937e685f0bfc2d40c219261e2e50d0df7381a6e7cbf56b770e0c5d77cb0c21bf4d97da566cf0164317ed7508e992082c7b6cce7aaa3b17da5794f93fbfb46
|
checksum: 10c0/d6143adf5aa1ce79ed374e33fdfd74fa975055a80bc6e479672ab1eadc4e4bfd7484444e17dd063a1d180e051f3ec62b357c7a2b817e7657687b47313158c3d2
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -2757,7 +2757,7 @@ __metadata:
|
|||||||
"@formatjs/intl-pluralrules": "npm:^5.2.2"
|
"@formatjs/intl-pluralrules": "npm:^5.2.2"
|
||||||
"@gamestdio/websocket": "npm:^0.3.2"
|
"@gamestdio/websocket": "npm:^0.3.2"
|
||||||
"@github/webauthn-json": "npm:^2.1.1"
|
"@github/webauthn-json": "npm:^2.1.1"
|
||||||
"@rails/ujs": "npm:7.1.3"
|
"@rails/ujs": "npm:7.1.400"
|
||||||
"@reduxjs/toolkit": "npm:^2.0.1"
|
"@reduxjs/toolkit": "npm:^2.0.1"
|
||||||
"@svgr/webpack": "npm:^5.5.0"
|
"@svgr/webpack": "npm:^5.5.0"
|
||||||
"@testing-library/dom": "npm:^10.2.0"
|
"@testing-library/dom": "npm:^10.2.0"
|
||||||
@ -2929,7 +2929,7 @@ __metadata:
|
|||||||
eslint-define-config: "npm:^2.0.0"
|
eslint-define-config: "npm:^2.0.0"
|
||||||
express: "npm:^4.18.2"
|
express: "npm:^4.18.2"
|
||||||
ioredis: "npm:^5.3.2"
|
ioredis: "npm:^5.3.2"
|
||||||
jsdom: "npm:^24.0.0"
|
jsdom: "npm:^25.0.0"
|
||||||
pg: "npm:^8.5.0"
|
pg: "npm:^8.5.0"
|
||||||
pg-connection-string: "npm:^2.6.0"
|
pg-connection-string: "npm:^2.6.0"
|
||||||
pino: "npm:^9.0.0"
|
pino: "npm:^9.0.0"
|
||||||
@ -3052,10 +3052,10 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@rails/ujs@npm:7.1.3":
|
"@rails/ujs@npm:7.1.400":
|
||||||
version: 7.1.3
|
version: 7.1.400
|
||||||
resolution: "@rails/ujs@npm:7.1.3"
|
resolution: "@rails/ujs@npm:7.1.400"
|
||||||
checksum: 10c0/68112d9add9dbc59b40c2ec1bc095a67445c57d20d0ab7d817ce3de0cd90374e2690af8ad54ce6ecc2d1c748b34c0c44d0fbd2f515ce2c443d7c5d23d00b9ce5
|
checksum: 10c0/181329e731b925788a530dc5bc44eb4a07ae780e20b0309fd9140ebeeca30d9432ed50be0f25ae60f10beb3aa8883f6d662e4b9c6f6cd19a32c1f42ab2505c47
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -11084,9 +11084,9 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"jsdom@npm:^24.0.0":
|
"jsdom@npm:^25.0.0":
|
||||||
version: 24.1.3
|
version: 25.0.0
|
||||||
resolution: "jsdom@npm:24.1.3"
|
resolution: "jsdom@npm:25.0.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
cssstyle: "npm:^4.0.1"
|
cssstyle: "npm:^4.0.1"
|
||||||
data-urls: "npm:^5.0.0"
|
data-urls: "npm:^5.0.0"
|
||||||
@ -11114,7 +11114,7 @@ __metadata:
|
|||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
canvas:
|
canvas:
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 10c0/e48b342afacd7418a23dac204a62deea729c50f4d072a7c04c09fd32355fdb4335f8779fa79fd0277a2dbeb2d356250a950955719d00047324b251233b11277f
|
checksum: 10c0/1552bcfb816b2c69ae159ba0cd79e8964030c106cc0cb2deb20a64c1ca54e1ea41352b9802d89b7cf823e43e6d74ed7289abff4aacc95b1b2bc936570aab3594
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user