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

Merge upstream changes up to 9ba7c90151
shrike
Claire 2024-08-20 22:02:24 +02:00 committed by GitHub
commit d815b3d100
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
124 changed files with 567 additions and 811 deletions

View File

@ -196,11 +196,14 @@ ARG VIPS_VERSION=8.15.3
ARG VIPS_URL=https://github.com/libvips/libvips/releases/download
WORKDIR /usr/local/libvips/src
# Download and extract libvips source code
ADD ${VIPS_URL}/v${VIPS_VERSION}/vips-${VIPS_VERSION}.tar.xz /usr/local/libvips/src/
RUN tar xf vips-${VIPS_VERSION}.tar.xz;
WORKDIR /usr/local/libvips/src/vips-${VIPS_VERSION}
# Configure and compile libvips
RUN \
curl -sSL -o vips-${VIPS_VERSION}.tar.xz ${VIPS_URL}/v${VIPS_VERSION}/vips-${VIPS_VERSION}.tar.xz; \
tar xf vips-${VIPS_VERSION}.tar.xz; \
cd vips-${VIPS_VERSION}; \
meson setup build --prefix /usr/local/libvips --libdir=lib -Ddeprecated=false -Dintrospection=disabled -Dmodules=disabled -Dexamples=false; \
cd build; \
ninja; \
@ -216,11 +219,14 @@ ARG FFMPEG_VERSION=7.0.2
ARG FFMPEG_URL=https://ffmpeg.org/releases
WORKDIR /usr/local/ffmpeg/src
# Download and extract ffmpeg source code
ADD ${FFMPEG_URL}/ffmpeg-${FFMPEG_VERSION}.tar.xz /usr/local/ffmpeg/src/
RUN tar xf ffmpeg-${FFMPEG_VERSION}.tar.xz;
WORKDIR /usr/local/ffmpeg/src/ffmpeg-${FFMPEG_VERSION}
# Configure and compile ffmpeg
RUN \
curl -sSL -o ffmpeg-${FFMPEG_VERSION}.tar.xz ${FFMPEG_URL}/ffmpeg-${FFMPEG_VERSION}.tar.xz; \
tar xf ffmpeg-${FFMPEG_VERSION}.tar.xz; \
cd ffmpeg-${FFMPEG_VERSION}; \
./configure \
--prefix=/usr/local/ffmpeg \
--toolchain=hardened \

View File

@ -25,7 +25,7 @@ module Admin::FilterHelper
end
def table_link_to(icon, text, path, **options)
link_to safe_join([fa_icon(icon), text]), path, options.merge(class: 'table-action-link')
link_to safe_join([material_symbol(icon), text]), path, options.merge(class: 'table-action-link')
end
def selected?(more_params)

View File

@ -105,19 +105,12 @@ module ApplicationHelper
policy(record).public_send(:"#{action}?")
end
def fa_icon(icon, attributes = {})
class_names = attributes[:class]&.split || []
class_names << 'fa'
class_names += icon.split.map { |cl| "fa-#{cl}" }
content_tag(:i, nil, attributes.merge(class: class_names.join(' ')))
end
def material_symbol(icon, attributes = {})
inline_svg_tag(
"400-24px/#{icon}.svg",
class: ['icon', "material-#{icon}"].concat(attributes[:class].to_s.split),
role: :img
role: :img,
data: attributes[:data]
)
end

View File

@ -26,11 +26,11 @@ module SettingsHelper
device = session.detection.device
if device.mobile?
'mobile'
'smartphone'
elsif device.tablet?
'tablet'
else
'desktop'
'desktop_mac'
end
end

View File

@ -2,4 +2,3 @@
that is implicitly generated as the common chunk through webpack's `splitChunks` config */
import './public-path';
import 'font-awesome/css/font-awesome.css';

View File

@ -13,6 +13,6 @@ export const initializeNotifications = createAppAsyncThunk(
) as boolean;
if (enableBeta) void dispatch(fetchNotifications());
else void dispatch(expandNotifications());
else void dispatch(expandNotifications({}));
},
);

View File

@ -1,5 +1,4 @@
import Rails from '@rails/ujs';
import 'font-awesome/css/font-awesome.css';
export function start() {
require.context('@/images/', true, /\.(jpg|png|svg)$/);

View File

@ -2,7 +2,6 @@
that is implicitly generated as the common chunk through webpack's `splitChunks` config */
import '@/entrypoints/public-path';
import 'font-awesome/css/font-awesome.css';
// This is a hack to ensures that webpack compiles our images.
require.context('../images', true);

View File

@ -7,6 +7,7 @@ import { Helmet } from 'react-helmet';
import { useSelector, useDispatch } from 'react-redux';
import ArrowDropDownIcon from '@/material-icons/400-24px/arrow_drop_down.svg?react';
import InventoryIcon from '@/material-icons/400-24px/inventory_2.svg?react';
import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react';
import { openModal } from 'flavours/glitch/actions/modal';
@ -15,6 +16,7 @@ import { changeSetting } from 'flavours/glitch/actions/settings';
import { CheckBox } from 'flavours/glitch/components/check_box';
import Column from 'flavours/glitch/components/column';
import ColumnHeader from 'flavours/glitch/components/column_header';
import { Icon } from 'flavours/glitch/components/icon';
import ScrollableList from 'flavours/glitch/components/scrollable_list';
import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';
@ -26,16 +28,14 @@ const messages = defineMessages({
title: { id: 'notification_requests.title', defaultMessage: 'Filtered notifications' },
maximize: { id: 'notification_requests.maximize', defaultMessage: 'Maximize' },
more: { id: 'status.more', defaultMessage: 'More' },
acceptAll: { id: 'notification_requests.accept_all', defaultMessage: 'Accept all' },
dismissAll: { id: 'notification_requests.dismiss_all', defaultMessage: 'Dismiss all' },
acceptMultiple: { id: 'notification_requests.accept_multiple', defaultMessage: '{count, plural, one {Accept # request} other {Accept # requests}}' },
dismissMultiple: { id: 'notification_requests.dismiss_multiple', defaultMessage: '{count, plural, one {Dismiss # request} other {Dismiss # requests}}' },
confirmAcceptAllTitle: { id: 'notification_requests.confirm_accept_all.title', defaultMessage: 'Accept notification requests?' },
confirmAcceptAllMessage: { id: 'notification_requests.confirm_accept_all.message', defaultMessage: 'You are about to accept {count, plural, one {one notification request} other {# notification requests}}. Are you sure you want to proceed?' },
confirmAcceptAllButton: { id: 'notification_requests.confirm_accept_all.button', defaultMessage: 'Accept all' },
confirmDismissAllTitle: { id: 'notification_requests.confirm_dismiss_all.title', defaultMessage: 'Dismiss notification requests?' },
confirmDismissAllMessage: { id: 'notification_requests.confirm_dismiss_all.message', defaultMessage: "You are about to dismiss {count, plural, one {one notification request} other {# notification requests}}. You won't be able to easily access {count, plural, one {it} other {them}} again. Are you sure you want to proceed?" },
confirmDismissAllButton: { id: 'notification_requests.confirm_dismiss_all.button', defaultMessage: 'Dismiss all' },
acceptMultiple: { id: 'notification_requests.accept_multiple', defaultMessage: '{count, plural, one {Accept # request…} other {Accept # requests…}}' },
dismissMultiple: { id: 'notification_requests.dismiss_multiple', defaultMessage: '{count, plural, one {Dismiss # request…} other {Dismiss # requests…}}' },
confirmAcceptMultipleTitle: { id: 'notification_requests.confirm_accept_multiple.title', defaultMessage: 'Accept notification requests?' },
confirmAcceptMultipleMessage: { id: 'notification_requests.confirm_accept_multiple.message', defaultMessage: 'You are about to accept {count, plural, one {one notification request} other {# notification requests}}. Are you sure you want to proceed?' },
confirmAcceptMultipleButton: { id: 'notification_requests.confirm_accept_multiple.button', defaultMessage: '{count, plural, one {Accept request} other {Accept requests}}' },
confirmDismissMultipleTitle: { id: 'notification_requests.confirm_dismiss_multiple.title', defaultMessage: 'Dismiss notification requests?' },
confirmDismissMultipleMessage: { id: 'notification_requests.confirm_dismiss_multiple.message', defaultMessage: "You are about to dismiss {count, plural, one {one notification request} other {# notification requests}}. You won't be able to easily access {count, plural, one {it} other {them}} again. Are you sure you want to proceed?" },
confirmDismissMultipleButton: { id: 'notification_requests.confirm_dismiss_multiple.button', defaultMessage: '{count, plural, one {Dismiss request} other {Dismiss requests}}' },
});
const ColumnSettings = () => {
@ -74,45 +74,15 @@ const SelectRow = ({selectAllChecked, toggleSelectAll, selectedItems, selectionM
const intl = useIntl();
const dispatch = useDispatch();
const notificationRequests = useSelector(state => state.getIn(['notificationRequests', 'items']));
const selectedCount = selectedItems.length;
const handleAcceptAll = useCallback(() => {
const items = notificationRequests.map(request => request.get('id')).toArray();
dispatch(openModal({
modalType: 'CONFIRM',
modalProps: {
title: intl.formatMessage(messages.confirmAcceptAllTitle),
message: intl.formatMessage(messages.confirmAcceptAllMessage, { count: items.length }),
confirm: intl.formatMessage(messages.confirmAcceptAllButton),
onConfirm: () =>
dispatch(acceptNotificationRequests(items)),
},
}));
}, [dispatch, intl, notificationRequests]);
const handleDismissAll = useCallback(() => {
const items = notificationRequests.map(request => request.get('id')).toArray();
dispatch(openModal({
modalType: 'CONFIRM',
modalProps: {
title: intl.formatMessage(messages.confirmDismissAllTitle),
message: intl.formatMessage(messages.confirmDismissAllMessage, { count: items.length }),
confirm: intl.formatMessage(messages.confirmDismissAllButton),
onConfirm: () =>
dispatch(dismissNotificationRequests(items)),
},
}));
}, [dispatch, intl, notificationRequests]);
const handleAcceptMultiple = useCallback(() => {
dispatch(openModal({
modalType: 'CONFIRM',
modalProps: {
title: intl.formatMessage(messages.confirmAcceptAllTitle),
message: intl.formatMessage(messages.confirmAcceptAllMessage, { count: selectedItems.length }),
confirm: intl.formatMessage(messages.confirmAcceptAllButton),
title: intl.formatMessage(messages.confirmAcceptMultipleTitle),
message: intl.formatMessage(messages.confirmAcceptMultipleMessage, { count: selectedItems.length }),
confirm: intl.formatMessage(messages.confirmAcceptMultipleButton, { count: selectedItems.length}),
onConfirm: () =>
dispatch(acceptNotificationRequests(selectedItems)),
},
@ -123,9 +93,9 @@ const SelectRow = ({selectAllChecked, toggleSelectAll, selectedItems, selectionM
dispatch(openModal({
modalType: 'CONFIRM',
modalProps: {
title: intl.formatMessage(messages.confirmDismissAllTitle),
message: intl.formatMessage(messages.confirmDismissAllMessage, { count: selectedItems.length }),
confirm: intl.formatMessage(messages.confirmDismissAllButton),
title: intl.formatMessage(messages.confirmDismissMultipleTitle),
message: intl.formatMessage(messages.confirmDismissMultipleMessage, { count: selectedItems.length }),
confirm: intl.formatMessage(messages.confirmDismissMultipleButton, { count: selectedItems.length}),
onConfirm: () =>
dispatch(dismissNotificationRequests(selectedItems)),
},
@ -136,46 +106,45 @@ const SelectRow = ({selectAllChecked, toggleSelectAll, selectedItems, selectionM
setSelectionMode((mode) => !mode);
}, [setSelectionMode]);
const menu = selectedCount === 0 ?
[
{ text: intl.formatMessage(messages.acceptAll), action: handleAcceptAll },
{ text: intl.formatMessage(messages.dismissAll), action: handleDismissAll },
] : [
{ text: intl.formatMessage(messages.acceptMultiple, { count: selectedCount }), action: handleAcceptMultiple },
{ text: intl.formatMessage(messages.dismissMultiple, { count: selectedCount }), action: handleDismissMultiple },
];
const menu = [
{ text: intl.formatMessage(messages.acceptMultiple, { count: selectedCount }), action: handleAcceptMultiple },
{ text: intl.formatMessage(messages.dismissMultiple, { count: selectedCount }), action: handleDismissMultiple },
];
const handleSelectAll = useCallback(() => {
setSelectionMode(true);
toggleSelectAll();
}, [setSelectionMode, toggleSelectAll]);
return (
<div className='column-header__select-row'>
{selectionMode && (
<div className='column-header__select-row__checkbox'>
<CheckBox checked={selectAllChecked} indeterminate={selectedCount > 0 && !selectAllChecked} onChange={toggleSelectAll} />
</div>
)}
<div className='column-header__select-row__selection-mode'>
<div className='column-header__select-row__checkbox'>
<CheckBox checked={selectAllChecked} indeterminate={selectedCount > 0 && !selectAllChecked} onChange={handleSelectAll} />
</div>
<DropdownMenuContainer
items={menu}
icons='ellipsis-h'
iconComponent={MoreHorizIcon}
direction='right'
title={intl.formatMessage(messages.more)}
>
<button className='dropdown-button column-header__select-row__select-menu' disabled={selectedItems.length === 0}>
<span className='dropdown-button__label'>
{selectedCount} selected
</span>
<Icon id='down' icon={ArrowDropDownIcon} />
</button>
</DropdownMenuContainer>
<div className='column-header__select-row__mode-button'>
<button className='text-btn' tabIndex={0} onClick={handleToggleSelectionMode}>
{selectionMode ? (
<FormattedMessage id='notification_requests.exit_selection_mode' defaultMessage='Cancel' />
<FormattedMessage id='notification_requests.exit_selection' defaultMessage='Done' />
) :
(
<FormattedMessage id='notification_requests.enter_selection_mode' defaultMessage='Select' />
<FormattedMessage id='notification_requests.edit_selection' defaultMessage='Edit' />
)}
</button>
</div>
{selectedCount > 0 &&
<div className='column-header__select-row__selected-count'>
{selectedCount} selected
</div>
}
<div className='column-header__select-row__actions'>
<DropdownMenuContainer
items={menu}
icons='ellipsis-h'
iconComponent={MoreHorizIcon}
direction='right'
title={intl.formatMessage(messages.more)}
/>
</div>
</div>
);
};

View File

@ -811,16 +811,6 @@ body > [data-popper-placement] {
gap: 12px;
flex-wrap: wrap;
.button {
display: block; // Otherwise text-ellipsis doesn't work
font-size: 14px;
line-height: normal;
font-weight: 700;
flex: 1 1 auto;
padding: 5px 12px;
border-radius: 4px;
}
.icon-button {
box-sizing: content-box;
color: $highlight-text-color;
@ -4422,7 +4412,7 @@ a.status-card {
text-decoration: none;
&:hover {
background: lighten($ui-base-color, 2%);
background: var(--on-surface-color);
}
}
@ -4551,19 +4541,18 @@ a.status-card {
display: flex;
}
&__selection-mode {
flex-grow: 1;
.text-btn:hover {
text-decoration: underline;
}
&__select-menu:disabled {
visibility: hidden;
}
&__actions {
.icon-button {
border-radius: 4px;
border: 1px solid var(--background-border-color);
padding: 5px;
&__mode-button {
margin-left: auto;
color: $highlight-text-color;
font-weight: bold;
font-size: 14px;
&:hover {
color: lighten($highlight-text-color, 6%);
}
}
}
@ -4916,6 +4905,7 @@ a.status-card {
padding: 0;
font-family: inherit;
font-size: inherit;
font-weight: inherit;
color: inherit;
border: 0;
background: transparent;
@ -8110,10 +8100,6 @@ img.modal-warning {
}
}
::-webkit-scrollbar-thumb {
border-radius: 0;
}
noscript {
text-align: center;
@ -10923,7 +10909,7 @@ noscript {
cursor: pointer;
&:hover {
background: lighten($ui-base-color, 1%);
background: var(--on-surface-color);
}
.notification-request__checkbox {
@ -11091,8 +11077,10 @@ noscript {
}
&__additional-content {
color: $darker-text-color;
color: $dark-text-color;
margin-top: -8px; // to offset the parent's `gap` property
font-size: 15px;
line-height: 22px;
}
}
@ -11146,6 +11134,19 @@ noscript {
}
}
.notification-group__actions,
.compose-form__actions {
.button {
display: block; // Otherwise text-ellipsis doesn't work
font-size: 14px;
line-height: normal;
font-weight: 700;
flex: 1 1 auto;
padding: 5px 12px;
border-radius: 4px;
}
}
.notification-ungrouped {
padding: 10px 14px; // glitch: reduced padding
border-bottom: 1px solid var(--background-border-color);

View File

@ -1,10 +1,10 @@
// Dependent colors
$black: #000000;
$classic-base-color: #282c37;
$classic-primary-color: #9baec8;
$classic-secondary-color: #d9e1e8;
$classic-highlight-color: #6364ff;
$classic-base-color: hsl(240deg, 16%, 19%);
$classic-primary-color: hsl(240deg, 29%, 70%);
$classic-secondary-color: hsl(255deg, 25%, 88%);
$classic-highlight-color: hsl(240deg, 100%, 69%);
$ui-base-color: $classic-base-color !default;
$ui-primary-color: $classic-primary-color !default;

View File

@ -1,10 +1,6 @@
// Notes!
// Sass color functions, "darken" and "lighten" are automatically replaced.
html {
scrollbar-color: $ui-base-color rgba($ui-base-color, 0.25);
}
.simple_form .button.button-tertiary {
color: $highlight-text-color;
}
@ -624,3 +620,14 @@ a.sparkline {
color: $dark-text-color;
}
}
@supports not selector(::-webkit-scrollbar) {
html {
scrollbar-color: rgba($action-button-color, 0.25)
var(--background-border-color);
}
}
::-webkit-scrollbar-thumb {
opacity: 0.25;
}

View File

@ -2,25 +2,25 @@
$black: #000000;
$white: #ffffff;
$classic-base-color: #282c37;
$classic-primary-color: #9baec8;
$classic-secondary-color: #d9e1e8;
$classic-highlight-color: #6364ff;
$classic-base-color: hsl(240deg, 16%, 19%);
$classic-primary-color: hsl(240deg, 29%, 70%);
$classic-secondary-color: hsl(255deg, 25%, 88%);
$classic-highlight-color: hsl(240deg, 100%, 69%);
$blurple-600: #563acc; // Iris
$blurple-500: #6364ff; // Brand purple
$blurple-300: #858afa; // Faded Blue
$grey-600: #4e4c5a; // Trout
$grey-100: #dadaf3; // Topaz
$blurple-600: hsl(252deg, 59%, 51%); // Iris
$blurple-500: hsl(240deg, 100%, 69%); // Brand purple
$blurple-300: hsl(237deg, 92%, 75%); // Faded Blue
$grey-600: hsl(240deg, 8%, 33%); // Trout
$grey-100: hsl(240deg, 51%, 90%); // Topaz
// Differences
$success-green: lighten(#3c754d, 8%);
$success-green: lighten(hsl(138deg, 32%, 35%), 8%);
$base-overlay-background: $white !default;
$valid-value-color: $success-green !default;
$ui-base-color: $classic-secondary-color !default;
$ui-base-lighter-color: #b0c0cf;
$ui-base-lighter-color: hsl(250deg, 24%, 75%);
$ui-primary-color: $classic-primary-color !default;
$ui-secondary-color: $classic-base-color !default;
$ui-highlight-color: $classic-highlight-color !default;
@ -35,12 +35,12 @@ $ui-button-tertiary-border-color: $blurple-500 !default;
$primary-text-color: $black !default;
$darker-text-color: $classic-base-color !default;
$highlight-text-color: $ui-highlight-color !default;
$dark-text-color: #444b5d;
$action-button-color: #606984;
$dark-text-color: hsl(240deg, 16%, 32%);
$action-button-color: hsl(240deg, 16%, 45%);
$inverted-text-color: $black !default;
$lighter-text-color: $classic-base-color !default;
$light-text-color: #444b5d;
$light-text-color: hsl(240deg, 16%, 32%);
// Newly added colors
$account-background-color: $white !default;
@ -57,12 +57,13 @@ $account-background-color: $white !default;
$emojis-requiring-inversion: 'chains';
body {
--dropdown-border-color: #d9e1e8;
--dropdown-border-color: hsl(240deg, 25%, 88%);
--dropdown-background-color: #fff;
--modal-border-color: #d9e1e8;
--modal-border-color: hsl(240deg, 25%, 88%);
--modal-background-color: var(--background-color-tint);
--background-border-color: #d9e1e8;
--background-border-color: hsl(240deg, 25%, 88%);
--background-color: #fff;
--background-color-tint: rgba(255, 255, 255, 80%);
--background-filter: blur(10px);
--on-surface-color: #{transparentize($ui-base-color, 0.65)};
}

View File

@ -53,22 +53,29 @@ table {
border-spacing: 0;
}
html {
scrollbar-color: var(--background-border-color);
@supports not selector(::-webkit-scrollbar) {
html {
scrollbar-color: $action-button-color var(--background-border-color);
scrollbar-width: thin;
}
}
::-webkit-scrollbar {
width: 4px;
height: 4px;
width: 8px;
height: 8px;
}
::-webkit-scrollbar-thumb {
background-color: $ui-highlight-color;
opacity: .25;
background-color: $action-button-color;
border: 2px var(--background-border-color);
border-radius: 12px;
width: 6px;
box-shadow: inset 0 0 0 2px var(--background-border-color);
}
::-webkit-scrollbar-track {
background-color: var(--background-border-color);
border-radius: 0px;
}
::-webkit-scrollbar-corner {

View File

@ -7,8 +7,8 @@ $blurple-600: #563acc; // Iris
$blurple-500: #6364ff; // Brand purple
$blurple-400: #7477fd; // Medium slate blue
$blurple-300: #858afa; // Faded Blue
$grey-600: #4e4c5a; // Trout
$grey-100: #dadaf3; // Topaz
$grey-600: hsl(240deg, 8%, 33%); // Trout
$grey-100: hsl(240deg, 51%, 90%); // Topaz
$success-green: #79bd9a !default; // Padua
$error-red: $red-500 !default; // Cerise
@ -18,10 +18,10 @@ $gold-star: #ca8f04 !default; // Dark Goldenrod
$red-bookmark: $warning-red;
// Values from the classic Mastodon UI
$classic-base-color: #282c37; // Midnight Express
$classic-primary-color: #9baec8; // Echo Blue
$classic-secondary-color: #d9e1e8; // Pattens Blue
$classic-highlight-color: #6364ff; // Brand purple
$classic-base-color: hsl(240deg, 16%, 19%);
$classic-primary-color: hsl(240deg, 29%, 70%);
$classic-secondary-color: hsl(255deg, 25%, 88%);
$classic-highlight-color: $blurple-500;
// Variables for defaults in UI
$base-shadow-color: $black !default;
@ -115,5 +115,6 @@ $dismiss-overlay-width: 4rem;
--surface-background-color: #{darken($ui-base-color, 4%)};
--surface-variant-background-color: #{$ui-base-color};
--surface-variant-active-background-color: #{lighten($ui-base-color, 4%)};
--on-surface-color: #{transparentize($ui-base-color, 0.5)};
--avatar-border-radius: 8px;
}

View File

@ -13,6 +13,6 @@ export const initializeNotifications = createAppAsyncThunk(
) as boolean;
if (enableBeta) void dispatch(fetchNotifications());
else void dispatch(expandNotifications());
else void dispatch(expandNotifications({}));
},
);

View File

@ -1,5 +1,4 @@
import Rails from '@rails/ujs';
import 'font-awesome/css/font-awesome.css';
export function start() {
require.context('../images/', true, /\.(jpg|png|svg)$/);

View File

@ -7,6 +7,7 @@ import { Helmet } from 'react-helmet';
import { useSelector, useDispatch } from 'react-redux';
import ArrowDropDownIcon from '@/material-icons/400-24px/arrow_drop_down.svg?react';
import InventoryIcon from '@/material-icons/400-24px/inventory_2.svg?react';
import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react';
import { openModal } from 'mastodon/actions/modal';
@ -15,6 +16,7 @@ import { changeSetting } from 'mastodon/actions/settings';
import { CheckBox } from 'mastodon/components/check_box';
import Column from 'mastodon/components/column';
import ColumnHeader from 'mastodon/components/column_header';
import { Icon } from 'mastodon/components/icon';
import ScrollableList from 'mastodon/components/scrollable_list';
import DropdownMenuContainer from 'mastodon/containers/dropdown_menu_container';
@ -26,16 +28,14 @@ const messages = defineMessages({
title: { id: 'notification_requests.title', defaultMessage: 'Filtered notifications' },
maximize: { id: 'notification_requests.maximize', defaultMessage: 'Maximize' },
more: { id: 'status.more', defaultMessage: 'More' },
acceptAll: { id: 'notification_requests.accept_all', defaultMessage: 'Accept all' },
dismissAll: { id: 'notification_requests.dismiss_all', defaultMessage: 'Dismiss all' },
acceptMultiple: { id: 'notification_requests.accept_multiple', defaultMessage: '{count, plural, one {Accept # request} other {Accept # requests}}' },
dismissMultiple: { id: 'notification_requests.dismiss_multiple', defaultMessage: '{count, plural, one {Dismiss # request} other {Dismiss # requests}}' },
confirmAcceptAllTitle: { id: 'notification_requests.confirm_accept_all.title', defaultMessage: 'Accept notification requests?' },
confirmAcceptAllMessage: { id: 'notification_requests.confirm_accept_all.message', defaultMessage: 'You are about to accept {count, plural, one {one notification request} other {# notification requests}}. Are you sure you want to proceed?' },
confirmAcceptAllButton: { id: 'notification_requests.confirm_accept_all.button', defaultMessage: 'Accept all' },
confirmDismissAllTitle: { id: 'notification_requests.confirm_dismiss_all.title', defaultMessage: 'Dismiss notification requests?' },
confirmDismissAllMessage: { id: 'notification_requests.confirm_dismiss_all.message', defaultMessage: "You are about to dismiss {count, plural, one {one notification request} other {# notification requests}}. You won't be able to easily access {count, plural, one {it} other {them}} again. Are you sure you want to proceed?" },
confirmDismissAllButton: { id: 'notification_requests.confirm_dismiss_all.button', defaultMessage: 'Dismiss all' },
acceptMultiple: { id: 'notification_requests.accept_multiple', defaultMessage: '{count, plural, one {Accept # request…} other {Accept # requests…}}' },
dismissMultiple: { id: 'notification_requests.dismiss_multiple', defaultMessage: '{count, plural, one {Dismiss # request…} other {Dismiss # requests…}}' },
confirmAcceptMultipleTitle: { id: 'notification_requests.confirm_accept_multiple.title', defaultMessage: 'Accept notification requests?' },
confirmAcceptMultipleMessage: { id: 'notification_requests.confirm_accept_multiple.message', defaultMessage: 'You are about to accept {count, plural, one {one notification request} other {# notification requests}}. Are you sure you want to proceed?' },
confirmAcceptMultipleButton: { id: 'notification_requests.confirm_accept_multiple.button', defaultMessage: '{count, plural, one {Accept request} other {Accept requests}}' },
confirmDismissMultipleTitle: { id: 'notification_requests.confirm_dismiss_multiple.title', defaultMessage: 'Dismiss notification requests?' },
confirmDismissMultipleMessage: { id: 'notification_requests.confirm_dismiss_multiple.message', defaultMessage: "You are about to dismiss {count, plural, one {one notification request} other {# notification requests}}. You won't be able to easily access {count, plural, one {it} other {them}} again. Are you sure you want to proceed?" },
confirmDismissMultipleButton: { id: 'notification_requests.confirm_dismiss_multiple.button', defaultMessage: '{count, plural, one {Dismiss request} other {Dismiss requests}}' },
});
const ColumnSettings = () => {
@ -74,45 +74,15 @@ const SelectRow = ({selectAllChecked, toggleSelectAll, selectedItems, selectionM
const intl = useIntl();
const dispatch = useDispatch();
const notificationRequests = useSelector(state => state.getIn(['notificationRequests', 'items']));
const selectedCount = selectedItems.length;
const handleAcceptAll = useCallback(() => {
const items = notificationRequests.map(request => request.get('id')).toArray();
dispatch(openModal({
modalType: 'CONFIRM',
modalProps: {
title: intl.formatMessage(messages.confirmAcceptAllTitle),
message: intl.formatMessage(messages.confirmAcceptAllMessage, { count: items.length }),
confirm: intl.formatMessage(messages.confirmAcceptAllButton),
onConfirm: () =>
dispatch(acceptNotificationRequests(items)),
},
}));
}, [dispatch, intl, notificationRequests]);
const handleDismissAll = useCallback(() => {
const items = notificationRequests.map(request => request.get('id')).toArray();
dispatch(openModal({
modalType: 'CONFIRM',
modalProps: {
title: intl.formatMessage(messages.confirmDismissAllTitle),
message: intl.formatMessage(messages.confirmDismissAllMessage, { count: items.length }),
confirm: intl.formatMessage(messages.confirmDismissAllButton),
onConfirm: () =>
dispatch(dismissNotificationRequests(items)),
},
}));
}, [dispatch, intl, notificationRequests]);
const handleAcceptMultiple = useCallback(() => {
dispatch(openModal({
modalType: 'CONFIRM',
modalProps: {
title: intl.formatMessage(messages.confirmAcceptAllTitle),
message: intl.formatMessage(messages.confirmAcceptAllMessage, { count: selectedItems.length }),
confirm: intl.formatMessage(messages.confirmAcceptAllButton),
title: intl.formatMessage(messages.confirmAcceptMultipleTitle),
message: intl.formatMessage(messages.confirmAcceptMultipleMessage, { count: selectedItems.length }),
confirm: intl.formatMessage(messages.confirmAcceptMultipleButton, { count: selectedItems.length}),
onConfirm: () =>
dispatch(acceptNotificationRequests(selectedItems)),
},
@ -123,9 +93,9 @@ const SelectRow = ({selectAllChecked, toggleSelectAll, selectedItems, selectionM
dispatch(openModal({
modalType: 'CONFIRM',
modalProps: {
title: intl.formatMessage(messages.confirmDismissAllTitle),
message: intl.formatMessage(messages.confirmDismissAllMessage, { count: selectedItems.length }),
confirm: intl.formatMessage(messages.confirmDismissAllButton),
title: intl.formatMessage(messages.confirmDismissMultipleTitle),
message: intl.formatMessage(messages.confirmDismissMultipleMessage, { count: selectedItems.length }),
confirm: intl.formatMessage(messages.confirmDismissMultipleButton, { count: selectedItems.length}),
onConfirm: () =>
dispatch(dismissNotificationRequests(selectedItems)),
},
@ -136,46 +106,45 @@ const SelectRow = ({selectAllChecked, toggleSelectAll, selectedItems, selectionM
setSelectionMode((mode) => !mode);
}, [setSelectionMode]);
const menu = selectedCount === 0 ?
[
{ text: intl.formatMessage(messages.acceptAll), action: handleAcceptAll },
{ text: intl.formatMessage(messages.dismissAll), action: handleDismissAll },
] : [
{ text: intl.formatMessage(messages.acceptMultiple, { count: selectedCount }), action: handleAcceptMultiple },
{ text: intl.formatMessage(messages.dismissMultiple, { count: selectedCount }), action: handleDismissMultiple },
];
const menu = [
{ text: intl.formatMessage(messages.acceptMultiple, { count: selectedCount }), action: handleAcceptMultiple },
{ text: intl.formatMessage(messages.dismissMultiple, { count: selectedCount }), action: handleDismissMultiple },
];
const handleSelectAll = useCallback(() => {
setSelectionMode(true);
toggleSelectAll();
}, [setSelectionMode, toggleSelectAll]);
return (
<div className='column-header__select-row'>
{selectionMode && (
<div className='column-header__select-row__checkbox'>
<CheckBox checked={selectAllChecked} indeterminate={selectedCount > 0 && !selectAllChecked} onChange={toggleSelectAll} />
</div>
)}
<div className='column-header__select-row__selection-mode'>
<div className='column-header__select-row__checkbox'>
<CheckBox checked={selectAllChecked} indeterminate={selectedCount > 0 && !selectAllChecked} onChange={handleSelectAll} />
</div>
<DropdownMenuContainer
items={menu}
icons='ellipsis-h'
iconComponent={MoreHorizIcon}
direction='right'
title={intl.formatMessage(messages.more)}
>
<button className='dropdown-button column-header__select-row__select-menu' disabled={selectedItems.length === 0}>
<span className='dropdown-button__label'>
{selectedCount} selected
</span>
<Icon id='down' icon={ArrowDropDownIcon} />
</button>
</DropdownMenuContainer>
<div className='column-header__select-row__mode-button'>
<button className='text-btn' tabIndex={0} onClick={handleToggleSelectionMode}>
{selectionMode ? (
<FormattedMessage id='notification_requests.exit_selection_mode' defaultMessage='Cancel' />
<FormattedMessage id='notification_requests.exit_selection' defaultMessage='Done' />
) :
(
<FormattedMessage id='notification_requests.enter_selection_mode' defaultMessage='Select' />
<FormattedMessage id='notification_requests.edit_selection' defaultMessage='Edit' />
)}
</button>
</div>
{selectedCount > 0 &&
<div className='column-header__select-row__selected-count'>
{selectedCount} selected
</div>
}
<div className='column-header__select-row__actions'>
<DropdownMenuContainer
items={menu}
icons='ellipsis-h'
iconComponent={MoreHorizIcon}
direction='right'
title={intl.formatMessage(messages.more)}
/>
</div>
</div>
);
};

View File

@ -500,14 +500,7 @@
"notification.status": "{name} نشر للتو",
"notification.update": "عدّلَ {name} منشورًا",
"notification_requests.accept": "موافقة",
"notification_requests.accept_all": "قبول الكل",
"notification_requests.confirm_accept_all.button": "قبول الكل",
"notification_requests.confirm_accept_all.title": "أتريد قبول طلبات الإشعار؟",
"notification_requests.confirm_dismiss_all.button": "تجاهل الكل",
"notification_requests.dismiss": "تخطي",
"notification_requests.dismiss_all": "تجاهل الكل",
"notification_requests.enter_selection_mode": "اختر",
"notification_requests.exit_selection_mode": "إلغاء",
"notification_requests.explainer_for_limited_account": "تم تصفية الإشعارات من هذا الحساب لأن الحساب تم تقييده من قبل مشرف.",
"notification_requests.notifications_from": "إشعارات من {name}",
"notification_requests.title": "الإشعارات المصفاة",

View File

@ -11,6 +11,7 @@
"about.not_available": "Дадзеная інфармацыя не дасяжная на гэтым серверы.",
"about.powered_by": "Дэцэнтралізаваная сацыяльная сетка, створаная {mastodon}",
"about.rules": "Правілы сервера",
"account.account_note_header": "Асабістая нататка",
"account.add_or_remove_from_list": "Дадаць або выдаліць са спісаў",
"account.badges.bot": "Бот",
"account.badges.group": "Група",
@ -481,6 +482,11 @@
"notification.favourite": "Ваш допіс упадабаны {name}",
"notification.follow": "{name} падпісаўся на вас",
"notification.follow_request": "{name} адправіў запыт на падпіску",
"notification.label.mention": "Згадванне",
"notification.label.private_mention": "Асабістае згадванне",
"notification.label.private_reply": "Асабісты адказ",
"notification.label.reply": "Адказ",
"notification.mention": "Згадванне",
"notification.moderation-warning.learn_more": "Даведацца больш",
"notification.moderation_warning": "Вы атрымалі папярэджанне аб мадэрацыі",
"notification.moderation_warning.action_delete_statuses": "Некаторыя вашыя допісы былі выдаленыя.",
@ -506,6 +512,7 @@
"notification_requests.minimize_banner": "Згарнуць банер адфільтраваных апавяшчэнняў",
"notification_requests.notifications_from": "Апавяшчэнні ад {name}",
"notification_requests.title": "Адфільтраваныя апавяшчэнні",
"notification_requests.view": "Прагляд апавяшчэнняў",
"notifications.clear": "Ачысціць апавяшчэнні",
"notifications.clear_confirmation": "Вы ўпэўнены, што жадаеце назаўсёды сцерці ўсё паведамленні?",
"notifications.clear_title": "Ачысціць апавяшчэнні?",
@ -542,6 +549,10 @@
"notifications.permission_denied": "Апавяшчэнні на працоўным стале недаступныя з-за папярэдне адхіленага запыта праў браўзера",
"notifications.permission_denied_alert": "Апавяшчэнні на працоўным стале не могуць быць уключаныя, з-за таго што запыт браўзера быў адхілены",
"notifications.permission_required": "Апавяшчэнні на працоўным стале недаступныя, з-за таго што неабходны дазвол не быў дадзены.",
"notifications.policy.accept": "Прыняць",
"notifications.policy.accept_hint": "Паказваць у апавяшчэннях",
"notifications.policy.drop": "Iгнараваць",
"notifications.policy.filter": "Фільтраваць",
"notifications.policy.filter_new_accounts.hint": "Створаныя на працягу {days, plural, one {апошняга # дня} few {апошніх # дзён} many {апошніх # дзён} other {апошняй # дня}}",
"notifications.policy.filter_new_accounts_title": "Новыя ўліковыя запісы",
"notifications.policy.filter_not_followers_hint": "Уключаючы людзей, якія падпісаны на вас менш, чым {days, plural, one {# дзень} few {# дні} many {# дзён} other {# дня}}",
@ -550,6 +561,7 @@
"notifications.policy.filter_not_following_title": "Людзі, на якіх вы не падпісаны",
"notifications.policy.filter_private_mentions_hint": "Фільтруецца за выключэннем адказу на вашае згадванне ці калі вы падпісаны на адпраўніка",
"notifications.policy.filter_private_mentions_title": "Непажаданыя асаблівыя згадванні",
"notifications.policy.title": "Наладзіць апавяшчэнні ад…",
"notifications_permission_banner.enable": "Уключыць апавяшчэнні на працоўным стале",
"notifications_permission_banner.how_to_control": "Каб атрымліваць апавяшчэнні, калі Mastodon не адкрыты, уключыце апавяшчэнні працоўнага стала. Вы зможаце дакладна кантраляваць, якія падзеі будуць ствараць апавяшчэнні з дапамогай {icon} кнопкі, як толькі яны будуць уключаны.",
"notifications_permission_banner.title": "Не прапусціце нічога",
@ -790,6 +802,7 @@
"timeline_hint.remote_resource_not_displayed": "{resource} з іншых сервераў не адлюстроўваецца.",
"timeline_hint.resources.followers": "Падпісчыкі",
"timeline_hint.resources.follows": "Падпіскі",
"timeline_hint.resources.replies": "Некаторыя адказы",
"timeline_hint.resources.statuses": "Старыя допісы",
"trends.counter_by_accounts": "{count, plural, one {{counter} чалавек} few {{counter} чалавекі} many {{counter} людзей} other {{counter} чалавек}} за {days, plural, one {{days} апошні дзень} few {{days} апошнія дні} many {{days} апошніх дзён} other {{days} апошніх дзён}}",
"trends.trending_now": "Актуальнае",

View File

@ -505,8 +505,6 @@
"notification.update": "{name} промени публикация",
"notification_requests.accept": "Приемам",
"notification_requests.dismiss": "Отхвърлям",
"notification_requests.enter_selection_mode": "Изберете",
"notification_requests.exit_selection_mode": "Отказ",
"notification_requests.explainer_for_limited_account": "Известията от този акаунт са прецедени, защото акаунтът е ограничен от модератор.",
"notification_requests.explainer_for_limited_remote_account": "Известията от този акаунт са прецедени, защото акаунтът или сървърът му е ограничен от модератор.",
"notification_requests.maximize": "Максимизиране",

View File

@ -517,17 +517,17 @@
"notification.status": "{name} acaba de publicar",
"notification.update": "{name} ha editat un tut",
"notification_requests.accept": "Accepta",
"notification_requests.accept_all": "Accepta-ho tot",
"notification_requests.accept_multiple": "{count, plural, one {Accepta # petició} other {Accepta # peticions}}",
"notification_requests.confirm_accept_all.button": "Accepta-ho tot",
"notification_requests.confirm_accept_all.message": "Esteu a punt d'acceptar {count, plural, one {una petició de notificació} other {# peticions de notificació}}. N'esteu segurs de continuar?",
"notification_requests.confirm_accept_all.title": "Accepteu peticions de notificació?",
"notification_requests.confirm_dismiss_all.button": "Descarta-les totes",
"notification_requests.confirm_dismiss_all.title": "Descarta la sol·licitud de notificació?",
"notification_requests.accept_multiple": "{count, plural, one {Accepta # petició…} other {Accepta # peticions…}}",
"notification_requests.confirm_accept_multiple.button": "{count, plural, one {Accepta petició} other {Accepta peticions}}",
"notification_requests.confirm_accept_multiple.message": "Esteu a punt d'acceptar {count, plural, one {una petició de notificació} other {# peticions de notificació}}. N'esteu segurs de continuar?",
"notification_requests.confirm_accept_multiple.title": "Acceptar peticions de notificació?",
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Descarta petició} other {Descarta peticions}}",
"notification_requests.confirm_dismiss_multiple.message": "Esteu a punt de descartar {count, plural, one {una petició de notificació} other {# peticions de notificació}}. No hi {count, plural, one {} other {}} podreu tornar a accedir fàcilment. N'esteu segurs de continuar?",
"notification_requests.confirm_dismiss_multiple.title": "Descartar les peticions de notificació?",
"notification_requests.dismiss": "Ignora",
"notification_requests.dismiss_all": "Descarta-ho tot",
"notification_requests.enter_selection_mode": "Selecciona",
"notification_requests.exit_selection_mode": "Cancel·la",
"notification_requests.dismiss_multiple": "{count, plural, one {Descarta # petició…} other {Descarta # peticions…}}",
"notification_requests.edit_selection": "Edita",
"notification_requests.exit_selection": "Fet",
"notification_requests.explainer_for_limited_account": "S'han filtrat les notificacions d'aquest compte perquè un moderador l'ha limitat.",
"notification_requests.explainer_for_limited_remote_account": "S'han filtrat les notificacions d'aquest compte perquè un moderador ha limitat el compte o el seu servidor.",
"notification_requests.maximize": "Maximitza",

View File

@ -518,19 +518,7 @@
"notification.status": "{name} newydd ei bostio",
"notification.update": "Golygodd {name} bostiad",
"notification_requests.accept": "Derbyn",
"notification_requests.accept_all": "Derbyn y cyfan",
"notification_requests.accept_multiple": "{count, plural, one {Derbyn # cais} other {Derbyn # cais}}",
"notification_requests.confirm_accept_all.button": "Derbyn y cyfan",
"notification_requests.confirm_accept_all.message": "Rydych ar fin derbyn {count, plural, one {un cais hysbysu} other {# cais hysbysiad}}. A ydych yn siŵr eich bod am fwrw ymlaen?",
"notification_requests.confirm_accept_all.title": "Derbyn ceisiadau hysbysu?",
"notification_requests.confirm_dismiss_all.button": "Diystyru pob un",
"notification_requests.confirm_dismiss_all.message": "Rydych ar fin diystyru {count, plural, one {un cais hysbysu} other {# cais hysbysiad}}. Ni fyddwch yn gallu cyrchu {count, plural, one {it} other {them}} yn hawdd eto. A ydych yn siŵr eich bod am fwrw ymlaen?",
"notification_requests.confirm_dismiss_all.title": "Diystyru ceisiadau hysbysu?",
"notification_requests.dismiss": "Cau",
"notification_requests.dismiss_all": "Diystyru pob un",
"notification_requests.dismiss_multiple": "{count, plural, one {Diystyru # cais} other {Diystyru # cais}}",
"notification_requests.enter_selection_mode": "Dewis",
"notification_requests.exit_selection_mode": "Canslo",
"notification_requests.explainer_for_limited_account": "Mae hysbysiadau o'r cyfrif hwn wedi'u hidlo oherwydd bod y cyfrif wedi'i gyfyngu gan gymedrolwr.",
"notification_requests.explainer_for_limited_remote_account": "Mae hysbysiadau o'r cyfrif hwn wedi'u hidlo oherwydd bod y cyfrif neu ei weinydd wedi'i gyfyngu gan gymedrolwr.",
"notification_requests.maximize": "Mwyhau",

View File

@ -518,19 +518,17 @@
"notification.status": "{name} har netop postet",
"notification.update": "{name} redigerede et indlæg",
"notification_requests.accept": "Acceptér",
"notification_requests.accept_all": "Acceptér alle",
"notification_requests.accept_multiple": "{count, plural, one {Acceptér # anmodning} other {Acceptér # anmodninger}}",
"notification_requests.confirm_accept_all.button": "Acceptér alle",
"notification_requests.confirm_accept_all.message": "Man er ved at acceptere {count, plural, one {en notifikationsanmodning} other {# notifikationsanmodninger}}. Fortsæt, sikker?",
"notification_requests.confirm_accept_all.title": "Acceptér notifikationsanmodninger?",
"notification_requests.confirm_dismiss_all.button": "Afvis alle",
"notification_requests.confirm_dismiss_all.message": "Man er ved at afvise {count, plural, one {en notifikationsanmodning} other {# notifikationsanmodninger}}. Man vil derfor ikke nemt kunne tilgå {count, plural, one {den} other {dem}} igen. Fortsæt, sikker?",
"notification_requests.confirm_dismiss_all.title": "Afvis notifikationsanmodninger?",
"notification_requests.accept_multiple": "{count, plural, one {Acceptér # anmodning…} other {Acceptér # anmodninger…}}",
"notification_requests.confirm_accept_multiple.button": "{count, plural, one {Acceptér anmodning} other {Acceptér anmodninger}}",
"notification_requests.confirm_accept_multiple.message": "{count, plural, one {En notifikationsanmodning} other {# notifikationsanmodninger}} er ved at blive accepteret. Fortsæt, sikker?",
"notification_requests.confirm_accept_multiple.title": "Acceptér notifikationsanmodninger?",
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Afvis anmodning} other {Afvis anmodninger}}",
"notification_requests.confirm_dismiss_multiple.message": "{count, plural, one {En notifikationsanmodning} other {# notifikationsanmodninger}} er ved at blive afvist, hvorfor man ikke nemt vil kunne tilgå {count, plural, one {den} other {dem}} igen. Fortsæt, sikker?",
"notification_requests.confirm_dismiss_multiple.title": "Afvis notifikationsanmodninger?",
"notification_requests.dismiss": "Afvis",
"notification_requests.dismiss_all": "Afvis alle",
"notification_requests.dismiss_multiple": "{count, plural, one {Afvis # anmodning} other {Afvis # anmodninger}}",
"notification_requests.enter_selection_mode": "Vælg",
"notification_requests.exit_selection_mode": "Afbryd",
"notification_requests.dismiss_multiple": "{count, plural, one {Afvis # anmodning…} other {Afvis # anmodninger…}}",
"notification_requests.edit_selection": "Redigér",
"notification_requests.exit_selection": "Udført",
"notification_requests.explainer_for_limited_account": "Notifikationer fra denne konto er blevet filtreret, da kontoen er pålagt restriktioner af en moderator.",
"notification_requests.explainer_for_limited_remote_account": "Notifikationer fra denne konto er blevet filtreret, da kontoen eller dens server er pålagt restriktioner af en moderator.",
"notification_requests.maximize": "Maksimér",

View File

@ -518,19 +518,7 @@
"notification.status": "{name} hat gerade etwas gepostet",
"notification.update": "{name} bearbeitete einen Beitrag",
"notification_requests.accept": "Genehmigen",
"notification_requests.accept_all": "Alle genehmigen",
"notification_requests.accept_multiple": "{count, plural, one {# Anfrage genehmigen} other {# Anfragen genehmigen}}",
"notification_requests.confirm_accept_all.button": "Alle genehmigen",
"notification_requests.confirm_accept_all.message": "Du bist dabei, {{count, plural, one {eine Benachrichtigungsanfrage} other {# Benachrichtigungsanfragen}} zu genehmigen. Möchtest du wirklich fortfahren?",
"notification_requests.confirm_accept_all.title": "Benachrichtigungsanfragen genehmigen?",
"notification_requests.confirm_dismiss_all.button": "Alle ablehnen",
"notification_requests.confirm_dismiss_all.message": "Du bist dabei, {count, plural, one {eine Benachrichtigungsanfrage} other {# Benachrichtigungsanfragen}} abzulehnen. Du wirst nicht mehr ohne Weiteres auf {count, plural, one {sie} other {sie}} zugreifen können. Möchtest du wirklich fortfahren?",
"notification_requests.confirm_dismiss_all.title": "Benachrichtigungsanfragen ablehnen?",
"notification_requests.dismiss": "Ablehnen",
"notification_requests.dismiss_all": "Alle ablehnen",
"notification_requests.dismiss_multiple": "{count, plural, one {# Anfrage ablehnen} other {# Anfragen ablehnen}}",
"notification_requests.enter_selection_mode": "Auswählen",
"notification_requests.exit_selection_mode": "Abbrechen",
"notification_requests.explainer_for_limited_account": "Benachrichtigungen von diesem Konto wurden gefiltert, weil es durch Moderator*innen eingeschränkt wurde.",
"notification_requests.explainer_for_limited_remote_account": "Benachrichtigungen von diesem Konto wurden gefiltert, weil deren Konto oder Server durch Moderator*innen eingeschränkt wurde.",
"notification_requests.maximize": "Maximieren",

View File

@ -518,19 +518,7 @@
"notification.status": "Ο/Η {name} μόλις ανέρτησε κάτι",
"notification.update": "ο/η {name} επεξεργάστηκε μια ανάρτηση",
"notification_requests.accept": "Αποδοχή",
"notification_requests.accept_all": "Αποδοχή όλων",
"notification_requests.accept_multiple": "{count, plural, one {Αποδοχή # αιτήματος} other {Αποδοχή # αιτημάτων}}",
"notification_requests.confirm_accept_all.button": "Αποδοχή όλων",
"notification_requests.confirm_accept_all.message": "Πρόκειται να αποδεχτείς {count, plural, one {ένα αίτημα ειδοποίησης} other {# αιτήματα ειδοποίησης}}. Σίγουρα θες να συνεχίσεις;",
"notification_requests.confirm_accept_all.title": "Αποδοχή αιτήσεων ειδοποίησης;",
"notification_requests.confirm_dismiss_all.button": "Παράβλεψη όλων",
"notification_requests.confirm_dismiss_all.message": "Πρόκειται να απορρίψεις {count, plural, one {ένα αίτημα ειδοποίησης} other {# αιτήματα ειδοποίησης}}. Δεν θα μπορείς να έχεις πρόσβαση εύκολα {count, plural, one {σε αυτή} other {σε αυτές}} ξανά. Σίγουρα θες να συνεχίσεις;",
"notification_requests.confirm_dismiss_all.title": "Απόρριψη αιτημάτων ειδοποίησης;",
"notification_requests.dismiss": "Απόρριψη",
"notification_requests.dismiss_all": "Παράβλεψη όλων",
"notification_requests.dismiss_multiple": "{count, plural, one {Παράβλεψη # αιτήματος} other {Παράβλεψη # αιτημάτων}}",
"notification_requests.enter_selection_mode": "Επιλογή",
"notification_requests.exit_selection_mode": "Άκυρο",
"notification_requests.explainer_for_limited_account": "Οι ειδοποιήσεις από αυτόν τον λογαριασμό έχουν φιλτραριστεί επειδή ο λογαριασμός έχει περιοριστεί από έναν συντονιστή.",
"notification_requests.explainer_for_limited_remote_account": "Οι ειδοποιήσεις από αυτόν τον λογαριασμό έχουν φιλτραριστεί επειδή ο λογαριασμός ή ο διακομιστής του έχει περιοριστεί από έναν συντονιστή.",
"notification_requests.maximize": "Μεγιστοποίηση",

View File

@ -517,19 +517,7 @@
"notification.status": "{name} just posted",
"notification.update": "{name} edited a post",
"notification_requests.accept": "Accept",
"notification_requests.accept_all": "Accept all",
"notification_requests.accept_multiple": "{count, plural, one {Accept 1 request} other {Accept # requests}}",
"notification_requests.confirm_accept_all.button": "Accept all",
"notification_requests.confirm_accept_all.message": "You are about to accept {count, plural, one {one notification request} other {# notification requests}}. Are you sure you want to proceed?",
"notification_requests.confirm_accept_all.title": "Accept notification requests?",
"notification_requests.confirm_dismiss_all.button": "Dismiss all",
"notification_requests.confirm_dismiss_all.message": "You are about to dismiss {count, plural, one {one notification request} other {# notification requests}}. You won't be able to easily access {count, plural, one {it} other {them}} again. Are you sure you want to proceed?",
"notification_requests.confirm_dismiss_all.title": "Dismiss notification requests?",
"notification_requests.dismiss": "Dismiss",
"notification_requests.dismiss_all": "Dismiss all",
"notification_requests.dismiss_multiple": "{count, plural, one {Dismiss one request} other {Dismiss # requests}}",
"notification_requests.enter_selection_mode": "Select",
"notification_requests.exit_selection_mode": "Cancel",
"notification_requests.explainer_for_limited_account": "Notifications from this account have been filtered because the account has been limited by a moderator.",
"notification_requests.explainer_for_limited_remote_account": "Notifications from this account have been filtered because the account or its server has been limited by a moderator.",
"notification_requests.minimize_banner": "Minimize filtered notifications banner",

View File

@ -518,19 +518,17 @@
"notification.status": "{name} just posted",
"notification.update": "{name} edited a post",
"notification_requests.accept": "Accept",
"notification_requests.accept_all": "Accept all",
"notification_requests.accept_multiple": "{count, plural, one {Accept # request} other {Accept # requests}}",
"notification_requests.confirm_accept_all.button": "Accept all",
"notification_requests.confirm_accept_all.message": "You are about to accept {count, plural, one {one notification request} other {# notification requests}}. Are you sure you want to proceed?",
"notification_requests.confirm_accept_all.title": "Accept notification requests?",
"notification_requests.confirm_dismiss_all.button": "Dismiss all",
"notification_requests.confirm_dismiss_all.message": "You are about to dismiss {count, plural, one {one notification request} other {# notification requests}}. You won't be able to easily access {count, plural, one {it} other {them}} again. Are you sure you want to proceed?",
"notification_requests.confirm_dismiss_all.title": "Dismiss notification requests?",
"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": "You are about to accept {count, plural, one {one notification request} other {# notification requests}}. Are you sure you want to proceed?",
"notification_requests.confirm_accept_multiple.title": "Accept notification requests?",
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Dismiss request} other {Dismiss requests}}",
"notification_requests.confirm_dismiss_multiple.message": "You are about to dismiss {count, plural, one {one notification request} other {# notification requests}}. You won't be able to easily access {count, plural, one {it} other {them}} again. Are you sure you want to proceed?",
"notification_requests.confirm_dismiss_multiple.title": "Dismiss notification requests?",
"notification_requests.dismiss": "Dismiss",
"notification_requests.dismiss_all": "Dismiss all",
"notification_requests.dismiss_multiple": "{count, plural, one {Dismiss # request} other {Dismiss # requests}}",
"notification_requests.enter_selection_mode": "Select",
"notification_requests.exit_selection_mode": "Cancel",
"notification_requests.dismiss_multiple": "{count, plural, one {Dismiss # request…} other {Dismiss # requests…}}",
"notification_requests.edit_selection": "Edit",
"notification_requests.exit_selection": "Done",
"notification_requests.explainer_for_limited_account": "Notifications from this account have been filtered because the account has been limited by a moderator.",
"notification_requests.explainer_for_limited_remote_account": "Notifications from this account have been filtered because the account or its server has been limited by a moderator.",
"notification_requests.maximize": "Maximize",

View File

@ -518,19 +518,7 @@
"notification.status": "{name} acaba de enviar un mensaje",
"notification.update": "{name} editó un mensaje",
"notification_requests.accept": "Aceptar",
"notification_requests.accept_all": "Aceptar todas",
"notification_requests.accept_multiple": "{count, plural, one {Aceptar # solicitud} other {Aceptar # solicitudes}}",
"notification_requests.confirm_accept_all.button": "Aceptar todas",
"notification_requests.confirm_accept_all.message": "Estás a punto de aceptar {count, plural, one {una solicitud} other {# solicitudes}}. ¿Estás seguro de que querés continuar?",
"notification_requests.confirm_accept_all.title": "¿Aceptar solicitudes de notificación?",
"notification_requests.confirm_dismiss_all.button": "Descartar todas",
"notification_requests.confirm_dismiss_all.message": "Estás a punto de descartar {count, plural, one {una solicitud} other {# solicitudes}}. No vas a poder acceder fácilmente a {count, plural, one {ella} other {ellas}} de nuevo. ¿Estás seguro de que querés continuar?",
"notification_requests.confirm_dismiss_all.title": "¿Descartar solicitudes de notificación?",
"notification_requests.dismiss": "Descartar",
"notification_requests.dismiss_all": "Descartar todas",
"notification_requests.dismiss_multiple": "{count, plural, one {Descartar # solicitud} other {Descartar # solicitudes}}",
"notification_requests.enter_selection_mode": "Seleccionar",
"notification_requests.exit_selection_mode": "Cancelar",
"notification_requests.explainer_for_limited_account": "Las notificaciones de esta cuenta fueron filtradas porque la misma fue limitada por un moderador.",
"notification_requests.explainer_for_limited_remote_account": "Las notificaciones de esta cuenta fueron filtradas porque la cuenta o su servidor fueron limitados por un moderador.",
"notification_requests.maximize": "Maximizar",

View File

@ -518,19 +518,7 @@
"notification.status": "{name} acaba de publicar",
"notification.update": "{name} editó una publicación",
"notification_requests.accept": "Aceptar",
"notification_requests.accept_all": "Aceptar todas",
"notification_requests.accept_multiple": "{count, plural, one {Aceptar # solicitud} other {Aceptar # solicitudes}}",
"notification_requests.confirm_accept_all.button": "Aceptar todas",
"notification_requests.confirm_accept_all.message": "Vas a aceptar {count, plural, one {una solicitud} other {# solicitudes}}. ¿Estás seguro de que quieres continuar?",
"notification_requests.confirm_accept_all.title": "¿Aceptar todas las solicitudes?",
"notification_requests.confirm_dismiss_all.button": "Descartar todas",
"notification_requests.confirm_dismiss_all.message": "Vas a descartar {count, plural, one {una solicitud} other {# solicitudes}}. No vas a poder acceder fácilmente a {count, plural, one {ella} other {ellas}} de nuevo. ¿Estás seguro de que quieres continuar?",
"notification_requests.confirm_dismiss_all.title": "¿Descartar todas las solicitudes?",
"notification_requests.dismiss": "Descartar",
"notification_requests.dismiss_all": "Descartar todas",
"notification_requests.dismiss_multiple": "{count, plural, one {Descartar # solicitud} other {Descartar # solicitudes}}",
"notification_requests.enter_selection_mode": "Seleccionar",
"notification_requests.exit_selection_mode": "Cancelar",
"notification_requests.explainer_for_limited_account": "Las notificaciones de esta cuenta han sido filtradas porque la cuenta ha sido limitada por un moderador.",
"notification_requests.explainer_for_limited_remote_account": "Las notificaciones de esta cuenta han sido filtradas porque la cuenta o su servidor ha sido limitada por un moderador.",
"notification_requests.maximize": "Maximizar",

View File

@ -518,19 +518,7 @@
"notification.status": "{name} acaba de publicar",
"notification.update": "{name} editó una publicación",
"notification_requests.accept": "Aceptar",
"notification_requests.accept_all": "Aceptar todas",
"notification_requests.accept_multiple": "{count, plural, one {Aceptar # solicitud} other {Aceptar # solicitudes}}",
"notification_requests.confirm_accept_all.button": "Aceptar todas",
"notification_requests.confirm_accept_all.message": "Vas a aceptar {count, plural, one {una solicitud} other {# solicitudes}}. ¿Estás seguro de que quieres continuar?",
"notification_requests.confirm_accept_all.title": "¿Aceptar todas las solicitudes?",
"notification_requests.confirm_dismiss_all.button": "Descartar todas",
"notification_requests.confirm_dismiss_all.message": "Vas a descartar {count, plural, one {una solicitud} other {# solicitudes}}. No vas a poder acceder fácilmente a {count, plural, one {ella} other {ellas}} de nuevo. ¿Estás seguro de que quieres continuar?",
"notification_requests.confirm_dismiss_all.title": "¿Descartar todas las solicitudes?",
"notification_requests.dismiss": "Descartar",
"notification_requests.dismiss_all": "Descartar todas",
"notification_requests.dismiss_multiple": "{count, plural, one {Descartar # solicitud} other {Descartar # solicitudes}}",
"notification_requests.enter_selection_mode": "Seleccionar",
"notification_requests.exit_selection_mode": "Cancelar",
"notification_requests.explainer_for_limited_account": "Las notificaciones de esta cuenta han sido filtradas porque la cuenta ha sido limitada por un moderador.",
"notification_requests.explainer_for_limited_remote_account": "Las notificaciones de esta cuenta han sido filtradas porque la cuenta o su servidor ha sido limitada por un moderador.",
"notification_requests.maximize": "Maximizar",

View File

@ -502,15 +502,7 @@
"notification.status": "{name} erabiltzaileak bidalketa egin berri du",
"notification.update": "{name} erabiltzaileak bidalketa bat editatu du",
"notification_requests.accept": "Onartu",
"notification_requests.accept_all": "Onartu dena",
"notification_requests.confirm_accept_all.button": "Onartu dena",
"notification_requests.confirm_accept_all.title": "Onartu jakinarazpen-eskaerak?",
"notification_requests.confirm_dismiss_all.button": "Baztertu guztiak",
"notification_requests.confirm_dismiss_all.title": "Baztertu jakinarazpen-eskaerak?",
"notification_requests.dismiss": "Baztertu",
"notification_requests.dismiss_all": "Baztertu guztiak",
"notification_requests.enter_selection_mode": "Hautatu",
"notification_requests.exit_selection_mode": "Utzi",
"notification_requests.maximize": "Maximizatu",
"notification_requests.notifications_from": "{name} erabiltzailearen jakinarazpenak",
"notification_requests.title": "Iragazitako jakinarazpenak",

View File

@ -518,19 +518,17 @@
"notification.status": "{name} julkaisi juuri",
"notification.update": "{name} muokkasi julkaisua",
"notification_requests.accept": "Hyväksy",
"notification_requests.accept_all": "Hyväksy kaikki",
"notification_requests.accept_multiple": "{count, plural, one {Hyväksy # pyyntö} other {Hyväksy # pyyntöä}}",
"notification_requests.confirm_accept_all.button": "Hyväksy kaikki",
"notification_requests.confirm_accept_all.message": "Olet aikeissa hyväksyä {count, plural, one {ilmoituspyynnön} other {# ilmoituspyyntöä}}. Haluatko varmasti jatkaa?",
"notification_requests.confirm_accept_all.title": "Hyväksytäänkö ilmoituspyynnöt?",
"notification_requests.confirm_dismiss_all.button": "Hylkää kaikki",
"notification_requests.confirm_dismiss_all.message": "Olet aikeissa hylätä {count, plural, one {ilmoituspyynnön} other {# ilmoituspyyntöä}}. Et saa {count, plural, one {sitä} other {niitä}} enää helposti takaisin. Haluatko varmasti jatkaa?",
"notification_requests.confirm_dismiss_all.title": "Hylätäänkö ilmoituspyynnöt?",
"notification_requests.accept_multiple": "{count, plural, one {Hyväksy # pyyntö…} other {Hyväksy # pyyntöä…}}",
"notification_requests.confirm_accept_multiple.button": "{count, plural, one {Hyväksy pyyntö} other {Hyväksy pyynnöt}}",
"notification_requests.confirm_accept_multiple.message": "Olet aikeissa hyväksyä {count, plural, one {ilmoituspyynnön} other {# ilmoituspyyntöä}}. Haluatko varmasti jatkaa?",
"notification_requests.confirm_accept_multiple.title": "Hyväksytäänkö ilmoituspyynnöt?",
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Hylkää pyyntö} other {Hylkää pyynnöt}}",
"notification_requests.confirm_dismiss_multiple.message": "Olet aikeissa hylätä {count, plural, one {ilmoituspyynnön} other {# ilmoituspyyntöä}}. Et saa {count, plural, one {sitä} other {niitä}} enää helposti takaisin. Haluatko varmasti jatkaa?",
"notification_requests.confirm_dismiss_multiple.title": "Hylätäänkö ilmoituspyynnöt?",
"notification_requests.dismiss": "Hylkää",
"notification_requests.dismiss_all": "Hylkää kaikki",
"notification_requests.dismiss_multiple": "{count, plural, one {Hylkää # pyyntö} other {Hylkää # pyyntöä}}",
"notification_requests.enter_selection_mode": "Valitse",
"notification_requests.exit_selection_mode": "Peruuta",
"notification_requests.dismiss_multiple": "{count, plural, one {Hylkää # pyyntö…} other {Hylkää # pyyntöä…}}",
"notification_requests.edit_selection": "Muokkaa",
"notification_requests.exit_selection": "Valmis",
"notification_requests.explainer_for_limited_account": "Tähän tiliin liittyvät ilmoitukset on suodatettu, koska moderaattori on rajoittanut tiliä.",
"notification_requests.explainer_for_limited_remote_account": "Tähän tiliin liittyvät ilmoitukset on suodatettu, koska moderaattori on rajoittanut tiliä tai sen palvelinta.",
"notification_requests.maximize": "Suurenna",
@ -589,7 +587,7 @@
"notifications.policy.filter_not_following_hint": "Kunnes hyväksyt heidät manuaalisesti",
"notifications.policy.filter_not_following_title": "Käyttäjät, joita et seuraa",
"notifications.policy.filter_private_mentions_hint": "Suodatetaan, ellei se ole vastaus omaan mainintaasi tai ellet seuraa lähettäjää",
"notifications.policy.filter_private_mentions_title": "Ei-toivotut yksityismaininnat",
"notifications.policy.filter_private_mentions_title": "Pyytämättömät yksityismaininnat",
"notifications.policy.title": "Hallitse ilmoituksia kohteesta…",
"notifications_permission_banner.enable": "Ota työpöytäilmoitukset käyttöön",
"notifications_permission_banner.how_to_control": "Saadaksesi ilmoituksia, kun Mastodon ei ole auki, ota työpöytäilmoitukset käyttöön. Voit hallita tarkasti, mistä saat työpöytäilmoituksia kun ilmoitukset on otettu käyttöön yllä olevan {icon}-painikkeen kautta.",

View File

@ -518,19 +518,7 @@
"notification.status": "{name} hevur júst postað",
"notification.update": "{name} rættaði ein post",
"notification_requests.accept": "Góðtak",
"notification_requests.accept_all": "Góðtak alt",
"notification_requests.accept_multiple": "{count, plural, one {Góðtak # umbøn} other {Góðtak # umbønir}}",
"notification_requests.confirm_accept_all.button": "Góðtak alt",
"notification_requests.confirm_accept_all.message": "Tú er í ferð við at góðtaka {count, plural, one {eina fráboðanarumbøn} other {# fráboðanarumbønir}}. Er tú vís/ur í at tú vilt halda fram?",
"notification_requests.confirm_accept_all.title": "Góðtekur tú umbøn um fráboðan?",
"notification_requests.confirm_dismiss_all.button": "Vraka alt",
"notification_requests.confirm_dismiss_all.message": "Tú ert í ferð við at kveistra burtur {count, plural, one {eina fráboðanarumbøn} other {# fráboðanarumbønir}}. Tað verður ikki lætt hjá tær at fáa atgongd til {count, plural, one {hana} other {tær}} aftur. Er tú vís/ur í, at tú vil halda fram?",
"notification_requests.confirm_dismiss_all.title": "Kveistra burtur fráboðanarumbønir?",
"notification_requests.dismiss": "Avvís",
"notification_requests.dismiss_all": "Vraka alt",
"notification_requests.dismiss_multiple": "{count, plural, one {Kveistra burtur # umbøn} other {Kveistra burtur # umbønir}}",
"notification_requests.enter_selection_mode": "Vel",
"notification_requests.exit_selection_mode": "Strika",
"notification_requests.explainer_for_limited_account": "Fráboðanir frá hesi kontuni eru filtreraðar burtur, tí kontan er avmarkað av einum umsjónarfólki.",
"notification_requests.explainer_for_limited_remote_account": "Fráboðanir frá hesi kontuni eru filtreraðar burtur, tí kontan ella ambætarin hjá kontuni eru avmarkaði av einum umsjónarfólki.",
"notification_requests.maximize": "Mesta",

View File

@ -490,9 +490,6 @@
"notification.status": "{name} vient de publier",
"notification.update": "{name} a modifié une publication",
"notification_requests.accept": "Accepter",
"notification_requests.accept_all": "Tout accepter",
"notification_requests.confirm_accept_all.button": "Tout accepter",
"notification_requests.confirm_dismiss_all.button": "Tout rejeter",
"notification_requests.dismiss": "Rejeter",
"notification_requests.notifications_from": "Notifications de {name}",
"notification_requests.title": "Notifications filtrées",

View File

@ -490,9 +490,6 @@
"notification.status": "{name} vient de publier",
"notification.update": "{name} a modifié un message",
"notification_requests.accept": "Accepter",
"notification_requests.accept_all": "Tout accepter",
"notification_requests.confirm_accept_all.button": "Tout accepter",
"notification_requests.confirm_dismiss_all.button": "Tout rejeter",
"notification_requests.dismiss": "Rejeter",
"notification_requests.notifications_from": "Notifications de {name}",
"notification_requests.title": "Notifications filtrées",

View File

@ -518,19 +518,7 @@
"notification.status": "Phostáil {name} díreach",
"notification.update": "Chuir {name} postáil in eagar",
"notification_requests.accept": "Glac",
"notification_requests.accept_all": "Glac le gach",
"notification_requests.accept_multiple": "{count, plural, one {Glac le # iarratas} two {Glac le # iarratas} few {Glac le # iarratas} many {Glac le # iarratas} other {Glac le # iarratais}}",
"notification_requests.confirm_accept_all.button": "Glac le gach",
"notification_requests.confirm_accept_all.message": "Tá tú ar tí glacadh le {count, plural, one {iarratas fógra amháin} two {# iarratas fógra} few {# iarratas fógra} many {# iarratas fógra} other {# iarratais fógra}}. An bhfuil tú cinnte gur mian leat leanúint ar aghaidh?",
"notification_requests.confirm_accept_all.title": "Glac le hiarratais ar fhógra?",
"notification_requests.confirm_dismiss_all.button": "Ruaig gach",
"notification_requests.confirm_dismiss_all.message": "Tá tú ar tí neamhaird a dhéanamh ar {count, plural, one {iarratas fógra amháin} two {# iarratas fógra} few {# iarratas fógra} many {# iarratas fógra} other {# iarratais fógra}}. Ní bheidh tú in ann {count, plural, one {é} two {iad} few {iad} many {iad} other {iad}} a rochtain go héasca arís. An bhfuil tú cinnte gur mian leat leanúint ar aghaidh?",
"notification_requests.confirm_dismiss_all.title": "An bhfuil fonn ort iarratais ar fhógra a dhíbhe?",
"notification_requests.dismiss": "Díbhe",
"notification_requests.dismiss_all": "Ruaig gach",
"notification_requests.dismiss_multiple": "{count, plural, one {Neamhaird a dhéanamh ar # iarratas} two {Neamhaird a dhéanamh ar # iarratas} few {Neamhaird a dhéanamh ar # iarratas} many {Neamhaird a dhéanamh ar # iarratas} other {Neamhaird a dhéanamh ar # iarratais}}",
"notification_requests.enter_selection_mode": "Roghnaigh",
"notification_requests.exit_selection_mode": "Cealaigh",
"notification_requests.explainer_for_limited_account": "Scagadh fógraí ón gcuntas seo toisc go bhfuil an cuntas teoranta ag modhnóir.",
"notification_requests.explainer_for_limited_remote_account": "Scagadh fógraí ón gcuntas seo toisc go bhfuil an cuntas nó a fhreastalaí teoranta ag modhnóir.",
"notification_requests.maximize": "Uasmhéadaigh",

View File

@ -518,19 +518,7 @@
"notification.status": "Phostaich {name} rud",
"notification.update": "Dheasaich {name} post",
"notification_requests.accept": "Gabh ris",
"notification_requests.accept_all": "Gabh ris na h-uile",
"notification_requests.accept_multiple": "{count, plural, one {Gabh ri # iarrtas} two {Gabh ri # iarrtas} few {Gabh ri # iarrtasan} other {Gabh ri # iarrtas}}",
"notification_requests.confirm_accept_all.button": "Gabh ris na h-uile",
"notification_requests.confirm_accept_all.message": "Tha thu gu bhith gabhail ri {count, plural, one {# iarrtas bratha} two {# iarrtas bratha} few {# iarrtasan bratha} other {# iarrtas bratha}} a leigeil seachad. A bheil thu cinnteach gu bheil thu airson leantainn air adhart?",
"notification_requests.confirm_accept_all.title": "A bheil thu airson gabhail ri iarrtasan bratha?",
"notification_requests.confirm_dismiss_all.button": "Leig seachad na h-uile",
"notification_requests.confirm_dismiss_all.message": "Tha thu gu bhith {count, plural, one {# iarrtas bratha} two {# iarrtas bratha} few {# iarrtasan bratha} other {# iarrtas bratha}} a leigeil seachad. Chan fhaigh thu grèim {count, plural, one {air} two {orra} few {orra} other {orra}} a-rithist gun duilgheadas. A bheil thu cinnteach gu bheil thu airson leantainn air adhart?",
"notification_requests.confirm_dismiss_all.title": "A bheil thu airson iarrtasan bratha a leigeil seachad?",
"notification_requests.dismiss": "Leig seachad",
"notification_requests.dismiss_all": "Leig seachad na h-uile",
"notification_requests.dismiss_multiple": "{count, plural, one {Leig seachad # iarrtas} two {Leig seachad # iarrtas} few {Leig seachad # iarrtasan} other {Leig seachad # iarrtas}}",
"notification_requests.enter_selection_mode": "Tagh",
"notification_requests.exit_selection_mode": "Sguir dheth",
"notification_requests.explainer_for_limited_account": "Chaidh na brathan on chunntas seo a chriathradh on a chaidh an cunntas a chuingeachadh le maor.",
"notification_requests.explainer_for_limited_remote_account": "Chaidh na brathan on chunntas seo a chriathradh on a chaidh an cunntas no am frithealaiche aige a chuingeachadh le maor.",
"notification_requests.maximize": "Làn-mheudaich",

View File

@ -518,19 +518,7 @@
"notification.status": "{name} publicou",
"notification.update": "{name} editou unha publicación",
"notification_requests.accept": "Aceptar",
"notification_requests.accept_all": "Aceptar todo",
"notification_requests.accept_multiple": "{count, plural, one {Aceptar # solicitude} other {Acceptar # solicitudes}}",
"notification_requests.confirm_accept_all.button": "Aceptar todo",
"notification_requests.confirm_accept_all.message": "Vas aceptar {count, plural, one {unha solicitude de notificación} other {# solicitudes de notificación}}. Tes certeza de querer aceptalas?",
"notification_requests.confirm_accept_all.title": "Aceptar solicitudes de notificación?",
"notification_requests.confirm_dismiss_all.button": "Rexeitar todo",
"notification_requests.confirm_dismiss_all.message": "Vas rexeitar {count, plural, one {unha solicitude de notificación} other {# solicitudes de notificacións}}. Será complicado volver a {count, plural, one {vela} other {velas}}. Tes certeza de rexeitar?",
"notification_requests.confirm_dismiss_all.title": "Rexeitar solicitudes de notificacións?",
"notification_requests.dismiss": "Desbotar",
"notification_requests.dismiss_all": "Rexeitar todo",
"notification_requests.dismiss_multiple": "{count, plural, one {Rexeitar # solicitude} other {Rexeitar # solicitudes}}",
"notification_requests.enter_selection_mode": "Escoller",
"notification_requests.exit_selection_mode": "Desbotar",
"notification_requests.explainer_for_limited_account": "Filtráronse as notificacións desta conta porque a conta ten limitacións impostas pola moderación.",
"notification_requests.explainer_for_limited_remote_account": "Filtráronse as notificacións desta conta porque a conta ou o seu servidor teñen limitacións impostas pola moderación.",
"notification_requests.maximize": "Maximizar",

View File

@ -518,19 +518,7 @@
"notification.status": "{name} הרגע פרסמו",
"notification.update": "{name} ערכו הודעה",
"notification_requests.accept": "לקבל",
"notification_requests.accept_all": "לקבל את כל הבקשות",
"notification_requests.accept_multiple": "{count, plural,one {לאשר קבלת בקשה}other {לאשר קבלת # בקשות}}",
"notification_requests.confirm_accept_all.button": "לקבל את כל הבקשות",
"notification_requests.confirm_accept_all.message": "אתם עומדים לאשר {count, plural,one {בקשת התראה אחת}other {# בקשות התראה}}. להמשיך?",
"notification_requests.confirm_accept_all.title": "לקבל בקשות התראה?",
"notification_requests.confirm_dismiss_all.button": "דחיית כל הבקשות",
"notification_requests.confirm_dismiss_all.message": "אתם עומדים לדחות {count, plural,one {בקשת התראה}other {# בקשות התראה}}. לא תוכלו למצוא {count, plural,one {אותה}other {אותן}} בקלות אחר כך. להמשיך?",
"notification_requests.confirm_dismiss_all.title": "לדחות בקשות התראה?",
"notification_requests.dismiss": "לבטל",
"notification_requests.dismiss_all": "דחיית כל הבקשות",
"notification_requests.dismiss_multiple": "{count, plural,one {לדחות בקשה}other {לדחות # בקשות}} לקבלת התראה",
"notification_requests.enter_selection_mode": "בחירה",
"notification_requests.exit_selection_mode": "ביטול",
"notification_requests.explainer_for_limited_account": "התראות על פעולות חשבון זה סוננו כי חשבון זה הוגבל על ידי מנהלי הדיונים.",
"notification_requests.explainer_for_limited_remote_account": "התראות על פעולות חשבון זה סוננו כי חשבון זה או השרת שלו הוגבלו על ידי מנהלי הדיונים.",
"notification_requests.maximize": "הגדלה למקסימום",

View File

@ -518,19 +518,7 @@
"notification.status": "{name} bejegyzést tett közzé",
"notification.update": "{name} szerkesztett egy bejegyzést",
"notification_requests.accept": "Elfogadás",
"notification_requests.accept_all": "Összes elfogadása",
"notification_requests.accept_multiple": "{count, plural, one {# kérés elfogadása} other {# kérés elfogadása}}",
"notification_requests.confirm_accept_all.button": "Összes elfogadása",
"notification_requests.confirm_accept_all.message": "Elfogadni készülsz {count, plural, one {egy értesítési kérést} other {# értesítési kérést}}. Biztosan folytatod?",
"notification_requests.confirm_accept_all.title": "Értesítési kérés elfogadása?",
"notification_requests.confirm_dismiss_all.button": "Összes elutasítása",
"notification_requests.confirm_dismiss_all.message": "{count, plural, one {Egy értesítési kérés} other {# értesítési kérés}} elvetésére készülsz. Többé nem fogsz {count, plural, one {hozzáférni} other {hozzájuk férni}}. Biztosan folytatod?",
"notification_requests.confirm_dismiss_all.title": "Értesítési kérések elvetése?",
"notification_requests.dismiss": "Elvetés",
"notification_requests.dismiss_all": "Összes elutasítása",
"notification_requests.dismiss_multiple": "{count, plural, one {# kérés elvetése} other {# kérés elvetése}}",
"notification_requests.enter_selection_mode": "Kiválasztás",
"notification_requests.exit_selection_mode": "Mégse",
"notification_requests.explainer_for_limited_account": "Az ettől a fióktól származó értesítéseket kiszűrték, mert a fiókot egy moderátor korlátozta.",
"notification_requests.explainer_for_limited_remote_account": "Az ettől a fióktól származó értesítéseket kiszűrték, mert a fiókot vagy annak kiszolgálóját egy moderátor korlátozta.",
"notification_requests.maximize": "Maximalizálás",

View File

@ -113,7 +113,6 @@
"navigation_bar.lists": "Ndepụta",
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
"notification.reblog": "{name} boosted your status",
"notification_requests.enter_selection_mode": "Họrọ",
"onboarding.actions.go_to_explore": "See what's trending",
"onboarding.actions.go_to_home": "Go to your home feed",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",

View File

@ -518,19 +518,7 @@
"notification.status": "{name} sendi inn rétt í þessu",
"notification.update": "{name} breytti færslu",
"notification_requests.accept": "Samþykkja",
"notification_requests.accept_all": "Samþykkja alla",
"notification_requests.accept_multiple": "{count, plural, one {Samþykkja # beiðni} other {Samþykkja # beiðnir}}",
"notification_requests.confirm_accept_all.button": "Samþykkja alla",
"notification_requests.confirm_accept_all.message": "Þú ert að fara að samþykkja {count, plural, one {eina beiðni um tilkynningar} other {# beiðnir um tilkynningar}}. Ertu viss um að þú viljir halda áfram?",
"notification_requests.confirm_accept_all.title": "Samþykkja beiðnir um tilkynningar?",
"notification_requests.confirm_dismiss_all.button": "Hunsa allt",
"notification_requests.confirm_dismiss_all.message": "Þú ert að fara að hunsa {count, plural, one {eina beiðni um tilkynningar} other {# beiðnir um tilkynningar}}. Þú munt ekki eiga auðvelt með að skoða {count, plural, one {hana} other {þær}} aftur síðar. Ertu viss um að þú viljir halda áfram?",
"notification_requests.confirm_dismiss_all.title": "Hunsa beiðnir um tilkynningar?",
"notification_requests.dismiss": "Afgreiða",
"notification_requests.dismiss_all": "Hunsa allt",
"notification_requests.dismiss_multiple": "{count, plural, one {Afgreiða # beiðni} other {Afgreiða # beiðnir}}",
"notification_requests.enter_selection_mode": "Velja",
"notification_requests.exit_selection_mode": "Hætta við",
"notification_requests.explainer_for_limited_account": "Tilkynningar frá þessum notanda hafa verið síaðar þar sem aðgangur hans hefur verið takmarkaður af umsjónarmanni.",
"notification_requests.explainer_for_limited_remote_account": "Tilkynningar frá þessum notanda hafa verið síaðar þar sem aðgangurinn eða netþjónn hans hefur verið takmarkaður af umsjónarmanni.",
"notification_requests.maximize": "Hámarka",

View File

@ -518,19 +518,7 @@
"notification.status": "{name} ha appena pubblicato un post",
"notification.update": "{name} ha modificato un post",
"notification_requests.accept": "Accetta",
"notification_requests.accept_all": "Accetta tutte",
"notification_requests.accept_multiple": "{count, plural,one {Accetta # richiesta} other {Accetta # richieste}}",
"notification_requests.confirm_accept_all.button": "Accetta tutte",
"notification_requests.confirm_accept_all.message": "Stai per accettare {count, plural, one {una richiesta di notifica} other {# richieste di notifica}}. Si è sicuri di voler procedere?",
"notification_requests.confirm_accept_all.title": "Accettare le richieste di notifica?",
"notification_requests.confirm_dismiss_all.button": "Ignora tutte",
"notification_requests.confirm_dismiss_all.message": "Stai per ignorare {count, plural, one {una richiesta di notifica} other {# richieste di notifica}}. Non sarai più in grado di accedere facilmente {count, plural, one {ad essa} other {ad esse}} nuovamente. Si è sicuri di voler procedere?",
"notification_requests.confirm_dismiss_all.title": "Ignorare le richieste di notifica?",
"notification_requests.dismiss": "Ignora",
"notification_requests.dismiss_all": "Ignora tutte",
"notification_requests.dismiss_multiple": "{count, plural, one {Ignora # richiesta} other {Ignora # richieste}}",
"notification_requests.enter_selection_mode": "Seleziona",
"notification_requests.exit_selection_mode": "Annulla",
"notification_requests.explainer_for_limited_account": "Le notifiche provenienti da questo account sono state filtrate perché l'account è stato limitato da un moderatore.",
"notification_requests.explainer_for_limited_remote_account": "Le notifiche provenienti da questo account sono state filtrate perché l'account o il suo server sono stati limitati da un moderatore.",
"notification_requests.maximize": "Ingrandisci",

View File

@ -403,7 +403,6 @@
"notification.status": "{name} akken i d-yessufeɣ",
"notification_requests.accept": "Qbel",
"notification_requests.dismiss": "Agi",
"notification_requests.exit_selection_mode": "Sefsex",
"notification_requests.notifications_from": "Alɣuten sɣur {name}",
"notifications.clear": "Sfeḍ alɣuten",
"notifications.clear_confirmation": "Tebɣiḍ s tidet ad tekkseḍ akk alɣuten-inek·em i lebda?",

View File

@ -516,19 +516,7 @@
"notification.status": "{name} 님이 방금 게시물을 올렸습니다",
"notification.update": "{name} 님이 게시물을 수정했습니다",
"notification_requests.accept": "수락",
"notification_requests.accept_all": "모두 수락",
"notification_requests.accept_multiple": "{count, plural, other {#개의 요청 수락하기}}",
"notification_requests.confirm_accept_all.button": "모두 수락",
"notification_requests.confirm_accept_all.message": "{count, plural, other {#개의 요청}}을 수락하려 합니다. 계속 진행할까요?",
"notification_requests.confirm_accept_all.title": "알림 요청을 수락할까요?",
"notification_requests.confirm_dismiss_all.button": "모두 지우기",
"notification_requests.confirm_dismiss_all.message": "{count, plural, other {#개의 요청}}을 지우려고 합니다. {count, plural, other {}}다시 접근하기 어렵습니다. 계속할까요?",
"notification_requests.confirm_dismiss_all.title": "알림 요청을 지울까요?",
"notification_requests.dismiss": "지우기",
"notification_requests.dismiss_all": "모두 지우기",
"notification_requests.dismiss_multiple": "{count, plural, other {#개의 요청 지우기}}",
"notification_requests.enter_selection_mode": "선택",
"notification_requests.exit_selection_mode": "취소",
"notification_requests.explainer_for_limited_account": "이 계정은 중재자에 의해 제한되었기 때문에 이 계정의 알림은 걸러졌습니다.",
"notification_requests.explainer_for_limited_remote_account": "이 계정 혹은 그가 속한 서버는 중재자에 의해 제한되었기 때문에 이 계정의 알림은 걸러졌습니다.",
"notification_requests.maximize": "최대화",

View File

@ -475,11 +475,7 @@
"notification.status": "{name} publiko algo",
"notification.update": "{name} edito una publikasyon",
"notification_requests.accept": "Acheta",
"notification_requests.accept_all": "Acheta todos",
"notification_requests.confirm_accept_all.button": "Acheta todos",
"notification_requests.dismiss": "Kita",
"notification_requests.enter_selection_mode": "Eskoje",
"notification_requests.exit_selection_mode": "Anula",
"notification_requests.notifications_from": "Avizos de {name}",
"notification_requests.title": "Avizos filtrados",
"notification_requests.view": "Amostra avizos",

View File

@ -516,19 +516,7 @@
"notification.status": "{name} ką tik paskelbė",
"notification.update": "{name} redagavo įrašą",
"notification_requests.accept": "Priimti",
"notification_requests.accept_all": "Priimti visus",
"notification_requests.accept_multiple": "{count, plural, one {Priimti # prašymą} few {Priimti # prašymus} many {Priimti # prašymo} other {Priimti # prašymų}}",
"notification_requests.confirm_accept_all.button": "Priimti visus",
"notification_requests.confirm_accept_all.message": "Ketini priimti {count, plural, one {# pranešimo prašymą} few {# pranešimų prašymus} many {# pranešimo prašymo} other {# pranešimų prašymų}}. Ar tikrai nori tęsti?",
"notification_requests.confirm_accept_all.title": "Priimti pranešimų prašymus?",
"notification_requests.confirm_dismiss_all.button": "Atmesti visus",
"notification_requests.confirm_dismiss_all.message": "Ketini atmesti {count, plural, one {# pranešimo prašymą} few {# pranešimų prašymus} many {# pranešimo prašymo} other {# pranešimų prašymų}}. Daugiau negalėsi lengvai pasiekti {count, plural, one {jo} few {jų} many {juos} other {jų}}. Ar tikrai nori tęsti?",
"notification_requests.confirm_dismiss_all.title": "Atmesti pranešimų prašymus?",
"notification_requests.dismiss": "Atmesti",
"notification_requests.dismiss_all": "Atmesti visus",
"notification_requests.dismiss_multiple": "{count, plural, one {Atmesti # prašymą} few {Atmesti # prašymus} many {Atmesti # prašymo} other {Atmesti # prašymų}}",
"notification_requests.enter_selection_mode": "Pasirinkti",
"notification_requests.exit_selection_mode": "Atšaukti",
"notification_requests.explainer_for_limited_account": "Pranešimai iš šios paskyros buvo filtruojami, nes prižiūrėtojas (-a) apribojo paskyrą.",
"notification_requests.explainer_for_limited_remote_account": "Pranešimai iš šios paskyros buvo filtruojami, nes prižiūrėtojas (-a) apribojo paskyrą arba serverį.",
"notification_requests.maximize": "Padidinti",

View File

@ -518,19 +518,7 @@
"notification.status": "{name} heeft zojuist een bericht geplaatst",
"notification.update": "{name} heeft een bericht bewerkt",
"notification_requests.accept": "Accepteren",
"notification_requests.accept_all": "Alles accepteren",
"notification_requests.accept_multiple": "{count, plural, one {# verzoek accepteren} other {# verzoeken accepteren}}",
"notification_requests.confirm_accept_all.button": "Alles accepteren",
"notification_requests.confirm_accept_all.message": "Je staat op het punt om {count, plural, one {een meldingsverzoek} other {# meldingsverzoeken}} te accepteren. Wil je doorgaan?",
"notification_requests.confirm_accept_all.title": "Meldingsverzoeken accepteren?",
"notification_requests.confirm_dismiss_all.button": "Alles afwijzen",
"notification_requests.confirm_dismiss_all.message": "Je staat op het punt om {count, plural, one {een meldingsverzoek} other {# meldingsverzoeken}} af te wijzen. Je zult niet in staat zijn om {count, plural, one {hier} other {hier}} weer gemakkelijk toegang toe te krijgen. Wil je doorgaan?",
"notification_requests.confirm_dismiss_all.title": "Meldingsverzoeken afwijzen?",
"notification_requests.dismiss": "Afwijzen",
"notification_requests.dismiss_all": "Alles afwijzen",
"notification_requests.dismiss_multiple": "{count, plural, one {# verzoek afwijzen} other {# verzoeken afwijzen}}",
"notification_requests.enter_selection_mode": "Selecteren",
"notification_requests.exit_selection_mode": "Annuleren",
"notification_requests.explainer_for_limited_account": "Meldingen van dit account zijn gefilterd omdat dit account door een moderator is beperkt.",
"notification_requests.explainer_for_limited_remote_account": "Meldingen van dit account zijn gefilterd omdat dit account of diens server door een moderator is beperkt.",
"notification_requests.maximize": "Maximaliseren",

View File

@ -518,19 +518,7 @@
"notification.status": "{name} la nettopp ut",
"notification.update": "{name} redigerte eit innlegg",
"notification_requests.accept": "Godkjenn",
"notification_requests.accept_all": "Godta alle",
"notification_requests.accept_multiple": "{count, plural, one {Godta # førespurnad} other {Godta # førespurnader}}",
"notification_requests.confirm_accept_all.button": "Godta alle",
"notification_requests.confirm_accept_all.message": "Du er i ferd med å godta {count, plural, one {ein førespurnad om å fylgja deg} other {# førespurnader om å fylgja deg}}. Er du sikker på at du vil halda fram?",
"notification_requests.confirm_accept_all.title": "Godta førespurnad om varsel?",
"notification_requests.confirm_dismiss_all.button": "Avvis alle",
"notification_requests.confirm_dismiss_all.message": "Du er i ferd med å avvisa {count, plural, one {ein førespurnad om varsel} other {# førespurnader om varsel}}. Det blir ikkje lett å få tilgang til {count, plural, one {han} other {dei}} att. Er du sikker på at du vil halda fram?",
"notification_requests.confirm_dismiss_all.title": "Avvis førespurnader om varsel?",
"notification_requests.dismiss": "Avvis",
"notification_requests.dismiss_all": "Avvis alle",
"notification_requests.dismiss_multiple": "{count, plural, one {Avvis # førespurnad} other {Avvis # førespurnader}}",
"notification_requests.enter_selection_mode": "Vel",
"notification_requests.exit_selection_mode": "Avbryt",
"notification_requests.explainer_for_limited_account": "Varsla frå denne kontoen er filtrerte ut fordi ein moderator har avgrensa kontoen.",
"notification_requests.explainer_for_limited_remote_account": "Varla frå denne kontoen er filtrerte ut fordi ein moderator har avgrensa kontoen eller tenaren.",
"notification_requests.maximize": "Maksimer",

View File

@ -517,19 +517,17 @@
"notification.status": "{name} opublikował(a) nowy wpis",
"notification.update": "{name} edytował(a) post",
"notification_requests.accept": "Akceptuj",
"notification_requests.accept_all": "Przyjmij wszystkie",
"notification_requests.accept_multiple": "Przyjmij {count, plural, one {# wniosek} few {# wnioski} other {# wniosków}} o powiadomienia",
"notification_requests.confirm_accept_all.button": "Przyjmij wszystkie",
"notification_requests.confirm_accept_all.message": "Na pewno przyjąć {count, plural, one {# wniosek o powiadomienie} few {# wnioski o powiadomienia} other {# wniosków o powiadomienia}}?",
"notification_requests.confirm_accept_all.title": "Przyjąć wnioski o powiadomienia?",
"notification_requests.confirm_dismiss_all.button": "Odrzuć wszystkie",
"notification_requests.confirm_dismiss_all.message": "Na pewno odrzucić {count, plural, one {# wniosek o powiadomienie} few {# wnioski o powiadomienia} other {# wniosków o powiadomienia}}? Stracisz do {count, plural, one {niego} other {nich}} łatwy dostęp.",
"notification_requests.confirm_dismiss_all.title": "Odrzuć żądania powiadomień?",
"notification_requests.accept_multiple": "Przyjmij {count, plural, one {# wniosek} few {# wnioski} other {# wniosków}} o powiadomienia…",
"notification_requests.confirm_accept_multiple.button": "Przyjmij {count, plural, one {wniosek} other {wnioski}} o powiadomienia",
"notification_requests.confirm_accept_multiple.message": "Na pewno przyjąć {count, plural, one {# wniosek o powiadomienie} few {# wnioski o powiadomienia} other {# wniosków o powiadomienia}}?",
"notification_requests.confirm_accept_multiple.title": "Przyjąć wnioski o powiadomienia?",
"notification_requests.confirm_dismiss_multiple.button": "Odrzuć {count, plural, one {wniosek} other {wnioski}} o powiadomienia",
"notification_requests.confirm_dismiss_multiple.message": "Na pewno odrzucić {count, plural, one {# wniosek o powiadomienie} few {# wnioski o powiadomienia} other {# wniosków o powiadomienia}}? Stracisz do {count, plural, one {niego} other {nich}} łatwy dostęp.",
"notification_requests.confirm_dismiss_multiple.title": "Odrzuć żądania powiadomień?",
"notification_requests.dismiss": "Odrzuć",
"notification_requests.dismiss_all": "Odrzuć wszystkie",
"notification_requests.dismiss_multiple": "Odrzuć {count, plural, one {# wniosek} few {# wnioski} other {# wniosków}} o powiadomienia",
"notification_requests.enter_selection_mode": "Wybierz",
"notification_requests.exit_selection_mode": "Anuluj",
"notification_requests.dismiss_multiple": "Odrzuć {count, plural, one {# wniosek} few {# wnioski} other {# wniosków}} o powiadomienia…",
"notification_requests.edit_selection": "Edytuj",
"notification_requests.exit_selection": "Gotowe",
"notification_requests.explainer_for_limited_account": "Powiadomienia od tego konta zostały odfiltrowane bo to konto zostało ograniczone przez moderatora.",
"notification_requests.explainer_for_limited_remote_account": "Powiadomienia od tego konta zostały odfiltrowane bo to konto, albo serwer na którym się znajduje, zostało ograniczone przez moderatora.",
"notification_requests.maximize": "Zmaksymalizuj",

View File

@ -498,10 +498,7 @@
"notification.status": "{name} acabou de tootar",
"notification.update": "{name} editou uma publicação",
"notification_requests.accept": "Aceitar",
"notification_requests.accept_all": "Aceitar tudo",
"notification_requests.confirm_accept_all.button": "Aceitar tudo",
"notification_requests.dismiss": "Rejeitar",
"notification_requests.exit_selection_mode": "Cancelar",
"notification_requests.maximize": "Maximizar",
"notification_requests.notifications_from": "Notificações de {name}",
"notification_requests.title": "Notificações filtradas",

View File

@ -339,6 +339,7 @@
"home.pending_critical_update.link": "Zobraziť aktualizácie",
"home.pending_critical_update.title": "Je dostupná kritická bezpečnostná aktualizácia.",
"home.show_announcements": "Zobraziť oznámenia",
"ignore_notifications_modal.ignore": "Ignoruj upozornenia",
"interaction_modal.description.favourite": "S účtom na Mastodone môžete tento príspevok ohviezdičkovať, tak dať autorovi vedieť, že sa vám páči, a uložiť si ho na neskôr.",
"interaction_modal.description.follow": "S účtom na Mastodone môžete {name} sledovať a vidieť ich príspevky vo svojom domovskom kanáli.",
"interaction_modal.description.reblog": "S účtom na Mastodone môžete tento príspevok zdeľať so svojimi sledovateľmi.",
@ -455,6 +456,11 @@
"notification.favourite": "{name} hviezdičkuje váš príspevok",
"notification.follow": "{name} vás sleduje",
"notification.follow_request": "{name} vás žiada sledovať",
"notification.label.mention": "Zmienka",
"notification.label.private_mention": "Súkromná zmienka",
"notification.label.private_reply": "Súkromná odpoveď",
"notification.label.reply": "Odpoveď",
"notification.mention": "Zmienka",
"notification.moderation-warning.learn_more": "Zisti viac",
"notification.moderation_warning.action_delete_statuses": "Niektoré z tvojich príspevkov boli odstránené.",
"notification.moderation_warning.action_disable": "Tvoj účet bol vypnutý.",

View File

@ -507,13 +507,7 @@
"notification.status": "{name} je pravkar objavil/a",
"notification.update": "{name} je uredil(a) objavo",
"notification_requests.accept": "Sprejmi",
"notification_requests.accept_all": "Sprejmi vse",
"notification_requests.confirm_accept_all.button": "Sprejmi vse",
"notification_requests.confirm_dismiss_all.button": "Opusti vse",
"notification_requests.dismiss": "Zavrni",
"notification_requests.dismiss_all": "Opusti vse",
"notification_requests.enter_selection_mode": "Izberi",
"notification_requests.exit_selection_mode": "Prekliči",
"notification_requests.maximize": "Maksimiraj",
"notification_requests.notifications_from": "Obvestila od {name}",
"notification_requests.title": "Filtrirana obvestila",

View File

@ -518,19 +518,7 @@
"notification.status": "{name} sapo postoi",
"notification.update": "{name} përpunoi një postim",
"notification_requests.accept": "Pranoje",
"notification_requests.accept_all": "Pranoji krejt",
"notification_requests.accept_multiple": "{count, plural, one {Prano # kërkesë} other {Prano # kërkesa}}",
"notification_requests.confirm_accept_all.button": "Pranoji krejt",
"notification_requests.confirm_accept_all.message": "Ju ndan një hap nga pranimi i {count, plural, one {një kërkese njoftimi} other {# kërkesash njoftimi}}. Jeni i sigurt se doni të vazhdohet?",
"notification_requests.confirm_accept_all.title": "Të pranohen kërkesa njoftimesh?",
"notification_requests.confirm_dismiss_all.button": "Hidhi tej krejt",
"notification_requests.confirm_dismiss_all.message": "Ju ndan një hap nga hedhja tej e {count, plural, one {një kërkese njoftimesh} other {# kërkesash njoftimesh}}. Sdo të jeni në gjendje të shihni sërish {count, plural, one {atë} other {ato}}. Jeni i sigurt se doni të bëhet kjo?",
"notification_requests.confirm_dismiss_all.title": "Të hidhen tej kërkesa njoftimesh?",
"notification_requests.dismiss": "Hidhe tej",
"notification_requests.dismiss_all": "Hidhi tej krejt",
"notification_requests.dismiss_multiple": "{count, plural, one {Hidhni tej # kërkesë} other {Hidhni tej # kërkesa}}",
"notification_requests.enter_selection_mode": "Përzgjidhni",
"notification_requests.exit_selection_mode": "Anuloje",
"notification_requests.explainer_for_limited_account": "Njoftimet prej kësaj llogarie janë filtruar, ngaqë llogaria është kufizuar nga një moderator.",
"notification_requests.explainer_for_limited_remote_account": "Njoftimet prej kësaj llogarie janë filtruar, ngaqë llogaria, ose shërbyesi është kufizuar nga një moderator.",
"notification_requests.maximize": "Maksimizoje",

View File

@ -502,14 +502,9 @@
"notification.status": "{name} publicerade just ett inlägg",
"notification.update": "{name} redigerade ett inlägg",
"notification_requests.accept": "Godkänn",
"notification_requests.accept_all": "Acceptera alla",
"notification_requests.accept_multiple": "{count, plural, one {Acceptera # förfrågan} other {Acceptera # förfrågningar}}",
"notification_requests.confirm_accept_all.button": "Acceptera alla",
"notification_requests.confirm_dismiss_all.button": "Avvisa alla",
"notification_requests.dismiss": "Avfärda",
"notification_requests.dismiss_all": "Avvisa alla",
"notification_requests.dismiss_multiple": "{count, plural, one {Avvisa # förfrågan} other {Avvisa # förfrågningar}}",
"notification_requests.exit_selection_mode": "Avbryt",
"notification_requests.edit_selection": "Redigera",
"notification_requests.exit_selection": "Klar",
"notification_requests.notifications_from": "Aviseringar från {name}",
"notification_requests.title": "Filtrerade meddelanden",
"notifications.clear": "Rensa aviseringar",

View File

@ -515,17 +515,7 @@
"notification.status": "{name} เพิ่งโพสต์",
"notification.update": "{name} ได้แก้ไขโพสต์",
"notification_requests.accept": "ยอมรับ",
"notification_requests.accept_all": "ยอมรับทั้งหมด",
"notification_requests.accept_multiple": "{count, plural, other {ยอมรับ # คำขอ}}",
"notification_requests.confirm_accept_all.button": "ยอมรับทั้งหมด",
"notification_requests.confirm_accept_all.title": "ยอมรับคำขอการแจ้งเตือน?",
"notification_requests.confirm_dismiss_all.button": "ปิดทั้งหมด",
"notification_requests.confirm_dismiss_all.title": "ปิดคำขอการแจ้งเตือน?",
"notification_requests.dismiss": "ปิด",
"notification_requests.dismiss_all": "ปิดทั้งหมด",
"notification_requests.dismiss_multiple": "{count, plural, other {ปิด # คำขอ}}",
"notification_requests.enter_selection_mode": "เลือก",
"notification_requests.exit_selection_mode": "ยกเลิก",
"notification_requests.notifications_from": "การแจ้งเตือนจาก {name}",
"notification_requests.title": "การแจ้งเตือนที่กรองอยู่",
"notification_requests.view": "ดูการแจ้งเตือน",

View File

@ -518,19 +518,7 @@
"notification.status": "{name} az önce gönderdi",
"notification.update": "{name} bir gönderiyi düzenledi",
"notification_requests.accept": "Onayla",
"notification_requests.accept_all": "Tümünü kabul et",
"notification_requests.accept_multiple": "{count, plural, one {# isteği kabul et} other {# isteği kabul et}}",
"notification_requests.confirm_accept_all.button": "Tümünü kabul et",
"notification_requests.confirm_accept_all.message": "{count, plural, one {Bir bildirim isteğini} other {# bildirim isteğini}} kabul etmek üzeresiniz. Devam etmek istediğinizden emin misiniz?",
"notification_requests.confirm_accept_all.title": "Bildirim taleplerini kabul et?",
"notification_requests.confirm_dismiss_all.button": "Tümünü reddet",
"notification_requests.confirm_dismiss_all.message": "{count, plural, one {Bir bildirim isteğini} other {# bildirim isteğini}} reddetmek üzeresiniz. {count, plural, one {Ona} other {Onlara}} tekrar kolayca ulaşamayacaksınz. Devam etmek istediğinizden emin misiniz?",
"notification_requests.confirm_dismiss_all.title": "Bildirim taleplerini reddet?",
"notification_requests.dismiss": "Yoksay",
"notification_requests.dismiss_all": "Tümünü reddet",
"notification_requests.dismiss_multiple": "{count, plural, one {# isteği reddet} other {# isteği reddet}}",
"notification_requests.enter_selection_mode": "Seç",
"notification_requests.exit_selection_mode": "İptal",
"notification_requests.explainer_for_limited_account": "Hesap bir moderatör tarafından sınırlandığı için, bu hesaptan gönderilen bildirimler filtrelendi.",
"notification_requests.explainer_for_limited_remote_account": "Hesap veya sunucusu bir moderatör tarafından sınırlandığı için, bu hesaptan gönderilen bildirimler filtrelendi.",
"notification_requests.maximize": "Büyüt",

View File

@ -518,19 +518,7 @@
"notification.status": "{name} щойно дописує",
"notification.update": "{name} змінює допис",
"notification_requests.accept": "Прийняти",
"notification_requests.accept_all": "Прийняти все",
"notification_requests.accept_multiple": "{count, plural, one {Прийняти # запит} few {Прийняти # запити} many {Прийняти # запитів} other {Прийняти # запит}}",
"notification_requests.confirm_accept_all.button": "Прийняти все",
"notification_requests.confirm_accept_all.message": "Ви збираєтеся прийняти {count, plural, one {запит на сповіщення} few {# запити на сповіщення} many {# запитів на сповіщення} other {# запит на сповіщення}}. Ви впевнені, що хочете продовжити?",
"notification_requests.confirm_accept_all.title": "Прийняти запит на сповіщення?",
"notification_requests.confirm_dismiss_all.button": "Відхили все",
"notification_requests.confirm_dismiss_all.message": "Ви збираєтеся відхилити {count, plural, one {запит на сповіщення} few {# запити на сповіщення} many {# запитів на сповіщення} other {# запит на сповіщення}}. Ви не зможете легко отримати доступ до {count, plural, one {нього} other {них}} again. Ви впевнені, що хочете продовжити?",
"notification_requests.confirm_dismiss_all.title": "Відхилити запити на сповіщення?",
"notification_requests.dismiss": "Відхилити",
"notification_requests.dismiss_all": "Відхили все",
"notification_requests.dismiss_multiple": "{count, plural, one {Відхилити # запит} other {Відхилити # запити}}",
"notification_requests.enter_selection_mode": "Вибрати",
"notification_requests.exit_selection_mode": "Скасувати",
"notification_requests.explainer_for_limited_account": "Сповіщення від цього облікового запису фільтровані, оскільки обліковий запис обмежений модератором.",
"notification_requests.explainer_for_limited_remote_account": "Сповіщення від цього облікового запису фільтровані, оскільки обліковий запис або його сервер обмежений модератором.",
"notification_requests.maximize": "Розгорнути",

View File

@ -509,7 +509,17 @@
"notification.status": "{name} đăng tút mới",
"notification.update": "{name} đã sửa tút",
"notification_requests.accept": "Chấp nhận",
"notification_requests.accept_multiple": "{count, plural, other {Duyệt # yêu cầu…}}",
"notification_requests.confirm_accept_multiple.button": "{count, plural, other {Yêu cầu cần duyệt}}",
"notification_requests.confirm_accept_multiple.message": "Bạn sẽ duyệt {count, plural, other {# yêu cầu thông báo}}. Vẫn tiếp tục?",
"notification_requests.confirm_accept_multiple.title": "Duyệt yêu cầu thông báo?",
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, other {Bỏ qua yêu cầu}}",
"notification_requests.confirm_dismiss_multiple.message": "Bạn sẽ bỏ qua {count, plural, other {# yêu cầu thông báo}}. Bạn sẽ không thể truy cập dễ dàng {count, plural, other {chúng}} nữa. Vẫn tiếp tục?",
"notification_requests.confirm_dismiss_multiple.title": "Bỏ qua yêu cầu thông báo?",
"notification_requests.dismiss": "Bỏ qua",
"notification_requests.dismiss_multiple": "{count, plural, other {Bỏ qua # yêu cầu…}}",
"notification_requests.edit_selection": "Sửa",
"notification_requests.exit_selection": "Xong",
"notification_requests.explainer_for_limited_account": "Thông báo từ tài khoản này đã được lọc vì tài khoản đã bị giới hạn bởi kiểm duyệt viên.",
"notification_requests.explainer_for_limited_remote_account": "Thông báo từ tài khoản này đã được lọc vì tài khoản hoặc máy chủ của tài khoản đã bị giới hạn bởi kiểm duyệt viên.",
"notification_requests.maximize": "Tối đa",

View File

@ -518,19 +518,7 @@
"notification.status": "{name} 刚刚发布嘟文",
"notification.update": "{name} 编辑了嘟文",
"notification_requests.accept": "接受",
"notification_requests.accept_all": "全部接受",
"notification_requests.accept_multiple": "{count, plural, other {接受 # 个请求}}",
"notification_requests.confirm_accept_all.button": "全部接受",
"notification_requests.confirm_accept_all.message": "你将要接受 {count, plural, other {# 个通知请求}}。是否继续?",
"notification_requests.confirm_accept_all.title": "是否接受通知请求?",
"notification_requests.confirm_dismiss_all.button": "全部拒绝",
"notification_requests.confirm_dismiss_all.message": "你将要拒绝 {count, plural, other {# 个通知请求}}。你将无法再轻易访问{count, plural, other {它们}}。是否继续?",
"notification_requests.confirm_dismiss_all.title": "是否拒绝通知请求?",
"notification_requests.dismiss": "拒绝",
"notification_requests.dismiss_all": "全部拒绝",
"notification_requests.dismiss_multiple": "{count, plural, other {拒绝 # 个请求}}",
"notification_requests.enter_selection_mode": "选择",
"notification_requests.exit_selection_mode": "取消",
"notification_requests.explainer_for_limited_account": "来自该账户的通知已被过滤,因为该账户已被管理员限制。",
"notification_requests.explainer_for_limited_remote_account": "来自该账户的通知已被过滤,因为该账户或其所在的实例已被管理员限制。",
"notification_requests.maximize": "最大化",

View File

@ -518,19 +518,17 @@
"notification.status": "{name} 剛剛嘟文",
"notification.update": "{name} 已編輯嘟文",
"notification_requests.accept": "接受",
"notification_requests.accept_all": "全部接受",
"notification_requests.accept_multiple": "{count, plural, other {接受 # 則請求}}",
"notification_requests.confirm_accept_all.button": "全部接受",
"notification_requests.confirm_accept_all.message": "您將接受 {count, plural, other {# 則推播通知請求}}。您確定要繼續?",
"notification_requests.confirm_accept_all.title": "接受推播通知請求?",
"notification_requests.confirm_dismiss_all.button": "全部忽略",
"notification_requests.confirm_dismiss_all.message": "您將忽略 {count, plural, other {# 則推播通知請求}}。您將不再能輕易存取{count, plural, other {這些}}推播通知。您確定要繼續?",
"notification_requests.confirm_dismiss_all.title": "忽略推播通知請求?",
"notification_requests.accept_multiple": "{count, plural, other {接受 # 則請求...}}",
"notification_requests.confirm_accept_multiple.button": "{count, plural, other {接受請求}}",
"notification_requests.confirm_accept_multiple.message": "您將接受 {count, plural, other {# 則推播通知請求}}。您確定要繼續?",
"notification_requests.confirm_accept_multiple.title": "接受推播通知請求?",
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, other {忽略請求}}",
"notification_requests.confirm_dismiss_multiple.message": "您將忽略 {count, plural, other {# 則推播通知請求}}。您將不再能輕易存取{count, plural, other {這些}}推播通知。您確定要繼續?",
"notification_requests.confirm_dismiss_multiple.title": "忽略推播通知請求?",
"notification_requests.dismiss": "關閉",
"notification_requests.dismiss_all": "全部忽略",
"notification_requests.dismiss_multiple": "{count, plural, other {忽略 # 則請求}}",
"notification_requests.enter_selection_mode": "選擇",
"notification_requests.exit_selection_mode": "取消",
"notification_requests.dismiss_multiple": "{count, plural, other {忽略 # 則請求...}}",
"notification_requests.edit_selection": "編輯",
"notification_requests.exit_selection": "完成",
"notification_requests.explainer_for_limited_account": "由於此帳號已被管理員限制,來自此帳號之通知已被過濾。",
"notification_requests.explainer_for_limited_remote_account": "由於此帳號或其伺服器已被管理員限制,來自此帳號之通知已被過濾。",
"notification_requests.maximize": "最大化",

View File

@ -1 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="M240-400h320v-80H240v80Zm0-120h480v-80H240v80Zm0-120h480v-80H240v80ZM80-80v-720q0-33 23.5-56.5T160-880h640q33 0 56.5 23.5T880-800v480q0 33-23.5 56.5T800-240H240L80-80Zm126-240h594v-480H160v525l46-45Zm-46 0v-480 480Z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px"
fill="#5f6368">
<path
d="M240-400h320v-80H240v80Zm0-120h480v-80H240v80Zm0-120h480v-80H240v80ZM80-80v-720q0-33 23.5-56.5T160-880h640q33 0 56.5 23.5T880-800v480q0 33-23.5 56.5T800-240H240L80-80Zm126-240h594v-480H160v525l46-45Zm-46 0v-480 480Z" />
</svg>

Before

Width:  |  Height:  |  Size: 321 B

After

Width:  |  Height:  |  Size: 359 B

View File

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px"
fill="#5f6368">
<path
d="M320-120v-40l80-80H160q-33 0-56.5-23.5T80-320v-440q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v440q0 33-23.5 56.5T800-240H560l80 80v40H320ZM160-440h640v-320H160v320Zm0 0v-320 320Z" />
</svg>

After

Width:  |  Height:  |  Size: 329 B

View File

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px"
fill="#5f6368">
<path
d="M360-160v-240q-83 0-141.5-58.5T160-600q0-83 58.5-141.5T360-800h360v80h-80v560h-80v-560H440v560h-80Z" />
</svg>

After

Width:  |  Height:  |  Size: 243 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#5f6368"><path d="M280-400q-33 0-56.5-23.5T200-480q0-33 23.5-56.5T280-560q33 0 56.5 23.5T360-480q0 33-23.5 56.5T280-400Zm0 160q-100 0-170-70T40-480q0-100 70-170t170-70q67 0 121.5 33t86.5 87h352l120 120-180 180-80-60-80 60-85-60h-47q-32 54-86.5 87T280-240Zm0-80q56 0 98.5-34t56.5-86h125l58 41 82-61 71 55 75-75-40-40H435q-14-52-56.5-86T280-640q-66 0-113 47t-47 113q0 66 47 113t113 47Z"/></svg>

After

Width:  |  Height:  |  Size: 490 B

View File

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px"
fill="#5f6368">
<path
d="M280-40q-33 0-56.5-23.5T200-120v-720q0-33 23.5-56.5T280-920h400q33 0 56.5 23.5T760-840v720q0 33-23.5 56.5T680-40H280Zm0-120v40h400v-40H280Zm0-80h400v-480H280v480Zm0-560h400v-40H280v40Zm0 0v-40 40Zm0 640v40-40Z" />
</svg>

After

Width:  |  Height:  |  Size: 353 B

View File

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px"
fill="#5f6368">
<path
d="M120-160q-33 0-56.5-23.5T40-240v-480q0-33 23.5-56.5T120-800h720q33 0 56.5 23.5T920-720v480q0 33-23.5 56.5T840-160H120Zm40-560h-40v480h40v-480Zm80 480h480v-480H240v480Zm560-480v480h40v-480h-40Zm0 0h40-40Zm-640 0h-40 40Z" />
</svg>

After

Width:  |  Height:  |  Size: 362 B

View File

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px"
fill="#5f6368">
<path
d="M280-240q-100 0-170-70T40-480q0-100 70-170t170-70h400q100 0 170 70t70 170q0 100-70 170t-170 70H280Zm0-80h400q66 0 113-47t47-113q0-66-47-113t-113-47H280q-66 0-113 47t-47 113q0 66 47 113t113 47Zm0-40q50 0 85-35t35-85q0-50-35-85t-85-35q-50 0-85 35t-35 85q0 50 35 85t85 35Zm200-120Z" />
</svg>

After

Width:  |  Height:  |  Size: 422 B

View File

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px"
fill="#5f6368">
<path
d="M280-240q-100 0-170-70T40-480q0-100 70-170t170-70h400q100 0 170 70t70 170q0 100-70 170t-170 70H280Zm0-80h400q66 0 113-47t47-113q0-66-47-113t-113-47H280q-66 0-113 47t-47 113q0 66 47 113t113 47Zm400-40q50 0 85-35t35-85q0-50-35-85t-85-35q-50 0-85 35t-35 85q0 50 35 85t85 35ZM480-480Z" />
</svg>

After

Width:  |  Height:  |  Size: 424 B

View File

@ -1,10 +1,10 @@
// Dependent colors
$black: #000000;
$classic-base-color: #282c37;
$classic-primary-color: #9baec8;
$classic-secondary-color: #d9e1e8;
$classic-highlight-color: #6364ff;
$classic-base-color: hsl(240deg, 16%, 19%);
$classic-primary-color: hsl(240deg, 29%, 70%);
$classic-secondary-color: hsl(255deg, 25%, 88%);
$classic-highlight-color: hsl(240deg, 100%, 69%);
$ui-base-color: $classic-base-color !default;
$ui-primary-color: $classic-primary-color !default;

View File

@ -1,10 +1,6 @@
// Notes!
// Sass color functions, "darken" and "lighten" are automatically replaced.
html {
scrollbar-color: $ui-base-color rgba($ui-base-color, 0.25);
}
.simple_form .button.button-tertiary {
color: $highlight-text-color;
}
@ -561,3 +557,14 @@ a.sparkline {
color: $dark-text-color;
}
}
@supports not selector(::-webkit-scrollbar) {
html {
scrollbar-color: rgba($action-button-color, 0.25)
var(--background-border-color);
}
}
::-webkit-scrollbar-thumb {
opacity: 0.25;
}

View File

@ -2,25 +2,25 @@
$black: #000000;
$white: #ffffff;
$classic-base-color: #282c37;
$classic-primary-color: #9baec8;
$classic-secondary-color: #d9e1e8;
$classic-highlight-color: #6364ff;
$classic-base-color: hsl(240deg, 16%, 19%);
$classic-primary-color: hsl(240deg, 29%, 70%);
$classic-secondary-color: hsl(255deg, 25%, 88%);
$classic-highlight-color: hsl(240deg, 100%, 69%);
$blurple-600: #563acc; // Iris
$blurple-500: #6364ff; // Brand purple
$blurple-300: #858afa; // Faded Blue
$grey-600: #4e4c5a; // Trout
$grey-100: #dadaf3; // Topaz
$blurple-600: hsl(252deg, 59%, 51%); // Iris
$blurple-500: hsl(240deg, 100%, 69%); // Brand purple
$blurple-300: hsl(237deg, 92%, 75%); // Faded Blue
$grey-600: hsl(240deg, 8%, 33%); // Trout
$grey-100: hsl(240deg, 51%, 90%); // Topaz
// Differences
$success-green: lighten(#3c754d, 8%);
$success-green: lighten(hsl(138deg, 32%, 35%), 8%);
$base-overlay-background: $white !default;
$valid-value-color: $success-green !default;
$ui-base-color: $classic-secondary-color !default;
$ui-base-lighter-color: #b0c0cf;
$ui-base-lighter-color: hsl(250deg, 24%, 75%);
$ui-primary-color: $classic-primary-color !default;
$ui-secondary-color: $classic-base-color !default;
$ui-highlight-color: $classic-highlight-color !default;
@ -35,12 +35,12 @@ $ui-button-tertiary-border-color: $blurple-500 !default;
$primary-text-color: $black !default;
$darker-text-color: $classic-base-color !default;
$highlight-text-color: $ui-highlight-color !default;
$dark-text-color: #444b5d;
$action-button-color: #606984;
$dark-text-color: hsl(240deg, 16%, 32%);
$action-button-color: hsl(240deg, 16%, 45%);
$inverted-text-color: $black !default;
$lighter-text-color: $classic-base-color !default;
$light-text-color: #444b5d;
$light-text-color: hsl(240deg, 16%, 32%);
// Newly added colors
$account-background-color: $white !default;
@ -57,12 +57,13 @@ $account-background-color: $white !default;
$emojis-requiring-inversion: 'chains';
body {
--dropdown-border-color: #d9e1e8;
--dropdown-border-color: hsl(240deg, 25%, 88%);
--dropdown-background-color: #fff;
--modal-border-color: #d9e1e8;
--modal-border-color: hsl(240deg, 25%, 88%);
--modal-background-color: var(--background-color-tint);
--background-border-color: #d9e1e8;
--background-border-color: hsl(240deg, 25%, 88%);
--background-color: #fff;
--background-color-tint: rgba(255, 255, 255, 80%);
--background-filter: blur(10px);
--on-surface-color: #{transparentize($ui-base-color, 0.65)};
}

View File

@ -66,7 +66,7 @@
margin-inline-start: 15px;
text-align: start;
i[data-hidden] {
svg[data-hidden] {
display: none;
}

View File

@ -762,16 +762,6 @@ body > [data-popper-placement] {
gap: 12px;
flex-wrap: wrap;
.button {
display: block; // Otherwise text-ellipsis doesn't work
font-size: 14px;
line-height: normal;
font-weight: 700;
flex: 1 1 auto;
padding: 5px 12px;
border-radius: 4px;
}
.icon-button {
box-sizing: content-box;
color: $highlight-text-color;
@ -4217,7 +4207,7 @@ a.status-card {
text-decoration: none;
&:hover {
background: lighten($ui-base-color, 2%);
background: var(--on-surface-color);
}
}
@ -4346,19 +4336,18 @@ a.status-card {
display: flex;
}
&__selection-mode {
flex-grow: 1;
.text-btn:hover {
text-decoration: underline;
}
&__select-menu:disabled {
visibility: hidden;
}
&__actions {
.icon-button {
border-radius: 4px;
border: 1px solid var(--background-border-color);
padding: 5px;
&__mode-button {
margin-left: auto;
color: $highlight-text-color;
font-weight: bold;
font-size: 14px;
&:hover {
color: lighten($highlight-text-color, 6%);
}
}
}
@ -4566,6 +4555,7 @@ a.status-card {
padding: 0;
font-family: inherit;
font-size: inherit;
font-weight: inherit;
color: inherit;
border: 0;
background: transparent;
@ -7560,10 +7550,6 @@ a.status-card {
}
}
::-webkit-scrollbar-thumb {
border-radius: 0;
}
noscript {
text-align: center;
@ -10366,7 +10352,7 @@ noscript {
cursor: pointer;
&:hover {
background: lighten($ui-base-color, 1%);
background: var(--on-surface-color);
}
.notification-request__checkbox {
@ -10534,8 +10520,10 @@ noscript {
}
&__additional-content {
color: $darker-text-color;
color: $dark-text-color;
margin-top: -8px; // to offset the parent's `gap` property
font-size: 15px;
line-height: 22px;
}
}
@ -10589,6 +10577,19 @@ noscript {
}
}
.notification-group__actions,
.compose-form__actions {
.button {
display: block; // Otherwise text-ellipsis doesn't work
font-size: 14px;
line-height: normal;
font-weight: 700;
flex: 1 1 auto;
padding: 5px 12px;
border-radius: 4px;
}
}
.notification-ungrouped {
padding: 16px 24px;
border-bottom: 1px solid var(--background-border-color);

View File

@ -53,22 +53,29 @@ table {
border-spacing: 0;
}
html {
scrollbar-color: var(--background-border-color);
@supports not selector(::-webkit-scrollbar) {
html {
scrollbar-color: $action-button-color var(--background-border-color);
scrollbar-width: thin;
}
}
::-webkit-scrollbar {
width: 4px;
height: 4px;
width: 8px;
height: 8px;
}
::-webkit-scrollbar-thumb {
background-color: $ui-highlight-color;
opacity: .25;
background-color: $action-button-color;
border: 2px var(--background-border-color);
border-radius: 12px;
width: 6px;
box-shadow: inset 0 0 0 2px var(--background-border-color);
}
::-webkit-scrollbar-track {
background-color: var(--background-border-color);
border-radius: 0px;
}
::-webkit-scrollbar-corner {

View File

@ -7,8 +7,8 @@ $blurple-600: #563acc; // Iris
$blurple-500: #6364ff; // Brand purple
$blurple-400: #7477fd; // Medium slate blue
$blurple-300: #858afa; // Faded Blue
$grey-600: #4e4c5a; // Trout
$grey-100: #dadaf3; // Topaz
$grey-600: hsl(240deg, 8%, 33%); // Trout
$grey-100: hsl(240deg, 51%, 90%); // Topaz
$success-green: #79bd9a !default; // Padua
$error-red: $red-500 !default; // Cerise
@ -18,10 +18,10 @@ $gold-star: #ca8f04 !default; // Dark Goldenrod
$red-bookmark: $warning-red;
// Values from the classic Mastodon UI
$classic-base-color: #282c37; // Midnight Express
$classic-primary-color: #9baec8; // Echo Blue
$classic-secondary-color: #d9e1e8; // Pattens Blue
$classic-highlight-color: #6364ff; // Brand purple
$classic-base-color: hsl(240deg, 16%, 19%);
$classic-primary-color: hsl(240deg, 29%, 70%);
$classic-secondary-color: hsl(255deg, 25%, 88%);
$classic-highlight-color: $blurple-500;
// Variables for defaults in UI
$base-shadow-color: $black !default;
@ -109,5 +109,6 @@ $font-monospace: 'mastodon-font-monospace' !default;
--surface-background-color: #{darken($ui-base-color, 4%)};
--surface-variant-background-color: #{$ui-base-color};
--surface-variant-active-background-color: #{lighten($ui-base-color, 4%)};
--on-surface-color: #{transparentize($ui-base-color, 0.5)};
--avatar-border-radius: 8px;
}

View File

@ -7,7 +7,7 @@ class Themes
include Singleton
THEME_COLORS = {
dark: '#191b22',
dark: '#181820',
light: '#ffffff',
}.freeze

View File

@ -180,8 +180,8 @@ class Notification < ApplicationRecord
# 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)
query = reorder(id: :desc)
query = query.where(id: ...max_id) if max_id.present?
query = query.where(id: (since_id + 1)...) if since_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.paginate_groups(limit, :desc)
end
@ -190,8 +190,8 @@ class Notification < ApplicationRecord
# Results will be in ascending order by id.
def paginate_groups_by_min_id(limit, max_id: nil, min_id: nil)
query = reorder(id: :asc)
query = query.where(id: (min_id + 1)...) if min_id.present?
query = query.where(id: ...max_id) if max_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.paginate_groups(limit, :asc)
end

View File

@ -1,12 +1,12 @@
- if account.avatar?
%tr
%th= t('admin.accounts.avatar')
%td= table_link_to 'trash', t('admin.accounts.remove_avatar'), remove_avatar_admin_account_path(account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:remove_avatar, account)
%td= table_link_to 'delete', t('admin.accounts.remove_avatar'), remove_avatar_admin_account_path(account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:remove_avatar, account)
%td
- if account.header?
%tr
%th= t('admin.accounts.header')
%td= table_link_to 'trash', t('admin.accounts.remove_header'), remove_header_admin_account_path(account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:remove_header, account)
%td= table_link_to 'delete', t('admin.accounts.remove_header'), remove_header_admin_account_path(account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:remove_header, account)
%td
%tr
%th= t('admin.accounts.role')
@ -16,7 +16,7 @@
- else
= account.user_role&.name
%td
= table_link_to 'vcard', t('admin.accounts.change_role.label'), admin_user_role_path(account.user) if can?(:change_role, account.user)
= table_link_to 'contact_mail', t('admin.accounts.change_role.label'), admin_user_role_path(account.user) if can?(:change_role, account.user)
%tr
%th{ rowspan: can?(:create, :email_domain_block) ? 3 : 2 }= t('admin.accounts.email')
%td{ rowspan: can?(:create, :email_domain_block) ? 3 : 2 }= account.user_email
@ -25,7 +25,7 @@
%td= table_link_to 'search', t('admin.accounts.search_same_email_domain'), admin_accounts_path(email: "%@#{account.user_email.split('@').last}")
- if can?(:create, :email_domain_block)
%tr
%td= table_link_to 'ban', t('admin.accounts.add_email_domain_block'), new_admin_email_domain_block_path(_domain: account.user_email.split('@').last)
%td= table_link_to 'hide_source', t('admin.accounts.add_email_domain_block'), new_admin_email_domain_block_path(_domain: account.user_email.split('@').last)
- if account.user_unconfirmed_email.present?
%tr
%th= t('admin.accounts.unconfirmed_email')
@ -48,7 +48,7 @@
= t 'admin.accounts.security_measures.only_password'
%td
- if account.user&.two_factor_enabled? && can?(:disable_2fa, account.user)
= table_link_to 'unlock', t('admin.accounts.disable_two_factor_authentication'), admin_user_two_factor_authentication_path(account.user.id), method: :delete
= table_link_to 'lock_open', t('admin.accounts.disable_two_factor_authentication'), admin_user_two_factor_authentication_path(account.user.id), method: :delete
- if can?(:reset_password, account.user)
%tr
%td

View File

@ -12,4 +12,4 @@
= material_symbol DeliveryFailureTracker.available?(account.shared_inbox_url) ? 'check' : 'close'
%td
- if domain_block.nil?
= table_link_to 'ban', t('admin.domain_blocks.add_new'), new_admin_domain_block_path(_domain: account.domain)
= table_link_to 'hide_source', t('admin.domain_blocks.add_new'), new_admin_domain_block_path(_domain: account.domain)

View File

@ -12,8 +12,8 @@
%div
- if can?(:update, announcement)
- if announcement.published?
= table_link_to 'toggle-off', t('admin.announcements.unpublish'), unpublish_admin_announcement_path(announcement), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
= table_link_to 'toggle_off', t('admin.announcements.unpublish'), unpublish_admin_announcement_path(announcement), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
- else
= table_link_to 'toggle-on', t('admin.announcements.publish'), publish_admin_announcement_path(announcement), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
= table_link_to 'toggle_on', t('admin.announcements.publish'), publish_admin_announcement_path(announcement), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
= table_link_to 'trash', t('generic.delete'), admin_announcement_path(announcement), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, announcement)
= table_link_to 'delete', t('generic.delete'), admin_announcement_path(announcement), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, announcement)

View File

@ -27,4 +27,4 @@
%td
- if invite.valid_for_use? && policy(invite).destroy?
= table_link_to 'times', t('invites.delete'), admin_invite_path(invite), method: :delete
= table_link_to 'close', t('invites.delete'), admin_invite_path(invite), method: :delete

View File

@ -18,8 +18,8 @@
= t 'admin.relays.disabled'
%td
- if relay.accepted?
= table_link_to 'power-off', t('admin.relays.disable'), disable_admin_relay_path(relay), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
= table_link_to 'power_off', t('admin.relays.disable'), disable_admin_relay_path(relay), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
- elsif !relay.pending?
= table_link_to 'power-off', t('admin.relays.enable'), enable_admin_relay_path(relay), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
= table_link_to 'power_off', t('admin.relays.enable'), enable_admin_relay_path(relay), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
= table_link_to 'times', t('admin.relays.delete'), admin_relay_path(relay), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') }
= table_link_to 'close', t('admin.relays.delete'), admin_relay_path(relay), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') }

View File

@ -13,6 +13,6 @@
- if can?(:destroy, report_note)
.report-notes__item__actions
- if report_note.is_a?(AccountModerationNote)
= table_link_to 'trash', t('admin.reports.notes.delete'), admin_account_moderation_note_path(report_note), method: :delete
= table_link_to 'delete', t('admin.reports.notes.delete'), admin_account_moderation_note_path(report_note), method: :delete
- else
= table_link_to 'trash', t('admin.reports.notes.delete'), admin_report_note_path(report_note), method: :delete
= table_link_to 'delete', t('admin.reports.notes.delete'), admin_report_note_path(report_note), method: :delete

View File

@ -54,6 +54,6 @@
= admin_account_link_to report.assigned_account
- if report.assigned_account != current_user.account
= table_link_to 'user', t('admin.reports.assign_to_self'), assign_to_self_admin_report_path(report), method: :post
= table_link_to 'person', t('admin.reports.assign_to_self'), assign_to_self_admin_report_path(report), method: :post
- elsif !report.assigned_account.nil?
= table_link_to 'trash', t('admin.reports.unassign'), unassign_admin_report_path(report), method: :post
= table_link_to 'delete', t('admin.reports.unassign'), unassign_admin_report_path(report), method: :post

View File

@ -27,4 +27,4 @@
·
%abbr{ title: role.permissions_as_keys.map { |privilege| I18n.t("admin.roles.privileges.#{privilege}") }.join(', ') }= t('admin.roles.permissions_count', count: role.permissions_as_keys.size)
%div
= table_link_to 'pencil', t('admin.accounts.edit'), edit_admin_role_path(role) if can?(:update, role)
= table_link_to 'edit', t('admin.accounts.edit'), edit_admin_role_path(role) if can?(:update, role)

View File

@ -8,4 +8,4 @@
= rule.hint
%div
= table_link_to 'trash', t('admin.rules.delete'), admin_rule_path(rule), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, rule)
= table_link_to 'delete', t('admin.rules.delete'), admin_rule_path(rule), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, rule)

View File

@ -7,4 +7,4 @@
= truncate(warning_preset.text)
%div
= table_link_to 'trash', t('admin.warning_presets.delete'), admin_warning_preset_path(warning_preset), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, warning_preset)
= table_link_to 'delete', t('admin.warning_presets.delete'), admin_warning_preset_path(warning_preset), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, warning_preset)

View File

@ -15,5 +15,5 @@
%abbr{ title: webhook.events.join(', ') }= t('admin.webhooks.enabled_events', count: webhook.events.size)
%div
= table_link_to 'pencil', t('admin.webhooks.edit'), edit_admin_webhook_path(webhook) if can?(:update, webhook)
= table_link_to 'trash', t('admin.webhooks.delete'), admin_webhook_path(webhook), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, webhook)
= table_link_to 'edit', t('admin.webhooks.edit'), edit_admin_webhook_path(webhook) if can?(:update, webhook)
= table_link_to 'delete', t('admin.webhooks.delete'), admin_webhook_path(webhook), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, webhook)

View File

@ -19,10 +19,10 @@
%td
- if @webhook.enabled?
%span.positive-hint= t('admin.webhooks.enabled')
= table_link_to 'power-off', t('admin.webhooks.disable'), disable_admin_webhook_path(@webhook), method: :post if can?(:disable, @webhook)
= table_link_to 'power_off', t('admin.webhooks.disable'), disable_admin_webhook_path(@webhook), method: :post if can?(:disable, @webhook)
- else
%span.negative-hint= t('admin.webhooks.disabled')
= table_link_to 'power-off', t('admin.webhooks.enable'), enable_admin_webhook_path(@webhook), method: :post if can?(:enable, @webhook)
= table_link_to 'power_off', t('admin.webhooks.enable'), enable_admin_webhook_path(@webhook), method: :post if can?(:enable, @webhook)
%tr
%th= t('admin.webhooks.events')
%td

View File

@ -15,4 +15,4 @@
%strong.emojify.p-name= display_name(account, custom_emojify: true)
%span
= acct(account)
= fa_icon('lock', { data: ({ hidden: true } unless account.locked?) })
= material_symbol('lock', { data: ({ hidden: true } unless account.locked?) })

View File

@ -2,7 +2,7 @@
.strike-entry__header
.strike-entry__avatar
.indicator-icon{ class: account_warning.overruled? ? 'success' : 'failure' }
= fa_icon 'warning'
= material_symbol 'warning'
.strike-entry__content
.strike-entry__title
= t 'disputes.strikes.title',

View File

@ -1,7 +1,7 @@
%tr
%td
%span{ title: session.user_agent }<
= fa_icon "#{session_device_icon(session)} fw", 'aria-label': session_device_icon(session)
= material_symbol session_device_icon(session), 'aria-label': session_device_icon(session)
&nbsp;
= t 'sessions.description',
browser: t("sessions.browsers.#{session.browser}", default: session.browser.to_s),
@ -15,4 +15,4 @@
%time.time-ago{ datetime: session.updated_at.iso8601, title: l(session.updated_at) }= l(session.updated_at)
%td
- if current_session.session_id != session.session_id && !current_account.suspended?
= table_link_to 'times', t('sessions.revoke'), settings_session_path(session), method: :delete
= table_link_to 'close', t('sessions.revoke'), settings_session_path(session), method: :delete

View File

@ -24,7 +24,7 @@
.emojify= one_line_preview(status)
- status.ordered_media_attachments.each do |media_attachment|
%abbr{ title: media_attachment.description }
= fa_icon 'link'
= material_symbol 'link'
= media_attachment.file_file_name
.strike-card__statuses-list__item__meta
= link_to ActivityPub::TagManager.instance.url_for(status), target: '_blank', rel: 'noopener noreferrer' do

View File

@ -9,13 +9,13 @@
- if @strike.overruled?
%p.hint
%span.positive-hint
= fa_icon 'check'
= material_symbol 'check'
&nbsp;
= t 'disputes.strikes.appeal_approved'
- elsif @appeal.persisted? && @appeal.rejected?
%p.hint
%span.negative-hint
= fa_icon 'times'
= material_symbol 'close'
&nbsp;
= t 'disputes.strikes.appeal_rejected'

View File

@ -14,7 +14,7 @@
- unless filter.keywords.empty?
%li.permissions-list__item
.permissions-list__item__icon
= fa_icon('paragraph')
= material_symbol('format_paragraph')
.permissions-list__item__text
.permissions-list__item__text__title
= t('filters.index.keywords', count: filter.keywords.size)
@ -25,7 +25,7 @@
- unless filter.statuses.empty?
%li.permissions-list__item
.permissions-list__item__icon
= fa_icon('comment')
= material_symbol('chat')
.permissions-list__item__text
.permissions-list__item__text__title
= t('filters.index.statuses', count: filter.statuses.size)
@ -37,5 +37,5 @@
= t('filters.index.contexts', contexts: filter.context.map { |context| I18n.t("filters.contexts.#{context}") }.join(', '))
%div
= table_link_to 'pencil', t('filters.edit.title'), edit_filter_path(filter)
= table_link_to 'times', t('filters.index.delete'), filter_path(filter), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') }
= table_link_to 'edit', t('filters.edit.title'), edit_filter_path(filter)
= table_link_to 'close', t('filters.index.delete'), filter_path(filter), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') }

View File

@ -58,4 +58,4 @@
%tr
%td{ colspan: 3 }
= link_to_add_association f, :keywords, class: 'table-action-link', partial: 'keyword_fields', 'data-association-insertion-node': '.keywords-table tbody', 'data-association-insertion-method': 'append' do
= safe_join([fa_icon('plus'), t('filters.edit.add_keyword')])
= safe_join([material_symbol('add'), t('filters.edit.add_keyword')])

View File

@ -5,4 +5,4 @@
%td
= f.hidden_field :id if f.object&.persisted? # Required so Rails doesn't put the field outside of the <tr/>
= link_to_remove_association(f, class: 'table-action-link') do
= safe_join([fa_icon('times'), t('filters.index.delete')])
= safe_join([material_symbol('close'), t('filters.index.delete')])

View File

@ -15,7 +15,7 @@
- status.ordered_media_attachments.each do |media_attachment|
%abbr{ title: media_attachment.description }
= fa_icon 'link'
= material_symbol 'link'
= media_attachment.file_file_name
.detailed-status__meta
@ -33,5 +33,5 @@
= t("statuses.visibilities.#{status.visibility}")
- if status.sensitive?
·
= fa_icon('eye-slash fw')
= material_symbol 'visibility_off'
= t('stream_entries.sensitive_content')

Some files were not shown because too many files have changed in this diff Show More