From a7a2ff6c1d61223220590ccb3af4bfa0480587c1 Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Mon, 19 Aug 2024 14:44:28 -0500 Subject: [PATCH 01/14] Use Dockerfile ADD to obtain ffmpeg and libvips source (#31498) --- Dockerfile | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 65440bb281..cd555f7027 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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 \ From 98bf2fc27c6204527d8da5bc3847bd8406f1bfe8 Mon Sep 17 00:00:00 2001 From: Renaud Chaput Date: Tue, 20 Aug 2024 00:11:58 +0200 Subject: [PATCH 02/14] Improve the list selection UI for notification requests (#31457) --- .../features/notifications/requests.jsx | 121 +++++++----------- app/javascript/mastodon/locales/en.json | 22 ++-- .../styles/mastodon-light/variables.scss | 1 + .../styles/mastodon/components.scss | 26 ++-- app/javascript/styles/mastodon/variables.scss | 1 + 5 files changed, 70 insertions(+), 101 deletions(-) diff --git a/app/javascript/mastodon/features/notifications/requests.jsx b/app/javascript/mastodon/features/notifications/requests.jsx index f323bda4fb..f35c042ba6 100644 --- a/app/javascript/mastodon/features/notifications/requests.jsx +++ b/app/javascript/mastodon/features/notifications/requests.jsx @@ -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 (
- {selectionMode && ( -
- 0 && !selectAllChecked} onChange={toggleSelectAll} /> -
- )} -
+
+ 0 && !selectAllChecked} onChange={handleSelectAll} /> +
+ + + +
- {selectedCount > 0 && -
- {selectedCount} selected -
- } -
- -
); }; diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index aeeaf8209c..6d2b93be57 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -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", diff --git a/app/javascript/styles/mastodon-light/variables.scss b/app/javascript/styles/mastodon-light/variables.scss index 9d4fd60945..39809b437f 100644 --- a/app/javascript/styles/mastodon-light/variables.scss +++ b/app/javascript/styles/mastodon-light/variables.scss @@ -65,4 +65,5 @@ body { --background-color: #fff; --background-color-tint: rgba(255, 255, 255, 80%); --background-filter: blur(10px); + --on-surface-color: #{transparentize($ui-base-color, 0.65)}; } diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 895762b803..c1ee4ea10d 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -4217,7 +4217,7 @@ a.status-card { text-decoration: none; &:hover { - background: lighten($ui-base-color, 2%); + background: var(--on-surface-color); } } @@ -4346,19 +4346,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 +4565,7 @@ a.status-card { padding: 0; font-family: inherit; font-size: inherit; + font-weight: inherit; color: inherit; border: 0; background: transparent; @@ -10366,7 +10366,7 @@ noscript { cursor: pointer; &:hover { - background: lighten($ui-base-color, 1%); + background: var(--on-surface-color); } .notification-request__checkbox { diff --git a/app/javascript/styles/mastodon/variables.scss b/app/javascript/styles/mastodon/variables.scss index 92b4770fe3..c8271e0dcd 100644 --- a/app/javascript/styles/mastodon/variables.scss +++ b/app/javascript/styles/mastodon/variables.scss @@ -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; } From 2f01f5f4ea886c4a1bec2148d0ca82da5ae67f0c Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Tue, 20 Aug 2024 02:48:51 -0500 Subject: [PATCH 03/14] Harmonize persistent scrollbar styles (#31445) --- .../styles/mastodon-light/diff.scss | 15 +++++++++++---- .../styles/mastodon/components.scss | 4 ---- app/javascript/styles/mastodon/reset.scss | 19 +++++++++++++------ 3 files changed, 24 insertions(+), 14 deletions(-) diff --git a/app/javascript/styles/mastodon-light/diff.scss b/app/javascript/styles/mastodon-light/diff.scss index 55eb88dae1..8d801e4cd5 100644 --- a/app/javascript/styles/mastodon-light/diff.scss +++ b/app/javascript/styles/mastodon-light/diff.scss @@ -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; +} diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index c1ee4ea10d..97abf77d10 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -7560,10 +7560,6 @@ a.status-card { } } -::-webkit-scrollbar-thumb { - border-radius: 0; -} - noscript { text-align: center; diff --git a/app/javascript/styles/mastodon/reset.scss b/app/javascript/styles/mastodon/reset.scss index f8a4a08ced..5a4152826d 100644 --- a/app/javascript/styles/mastodon/reset.scss +++ b/app/javascript/styles/mastodon/reset.scss @@ -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 { From c75f7262ed32b7eb12aea154b0a41f876b7b58e9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 20 Aug 2024 07:59:21 +0000 Subject: [PATCH 04/14] New Crowdin Translations (automated) (#31504) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/ar.json | 7 --- app/javascript/mastodon/locales/be.json | 13 +++++ app/javascript/mastodon/locales/bg.json | 2 - app/javascript/mastodon/locales/ca.json | 20 ++++---- app/javascript/mastodon/locales/cy.json | 12 ----- app/javascript/mastodon/locales/da.json | 22 ++++----- app/javascript/mastodon/locales/de.json | 12 ----- app/javascript/mastodon/locales/el.json | 12 ----- app/javascript/mastodon/locales/en-GB.json | 12 ----- app/javascript/mastodon/locales/es-AR.json | 12 ----- app/javascript/mastodon/locales/es-MX.json | 12 ----- app/javascript/mastodon/locales/es.json | 12 ----- app/javascript/mastodon/locales/eu.json | 8 ---- app/javascript/mastodon/locales/fi.json | 24 +++++----- app/javascript/mastodon/locales/fo.json | 12 ----- app/javascript/mastodon/locales/fr-CA.json | 3 -- app/javascript/mastodon/locales/fr.json | 3 -- app/javascript/mastodon/locales/ga.json | 12 ----- app/javascript/mastodon/locales/gd.json | 12 ----- app/javascript/mastodon/locales/gl.json | 12 ----- app/javascript/mastodon/locales/he.json | 12 ----- app/javascript/mastodon/locales/hu.json | 12 ----- app/javascript/mastodon/locales/ig.json | 1 - app/javascript/mastodon/locales/is.json | 12 ----- app/javascript/mastodon/locales/it.json | 12 ----- app/javascript/mastodon/locales/kab.json | 1 - app/javascript/mastodon/locales/ko.json | 12 ----- app/javascript/mastodon/locales/lad.json | 4 -- app/javascript/mastodon/locales/lt.json | 12 ----- app/javascript/mastodon/locales/nl.json | 12 ----- app/javascript/mastodon/locales/nn.json | 12 ----- app/javascript/mastodon/locales/pl.json | 22 ++++----- app/javascript/mastodon/locales/pt-BR.json | 3 -- app/javascript/mastodon/locales/sk.json | 6 +++ app/javascript/mastodon/locales/sl.json | 6 --- app/javascript/mastodon/locales/sq.json | 12 ----- app/javascript/mastodon/locales/sv.json | 9 +--- app/javascript/mastodon/locales/th.json | 10 ---- app/javascript/mastodon/locales/tr.json | 12 ----- app/javascript/mastodon/locales/uk.json | 12 ----- app/javascript/mastodon/locales/vi.json | 10 ++++ app/javascript/mastodon/locales/zh-CN.json | 12 ----- app/javascript/mastodon/locales/zh-TW.json | 22 ++++----- config/locales/be.yml | 55 ++++++++++++++++++++++ 44 files changed, 137 insertions(+), 390 deletions(-) diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index 0269274397..a022f3a0e5 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -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": "الإشعارات المصفاة", diff --git a/app/javascript/mastodon/locales/be.json b/app/javascript/mastodon/locales/be.json index 1ba69f27f3..546a1457a9 100644 --- a/app/javascript/mastodon/locales/be.json +++ b/app/javascript/mastodon/locales/be.json @@ -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": "Актуальнае", diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index 6687c64a6d..69166eafb8 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -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": "Максимизиране", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index a41e7ba4dd..777e886327 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -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", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index 8b86b49e06..4fb02ba7f1 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -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", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index a9e549470c..9ae27e134e 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -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", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 2d49f172e6..2d72740b4a 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -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", diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index c220f3a4e0..9603da4ffa 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -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": "Μεγιστοποίηση", diff --git a/app/javascript/mastodon/locales/en-GB.json b/app/javascript/mastodon/locales/en-GB.json index 8315333994..d6e3429c3b 100644 --- a/app/javascript/mastodon/locales/en-GB.json +++ b/app/javascript/mastodon/locales/en-GB.json @@ -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", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index 0722a08ea6..ba0a1a45b9 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -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", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index 0ff6c25328..3267b28d61 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -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", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index b8f5de997a..04b46e166a 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -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", diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json index b2a8fe0da3..85855d9165 100644 --- a/app/javascript/mastodon/locales/eu.json +++ b/app/javascript/mastodon/locales/eu.json @@ -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", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 9b48f1bf37..1dc3872b09 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -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.", diff --git a/app/javascript/mastodon/locales/fo.json b/app/javascript/mastodon/locales/fo.json index 36198e9e59..beabf7fa3b 100644 --- a/app/javascript/mastodon/locales/fo.json +++ b/app/javascript/mastodon/locales/fo.json @@ -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", diff --git a/app/javascript/mastodon/locales/fr-CA.json b/app/javascript/mastodon/locales/fr-CA.json index 9cf1d8a69b..e57bc694af 100644 --- a/app/javascript/mastodon/locales/fr-CA.json +++ b/app/javascript/mastodon/locales/fr-CA.json @@ -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", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 6546cbb1e9..dd713e50ea 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -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", diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json index db36db17aa..945b2582ac 100644 --- a/app/javascript/mastodon/locales/ga.json +++ b/app/javascript/mastodon/locales/ga.json @@ -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", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index 6cbf1e7a03..8ab4cafd14 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -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", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index c344c19b7e..1c694bf13d 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -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", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index e9cbfcbcc3..72f0612bc7 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -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": "הגדלה למקסימום", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index eb618c4666..c3e568c780 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -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", diff --git a/app/javascript/mastodon/locales/ig.json b/app/javascript/mastodon/locales/ig.json index 0f4731ebaa..1dd380164d 100644 --- a/app/javascript/mastodon/locales/ig.json +++ b/app/javascript/mastodon/locales/ig.json @@ -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!", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index d5c791e1c5..2cfe8a7c64 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -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", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index 20f5f0aa08..99fc7058be 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -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", diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json index 420ba495f0..f5adc8c56c 100644 --- a/app/javascript/mastodon/locales/kab.json +++ b/app/javascript/mastodon/locales/kab.json @@ -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?", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index a309a50263..2e929040f4 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -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": "최대화", diff --git a/app/javascript/mastodon/locales/lad.json b/app/javascript/mastodon/locales/lad.json index 0b0449c96a..9711bc684d 100644 --- a/app/javascript/mastodon/locales/lad.json +++ b/app/javascript/mastodon/locales/lad.json @@ -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", diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json index 038ec8a7b3..174d3033c7 100644 --- a/app/javascript/mastodon/locales/lt.json +++ b/app/javascript/mastodon/locales/lt.json @@ -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", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index 9293cfb092..a8a6b23f86 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -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", diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json index 1b0e490e60..7ecabd10c5 100644 --- a/app/javascript/mastodon/locales/nn.json +++ b/app/javascript/mastodon/locales/nn.json @@ -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", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index c46c891d1b..adbdedb780 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -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", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index 613b1d4544..9f38f0b51a 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -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", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index 108b83f0b0..7ac05ea980 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -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ý.", diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json index 353b521a1c..1f2d9c4cdf 100644 --- a/app/javascript/mastodon/locales/sl.json +++ b/app/javascript/mastodon/locales/sl.json @@ -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", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index 78b90e2788..3fe22e4df5 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -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}}. S’do 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", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index b27b3633ee..7c57569b80 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -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", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index 9d378a67a2..dc155ac433 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -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": "ดูการแจ้งเตือน", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index ba84b72212..adada095b1 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -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", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index 83b3be003e..462b9fb171 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -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": "Розгорнути", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 688adc2137..8dceeccdbd 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -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", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index 517390f823..fd3ce2ae6c 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -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": "最大化", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 16e506a181..cc130cfafc 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -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": "最大化", diff --git a/config/locales/be.yml b/config/locales/be.yml index 81804ffc32..3d4c10cbb8 100644 --- a/config/locales/be.yml +++ b/config/locales/be.yml @@ -35,6 +35,7 @@ be: created_msg: Нататка мадэратара паспяхова створана! destroyed_msg: Нататка мадэратара паспяхова выдалена! accounts: + add_email_domain_block: Заблакіраваць дамен эл. пошты approve: Пацвердзіць approved_msg: Заяўка на рэгістрацыю %{username} ухваленая are_you_sure: Вы ўпэўнены? @@ -135,6 +136,7 @@ be: resubscribe: Аднавіць падпіску role: Роля search: Пошук + search_same_email_domain: Іншыя карыстальнікі з такім жа даменам эл. пошты search_same_ip: Іншыя карыстальнікі з гэтым IP security: Бяспека security_measures: @@ -175,21 +177,26 @@ be: approve_appeal: Ухваліць абскарджанне approve_user: Зацвердзіць карыстальніка assigned_to_self_report: Прызначыць скаргу + change_email_user: Змяніць эл. пошту карыстальніка change_role_user: Змяніць ролю карыстальніка confirm_user: Пацвердзіць карыстальніка create_account_warning: Стварыць папярэджанне create_announcement: Стварыць аб'яву + create_canonical_email_block: Стварыць блакіроўку электроннай пошты create_custom_emoji: Стварыць адвольны эмодзі create_domain_allow: Стварыць даменны дазвол create_domain_block: Стварыць даменны блок + create_email_domain_block: Стварыць даменны блок электроннай пошты create_ip_block: Стварыць IP правіла create_unavailable_domain: Стварыць недаступны Дамен create_user_role: Стварыць ролю demote_user: Панізіць карыстальніка destroy_announcement: Выдаліць аб'яву + destroy_canonical_email_block: Выдаліць блакіроўку электроннай пошты destroy_custom_emoji: Выдаліць адвольны эмодзі destroy_domain_allow: Выдаліць дамены дазвол destroy_domain_block: Выдаліць даменны блок + destroy_email_domain_block: Выдаліць даменны блок электроннай пошты destroy_instance: Вычысціць дамен destroy_ip_block: Выдаліць IP правіла destroy_status: Выдаліць допіс @@ -197,8 +204,10 @@ be: destroy_user_role: Выдаліць ролю disable_2fa_user: Адключыць двухэтапнае спраўджанне disable_custom_emoji: Адключыць адвольныя эмодзі + disable_sign_in_token_auth_user: Адключыць аўтарызацыю праз электронную пошту для карыстальніка disable_user: Адключыць карыстальніка enable_custom_emoji: Уключыць адвольныя эмодзі + enable_sign_in_token_auth_user: Уключыць аўтарызацыю праз электронную пошту для карыстальніка enable_user: Уключыць карыстальніка memorialize_account: Запомніць уліковы запіс promote_user: Павысіць правы Карыстальніка @@ -228,20 +237,26 @@ be: approve_appeal_html: Карыстальнік %{name} ухваліў запыт на мадэрацыю %{target} approve_user_html: "%{name} пацвердзіў рэгістрацыю ад %{target}" assigned_to_self_report_html: "%{name} прызначыў справаздачу %{target} на сябе\n" + change_email_user_html: "%{name} змяніў паштовы адрас карыстальніка %{target}" change_role_user_html: "%{name} змяніў ролю %{target}" + confirm_user_html: "%{name} пацвердзіў паштовы адрас %{target}" create_account_warning_html: "%{name} накіраваў папярэджанне %{target}" create_announcement_html: "%{name} зрабіў новую аб'яву %{target}" + create_canonical_email_block_html: "%{name} заблакіраваў эл. пошту з хэшам %{target}" create_custom_emoji_html: "%{name} загрузіў новы смайлік %{target}\n\n" create_domain_allow_html: "%{name} дазволіў федэрацыю з даменам %{target}" create_domain_block_html: "%{name} заблакіраваў дамен %{target}" + create_email_domain_block_html: "%{name} заблакіраваў дамен эл. пошты %{target}" create_ip_block_html: "%{name} стварыў правіла для IP %{target}" create_unavailable_domain_html: "%{name} прыпыніў дастаўку да дамена %{target}" create_user_role_html: "%{name} зрабіў ролю %{target}" demote_user_html: "%{name} прыбраў карыстальніка %{target}" destroy_announcement_html: "%{name} выдаліў аб'яву %{target}" + destroy_canonical_email_block_html: "%{name} разблакіраваў эл. пошту з хэшам %{target}" destroy_custom_emoji_html: "%{name} выдаліў(а) эмоджі %{target}" destroy_domain_allow_html: "%{name} зняў дазвол на аб'яднанне з даменам %{target}\n" destroy_domain_block_html: "%{name} разблакаваў дамен %{target}" + destroy_email_domain_block_html: "%{name} разблакіраваў дамен эл. пошты %{target}" destroy_instance_html: "%{name} цалкам прыбраў дамен %{target}" destroy_ip_block_html: "%{name} выдаліў правіла для IP %{target}" destroy_status_html: "%{name} выдаліў допіс %{target}" @@ -249,8 +264,10 @@ be: destroy_user_role_html: "%{name} выдаліў ролю %{target}" disable_2fa_user_html: "%{name} амяніў абавязковую двухфактарную верыфікацыю для карыстальніка %{target}" disable_custom_emoji_html: "%{name} заблакіраваў эмодзі %{target}" + disable_sign_in_token_auth_user_html: "%{name} адключыў уваход праз эл. пошту для %{target}" disable_user_html: "%{name} адключыў уваход для карыстальніка %{target}" enable_custom_emoji_html: "%{name} уключыў эмодзі %{target}" + enable_sign_in_token_auth_user_html: "%{name} уключыў уваход праз эл. пошту для %{target}" enable_user_html: "%{name} уключыў уваход для карыстальніка %{target}" memorialize_account_html: Карыстальнік %{name} пераключыў уліковы запіс %{target} у старонку памяці promote_user_html: "%{name} павысіў карыстальніка %{target}" @@ -258,6 +275,7 @@ be: reject_user_html: "%{name} адхіліў рэгістрацыю з %{target}" remove_avatar_user_html: "%{name} выдаліў аватар %{target}" reopen_report_html: "%{name} зноў адкрыў скаргу %{target}" + resend_user_html: "%{name} зноў адправіў ліст з пацвярджэннем для %{target}" reset_password_user_html: "%{name} скінул(а) пароль для %{target}" resolve_report_html: "%{name} вырашыў скаргу %{target}" sensitive_account_html: "%{name} адзначыў медыя %{target} як далікатнае" @@ -428,6 +446,7 @@ be: many: "%{count} спроб рэгіістрацыі за апошні тыдзень" one: "%{count} спроба рэгістрацыі за апошні тыдзень" other: "%{count} спроб рэгіістрацыі за апошні тыдзень" + created_msg: Дамен эл. пошты паспяхова заблакіраваны delete: Выдаліць dns: types: @@ -436,8 +455,11 @@ be: new: create: Дадаць дамен resolve: Вызначыць дамен + title: Заблакіраваць новы дамен эл. пошты not_permitted: Забаронена + resolved_dns_records_hint_html: Даменнае імя ператвараецца ў наступныя дамены MX, якія ў канчатковым выніку адказваюць за прыём электроннай пошты. Блакаванне дамена MX заблакуе рэгістрацыю з любога адраса электроннай пошты, які выкарыстоўвае той жа дамен MX, нават калі бачнае імя дамена адрозніваецца. Будзьце асцярожныя, каб не заблакіраваць асноўных пастаўшчыкоў электроннай пошты. resolved_through_html: Вызначына каля %{domain} + title: Заблакіраваныя паштовыя дамены export_domain_allows: new: title: Імпарт дазволаў дамена @@ -599,6 +621,7 @@ be: resolve_description_html: Ніякіх дзеянняў супраць уліковага запісу, пра які паведамляецца, не будзе, папярэджэнне не зафіксавана, і скарга будзе закрыта. silence_description_html: Уліковы запіс будзе бачны толькі тым, хто ўжо сочыць за ім або шукае яго ўручную, што значна абмяжоўвае яго ахоп. Заўсёды можна вярнуць. Закрывае ўсе скаргі на гэты ўліковы запіс. suspend_description_html: Уліковы запіс і ўсё яго змесціва будзе недаступна і ў далейшым выдалены, узаемадзеянне з ім будзе немагчыма. Магчыма адмяніць на працягу 30 дзён. Закрывае ўсе скаргі на гэты ўліковы запіс. + actions_description_html: Вырашыце, якія дзеянні распачаць, каб вырашыць гэтую скаргу. Калі вы прымеце меры пакарання ў дачыненні да ўліковага запісу, пра які паведамляецца, ім будзе адпраўлена апавяшчэнне па электроннай пошце, за выключэннем выпадкаў, калі выбрана катэгорыя Спам. actions_description_remote_html: Вырашыце як паступіць з гэтай скаргай. Гэта паўплывае толькі на тое як ваш сервер звязваецца з аддалёным уліковым запісам і апрацоўвае яго кантэнт. add_to_report: Дадаць яшчэ дэталяў да скаргі already_suspended_badges: @@ -663,6 +686,7 @@ be: delete_data_html: Выдаліць профіль @%{acct} і змесціва праз 30 дзён, калі тым часам гэтае дзеянне не будзе адменена preview_preamble_html: "@%{acct} атрымае папярэджанне наступнага зместу:" record_strike_html: Зарэгістраваць папярэджанне @%{acct}, каб дапамагчы вам эскаліраваць наступныя парушэнні з боку таго ж уліковага запісу + send_email_html: Адправіць @%{acct} папярэджанне па электроннай пошце warning_placeholder: Неабавязковае дадатковае абгрунтаванне мадэрацыі. target_origin: Крыніца уліковага запісу на які пададзена скарга title: Скаргі @@ -706,6 +730,7 @@ be: manage_appeals: Кіраванне апеляцыямі manage_appeals_description: Дазваляе карыстальнікам разглядаць апеляцыі на дзеянні мадэратара manage_blocks: Кіраванне блакіроўкамі + manage_blocks_description: Дазваляе блакаваць пэўныя паштовыя правайдэры і IP адрасы manage_custom_emojis: Кіраванне адвольнымі эмодзі manage_custom_emojis_description: Дазваляе кіраваць адвольнымі эмодзі на серверы manage_federation: Кіраваць федэрацыяй @@ -723,6 +748,7 @@ be: manage_taxonomies: Кіраванне катэгорыямі manage_taxonomies_description: Дазваляе карыстальнікам праглядаць папулярны кантэнт і абнаўляць налады хэштэгаў manage_user_access: Кіраванне наладамі доступу карыстальнікаў + manage_user_access_description: Дазваляе адключаць двухфактарную аўтэнтыфікацыю іншым карыстальнікам, змяняць іх паштовы адрас і скідваць пароль manage_users: Кіраванне карыстальнікамі manage_users_description: Дазваляе праглядаць звесткі іншых карыстальнікаў і іх мадэрацыю manage_webhooks: Кіраванне вэбхукамі @@ -797,6 +823,7 @@ be: destroyed_msg: Загрузка сайту паспяхова выдалена! software_updates: critical_update: Крытычна - зрабіце абнаўленне як мага хутчэй + description: Рэкамендуецца падтрымліваць усталёўку Mastodon у актуальным стане, каб карыстацца апошнімі выпраўленнямі і магчымасцямі. Акрамя таго, часам вельмі важна своечасова абнаўляць Mastodon, каб пазбегнуць праблем з бяспекай. Па гэтых прычынах Mastodon правярае наяўнасць абнаўленняў кожныя 30 хвілін і паведамляе вам пра гэта ў адпаведнасці з вашымі наладамі апавяшчэнняў па электроннай пошце. documentation_link: Даведацца больш release_notes: Журнал змен title: Даступныя абнаўленні @@ -970,6 +997,7 @@ be: many: Выкарысталі %{count} чалавек за апошні тыдзень one: Выкарыстаў адзін чалавек за апошні тыдзень other: Выкарысталі %{count} чалавек за апошні тыдзень + title: Рэкамендацыі і трэнды trending: Папулярныя warning_presets: add_new: Дадаць новы @@ -1056,7 +1084,9 @@ be: guide_link_text: Кожны і кожная можа зрабіць унёсак. sensitive_content: Далікатны змест application_mailer: + notification_preferences: Змяніць налады эл. пошты salutation: "%{name}," + settings: 'Змяніць налады эл. пошты: %{link}' unsubscribe: Адпісацца view: 'Паглядзець:' view_profile: Паглядзець профіль @@ -1076,6 +1106,7 @@ be: hint_html: Засталася яшчэ адна рэч! Каб не дапусціць спаму, нам трэба пацвердзіць, што вы чалавек. Разгадайце CAPTCHA ніжэй і націсніце «Працягнуць». title: Праверка бяспекі confirmations: + awaiting_review: Ваш электронны адрас пацверджаны! Адміністрацыя %{domain} зараз разглядае вашу рэгістрацыю. Вы атрымаеце паведамленне па электроннай пошце, калі ваш уліковы запіс будзе ўхвалены! awaiting_review_title: Ваша рэгістрацыя разглядаецца clicking_this_link: націснуць на гэту спасылку login_link: увайсці @@ -1083,6 +1114,7 @@ be: redirect_to_app_html: Вы павінны былі быць перанакіраваны ў праграму %{app_name}. Калі гэтага не адбылося, паспрабуйце %{clicking_this_link} або вярніцеся да праграмы ўручную. registration_complete: Ваша рэгістрацыя на %{domain} завершана! welcome_title: Вітаем, %{name}! + wrong_email_hint: Калі гэты адрас электроннай пошты памылковы, вы можаце змяніць яго ў наладах уліковага запісу. delete_account: Выдаліць уліковы запіс delete_account_html: Калі вы жадаеце выдаліць ваш уліковы запіс, можаце працягнуць тут. Ад вас будзе запатрабавана пацвярджэнне. description: @@ -1103,6 +1135,7 @@ be: or_log_in_with: Або ўвайсці з дапамогай privacy_policy_agreement_html: Я азнаёміўся і пагаджаюся з палітыкай канфідэнцыйнасці progress: + confirm: Пацвердзіць email details: Вашы дадзеныя review: Наш водгук rules: Прыняць правілы @@ -1124,8 +1157,10 @@ be: security: Бяспека set_new_password: Прызначыць новы пароль setup: + email_below_hint_html: Праверце папку са спамам або зрабіце новы запыт. Вы можаце выправіць свой email, калі ён няправільны. email_settings_hint_html: Націсніце на спасылку, якую мы адправілі, каб спраўдзіць %{email}. Мы вас пачакаем тут. link_not_received: Не атрымалі спасылку? + new_confirmation_instructions_sent: Праз некалькі хвілін вы атрымаеце новы ліст на email са спасылкай для пацверджання! title: Праверце вашу пошту sign_in: preamble_html: Уваход з уліковымі дадзенымі %{domain}. Калі ваш уліковы запіс знаходзіцца на іншым серверы, у вас не атрымаецца ўвайсці тут. @@ -1136,7 +1171,9 @@ be: title: Наладзьма вас на %{domain}. status: account_status: Стан уліковага запісу + confirming: Чакаецца пацвярджэнне з электроннай пошты. functional: Ваш уліковы запіс поўнасцю працуе. + pending: Ваша заяўка разглядаецца нашым супрацоўнікам. Гэта можа заняць некаторы час. Вы атрымаеце электронны ліст, калі заяўка будзе ўхвалена. redirecting_to: Ваш уліковы запіс неактыўны, бо ў цяперашні час ён перанакіроўваецца на %{acct}. self_destruct: Паколькі %{domain} зачыняецца, вы атрымаеце толькі абмежаваны доступ да свайго уліковага запісу. view_strikes: Праглядзець мінулыя папярэджанні для вашага ўліковага запісу @@ -1179,6 +1216,9 @@ be: before: 'Перш чым працягнуць, уважліва прачытайце гэтыя заўвагі:' caches: Змесціва, кэшаванае іншымі серверамі, можа захавацца data_removal: Вашы допісы і іншыя даныя будуць выдалены назаўсёды + email_change_html: Вы можаце змяніць свой адрас электроннай пошты, не выдаляючы ўліковы запіс + email_contact_html: Калі ліст усё яшчэ не дайшоў, вы можаце звярнуцца па дапамогу на эл. пошту %{email} + email_reconfirmation_html: Калі вы не атрымалі пацвярджэнне па электроннай пошце, вы можаце запытаць яго зноў irreversible: Вы не зможаце аднавіць або паўторна актываваць свой уліковы запіс more_details_html: Падрабязнасці глядзіце ў палітыцы прыватнасці. username_available: Ваша імя карыстальніка зноў стане даступным @@ -1427,6 +1467,7 @@ be: authentication_methods: otp: праграма двухфактарнай аўтэнтыфікацыі password: пароль + sign_in_token: код з электроннай пошты webauthn: ключы бяспекі description_html: Калі вы бачыце невядомую вам актыўнасць, падумайце пра змену пароля і ўключэнне двухфактарнай аўтэнтыфікацыі. empty: Няма гісторыі ўваходаў @@ -1437,6 +1478,16 @@ be: unsubscribe: action: Так, адпісацца complete: Адпісаны + confirmation_html: Вы ўпэўнены, што жадаеце адмовіцца ад %{type} з Mastodon на дамене %{domain} на вашу электронную пошту %{email}? Вы заўсёды можаце паўторна падпісацца у наладах апавяшчэнняў па электроннай пошце. + emails: + notification_emails: + favourite: апавяшчэнні на пошту пра упадабанае + follow: апавяшчэнні на пошту пра падпіскі + follow_request: апавяшчэнні на пошту пра запыты на падпіску + mention: апавяшчэнні на пошту пра згадванні + reblog: апавяшчэнні на пошту пра пашырэнні + resubscribe_html: Калі вы адмовіліся ад падпіскі памылкова, вы можаце зноў падпісацца ў наладах апавяшчэнняў па электроннай пошце. + success_html: Вы больш не будзеце атрымліваць %{type} на сваю электронную пошту %{email} ад Mastodon на дамене %{domain}. title: Адпісацца media_attachments: validations: @@ -1517,6 +1568,8 @@ be: update: subject: "%{name} адрэдагаваў допіс" notifications: + administration_emails: Апавяшчэнні эл. пошты для адміністратара + email_events: Падзеі для апавяшчэнняў эл. пошты email_events_hint: 'Выберыце падзеі, аб якіх вы хочаце атрымліваць апавяшчэнні:' number: human: @@ -1675,6 +1728,7 @@ be: import: Імпарт import_and_export: Імпарт і экспарт migrate: Перамяшчэнне ўліковага запісу + notifications: Апавяшчэнні па эл. пошце preferences: Налады profile: Профіль relationships: Падпіскі і падпісчыкі @@ -1935,6 +1989,7 @@ be: invalid_otp_token: Няправільны код двухфактарнай аўтэнтыфікацыі otp_lost_help_html: Калі вы страцілі доступ да абодвух, вы можаце скарыстацца %{email} rate_limited: Занадта шмат спробаў аўтэнтыфікацыі, паспрабуйце пазней. + seamless_external_login: Вы ўвайшлі праз знешні сэрвіс, таму налады пароля і эл. пошты недаступныя. signed_in_as: 'Увайшлі як:' verification: extra_instructions_html: Парада: спасылка на вашым сайце можа быць нябачнай. Важнай часткай з'яўляецца rel="me", якая прадухіляе імперсанацыю на сайтах з карыстальніцкім кантэнтам. Вы нават можаце выкарыстоўваць тэг link у загалоўку старонкі замест a, але HTML павінен быць даступны без выканання JavaScript. From 71405eabfca60776b0351b022e61248861cce971 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 20 Aug 2024 07:48:15 -0400 Subject: [PATCH 05/14] Use material symbols in table link helper (#31359) --- app/helpers/admin/filter_helper.rb | 2 +- app/javascript/material-icons/400-24px/key.svg | 1 + app/javascript/material-icons/400-24px/toggle_off.svg | 5 +++++ app/javascript/material-icons/400-24px/toggle_on.svg | 5 +++++ app/views/admin/accounts/_local_account.html.haml | 10 +++++----- app/views/admin/accounts/_remote_account.html.haml | 2 +- app/views/admin/announcements/_announcement.html.haml | 6 +++--- app/views/admin/invites/_invite.html.haml | 2 +- app/views/admin/relays/_relay.html.haml | 6 +++--- app/views/admin/report_notes/_report_note.html.haml | 4 ++-- app/views/admin/reports/_header_details.html.haml | 4 ++-- app/views/admin/roles/_role.html.haml | 2 +- app/views/admin/rules/_rule.html.haml | 2 +- .../admin/warning_presets/_warning_preset.html.haml | 2 +- app/views/admin/webhooks/_webhook.html.haml | 4 ++-- app/views/admin/webhooks/show.html.haml | 4 ++-- app/views/auth/registrations/_session.html.haml | 2 +- app/views/filters/_filter.html.haml | 4 ++-- app/views/invites/_invite.html.haml | 2 +- .../oauth/authorized_applications/index.html.haml | 2 +- app/views/settings/aliases/index.html.haml | 2 +- app/views/settings/applications/index.html.haml | 2 +- app/views/settings/featured_tags/index.html.haml | 2 +- .../webauthn_credentials/index.html.haml | 2 +- .../two_factor_authentication_methods/index.html.haml | 4 ++-- 25 files changed, 47 insertions(+), 36 deletions(-) create mode 100644 app/javascript/material-icons/400-24px/key.svg create mode 100644 app/javascript/material-icons/400-24px/toggle_off.svg create mode 100644 app/javascript/material-icons/400-24px/toggle_on.svg diff --git a/app/helpers/admin/filter_helper.rb b/app/helpers/admin/filter_helper.rb index 140fc73ede..40806a4515 100644 --- a/app/helpers/admin/filter_helper.rb +++ b/app/helpers/admin/filter_helper.rb @@ -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) diff --git a/app/javascript/material-icons/400-24px/key.svg b/app/javascript/material-icons/400-24px/key.svg new file mode 100644 index 0000000000..bba7f1de9d --- /dev/null +++ b/app/javascript/material-icons/400-24px/key.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/toggle_off.svg b/app/javascript/material-icons/400-24px/toggle_off.svg new file mode 100644 index 0000000000..dcef49f69c --- /dev/null +++ b/app/javascript/material-icons/400-24px/toggle_off.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/toggle_on.svg b/app/javascript/material-icons/400-24px/toggle_on.svg new file mode 100644 index 0000000000..943b6e6d33 --- /dev/null +++ b/app/javascript/material-icons/400-24px/toggle_on.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/app/views/admin/accounts/_local_account.html.haml b/app/views/admin/accounts/_local_account.html.haml index 3ed392cd1a..3ad47d8dfb 100644 --- a/app/views/admin/accounts/_local_account.html.haml +++ b/app/views/admin/accounts/_local_account.html.haml @@ -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 diff --git a/app/views/admin/accounts/_remote_account.html.haml b/app/views/admin/accounts/_remote_account.html.haml index 6755af2496..a052e877f4 100644 --- a/app/views/admin/accounts/_remote_account.html.haml +++ b/app/views/admin/accounts/_remote_account.html.haml @@ -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) diff --git a/app/views/admin/announcements/_announcement.html.haml b/app/views/admin/announcements/_announcement.html.haml index 1c7f89ef21..eac78efb28 100644 --- a/app/views/admin/announcements/_announcement.html.haml +++ b/app/views/admin/announcements/_announcement.html.haml @@ -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) diff --git a/app/views/admin/invites/_invite.html.haml b/app/views/admin/invites/_invite.html.haml index f9cd6003f3..8bd5f10fee 100644 --- a/app/views/admin/invites/_invite.html.haml +++ b/app/views/admin/invites/_invite.html.haml @@ -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 diff --git a/app/views/admin/relays/_relay.html.haml b/app/views/admin/relays/_relay.html.haml index 2e76f54308..9e9f629eee 100644 --- a/app/views/admin/relays/_relay.html.haml +++ b/app/views/admin/relays/_relay.html.haml @@ -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') } diff --git a/app/views/admin/report_notes/_report_note.html.haml b/app/views/admin/report_notes/_report_note.html.haml index 64628989a6..dd60f7eabd 100644 --- a/app/views/admin/report_notes/_report_note.html.haml +++ b/app/views/admin/report_notes/_report_note.html.haml @@ -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 diff --git a/app/views/admin/reports/_header_details.html.haml b/app/views/admin/reports/_header_details.html.haml index 434231f733..cf81670845 100644 --- a/app/views/admin/reports/_header_details.html.haml +++ b/app/views/admin/reports/_header_details.html.haml @@ -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 diff --git a/app/views/admin/roles/_role.html.haml b/app/views/admin/roles/_role.html.haml index fd37644c83..636127354b 100644 --- a/app/views/admin/roles/_role.html.haml +++ b/app/views/admin/roles/_role.html.haml @@ -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) diff --git a/app/views/admin/rules/_rule.html.haml b/app/views/admin/rules/_rule.html.haml index 5f37f69354..eb97eefb3c 100644 --- a/app/views/admin/rules/_rule.html.haml +++ b/app/views/admin/rules/_rule.html.haml @@ -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) diff --git a/app/views/admin/warning_presets/_warning_preset.html.haml b/app/views/admin/warning_presets/_warning_preset.html.haml index a58199c804..2cc056420f 100644 --- a/app/views/admin/warning_presets/_warning_preset.html.haml +++ b/app/views/admin/warning_presets/_warning_preset.html.haml @@ -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) diff --git a/app/views/admin/webhooks/_webhook.html.haml b/app/views/admin/webhooks/_webhook.html.haml index 39abb7dd2c..dca5abeb77 100644 --- a/app/views/admin/webhooks/_webhook.html.haml +++ b/app/views/admin/webhooks/_webhook.html.haml @@ -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) diff --git a/app/views/admin/webhooks/show.html.haml b/app/views/admin/webhooks/show.html.haml index c2c4f55788..a389e61102 100644 --- a/app/views/admin/webhooks/show.html.haml +++ b/app/views/admin/webhooks/show.html.haml @@ -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 diff --git a/app/views/auth/registrations/_session.html.haml b/app/views/auth/registrations/_session.html.haml index 2fa7db70c7..631ae04601 100644 --- a/app/views/auth/registrations/_session.html.haml +++ b/app/views/auth/registrations/_session.html.haml @@ -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 diff --git a/app/views/filters/_filter.html.haml b/app/views/filters/_filter.html.haml index 9993ad2ee8..9d82a979fe 100644 --- a/app/views/filters/_filter.html.haml +++ b/app/views/filters/_filter.html.haml @@ -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') } diff --git a/app/views/invites/_invite.html.haml b/app/views/invites/_invite.html.haml index 62799ca5be..d332dc5a4d 100644 --- a/app/views/invites/_invite.html.haml +++ b/app/views/invites/_invite.html.haml @@ -22,4 +22,4 @@ %td - if invite.valid_for_use? && policy(invite).destroy? - = table_link_to 'times', t('invites.delete'), invite_path(invite), method: :delete + = table_link_to 'close', t('invites.delete'), invite_path(invite), method: :delete diff --git a/app/views/oauth/authorized_applications/index.html.haml b/app/views/oauth/authorized_applications/index.html.haml index 92e24d30c8..009bbf8d85 100644 --- a/app/views/oauth/authorized_applications/index.html.haml +++ b/app/views/oauth/authorized_applications/index.html.haml @@ -29,7 +29,7 @@ - unless application.superapp? || current_account.unavailable? %div - = table_link_to 'times', t('doorkeeper.authorized_applications.buttons.revoke'), oauth_authorized_application_path(application), method: :delete, data: { confirm: t('doorkeeper.authorized_applications.confirmations.revoke') } + = table_link_to 'close', t('doorkeeper.authorized_applications.buttons.revoke'), oauth_authorized_application_path(application), method: :delete, data: { confirm: t('doorkeeper.authorized_applications.confirmations.revoke') } .announcements-list__item__permissions %ul.permissions-list diff --git a/app/views/settings/aliases/index.html.haml b/app/views/settings/aliases/index.html.haml index c618a82f1d..81c49c8203 100644 --- a/app/views/settings/aliases/index.html.haml +++ b/app/views/settings/aliases/index.html.haml @@ -30,4 +30,4 @@ - @aliases.each do |account_alias| %tr %td= account_alias.pretty_acct - %td= table_link_to 'trash', t('aliases.remove'), settings_alias_path(account_alias), data: { method: :delete } + %td= table_link_to 'delete', t('aliases.remove'), settings_alias_path(account_alias), data: { method: :delete } diff --git a/app/views/settings/applications/index.html.haml b/app/views/settings/applications/index.html.haml index 5c31d56bca..80eaed5c39 100644 --- a/app/views/settings/applications/index.html.haml +++ b/app/views/settings/applications/index.html.haml @@ -20,6 +20,6 @@ %td= link_to application.name, settings_application_path(application) %th= application.scopes %td - = table_link_to 'times', t('doorkeeper.applications.index.delete'), settings_application_path(application), method: :delete, data: { confirm: t('doorkeeper.applications.confirmations.destroy') } + = table_link_to 'close', t('doorkeeper.applications.index.delete'), settings_application_path(application), method: :delete, data: { confirm: t('doorkeeper.applications.confirmations.destroy') } = paginate @applications diff --git a/app/views/settings/featured_tags/index.html.haml b/app/views/settings/featured_tags/index.html.haml index 4b6c019e69..088a93bc59 100644 --- a/app/views/settings/featured_tags/index.html.haml +++ b/app/views/settings/featured_tags/index.html.haml @@ -31,5 +31,5 @@ = t('accounts.nothing_here') - else %time.formatted{ datetime: featured_tag.last_status_at.iso8601, title: l(featured_tag.last_status_at) }= l featured_tag.last_status_at - = table_link_to 'trash', t('filters.index.delete'), settings_featured_tag_path(featured_tag), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } + = table_link_to 'delete', t('filters.index.delete'), settings_featured_tag_path(featured_tag), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } .trends__item__current= friendly_number_to_human featured_tag.statuses_count diff --git a/app/views/settings/two_factor_authentication/webauthn_credentials/index.html.haml b/app/views/settings/two_factor_authentication/webauthn_credentials/index.html.haml index 0dfd94ab9d..3ea5810207 100644 --- a/app/views/settings/two_factor_authentication/webauthn_credentials/index.html.haml +++ b/app/views/settings/two_factor_authentication/webauthn_credentials/index.html.haml @@ -9,7 +9,7 @@ %td= credential.nickname %td= t('webauthn_credentials.registered_on', date: l(credential.created_at.to_date, format: :with_month_name)) %td - = table_link_to 'trash', t('webauthn_credentials.delete'), settings_webauthn_credential_path(credential.id), method: :delete, data: { confirm: t('webauthn_credentials.delete_confirmation') } + = table_link_to 'delete', t('webauthn_credentials.delete'), settings_webauthn_credential_path(credential.id), method: :delete, data: { confirm: t('webauthn_credentials.delete_confirmation') } %hr.spacer/ diff --git a/app/views/settings/two_factor_authentication_methods/index.html.haml b/app/views/settings/two_factor_authentication_methods/index.html.haml index 2e4ff4091c..8b670283b9 100644 --- a/app/views/settings/two_factor_authentication_methods/index.html.haml +++ b/app/views/settings/two_factor_authentication_methods/index.html.haml @@ -20,12 +20,12 @@ %tr %td= t('two_factor_authentication.otp') %td - = table_link_to 'pencil', t('two_factor_authentication.edit'), settings_otp_authentication_path, method: :post + = table_link_to 'edit', t('two_factor_authentication.edit'), settings_otp_authentication_path, method: :post %tr %td= t('two_factor_authentication.webauthn') - if current_user.webauthn_enabled? %td - = table_link_to 'pencil', t('two_factor_authentication.edit'), settings_webauthn_credentials_path, method: :get + = table_link_to 'edit', t('two_factor_authentication.edit'), settings_webauthn_credentials_path, method: :get - else %td = table_link_to 'key', t('two_factor_authentication.add'), new_settings_webauthn_credential_path, method: :get From 3be1b1eaaee1e315e4612012f431619b20861107 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 20 Aug 2024 07:52:27 -0400 Subject: [PATCH 06/14] Use material symbol for filters/statuses views (#31371) --- app/views/disputes/strikes/_card.html.haml | 2 +- app/views/filters/statuses/_status_filter.html.haml | 4 ++-- app/views/filters/statuses/index.html.haml | 4 ++-- app/views/statuses/_attachment_list.html.haml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/views/disputes/strikes/_card.html.haml b/app/views/disputes/strikes/_card.html.haml index 55551cc7d0..58965ad600 100644 --- a/app/views/disputes/strikes/_card.html.haml +++ b/app/views/disputes/strikes/_card.html.haml @@ -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 diff --git a/app/views/filters/statuses/_status_filter.html.haml b/app/views/filters/statuses/_status_filter.html.haml index 9999dcda81..31aa9ec237 100644 --- a/app/views/filters/statuses/_status_filter.html.haml +++ b/app/views/filters/statuses/_status_filter.html.haml @@ -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') diff --git a/app/views/filters/statuses/index.html.haml b/app/views/filters/statuses/index.html.haml index 915ec59caf..f9f94eee90 100644 --- a/app/views/filters/statuses/index.html.haml +++ b/app/views/filters/statuses/index.html.haml @@ -6,7 +6,7 @@ .filters .back-link = link_to edit_filter_path(@filter) do - = fa_icon 'chevron-left fw' + = material_symbol 'chevron_left' = t('filters.statuses.back_to_filter') %p.hint= t('filters.statuses.index.hint') @@ -25,7 +25,7 @@ = check_box_tag :batch_checkbox_all, nil, false .batch-table__toolbar__actions - unless @status_filters.empty? - = f.button safe_join([fa_icon('times'), t('filters.statuses.batch.remove')]), name: :remove, class: 'table-action-link', type: :submit + = f.button safe_join([material_symbol('close'), t('filters.statuses.batch.remove')]), name: :remove, class: 'table-action-link', type: :submit .batch-table__body - if @status_filters.empty? = nothing_here 'nothing-here--under-tabs' diff --git a/app/views/statuses/_attachment_list.html.haml b/app/views/statuses/_attachment_list.html.haml index d9706f47bd..a150a3fae9 100644 --- a/app/views/statuses/_attachment_list.html.haml +++ b/app/views/statuses/_attachment_list.html.haml @@ -1,6 +1,6 @@ .attachment-list .attachment-list__icon - = fa_icon 'link' + = material_symbol 'link' %ul.attachment-list__list - attachments.each do |media| %li From fa2e7b1708385c4277a67f04e540cc39fc661390 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 20 Aug 2024 07:52:45 -0400 Subject: [PATCH 07/14] Migrate fontawesome->material in more views (#31360) --- app/helpers/application_helper.rb | 3 ++- app/helpers/settings_helper.rb | 4 ++-- app/javascript/material-icons/400-24px/chat.svg | 5 +++++ .../material-icons/400-24px/desktop_mac.svg | 5 +++++ .../material-icons/400-24px/format_paragraph.svg | 5 +++++ .../material-icons/400-24px/smartphone.svg | 5 +++++ app/javascript/material-icons/400-24px/tablet.svg | 5 +++++ app/javascript/styles/mastodon/accounts.scss | 2 +- app/views/application/_card.html.haml | 2 +- .../auth/registrations/_account_warning.html.haml | 2 +- app/views/auth/registrations/_session.html.haml | 2 +- app/views/disputes/strikes/show.html.haml | 4 ++-- app/views/filters/_filter.html.haml | 4 ++-- app/views/filters/_filter_fields.html.haml | 2 +- app/views/filters/_keyword_fields.html.haml | 2 +- app/views/invites/_invite.html.haml | 2 +- app/views/kaminari/_next_page.html.haml | 2 +- app/views/kaminari/_prev_page.html.haml | 2 +- app/views/oauth/authorizations/new.html.haml | 2 +- .../oauth/authorized_applications/index.html.haml | 2 +- app/views/relationships/show.html.haml | 8 ++++---- app/views/statuses/_detailed_status.html.haml | 10 +++++----- app/views/statuses/_simple_status.html.haml | 14 +++++++------- spec/helpers/application_helper_spec.rb | 9 +++++++++ spec/helpers/settings_helper_spec.rb | 4 ++-- 25 files changed, 71 insertions(+), 36 deletions(-) create mode 100644 app/javascript/material-icons/400-24px/chat.svg create mode 100644 app/javascript/material-icons/400-24px/desktop_mac.svg create mode 100644 app/javascript/material-icons/400-24px/format_paragraph.svg create mode 100644 app/javascript/material-icons/400-24px/smartphone.svg create mode 100644 app/javascript/material-icons/400-24px/tablet.svg diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index a6ab4044bc..20da199d43 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -117,7 +117,8 @@ module ApplicationHelper 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 diff --git a/app/helpers/settings_helper.rb b/app/helpers/settings_helper.rb index 10863a316c..64f2ad70a6 100644 --- a/app/helpers/settings_helper.rb +++ b/app/helpers/settings_helper.rb @@ -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 diff --git a/app/javascript/material-icons/400-24px/chat.svg b/app/javascript/material-icons/400-24px/chat.svg new file mode 100644 index 0000000000..7369e6f847 --- /dev/null +++ b/app/javascript/material-icons/400-24px/chat.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/desktop_mac.svg b/app/javascript/material-icons/400-24px/desktop_mac.svg new file mode 100644 index 0000000000..5d2a07a369 --- /dev/null +++ b/app/javascript/material-icons/400-24px/desktop_mac.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/format_paragraph.svg b/app/javascript/material-icons/400-24px/format_paragraph.svg new file mode 100644 index 0000000000..657b483c00 --- /dev/null +++ b/app/javascript/material-icons/400-24px/format_paragraph.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/smartphone.svg b/app/javascript/material-icons/400-24px/smartphone.svg new file mode 100644 index 0000000000..fa56825488 --- /dev/null +++ b/app/javascript/material-icons/400-24px/smartphone.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/tablet.svg b/app/javascript/material-icons/400-24px/tablet.svg new file mode 100644 index 0000000000..09a5fe6bb1 --- /dev/null +++ b/app/javascript/material-icons/400-24px/tablet.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/app/javascript/styles/mastodon/accounts.scss b/app/javascript/styles/mastodon/accounts.scss index 894332acb5..3f70a7d234 100644 --- a/app/javascript/styles/mastodon/accounts.scss +++ b/app/javascript/styles/mastodon/accounts.scss @@ -66,7 +66,7 @@ margin-inline-start: 15px; text-align: start; - i[data-hidden] { + svg[data-hidden] { display: none; } diff --git a/app/views/application/_card.html.haml b/app/views/application/_card.html.haml index 1b3dd889c1..ae74f1dc63 100644 --- a/app/views/application/_card.html.haml +++ b/app/views/application/_card.html.haml @@ -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?) }) diff --git a/app/views/auth/registrations/_account_warning.html.haml b/app/views/auth/registrations/_account_warning.html.haml index c51179b49d..d558e1d9c9 100644 --- a/app/views/auth/registrations/_account_warning.html.haml +++ b/app/views/auth/registrations/_account_warning.html.haml @@ -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', diff --git a/app/views/auth/registrations/_session.html.haml b/app/views/auth/registrations/_session.html.haml index 631ae04601..92e5147593 100644 --- a/app/views/auth/registrations/_session.html.haml +++ b/app/views/auth/registrations/_session.html.haml @@ -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)   = t 'sessions.description', browser: t("sessions.browsers.#{session.browser}", default: session.browser.to_s), diff --git a/app/views/disputes/strikes/show.html.haml b/app/views/disputes/strikes/show.html.haml index 5f72138821..2bfecebbff 100644 --- a/app/views/disputes/strikes/show.html.haml +++ b/app/views/disputes/strikes/show.html.haml @@ -9,13 +9,13 @@ - if @strike.overruled? %p.hint %span.positive-hint - = fa_icon 'check' + = material_symbol 'check'   = t 'disputes.strikes.appeal_approved' - elsif @appeal.persisted? && @appeal.rejected? %p.hint %span.negative-hint - = fa_icon 'times' + = material_symbol 'close'   = t 'disputes.strikes.appeal_rejected' diff --git a/app/views/filters/_filter.html.haml b/app/views/filters/_filter.html.haml index 9d82a979fe..a544ac3a75 100644 --- a/app/views/filters/_filter.html.haml +++ b/app/views/filters/_filter.html.haml @@ -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) diff --git a/app/views/filters/_filter_fields.html.haml b/app/views/filters/_filter_fields.html.haml index 0f4049ffb6..797c969b24 100644 --- a/app/views/filters/_filter_fields.html.haml +++ b/app/views/filters/_filter_fields.html.haml @@ -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')]) diff --git a/app/views/filters/_keyword_fields.html.haml b/app/views/filters/_keyword_fields.html.haml index eedd514ef5..136ab1653d 100644 --- a/app/views/filters/_keyword_fields.html.haml +++ b/app/views/filters/_keyword_fields.html.haml @@ -5,4 +5,4 @@ %td = f.hidden_field :id if f.object&.persisted? # Required so Rails doesn't put the field outside of the = 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')]) diff --git a/app/views/invites/_invite.html.haml b/app/views/invites/_invite.html.haml index d332dc5a4d..94e1a71125 100644 --- a/app/views/invites/_invite.html.haml +++ b/app/views/invites/_invite.html.haml @@ -7,7 +7,7 @@ - if invite.valid_for_use? %td - = fa_icon 'user fw' + = material_symbol 'person' = invite.uses = " / #{invite.max_uses}" unless invite.max_uses.nil? %td diff --git a/app/views/kaminari/_next_page.html.haml b/app/views/kaminari/_next_page.html.haml index c44aea1f11..5f27f4c8ee 100644 --- a/app/views/kaminari/_next_page.html.haml +++ b/app/views/kaminari/_next_page.html.haml @@ -8,4 +8,4 @@ remote: data-remote %span.next - = link_to_unless current_page.last?, safe_join([t('pagination.next'), fa_icon('chevron-right')], ' '), url, rel: 'next', remote: remote + = link_to_unless current_page.last?, safe_join([t('pagination.next'), material_symbol('chevron_right')], ' '), url, rel: 'next', remote: remote diff --git a/app/views/kaminari/_prev_page.html.haml b/app/views/kaminari/_prev_page.html.haml index 284d6223b8..c5584f6a81 100644 --- a/app/views/kaminari/_prev_page.html.haml +++ b/app/views/kaminari/_prev_page.html.haml @@ -7,4 +7,4 @@ per_page: number of items to fetch per page remote: data-remote %span.prev - = link_to_unless current_page.first?, safe_join([fa_icon('chevron-left'), t('pagination.prev')], ' '), url, rel: 'prev', remote: remote + = link_to_unless current_page.first?, safe_join([material_symbol('chevron_left'), t('pagination.prev')], ' '), url, rel: 'prev', remote: remote diff --git a/app/views/oauth/authorizations/new.html.haml b/app/views/oauth/authorizations/new.html.haml index d4563b2f01..ca9d12a676 100644 --- a/app/views/oauth/authorizations/new.html.haml +++ b/app/views/oauth/authorizations/new.html.haml @@ -13,7 +13,7 @@ - grouped_scopes(@pre_auth.scopes).each do |scope| %li.permissions-list__item .permissions-list__item__icon - = fa_icon('check') + = material_symbol('check') .permissions-list__item__text .permissions-list__item__text__title = t(scope.key, scope: [:doorkeeper, :grouped_scopes, :title]) diff --git a/app/views/oauth/authorized_applications/index.html.haml b/app/views/oauth/authorized_applications/index.html.haml index 009bbf8d85..b6819bbd72 100644 --- a/app/views/oauth/authorized_applications/index.html.haml +++ b/app/views/oauth/authorized_applications/index.html.haml @@ -36,7 +36,7 @@ - grouped_scopes(application.scopes).each do |scope| %li.permissions-list__item .permissions-list__item__icon - = fa_icon('check') + = material_symbol('check') .permissions-list__item__text .permissions-list__item__text__title = t(scope.key, scope: [:doorkeeper, :grouped_scopes, :title]) diff --git a/app/views/relationships/show.html.haml b/app/views/relationships/show.html.haml index 6a866b13f8..7478b8c5ce 100644 --- a/app/views/relationships/show.html.haml +++ b/app/views/relationships/show.html.haml @@ -42,13 +42,13 @@ %label.batch-table__toolbar__select.batch-checkbox-all = check_box_tag :batch_checkbox_all, nil, false .batch-table__toolbar__actions - = f.button safe_join([fa_icon('user-plus'), t('relationships.follow_selected_followers')]), name: :follow, class: 'table-action-link', type: :submit, data: { confirm: t('relationships.confirm_follow_selected_followers') } if followed_by_relationship? && !mutual_relationship? + = f.button safe_join([material_symbol('person_add'), t('relationships.follow_selected_followers')]), name: :follow, class: 'table-action-link', type: :submit, data: { confirm: t('relationships.confirm_follow_selected_followers') } if followed_by_relationship? && !mutual_relationship? - = f.button safe_join([fa_icon('user-times'), t('relationships.remove_selected_follows')]), name: :unfollow, class: 'table-action-link', type: :submit, data: { confirm: t('relationships.confirm_remove_selected_follows') } unless followed_by_relationship? + = f.button safe_join([material_symbol('person_remove'), t('relationships.remove_selected_follows')]), name: :unfollow, class: 'table-action-link', type: :submit, data: { confirm: t('relationships.confirm_remove_selected_follows') } unless followed_by_relationship? - = f.button safe_join([fa_icon('trash'), t('relationships.remove_selected_followers')]), name: :remove_from_followers, class: 'table-action-link', type: :submit, data: { confirm: t('relationships.confirm_remove_selected_followers') } unless following_relationship? + = f.button safe_join([material_symbol('delete'), t('relationships.remove_selected_followers')]), name: :remove_from_followers, class: 'table-action-link', type: :submit, data: { confirm: t('relationships.confirm_remove_selected_followers') } unless following_relationship? - = f.button safe_join([fa_icon('trash'), t('relationships.remove_selected_domains')]), name: :remove_domains_from_followers, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') } if followed_by_relationship? + = f.button safe_join([material_symbol('delete'), t('relationships.remove_selected_domains')]), name: :remove_domains_from_followers, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') } if followed_by_relationship? .batch-table__body - if @accounts.empty? = nothing_here 'nothing-here--under-tabs' diff --git a/app/views/statuses/_detailed_status.html.haml b/app/views/statuses/_detailed_status.html.haml index c55dff5d96..6cd240bbbc 100644 --- a/app/views/statuses/_detailed_status.html.haml +++ b/app/views/statuses/_detailed_status.html.haml @@ -11,7 +11,7 @@ %strong.display-name__html.p-name.emojify= display_name(status.account, custom_emojify: true, autoplay: prefers_autoplay?) %span.display-name__account = acct(status.account) - = fa_icon('lock') if status.account.locked? + = material_symbol('lock') if status.account.locked? = account_action_button(status.account) @@ -58,20 +58,20 @@ · %span.detailed-status__link - if status.in_reply_to_id.nil? - = fa_icon('reply') + = material_symbol('reply') - else - = fa_icon('reply-all') + = material_symbol('reply_all') %span.detailed-status__reblogs>= friendly_number_to_human status.replies_count   · - if status.public_visibility? || status.unlisted_visibility? %span.detailed-status__link - = fa_icon('retweet') + = material_symbol('repeat') %span.detailed-status__reblogs>= friendly_number_to_human status.reblogs_count   · %span.detailed-status__link - = fa_icon('star') + = material_symbol('star') %span.detailed-status__favorites>= friendly_number_to_human status.favourites_count   diff --git a/app/views/statuses/_simple_status.html.haml b/app/views/statuses/_simple_status.html.haml index 93effc4524..ee7900fbfa 100644 --- a/app/views/statuses/_simple_status.html.haml +++ b/app/views/statuses/_simple_status.html.haml @@ -26,7 +26,7 @@   %span.display-name__account = acct(status.account) - = fa_icon('lock') if status.account.locked? + = material_symbol('lock') if status.account.locked? .status__content.emojify{ data: ({ spoiler: current_account&.user&.setting_expand_spoilers ? 'expanded' : 'folded' } if status.spoiler_text?) }< - if status.spoiler_text? %p< @@ -55,16 +55,16 @@ .status__action-bar %span.status__action-bar-button.icon-button.icon-button--with-counter - if status.in_reply_to_id.nil? - = fa_icon 'reply fw' + = material_symbol 'reply' - else - = fa_icon 'reply-all fw' + = material_symbol 'reply_all' %span.icon-button__counter= obscured_counter status.replies_count %span.status__action-bar-button.icon-button - if status.distributable? - = fa_icon 'retweet fw' + = material_symbol 'repeat' - elsif status.private_visibility? || status.limited_visibility? - = fa_icon 'lock fw' + = material_symbol 'lock' - else - = fa_icon 'at fw' + = material_symbol 'alternate_email' %span.status__action-bar-button.icon-button - = fa_icon 'star fw' + = material_symbol 'star' diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index 463a90b698..95e6976169 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -59,6 +59,15 @@ describe ApplicationHelper do end end + describe '#material_symbol' do + it 'returns an svg with the icon and options' do + expect(helper.material_symbol('lock', class: :test, data: { hidden: true })) + .to match('') + .and match('class="icon material-lock test"') + .and match('data-hidden="true"') + end + end + describe 'open_registrations?' do it 'returns true when open for registrations' do allow(Setting).to receive(:[]).with('registrations_mode').and_return('open') diff --git a/spec/helpers/settings_helper_spec.rb b/spec/helpers/settings_helper_spec.rb index cba5c6ee89..ca447d8ce1 100644 --- a/spec/helpers/settings_helper_spec.rb +++ b/spec/helpers/settings_helper_spec.rb @@ -10,7 +10,7 @@ describe SettingsHelper do it 'detects the device and returns a descriptive string' do result = helper.session_device_icon(session) - expect(result).to eq('mobile') + expect(result).to eq('smartphone') end end @@ -30,7 +30,7 @@ describe SettingsHelper do it 'detects the device and returns a descriptive string' do result = helper.session_device_icon(session) - expect(result).to eq('desktop') + expect(result).to eq('desktop_mac') end end end From 711e1fce0a6f0b883125614aade04d78bb4217ce Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 20 Aug 2024 15:54:08 +0200 Subject: [PATCH 08/14] Fix pagination parameters in `GET /api/v2_alpha/notificatins` (#31509) --- app/models/notification.rb | 8 +++--- .../api/v2_alpha/notifications_spec.rb | 28 +++++++++++++++---- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/app/models/notification.rb b/app/models/notification.rb index f1605f0347..ae7c782bed 100644 --- a/app/models/notification.rb +++ b/app/models/notification.rb @@ -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 diff --git a/spec/requests/api/v2_alpha/notifications_spec.rb b/spec/requests/api/v2_alpha/notifications_spec.rb index 94bc7b0ee3..a613158aa5 100644 --- a/spec/requests/api/v2_alpha/notifications_spec.rb +++ b/spec/requests/api/v2_alpha/notifications_spec.rb @@ -97,8 +97,7 @@ RSpec.describe 'Notifications' do before do first_status = PostStatusService.new.call(user.account, text: 'Test') ReblogService.new.call(bob.account, first_status) - mentioning_status = PostStatusService.new.call(bob.account, text: 'Hello @alice') - mentioning_status.mentions.first + PostStatusService.new.call(bob.account, text: 'Hello @alice') FavouriteService.new.call(bob.account, first_status) FavouriteService.new.call(tom.account, first_status) FollowService.new.call(bob.account, user.account) @@ -141,18 +140,37 @@ RSpec.describe 'Notifications' do context 'with limit param' do let(:params) { { limit: 3 } } + let(:notifications) { user.account.notifications.reorder(id: :desc) } it 'returns the requested number of notifications paginated', :aggregate_failures do subject - notifications = user.account.notifications - expect(body_as_json[:notification_groups].size) .to eq(params[:limit]) expect(response) .to include_pagination_headers( - prev: api_v2_alpha_notifications_url(limit: params[:limit], min_id: notifications.last.id), + prev: api_v2_alpha_notifications_url(limit: params[:limit], min_id: notifications.first.id), + # TODO: one downside of the current approach is that we return the first ID matching the group, + # not the last that has been skipped, so pagination is very likely to give overlap + next: api_v2_alpha_notifications_url(limit: params[:limit], max_id: notifications[3].id) + ) + end + end + + context 'with since_id param' do + let(:params) { { since_id: notifications[2].id } } + let(:notifications) { user.account.notifications.reorder(id: :desc) } + + it 'returns the requested number of notifications paginated', :aggregate_failures do + subject + + expect(body_as_json[:notification_groups].size) + .to eq(2) + + expect(response) + .to include_pagination_headers( + prev: api_v2_alpha_notifications_url(limit: params[:limit], min_id: notifications.first.id), # TODO: one downside of the current approach is that we return the first ID matching the group, # not the last that has been skipped, so pagination is very likely to give overlap next: api_v2_alpha_notifications_url(limit: params[:limit], max_id: notifications[1].id) From 05b438005101dff2321bc645a5c7101fccdf342f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 20 Aug 2024 16:03:09 +0200 Subject: [PATCH 09/14] Fix margin in follow notification in web UI (#31508) --- .../styles/mastodon/components.scss | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 97abf77d10..4c47a8db6c 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -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; @@ -10530,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; } } @@ -10585,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); From 6c26fb0ed63f080627ede26b73ed3f4f8e0e5220 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 20 Aug 2024 16:36:14 +0200 Subject: [PATCH 10/14] Update dependency core-js to v3.38.1 (#31507) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 47cd777f43..5f116021a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6389,9 +6389,9 @@ __metadata: linkType: hard "core-js@npm:^3.30.2": - version: 3.38.0 - resolution: "core-js@npm:3.38.0" - checksum: 10c0/3218ae19bfe0c6560663012cbd3e7f3dc1b36d50fc71e8c365f3b119185e8a35ac4e8bb9698ae510b3c201ef93f40bdc29f9215716ccf31aca28f77969bb4ed0 + version: 3.38.1 + resolution: "core-js@npm:3.38.1" + checksum: 10c0/7df063b6f13a54e46515817ac3e235c6c598a4d3de65cd188a061fc250642be313b895fb9fb2f36e1e31890a1bb4ef61d82666a340413f540b7ce3c65689739b languageName: node linkType: hard From 4016fd512898e9226a40b1973a742cb1e827ae3b Mon Sep 17 00:00:00 2001 From: Renaud Chaput Date: Tue, 20 Aug 2024 17:56:44 +0200 Subject: [PATCH 11/14] Update CSS color variables to match our latest design system (#31510) --- app/javascript/styles/contrast/variables.scss | 8 ++--- .../styles/mastodon-light/variables.scss | 34 +++++++++---------- app/javascript/styles/mastodon/variables.scss | 12 +++---- app/lib/themes.rb | 2 +- 4 files changed, 28 insertions(+), 28 deletions(-) diff --git a/app/javascript/styles/contrast/variables.scss b/app/javascript/styles/contrast/variables.scss index e38d24b271..766591ba40 100644 --- a/app/javascript/styles/contrast/variables.scss +++ b/app/javascript/styles/contrast/variables.scss @@ -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; diff --git a/app/javascript/styles/mastodon-light/variables.scss b/app/javascript/styles/mastodon-light/variables.scss index 39809b437f..76ede26233 100644 --- a/app/javascript/styles/mastodon-light/variables.scss +++ b/app/javascript/styles/mastodon-light/variables.scss @@ -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,11 +57,11 @@ $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); diff --git a/app/javascript/styles/mastodon/variables.scss b/app/javascript/styles/mastodon/variables.scss index c8271e0dcd..c477e7a750 100644 --- a/app/javascript/styles/mastodon/variables.scss +++ b/app/javascript/styles/mastodon/variables.scss @@ -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; diff --git a/app/lib/themes.rb b/app/lib/themes.rb index 183258d62f..8b68c92e45 100644 --- a/app/lib/themes.rb +++ b/app/lib/themes.rb @@ -7,7 +7,7 @@ class Themes include Singleton THEME_COLORS = { - dark: '#191b22', + dark: '#181820', light: '#ffffff', }.freeze From 4c4bcad866f513f69d6ea74e5acfdf3fc5f469ff Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 20 Aug 2024 11:59:47 -0400 Subject: [PATCH 12/14] Remove `font-awesome` npm package (#31512) --- app/javascript/mastodon/common.js | 1 - app/views/layouts/application.html.haml | 1 - app/views/layouts/embedded.html.haml | 1 - app/views/layouts/error.html.haml | 1 - package.json | 1 - yarn.lock | 8 -------- 6 files changed, 13 deletions(-) diff --git a/app/javascript/mastodon/common.js b/app/javascript/mastodon/common.js index 511568aa0f..28857de534 100644 --- a/app/javascript/mastodon/common.js +++ b/app/javascript/mastodon/common.js @@ -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)$/); diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 0c0512e812..a6b34c8a36 100755 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -25,7 +25,6 @@ %title= html_title - = stylesheet_pack_tag 'common', media: 'all', crossorigin: 'anonymous' = theme_style_tags current_theme -# Needed for the wicg-inert polyfill. It needs to be on it's own