-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
- {/* @ts-expect-error Expected until StatusContent is typed */}
-
+
+
+ {status.get('reblogged') ? (
+
+ ) : (
+
+ )}
+
+
+
+ Shift+
+
+ ),
+ }}
+ />
+
+
+
- {(status.get('media_attachments') as Immutable.List
).size >
- 0 && (
-
- )}
+
+
-
-
-
- Shift +
-
- ),
- }}
+
+
+ {!status.get('reblogged') && (
+
+ )}
+
+
+
+
+
+
- {statusVisibility !== 'private' && !status.get('reblogged') && (
-
- )}
-
);
diff --git a/app/javascript/mastodon/features/ui/components/confirmation_modals/confirmation_modal.tsx b/app/javascript/mastodon/features/ui/components/confirmation_modals/confirmation_modal.tsx
index c3a0c0aa76d297..ab567c697ae546 100644
--- a/app/javascript/mastodon/features/ui/components/confirmation_modals/confirmation_modal.tsx
+++ b/app/javascript/mastodon/features/ui/components/confirmation_modals/confirmation_modal.tsx
@@ -71,7 +71,10 @@ export const ConfirmationModal: React.FC<
/>
-
+ {/* eslint-disable-next-line jsx-a11y/no-autofocus -- we are in a modal and thus autofocusing is justified */}
+
diff --git a/app/javascript/mastodon/features/ui/components/confirmation_modals/log_out.tsx b/app/javascript/mastodon/features/ui/components/confirmation_modals/log_out.tsx
index 48d24182ed6d45..ec61146877e2f3 100644
--- a/app/javascript/mastodon/features/ui/components/confirmation_modals/log_out.tsx
+++ b/app/javascript/mastodon/features/ui/components/confirmation_modals/log_out.tsx
@@ -25,7 +25,7 @@ export const ConfirmLogOutModal: React.FC
= ({
const intl = useIntl();
const onConfirm = useCallback(() => {
- logOut();
+ void logOut();
}, []);
return (
diff --git a/app/javascript/mastodon/features/ui/components/domain_block_modal.jsx b/app/javascript/mastodon/features/ui/components/domain_block_modal.jsx
index e69db6348959a1..78d5cbb1301b2b 100644
--- a/app/javascript/mastodon/features/ui/components/domain_block_modal.jsx
+++ b/app/javascript/mastodon/features/ui/components/domain_block_modal.jsx
@@ -88,7 +88,7 @@ export const DomainBlockModal = ({ domain, accountId, acct }) => {
-
diff --git a/app/javascript/mastodon/features/ui/components/embed_modal.jsx b/app/javascript/mastodon/features/ui/components/embed_modal.jsx
deleted file mode 100644
index a4e5fc9dfb3449..00000000000000
--- a/app/javascript/mastodon/features/ui/components/embed_modal.jsx
+++ /dev/null
@@ -1,101 +0,0 @@
-import PropTypes from 'prop-types';
-
-import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
-
-import ImmutablePureComponent from 'react-immutable-pure-component';
-
-import CloseIcon from '@/material-icons/400-24px/close.svg?react';
-import api from 'mastodon/api';
-import { IconButton } from 'mastodon/components/icon_button';
-
-const messages = defineMessages({
- close: { id: 'lightbox.close', defaultMessage: 'Close' },
-});
-
-class EmbedModal extends ImmutablePureComponent {
-
- static propTypes = {
- id: PropTypes.string.isRequired,
- onClose: PropTypes.func.isRequired,
- onError: PropTypes.func.isRequired,
- intl: PropTypes.object.isRequired,
- };
-
- state = {
- loading: false,
- oembed: null,
- };
-
- componentDidMount () {
- const { id } = this.props;
-
- this.setState({ loading: true });
-
- api().get(`/api/web/embeds/${id}`).then(res => {
- this.setState({ loading: false, oembed: res.data });
-
- const iframeDocument = this.iframe.contentWindow.document;
-
- iframeDocument.open();
- iframeDocument.write(res.data.html);
- iframeDocument.close();
-
- iframeDocument.body.style.margin = 0;
- this.iframe.width = iframeDocument.body.scrollWidth;
- this.iframe.height = iframeDocument.body.scrollHeight;
- }).catch(error => {
- this.props.onError(error);
- });
- }
-
- setIframeRef = c => {
- this.iframe = c;
- };
-
- handleTextareaClick = (e) => {
- e.target.select();
- };
-
- render () {
- const { intl, onClose } = this.props;
- const { oembed } = this.state;
-
- return (
-
- );
- }
-
-}
-
-export default injectIntl(EmbedModal);
diff --git a/app/javascript/mastodon/features/ui/components/embed_modal.tsx b/app/javascript/mastodon/features/ui/components/embed_modal.tsx
new file mode 100644
index 00000000000000..8f623e62b527d9
--- /dev/null
+++ b/app/javascript/mastodon/features/ui/components/embed_modal.tsx
@@ -0,0 +1,116 @@
+import { useRef, useState, useEffect } from 'react';
+
+import { FormattedMessage } from 'react-intl';
+
+import { showAlertForError } from 'mastodon/actions/alerts';
+import api from 'mastodon/api';
+import { Button } from 'mastodon/components/button';
+import { CopyPasteText } from 'mastodon/components/copy_paste_text';
+import { useAppDispatch } from 'mastodon/store';
+
+interface OEmbedResponse {
+ html: string;
+}
+
+const EmbedModal: React.FC<{
+ id: string;
+ onClose: () => void;
+}> = ({ id, onClose }) => {
+ const iframeRef = useRef
(null);
+ const intervalRef = useRef>();
+ const [oembed, setOembed] = useState(null);
+ const dispatch = useAppDispatch();
+
+ useEffect(() => {
+ api()
+ .get(`/api/web/embeds/${id}`)
+ .then((res) => {
+ const data = res.data as OEmbedResponse;
+
+ setOembed(data);
+
+ const iframeDocument = iframeRef.current?.contentWindow?.document;
+
+ if (!iframeDocument) {
+ return '';
+ }
+
+ iframeDocument.open();
+ iframeDocument.write(data.html);
+ iframeDocument.close();
+
+ iframeDocument.body.style.margin = '0px';
+
+ // This is our best chance to ensure the parent iframe has the correct height...
+ intervalRef.current = setInterval(
+ () =>
+ window.requestAnimationFrame(() => {
+ if (iframeRef.current) {
+ iframeRef.current.width = `${iframeDocument.body.scrollWidth}px`;
+ iframeRef.current.height = `${iframeDocument.body.scrollHeight}px`;
+ }
+ }),
+ 100,
+ );
+
+ return '';
+ })
+ .catch((error: unknown) => {
+ dispatch(showAlertForError(error));
+ });
+ }, [dispatch, id, setOembed]);
+
+ useEffect(
+ () => () => {
+ if (intervalRef.current) {
+ clearInterval(intervalRef.current);
+ }
+ },
+ [],
+ );
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+// eslint-disable-next-line import/no-default-export
+export default EmbedModal;
diff --git a/app/javascript/mastodon/features/ui/components/mute_modal.jsx b/app/javascript/mastodon/features/ui/components/mute_modal.jsx
index df466cfac6aa75..70d95b593161a1 100644
--- a/app/javascript/mastodon/features/ui/components/mute_modal.jsx
+++ b/app/javascript/mastodon/features/ui/components/mute_modal.jsx
@@ -137,7 +137,7 @@ export const MuteModal = ({ accountId, acct }) => {
-
+
diff --git a/app/javascript/mastodon/features/ui/components/navigation_panel.jsx b/app/javascript/mastodon/features/ui/components/navigation_panel.jsx
index 2648923bfc4161..407276d12619bd 100644
--- a/app/javascript/mastodon/features/ui/components/navigation_panel.jsx
+++ b/app/javascript/mastodon/features/ui/components/navigation_panel.jsx
@@ -7,16 +7,17 @@ import { Link } from 'react-router-dom';
import { useSelector, useDispatch } from 'react-redux';
-
import AlternateEmailIcon from '@/material-icons/400-24px/alternate_email.svg?react';
import BookmarksActiveIcon from '@/material-icons/400-24px/bookmarks-fill.svg?react';
import BookmarksIcon from '@/material-icons/400-24px/bookmarks.svg?react';
import ExploreActiveIcon from '@/material-icons/400-24px/explore-fill.svg?react';
import ExploreIcon from '@/material-icons/400-24px/explore.svg?react';
+import ModerationIcon from '@/material-icons/400-24px/gavel.svg?react';
import HomeActiveIcon from '@/material-icons/400-24px/home-fill.svg?react';
import HomeIcon from '@/material-icons/400-24px/home.svg?react';
import ListAltActiveIcon from '@/material-icons/400-24px/list_alt-fill.svg?react';
import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react';
+import AdministrationIcon from '@/material-icons/400-24px/manufacturing.svg?react';
import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react';
import NotificationsActiveIcon from '@/material-icons/400-24px/notifications-fill.svg?react';
import NotificationsIcon from '@/material-icons/400-24px/notifications.svg?react';
@@ -34,7 +35,9 @@ import { NavigationPortal } from 'mastodon/components/navigation_portal';
import { identityContextPropShape, withIdentity } from 'mastodon/identity_context';
import { timelinePreview, trendsEnabled } from 'mastodon/initial_state';
import { transientSingleColumn } from 'mastodon/is_mobile';
+import { canManageReports, canViewAdminDashboard } from 'mastodon/permissions';
import { selectUnreadNotificationGroupsCount } from 'mastodon/selectors/notifications';
+import { selectUseGroupedNotifications } from 'mastodon/selectors/settings';
import ColumnLink from './column_link';
import DisabledAccountBanner from './disabled_account_banner';
@@ -51,6 +54,8 @@ const messages = defineMessages({
bookmarks: { id: 'navigation_bar.bookmarks', defaultMessage: 'Bookmarks' },
lists: { id: 'navigation_bar.lists', defaultMessage: 'Lists' },
preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },
+ administration: { id: 'navigation_bar.administration', defaultMessage: 'Administration' },
+ moderation: { id: 'navigation_bar.moderation', defaultMessage: 'Moderation' },
followsAndFollowers: { id: 'navigation_bar.follows_and_followers', defaultMessage: 'Follows and followers' },
about: { id: 'navigation_bar.about', defaultMessage: 'About' },
search: { id: 'navigation_bar.search', defaultMessage: 'Search' },
@@ -60,7 +65,7 @@ const messages = defineMessages({
});
const NotificationsLink = () => {
- const optedInGroupedNotifications = useSelector((state) => state.getIn(['settings', 'notifications', 'groupingBeta'], false));
+ const optedInGroupedNotifications = useSelector(selectUseGroupedNotifications);
const count = useSelector(state => state.getIn(['notifications', 'unread']));
const intl = useIntl();
@@ -114,7 +119,7 @@ class NavigationPanel extends Component {
render () {
const { intl } = this.props;
- const { signedIn, disabledAccountId } = this.props.identity;
+ const { signedIn, disabledAccountId, permissions } = this.props.identity;
let banner = undefined;
@@ -176,6 +181,9 @@ class NavigationPanel extends Component {
+
+ {canManageReports(permissions) &&
}
+ {canViewAdminDashboard(permissions) &&
}
>
)}
diff --git a/app/javascript/mastodon/features/ui/containers/modal_container.js b/app/javascript/mastodon/features/ui/containers/modal_container.js
index 1c3872cd50436f..63c568f8479c80 100644
--- a/app/javascript/mastodon/features/ui/containers/modal_container.js
+++ b/app/javascript/mastodon/features/ui/containers/modal_container.js
@@ -3,10 +3,12 @@ import { connect } from 'react-redux';
import { openModal, closeModal } from '../../../actions/modal';
import ModalRoot from '../components/modal_root';
+const defaultProps = {};
+
const mapStateToProps = state => ({
ignoreFocus: state.getIn(['modal', 'ignoreFocus']),
type: state.getIn(['modal', 'stack', 0, 'modalType'], null),
- props: state.getIn(['modal', 'stack', 0, 'modalProps'], {}),
+ props: state.getIn(['modal', 'stack', 0, 'modalProps'], defaultProps),
});
const mapDispatchToProps = dispatch => ({
diff --git a/app/javascript/mastodon/features/ui/containers/notifications_container.js b/app/javascript/mastodon/features/ui/containers/notifications_container.js
index 3d60cfdad1b24a..b8aa9bc46142ae 100644
--- a/app/javascript/mastodon/features/ui/containers/notifications_container.js
+++ b/app/javascript/mastodon/features/ui/containers/notifications_container.js
@@ -4,24 +4,11 @@ import { connect } from 'react-redux';
import { NotificationStack } from 'react-notification';
-import { dismissAlert } from '../../../actions/alerts';
-import { getAlerts } from '../../../selectors';
-
-const formatIfNeeded = (intl, message, values) => {
- if (typeof message === 'object') {
- return intl.formatMessage(message, values);
- }
-
- return message;
-};
+import { dismissAlert } from 'mastodon/actions/alerts';
+import { getAlerts } from 'mastodon/selectors';
const mapStateToProps = (state, { intl }) => ({
- notifications: getAlerts(state).map(alert => ({
- ...alert,
- action: formatIfNeeded(intl, alert.action, alert.values),
- title: formatIfNeeded(intl, alert.title, alert.values),
- message: formatIfNeeded(intl, alert.message, alert.values),
- })),
+ notifications: getAlerts(state, { intl }),
});
const mapDispatchToProps = (dispatch) => ({
diff --git a/app/javascript/mastodon/features/ui/index.jsx b/app/javascript/mastodon/features/ui/index.jsx
index f36e0cf501fdbf..a6e3640478464c 100644
--- a/app/javascript/mastodon/features/ui/index.jsx
+++ b/app/javascript/mastodon/features/ui/index.jsx
@@ -85,7 +85,7 @@ const mapStateToProps = state => ({
isComposing: state.getIn(['compose', 'is_composing']),
hasComposingText: state.getIn(['compose', 'text']).trim().length !== 0,
hasMediaAttachments: state.getIn(['compose', 'media_attachments']).size > 0,
- canUploadMore: !state.getIn(['compose', 'media_attachments']).some(x => ['audio', 'video'].includes(x.get('type'))) && state.getIn(['compose', 'media_attachments']).size < 4,
+ canUploadMore: !state.getIn(['compose', 'media_attachments']).some(x => ['audio', 'video'].includes(x.get('type'))) && state.getIn(['compose', 'media_attachments']).size < state.getIn(['server', 'server', 'configuration', 'statuses', 'max_media_attachments']),
firstLaunch: state.getIn(['settings', 'introductionVersion'], 0) < INTRODUCTION_VERSION,
username: state.getIn(['accounts', me, 'username']),
});
@@ -319,8 +319,8 @@ class UI extends PureComponent {
try {
e.dataTransfer.dropEffect = 'copy';
- } catch (err) {
-
+ } catch {
+ // do nothing
}
return false;
diff --git a/app/javascript/mastodon/initial_state.js b/app/javascript/mastodon/initial_state.js
index 8345998984cd32..007c6c4503a703 100644
--- a/app/javascript/mastodon/initial_state.js
+++ b/app/javascript/mastodon/initial_state.js
@@ -43,6 +43,7 @@
* @property {boolean=} use_pending_items
* @property {string} version
* @property {string} sso_redirect
+ * @property {boolean} force_grouped_notifications
*/
/**
@@ -119,6 +120,7 @@ export const criticalUpdatesPending = initialState?.critical_updates_pending;
// @ts-expect-error
export const statusPageUrl = getMeta('status_page_url');
export const sso_redirect = getMeta('sso_redirect');
+export const forceGroupedNotifications = getMeta('force_grouped_notifications');
/**
* @returns {string | undefined}
diff --git a/app/javascript/mastodon/locales/af.json b/app/javascript/mastodon/locales/af.json
index bedb3d1719e0f1..a506b9965442e0 100644
--- a/app/javascript/mastodon/locales/af.json
+++ b/app/javascript/mastodon/locales/af.json
@@ -16,7 +16,6 @@
"account.block_domain": "Blokkeer domein {domain}",
"account.block_short": "Blokkeer",
"account.blocked": "Geblokkeer",
- "account.browse_more_on_origin_server": "Verken die oorspronklike profiel",
"account.cancel_follow_request": "Herroep volgversoek",
"account.disable_notifications": "Hou op om my van @{name} se plasings te laat weet",
"account.domain_blocked": "Domein geblokkeer",
@@ -308,7 +307,6 @@
"status.translated_from_with": "Uit {lang} vertaal deur {provider}",
"tabs_bar.home": "Tuis",
"tabs_bar.notifications": "Kennisgewings",
- "timeline_hint.resources.statuses": "Ouer plasings",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"upload_form.audio_description": "Describe for people with hearing loss",
"upload_form.description": "Describe for the visually impaired",
diff --git a/app/javascript/mastodon/locales/an.json b/app/javascript/mastodon/locales/an.json
index b44fa17cfcd031..893882fe7a3a8d 100644
--- a/app/javascript/mastodon/locales/an.json
+++ b/app/javascript/mastodon/locales/an.json
@@ -17,7 +17,6 @@
"account.block": "Blocar a @{name}",
"account.block_domain": "Blocar dominio {domain}",
"account.blocked": "Blocau",
- "account.browse_more_on_origin_server": "Veyer mas en o perfil orichinal",
"account.cancel_follow_request": "Retirar solicitut de seguimiento",
"account.disable_notifications": "Deixar de notificar-me quan @{name} publique bella cosa",
"account.domain_blocked": "Dominio blocau",
@@ -309,7 +308,6 @@
"lists.search": "Buscar entre la chent a la quala sigues",
"lists.subheading": "Las tuyas listas",
"load_pending": "{count, plural, one {# nuevo elemento} other {# nuevos elementos}}",
- "media_gallery.toggle_visible": "{number, plural, one {Amaga la imachen} other {Amaga las imáchens}}",
"moved_to_account_banner.text": "La tuya cuenta {disabledAccount} ye actualment deshabilitada perque t'has mudau a {movedToAccount}.",
"navigation_bar.about": "Sobre",
"navigation_bar.blocks": "Usuarios blocaus",
@@ -484,8 +482,6 @@
"status.edited_x_times": "Editau {count, plural, one {{count} vez} other {{count} veces}}",
"status.embed": "Incrustado",
"status.filter": "Filtrar esta publicación",
- "status.filtered": "Filtrau",
- "status.hide": "Amagar la publicación",
"status.history.created": "{name} creyó {date}",
"status.history.edited": "{name} editó {date}",
"status.load_more": "Cargar mas",
@@ -510,10 +506,7 @@
"status.report": "Denunciar €{name}",
"status.sensitive_warning": "Conteniu sensible",
"status.share": "Compartir",
- "status.show_filter_reason": "Amostrar de totz modos",
- "status.show_less": "Amostrar menos",
"status.show_less_all": "Amostrar menos pa tot",
- "status.show_more": "Amostrar mas",
"status.show_more_all": "Amostrar mas pa tot",
"status.show_original": "Amostrar orichinal",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
@@ -531,10 +524,6 @@
"time_remaining.minutes": "{number, plural, one {# menuto restante} other {# menutos restantes}}",
"time_remaining.moments": "Momentos restantes",
"time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} d'atros servidors no s'amuestran.",
- "timeline_hint.resources.followers": "Seguidores",
- "timeline_hint.resources.follows": "Seguius",
- "timeline_hint.resources.statuses": "Publicacions mas antigas",
"trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} personas}} en os zaguers {days, plural, one {días} other {{days} días}}",
"trends.trending_now": "Tendencia agora",
"ui.beforeunload": "Lo tuyo borrador se perderá si sales de Mastodon.",
diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json
index e7b3e7dacb9859..0dbeb0a1902dad 100644
--- a/app/javascript/mastodon/locales/ar.json
+++ b/app/javascript/mastodon/locales/ar.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": "فريق",
@@ -18,7 +19,6 @@
"account.block_domain": "حظر اسم النِّطاق {domain}",
"account.block_short": "حظر",
"account.blocked": "محظور",
- "account.browse_more_on_origin_server": "تصفح المزيد في الملف الشخصي الأصلي",
"account.cancel_follow_request": "إلغاء طلب المتابعة",
"account.copy": "نسخ الرابط إلى الملف الشخصي",
"account.direct": "إشارة خاصة لـ @{name}",
@@ -31,7 +31,7 @@
"account.featured_tags.last_status_never": "لا توجد رسائل",
"account.featured_tags.title": "وسوم {name} المميَّزة",
"account.follow": "متابعة",
- "account.follow_back": "تابعهم بالمثل",
+ "account.follow_back": "تابعه بالمثل",
"account.followers": "مُتابِعون",
"account.followers.empty": "لا أحدَ يُتابع هذا المُستخدم إلى حد الآن.",
"account.followers_counter": "{count, plural, zero {}one {{counter} متابع} two {{counter} متابعين} few {{counter} متابعين} many {{counter} متابعين} other {{counter} متابعين}}",
@@ -95,6 +95,8 @@
"block_modal.title": "أتريد حظر هذا المستخدم؟",
"block_modal.you_wont_see_mentions": "لن تر المنشورات التي يُشار فيهم إليه.",
"boost_modal.combo": "يُمكنك الضّغط على {combo} لتخطي هذا في المرة المُقبلة",
+ "boost_modal.reblog": "أتريد إعادة نشر المنشور؟",
+ "boost_modal.undo_reblog": "أتريد إلغاء إعادة نشر المنشور؟",
"bundle_column_error.copy_stacktrace": "انسخ تقرير الخطأ",
"bundle_column_error.error.body": "لا يمكن تقديم الصفحة المطلوبة. قد يكون بسبب خطأ في التعليمات البرمجية، أو مشكلة توافق المتصفح.",
"bundle_column_error.error.title": "أوه لا!",
@@ -168,21 +170,30 @@
"confirmations.block.confirm": "حظر",
"confirmations.delete.confirm": "حذف",
"confirmations.delete.message": "هل أنتَ مُتأكدٌ أنك تُريدُ حَذفَ هذا المنشور؟",
+ "confirmations.delete.title": "أتريد حذف المنشور؟",
"confirmations.delete_list.confirm": "حذف",
"confirmations.delete_list.message": "هل أنتَ مُتأكدٌ أنكَ تُريدُ حَذفَ هذِهِ القائمة بشكلٍ دائم؟",
+ "confirmations.delete_list.title": "أتريد حذف القائمة؟",
"confirmations.discard_edit_media.confirm": "تجاهل",
"confirmations.discard_edit_media.message": "لديك تغييرات غير محفوظة لوصف الوسائط أو معاينتها، أتريد تجاهلها على أي حال؟",
"confirmations.edit.confirm": "تعديل",
"confirmations.edit.message": "التعديل في الحين سوف يُعيد كتابة الرسالة التي أنت بصدد تحريرها. متأكد من أنك تريد المواصلة؟",
+ "confirmations.edit.title": "هل تريد استبدال المنشور؟",
"confirmations.logout.confirm": "خروج",
"confirmations.logout.message": "متأكد من أنك تريد الخروج؟",
+ "confirmations.logout.title": "أتريد المغادرة؟",
"confirmations.mute.confirm": "أكتم",
"confirmations.redraft.confirm": "إزالة وإعادة الصياغة",
"confirmations.redraft.message": "هل أنت متأكد من أنك تريد حذف هذا المنشور و إعادة صياغته؟ سوف تفقد جميع الإعجابات و الترقيات أما الردود المتصلة به فستُصبِح يتيمة.",
+ "confirmations.redraft.title": "أتريد حذف وإعادة صياغة المنشور؟",
"confirmations.reply.confirm": "رد",
"confirmations.reply.message": "الرد في الحين سوف يُعيد كتابة الرسالة التي أنت بصدد كتابتها. متأكد من أنك تريد المواصلة؟",
+ "confirmations.reply.title": "هل تريد استبدال المنشور؟",
"confirmations.unfollow.confirm": "إلغاء المتابعة",
"confirmations.unfollow.message": "متأكد من أنك تريد إلغاء متابعة {name} ؟",
+ "confirmations.unfollow.title": "إلغاء متابعة المستخدم؟",
+ "content_warning.hide": "إخفاء المنشور",
+ "content_warning.show": "إظهار على أي حال",
"conversation.delete": "احذف المحادثة",
"conversation.mark_as_read": "اعتبرها كمقروءة",
"conversation.open": "اعرض المحادثة",
@@ -218,10 +229,10 @@
"domain_pill.their_username": "مُعرّفُهم الفريد على الخادم. من الممكن العثور على مستخدمين بنفس اسم المستخدم على خوادم مختلفة.",
"domain_pill.username": "اسم المستخدم",
"domain_pill.whats_in_a_handle": "ما المقصود بالمُعرِّف؟",
- "domain_pill.who_they_are": "بما أن المعالجات تقول من هو الشخص ومكان وجوده، يمكنك التفاعل مع الناس عبر الشبكة الاجتماعية لـ
ActivityPub-Power منصات.",
- "domain_pill.who_you_are": "لأن معالجتك تقول من أنت ومكان وجودك، يمكن الناس التفاعل معك عبر الشبكة الاجتماعية لـ
ActivityPub-Power منصات.",
+ "domain_pill.who_they_are": "بما أن المُعرّفات تحدد هوية الشخص ومكان وجوده، فبإمكانك التفاعل مع الأشخاص عبر الويب الاجتماعي لـ
المنصات التي تعمل بواسطة أكتيفيتي بوب.",
+ "domain_pill.who_you_are": "بما أن مُعرّفك يحدد هويتك ومكان وجوده، فبإمكانك الآخرين التفاعل معك عبر الويب الاجتماعي لـ
المنصات التي تعمل بواسطة أكتيفيتي بوب.",
"domain_pill.your_handle": "عنوانك الكامل:",
- "domain_pill.your_server": "منزلك الرقمي، حيث تعيش جميع مشاركاتك. لا تحب هذا؟ إنقل الخوادم في أي وقت واخضر متابعينك أيضًا.",
+ "domain_pill.your_server": "موطِنك الرقمي، حيث توجد فيه كافة منشوراتك. ألا يعجبك المكان؟ يمكنك الانتقال بين الخوادم في أي وقت واصطحاب متابعيك أيضاً.",
"domain_pill.your_username": "معرفك الفريد على هذا الخادم. من الممكن العثور على مستخدمين بنفس إسم المستخدم على خوادم مختلفة.",
"embed.instructions": "يمكنكم إدماج هذا المنشور على موقعكم الإلكتروني عن طريق نسخ الشفرة أدناه.",
"embed.preview": "إليك ما سيبدو عليه:",
@@ -281,7 +292,7 @@
"filter_modal.added.review_and_configure": "لمراجعة وزيادة تكوين فئة عوامل التصفية هذه، انتقل إلى {settings_link}.",
"filter_modal.added.review_and_configure_title": "إعدادات التصفية",
"filter_modal.added.settings_link": "صفحة الإعدادات",
- "filter_modal.added.short_explanation": "تمت إضافة هذه المشاركة إلى فئة الفلاتر التالية: {title}.",
+ "filter_modal.added.short_explanation": "تمت إضافة هذا المنشور إلى فئة عوامل التصفية التالية: {title}.",
"filter_modal.added.title": "تمت إضافة عامل التصفية!",
"filter_modal.select_filter.context_mismatch": "لا ينطبق على هذا السياق",
"filter_modal.select_filter.expired": "منتهية الصلاحيّة",
@@ -290,6 +301,7 @@
"filter_modal.select_filter.subtitle": "استخدم فئة موجودة أو قم بإنشاء فئة جديدة",
"filter_modal.select_filter.title": "تصفية هذا المنشور",
"filter_modal.title.status": "تصفية منشور",
+ "filter_warning.matches_filter": "يطابق عامل التصفية \"{title}\"",
"filtered_notifications_banner.title": "الإشعارات المصفاة",
"firehose.all": "الكل",
"firehose.local": "هذا الخادم",
@@ -338,6 +350,10 @@
"hashtag.follow": "اتبع الوسم",
"hashtag.unfollow": "ألغِ متابعة الوسم",
"hashtags.and_other": "…و {count, plural, zero {} one {# واحد آخر} two {# اثنان آخران} few {# آخرون} many {# آخَرًا}other {# آخرون}}",
+ "hints.profiles.see_more_followers": "عرض المزيد من المتابعين على {domain}",
+ "hints.profiles.see_more_posts": "عرض المزيد من المنشورات من {domain}",
+ "hints.threads.replies_may_be_missing": "قد تكون الردود الواردة من الخوادم الأخرى غائبة.",
+ "hints.threads.see_more": "اطلع على المزيد من الردود على {domain}",
"home.column_settings.show_reblogs": "اعرض المعاد نشرها",
"home.column_settings.show_replies": "اعرض الردود",
"home.hide_announcements": "إخفاء الإعلانات",
@@ -345,6 +361,11 @@
"home.pending_critical_update.link": "اطّلع على التحديثات",
"home.pending_critical_update.title": "تحديث أمان حرج متوفر!",
"home.show_announcements": "إظهار الإعلانات",
+ "ignore_notifications_modal.disclaimer": "لا يمكن لـ Mastodon إبلاغ المستخدمين بأنك قد تجاهلت إشعاراتهم. تجاهل الإشعارات لن يمنع إرسال الرسائل نفسها.",
+ "ignore_notifications_modal.filter_instead": "تصفيتها بدلا من ذلك",
+ "ignore_notifications_modal.ignore": "تجاهل الإشعارات",
+ "ignore_notifications_modal.limited_accounts_title": "تجاهل الإشعارات من الحسابات التي هي تحت الإشراف؟",
+ "ignore_notifications_modal.new_accounts_title": "تجاهل الإشعارات الصادرة من الحسابات الجديدة؟",
"interaction_modal.description.favourite": "بفضل حساب على ماستدون، يمكنك إضافة هذا المنشور إلى مفضلتك لإبلاغ الناشر عن تقديرك وكذا للاحتفاظ بالمنشور إلى وقت لاحق.",
"interaction_modal.description.follow": "بفضل حساب في ماستدون، يمكنك متابعة {name} وتلقي منشوراته في موجزات خيطك الرئيس.",
"interaction_modal.description.reblog": "مع حساب في ماستدون، يمكنك تعزيز هذا المنشور ومشاركته مع مُتابِعيك.",
@@ -422,7 +443,6 @@
"lists.subheading": "قوائمك",
"load_pending": "{count, plural, one {# عنصر جديد} other {# عناصر جديدة}}",
"loading_indicator.label": "جاري التحميل…",
- "media_gallery.toggle_visible": "{number, plural, zero {} one {اخف الصورة} two {اخف الصورتين} few {اخف الصور} many {اخف الصور} other {اخف الصور}}",
"moved_to_account_banner.text": "حسابك {disabledAccount} معطل حاليًا لأنك انتقلت إلى {movedToAccount}.",
"mute_modal.hide_from_notifications": "إخفاء من قائمة الإشعارات",
"mute_modal.hide_options": "إخفاء الخيارات",
@@ -431,9 +451,10 @@
"mute_modal.they_can_mention_and_follow": "سيكون بإمكانه الإشارة إليك ومتابعتك، لكنك لن تره.",
"mute_modal.they_wont_know": "لن يَعرف أنه قد تم كتمه.",
"mute_modal.title": "أتريد كتم المُستخدم؟",
- "mute_modal.you_wont_see_mentions": "سوف لن تر المنشورات التي يُشار إليه.",
+ "mute_modal.you_wont_see_mentions": "لن تر المنشورات التي يُشار فيها إليه.",
"mute_modal.you_wont_see_posts": "سيكون بإمكانه رؤية منشوراتك، لكنك لن ترى منشوراته.",
"navigation_bar.about": "عن",
+ "navigation_bar.administration": "الإدارة",
"navigation_bar.advanced_interface": "افتحه في واجهة الويب المتقدمة",
"navigation_bar.blocks": "الحسابات المحجوبة",
"navigation_bar.bookmarks": "الفواصل المرجعية",
@@ -450,6 +471,7 @@
"navigation_bar.follows_and_followers": "المتابِعون والمتابَعون",
"navigation_bar.lists": "القوائم",
"navigation_bar.logout": "خروج",
+ "navigation_bar.moderation": "الإشراف",
"navigation_bar.mutes": "الحسابات المكتومة",
"navigation_bar.opened_in_classic_interface": "تُفتَح المنشورات والحسابات وغيرها من الصفحات الخاصة بشكل مبدئي على واجهة الويب التقليدية.",
"navigation_bar.personal": "شخصي",
@@ -464,9 +486,14 @@
"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": "تم إزالة بعض مشاركاتك.",
+ "notification.moderation_warning.action_delete_statuses": "تم حذف بعض من منشوراتك.",
"notification.moderation_warning.action_disable": "تم تعطيل حسابك.",
"notification.moderation_warning.action_mark_statuses_as_sensitive": "بعض من منشوراتك تم تصنيفها على أنها حساسة.",
"notification.moderation_warning.action_none": "لقد تلقى حسابك تحذيرا بالإشراف.",
@@ -474,6 +501,7 @@
"notification.moderation_warning.action_silence": "لقد تم تقييد حسابك.",
"notification.moderation_warning.action_suspend": "لقد تم تعليق حسابك.",
"notification.own_poll": "انتهى استطلاعك للرأي",
+ "notification.poll": "لقد انتهى استطلاع رأي صوتت فيه",
"notification.reblog": "قام {name} بمشاركة منشورك",
"notification.relationships_severance_event": "فقدت الاتصالات مع {name}",
"notification.relationships_severance_event.account_suspension": "قام مشرف من {from} بتعليق {target}، مما يعني أنك لم يعد بإمكانك تلقي التحديثات منهم أو التفاعل معهم.",
@@ -483,19 +511,29 @@
"notification.status": "{name} نشر للتو",
"notification.update": "عدّلَ {name} منشورًا",
"notification_requests.accept": "موافقة",
+ "notification_requests.confirm_accept_multiple.title": "قبول طلبات الإشعار؟",
+ "notification_requests.confirm_dismiss_multiple.title": "تجاهل طلبات الإشعار؟",
"notification_requests.dismiss": "تخطي",
+ "notification_requests.edit_selection": "تعديل",
+ "notification_requests.exit_selection": "تمّ",
+ "notification_requests.explainer_for_limited_account": "تم تصفية الإشعارات من هذا الحساب لأن الحساب تم تقييده من قبل مشرف.",
+ "notification_requests.minimize_banner": "تصغير شريط الإشعارات المُصفاة",
"notification_requests.notifications_from": "إشعارات من {name}",
"notification_requests.title": "الإشعارات المصفاة",
+ "notification_requests.view": "عرض الإشعارات",
"notifications.clear": "مسح الإشعارات",
"notifications.clear_confirmation": "متأكد من أنك تود مسح جميع الإشعارات الخاصة بك و المتلقاة إلى حد الآن ؟",
+ "notifications.clear_title": "أترغب في مسح الإشعارات؟",
"notifications.column_settings.admin.report": "التبليغات الجديدة:",
"notifications.column_settings.admin.sign_up": "التسجيلات الجديدة:",
"notifications.column_settings.alert": "إشعارات سطح المكتب",
+ "notifications.column_settings.beta.category": "ميزات تجريبية",
+ "notifications.column_settings.beta.grouping": "جمّع الإشعارات",
"notifications.column_settings.favourite": "المفضلة:",
"notifications.column_settings.filter_bar.advanced": "عرض جميع الفئات",
"notifications.column_settings.filter_bar.category": "شريط التصفية السريعة",
"notifications.column_settings.follow": "متابعُون جُدُد:",
- "notifications.column_settings.follow_request": "الطلبات الجديد لِمتابَعتك:",
+ "notifications.column_settings.follow_request": "الطلبات الجديدة لِمتابَعتك:",
"notifications.column_settings.mention": "الإشارات:",
"notifications.column_settings.poll": "نتائج استطلاع الرأي:",
"notifications.column_settings.push": "الإشعارات",
@@ -519,14 +557,21 @@
"notifications.permission_denied": "تنبيهات سطح المكتب غير متوفرة بسبب رفض أذونات المتصفح مسبقاً",
"notifications.permission_denied_alert": "لا يمكن تفعيل إشعارات سطح المكتب، لأن إذن المتصفح قد تم رفضه سابقاً",
"notifications.permission_required": "إشعارات سطح المكتب غير متوفرة لأنه لم يتم منح الإذن المطلوب.",
+ "notifications.policy.accept": "قبول",
+ "notifications.policy.accept_hint": "إظهار في الإشعارات",
+ "notifications.policy.drop": "تجاهل",
+ "notifications.policy.filter": "تصفية",
+ "notifications.policy.filter_limited_accounts_hint": "المحدودة من قبل مشرفي الخادم",
+ "notifications.policy.filter_limited_accounts_title": "حسابات تحت الإشراف",
"notifications.policy.filter_new_accounts.hint": "تم إنشاؤها منذ {days, plural, zero {}one {يوم واحد} two {يومان} few {# أيام} many {# أيام} other {# أيام}}",
"notifications.policy.filter_new_accounts_title": "حسابات جديدة",
- "notifications.policy.filter_not_followers_hint": "بما في ذلك الأشخاص الذين يتابعونك أقل من {days, plural, zero {}one {يوم واحد} two {يومان} few {# أيام} many {# أيام} other {# أيام}}",
+ "notifications.policy.filter_not_followers_hint": "بما في ذلك الأشخاص الذين يتابعونك منذ أقل من {days, plural, zero {}one {يوم واحد} two {يومين} few {# أيام} many {# يوما} other {# أيام}}",
"notifications.policy.filter_not_followers_title": "أشخاص لا يتابعونك",
"notifications.policy.filter_not_following_hint": "حتى توافق عليهم يدويا",
"notifications.policy.filter_not_following_title": "أشخاص لا تتابعهم",
- "notifications.policy.filter_private_mentions_hint": "تمت تصفيته إلا إذا أن يكون ردًا على ذكرك أو إذا كنت تتابع الحساب",
- "notifications.policy.filter_private_mentions_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": "لتلقي الإشعارات عندما لا يكون ماستدون مفتوح، قم بتفعيل إشعارات سطح المكتب، يمكنك التحكم بدقة في أنواع التفاعلات التي تولد إشعارات سطح المكتب من خلال زر الـ{icon} أعلاه بمجرد تفعيلها.",
"notifications_permission_banner.title": "لا تفوت شيئاً أبداً",
@@ -635,7 +680,7 @@
"report.reasons.legal_description": "أنت تعتقد أنه ينتهك قانون بلدك أو دولة الخادم",
"report.reasons.other": "شيء آخر",
"report.reasons.other_description": "لا تندرج هذه المشكلة ضمن فئات أخرى",
- "report.reasons.spam": "إنها رسالة مزعجة",
+ "report.reasons.spam": "إنه منشور غير مرغوب فيه",
"report.reasons.spam_description": "روابط خبيثة أو تفاعل كاذب أو ردود متكررة",
"report.reasons.violation": "ينتهك قواعد الخادم",
"report.reasons.violation_description": "تعلم أنه ينتهك قواعد محددة",
@@ -653,9 +698,13 @@
"report.unfollow_explanation": "أنت تتابع هذا الحساب، لإزالة مَنشوراته من موجزات خيطك الرئيس، ألغ متابعته.",
"report_notification.attached_statuses": "{count, plural, one {{count} منشور} other {{count} منشورات}} مرفقة",
"report_notification.categories.legal": "أمور قانونية",
+ "report_notification.categories.legal_sentence": "محتوى غير قانوني",
"report_notification.categories.other": "آخر",
+ "report_notification.categories.other_sentence": "آخر",
"report_notification.categories.spam": "مزعج",
+ "report_notification.categories.spam_sentence": "مزعج",
"report_notification.categories.violation": "القاعدة المنتهَكة",
+ "report_notification.categories.violation_sentence": "انتهاك لقاعدة",
"report_notification.open": "فتح التقرير",
"search.no_recent_searches": "ما من عمليات بحث تمت مؤخرًا",
"search.placeholder": "ابحث",
@@ -683,6 +732,7 @@
"server_banner.about_active_users": "الأشخاص الذين يستخدمون هذا الخادم خلال الأيام الثلاثين الأخيرة (المستخدمون النشطون شهريًا)",
"server_banner.active_users": "مستخدم نشط",
"server_banner.administered_by": "يُديره:",
+ "server_banner.is_one_of_many": "{domain} هو واحد من بين العديد من خوادم ماستدون المستقلة التي يمكنك استخدامها للمشاركة في الفديفرس.",
"server_banner.server_stats": "إحصائيات الخادم:",
"sign_in_banner.create_account": "أنشئ حسابًا",
"sign_in_banner.sign_in": "تسجيل الدخول",
@@ -705,14 +755,12 @@
"status.embed": "إدماج",
"status.favourite": "فضّل",
"status.favourites": "{count, plural, zero {}one {مفضلة واحدة} two {مفضلتان} few {# مفضلات} many {# مفضلات} other {# مفضلات}}",
- "status.filter": "تصفية هذه الرسالة",
- "status.filtered": "مُصفّى",
- "status.hide": "إخفاء المنشور",
+ "status.filter": "تصفية هذا المنشور",
"status.history.created": "أنشأه {name} {date}",
"status.history.edited": "عدله {name} {date}",
"status.load_more": "حمّل المزيد",
"status.media.open": "اضغط للفتح",
- "status.media.show": "اضغط للإظهار",
+ "status.media.show": "اضغط لإظهاره",
"status.media_hidden": "وسائط مخفية",
"status.mention": "أذكُر @{name}",
"status.more": "المزيد",
@@ -735,10 +783,7 @@
"status.report": "ابلِغ عن @{name}",
"status.sensitive_warning": "محتوى حساس",
"status.share": "مشاركة",
- "status.show_filter_reason": "إظهار على أي حال",
- "status.show_less": "اعرض أقلّ",
"status.show_less_all": "طي الكل",
- "status.show_more": "أظهر المزيد",
"status.show_more_all": "توسيع الكل",
"status.show_original": "إظهار الأصل",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
@@ -757,10 +802,6 @@
"time_remaining.minutes": "{number, plural, one {# دقيقة} other {# دقائق}} متبقية",
"time_remaining.moments": "لحظات متبقية",
"time_remaining.seconds": "{number, plural, one {# ثانية} other {# ثوانٍ}} متبقية",
- "timeline_hint.remote_resource_not_displayed": "{resource} من الخوادم الأخرى لا يتم عرضها.",
- "timeline_hint.resources.followers": "المتابِعون",
- "timeline_hint.resources.follows": "المتابَعون",
- "timeline_hint.resources.statuses": "المنشورات القديمة",
"trends.counter_by_accounts": "{count, plural, one {شخص واحد} two {شخصان} few {{counter} أشخاصٍ} many {{counter} شخصًا} other {{counter} شخصًا}} {days, plural, one {خلال اليوم الماضي} two {خلال اليومَيْنِ الماضيَيْنِ} few {خلال {days} أيام الماضية} many {خلال {days} يومًا الماضية} other {خلال {days} يومٍ الماضية}}",
"trends.trending_now": "المتداولة الآن",
"ui.beforeunload": "سوف تفقد مسودتك إن تركت ماستدون.",
diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json
index debfcd04a7d5dc..507703023c2bb7 100644
--- a/app/javascript/mastodon/locales/ast.json
+++ b/app/javascript/mastodon/locales/ast.json
@@ -17,7 +17,6 @@
"account.block": "Bloquiar a @{name}",
"account.block_domain": "Bloquiar el dominiu {domain}",
"account.blocked": "Perfil bloquiáu",
- "account.browse_more_on_origin_server": "Restolar más nel perfil orixinal",
"account.direct": "Mentar a @{name} per privao",
"account.disable_notifications": "Dexar d'avisame cuando @{name} espublice artículos",
"account.domain_blocked": "Dominiu bloquiáu",
@@ -269,9 +268,6 @@
"lists.search": "Buscar ente los perfiles que sigues",
"lists.subheading": "Les tos llistes",
"load_pending": "{count, plural, one {# elementu nuevu} other {# elementos nuevos}}",
- "media_gallery.toggle_visible": "{number, plural, one {Anubrir la imaxe} other {Anubrir les imáxenes}}",
- "name_and_others": "{name} y {count, plural, one {# más} other {# más}}",
- "name_and_others_with_link": "{name} y
{count, plural, one {# más} other {# más}}",
"navigation_bar.about": "Tocante a",
"navigation_bar.blocks": "Perfiles bloquiaos",
"navigation_bar.bookmarks": "Marcadores",
@@ -425,8 +421,6 @@
"status.edited_x_times": "Editóse {count, plural, one {{count} vegada} other {{count} vegaes}}",
"status.embed": "Empotrar",
"status.filter": "Peñerar esti artículu",
- "status.filtered": "Peñeróse",
- "status.hide": "Anubrir l'artículu",
"status.history.created": "{name} creó {date}",
"status.history.edited": "{name} editó {date}",
"status.load_more": "Cargar más",
@@ -449,9 +443,6 @@
"status.report": "Informar de @{name}",
"status.sensitive_warning": "Conteníu sensible",
"status.share": "Compartir",
- "status.show_filter_reason": "Amosar de toes toes",
- "status.show_less": "Amosar menos",
- "status.show_more": "Amosar más",
"status.show_original": "Amosar l'orixinal",
"status.translate": "Traducir",
"status.translated_from_with": "Tradúxose del {lang} con {provider}",
@@ -464,9 +455,6 @@
"time_remaining.hours": "{number, plural, one {Queda # hora} other {Queden # hores}}",
"time_remaining.minutes": "{number, plural, one {Queda # minutu} other {Queden # minutos}}",
"time_remaining.seconds": "{number, plural, one {Queda # segundu} other {Queden # segundos}}",
- "timeline_hint.remote_resource_not_displayed": "Nun s'amuesa'l recursu «{resource}» d'otros sirvidores.",
- "timeline_hint.resources.followers": "Siguidores",
- "timeline_hint.resources.statuses": "Artículos antiguos",
"trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} persones}} {days, plural, one {nel últimu día} other {nos últimos {days} díes}}",
"trends.trending_now": "En tendencia",
"ui.beforeunload": "El borrador piérdese si coles de Mastodon.",
diff --git a/app/javascript/mastodon/locales/be.json b/app/javascript/mastodon/locales/be.json
index 1ba69f27f3ae40..412eae14818f80 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": "Група",
@@ -18,7 +19,6 @@
"account.block_domain": "Заблакіраваць дамен {domain}",
"account.block_short": "Заблакіраваць",
"account.blocked": "Заблакіраваны",
- "account.browse_more_on_origin_server": "Глядзіце больш у арыгінальным профілі",
"account.cancel_follow_request": "Скасаваць запыт на падпіску",
"account.copy": "Скапіраваць спасылку на профіль",
"account.direct": "Згадаць асабіста @{name}",
@@ -192,6 +192,8 @@
"confirmations.unfollow.confirm": "Адпісацца",
"confirmations.unfollow.message": "Вы ўпэўненыя, што хочаце адпісацца ад {name}?",
"confirmations.unfollow.title": "Адпісацца ад карыстальніка?",
+ "content_warning.hide": "Схаваць допіс",
+ "content_warning.show": "Усё адно паказаць",
"conversation.delete": "Выдаліць размову",
"conversation.mark_as_read": "Адзначыць прачытаным",
"conversation.open": "Прагледзець размову",
@@ -299,6 +301,7 @@
"filter_modal.select_filter.subtitle": "Скарыстайцеся існуючай катэгорыяй або стварыце новую",
"filter_modal.select_filter.title": "Фільтраваць гэты допіс",
"filter_modal.title.status": "Фільтраваць допіс",
+ "filter_warning.matches_filter": "Адпавядае фільтру \"{title}\"",
"filtered_notifications_banner.pending_requests": "Ад {count, plural, =0 {# людзей якіх} one {# чалавека якіх} few {# чалавек якіх} many {# людзей якіх} other {# чалавека якіх}} вы магчыма ведаеце",
"filtered_notifications_banner.title": "Адфільтраваныя апавяшчэнні",
"firehose.all": "Усе",
@@ -355,6 +358,7 @@
"home.pending_critical_update.link": "Прагледзець абнаўленні",
"home.pending_critical_update.title": "Даступна крытычнае абнаўленне бяспекі!",
"home.show_announcements": "Паказаць аб'явы",
+ "ignore_notifications_modal.not_following_title": "Ігнараваць апавяшчэнні ад людзей на якіх вы не падпісаны?",
"interaction_modal.description.favourite": "Маючы ўліковы запіс Mastodon, вы можаце ўпадабаць гэты допіс, каб паведаміць аўтару, што ён вам падабаецца, і захаваць яго на будучыню.",
"interaction_modal.description.follow": "Маючы акаўнт у Mastodon, вы можаце падпісацца на {name}, каб бачыць яго/яе допісы ў сваёй хатняй стужцы.",
"interaction_modal.description.reblog": "З уліковым запісам Mastodon, вы можаце пашырыць гэты пост, каб падзяліцца ім са сваімі падпісчыкамі.",
@@ -433,7 +437,6 @@
"lists.subheading": "Вашыя спісы",
"load_pending": "{count, plural, one {# новы элемент} few {# новыя элементы} many {# новых элементаў} other {# новых элементаў}}",
"loading_indicator.label": "Загрузка…",
- "media_gallery.toggle_visible": "{number, plural, one {Схаваць відарыс} other {Схаваць відарысы}}",
"moved_to_account_banner.text": "Ваш уліковы запіс {disabledAccount} зараз адключаны таму што вы перанесены на {movedToAccount}.",
"mute_modal.hide_from_notifications": "Схаваць з апавяшчэнняў",
"mute_modal.hide_options": "Схаваць опцыі",
@@ -444,8 +447,6 @@
"mute_modal.title": "Ігнараваць карыстальніка?",
"mute_modal.you_wont_see_mentions": "Вы не ўбачыце паведамленняў са згадваннем карыстальніка.",
"mute_modal.you_wont_see_posts": "Карыстальнік па-ранейшаму будзе бачыць вашыя паведамленні, але вы не будзеце паведамленні карыстальніка.",
- "name_and_others": "{name} і {count, plural, one {# іншы} many {# іншых} other {# іншых}}",
- "name_and_others_with_link": "{name} і
{count, plural, one {# іншы} many {# іншых} other {# іншых}}",
"navigation_bar.about": "Пра нас",
"navigation_bar.advanced_interface": "Адкрыць у пашыраным вэб-інтэрфейсе",
"navigation_bar.blocks": "Заблакіраваныя карыстальнікі",
@@ -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": "Некаторыя вашыя допісы былі выдаленыя.",
@@ -501,11 +507,16 @@
"notification.status": "Новы допіс ад {name}",
"notification.update": "Допіс {name} адрэдагаваны",
"notification_requests.accept": "Прыняць",
+ "notification_requests.confirm_accept_multiple.title": "Прыняць запыты на апавяшчэнні?",
+ "notification_requests.confirm_dismiss_multiple.title": "Адхіліць запыты на апавяшчэнні?",
"notification_requests.dismiss": "Адхіліць",
+ "notification_requests.edit_selection": "Рэдагаваць",
+ "notification_requests.exit_selection": "Гатова",
"notification_requests.maximize": "Разгарнуць",
"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 +553,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 +565,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": "Не прапусціце нічога",
@@ -736,8 +752,6 @@
"status.favourite": "Упадабанае",
"status.favourites": "{count, plural, one {# упадабанае} few {# упадабаныя} many {# упадабаных} other {# упадабанага}}",
"status.filter": "Фільтраваць гэты допіс",
- "status.filtered": "Адфільтравана",
- "status.hide": "Схаваць допіс",
"status.history.created": "Створана {name} {date}",
"status.history.edited": "Адрэдагавана {name} {date}",
"status.load_more": "Загрузіць яшчэ",
@@ -765,10 +779,7 @@
"status.report": "Паскардзіцца на @{name}",
"status.sensitive_warning": "Уражвальны змест",
"status.share": "Абагуліць",
- "status.show_filter_reason": "Усё адно паказаць",
- "status.show_less": "Паказаць меньш",
"status.show_less_all": "Згарнуць усё",
- "status.show_more": "Паказаць болей",
"status.show_more_all": "Разгарнуць усё",
"status.show_original": "Паказаць арыгінал",
"status.title.with_attachments": "{user} апублікаваў {attachmentCount, plural, one {далучэнне} few {{attachmentCount} далучэнні} many {{attachmentCount} далучэнняў} other {{attachmentCount} далучэння}}",
@@ -787,10 +798,6 @@
"time_remaining.minutes": "{number, plural, one {засталася # хвіліна} few {засталося # хвіліны} many {засталося # хвілін} other {засталося # хвіліны}}",
"time_remaining.moments": "Засталося некалькі секунд",
"time_remaining.seconds": "{number, plural, one {засталася # секунда} few {засталося # секунды} many {засталося # секунд} other {засталося # секунды}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} з іншых сервераў не адлюстроўваецца.",
- "timeline_hint.resources.followers": "Падпісчыкі",
- "timeline_hint.resources.follows": "Падпіскі",
- "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": "Актуальнае",
"ui.beforeunload": "Ваш чарнавік знішчыцца калі вы пакінеце Mastodon.",
diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json
index f60e330d1c3a33..b89b539dcfb039 100644
--- a/app/javascript/mastodon/locales/bg.json
+++ b/app/javascript/mastodon/locales/bg.json
@@ -19,7 +19,6 @@
"account.block_domain": "Блокиране на домейн {domain}",
"account.block_short": "Блокиране",
"account.blocked": "Блокирани",
- "account.browse_more_on_origin_server": "Разглеждане на още в оригиналния профил",
"account.cancel_follow_request": "Оттегляне на заявката за последване",
"account.copy": "Копиране на връзка към профила",
"account.direct": "Частно споменаване на @{name}",
@@ -98,6 +97,8 @@
"block_modal.title": "Блокирате ли потребителя?",
"block_modal.you_wont_see_mentions": "Няма да виждате публикациите, които ги споменават.",
"boost_modal.combo": "Можете да натиснете {combo}, за да пропуснете това следващия път",
+ "boost_modal.reblog": "Подсилвате ли публикация?",
+ "boost_modal.undo_reblog": "Без подсилване на публикация ли?",
"bundle_column_error.copy_stacktrace": "Копиране на доклада за грешката",
"bundle_column_error.error.body": "Заявената страница не може да се изобрази. Това може да е заради грешка в кода ни или проблем със съвместимостта на браузъра.",
"bundle_column_error.error.title": "О, не!",
@@ -193,6 +194,7 @@
"confirmations.unfollow.confirm": "Без следване",
"confirmations.unfollow.message": "Наистина ли искате да не следвате {name}?",
"confirmations.unfollow.title": "Спирате ли да следвате потребителя?",
+ "content_warning.hide": "Скриване на публ.",
"conversation.delete": "Изтриване на разговора",
"conversation.mark_as_read": "Маркиране като прочетено",
"conversation.open": "Преглед на разговора",
@@ -349,6 +351,14 @@
"hashtag.follow": "Следване на хаштаг",
"hashtag.unfollow": "Спиране на следване на хаштаг",
"hashtags.and_other": "…и {count, plural, other {# още}}",
+ "hints.profiles.followers_may_be_missing": "Последователи за този профил може да липсват.",
+ "hints.profiles.follows_may_be_missing": "Последванията за този профил може да липсват.",
+ "hints.profiles.posts_may_be_missing": "Някои публикации от този профил може да липсват.",
+ "hints.profiles.see_more_followers": "Преглед на още последователи на {domain}",
+ "hints.profiles.see_more_follows": "Преглед на още последвания на {domain}",
+ "hints.profiles.see_more_posts": "Преглед на още публикации на {domain}",
+ "hints.threads.replies_may_be_missing": "Отговори от други сървъри може да липсват.",
+ "hints.threads.see_more": "Преглед на още отговори на {domain}",
"home.column_settings.show_reblogs": "Показване на подсилванията",
"home.column_settings.show_replies": "Показване на отговорите",
"home.hide_announcements": "Скриване на оповестяванията",
@@ -434,7 +444,6 @@
"lists.subheading": "Вашите списъци",
"load_pending": "{count, plural, one {# нов елемент} other {# нови елемента}}",
"loading_indicator.label": "Зареждане…",
- "media_gallery.toggle_visible": "Скриване на {number, plural, one {изображение} other {изображения}}",
"moved_to_account_banner.text": "Вашият акаунт {disabledAccount} сега е изключен, защото се преместихте в {movedToAccount}.",
"mute_modal.hide_from_notifications": "Скриване от известията",
"mute_modal.hide_options": "Скриване на възможностите",
@@ -445,9 +454,8 @@
"mute_modal.title": "Заглушавате ли потребител?",
"mute_modal.you_wont_see_mentions": "Няма да виждате споменаващите ги публикации.",
"mute_modal.you_wont_see_posts": "Още могат да виждат публикациите ви, но вие техните не.",
- "name_and_others": "{name} и {count, plural, one {# друг} other {# други}}",
- "name_and_others_with_link": "{name} и
{count, plural, one {# друг} other {# други}}",
"navigation_bar.about": "Относно",
+ "navigation_bar.administration": "Администрация",
"navigation_bar.advanced_interface": "Отваряне в разширен уебинтерфейс",
"navigation_bar.blocks": "Блокирани потребители",
"navigation_bar.bookmarks": "Отметки",
@@ -464,6 +472,7 @@
"navigation_bar.follows_and_followers": "Последвания и последователи",
"navigation_bar.lists": "Списъци",
"navigation_bar.logout": "Излизане",
+ "navigation_bar.moderation": "Модериране",
"navigation_bar.mutes": "Заглушени потребители",
"navigation_bar.opened_in_classic_interface": "Публикации, акаунти и други особени страници се отварят по подразбиране в класическия мрежови интерфейс.",
"navigation_bar.personal": "Лично",
@@ -479,9 +488,18 @@
"notification.admin.report_statuses": "{name} докладва {target} за {category}",
"notification.admin.report_statuses_other": "{name} докладва {target}",
"notification.admin.sign_up": "{name} се регистрира",
+ "notification.admin.sign_up.name_and_others": "{name} и {count, plural, one {# друг} other {# други}} се регистрираха",
"notification.favourite": "{name} направи любима публикацията ви",
+ "notification.favourite.name_and_others_with_link": "{name} и
{count, plural, one {# друг} other {# други}} направиха любима ваша публикация",
"notification.follow": "{name} ви последва",
+ "notification.follow.name_and_others": "{name} и {count, plural, one {# друг} other {# други}} ви последваха",
"notification.follow_request": "{name} поиска да ви последва",
+ "notification.follow_request.name_and_others": "{name} и {count, plural, one {# друг} other {# други}} поискаха да ви последват",
+ "notification.label.mention": "Споменаване",
+ "notification.label.private_mention": "Частно споменаване",
+ "notification.label.private_reply": "Личен отговор",
+ "notification.label.reply": "Отговор",
+ "notification.mention": "Споменаване",
"notification.moderation-warning.learn_more": "Научете повече",
"notification.moderation_warning": "Получихте предупреждение за модериране",
"notification.moderation_warning.action_delete_statuses": "Някои от публикациите ви са премахнати.",
@@ -494,6 +512,7 @@
"notification.own_poll": "Анкетата ви приключи",
"notification.poll": "Анкета, в която гласувахте, приключи",
"notification.reblog": "{name} подсили ваша публикация",
+ "notification.reblog.name_and_others_with_link": "{name} и
{count, plural, one {# друг} other {# други}} подсилиха ваша публикация",
"notification.relationships_severance_event": "Изгуби се връзката с {name}",
"notification.relationships_severance_event.account_suspension": "Администратор от {from} спря {target}, което значи че повече не може да получавате новости от тях или да взаимодействате с тях.",
"notification.relationships_severance_event.domain_block": "Администратор от {from} блокира {target}, вкючващо {followersCount} от последователите ви и {followingCount, plural, one {# акаунт, който} other {# акаунта, които}} следвате.",
@@ -502,13 +521,19 @@
"notification.status": "{name} току-що публикува",
"notification.update": "{name} промени публикация",
"notification_requests.accept": "Приемам",
+ "notification_requests.confirm_accept_multiple.message": "На път сте да приемете {count, plural, one {едно известие за заявка} other {# известия за заявки}}. Наистина ли искате да продължите?",
+ "notification_requests.confirm_accept_multiple.title": "Приемате ли заявките за известие?",
+ "notification_requests.confirm_dismiss_multiple.title": "Отхвърляте ли заявките за известие?",
"notification_requests.dismiss": "Отхвърлям",
+ "notification_requests.edit_selection": "Редактиране",
+ "notification_requests.exit_selection": "Готово",
"notification_requests.explainer_for_limited_account": "Известията от този акаунт са прецедени, защото акаунтът е ограничен от модератор.",
"notification_requests.explainer_for_limited_remote_account": "Известията от този акаунт са прецедени, защото акаунтът или сървърът му е ограничен от модератор.",
"notification_requests.maximize": "Максимизиране",
"notification_requests.minimize_banner": "Минимизиране на банера за филтрирани известия",
"notification_requests.notifications_from": "Известия от {name}",
"notification_requests.title": "Филтрирани известия",
+ "notification_requests.view": "Преглед на известията",
"notifications.clear": "Изчистване на известията",
"notifications.clear_confirmation": "Наистина ли искате да изчистите завинаги всичките си известия?",
"notifications.clear_title": "Изчиствате ли известията?",
@@ -545,6 +570,9 @@
"notifications.permission_denied": "Известията на работния плот не са налични поради предварително отказана заявка за разрешение в браузъра",
"notifications.permission_denied_alert": "Известията на работния плот не могат да се включат, тъй като разрешението на браузъра е отказвано преди",
"notifications.permission_required": "Известията на работния плот ги няма, щото няма дадено нужното позволение.",
+ "notifications.policy.accept": "Приемам",
+ "notifications.policy.accept_hint": "Показване в известия",
+ "notifications.policy.filter": "Филтър",
"notifications.policy.filter_limited_accounts_hint": "Ограничено от модераторите на сървъра",
"notifications.policy.filter_limited_accounts_title": "Модерирани акаунти",
"notifications.policy.filter_new_accounts.hint": "Сътворено през {days, plural, one {последния ден} other {последните # дена}}",
@@ -555,6 +583,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": "Никога не пропускайте нищо",
@@ -741,8 +770,6 @@
"status.favourite": "Любимо",
"status.favourites": "{count, plural, one {любимо} other {любими}}",
"status.filter": "Филтриране на публ.",
- "status.filtered": "Филтрирано",
- "status.hide": "Скриване на публ.",
"status.history.created": "{name} създаде {date}",
"status.history.edited": "{name} редактира {date}",
"status.load_more": "Зареждане на още",
@@ -770,10 +797,7 @@
"status.report": "Докладване на @{name}",
"status.sensitive_warning": "Деликатно съдържание",
"status.share": "Споделяне",
- "status.show_filter_reason": "Покажи въпреки това",
- "status.show_less": "Показване на по-малко",
"status.show_less_all": "Показване на по-малко за всички",
- "status.show_more": "Показване на повече",
"status.show_more_all": "Показване на повече за всички",
"status.show_original": "Показване на първообраза",
"status.title.with_attachments": "{user} публикува {attachmentCount, plural, one {прикачване} other {{attachmentCount} прикачвания}}",
@@ -792,10 +816,6 @@
"time_remaining.minutes": "{number, plural, one {остава # минута} other {остават # минути}}",
"time_remaining.moments": "Оставащи моменти",
"time_remaining.seconds": "{number, plural, one {# секунда} other {# секунди}} остава",
- "timeline_hint.remote_resource_not_displayed": "{resource} от други сървъри не се показват.",
- "timeline_hint.resources.followers": "Последователи",
- "timeline_hint.resources.follows": "Последвани",
- "timeline_hint.resources.statuses": "По-стари публикации",
"trends.counter_by_accounts": "{count, plural, one {{counter} човек} other {{counter} души}} {days, plural, one {за последния {days} ден} other {за последните {days} дни}}",
"trends.trending_now": "Налагащи се сега",
"ui.beforeunload": "Черновата ви ще се загуби, излизайки от Mastodon.",
diff --git a/app/javascript/mastodon/locales/bn.json b/app/javascript/mastodon/locales/bn.json
index 849be0eaf2550c..df97abdff5109b 100644
--- a/app/javascript/mastodon/locales/bn.json
+++ b/app/javascript/mastodon/locales/bn.json
@@ -18,7 +18,6 @@
"account.block_domain": "{domain} কে ব্লক করুন",
"account.block_short": "ব্লক",
"account.blocked": "অবরুদ্ধ",
- "account.browse_more_on_origin_server": "মূল প্রোফাইলটিতে আরও ব্রাউজ করুন",
"account.cancel_follow_request": "অনুসরণ অনুরোধ প্রত্যাহার করুন",
"account.direct": "গোপনে মেনশন করুন @{name}",
"account.disable_notifications": "আমাকে জানানো বন্ধ করো যখন @{name} পোস্ট করবে",
@@ -289,7 +288,6 @@
"lists.search": "যাদের অনুসরণ করেন তাদের ভেতরে খুঁজুন",
"lists.subheading": "আপনার তালিকা",
"load_pending": "{count, plural, one {# নতুন জিনিস} other {# নতুন জিনিস}}",
- "media_gallery.toggle_visible": "দৃশ্যতার অবস্থা বদলান",
"navigation_bar.about": "পরিচিতি",
"navigation_bar.blocks": "বন্ধ করা ব্যবহারকারী",
"navigation_bar.bookmarks": "বুকমার্ক",
@@ -412,8 +410,6 @@
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "এমবেড করতে",
"status.favourite": "পছন্দ",
- "status.filtered": "ছাঁকনিদিত",
- "status.hide": "পোস্ট লুকাও",
"status.load_more": "আরো দেখুন",
"status.media_hidden": "মিডিয়া লুকানো আছে",
"status.mention": "@{name}কে উল্লেখ করতে",
@@ -435,9 +431,7 @@
"status.report": "@{name} কে রিপোর্ট করতে",
"status.sensitive_warning": "সংবেদনশীল কিছু",
"status.share": "অন্যদের জানান",
- "status.show_less": "কম দেখতে",
"status.show_less_all": "সবগুলোতে কম দেখতে",
- "status.show_more": "আরো দেখাতে",
"status.show_more_all": "সবগুলোতে আরো দেখতে",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
"status.translate": "অনুবাদ",
@@ -450,10 +444,6 @@
"time_remaining.minutes": "{number, plural, one {# মিনিট} other {# মিনিট}} বাকি আছে",
"time_remaining.moments": "সময় বাকি আছে",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} বাকি আছে",
- "timeline_hint.remote_resource_not_displayed": "অন্য সার্ভারগুলি থেকে {resource} দেখাচ্ছে না। ",
- "timeline_hint.resources.followers": "অনুসরকারীরা",
- "timeline_hint.resources.follows": "অনুসরণ করে",
- "timeline_hint.resources.statuses": "পুরনো টুটগুলি",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"trends.trending_now": "বর্তমানে জনপ্রিয়",
"ui.beforeunload": "যে পর্যন্ত এটা লেখা হয়েছে, মাস্টাডন থেকে চলে গেলে এটা মুছে যাবে।",
diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json
index b5abb3762f24cc..226ff756ffe9d3 100644
--- a/app/javascript/mastodon/locales/br.json
+++ b/app/javascript/mastodon/locales/br.json
@@ -18,7 +18,6 @@
"account.block_domain": "Stankañ an domani {domain}",
"account.block_short": "Stankañ",
"account.blocked": "Stanket",
- "account.browse_more_on_origin_server": "Furchal pelloc'h war ar profil orin",
"account.cancel_follow_request": "Nullañ ar reked heuliañ",
"account.copy": "Eilañ al liamm war-zu ho profil",
"account.direct": "Menegiñ @{name} ent-prevez",
@@ -361,7 +360,6 @@
"lists.subheading": "Ho listennoù",
"load_pending": "{count, plural, one {# dra nevez} other {# dra nevez}}",
"loading_indicator.label": "O kargañ…",
- "media_gallery.toggle_visible": "{number, plural, one {Kuzhat ar skeudenn} other {Kuzhat ar skeudenn}}",
"navigation_bar.about": "Diwar-benn",
"navigation_bar.blocks": "Implijer·ezed·ien berzet",
"navigation_bar.bookmarks": "Sinedoù",
@@ -580,8 +578,6 @@
"status.embed": "Enframmañ",
"status.favourite": "Muiañ-karet",
"status.filter": "Silañ ar c'hannad-mañ",
- "status.filtered": "Silet",
- "status.hide": "Kuzhat an embannadur",
"status.history.created": "Krouet gant {name} {date}",
"status.history.edited": "Kemmet gant {name} {date}",
"status.load_more": "Kargañ muioc'h",
@@ -608,10 +604,7 @@
"status.report": "Disklêriañ @{name}",
"status.sensitive_warning": "Dalc'had kizidik",
"status.share": "Rannañ",
- "status.show_filter_reason": "Diskwel memes tra",
- "status.show_less": "Diskouez nebeutoc'h",
"status.show_less_all": "Diskouez nebeutoc'h evit an holl",
- "status.show_more": "Diskouez muioc'h",
"status.show_more_all": "Diskouez miuoc'h evit an holl",
"status.show_original": "Diskouez hini orin",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
@@ -629,10 +622,6 @@
"time_remaining.minutes": "{number, plural, one {# munut} other{# a vunut}} a chom",
"time_remaining.moments": "Pennadoù a-zilerc'h",
"time_remaining.seconds": "{number, plural, one {# eilenn} other{# eilenn}} a chom",
- "timeline_hint.remote_resource_not_displayed": "{resource} eus servijerien all n'int ket skrammet.",
- "timeline_hint.resources.followers": "Heulier·ezed·ien",
- "timeline_hint.resources.follows": "Heuliañ",
- "timeline_hint.resources.statuses": "Toudoù koshoc'h",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"trends.trending_now": "Luskad ar mare",
"ui.beforeunload": "Kollet e vo ho prell ma kuitit Mastodon.",
diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json
index d2651aeffa75d3..91f28bd1514d97 100644
--- a/app/javascript/mastodon/locales/ca.json
+++ b/app/javascript/mastodon/locales/ca.json
@@ -19,7 +19,6 @@
"account.block_domain": "Bloca el domini {domain}",
"account.block_short": "Bloca",
"account.blocked": "Blocat",
- "account.browse_more_on_origin_server": "Explora'n més al perfil original",
"account.cancel_follow_request": "Cancel·la el seguiment",
"account.copy": "Copia l'enllaç al perfil",
"account.direct": "Menciona privadament @{name}",
@@ -98,6 +97,8 @@
"block_modal.title": "Bloquem l'usuari?",
"block_modal.you_wont_see_mentions": "No veureu publicacions que l'esmentin.",
"boost_modal.combo": "Pots prémer {combo} per a evitar-ho el pròxim cop",
+ "boost_modal.reblog": "Voleu impulsar la publicació?",
+ "boost_modal.undo_reblog": "Voleu retirar l'impuls a la publicació?",
"bundle_column_error.copy_stacktrace": "Copia l'informe d'error",
"bundle_column_error.error.body": "No s'ha pogut renderitzar la pàgina sol·licitada. Podria ser per un error en el nostre codi o per un problema de compatibilitat del navegador.",
"bundle_column_error.error.title": "Oh, no!",
@@ -193,6 +194,8 @@
"confirmations.unfollow.confirm": "Deixa de seguir",
"confirmations.unfollow.message": "Segur que vols deixar de seguir {name}?",
"confirmations.unfollow.title": "Deixar de seguir l'usuari?",
+ "content_warning.hide": "Amaga la publicació",
+ "content_warning.show": "Mostra-la igualment",
"conversation.delete": "Elimina la conversa",
"conversation.mark_as_read": "Marca com a llegida",
"conversation.open": "Mostra la conversa",
@@ -300,6 +303,7 @@
"filter_modal.select_filter.subtitle": "Usa una categoria existent o crea'n una de nova",
"filter_modal.select_filter.title": "Filtra aquest tut",
"filter_modal.title.status": "Filtra un tut",
+ "filter_warning.matches_filter": "Coincideix amb el filtre “{title}”",
"filtered_notifications_banner.pending_requests": "{count, plural, =0 {De ningú} one {D'una persona} other {De # persones}} que potser coneixes",
"filtered_notifications_banner.title": "Notificacions filtrades",
"firehose.all": "Tots",
@@ -349,6 +353,14 @@
"hashtag.follow": "Segueix l'etiqueta",
"hashtag.unfollow": "Deixa de seguir l'etiqueta",
"hashtags.and_other": "…i {count, plural, other {# més}}",
+ "hints.profiles.followers_may_be_missing": "Es poden haver perdut seguidors d'aquest perfil.",
+ "hints.profiles.follows_may_be_missing": "Es poden haver perdut seguiments d'aquest perfil.",
+ "hints.profiles.posts_may_be_missing": "Es poden haver perdut algunes publicacions d'aquest perfil.",
+ "hints.profiles.see_more_followers": "Vegeu més seguidors a {domain}",
+ "hints.profiles.see_more_follows": "Vegeu més seguiments a {domain}",
+ "hints.profiles.see_more_posts": "Vegeu més publicacions a {domain}",
+ "hints.threads.replies_may_be_missing": "Es poden haver perdut respostes d'altres servidors.",
+ "hints.threads.see_more": "Vegeu més respostes a {domain}",
"home.column_settings.show_reblogs": "Mostra els impulsos",
"home.column_settings.show_replies": "Mostra les respostes",
"home.hide_announcements": "Amaga els anuncis",
@@ -356,8 +368,17 @@
"home.pending_critical_update.link": "Veure actualitzacions",
"home.pending_critical_update.title": "Actualització de seguretat crítica disponible!",
"home.show_announcements": "Mostra els anuncis",
+ "ignore_notifications_modal.disclaimer": "Mastodon no pot informar els usuaris que heu ignorat notificacions seves.\nIgnorar notificacions no evitarà que se segueixin enviant els missatges.",
+ "ignore_notifications_modal.filter_instead": "Altrament filtra",
"ignore_notifications_modal.filter_to_act_users": "Encara podreu acceptar, rebutjar o reportar usuaris",
+ "ignore_notifications_modal.filter_to_avoid_confusion": "Filtrar ajuda a evitar potencials confusions",
"ignore_notifications_modal.filter_to_review_separately": "Podeu revisar separadament notificacions filtrades",
+ "ignore_notifications_modal.ignore": "Ignora les notificacions",
+ "ignore_notifications_modal.limited_accounts_title": "Voleu ignorar les notificacions dels comptes moderats?",
+ "ignore_notifications_modal.new_accounts_title": "Voleu ignorar les notificacions dels comptes nous?",
+ "ignore_notifications_modal.not_followers_title": "Voleu ignorar les notificacions de qui no us segueix?",
+ "ignore_notifications_modal.not_following_title": "Voleu ignorar les notificacions de qui no seguiu?",
+ "ignore_notifications_modal.private_mentions_title": "Voleu ignorar les notificacions de mencions privades no sol·licitades?",
"interaction_modal.description.favourite": "Amb un compte a Mastodon pots afavorir aquest tut perquè l'autor sàpiga que t'ha agradat i desar-lo per a més endavant.",
"interaction_modal.description.follow": "Amb un compte a Mastodon, pots seguir a {name} per a rebre els seus tuts en la teva línia de temps d'Inici.",
"interaction_modal.description.reblog": "Amb un compte a Mastodon, pots impulsar aquest tut per a compartir-lo amb els teus seguidors.",
@@ -436,7 +457,7 @@
"lists.subheading": "Les teves llistes",
"load_pending": "{count, plural, one {# element nou} other {# elements nous}}",
"loading_indicator.label": "Es carrega…",
- "media_gallery.toggle_visible": "{number, plural, one {Amaga la imatge} other {Amaga les imatges}}",
+ "media_gallery.hide": "Amaga",
"moved_to_account_banner.text": "El teu compte {disabledAccount} està desactivat perquè l'has mogut a {movedToAccount}.",
"mute_modal.hide_from_notifications": "Amaga de les notificacions",
"mute_modal.hide_options": "Amaga les opcions",
@@ -447,9 +468,8 @@
"mute_modal.title": "Silenciem l'usuari?",
"mute_modal.you_wont_see_mentions": "No veureu publicacions que els esmentin.",
"mute_modal.you_wont_see_posts": "Encara poden veure les vostres publicacions, però no veureu les seves.",
- "name_and_others": "{name} i {count, plural, one {# altre} other {# altres}}",
- "name_and_others_with_link": "{name} i
{count, plural, one {# altre} other {# altres}}",
"navigation_bar.about": "Quant a",
+ "navigation_bar.administration": "Administració",
"navigation_bar.advanced_interface": "Obre en la interfície web avançada",
"navigation_bar.blocks": "Usuaris blocats",
"navigation_bar.bookmarks": "Marcadors",
@@ -466,6 +486,7 @@
"navigation_bar.follows_and_followers": "Seguint i seguidors",
"navigation_bar.lists": "Llistes",
"navigation_bar.logout": "Tanca la sessió",
+ "navigation_bar.moderation": "Moderació",
"navigation_bar.mutes": "Usuaris silenciats",
"navigation_bar.opened_in_classic_interface": "Els tuts, comptes i altres pàgines especifiques s'obren per defecte en la interfície web clàssica.",
"navigation_bar.personal": "Personal",
@@ -481,9 +502,13 @@
"notification.admin.report_statuses": "{name} ha reportat {target} per {category}",
"notification.admin.report_statuses_other": "{name} ha reportat {target}",
"notification.admin.sign_up": "{name} s'ha registrat",
+ "notification.admin.sign_up.name_and_others": "{name} i {count, plural, one {# altre} other {# altres}} s'han registrat",
"notification.favourite": "{name} ha afavorit el teu tut",
+ "notification.favourite.name_and_others_with_link": "{name} i
{count, plural, one {# altre} other {# altres}} han afavorit la vostra publicació",
"notification.follow": "{name} et segueix",
+ "notification.follow.name_and_others": "{name} i {count, plural, one {# altre} other {# altres}} us han seguit",
"notification.follow_request": "{name} ha sol·licitat de seguir-te",
+ "notification.follow_request.name_and_others": "{name} i {count, plural, one {# altre} other {# altres}} han demanat de seguir-vos",
"notification.label.mention": "Menció",
"notification.label.private_mention": "Menció privada",
"notification.label.private_reply": "Resposta en privat",
@@ -501,6 +526,7 @@
"notification.own_poll": "La teva enquesta ha finalitzat",
"notification.poll": "Ha finalitzat una enquesta que heu respost",
"notification.reblog": "{name} t'ha impulsat",
+ "notification.reblog.name_and_others_with_link": "{name} i
{count, plural, one {# altre} other {# altres}} han impulsat la vostra publicació",
"notification.relationships_severance_event": "S'han perdut les connexions amb {name}",
"notification.relationships_severance_event.account_suspension": "Un administrador de {from} ha suspès {target}; això vol dir que ja no en podreu rebre actualitzacions o interactuar-hi.",
"notification.relationships_severance_event.domain_block": "Un administrador de {from} ha blocat {target}, incloent-hi {followersCount} dels vostres seguidors i {followingCount, plural, one {# compte} other {# comptes}} que seguiu.",
@@ -509,18 +535,24 @@
"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.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_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",
"notification_requests.minimize_banner": "Minimitza el bàner de notificacions filtrades",
"notification_requests.notifications_from": "Notificacions de {name}",
"notification_requests.title": "Notificacions filtrades",
+ "notification_requests.view": "Mostra les notificacions",
"notifications.clear": "Esborra les notificacions",
"notifications.clear_confirmation": "Segur que vols esborrar permanentment totes les teves notificacions?",
"notifications.clear_title": "Esborrar les notificacions?",
@@ -557,6 +589,12 @@
"notifications.permission_denied": "Les notificacions d’escriptori no estan disponibles perquè prèviament s’ha denegat el permís al navegador",
"notifications.permission_denied_alert": "No es poden activar les notificacions de l'escriptori perquè abans s'ha denegat el permís del navegador",
"notifications.permission_required": "Les notificacions d'escriptori no estan disponibles perquè el permís requerit no ha estat concedit.",
+ "notifications.policy.accept": "Accepta",
+ "notifications.policy.accept_hint": "Mostra a notificacions",
+ "notifications.policy.drop": "Ignora",
+ "notifications.policy.drop_hint": "Envia al buit, no es tornarà a veure mai més",
+ "notifications.policy.filter": "Filtra",
+ "notifications.policy.filter_hint": "Envia a la bústia de notificacions filtrades",
"notifications.policy.filter_limited_accounts_hint": "Limitat pels moderadors del servidor",
"notifications.policy.filter_limited_accounts_title": "Comptes moderats",
"notifications.policy.filter_new_accounts.hint": "Creat {days, plural, one {ahir} other {durant els # dies passats}}",
@@ -567,6 +605,7 @@
"notifications.policy.filter_not_following_title": "Persones que no seguiu",
"notifications.policy.filter_private_mentions_hint": "Filtrat si no és que és en resposta a una menció vostra o si seguiu el remitent",
"notifications.policy.filter_private_mentions_title": "Mencions privades no sol·licitades",
+ "notifications.policy.title": "Gestiona les notificacions des de…",
"notifications_permission_banner.enable": "Activa les notificacions d’escriptori",
"notifications_permission_banner.how_to_control": "Per a rebre notificacions quan Mastodon no és obert cal activar les notificacions d’escriptori. Pots controlar amb precisió quins tipus d’interaccions generen notificacions d’escriptori després d’activar el botó {icon} de dalt.",
"notifications_permission_banner.title": "No et perdis mai res",
@@ -741,6 +780,7 @@
"status.bookmark": "Marca",
"status.cancel_reblog_private": "Desfés l'impuls",
"status.cannot_reblog": "No es pot impulsar aquest tut",
+ "status.continued_thread": "Continuació del fil",
"status.copy": "Copia l'enllaç al tut",
"status.delete": "Elimina",
"status.detailed_status": "Vista detallada de la conversa",
@@ -753,8 +793,6 @@
"status.favourite": "Favorit",
"status.favourites": "{count, plural, one {favorit} other {favorits}}",
"status.filter": "Filtra aquest tut",
- "status.filtered": "Filtrada",
- "status.hide": "Amaga el tut",
"status.history.created": "creat per {name} {date}",
"status.history.edited": "editat per {name} {date}",
"status.load_more": "Carrega'n més",
@@ -776,16 +814,14 @@
"status.reblogs.empty": "Encara no ha impulsat ningú aquest tut. Quan algú ho faci, apareixerà aquí.",
"status.redraft": "Esborra i reescriu",
"status.remove_bookmark": "Elimina el marcador",
+ "status.replied_in_thread": "Respost al fil",
"status.replied_to": "En resposta a {name}",
"status.reply": "Respon",
"status.replyAll": "Respon al fil",
"status.report": "Denuncia @{name}",
"status.sensitive_warning": "Contingut sensible",
"status.share": "Comparteix",
- "status.show_filter_reason": "Mostra igualment",
- "status.show_less": "Mostra'n menys",
"status.show_less_all": "Mostra'n menys per a tot",
- "status.show_more": "Mostra'n més",
"status.show_more_all": "Mostra'n més per a tot",
"status.show_original": "Mostra l'original",
"status.title.with_attachments": "{user} ha publicat {attachmentCount, plural, one {un adjunt} other {{attachmentCount} adjunts}}",
@@ -804,11 +840,6 @@
"time_remaining.minutes": "{number, plural, one {# minut restant} other {# minuts restants}}",
"time_remaining.moments": "Moments restants",
"time_remaining.seconds": "{number, plural, one {# segon restant} other {# segons restants}}",
- "timeline_hint.remote_resource_not_displayed": "No es mostren {resource} d'altres servidors.",
- "timeline_hint.resources.followers": "Seguidors",
- "timeline_hint.resources.follows": "Seguiments",
- "timeline_hint.resources.replies": "Algunes respostes",
- "timeline_hint.resources.statuses": "Tuts més antics",
"trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} persones}} en {days, plural, one {el passat dia} other {els passats {days} dies}}",
"trends.trending_now": "És tendència",
"ui.beforeunload": "El teu esborrany es perdrà si surts de Mastodon.",
diff --git a/app/javascript/mastodon/locales/ckb.json b/app/javascript/mastodon/locales/ckb.json
index ca6a363f4241ee..61b81c9f312595 100644
--- a/app/javascript/mastodon/locales/ckb.json
+++ b/app/javascript/mastodon/locales/ckb.json
@@ -18,7 +18,6 @@
"account.block_domain": "بلۆکی هەموو شتێک لە {domain}",
"account.block_short": "بلۆک",
"account.blocked": "بلۆککرا",
- "account.browse_more_on_origin_server": "گەڕانی فرەتر لە سەر پرۆفایلی سەرەکی",
"account.cancel_follow_request": "داواکاری فۆڵۆو بکشێنەوە",
"account.copy": "ڕوونووسی بەستەر بۆ توت",
"account.direct": "بە شێوەیەکی تایبەت باسی @{name} بکە",
@@ -356,7 +355,6 @@
"lists.search": "بگەڕێ لەناو ئەو کەسانەی کە شوێنیان کەوتویت",
"lists.subheading": "لیستەکانت",
"load_pending": "{count, plural, one {# بەڕگەی نوێ} other {# بەڕگەی نوێ}}",
- "media_gallery.toggle_visible": "شاردنەوەی {number, plural, one {image} other {images}}",
"moved_to_account_banner.text": "ئەکاونتەکەت {disabledAccount} لە ئێستادا لەکارخراوە چونکە تۆ چوویتە {movedToAccount}.",
"navigation_bar.about": "دەربارە",
"navigation_bar.blocks": "بەکارهێنەرە بلۆککراوەکان",
@@ -543,8 +541,6 @@
"status.edited_x_times": "دەستکاریکراوە {count, plural, one {{count} کات} other {{count} کات}}",
"status.embed": "نیشتەجێ بکە",
"status.filter": "ئەم پۆستە فلتەر بکە",
- "status.filtered": "پاڵاوتن",
- "status.hide": "شاردنەوەی پۆست",
"status.history.created": "{name} دروستکراوە لە{date}",
"status.history.edited": "{name} دروستکاریکراوە لە{date}",
"status.load_more": "زیاتر بار بکە",
@@ -569,10 +565,7 @@
"status.report": "گوزارشت @{name}",
"status.sensitive_warning": "ناوەڕۆکی هەستیار",
"status.share": "هاوبەشی بکە",
- "status.show_filter_reason": "بە هەر حاڵ نیشان بدە",
- "status.show_less": "کەمتر نیشان بدە",
"status.show_less_all": "هەمووی بچووک بکەوە",
- "status.show_more": "زیاتر نیشان بدە",
"status.show_more_all": "زیاتر نیشان بدە بۆ هەمووی",
"status.show_original": "پیشاندانی شێوهی ڕاستهقینه",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
@@ -590,10 +583,6 @@
"time_remaining.minutes": "{number, plural, one {# خولەک} other {# خولەک}} ماوە",
"time_remaining.moments": "کاتی ماوە",
"time_remaining.seconds": "{number, plural, one {# چرکە} other {# چرکە}} ماوە",
- "timeline_hint.remote_resource_not_displayed": "{resource} لە ڕاژەکانی ترەوە پیشان نادرێت.",
- "timeline_hint.resources.followers": "شوێنکەوتوو",
- "timeline_hint.resources.follows": "شوێنکەوتن",
- "timeline_hint.resources.statuses": "نێردراوی کۆن",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
"trends.trending_now": "ڕۆژەڤ",
"ui.beforeunload": "ڕەشنووسەکەت لەدەست دەچێت ئەگەر ماستۆدۆن جێ بهێڵیت.",
diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json
index 7a214b02415c2e..fc022aeb5191fd 100644
--- a/app/javascript/mastodon/locales/co.json
+++ b/app/javascript/mastodon/locales/co.json
@@ -6,7 +6,6 @@
"account.block": "Bluccà @{name}",
"account.block_domain": "Piattà u duminiu {domain}",
"account.blocked": "Bluccatu",
- "account.browse_more_on_origin_server": "Vede di più nant'à u prufile uriginale",
"account.cancel_follow_request": "Withdraw follow request",
"account.disable_notifications": "Ùn mi nutificate più quandu @{name} pubblica qualcosa",
"account.domain_blocked": "Duminiu piattatu",
@@ -216,7 +215,6 @@
"lists.search": "Circà indè i vostr'abbunamenti",
"lists.subheading": "E vo liste",
"load_pending": "{count, plural, one {# entrata nova} other {# entrate nove}}",
- "media_gallery.toggle_visible": "Piattà {number, plural, one {ritrattu} other {ritratti}}",
"navigation_bar.blocks": "Utilizatori bluccati",
"navigation_bar.bookmarks": "Segnalibri",
"navigation_bar.community_timeline": "Linea pubblica lucale",
@@ -323,7 +321,6 @@
"status.detailed_status": "Vista in ditagliu di a cunversazione",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "Integrà",
- "status.filtered": "Filtratu",
"status.load_more": "Vede di più",
"status.media_hidden": "Media piattata",
"status.mention": "Mintuvà @{name}",
@@ -345,9 +342,7 @@
"status.report": "Palisà @{name}",
"status.sensitive_warning": "Cuntinutu sensibile",
"status.share": "Sparte",
- "status.show_less": "Ripiegà",
"status.show_less_all": "Ripiegà tuttu",
- "status.show_more": "Slibrà",
"status.show_more_all": "Slibrà tuttu",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
"status.unmute_conversation": "Ùn piattà più a cunversazione",
@@ -359,10 +354,6 @@
"time_remaining.minutes": "{number, plural, one {# minuta ferma} other {# minute fermanu}} left",
"time_remaining.moments": "Ci fermanu qualchi mumentu",
"time_remaining.seconds": "{number, plural, one {# siconda ferma} other {# siconde fermanu}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} da l'altri servori ùn so micca affissati·e.",
- "timeline_hint.resources.followers": "Abbunati",
- "timeline_hint.resources.follows": "Abbunamenti",
- "timeline_hint.resources.statuses": "Statuti più anziani",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"trends.trending_now": "Tindenze d'avà",
"ui.beforeunload": "A bruttacopia sarà persa s'ellu hè chjosu Mastodon.",
diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json
index a4a96f1e2160c0..8dd8f31fa82686 100644
--- a/app/javascript/mastodon/locales/cs.json
+++ b/app/javascript/mastodon/locales/cs.json
@@ -19,7 +19,6 @@
"account.block_domain": "Blokovat doménu {domain}",
"account.block_short": "Zablokovat",
"account.blocked": "Blokovaný",
- "account.browse_more_on_origin_server": "Více na původním profilu",
"account.cancel_follow_request": "Zrušit sledování",
"account.copy": "Kopírovat odkaz na profil",
"account.direct": "Soukromě zmínit @{name}",
@@ -98,6 +97,8 @@
"block_modal.title": "Zablokovat uživatele?",
"block_modal.you_wont_see_mentions": "Neuvidíte příspěvky, které ho zmiňují.",
"boost_modal.combo": "Příště můžete pro přeskočení stisknout {combo}",
+ "boost_modal.reblog": "Boostnout příspěvek?",
+ "boost_modal.undo_reblog": "Zrušit boostování příspěvku?",
"bundle_column_error.copy_stacktrace": "Zkopírovat zprávu o chybě",
"bundle_column_error.error.body": "Požadovanou stránku nelze vykreslit. Může to být způsobeno chybou v našem kódu nebo problémem s kompatibilitou prohlížeče.",
"bundle_column_error.error.title": "Ale ne!",
@@ -193,6 +194,7 @@
"confirmations.unfollow.confirm": "Přestat sledovat",
"confirmations.unfollow.message": "Opravdu chcete {name} přestat sledovat?",
"confirmations.unfollow.title": "Přestat sledovat uživatele?",
+ "content_warning.hide": "Skrýt příspěvek",
"conversation.delete": "Smazat konverzaci",
"conversation.mark_as_read": "Označit jako přečtené",
"conversation.open": "Zobrazit konverzaci",
@@ -433,7 +435,6 @@
"lists.subheading": "Vaše seznamy",
"load_pending": "{count, plural, one {# nová položka} few {# nové položky} many {# nových položek} other {# nových položek}}",
"loading_indicator.label": "Načítání…",
- "media_gallery.toggle_visible": "{number, plural, one {Skrýt obrázek} few {Skrýt obrázky} many {Skrýt obrázky} other {Skrýt obrázky}}",
"moved_to_account_banner.text": "Váš účet {disabledAccount} je momentálně deaktivován, protože jste se přesunul/a na {movedToAccount}.",
"mute_modal.hide_from_notifications": "Skrýt z notifikací",
"mute_modal.hide_options": "Skrýt možnosti",
@@ -732,8 +733,6 @@
"status.favourite": "Oblíbit",
"status.favourites": "{count, plural, one {oblíbený} few {oblíbené} many {oblíbených} other {oblíbených}}",
"status.filter": "Filtrovat tento příspěvek",
- "status.filtered": "Filtrováno",
- "status.hide": "Skrýt příspěvek",
"status.history.created": "Uživatel {name} vytvořil {date}",
"status.history.edited": "Uživatel {name} upravil {date}",
"status.load_more": "Načíst více",
@@ -761,10 +760,7 @@
"status.report": "Nahlásit @{name}",
"status.sensitive_warning": "Citlivý obsah",
"status.share": "Sdílet",
- "status.show_filter_reason": "Přesto zobrazit",
- "status.show_less": "Zobrazit méně",
"status.show_less_all": "Zobrazit méně pro všechny",
- "status.show_more": "Zobrazit více",
"status.show_more_all": "Zobrazit více pro všechny",
"status.show_original": "Zobrazit originál",
"status.title.with_attachments": "{user} zveřejnil {attachmentCount, plural, one {přílohu} few {{attachmentCount} přílohy} many {{attachmentCount} příloh} other {{attachmentCount} příloh}}",
@@ -783,10 +779,6 @@
"time_remaining.minutes": "{number, plural, one {Zbývá # minuta} few {Zbývají # minuty} many {Zbývá # minut} other {Zbývá # minut}}",
"time_remaining.moments": "Zbývá několik sekund",
"time_remaining.seconds": "{number, plural, one {Zbývá # sekunda} few {Zbývají # sekundy} many {Zbývá # sekund} other {Zbývá # sekund}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} z jiných serverů se nezobrazují.",
- "timeline_hint.resources.followers": "Sledující",
- "timeline_hint.resources.follows": "Sledovaní",
- "timeline_hint.resources.statuses": "Starší příspěvky",
"trends.counter_by_accounts": "{count, plural, one {{counter} člověk} few {{counter} lidé} many {{counter} lidí} other {{counter} lidí}} za poslední {days, plural, one {den} few {{days} dny} many {{days} dnů} other {{days} dnů}}",
"trends.trending_now": "Právě populární",
"ui.beforeunload": "Pokud Mastodon opustíte, váš koncept se ztratí.",
diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json
index c2b9b549449265..1f827c9f3a969a 100644
--- a/app/javascript/mastodon/locales/cy.json
+++ b/app/javascript/mastodon/locales/cy.json
@@ -1,5 +1,5 @@
{
- "about.blocks": "Gweinyddion sy'n cael eu cymedroli",
+ "about.blocks": "Gweinyddion gyda chymedrolwyr",
"about.contact": "Cysylltwch â:",
"about.disclaimer": "Mae Mastodon yn feddalwedd cod agored rhydd ac o dan hawlfraint Mastodon gGmbH.",
"about.domain_blocks.no_reason_available": "Nid yw'r rheswm ar gael",
@@ -11,6 +11,7 @@
"about.not_available": "Nid yw'r wybodaeth hon ar gael ar y gweinydd hwn.",
"about.powered_by": "Cyfrwng cymdeithasol datganoledig wedi ei yrru gan {mastodon}",
"about.rules": "Rheolau'r gweinydd",
+ "account.account_note_header": "Nodyn personol",
"account.add_or_remove_from_list": "Ychwanegu neu Ddileu o'r rhestrau",
"account.badges.bot": "Bot",
"account.badges.cat": "Cat",
@@ -19,7 +20,6 @@
"account.block_domain": "Blocio parth {domain}",
"account.block_short": "Blocio",
"account.blocked": "Blociwyd",
- "account.browse_more_on_origin_server": "Pori mwy ar y proffil gwreiddiol",
"account.cancel_follow_request": "Tynnu cais i ddilyn",
"account.copy": "Copïo dolen i'r proffil",
"account.direct": "Crybwyll yn breifat @{name}",
@@ -96,15 +96,17 @@
"block_modal.they_cant_see_posts": "Nid ydynt yn gallu gweld eich postiadau ac ni fyddwch yn gweld eu rhai hwy.",
"block_modal.they_will_know": "Gallant weld eu bod wedi'u rhwystro.",
"block_modal.title": "Blocio defnyddiwr?",
- "block_modal.you_wont_see_mentions": "Ni welwch bostiadau sy'n sôn amdanynt.",
+ "block_modal.you_wont_see_mentions": "Fyddwch chi ddim yn gweld postiadau sy'n sôn amdanyn nhw.",
"boost_modal.combo": "Mae modd pwyso {combo} er mwyn hepgor hyn tro nesa",
+ "boost_modal.reblog": "Hybu postiad?",
+ "boost_modal.undo_reblog": "Dad-hybu postiad?",
"bundle_column_error.copy_stacktrace": "Copïo'r adroddiad gwall",
"bundle_column_error.error.body": "Nid oedd modd cynhyrchu'r dudalen honno. Gall fod oherwydd gwall yn ein cod neu fater cydnawsedd porwr.",
"bundle_column_error.error.title": "O na!",
"bundle_column_error.network.body": "Bu gwall wrth geisio llwytho'r dudalen hon. Gall hyn fod oherwydd anhawster dros-dro gyda'ch cysylltiad gwe neu'r gweinydd hwn.",
"bundle_column_error.network.title": "Gwall rhwydwaith",
"bundle_column_error.retry": "Ceisiwch eto",
- "bundle_column_error.return": "Mynd nôl adref",
+ "bundle_column_error.return": "Mynd i'r ffrwd gartref",
"bundle_column_error.routing.body": "Nid oedd modd canfod y dudalen honno. Ydych chi'n siŵr fod yr URL yn y bar cyfeiriad yn gywir?",
"bundle_column_error.routing.title": "404",
"bundle_modal_error.close": "Cau",
@@ -125,7 +127,7 @@
"column.favourites": "Ffefrynnau",
"column.firehose": "Ffrydiau byw",
"column.follow_requests": "Ceisiadau dilyn",
- "column.home": "Hafan",
+ "column.home": "Cartref",
"column.lists": "Rhestrau",
"column.mutes": "Defnyddwyr wedi'u tewi",
"column.notifications": "Hysbysiadau",
@@ -146,7 +148,7 @@
"compose.language.search": "Chwilio ieithoedd...",
"compose.published.body": "Postiad wedi ei gyhoeddi.",
"compose.published.open": "Agor",
- "compose.saved.body": "Post wedi'i gadw.",
+ "compose.saved.body": "Postiad wedi'i gadw.",
"compose_form.direct_message_warning_learn_more": "Dysgu mwy",
"compose_form.encryption_warning": "Dyw postiadau ar Mastodon ddim wedi'u hamgryptio o ben i ben. Peidiwch â rhannu unrhyw wybodaeth sensitif dros Mastodon.",
"compose_form.hashtag_warning": "Ni fydd y postiad hwn wedi ei restru o dan unrhyw hashnod gan nad yw'n gyhoeddus. Dim ond postiadau cyhoeddus y mae modd eu chwilio drwy hashnod.",
@@ -171,7 +173,7 @@
"confirmations.block.confirm": "Blocio",
"confirmations.delete.confirm": "Dileu",
"confirmations.delete.message": "Ydych chi'n sicr eich bod eisiau dileu y post hwn?",
- "confirmations.delete.title": "Dileu post?",
+ "confirmations.delete.title": "Dileu postiad?",
"confirmations.delete_list.confirm": "Dileu",
"confirmations.delete_list.message": "Ydych chi'n siŵr eich bod eisiau dileu'r rhestr hwn am byth?",
"confirmations.delete_list.title": "Dileu rhestr?",
@@ -179,20 +181,22 @@
"confirmations.discard_edit_media.message": "Mae gennych newidiadau heb eu cadw i'r disgrifiad cyfryngau neu'r rhagolwg - eu dileu beth bynnag?",
"confirmations.edit.confirm": "Golygu",
"confirmations.edit.message": "Bydd golygu nawr yn trosysgrifennu'r neges rydych yn ei ysgrifennu ar hyn o bryd. Ydych chi'n siŵr eich bod eisiau gwneud hyn?",
- "confirmations.edit.title": "Trosysgrifo post?",
+ "confirmations.edit.title": "Trosysgrifo'r postiad?",
"confirmations.logout.confirm": "Allgofnodi",
"confirmations.logout.message": "Ydych chi'n siŵr eich bod am allgofnodi?",
"confirmations.logout.title": "Allgofnodi?",
"confirmations.mute.confirm": "Tewi",
"confirmations.redraft.confirm": "Dileu ac ailddrafftio",
- "confirmations.redraft.message": "Ydych chi'n siŵr eich bod am ddileu'r postiad hwn a'i ailddrafftio? Bydd ffefrynnau a hybiau'n cael eu colli, a bydd atebion i'r post gwreiddiol yn mynd yn amddifad.",
- "confirmations.redraft.title": "Dileu & ailddraftio post?",
+ "confirmations.redraft.message": "Ydych chi wir eisiau'r dileu'r postiad hwn a'i ailddrafftio? Bydd ffefrynnau a hybiau'n cael eu colli, a bydd atebion i'r post gwreiddiol yn mynd yn amddifad.",
+ "confirmations.redraft.title": "Dileu & ailddraftio postiad?",
"confirmations.reply.confirm": "Ateb",
"confirmations.reply.message": "Bydd ateb nawr yn cymryd lle y neges yr ydych yn cyfansoddi ar hyn o bryd. Ydych chi'n siŵr eich bod am barhau?",
- "confirmations.reply.title": "Trosysgrifo post?",
+ "confirmations.reply.title": "Trosysgrifo'r postiad?",
"confirmations.unfollow.confirm": "Dad-ddilyn",
"confirmations.unfollow.message": "Ydych chi'n siŵr eich bod am ddad-ddilyn {name}?",
"confirmations.unfollow.title": "Dad-ddilyn defnyddiwr?",
+ "content_warning.hide": "Cuddio'r postiad",
+ "content_warning.show": "Dangos beth bynnag",
"conversation.delete": "Dileu sgwrs",
"conversation.mark_as_read": "Nodi fel wedi'i ddarllen",
"conversation.open": "Gweld sgwrs",
@@ -209,7 +213,7 @@
"dismissable_banner.community_timeline": "Dyma'r postiadau cyhoeddus diweddaraf gan bobl sydd â chyfrifon ar {domain}.",
"dismissable_banner.dismiss": "Cau",
"dismissable_banner.explore_links": "Dyma straeon newyddion sy’n cael eu rhannu fwyaf ar y we gymdeithasol heddiw. Mae'r straeon newyddion diweddaraf sy'n cael eu postio gan fwy o unigolion gwahanol yn cael eu graddio'n uwch.",
- "dismissable_banner.explore_statuses": "Mae'r rhain yn bostiadau o bob rhan o'r we gymdeithasol sydd ar gynnydd heddiw. Mae postiadau mwy diweddar sydd â mwy o hybiau a ffefrynu'n cael eu graddio'n uwch.",
+ "dismissable_banner.explore_statuses": "Dyma postiadau o bob gwr o'r we gymdeithasol sy'n derbyn sylw heddiw. Mae postiadau mwy diweddar sydd â mwy o hybiau a ffefrynnau'n cael eu graddio'n uwch.",
"dismissable_banner.explore_tags": "Mae'r rhain yn hashnodau sydd ar gynnydd ar y we gymdeithasol heddiw. Mae hashnodau sy'n cael eu defnyddio gan fwy o unigolion gwahanol yn cael eu graddio'n uwch.",
"dismissable_banner.public_timeline": "Dyma'r postiadau cyhoeddus diweddaraf gan bobl ar y we gymdeithasol y mae pobl ar {domain} yn eu dilyn.",
"domain_block_modal.block": "Blocio gweinydd",
@@ -255,17 +259,17 @@
"empty_column.account_timeline": "Dim postiadau yma!",
"empty_column.account_unavailable": "Nid yw'r proffil ar gael",
"empty_column.blocks": "Nid ydych wedi blocio unrhyw ddefnyddwyr eto.",
- "empty_column.bookmarked_statuses": "Nid oes gennych unrhyw bostiad wedi'u cadw fel llyfrnodau eto. Pan fyddwch yn gosod nod tudalen i un, mi fydd yn ymddangos yma.",
+ "empty_column.bookmarked_statuses": "Nid oes gennych unrhyw bostiad wedi'u cadw fel nod tudalen eto. Pan fyddwch yn gosod nod tudalen i un, mi fydd yn ymddangos yma.",
"empty_column.community": "Mae'r ffrwd lleol yn wag. Beth am ysgrifennu rhywbeth cyhoeddus!",
"empty_column.direct": "Nid oes gennych unrhyw grybwylliadau preifat eto. Pan fyddwch chi'n anfon neu'n derbyn un, bydd yn ymddangos yma.",
"empty_column.domain_blocks": "Nid oes unrhyw barthau wedi'u blocio eto.",
- "empty_column.explore_statuses": "Does dim yn trendio ar hyn o bryd. Dewch nôl nes ymlaen!",
- "empty_column.favourited_statuses": "Nid oes gennych unrhyw hoff bostiadau eto. Pan byddwch yn hoffi un, bydd yn ymddangos yma.",
- "empty_column.favourites": "Nid oes unrhyw un wedi hoffi'r postiad hwn eto. Pan fydd rhywun yn gwneud hynny, byddan nhw'n ymddangos yma.",
+ "empty_column.explore_statuses": "Does dim pynciau llosg ar hyn o bryd. Dewch nôl nes ymlaen!",
+ "empty_column.favourited_statuses": "Rydych chi heb ffafrio unrhyw bostiadau eto. Pan byddwch chi'n ffafrio un, bydd yn ymddangos yma.",
+ "empty_column.favourites": "Nid oes unrhyw un wedi ffafrio'r postiad hwn eto. Pan fydd rhywun yn gwneud hynny, byddan nhw'n ymddangos yma.",
"empty_column.follow_requests": "Nid oes gennych unrhyw geisiadau dilyn eto. Pan fyddwch yn derbyn un, byddan nhw'n ymddangos yma.",
"empty_column.followed_tags": "Nid ydych wedi dilyn unrhyw hashnodau eto. Pan fyddwch chi'n gwneud hynny, byddan nhw'n ymddangos yma.",
"empty_column.hashtag": "Nid oes dim ar yr hashnod hwn eto.",
- "empty_column.home": "Mae eich ffrwd gartref yn wag! Ymwelwch â {public} neu defnyddiwch y chwilotwr i ddechrau arni ac i gwrdd â defnyddwyr eraill.",
+ "empty_column.home": "Mae eich ffrwd gartref yn wag! Dilynwch fwy o bobl i'w llenwi.",
"empty_column.list": "Does dim yn y rhestr yma eto. Pan fydd aelodau'r rhestr yn cyhoeddi postiad newydd, mi fydd yn ymddangos yma.",
"empty_column.lists": "Nid oes gennych unrhyw restrau eto. Pan fyddwch yn creu un, mi fydd yn ymddangos yma.",
"empty_column.mutes": "Nid ydych wedi tewi unrhyw ddefnyddwyr eto.",
@@ -300,6 +304,8 @@
"filter_modal.select_filter.subtitle": "Defnyddiwch gategori sy'n bodoli eisoes neu crëu un newydd",
"filter_modal.select_filter.title": "Hidlo'r postiad hwn",
"filter_modal.title.status": "Hidlo postiad",
+ "filter_warning.matches_filter": "Yn cydweddu'r hidlydd “{title}”",
+ "filtered_notifications_banner.pending_requests": "Gan {count, plural, =0 {no one} one {un person} two {# berson} few {# pherson} other {# person}} efallai eich bod yn eu hadnabod",
"filtered_notifications_banner.title": "Hysbysiadau wedi'u hidlo",
"firehose.all": "Popeth",
"firehose.local": "Gweinydd hwn",
@@ -348,25 +354,44 @@
"hashtag.follow": "Dilyn hashnod",
"hashtag.unfollow": "Dad-ddilyn hashnod",
"hashtags.and_other": "…a {count, plural, other {# more}}",
+ "hints.profiles.followers_may_be_missing": "Mae'n bosibl bod dilynwyr y proffil hwn ar goll.",
+ "hints.profiles.follows_may_be_missing": "Mae'n bosibl bod dilynwyr y proffil hwn ar goll.",
+ "hints.profiles.posts_may_be_missing": "Mae'n bosibl bod rhai postiadau y proffil hwn ar goll.",
+ "hints.profiles.see_more_followers": "Gweld mwy o ddilynwyr ar {domain}",
+ "hints.profiles.see_more_follows": "Gweld mwy o 'yn dilyn' ar {domain}",
+ "hints.profiles.see_more_posts": "Gweld mwy o bostiadau ar {domain}",
+ "hints.threads.replies_may_be_missing": "Mae'n bosibl y bydd atebion gan weinyddion eraill ar goll.",
+ "hints.threads.see_more": "Gweld mwy o atebion ar {domain}",
"home.column_settings.show_reblogs": "Dangos hybiau",
"home.column_settings.show_replies": "Dangos atebion",
"home.hide_announcements": "Cuddio cyhoeddiadau",
"home.pending_critical_update.body": "Diweddarwch eich gweinydd Mastodon cyn gynted â phosibl!",
- "home.pending_critical_update.link": "Gweld y diweddariadau",
+ "home.pending_critical_update.link": "Gweld diweddariadau",
"home.pending_critical_update.title": "Mae diweddariad diogelwch hanfodol ar gael!",
"home.show_announcements": "Dangos cyhoeddiadau",
- "interaction_modal.description.favourite": "Gyda chyfrif ar Mastodon, gallwch chi hoffi'r postiad hwn er mwyn roi gwybod i'r awdur eich bod chi'n ei werthfawrogi ac yn ei gadw ar gyfer nes ymlaen.",
- "interaction_modal.description.follow": "Gyda chyfrif ar Mastodon, gallwch ddilyn {name} i dderbyn eu postiadau yn eich llif cartref.",
+ "ignore_notifications_modal.disclaimer": "Ni all Mastodon hysbysu defnyddwyr eich bod wedi anwybyddu eu hysbysiadau. Ni fydd anwybyddu hysbysiadau yn atal y negeseuon eu hunain rhag cael eu hanfon.",
+ "ignore_notifications_modal.filter_instead": "Hidlo yn lle hynny",
+ "ignore_notifications_modal.filter_to_act_users": "Byddwch yn dal i allu derbyn, gwrthod neu adrodd ar ddefnyddwyr",
+ "ignore_notifications_modal.filter_to_avoid_confusion": "Mae hidlo yn helpu i osgoi dryswch posibl",
+ "ignore_notifications_modal.filter_to_review_separately": "Gallwch adolygu hysbysiadau wedi'u hidlo ar wahân",
+ "ignore_notifications_modal.ignore": "Anwybyddu hysbysiadau",
+ "ignore_notifications_modal.limited_accounts_title": "Anwybyddu hysbysiadau o gyfrifon wedi'u cymedroli?",
+ "ignore_notifications_modal.new_accounts_title": "Anwybyddu hysbysiadau o gyfrifon newydd?",
+ "ignore_notifications_modal.not_followers_title": "Anwybyddu hysbysiadau gan bobl nad ydynt yn eich dilyn?",
+ "ignore_notifications_modal.not_following_title": "Anwybyddu hysbysiadau gan bobl nad ydych yn eu dilyn?",
+ "ignore_notifications_modal.private_mentions_title": "Anwybyddu hysbysiadau o Grybwylliadau Preifat digymell?",
+ "interaction_modal.description.favourite": "Gyda chyfrif ar Mastodon, gallwch chi ffafrio'r postiad hwn er mwyn roi gwybod i'r awdur eich bod chi'n ei werthfawrogi ac yn ei gadw ar gyfer nes ymlaen.",
+ "interaction_modal.description.follow": "Gyda chyfrif ar Mastodon, gallwch ddilyn {name} i dderbyn eu postiadau yn eich ffrwd gartref.",
"interaction_modal.description.reblog": "Gyda chyfrif ar Mastodon, gallwch hybu'r postiad hwn i'w rannu â'ch dilynwyr.",
"interaction_modal.description.reply": "Gyda chyfrif ar Mastodon, gallwch ymateb i'r postiad hwn.",
- "interaction_modal.login.action": "Ewch â fi adref",
+ "interaction_modal.login.action": "Mynd i'm ffrwd gartref",
"interaction_modal.login.prompt": "Parth eich gweinydd cartref, e.e. mastodon.social",
"interaction_modal.no_account_yet": "Dim ar Mastodon?",
"interaction_modal.on_another_server": "Ar weinydd gwahanol",
"interaction_modal.on_this_server": "Ar y gweinydd hwn",
"interaction_modal.sign_in": "Nid ydych wedi mewngofnodi i'r gweinydd hwn. Ble mae eich cyfrif yn cael ei gynnal?",
"interaction_modal.sign_in_hint": "Awgrym: Dyna'r wefan lle gwnaethoch gofrestru. Os nad ydych yn cofio, edrychwch am yr e-bost croeso yn eich blwch derbyn. Gallwch hefyd nodi eich enw defnyddiwr llawn! (e.e. @Mastodon@mastodon.social)",
- "interaction_modal.title.favourite": "Hoffi postiad {name}",
+ "interaction_modal.title.favourite": "Ffafrio postiad {name}",
"interaction_modal.title.follow": "Dilyn {name}",
"interaction_modal.title.reblog": "Hybu postiad {name}",
"interaction_modal.title.reply": "Ymateb i bostiad {name}",
@@ -382,11 +407,11 @@
"keyboard_shortcuts.direct": "i agor colofn crybwylliadau preifat",
"keyboard_shortcuts.down": "Symud lawr yn y rhestr",
"keyboard_shortcuts.enter": "Agor post",
- "keyboard_shortcuts.favourite": "Hoffi postiad",
+ "keyboard_shortcuts.favourite": "Ffafrio postiad",
"keyboard_shortcuts.favourites": "Agor rhestr ffefrynnau",
"keyboard_shortcuts.federated": "Agor ffrwd y ffederasiwn",
"keyboard_shortcuts.heading": "Bysellau brys",
- "keyboard_shortcuts.home": "Agor ffrwd cartref",
+ "keyboard_shortcuts.home": "Agor ffrwd gartref",
"keyboard_shortcuts.hotkey": "Bysell boeth",
"keyboard_shortcuts.legend": "Dangos y rhestr hon",
"keyboard_shortcuts.local": "Agor ffrwd lleol",
@@ -416,13 +441,13 @@
"limited_account_hint.title": "Mae'r proffil hwn wedi cael ei guddio gan gymedrolwyr {domain}.",
"link_preview.author": "Gan {name}",
"link_preview.more_from_author": "Mwy gan {name}",
- "link_preview.shares": "{count, plural, one {{counter} post} two {{counter} bost} few {{counter} phost} many {{counter} post} other {{counter} post}}",
+ "link_preview.shares": "{count, plural, one {{counter} ostiad } two {{counter} bostiad } few {{counter} postiad} many {{counter} postiad} other {{counter} postiad}}",
"lists.account.add": "Ychwanegu at restr",
"lists.account.remove": "Tynnu o'r rhestr",
"lists.delete": "Dileu rhestr",
"lists.edit": "Golygu rhestr",
"lists.edit.submit": "Newid teitl",
- "lists.exclusive": "Cuddiwch y postiadau hyn rhag cartref",
+ "lists.exclusive": "Cuddio'r postiadau hyn o'r ffrwd gartref",
"lists.new.create": "Ychwanegu rhestr",
"lists.new.title_placeholder": "Teitl rhestr newydd",
"lists.replies_policy.followed": "Unrhyw ddefnyddiwr sy'n cael ei ddilyn",
@@ -433,7 +458,7 @@
"lists.subheading": "Eich rhestrau",
"load_pending": "{count, plural, one {# eitem newydd} other {# eitem newydd}}",
"loading_indicator.label": "Yn llwytho…",
- "media_gallery.toggle_visible": "{number, plural, one {Cuddio delwedd} other {Cuddio delwedd}}",
+ "media_gallery.hide": "Cuddio",
"moved_to_account_banner.text": "Ar hyn y bryd, mae eich cyfrif {disabledAccount} wedi ei analluogi am i chi symud i {movedToAccount}.",
"mute_modal.hide_from_notifications": "Cuddio rhag hysbysiadau",
"mute_modal.hide_options": "Cuddio'r dewis",
@@ -444,9 +469,8 @@
"mute_modal.title": "Tewi defnyddiwr?",
"mute_modal.you_wont_see_mentions": "Welwch chi ddim postiadau sy'n sôn amdanyn nhw.",
"mute_modal.you_wont_see_posts": "Gallan nhw weld eich postiadau o hyd, ond fyddwch chi ddim yn gweld eu rhai hwy.",
- "name_and_others": "{name} a(c) {count, plural, one {# arall} other {# eraill}}",
- "name_and_others_with_link": "{name} a
{count, plural, zero {}one {c # arall} two { # eraill} few { # eraill} many { # eraill} other { # eraill}}",
"navigation_bar.about": "Ynghylch",
+ "navigation_bar.administration": "Gweinyddiaeth",
"navigation_bar.advanced_interface": "Agor mewn rhyngwyneb gwe uwch",
"navigation_bar.blocks": "Defnyddwyr wedi eu blocio",
"navigation_bar.bookmarks": "Nodau Tudalen",
@@ -463,6 +487,7 @@
"navigation_bar.follows_and_followers": "Yn dilyn a dilynwyr",
"navigation_bar.lists": "Rhestrau",
"navigation_bar.logout": "Allgofnodi",
+ "navigation_bar.moderation": "Cymedroil",
"navigation_bar.mutes": "Defnyddwyr wedi'u tewi",
"navigation_bar.opened_in_classic_interface": "Mae postiadau, cyfrifon a thudalennau penodol eraill yn cael eu hagor fel rhagosodiad yn y rhyngwyneb gwe clasurol.",
"navigation_bar.personal": "Personol",
@@ -473,13 +498,23 @@
"navigation_bar.security": "Diogelwch",
"not_signed_in_indicator.not_signed_in": "Rhaid i chi fewngofnodi i weld yr adnodd hwn.",
"notification.admin.report": "Adroddwyd ar {name} {target}",
- "notification.admin.report_account_other": "Adroddodd {name} {count, plural, one {un post} two {# bost} few {# phost} other {# post}} gan {target}",
+ "notification.admin.report_account": "{name} reported {count, plural, one {un postiad} other {# postiad}} from {target} for {category}",
+ "notification.admin.report_account_other": "Adroddodd {name} {count, plural, one {un postiad} two {# bostiad} few {# phost} other {# postiad}} gan {target}",
"notification.admin.report_statuses": "Adroddodd {name} {target} ar gyfer {category}",
"notification.admin.report_statuses_other": "Adroddodd {name} {target}",
"notification.admin.sign_up": "Cofrestrodd {name}",
- "notification.favourite": "Hoffodd {name} eich postiad",
+ "notification.admin.sign_up.name_and_others": "Cofrestrodd {name} {count, plural, one {ac # arall} other {a # eraill}}",
+ "notification.favourite": "Ffafriodd {name} eich postiad",
+ "notification.favourite.name_and_others_with_link": "Ffafriodd {name} a
{count, plural, one {# arall} other {# eraill}} eich postiad",
"notification.follow": "Dilynodd {name} chi",
+ "notification.follow.name_and_others": "Mae {name} a {count, plural, one {# other} other {# others}} wedi'ch dilyn chi",
"notification.follow_request": "Mae {name} wedi gwneud cais i'ch dilyn",
+ "notification.follow_request.name_and_others": "Mae {name} a{count, plural, one {# other} other {# others}} wedi gofyn i'ch dilyn chi",
+ "notification.label.mention": "Crybwyll",
+ "notification.label.private_mention": "Crybwyll preifat",
+ "notification.label.private_reply": "Ateb preifat",
+ "notification.label.reply": "Ateb",
+ "notification.mention": "Crybwyll",
"notification.moderation-warning.learn_more": "Dysgu mwy",
"notification.moderation_warning": "Rydych wedi derbyn rhybudd gan gymedrolwr",
"notification.moderation_warning.action_delete_statuses": "Mae rhai o'ch postiadau wedi'u dileu.",
@@ -492,6 +527,7 @@
"notification.own_poll": "Mae eich pleidlais wedi dod i ben",
"notification.poll": "Mae arolwg y gwnaethoch bleidleisio ynddo wedi dod i ben",
"notification.reblog": "Hybodd {name} eich post",
+ "notification.reblog.name_and_others_with_link": "Mae {name} a
{count, plural, one {# other} other {# others}} wedi hybu eich postiad",
"notification.relationships_severance_event": "Wedi colli cysylltiad â {name}",
"notification.relationships_severance_event.account_suspension": "Mae gweinyddwr o {from} wedi atal {target}, sy'n golygu na allwch dderbyn diweddariadau ganddynt mwyach na rhyngweithio â nhw.",
"notification.relationships_severance_event.domain_block": "Mae gweinyddwr o {from} wedi blocio {target}, gan gynnwys {followersCount} o'ch dilynwyr a {followingCount, plural, one {# cyfrif} other {# cyfrif}} arall rydych chi'n ei ddilyn.",
@@ -500,10 +536,24 @@
"notification.status": "{name} newydd ei bostio",
"notification.update": "Golygodd {name} bostiad",
"notification_requests.accept": "Derbyn",
+ "notification_requests.accept_multiple": "{count, plural, one {Accept # request…} other {Accept # requests…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Accept request} other {Accept requests}}",
+ "notification_requests.confirm_accept_multiple.message": "Rydych ar fin derbyn {count, plural, one {one notification request} other {# notification requests}}. Ydych chi'n siŵr eich bod am barhau?",
+ "notification_requests.confirm_accept_multiple.title": "Derbyn ceisiadau hysbysu?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Diystyru cais} other {Diystyru ceisiadau}}",
+ "notification_requests.confirm_dismiss_multiple.message": "Rydych ar fin diystyru {count, plural, one {un cais hysbysu} other {# cais hysbysiad}}. Fyddwch chi ddim yn gallu cyrchu {count, plural, one {it} other {them}} yn hawdd eto. Ydych chi'n yn siŵr eich bod am fwrw ymlaen?",
+ "notification_requests.confirm_dismiss_multiple.title": "Diystyru ceisiadau hysbysu?",
"notification_requests.dismiss": "Cau",
+ "notification_requests.dismiss_multiple": "{count, plural, one {Diystyru # cais…} two {Diystyru # gais…} few {Diystyru # chais…} other {Diystyru # cais…}}",
+ "notification_requests.edit_selection": "Golygu",
+ "notification_requests.exit_selection": "Iawn",
+ "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",
+ "notification_requests.minimize_banner": "Lleihau baner hysbysiadau wedi'u hidlo",
"notification_requests.notifications_from": "Hysbysiadau gan {name}",
"notification_requests.title": "Hysbysiadau wedi'u hidlo",
+ "notification_requests.view": "Gweld hysbysiadau",
"notifications.clear": "Clirio hysbysiadau",
"notifications.clear_confirmation": "Ydych chi'n siŵr eich bod am glirio'ch holl hysbysiadau am byth?",
"notifications.clear_title": "Clirio hysbysiadau?",
@@ -540,6 +590,14 @@
"notifications.permission_denied": "Nid oes hysbysiadau bwrdd gwaith ar gael oherwydd cais am ganiatâd porwr a wrthodwyd yn flaenorol",
"notifications.permission_denied_alert": "Nid oes modd galluogi hysbysiadau bwrdd gwaith, gan fod caniatâd porwr wedi'i wrthod o'r blaen",
"notifications.permission_required": "Nid oes hysbysiadau bwrdd gwaith ar gael oherwydd na roddwyd y caniatâd gofynnol.",
+ "notifications.policy.accept": "Derbyn",
+ "notifications.policy.accept_hint": "Dangos mewn hysbysiadau",
+ "notifications.policy.drop": "Anwybyddu",
+ "notifications.policy.drop_hint": "Anfon i'r gwagle, byth i'w gweld eto",
+ "notifications.policy.filter": "Hidlo",
+ "notifications.policy.filter_hint": "Anfon i flwch derbyn hysbysiadau wedi'u hidlo",
+ "notifications.policy.filter_limited_accounts_hint": "Cyfyngedig gan gymedrolwyr gweinydd",
+ "notifications.policy.filter_limited_accounts_title": "Cyfrifon wedi'u cymedroli",
"notifications.policy.filter_new_accounts.hint": "Crëwyd o fewn {days, lluosog, un {yr un diwrnod} arall {y # diwrnod}} diwethaf",
"notifications.policy.filter_new_accounts_title": "Cyfrifon newydd",
"notifications.policy.filter_not_followers_hint": "Gan gynnwys pobl sydd wedi bod yn eich dilyn am llai {days, plural, un {nag un diwrnod} arall {na # diwrnod}}",
@@ -548,19 +606,20 @@
"notifications.policy.filter_not_following_title": "Pobl nad ydych yn eu dilyn",
"notifications.policy.filter_private_mentions_hint": "Wedi'i hidlo oni bai ei fod mewn ymateb i'ch crybwylliad eich hun neu os ydych yn dilyn yr anfonwr",
"notifications.policy.filter_private_mentions_title": "Crybwylliadau preifat digymell",
+ "notifications.policy.title": "Rheoli hysbysiadau gan…",
"notifications_permission_banner.enable": "Galluogi hysbysiadau bwrdd gwaith",
"notifications_permission_banner.how_to_control": "I dderbyn hysbysiadau pan nad yw Mastodon ar agor, galluogwch hysbysiadau bwrdd gwaith. Gallwch reoli'n union pa fathau o ryngweithiadau sy'n cynhyrchu hysbysiadau bwrdd gwaith trwy'r botwm {icon} uchod unwaith y byddan nhw wedi'u galluogi.",
"notifications_permission_banner.title": "Peidiwch â cholli dim",
- "onboarding.action.back": "Ewch â fi yn ôl",
- "onboarding.actions.back": "Ewch â fi yn ôl",
- "onboarding.actions.go_to_explore": "Gweld beth yw'r tuedd",
- "onboarding.actions.go_to_home": "Ewch i'ch ffrwd gartref",
+ "onboarding.action.back": "Ewch â fi nôl",
+ "onboarding.actions.back": "Ewch â fi nôl",
+ "onboarding.actions.go_to_explore": "Gweld y pynciau llosg",
+ "onboarding.actions.go_to_home": "Ewch i'm ffrwd gartref",
"onboarding.compose.template": "Helo, #Mastodon!",
"onboarding.follows.empty": "Yn anffodus, nid oes modd dangos unrhyw ganlyniadau ar hyn o bryd. Gallwch geisio defnyddio chwilio neu bori'r dudalen archwilio i ddod o hyd i bobl i'w dilyn, neu ceisio eto yn nes ymlaen.",
"onboarding.follows.lead": "Rydych chi'n curadu eich ffrwd gartref eich hun. Po fwyaf o bobl y byddwch chi'n eu dilyn, y mwyaf egnïol a diddorol fydd hi. Gall y proffiliau hyn fod yn fan cychwyn da - gallwch chi bob amser eu dad-ddilyn yn nes ymlaen:",
- "onboarding.follows.title": "Yn boblogaidd ar Mastodon",
+ "onboarding.follows.title": "Personolwch eich ffrwd gartref",
"onboarding.profile.discoverable": "Gwnewch fy mhroffil yn un y gellir ei ddarganfod",
- "onboarding.profile.discoverable_hint": "Pan fyddwch yn optio i mewn i ddarganfodadwyedd ar Mastodon, gall eich postiadau ymddangos mewn canlyniadau chwilio a thueddiadau, ac efallai y bydd eich proffil yn cael ei awgrymu i bobl sydd â diddordebau tebyg i chi.",
+ "onboarding.profile.discoverable_hint": "Pan fyddwch yn optio i mewn i ddarganfodadwyedd ar Mastodon, gall eich postiadau ymddangos mewn canlyniadau chwilio a threndiau, ac efallai y bydd eich proffil yn cael ei awgrymu i bobl sydd â diddordebau tebyg i chi.",
"onboarding.profile.display_name": "Enw dangos",
"onboarding.profile.display_name_hint": "Eich enw llawn neu'ch enw hwyl…",
"onboarding.profile.lead": "Gallwch chi bob amser gwblhau hyn yn ddiweddarach yn y gosodiadau, lle mae hyd yn oed mwy o ddewisiadau cyfaddasu ar gael.",
@@ -578,7 +637,7 @@
"onboarding.start.skip": "Eisiau mynd syth yn eich blaen?",
"onboarding.start.title": "Rydych chi wedi cyrraedd!",
"onboarding.steps.follow_people.body": "Rydych chi'n curadu eich ffrwd eich hun. Gadewch i ni ei lenwi â phobl ddiddorol.",
- "onboarding.steps.follow_people.title": "Dilynwch {count, plural, one {one person} other {# people}}",
+ "onboarding.steps.follow_people.title": "Personolwch eich ffrwd gartref",
"onboarding.steps.publish_status.body": "Dywedwch helo wrth y byd gyda thestun, lluniau, fideos neu arolygon barn {emoji}",
"onboarding.steps.publish_status.title": "Gwnewch eich postiad cyntaf",
"onboarding.steps.setup_profile.body": "Mae eraill yn fwy tebygol o ryngweithio â chi gyda phroffil wedi'i lenwi.",
@@ -603,7 +662,7 @@
"poll_button.add_poll": "Ychwanegu pleidlais",
"poll_button.remove_poll": "Tynnu pleidlais",
"privacy.change": "Addasu preifatrwdd y post",
- "privacy.direct.long": "Pawb sydd â son amdanyn nhw yn y postiad",
+ "privacy.direct.long": "Pawb sydd â sôn amdanyn nhw yn y postiad",
"privacy.direct.short": "Pobl benodol",
"privacy.private.long": "Eich dilynwyr yn unig",
"privacy.private.short": "Dilynwyr",
@@ -617,7 +676,7 @@
"recommended": "Argymhellwyd",
"refresh": "Adnewyddu",
"regeneration_indicator.label": "Yn llwytho…",
- "regeneration_indicator.sublabel": "Mae eich ffrwd cartref yn cael ei baratoi!",
+ "regeneration_indicator.sublabel": "Mae eich ffrwd cartref yn cael ei pharatoi!",
"relative_time.days": "{number}d",
"relative_time.full.days": "{number, plural, one {# diwrnod} other {# diwrnod}} yn ôl",
"relative_time.full.hours": "{number, plural, one {# awr} other {# awr}} yn ôl",
@@ -671,7 +730,7 @@
"report.thanks.title": "Ddim eisiau gweld hwn?",
"report.thanks.title_actionable": "Diolch am adrodd, byddwn yn ymchwilio i hyn.",
"report.unfollow": "Dad-ddilyn @{name}",
- "report.unfollow_explanation": "Rydych chi'n dilyn y cyfrif hwn. I beidio â gweld eu postiadau yn eich porthiant cartref mwyach, dad-ddilynwch nhw.",
+ "report.unfollow_explanation": "Rydych chi'n dilyn y cyfrif hwn. I beidio â gweld eu postiadau yn eich ffrwd gartref mwyach, dad-ddilynwch nhw.",
"report_notification.attached_statuses": "{count, plural, one {{count} postiad} arall {{count} postiad}} atodwyd",
"report_notification.categories.legal": "Cyfreithiol",
"report_notification.categories.legal_sentence": "cynnwys anghyfreithlon",
@@ -722,6 +781,7 @@
"status.bookmark": "Llyfrnodi",
"status.cancel_reblog_private": "Dadhybu",
"status.cannot_reblog": "Nid oes modd hybu'r postiad hwn",
+ "status.continued_thread": "Edefyn parhaus",
"status.copy": "Copïo dolen i'r post",
"status.delete": "Dileu",
"status.detailed_status": "Golwg manwl o'r sgwrs",
@@ -731,11 +791,9 @@
"status.edited": "Golygwyd ddiwethaf {date}",
"status.edited_x_times": "Golygwyd {count, plural, one {count} two {count} other {{count} gwaith}}",
"status.embed": "Mewnblannu",
- "status.favourite": "Hoffi",
+ "status.favourite": "Ffafrio",
"status.favourites": "{count, plural, one {ffefryn} other {ffefryn}}",
"status.filter": "Hidlo'r postiad hwn",
- "status.filtered": "Wedi'i hidlo",
- "status.hide": "Cuddio'r postiad",
"status.history.created": "Crëwyd gan {name} {date}",
"status.history.edited": "Golygwyd gan {name} {date}",
"status.load_more": "Llwythwch ragor",
@@ -757,16 +815,14 @@
"status.reblogs.empty": "Does neb wedi hybio'r post yma eto. Pan y bydd rhywun yn gwneud, byddent yn ymddangos yma.",
"status.redraft": "Dileu ac ailddrafftio",
"status.remove_bookmark": "Tynnu nod tudalen",
+ "status.replied_in_thread": "Atebodd mewn edefyn",
"status.replied_to": "Wedi ateb {name}",
"status.reply": "Ateb",
"status.replyAll": "Ateb i edefyn",
"status.report": "Adrodd ar @{name}",
"status.sensitive_warning": "Cynnwys sensitif",
"status.share": "Rhannu",
- "status.show_filter_reason": "Dangos beth bynnag",
- "status.show_less": "Dangos llai",
"status.show_less_all": "Dangos llai i bawb",
- "status.show_more": "Dangos mwy",
"status.show_more_all": "Dangos mwy i bawb",
"status.show_original": "Dangos y gwreiddiol",
"status.title.with_attachments": "Postiodd {user} {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
@@ -775,7 +831,7 @@
"status.uncached_media_warning": "Dim rhagolwg ar gael",
"status.unmute_conversation": "Dad-dewi sgwrs",
"status.unpin": "Dadbinio o'r proffil",
- "subscribed_languages.lead": "Dim ond postiadau mewn ieithoedd penodol fydd yn ymddangos yn eich ffrydiau ar ôl y newid. Dewiswch ddim byd i dderbyn postiadau ym mhob iaith.",
+ "subscribed_languages.lead": "Dim ond postiadau mewn ieithoedd penodol fydd yn ymddangos yn eich ffrydiau cartref a rhestr ar ôl y newid. Dewiswch ddim byd i dderbyn postiadau ym mhob iaith.",
"subscribed_languages.save": "Cadw'r newidiadau",
"subscribed_languages.target": "Newid ieithoedd tanysgrifio {target}",
"tabs_bar.home": "Cartref",
@@ -785,12 +841,8 @@
"time_remaining.minutes": "{number, plural, one {# munud} other {# munud}} ar ôl",
"time_remaining.moments": "Munudau yn weddill",
"time_remaining.seconds": "{number, plural, one {# eiliad} other {# eiliad}} ar ôl",
- "timeline_hint.remote_resource_not_displayed": "Nid yw {resource} o weinyddion eraill yn cael ei ddangos.",
- "timeline_hint.resources.followers": "Dilynwyr",
- "timeline_hint.resources.follows": "Yn dilyn",
- "timeline_hint.resources.statuses": "Postiadau hŷn",
"trends.counter_by_accounts": "{count, plural, zero {neb} one {{counter} person} two {{counter} berson} few {{counter} pherson} other {{counter} o bobl}} yn y {days, plural, one {diwrnod diwethaf} two {ddeuddydd diwethaf} other {{days} diwrnod diwethaf}}",
- "trends.trending_now": "Yn trendio nawr",
+ "trends.trending_now": "Pynciau llosg",
"ui.beforeunload": "Byddwch yn colli eich drafft os byddwch yn gadael Mastodon.",
"units.short.billion": "{count}biliwn",
"units.short.million": "{count}miliwn",
diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json
index cad5c612ba08ca..79289cda1c9889 100644
--- a/app/javascript/mastodon/locales/da.json
+++ b/app/javascript/mastodon/locales/da.json
@@ -20,7 +20,6 @@
"account.block_domain": "Blokér domænet {domain}",
"account.block_short": "Bloker",
"account.blocked": "Blokeret",
- "account.browse_more_on_origin_server": "Se mere på den oprindelige profil",
"account.cancel_follow_request": "Annullér anmodning om at følge",
"account.copy": "Kopiér link til profil",
"account.direct": "Privat omtale @{name}",
@@ -99,6 +98,8 @@
"block_modal.title": "Blokér bruger?",
"block_modal.you_wont_see_mentions": "Du vil ikke se indlæg, som nævner vedkommende.",
"boost_modal.combo": "Du kan trykke {combo} for at springe dette over næste gang",
+ "boost_modal.reblog": "Boost indlæg?",
+ "boost_modal.undo_reblog": "Fjern boost af indlæg?",
"bundle_column_error.copy_stacktrace": "Kopiér fejlrapport",
"bundle_column_error.error.body": "Den anmodede side kunne ikke gengives. Dette kan skyldes flere typer fejl.",
"bundle_column_error.error.title": "Åh nej!",
@@ -194,6 +195,8 @@
"confirmations.unfollow.confirm": "Følg ikke længere",
"confirmations.unfollow.message": "Er du sikker på, at du ikke længere vil følge {name}?",
"confirmations.unfollow.title": "Følg ikke længere bruger?",
+ "content_warning.hide": "Skjul indlæg",
+ "content_warning.show": "Vis alligevel",
"conversation.delete": "Slet samtale",
"conversation.mark_as_read": "Markér som læst",
"conversation.open": "Vis samtale",
@@ -301,6 +304,7 @@
"filter_modal.select_filter.subtitle": "Vælg en eksisterende kategori eller opret en ny",
"filter_modal.select_filter.title": "Filtrér dette indlæg",
"filter_modal.title.status": "Filtrér et indlæg",
+ "filter_warning.matches_filter": "Matcher filteret “{title}”",
"filtered_notifications_banner.pending_requests": "Fra {count, plural, =0 {ingen} one {én person} other {# personer}}, man måske kender",
"filtered_notifications_banner.title": "Filtrerede notifikationer",
"firehose.all": "Alle",
@@ -350,6 +354,14 @@
"hashtag.follow": "Følg hashtag",
"hashtag.unfollow": "Stop med at følge hashtag",
"hashtags.and_other": "…og {count, plural, one {}other {# flere}}",
+ "hints.profiles.followers_may_be_missing": "Der kan mangle følgere for denne profil.",
+ "hints.profiles.follows_may_be_missing": "Fulgte kan mangle for denne profil.",
+ "hints.profiles.posts_may_be_missing": "Nogle indlæg kan mangle for denne profil.",
+ "hints.profiles.see_more_followers": "Se flere følgere på {domain}",
+ "hints.profiles.see_more_follows": "Se flere fulgte på {domain}",
+ "hints.profiles.see_more_posts": "Se flere indlæg på {domain}",
+ "hints.threads.replies_may_be_missing": "Der kan mangle svar fra andre servere.",
+ "hints.threads.see_more": "Se flere svar på {domain}",
"home.column_settings.show_reblogs": "Vis boosts",
"home.column_settings.show_replies": "Vis svar",
"home.hide_announcements": "Skjul bekendtgørelser",
@@ -446,7 +458,7 @@
"lists.subheading": "Dine lister",
"load_pending": "{count, plural, one {# nyt emne} other {# nye emner}}",
"loading_indicator.label": "Indlæser…",
- "media_gallery.toggle_visible": "{number, plural, one {Skjul billede} other {Skjul billeder}}",
+ "media_gallery.hide": "Skjul",
"moved_to_account_banner.text": "Din konto {disabledAccount} er pt. deaktiveret, da du flyttede til {movedToAccount}.",
"mute_modal.hide_from_notifications": "Skjul fra notifikationer",
"mute_modal.hide_options": "Skjul valgmuligheder",
@@ -457,9 +469,8 @@
"mute_modal.title": "Tavsgør bruger?",
"mute_modal.you_wont_see_mentions": "Indlæg, som nævner vedkommende, vises ikke.",
"mute_modal.you_wont_see_posts": "Vedkommende kan stadig se dine indlæg, med vedkommendes vise ikke.",
- "name_and_others": "{name} og {count, plural, one {# anden} other {# andre}}",
- "name_and_others_with_link": "{name} og
{count, plural, one {# anden} other {# andre}}",
"navigation_bar.about": "Om",
+ "navigation_bar.administration": "Håndtering",
"navigation_bar.advanced_interface": "Åbn i avanceret webgrænseflade",
"navigation_bar.blocks": "Blokerede brugere",
"navigation_bar.bookmarks": "Bogmærker",
@@ -476,6 +487,7 @@
"navigation_bar.follows_and_followers": "Følges og følgere",
"navigation_bar.lists": "Lister",
"navigation_bar.logout": "Log af",
+ "navigation_bar.moderation": "Moderering",
"navigation_bar.mutes": "Skjulte brugere (mutede)",
"navigation_bar.opened_in_classic_interface": "Indlæg, konti og visse andre sider åbnes som standard i den klassiske webgrænseflade.",
"navigation_bar.personal": "Personlig",
@@ -491,9 +503,13 @@
"notification.admin.report_statuses": "{name} anmeldte {target} angående {category}",
"notification.admin.report_statuses_other": "{name} anmeldte {target}",
"notification.admin.sign_up": "{name} tilmeldte sig",
+ "notification.admin.sign_up.name_and_others": "{name} og {count, plural, one {# anden} other {# andre}} tilmeldte sig",
"notification.favourite": "{name} favoritmarkerede dit indlæg",
+ "notification.favourite.name_and_others_with_link": "{name} og
{count, plural, one {# anden} other {# andre}} gjorde dit indlæg til favorit",
"notification.follow": "{name} begyndte at følge dig",
+ "notification.follow.name_and_others": "{name} og {count, plural, one {# anden} other {# andre}} følger dig",
"notification.follow_request": "{name} har anmodet om at følge dig",
+ "notification.follow_request.name_and_others": "{name} og {count, plural, one {# anden} other {# andre}} har anmodet om at følger dig",
"notification.label.mention": "Omtale",
"notification.label.private_mention": "Privat omtale",
"notification.label.private_reply": "Privat svar",
@@ -511,6 +527,7 @@
"notification.own_poll": "Din afstemning er afsluttet",
"notification.poll": "En afstemning, hvori du har stemt, er slut",
"notification.reblog": "{name} boostede dit indlæg",
+ "notification.reblog.name_and_others_with_link": "{name} og
{count, plural, one {# anden} other {# andre}} boostede dit indlæg",
"notification.relationships_severance_event": "Mistede forbindelser med {name}",
"notification.relationships_severance_event.account_suspension": "En admin fra {from} har suspenderet {target}, hvofor opdateringer herfra eller interaktion hermed ikke længer er mulig.",
"notification.relationships_severance_event.domain_block": "En admin fra {from} har blokeret {target}, herunder {followersCount} tilhængere og {followingCount, plural, one {# konto, der} other {# konti, som}} følges.",
@@ -519,19 +536,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",
@@ -766,6 +781,7 @@
"status.bookmark": "Bogmærk",
"status.cancel_reblog_private": "Fjern boost",
"status.cannot_reblog": "Dette indlæg kan ikke fremhæves",
+ "status.continued_thread": "Fortsat tråd",
"status.copy": "Kopiér link til indlæg",
"status.delete": "Slet",
"status.detailed_status": "Detaljeret samtalevisning",
@@ -778,8 +794,6 @@
"status.favourite": "Favorit",
"status.favourites": "{count, plural, one {# favorit} other {# favoritter}}",
"status.filter": "Filtrér dette indlæg",
- "status.filtered": "Filtreret",
- "status.hide": "Skjul indlæg",
"status.history.created": "{name} oprettet {date}",
"status.history.edited": "{name} redigeret {date}",
"status.load_more": "Indlæs mere",
@@ -801,16 +815,14 @@
"status.reblogs.empty": "Ingen har endnu fremhævet dette indlæg. Når nogen gør, vil det fremgå hér.",
"status.redraft": "Slet og omformulér",
"status.remove_bookmark": "Fjern bogmærke",
+ "status.replied_in_thread": "Svaret i tråd",
"status.replied_to": "Besvarede {name}",
"status.reply": "Besvar",
"status.replyAll": "Besvar alle",
"status.report": "Anmeld @{name}",
"status.sensitive_warning": "Følsomt indhold",
"status.share": "Del",
- "status.show_filter_reason": "Vis alligevel",
- "status.show_less": "Vis mindre",
"status.show_less_all": "Vis mindre for alle",
- "status.show_more": "Vis mere",
"status.show_more_all": "Vis mere for alle",
"status.show_original": "Vis original",
"status.title.with_attachments": "{user} postede {attachmentCount, plural, one {en vedhæftning} other {{attachmentCount} vedhæftninger}}",
@@ -829,11 +841,6 @@
"time_remaining.minutes": "{number, plural, one {# minut} other {# minutter}} tilbage",
"time_remaining.moments": "Få øjeblikke tilbage",
"time_remaining.seconds": "{number, plural, one {# sekund} other {# sekunder}} tilbage",
- "timeline_hint.remote_resource_not_displayed": "{resource} fra andre servere vises ikke.",
- "timeline_hint.resources.followers": "Følgere",
- "timeline_hint.resources.follows": "Følger",
- "timeline_hint.resources.replies": "Visse svar",
- "timeline_hint.resources.statuses": "Ældre indlæg",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} personer}} {days, plural, one {den seneste dag} other {de seneste {days} dage}}",
"trends.trending_now": "Hot lige nu",
"ui.beforeunload": "Dit udkast går tabt, hvis du lukker Mastodon.",
diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json
index 620c5e190a08cb..46bb08d7cb5938 100644
--- a/app/javascript/mastodon/locales/de.json
+++ b/app/javascript/mastodon/locales/de.json
@@ -19,7 +19,6 @@
"account.block_domain": "{domain} sperren",
"account.block_short": "Blockieren",
"account.blocked": "Blockiert",
- "account.browse_more_on_origin_server": "Mehr auf dem Originalprofil durchsuchen",
"account.cancel_follow_request": "Folgeanfrage zurückziehen",
"account.copy": "Link zum Profil kopieren",
"account.direct": "@{name} privat erwähnen",
@@ -97,7 +96,9 @@
"block_modal.they_will_know": "Es wird erkennbar sein, dass dieses Profil blockiert wurde.",
"block_modal.title": "Profil blockieren?",
"block_modal.you_wont_see_mentions": "Du wirst keine Beiträge sehen, die dieses Profil erwähnen.",
- "boost_modal.combo": "Mit {combo} wird dieses Fenster beim nächsten Mal nicht mehr angezeigt",
+ "boost_modal.combo": "Mit {combo} erscheint dieses Fenster beim nächsten Mal nicht mehr",
+ "boost_modal.reblog": "Beitrag teilen?",
+ "boost_modal.undo_reblog": "Beitrag nicht mehr teilen?",
"bundle_column_error.copy_stacktrace": "Fehlerbericht kopieren",
"bundle_column_error.error.body": "Die angeforderte Seite konnte nicht dargestellt werden. Dies könnte auf einen Fehler in unserem Code oder auf ein Browser-Kompatibilitätsproblem zurückzuführen sein.",
"bundle_column_error.error.title": "Oh nein!",
@@ -185,7 +186,7 @@
"confirmations.logout.title": "Abmelden?",
"confirmations.mute.confirm": "Stummschalten",
"confirmations.redraft.confirm": "Löschen und neu erstellen",
- "confirmations.redraft.message": "Möchtest du diesen Beitrag wirklich löschen und neu verfassen? Favoriten und geteilte Beiträge gehen verloren, und Antworten auf den ursprünglichen Beitrag verlieren den Zusammenhang.",
+ "confirmations.redraft.message": "Möchtest du diesen Beitrag wirklich löschen und neu verfassen? Alle Favoriten sowie die bisher geteilten Beiträge werden verloren gehen und Antworten auf den ursprünglichen Beitrag verlieren den Zusammenhang.",
"confirmations.redraft.title": "Beitrag löschen und neu erstellen?",
"confirmations.reply.confirm": "Antworten",
"confirmations.reply.message": "Wenn du jetzt darauf antwortest, wird der andere Beitrag, an dem du gerade geschrieben hast, verworfen. Möchtest du wirklich fortfahren?",
@@ -193,6 +194,8 @@
"confirmations.unfollow.confirm": "Entfolgen",
"confirmations.unfollow.message": "Möchtest du {name} wirklich entfolgen?",
"confirmations.unfollow.title": "Profil entfolgen?",
+ "content_warning.hide": "Beitrag ausblenden",
+ "content_warning.show": "Trotzdem anzeigen",
"conversation.delete": "Unterhaltung löschen",
"conversation.mark_as_read": "Als gelesen markieren",
"conversation.open": "Unterhaltung anzeigen",
@@ -300,6 +303,7 @@
"filter_modal.select_filter.subtitle": "Einem vorhandenen Filter hinzufügen oder einen neuen erstellen",
"filter_modal.select_filter.title": "Diesen Beitrag filtern",
"filter_modal.title.status": "Beitrag per Filter ausblenden",
+ "filter_warning.matches_filter": "Übereinstimmend mit dem Filter „{title}“",
"filtered_notifications_banner.pending_requests": "Von {count, plural, =0 {keinem, den} one {einer Person, die} other {# Personen, die}} du möglicherweise kennst",
"filtered_notifications_banner.title": "Gefilterte Benachrichtigungen",
"firehose.all": "Alles",
@@ -349,6 +353,14 @@
"hashtag.follow": "Hashtag folgen",
"hashtag.unfollow": "Hashtag entfolgen",
"hashtags.and_other": "… und {count, plural, one{# weiterer} other {# weitere}}",
+ "hints.profiles.followers_may_be_missing": "Möglicherweise werden für dieses Profil nicht alle Follower angezeigt.",
+ "hints.profiles.follows_may_be_missing": "Möglicherweise werden für dieses Profil nicht alle gefolgten Profile angezeigt.",
+ "hints.profiles.posts_may_be_missing": "Möglicherweise werden nicht alle Beiträge von diesem Profil angezeigt.",
+ "hints.profiles.see_more_followers": "Weitere Follower auf {domain} ansehen",
+ "hints.profiles.see_more_follows": "Weitere gefolgte Profile auf {domain} ansehen",
+ "hints.profiles.see_more_posts": "Weitere Beiträge auf {domain} ansehen",
+ "hints.threads.replies_may_be_missing": "Möglicherweise werden nicht alle Antworten von anderen Servern angezeigt.",
+ "hints.threads.see_more": "Weitere Antworten auf {domain} ansehen",
"home.column_settings.show_reblogs": "Geteilte Beiträge anzeigen",
"home.column_settings.show_replies": "Antworten anzeigen",
"home.hide_announcements": "Ankündigungen ausblenden",
@@ -356,7 +368,7 @@
"home.pending_critical_update.link": "Updates ansehen",
"home.pending_critical_update.title": "Kritisches Sicherheitsupdate verfügbar!",
"home.show_announcements": "Ankündigungen anzeigen",
- "ignore_notifications_modal.disclaimer": "Mastodon kann anderen Nutzer*innen nicht mitteilen, dass du deren Benachrichtigungen ignorierst. Das Ignorieren von Benachrichtigung wird das Absenden der Nachricht selbst nicht unterbinden.",
+ "ignore_notifications_modal.disclaimer": "Mastodon kann anderen Nutzer*innen nicht mitteilen, dass du deren Benachrichtigungen ignorierst. Das Ignorieren von Benachrichtigungen wird nicht das Absenden der Nachricht selbst unterbinden.",
"ignore_notifications_modal.filter_instead": "Stattdessen filtern",
"ignore_notifications_modal.filter_to_act_users": "Du wirst weiterhin die Möglichkeit haben, andere Nutzer*innen zu genehmigen, abzulehnen oder zu melden",
"ignore_notifications_modal.filter_to_avoid_confusion": "Filtern hilft, mögliches Durcheinander zu vermeiden",
@@ -445,7 +457,7 @@
"lists.subheading": "Deine Listen",
"load_pending": "{count, plural, one {# neuer Beitrag} other {# neue Beiträge}}",
"loading_indicator.label": "Wird geladen …",
- "media_gallery.toggle_visible": "{number, plural, one {Medium ausblenden} other {Medien ausblenden}}",
+ "media_gallery.hide": "Ausblenden",
"moved_to_account_banner.text": "Dein Konto {disabledAccount} ist derzeit deaktiviert, weil du zu {movedToAccount} umgezogen bist.",
"mute_modal.hide_from_notifications": "Benachrichtigungen ausblenden",
"mute_modal.hide_options": "Einstellungen ausblenden",
@@ -456,9 +468,8 @@
"mute_modal.title": "Profil stummschalten?",
"mute_modal.you_wont_see_mentions": "Du wirst keine Beiträge sehen, die dieses Profil erwähnen.",
"mute_modal.you_wont_see_posts": "Deine Beiträge können weiterhin angesehen werden, aber du wirst deren Beiträge nicht mehr sehen.",
- "name_and_others": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}}",
- "name_and_others_with_link": "{name} und
{count, plural, one {# weitere Person} other {# weitere Personen}}",
"navigation_bar.about": "Über",
+ "navigation_bar.administration": "Administration",
"navigation_bar.advanced_interface": "Im erweiterten Webinterface öffnen",
"navigation_bar.blocks": "Blockierte Profile",
"navigation_bar.bookmarks": "Lesezeichen",
@@ -475,6 +486,7 @@
"navigation_bar.follows_and_followers": "Follower und Folge ich",
"navigation_bar.lists": "Listen",
"navigation_bar.logout": "Abmelden",
+ "navigation_bar.moderation": "Moderation",
"navigation_bar.mutes": "Stummgeschaltete Profile",
"navigation_bar.opened_in_classic_interface": "Beiträge, Konten und andere bestimmte Seiten werden standardmäßig im klassischen Webinterface geöffnet.",
"navigation_bar.personal": "Persönlich",
@@ -490,9 +502,13 @@
"notification.admin.report_statuses": "{name} meldete {target} wegen {category}",
"notification.admin.report_statuses_other": "{name} meldete {target}",
"notification.admin.sign_up": "{name} registrierte sich",
+ "notification.admin.sign_up.name_and_others": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}} registrierten sich",
"notification.favourite": "{name} favorisierte deinen Beitrag",
+ "notification.favourite.name_and_others_with_link": "{name} und
{count, plural, one {# weitere Person} other {# weitere Personen}} favorisierten deinen Beitrag",
"notification.follow": "{name} folgt dir",
+ "notification.follow.name_and_others": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}} folgen dir",
"notification.follow_request": "{name} möchte dir folgen",
+ "notification.follow_request.name_and_others": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}} möchten dir folgen",
"notification.label.mention": "Erwähnung",
"notification.label.private_mention": "Private Erwähnung",
"notification.label.private_reply": "Private Antwort",
@@ -510,6 +526,7 @@
"notification.own_poll": "Deine Umfrage ist beendet",
"notification.poll": "Eine Umfrage, an der du teilgenommen hast, ist beendet",
"notification.reblog": "{name} teilte deinen Beitrag",
+ "notification.reblog.name_and_others_with_link": "{name} und
{count, plural, one {# weitere Person} other {# weitere Personen}} teilten deinen Beitrag",
"notification.relationships_severance_event": "Verbindungen mit {name} verloren",
"notification.relationships_severance_event.account_suspension": "Ein Admin von {from} hat {target} gesperrt. Du wirst von diesem Profil keine Updates mehr erhalten und auch nicht mit ihm interagieren können.",
"notification.relationships_severance_event.domain_block": "Ein Admin von {from} hat {target} blockiert – darunter {followersCount} deiner Follower und {followingCount, plural, one {# Konto, dem} other {# Konten, denen}} du folgst.",
@@ -518,19 +535,17 @@
"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.accept_multiple": "{count, plural, one {# Anfrage genehmigen …} other {# Anfragen genehmigen …}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Anfrage genehmigen} other {Anfragen genehmigen}}",
+ "notification_requests.confirm_accept_multiple.message": "Du bist dabei, {{count, plural, one {eine Benachrichtigungsanfrage} other {# Benachrichtigungsanfragen}} zu genehmigen. Möchtest du wirklich fortfahren?",
+ "notification_requests.confirm_accept_multiple.title": "Benachrichtigungsanfragen genehmigen?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Anfrage ablehnen} other {Anfragen ablehnen}}",
+ "notification_requests.confirm_dismiss_multiple.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_multiple.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.dismiss_multiple": "{count, plural, one {# Anfrage ablehnen …} other {# Anfragen ablehnen …}}",
+ "notification_requests.edit_selection": "Bearbeiten",
+ "notification_requests.exit_selection": "Fertig",
"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",
@@ -578,7 +593,7 @@
"notifications.policy.accept_hint": "In Benachrichtigungen anzeigen",
"notifications.policy.drop": "Ignorieren",
"notifications.policy.drop_hint": "In die Leere senden und nie wieder sehen",
- "notifications.policy.filter": "Filter",
+ "notifications.policy.filter": "Filtern",
"notifications.policy.filter_hint": "An gefilterte Benachrichtigungen im Posteingang senden",
"notifications.policy.filter_limited_accounts_hint": "Durch Server-Moderator*innen eingeschränkt",
"notifications.policy.filter_limited_accounts_title": "Moderierte Konten",
@@ -586,7 +601,7 @@
"notifications.policy.filter_new_accounts_title": "Neuen Konten",
"notifications.policy.filter_not_followers_hint": "Einschließlich Profilen, die dir seit weniger als {days, plural, one {einem Tag} other {# Tagen}} folgen",
"notifications.policy.filter_not_followers_title": "Profilen, die mir nicht folgen",
- "notifications.policy.filter_not_following_hint": "Solange du sie nicht manuell akzeptierst",
+ "notifications.policy.filter_not_following_hint": "Bis du sie manuell genehmigst",
"notifications.policy.filter_not_following_title": "Profilen, denen ich nicht folge",
"notifications.policy.filter_private_mentions_hint": "Solange sie keine Antwort auf deine Erwähnung ist oder du dem Profil nicht folgst",
"notifications.policy.filter_private_mentions_title": "Unerwünschten privaten Erwähnungen",
@@ -652,9 +667,9 @@
"privacy.private.short": "Follower",
"privacy.public.long": "Alle in und außerhalb von Mastodon",
"privacy.public.short": "Öffentlich",
- "privacy.unlisted.additional": "Das Verhalten ist wie bei „Öffentlich“, jedoch erscheint dieser Beitrag nicht in „Live-Feeds“, „Erkunden“, Hashtags oder über die Mastodon-Suchfunktion – selbst wenn du das in den Einstellungen aktiviert hast.",
+ "privacy.unlisted.additional": "Das Verhalten ist wie bei „Öffentlich“, jedoch gibt es einige Einschränkungen. Der Beitrag wird nicht in „Live-Feeds“, „Erkunden“, Hashtags oder über die Mastodon-Suchfunktion auffindbar sein – selbst wenn die zugehörige Einstellung aktiviert wurde.",
"privacy.unlisted.long": "Weniger im Algorithmus berücksichtigt",
- "privacy.unlisted.short": "Öffentlich (eingeschränkt)",
+ "privacy.unlisted.short": "Öffentlich (still)",
"privacy_policy.last_updated": "Stand: {date}",
"privacy_policy.title": "Datenschutzerklärung",
"recommended": "Empfohlen",
@@ -765,6 +780,7 @@
"status.bookmark": "Beitrag als Lesezeichen setzen",
"status.cancel_reblog_private": "Beitrag nicht mehr teilen",
"status.cannot_reblog": "Dieser Beitrag kann nicht geteilt werden",
+ "status.continued_thread": "Fortgeführter Thread",
"status.copy": "Link zum Beitrag kopieren",
"status.delete": "Beitrag löschen",
"status.detailed_status": "Detaillierte Ansicht der Unterhaltung",
@@ -777,8 +793,6 @@
"status.favourite": "Favorisieren",
"status.favourites": "{count, plural, one {Mal favorisiert} other {Mal favorisiert}}",
"status.filter": "Beitrag filtern",
- "status.filtered": "Gefiltert",
- "status.hide": "Beitrag ausblenden",
"status.history.created": "{name} erstellte {date}",
"status.history.edited": "{name} bearbeitete {date}",
"status.load_more": "Mehr laden",
@@ -800,16 +814,14 @@
"status.reblogs.empty": "Diesen Beitrag hat bisher noch niemand geteilt. Sobald es jemand tut, wird das Profil hier erscheinen.",
"status.redraft": "Löschen und neu erstellen",
"status.remove_bookmark": "Lesezeichen entfernen",
+ "status.replied_in_thread": "Antwortete im Thread",
"status.replied_to": "Antwortete {name}",
"status.reply": "Antworten",
"status.replyAll": "Allen antworten",
"status.report": "@{name} melden",
"status.sensitive_warning": "Inhaltswarnung",
"status.share": "Teilen",
- "status.show_filter_reason": "Trotzdem anzeigen",
- "status.show_less": "Weniger anzeigen",
"status.show_less_all": "Alles einklappen",
- "status.show_more": "Mehr anzeigen",
"status.show_more_all": "Alles ausklappen",
"status.show_original": "Ursprünglichen Beitrag anzeigen",
"status.title.with_attachments": "{user} veröffentlichte {attachmentCount, plural, one {ein Medium} other {{attachmentCount} Medien}}",
@@ -828,11 +840,6 @@
"time_remaining.minutes": "noch {number, plural, one {# Minute} other {# Minuten}}",
"time_remaining.moments": "Wird gleich beendet",
"time_remaining.seconds": "noch {number, plural, one {# Sekunde} other {# Sekunden}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} von anderen Servern werden nicht angezeigt.",
- "timeline_hint.resources.followers": "Follower",
- "timeline_hint.resources.follows": "„Folge ich“",
- "timeline_hint.resources.replies": "Einige Antworten",
- "timeline_hint.resources.statuses": "Ältere Beiträge",
"trends.counter_by_accounts": "{count, plural, one {{counter} Profil} other {{counter} Profile}} {days, plural, one {seit gestern} other {in {days} Tagen}}",
"trends.trending_now": "Aktuelle Trends",
"ui.beforeunload": "Dein Entwurf geht verloren, wenn du Mastodon verlässt.",
diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json
index c220f3a4e0c581..64a603923ecc36 100644
--- a/app/javascript/mastodon/locales/el.json
+++ b/app/javascript/mastodon/locales/el.json
@@ -19,7 +19,6 @@
"account.block_domain": "Αποκλεισμός τομέα {domain}",
"account.block_short": "Αποκλεισμός",
"account.blocked": "Αποκλεισμένος/η",
- "account.browse_more_on_origin_server": "Δες περισσότερα στο αρχικό προφίλ",
"account.cancel_follow_request": "Απόσυρση αιτήματος παρακολούθησης",
"account.copy": "Αντιγραφή συνδέσμου προφίλ",
"account.direct": "Ιδιωτική αναφορά @{name}",
@@ -349,6 +348,14 @@
"hashtag.follow": "Παρακολούθηση ετικέτας",
"hashtag.unfollow": "Διακοπή παρακολούθησης ετικέτας",
"hashtags.and_other": "…και {count, plural, one {}other {# ακόμη}}",
+ "hints.profiles.followers_may_be_missing": "Μπορεί να λείπουν ακόλουθοι για αυτό το προφίλ.",
+ "hints.profiles.follows_may_be_missing": "Άτομα που ακολουθούνται μπορεί να λείπουν απ' αυτό το προφίλ.",
+ "hints.profiles.posts_may_be_missing": "Κάποιες αναρτήσεις από αυτό το προφίλ μπορεί να λείπουν.",
+ "hints.profiles.see_more_followers": "Δες περισσότερους ακόλουθους στο {domain}",
+ "hints.profiles.see_more_follows": "Δες περισσότερα άτομα που ακολουθούνται στο {domain}",
+ "hints.profiles.see_more_posts": "Δες περισσότερες αναρτήσεις στο {domain}",
+ "hints.threads.replies_may_be_missing": "Απαντήσεις από άλλους διακομιστές μπορεί να λείπουν.",
+ "hints.threads.see_more": "Δες περισσότερες αναρτήσεις στο {domain}",
"home.column_settings.show_reblogs": "Εμφάνιση προωθήσεων",
"home.column_settings.show_replies": "Εμφάνιση απαντήσεων",
"home.hide_announcements": "Απόκρυψη ανακοινώσεων",
@@ -445,7 +452,6 @@
"lists.subheading": "Οι λίστες σου",
"load_pending": "{count, plural, one {# νέο στοιχείο} other {# νέα στοιχεία}}",
"loading_indicator.label": "Φόρτωση…",
- "media_gallery.toggle_visible": "{number, plural, one {Απόκρυψη εικόνας} other {Απόκρυψη εικόνων}}",
"moved_to_account_banner.text": "Ο λογαριασμός σου {disabledAccount} είναι προσωρινά απενεργοποιημένος επειδή μεταφέρθηκες στον {movedToAccount}.",
"mute_modal.hide_from_notifications": "Απόκρυψη από ειδοποιήσεις",
"mute_modal.hide_options": "Απόκρυψη επιλογών",
@@ -456,8 +462,6 @@
"mute_modal.title": "Σίγαση χρήστη;",
"mute_modal.you_wont_see_mentions": "Δε θα βλέπεις τις αναρτήσεις που τον αναφέρουν.",
"mute_modal.you_wont_see_posts": "Μπορεί ακόμα να δει τις αναρτήσεις σου, αλλά δε θα βλέπεις τις δικές του.",
- "name_and_others": "{name} και {count, plural, one {# ακόμη} other {# ακόμη}}",
- "name_and_others_with_link": "{name} και
{count, plural, one {# ακόμη} other {# ακόμη}}",
"navigation_bar.about": "Σχετικά με",
"navigation_bar.advanced_interface": "Άνοιγμα σε προηγμένη διεπαφή ιστού",
"navigation_bar.blocks": "Αποκλεισμένοι χρήστες",
@@ -490,9 +494,13 @@
"notification.admin.report_statuses": "Ο χρήστης {name} ανέφερε τον χρήστη {target} για {category}",
"notification.admin.report_statuses_other": "Ο χρήστης {name} ανέφερε τον χρήστη {target}",
"notification.admin.sign_up": "{name} έχει εγγραφεί",
+ "notification.admin.sign_up.name_and_others": "{name} και {count, plural, one {# ακόμη} other {# ακόμη}} έχουν εγγραφεί",
"notification.favourite": "{name} favorited your post\n{name} προτίμησε την ανάρτηση σου",
+ "notification.favourite.name_and_others_with_link": "{name} και
{count, plural, one {# ακόμη} other {# ακόμη}} αγάπησαν την ανάρτησή σου",
"notification.follow": "Ο/Η {name} σε ακολούθησε",
+ "notification.follow.name_and_others": "{name} και {count, plural, one {# ακόμη} other {# ακόμη}} σε ακολούθησαν",
"notification.follow_request": "Ο/H {name} ζήτησε να σε ακολουθήσει",
+ "notification.follow_request.name_and_others": "{name} και {count, plural, one {# άλλος} other {# άλλοι}} ζήτησαν να σε ακολουθήσουν",
"notification.label.mention": "Επισήμανση",
"notification.label.private_mention": "Ιδιωτική επισήμανση",
"notification.label.private_reply": "Ιδιωτική απάντηση",
@@ -510,6 +518,7 @@
"notification.own_poll": "Η δημοσκόπησή σου έληξε",
"notification.poll": "Μία ψηφοφορία στην οποία συμμετείχες έχει τελειώσει",
"notification.reblog": "Ο/Η {name} ενίσχυσε τη δημοσίευσή σου",
+ "notification.reblog.name_and_others_with_link": "{name} και
{count, plural, one {# ακόμη} other {# ακόμη}} ενίσχυσαν την ανάρτησή σου",
"notification.relationships_severance_event": "Χάθηκε η σύνδεση με το {name}",
"notification.relationships_severance_event.account_suspension": "Ένας διαχειριστής από το {from} ανέστειλε το {target}, πράγμα που σημαίνει ότι δεν μπορείς πλέον να λαμβάνεις ενημερώσεις από αυτούς ή να αλληλεπιδράς μαζί τους.",
"notification.relationships_severance_event.domain_block": "Ένας διαχειριστής από {from} έχει μπλοκάρει το {target}, συμπεριλαμβανομένων {followersCount} από τους ακόλουθούς σου και {followingCount, plural, one {# λογαριασμό} other {# λογαριασμοί}} που ακολουθείς.",
@@ -518,19 +527,17 @@
"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.accept_multiple": "{count, plural, one {Αποδοχή # αιτήματος…} other {Αποδοχή # αιτημάτων…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Αποδοχή αιτήματος} other {Αποδοχή αιτημάτων}}",
+ "notification_requests.confirm_accept_multiple.message": "Πρόκειται να αποδεχτείς {count, plural, one {ένα αίτημα ειδοποίησης} other {# αιτήματα ειδοποίησης}}. Σίγουρα θες να συνεχίσεις;",
+ "notification_requests.confirm_accept_multiple.title": "Αποδοχή αιτήσεων ειδοποίησης;",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Παράβλεψη αιτήματος} other {Παράβλεψη αιτημάτων}}",
+ "notification_requests.confirm_dismiss_multiple.message": "Πρόκειται να απορρίψεις {count, plural, one {ένα αίτημα ειδοποίησης} other {# αιτήματα ειδοποίησης}}. Δεν θα μπορείς να έχεις πρόσβαση εύκολα {count, plural, one {σε αυτό} other {σε αυτά}} ξανά. Σίγουρα θες να συνεχίσεις;",
+ "notification_requests.confirm_dismiss_multiple.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.dismiss_multiple": "{count, plural, one {Παράβλεψη # αιτήματος…} 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": "Μεγιστοποίηση",
@@ -777,8 +784,6 @@
"status.favourite": "Αγαπημένα",
"status.favourites": "{count, plural, one {# αγαπημένο} other {# αγαπημένα}}",
"status.filter": "Φιλτράρισμα αυτής της ανάρτησης",
- "status.filtered": "Φιλτραρισμένα",
- "status.hide": "Απόκρυψη ανάρτησης",
"status.history.created": "{name} δημιούργησε στις {date}",
"status.history.edited": "{name} επεξεργάστηκε στις {date}",
"status.load_more": "Φόρτωσε περισσότερα",
@@ -806,10 +811,7 @@
"status.report": "Αναφορά @{name}",
"status.sensitive_warning": "Ευαίσθητο περιεχόμενο",
"status.share": "Κοινοποίηση",
- "status.show_filter_reason": "Εμφάνιση παρ' όλα αυτά",
- "status.show_less": "Δείξε λιγότερα",
"status.show_less_all": "Δείξε λιγότερα για όλα",
- "status.show_more": "Δείξε περισσότερα",
"status.show_more_all": "Δείξε περισσότερα για όλα",
"status.show_original": "Εμφάνιση αρχικού",
"status.title.with_attachments": "{user} δημοσίευσε {attachmentCount, plural, one {ένα συνημμένο} other {{attachmentCount} συνημμένα}}",
@@ -828,11 +830,6 @@
"time_remaining.minutes": "απομένουν {number, plural, one {# λεπτό} other {# λεπτά}}",
"time_remaining.moments": "Στιγμές που απομένουν",
"time_remaining.seconds": "απομένουν {number, plural, one {# δευτερόλεπτο} other {# δευτερόλεπτα}}",
- "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} άτομο} other {{counter} άτομα} }{days, plural, one { την τελευταία ημέρα} other { τις τελευταίες {days} ημέρες}}",
"trends.trending_now": "Δημοφιλή τώρα",
"ui.beforeunload": "Το προσχέδιό σου θα χαθεί αν φύγεις από το Mastodon.",
diff --git a/app/javascript/mastodon/locales/en-GB.json b/app/javascript/mastodon/locales/en-GB.json
index 64e22505b225f1..c727b8e49faf3d 100644
--- a/app/javascript/mastodon/locales/en-GB.json
+++ b/app/javascript/mastodon/locales/en-GB.json
@@ -11,6 +11,7 @@
"about.not_available": "This information has not been made available on this server.",
"about.powered_by": "Decentralised social media powered by {mastodon}",
"about.rules": "Server rules",
+ "account.account_note_header": "Personal note",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Automated",
"account.badges.group": "Group",
@@ -18,7 +19,6 @@
"account.block_domain": "Block domain {domain}",
"account.block_short": "Block",
"account.blocked": "Blocked",
- "account.browse_more_on_origin_server": "Browse more on the original profile",
"account.cancel_follow_request": "Cancel follow",
"account.copy": "Copy link to profile",
"account.direct": "Privately mention @{name}",
@@ -97,6 +97,8 @@
"block_modal.title": "Block user?",
"block_modal.you_wont_see_mentions": "You won't see posts that mention them.",
"boost_modal.combo": "You can press {combo} to skip this next time",
+ "boost_modal.reblog": "Boost post?",
+ "boost_modal.undo_reblog": "Unboost post?",
"bundle_column_error.copy_stacktrace": "Copy error report",
"bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.",
"bundle_column_error.error.title": "Oh, no!",
@@ -170,21 +172,30 @@
"confirmations.block.confirm": "Block",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this post?",
+ "confirmations.delete.title": "Delete post?",
"confirmations.delete_list.confirm": "Delete",
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
+ "confirmations.delete_list.title": "Delete list?",
"confirmations.discard_edit_media.confirm": "Discard",
"confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
"confirmations.edit.confirm": "Edit",
"confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+ "confirmations.edit.title": "Overwrite post?",
"confirmations.logout.confirm": "Log out",
"confirmations.logout.message": "Are you sure you want to log out?",
+ "confirmations.logout.title": "Log out?",
"confirmations.mute.confirm": "Mute",
"confirmations.redraft.confirm": "Delete & redraft",
"confirmations.redraft.message": "Are you sure you want to delete this post and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.",
+ "confirmations.redraft.title": "Delete & redraft post?",
"confirmations.reply.confirm": "Reply",
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+ "confirmations.reply.title": "Overwrite post?",
"confirmations.unfollow.confirm": "Unfollow",
"confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
+ "confirmations.unfollow.title": "Unfollow user?",
+ "content_warning.hide": "Hide post",
+ "content_warning.show": "Show anyway",
"conversation.delete": "Delete conversation",
"conversation.mark_as_read": "Mark as read",
"conversation.open": "View conversation",
@@ -292,6 +303,8 @@
"filter_modal.select_filter.subtitle": "Use an existing category or create a new one",
"filter_modal.select_filter.title": "Filter this post",
"filter_modal.title.status": "Filter a post",
+ "filter_warning.matches_filter": "Matches filter “{title}”",
+ "filtered_notifications_banner.pending_requests": "From {count, plural, =0 {no one} one {one person} other {# people}} you may know",
"filtered_notifications_banner.title": "Filtered notifications",
"firehose.all": "All",
"firehose.local": "This server",
@@ -340,6 +353,14 @@
"hashtag.follow": "Follow hashtag",
"hashtag.unfollow": "Unfollow hashtag",
"hashtags.and_other": "…and {count, plural, one {one more} other {# more}}",
+ "hints.profiles.followers_may_be_missing": "Followers for this profile may be missing.",
+ "hints.profiles.follows_may_be_missing": "Follows for this profile may be missing.",
+ "hints.profiles.posts_may_be_missing": "Some posts from this profile may be missing.",
+ "hints.profiles.see_more_followers": "See more followers on {domain}",
+ "hints.profiles.see_more_follows": "See more follows on {domain}",
+ "hints.profiles.see_more_posts": "See more posts on {domain}",
+ "hints.threads.replies_may_be_missing": "Replies from other servers may be missing.",
+ "hints.threads.see_more": "See more replies on {domain}",
"home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies",
"home.hide_announcements": "Hide announcements",
@@ -347,6 +368,17 @@
"home.pending_critical_update.link": "See updates",
"home.pending_critical_update.title": "Critical security update available!",
"home.show_announcements": "Show announcements",
+ "ignore_notifications_modal.disclaimer": "Mastodon cannot inform users that you've ignored their notifications. Ignoring notifications will not stop the messages themselves from being sent.",
+ "ignore_notifications_modal.filter_instead": "Filter instead",
+ "ignore_notifications_modal.filter_to_act_users": "You'll still be able to accept, reject, or report users",
+ "ignore_notifications_modal.filter_to_avoid_confusion": "Filtering helps avoid potential confusion",
+ "ignore_notifications_modal.filter_to_review_separately": "You can review filtered notifications separately",
+ "ignore_notifications_modal.ignore": "Ignore notifications",
+ "ignore_notifications_modal.limited_accounts_title": "Ignore notifications from restricted accounts?",
+ "ignore_notifications_modal.new_accounts_title": "Ignore notifications from new accounts?",
+ "ignore_notifications_modal.not_followers_title": "Ignore notifications from people not following you?",
+ "ignore_notifications_modal.not_following_title": "Ignore notifications from people you don't follow?",
+ "ignore_notifications_modal.private_mentions_title": "Ignore notifications from unsolicited Private Mentions?",
"interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.",
"interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.",
"interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.",
@@ -425,7 +457,7 @@
"lists.subheading": "Your lists",
"load_pending": "{count, plural, one {# new item} other {# new items}}",
"loading_indicator.label": "Loading…",
- "media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}",
+ "media_gallery.hide": "Hide",
"moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
"mute_modal.hide_from_notifications": "Hide from notifications",
"mute_modal.hide_options": "Hide options",
@@ -436,9 +468,8 @@
"mute_modal.title": "Mute user?",
"mute_modal.you_wont_see_mentions": "You won't see posts that mention them.",
"mute_modal.you_wont_see_posts": "They can still see your posts, but you won't see theirs.",
- "name_and_others": "{name} and {count, plural, one {# other} other {# others}}",
- "name_and_others_with_link": "{name} and
{count, plural, one {# other} other {# others}}",
"navigation_bar.about": "About",
+ "navigation_bar.administration": "Administration",
"navigation_bar.advanced_interface": "Open in advanced web interface",
"navigation_bar.blocks": "Blocked users",
"navigation_bar.bookmarks": "Bookmarks",
@@ -455,6 +486,7 @@
"navigation_bar.follows_and_followers": "Follows and followers",
"navigation_bar.lists": "Lists",
"navigation_bar.logout": "Logout",
+ "navigation_bar.moderation": "Moderation",
"navigation_bar.mutes": "Muted users",
"navigation_bar.opened_in_classic_interface": "Posts, accounts, and other specific pages are opened by default in the classic web interface.",
"navigation_bar.personal": "Personal",
@@ -470,9 +502,18 @@
"notification.admin.report_statuses": "{name} reported {target} for {category}",
"notification.admin.report_statuses_other": "{name} reported {target}",
"notification.admin.sign_up": "{name} signed up",
+ "notification.admin.sign_up.name_and_others": "{name} and {count, plural, one {# other} other {# others}} signed up",
"notification.favourite": "{name} favourited your post",
+ "notification.favourite.name_and_others_with_link": "{name} and
{count, plural, one {# other} other {# others}} favourited your post",
"notification.follow": "{name} followed you",
+ "notification.follow.name_and_others": "{name} and {count, plural, one {# other} other {# others}} followed you",
"notification.follow_request": "{name} has requested to follow you",
+ "notification.follow_request.name_and_others": "{name} and {count, plural, one {# other} other {# others}} has requested to follow you",
+ "notification.label.mention": "Mention",
+ "notification.label.private_mention": "Private mention",
+ "notification.label.private_reply": "Private reply",
+ "notification.label.reply": "Reply",
+ "notification.mention": "Mention",
"notification.moderation-warning.learn_more": "Learn more",
"notification.moderation_warning": "You have received a moderation warning",
"notification.moderation_warning.action_delete_statuses": "Some of your posts have been removed.",
@@ -485,6 +526,7 @@
"notification.own_poll": "Your poll has ended",
"notification.poll": "A poll you voted in has ended",
"notification.reblog": "{name} boosted your status",
+ "notification.reblog.name_and_others_with_link": "{name} and
{count, plural, one {# other} other {# others}} boosted your post",
"notification.relationships_severance_event": "Lost connections with {name}",
"notification.relationships_severance_event.account_suspension": "An admin from {from} has suspended {target}, which means you can no longer receive updates from them or interact with them.",
"notification.relationships_severance_event.domain_block": "An admin from {from} has blocked {target}, including {followersCount} of your followers and {followingCount, plural, one {# account} other {# accounts}} you follow.",
@@ -493,11 +535,27 @@
"notification.status": "{name} just posted",
"notification.update": "{name} edited a post",
"notification_requests.accept": "Accept",
+ "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_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": "Maximise",
+ "notification_requests.minimize_banner": "Minimize filtered notifications banner",
"notification_requests.notifications_from": "Notifications from {name}",
"notification_requests.title": "Filtered notifications",
+ "notification_requests.view": "View notifications",
"notifications.clear": "Clear notifications",
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
+ "notifications.clear_title": "Clear notifications?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "New sign-ups:",
"notifications.column_settings.alert": "Desktop notifications",
@@ -531,6 +589,14 @@
"notifications.permission_denied": "Desktop notifications are unavailable due to previously denied browser permissions request",
"notifications.permission_denied_alert": "Desktop notifications can't be enabled, as browser permission has been denied before",
"notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.",
+ "notifications.policy.accept": "Accept",
+ "notifications.policy.accept_hint": "Show in notifications",
+ "notifications.policy.drop": "Ignore",
+ "notifications.policy.drop_hint": "Send to the void, never to be seen again",
+ "notifications.policy.filter": "Filter",
+ "notifications.policy.filter_hint": "Send to filtered notifications inbox",
+ "notifications.policy.filter_limited_accounts_hint": "Limited by server moderators",
+ "notifications.policy.filter_limited_accounts_title": "Moderated accounts",
"notifications.policy.filter_new_accounts.hint": "Created within the past {days, plural, one {one day} other {# days}}",
"notifications.policy.filter_new_accounts_title": "New accounts",
"notifications.policy.filter_not_followers_hint": "Including people who have been following you fewer than {days, plural, one {one day} other {# days}}",
@@ -539,6 +605,7 @@
"notifications.policy.filter_not_following_title": "People you don't follow",
"notifications.policy.filter_private_mentions_hint": "Filtered unless it's in reply to your own mention or if you follow the sender",
"notifications.policy.filter_private_mentions_title": "Unsolicited private mentions",
+ "notifications.policy.title": "Manage notifications from…",
"notifications_permission_banner.enable": "Enable desktop notifications",
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
"notifications_permission_banner.title": "Never miss a thing",
@@ -713,6 +780,7 @@
"status.bookmark": "Bookmark",
"status.cancel_reblog_private": "Unboost",
"status.cannot_reblog": "This post cannot be boosted",
+ "status.continued_thread": "Continued thread",
"status.copy": "Copy link to status",
"status.delete": "Delete",
"status.detailed_status": "Detailed conversation view",
@@ -725,8 +793,6 @@
"status.favourite": "Favourite",
"status.favourites": "{count, plural, one {favorite} other {favorites}}",
"status.filter": "Filter this post",
- "status.filtered": "Filtered",
- "status.hide": "Hide post",
"status.history.created": "{name} created {date}",
"status.history.edited": "{name} edited {date}",
"status.load_more": "Load more",
@@ -748,16 +814,14 @@
"status.reblogs.empty": "No one has boosted this post yet. When someone does, they will show up here.",
"status.redraft": "Delete & re-draft",
"status.remove_bookmark": "Remove bookmark",
+ "status.replied_in_thread": "Replied in thread",
"status.replied_to": "Replied to {name}",
"status.reply": "Reply",
"status.replyAll": "Reply to thread",
"status.report": "Report @{name}",
"status.sensitive_warning": "Sensitive content",
"status.share": "Share",
- "status.show_filter_reason": "Show anyway",
- "status.show_less": "Show less",
"status.show_less_all": "Show less for all",
- "status.show_more": "Show more",
"status.show_more_all": "Show more for all",
"status.show_original": "Show original",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
@@ -776,10 +840,6 @@
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
- "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.",
- "timeline_hint.resources.followers": "Followers",
- "timeline_hint.resources.follows": "Follows",
- "timeline_hint.resources.statuses": "Older posts",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
"trends.trending_now": "Trending now",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json
index 45447024f17d03..ced839e38bbb9f 100644
--- a/app/javascript/mastodon/locales/en.json
+++ b/app/javascript/mastodon/locales/en.json
@@ -20,7 +20,6 @@
"account.block_domain": "Block domain {domain}",
"account.block_short": "Block",
"account.blocked": "Blocked",
- "account.browse_more_on_origin_server": "Browse more on the original profile",
"account.cancel_follow_request": "Cancel follow",
"account.copy": "Copy link to profile",
"account.direct": "Privately mention @{name}",
@@ -99,6 +98,8 @@
"block_modal.title": "Block user?",
"block_modal.you_wont_see_mentions": "You won't see posts that mention them.",
"boost_modal.combo": "You can press {combo} to skip this next time",
+ "boost_modal.reblog": "Boost post?",
+ "boost_modal.undo_reblog": "Unboost post?",
"bundle_column_error.copy_stacktrace": "Copy error report",
"bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.",
"bundle_column_error.error.title": "Oh, no!",
@@ -194,6 +195,8 @@
"confirmations.unfollow.confirm": "Unfollow",
"confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
"confirmations.unfollow.title": "Unfollow user?",
+ "content_warning.hide": "Hide post",
+ "content_warning.show": "Show anyway",
"conversation.delete": "Delete conversation",
"conversation.mark_as_read": "Mark as read",
"conversation.open": "View conversation",
@@ -301,6 +304,7 @@
"filter_modal.select_filter.subtitle": "Use an existing category or create a new one",
"filter_modal.select_filter.title": "Filter this post",
"filter_modal.title.status": "Filter a post",
+ "filter_warning.matches_filter": "Matches filter “{title}”",
"filtered_notifications_banner.pending_requests": "From {count, plural, =0 {no one} one {one person} other {# people}} you may know",
"filtered_notifications_banner.title": "Filtered notifications",
"firehose.all": "All",
@@ -350,6 +354,14 @@
"hashtag.follow": "Follow hashtag",
"hashtag.unfollow": "Unfollow hashtag",
"hashtags.and_other": "…and {count, plural, other {# more}}",
+ "hints.profiles.followers_may_be_missing": "Followers for this profile may be missing.",
+ "hints.profiles.follows_may_be_missing": "Follows for this profile may be missing.",
+ "hints.profiles.posts_may_be_missing": "Some posts from this profile may be missing.",
+ "hints.profiles.see_more_followers": "See more followers on {domain}",
+ "hints.profiles.see_more_follows": "See more follows on {domain}",
+ "hints.profiles.see_more_posts": "See more posts on {domain}",
+ "hints.threads.replies_may_be_missing": "Replies from other servers may be missing.",
+ "hints.threads.see_more": "See more replies on {domain}",
"home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies",
"home.hide_announcements": "Hide announcements",
@@ -446,7 +458,7 @@
"lists.subheading": "Your lists",
"load_pending": "{count, plural, one {# new item} other {# new items}}",
"loading_indicator.label": "Loading…",
- "media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}",
+ "media_gallery.hide": "Hide",
"moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
"mute_modal.hide_from_notifications": "Hide from notifications",
"mute_modal.hide_options": "Hide options",
@@ -457,9 +469,8 @@
"mute_modal.title": "Mute user?",
"mute_modal.you_wont_see_mentions": "You won't see posts that mention them.",
"mute_modal.you_wont_see_posts": "They can still see your posts, but you won't see theirs.",
- "name_and_others": "{name} and {count, plural, one {# other} other {# others}}",
- "name_and_others_with_link": "{name} and
{count, plural, one {# other} other {# others}}",
"navigation_bar.about": "About",
+ "navigation_bar.administration": "Administration",
"navigation_bar.advanced_interface": "Open in advanced web interface",
"navigation_bar.blocks": "Blocked users",
"navigation_bar.bookmarks": "Bookmarks",
@@ -476,6 +487,7 @@
"navigation_bar.follows_and_followers": "Follows and followers",
"navigation_bar.lists": "Lists",
"navigation_bar.logout": "Logout",
+ "navigation_bar.moderation": "Moderation",
"navigation_bar.mutes": "Muted users",
"navigation_bar.opened_in_classic_interface": "Posts, accounts, and other specific pages are opened by default in the classic web interface.",
"navigation_bar.personal": "Personal",
@@ -491,9 +503,13 @@
"notification.admin.report_statuses": "{name} reported {target} for {category}",
"notification.admin.report_statuses_other": "{name} reported {target}",
"notification.admin.sign_up": "{name} signed up",
+ "notification.admin.sign_up.name_and_others": "{name} and {count, plural, one {# other} other {# others}} signed up",
"notification.favourite": "{name} favorited your post",
+ "notification.favourite.name_and_others_with_link": "{name} and
{count, plural, one {# other} other {# others}} favorited your post",
"notification.follow": "{name} followed you",
+ "notification.follow.name_and_others": "{name} and {count, plural, one {# other} other {# others}} followed you",
"notification.follow_request": "{name} has requested to follow you",
+ "notification.follow_request.name_and_others": "{name} and {count, plural, one {# other} other {# others}} has requested to follow you",
"notification.label.mention": "Mention",
"notification.label.private_mention": "Private mention",
"notification.label.private_reply": "Private reply",
@@ -511,6 +527,7 @@
"notification.own_poll": "Your poll has ended",
"notification.poll": "A poll you voted in has ended",
"notification.reblog": "{name} boosted your post",
+ "notification.reblog.name_and_others_with_link": "{name} and
{count, plural, one {# other} other {# others}} boosted your post",
"notification.relationships_severance_event": "Lost connections with {name}",
"notification.relationships_severance_event.account_suspension": "An admin from {from} has suspended {target}, which means you can no longer receive updates from them or interact with them.",
"notification.relationships_severance_event.domain_block": "An admin from {from} has blocked {target}, including {followersCount} of your followers and {followingCount, plural, one {# account} other {# accounts}} you follow.",
@@ -519,19 +536,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",
@@ -766,6 +781,7 @@
"status.bookmark": "Bookmark",
"status.cancel_reblog_private": "Unboost",
"status.cannot_reblog": "This post cannot be boosted",
+ "status.continued_thread": "Continued thread",
"status.copy": "Copy link to post",
"status.delete": "Delete",
"status.detailed_status": "Detailed conversation view",
@@ -774,12 +790,10 @@
"status.edit": "Edit",
"status.edited": "Last edited {date}",
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
- "status.embed": "Embed",
+ "status.embed": "Get embed code",
"status.favourite": "Favorite",
"status.favourites": "{count, plural, one {favorite} other {favorites}}",
"status.filter": "Filter this post",
- "status.filtered": "Filtered",
- "status.hide": "Hide post",
"status.history.created": "{name} created {date}",
"status.history.edited": "{name} edited {date}",
"status.load_more": "Load more",
@@ -801,16 +815,14 @@
"status.reblogs.empty": "No one has boosted this post yet. When someone does, they will show up here.",
"status.redraft": "Delete & re-draft",
"status.remove_bookmark": "Remove bookmark",
+ "status.replied_in_thread": "Replied in thread",
"status.replied_to": "Replied to {name}",
"status.reply": "Reply",
"status.replyAll": "Reply to thread",
"status.report": "Report @{name}",
"status.sensitive_warning": "Sensitive content",
"status.share": "Share",
- "status.show_filter_reason": "Show anyway",
- "status.show_less": "Show less",
"status.show_less_all": "Show less for all",
- "status.show_more": "Show more",
"status.show_more_all": "Show more for all",
"status.show_original": "Show original",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
@@ -829,11 +841,6 @@
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
- "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.",
- "timeline_hint.resources.followers": "Followers",
- "timeline_hint.resources.follows": "Follows",
- "timeline_hint.resources.replies": "Some replies",
- "timeline_hint.resources.statuses": "Older posts",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
"trends.trending_now": "Trending now",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json
index 11a20bb7479cb4..e0e6d022127b23 100644
--- a/app/javascript/mastodon/locales/eo.json
+++ b/app/javascript/mastodon/locales/eo.json
@@ -11,6 +11,7 @@
"about.not_available": "Ĉi tiu informo ne estas disponebla ĉe ĉi tiu servilo.",
"about.powered_by": "Malcentrigita socia retejo pere de {mastodon}",
"about.rules": "Regularo de la servilo",
+ "account.account_note_header": "Personaj notoj",
"account.add_or_remove_from_list": "Aldoni al aŭ forigi el listoj",
"account.badges.bot": "Roboto",
"account.badges.cat": "Cat",
@@ -19,7 +20,6 @@
"account.block_domain": "Bloki la domajnon {domain}",
"account.block_short": "Bloko",
"account.blocked": "Blokita",
- "account.browse_more_on_origin_server": "Foliumi pli ĉe la originala profilo",
"account.cancel_follow_request": "Nuligi peton por sekvado",
"account.copy": "Kopii ligilon al profilo",
"account.direct": "Private mencii @{name}",
@@ -35,7 +35,9 @@
"account.follow_back": "Sekvu reen",
"account.followers": "Sekvantoj",
"account.followers.empty": "Ankoraŭ neniu sekvas ĉi tiun uzanton.",
+ "account.followers_counter": "{count, plural, one{{counter} sekvanto} other {{counter} sekvantoj}}",
"account.following": "Sekvatoj",
+ "account.following_counter": "{count, plural, one {{counter} sekvato} other {{counter} sekvatoj}}",
"account.follows.empty": "La uzanto ankoraŭ ne sekvas iun ajn.",
"account.go_to_profile": "Iri al profilo",
"account.hide_reblogs": "Kaŝi diskonigojn de @{name}",
@@ -61,11 +63,12 @@
"account.requested_follow": "{name} petis sekvi vin",
"account.share": "Diskonigi la profilon de @{name}",
"account.show_reblogs": "Montri diskonigojn de @{name}",
+ "account.statuses_counter": "{count, plural,one {{counter} afiŝo} other {{counter} afiŝoj}}",
"account.unblock": "Malbloki @{name}",
"account.unblock_domain": "Malbloki la domajnon {domain}",
"account.unblock_short": "Malbloki",
"account.unendorse": "Ne plu rekomendi ĉe la profilo",
- "account.unfollow": "Malaboni",
+ "account.unfollow": "Ĉesi sekvi",
"account.unmute": "Ne plu silentigi @{name}",
"account.unmute_notifications_short": "Malsilentigu Sciigojn",
"account.unmute_short": "Ne plu silentigi",
@@ -86,6 +89,14 @@
"announcement.announcement": "Anoncoj",
"attachments_list.unprocessed": "(neprilaborita)",
"audio.hide": "Kaŝi aŭdion",
+ "block_modal.remote_users_caveat": "Ni petos al la servilo {domain} respekti vian elekton. Tamen, plenumo ne estas garantiita ĉar iuj serviloj eble manipulas blokojn malsame. Publikaj afiŝoj eble ankoraŭ estas videbla por ne-ensalutintaj uzantoj.",
+ "block_modal.show_less": "Montri malpli",
+ "block_modal.show_more": "Montri pli",
+ "block_modal.they_cant_mention": "Ili ne povas mencii aŭ sekvi vin.",
+ "block_modal.they_cant_see_posts": "Ili ne povas vidi viajn afiŝojn kaj vi ne povas vidi iliajn.",
+ "block_modal.they_will_know": "Ili povas vidi, ke ili estas blokita.",
+ "block_modal.title": "Ĉu bloki uzanton?",
+ "block_modal.you_wont_see_mentions": "Vi ne vidos afiŝojn, ke mencii ilin.",
"boost_modal.combo": "Vi povas premi {combo} por preterpasi sekvafoje",
"bundle_column_error.copy_stacktrace": "Kopii la eraran raporton",
"bundle_column_error.error.body": "La petita paĝo ne povas redonitis. Eble estas eraro.",
@@ -143,26 +154,39 @@
"compose_form.lock_disclaimer.lock": "ŝlosita",
"compose_form.placeholder": "Kion vi pensas?",
"compose_form.poll.duration": "Daŭro de la balotenketo",
+ "compose_form.poll.multiple": "Multobla elekto",
+ "compose_form.poll.option_placeholder": "Opcio {number}",
+ "compose_form.poll.single": "Elektu unu",
"compose_form.poll.switch_to_multiple": "Ŝanĝi la balotenketon por permesi multajn elektojn",
"compose_form.poll.switch_to_single": "Ŝanĝi la balotenketon por permesi unu solan elekton",
+ "compose_form.poll.type": "Stilo",
+ "compose_form.publish": "Afiŝo",
"compose_form.publish_form": "Afiŝi",
+ "compose_form.reply": "Respondi",
+ "compose_form.save_changes": "Ĝisdatigi",
"compose_form.spoiler.marked": "Forigi la averton de enhavo",
"compose_form.spoiler.unmarked": "Aldoni averton de enhavo",
+ "compose_form.spoiler_placeholder": "Enhava Averto (nedeviga)",
"confirmation_modal.cancel": "Nuligi",
"confirmations.block.confirm": "Bloki",
"confirmations.delete.confirm": "Forigi",
"confirmations.delete.message": "Ĉu vi certas, ke vi volas forigi ĉi tiun afiŝon?",
+ "confirmations.delete.title": "Ĉu forigi Afiŝon?",
"confirmations.delete_list.confirm": "Forigi",
"confirmations.delete_list.message": "Ĉu vi certas, ke vi volas porĉiame forigi ĉi tiun liston?",
+ "confirmations.delete_list.title": "Ĉu forigi liston?",
"confirmations.discard_edit_media.confirm": "Forĵeti",
"confirmations.discard_edit_media.message": "Vi havas nekonservitajn ŝanĝojn de la priskribo aŭ la antaŭmontro de la plurmedio, ĉu vi forĵetu ilin malgraŭe?",
"confirmations.edit.confirm": "Redakti",
"confirmations.edit.message": "Redakti nun anstataŭigos la skribatan afiŝon. Ĉu vi certas, ke vi volas daŭrigi?",
+ "confirmations.edit.title": "Ĉu superskribi afiŝon?",
"confirmations.logout.confirm": "Adiaŭi",
"confirmations.logout.message": "Ĉu vi certas ke vi volas adiaŭi?",
+ "confirmations.logout.title": "Ĉu elsaluti?",
"confirmations.mute.confirm": "Silentigi",
"confirmations.redraft.confirm": "Forigi kaj reskribi",
"confirmations.redraft.message": "Ĉu vi certas ke vi volas forigi tiun afiŝon kaj reskribi ĝin? Ĉiuj diskonigoj kaj stelumoj estos perditaj, kaj respondoj al la originala mesaĝo estos senparentaj.",
+ "confirmations.redraft.title": "Ĉu forigi kaj redakcii afiŝon?",
"confirmations.reply.confirm": "Respondi",
"confirmations.reply.message": "Respondi nun anstataŭigos la skribatan afiŝon. Ĉu vi certas, ke vi volas daŭrigi?",
"confirmations.unfollow.confirm": "Ne plu sekvi",
@@ -367,7 +391,6 @@
"lists.subheading": "Viaj listoj",
"load_pending": "{count,plural, one {# nova elemento} other {# novaj elementoj}}",
"loading_indicator.label": "Ŝargado…",
- "media_gallery.toggle_visible": "{number, plural, one {Kaŝi la bildon} other {Kaŝi la bildojn}}",
"moved_to_account_banner.text": "Via konto {disabledAccount} estas malvalidigita ĉar vi movis ĝin al {movedToAccount}.",
"navigation_bar.about": "Pri",
"navigation_bar.advanced_interface": "Malfermi altnivelan retpaĝan interfacon",
@@ -609,8 +632,6 @@
"status.embed": "Enkorpigi",
"status.favourite": "Ŝatata",
"status.filter": "Filtri ĉi tiun afiŝon",
- "status.filtered": "Filtrita",
- "status.hide": "Kaŝi mesaĝon",
"status.history.created": "{name} kreis {date}",
"status.history.edited": "{name} redaktis {date}",
"status.load_more": "Ŝargi pli",
@@ -637,10 +658,7 @@
"status.report": "Raporti @{name}",
"status.sensitive_warning": "Tikla enhavo",
"status.share": "Kundividi",
- "status.show_filter_reason": "Ĉial montri",
- "status.show_less": "Montri malpli",
"status.show_less_all": "Montri malpli ĉiun",
- "status.show_more": "Montri pli",
"status.show_more_all": "Montri pli ĉiun",
"status.show_original": "Montru originalon",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
@@ -659,10 +677,6 @@
"time_remaining.minutes": "{number, plural, one {# minuto} other {# minutoj}} restas",
"time_remaining.moments": "Momenteto restas",
"time_remaining.seconds": "{number, plural, one {# sekundo} other {# sekundoj}} restas",
- "timeline_hint.remote_resource_not_displayed": "{resource} de aliaj serviloj ne estas montrata.",
- "timeline_hint.resources.followers": "Sekvantoj",
- "timeline_hint.resources.follows": "Sekvatoj",
- "timeline_hint.resources.statuses": "Pli malnovaj mesaĝoj",
"trends.counter_by_accounts": "{count, plural, one {{counter} persono} other {{counter} personoj}} dum la pasinta{days, plural, one { tago} other {j {days} tagoj}}",
"trends.trending_now": "Nunaj furoraĵoj",
"ui.beforeunload": "Via malneto perdiĝos se vi eliras de Mastodon.",
diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json
index 0722a08ea63975..dfba0fe5d97f20 100644
--- a/app/javascript/mastodon/locales/es-AR.json
+++ b/app/javascript/mastodon/locales/es-AR.json
@@ -19,7 +19,6 @@
"account.block_domain": "Bloquear dominio {domain}",
"account.block_short": "Bloquear",
"account.blocked": "Bloqueado",
- "account.browse_more_on_origin_server": "Explorar más en el perfil original",
"account.cancel_follow_request": "Dejar de seguir",
"account.copy": "Copiar enlace al perfil",
"account.direct": "Mención privada a @{name}",
@@ -98,6 +97,8 @@
"block_modal.title": "¿Bloquear usuario?",
"block_modal.you_wont_see_mentions": "No verás mensajes que los mencionen.",
"boost_modal.combo": "Podés hacer clic en {combo} para saltar esto la próxima vez",
+ "boost_modal.reblog": "¿Adherir al mensaje?",
+ "boost_modal.undo_reblog": "¿Dejar de adherir al mensaje?",
"bundle_column_error.copy_stacktrace": "Copiar informe de error",
"bundle_column_error.error.body": "La página solicitada no pudo ser cargada. Podría deberse a un error de programación en nuestro código o a un problema de compatibilidad con el navegador web.",
"bundle_column_error.error.title": "¡Epa!",
@@ -193,6 +194,8 @@
"confirmations.unfollow.confirm": "Dejar de seguir",
"confirmations.unfollow.message": "¿Estás seguro que querés dejar de seguir a {name}?",
"confirmations.unfollow.title": "¿Dejar de seguir al usuario?",
+ "content_warning.hide": "Ocultar mensaje",
+ "content_warning.show": "Mostrar de todos modos",
"conversation.delete": "Eliminar conversación",
"conversation.mark_as_read": "Marcar como leída",
"conversation.open": "Ver conversación",
@@ -300,6 +303,7 @@
"filter_modal.select_filter.subtitle": "Usar una categoría existente o crear una nueva",
"filter_modal.select_filter.title": "Filtrar este mensaje",
"filter_modal.title.status": "Filtrar un mensaje",
+ "filter_warning.matches_filter": "Coincide con el filtro “{title}”",
"filtered_notifications_banner.pending_requests": "De {count, plural, =0 {nadie} one {una persona} other {# personas}} que podrías conocer",
"filtered_notifications_banner.title": "Notificaciones filtradas",
"firehose.all": "Todos",
@@ -349,6 +353,14 @@
"hashtag.follow": "Seguir etiqueta",
"hashtag.unfollow": "Dejar de seguir etiqueta",
"hashtags.and_other": "…y {count, plural, other {# más}}",
+ "hints.profiles.followers_may_be_missing": "Es posible que falten seguidores de este perfil.",
+ "hints.profiles.follows_may_be_missing": "Es posible que falten seguimientos a este perfil.",
+ "hints.profiles.posts_may_be_missing": "Es posible que falten mensajes de este perfil.",
+ "hints.profiles.see_more_followers": "Ver más seguidores en {domain}",
+ "hints.profiles.see_more_follows": "Ver más seguimientos en {domain}",
+ "hints.profiles.see_more_posts": "Ver más mensajes en {domain}",
+ "hints.threads.replies_may_be_missing": "Es posible que falten respuestas de otros servidores.",
+ "hints.threads.see_more": "Ver más respuestas en {domain}",
"home.column_settings.show_reblogs": "Mostrar adhesiones",
"home.column_settings.show_replies": "Mostrar respuestas",
"home.hide_announcements": "Ocultar anuncios",
@@ -445,7 +457,7 @@
"lists.subheading": "Tus listas",
"load_pending": "{count, plural, one {# elemento nuevo} other {# elementos nuevos}}",
"loading_indicator.label": "Cargando…",
- "media_gallery.toggle_visible": "Ocultar {number, plural, one {imagen} other {imágenes}}",
+ "media_gallery.hide": "Ocultar",
"moved_to_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada porque te mudaste a {movedToAccount}.",
"mute_modal.hide_from_notifications": "Ocultar en las notificaciones",
"mute_modal.hide_options": "Ocultar opciones",
@@ -456,9 +468,8 @@
"mute_modal.title": "¿Silenciar usuario?",
"mute_modal.you_wont_see_mentions": "No verás mensajes que los mencionen.",
"mute_modal.you_wont_see_posts": "Todavía pueden ver tus mensajes, pero vos no verás los suyos.",
- "name_and_others": "{name} y {count, plural, one {# cuenta más} other {# cuentas más}}",
- "name_and_others_with_link": "{name} y
{count, plural, one {# cuenta más} other {# cuentas más}}",
"navigation_bar.about": "Información",
+ "navigation_bar.administration": "Administración",
"navigation_bar.advanced_interface": "Abrir en interface web avanzada",
"navigation_bar.blocks": "Usuarios bloqueados",
"navigation_bar.bookmarks": "Marcadores",
@@ -475,6 +486,7 @@
"navigation_bar.follows_and_followers": "Cuentas seguidas y seguidores",
"navigation_bar.lists": "Listas",
"navigation_bar.logout": "Cerrar sesión",
+ "navigation_bar.moderation": "Moderación",
"navigation_bar.mutes": "Usuarios silenciados",
"navigation_bar.opened_in_classic_interface": "Los mensajes, las cuentas y otras páginas específicas se abren predeterminadamente en la interface web clásica.",
"navigation_bar.personal": "Personal",
@@ -490,9 +502,13 @@
"notification.admin.report_statuses": "{name} denunció a {target} por {category}",
"notification.admin.report_statuses_other": "{name} denunció a {target}",
"notification.admin.sign_up": "Se registró {name}",
+ "notification.admin.sign_up.name_and_others": "Se registraron {name} y {count, plural, one {# cuenta más} other {# cuentas más}}",
"notification.favourite": "{name} marcó tu mensaje como favorito",
+ "notification.favourite.name_and_others_with_link": "{name} y
{count, plural, one {# cuenta más} other {# cuentas más}} marcaron tu mensaje como favorito",
"notification.follow": "{name} te empezó a seguir",
+ "notification.follow.name_and_others": "{name} y {count, plural, one {# cuenta más} other {# cuentas más}} te están siguiendo",
"notification.follow_request": "{name} solicitó seguirte",
+ "notification.follow_request.name_and_others": "{name} y {count, plural, one {# cuenta más} other {# cuentas más}} solicitaron seguirte",
"notification.label.mention": "Mención",
"notification.label.private_mention": "Mención privada",
"notification.label.private_reply": "Respuesta privada",
@@ -510,6 +526,7 @@
"notification.own_poll": "Tu encuesta finalizó",
"notification.poll": "Finalizó una encuesta en la que votaste",
"notification.reblog": "{name} adhirió a tu mensaje",
+ "notification.reblog.name_and_others_with_link": "{name} y
{count, plural, one {# cuenta más} other {# cuentas más}} marcaron tu mensaje como favorito",
"notification.relationships_severance_event": "Conexiones perdidas con {name}",
"notification.relationships_severance_event.account_suspension": "Un administrador de {from} suspendió a {target}, lo que significa que ya no podés recibir actualizaciones de esa cuenta o interactuar con la misma.",
"notification.relationships_severance_event.domain_block": "Un administrador de {from} bloqueó a {target}, incluyendo {followersCount} de tus seguidores y {followingCount, plural, one {# cuenta} other {# cuentas}} que seguís.",
@@ -518,19 +535,17 @@
"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.accept_multiple": "{count, plural, one {Aceptar # solicitud…} other {Aceptar # solicitudes…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Aceptar solicitud} other {Aceptar solicitudes}}",
+ "notification_requests.confirm_accept_multiple.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_multiple.title": "¿Aceptar solicitudes de notificación?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Descartar solicitud} other {Descartar solicitudes}}",
+ "notification_requests.confirm_dismiss_multiple.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_multiple.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.dismiss_multiple": "{count, plural, one {Descartar # solicitud…} other {Descartar # solicitudes…}}",
+ "notification_requests.edit_selection": "Editar",
+ "notification_requests.exit_selection": "Listo",
"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",
@@ -765,6 +780,7 @@
"status.bookmark": "Marcar",
"status.cancel_reblog_private": "Quitar adhesión",
"status.cannot_reblog": "No se puede adherir a este mensaje",
+ "status.continued_thread": "Continuación de hilo",
"status.copy": "Copiar enlace al mensaje",
"status.delete": "Eliminar",
"status.detailed_status": "Vista de conversación detallada",
@@ -777,8 +793,6 @@
"status.favourite": "Marcar como favorito",
"status.favourites": "{count, plural, one {# voto} other {# votos}}",
"status.filter": "Filtrar este mensaje",
- "status.filtered": "Filtrado",
- "status.hide": "Ocultar mensaje",
"status.history.created": "Creado por {name}, {date}",
"status.history.edited": "Editado por {name}, {date}",
"status.load_more": "Cargar más",
@@ -800,16 +814,14 @@
"status.reblogs.empty": "Todavía nadie adhirió a este mensaje. Cuando alguien lo haga, se mostrará acá.",
"status.redraft": "Eliminar mensaje original y editarlo",
"status.remove_bookmark": "Quitar marcador",
+ "status.replied_in_thread": "Respuesta en hilo",
"status.replied_to": "Respondió a {name}",
"status.reply": "Responder",
"status.replyAll": "Responder al hilo",
"status.report": "Denunciar a @{name}",
"status.sensitive_warning": "Contenido sensible",
"status.share": "Compartir",
- "status.show_filter_reason": "Mostrar de todos modos",
- "status.show_less": "Mostrar menos",
"status.show_less_all": "Mostrar menos para todo",
- "status.show_more": "Mostrar más",
"status.show_more_all": "Mostrar más para todo",
"status.show_original": "Mostrar original",
"status.title.with_attachments": "{user} envió {attachmentCount, plural, one {un adjunto} other {{attachmentCount} adjuntos}}",
@@ -828,11 +840,6 @@
"time_remaining.minutes": "{number, plural,one {queda # minuto} other {quedan # minutos}}",
"time_remaining.moments": "Momentos restantes",
"time_remaining.seconds": "{number, plural,one {queda # segundo} other {quedan # segundos}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} desde otros servidores no se muestran.",
- "timeline_hint.resources.followers": "Tus seguidores",
- "timeline_hint.resources.follows": "Las cuentas que seguís",
- "timeline_hint.resources.replies": "Algunas respuestas",
- "timeline_hint.resources.statuses": "Mensajes más antiguos",
"trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} personas}} en {days, plural, one {el pasado día} other {los pasados {days} días}}",
"trends.trending_now": "Tendencia ahora",
"ui.beforeunload": "Tu borrador se perderá si abandonás Mastodon.",
diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json
index 0ff6c25328fda1..63f3d53812ca67 100644
--- a/app/javascript/mastodon/locales/es-MX.json
+++ b/app/javascript/mastodon/locales/es-MX.json
@@ -19,7 +19,6 @@
"account.block_domain": "Bloquear dominio {domain}",
"account.block_short": "Bloquear",
"account.blocked": "Bloqueado",
- "account.browse_more_on_origin_server": "Ver más en el perfil original",
"account.cancel_follow_request": "Retirar solicitud de seguimiento",
"account.copy": "Copiar enlace al perfil",
"account.direct": "Mención privada @{name}",
@@ -98,6 +97,8 @@
"block_modal.title": "¿Bloquear usuario?",
"block_modal.you_wont_see_mentions": "No verás publicaciones que los mencionen.",
"boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la próxima vez",
+ "boost_modal.reblog": "¿Impulsar la publicación?",
+ "boost_modal.undo_reblog": "¿Dejar de impulsar la publicación?",
"bundle_column_error.copy_stacktrace": "Copiar informe de error",
"bundle_column_error.error.body": "La página solicitada no pudo ser renderizada. Podría deberse a un error en nuestro código o a un problema de compatibilidad con el navegador.",
"bundle_column_error.error.title": "¡Oh, no!",
@@ -193,6 +194,8 @@
"confirmations.unfollow.confirm": "Dejar de seguir",
"confirmations.unfollow.message": "¿Estás seguro de que quieres dejar de seguir a {name}?",
"confirmations.unfollow.title": "¿Dejar de seguir al usuario?",
+ "content_warning.hide": "Ocultar publicación",
+ "content_warning.show": "Mostrar de todos modos",
"conversation.delete": "Borrar conversación",
"conversation.mark_as_read": "Marcar como leído",
"conversation.open": "Ver conversación",
@@ -300,6 +303,7 @@
"filter_modal.select_filter.subtitle": "Usar una categoría existente o crear una nueva",
"filter_modal.select_filter.title": "Filtrar esta publicación",
"filter_modal.title.status": "Filtrar una publicación",
+ "filter_warning.matches_filter": "Coincide con el filtro “{title}”",
"filtered_notifications_banner.pending_requests": "De {count, plural, =0 {nadie} one {una persona} other {# personas}} que puede que conozcas",
"filtered_notifications_banner.title": "Notificaciones filtradas",
"firehose.all": "Todas",
@@ -349,6 +353,14 @@
"hashtag.follow": "Seguir etiqueta",
"hashtag.unfollow": "Dejar de seguir etiqueta",
"hashtags.and_other": "…y {count, plural, other {# más}}",
+ "hints.profiles.followers_may_be_missing": "Puede que no se muestren todos los seguidores de este perfil.",
+ "hints.profiles.follows_may_be_missing": "Puede que no se muestren todas las cuentas seguidas por este perfil.",
+ "hints.profiles.posts_may_be_missing": "Puede que no se muestren todas las publicaciones de este perfil.",
+ "hints.profiles.see_more_followers": "Ver más seguidores en {domain}",
+ "hints.profiles.see_more_follows": "Ver más perfiles seguidos en {domain}",
+ "hints.profiles.see_more_posts": "Ver más publicaciones en {domain}",
+ "hints.threads.replies_may_be_missing": "Puede que no se muestren algunas respuestas de otros servidores.",
+ "hints.threads.see_more": "Ver más respuestas en {domain}",
"home.column_settings.show_reblogs": "Mostrar retoots",
"home.column_settings.show_replies": "Mostrar respuestas",
"home.hide_announcements": "Ocultar anuncios",
@@ -445,7 +457,6 @@
"lists.subheading": "Tus listas",
"load_pending": "{count, plural, one {# nuevo elemento} other {# nuevos elementos}}",
"loading_indicator.label": "Cargando…",
- "media_gallery.toggle_visible": "Cambiar visibilidad",
"moved_to_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada porque te has mudado a {movedToAccount}.",
"mute_modal.hide_from_notifications": "Ocultar de las notificaciones",
"mute_modal.hide_options": "Ocultar opciones",
@@ -456,9 +467,8 @@
"mute_modal.title": "¿Silenciar usuario?",
"mute_modal.you_wont_see_mentions": "No verás publicaciones que los mencionen.",
"mute_modal.you_wont_see_posts": "Todavía pueden ver tus publicaciones, pero tú no verás las de ellos.",
- "name_and_others": "{name} y {count, plural, one {# más} other {# más}}",
- "name_and_others_with_link": "{name} y
{count, plural, one {# más} other {# más}}",
"navigation_bar.about": "Acerca de",
+ "navigation_bar.administration": "Administración",
"navigation_bar.advanced_interface": "Abrir en interfaz web avanzada",
"navigation_bar.blocks": "Usuarios bloqueados",
"navigation_bar.bookmarks": "Marcadores",
@@ -475,6 +485,7 @@
"navigation_bar.follows_and_followers": "Siguiendo y seguidores",
"navigation_bar.lists": "Listas",
"navigation_bar.logout": "Cerrar sesión",
+ "navigation_bar.moderation": "Moderación",
"navigation_bar.mutes": "Usuarios silenciados",
"navigation_bar.opened_in_classic_interface": "Publicaciones, cuentas y otras páginas específicas se abren por defecto en la interfaz web clásica.",
"navigation_bar.personal": "Personal",
@@ -490,9 +501,13 @@
"notification.admin.report_statuses": "{name} informó de {target} por {category}",
"notification.admin.report_statuses_other": "{name} informó de {target}",
"notification.admin.sign_up": "{name} se unio",
+ "notification.admin.sign_up.name_and_others": "{name} y {count, plural, one {# más} other {# más}} se registraron",
"notification.favourite": "{name} marcó como favorita tu publicación",
+ "notification.favourite.name_and_others_with_link": "{name} y
{count, plural, one {# más} other {# más}} marcaron tu publicación como favorita",
"notification.follow": "{name} te empezó a seguir",
+ "notification.follow.name_and_others": "{name} y {count, plural, one {# más} other {# más}} te siguieron",
"notification.follow_request": "{name} ha solicitado seguirte",
+ "notification.follow_request.name_and_others": "{name} y {count, plural, one {# más} other {# más}} han solicitado seguirte",
"notification.label.mention": "Mención",
"notification.label.private_mention": "Mención privada",
"notification.label.private_reply": "Respuesta privada",
@@ -510,6 +525,7 @@
"notification.own_poll": "Tu encuesta ha terminado",
"notification.poll": "Una encuesta ha terminado",
"notification.reblog": "{name} ha retooteado tu estado",
+ "notification.reblog.name_and_others_with_link": "{name} y
{count, plural, one {# más} other {# más}} impulsaron tu publicación",
"notification.relationships_severance_event": "Conexiones perdidas con {name}",
"notification.relationships_severance_event.account_suspension": "Un administrador de {from} ha suspendido {target}, lo que significa que ya no puedes recibir actualizaciones de sus cuentas o interactuar con ellas.",
"notification.relationships_severance_event.domain_block": "Un administrador de {from} ha bloqueado {target}, incluyendo {followersCount} de tus seguidores y {followingCount, plural, one {# cuenta} other {# cuentas}} que sigues.",
@@ -518,19 +534,17 @@
"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.accept_multiple": "{count, plural, one {Aceptar # solicitud…} other {Aceptar # solicitudes…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Aceptar solicitud} other {Aceptar solicitudes}}",
+ "notification_requests.confirm_accept_multiple.message": "Vas a aceptar {count, plural, one {una solicitud} other {# solicitudes}}. ¿Quieres continuar?",
+ "notification_requests.confirm_accept_multiple.title": "¿Aceptar las solicitudes?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Descartar solicitud} other {Descartar solicitudes}}",
+ "notification_requests.confirm_dismiss_multiple.message": "Vas a descartar {count, plural, one {una solicitud} other {# solicitudes}}. No podrás volver a acceder fácilmente a {count, plural, one {ella} other {ellas}} de nuevo. ¿Seguro que quieres continuar?",
+ "notification_requests.confirm_dismiss_multiple.title": "¿Descartar 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.dismiss_multiple": "{count, plural, one {Descartar # solicitud…} other {Descartar # solicitudes…}}",
+ "notification_requests.edit_selection": "Editar",
+ "notification_requests.exit_selection": "Hecho",
"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",
@@ -777,8 +791,6 @@
"status.favourite": "Favorito",
"status.favourites": "{count, plural, one {favorito} other {favoritos}}",
"status.filter": "Filtrar esta publicación",
- "status.filtered": "Filtrado",
- "status.hide": "Ocultar toot",
"status.history.created": "{name} creó {date}",
"status.history.edited": "{name} editado {date}",
"status.load_more": "Cargar más",
@@ -806,10 +818,7 @@
"status.report": "Reportar",
"status.sensitive_warning": "Contenido sensible",
"status.share": "Compartir",
- "status.show_filter_reason": "Mostrar de todos modos",
- "status.show_less": "Mostrar menos",
"status.show_less_all": "Mostrar menos para todo",
- "status.show_more": "Mostrar más",
"status.show_more_all": "Mostrar más para todo",
"status.show_original": "Mostrar original",
"status.title.with_attachments": "{user} ha publicado {attachmentCount, plural, one {un adjunto} other {{attachmentCount} adjuntos}}",
@@ -828,11 +837,6 @@
"time_remaining.minutes": "{number, plural, one {# minuto restante} other {# minutos restantes}}",
"time_remaining.moments": "Momentos restantes",
"time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} de otros servidores no se muestran.",
- "timeline_hint.resources.followers": "Seguidores",
- "timeline_hint.resources.follows": "Seguidos",
- "timeline_hint.resources.replies": "Algunas respuestas",
- "timeline_hint.resources.statuses": "Toots más antiguos",
"trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} personas}} en los últimos {days, plural, one {días} other {{days} días}}",
"trends.trending_now": "Tendencia ahora",
"ui.beforeunload": "Tu borrador se perderá si sales de Mastodon.",
diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json
index b8f5de997a24c4..b01eb68222a294 100644
--- a/app/javascript/mastodon/locales/es.json
+++ b/app/javascript/mastodon/locales/es.json
@@ -19,7 +19,6 @@
"account.block_domain": "Bloquear dominio {domain}",
"account.block_short": "Bloquear",
"account.blocked": "Bloqueado",
- "account.browse_more_on_origin_server": "Ver más en el perfil original",
"account.cancel_follow_request": "Retirar solicitud de seguimiento",
"account.copy": "Copiar enlace al perfil",
"account.direct": "Mención privada a @{name}",
@@ -98,6 +97,8 @@
"block_modal.title": "¿Bloquear usuario?",
"block_modal.you_wont_see_mentions": "No verás mensajes que los mencionen.",
"boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la próxima vez",
+ "boost_modal.reblog": "¿Impulsar la publicación?",
+ "boost_modal.undo_reblog": "¿Dejar de impulsar la publicación?",
"bundle_column_error.copy_stacktrace": "Copiar informe de error",
"bundle_column_error.error.body": "La página solicitada no pudo ser renderizada. Podría deberse a un error en nuestro código o a un problema de compatibilidad con el navegador.",
"bundle_column_error.error.title": "¡Oh, no!",
@@ -193,6 +194,8 @@
"confirmations.unfollow.confirm": "Dejar de seguir",
"confirmations.unfollow.message": "¿Seguro que quieres dejar de seguir a {name}?",
"confirmations.unfollow.title": "¿Dejar de seguir al usuario?",
+ "content_warning.hide": "Ocultar publicación",
+ "content_warning.show": "Mostrar de todos modos",
"conversation.delete": "Borrar conversación",
"conversation.mark_as_read": "Marcar como leído",
"conversation.open": "Ver conversación",
@@ -300,6 +303,7 @@
"filter_modal.select_filter.subtitle": "Usar una categoría existente o crear una nueva",
"filter_modal.select_filter.title": "Filtrar esta publicación",
"filter_modal.title.status": "Filtrar una publicación",
+ "filter_warning.matches_filter": "Coincide con el filtro “{title}”",
"filtered_notifications_banner.pending_requests": "De {count, plural, =0 {nadie} one {una persona} other {# personas}} que puede que conozcas",
"filtered_notifications_banner.title": "Notificaciones filtradas",
"firehose.all": "Todas",
@@ -349,6 +353,14 @@
"hashtag.follow": "Seguir etiqueta",
"hashtag.unfollow": "Dejar de seguir etiqueta",
"hashtags.and_other": "…y {count, plural, other {# más}}",
+ "hints.profiles.followers_may_be_missing": "Puede que no se muestren todos los seguidores de este perfil.",
+ "hints.profiles.follows_may_be_missing": "Puede que no se muestren todas las cuentas seguidas por este perfil.",
+ "hints.profiles.posts_may_be_missing": "Puede que no se muestren todas las publicaciones de este perfil.",
+ "hints.profiles.see_more_followers": "Ver más seguidores en {domain}",
+ "hints.profiles.see_more_follows": "Ver más perfiles seguidos en {domain}",
+ "hints.profiles.see_more_posts": "Ver más publicaciones en {domain}",
+ "hints.threads.replies_may_be_missing": "Puede que no se muestren algunas respuestas de otros servidores.",
+ "hints.threads.see_more": "Ver más respuestas en {domain}",
"home.column_settings.show_reblogs": "Mostrar impulsos",
"home.column_settings.show_replies": "Mostrar respuestas",
"home.hide_announcements": "Ocultar anuncios",
@@ -445,7 +457,6 @@
"lists.subheading": "Tus listas",
"load_pending": "{count, plural, one {# nuevo elemento} other {# nuevos elementos}}",
"loading_indicator.label": "Cargando…",
- "media_gallery.toggle_visible": "Cambiar visibilidad",
"moved_to_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada porque te has mudado a {movedToAccount}.",
"mute_modal.hide_from_notifications": "Ocultar de las notificaciones",
"mute_modal.hide_options": "Ocultar opciones",
@@ -456,9 +467,8 @@
"mute_modal.title": "¿Silenciar usuario?",
"mute_modal.you_wont_see_mentions": "No verás mensajes que los mencionen.",
"mute_modal.you_wont_see_posts": "Todavía pueden ver tus publicaciones, pero tú no verás las suyas.",
- "name_and_others": "{name} y {count, plural, one {# más} other {# más}}",
- "name_and_others_with_link": "{name} y
{count, plural, one {# más} other {# más}}",
"navigation_bar.about": "Acerca de",
+ "navigation_bar.administration": "Administración",
"navigation_bar.advanced_interface": "Abrir en la interfaz web avanzada",
"navigation_bar.blocks": "Usuarios bloqueados",
"navigation_bar.bookmarks": "Marcadores",
@@ -475,6 +485,7 @@
"navigation_bar.follows_and_followers": "Siguiendo y seguidores",
"navigation_bar.lists": "Listas",
"navigation_bar.logout": "Cerrar sesión",
+ "navigation_bar.moderation": "Moderación",
"navigation_bar.mutes": "Usuarios silenciados",
"navigation_bar.opened_in_classic_interface": "Publicaciones, cuentas y otras páginas específicas se abren por defecto en la interfaz web clásica.",
"navigation_bar.personal": "Personal",
@@ -490,9 +501,13 @@
"notification.admin.report_statuses": "{name} informó de {target} por {category}",
"notification.admin.report_statuses_other": "{name} informó de {target}",
"notification.admin.sign_up": "{name} se registró",
+ "notification.admin.sign_up.name_and_others": "{name} y {count, plural, one {# más} other {# más}} se registraron",
"notification.favourite": "{name} marcó como favorita tu publicación",
+ "notification.favourite.name_and_others_with_link": "{name} y
{count, plural, one {# más} other {# más}} marcaron tu publicación como favorita",
"notification.follow": "{name} te empezó a seguir",
+ "notification.follow.name_and_others": "{name} y {count, plural, one {# más} other {# más}} te siguieron",
"notification.follow_request": "{name} ha solicitado seguirte",
+ "notification.follow_request.name_and_others": "{name} y {count, plural, one {# más} other {# más}} han solicitado seguirte",
"notification.label.mention": "Mención",
"notification.label.private_mention": "Mención privada",
"notification.label.private_reply": "Respuesta privada",
@@ -510,6 +525,7 @@
"notification.own_poll": "Tu encuesta ha terminado",
"notification.poll": "Una encuesta ha terminado",
"notification.reblog": "{name} ha impulsado tu publicación",
+ "notification.reblog.name_and_others_with_link": "{name} y
{count, plural, one {# más} other {# más}} impulsaron tu publicación",
"notification.relationships_severance_event": "Conexiones perdidas con {name}",
"notification.relationships_severance_event.account_suspension": "Un administrador de {from} ha suspendido {target}, lo que significa que ya no puedes recibir actualizaciones de sus cuentas o interactuar con ellas.",
"notification.relationships_severance_event.domain_block": "Un administrador de {from} ha bloqueado {target}, incluyendo {followersCount} de tus seguidores y {followingCount, plural, one {# cuenta} other {# cuentas}} que sigues.",
@@ -518,19 +534,17 @@
"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.accept_multiple": "{count, plural, one {Aceptar # solicitud…} other {Aceptar # solicitudes…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Aceptar solicitud} other {Aceptar solicitudes}}",
+ "notification_requests.confirm_accept_multiple.message": "Vas a aceptar {count, plural, one {una solicitud} other {# solicitudes}}. ¿Quieres continuar?",
+ "notification_requests.confirm_accept_multiple.title": "¿Aceptar las solicitudes?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Descartar solicitud} other {Descartar solicitudes}}",
+ "notification_requests.confirm_dismiss_multiple.message": "Vas a descartar {count, plural, one {una solicitud} other {# solicitudes}}. No podrás volver a acceder fácilmente a {count, plural, one {ella} other {ellas}} de nuevo. ¿Seguro que quieres continuar?",
+ "notification_requests.confirm_dismiss_multiple.title": "¿Descartar 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.dismiss_multiple": "{count, plural, one {Descartar # solicitud…} other {Descartar # solicitudes…}}",
+ "notification_requests.edit_selection": "Editar",
+ "notification_requests.exit_selection": "Hecho",
"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",
@@ -777,8 +791,6 @@
"status.favourite": "Favorito",
"status.favourites": "{count, plural, one {favorito} other {favoritos}}",
"status.filter": "Filtrar esta publicación",
- "status.filtered": "Filtrado",
- "status.hide": "Ocultar publicación",
"status.history.created": "{name} creó {date}",
"status.history.edited": "{name} editó {date}",
"status.load_more": "Cargar más",
@@ -806,10 +818,7 @@
"status.report": "Reportar",
"status.sensitive_warning": "Contenido sensible",
"status.share": "Compartir",
- "status.show_filter_reason": "Mostrar de todos modos",
- "status.show_less": "Mostrar menos",
"status.show_less_all": "Mostrar menos para todo",
- "status.show_more": "Mostrar más",
"status.show_more_all": "Mostrar más para todo",
"status.show_original": "Mostrar original",
"status.title.with_attachments": "{user} ha publicado {attachmentCount, plural, one {un adjunto} other {{attachmentCount} adjuntos}}",
@@ -828,11 +837,6 @@
"time_remaining.minutes": "{number, plural, one {# minuto restante} other {# minutos restantes}}",
"time_remaining.moments": "Momentos restantes",
"time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} de otros servidores no se muestran.",
- "timeline_hint.resources.followers": "Seguidores",
- "timeline_hint.resources.follows": "Seguidos",
- "timeline_hint.resources.replies": "Algunas respuestas",
- "timeline_hint.resources.statuses": "Publicaciones más antiguas",
"trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} personas}} en los últimos {days, plural, one {días} other {{days} días}}",
"trends.trending_now": "Tendencia ahora",
"ui.beforeunload": "Tu borrador se perderá si sales de Mastodon.",
diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json
index 737ee1bad0d1e4..ca37a152fe593c 100644
--- a/app/javascript/mastodon/locales/et.json
+++ b/app/javascript/mastodon/locales/et.json
@@ -11,6 +11,7 @@
"about.not_available": "See info ei ole sellel serveril saadavaks tehtud.",
"about.powered_by": "Hajutatud sotsiaalmeedia, mille taga on {mastodon}",
"about.rules": "Serveri reeglid",
+ "account.account_note_header": "Isiklik märge",
"account.add_or_remove_from_list": "Lisa või Eemalda nimekirjadest",
"account.badges.bot": "Robot",
"account.badges.group": "Grupp",
@@ -18,7 +19,6 @@
"account.block_domain": "Peida kõik domeenist {domain}",
"account.block_short": "Blokeerimine",
"account.blocked": "Blokeeritud",
- "account.browse_more_on_origin_server": "Vaata rohkem algsel profiilil",
"account.cancel_follow_request": "Võta jälgimistaotlus tagasi",
"account.copy": "Kopeeri profiili link",
"account.direct": "Maini privaatselt @{name}",
@@ -34,7 +34,9 @@
"account.follow_back": "Jälgi vastu",
"account.followers": "Jälgijad",
"account.followers.empty": "Keegi ei jälgi veel seda kasutajat.",
+ "account.followers_counter": "{count, plural, one {{counter} jälgija} other {{counter} jälgijat}}",
"account.following": "Jälgib",
+ "account.following_counter": "{count, plural, one {{counter} jälgib} other {{counter} jälgib}}",
"account.follows.empty": "See kasutaja ei jälgi veel kedagi.",
"account.go_to_profile": "Mine profiilile",
"account.hide_reblogs": "Peida @{name} jagamised",
@@ -60,6 +62,7 @@
"account.requested_follow": "{name} on taodelnud sinu jälgimist",
"account.share": "Jaga @{name} profiili",
"account.show_reblogs": "Näita @{name} jagamisi",
+ "account.statuses_counter": "{count, plural, one {{counter} postitus} other {{counter} postitust}}",
"account.unblock": "Eemalda blokeering @{name}",
"account.unblock_domain": "Tee {domain} nähtavaks",
"account.unblock_short": "Eemalda blokeering",
@@ -94,6 +97,8 @@
"block_modal.title": "Blokeeri kasutaja?",
"block_modal.you_wont_see_mentions": "Sa ei näe postitusi, mis mainivad teda.",
"boost_modal.combo": "Vajutades {combo}, saab selle edaspidi vahele jätta",
+ "boost_modal.reblog": "Jagada postitust?",
+ "boost_modal.undo_reblog": "Tühista postituse jagamine?",
"bundle_column_error.copy_stacktrace": "Kopeeri veateade",
"bundle_column_error.error.body": "Soovitud lehte ei õnnestunud esitada. See võib olla meie koodiviga või probleem brauseri ühilduvusega.",
"bundle_column_error.error.title": "Oh, ei!",
@@ -167,21 +172,30 @@
"confirmations.block.confirm": "Blokeeri",
"confirmations.delete.confirm": "Kustuta",
"confirmations.delete.message": "Oled kindel, et soovid postituse kustutada?",
+ "confirmations.delete.title": "Kustutada postitus?",
"confirmations.delete_list.confirm": "Kustuta",
"confirmations.delete_list.message": "Oled kindel, et soovid selle loetelu pöördumatult kustutada?",
+ "confirmations.delete_list.title": "Kustutada loetelu?",
"confirmations.discard_edit_media.confirm": "Hülga",
"confirmations.discard_edit_media.message": "Sul on salvestamata muudatusi meediakirjelduses või eelvaates, kas hülgad need?",
"confirmations.edit.confirm": "Muuda",
"confirmations.edit.message": "Muutes praegu kirjutatakse hetkel loodav sõnum üle. Kas oled kindel, et soovid jätkata?",
+ "confirmations.edit.title": "Kirjutada postitus üle?",
"confirmations.logout.confirm": "Välju",
"confirmations.logout.message": "Kas oled kindel, et soovid välja logida?",
+ "confirmations.logout.title": "Logida välja?",
"confirmations.mute.confirm": "Vaigista",
"confirmations.redraft.confirm": "Kustuta & taasalusta",
"confirmations.redraft.message": "Kindel, et soovid postituse kustutada ja võtta uue aluseks? Lemmikuks märkimised ja jagamised lähevad kaotsi ning vastused jäävad ilma algse postituseta.",
+ "confirmations.redraft.title": "Kustudada ja luua postituse mustand?",
"confirmations.reply.confirm": "Vasta",
"confirmations.reply.message": "Praegu vastamine kirjutab hetkel koostatava sõnumi üle. Oled kindel, et soovid jätkata?",
+ "confirmations.reply.title": "Kirjutada postitus üle?",
"confirmations.unfollow.confirm": "Ära jälgi",
"confirmations.unfollow.message": "Oled kindel, et ei soovi rohkem jälgida kasutajat {name}?",
+ "confirmations.unfollow.title": "Ei jälgi enam kasutajat?",
+ "content_warning.hide": "Peida postitus",
+ "content_warning.show": "Näita ikkagi",
"conversation.delete": "Kustuta vestlus",
"conversation.mark_as_read": "Märgi loetuks",
"conversation.open": "Vaata vestlust",
@@ -289,6 +303,8 @@
"filter_modal.select_filter.subtitle": "Kasuta olemasolevat kategooriat või loo uus",
"filter_modal.select_filter.title": "Filtreeri seda postitust",
"filter_modal.title.status": "Postituse filtreerimine",
+ "filter_warning.matches_filter": "Sobib filtriga “{title}”",
+ "filtered_notifications_banner.pending_requests": "{count, plural, =0 {Mitte üheltki inimeselt} one {Ühelt inimeselt} other {# inimeselt}}, keda võid teada",
"filtered_notifications_banner.title": "Filtreeritud teavitused",
"firehose.all": "Kõik",
"firehose.local": "See server",
@@ -337,6 +353,14 @@
"hashtag.follow": "Jälgi silti",
"hashtag.unfollow": "Lõpeta sildi jälgimine",
"hashtags.and_other": "…ja {count, plural, one {}other {# veel}}",
+ "hints.profiles.followers_may_be_missing": "Selle profiili jälgijaid võib olla puudu.",
+ "hints.profiles.follows_may_be_missing": "Selle profiili poolt jälgitavaid võib olla puudu.",
+ "hints.profiles.posts_may_be_missing": "Mõned selle profiili postitused võivad olla puudu.",
+ "hints.profiles.see_more_followers": "Vaata rohkem jälgijaid kohas {domain}",
+ "hints.profiles.see_more_follows": "Vaata rohkem jälgitavaid kohas {domain}",
+ "hints.profiles.see_more_posts": "Vaata rohkem postitusi kohas {domain}",
+ "hints.threads.replies_may_be_missing": "Vastuseid teistest serveritest võib olla puudu.",
+ "hints.threads.see_more": "Vaata rohkem vastuseid kohas {domain}",
"home.column_settings.show_reblogs": "Näita jagamisi",
"home.column_settings.show_replies": "Näita vastuseid",
"home.hide_announcements": "Peida teadaanded",
@@ -344,6 +368,17 @@
"home.pending_critical_update.link": "Vaata uuendusi",
"home.pending_critical_update.title": "Saadaval kriitiline turvauuendus!",
"home.show_announcements": "Kuva teadaandeid",
+ "ignore_notifications_modal.disclaimer": "Mastodon ei saa teavitada kasutajaid, et ignoreerisid nende teavitusi. Teavituste ignoreerimine ei peata sõnumite endi saatmist.",
+ "ignore_notifications_modal.filter_instead": "Selle asemel filtreeri",
+ "ignore_notifications_modal.filter_to_act_users": "Saad endiselt kasutajaid vastu võtta, tagasi lükata või neist teatada",
+ "ignore_notifications_modal.filter_to_avoid_confusion": "Filtreerimine aitab vältida võimalikke segaminiajamisi",
+ "ignore_notifications_modal.filter_to_review_separately": "Saad filtreeritud teateid eraldi vaadata",
+ "ignore_notifications_modal.ignore": "Ignoreeri teavitusi",
+ "ignore_notifications_modal.limited_accounts_title": "Ignoreeri modereeritud kontode teavitusi?",
+ "ignore_notifications_modal.new_accounts_title": "Ignoreeri uute kontode teavitusi?",
+ "ignore_notifications_modal.not_followers_title": "Ignoreeri inimeste teavitusi, kes sind ei jälgi?",
+ "ignore_notifications_modal.not_following_title": "Ignoreeri inimeste teavitusi, keda sa ei jälgi?",
+ "ignore_notifications_modal.private_mentions_title": "Ignoreeri soovimatute eraviisiliste mainimiste teateid?",
"interaction_modal.description.favourite": "Mastodoni kontoga saad postituse lemmikuks märkida, et autor teaks, et sa hindad seda, ja jätta see hiljemaks alles.",
"interaction_modal.description.follow": "Mastodoni kontoga saad jälgida kasutajat {name}, et tema postitusi oma koduvoos näha.",
"interaction_modal.description.reblog": "Mastodoni kontoga saad seda postitust levitada, jagades seda oma jälgijatele.",
@@ -422,7 +457,6 @@
"lists.subheading": "Sinu nimekirjad",
"load_pending": "{count, plural, one {# uus kirje} other {# uut kirjet}}",
"loading_indicator.label": "Laadimine…",
- "media_gallery.toggle_visible": "{number, plural, one {Varja pilt} other {Varja pildid}}",
"moved_to_account_banner.text": "Kontot {disabledAccount} ei ole praegu võimalik kasutada, sest kolisid kontole {movedToAccount}.",
"mute_modal.hide_from_notifications": "Peida teavituste hulgast",
"mute_modal.hide_options": "Peida valikud",
@@ -434,6 +468,7 @@
"mute_modal.you_wont_see_mentions": "Sa ei näe postitusi, mis teda mainivad.",
"mute_modal.you_wont_see_posts": "Ta näeb jätkuvalt sinu postitusi, kuid sa ei näe tema omi.",
"navigation_bar.about": "Teave",
+ "navigation_bar.administration": "Administreerimine",
"navigation_bar.advanced_interface": "Ava kohandatud veebiliides",
"navigation_bar.blocks": "Blokeeritud kasutajad",
"navigation_bar.bookmarks": "Järjehoidjad",
@@ -450,6 +485,7 @@
"navigation_bar.follows_and_followers": "Jälgitavad ja jälgijad",
"navigation_bar.lists": "Nimekirjad",
"navigation_bar.logout": "Logi välja",
+ "navigation_bar.moderation": "Modereerimine",
"navigation_bar.mutes": "Vaigistatud kasutajad",
"navigation_bar.opened_in_classic_interface": "Postitused, kontod ja teised spetsiaalsed lehed avatakse vaikimisi klassikalises veebiliideses.",
"navigation_bar.personal": "Isiklik",
@@ -460,10 +496,23 @@
"navigation_bar.security": "Turvalisus",
"not_signed_in_indicator.not_signed_in": "Pead sisse logima, et saada ligipääsu sellele ressursile.",
"notification.admin.report": "{name} saatis teavituse {target} kohta",
+ "notification.admin.report_account": "{name} raporteeris {count, plural, one {ühest postitusest} other {# postitusest}} kohast {target} kategooriast {category}",
+ "notification.admin.report_account_other": "{name} raporteeris {count, plural, one {ühest postitusest} other {# postitusest}} kohast {target}",
+ "notification.admin.report_statuses": "{name} raporteeris {target} kategooriast {category}",
+ "notification.admin.report_statuses_other": "{name} raporteeris kohast {target}",
"notification.admin.sign_up": "{name} registreerus",
+ "notification.admin.sign_up.name_and_others": "{name} ja {count, plural, one {# veel} other {# teist}} liitus",
"notification.favourite": "{name} märkis su postituse lemmikuks",
+ "notification.favourite.name_and_others_with_link": "{name} ja
{count, plural, one {# veel} other {# teist}} märkis su postituse lemmikuks",
"notification.follow": "{name} alustas su jälgimist",
+ "notification.follow.name_and_others": "{name} ja {count, plural, one {# veel} other {# teist}} hakkas sind jälgima",
"notification.follow_request": "{name} soovib sind jälgida",
+ "notification.follow_request.name_and_others": "{name} ja {count, plural, one {# veel} other {# teist}} taotles sinu jälgimist",
+ "notification.label.mention": "Mainimine",
+ "notification.label.private_mention": "Privaatne mainimine",
+ "notification.label.private_reply": "Privaatne vastus",
+ "notification.label.reply": "Vastus",
+ "notification.mention": "Mainimine",
"notification.moderation-warning.learn_more": "Vaata lisa",
"notification.moderation_warning": "Said modereerimise hoiatuse",
"notification.moderation_warning.action_delete_statuses": "Mõni su postitus on eemaldatud.",
@@ -474,7 +523,9 @@
"notification.moderation_warning.action_silence": "Su kontole pandi piirang.",
"notification.moderation_warning.action_suspend": "Su konto on peatatud.",
"notification.own_poll": "Su küsitlus on lõppenud",
+ "notification.poll": "Hääletus, millel osalesid, on lõppenud",
"notification.reblog": "{name} jagas edasi postitust",
+ "notification.reblog.name_and_others_with_link": "{name} ja
{count, plural, one {# veel} other {# teist}} jagas su postitust",
"notification.relationships_severance_event": "Kadunud ühendus kasutajaga {name}",
"notification.relationships_severance_event.account_suspension": "{from} admin on kustutanud {target}, mis tähendab, et sa ei saa enam neilt uuendusi või suhelda nendega.",
"notification.relationships_severance_event.domain_block": "{from} admin on blokeerinud {target}, sealhulgas {followersCount} sinu jälgijat ja {followingCount, plural, one {# konto} other {# kontot}}, mida jälgid.",
@@ -483,14 +534,32 @@
"notification.status": "{name} just postitas",
"notification.update": "{name} muutis postitust",
"notification_requests.accept": "Nõus",
+ "notification_requests.accept_multiple": "{count, plural, one {Nõustu # taotlusega…} other {Nõustu # taotlusega…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Nõustu taotlusega} other {Nõustu taotlustega}}",
+ "notification_requests.confirm_accept_multiple.message": "Oled nõustumas {count, plural, one {ühe teavituse taotlusega} other {# teavituse taotlusega}}. Oled kindel, et soovid jätkata?",
+ "notification_requests.confirm_accept_multiple.title": "Nõustuda teavituste taotlustega?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Loobu taotlusest} other {Loobu taotlustest}}",
+ "notification_requests.confirm_dismiss_multiple.message": "Oled loobumas {count, plural, one {ühest teavituse taotlusest} other {# teavituse taotlusest}}. {count, plural, one {Sellele} other {Neile}} pole hiljem lihtne ligi pääseda. Oled kindel, et soovid jätkata?",
+ "notification_requests.confirm_dismiss_multiple.title": "Hüljata teavituse taotlused?",
"notification_requests.dismiss": "Hülga",
+ "notification_requests.dismiss_multiple": "{count, plural, one {Loobuda # taotlusest…} other {Loobuda # taotlusest…}}",
+ "notification_requests.edit_selection": "Muuda",
+ "notification_requests.exit_selection": "Valmis",
+ "notification_requests.explainer_for_limited_account": "Sellelt kontolt tulevad teavitused on filtreeritud, sest moderaator on seda kontot piiranud.",
+ "notification_requests.explainer_for_limited_remote_account": "Sellelt kontolt tulevad teavitused on filtreeritud, sest moderaator on seda kontot või serverit piiranud.",
+ "notification_requests.maximize": "Maksimeeri",
+ "notification_requests.minimize_banner": "Minimeeri filtreeritud teavituste bänner",
"notification_requests.notifications_from": "Teavitus kasutajalt {name}",
"notification_requests.title": "Filtreeritud teavitused",
+ "notification_requests.view": "Vaata teavitusi",
"notifications.clear": "Puhasta teated",
"notifications.clear_confirmation": "Oled kindel, et soovid püsivalt kõik oma teated eemaldada?",
+ "notifications.clear_title": "Tühjenda teavitus?",
"notifications.column_settings.admin.report": "Uued teavitused:",
"notifications.column_settings.admin.sign_up": "Uued kasutajad:",
"notifications.column_settings.alert": "Töölauateated",
+ "notifications.column_settings.beta.category": "Eksperimentaalsed oskused",
+ "notifications.column_settings.beta.grouping": "Teavituste rühmitamine",
"notifications.column_settings.favourite": "Lemmikud:",
"notifications.column_settings.filter_bar.advanced": "Näita kõiki kategooriaid",
"notifications.column_settings.filter_bar.category": "Kiirfiltri riba",
@@ -519,6 +588,14 @@
"notifications.permission_denied": "Töölauamärguanded pole saadaval, kuna eelnevalt keelduti lehitsejale teavituste luba andmast",
"notifications.permission_denied_alert": "Töölaua märguandeid ei saa lubada, kuna brauseri luba on varem keeldutud",
"notifications.permission_required": "Töölaua märguanded ei ole saadaval, kuna vajalik luba pole antud.",
+ "notifications.policy.accept": "Nõustun",
+ "notifications.policy.accept_hint": "Näita teavitustes",
+ "notifications.policy.drop": "Ignoreeri",
+ "notifications.policy.drop_hint": "Saada tühjusse, mitte kunagi seda enam näha",
+ "notifications.policy.filter": "Filter",
+ "notifications.policy.filter_hint": "Saadetud filtreeritud teavituste sisendkasti",
+ "notifications.policy.filter_limited_accounts_hint": "Piiratud serveri moderaatorite poolt",
+ "notifications.policy.filter_limited_accounts_title": "Modereeritud kontod",
"notifications.policy.filter_new_accounts.hint": "Loodud viimase {days, plural, one {ühe päeva} other {# päeva}} jooksul",
"notifications.policy.filter_new_accounts_title": "Uued kontod",
"notifications.policy.filter_not_followers_hint": "Kaasates kasutajad, kes on sind jälginud vähem kui {days, plural, one {ühe päeva} other {# päeva}}",
@@ -527,6 +604,7 @@
"notifications.policy.filter_not_following_title": "Inimesed, keda sa ei jälgi",
"notifications.policy.filter_private_mentions_hint": "Filtreeritud, kui see pole vastus sinupoolt mainimisele või kui jälgid saatjat",
"notifications.policy.filter_private_mentions_title": "Soovimatud privaatsed mainimised",
+ "notifications.policy.title": "Halda teavitusi kohast…",
"notifications_permission_banner.enable": "Luba töölaua märguanded",
"notifications_permission_banner.how_to_control": "Et saada teateid, ajal mil Mastodon pole avatud, luba töölauamärguanded. Saad täpselt määrata, mis tüüpi tegevused tekitavad märguandeid, kasutates peale teadaannete sisse lülitamist üleval olevat nuppu {icon}.",
"notifications_permission_banner.title": "Ära jää millestki ilma",
@@ -653,9 +731,13 @@
"report.unfollow_explanation": "Jälgid seda kontot. Et mitte näha tema postitusi oma koduvoos, lõpeta ta jälgimine.",
"report_notification.attached_statuses": "{count, plural, one {{count} postitus} other {{count} postitust}} listatud",
"report_notification.categories.legal": "Õiguslik",
+ "report_notification.categories.legal_sentence": "ebaseaduslik sisu",
"report_notification.categories.other": "Muu",
+ "report_notification.categories.other_sentence": "muu",
"report_notification.categories.spam": "Rämpspost",
+ "report_notification.categories.spam_sentence": "rämps",
"report_notification.categories.violation": "Reeglite rikkumine",
+ "report_notification.categories.violation_sentence": "reeglite rikkumine",
"report_notification.open": "Ava teavitus",
"search.no_recent_searches": "Pole viimatisi otsinguid",
"search.placeholder": "Otsi",
@@ -709,8 +791,6 @@
"status.favourite": "Lemmik",
"status.favourites": "{count, plural, one {lemmik} other {lemmikud}}",
"status.filter": "Filtreeri seda postitust",
- "status.filtered": "Filtreeritud",
- "status.hide": "Peida postitus",
"status.history.created": "{name} lõi {date}",
"status.history.edited": "{name} muutis {date}",
"status.load_more": "Lae rohkem",
@@ -738,10 +818,7 @@
"status.report": "Raporteeri @{name}",
"status.sensitive_warning": "Tundlik sisu",
"status.share": "Jaga",
- "status.show_filter_reason": "Näita ikka",
- "status.show_less": "Peida sisu",
"status.show_less_all": "Peida kogu tundlik sisu",
- "status.show_more": "Näita sisu",
"status.show_more_all": "Näita kogu tundlikku sisu",
"status.show_original": "Näita algset",
"status.title.with_attachments": "{user} postitas {attachmentCount, plural, one {manuse} other {{attachmentCount} manust}}",
@@ -760,10 +837,6 @@
"time_remaining.minutes": "{number, plural, one {# minut} other {# minutit}} jäänud",
"time_remaining.moments": "Hetked jäänud",
"time_remaining.seconds": "{number, plural, one {# sekund} other {# sekundit}} jäänud",
- "timeline_hint.remote_resource_not_displayed": "{resource} teistest serveritest ei kuvata.",
- "timeline_hint.resources.followers": "Jälgijaid",
- "timeline_hint.resources.follows": "Jälgimisi",
- "timeline_hint.resources.statuses": "Eelnevaid postitusi",
"trends.counter_by_accounts": "{count, plural, one {{counter} inimene} other {{counter} inimest}} viimase {days, plural, one {päeva} other {{days} päeva}} jooksul",
"trends.trending_now": "Hetkel populaarne",
"ui.beforeunload": "Mustand läheb kaotsi, kui lahkud Mastodonist.",
diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json
index 34b62d949d3ca0..15dd63486b603b 100644
--- a/app/javascript/mastodon/locales/eu.json
+++ b/app/javascript/mastodon/locales/eu.json
@@ -11,6 +11,7 @@
"about.not_available": "Zerbitzari honek ez du informazio hau eskuragarri jarri.",
"about.powered_by": "{mastodon} erabiltzen duen sare sozial deszentralizatua",
"about.rules": "Zerbitzariaren arauak",
+ "account.account_note_header": "Ohar pertsonala",
"account.add_or_remove_from_list": "Gehitu edo kendu zerrendetatik",
"account.badges.bot": "Bot-a",
"account.badges.group": "Taldea",
@@ -18,7 +19,6 @@
"account.block_domain": "Blokeatu {domain} domeinua",
"account.block_short": "Blokeatu",
"account.blocked": "Blokeatuta",
- "account.browse_more_on_origin_server": "Arakatu gehiago jatorrizko profilean",
"account.cancel_follow_request": "Baztertu jarraitzeko eskaera",
"account.copy": "Kopiatu profilerako esteka",
"account.direct": "Aipatu pribatuki @{name}",
@@ -34,7 +34,9 @@
"account.follow_back": "Jarraitu bueltan",
"account.followers": "Jarraitzaileak",
"account.followers.empty": "Ez du inork erabiltzaile hau jarraitzen oraindik.",
+ "account.followers_counter": "{count, plural, one {{counter} jarraitzaile} other {{counter} jarraitzaile}}",
"account.following": "Jarraitzen",
+ "account.following_counter": "{count, plural, one {{counter} jarraitzen} other {{counter} jarraitzen}}",
"account.follows.empty": "Erabiltzaile honek ez du inor jarraitzen oraindik.",
"account.go_to_profile": "Joan profilera",
"account.hide_reblogs": "Ezkutatu @{name} erabiltzailearen bultzadak",
@@ -60,6 +62,7 @@
"account.requested_follow": "{name}-(e)k zu jarraitzeko eskaera egin du",
"account.share": "Partekatu @{name} erabiltzailearen profila",
"account.show_reblogs": "Erakutsi @{name} erabiltzailearen bultzadak",
+ "account.statuses_counter": "{count, plural, one {{counter} bidalketa} other {{counter} bidalketa}}",
"account.unblock": "Desblokeatu @{name}",
"account.unblock_domain": "Berriz erakutsi {domain}",
"account.unblock_short": "Desblokeatu",
@@ -94,6 +97,8 @@
"block_modal.title": "Erabiltzailea blokeatu nahi duzu?",
"block_modal.you_wont_see_mentions": "Ez duzu ikusiko bera aipatzen duen argitalpenik.",
"boost_modal.combo": "{combo} sakatu dezakezu hurrengoan hau saltatzeko",
+ "boost_modal.reblog": "Bultzatu bidalketa?",
+ "boost_modal.undo_reblog": "Bidalketari bultzada kendu?",
"bundle_column_error.copy_stacktrace": "Kopiatu errore-txostena",
"bundle_column_error.error.body": "Eskatutako orria ezin izan da bistaratu. Kodeko errore bategatik izan daiteke edo nabigatzailearen bateragarritasun arazo bategatik.",
"bundle_column_error.error.title": "O ez!",
@@ -175,6 +180,7 @@
"confirmations.discard_edit_media.message": "Multimediaren deskribapen edo aurrebistan gorde gabeko aldaketak daude, baztertu nahi dituzu?",
"confirmations.edit.confirm": "Editatu",
"confirmations.edit.message": "Orain editatzen baduzu, une honetan idazten ari zaren mezua gainidatziko da. Ziur jarraitu nahi duzula?",
+ "confirmations.edit.title": "Gainidatzi bidalketa?",
"confirmations.logout.confirm": "Amaitu saioa",
"confirmations.logout.message": "Ziur saioa amaitu nahi duzula?",
"confirmations.logout.title": "Itxi saioa?",
@@ -184,8 +190,12 @@
"confirmations.redraft.title": "Ezabatu eta berridatzi bidalketa?",
"confirmations.reply.confirm": "Erantzun",
"confirmations.reply.message": "Orain erantzuteak idazten ari zaren mezua gainidatziko du. Ziur jarraitu nahi duzula?",
+ "confirmations.reply.title": "Gainidatzi bidalketa?",
"confirmations.unfollow.confirm": "Utzi jarraitzeari",
"confirmations.unfollow.message": "Ziur {name} jarraitzeari utzi nahi diozula?",
+ "confirmations.unfollow.title": "Erabiltzailea jarraitzeari utzi?",
+ "content_warning.hide": "Tuta ezkutatu",
+ "content_warning.show": "Erakutsi hala ere",
"conversation.delete": "Ezabatu elkarrizketa",
"conversation.mark_as_read": "Markatu irakurrita bezala",
"conversation.open": "Ikusi elkarrizketa",
@@ -293,6 +303,8 @@
"filter_modal.select_filter.subtitle": "Hautatu lehendik dagoen kategoria bat edo sortu berria",
"filter_modal.select_filter.title": "Iragazi bidalketa hau",
"filter_modal.title.status": "Iragazi bidalketa bat",
+ "filter_warning.matches_filter": "“{title}” iragazkiarekin bat dator",
+ "filtered_notifications_banner.pending_requests": "Ezagutu dezakezun {count, plural, =0 {inoren} one {pertsona baten} other {# pertsonen}}",
"filtered_notifications_banner.title": "Iragazitako jakinarazpenak",
"firehose.all": "Guztiak",
"firehose.local": "Zerbitzari hau",
@@ -341,6 +353,14 @@
"hashtag.follow": "Jarraitu traolari",
"hashtag.unfollow": "Utzi traola jarraitzeari",
"hashtags.and_other": "…eta {count, plural, one {}other {# gehiago}}",
+ "hints.profiles.followers_may_be_missing": "Baliteke profil honen jarraitzaile guztiak ez agertzea.",
+ "hints.profiles.follows_may_be_missing": "Baliteke profil honek jarraitzen dituen profil guztiak ez erakustea.",
+ "hints.profiles.posts_may_be_missing": "Baliteke profil honen tut guztiak ez erakustea.",
+ "hints.profiles.see_more_followers": "Ikusi jarraitzaile gehiago {domain}-(e)n",
+ "hints.profiles.see_more_follows": "Ikusi jarraitzaile gehiago {domain}-(e)n",
+ "hints.profiles.see_more_posts": "Ikusi bidalketa gehiago {domain}-(e)n",
+ "hints.threads.replies_may_be_missing": "Baliteke beste zerbitzari batzuen erantzun batzuk ez erakustea.",
+ "hints.threads.see_more": "Ikusi erantzun gehiago {domain}-(e)n",
"home.column_settings.show_reblogs": "Erakutsi bultzadak",
"home.column_settings.show_replies": "Erakutsi erantzunak",
"home.hide_announcements": "Ezkutatu iragarpenak",
@@ -348,6 +368,17 @@
"home.pending_critical_update.link": "Ikusi eguneraketak",
"home.pending_critical_update.title": "Segurtasun eguneraketa kritikoa eskuragarri!",
"home.show_announcements": "Erakutsi iragarpenak",
+ "ignore_notifications_modal.disclaimer": "Mastodonek ezin die jakinarazi erabiltzaileei beraien jakinarazpenei ezikusiarena egingo diezula. Jakinarazpenei ezikusiarena egiteak ez du eragotziko mezuak bidaltzen jarraitzea.",
+ "ignore_notifications_modal.filter_instead": "Iragazi ez ikusiarena egin beharrean",
+ "ignore_notifications_modal.filter_to_act_users": "Oraindik ere erabiltzaileak onartu, baztertu edo salatu ahal izango dituzu",
+ "ignore_notifications_modal.filter_to_avoid_confusion": "Iragazteak nahaste potentzialak saihesten laguntzen du",
+ "ignore_notifications_modal.filter_to_review_separately": "Banaka berrikus ditzakezu iragazitako jakinarazpenak",
+ "ignore_notifications_modal.ignore": "Ezikusi jakinarazpenak",
+ "ignore_notifications_modal.limited_accounts_title": "Moderatutako kontuen jakinarazpenei ez ikusiarena egin?",
+ "ignore_notifications_modal.new_accounts_title": "Kontu berrien jakinarazpenei ez ikusiarena egin?",
+ "ignore_notifications_modal.not_followers_title": "Jarraitzen ez zaituzten pertsonen jakinarazpenei ez ikusiarena egin?",
+ "ignore_notifications_modal.not_following_title": "Jarraitzen ez dituzun pertsonen jakinarazpenei ez ikusiarena egin?",
+ "ignore_notifications_modal.private_mentions_title": "Eskatu gabeko aipamen pribatuen jakinarazpenei ez ikusiarena egin?",
"interaction_modal.description.favourite": "Mastodon kontu batekin bidalketa hau gogoko egin dezakezu, egileari eskertzeko eta gerorako gordetzeko.",
"interaction_modal.description.follow": "Mastodon kontu batekin {name} jarraitu dezakezu bere bidalketak zure hasierako denbora lerroan jasotzeko.",
"interaction_modal.description.reblog": "Mastodon kontu batekin bidalketa hau bultzatu dezakezu, zure jarraitzaileekin partekatzeko.",
@@ -408,6 +439,8 @@
"limited_account_hint.action": "Erakutsi profila hala ere",
"limited_account_hint.title": "Profil hau ezkutatu egin dute {domain} zerbitzariko moderatzaileek.",
"link_preview.author": "Egilea: {name}",
+ "link_preview.more_from_author": "{name} erabiltzaileaz gehiago jakin",
+ "link_preview.shares": "{count, plural, one {{counter} bidalketa} other {{counter} bidalketa}}",
"lists.account.add": "Gehitu zerrendara",
"lists.account.remove": "Kendu zerrendatik",
"lists.delete": "Ezabatu zerrenda",
@@ -424,7 +457,6 @@
"lists.subheading": "Zure zerrendak",
"load_pending": "{count, plural, one {elementu berri #} other {# elementu berri}}",
"loading_indicator.label": "Kargatzen…",
- "media_gallery.toggle_visible": "Txandakatu ikusgaitasuna",
"moved_to_account_banner.text": "Zure {disabledAccount} kontua desgaituta dago une honetan, {movedToAccount} kontura aldatu zinelako.",
"mute_modal.hide_from_notifications": "Ezkutatu jakinarazpenetatik",
"mute_modal.hide_options": "Ezkutatu aukerak",
@@ -436,6 +468,7 @@
"mute_modal.you_wont_see_mentions": "Ez duzu ikusiko bera aipatzen duen argitalpenik.",
"mute_modal.you_wont_see_posts": "Zure argitalpenak ikus ditzake, baina ez dituzu bereak ikusiko.",
"navigation_bar.about": "Honi buruz",
+ "navigation_bar.administration": "Administrazioa",
"navigation_bar.advanced_interface": "Ireki web interfaze aurreratuan",
"navigation_bar.blocks": "Blokeatutako erabiltzaileak",
"navigation_bar.bookmarks": "Laster-markak",
@@ -452,6 +485,7 @@
"navigation_bar.follows_and_followers": "Jarraitutakoak eta jarraitzaileak",
"navigation_bar.lists": "Zerrendak",
"navigation_bar.logout": "Amaitu saioa",
+ "navigation_bar.moderation": "Moderazioa",
"navigation_bar.mutes": "Mutututako erabiltzaileak",
"navigation_bar.opened_in_classic_interface": "Argitalpenak, kontuak eta beste orri jakin batzuk lehenespenez irekitzen dira web-interfaze klasikoan.",
"navigation_bar.personal": "Pertsonala",
@@ -462,10 +496,23 @@
"navigation_bar.security": "Segurtasuna",
"not_signed_in_indicator.not_signed_in": "Baliabide honetara sarbidea izateko saioa hasi behar duzu.",
"notification.admin.report": "{name} erabiltzaileak {target} salatu du",
+ "notification.admin.report_account": "{name}-(e)k {target}-ren {count, plural, one {bidalketa bat} other {# bidalketa}} salatu zituen {category} delakoagatik",
+ "notification.admin.report_account_other": "{name}-(e)k {target}-ren {count, plural, one {bidalketa bat salatu zuen} other {# bidalketa salatu zituen}}",
+ "notification.admin.report_statuses": "{name}-(e)k {target} salatu zuen {category} delakoagatik",
+ "notification.admin.report_statuses_other": "{name} erabiltzaileak {target} salatu du",
"notification.admin.sign_up": "{name} erabiltzailea erregistratu da",
+ "notification.admin.sign_up.name_and_others": "{name} eta {count, plural, one {erabiltzaile # gehiago} other {# erabiltzaile gehiago}} erregistratu dira",
"notification.favourite": "{name}(e)k zure bidalketa gogoko du",
+ "notification.favourite.name_and_others_with_link": "{name} eta
{count, plural, one {erabiltzaile # gehiagok} other {# erabiltzaile gehiagok}} zure bidalketa gogoko dute",
"notification.follow": "{name}(e)k jarraitzen dizu",
+ "notification.follow.name_and_others": "{name} eta {count, plural, one {erabiltzaile # gehiagok} other {# erabiltzaile gehiagok}} jarraitu dizute",
"notification.follow_request": "{name}(e)k zu jarraitzeko eskaera egin du",
+ "notification.follow_request.name_and_others": "{name} eta {count, plural, one {erabiltzaile # gehiagok} other {# erabiltzaile gehiagok}} zu jarraitzeko eskaera egin dute",
+ "notification.label.mention": "Aipamena",
+ "notification.label.private_mention": "Aipamen pribatua",
+ "notification.label.private_reply": "Erantzun pribatua",
+ "notification.label.reply": "Erantzuna",
+ "notification.mention": "Aipamena",
"notification.moderation-warning.learn_more": "Informazio gehiago",
"notification.moderation_warning": "Moderazio-abisu bat jaso duzu",
"notification.moderation_warning.action_delete_statuses": "Argitalpen batzuk kendu dira.",
@@ -476,16 +523,31 @@
"notification.moderation_warning.action_silence": "Kontua murriztu egin da.",
"notification.moderation_warning.action_suspend": "Kontua itxi da.",
"notification.own_poll": "Zure inkesta amaitu da",
+ "notification.poll": "Zuk erantzun duzun inkesta bat bukatu da",
"notification.reblog": "{name}(e)k bultzada eman dio zure bidalketari",
+ "notification.reblog.name_and_others_with_link": "{name} eta
{count, plural, one {erabiltzaile # gehiagok} other {# erabiltzaile gehiagok}} bultzada eman diote zure bidalketari",
"notification.relationships_severance_event": "{name} erabiltzailearekin galdutako konexioak",
"notification.relationships_severance_event.account_suspension": "{from} zerbitzariko administratzaile batek {target} bertan behera utzi du, hau da, ezin izango dituzu jaso hango eguneratzerik edo hangoekin elkarreragin.",
"notification.relationships_severance_event.learn_more": "Informazio gehiago",
"notification.status": "{name} erabiltzaileak bidalketa egin berri du",
"notification.update": "{name} erabiltzaileak bidalketa bat editatu du",
"notification_requests.accept": "Onartu",
+ "notification_requests.accept_multiple": "{count, plural, one {Onartu eskaera…} other {Onartu # eskaerak…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Onartu eskaera} other {Onartu eskaerak}}",
+ "notification_requests.confirm_accept_multiple.title": "Onartu jakinarazpen-eskaerak?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Baztertu eskaera} other {Baztertu eskaerak}}",
+ "notification_requests.confirm_dismiss_multiple.title": "Baztertu jakinarazpen-eskaerak?",
"notification_requests.dismiss": "Baztertu",
+ "notification_requests.dismiss_multiple": "{count, plural, one {Baztertu eskaera…} other {Baztertu # eskaerak…}}",
+ "notification_requests.edit_selection": "Editatu",
+ "notification_requests.exit_selection": "Egina",
+ "notification_requests.explainer_for_limited_account": "Kontu honen jakinarazpenak iragazi egin dira, kontua moderatzaile batek mugatu duelako.",
+ "notification_requests.explainer_for_limited_remote_account": "Kontu horren jakinarazpenak iragazi egin dira kontua edo bere zerbitzaria moderatzaile batek mugatu duelako.",
+ "notification_requests.maximize": "Maximizatu",
+ "notification_requests.minimize_banner": "Minimizatu iragazitako jakinarazpenen bannerra",
"notification_requests.notifications_from": "{name} erabiltzailearen jakinarazpenak",
"notification_requests.title": "Iragazitako jakinarazpenak",
+ "notification_requests.view": "Ikusi jakinarazpenak",
"notifications.clear": "Garbitu jakinarazpenak",
"notifications.clear_confirmation": "Ziur zure jakinarazpen guztiak behin betirako garbitu nahi dituzula?",
"notifications.clear_title": "Garbitu jakinarazpenak?",
@@ -522,6 +584,14 @@
"notifications.permission_denied": "Mahaigaineko jakinarazpenak ez daude erabilgarri, nabigatzaileari baimen eskaera ukatu zitzaiolako",
"notifications.permission_denied_alert": "Mahaigaineko jakinarazpenak ezin dira gaitu, nabigatzaileari baimena ukatu zitzaiolako",
"notifications.permission_required": "Mahaigaineko jakinarazpenak ez daude erabilgarri, horretarako behar den baimena ez delako eman.",
+ "notifications.policy.accept": "Onartu",
+ "notifications.policy.accept_hint": "Erakutsi jakinarazpenetan",
+ "notifications.policy.drop": "Ezikusi",
+ "notifications.policy.drop_hint": "Hutsera bidali, ez erakutsi inoiz gehiago",
+ "notifications.policy.filter": "Iragazi",
+ "notifications.policy.filter_hint": "Bidali filtratutako jakinarazpenen sarrerako ontzira",
+ "notifications.policy.filter_limited_accounts_hint": "Zerbitzariaren moderatzaileek mugatuta",
+ "notifications.policy.filter_limited_accounts_title": "Moderatutako kontuak",
"notifications.policy.filter_new_accounts.hint": "Azken {days, plural, one {egunean} other {# egunetan}} sortua",
"notifications.policy.filter_new_accounts_title": "Kontu berriak",
"notifications.policy.filter_not_followers_hint": "{days, plural, one {Egun batez} other {# egunez}} baino gutxiago jarraitu zaituen jendea barne",
@@ -530,6 +600,7 @@
"notifications.policy.filter_not_following_title": "Jarraitzen ez duzun jendea",
"notifications.policy.filter_private_mentions_hint": "Iragazita, baldin eta zure aipamenaren erantzuna bada edo bidaltzailea jarraitzen baduzu",
"notifications.policy.filter_private_mentions_title": "Eskatu gabeko aipamen pribatuak",
+ "notifications.policy.title": "Kudeatu honen jakinarazpaenak…",
"notifications_permission_banner.enable": "Gaitu mahaigaineko jakinarazpenak",
"notifications_permission_banner.how_to_control": "Mastodon irekita ez dagoenean jakinarazpenak jasotzeko, gaitu mahaigaineko jakinarazpenak. Mahaigaineko jakinarazpenak ze elkarrekintzak eragingo dituzten zehazki kontrolatu dezakezu goiko {icon} botoia erabiliz, gaituta daudenean.",
"notifications_permission_banner.title": "Ez galdu ezer inoiz",
@@ -656,6 +727,7 @@
"report.unfollow_explanation": "Kontu hau jarraitzen ari zara. Zure denbora-lerro nagusian bere bidalketak ez ikusteko, jarraitzeari utzi.",
"report_notification.attached_statuses": "{count, plural, one {Bidalketa {count}} other {{count} bidalketa}} erantsita",
"report_notification.categories.legal": "Legala",
+ "report_notification.categories.legal_sentence": "eduki ilegala",
"report_notification.categories.other": "Bestelakoak",
"report_notification.categories.other_sentence": "bestelakoak",
"report_notification.categories.spam": "Spam",
@@ -689,8 +761,11 @@
"server_banner.about_active_users": "Azken 30 egunetan zerbitzari hau erabili duen jendea (hilabeteko erabiltzaile aktiboak)",
"server_banner.active_users": "erabiltzaile aktibo",
"server_banner.administered_by": "Administratzailea(k):",
+ "server_banner.is_one_of_many": "{domain} fedibertsoan parte hartzeko erabil dezakezun Mastodonen zerbitzari independenteetako bat da.",
"server_banner.server_stats": "Zerbitzariaren estatistikak:",
"sign_in_banner.create_account": "Sortu kontua",
+ "sign_in_banner.follow_anyone": "Jarraitu edonori fedibertsoan eta ikusi dena ordena kronologikoan. Algoritmorik gabe, iragarki edo titulu gezurtirik gabe.",
+ "sign_in_banner.mastodon_is": "Mastodon gertatzen ari denari buruz egunean egoteko modurik onena da.",
"sign_in_banner.sign_in": "Hasi saioa",
"sign_in_banner.sso_redirect": "Hasi saioa edo izena eman",
"status.admin_account": "Ireki @{name} erabiltzailearen moderazio interfazea",
@@ -712,8 +787,6 @@
"status.favourite": "Gogokoa",
"status.favourites": "{count, plural, one {gogoko} other {gogoko}}",
"status.filter": "Iragazi bidalketa hau",
- "status.filtered": "Iragazita",
- "status.hide": "Tuta ezkutatu",
"status.history.created": "{name} erabiltzaileak sortua {date}",
"status.history.edited": "{name} erabiltzaileak editatua {date}",
"status.load_more": "Kargatu gehiago",
@@ -741,10 +814,7 @@
"status.report": "Salatu @{name}",
"status.sensitive_warning": "Kontuz: Eduki hunkigarria",
"status.share": "Partekatu",
- "status.show_filter_reason": "Erakutsi hala ere",
- "status.show_less": "Erakutsi gutxiago",
"status.show_less_all": "Erakutsi denetarik gutxiago",
- "status.show_more": "Erakutsi gehiago",
"status.show_more_all": "Erakutsi denetarik gehiago",
"status.show_original": "Erakutsi jatorrizkoa",
"status.title.with_attachments": "{user} erabiltzaileak {attachmentCount, plural, one {eranskin bat} other {{attachmentCount} eranskin}} argitaratu d(it)u",
@@ -763,10 +833,6 @@
"time_remaining.minutes": "{number, plural, one {minutu #} other {# minutu}} amaitzeko",
"time_remaining.moments": "Amaitzekotan",
"time_remaining.seconds": "{number, plural, one {segundo #} other {# segundo}} amaitzeko",
- "timeline_hint.remote_resource_not_displayed": "Beste zerbitzarietako {resource} ez da bistaratzen.",
- "timeline_hint.resources.followers": "Jarraitzaileak",
- "timeline_hint.resources.follows": "Jarraitzen",
- "timeline_hint.resources.statuses": "Bidalketa zaharragoak",
"trends.counter_by_accounts": "{count, plural, one {Pertsona {counter}} other {{counter} pertsona}} azken {days, plural, one {egunean} other {{days} egunetan}}",
"trends.trending_now": "Joera orain",
"ui.beforeunload": "Zure zirriborroa galduko da Mastodon uzten baduzu.",
diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json
index a2d511c5a0ca01..d2b520e1d2e8c3 100644
--- a/app/javascript/mastodon/locales/fa.json
+++ b/app/javascript/mastodon/locales/fa.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": "گروه",
@@ -18,7 +19,6 @@
"account.block_domain": "انسداد دامنهٔ {domain}",
"account.block_short": "انسداد",
"account.blocked": "مسدود",
- "account.browse_more_on_origin_server": "مرور بیشتر روی نمایهٔ اصلی",
"account.cancel_follow_request": "رد کردن درخواست پیگیری",
"account.copy": "رونوشت از پیوند به نمایه",
"account.direct": "اشارهٔ خصوصی به @{name}",
@@ -34,7 +34,9 @@
"account.follow_back": "دنبال کردن متقابل",
"account.followers": "پیگیرندگان",
"account.followers.empty": "هنوز کسی پیگیر این کاربر نیست.",
+ "account.followers_counter": "{count, plural, one {{counter} پیگیرنده} other {{counter} پیگیرنده}}",
"account.following": "پی میگیرید",
+ "account.following_counter": "{count, plural, one {{counter} پیگرفته} other {{counter} پیگرفته}}",
"account.follows.empty": "این کاربر هنوز پیگیر کسی نیست.",
"account.go_to_profile": "رفتن به نمایه",
"account.hide_reblogs": "نهفتن تقویتهای @{name}",
@@ -60,6 +62,7 @@
"account.requested_follow": "{name} درخواست پیگیریتان را داد",
"account.share": "همرسانی نمایهٔ @{name}",
"account.show_reblogs": "نمایش تقویتهای @{name}",
+ "account.statuses_counter": "{count, plural, one {{counter} فرسته} other {{counter} فرسته}}",
"account.unblock": "رفع مسدودیت @{name}",
"account.unblock_domain": "رفع مسدودیت دامنهٔ {domain}",
"account.unblock_short": "رفع مسدودیت",
@@ -87,9 +90,14 @@
"audio.hide": "نهفتن صدا",
"block_modal.show_less": "نمایش کمتر",
"block_modal.show_more": "نمایش بیشتر",
+ "block_modal.they_cant_mention": "نمیتوانند نامتان را برده یا پیتان بگیرند.",
+ "block_modal.they_cant_see_posts": "نمیتوانند فرستههایتان را دیده و فرستههایشان را نمیبینید.",
+ "block_modal.they_will_know": "میتوانند ببینند که مسدود شدهاند.",
"block_modal.title": "انسداد کاربر؟",
"block_modal.you_wont_see_mentions": "فرستههایی که از اون نام برده را نخواهید دید.",
"boost_modal.combo": "دکمهٔ {combo} را بزنید تا دیگر این را نبینید",
+ "boost_modal.reblog": "تقویت فرسته؟",
+ "boost_modal.undo_reblog": "ناتقویت فرسته؟",
"bundle_column_error.copy_stacktrace": "رونوشت از گزارش خطا",
"bundle_column_error.error.body": "صفحهٔ درخواستی نتوانست پرداخت شود. ممکن است به خاطر اشکالی در کدمان یا مشکل سازگاری مرورگر باشد.",
"bundle_column_error.error.title": "وای، نه!",
@@ -185,6 +193,8 @@
"confirmations.unfollow.confirm": "پینگرفتن",
"confirmations.unfollow.message": "مطمئنید که میخواهید به پیگیری از {name} پایان دهید؟",
"confirmations.unfollow.title": "ناپیگیری کاربر؟",
+ "content_warning.hide": "نهفتن فرسته",
+ "content_warning.show": "نمایش به هر روی",
"conversation.delete": "حذف گفتگو",
"conversation.mark_as_read": "علامتگذاری به عنوان خوانده شده",
"conversation.open": "دیدن گفتگو",
@@ -205,9 +215,24 @@
"dismissable_banner.explore_tags": "هماکنون این برچسبها بین افراد این کارساز و دیگر کارسازهای شبکهٔ نامتمرکز داغ شدهاند.",
"dismissable_banner.public_timeline": "اینها جدیدترین فرستههای عمومی از افرادی روی وب اجتماعیند که اعضای {domain} پی میگیرندشان.",
"domain_block_modal.block": "انسداد کارساز",
+ "domain_block_modal.block_account_instead": "انسداد @{name} به جایش",
+ "domain_block_modal.they_can_interact_with_old_posts": "افزارد روی این کراساز میتوانند با فرستههای قدیمیتان تعامل داشته باشند.",
+ "domain_block_modal.they_cant_follow": "هیچکسی از این کارساز نمیتواند پیتان بگیرد.",
+ "domain_block_modal.they_wont_know": "نخواهند دانست که مسدود شدهاند.",
"domain_block_modal.title": "انسداد دامنه؟",
+ "domain_block_modal.you_will_lose_followers": "همهٔ پیگیرندگانتان از این کارساز برداشته خواهند شد.",
+ "domain_block_modal.you_wont_see_posts": "فرستهها یا آگاهیها از کاربران روی این کارساز را نخواهید دید.",
"domain_pill.server": "کارساز",
+ "domain_pill.their_handle": "شناسهاش:",
+ "domain_pill.their_server": "خانهٔ رقمیش. جایی که همهٔ فرستههایش میزیند.",
+ "domain_pill.their_username": "شناسهٔ یکتایش در کارسازش. ممکن است کاربرانی با نام کاربری مشابه روی کارسازهای مختلف باشند.",
"domain_pill.username": "نام کاربری",
+ "domain_pill.whats_in_a_handle": "شناسه چیست؟",
+ "domain_pill.who_they_are": "از آنجا که شناسهها کیستی و کجایی افراد را میگویند، میتوانید با افرادی در سراسر وب اجتماعی
بنسازههای قدرت گرفته از اکتیویتی پاپ تعامل داشته باشید.",
+ "domain_pill.who_you_are": "از آنجا که شناسهها کیستی و کجاییتان را میگویند، افراد میتوانند از سراسر وب اجتماعی
بنسازههای قدرت گرفته از اکتیویتی پاپ با شما تعامل داشته باشند.",
+ "domain_pill.your_handle": "شناسهتان:",
+ "domain_pill.your_server": "خانهٔ رقمیتان. جایی که همهٔ فرستههایتان میزیند. دوستش ندارید؟ در هر زمان کارسازتان را جابهجا کرده و پیگیرندگانتان را نیز بیاورید.",
+ "domain_pill.your_username": "شناسهٔ یکتایتان روی این کارساز. ممکن است کاربرانی با نام کاربری مشابه روی کارسازهای دیگر باشند.",
"embed.instructions": "جاسازی این فرسته روی پایگاهتان با رونوشت کردن کد زیر.",
"embed.preview": "این گونه دیده خواهد شد:",
"emoji_button.activity": "فعالیت",
@@ -274,6 +299,9 @@
"filter_modal.select_filter.subtitle": "استفاده از یک دستهً موجود یا ایجاد دستهای جدید",
"filter_modal.select_filter.title": "پالایش این فرسته",
"filter_modal.title.status": "پالایش یک فرسته",
+ "filter_warning.matches_filter": "مطابق با پالایهٔ «{title}»",
+ "filtered_notifications_banner.pending_requests": "از {count, plural, =0 {هیچکسی} one {فردی} other {# نفر}} که ممکن است بشناسید",
+ "filtered_notifications_banner.title": "آگاهیهای پالوده",
"firehose.all": "همه",
"firehose.local": "این کارساز",
"firehose.remote": "دیگر کارسازها",
@@ -282,6 +310,8 @@
"follow_requests.unlocked_explanation": "با این که حسابتان قفل نیست، کارکنان {domain} فکر کردند که ممکن است بخواهید درخواستها از این حسابها را به صورت دستی بازبینی کنید.",
"follow_suggestions.curated_suggestion": "گزینش سردبیر",
"follow_suggestions.dismiss": "دیگر نشان داده نشود",
+ "follow_suggestions.featured_longer": "دستچین شده به دست گروه {domain}",
+ "follow_suggestions.friends_of_friends_longer": "محبوب بین کسانی که پیگرفتهاید",
"follow_suggestions.hints.featured": "این نمایه به دست گروه {domain} دستچین شده.",
"follow_suggestions.hints.friends_of_friends": "این نمایه بین کسانی که پی میگیرید محبوب است.",
"follow_suggestions.hints.most_followed": "این نمایه روی {domain} بسیار پیگرفته شده.",
@@ -289,6 +319,8 @@
"follow_suggestions.hints.similar_to_recently_followed": "این نمایه شبیه نمایههاییست که اخیراً پیگرفتهاید.",
"follow_suggestions.personalized_suggestion": "پیشنهاد شخصی",
"follow_suggestions.popular_suggestion": "پیشنهاد محبوب",
+ "follow_suggestions.popular_suggestion_longer": "محبوب روی {domain}",
+ "follow_suggestions.similar_to_recently_followed_longer": "شبیه نمایههایی که اخیراً پی گرفتهاید",
"follow_suggestions.view_all": "دیدن همه",
"follow_suggestions.who_to_follow": "افرادی برای پیگیری",
"followed_tags": "برچسبهای پیگرفته",
@@ -317,6 +349,14 @@
"hashtag.follow": "پیگرفتن برچسب",
"hashtag.unfollow": "پینگرفتن برچسب",
"hashtags.and_other": "…و {count, plural, other {# بیشتر}}",
+ "hints.profiles.followers_may_be_missing": "شاید پیگیرندگان این نمایه نباشند.",
+ "hints.profiles.follows_may_be_missing": "شاید پیگرفتههای این نمایه نباشند.",
+ "hints.profiles.posts_may_be_missing": "شاید فرستههایی از این نمایه نباشند.",
+ "hints.profiles.see_more_followers": "دیدن پیگیرندگان بیشتر روی {domain}",
+ "hints.profiles.see_more_follows": "دیدن پیگرفتههای بیشتر روی {domain}",
+ "hints.profiles.see_more_posts": "دیدن فرستههای بیشتر روی {domain}",
+ "hints.threads.replies_may_be_missing": "شاید پاسخها از دیگر کارسازها نباشند.",
+ "hints.threads.see_more": "دیدن پاسخهای بیشتر روی {domain}",
"home.column_settings.show_reblogs": "نمایش تقویتها",
"home.column_settings.show_replies": "نمایش پاسخها",
"home.hide_announcements": "نهفتن اعلامیهها",
@@ -324,6 +364,11 @@
"home.pending_critical_update.link": "دیدن بهروز رسانیها",
"home.pending_critical_update.title": "بهروز رسانی امنیتی بحرانی موجود است!",
"home.show_announcements": "نمایش اعلامیهها",
+ "ignore_notifications_modal.ignore": "چشمپوشی از آگاهیها",
+ "ignore_notifications_modal.limited_accounts_title": "چشمپوشی از آگاهیهای حسابهای نظارت شده؟",
+ "ignore_notifications_modal.new_accounts_title": "چشمپوشی از آگاهیهای حسابهای جدید؟",
+ "ignore_notifications_modal.not_followers_title": "چشمپوشی از آگاهیهای افرادی که پیتان نمیگیرند؟",
+ "ignore_notifications_modal.not_following_title": "چشمپوشی از آگاهیهای افرادی که پیشان نمیگیرید؟",
"interaction_modal.description.favourite": "با حسابی روی ماستودون میتوانید این فرسته را برگزیده تا نگارنده بداند قدردانش هستید و برای آینده ذخیرهاش میکنید.",
"interaction_modal.description.follow": "با حسابی روی ماستودون میتوانید {name} را برای دریافت فرستههایش در خوراک خانگیتان دنبال کنید.",
"interaction_modal.description.reblog": "با حسابی روی ماستودون میتوانید این فرسته را با پیگیران خودتان همرسانی کنید.",
@@ -384,6 +429,8 @@
"limited_account_hint.action": "به هر روی نمایه نشان داده شود",
"limited_account_hint.title": "این نمایه از سوی ناظمهای {domain} پنهان شده.",
"link_preview.author": "از {name}",
+ "link_preview.more_from_author": "بیشتر از {name}",
+ "link_preview.shares": "{count, plural, one {{counter} فرسته} other {{counter} فرسته}}",
"lists.account.add": "افزودن به سیاهه",
"lists.account.remove": "برداشتن از سیاهه",
"lists.delete": "حذف سیاهه",
@@ -400,11 +447,17 @@
"lists.subheading": "سیاهههایتان",
"load_pending": "{count, plural, one {# مورد جدید} other {# مورد جدید}}",
"loading_indicator.label": "در حال بارگذاری…",
- "media_gallery.toggle_visible": "{number, plural, one {نهفتن تصویر} other {نهفتن تصاویر}}",
"moved_to_account_banner.text": "حسابتان {disabledAccount} اکنون از کار افتاده؛ چرا که به {movedToAccount} منتقل شدید.",
+ "mute_modal.hide_from_notifications": "نهفتن از آگاهیها",
+ "mute_modal.hide_options": "گزینههای نهفتن",
+ "mute_modal.indefinite": "تا وقتی ناخموشش کنم",
"mute_modal.show_options": "نمایش گزینهها",
+ "mute_modal.they_wont_know": "نخواهند دانست که خموش شدهاند.",
"mute_modal.title": "خموشی کاربر؟",
+ "mute_modal.you_wont_see_mentions": "فرستههایی که به او اشاره کردهاند را نخواهید دید.",
+ "mute_modal.you_wont_see_posts": "هنوز میتوانند فرستههایتان را ببینند، ولی فرستههایشان را نمیبینید.",
"navigation_bar.about": "درباره",
+ "navigation_bar.administration": "مدیریت",
"navigation_bar.advanced_interface": "بازکردن در رابط کاربری وب پیشرفته",
"navigation_bar.blocks": "کاربران مسدود شده",
"navigation_bar.bookmarks": "نشانکها",
@@ -421,6 +474,7 @@
"navigation_bar.follows_and_followers": "پیگرفتگان و پیگیرندگان",
"navigation_bar.lists": "سیاههها",
"navigation_bar.logout": "خروج",
+ "navigation_bar.moderation": "نظارت",
"navigation_bar.mutes": "کاربران خموشانده",
"navigation_bar.opened_in_classic_interface": "فرستهها، حسابها و دیگر صفحههای خاص به طور پیشگزیده در میانای وب کلاسیک گشوده میشوند.",
"navigation_bar.personal": "شخصی",
@@ -431,26 +485,54 @@
"navigation_bar.security": "امنیت",
"not_signed_in_indicator.not_signed_in": "برای دسترسی به این منبع باید وارد شوید.",
"notification.admin.report": "{name}، {target} را گزارش داد",
+ "notification.admin.report_statuses_other": "{name}، {target} را گزارش داد",
"notification.admin.sign_up": "{name} ثبت نام کرد",
"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": "برخی از فرستههایتان برداشته شدند.",
+ "notification.moderation_warning.action_disable": "حسابتان از کار افتاد.",
+ "notification.moderation_warning.action_mark_statuses_as_sensitive": "برخی از فرستههایتان به عنوان حسّاس علامت خوردند.",
+ "notification.moderation_warning.action_none": "حسابتان هشداری مدیریتی گرفت.",
+ "notification.moderation_warning.action_sensitive": "فرستههایتان از اکنون به عنوان حسّاس علامت خواهند خورد.",
+ "notification.moderation_warning.action_silence": "حسابتان محدود شده.",
+ "notification.moderation_warning.action_suspend": "حسابتان معلّق شده.",
"notification.own_poll": "نظرسنجیتان پایان یافت",
+ "notification.poll": "نظرسنجیای که در آن رأی دادید به پایان رسید",
"notification.reblog": "{name} فرستهتان را تقویت کرد",
+ "notification.relationships_severance_event": "قطع ارتباط با {name}",
"notification.relationships_severance_event.learn_more": "بیشتر بدانید",
"notification.status": "{name} چیزی فرستاد",
"notification.update": "{name} فرستهای را ویرایش کرد",
"notification_requests.accept": "پذیرش",
+ "notification_requests.confirm_accept_multiple.title": "پذیرش درخواستهای آگاهی؟",
+ "notification_requests.confirm_dismiss_multiple.title": "رد کردن درخواستهای آگاهی؟",
"notification_requests.dismiss": "دورانداختن",
+ "notification_requests.edit_selection": "ویرایش",
+ "notification_requests.exit_selection": "انجام شد",
"notification_requests.maximize": "بیشنه",
+ "notification_requests.minimize_banner": "کمینه کردن بیرق آگاهیهای پالوده",
+ "notification_requests.notifications_from": "آگاهیها از {name}",
+ "notification_requests.title": "آگاهیهای پالوده",
+ "notification_requests.view": "دیدن آگاهیها",
"notifications.clear": "پاکسازی آگاهیها",
"notifications.clear_confirmation": "مطمئنید میخواهید همهٔ آگاهیهایتان را برای همیشه پاک کنید؟",
+ "notifications.clear_title": "پاکسازی آگاهیها؟",
"notifications.column_settings.admin.report": "گزارشهای جدید:",
"notifications.column_settings.admin.sign_up": "ثبت نامهای جدید:",
"notifications.column_settings.alert": "آگاهیهای میزکار",
"notifications.column_settings.beta.category": "ویژگیهای آزمایشی",
+ "notifications.column_settings.beta.grouping": "گروهبندی آگاهیها",
"notifications.column_settings.favourite": "برگزیدهها:",
+ "notifications.column_settings.filter_bar.advanced": "نمایش همۀ دستهها",
+ "notifications.column_settings.filter_bar.category": "نوار پالایش سریع",
"notifications.column_settings.follow": "پیگیرندگان جدید:",
"notifications.column_settings.follow_request": "درخواستهای جدید پیگیری:",
"notifications.column_settings.mention": "اشارهها:",
@@ -476,8 +558,19 @@
"notifications.permission_denied": "آگاهیهای میزکار به دلیل رد کردن درخواست اجازهٔ پیشین مرورگر، در دسترس نیستند",
"notifications.permission_denied_alert": "از آنجا که پیش از این اجازهٔ مرورگر رد شده است، آگاهیهای میزکار نمیتوانند به کار بیفتند",
"notifications.permission_required": "آگاهیهای میزکار در دسترس نیستند زیرا اجازههای لازم، اعطا نشده.",
+ "notifications.policy.accept": "پذیرش",
+ "notifications.policy.accept_hint": "نمایش در آگاهیها",
+ "notifications.policy.drop": "چشمپوشی",
+ "notifications.policy.drop_hint": "فرستادن به هیچ. دیگر هرگز دیده نخواهند شد",
+ "notifications.policy.filter": "پالایش",
+ "notifications.policy.filter_hint": "فرستادن به صندوق آگاهیهای پالوده",
+ "notifications.policy.filter_limited_accounts_hint": "محدود شده به دست ناظمهای کارساز",
+ "notifications.policy.filter_limited_accounts_title": "حسابهای مدیریت شده",
+ "notifications.policy.filter_new_accounts_title": "حسابهای جدید",
"notifications.policy.filter_not_followers_title": "کسانی که شما را دنبال میکنند",
"notifications.policy.filter_not_following_hint": "",
+ "notifications.policy.filter_not_following_title": "کسانی که پی نمیگیرید",
+ "notifications.policy.title": "مدیریت آگاهیها از…",
"notifications_permission_banner.enable": "به کار انداختن آگاهیهای میزکار",
"notifications_permission_banner.how_to_control": "برای دریافت آگاهیها هنگام باز نبودن ماستودون، آگاهیهای میزکار را به کار بیندازید. پس از به کار افتادنشان میتوانید گونههای دقیق برهمکنشهایی که آگاهیهای میزکار تولید میکنند را از {icon} بالا واپایید.",
"notifications_permission_banner.title": "هرگز چیزی را از دست ندهید",
@@ -610,6 +703,7 @@
"report_notification.categories.spam": "هرزنامه",
"report_notification.categories.spam_sentence": "هرزنامه",
"report_notification.categories.violation": "تخطّی از قانون",
+ "report_notification.categories.violation_sentence": "تخطّی از قانون",
"report_notification.open": "گشودن گزارش",
"search.no_recent_searches": "جستوجوی اخیری نیست",
"search.placeholder": "جستوجو",
@@ -654,12 +748,12 @@
"status.direct": "اشارهٔ خصوصی به @{name}",
"status.direct_indicator": "اشارهٔ خصوصی",
"status.edit": "ویرایش",
+ "status.edited": "آخرین ویرایش {date}",
"status.edited_x_times": "{count, plural, one {{count} مرتبه} other {{count} مرتبه}} ویرایش شد",
"status.embed": "جاسازی",
"status.favourite": "برگزیده",
+ "status.favourites": "{count, plural, one {برگزیده} other {برگزیده}}",
"status.filter": "پالایش این فرسته",
- "status.filtered": "پالوده",
- "status.hide": "نهفتن فرسته",
"status.history.created": "توسط {name} در {date} ایجاد شد",
"status.history.edited": "توسط {name} در {date} ویرایش شد",
"status.load_more": "بار کردن بیشتر",
@@ -677,6 +771,7 @@
"status.reblog": "تقویت",
"status.reblog_private": "تقویت برای مخاطبان نخستین",
"status.reblogged_by": "{name} تقویت کرد",
+ "status.reblogs": "{count, plural, one {تقویت} other {تقویت}}",
"status.reblogs.empty": "هنوز هیچ کسی این فرسته را تقویت نکرده است. وقتی کسی چنین کاری کند، اینجا نمایش داده خواهد شد.",
"status.redraft": "حذف و بازنویسی",
"status.remove_bookmark": "برداشتن نشانک",
@@ -686,10 +781,7 @@
"status.report": "گزارش @{name}",
"status.sensitive_warning": "محتوای حساس",
"status.share": "همرسانی",
- "status.show_filter_reason": "به هر روی نشان داده شود",
- "status.show_less": "نمایش کمتر",
"status.show_less_all": "نمایش کمتر همه",
- "status.show_more": "نمایش بیشتر",
"status.show_more_all": "نمایش بیشتر همه",
"status.show_original": "نمایش اصلی",
"status.title.with_attachments": "{user} {attachmentCount, plural, one {یک پیوست} other {{attachmentCount} پیوست}} فرستاد",
@@ -708,10 +800,6 @@
"time_remaining.minutes": "{number, plural, one {# دقیقه} other {# دقیقه}} باقی مانده",
"time_remaining.moments": "زمان باقیمانده",
"time_remaining.seconds": "{number, plural, one {# ثانیه} other {# ثانیه}} باقی مانده",
- "timeline_hint.remote_resource_not_displayed": "{resource} از دیگر کارسازها نمایش داده نمیشوند.",
- "timeline_hint.resources.followers": "پیگیرندگان",
- "timeline_hint.resources.follows": "پیگرفتگان",
- "timeline_hint.resources.statuses": "فرستههای قدیمیتر",
"trends.counter_by_accounts": "{count, plural, one {{counter} نفر} other {{counter} نفر}} در {days, plural, one {روز} other {{days} روز}} گذشته",
"trends.trending_now": "پرطرفدار",
"ui.beforeunload": "اگر از ماستودون خارج شوید پیشنویس شما از دست خواهد رفت.",
diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json
index f41d9ea5f142d0..3fcdc5c6ef14f2 100644
--- a/app/javascript/mastodon/locales/fi.json
+++ b/app/javascript/mastodon/locales/fi.json
@@ -20,7 +20,6 @@
"account.block_domain": "Estä verkkotunnus {domain}",
"account.block_short": "Estä",
"account.blocked": "Estetty",
- "account.browse_more_on_origin_server": "Selaa lisää alkuperäisessä profiilissa",
"account.cancel_follow_request": "Peruuta seurantapyyntö",
"account.copy": "Kopioi linkki profiiliin",
"account.direct": "Mainitse @{name} yksityisesti",
@@ -99,6 +98,8 @@
"block_modal.title": "Estetäänkö käyttäjä?",
"block_modal.you_wont_see_mentions": "Et näe enää julkaisuja, joissa hänet mainitaan.",
"boost_modal.combo": "Ensi kerralla voit ohittaa tämän painamalla {combo}",
+ "boost_modal.reblog": "Tehostetaanko julkaisua?",
+ "boost_modal.undo_reblog": "Perutaanko julkaisun tehostus?",
"bundle_column_error.copy_stacktrace": "Kopioi virheraportti",
"bundle_column_error.error.body": "Pyydettyä sivua ei voitu hahmontaa. Se voi johtua virheestä koodissamme tai selaimen yhteensopivuudessa.",
"bundle_column_error.error.title": "Voi ei!",
@@ -194,6 +195,8 @@
"confirmations.unfollow.confirm": "Lopeta seuraaminen",
"confirmations.unfollow.message": "Haluatko varmasti lopettaa profiilin {name} seuraamisen?",
"confirmations.unfollow.title": "Lopetetaanko käyttäjän seuraaminen?",
+ "content_warning.hide": "Piilota julkaisu",
+ "content_warning.show": "Näytä kuitenkin",
"conversation.delete": "Poista keskustelu",
"conversation.mark_as_read": "Merkitse luetuksi",
"conversation.open": "Näytä keskustelu",
@@ -301,7 +304,8 @@
"filter_modal.select_filter.subtitle": "Käytä olemassa olevaa luokkaa tai luo uusi",
"filter_modal.select_filter.title": "Suodata tämä julkaisu",
"filter_modal.title.status": "Suodata julkaisu",
- "filtered_notifications_banner.pending_requests": "{count, plural, =0 {Ei keneltäkään, jonka} one {1 käyttäjältä, jonka} other {# käyttäjältä, jotka}} saatat tuntea",
+ "filter_warning.matches_filter": "Vastaa suodatinta ”{title}”",
+ "filtered_notifications_banner.pending_requests": "{count, plural, =0 {Ei keneltäkään, jonka} one {Yhdeltä käyttäjältä, jonka} other {# käyttäjältä, jotka}} saatat tuntea",
"filtered_notifications_banner.title": "Suodatetut ilmoitukset",
"firehose.all": "Kaikki",
"firehose.local": "Tämä palvelin",
@@ -328,7 +332,7 @@
"footer.about": "Tietoja",
"footer.directory": "Profiilihakemisto",
"footer.get_app": "Hanki sovellus",
- "footer.invite": "Kutsu ihmisiä",
+ "footer.invite": "Kutsu käyttäjiä",
"footer.keyboard_shortcuts": "Pikanäppäimet",
"footer.privacy_policy": "Tietosuojakäytäntö",
"footer.source_code": "Näytä lähdekoodi",
@@ -350,6 +354,14 @@
"hashtag.follow": "Seuraa aihetunnistetta",
"hashtag.unfollow": "Lopeta aihetunnisteen seuraaminen",
"hashtags.and_other": "…ja {count, plural, other {# lisää}}",
+ "hints.profiles.followers_may_be_missing": "Tämän profiilin seuraajia saattaa puuttua.",
+ "hints.profiles.follows_may_be_missing": "Tämän profiilin seurattuja saattaa puuttua.",
+ "hints.profiles.posts_may_be_missing": "Tämän profiilin julkaisuja saattaa puuttua.",
+ "hints.profiles.see_more_followers": "Näytä lisää seuraajia palvelimella {domain}",
+ "hints.profiles.see_more_follows": "Näytä lisää seurattuja palvelimella {domain}",
+ "hints.profiles.see_more_posts": "Näytä lisää julkaisuja palvelimella {domain}",
+ "hints.threads.replies_may_be_missing": "Muiden palvelinten vastauksia saattaa puuttua.",
+ "hints.threads.see_more": "Näytä lisää vastauksia palvelimella {domain}",
"home.column_settings.show_reblogs": "Näytä tehostukset",
"home.column_settings.show_replies": "Näytä vastaukset",
"home.hide_announcements": "Piilota tiedotteet",
@@ -359,7 +371,7 @@
"home.show_announcements": "Näytä tiedotteet",
"ignore_notifications_modal.disclaimer": "Mastodon ei voi ilmoittaa käyttäjille, että olet sivuuttanut heidän ilmoituksensa. Ilmoitusten sivuuttaminen ei lopeta itse viestien lähetystä.",
"ignore_notifications_modal.filter_instead": "Suodata sen sijaan",
- "ignore_notifications_modal.filter_to_act_users": "Voit silti hyväksyä, hylätä tai raportoida käyttäjiä",
+ "ignore_notifications_modal.filter_to_act_users": "Voit kuitenkin yhä hyväksyä, hylätä tai raportoida käyttäjiä",
"ignore_notifications_modal.filter_to_avoid_confusion": "Suodatus auttaa välttämään mahdollisia sekaannuksia",
"ignore_notifications_modal.filter_to_review_separately": "Voit käydä suodatettuja ilmoituksia läpi erikseen",
"ignore_notifications_modal.ignore": "Sivuuta ilmoitukset",
@@ -367,7 +379,7 @@
"ignore_notifications_modal.new_accounts_title": "Sivuutetaanko ilmoitukset uusilta tileiltä?",
"ignore_notifications_modal.not_followers_title": "Sivuutetaanko ilmoitukset käyttäjiltä, jotka eivät seuraa sinua?",
"ignore_notifications_modal.not_following_title": "Sivuutetaanko ilmoitukset käyttäjiltä, joita et seuraa?",
- "ignore_notifications_modal.private_mentions_title": "Sivuutetaanko ilmoitukset ei-toivotuista yksityismaininnoista?",
+ "ignore_notifications_modal.private_mentions_title": "Sivuutetaanko ilmoitukset pyytämättömistä yksityismaininnoista?",
"interaction_modal.description.favourite": "Mastodon-tilillä voit lisätä tämän julkaisun suosikkeihisi osoittaaksesi tekijälle arvostavasi sitä ja tallentaaksesi sen tulevaa käyttöä varten.",
"interaction_modal.description.follow": "Mastodon-tilillä voit seurata käyttäjää {name} saadaksesi hänen julkaisunsa kotisyötteeseesi.",
"interaction_modal.description.reblog": "Mastodon-tilillä voit tehostaa tätä julkaisua jakaaksesi sen seuraajiesi kanssa.",
@@ -446,7 +458,7 @@
"lists.subheading": "Omat listasi",
"load_pending": "{count, plural, one {# uusi kohde} other {# uutta kohdetta}}",
"loading_indicator.label": "Ladataan…",
- "media_gallery.toggle_visible": "{number, plural, one {Piilota kuva} other {Piilota kuvat}}",
+ "media_gallery.hide": "Piilota",
"moved_to_account_banner.text": "Tilisi {disabledAccount} on tällä hetkellä poissa käytöstä, koska teit siirron tiliin {movedToAccount}.",
"mute_modal.hide_from_notifications": "Piilota ilmoituksista",
"mute_modal.hide_options": "Piilota vaihtoehdot",
@@ -457,9 +469,8 @@
"mute_modal.title": "Mykistetäänkö käyttäjä?",
"mute_modal.you_wont_see_mentions": "Et näe enää julkaisuja, joissa hänet mainitaan.",
"mute_modal.you_wont_see_posts": "Hän voi yhä nähdä julkaisusi, mutta sinä et näe hänen.",
- "name_and_others": "{name} ja {count, plural, one {# muu} other {# muuta}}",
- "name_and_others_with_link": "{name} ja
{count, plural, one {# muu} other {# muuta}}",
"navigation_bar.about": "Tietoja",
+ "navigation_bar.administration": "Ylläpito",
"navigation_bar.advanced_interface": "Avaa edistyneessä selainkäyttöliittymässä",
"navigation_bar.blocks": "Estetyt käyttäjät",
"navigation_bar.bookmarks": "Kirjanmerkit",
@@ -476,9 +487,10 @@
"navigation_bar.follows_and_followers": "Seuratut ja seuraajat",
"navigation_bar.lists": "Listat",
"navigation_bar.logout": "Kirjaudu ulos",
+ "navigation_bar.moderation": "Moderointi",
"navigation_bar.mutes": "Mykistetyt käyttäjät",
"navigation_bar.opened_in_classic_interface": "Julkaisut, profiilit ja tietyt muut sivut avautuvat oletuksena perinteiseen selainkäyttöliittymään.",
- "navigation_bar.personal": "Henkilökohtainen",
+ "navigation_bar.personal": "Henkilökohtaiset",
"navigation_bar.pins": "Kiinnitetyt julkaisut",
"navigation_bar.preferences": "Asetukset",
"navigation_bar.public_timeline": "Yleinen aikajana",
@@ -491,9 +503,13 @@
"notification.admin.report_statuses": "{name} raportoi käyttäjän {target}, syynä {category}",
"notification.admin.report_statuses_other": "{name} raportoi käyttäjän {target}",
"notification.admin.sign_up": "{name} rekisteröityi",
+ "notification.admin.sign_up.name_and_others": "{name} ja {count, plural, one {# muu} other {# muuta}} rekisteröityivät",
"notification.favourite": "{name} lisäsi julkaisusi suosikkeihinsa",
+ "notification.favourite.name_and_others_with_link": "{name} ja
{count, plural, one {# muu} other {# muuta}} lisäsivät julkaisusi suosikkeihinsa",
"notification.follow": "{name} seurasi sinua",
+ "notification.follow.name_and_others": "{name} ja {count, plural, one {# muu} other {# muuta}} seurasivat sinua",
"notification.follow_request": "{name} on pyytänyt lupaa seurata sinua",
+ "notification.follow_request.name_and_others": "{name} ja {count, plural, one {# muu} other {# muuta}} pyysivät saada seurata sinua",
"notification.label.mention": "Maininta",
"notification.label.private_mention": "Yksityismaininta",
"notification.label.private_reply": "Yksityinen vastaus",
@@ -511,6 +527,7 @@
"notification.own_poll": "Äänestyksesi on päättynyt",
"notification.poll": "Äänestys, johon osallistuit, on päättynyt",
"notification.reblog": "{name} tehosti julkaisuasi",
+ "notification.reblog.name_and_others_with_link": "{name} ja
{count, plural, one {# muu} other {# muuta}} tehostivat julkaisuasi",
"notification.relationships_severance_event": "Menetettiin yhteydet palvelimeen {name}",
"notification.relationships_severance_event.account_suspension": "Palvelimen {from} ylläpitäjä on jäädyttänyt palvelimen {target} vuorovaikutuksen. Enää et voi siis vastaanottaa päivityksiä heiltä tai olla yhteyksissä heidän kanssaan.",
"notification.relationships_severance_event.domain_block": "Palvelimen {from} ylläpitäjä on estänyt palvelimen {target} vuorovaikutuksen – mukaan lukien {followersCount} seuraajistasi ja {followingCount, plural, one {# seuratuistasi} other {# seuratuistasi}}.",
@@ -519,19 +536,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",
@@ -590,7 +605,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.",
@@ -766,6 +781,7 @@
"status.bookmark": "Lisää kirjanmerkki",
"status.cancel_reblog_private": "Peru tehostus",
"status.cannot_reblog": "Tätä julkaisua ei voi tehostaa",
+ "status.continued_thread": "Jatkoi ketjua",
"status.copy": "Kopioi linkki julkaisuun",
"status.delete": "Poista",
"status.detailed_status": "Yksityiskohtainen keskustelunäkymä",
@@ -778,8 +794,6 @@
"status.favourite": "Suosikki",
"status.favourites": "{count, plural, one {suosikki} other {suosikkia}}",
"status.filter": "Suodata tämä julkaisu",
- "status.filtered": "Suodatettu",
- "status.hide": "Piilota julkaisu",
"status.history.created": "{name} loi {date}",
"status.history.edited": "{name} muokkasi {date}",
"status.load_more": "Lataa lisää",
@@ -801,16 +815,14 @@
"status.reblogs.empty": "Kukaan ei ole vielä tehostanut tätä julkaisua. Kun joku tekee niin, tulee hän tähän näkyviin.",
"status.redraft": "Poista ja palauta muokattavaksi",
"status.remove_bookmark": "Poista kirjanmerkki",
+ "status.replied_in_thread": "Vastasi ketjuun",
"status.replied_to": "Vastaus käyttäjälle {name}",
"status.reply": "Vastaa",
"status.replyAll": "Vastaa ketjuun",
"status.report": "Raportoi @{name}",
"status.sensitive_warning": "Arkaluonteista sisältöä",
"status.share": "Jaa",
- "status.show_filter_reason": "Näytä joka tapauksessa",
- "status.show_less": "Näytä vähemmän",
"status.show_less_all": "Näytä kaikista vähemmän",
- "status.show_more": "Näytä enemmän",
"status.show_more_all": "Näytä kaikista enemmän",
"status.show_original": "Näytä alkuperäinen",
"status.title.with_attachments": "{user} liitti {attachmentCount, plural, one {{attachmentCount} tiedoston} other {{attachmentCount} tiedostoa}}",
@@ -829,11 +841,6 @@
"time_remaining.minutes": "{number, plural, one {# minuutti} other {# minuuttia}} jäljellä",
"time_remaining.moments": "Hetkiä jäljellä",
"time_remaining.seconds": "{number, plural, one {# sekunti} other {# sekuntia}} jäljellä",
- "timeline_hint.remote_resource_not_displayed": "Muiden palvelinten {resource} eivät näy tässä.",
- "timeline_hint.resources.followers": "seuraajat",
- "timeline_hint.resources.follows": "seuratut",
- "timeline_hint.resources.replies": "kaikki vastaukset",
- "timeline_hint.resources.statuses": "vanhemmat julkaisut",
"trends.counter_by_accounts": "{count, plural, one {{counter} käyttäjä} other {{counter} käyttäjää}} {days, plural, one {viime päivänä} other {viimeisenä {days} päivänä}}",
"trends.trending_now": "Suosittua nyt",
"ui.beforeunload": "Luonnos häviää, jos poistut Mastodonista.",
diff --git a/app/javascript/mastodon/locales/fil.json b/app/javascript/mastodon/locales/fil.json
index 4aa45f3fc693d0..31004560912a6e 100644
--- a/app/javascript/mastodon/locales/fil.json
+++ b/app/javascript/mastodon/locales/fil.json
@@ -13,7 +13,6 @@
"account.block_domain": "Hadlangan ang domain na {domain}",
"account.block_short": "Hadlangan",
"account.blocked": "Hinadlangan",
- "account.browse_more_on_origin_server": "Tingnan pa sa pangunahing profile",
"account.cancel_follow_request": "I-kansela ang pagsunod",
"account.copy": "I-sipi ang kawing sa profile",
"account.direct": "Palihim banggitin si @{name}",
@@ -329,9 +328,7 @@
"status.report": "I-ulat si/ang @{name}",
"status.sensitive_warning": "Sensitibong nilalaman",
"status.share": "Ibahagi",
- "status.show_less": "Magpakita ng mas kaunti",
"status.show_less_all": "Magpakita ng mas kaunti para sa lahat",
- "status.show_more": "Magpakita ng higit pa",
"status.show_more_all": "Magpakita ng higit pa para sa lahat",
"status.translate": "Isalin",
"status.translated_from_with": "Isalin mula sa {lang} gamit ang {provider}",
@@ -340,8 +337,5 @@
"time_remaining.days": "{number, plural, one {# araw} other {# na araw}} ang natitira",
"time_remaining.hours": "{number, plural, one {# oras} other {# na oras}} ang natitira",
"time_remaining.minutes": "{number, plural, one {# minuto} other {# na minuto}} ang natitira",
- "time_remaining.seconds": "{number, plural, one {# segundo} other {# na segundo}} ang natitira",
- "timeline_hint.remote_resource_not_displayed": "Hindi ipinapakita ang {resource} mula sa ibang mga serbiro.",
- "timeline_hint.resources.followers": "Mga tagasunod",
- "timeline_hint.resources.follows": "Mga sinusundan"
+ "time_remaining.seconds": "{number, plural, one {# segundo} other {# na segundo}} ang natitira"
}
diff --git a/app/javascript/mastodon/locales/fo.json b/app/javascript/mastodon/locales/fo.json
index ec6b0e53575bc6..6e7eb3b7c28459 100644
--- a/app/javascript/mastodon/locales/fo.json
+++ b/app/javascript/mastodon/locales/fo.json
@@ -19,7 +19,6 @@
"account.block_domain": "Banna økisnavnið {domain}",
"account.block_short": "Blokera",
"account.blocked": "Bannað/ur",
- "account.browse_more_on_origin_server": "Kaga meira á upprunaligu vangamyndina",
"account.cancel_follow_request": "Strika fylgjaraumbøn",
"account.copy": "Avrita leinki til vangan",
"account.direct": "Umrøð @{name} privat",
@@ -98,6 +97,8 @@
"block_modal.title": "Banna brúkara?",
"block_modal.you_wont_see_mentions": "Tú sært ikki postar, sum nevna tey.",
"boost_modal.combo": "Tú kanst trýsta á {combo} fyri at loypa uppum hetta næstu ferð",
+ "boost_modal.reblog": "Stimbra post?",
+ "boost_modal.undo_reblog": "Strika stimbran av posti?",
"bundle_column_error.copy_stacktrace": "Avrita feilfráboðan",
"bundle_column_error.error.body": "Umbidna síðan kann ikki vísast. Tað kann vera orsakað av einum feili í koduni hjá okkum ella tað kann vera orsakað av kaganum, sum tú brúkar.",
"bundle_column_error.error.title": "Áh, nei!",
@@ -193,6 +194,8 @@
"confirmations.unfollow.confirm": "Fylg ikki",
"confirmations.unfollow.message": "Ert tú vís/ur í, at tú vil steðga við at fylgja {name}?",
"confirmations.unfollow.title": "Gevst at fylgja brúkara?",
+ "content_warning.hide": "Fjal post",
+ "content_warning.show": "Vís kortini",
"conversation.delete": "Strika samrøðu",
"conversation.mark_as_read": "Merk sum lisið",
"conversation.open": "Vís samrøðu",
@@ -300,6 +303,7 @@
"filter_modal.select_filter.subtitle": "Brúka ein verandi bólk ella skapa ein nýggjan",
"filter_modal.select_filter.title": "Filtrera hendan postin",
"filter_modal.title.status": "Filtrera ein post",
+ "filter_warning.matches_filter": "Samsvarar við filtrið “{title}”",
"filtered_notifications_banner.pending_requests": "Frá {count, plural, =0 {ongum} one {einum persóni} other {# persónum}}, sum tú kanska kennir",
"filtered_notifications_banner.title": "Filtreraðar fráboðanir",
"firehose.all": "Allar",
@@ -349,6 +353,14 @@
"hashtag.follow": "Fylg frámerki",
"hashtag.unfollow": "Gevst at fylgja frámerki",
"hashtags.and_other": "…og {count, plural, other {# afturat}}",
+ "hints.profiles.followers_may_be_missing": "Fylgjarar hjá hesum vanganum kunnu mangla.",
+ "hints.profiles.follows_may_be_missing": "Listin við teimum, sum hesin vangin fylgir, kunnu mangla.",
+ "hints.profiles.posts_may_be_missing": "Summir postar frá hesum vanganum kunnu mangla.",
+ "hints.profiles.see_more_followers": "Sí fleiri fylgjarar á {domain}",
+ "hints.profiles.see_more_follows": "Sí fleiri, ið viðkomandi fylgir, á {domain}",
+ "hints.profiles.see_more_posts": "Sí fleiri postar á {domain}",
+ "hints.threads.replies_may_be_missing": "Svar frá øðrum ambætarum mangla møguliga.",
+ "hints.threads.see_more": "Sí fleiri svar á {domain}",
"home.column_settings.show_reblogs": "Vís lyft",
"home.column_settings.show_replies": "Vís svar",
"home.hide_announcements": "Fjal kunngerðir",
@@ -358,7 +370,7 @@
"home.show_announcements": "Vís kunngerðir",
"ignore_notifications_modal.disclaimer": "Mastodon kann ikki upplýsa brúkarar um, at tú hevur latið sum um, at tú ikki hevur sæð teirra fráboðanir. At lata sum um, at tú ikki sær fráboðanir, forðar ikki, at boðini sjálv verða send.",
"ignore_notifications_modal.filter_instead": "Filtrera ístaðin",
- "ignore_notifications_modal.filter_to_act_users": "Tú kann framvegis góðtaka, avvísa og melda brúkarar",
+ "ignore_notifications_modal.filter_to_act_users": "Tú kanst framvegis góðtaka, avvísa og melda brúkarar",
"ignore_notifications_modal.filter_to_avoid_confusion": "Filtrering ger tað lættari at sleppa undan møguligum misskiljingum",
"ignore_notifications_modal.filter_to_review_separately": "Tú kanst kanna filtreraðar fráboðanir fyri seg",
"ignore_notifications_modal.ignore": "Lat sum um tú ikki sær fráboðanir",
@@ -445,7 +457,7 @@
"lists.subheading": "Tínir listar",
"load_pending": "{count, plural, one {# nýtt evni} other {# nýggj evni}}",
"loading_indicator.label": "Innlesur…",
- "media_gallery.toggle_visible": "{number, plural, one {Fjal mynd} other {Fjal myndir}}",
+ "media_gallery.hide": "Fjal",
"moved_to_account_banner.text": "Konta tín {disabledAccount} er í løtuni óvirkin, tí tú flutti til {movedToAccount}.",
"mute_modal.hide_from_notifications": "Fjal boð",
"mute_modal.hide_options": "Fjal valmøguleikar",
@@ -456,9 +468,8 @@
"mute_modal.title": "Sløkk brúkara?",
"mute_modal.you_wont_see_mentions": "Tú sært ikki postar, sum nevna tey.",
"mute_modal.you_wont_see_posts": "Tey síggja framvegis tínar postar, men tú sært ikki teirra.",
- "name_and_others": "{name} og {count, plural, one {# annar} other {# onnur}}",
- "name_and_others_with_link": "{name} og
{count, plural, one {# annar} other {# onnur}}",
"navigation_bar.about": "Um",
+ "navigation_bar.administration": "Umsiting",
"navigation_bar.advanced_interface": "Lat upp í framkomnum vevmarkamóti",
"navigation_bar.blocks": "Bannaðir brúkarar",
"navigation_bar.bookmarks": "Goymd",
@@ -475,6 +486,7 @@
"navigation_bar.follows_and_followers": "Fylgd og fylgjarar",
"navigation_bar.lists": "Listar",
"navigation_bar.logout": "Rita út",
+ "navigation_bar.moderation": "Umsjón",
"navigation_bar.mutes": "Doyvdir brúkarar",
"navigation_bar.opened_in_classic_interface": "Postar, kontur og aðrar serstakar síður verða - um ikki annað er ásett - latnar upp í klassiska vev-markamótinum.",
"navigation_bar.personal": "Persónligt",
@@ -490,9 +502,13 @@
"notification.admin.report_statuses": "{name} meldaði {target} fyri {category}",
"notification.admin.report_statuses_other": "{name} meldaði {target}",
"notification.admin.sign_up": "{name} meldaði seg til",
+ "notification.admin.sign_up.name_and_others": "{name} og {count, plural, one {# annar/onnur} other {# onnur}} teknaðu seg",
"notification.favourite": "{name} dámdi postin hjá tær",
+ "notification.favourite.name_and_others_with_link": "{name} og
{count, plural, one {# annar/onnur} other {# onnur}} yndisfrámerktu postin hjá tær",
"notification.follow": "{name} fylgdi tær",
+ "notification.follow.name_and_others": "{name} og {count, plural, one {# annar/onnur} other {# onnur}} fylgdu tær",
"notification.follow_request": "{name} biður um at fylgja tær",
+ "notification.follow_request.name_and_others": "{name} og {count, plural, one {# annar/onnur} other {# onnur}} hava biðið um at fylgja tær",
"notification.label.mention": "Umrøða",
"notification.label.private_mention": "Privat umrøða",
"notification.label.private_reply": "Privat svar",
@@ -510,6 +526,7 @@
"notification.own_poll": "Tín atkvøðugreiðsla er endað",
"notification.poll": "Ein atkvøðugreiðsla, har tú atkvøddi, er endað",
"notification.reblog": "{name} lyfti tín post",
+ "notification.reblog.name_and_others_with_link": "{name} og
{count, plural, one {# annar/onnur} other {# onnur}} framhevjaðu tín post",
"notification.relationships_severance_event": "Mist sambond við {name}",
"notification.relationships_severance_event.account_suspension": "Ein umsitari frá {from} hevur gjørt {target} óvirkna, sum merkir, at tú ikki kanst móttaka dagføringar ella virka saman við teimum longur.",
"notification.relationships_severance_event.domain_block": "Ein umsitari frá {from} hevur blokerað {target}, íroknað {followersCount} av tínum fylgjarum og {followingCount, plural, one {# kontu} other {# kontur}}, sum tú fylgir.",
@@ -518,19 +535,17 @@
"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.accept_multiple": "{count, plural, one {Góðtak # umbøn…} other {Góðtak # umbønir…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Góðtak umbøn} other {Góðtak umbønir}}",
+ "notification_requests.confirm_accept_multiple.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ú vil halda fram?",
+ "notification_requests.confirm_accept_multiple.title": "Góðtak fráboðanarumbønir?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Avvís umbøn} other {Avvís umbønir}}",
+ "notification_requests.confirm_dismiss_multiple.message": "Tú er í ferð við at avvísa {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 fatur á {count, plural, one {henni} other {teimum}} aftur. Er tú vís/ur í at tú vil halda fram?",
+ "notification_requests.confirm_dismiss_multiple.title": "Avvís 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.dismiss_multiple": "{count, plural, one {Avvís # umbøn…} other {Avvís # umbønir…}}",
+ "notification_requests.edit_selection": "Rætta",
+ "notification_requests.exit_selection": "Liðugt",
"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",
@@ -765,6 +780,7 @@
"status.bookmark": "Goym",
"status.cancel_reblog_private": "Strika stimbran",
"status.cannot_reblog": "Tað ber ikki til at stimbra hendan postin",
+ "status.continued_thread": "Framhaldandi tráður",
"status.copy": "Kopiera leinki til postin",
"status.delete": "Strika",
"status.detailed_status": "Útgreinað samrøðusýni",
@@ -777,8 +793,6 @@
"status.favourite": "Dámdur postur",
"status.favourites": "{count, plural, one {yndispostur} other {yndispostar}}",
"status.filter": "Filtrera hendan postin",
- "status.filtered": "Filtrerað",
- "status.hide": "Fjal post",
"status.history.created": "{name} stovnað {date}",
"status.history.edited": "{name} rættað {date}",
"status.load_more": "Tak meira niður",
@@ -800,16 +814,14 @@
"status.reblogs.empty": "Eingin hevur stimbrað hendan postin enn. Tá onkur stimbrar postin, verður hann sjónligur her.",
"status.redraft": "Strika & ger nýggja kladdu",
"status.remove_bookmark": "Gloym",
+ "status.replied_in_thread": "Svaraði í tráðnum",
"status.replied_to": "Svaraði {name}",
"status.reply": "Svara",
"status.replyAll": "Svara tráðnum",
"status.report": "Melda @{name}",
"status.sensitive_warning": "Viðkvæmt tilfar",
"status.share": "Deil",
- "status.show_filter_reason": "Vís kortini",
- "status.show_less": "Vís minni",
"status.show_less_all": "Vís øllum minni",
- "status.show_more": "Vís meira",
"status.show_more_all": "Vís øllum meira",
"status.show_original": "Vís upprunaliga",
"status.title.with_attachments": "{user} postaði {attachmentCount, plural, one {eitt viðhefti} other {{attachmentCount} viðhefti}}",
@@ -828,11 +840,6 @@
"time_remaining.minutes": "{number, plural, one {# minuttur} other {# minuttir}} eftir",
"time_remaining.moments": "Lítið bil eftir",
"time_remaining.seconds": "{number, plural, one {# sekund} other {# sekund}} eftir",
- "timeline_hint.remote_resource_not_displayed": "{resource} frá øðrum ambætarum verður ikki víst.",
- "timeline_hint.resources.followers": "Fylgjarar",
- "timeline_hint.resources.follows": "Fylgir",
- "timeline_hint.resources.replies": "Nøkur svar",
- "timeline_hint.resources.statuses": "Gamlir postar",
"trends.counter_by_accounts": "{count, plural, one {{counter} persónur} other {{counter} persónar}} {days, plural, one {seinasta dagin} other {{days} seinastu dagarnar}}",
"trends.trending_now": "Rák beint nú",
"ui.beforeunload": "Kladdan verður mist, um tú fer úr Mastodon.",
diff --git a/app/javascript/mastodon/locales/fr-CA.json b/app/javascript/mastodon/locales/fr-CA.json
index b0609e3e822b09..9f51aaaa7d5315 100644
--- a/app/javascript/mastodon/locales/fr-CA.json
+++ b/app/javascript/mastodon/locales/fr-CA.json
@@ -11,6 +11,7 @@
"about.not_available": "Cette information n'a pas été rendue disponible sur ce serveur.",
"about.powered_by": "Réseau social décentralisé propulsé par {mastodon}",
"about.rules": "Règles du serveur",
+ "account.account_note_header": "Note personnelle",
"account.add_or_remove_from_list": "Ajouter ou enlever de listes",
"account.badges.bot": "Bot",
"account.badges.group": "Groupe",
@@ -18,7 +19,6 @@
"account.block_domain": "Bloquer le domaine {domain}",
"account.block_short": "Bloquer",
"account.blocked": "Bloqué·e",
- "account.browse_more_on_origin_server": "Parcourir davantage sur le profil original",
"account.cancel_follow_request": "Retirer cette demande d'abonnement",
"account.copy": "Copier le lien vers le profil",
"account.direct": "Mention privée @{name}",
@@ -34,6 +34,7 @@
"account.follow_back": "S'abonner en retour",
"account.followers": "abonné·e·s",
"account.followers.empty": "Personne ne suit ce compte pour l'instant.",
+ "account.followers_counter": "{count, plural, one {{counter} abonné·e} other {{counter} abonné·e·s}}",
"account.following": "Abonné·e",
"account.follows.empty": "Ce compte ne suit personne présentement.",
"account.go_to_profile": "Voir ce profil",
@@ -60,6 +61,7 @@
"account.requested_follow": "{name} a demandé à vous suivre",
"account.share": "Partager le profil de @{name}",
"account.show_reblogs": "Afficher les boosts de @{name}",
+ "account.statuses_counter": "{count, plural, one {{counter} message} other {{counter} messages}}",
"account.unblock": "Débloquer @{name}",
"account.unblock_domain": "Débloquer le domaine {domain}",
"account.unblock_short": "Débloquer",
@@ -91,9 +93,11 @@
"block_modal.they_cant_mention": "Il ne peut pas vous mentionner ou vous suivre.",
"block_modal.they_cant_see_posts": "Il peut toujours voir vos publications, mais vous ne verrez pas les siennes.",
"block_modal.they_will_know": "Il peut voir qu'il est bloqué.",
- "block_modal.title": "Bloquer l'utilisateur ?",
+ "block_modal.title": "Bloquer l'utilisateur·rice ?",
"block_modal.you_wont_see_mentions": "Vous ne verrez pas les publications qui le mentionne.",
"boost_modal.combo": "Vous pouvez appuyer sur {combo} pour sauter ceci la prochaine fois",
+ "boost_modal.reblog": "Booster le message ?",
+ "boost_modal.undo_reblog": "Annuler le boost du message ?",
"bundle_column_error.copy_stacktrace": "Copier le rapport d'erreur",
"bundle_column_error.error.body": "La page demandée n'a pas pu être affichée. Cela pourrait être dû à un bogue dans notre code, ou à un problème de compatibilité avec le navigateur.",
"bundle_column_error.error.title": "Oh non!",
@@ -189,6 +193,8 @@
"confirmations.unfollow.confirm": "Ne plus suivre",
"confirmations.unfollow.message": "Voulez-vous vraiment arrêter de suivre {name}?",
"confirmations.unfollow.title": "Se désabonner de l'utilisateur ?",
+ "content_warning.hide": "Masquer le message",
+ "content_warning.show": "Afficher quand même",
"conversation.delete": "Supprimer cette conversation",
"conversation.mark_as_read": "Marquer comme lu",
"conversation.open": "Afficher cette conversation",
@@ -296,6 +302,8 @@
"filter_modal.select_filter.subtitle": "Utilisez une catégorie existante ou en créer une nouvelle",
"filter_modal.select_filter.title": "Filtrer cette publication",
"filter_modal.title.status": "Filtrer une publication",
+ "filter_warning.matches_filter": "Correspond au filtre « {title} »",
+ "filtered_notifications_banner.pending_requests": "De la part {count, plural, =0 {d’aucune personne} one {d'une personne} other {de # personnes}} que vous pourriez connaître",
"filtered_notifications_banner.title": "Notifications filtrées",
"firehose.all": "Tout",
"firehose.local": "Ce serveur",
@@ -305,6 +313,8 @@
"follow_requests.unlocked_explanation": "Même si votre compte n’est pas privé, l’équipe de {domain} a pensé que vous pourriez vouloir peut-être consulter manuellement les demandes d'abonnement de ces comptes.",
"follow_suggestions.curated_suggestion": "Choix du staff",
"follow_suggestions.dismiss": "Ne plus afficher",
+ "follow_suggestions.featured_longer": "Sélectionné par l'équipe de {domain}",
+ "follow_suggestions.friends_of_friends_longer": "Populaire dans le cercle des personnes que vous suivez",
"follow_suggestions.hints.featured": "Ce profil a été sélectionné par l'équipe de {domain}.",
"follow_suggestions.hints.friends_of_friends": "Ce profil est populaire parmi les personnes que vous suivez.",
"follow_suggestions.hints.most_followed": "Ce profil est l'un des plus suivis sur {domain}.",
@@ -312,6 +322,8 @@
"follow_suggestions.hints.similar_to_recently_followed": "Ce profil est similaire aux profils que vous avez suivis le plus récemment.",
"follow_suggestions.personalized_suggestion": "Suggestion personnalisée",
"follow_suggestions.popular_suggestion": "Suggestion populaire",
+ "follow_suggestions.popular_suggestion_longer": "Populaire sur {domain}",
+ "follow_suggestions.similar_to_recently_followed_longer": "Similaire aux profils que vous avez dernièrement suivis",
"follow_suggestions.view_all": "Tout afficher",
"follow_suggestions.who_to_follow": "Qui suivre",
"followed_tags": "Hashtags suivis",
@@ -340,6 +352,14 @@
"hashtag.follow": "Suivre ce hashtag",
"hashtag.unfollow": "Ne plus suivre ce hashtag",
"hashtags.and_other": "…et {count, plural, other {# de plus}}",
+ "hints.profiles.followers_may_be_missing": "Les abonné·e·s à ce profil peuvent être manquant·e·s.",
+ "hints.profiles.follows_may_be_missing": "Les abonnements pour ce profil peuvent être manquants.",
+ "hints.profiles.posts_may_be_missing": "Certains messages de ce profil peuvent être manquants.",
+ "hints.profiles.see_more_followers": "Afficher plus d'abonné·e·s sur {domain}",
+ "hints.profiles.see_more_follows": "Afficher plus d'abonné·e·s sur {domain}",
+ "hints.profiles.see_more_posts": "Voir plus de messages sur {domain}",
+ "hints.threads.replies_may_be_missing": "Les réponses provenant des autres serveurs pourraient être manquantes.",
+ "hints.threads.see_more": "Afficher plus de réponses sur {domain}",
"home.column_settings.show_reblogs": "Afficher boosts",
"home.column_settings.show_replies": "Afficher réponses",
"home.hide_announcements": "Masquer les annonces",
@@ -347,6 +367,17 @@
"home.pending_critical_update.link": "Voir les mises à jour",
"home.pending_critical_update.title": "Une mise à jour de sécurité critique est disponible !",
"home.show_announcements": "Afficher annonces",
+ "ignore_notifications_modal.disclaimer": "Mastodon ne peut pas indiquer aux utilisateurs que vous avez ignoré leurs notifications. Le fait d'ignorer les notifications n'empêchera pas la transmission des messages eux-mêmes.",
+ "ignore_notifications_modal.filter_instead": "Filtrer plutôt",
+ "ignore_notifications_modal.filter_to_act_users": "Vous serez toujours en mesure d'accepter, de rejeter ou de signaler les utilisateur·rice·s",
+ "ignore_notifications_modal.filter_to_avoid_confusion": "Le filtrage permet d'éviter toute éventuelle confusion",
+ "ignore_notifications_modal.filter_to_review_separately": "Vous pouvez réexaminer les notifications filtrées séparément",
+ "ignore_notifications_modal.ignore": "Ignorer les notifications",
+ "ignore_notifications_modal.limited_accounts_title": "Ignorer les notifications provenant des comptes modérés ?",
+ "ignore_notifications_modal.new_accounts_title": "Ignorer les notifications provenant des nouveaux comptes ?",
+ "ignore_notifications_modal.not_followers_title": "Ignorer les notifications provenant des personnes qui ne vous suivent pas ?",
+ "ignore_notifications_modal.not_following_title": "Ignorer les notifications provenant des personnes que vous ne suivez pas ?",
+ "ignore_notifications_modal.private_mentions_title": "Ignorer les notifications issues des mentions privées non sollicitées ?",
"interaction_modal.description.favourite": "Avec un compte Mastodon, vous pouvez ajouter cette publication à vos favoris pour informer l'auteur⋅rice que vous l'appréciez et la sauvegarder pour plus tard.",
"interaction_modal.description.follow": "Avec un compte Mastodon, vous pouvez suivre {name} et recevoir leurs publications dans votre fil d'accueil.",
"interaction_modal.description.reblog": "Avec un compte Mastodon, vous pouvez booster cette publication pour la partager avec vos propres abonné·e·s.",
@@ -407,6 +438,8 @@
"limited_account_hint.action": "Afficher le profil quand même",
"limited_account_hint.title": "Ce profil a été masqué par la modération de {domain}.",
"link_preview.author": "Par {name}",
+ "link_preview.more_from_author": "Plus via {name}",
+ "link_preview.shares": "{count, plural, one {{counter} message} other {{counter} messages}}",
"lists.account.add": "Ajouter à une liste",
"lists.account.remove": "Retirer d'une liste",
"lists.delete": "Supprimer la liste",
@@ -423,7 +456,6 @@
"lists.subheading": "Vos listes",
"load_pending": "{count, plural, one {# nouvel élément} other {# nouveaux éléments}}",
"loading_indicator.label": "Chargement…",
- "media_gallery.toggle_visible": "{number, plural, one {Cacher l’image} other {Cacher les images}}",
"moved_to_account_banner.text": "Votre compte {disabledAccount} est actuellement désactivé parce que vous avez déménagé sur {movedToAccount}.",
"mute_modal.hide_from_notifications": "Cacher des notifications",
"mute_modal.hide_options": "Masquer les options",
@@ -435,6 +467,7 @@
"mute_modal.you_wont_see_mentions": "Vous ne verrez pas les publications qui le mentionne.",
"mute_modal.you_wont_see_posts": "Il peut toujours voir vos publications, mais vous ne verrez pas les siennes.",
"navigation_bar.about": "À propos",
+ "navigation_bar.administration": "Administration",
"navigation_bar.advanced_interface": "Ouvrir dans l’interface avancée",
"navigation_bar.blocks": "Comptes bloqués",
"navigation_bar.bookmarks": "Signets",
@@ -451,6 +484,7 @@
"navigation_bar.follows_and_followers": "Abonnements et abonnés",
"navigation_bar.lists": "Listes",
"navigation_bar.logout": "Se déconnecter",
+ "navigation_bar.moderation": "Modération",
"navigation_bar.mutes": "Utilisateurs masqués",
"navigation_bar.opened_in_classic_interface": "Les messages, les comptes et les pages spécifiques sont ouvertes dans l’interface classique.",
"navigation_bar.personal": "Personnel",
@@ -461,12 +495,36 @@
"navigation_bar.security": "Sécurité",
"not_signed_in_indicator.not_signed_in": "Vous devez vous connecter pour accéder à cette ressource.",
"notification.admin.report": "{name} a signalé {target}",
+ "notification.admin.report_account": "{name} a signalé {count, plural, one {un message} other {# messages}} de {target} pour {category}",
+ "notification.admin.report_account_other": "{name} a signalé {count, plural, one {un message} other {# messages}} depuis {target}",
+ "notification.admin.report_statuses": "{name} a signalé {target} pour {category}",
+ "notification.admin.report_statuses_other": "{name} a signalé {target}",
"notification.admin.sign_up": "{name} s'est inscrit·e",
+ "notification.admin.sign_up.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} se sont inscrit",
"notification.favourite": "{name} a ajouté votre publication à ses favoris",
+ "notification.favourite.name_and_others_with_link": "{name} et
{count, plural, one {# autre} other {# autres}} ont mis votre message en favori",
"notification.follow": "{name} vous suit",
+ "notification.follow.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} se sont abonné à votre compte",
"notification.follow_request": "{name} a demandé à vous suivre",
+ "notification.follow_request.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} ont demandé à vous suivre",
+ "notification.label.mention": "Mention",
+ "notification.label.private_mention": "Mention privée",
+ "notification.label.private_reply": "Répondre en privé",
+ "notification.label.reply": "Réponse",
+ "notification.mention": "Mention",
+ "notification.moderation-warning.learn_more": "En savoir plus",
+ "notification.moderation_warning": "Vous avez reçu un avertissement de modération",
+ "notification.moderation_warning.action_delete_statuses": "Certains de vos messages ont été supprimés.",
+ "notification.moderation_warning.action_disable": "Votre compte a été désactivé.",
+ "notification.moderation_warning.action_mark_statuses_as_sensitive": "Certains de vos messages ont été marqués comme sensibles.",
+ "notification.moderation_warning.action_none": "Votre compte a reçu un avertissement de modération.",
+ "notification.moderation_warning.action_sensitive": "Vos messages seront désormais marqués comme sensibles.",
+ "notification.moderation_warning.action_silence": "Votre compte a été limité.",
+ "notification.moderation_warning.action_suspend": "Votre compte a été suspendu.",
"notification.own_poll": "Votre sondage est terminé",
+ "notification.poll": "Un sondage auquel vous avez participé vient de se terminer",
"notification.reblog": "{name} a boosté votre message",
+ "notification.reblog.name_and_others_with_link": "{name} et
{count, plural, one {# autre} other {# autres}} ont boosté votre message",
"notification.relationships_severance_event": "Connexions perdues avec {name}",
"notification.relationships_severance_event.account_suspension": "Un·e administrateur·rice de {from} a suspendu {target}, ce qui signifie que vous ne pourrez plus recevoir de mises à jour ou interagir avec lui.",
"notification.relationships_severance_event.domain_block": "Un·e administrateur·rice de {from} en a bloqué {target}, comprenant {followersCount} de vos abonné·e·s et {followingCount, plural, one {# compte} other {# comptes}} vous suivez.",
@@ -475,15 +533,32 @@
"notification.status": "{name} vient de publier",
"notification.update": "{name} a modifié une publication",
"notification_requests.accept": "Accepter",
+ "notification_requests.accept_multiple": "{count, plural, one {Accepter # requête …} other {Accepter # requêtes …}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Accepter la requête} other {Accepter les requêtes}}",
+ "notification_requests.confirm_accept_multiple.message": "Vous êtes sur le point d'accepter {count, plural, one {une requête de notification} other {# requêtes de notification}}. Êtes-vous sûr de vouloir continuer ?",
+ "notification_requests.confirm_accept_multiple.title": "Accepter les requêtes de notification ?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Ignorer la requête} other {Ignorer les requêtes}}",
+ "notification_requests.confirm_dismiss_multiple.message": "Vous êtes sur le point de rejeter {count, plural, one {une requête de notification} other {# requêtes de notification}}. Vous ne serez plus en mesure d’{count, plural, one {y} other {y}} accéder facilement, ultérieurement. Êtes-vous sûr de vouloir continuer ?",
+ "notification_requests.confirm_dismiss_multiple.title": "Rejeter les requêtes de notification ?",
"notification_requests.dismiss": "Rejeter",
+ "notification_requests.dismiss_multiple": "{count, plural, one {Rejeter # requête …} other {Rejeter # requêtes …}}",
+ "notification_requests.edit_selection": "Modifier",
+ "notification_requests.exit_selection": "Fait",
+ "notification_requests.explainer_for_limited_account": "Les notifications en provenance de ce compte ont été filtrées car le compte a été limité par un modérateur.",
+ "notification_requests.explainer_for_limited_remote_account": "Les notifications en provenance de ce compte ont été filtrées car le compte ou le serveur dont il est issu a été limité par un modérateur.",
+ "notification_requests.maximize": "Agrandir",
+ "notification_requests.minimize_banner": "Réduire la bannière des notifications filtrées",
"notification_requests.notifications_from": "Notifications de {name}",
"notification_requests.title": "Notifications filtrées",
+ "notification_requests.view": "Afficher les notifications",
"notifications.clear": "Effacer notifications",
"notifications.clear_confirmation": "Voulez-vous vraiment effacer toutes vos notifications?",
"notifications.clear_title": "Effacer les notifications ?",
"notifications.column_settings.admin.report": "Nouveaux signalements:",
"notifications.column_settings.admin.sign_up": "Nouvelles inscriptions:",
"notifications.column_settings.alert": "Notifications navigateur",
+ "notifications.column_settings.beta.category": "Fonctionnalités expérimentales",
+ "notifications.column_settings.beta.grouping": "Grouper les notifications",
"notifications.column_settings.favourite": "Favoris:",
"notifications.column_settings.filter_bar.advanced": "Afficher toutes les catégories",
"notifications.column_settings.filter_bar.category": "Barre de filtre rapide",
@@ -512,14 +587,23 @@
"notifications.permission_denied": "Les notifications de bureau ne sont pas disponibles en raison d'une demande de permission de navigateur précédemment refusée",
"notifications.permission_denied_alert": "Les notifications de bureau ne peuvent pas être activées, car l’autorisation du navigateur a précedemment été refusée",
"notifications.permission_required": "Les notifications de bureau ne sont pas disponibles car l’autorisation requise n’a pas été accordée.",
+ "notifications.policy.accept": "Accepter",
+ "notifications.policy.accept_hint": "Afficher dans les notifications",
+ "notifications.policy.drop": "Ignorer",
+ "notifications.policy.drop_hint": "Expulser vers le vide, pour ne plus jamais les revoir",
+ "notifications.policy.filter": "Filtrer",
+ "notifications.policy.filter_hint": "Envoyer à la boîte de réception des notifications filtrées",
+ "notifications.policy.filter_limited_accounts_hint": "Limités par les modérateur·rice·s du serveur",
+ "notifications.policy.filter_limited_accounts_title": "Comptes modérés",
"notifications.policy.filter_new_accounts.hint": "Créés au cours des derniers {days, plural, one {un jour} other {# jours}}",
"notifications.policy.filter_new_accounts_title": "Nouveaux comptes",
"notifications.policy.filter_not_followers_hint": "Incluant les personnes qui vous suivent depuis moins de {days, plural, one {un jour} other {# jours}}",
"notifications.policy.filter_not_followers_title": "Personnes qui ne vous suivent pas",
"notifications.policy.filter_not_following_hint": "Jusqu'à ce que vous les validiez manuellement",
"notifications.policy.filter_not_following_title": "Personnes que vous ne suivez pas",
- "notifications.policy.filter_private_mentions_hint": "Filtré sauf si c'est en réponse à une mention de vous ou si vous suivez l'expéditeur",
+ "notifications.policy.filter_private_mentions_hint": "Filtrées sauf si c'est en réponse à l'une de vos mentions ou si vous suivez l'expéditeur·ice",
"notifications.policy.filter_private_mentions_title": "Mentions privées non sollicitées",
+ "notifications.policy.title": "Gestion des notifications des …",
"notifications_permission_banner.enable": "Activer les notifications de bureau",
"notifications_permission_banner.how_to_control": "Pour recevoir des notifications lorsque Mastodon n’est pas ouvert, activez les notifications de bureau. Vous pouvez contrôler précisément quels types d’interactions génèrent des notifications de bureau via le bouton {icon} ci-dessus une fois qu’elles sont activées.",
"notifications_permission_banner.title": "Ne rien rater",
@@ -646,9 +730,13 @@
"report.unfollow_explanation": "Vous suivez ce compte. Pour ne plus en voir les messages sur votre fil d'accueil, arrêtez de le suivre.",
"report_notification.attached_statuses": "{count, plural, one {{count} publication liée} other {{count} publications liées}}",
"report_notification.categories.legal": "Mentions légales",
+ "report_notification.categories.legal_sentence": "contenu illégal",
"report_notification.categories.other": "Autre",
+ "report_notification.categories.other_sentence": "autre",
"report_notification.categories.spam": "Spam",
+ "report_notification.categories.spam_sentence": "indésirable",
"report_notification.categories.violation": "Infraction aux règles du serveur",
+ "report_notification.categories.violation_sentence": "infraction de règle",
"report_notification.open": "Ouvrir le signalement",
"search.no_recent_searches": "Aucune recherche récente",
"search.placeholder": "Rechercher",
@@ -676,8 +764,11 @@
"server_banner.about_active_users": "Personnes utilisant ce serveur au cours des 30 derniers jours (Comptes actifs mensuellement)",
"server_banner.active_users": "comptes actifs",
"server_banner.administered_by": "Administré par:",
+ "server_banner.is_one_of_many": "{domain} est l'un des nombreux serveurs Mastodon indépendants que vous pouvez utiliser pour participer au fédiverse.",
"server_banner.server_stats": "Statistiques du serveur:",
"sign_in_banner.create_account": "Créer un compte",
+ "sign_in_banner.follow_anyone": "Suivez n'importe qui à travers le fédivers et affichez tout dans un ordre chronologique. Ni algorithmes, ni publicités, ni appâts à clics en perspective.",
+ "sign_in_banner.mastodon_is": "Mastodon est le meilleur moyen de suivre ce qui se passe.",
"sign_in_banner.sign_in": "Se connecter",
"sign_in_banner.sso_redirect": "Se connecter ou s’inscrire",
"status.admin_account": "Ouvrir l’interface de modération pour @{name}",
@@ -699,8 +790,6 @@
"status.favourite": "Ajouter aux favoris",
"status.favourites": "{count, plural, one {favori} other {favoris}}",
"status.filter": "Filtrer cette publication",
- "status.filtered": "Filtrée",
- "status.hide": "Masquer le message",
"status.history.created": "créé par {name} {date}",
"status.history.edited": "modifié par {name} {date}",
"status.load_more": "Charger plus",
@@ -728,10 +817,7 @@
"status.report": "Signaler @{name}",
"status.sensitive_warning": "Contenu sensible",
"status.share": "Partager",
- "status.show_filter_reason": "Afficher quand même",
- "status.show_less": "Replier",
"status.show_less_all": "Tout replier",
- "status.show_more": "Déplier",
"status.show_more_all": "Tout déplier",
"status.show_original": "Afficher l’original",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
@@ -750,10 +836,6 @@
"time_remaining.minutes": "{number, plural, one {# minute restante} other {# minutes restantes}}",
"time_remaining.moments": "Encore quelques instants",
"time_remaining.seconds": "{number, plural, one {# seconde restante} other {# secondes restantes}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} des autres serveurs ne sont pas affichés.",
- "timeline_hint.resources.followers": "Abonné·e·s",
- "timeline_hint.resources.follows": "Abonnements",
- "timeline_hint.resources.statuses": "Publications plus anciennes",
"trends.counter_by_accounts": "{count, plural, one {{counter} personne} other {{counter} personnes}} au cours {days, plural, one {des dernières 24h} other {des {days} derniers jours}}",
"trends.trending_now": "Présentement populaire",
"ui.beforeunload": "Votre brouillon sera perdu si vous quittez Mastodon.",
diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json
index 6510e6643574c9..69fd236e733fcc 100644
--- a/app/javascript/mastodon/locales/fr.json
+++ b/app/javascript/mastodon/locales/fr.json
@@ -11,6 +11,7 @@
"about.not_available": "Cette information n'a pas été rendue disponible sur ce serveur.",
"about.powered_by": "Réseau social décentralisé propulsé par {mastodon}",
"about.rules": "Règles du serveur",
+ "account.account_note_header": "Note personnelle",
"account.add_or_remove_from_list": "Ajouter ou retirer des listes",
"account.badges.cat": "Cat",
"account.badges.bot": "Bot",
@@ -19,7 +20,6 @@
"account.block_domain": "Bloquer le domaine {domain}",
"account.block_short": "Bloquer",
"account.blocked": "Bloqué·e",
- "account.browse_more_on_origin_server": "Parcourir davantage sur le profil original",
"account.cancel_follow_request": "Annuler le suivi",
"account.copy": "Copier le lien vers le profil",
"account.direct": "Mention privée @{name}",
@@ -35,6 +35,7 @@
"account.follow_back": "S'abonner en retour",
"account.followers": "Abonné·e·s",
"account.followers.empty": "Personne ne suit cet·te utilisateur·rice pour l’instant.",
+ "account.followers_counter": "{count, plural, one {{counter} abonné·e} other {{counter} abonné·e·s}}",
"account.following": "Abonnements",
"account.follows.empty": "Cet·te utilisateur·rice ne suit personne pour l’instant.",
"account.go_to_profile": "Aller au profil",
@@ -48,7 +49,7 @@
"account.mention": "Mentionner @{name}",
"account.moved_to": "{name} a indiqué que son nouveau compte est maintenant :",
"account.mute": "Masquer @{name}",
- "account.mute_notifications_short": "Désactiver les alertes",
+ "account.mute_notifications_short": "Désactiver les notifications",
"account.mute_short": "Mettre en sourdine",
"account.muted": "Masqué·e",
"account.mutual": "Mutuel",
@@ -61,6 +62,7 @@
"account.requested_follow": "{name} a demandé à vous suivre",
"account.share": "Partager le profil de @{name}",
"account.show_reblogs": "Afficher les partages de @{name}",
+ "account.statuses_counter": "{count, plural, one {{counter} message} other {{counter} messages}}",
"account.unblock": "Débloquer @{name}",
"account.unblock_domain": "Débloquer le domaine {domain}",
"account.unblock_short": "Débloquer",
@@ -92,9 +94,11 @@
"block_modal.they_cant_mention": "Il ne peut pas vous mentionner ou vous suivre.",
"block_modal.they_cant_see_posts": "Il peut toujours voir vos publications, mais vous ne verrez pas les siennes.",
"block_modal.they_will_know": "Il peut voir qu'il est bloqué.",
- "block_modal.title": "Bloquer l'utilisateur ?",
+ "block_modal.title": "Bloquer l'utilisateur·rice ?",
"block_modal.you_wont_see_mentions": "Vous ne verrez pas les publications qui le mentionne.",
"boost_modal.combo": "Vous pouvez appuyer sur {combo} pour passer ceci la prochaine fois",
+ "boost_modal.reblog": "Booster le message ?",
+ "boost_modal.undo_reblog": "Annuler le boost du message ?",
"bundle_column_error.copy_stacktrace": "Copier le rapport d'erreur",
"bundle_column_error.error.body": "La page demandée n'a pas pu être affichée. Cela peut être dû à un bogue dans notre code, ou à un problème de compatibilité avec le navigateur.",
"bundle_column_error.error.title": "Oh non !",
@@ -190,6 +194,8 @@
"confirmations.unfollow.confirm": "Ne plus suivre",
"confirmations.unfollow.message": "Voulez-vous vraiment vous désabonner de {name} ?",
"confirmations.unfollow.title": "Se désabonner de l'utilisateur ?",
+ "content_warning.hide": "Masquer le message",
+ "content_warning.show": "Afficher quand même",
"conversation.delete": "Supprimer la conversation",
"conversation.mark_as_read": "Marquer comme lu",
"conversation.open": "Afficher la conversation",
@@ -208,7 +214,7 @@
"dismissable_banner.explore_links": "On parle actuellement de ces nouvelles sur ce serveur, ainsi que sur d'autres serveurs du réseau décentralisé.",
"dismissable_banner.explore_statuses": "Ces messages venant de tout le web social gagnent en popularité aujourd’hui. Les nouveaux messages avec plus de boosts et de favoris sont classés plus haut.",
"dismissable_banner.explore_tags": "Ces hashtags sont actuellement en train de gagner de l'ampleur parmi les personnes sur les serveurs du réseau décentralisé dont celui-ci.",
- "dismissable_banner.public_timeline": "Ce sont les posts publics les plus récents de personnes sur le web social que les gens sur {domain} suivent.",
+ "dismissable_banner.public_timeline": "Il s'agit des messages publics les plus récents publiés par des gens sur le web social et que les utilisateurs de {domain} suivent.",
"domain_block_modal.block": "Bloquer le serveur",
"domain_block_modal.block_account_instead": "Bloquer @{name} à la place",
"domain_block_modal.they_can_interact_with_old_posts": "Les personnes de ce serveur peuvent interagir avec vos anciennes publications.",
@@ -285,7 +291,7 @@
"filter_modal.added.context_mismatch_title": "Incompatibilité du contexte !",
"filter_modal.added.expired_explanation": "Cette catégorie de filtre a expiré, vous devrez modifier la date d'expiration pour qu'elle soit appliquée.",
"filter_modal.added.expired_title": "Filtre expiré !",
- "filter_modal.added.review_and_configure": "Pour examiner et affiner la configuration de cette catégorie de filtre, allez à {settings_link}.",
+ "filter_modal.added.review_and_configure": "Pour examiner et affiner la configuration de cette catégorie de filtres, allez à {settings_link}.",
"filter_modal.added.review_and_configure_title": "Paramètres du filtre",
"filter_modal.added.settings_link": "page des paramètres",
"filter_modal.added.short_explanation": "Ce message a été ajouté à la catégorie de filtre suivante : {title}.",
@@ -294,9 +300,11 @@
"filter_modal.select_filter.expired": "a expiré",
"filter_modal.select_filter.prompt_new": "Nouvelle catégorie : {name}",
"filter_modal.select_filter.search": "Rechercher ou créer",
- "filter_modal.select_filter.subtitle": "Utilisez une catégorie existante ou en créer une nouvelle",
+ "filter_modal.select_filter.subtitle": "Utilisez une catégorie existante ou créez-en une nouvelle",
"filter_modal.select_filter.title": "Filtrer ce message",
"filter_modal.title.status": "Filtrer un message",
+ "filter_warning.matches_filter": "Correspond au filtre « {title} »",
+ "filtered_notifications_banner.pending_requests": "De la part {count, plural, =0 {d’aucune personne} one {d'une personne} other {de # personnes}} que vous pourriez connaître",
"filtered_notifications_banner.title": "Notifications filtrées",
"firehose.all": "Tout",
"firehose.local": "Ce serveur",
@@ -306,6 +314,8 @@
"follow_requests.unlocked_explanation": "Même si votre compte n’est pas privé, l’équipe de {domain} a pensé que vous pourriez vouloir consulter manuellement les demandes de suivi de ces comptes.",
"follow_suggestions.curated_suggestion": "Choix du staff",
"follow_suggestions.dismiss": "Ne plus afficher",
+ "follow_suggestions.featured_longer": "Sélectionné par l'équipe de {domain}",
+ "follow_suggestions.friends_of_friends_longer": "Populaire dans le cercle des personnes que vous suivez",
"follow_suggestions.hints.featured": "Ce profil a été sélectionné par l'équipe de {domain}.",
"follow_suggestions.hints.friends_of_friends": "Ce profil est populaire parmi les personnes que vous suivez.",
"follow_suggestions.hints.most_followed": "Ce profil est l'un des plus suivis sur {domain}.",
@@ -313,6 +323,8 @@
"follow_suggestions.hints.similar_to_recently_followed": "Ce profil est similaire aux profils que vous avez suivis le plus récemment.",
"follow_suggestions.personalized_suggestion": "Suggestion personnalisée",
"follow_suggestions.popular_suggestion": "Suggestion populaire",
+ "follow_suggestions.popular_suggestion_longer": "Populaire sur {domain}",
+ "follow_suggestions.similar_to_recently_followed_longer": "Similaire aux profils que vous avez dernièrement suivis",
"follow_suggestions.view_all": "Tout afficher",
"follow_suggestions.who_to_follow": "Qui suivre",
"followed_tags": "Hashtags suivis",
@@ -341,6 +353,14 @@
"hashtag.follow": "Suivre le hashtag",
"hashtag.unfollow": "Ne plus suivre le hashtag",
"hashtags.and_other": "…et {count, plural, other {# de plus}}",
+ "hints.profiles.followers_may_be_missing": "Les abonné·e·s à ce profil peuvent être manquant·e·s.",
+ "hints.profiles.follows_may_be_missing": "Les abonnements pour ce profil peuvent être manquants.",
+ "hints.profiles.posts_may_be_missing": "Certains messages de ce profil peuvent être manquants.",
+ "hints.profiles.see_more_followers": "Afficher plus d'abonné·e·s sur {domain}",
+ "hints.profiles.see_more_follows": "Afficher plus d'abonné·e·s sur {domain}",
+ "hints.profiles.see_more_posts": "Voir plus de messages sur {domain}",
+ "hints.threads.replies_may_be_missing": "Les réponses provenant des autres serveurs pourraient être manquantes.",
+ "hints.threads.see_more": "Afficher plus de réponses sur {domain}",
"home.column_settings.show_reblogs": "Afficher les partages",
"home.column_settings.show_replies": "Afficher les réponses",
"home.hide_announcements": "Masquer les annonces",
@@ -348,6 +368,17 @@
"home.pending_critical_update.link": "Voir les mises à jour",
"home.pending_critical_update.title": "Une mise à jour de sécurité critique est disponible !",
"home.show_announcements": "Afficher les annonces",
+ "ignore_notifications_modal.disclaimer": "Mastodon ne peut pas indiquer aux utilisateurs que vous avez ignoré leurs notifications. Le fait d'ignorer les notifications n'empêchera pas la transmission des messages eux-mêmes.",
+ "ignore_notifications_modal.filter_instead": "Filtrer plutôt",
+ "ignore_notifications_modal.filter_to_act_users": "Vous serez toujours en mesure d'accepter, de rejeter ou de signaler les utilisateur·rice·s",
+ "ignore_notifications_modal.filter_to_avoid_confusion": "Le filtrage permet d'éviter toute éventuelle confusion",
+ "ignore_notifications_modal.filter_to_review_separately": "Vous pouvez réexaminer les notifications filtrées séparément",
+ "ignore_notifications_modal.ignore": "Ignorer les notifications",
+ "ignore_notifications_modal.limited_accounts_title": "Ignorer les notifications provenant des comptes modérés ?",
+ "ignore_notifications_modal.new_accounts_title": "Ignorer les notifications provenant des nouveaux comptes ?",
+ "ignore_notifications_modal.not_followers_title": "Ignorer les notifications provenant des personnes qui ne vous suivent pas ?",
+ "ignore_notifications_modal.not_following_title": "Ignorer les notifications provenant des personnes que vous ne suivez pas ?",
+ "ignore_notifications_modal.private_mentions_title": "Ignorer les notifications issues des mentions privées non sollicitées ?",
"interaction_modal.description.favourite": "Avec un compte Mastodon, vous pouvez ajouter ce message à vos favoris pour informer l'auteur⋅rice que vous l'appréciez et pour le sauvegarder pour plus tard.",
"interaction_modal.description.follow": "Avec un compte Mastodon, vous pouvez suivre {name} et recevoir leurs posts dans votre fil d'actualité.",
"interaction_modal.description.reblog": "Avec un compte sur Mastodon, vous pouvez partager ce message pour le faire découvrir à vos propres abonné⋅e⋅s.",
@@ -408,6 +439,8 @@
"limited_account_hint.action": "Afficher le profil quand même",
"limited_account_hint.title": "Ce profil a été masqué par la modération de {domain}.",
"link_preview.author": "Par {name}",
+ "link_preview.more_from_author": "Plus via {name}",
+ "link_preview.shares": "{count, plural, one {{counter} message} other {{counter} messages}}",
"lists.account.add": "Ajouter à la liste",
"lists.account.remove": "Supprimer de la liste",
"lists.delete": "Supprimer la liste",
@@ -424,7 +457,6 @@
"lists.subheading": "Vos listes",
"load_pending": "{count, plural, one {# nouvel élément} other {# nouveaux éléments}}",
"loading_indicator.label": "Chargement…",
- "media_gallery.toggle_visible": "{number, plural, one {Cacher l’image} other {Cacher les images}}",
"moved_to_account_banner.text": "Votre compte {disabledAccount} est actuellement désactivé parce que vous l'avez déplacé à {movedToAccount}.",
"mute_modal.hide_from_notifications": "Cacher des notifications",
"mute_modal.hide_options": "Masquer les options",
@@ -436,6 +468,7 @@
"mute_modal.you_wont_see_mentions": "Vous ne verrez pas les publications qui le mentionne.",
"mute_modal.you_wont_see_posts": "Il peut toujours voir vos publications, mais vous ne verrez pas les siennes.",
"navigation_bar.about": "À propos",
+ "navigation_bar.administration": "Administration",
"navigation_bar.advanced_interface": "Ouvrir dans l’interface avancée",
"navigation_bar.blocks": "Comptes bloqués",
"navigation_bar.bookmarks": "Marque-pages",
@@ -452,6 +485,7 @@
"navigation_bar.follows_and_followers": "Abonnements et abonnés",
"navigation_bar.lists": "Listes",
"navigation_bar.logout": "Déconnexion",
+ "navigation_bar.moderation": "Modération",
"navigation_bar.mutes": "Comptes masqués",
"navigation_bar.opened_in_classic_interface": "Les messages, les comptes et les pages spécifiques sont ouvertes dans l’interface classique.",
"navigation_bar.personal": "Personnel",
@@ -462,12 +496,36 @@
"navigation_bar.security": "Sécurité",
"not_signed_in_indicator.not_signed_in": "Vous devez vous connecter pour accéder à cette ressource.",
"notification.admin.report": "{name} a signalé {target}",
+ "notification.admin.report_account": "{name} a signalé {count, plural, one {un message} other {# messages}} de {target} pour {category}",
+ "notification.admin.report_account_other": "{name} a signalé {count, plural, one {un message} other {# messages}} depuis {target}",
+ "notification.admin.report_statuses": "{name} a signalé {target} pour {category}",
+ "notification.admin.report_statuses_other": "{name} a signalé {target}",
"notification.admin.sign_up": "{name} s'est inscrit",
+ "notification.admin.sign_up.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} se sont inscrit",
"notification.favourite": "{name} a ajouté votre message à ses favoris",
+ "notification.favourite.name_and_others_with_link": "{name} et
{count, plural, one {# autre} other {# autres}} ont mis votre message en favori",
"notification.follow": "{name} vous suit",
+ "notification.follow.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} se sont abonné à votre compte",
"notification.follow_request": "{name} a demandé à vous suivre",
+ "notification.follow_request.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} ont demandé à vous suivre",
+ "notification.label.mention": "Mention",
+ "notification.label.private_mention": "Mention privée",
+ "notification.label.private_reply": "Répondre en privé",
+ "notification.label.reply": "Réponse",
+ "notification.mention": "Mention",
+ "notification.moderation-warning.learn_more": "En savoir plus",
+ "notification.moderation_warning": "Vous avez reçu un avertissement de modération",
+ "notification.moderation_warning.action_delete_statuses": "Certains de vos messages ont été supprimés.",
+ "notification.moderation_warning.action_disable": "Votre compte a été désactivé.",
+ "notification.moderation_warning.action_mark_statuses_as_sensitive": "Certains de vos messages ont été marqués comme sensibles.",
+ "notification.moderation_warning.action_none": "Votre compte a reçu un avertissement de modération.",
+ "notification.moderation_warning.action_sensitive": "Vos messages seront désormais marqués comme sensibles.",
+ "notification.moderation_warning.action_silence": "Votre compte a été limité.",
+ "notification.moderation_warning.action_suspend": "Votre compte a été suspendu.",
"notification.own_poll": "Votre sondage est terminé",
+ "notification.poll": "Un sondage auquel vous avez participé vient de se terminer",
"notification.reblog": "{name} a partagé votre message",
+ "notification.reblog.name_and_others_with_link": "{name} et
{count, plural, one {# autre} other {# autres}} ont boosté votre message",
"notification.relationships_severance_event": "Connexions perdues avec {name}",
"notification.relationships_severance_event.account_suspension": "Un·e administrateur·rice de {from} a suspendu {target}, ce qui signifie que vous ne pourrez plus recevoir de mises à jour ou interagir avec lui.",
"notification.relationships_severance_event.domain_block": "Un·e administrateur·rice de {from} en a bloqué {target}, comprenant {followersCount} de vos abonné·e·s et {followingCount, plural, one {# compte} other {# comptes}} vous suivez.",
@@ -476,15 +534,32 @@
"notification.status": "{name} vient de publier",
"notification.update": "{name} a modifié un message",
"notification_requests.accept": "Accepter",
+ "notification_requests.accept_multiple": "{count, plural, one {Accepter # requête …} other {Accepter # requêtes …}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Accepter la requête} other {Accepter les requêtes}}",
+ "notification_requests.confirm_accept_multiple.message": "Vous êtes sur le point d'accepter {count, plural, one {une requête de notification} other {# requêtes de notification}}. Êtes-vous sûr de vouloir continuer ?",
+ "notification_requests.confirm_accept_multiple.title": "Accepter les requêtes de notification ?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Ignorer la requête} other {Ignorer les requêtes}}",
+ "notification_requests.confirm_dismiss_multiple.message": "Vous êtes sur le point de rejeter {count, plural, one {une requête de notification} other {# requêtes de notification}}. Vous ne serez plus en mesure d’{count, plural, one {y} other {y}} accéder facilement, ultérieurement. Êtes-vous sûr de vouloir continuer ?",
+ "notification_requests.confirm_dismiss_multiple.title": "Rejeter les requêtes de notification ?",
"notification_requests.dismiss": "Rejeter",
+ "notification_requests.dismiss_multiple": "{count, plural, one {Rejeter # requête …} other {Rejeter # requêtes …}}",
+ "notification_requests.edit_selection": "Modifier",
+ "notification_requests.exit_selection": "Fait",
+ "notification_requests.explainer_for_limited_account": "Les notifications en provenance de ce compte ont été filtrées car le compte a été limité par un modérateur.",
+ "notification_requests.explainer_for_limited_remote_account": "Les notifications en provenance de ce compte ont été filtrées car le compte ou le serveur dont il est issu a été limité par un modérateur.",
+ "notification_requests.maximize": "Agrandir",
+ "notification_requests.minimize_banner": "Réduire la bannière des notifications filtrées",
"notification_requests.notifications_from": "Notifications de {name}",
"notification_requests.title": "Notifications filtrées",
+ "notification_requests.view": "Afficher les notifications",
"notifications.clear": "Effacer les notifications",
"notifications.clear_confirmation": "Voulez-vous vraiment effacer toutes vos notifications ?",
"notifications.clear_title": "Effacer les notifications ?",
"notifications.column_settings.admin.report": "Nouveaux signalements :",
"notifications.column_settings.admin.sign_up": "Nouvelles inscriptions :",
"notifications.column_settings.alert": "Notifications du navigateur",
+ "notifications.column_settings.beta.category": "Fonctionnalités expérimentales",
+ "notifications.column_settings.beta.grouping": "Grouper les notifications",
"notifications.column_settings.favourite": "Favoris :",
"notifications.column_settings.filter_bar.advanced": "Afficher toutes les catégories",
"notifications.column_settings.filter_bar.category": "Barre de filtre rapide",
@@ -513,14 +588,23 @@
"notifications.permission_denied": "Impossible d’activer les notifications de bureau car l’autorisation a été refusée.",
"notifications.permission_denied_alert": "Les notifications de bureau ne peuvent pas être activées, car l’autorisation du navigateur a été refusée avant",
"notifications.permission_required": "Les notifications de bureau ne sont pas disponibles car l’autorisation requise n’a pas été accordée.",
+ "notifications.policy.accept": "Accepter",
+ "notifications.policy.accept_hint": "Afficher dans les notifications",
+ "notifications.policy.drop": "Ignorer",
+ "notifications.policy.drop_hint": "Expulser vers le vide, pour ne plus jamais les revoir",
+ "notifications.policy.filter": "Filtrer",
+ "notifications.policy.filter_hint": "Envoyer à la boîte de réception des notifications filtrées",
+ "notifications.policy.filter_limited_accounts_hint": "Limités par les modérateur·rice·s du serveur",
+ "notifications.policy.filter_limited_accounts_title": "Comptes modérés",
"notifications.policy.filter_new_accounts.hint": "Créés au cours des derniers {days, plural, one {un jour} other {# jours}}",
"notifications.policy.filter_new_accounts_title": "Nouveaux comptes",
"notifications.policy.filter_not_followers_hint": "Incluant les personnes qui vous suivent depuis moins de {days, plural, one {un jour} other {# jours}}",
"notifications.policy.filter_not_followers_title": "Personnes qui ne vous suivent pas",
"notifications.policy.filter_not_following_hint": "Jusqu'à ce que vous les validiez manuellement",
"notifications.policy.filter_not_following_title": "Personnes que vous ne suivez pas",
- "notifications.policy.filter_private_mentions_hint": "Filtré sauf si c'est en réponse à une mention de vous ou si vous suivez l'expéditeur",
+ "notifications.policy.filter_private_mentions_hint": "Filtrées sauf si c'est en réponse à l'une de vos mentions ou si vous suivez l'expéditeur·ice",
"notifications.policy.filter_private_mentions_title": "Mentions privées non sollicitées",
+ "notifications.policy.title": "Gestion des notifications des …",
"notifications_permission_banner.enable": "Activer les notifications de bureau",
"notifications_permission_banner.how_to_control": "Pour recevoir des notifications lorsque Mastodon n’est pas ouvert, activez les notifications du bureau. Vous pouvez contrôler précisément quels types d’interactions génèrent des notifications de bureau via le bouton {icon} ci-dessus une fois qu’elles sont activées.",
"notifications_permission_banner.title": "Toujours au courant",
@@ -644,12 +728,16 @@
"report.thanks.title": "Vous ne voulez pas voir cela ?",
"report.thanks.title_actionable": "Merci pour votre signalement, nous allons investiguer.",
"report.unfollow": "Ne plus suivre @{name}",
- "report.unfollow_explanation": "Vous suivez ce compte. Désabonnez-vous pour ne plus en voir les messages sur votre fil principal.",
+ "report.unfollow_explanation": "Vous êtes abonné à ce compte. Pour ne plus voir ses publications dans votre fil principal, retirez-le de votre liste d'abonnements.",
"report_notification.attached_statuses": "{count, plural, one {{count} message lié} other {{count} messages liés}}",
"report_notification.categories.legal": "Légal",
+ "report_notification.categories.legal_sentence": "contenu illégal",
"report_notification.categories.other": "Autre",
+ "report_notification.categories.other_sentence": "autre",
"report_notification.categories.spam": "Spam",
+ "report_notification.categories.spam_sentence": "indésirable",
"report_notification.categories.violation": "Infraction aux règles du serveur",
+ "report_notification.categories.violation_sentence": "infraction de règle",
"report_notification.open": "Ouvrir le signalement",
"search.no_recent_searches": "Aucune recherche récente",
"search.placeholder": "Rechercher",
@@ -677,8 +765,11 @@
"server_banner.about_active_users": "Personnes utilisant ce serveur au cours des 30 derniers jours (Comptes actifs mensuellement)",
"server_banner.active_users": "comptes actifs",
"server_banner.administered_by": "Administré par :",
+ "server_banner.is_one_of_many": "{domain} est l'un des nombreux serveurs Mastodon indépendants que vous pouvez utiliser pour participer au fédiverse.",
"server_banner.server_stats": "Statistiques du serveur :",
"sign_in_banner.create_account": "Créer un compte",
+ "sign_in_banner.follow_anyone": "Suivez n'importe qui à travers le fédivers et affichez tout dans un ordre chronologique. Ni algorithmes, ni publicités, ni appâts à clics en perspective.",
+ "sign_in_banner.mastodon_is": "Mastodon est le meilleur moyen de suivre ce qui se passe.",
"sign_in_banner.sign_in": "Se connecter",
"sign_in_banner.sso_redirect": "Se connecter ou s’inscrire",
"status.admin_account": "Ouvrir l’interface de modération pour @{name}",
@@ -700,8 +791,6 @@
"status.favourite": "Ajouter aux favoris",
"status.favourites": "{count, plural, one {favori} other {favoris}}",
"status.filter": "Filtrer ce message",
- "status.filtered": "Filtré",
- "status.hide": "Masquer le message",
"status.history.created": "créé par {name} {date}",
"status.history.edited": "modifié par {name} {date}",
"status.load_more": "Charger plus",
@@ -729,10 +818,7 @@
"status.report": "Signaler @{name}",
"status.sensitive_warning": "Contenu sensible",
"status.share": "Partager",
- "status.show_filter_reason": "Afficher quand même",
- "status.show_less": "Replier",
"status.show_less_all": "Tout replier",
- "status.show_more": "Déplier",
"status.show_more_all": "Tout déplier",
"status.show_original": "Afficher l’original",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
@@ -751,10 +837,6 @@
"time_remaining.minutes": "{number, plural, one {# minute restante} other {# minutes restantes}}",
"time_remaining.moments": "Encore quelques instants",
"time_remaining.seconds": "{number, plural, one {# seconde restante} other {# secondes restantes}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} des autres serveurs ne sont pas affichés.",
- "timeline_hint.resources.followers": "Les abonnés",
- "timeline_hint.resources.follows": "Les abonnements",
- "timeline_hint.resources.statuses": "Messages plus anciens",
"trends.counter_by_accounts": "{count, plural, one {{counter} pers.} other {{counter} pers.}} sur {days, plural, one {les dernières 24h} other {les {days} derniers jours}}",
"trends.trending_now": "Tendance en ce moment",
"ui.beforeunload": "Votre brouillon sera perdu si vous quittez Mastodon.",
diff --git a/app/javascript/mastodon/locales/fy.json b/app/javascript/mastodon/locales/fy.json
index 6f7da4409683b5..badd6a1c216d9e 100644
--- a/app/javascript/mastodon/locales/fy.json
+++ b/app/javascript/mastodon/locales/fy.json
@@ -11,6 +11,7 @@
"about.not_available": "Dizze ynformaasje is troch dizze server net iepenbier makke.",
"about.powered_by": "Desintralisearre sosjale media, mooglik makke troch {mastodon}",
"about.rules": "Serverrigels",
+ "account.account_note_header": "Persoanlike opmerking",
"account.add_or_remove_from_list": "Tafoegje oan of fuortsmite út listen",
"account.badges.bot": "Automatisearre",
"account.badges.group": "Groep",
@@ -18,7 +19,6 @@
"account.block_domain": "Domein {domain} blokkearje",
"account.block_short": "Blokkearje",
"account.blocked": "Blokkearre",
- "account.browse_more_on_origin_server": "Mear op it orizjinele profyl besjen",
"account.cancel_follow_request": "Folchfersyk annulearje",
"account.copy": "Keppeling nei profyl kopiearje",
"account.direct": "Privee fermelde @{name}",
@@ -97,6 +97,8 @@
"block_modal.title": "Brûker blokkearje?",
"block_modal.you_wont_see_mentions": "Jo sjogge gjin berjochten mear dy’t dizze account fermelde.",
"boost_modal.combo": "Jo kinne op {combo} drukke om dit de folgjende kear oer te slaan",
+ "boost_modal.reblog": "Berjocht booste?",
+ "boost_modal.undo_reblog": "Berjocht net langer booste?",
"bundle_column_error.copy_stacktrace": "Flaterrapport kopiearje",
"bundle_column_error.error.body": "De opfrege side koe net werjûn wurde. It kin wêze troch in flater yn ús koade, of in probleem mei browserkompatibiliteit.",
"bundle_column_error.error.title": "Oh nee!",
@@ -170,21 +172,30 @@
"confirmations.block.confirm": "Blokkearje",
"confirmations.delete.confirm": "Fuortsmite",
"confirmations.delete.message": "Binne jo wis dat jo dit berjocht fuortsmite wolle?",
+ "confirmations.delete.title": "Berjocht fuortsmite?",
"confirmations.delete_list.confirm": "Fuortsmite",
"confirmations.delete_list.message": "Binne jo wis dat jo dizze list foar permanint fuortsmite wolle?",
+ "confirmations.delete_list.title": "List fuortsmite?",
"confirmations.discard_edit_media.confirm": "Fuortsmite",
"confirmations.discard_edit_media.message": "Jo hawwe net-bewarre wizigingen yn de mediabeskriuwing of foarfertoaning, wolle jo dizze dochs fuortsmite?",
"confirmations.edit.confirm": "Bewurkje",
"confirmations.edit.message": "Troch no te bewurkjen sil it berjocht dat jo no oan it skriuwen binne oerskreaun wurde. Wolle jo trochgean?",
+ "confirmations.edit.title": "Berjocht oerskriuwe?",
"confirmations.logout.confirm": "Ofmelde",
"confirmations.logout.message": "Binne jo wis dat jo ôfmelde wolle?",
+ "confirmations.logout.title": "Ofmelde?",
"confirmations.mute.confirm": "Negearje",
"confirmations.redraft.confirm": "Fuortsmite en opnij opstelle",
"confirmations.redraft.message": "Binne jo wis dat jo dit berjocht fuortsmite en opnij opstelle wolle? Favoriten en boosts geane dan ferlern en reaksjes op it oarspronklike berjocht reitsje jo kwyt.",
+ "confirmations.redraft.title": "Berjocht fuortsmite en opnij opstelle?",
"confirmations.reply.confirm": "Reagearje",
"confirmations.reply.message": "Troch no te reagearjen sil it berjocht dat jo no oan it skriuwen binne oerskreaun wurde. Wolle jo trochgean?",
+ "confirmations.reply.title": "Berjocht oerskriuwe?",
"confirmations.unfollow.confirm": "Net mear folgje",
"confirmations.unfollow.message": "Binne jo wis dat jo {name} net mear folgje wolle?",
+ "confirmations.unfollow.title": "Brûker net mear folgje?",
+ "content_warning.hide": "Berjocht ferstopje",
+ "content_warning.show": "Dochs toane",
"conversation.delete": "Petear fuortsmite",
"conversation.mark_as_read": "As lêzen markearje",
"conversation.open": "Petear toane",
@@ -221,7 +232,9 @@
"domain_pill.username": "Brûkersnamme",
"domain_pill.whats_in_a_handle": "Wat is in fediverse-adres?",
"domain_pill.who_they_are": "Omdat jo oan in fediverse-adres sjen kinne hoe’t ien hjit en op hokker server dy sit, kinne jo mei minsken op it troch
ActivityPub oandreaune sosjale web (fediverse) kommunisearje.",
+ "domain_pill.who_you_are": "Omdat jo oan in fediverse-adres sjen kinne hoe’t jo hjitte en op hokker server jo sitte, kinne jo mei minsken op it troch
ActivityPub oandreaune sosjale web (fediverse) kommunisearje.",
"domain_pill.your_handle": "Jo fediverse-adres:",
+ "domain_pill.your_server": "Jo digitale thús, wer't al jo berjochten stean. Is dizze server dochs net nei jo winsk? Dan kinne jo op elk momint nei in oare server ferhúzje en ek jo folgers oerbringe.",
"domain_pill.your_username": "Jo unike identifikaasje-adres op dizze server. It is mooglik dat der brûkers mei deselde brûkersnamme op ferskate servers te finen binne.",
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Sa komt it der út te sjen:",
@@ -259,6 +272,7 @@
"empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
"empty_column.lists": "Jo hawwe noch gjin inkelde list. Wannear’t jo der ien oanmakke hawwe, falt dat hjir te sjen.",
"empty_column.mutes": "Jo hawwe noch gjin brûkers negearre.",
+ "empty_column.notification_requests": "Hielendal leech! Der is hjir neat. Wannear’t jo nije meldingen ûntfange, ferskine dizze hjir neffens jo ynstellingen.",
"empty_column.notifications": "Jo hawwe noch gjin meldingen. Ynteraksjes mei oare minsken sjogge jo hjir.",
"empty_column.public": "Der is hjir neat! Skriuw eat publyklik, of folgje sels brûkers fan oare servers om it hjir te foljen",
"error.unexpected_crash.explanation": "Troch in bug in ús koade of in probleem mei de komptabiliteit fan jo browser, koe dizze side net toand wurde.",
@@ -289,6 +303,8 @@
"filter_modal.select_filter.subtitle": "In besteande kategory brûke of in nije oanmeitsje",
"filter_modal.select_filter.title": "Dit berjocht filterje",
"filter_modal.title.status": "In berjocht filterje",
+ "filter_warning.matches_filter": "Komt oerien mei filter ‘{title}’",
+ "filtered_notifications_banner.pending_requests": "Fan {count, plural, =0 {net ien} one {ien persoan} other {# persoanen}} dy’t jo mooglik kinne",
"filtered_notifications_banner.title": "Filtere meldingen",
"firehose.all": "Alles",
"firehose.local": "Dizze server",
@@ -337,6 +353,14 @@
"hashtag.follow": "Hashtag folgje",
"hashtag.unfollow": "Hashtag ûntfolgje",
"hashtags.and_other": "…en {count, plural, one {}other {# mear}}",
+ "hints.profiles.followers_may_be_missing": "Folgers foar dit profyl kinne ûntbrekke.",
+ "hints.profiles.follows_may_be_missing": "De folgers foar dit profyl kinne ûntbrekke.",
+ "hints.profiles.posts_may_be_missing": "Der ûntbrekke mooglik berjochten fan dit profyl.",
+ "hints.profiles.see_more_followers": "Besjoch mear folgers op {domain}",
+ "hints.profiles.see_more_follows": "Besjoch mear folge accounts op {domain}",
+ "hints.profiles.see_more_posts": "Besjoch mear berjochten op {domain}",
+ "hints.threads.replies_may_be_missing": "Antwurden fan oare servers kinne ûntbrekke.",
+ "hints.threads.see_more": "Besjoch mear reaksjes op {domain}",
"home.column_settings.show_reblogs": "Boosts toane",
"home.column_settings.show_replies": "Reaksjes toane",
"home.hide_announcements": "Meidielingen ferstopje",
@@ -344,6 +368,17 @@
"home.pending_critical_update.link": "Fernijingen besjen",
"home.pending_critical_update.title": "Kritike befeiligingsfernijing beskikber!",
"home.show_announcements": "Meidielingen toane",
+ "ignore_notifications_modal.disclaimer": "Mastodon kin brûkers net ynformearje dat jo harren meldingen negearre hawwe. Meldingen negearje sil net foarkomme dat de berjochten sels ferstjoerd wurde.",
+ "ignore_notifications_modal.filter_instead": "Yn stee derfan filterje",
+ "ignore_notifications_modal.filter_to_act_users": "Jo binne noch hieltyd yn steat om folchfersiken goed- of ôf te karren en om brûkers te rapportearjen",
+ "ignore_notifications_modal.filter_to_avoid_confusion": "Filterjen foarkomt potinsjele betizing",
+ "ignore_notifications_modal.filter_to_review_separately": "Jo kinne filtere meldingen ôfsûnderlik beoardiele",
+ "ignore_notifications_modal.ignore": "Meldingen negearje",
+ "ignore_notifications_modal.limited_accounts_title": "Meldingen fan beheinde accounts negearje?",
+ "ignore_notifications_modal.new_accounts_title": "Meldingen fan nije accounts negearje?",
+ "ignore_notifications_modal.not_followers_title": "Meldingen negearje fan minsken dy’t jo net folgje?",
+ "ignore_notifications_modal.not_following_title": "Meldingen negearje fan minsken dy’t josels net folgje?",
+ "ignore_notifications_modal.private_mentions_title": "Meldingen negearje fan net frege priveeberjochten?",
"interaction_modal.description.favourite": "Jo kinne mei in Mastodon-account dit berjocht as favoryt markearje, om dy brûker witte te litten dat jo it berjocht wurdearje en om it te bewarjen.",
"interaction_modal.description.follow": "Jo kinne mei in Mastodon-account {name} folgje, om sa harren berjochten op jo starttiidline te ûntfangen.",
"interaction_modal.description.reblog": "Jo kinne mei in Mastodon-account dit berjocht booste, om it sa mei jo folgers te dielen.",
@@ -422,7 +457,6 @@
"lists.subheading": "Jo listen",
"load_pending": "{count, plural, one {# nij item} other {# nije items}}",
"loading_indicator.label": "Lade…",
- "media_gallery.toggle_visible": "{number, plural, one {ôfbylding ferstopje} other {ôfbyldingen ferstopje}}",
"moved_to_account_banner.text": "Omdat jo nei {movedToAccount} ferhuze binne is jo account {disabledAccount} op dit stuit útskeakele.",
"mute_modal.hide_from_notifications": "Meldingen ferstopje",
"mute_modal.hide_options": "Opsjes ferstopje",
@@ -433,9 +467,8 @@
"mute_modal.title": "Brûker negearje?",
"mute_modal.you_wont_see_mentions": "Jo sjogge gjin berjochten mear dy’t dizze account fermelde.",
"mute_modal.you_wont_see_posts": "De persoan kin jo berjochten noch hieltyd sjen, mar jo sjogge harren berjochten net mear.",
- "name_and_others": "{name} en {count, plural, one {# oar} other {# oaren}}",
- "name_and_others_with_link": "{name} en
{count, plural, one {# oar} other {# oaren}}",
"navigation_bar.about": "Oer",
+ "navigation_bar.administration": "Behear",
"navigation_bar.advanced_interface": "Yn avansearre webomjouwing iepenje",
"navigation_bar.blocks": "Blokkearre brûkers",
"navigation_bar.bookmarks": "Blêdwizers",
@@ -452,6 +485,7 @@
"navigation_bar.follows_and_followers": "Folgers en folgjenden",
"navigation_bar.lists": "Listen",
"navigation_bar.logout": "Ofmelde",
+ "navigation_bar.moderation": "Moderaasje",
"navigation_bar.mutes": "Negearre brûkers",
"navigation_bar.opened_in_classic_interface": "Berjochten, accounts en oare spesifike siden, wurde standert iepene yn de klassike webinterface.",
"navigation_bar.personal": "Persoanlik",
@@ -467,9 +501,18 @@
"notification.admin.report_statuses": "{name} rapportearre {target} foar {category}",
"notification.admin.report_statuses_other": "{name} hat {target} rapportearre",
"notification.admin.sign_up": "{name} hat harren registrearre",
+ "notification.admin.sign_up.name_and_others": "{name} en {count, plural, one {# oar} other {# oaren}} hawwe harren registrearre",
"notification.favourite": "{name} hat jo berjocht as favoryt markearre",
+ "notification.favourite.name_and_others_with_link": "{name} en
{count, plural, one {# oar} other {# oaren}} hawwe jo berjocht as favoryt markearre",
"notification.follow": "{name} folget dy",
+ "notification.follow.name_and_others": "{name} en {count, plural, one {# oar} other {# oaren}} hawwe jo folge",
"notification.follow_request": "{name} hat dy in folchfersyk stjoerd",
+ "notification.follow_request.name_and_others": "{name} en {count, plural, one {# oar} other {# oaren}} hawwe frege om jo te folgjen",
+ "notification.label.mention": "Fermelding",
+ "notification.label.private_mention": "Priveeberjocht",
+ "notification.label.private_reply": "Priveereaksje",
+ "notification.label.reply": "Beäntwurdzje",
+ "notification.mention": "Fermelding",
"notification.moderation-warning.learn_more": "Mear ynfo",
"notification.moderation_warning": "Jo hawwe in moderaasje-warskôging ûntfongen",
"notification.moderation_warning.action_delete_statuses": "Guon fan jo berjochten binne fuortsmiten.",
@@ -482,23 +525,44 @@
"notification.own_poll": "Jo poll is beëinige",
"notification.poll": "In enkête dêr’t jo oan meidien hawwe is beëinige",
"notification.reblog": "{name} hat jo berjocht boost",
+ "notification.reblog.name_and_others_with_link": "{name} en
{count, plural, one {# oar} other {# oaren}} hawwe jo berjocht boost",
"notification.relationships_severance_event": "Ferlerne ferbiningen mei {name}",
"notification.relationships_severance_event.account_suspension": "In behearder fan {from} hat {target} útsteld, wat betsjut dat jo gjin updates mear fan harren ûntfange kinne of mei harren kommunisearje kinne.",
"notification.relationships_severance_event.domain_block": "In behearder fan {from} hat {target} blokkearre, ynklusyf {followersCount} fan jo folgers en {followingCount, plural, one {# account} other {# accounts}} dy’t jo folgje.",
"notification.relationships_severance_event.learn_more": "Mear ynfo",
+ "notification.relationships_severance_event.user_domain_block": "Jo hawwe {target} blokkearre, wêrmei’t jo {followersCount} fan jo folgers en {followingCount, plural, one {# account} other {# accounts}} dy’t jo folgje ferlern binne.",
"notification.status": "{name} hat in berjocht pleatst",
"notification.update": "{name} hat in berjocht bewurke",
"notification_requests.accept": "Akseptearje",
+ "notification_requests.accept_multiple": "{count, plural, one {# fersyk akseptearje…} other {# fersiken akseptearje…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Fersyk akseptearje} other {Fersiken akseptearje}}",
+ "notification_requests.confirm_accept_multiple.message": "Jo steane op it punt om {count, plural, one {ien meldingsfersyk} other {# meldingsfersiken}} te akseptearjen. Binne jo wis dat jo trochgean wolle?",
+ "notification_requests.confirm_accept_multiple.title": "Meldingsfersiken akseptearje?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Fersyk ôfwize} other {Fersiken ôfwize}}",
+ "notification_requests.confirm_dismiss_multiple.message": "Jo steane op it punt om {count, plural, one {ien meldingsfersyk} other {# meldingsfersiken}} ôf te wizen. Jo sille net yn steat wêze om {count, plural, one {hier} other {hier}} wer maklik tagong ta te krijen. Wolle jo trochgean?",
+ "notification_requests.confirm_dismiss_multiple.title": "Meldingsfersiken ôfwize?",
"notification_requests.dismiss": "Ofwize",
+ "notification_requests.dismiss_multiple": "{count, plural, one {# fersyk ôfwize…} other {# fersiken ôfwize…}}",
+ "notification_requests.edit_selection": "Bewurkje",
+ "notification_requests.exit_selection": "Klear",
+ "notification_requests.explainer_for_limited_account": "Meldingen fan dizze account binne filtere, omdat dizze account troch in moderator beheind is.",
+ "notification_requests.explainer_for_limited_remote_account": "Meldingen fan dizze account binne filtere, omdat dizze account of harren server troch in moderator beheind is.",
+ "notification_requests.maximize": "Maksimalisearje",
+ "notification_requests.minimize_banner": "Banner mei filtere meldingen minimalisearje",
"notification_requests.notifications_from": "Meldingen fan {name}",
"notification_requests.title": "Filtere meldingen",
+ "notification_requests.view": "Meldingen besjen",
"notifications.clear": "Meldingen wiskje",
"notifications.clear_confirmation": "Binne jo wis dat jo al jo meldingen permanint fuortsmite wolle?",
+ "notifications.clear_title": "Meldingen fuortsmite?",
"notifications.column_settings.admin.report": "Nije rapportaazjes:",
"notifications.column_settings.admin.sign_up": "Nije registraasjes:",
"notifications.column_settings.alert": "Desktopmeldingen",
+ "notifications.column_settings.beta.category": "Eksperimintele funksjes",
+ "notifications.column_settings.beta.grouping": "Notifikaasjes groepearje",
"notifications.column_settings.favourite": "Favoriten:",
"notifications.column_settings.filter_bar.advanced": "Alle kategoryen toane",
+ "notifications.column_settings.filter_bar.category": "Flugge filterbalke",
"notifications.column_settings.follow": "Nije folgers:",
"notifications.column_settings.follow_request": "Nij folchfersyk:",
"notifications.column_settings.mention": "Fermeldingen:",
@@ -524,6 +588,23 @@
"notifications.permission_denied": "Desktopmeldingen binne net beskikber, omdat in eardere browsertastimming wegere waard",
"notifications.permission_denied_alert": "Desktopmeldingen kinne net ynskeakele wurde, omdat in eardere browsertastimming wegere waard",
"notifications.permission_required": "Desktopmeldingen binne net beskikber, omdat de nedige tastimming net ferliend is.",
+ "notifications.policy.accept": "Akseptearje",
+ "notifications.policy.accept_hint": "Yn meldingen toane",
+ "notifications.policy.drop": "Negearje",
+ "notifications.policy.drop_hint": "Permanint fuortsmite",
+ "notifications.policy.filter": "Filter",
+ "notifications.policy.filter_hint": "Nei filtere ynboks foar meldingen ferstjoere",
+ "notifications.policy.filter_limited_accounts_hint": "Beheind troch servermoderatoren",
+ "notifications.policy.filter_limited_accounts_title": "Moderearre accounts",
+ "notifications.policy.filter_new_accounts.hint": "Yn de ôfrûne {days, plural, one {dei} other {# dagen}} registrearre",
+ "notifications.policy.filter_new_accounts_title": "Nije accounts",
+ "notifications.policy.filter_not_followers_hint": "Ynklusyf minsken dy’t jo koarter as {days, plural, one {dei} other {# dagen}} folgje",
+ "notifications.policy.filter_not_followers_title": "Minsken dy’t jo net folgje",
+ "notifications.policy.filter_not_following_hint": "Oant jo se hânmjittich goedkarre",
+ "notifications.policy.filter_not_following_title": "Minsken dy’t josels net folgje",
+ "notifications.policy.filter_private_mentions_hint": "Unsichtber útsein it in antwurd is op in priveeberjocht fan jo of wannear’t jo de ôfstjoerder folgje",
+ "notifications.policy.filter_private_mentions_title": "Net frege priveeberjochten",
+ "notifications.policy.title": "Meldingen beheare fan…",
"notifications_permission_banner.enable": "Desktopmeldingen ynskeakelje",
"notifications_permission_banner.how_to_control": "Om meldingen te ûntfangen wannear’t Mastodon net iepen stiet. Jo kinne krekt bepale hokker soarte fan ynteraksjes wol of gjin desktopmeldingen jouwe fia de boppesteande {icon} knop.",
"notifications_permission_banner.title": "Mis neat",
@@ -650,6 +731,7 @@
"report.unfollow_explanation": "Jo folgje dizze account. Om harren berjochten net mear op jo starttiidline te sjen, kinne jo dyjinge ûntfolgje.",
"report_notification.attached_statuses": "{count, plural, one {{count} berjocht} other {{count} berjochten}} tafoege",
"report_notification.categories.legal": "Juridysk",
+ "report_notification.categories.legal_sentence": "yllegale ynhâld",
"report_notification.categories.other": "Oars",
"report_notification.categories.other_sentence": "oars",
"report_notification.categories.spam": "Spam",
@@ -683,8 +765,11 @@
"server_banner.about_active_users": "Oantal brûkers yn de ôfrûne 30 dagen (MAU)",
"server_banner.active_users": "warbere brûkers",
"server_banner.administered_by": "Beheard troch:",
+ "server_banner.is_one_of_many": "{domain} is ien fan de protte ôfhinklike Mastodon-servers dy’t jo brûke kinne om diel te nimmen oan de fediverse.",
"server_banner.server_stats": "Serverstatistiken:",
"sign_in_banner.create_account": "Account registrearje",
+ "sign_in_banner.follow_anyone": "Folgje elkenien yn de fediverse en sjoch it allegearre yn gronologyske folchoarder. Gjin algoritmen, advertinsjes of clickbaits.",
+ "sign_in_banner.mastodon_is": "Mastodon is de beste manier om wat der bart by te hâlden.",
"sign_in_banner.sign_in": "Oanmelde",
"sign_in_banner.sso_redirect": "Oanmelde of Registrearje",
"status.admin_account": "Moderaasje-omjouwing fan @{name} iepenje",
@@ -706,8 +791,6 @@
"status.favourite": "Favoryt",
"status.favourites": "{count, plural, one {favoryt} other {favoriten}}",
"status.filter": "Dit berjocht filterje",
- "status.filtered": "Filtere",
- "status.hide": "Berjocht ferstopje",
"status.history.created": "{name} makke dit {date}",
"status.history.edited": "{name} bewurke dit {date}",
"status.load_more": "Mear lade",
@@ -735,10 +818,7 @@
"status.report": "@{name} rapportearje",
"status.sensitive_warning": "Gefoelige ynhâld",
"status.share": "Diele",
- "status.show_filter_reason": "Dochs toane",
- "status.show_less": "Minder toane",
"status.show_less_all": "Alles minder toane",
- "status.show_more": "Mear toane",
"status.show_more_all": "Alles mear toane",
"status.show_original": "Orizjineel besjen",
"status.title.with_attachments": "{user} hat {attachmentCount, plural, one {ien bylage} other {{attachmentCount} bylagen}} tafoege",
@@ -757,10 +837,6 @@
"time_remaining.minutes": "{number, plural, one {# minút} other {# minuten}} te gean",
"time_remaining.moments": "Noch krekt efkes te gean",
"time_remaining.seconds": "{number, plural, one {# sekonde} other {# sekonden}} te gean",
- "timeline_hint.remote_resource_not_displayed": "{resource} fan oare servers wurde net toand.",
- "timeline_hint.resources.followers": "Folgers",
- "timeline_hint.resources.follows": "Folgjend",
- "timeline_hint.resources.statuses": "Aldere berjochten",
"trends.counter_by_accounts": "{count, plural, one {{counter} persoan} other {{counter} persoanen}} {days, plural, one {de ôfrûne dei} other {de ôfrûne {days} dagen}}",
"trends.trending_now": "Aktuele trends",
"ui.beforeunload": "Jo konsept giet ferlern wannear’t jo Mastodon ferlitte.",
diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json
index db36db17aa0e0c..95bb2938549168 100644
--- a/app/javascript/mastodon/locales/ga.json
+++ b/app/javascript/mastodon/locales/ga.json
@@ -19,7 +19,6 @@
"account.block_domain": "Bac ainm fearainn {domain}",
"account.block_short": "Bloc",
"account.blocked": "Bactha",
- "account.browse_more_on_origin_server": "Brabhsáil níos mó ar an phróifíl bhunaidh",
"account.cancel_follow_request": "Éirigh as iarratas leanta",
"account.copy": "Cóipeáil nasc chuig an bpróifíl",
"account.direct": "Luaigh @{name} go príobháideach",
@@ -98,6 +97,8 @@
"block_modal.title": "An bhfuil fonn ort an t-úsáideoir a bhlocáil?",
"block_modal.you_wont_see_mentions": "Ní fheicfidh tú postálacha a luann iad.",
"boost_modal.combo": "Is féidir leat {combo} a bhrú chun é seo a scipeáil an chéad uair eile",
+ "boost_modal.reblog": "An post a threisiú?",
+ "boost_modal.undo_reblog": "An deireadh a chur le postáil?",
"bundle_column_error.copy_stacktrace": "Cóipeáil tuairisc earráide",
"bundle_column_error.error.body": "Ní féidir an leathanach a iarradh a sholáthar. Seans gurb amhlaidh mar gheall ar fhabht sa chód, nó mar gheall ar mhíréireacht leis an mbrabhsálaí.",
"bundle_column_error.error.title": "Ó, níl sé sin go maith!",
@@ -193,6 +194,8 @@
"confirmations.unfollow.confirm": "Ná lean",
"confirmations.unfollow.message": "An bhfuil tú cinnte gur mhaith leat {name} a dhíleanúint?",
"confirmations.unfollow.title": "Dílean an t-úsáideoir?",
+ "content_warning.hide": "Folaigh postáil",
+ "content_warning.show": "Taispeáin ar aon nós",
"conversation.delete": "Scrios comhrá",
"conversation.mark_as_read": "Marcáil mar léite",
"conversation.open": "Féach ar comhrá",
@@ -300,6 +303,7 @@
"filter_modal.select_filter.subtitle": "Bain úsáid as catagóir reatha nó cruthaigh ceann nua",
"filter_modal.select_filter.title": "Déan scagadh ar an bpostáil seo",
"filter_modal.title.status": "Déan scagadh ar phostáil",
+ "filter_warning.matches_filter": "Meaitseálann an scagaire “{title}”",
"filtered_notifications_banner.pending_requests": "Ó {count, plural, =0 {duine ar bith} one {duine amháin} two {# daoine} few {# daoine} many {# daoine} other {# daoine}} b’fhéidir go bhfuil aithne agat orthu",
"filtered_notifications_banner.title": "Fógraí scagtha",
"firehose.all": "Gach",
@@ -349,6 +353,14 @@
"hashtag.follow": "Lean haischlib",
"hashtag.unfollow": "Ná lean haischlib",
"hashtags.and_other": "agus {count, plural, one {} two {# níos} few {# níos} many {# níos} other {# níos}}",
+ "hints.profiles.followers_may_be_missing": "Seans go bhfuil leantóirí don phróifíl seo in easnamh.",
+ "hints.profiles.follows_may_be_missing": "Seans go bhfuil na nithe seo a leanas in easnamh ar an bpróifíl seo.",
+ "hints.profiles.posts_may_be_missing": "Seans go bhfuil roinnt postálacha ón bpróifíl seo in easnamh.",
+ "hints.profiles.see_more_followers": "Féach ar a thuilleadh leantóirí ar {domain}",
+ "hints.profiles.see_more_follows": "Féach tuilleadh seo a leanas ar {domain}",
+ "hints.profiles.see_more_posts": "Féach ar a thuilleadh postálacha ar {domain}",
+ "hints.threads.replies_may_be_missing": "Seans go bhfuil freagraí ó fhreastalaithe eile in easnamh.",
+ "hints.threads.see_more": "Féach ar a thuilleadh freagraí ar {domain}",
"home.column_settings.show_reblogs": "Taispeáin moltaí",
"home.column_settings.show_replies": "Taispeán freagraí",
"home.hide_announcements": "Cuir fógraí i bhfolach",
@@ -445,7 +457,6 @@
"lists.subheading": "Do liostaí",
"load_pending": "{count, plural, one {# mír nua} two {# mír nua} few {# mír nua} many {# mír nua} other {# mír nua}}",
"loading_indicator.label": "Á lódáil…",
- "media_gallery.toggle_visible": "{number, plural, one {Folaigh íomhá} two {Folaigh íomhánna} few {Folaigh íomhánna} many {Folaigh íomhánna} other {Folaigh íomhánna}}",
"moved_to_account_banner.text": "Tá do chuntas {disabledAccount} díchumasaithe faoi láthair toisc gur bhog tú go {movedToAccount}.",
"mute_modal.hide_from_notifications": "Folaigh ó fhógraí",
"mute_modal.hide_options": "Folaigh roghanna",
@@ -456,9 +467,8 @@
"mute_modal.title": "An bhfuil fonn ort úsáideoir a bhalbhú?",
"mute_modal.you_wont_see_mentions": "Ní fheicfidh tú postálacha a luann iad.",
"mute_modal.you_wont_see_posts": "Is féidir leo do phoist a fheiceáil go fóill, ach ní fheicfidh tú a gcuid postanna.",
- "name_and_others": "{name} and {count, plural, one {# eile} two {# eile} few {# eile} many {# eile} other {# eile}}",
- "name_and_others_with_link": "{name} agus
{count, plural, one {# eile} two {# eile} few {# eile} many {# eile} other {# eile}}",
"navigation_bar.about": "Maidir le",
+ "navigation_bar.administration": "Riarachán",
"navigation_bar.advanced_interface": "Oscail i gcomhéadan gréasáin chun cinn",
"navigation_bar.blocks": "Cuntais bhactha",
"navigation_bar.bookmarks": "Leabharmharcanna",
@@ -475,6 +485,7 @@
"navigation_bar.follows_and_followers": "Ag leanúint agus do do leanúint",
"navigation_bar.lists": "Liostaí",
"navigation_bar.logout": "Logáil Amach",
+ "navigation_bar.moderation": "Measarthacht",
"navigation_bar.mutes": "Úsáideoirí balbhaithe",
"navigation_bar.opened_in_classic_interface": "Osclaítear poist, cuntais agus leathanaigh shonracha eile de réir réamhshocraithe sa chomhéadan gréasáin clasaiceach.",
"navigation_bar.personal": "Pearsanta",
@@ -490,9 +501,13 @@
"notification.admin.report_statuses": "Thuairiscigh {name} {target} le haghaidh {category}",
"notification.admin.report_statuses_other": "{name} tuairiscithe {target}",
"notification.admin.sign_up": "Chláraigh {name}",
+ "notification.admin.sign_up.name_and_others": "{name} agus {count, plural, one {# duine eile} two {# daoine eile} few {# daoine eile} many {# daoine eile} other {# daoine eile}} a chláraigh",
"notification.favourite": "Is fearr le {name} do phostáil",
+ "notification.favourite.name_and_others_with_link": "{name} agus
{count, plural, one {# duine eile} other {# daoine eile}} thaitin le do phost",
"notification.follow": "Lean {name} thú",
+ "notification.follow.name_and_others": "{name} agus {count, plural, one {# duine eile} other {# daoine eile}} a lean tú",
"notification.follow_request": "D'iarr {name} ort do chuntas a leanúint",
+ "notification.follow_request.name_and_others": "{name} agus {count, plural, one {# duine eile} other {# daoine eile}} iarratas a dhéanamh chun tú a leanúint",
"notification.label.mention": "Luaigh",
"notification.label.private_mention": "Lua príobháideach",
"notification.label.private_reply": "Freagra príobháideach",
@@ -510,6 +525,7 @@
"notification.own_poll": "Tá do suirbhé críochnaithe",
"notification.poll": "Tá deireadh le vótaíocht inar vótáil tú",
"notification.reblog": "Mhol {name} do phostáil",
+ "notification.reblog.name_and_others_with_link": "{name} agus
{count, plural, one {# duine eile} other {# daoine eile}} a chuir borradh faoi do phost",
"notification.relationships_severance_event": "Cailleadh naisc le {name}",
"notification.relationships_severance_event.account_suspension": "Chuir riarthóir ó {from} {target} ar fionraí, rud a chiallaíonn nach féidir leat nuashonruithe a fháil uathu a thuilleadh ná idirghníomhú leo.",
"notification.relationships_severance_event.domain_block": "Chuir riarthóir ó {from} bac ar {target}, lena n-áirítear {followersCount} de do leantóirí agus {followingCount, plural, one {#cuntas} other {#cuntas}} leanann tú.",
@@ -518,19 +534,17 @@
"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.accept_multiple": "{count, plural, one {Glac le # iarratas…} other {Glac le # iarratais…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Glac le hIarratas} other {Glac le hIarratais}}",
+ "notification_requests.confirm_accept_multiple.message": "Tá tú ar tí glacadh le {count, plural, one {iarratas fógra amháin} other {# iarratas fógra}}. An bhfuil tú cinnte gur mian leat leanúint ar aghaidh?",
+ "notification_requests.confirm_accept_multiple.title": "Glac le hiarratais ar fhógra?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Dún iarratas} other {Dún iarratais}}",
+ "notification_requests.confirm_dismiss_multiple.message": "Tá tú ar tí iarratas fógra {count, plural, one {a hAon} other {#}} a dhúnadh. Ní bheidh tú in ann {count, plural, one {é} other {iad}} a fháil go héasca arís. An bhfuil tú cinnte gur mian leat leanúint ar aghaidh?",
+ "notification_requests.confirm_dismiss_multiple.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.dismiss_multiple": "{count, plural, one {Dún # iarratas…} other {Dún # iarratais…}}",
+ "notification_requests.edit_selection": "Cuir in eagar",
+ "notification_requests.exit_selection": "Déanta",
"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",
@@ -777,8 +791,6 @@
"status.favourite": "Is fearr leat",
"status.favourites": "{count, plural, one {a bhfuil grá agat do} two {gráite} few {gráite} many {gráite} other {gráite}}",
"status.filter": "Déan scagadh ar an bpostáil seo",
- "status.filtered": "Scagtha",
- "status.hide": "Cuir postáil i bhfolach",
"status.history.created": "Chruthaigh {name} {date}",
"status.history.edited": "Curtha in eagar ag {name} in {date}",
"status.load_more": "Lódáil a thuilleadh",
@@ -806,10 +818,7 @@
"status.report": "Tuairiscigh @{name}",
"status.sensitive_warning": "Ábhar íogair",
"status.share": "Comhroinn",
- "status.show_filter_reason": "Taispeáin ar aon nós",
- "status.show_less": "Taispeáin níos lú",
"status.show_less_all": "Taispeáin níos lú d'uile",
- "status.show_more": "Taispeáin níos mó",
"status.show_more_all": "Taispeáin níos mó d'uile",
"status.show_original": "Taispeáin bunchóip",
"status.title.with_attachments": "{user} a sheol {attachmentCount, plural, one {ceangal} two {{attachmentCount} ceangal} few {{attachmentCount} ceangail} many {{attachmentCount} ceangal} other {{attachmentCount} ceangal}}",
@@ -828,11 +837,6 @@
"time_remaining.minutes": "{number, plural, one {# nóiméad} other {# nóiméad}} fágtha",
"time_remaining.moments": "Chuimhneacháin fágtha",
"time_remaining.seconds": "{number, plural, one {# soicind} other {# soicind}} fágtha",
- "timeline_hint.remote_resource_not_displayed": "Níl {resource} ó fhreastalaithe eile ar taispeáint.",
- "timeline_hint.resources.followers": "Leantóirí",
- "timeline_hint.resources.follows": "Cuntais leanta",
- "timeline_hint.resources.replies": "Roinnt freagraí",
- "timeline_hint.resources.statuses": "Postáilí níos sine",
"trends.counter_by_accounts": "{count, plural, one {{counter} duine} other {{counter} duine}} le {days, plural, one {lá} other {{days} lá}} anuas",
"trends.trending_now": "Ag treochtáil anois",
"ui.beforeunload": "Caillfear do dhréacht má fhágann tú Mastodon.",
diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json
index c5af3e557ce4fc..e2f67bc296accc 100644
--- a/app/javascript/mastodon/locales/gd.json
+++ b/app/javascript/mastodon/locales/gd.json
@@ -19,7 +19,6 @@
"account.block_domain": "Bac an àrainn {domain}",
"account.block_short": "Bac",
"account.blocked": "’Ga bhacadh",
- "account.browse_more_on_origin_server": "Rùraich barrachd dheth air a’ phròifil thùsail",
"account.cancel_follow_request": "Sguir dhen leantainn",
"account.copy": "Dèan lethbhreac dhen cheangal dhan phròifil",
"account.direct": "Thoir iomradh air @{name} gu prìobhaideach",
@@ -98,6 +97,8 @@
"block_modal.title": "A bheil thu airson an cleachdaiche a bhacadh?",
"block_modal.you_wont_see_mentions": "Chan fhaic thu na postaichean a bheir iomradh orra.",
"boost_modal.combo": "Brùth air {combo} nam b’ fheàrr leat leum a ghearradh thar seo an ath-thuras",
+ "boost_modal.reblog": "A bheil thu airson am post a bhrosnachadh?",
+ "boost_modal.undo_reblog": "A bheil thu airson sgur de bhrosnachadh a’ phuist?",
"bundle_column_error.copy_stacktrace": "Dèan lethbhreac de aithris na mearachd",
"bundle_column_error.error.body": "Cha b’ urrainn dhuinn an duilleag a dh’iarr thu a reandaradh. Dh’fhaoidte gu bheil buga sa chòd againn no duilgheadas co-chòrdalachd leis a’ bhrabhsair.",
"bundle_column_error.error.title": "Ìoc!",
@@ -193,6 +194,8 @@
"confirmations.unfollow.confirm": "Na lean tuilleadh",
"confirmations.unfollow.message": "A bheil thu cinnteach nach eil thu airson {name} a leantainn tuilleadh?",
"confirmations.unfollow.title": "A bheil thu airson sgur de leantainn a chleachdaiche?",
+ "content_warning.hide": "Falaich am post",
+ "content_warning.show": "Seall e co-dhiù",
"conversation.delete": "Sguab às an còmhradh",
"conversation.mark_as_read": "Cuir comharra gun deach a leughadh",
"conversation.open": "Seall an còmhradh",
@@ -300,6 +303,7 @@
"filter_modal.select_filter.subtitle": "Cleachd roinn-seòrsa a tha ann no cruthaich tè ùr",
"filter_modal.select_filter.title": "Criathraich am post seo",
"filter_modal.title.status": "Criathraich post",
+ "filter_warning.matches_filter": "A’ maidseadh na criathraige “{title}”",
"filtered_notifications_banner.pending_requests": "{count, plural, =0 {Chan eil gin ann} one {O # neach} two {O # neach} few {O # daoine} other {O # duine}} air a bheil thu eòlach ’s dòcha",
"filtered_notifications_banner.title": "Brathan criathraichte",
"firehose.all": "Na h-uile",
@@ -349,6 +353,14 @@
"hashtag.follow": "Lean an taga hais",
"hashtag.unfollow": "Na lean an taga hais tuilleadh",
"hashtags.and_other": "…agus {count, plural, one {# eile} two {# eile} few {# eile} other {# eile}}",
+ "hints.profiles.followers_may_be_missing": "Dh’fhaoidte gu bheil cuid dhen luchd-leantainn na pròifil seo a dhìth.",
+ "hints.profiles.follows_may_be_missing": "Dh’fhaoidte gu bheil cuid a tha a’ phròifil seo a’ leantainn a dhìth.",
+ "hints.profiles.posts_may_be_missing": "Dh’fhaoide gu bheil cuid dhe na postaichean aig a’ phròifil seo a dhìth.",
+ "hints.profiles.see_more_followers": "Faic barrachd luchd-leantainn air {domain}",
+ "hints.profiles.see_more_follows": "Faic barrachd a tha 'gan leantainn air {domain}",
+ "hints.profiles.see_more_posts": "Faic barrachd phostaichean air {domain}",
+ "hints.threads.replies_may_be_missing": "Dh’fhaoidte gu bheil freagairtean o fhrithealaichean eile a dhìth.",
+ "hints.threads.see_more": "Faic barrachd fhreagairtean air {domain}",
"home.column_settings.show_reblogs": "Seall na brosnachaidhean",
"home.column_settings.show_replies": "Seall na freagairtean",
"home.hide_announcements": "Falaich na brathan-fios",
@@ -356,6 +368,17 @@
"home.pending_critical_update.link": "Faic na h-ùrachaidhean",
"home.pending_critical_update.title": "Tha ùrachadh tèarainteachd èiginneach ri fhaighinn!",
"home.show_announcements": "Seall na brathan-fios",
+ "ignore_notifications_modal.disclaimer": "Chan urrainn do Mhastodon innse do cheachdaichean gun do leig thu seachad na brathan uapa. Cha bhac leigeil seachad nam brathan gun dèid na teachdaireachdan fhèin a chur.",
+ "ignore_notifications_modal.filter_instead": "Criathraich ’na àite",
+ "ignore_notifications_modal.filter_to_act_users": "’S urrainn dhut gabhail ri cleachdaichean, an diùltadh no gearan a dhèanamh mun dèidhinn fhathast",
+ "ignore_notifications_modal.filter_to_avoid_confusion": "Cuidichidh criathradh le rù-rà ma dh’fhaoidte",
+ "ignore_notifications_modal.filter_to_review_separately": "’S urrainn dhut sùil fa leth a thoirt air na brathran criathraichte",
+ "ignore_notifications_modal.ignore": "Leig seachad na brathan",
+ "ignore_notifications_modal.limited_accounts_title": "A bheil thu airson na brathan o chunntasan fo mhaorsainneachd a leigeil seachad?",
+ "ignore_notifications_modal.new_accounts_title": "A bheil thu airson na brathan o chunntasan ùra a leigeil seachad?",
+ "ignore_notifications_modal.not_followers_title": "A bheil thu airson na brathan o dhaoine nach eil ’gad leantainn a leigeil seachad?",
+ "ignore_notifications_modal.not_following_title": "A bheil thu airson na brathan o dhaoine nach eil thu a’ leantainn a leigeil seachad?",
+ "ignore_notifications_modal.private_mentions_title": "A bheil thu airson na brathan o iomraidhean phrìobhaideach gun iarraidh a leigeil seachad?",
"interaction_modal.description.favourite": "Le cunntas air Mastodon, ’s urrainn dhut am post seo a chur ris na h-annsachdan airson innse dhan ùghdar gu bheil e a’ còrdadh dhut ’s a shàbhaladh do uaireigin eile.",
"interaction_modal.description.follow": "Le cunntas air Mastodon, ’s urrainn dhut {name} a leantainn ach am faigh thu na postaichean aca nad dhachaigh.",
"interaction_modal.description.reblog": "Le cunntas air Mastodon, ’s urrainn dhut am post seo a bhrosnachadh gus a cho-roinneadh leis an luchd-leantainn agad fhèin.",
@@ -434,7 +457,6 @@
"lists.subheading": "Na liostaichean agad",
"load_pending": "{count, plural, one {# nì ùr} two {# nì ùr} few {# nithean ùra} other {# nì ùr}}",
"loading_indicator.label": "’Ga luchdadh…",
- "media_gallery.toggle_visible": "{number, plural, 1 {Falaich an dealbh} one {Falaich na dealbhan} two {Falaich na dealbhan} few {Falaich na dealbhan} other {Falaich na dealbhan}}",
"moved_to_account_banner.text": "Tha an cunntas {disabledAccount} agad à comas on a rinn thu imrich gu {movedToAccount}.",
"mute_modal.hide_from_notifications": "Falaich o na brathan",
"mute_modal.hide_options": "Roghainnean falaich",
@@ -445,9 +467,8 @@
"mute_modal.title": "A bheil thu airson an cleachdaiche a mhùchadh?",
"mute_modal.you_wont_see_mentions": "Chan fhaic thu na postaichean a bheir iomradh orra.",
"mute_modal.you_wont_see_posts": "Chì iad na postaichean agad fhathast ach chan fhaic thu na postaichean aca-san.",
- "name_and_others": "{name} ’s {count, plural, one {# eile} other {# eile}}",
- "name_and_others_with_link": "{name} ’s
{count, plural, one {# eile} other {# eile}}",
"navigation_bar.about": "Mu dhèidhinn",
+ "navigation_bar.administration": "Rianachd",
"navigation_bar.advanced_interface": "Fosgail san eadar-aghaidh-lìn adhartach",
"navigation_bar.blocks": "Cleachdaichean bacte",
"navigation_bar.bookmarks": "Comharran-lìn",
@@ -464,6 +485,7 @@
"navigation_bar.follows_and_followers": "Dàimhean leantainn",
"navigation_bar.lists": "Liostaichean",
"navigation_bar.logout": "Clàraich a-mach",
+ "navigation_bar.moderation": "Maorsainneachd",
"navigation_bar.mutes": "Cleachdaichean mùchte",
"navigation_bar.opened_in_classic_interface": "Thèid postaichean, cunntasan ’s duilleagan sònraichte eile fhosgladh san eadar-aghaidh-lìn chlasaigeach a ghnàth.",
"navigation_bar.personal": "Pearsanta",
@@ -479,9 +501,18 @@
"notification.admin.report_statuses": "Rinn {name} gearan mu {target} air adhbhar {category}",
"notification.admin.report_statuses_other": "Rinn {name} gearan mu {target}",
"notification.admin.sign_up": "Chlàraich {name}",
+ "notification.admin.sign_up.name_and_others": "Chlàraich {name} ’s {count, plural, one {# eile} two {# eile} few {# eile} other {# eile}}",
"notification.favourite": "Is annsa le {name} am post agad",
+ "notification.favourite.name_and_others_with_link": "Is annsa le {name} ’s
{count, plural, one {# eile} two {# eile} few {# eile} other {# eile}} am post agad",
"notification.follow": "Tha {name} ’gad leantainn a-nis",
+ "notification.follow.name_and_others": "Lean {name} ’s {count, plural, one {# eile} two {# eile} few {# eile} other {# eile}} thu",
"notification.follow_request": "Dh’iarr {name} ’gad leantainn",
+ "notification.follow_request.name_and_others": "Dh’iarr {name} ’s {count, plural, one {# eile} two {# eile} few {# eile} other {# eile}} ’gad leantainn",
+ "notification.label.mention": "Iomradh",
+ "notification.label.private_mention": "Iomradh prìobhaideach",
+ "notification.label.private_reply": "Freagairt phrìobhaideach",
+ "notification.label.reply": "Freagairt",
+ "notification.mention": "Iomradh",
"notification.moderation-warning.learn_more": "Barrachd fiosrachaidh",
"notification.moderation_warning": "Fhuair thu rabhadh on mhaorsainneachd",
"notification.moderation_warning.action_delete_statuses": "Chaidh cuid dhe na postaichean agad a thoirt air falbh.",
@@ -494,6 +525,7 @@
"notification.own_poll": "Thàinig an cunntas-bheachd agad gu crìoch",
"notification.poll": "Thàinig cunntas-bheachd sa bhòt thu gu crìoch",
"notification.reblog": "Bhrosnaich {name} am post agad",
+ "notification.reblog.name_and_others_with_link": "Bhrosnaich {name} ’s
{count, plural, one {# eile} two {# eile} few {# eile} other {# eile}} am post agad",
"notification.relationships_severance_event": "Chaill thu dàimhean le {name}",
"notification.relationships_severance_event.account_suspension": "Chuir rianaire aig {from} {target} à rèim agus is ciall dha sin nach fhaigh thu naidheachdan uapa ’s nach urrainn dhut conaltradh leotha.",
"notification.relationships_severance_event.domain_block": "Bhac rianaire aig {from} {target}, a’ gabhail a-staigh {followersCount} dhen luchd-leantainn agad agus {followingCount, plural, one {# chunntas} two {# chunntas} few {# cunntasan} other {# cunntas}} a tha thu fhèin a’ leantainn.",
@@ -502,11 +534,24 @@
"notification.status": "Phostaich {name} rud",
"notification.update": "Dheasaich {name} post",
"notification_requests.accept": "Gabh ris",
+ "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_multiple.button": "{count, plural, one {Gabh ris an t-iarrtas} two {Gabh ris na h-iarrtasan} few {Gabh ris na h-iarrtasan} other {Gabh ris na h-iarrtasan}}",
+ "notification_requests.confirm_accept_multiple.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_multiple.title": "A bheil thu airson gabhail ri iarrtasan bratha?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Leig seachad an t-iarrtas} two {Leig seachad na h-iarrtasan} few {Leig seachad na h-iarrtasan} other {Leig seachad na h-iarrtasan}}",
+ "notification_requests.confirm_dismiss_multiple.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_multiple.title": "A bheil thu airson iarrtasan bratha a leigeil seachad?",
"notification_requests.dismiss": "Leig seachad",
+ "notification_requests.dismiss_multiple": "{count, plural, one {Leig seachad # iarrtas…} two {Leig seachad # iarrtas…} few {Leig seachad # iarrtasan…} other {Leig seachad # iarrtas…}}",
+ "notification_requests.edit_selection": "Deasaich",
+ "notification_requests.exit_selection": "Deiseil",
+ "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",
"notification_requests.minimize_banner": "Fìor-lùghdaich bratach nam brathan criathraichte",
"notification_requests.notifications_from": "Brathan o {name}",
"notification_requests.title": "Brathan criathraichte",
+ "notification_requests.view": "Seall na brathan",
"notifications.clear": "Falamhaich na brathan",
"notifications.clear_confirmation": "A bheil thu cinnteach gu bheil thu airson na brathan uile agad fhalamhachadh gu buan?",
"notifications.clear_title": "A bheil thu airson na brathan fhalamhachadh?",
@@ -543,14 +588,23 @@
"notifications.permission_denied": "Chan eil brathan deasga ri fhaighinn on a chaidh iarrtas ceadan a’ bhrabhsair a dhiùltadh cheana",
"notifications.permission_denied_alert": "Cha ghabh brathan deasga a chur an comas on a chaidh iarrtas ceadan a’ bhrabhsair a dhiùltadh cheana",
"notifications.permission_required": "Chan eil brathan deasga ri fhaighinn on nach deach an cead riatanach a thoirt seachad.",
+ "notifications.policy.accept": "Gabh ris",
+ "notifications.policy.accept_hint": "Seall sna brathan",
+ "notifications.policy.drop": "Leig seachad",
+ "notifications.policy.drop_hint": "Cuir a-mach à sealladh gu buan",
+ "notifications.policy.filter": "Criathraich",
+ "notifications.policy.filter_hint": "Cuir gu bogsa a-steach nam brathan criathraichte",
+ "notifications.policy.filter_limited_accounts_hint": "Cuingichte le maoir an fhrithealaiche",
+ "notifications.policy.filter_limited_accounts_title": "Cunntasan fo mhaorsainneachd",
"notifications.policy.filter_new_accounts.hint": "A chaidh a chruthachadh o chionn {days, plural, one {# latha} two {# latha} few {# làithean} other {# latha}}",
"notifications.policy.filter_new_accounts_title": "Cunntasan ùra",
- "notifications.policy.filter_not_followers_hint": "A’ gabhail a-staigh an fheadhainn a lean ort nas lugha na {days, plural, one {# latha} two {# latha} few {# làithean} other {# latha}} seo chaidh",
+ "notifications.policy.filter_not_followers_hint": "A’ gabhail a-staigh an fheadhainn a lean thu nas lugha na {days, plural, one {# latha} two {# latha} few {# làithean} other {# latha}} seo chaidh",
"notifications.policy.filter_not_followers_title": "Daoine nach eil gad leantainn",
"notifications.policy.filter_not_following_hint": "Gus an aontaich thu riutha a làimh",
"notifications.policy.filter_not_following_title": "Daoine nach eil thu a’ leantainn",
"notifications.policy.filter_private_mentions_hint": "Criathraichte ach ma tha e a’ freagairt do dh’iomradh agad fhèin no ma tha thu a’ leantainn an t-seòladair",
"notifications.policy.filter_private_mentions_title": "Iomraidhean prìobhaideach o choigrich",
+ "notifications.policy.title": "Stiùirich na brathan o…",
"notifications_permission_banner.enable": "Cuir brathan deasga an comas",
"notifications_permission_banner.how_to_control": "Airson brathan fhaighinn nuair nach eil Mastodon fosgailte, cuir na brathan deasga an comas. Tha an smachd agad fhèin air dè na seòrsaichean de chonaltradh a ghineas brathan deasga leis a’ phutan {icon} gu h-àrd nuair a bhios iad air an cur an comas.",
"notifications_permission_banner.title": "Na caill dad gu bràth tuilleadh",
@@ -737,8 +791,6 @@
"status.favourite": "Cuir ris na h-annsachdan",
"status.favourites": "{count, plural, one {annsachd} two {annsachd} few {annsachdan} other {annsachd}}",
"status.filter": "Criathraich am post seo",
- "status.filtered": "Criathraichte",
- "status.hide": "Falaich am post",
"status.history.created": "Chruthaich {name} {date} e",
"status.history.edited": "Dheasaich {name} {date} e",
"status.load_more": "Luchdaich barrachd dheth",
@@ -766,10 +818,7 @@
"status.report": "Dèan gearan mu @{name}",
"status.sensitive_warning": "Susbaint fhrionasach",
"status.share": "Co-roinn",
- "status.show_filter_reason": "Seall e co-dhiù",
- "status.show_less": "Seall nas lugha dheth",
"status.show_less_all": "Seall nas lugha dhen a h-uile",
- "status.show_more": "Seall barrachd dheth",
"status.show_more_all": "Seall barrachd dhen a h-uile",
"status.show_original": "Seall an tionndadh tùsail",
"status.title.with_attachments": "Phostaich {user} {attachmentCount, plural, one {{attachmentCount} cheanglachan} two {{attachmentCount} cheanglachan} few {{attachmentCount} ceanglachain} other {{attachmentCount} ceanglachan}}",
@@ -788,10 +837,6 @@
"time_remaining.minutes": "{number, plural, one {# mhionaid} two {# mhionaid} few {# mionaidean} other {# mionaid}} air fhàgail",
"time_remaining.moments": "Cha doir e ach greiseag",
"time_remaining.seconds": "{number, plural, one {# diog} two {# dhiog} few {# diogan} other {# diog}} air fhàgail",
- "timeline_hint.remote_resource_not_displayed": "Cha dèid {resource} o fhrithealaichean eile a shealltainn.",
- "timeline_hint.resources.followers": "luchd-leantainn",
- "timeline_hint.resources.follows": "an fheadhainn gan leantainn",
- "timeline_hint.resources.statuses": "postaichean nas sine",
"trends.counter_by_accounts": "{count, plural, one {{counter} neach} two {{counter} neach} few {{counter} daoine} other {{counter} duine}} {days, plural, one {san {days} latha} two {san {days} latha} few {sna {days} làithean} other {sna {days} latha}} seo chaidh",
"trends.trending_now": "A’ treandadh an-dràsta",
"ui.beforeunload": "Caillidh tu an dreachd agad ma dh’fhàgas tu Mastodon an-dràsta.",
diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json
index 7d71400206e831..b0b530e88f09bd 100644
--- a/app/javascript/mastodon/locales/gl.json
+++ b/app/javascript/mastodon/locales/gl.json
@@ -19,7 +19,6 @@
"account.block_domain": "Agochar todo de {domain}",
"account.block_short": "Bloquear",
"account.blocked": "Bloqueada",
- "account.browse_more_on_origin_server": "Busca máis no perfil orixinal",
"account.cancel_follow_request": "Desbotar a solicitude de seguimento",
"account.copy": "Copiar ligazón ao perfil",
"account.direct": "Mencionar de xeito privado a @{name}",
@@ -98,6 +97,8 @@
"block_modal.title": "Bloquear usuaria?",
"block_modal.you_wont_see_mentions": "Non verás publicacións que a mencionen.",
"boost_modal.combo": "Preme {combo} para ignorar isto na seguinte vez",
+ "boost_modal.reblog": "Promover publicación?",
+ "boost_modal.undo_reblog": "Retirar promoción?",
"bundle_column_error.copy_stacktrace": "Copiar informe do erro",
"bundle_column_error.error.body": "Non se puido mostrar a páxina solicitada. Podería deberse a un problema no código, ou incompatiblidade co navegador.",
"bundle_column_error.error.title": "Vaites!",
@@ -193,6 +194,8 @@
"confirmations.unfollow.confirm": "Deixar de seguir",
"confirmations.unfollow.message": "Desexas deixar de seguir a {name}?",
"confirmations.unfollow.title": "Deixar de seguir á usuaria?",
+ "content_warning.hide": "Agochar publicación",
+ "content_warning.show": "Mostrar igualmente",
"conversation.delete": "Eliminar conversa",
"conversation.mark_as_read": "Marcar como lido",
"conversation.open": "Ver conversa",
@@ -220,7 +223,7 @@
"domain_block_modal.title": "Bloquear dominio?",
"domain_block_modal.you_will_lose_followers": "Vanse eliminar todas as túas seguidoras deste servidor.",
"domain_block_modal.you_wont_see_posts": "Non verás publicacións ou notificacións das usuarias deste servidor.",
- "domain_pill.activitypub_lets_connect": "Permíteche conectar e interactuar con persoas non só de Mastodon, se non tamén con outras apps sociais.",
+ "domain_pill.activitypub_lets_connect": "Permíteche conectar e interactuar con persoas non só de Mastodon, se non tamén con outras sociais.",
"domain_pill.activitypub_like_language": "ActivityPub é algo así como o idioma que Mastodon fala con outras redes sociais.",
"domain_pill.server": "Servidor",
"domain_pill.their_handle": "O seu alcume:",
@@ -228,8 +231,8 @@
"domain_pill.their_username": "O seu identificador único no seu servidor. É posible atopar usuarias co mesmo nome de usuaria en diferentes servidores.",
"domain_pill.username": "Nome de usuaria",
"domain_pill.whats_in_a_handle": "As partes do alcume?",
- "domain_pill.who_they_are": "O alcume dinos quen é esa persoa e onde está, para que poidas interactuar con ela en toda a web social de
plataformas ActivityPub.",
- "domain_pill.who_you_are": "Como o teu alcume informa de quen es e onde estás, as persoas poden interactuar contigo desde toda a web social de
plataformas ActivityPub.",
+ "domain_pill.who_they_are": "O alcume dinos quen é esa persoa e onde está, para que poidas interactuar con ela en toda a web social das
plataformas ActivityPub.",
+ "domain_pill.who_you_are": "Como o teu alcume informa de quen es e onde estás, as persoas poden interactuar contigo desde toda a web social das
plataformas ActivityPub.",
"domain_pill.your_handle": "O teu alcume:",
"domain_pill.your_server": "O teu fogar dixital, onde están as túas publicacións. Non é do teu agrado? Podes cambiar de servidor cando queiras levando as túas seguidoras contigo.",
"domain_pill.your_username": "O teu identificador único neste servidor. É posible que atopes usuarias co mesmo nome de usuaria en outros servidores.",
@@ -269,7 +272,7 @@
"empty_column.list": "Aínda non hai nada nesta listaxe. Cando as usuarias incluídas na listaxe publiquen mensaxes, amosaranse aquí.",
"empty_column.lists": "Aínda non tes listaxes. Cando crees unha, amosarase aquí.",
"empty_column.mutes": "Aínda non silenciaches a ningúnha usuaria.",
- "empty_column.notification_requests": "Todo ben! Nada por aquí. Cando recibas novas notificación aparecerán aquí seguindo o criterio dos teus axustes.",
+ "empty_column.notification_requests": "Todo ben! Nada por aquí. Cando recibas novas notificacións aparecerán aquí seguindo o criterio dos teus axustes.",
"empty_column.notifications": "Aínda non tes notificacións. Aparecerán cando outras persoas interactúen contigo.",
"empty_column.public": "Nada por aquí! Escribe algo de xeito público, ou segue de xeito manual usuarias doutros servidores para ir enchéndoo",
"error.unexpected_crash.explanation": "Debido a un erro no noso código ou a unha compatilidade co teu navegador, esta páxina non pode ser amosada correctamente.",
@@ -300,6 +303,7 @@
"filter_modal.select_filter.subtitle": "Usar unha categoría existente ou crear unha nova",
"filter_modal.select_filter.title": "Filtrar esta publicación",
"filter_modal.title.status": "Filtrar unha publicación",
+ "filter_warning.matches_filter": "Debido ao filtro “{title}”",
"filtered_notifications_banner.pending_requests": "De {count, plural, =0 {ninguén} one {unha persoa} other {# persoas}} que igual coñeces",
"filtered_notifications_banner.title": "Notificacións filtradas",
"firehose.all": "Todo",
@@ -311,7 +315,7 @@
"follow_suggestions.curated_suggestion": "Suxestións do Servidor",
"follow_suggestions.dismiss": "Non mostrar máis",
"follow_suggestions.featured_longer": "Elección persoal do equipo de {domain}",
- "follow_suggestions.friends_of_friends_longer": "Popular entre as persoas que sigues",
+ "follow_suggestions.friends_of_friends_longer": "Popular entre as persoas que segues",
"follow_suggestions.hints.featured": "Este perfil foi escollido pola administración de {domain}.",
"follow_suggestions.hints.friends_of_friends": "Este perfil é popular entre as persoas que segues.",
"follow_suggestions.hints.most_followed": "Este perfil é un dos máis seguidos en {domain}.",
@@ -349,6 +353,14 @@
"hashtag.follow": "Seguir cancelo",
"hashtag.unfollow": "Deixar de seguir cancelo",
"hashtags.and_other": "…e {count, plural, one {}other {# máis}}",
+ "hints.profiles.followers_may_be_missing": "Poderían faltar seguidoras deste perfil.",
+ "hints.profiles.follows_may_be_missing": "Poderían faltar seguimentos deste perfil.",
+ "hints.profiles.posts_may_be_missing": "Poderían faltar algunhas publicacións deste perfil.",
+ "hints.profiles.see_more_followers": "Mira máis seguidoras en {domain}",
+ "hints.profiles.see_more_follows": "Mira máis seguimentos en {domain}",
+ "hints.profiles.see_more_posts": "Mira máis publicacións en {domain}",
+ "hints.threads.replies_may_be_missing": "Poderían faltar respostas desde outros servidores.",
+ "hints.threads.see_more": "Mira máis respostas en {domain}",
"home.column_settings.show_reblogs": "Amosar compartidos",
"home.column_settings.show_replies": "Amosar respostas",
"home.hide_announcements": "Agochar anuncios",
@@ -445,9 +457,9 @@
"lists.subheading": "As túas listaxes",
"load_pending": "{count, plural, one {# novo elemento} other {# novos elementos}}",
"loading_indicator.label": "Estase a cargar…",
- "media_gallery.toggle_visible": "Agochar {number, plural, one {imaxe} other {imaxes}}",
+ "media_gallery.hide": "Agochar",
"moved_to_account_banner.text": "A túa conta {disabledAccount} está actualmente desactivada porque movéchela a {movedToAccount}.",
- "mute_modal.hide_from_notifications": "Ocultar nas notificacións",
+ "mute_modal.hide_from_notifications": "Agochar nas notificacións",
"mute_modal.hide_options": "Opcións ao ocultar",
"mute_modal.indefinite": "Ata que as reactive",
"mute_modal.show_options": "Mostrar opcións",
@@ -456,9 +468,8 @@
"mute_modal.title": "Acalar usuaria?",
"mute_modal.you_wont_see_mentions": "Non verás as publicacións que a mencionen.",
"mute_modal.you_wont_see_posts": "Seguirá podendo ler as túas publicacións, pero non verás as súas.",
- "name_and_others": "{name} e {count, plural, one {outra máis} other {# máis}}",
- "name_and_others_with_link": "{name} e
{count, plural, one {outra máis} other {# máis}}",
"navigation_bar.about": "Sobre",
+ "navigation_bar.administration": "Administración",
"navigation_bar.advanced_interface": "Abrir coa interface web avanzada",
"navigation_bar.blocks": "Usuarias bloqueadas",
"navigation_bar.bookmarks": "Marcadores",
@@ -475,6 +486,7 @@
"navigation_bar.follows_and_followers": "Seguindo e seguidoras",
"navigation_bar.lists": "Listaxes",
"navigation_bar.logout": "Pechar sesión",
+ "navigation_bar.moderation": "Moderación",
"navigation_bar.mutes": "Usuarias silenciadas",
"navigation_bar.opened_in_classic_interface": "Publicacións, contas e outras páxinas dedicadas ábrense por defecto na interface web clásica.",
"navigation_bar.personal": "Persoal",
@@ -490,9 +502,13 @@
"notification.admin.report_statuses": "{name} deununciou a {target} por {category}",
"notification.admin.report_statuses_other": "{name} denunciou a {target}",
"notification.admin.sign_up": "{name} rexistrouse",
+ "notification.admin.sign_up.name_and_others": "{name} e {count, plural, one {# máis} other {# máis}} crearon unha conta",
"notification.favourite": "{name} marcou como favorita a túa publicación",
+ "notification.favourite.name_and_others_with_link": "{name} e
{count, plural, one {# máis} other {# máis}} favoreceron a túa publicación",
"notification.follow": "{name} comezou a seguirte",
+ "notification.follow.name_and_others": "{name} e {count, plural, one {# máis} other {# máis}} seguíronte",
"notification.follow_request": "{name} solicitou seguirte",
+ "notification.follow_request.name_and_others": "{name} e {count, plural, one {# máis} other {# máis}} solicitaron seguirte",
"notification.label.mention": "Mención",
"notification.label.private_mention": "Mención privada",
"notification.label.private_reply": "Resposta privada",
@@ -510,6 +526,7 @@
"notification.own_poll": "A túa enquisa rematou",
"notification.poll": "Rematou a enquisa na que votaches",
"notification.reblog": "{name} compartiu a túa publicación",
+ "notification.reblog.name_and_others_with_link": "{name} e
{count, plural, one {# máis} other {# máis}} promoveron a túa publicación",
"notification.relationships_severance_event": "Perdeuse a conexión con {name}",
"notification.relationships_severance_event.account_suspension": "A administración de {from} suspendeu a {target}, o que significa que xa non vas recibir actualizacións de esa conta ou interactuar con ela.",
"notification.relationships_severance_event.domain_block": "A administración de {from} bloqueou a {target}, que inclúe a {followersCount} das túas seguidoras e a {followingCount, plural, one {# conta} other {# contas}} que sigues.",
@@ -518,19 +535,17 @@
"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.accept_multiple": "{count, plural, one {Aceptar # solicitude…} other {Aceptar # solicitudes…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Aceptar solicitude} other {Aceptar solicitudes}}",
+ "notification_requests.confirm_accept_multiple.message": "Vas aceptar {count, plural, one {unha solicitude de notificación} other {# solicitudes de notificación}}. Tes certeza de querer aceptar?",
+ "notification_requests.confirm_accept_multiple.title": "Aceptar solicitudes de notificación?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Rexeitar solicitude} other {Rexeitar solicitudes}}",
+ "notification_requests.confirm_dismiss_multiple.message": "Vas rexeitar {count, plural, one {unha solicitude de notificación} other {# solicitudes de notificación}}. Non poderás volver acceder fácilmente a {count, plural, one {ela} other {elas}}. Tes certeza de querer rexeitar?",
+ "notification_requests.confirm_dismiss_multiple.title": "Rexeitar solicitudes de notificación?",
"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.dismiss_multiple": "{count, plural, one {Rexeitar # solicitude…} other {Rexeitar # solicitudes…}}",
+ "notification_requests.edit_selection": "Editar",
+ "notification_requests.exit_selection": "Feito",
"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",
@@ -626,7 +641,7 @@
"onboarding.steps.publish_status.title": "Escribe a túa primeira publicación",
"onboarding.steps.setup_profile.body": "Ao engadir información ao teu perfil é máis probable que teñas máis interaccións.",
"onboarding.steps.setup_profile.title": "Personaliza o perfil",
- "onboarding.steps.share_profile.body": "Dille ás amizades como poden atoparte en Mastodon!",
+ "onboarding.steps.share_profile.body": "Dille ás amizades como poden atoparte en Mastodon.",
"onboarding.steps.share_profile.title": "Comparte o teu perfil en Mastodon",
"onboarding.tips.2fa": "
Sabes que? Podes protexer a túa conta configurando un segundo factor de autenticación nos axustes. Funciona con calquera app TOTP, non precisas un número de teléfono!",
"onboarding.tips.accounts_from_other_servers": "
Sabes que? Como Mastodon é descentralizado, algúns perfís que atopes estarán en servidores diferentes ao teu. Pero podes interactuar igualmente con eles! O seu servidor é o que ven despois da @ no seu identificador!",
@@ -765,6 +780,7 @@
"status.bookmark": "Marcar",
"status.cancel_reblog_private": "Desfacer compartido",
"status.cannot_reblog": "Esta publicación non pode ser promovida",
+ "status.continued_thread": "Continua co fío",
"status.copy": "Copiar ligazón á publicación",
"status.delete": "Eliminar",
"status.detailed_status": "Vista detallada da conversa",
@@ -777,8 +793,6 @@
"status.favourite": "Favorecer",
"status.favourites": "{count, plural, one {favorecemento} other {favorecementos}}",
"status.filter": "Filtrar esta publicación",
- "status.filtered": "Filtrado",
- "status.hide": "Agochar publicación",
"status.history.created": "{name} creouno o {date}",
"status.history.edited": "{name} editouno o {date}",
"status.load_more": "Cargar máis",
@@ -800,16 +814,14 @@
"status.reblogs.empty": "Aínda ninguén promoveu esta publicación. Cando alguén o faga, amosarase aquí.",
"status.redraft": "Eliminar e reescribir",
"status.remove_bookmark": "Eliminar marcador",
+ "status.replied_in_thread": "Respondeu nun fío",
"status.replied_to": "Respondeu a {name}",
"status.reply": "Responder",
"status.replyAll": "Responder ao tema",
"status.report": "Denunciar @{name}",
"status.sensitive_warning": "Contido sensíbel",
"status.share": "Compartir",
- "status.show_filter_reason": "Mostrar igualmente",
- "status.show_less": "Amosar menos",
"status.show_less_all": "Amosar menos para todos",
- "status.show_more": "Amosar máis",
"status.show_more_all": "Amosar máis para todos",
"status.show_original": "Mostrar o orixinal",
"status.title.with_attachments": "{user} publicou {attachmentCount, plural, one {un anexo} other {{attachmentCount} anexos}}",
@@ -828,13 +840,8 @@
"time_remaining.minutes": "Remata en {number, plural, one {# minuto} other {# minutos}}",
"time_remaining.moments": "A piques de rematar",
"time_remaining.seconds": "Remata en {number, plural, one {# segundo} other {# segundos}}",
- "timeline_hint.remote_resource_not_displayed": "Non se mostran {resource} desde outros servidores.",
- "timeline_hint.resources.followers": "Seguidoras",
- "timeline_hint.resources.follows": "Seguindo",
- "timeline_hint.resources.replies": "Algunhas respostas",
- "timeline_hint.resources.statuses": "Publicacións antigas",
"trends.counter_by_accounts": "{count, plural, one {{counter} persoa} other {{counter} persoas}} {days, plural, one {no último día} other {nos {days} últimos días}}",
- "trends.trending_now": "Tendencias actuais",
+ "trends.trending_now": "Temas populares",
"ui.beforeunload": "O borrador perderase se saes de Mastodon.",
"units.short.billion": "{count}B",
"units.short.million": "{count}M",
diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json
index 4af37bce856525..80d9f054ccee81 100644
--- a/app/javascript/mastodon/locales/he.json
+++ b/app/javascript/mastodon/locales/he.json
@@ -19,7 +19,6 @@
"account.block_domain": "חסמו את קהילת {domain}",
"account.block_short": "לחסום",
"account.blocked": "לחסום",
- "account.browse_more_on_origin_server": "ראה יותר בפרופיל המקורי",
"account.cancel_follow_request": "משיכת בקשת מעקב",
"account.copy": "להעתיק קישור לפרופיל",
"account.direct": "הודעה פרטית אל @{name}",
@@ -98,6 +97,8 @@
"block_modal.title": "לחסום משתמש?",
"block_modal.you_wont_see_mentions": "לא תראה הודעות שמאזכרות אותם.",
"boost_modal.combo": "ניתן להקיש {combo} כדי לדלג בפעם הבאה",
+ "boost_modal.reblog": "להדהד הודעה?",
+ "boost_modal.undo_reblog": "להסיר הדהוד?",
"bundle_column_error.copy_stacktrace": "העתקת הודעת שגיאה",
"bundle_column_error.error.body": "הדף המבוקש אינו זמין. זה עשוי להיות באג בקוד או בעייה בתאימות הדפדפן.",
"bundle_column_error.error.title": "הו, לא!",
@@ -193,6 +194,8 @@
"confirmations.unfollow.confirm": "הפסקת מעקב",
"confirmations.unfollow.message": "להפסיק מעקב אחרי {name}?",
"confirmations.unfollow.title": "לבטל מעקב אחר המשתמש.ת?",
+ "content_warning.hide": "הסתרת חיצרוץ",
+ "content_warning.show": "להציג בכל זאת",
"conversation.delete": "מחיקת שיחה",
"conversation.mark_as_read": "סמן כנקרא",
"conversation.open": "צפו בשיחה",
@@ -284,15 +287,15 @@
"explore.trending_links": "חדשות",
"explore.trending_statuses": "הודעות",
"explore.trending_tags": "תגיות",
- "filter_modal.added.context_mismatch_explanation": "קטגוריית הסנן הזאת לא חלה על ההקשר שממנו הגעת אל ההודעה הזו. אם תרצה/י שההודעה תסונן גם בהקשר זה, תצטרך/י לערוך את הסנן.",
+ "filter_modal.added.context_mismatch_explanation": "קטגוריית המסנן הזאת לא חלה על ההקשר שממנו הגעת אל ההודעה הזו. אם תרצה/י שההודעה תסונן גם בהקשר זה, תצטרך/י לערוך את הסנן.",
"filter_modal.added.context_mismatch_title": "אין התאמה להקשר!",
"filter_modal.added.expired_explanation": "פג תוקפה של קטגוריית הסינון הזו, יש צורך לשנות את תאריך התפוגה כדי שהסינון יוחל.",
- "filter_modal.added.expired_title": "פג תוקף הפילטר!",
+ "filter_modal.added.expired_title": "פג תוקף המסנן!",
"filter_modal.added.review_and_configure": "לסקירה והתאמה מתקדמת של קטגוריית הסינון הזו, לכו ל{settings_link}.",
"filter_modal.added.review_and_configure_title": "אפשרויות סינון",
"filter_modal.added.settings_link": "דף הגדרות",
"filter_modal.added.short_explanation": "ההודעה הזו הוספה לקטגוריית הסינון הזו: {title}.",
- "filter_modal.added.title": "הפילטר הוסף!",
+ "filter_modal.added.title": "המסנן הוסף!",
"filter_modal.select_filter.context_mismatch": "לא חל בהקשר זה",
"filter_modal.select_filter.expired": "פג התוקף",
"filter_modal.select_filter.prompt_new": "קטגוריה חדשה {name}",
@@ -300,6 +303,7 @@
"filter_modal.select_filter.subtitle": "שימוש בקטגורייה קיימת או יצירת אחת חדשה",
"filter_modal.select_filter.title": "סינון ההודעה הזו",
"filter_modal.title.status": "סנן הודעה",
+ "filter_warning.matches_filter": "תואם לסנן “{title}”",
"filtered_notifications_banner.pending_requests": "{count, plural,=0 {אין בקשות ממשתמשים }one {בקשה אחת ממישהו/מישהי }two {יש בקשותיים ממשתמשים }other {יש # בקשות ממשתמשים }}שאולי מוכרים לך",
"filtered_notifications_banner.title": "התראות מסוננות",
"firehose.all": "הכל",
@@ -349,6 +353,14 @@
"hashtag.follow": "לעקוב אחרי תגית",
"hashtag.unfollow": "להפסיק לעקוב אחרי תגית",
"hashtags.and_other": "…{count, plural,other {ועוד #}}",
+ "hints.profiles.followers_may_be_missing": "יתכן כי עוקבים של פרופיל זה חסרים.",
+ "hints.profiles.follows_may_be_missing": "יתכן כי נעקבים של פרופיל זה חסרים.",
+ "hints.profiles.posts_may_be_missing": "יתכן כי פרסומים של פרופיל זה חסרים.",
+ "hints.profiles.see_more_followers": "צפיה בעוד עוקבים משרת {domain}",
+ "hints.profiles.see_more_follows": "צפיה בעוד נעקבים בשרת {domain}",
+ "hints.profiles.see_more_posts": "צפיה בעוד פרסומים בשרת {domain}",
+ "hints.threads.replies_may_be_missing": "תגובות משרתים אחרים עלולות להיות חסרות.",
+ "hints.threads.see_more": "צפיה בעוד תגובות משרת {domain}",
"home.column_settings.show_reblogs": "הצגת הדהודים",
"home.column_settings.show_replies": "הצגת תגובות",
"home.hide_announcements": "הסתר הכרזות",
@@ -356,8 +368,17 @@
"home.pending_critical_update.link": "צפיה בעדכונים",
"home.pending_critical_update.title": "יצא עדכון אבטחה חשוב!",
"home.show_announcements": "הצג הכרזות",
+ "ignore_notifications_modal.disclaimer": "מסטודון אינו יכול ליידע משתמשים שהתעלמתם מהתראותיהם. התעלמות מהתראות לא תחסום את ההודעות עצמן מלהשלח.",
+ "ignore_notifications_modal.filter_instead": "לסנן במקום",
"ignore_notifications_modal.filter_to_act_users": "עדיין ביכולתך לקבל, לדחות ולדווח על משתמשים אחרים",
+ "ignore_notifications_modal.filter_to_avoid_confusion": "סינון מסייע למניעת בלבולים אפשריים",
"ignore_notifications_modal.filter_to_review_separately": "ניתן לסקור התראות מפולטרות בנפרד",
+ "ignore_notifications_modal.ignore": "להתעלם מהתראות",
+ "ignore_notifications_modal.limited_accounts_title": "להתעלם מהתראות מחשבונות תחת פיקוח?",
+ "ignore_notifications_modal.new_accounts_title": "להתעלם מהתראות מחשבונות חדשים?",
+ "ignore_notifications_modal.not_followers_title": "להתעלם מהתראות מא.נשים שאינם עוקביך?",
+ "ignore_notifications_modal.not_following_title": "להתעלם מהתראות מא.נשים שאינם נעקביך?",
+ "ignore_notifications_modal.private_mentions_title": "להתעלם מהתראות מאיזכורים פרטיים?",
"interaction_modal.description.favourite": "עם חשבון מסטודון, ניתן לחבב את ההודעה כדי לומר למחבר/ת שהערכת את תוכנו או כדי לשמור אותו לקריאה בעתיד.",
"interaction_modal.description.follow": "עם חשבון מסטודון, ניתן לעקוב אחרי {name} כדי לקבל את הפוסטים שלו/ה בפיד הבית.",
"interaction_modal.description.reblog": "עם חשבון מסטודון, ניתן להדהד את החצרוץ ולשתף עם עוקבים.",
@@ -436,7 +457,7 @@
"lists.subheading": "הרשימות שלך",
"load_pending": "{count, plural, one {# פריט חדש} other {# פריטים חדשים}}",
"loading_indicator.label": "בטעינה…",
- "media_gallery.toggle_visible": "{number, plural, one {להסתיר תמונה} two {להסתיר תמונותיים} many {להסתיר תמונות} other {להסתיר תמונות}}",
+ "media_gallery.hide": "להסתיר",
"moved_to_account_banner.text": "חשבונך {disabledAccount} אינו פעיל כרגע עקב מעבר ל{movedToAccount}.",
"mute_modal.hide_from_notifications": "להסתיר מהתראות",
"mute_modal.hide_options": "הסתרת אפשרויות",
@@ -447,9 +468,8 @@
"mute_modal.title": "להשתיק משתמש?",
"mute_modal.you_wont_see_mentions": "לא תראה הודעות שמאזכרות אותם.",
"mute_modal.you_wont_see_posts": "הם יכולים לראות את הודעותכם, אבל אתם לא תוכלו לראות את שלהם.",
- "name_and_others": "{name} ועוד {count, plural,one {אחד נוסף}other {# נוספים}}",
- "name_and_others_with_link": "{name} ועוד
{count, plural,one {אחד נוסף}other {# נוספים}}",
"navigation_bar.about": "אודות",
+ "navigation_bar.administration": "ניהול",
"navigation_bar.advanced_interface": "פתח במנשק ווב מתקדם",
"navigation_bar.blocks": "משתמשים חסומים",
"navigation_bar.bookmarks": "סימניות",
@@ -466,6 +486,7 @@
"navigation_bar.follows_and_followers": "נעקבים ועוקבים",
"navigation_bar.lists": "רשימות",
"navigation_bar.logout": "התנתקות",
+ "navigation_bar.moderation": "פיקוח",
"navigation_bar.mutes": "משתמשים בהשתקה",
"navigation_bar.opened_in_classic_interface": "הודעות, חשבונות ושאר עמודי רשת יפתחו כברירת מחדל בדפדפן רשת קלאסי.",
"navigation_bar.personal": "אישי",
@@ -481,9 +502,13 @@
"notification.admin.report_statuses": "{name} דווחו על {target} בגין {category}",
"notification.admin.report_statuses_other": "{name} דיווח.ה על {target}",
"notification.admin.sign_up": "{name} נרשמו",
+ "notification.admin.sign_up.name_and_others": "{name} ועוד {count, plural,one {אחד אחר}other {# אחרים}} נרשמו",
"notification.favourite": "הודעתך חובבה על ידי {name}",
+ "notification.favourite.name_and_others_with_link": "{name} ועוד
{count, plural,one {אחד נוסף}other {# נוספים}} חיבבו את הודעתך",
"notification.follow": "{name} במעקב אחרייך",
+ "notification.follow.name_and_others": "{name} ועוד {count, plural,one {אחד אחר}other {# אחרים}} עקבו אחריך",
"notification.follow_request": "{name} ביקשו לעקוב אחריך",
+ "notification.follow_request.name_and_others": "{name} ועוד {count, plural,one {אחד אחר}other {# אחרים}} ביקשו לעקוב אחריך",
"notification.label.mention": "אזכור",
"notification.label.private_mention": "אזכור פרטי",
"notification.label.private_reply": "תשובה בפרטי",
@@ -501,6 +526,7 @@
"notification.own_poll": "הסקר שלך הסתיים",
"notification.poll": "סקר שהצבעת בו הסתיים",
"notification.reblog": "הודעתך הודהדה על ידי {name}",
+ "notification.reblog.name_and_others_with_link": "{name} ועוד
{count, plural,one {אחד נוסף}other {# נוספים}} הדהדו את הודעתך",
"notification.relationships_severance_event": "אבד הקשר עם {name}",
"notification.relationships_severance_event.account_suspension": "מנהל.ת משרת {from} השע(ת)ה את {target}, ולפיכך לא תעודכנו יותר על ידם ולא תוכלו להיות איתם בקשר.",
"notification.relationships_severance_event.domain_block": "מנהל.ת מאתר {from} חסמו את {target} ובכלל זה {followersCount} מעוקביך וגם {followingCount, plural, one {חשבון אחד} two {שני חשבונות} many {# חשבונות} other {# חשבונות}} מבין נעקביך.",
@@ -509,13 +535,24 @@
"notification.status": "{name} הרגע פרסמו",
"notification.update": "{name} ערכו הודעה",
"notification_requests.accept": "לקבל",
+ "notification_requests.accept_multiple": "{count, plural,one {לאשר קבלת בקשה…}other {לאשר קבלת # בקשות…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural,one {לאשר קבלת בקשה}other {לאשר קבלת בקשות}}",
+ "notification_requests.confirm_accept_multiple.message": "אתם עומדים לאשר {count, plural,one {בקשת התראה אחת} other {# בקשות התראה}}. להמשיך?",
+ "notification_requests.confirm_accept_multiple.title": "לקבל בקשות התראה?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural,one {לדחות בקשה}other {לדחות בקשות}} לקבלת התראה",
+ "notification_requests.confirm_dismiss_multiple.message": "אתם עומדים לדחות {count, plural,one {בקשת התראה}other {# בקשות התראה}}. לא תוכלו למצוא {count, plural,one {אותה}other {אותן}} בקלות אחר כך. להמשיך?",
+ "notification_requests.confirm_dismiss_multiple.title": "לדחות בקשות התראה?",
"notification_requests.dismiss": "לבטל",
+ "notification_requests.dismiss_multiple": "{count, plural,one {לדחות בקשה…}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": "הגדלה למקסימום",
- "notification_requests.minimize_banner": "להקטין את כותרת ההודעות המפולטרות",
+ "notification_requests.minimize_banner": "להקטין את כותרת ההודעות המסוננות",
"notification_requests.notifications_from": "התראות מ־ {name}",
"notification_requests.title": "התראות מסוננות",
+ "notification_requests.view": "הצגת ההתראות",
"notifications.clear": "הסרת התראות",
"notifications.clear_confirmation": "להסיר את כל ההתראות לצמיתות ? ",
"notifications.clear_title": "לנקות התראות?",
@@ -552,6 +589,12 @@
"notifications.permission_denied": "לא ניתן להציג התראות מסך כיוון כיוון שהרשאות דפדפן נשללו בעבר",
"notifications.permission_denied_alert": "לא ניתן לאפשר נוטיפיקציות מסך שכן הדפדפן סורב הרשאה בעבר",
"notifications.permission_required": "לא ניתן לאפשר נוטיפיקציות מסך כיוון שהרשאה דרושה לא ניתנה.",
+ "notifications.policy.accept": "אישור",
+ "notifications.policy.accept_hint": "הצגה בהתראות",
+ "notifications.policy.drop": "להתעלם",
+ "notifications.policy.drop_hint": "שליחה אל מצולות הנשיה, ולא יוודעו אודותיה לעולם",
+ "notifications.policy.filter": "מסנן",
+ "notifications.policy.filter_hint": "שליחה לתיבה נכנסת מסוננת",
"notifications.policy.filter_limited_accounts_hint": "הוגבל על ידי מנהלי הדיונים",
"notifications.policy.filter_limited_accounts_title": "חשבון מוגבל",
"notifications.policy.filter_new_accounts.hint": "נוצר {days, plural,one {ביום האחרון} two {ביומיים האחרונים} other {ב־# הימים האחרונים}}",
@@ -562,6 +605,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": "כדי לקבל התראות גם כאשר מסטודון סגור יש לאפשר התראות מסך. ניתן לשלוט בדיוק איזה סוג של אינטראקציות יביא להתראות מסך דרך כפתור ה- {icon} מרגע שהן מאופשרות.",
"notifications_permission_banner.title": "לעולם אל תחמיץ דבר",
@@ -736,6 +780,7 @@
"status.bookmark": "סימניה",
"status.cancel_reblog_private": "הסרת הדהוד",
"status.cannot_reblog": "לא ניתן להדהד חצרוץ זה",
+ "status.continued_thread": "שרשור מתמשך",
"status.copy": "העתק/י קישור להודעה זו",
"status.delete": "מחיקה",
"status.detailed_status": "תצוגת שיחה מפורטת",
@@ -748,8 +793,6 @@
"status.favourite": "חיבוב",
"status.favourites": "{count, plural, one {חיבוב אחד} two {זוג חיבובים} other {# חיבובים}}",
"status.filter": "סנן הודעה זו",
- "status.filtered": "סונן",
- "status.hide": "הסתרת חיצרוץ",
"status.history.created": "{name} יצר/ה {date}",
"status.history.edited": "{name} ערך/ה {date}",
"status.load_more": "עוד",
@@ -771,16 +814,14 @@
"status.reblogs.empty": "עוד לא הידהדו את ההודעה הזו. כאשר זה יקרה, ההדהודים יופיעו כאן.",
"status.redraft": "מחיקה ועריכה מחדש",
"status.remove_bookmark": "הסרת סימניה",
+ "status.replied_in_thread": "תגובה לשרשור",
"status.replied_to": "בתגובה לחשבון {name}",
"status.reply": "תגובה",
"status.replyAll": "תגובה לשרשור",
"status.report": "דיווח על @{name}",
"status.sensitive_warning": "תוכן רגיש",
"status.share": "שיתוף",
- "status.show_filter_reason": "הראה בכל זאת",
- "status.show_less": "הראה פחות",
"status.show_less_all": "להציג פחות מהכל",
- "status.show_more": "הראה יותר",
"status.show_more_all": "להציג יותר מהכל",
"status.show_original": "הצגת מקור",
"status.title.with_attachments": "{user} פרסם.ה {attachmentCount, plural, one {צרופה} other {{attachmentCount} צרופות}}",
@@ -799,10 +840,6 @@
"time_remaining.minutes": "נותרו {number, plural, one {# דקה} other {# דקות}}",
"time_remaining.moments": "רגעים נותרו",
"time_remaining.seconds": "נותרו {number, plural, one {# שניה} other {# שניות}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} משרתים אחרים לא מוצגים.",
- "timeline_hint.resources.followers": "עוקבים",
- "timeline_hint.resources.follows": "נעקבים",
- "timeline_hint.resources.statuses": "הודעות ישנות יותר",
"trends.counter_by_accounts": "{count, plural, one {אדם אחד} other {{count} א.נשים}} {days, plural, one {מאז אתמול} two {ביומיים האחרונים} other {במשך {days} הימים האחרונים}}",
"trends.trending_now": "נושאים חמים",
"ui.beforeunload": "הטיוטא תאבד אם תעזבו את מסטודון.",
diff --git a/app/javascript/mastodon/locales/hi.json b/app/javascript/mastodon/locales/hi.json
index 0d2a9065692d50..58b04a20cd363f 100644
--- a/app/javascript/mastodon/locales/hi.json
+++ b/app/javascript/mastodon/locales/hi.json
@@ -18,7 +18,6 @@
"account.block_domain": "{domain} के सारी चीज़े छुपाएं",
"account.block_short": "ब्लॉक किया गया",
"account.blocked": "ब्लॉक",
- "account.browse_more_on_origin_server": "मूल प्रोफ़ाइल पर अधिक ब्राउज़ करें",
"account.cancel_follow_request": "फॉलो रिक्वेस्ट वापस लें",
"account.copy": "प्रोफाइल पर लिंक कॉपी करें",
"account.direct": "निजि तरीके से उल्लेख करे @{name}",
@@ -368,6 +367,7 @@
"lists.replies_policy.none": "कोई नहीं",
"lists.replies_policy.title": "इसके जवाब दिखाएं:",
"lists.subheading": "आपकी सूचियाँ",
+ "media_gallery.hide": "छिपाएं",
"navigation_bar.about": "विवरण",
"navigation_bar.blocks": "ब्लॉक्ड यूज़र्स",
"navigation_bar.bookmarks": "पुस्तकचिह्न:",
@@ -518,13 +518,10 @@
"status.reply": "जवाब",
"status.sensitive_warning": "संवेदनशील विषय वस्तु",
"status.share": "शेयर करें",
- "status.show_less": "कम दिखाएँ",
- "status.show_more": "और दिखाएँ",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
"status.translated_from_with": "{provider} का उपयोग करते हुये {lang} से अनुवादित किया गया",
"tabs_bar.home": "होम",
"tabs_bar.notifications": "सूचनाएँ",
- "timeline_hint.resources.statuses": "Older toots",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"upload_form.audio_description": "Describe for people with hearing loss",
"upload_form.description": "Describe for the visually impaired",
diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json
index 7ecab80a2ada3e..a44a4b0a7720ad 100644
--- a/app/javascript/mastodon/locales/hr.json
+++ b/app/javascript/mastodon/locales/hr.json
@@ -19,7 +19,6 @@
"account.block_domain": "Blokiraj domenu {domain}",
"account.block_short": "Blokiraj",
"account.blocked": "Blokirano",
- "account.browse_more_on_origin_server": "Pogledajte više na izvornom profilu",
"account.cancel_follow_request": "Withdraw follow request",
"account.copy": "Kopiraj vezu u profil",
"account.direct": "Privatno spomeni @{name}",
@@ -312,7 +311,6 @@
"lists.replies_policy.none": "Nitko",
"lists.search": "Traži među praćenim ljudima",
"lists.subheading": "Vaše liste",
- "media_gallery.toggle_visible": "Sakrij {number, plural, one {sliku} other {slike}}",
"navigation_bar.about": "O aplikaciji",
"navigation_bar.advanced_interface": "Otvori u naprednom web sučelju",
"navigation_bar.blocks": "Blokirani korisnici",
@@ -462,8 +460,6 @@
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "Umetni",
"status.filter": "Filtriraj ovu objavu",
- "status.filtered": "Filtrirano",
- "status.hide": "Sakrij objavu",
"status.history.created": "Kreirao/la {name} prije {date}",
"status.history.edited": "Uredio/la {name} prije {date}",
"status.load_more": "Učitaj više",
@@ -489,9 +485,6 @@
"status.report": "Prijavi @{name}",
"status.sensitive_warning": "Osjetljiv sadržaj",
"status.share": "Podijeli",
- "status.show_filter_reason": "Svejedno prikaži",
- "status.show_less": "Pokaži manje",
- "status.show_more": "Pokaži više",
"status.show_original": "Prikaži original",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
"status.translate": "Prevedi",
@@ -506,10 +499,6 @@
"time_remaining.hours": "{number, plural, one {preostao # sat} few {preostalo # sata} other {preostalo # sati}}",
"time_remaining.minutes": "{number, plural, one {preostala # minuta} few {preostale # minute} other {preostalo # minuta}}",
"time_remaining.seconds": "{number, plural, one {preostala # sekunda} few {preostale # sekunde} other {preostalo # sekundi}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} s drugih poslužitelja nisu prikazani.",
- "timeline_hint.resources.followers": "Pratitelji",
- "timeline_hint.resources.follows": "Praćenja",
- "timeline_hint.resources.statuses": "Stariji tootovi",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"trends.trending_now": "Popularno",
"ui.beforeunload": "Vaša skica bit će izgubljena ako napustite Mastodon.",
diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json
index 08a79e50c2acc3..1e4e02cb9de9a3 100644
--- a/app/javascript/mastodon/locales/hu.json
+++ b/app/javascript/mastodon/locales/hu.json
@@ -19,7 +19,6 @@
"account.block_domain": "Domain letiltása: {domain}",
"account.block_short": "Letiltás",
"account.blocked": "Letiltva",
- "account.browse_more_on_origin_server": "További böngészés az eredeti profilon",
"account.cancel_follow_request": "Követési kérés visszavonása",
"account.copy": "Hivatkozás másolása a profilba",
"account.direct": "@{name} személyes említése",
@@ -98,6 +97,8 @@
"block_modal.title": "Letiltsuk a felhasználót?",
"block_modal.you_wont_see_mentions": "Nem látsz majd őt említő bejegyzéseket.",
"boost_modal.combo": "Hogy átugord ezt következő alkalommal, használd {combo}",
+ "boost_modal.reblog": "Bejegyzés megtolása?",
+ "boost_modal.undo_reblog": "Megtolás visszavonása?",
"bundle_column_error.copy_stacktrace": "Hibajelentés másolása",
"bundle_column_error.error.body": "A kért lap nem jeleníthető meg. Ez lehet, hogy kódhiba, vagy böngészőkompatibitási hiba.",
"bundle_column_error.error.title": "Jaj ne!",
@@ -193,6 +194,8 @@
"confirmations.unfollow.confirm": "Követés visszavonása",
"confirmations.unfollow.message": "Biztos, hogy vissza szeretnéd vonni {name} követését?",
"confirmations.unfollow.title": "Megszünteted a felhasználó követését?",
+ "content_warning.hide": "Bejegyzés elrejtése",
+ "content_warning.show": "Megjelenítés mindenképp",
"conversation.delete": "Beszélgetés törlése",
"conversation.mark_as_read": "Megjelölés olvasottként",
"conversation.open": "Beszélgetés megtekintése",
@@ -300,6 +303,7 @@
"filter_modal.select_filter.subtitle": "Válassz egy meglévő kategóriát, vagy hozz létre egy újat",
"filter_modal.select_filter.title": "E bejegyzés szűrése",
"filter_modal.title.status": "Egy bejegyzés szűrése",
+ "filter_warning.matches_filter": "Megfelel a szűrőnek: „{title}”",
"filtered_notifications_banner.pending_requests": "{count, plural, =0 {senkitől} one {egy valószínűleg ismerős személytől} other {# valószínűleg ismerős személytől}}",
"filtered_notifications_banner.title": "Szűrt értesítések",
"firehose.all": "Összes",
@@ -349,6 +353,14 @@
"hashtag.follow": "Hashtag követése",
"hashtag.unfollow": "Hashtag követésének megszüntetése",
"hashtags.and_other": "…és {count, plural, other {# további}}",
+ "hints.profiles.followers_may_be_missing": "A profil követői lehet, hogy hiányoznak.",
+ "hints.profiles.follows_may_be_missing": "A profil követései lehet, hogy hiányoznak.",
+ "hints.profiles.posts_may_be_missing": "A profil egyes bejegyzései lehet, hogy hiányoznak.",
+ "hints.profiles.see_more_followers": "További követők megtekintése itt: {domain}",
+ "hints.profiles.see_more_follows": "További követések megtekintése itt: {domain}",
+ "hints.profiles.see_more_posts": "További bejegyzések megtekintése itt: {domain}",
+ "hints.threads.replies_may_be_missing": "A más kiszolgálókról érkező válaszok lehet, hogy hiányoznak.",
+ "hints.threads.see_more": "További válaszok megtekintése itt: {domain}",
"home.column_settings.show_reblogs": "Megtolások megjelenítése",
"home.column_settings.show_replies": "Válaszok megjelenítése",
"home.hide_announcements": "Közlemények elrejtése",
@@ -358,7 +370,7 @@
"home.show_announcements": "Közlemények megjelenítése",
"ignore_notifications_modal.disclaimer": "A Mastodon nem tudja értesíteni azokat a felhasználókat, akiknek figyelmen kívül hagytad az értesítéseit. Az értesítések figyelmen kívül hagyása nem állítja meg az üzenetek elküldését.",
"ignore_notifications_modal.filter_instead": "Inkább szűrés",
- "ignore_notifications_modal.filter_to_act_users": "Továbbra is el tudja fogadni, el tudja utasítani vagy jelenteni tudja a felhasználókat",
+ "ignore_notifications_modal.filter_to_act_users": "Továbbra is el tudod fogadni, el tudod utasítani vagy tudod jelenteni a felhasználókat",
"ignore_notifications_modal.filter_to_avoid_confusion": "A szűrés segít elkerülni a lehetséges félreértéseket",
"ignore_notifications_modal.filter_to_review_separately": "A szűrt értesítések külön tekinthetők át",
"ignore_notifications_modal.ignore": "Értesítések figyelmen kívül hagyása",
@@ -445,7 +457,7 @@
"lists.subheading": "Saját listák",
"load_pending": "{count, plural, one {# új elem} other {# új elem}}",
"loading_indicator.label": "Betöltés…",
- "media_gallery.toggle_visible": "{number, plural, one {Kép elrejtése} other {Képek elrejtése}}",
+ "media_gallery.hide": "Elrejtés",
"moved_to_account_banner.text": "A(z) {disabledAccount} fiókod jelenleg le van tiltva, mert átköltöztél ide: {movedToAccount}.",
"mute_modal.hide_from_notifications": "Elrejtés az értesítések közül",
"mute_modal.hide_options": "Beállítások elrejtése",
@@ -456,9 +468,8 @@
"mute_modal.title": "Elnémítsuk a felhasználót?",
"mute_modal.you_wont_see_mentions": "Nem látsz majd őt említő bejegyzéseket.",
"mute_modal.you_wont_see_posts": "Továbbra is látni fogja a bejegyzéseidet, de te nem fogod látni az övéit.",
- "name_and_others": "{name} és {count, plural, one {# másik} other {# másik}}",
- "name_and_others_with_link": "{name} és
{count, plural, one {# másik} other {# másik}}",
"navigation_bar.about": "Névjegy",
+ "navigation_bar.administration": "Adminisztráció",
"navigation_bar.advanced_interface": "Megnyitás a speciális webes felületben",
"navigation_bar.blocks": "Letiltott felhasználók",
"navigation_bar.bookmarks": "Könyvjelzők",
@@ -475,6 +486,7 @@
"navigation_bar.follows_and_followers": "Követések és követők",
"navigation_bar.lists": "Listák",
"navigation_bar.logout": "Kijelentkezés",
+ "navigation_bar.moderation": "Moderáció",
"navigation_bar.mutes": "Némított felhasználók",
"navigation_bar.opened_in_classic_interface": "A bejegyzések, fiókok és más speciális oldalak alapértelmezés szerint a klasszikus webes felületen nyílnak meg.",
"navigation_bar.personal": "Személyes",
@@ -490,9 +502,13 @@
"notification.admin.report_statuses": "{name} jelentette: {target}, ezért: {category}",
"notification.admin.report_statuses_other": "{name} jelentette: {target}",
"notification.admin.sign_up": "{name} regisztrált",
+ "notification.admin.sign_up.name_and_others": "{name} és {count, plural, one {# másik} other {# másik}} regisztrált",
"notification.favourite": "{name} kedvencnek jelölte a bejegyzésedet",
+ "notification.favourite.name_and_others_with_link": "{name} és
{count, plural, one {# másik} other {# másik}} kedvencnek jelölte a bejegyzésedet",
"notification.follow": "{name} követ téged",
+ "notification.follow.name_and_others": "{name} és {count, plural, one {# másik} other {# másik}} követni kezdett",
"notification.follow_request": "{name} követni szeretne téged",
+ "notification.follow_request.name_and_others": "{name} és {count, plural, one {# másik} other {# másik}} kérte, hogy követhessen",
"notification.label.mention": "Említés",
"notification.label.private_mention": "Privát említés",
"notification.label.private_reply": "Privát válasz",
@@ -510,6 +526,7 @@
"notification.own_poll": "A szavazásod véget ért",
"notification.poll": "Véget ért egy szavazás, melyben részt vettél",
"notification.reblog": "{name} megtolta a bejegyzésedet",
+ "notification.reblog.name_and_others_with_link": "{name} és
{count, plural, one {# másik} other {# másik}} megtolta a bejegyzésedet",
"notification.relationships_severance_event": "Elvesztek a kapcsolatok vele: {name}",
"notification.relationships_severance_event.account_suspension": "Egy admin a(z) {from} kiszolgálóról felfüggesztette {target} fiókját, ami azt jelenti, hogy mostantól nem fogsz róla értesítést kapni, és nem fogsz tudni vele kapcsolatba lépni.",
"notification.relationships_severance_event.domain_block": "Egy admin a(z) {from} kiszolgálón letiltotta {target} domaint, beleértve {followersCount} követőt és {followingCount, plural, one {#} other {#}} követett fiókot.",
@@ -518,19 +535,17 @@
"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.accept_multiple": "{count, plural, one {# kérés elfogadása…} other {# kérés elfogadása…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Kérés elfogadása} other {Kérések elfogadása}}",
+ "notification_requests.confirm_accept_multiple.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_multiple.title": "Értesítési kérések elfogadása?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Kérés elvetése} other {Kérések elvetése}}",
+ "notification_requests.confirm_dismiss_multiple.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_multiple.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.dismiss_multiple": "{count, plural, one {# kérés elvetése…} other {# kérés elvetése…}}",
+ "notification_requests.edit_selection": "Szerkesztés",
+ "notification_requests.exit_selection": "Kész",
"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",
@@ -765,6 +780,7 @@
"status.bookmark": "Könyvjelzőzés",
"status.cancel_reblog_private": "Megtolás visszavonása",
"status.cannot_reblog": "Ezt a bejegyzést nem lehet megtolni",
+ "status.continued_thread": "Folytatott szál",
"status.copy": "Link másolása bejegyzésbe",
"status.delete": "Törlés",
"status.detailed_status": "Részletes beszélgetési nézet",
@@ -777,8 +793,6 @@
"status.favourite": "Kedvenc",
"status.favourites": "{count, plural, one {kedvenc} other {kedvenc}}",
"status.filter": "E bejegyzés szűrése",
- "status.filtered": "Megszűrt",
- "status.hide": "Bejegyzés elrejtése",
"status.history.created": "{name} létrehozta: {date}",
"status.history.edited": "{name} szerkesztette: {date}",
"status.load_more": "Többet",
@@ -800,16 +814,14 @@
"status.reblogs.empty": "Senki sem tolta még meg ezt a bejegyzést. Ha valaki megteszi, itt fog megjelenni.",
"status.redraft": "Törlés és újraírás",
"status.remove_bookmark": "Könyvjelző eltávolítása",
+ "status.replied_in_thread": "Válaszolva a szálban",
"status.replied_to": "Megválaszolva {name} számára",
"status.reply": "Válasz",
"status.replyAll": "Válasz a beszélgetésre",
"status.report": "@{name} bejelentése",
"status.sensitive_warning": "Kényes tartalom",
"status.share": "Megosztás",
- "status.show_filter_reason": "Megjelenítés mindenképp",
- "status.show_less": "Kevesebb megjelenítése",
"status.show_less_all": "Kevesebbet mindenhol",
- "status.show_more": "Többet",
"status.show_more_all": "Többet mindenhol",
"status.show_original": "Eredeti megjelenítése",
"status.title.with_attachments": "{user} {attachmentCount, plural, one {mellékletet} other {{attachmentCount} mellékletet}} küldött be.",
@@ -828,11 +840,6 @@
"time_remaining.minutes": "{number, plural, one {# perc} other {# perc}} van hátra",
"time_remaining.moments": "Pillanatok vannak hátra",
"time_remaining.seconds": "{number, plural, one {# másodperc} other {# másodperc}} van hátra",
- "timeline_hint.remote_resource_not_displayed": "a más kiszolgálókról származó {resource} tartalmak nem jelennek meg.",
- "timeline_hint.resources.followers": "Követő",
- "timeline_hint.resources.follows": "Követett",
- "timeline_hint.resources.replies": "Néhány válasz",
- "timeline_hint.resources.statuses": "Régi bejegyzések",
"trends.counter_by_accounts": "{count, plural, one {{counter} ember} other {{counter} ember}} az elmúlt {days, plural,one {napban} other {{days} napban}}",
"trends.trending_now": "Most felkapott",
"ui.beforeunload": "A piszkozatod el fog veszni, ha elhagyod a Mastodont.",
diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json
index 98a40f56e8c7d2..d1475338fd81a1 100644
--- a/app/javascript/mastodon/locales/hy.json
+++ b/app/javascript/mastodon/locales/hy.json
@@ -14,7 +14,6 @@
"account.block_domain": "Թաքցնել ամէնը հետեւեալ տիրոյթից՝ {domain}",
"account.block_short": "Արգելափակել",
"account.blocked": "Արգելափակուած է",
- "account.browse_more_on_origin_server": "Դիտել աւելին իրական պրոֆիլում",
"account.cancel_follow_request": "Withdraw follow request",
"account.direct": "Մասնաւոր յիշատակում @{name}",
"account.disable_notifications": "Ծանուցումները անջատել @{name} գրառումների համար",
@@ -290,7 +289,6 @@
"lists.search": "Փնտրել քո հետեւած մարդկանց մէջ",
"lists.subheading": "Քո ցանկերը",
"load_pending": "{count, plural, one {# նոր նիւթ} other {# նոր նիւթ}}",
- "media_gallery.toggle_visible": "Ցուցադրել/թաքցնել",
"navigation_bar.about": "Մասին",
"navigation_bar.blocks": "Արգելափակուած օգտատէրեր",
"navigation_bar.bookmarks": "Էջանիշեր",
@@ -453,8 +451,6 @@
"status.embed": "Ներդնել",
"status.favourite": "Հավանել",
"status.filter": "Զտել այս գրառումը",
- "status.filtered": "Զտուած",
- "status.hide": "Թաքցնել գրառումը",
"status.history.created": "{name}-ը ստեղծել է՝ {date}",
"status.history.edited": "{name}-ը խմբագրել է՝ {date}",
"status.load_more": "Բեռնել աւելին",
@@ -479,10 +475,7 @@
"status.report": "Բողոքել @{name}֊ից",
"status.sensitive_warning": "Կասկածելի բովանդակութիւն",
"status.share": "Կիսուել",
- "status.show_filter_reason": "Ցոյց տալ բոլոր դէպքերում",
- "status.show_less": "Պակաս",
"status.show_less_all": "Թաքցնել բոլոր նախազգուշացնումները",
- "status.show_more": "Աւելին",
"status.show_more_all": "Ցուցադրել բոլոր նախազգուշացնումները",
"status.show_original": "Ցոյց տալ բնօրինակը",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
@@ -497,10 +490,6 @@
"time_remaining.minutes": "{number, plural, one {# րոպէ} other {# րոպէ}} անց",
"time_remaining.moments": "Մնացել է մի քանի վարկեան",
"time_remaining.seconds": "{number, plural, one {# վարկեան} other {# վարկեան}} անց",
- "timeline_hint.remote_resource_not_displayed": "{resource} այլ սպասարկիչներից չեն ցուցադրվել:",
- "timeline_hint.resources.followers": "Հետեւորդ",
- "timeline_hint.resources.follows": "Հետեւել",
- "timeline_hint.resources.statuses": "Հին գրառումներ",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"trends.trending_now": "Այժմ արդիական",
"ui.beforeunload": "Քո սեւագիրը կը կորի, եթէ լքես Մաստոդոնը։",
diff --git a/app/javascript/mastodon/locales/ia.json b/app/javascript/mastodon/locales/ia.json
index 3750fc82a8655a..9d7e3ff2c7c5cc 100644
--- a/app/javascript/mastodon/locales/ia.json
+++ b/app/javascript/mastodon/locales/ia.json
@@ -19,7 +19,6 @@
"account.block_domain": "Blocar dominio {domain}",
"account.block_short": "Blocar",
"account.blocked": "Blocate",
- "account.browse_more_on_origin_server": "Explorar plus sur le profilo original",
"account.cancel_follow_request": "Cancellar sequimento",
"account.copy": "Copiar ligamine a profilo",
"account.direct": "Mentionar privatemente @{name}",
@@ -98,6 +97,8 @@
"block_modal.title": "Blocar usator?",
"block_modal.you_wont_see_mentions": "Tu non videra le messages que mentiona iste persona.",
"boost_modal.combo": "Tu pote premer {combo} pro saltar isto le proxime vice",
+ "boost_modal.reblog": "Impulsar le message?",
+ "boost_modal.undo_reblog": "Cessar de impulsar le message?",
"bundle_column_error.copy_stacktrace": "Copiar reporto de error",
"bundle_column_error.error.body": "Le pagina requestate non pote esser visualisate. Pote esser a causa de un defecto in nostre codice o de un problema de compatibilitate del navigator.",
"bundle_column_error.error.title": "Oh, no!",
@@ -179,6 +180,7 @@
"confirmations.discard_edit_media.message": "Tu ha cambiamentos non salvate in le description o previsualisation del objecto multimedial. Abandonar los?",
"confirmations.edit.confirm": "Modificar",
"confirmations.edit.message": "Si tu modifica isto ora, le message in curso de composition essera perdite. Es tu secur de voler continuar?",
+ "confirmations.edit.title": "Superscriber le message?",
"confirmations.logout.confirm": "Clauder session",
"confirmations.logout.message": "Es tu secur que tu vole clauder le session?",
"confirmations.logout.title": "Clauder session?",
@@ -188,9 +190,12 @@
"confirmations.redraft.title": "Deler e rescriber le message?",
"confirmations.reply.confirm": "Responder",
"confirmations.reply.message": "Si tu responde ora, le message in curso de composition essera perdite. Es tu secur de voler continuar?",
+ "confirmations.reply.title": "Superscriber le message?",
"confirmations.unfollow.confirm": "Non plus sequer",
"confirmations.unfollow.message": "Es tu secur que tu vole cessar de sequer {name}?",
"confirmations.unfollow.title": "Cessar de sequer le usator?",
+ "content_warning.hide": "Celar le message",
+ "content_warning.show": "Monstrar in omne caso",
"conversation.delete": "Deler conversation",
"conversation.mark_as_read": "Marcar como legite",
"conversation.open": "Vider conversation",
@@ -298,6 +303,7 @@
"filter_modal.select_filter.subtitle": "Usa un categoria existente o crea un nove",
"filter_modal.select_filter.title": "Filtrar iste message",
"filter_modal.title.status": "Filtrar un message",
+ "filter_warning.matches_filter": "Corresponde al filtro “{title}”",
"filtered_notifications_banner.title": "Notificationes filtrate",
"firehose.all": "Toto",
"firehose.local": "Iste servitor",
@@ -346,6 +352,10 @@
"hashtag.follow": "Sequer hashtag",
"hashtag.unfollow": "Non sequer plus le hashtag",
"hashtags.and_other": "…e {count, plural, one {}other {# plus}}",
+ "hints.profiles.see_more_followers": "Vider plus de sequitores sur {domain}",
+ "hints.profiles.see_more_follows": "Vider plus de sequites sur {domain}",
+ "hints.profiles.see_more_posts": "Vider plus de messages sur {domain}",
+ "hints.threads.see_more": "Vider plus de responsas sur {domain}",
"home.column_settings.show_reblogs": "Monstrar impulsos",
"home.column_settings.show_replies": "Monstrar responsas",
"home.hide_announcements": "Celar annuncios",
@@ -353,6 +363,12 @@
"home.pending_critical_update.link": "Vider actualisationes",
"home.pending_critical_update.title": "Actualisation de securitate critic disponibile!",
"home.show_announcements": "Monstrar annuncios",
+ "ignore_notifications_modal.ignore": "Ignorar le notificationes",
+ "ignore_notifications_modal.limited_accounts_title": "Ignorar le notificationes de contos moderate?",
+ "ignore_notifications_modal.new_accounts_title": "Ignorar le notificationes de nove contos?",
+ "ignore_notifications_modal.not_followers_title": "Ignorar notificationes de personas qui non te seque?",
+ "ignore_notifications_modal.not_following_title": "Ignorar notificationes de personas que tu non seque?",
+ "ignore_notifications_modal.private_mentions_title": "Ignorar notificationes de mentiones private non requestate?",
"interaction_modal.description.favourite": "Con un conto sur Mastodon, tu pote marcar iste message como favorite pro informar le autor que tu lo apprecia e lo salva pro plus tarde.",
"interaction_modal.description.follow": "Con un conto sur Mastodon, tu pote sequer {name} e reciper su messages in tu fluxo de initio.",
"interaction_modal.description.reblog": "Con un conto sur Mastodon, tu pote impulsar iste message pro condivider lo con tu proprie sequitores.",
@@ -431,7 +447,7 @@
"lists.subheading": "Tu listas",
"load_pending": "{count, plural, one {# nove entrata} other {# nove entratas}}",
"loading_indicator.label": "Cargante…",
- "media_gallery.toggle_visible": "{number, plural, one {Celar imagine} other {Celar imagines}}",
+ "media_gallery.hide": "Celar",
"moved_to_account_banner.text": "Tu conto {disabledAccount} es actualmente disactivate perque tu ha cambiate de conto a {movedToAccount}.",
"mute_modal.hide_from_notifications": "Celar in notificationes",
"mute_modal.hide_options": "Celar optiones",
@@ -442,9 +458,8 @@
"mute_modal.title": "Silentiar le usator?",
"mute_modal.you_wont_see_mentions": "Tu non videra le messages que mentiona iste persona.",
"mute_modal.you_wont_see_posts": "Iste persona pote totevia vider tu messages, ma tu non videra le sues.",
- "name_and_others": "{name} e {count, plural, one {# altere} other {# alteres}}",
- "name_and_others_with_link": "{name} e
{count, plural, one {# altere} other {# alteres}}",
"navigation_bar.about": "A proposito",
+ "navigation_bar.administration": "Administration",
"navigation_bar.advanced_interface": "Aperir in le interfacie web avantiate",
"navigation_bar.blocks": "Usatores blocate",
"navigation_bar.bookmarks": "Marcapaginas",
@@ -461,6 +476,7 @@
"navigation_bar.follows_and_followers": "Sequites e sequitores",
"navigation_bar.lists": "Listas",
"navigation_bar.logout": "Clauder session",
+ "navigation_bar.moderation": "Moderation",
"navigation_bar.mutes": "Usatores silentiate",
"navigation_bar.opened_in_classic_interface": "Messages, contos e altere paginas specific es aperite per predefinition in le interfacie web classic.",
"navigation_bar.personal": "Personal",
@@ -471,6 +487,10 @@
"navigation_bar.security": "Securitate",
"not_signed_in_indicator.not_signed_in": "Es necessari aperir session pro acceder a iste ressource.",
"notification.admin.report": "{name} ha reportate {target}",
+ "notification.admin.report_account": "{name} ha reportate {count, plural, one {un message} other {# messages}} de {target} per {category}",
+ "notification.admin.report_account_other": "{name} ha reportate {count, plural, one {un message} other {# messages}} de {target}",
+ "notification.admin.report_statuses": "{name} ha reportate {target} pro {category}",
+ "notification.admin.report_statuses_other": "{name} ha reportate {target}",
"notification.admin.sign_up": "{name} se ha inscribite",
"notification.favourite": "{name} ha marcate tu message como favorite",
"notification.follow": "{name} te ha sequite",
@@ -490,6 +510,7 @@
"notification.moderation_warning.action_silence": "Tu conto ha essite limitate.",
"notification.moderation_warning.action_suspend": "Tu conto ha essite suspendite.",
"notification.own_poll": "Tu sondage ha finite",
+ "notification.poll": "Un sondage in le qual tu ha votate ha finite",
"notification.reblog": "{name} ha impulsate tu message",
"notification.relationships_severance_event": "Connexiones perdite con {name}",
"notification.relationships_severance_event.account_suspension": "Un administrator de {from} ha suspendiute {target}. Isto significa que tu non pote plus reciper actualisationes de iste persona o interager con ille.",
@@ -499,9 +520,14 @@
"notification.status": "{name} ha justo ora publicate",
"notification.update": "{name} ha modificate un message",
"notification_requests.accept": "Acceptar",
+ "notification_requests.confirm_accept_multiple.title": "Acceptar petitiones de notification?",
+ "notification_requests.confirm_dismiss_multiple.title": "Dimitter petitiones de notification?",
"notification_requests.dismiss": "Clauder",
+ "notification_requests.edit_selection": "Modificar",
+ "notification_requests.exit_selection": "Facite",
"notification_requests.notifications_from": "Notificationes de {name}",
"notification_requests.title": "Notificationes filtrate",
+ "notification_requests.view": "Vider notificationes",
"notifications.clear": "Rader notificationes",
"notifications.clear_confirmation": "Es tu secur que tu vole rader permanentemente tote tu notificationes?",
"notifications.clear_title": "Rader le notificationes?",
@@ -538,6 +564,11 @@
"notifications.permission_denied": "Le notificationes de scriptorio es indisponibile a causa de un requesta anteriormente refusate de permissiones del navigator",
"notifications.permission_denied_alert": "Le notificationes de scriptorio non pote esser activate perque le permission del navigator ha essite refusate anteriormente",
"notifications.permission_required": "Le notificationes de scriptorio es indisponibile perque le permission necessari non ha essite concedite.",
+ "notifications.policy.accept": "Acceptar",
+ "notifications.policy.accept_hint": "Monstrar in le notificationes",
+ "notifications.policy.filter": "Filtrar",
+ "notifications.policy.filter_hint": "Inviar al cassa de notificationes filtrate",
+ "notifications.policy.filter_limited_accounts_title": "Contos moderate",
"notifications.policy.filter_new_accounts.hint": "Create in le ultime {days, plural, one {die} other {# dies}}",
"notifications.policy.filter_new_accounts_title": "Nove contos",
"notifications.policy.filter_not_followers_hint": "Includente le personas que te ha sequite durante minus de {days, plural, one {un die} other {# dies}}",
@@ -546,6 +577,7 @@
"notifications.policy.filter_not_following_title": "Personas que tu non seque",
"notifications.policy.filter_private_mentions_hint": "Filtrate, excepte si es in responsa a tu proprie mention o si tu seque le expeditor",
"notifications.policy.filter_private_mentions_title": "Mentiones private indesirate",
+ "notifications.policy.title": "Gerer notificationes de…",
"notifications_permission_banner.enable": "Activar notificationes de scriptorio",
"notifications_permission_banner.how_to_control": "Pro reciper notificationes quando Mastodon non es aperte, activa le notificationes de scriptorio. Post lor activation, es possibile controlar precisemente qual typos de interaction genera notificationes de scriptorio per medio del button {icon} hic supra.",
"notifications_permission_banner.title": "Non mancar jammais a un cosa",
@@ -598,8 +630,8 @@
"poll.vote": "Votar",
"poll.voted": "Tu ha votate pro iste responsa",
"poll.votes": "{votes, plural, one {# voto} other {# votos}}",
- "poll_button.add_poll": "Adder un inquesta",
- "poll_button.remove_poll": "Remover un inquesta",
+ "poll_button.add_poll": "Adder un sondage",
+ "poll_button.remove_poll": "Remover un sondage",
"privacy.change": "Cambiar le confidentialitate del message",
"privacy.direct.long": "Tote le personas mentionate in le message",
"privacy.direct.short": "Personas specific",
@@ -731,8 +763,6 @@
"status.favourite": "Adder al favorites",
"status.favourites": "{count, plural, one {favorite} other {favorites}}",
"status.filter": "Filtrar iste message",
- "status.filtered": "Filtrate",
- "status.hide": "Celar le message",
"status.history.created": "create per {name} le {date}",
"status.history.edited": "modificate per {name} le {date}",
"status.load_more": "Cargar plus",
@@ -754,16 +784,14 @@
"status.reblogs.empty": "Necuno ha ancora impulsate iste message. Quando alcuno lo face, le impulsos apparera hic.",
"status.redraft": "Deler e reconciper",
"status.remove_bookmark": "Remover marcapagina",
+ "status.replied_in_thread": "Respondite in le discussion",
"status.replied_to": "Respondite a {name}",
"status.reply": "Responder",
"status.replyAll": "Responder al discussion",
"status.report": "Reportar @{name}",
"status.sensitive_warning": "Contento sensibile",
"status.share": "Compartir",
- "status.show_filter_reason": "Monstrar in omne caso",
- "status.show_less": "Monstrar minus",
"status.show_less_all": "Monstrar minus pro totes",
- "status.show_more": "Monstrar plus",
"status.show_more_all": "Monstrar plus pro totes",
"status.show_original": "Monstrar original",
"status.title.with_attachments": "{user} ha publicate {attachmentCount, plural, one {un annexo} other {{attachmentCount} annexos}}",
@@ -782,10 +810,6 @@
"time_remaining.minutes": "{number, plural, one {# minuta} other {# minutas}} restante",
"time_remaining.moments": "Qualque momentos restante",
"time_remaining.seconds": "{number, plural, one {# secunda} other {# secundas}} restante",
- "timeline_hint.remote_resource_not_displayed": "Le {resource} de altere servitores non appare hic.",
- "timeline_hint.resources.followers": "Sequitores",
- "timeline_hint.resources.follows": "Sequites",
- "timeline_hint.resources.statuses": "Messages ancian",
"trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} personas}} in le passate {days, plural, one {die} other {{days} dies}}",
"trends.trending_now": "Ora in tendentias",
"ui.beforeunload": "Tu esbosso essera predite si tu exi de Mastodon.",
diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json
index 5c296cf4fe56bb..3e2cc03145872c 100644
--- a/app/javascript/mastodon/locales/id.json
+++ b/app/javascript/mastodon/locales/id.json
@@ -1,7 +1,7 @@
{
"about.blocks": "Server yang dimoderasi",
- "about.contact": "Hubungi:",
- "about.disclaimer": "Mastodon adalah perangkat lunak bebas dan sumber terbuka, dan adalah merek dagang dari Mastodon gGmbH.",
+ "about.contact": "Kontak:",
+ "about.disclaimer": "perangkat lunak sumber terbuperangkat lunak sumber terbukaka184124.",
"about.domain_blocks.no_reason_available": "Alasan tidak tersedia",
"about.domain_blocks.preamble": "Mastodon umumnya mengizinkan Anda untuk melihat konten dan berinteraksi dengan pengguna dari server lain di fediverse. Ini adalah pengecualian yang dibuat untuk beberapa server.",
"about.domain_blocks.silenced.explanation": "Anda secara umum tidak melihat profil dan konten dari server ini, kecuali jika Anda mencarinya atau memilihnya dengan mengikuti secara eksplisit.",
@@ -11,6 +11,7 @@
"about.not_available": "Informasi ini belum tersedia di server ini.",
"about.powered_by": "Media sosial terdesentralisasi diberdayakan oleh {mastodon}",
"about.rules": "Aturan server",
+ "account.account_note_header": "Personal note",
"account.add_or_remove_from_list": "Tambah atau Hapus dari daftar",
"account.badges.bot": "Bot",
"account.badges.group": "Grup",
@@ -18,7 +19,6 @@
"account.block_domain": "Blokir domain {domain}",
"account.block_short": "Blokir",
"account.blocked": "Terblokir",
- "account.browse_more_on_origin_server": "Lihat lebih lanjut di profil asli",
"account.cancel_follow_request": "Batalkan permintaan ikut",
"account.copy": "Salin tautan ke profil",
"account.direct": "Sebut secara pribadi @{name}",
@@ -34,7 +34,9 @@
"account.follow_back": "Ikuti balik",
"account.followers": "Pengikut",
"account.followers.empty": "Pengguna ini belum ada pengikut.",
+ "account.followers_counter": "{count, plural, other {{counter} followers}}",
"account.following": "Mengikuti",
+ "account.following_counter": "{count, plural, other {{counter} following}}",
"account.follows.empty": "Pengguna ini belum mengikuti siapa pun.",
"account.go_to_profile": "Buka profil",
"account.hide_reblogs": "Sembunyikan boosts dari @{name}",
@@ -60,6 +62,7 @@
"account.requested_follow": "{name} ingin mengikuti Anda",
"account.share": "Bagikan profil @{name}",
"account.show_reblogs": "Tampilkan boost dari @{name}",
+ "account.statuses_counter": "{count, plural, other {{counter} posts}}",
"account.unblock": "Buka blokir @{name}",
"account.unblock_domain": "Buka blokir domain {domain}",
"account.unblock_short": "Buka blokir",
@@ -167,21 +170,30 @@
"confirmations.block.confirm": "Blokir",
"confirmations.delete.confirm": "Hapus",
"confirmations.delete.message": "Apakah Anda yakin untuk menghapus kiriman ini?",
+ "confirmations.delete.title": "Delete post?",
"confirmations.delete_list.confirm": "Hapus",
"confirmations.delete_list.message": "Apakah Anda yakin untuk menghapus daftar ini secara permanen?",
+ "confirmations.delete_list.title": "Delete list?",
"confirmations.discard_edit_media.confirm": "Buang",
"confirmations.discard_edit_media.message": "Anda belum menyimpan perubahan deskripsi atau pratinjau media, buang saja?",
"confirmations.edit.confirm": "Ubah",
"confirmations.edit.message": "Mengubah akan menimpa pesan yang sedang anda tulis. Apakah anda yakin ingin melanjutkan?",
+ "confirmations.edit.title": "Overwrite post?",
"confirmations.logout.confirm": "Keluar",
"confirmations.logout.message": "Apakah Anda yakin ingin keluar?",
+ "confirmations.logout.title": "Log out?",
"confirmations.mute.confirm": "Bisukan",
"confirmations.redraft.confirm": "Hapus dan susun ulang",
"confirmations.redraft.message": "Apakah anda yakin ingin menghapus postingan ini dan menyusun ulang postingan ini? Favorit dan peningkatan akan hilang, dan balasan ke postingan asli tidak akan terhubung ke postingan manapun.",
+ "confirmations.redraft.title": "Delete & redraft post?",
"confirmations.reply.confirm": "Balas",
"confirmations.reply.message": "Membalas sekarang akan menimpa pesan yang sedang Anda buat. Anda yakin ingin melanjutkan?",
+ "confirmations.reply.title": "Delete & redraft post?",
"confirmations.unfollow.confirm": "Berhenti mengikuti",
"confirmations.unfollow.message": "Apakah Anda ingin berhenti mengikuti {name}?",
+ "confirmations.unfollow.title": "Unfollow user?",
+ "content_warning.hide": "Hide post",
+ "content_warning.show": "Show anyway",
"conversation.delete": "Hapus percakapan",
"conversation.mark_as_read": "Tandai sudah dibaca",
"conversation.open": "Lihat percakapan",
@@ -218,7 +230,9 @@
"domain_pill.username": "Nama pengguna",
"domain_pill.whats_in_a_handle": "Apa itu nama pengguna?",
"domain_pill.who_they_are": "Karena nama pengguna menunjukkan siapa seseorang dan di mana server mereka berada, anda dapat berinteraksi dengan orang-orang di seluruh web sosial
ActivityPub-powered platforms.",
+ "domain_pill.who_you_are": "
ActivityPub-powered platforms.",
"domain_pill.your_handle": "Nama pengguna anda:",
+ "domain_pill.your_server": "Your digital home, where all of your posts live. Don’t like this one? Transfer servers at any time and bring your followers, too.",
"embed.instructions": "Sematkan kiriman ini di situs web Anda dengan menyalin kode di bawah ini.",
"embed.preview": "Tampilan akan seperti ini nantinya:",
"emoji_button.activity": "Aktivitas",
@@ -389,7 +403,6 @@
"lists.subheading": "Daftar Anda",
"load_pending": "{count, plural, other {# item baru}}",
"loading_indicator.label": "Memuat…",
- "media_gallery.toggle_visible": "Tampil/Sembunyikan",
"moved_to_account_banner.text": "Akun {disabledAccount} Anda kini dinonaktifkan karena Anda pindah ke {movedToAccount}.",
"mute_modal.hide_options": "Sembunyikan opsi",
"mute_modal.title": "Bisukan pengguna?",
@@ -572,8 +585,6 @@
"status.edited_x_times": "Diedit {count, plural, other {{count} kali}}",
"status.embed": "Tanam",
"status.filter": "Saring kiriman ini",
- "status.filtered": "Disaring",
- "status.hide": "Sembunyikan pos",
"status.history.created": "{name} membuat {date}",
"status.history.edited": "{name} mengedit {date}",
"status.load_more": "Tampilkan semua",
@@ -598,10 +609,7 @@
"status.report": "Laporkan @{name}",
"status.sensitive_warning": "Konten sensitif",
"status.share": "Bagikan",
- "status.show_filter_reason": "Tampilkan saja",
- "status.show_less": "Tampilkan lebih sedikit",
"status.show_less_all": "Tampilkan lebih sedikit untuk semua",
- "status.show_more": "Tampilkan semua",
"status.show_more_all": "Tampilkan lebih banyak untuk semua",
"status.show_original": "Tampilkan yang asli",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
@@ -619,10 +627,6 @@
"time_remaining.minutes": "{number, plural, other {# menit}} tersisa",
"time_remaining.moments": "Momen tersisa",
"time_remaining.seconds": "{number, plural, other {# detik}} tersisa",
- "timeline_hint.remote_resource_not_displayed": "{resource} dari server lain tidak ditampilkan.",
- "timeline_hint.resources.followers": "Pengikut",
- "timeline_hint.resources.follows": "Ikuti",
- "timeline_hint.resources.statuses": "Kiriman lama",
"trends.counter_by_accounts": "{count, plural, other {{counter} orang}} dalam {days, plural, other {{days} hari}} terakhir",
"trends.trending_now": "Sedang tren sekarang",
"ui.beforeunload": "Draf Anda akan hilang jika Anda keluar dari Mastodon.",
diff --git a/app/javascript/mastodon/locales/ie.json b/app/javascript/mastodon/locales/ie.json
index 61a93a3e50c613..7a176dfbb621ee 100644
--- a/app/javascript/mastodon/locales/ie.json
+++ b/app/javascript/mastodon/locales/ie.json
@@ -18,7 +18,6 @@
"account.block_domain": "Bloccar dominia {domain}",
"account.block_short": "Bloccar",
"account.blocked": "Bloccat",
- "account.browse_more_on_origin_server": "Navigar plu sur li profil original",
"account.cancel_follow_request": "Anullar sequer",
"account.copy": "Copiar ligament al profil",
"account.direct": "Privatmen mentionar @{name}",
@@ -420,7 +419,6 @@
"lists.subheading": "Tui listes",
"load_pending": "{count, plural, one {# nov element} other {# nov elementes}}",
"loading_indicator.label": "Cargant…",
- "media_gallery.toggle_visible": "{number, plural, one {Celar image} other {Celar images}}",
"moved_to_account_banner.text": "Tui conto {disabledAccount} es actualmen desactivisat pro que tu movet te a {movedToAccount}.",
"mute_modal.hide_from_notifications": "Celar de notificationes",
"mute_modal.hide_options": "Celar optiones",
@@ -704,8 +702,6 @@
"status.favourite": "Favoritisar",
"status.favourites": "{count, plural, one {favorit} other {favorites}}",
"status.filter": "Filtrar ti-ci posta",
- "status.filtered": "Filtrat",
- "status.hide": "Celar posta",
"status.history.created": "creat de {name} ye {date}",
"status.history.edited": "modificat de {name} ye {date}",
"status.load_more": "Cargar plu",
@@ -733,10 +729,7 @@
"status.report": "Raportar @{name}",
"status.sensitive_warning": "Sensitiv contenete",
"status.share": "Partir",
- "status.show_filter_reason": "Monstrar totvez",
- "status.show_less": "Monstrar minu",
"status.show_less_all": "Monstrar minu por omno",
- "status.show_more": "Monstrar plu",
"status.show_more_all": "Monstrar plu por omno",
"status.show_original": "Monstrar li original",
"status.title.with_attachments": "{user} postat {attachmentCount, plural, one {un atachament} other {{attachmentCount} atachamentes}}",
@@ -755,10 +748,6 @@
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} resta",
"time_remaining.moments": "Momentes resta",
"time_remaining.seconds": "{number, plural, one {# second} other {# secondes}} resta",
- "timeline_hint.remote_resource_not_displayed": "{resource} de altri servitores ne es monstrat.",
- "timeline_hint.resources.followers": "Sequitores",
- "timeline_hint.resources.follows": "Sequetes",
- "timeline_hint.resources.statuses": "Plu old postas",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} persones}} durant li ultim {days, plural, one {die} other {{days} dies}}",
"trends.trending_now": "Actualmen populari",
"ui.beforeunload": "Tui íncomplet posta va esser perdit si tu lassa Mastodon.",
diff --git a/app/javascript/mastodon/locales/ig.json b/app/javascript/mastodon/locales/ig.json
index 4e3e3997da145c..8a8d043a6b0089 100644
--- a/app/javascript/mastodon/locales/ig.json
+++ b/app/javascript/mastodon/locales/ig.json
@@ -23,15 +23,19 @@
"column.notifications": "Nziọkwà",
"column.pins": "Pinned post",
"column_header.pin": "Gbado na profaịlụ gị",
+ "column_header.show_settings": "Gosi mwube",
"column_subheading.settings": "Mwube",
"community.column_settings.media_only": "Media only",
"compose.language.change": "Gbanwee asụsụ",
"compose.language.search": "Chọọ asụsụ...",
"compose.published.open": "Mepe",
+ "compose_form.direct_message_warning_learn_more": "Mụtakwuo",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
"compose_form.placeholder": "What is on your mind?",
+ "compose_form.poll.single": "Họrọ otu",
"compose_form.publish_form": "Publish",
+ "compose_form.reply": "Zaa",
"compose_form.spoiler.marked": "Text is hidden behind warning",
"compose_form.spoiler.unmarked": "Text is not hidden",
"confirmation_modal.cancel": "Kagbuo",
@@ -49,7 +53,9 @@
"domain_pill.username": "Ahaojiaru",
"embed.instructions": "Embed this status on your website by copying the code below.",
"emoji_button.activity": "Mmemme",
+ "emoji_button.food": "Oriri & Ọṅụṅụ",
"emoji_button.label": "Tibanye emoji",
+ "emoji_button.people": "Mmadụ",
"emoji_button.search": "Chọọ...",
"emoji_button.symbols": "Ọdịmara",
"empty_column.account_timeline": "No posts found",
@@ -95,12 +101,15 @@
"keyboard_shortcuts.toot": "to start a brand new post",
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
"keyboard_shortcuts.up": "to move up in the list",
+ "lightbox.close": "Mechie",
"lists.delete": "Hichapụ ndepụta",
"lists.edit": "Dezie ndepụta",
"lists.subheading": "Ndepụta gị",
"navigation_bar.about": "Maka",
"navigation_bar.bookmarks": "Ebenrụtụakā",
+ "navigation_bar.discover": "Chọpụta",
"navigation_bar.domain_blocks": "Hidden domains",
+ "navigation_bar.favourites": "Mmasị",
"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",
@@ -145,7 +154,6 @@
"status.translate": "Tụgharịa",
"tabs_bar.home": "Be",
"tabs_bar.notifications": "Nziọkwà",
- "timeline_hint.resources.followers": "Ndị na-eso",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"trends.trending_now": "Na-ewu ewu kịta",
"upload_form.audio_description": "Describe for people with hearing loss",
diff --git a/app/javascript/mastodon/locales/intl_provider.tsx b/app/javascript/mastodon/locales/intl_provider.tsx
index 68d4fcbd965191..94372f95b0fc41 100644
--- a/app/javascript/mastodon/locales/intl_provider.tsx
+++ b/app/javascript/mastodon/locales/intl_provider.tsx
@@ -17,7 +17,7 @@ function onProviderError(error: unknown) {
error &&
typeof error === 'object' &&
error instanceof Error &&
- error.message.match('MISSING_DATA')
+ /MISSING_DATA/.exec(error.message)
) {
console.warn(error.message);
}
diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json
index fa083522c8c506..d0ccb923bae205 100644
--- a/app/javascript/mastodon/locales/io.json
+++ b/app/javascript/mastodon/locales/io.json
@@ -17,7 +17,6 @@
"account.block_domain": "Blokusar {domain}",
"account.block_short": "Blokusar",
"account.blocked": "Blokusita",
- "account.browse_more_on_origin_server": "Videz pluse che la originala profilo",
"account.cancel_follow_request": "Desendez sequodemando",
"account.copy": "Kopiez ligilo al profilo",
"account.direct": "Private mencionez @{name}",
@@ -363,7 +362,6 @@
"lists.subheading": "Vua listi",
"load_pending": "{count, plural, one {# nova kozo} other {# nova kozi}}",
"loading_indicator.label": "Kargante…",
- "media_gallery.toggle_visible": "Chanjar videbleso",
"moved_to_account_banner.text": "Vua konto {disabledAccount} es nune desaktiva pro ke vu movis a {movedToAccount}.",
"navigation_bar.about": "Pri co",
"navigation_bar.advanced_interface": "Apertez per retintervizajo",
@@ -594,8 +592,6 @@
"status.embed": "Eninsertez",
"status.favourite": "Favorizar",
"status.filter": "Filtragez ca posto",
- "status.filtered": "Filtrita",
- "status.hide": "Celez posto",
"status.history.created": "{name} kreis ye {date}",
"status.history.edited": "{name} modifikis ye {date}",
"status.load_more": "Kargar pluse",
@@ -622,10 +618,7 @@
"status.report": "Denuncar @{name}",
"status.sensitive_warning": "Trubliva kontenajo",
"status.share": "Partigez",
- "status.show_filter_reason": "Jus montrez",
- "status.show_less": "Montrar mine",
"status.show_less_all": "Montrez min por omno",
- "status.show_more": "Montrar plue",
"status.show_more_all": "Montrez pluse por omno",
"status.show_original": "Montrez originalo",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
@@ -644,10 +637,6 @@
"time_remaining.minutes": "{number, plural, one {# minuto} other {# minuti}} restas",
"time_remaining.moments": "Poka sekundi restas",
"time_remaining.seconds": "{number, plural, one {# sekundo} other {# sekundi}} restas",
- "timeline_hint.remote_resource_not_displayed": "{resource} de altra servili ne montresas.",
- "timeline_hint.resources.followers": "Sequanti",
- "timeline_hint.resources.follows": "Sequati",
- "timeline_hint.resources.statuses": "Older toots",
"trends.counter_by_accounts": "{count, plural,one {{counter} persono} other {{counter} personi}} en antea {days, plural,one {dio} other {{days} dii}}",
"trends.trending_now": "Tendencigas nun",
"ui.beforeunload": "Vua skisato perdesos se vu ekiras Mastodon.",
diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json
index d5c791e1c5b2f0..83932f1b4ba251 100644
--- a/app/javascript/mastodon/locales/is.json
+++ b/app/javascript/mastodon/locales/is.json
@@ -19,7 +19,6 @@
"account.block_domain": "Útiloka lénið {domain}",
"account.block_short": "Útiloka",
"account.blocked": "Útilokaður",
- "account.browse_more_on_origin_server": "Skoða nánari upplýsingar á notandasniðinu",
"account.cancel_follow_request": "Taka fylgjendabeiðni til baka",
"account.copy": "Afrita tengil í notandasnið",
"account.direct": "Einkaspjall við @{name}",
@@ -98,6 +97,8 @@
"block_modal.title": "Útiloka notanda?",
"block_modal.you_wont_see_mentions": "Þú munt ekki sjá færslur sem minnast á viðkomandi aðila.",
"boost_modal.combo": "Þú getur ýtt á {combo} til að sleppa þessu næst",
+ "boost_modal.reblog": "Endurbirta færslu?",
+ "boost_modal.undo_reblog": "Taka færslu úr endurbirtingu?",
"bundle_column_error.copy_stacktrace": "Afrita villuskýrslu",
"bundle_column_error.error.body": "Umbeðna síðau var ekki hægt að myndgera. Það gæti verið vegna villu í kóðanum okkar eða vandamáls með samhæfni vafra.",
"bundle_column_error.error.title": "Ó-nei!",
@@ -193,6 +194,8 @@
"confirmations.unfollow.confirm": "Hætta að fylgja",
"confirmations.unfollow.message": "Ertu viss um að þú viljir hætta að fylgjast með {name}?",
"confirmations.unfollow.title": "Hætta að fylgjast með viðkomandi?",
+ "content_warning.hide": "Fela færslu",
+ "content_warning.show": "Birta samt",
"conversation.delete": "Eyða samtali",
"conversation.mark_as_read": "Merkja sem lesið",
"conversation.open": "Skoða samtal",
@@ -300,6 +303,7 @@
"filter_modal.select_filter.subtitle": "Notaðu fyrirliggjandi flokk eða útbúðu nýjan",
"filter_modal.select_filter.title": "Sía þessa færslu",
"filter_modal.title.status": "Sía færslu",
+ "filter_warning.matches_filter": "Samsvarar síunni“{title}”",
"filtered_notifications_banner.pending_requests": "Frá {count, plural, =0 {engum} one {einum aðila} other {# manns}} sem þú gætir þekkt",
"filtered_notifications_banner.title": "Síaðar tilkynningar",
"firehose.all": "Allt",
@@ -349,6 +353,14 @@
"hashtag.follow": "Fylgjast með myllumerki",
"hashtag.unfollow": "Hætta að fylgjast með myllumerki",
"hashtags.and_other": "…og {count, plural, other {# til viðbótar}}",
+ "hints.profiles.followers_may_be_missing": "Fylgjendur frá þessum notanda gæti vantað.",
+ "hints.profiles.follows_may_be_missing": "Aðila sem þessi notandi fylgist með gæti vantað.",
+ "hints.profiles.posts_may_be_missing": "Sumar færslur frá þessum notanda gæti vantað.",
+ "hints.profiles.see_more_followers": "Sjá fleiri fylgjendur á {domain}",
+ "hints.profiles.see_more_follows": "Sjá fleiri sem þú fylgist með á {domain}",
+ "hints.profiles.see_more_posts": "Sjá fleiri færslur á {domain}",
+ "hints.threads.replies_may_be_missing": "Svör af öðrum netþjónum gæti vantað.",
+ "hints.threads.see_more": "Sjá fleiri svör á {domain}",
"home.column_settings.show_reblogs": "Sýna endurbirtingar",
"home.column_settings.show_replies": "Birta svör",
"home.hide_announcements": "Fela auglýsingar",
@@ -426,7 +438,7 @@
"lightbox.previous": "Fyrra",
"limited_account_hint.action": "Birta notandasniðið samt",
"limited_account_hint.title": "Þetta notandasnið hefur verið falið af umsjónarmönnum {domain}.",
- "link_preview.author": "Eftir {name}",
+ "link_preview.author": "Frá {name}",
"link_preview.more_from_author": "Meira frá {name}",
"link_preview.shares": "{count, plural, one {{counter} færsla} other {{counter} færslur}}",
"lists.account.add": "Bæta á lista",
@@ -445,7 +457,7 @@
"lists.subheading": "Listarnir þínir",
"load_pending": "{count, plural, one {# nýtt atriði} other {# ný atriði}}",
"loading_indicator.label": "Hleð inn…",
- "media_gallery.toggle_visible": "Víxla sýnileika",
+ "media_gallery.hide": "Fela",
"moved_to_account_banner.text": "Aðgangurinn þinn {disabledAccount} er óvirkur í augnablikinu vegna þess að þú fluttir þig yfir á {movedToAccount}.",
"mute_modal.hide_from_notifications": "Fela úr tilkynningum",
"mute_modal.hide_options": "Fela valkosti",
@@ -456,9 +468,8 @@
"mute_modal.title": "Þagga niður í notanda?",
"mute_modal.you_wont_see_mentions": "Þú munt ekki sjá færslur sem minnast á viðkomandi aðila.",
"mute_modal.you_wont_see_posts": "Viðkomandi geta áfram séð færslurnar þínar en þú munt ekki sjá færslurnar þeirra.",
- "name_and_others": "{name} og {count, plural, one {# annar} other {# aðrir}}",
- "name_and_others_with_link": "{name} og
{count, plural, one {# annar} other {# aðrir}}",
"navigation_bar.about": "Um hugbúnaðinn",
+ "navigation_bar.administration": "Stjórnun",
"navigation_bar.advanced_interface": "Opna í ítarlegu vefviðmóti",
"navigation_bar.blocks": "Útilokaðir notendur",
"navigation_bar.bookmarks": "Bókamerki",
@@ -475,6 +486,7 @@
"navigation_bar.follows_and_followers": "Fylgist með og fylgjendur",
"navigation_bar.lists": "Listar",
"navigation_bar.logout": "Útskráning",
+ "navigation_bar.moderation": "Umsjón",
"navigation_bar.mutes": "Þaggaðir notendur",
"navigation_bar.opened_in_classic_interface": "Færslur, notendaaðgangar og aðrar sérhæfðar síður eru sjálfgefið opnaðar í klassíska vefviðmótinu.",
"navigation_bar.personal": "Einka",
@@ -490,9 +502,13 @@
"notification.admin.report_statuses": "{name} kærði {target} fyrir {category}",
"notification.admin.report_statuses_other": "{name} kærði {target}",
"notification.admin.sign_up": "{name} skráði sig",
+ "notification.admin.sign_up.name_and_others": "{name} og {count, plural, one {# í viðbót hefur} other {# í viðbót hafa}} skráð sig",
"notification.favourite": "{name} setti færsluna þína í eftirlæti",
+ "notification.favourite.name_and_others_with_link": "{name} og
{count, plural, one {# í viðbót hefur} other {# í viðbót hafa}} sett færsluna þína í eftirlæti",
"notification.follow": "{name} fylgist með þér",
+ "notification.follow.name_and_others": "{name} og {count, plural, one {# í viðbót fylgdist} other {# í viðbót fylgdust}} með þér",
"notification.follow_request": "{name} hefur beðið um að fylgjast með þér",
+ "notification.follow_request.name_and_others": "{name} og {count, plural, one {# í viðbót hefur} other {# í viðbót hafa}} beðið um að fylgjast með þér",
"notification.label.mention": "Minnst á",
"notification.label.private_mention": "Einkaspjall",
"notification.label.private_reply": "Einkasvar",
@@ -510,6 +526,7 @@
"notification.own_poll": "Könnuninni þinni er lokið",
"notification.poll": "Könnun sem þú greiddir atkvæði í er lokið",
"notification.reblog": "{name} endurbirti færsluna þína",
+ "notification.reblog.name_and_others_with_link": "{name} og
{count, plural, one {# í viðbót hefur} other {# í viðbót hafa}} endurbirt færsluna þína",
"notification.relationships_severance_event": "Missti tengingar við {name}",
"notification.relationships_severance_event.account_suspension": "Stjórnandi á {from} hefur fryst {target}, sem þýðir að þú færð ekki lengur skilaboð frá viðkomandi né átt í samskiptum við viðkomandi.",
"notification.relationships_severance_event.domain_block": "Stjórnandi á {from} hefur lokað á {target} og þar með {followersCount} fylgjendur þína auk {followingCount, plural, one {# aðgangs} other {# aðganga}} sem þú fylgist með.",
@@ -518,19 +535,17 @@
"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.accept_multiple": "{count, plural, one {Samþykkja # beiðni…} other {Samþykkja # beiðnir…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Samþykkja beiðni} other {Samþykkja beiðnir}}",
+ "notification_requests.confirm_accept_multiple.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_multiple.title": "Samþykkja beiðnir um tilkynningar?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Afgreiða beiðni} other {Afgreiða beiðnir}}",
+ "notification_requests.confirm_dismiss_multiple.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_multiple.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.dismiss_multiple": "{count, plural, one {Afgreiða # beiðni…} other {Afgreiða # beiðnir…}}",
+ "notification_requests.edit_selection": "Breyta",
+ "notification_requests.exit_selection": "Lokið",
"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",
@@ -765,6 +780,7 @@
"status.bookmark": "Bókamerki",
"status.cancel_reblog_private": "Taka úr endurbirtingu",
"status.cannot_reblog": "Þessa færslu er ekki hægt að endurbirta",
+ "status.continued_thread": "Hélt samtali áfram",
"status.copy": "Afrita tengil í færslu",
"status.delete": "Eyða",
"status.detailed_status": "Nákvæm spjallþráðasýn",
@@ -777,8 +793,6 @@
"status.favourite": "Eftirlæti",
"status.favourites": "{count, plural, one {eftirlæti} other {eftirlæti}}",
"status.filter": "Sía þessa færslu",
- "status.filtered": "Síað",
- "status.hide": "Fela færslu",
"status.history.created": "{name} útbjó {date}",
"status.history.edited": "{name} breytti {date}",
"status.load_more": "Hlaða inn meiru",
@@ -800,16 +814,14 @@
"status.reblogs.empty": "Enginn hefur ennþá endurbirt þessa færslu. Þegar einhver gerir það, mun það birtast hér.",
"status.redraft": "Eyða og endurvinna drög",
"status.remove_bookmark": "Fjarlægja bókamerki",
+ "status.replied_in_thread": "Svaraði í samtali",
"status.replied_to": "Svaraði til {name}",
"status.reply": "Svara",
"status.replyAll": "Svara þræði",
"status.report": "Kæra @{name}",
"status.sensitive_warning": "Viðkvæmt efni",
"status.share": "Deila",
- "status.show_filter_reason": "Birta samt",
- "status.show_less": "Sýna minna",
"status.show_less_all": "Sýna minna fyrir allt",
- "status.show_more": "Sýna meira",
"status.show_more_all": "Sýna meira fyrir allt",
"status.show_original": "Sýna upprunalega",
"status.title.with_attachments": "{user} birti {attachmentCount, plural, one {viðhengi} other {{attachmentCount} viðhengi}}",
@@ -828,11 +840,6 @@
"time_remaining.minutes": "{number, plural, one {# mínúta} other {# mínútur}} eftir",
"time_remaining.moments": "Tími eftir",
"time_remaining.seconds": "{number, plural, one {# sekúnda} other {# sekúndur}} eftir",
- "timeline_hint.remote_resource_not_displayed": "{resource} frá öðrum netþjónum er ekki birt.",
- "timeline_hint.resources.followers": "Fylgjendur",
- "timeline_hint.resources.follows": "Fylgist með",
- "timeline_hint.resources.replies": "Sum svör",
- "timeline_hint.resources.statuses": "Eldri færslur",
"trends.counter_by_accounts": "{count, plural, one {{counter} aðili} other {{counter} manns}} {days, plural, one {síðasta sólarhringinn} other {síðustu {days} daga}}",
"trends.trending_now": "Vinsælt núna",
"ui.beforeunload": "Drögin tapast ef þú ferð út úr Mastodon.",
diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json
index 56783d27263983..4bd3cce8fa3e7f 100644
--- a/app/javascript/mastodon/locales/it.json
+++ b/app/javascript/mastodon/locales/it.json
@@ -20,7 +20,6 @@
"account.block_domain": "Blocca dominio {domain}",
"account.block_short": "Blocca",
"account.blocked": "Bloccato",
- "account.browse_more_on_origin_server": "Sfoglia di più sul profilo originale",
"account.cancel_follow_request": "Annulla la richiesta di seguire",
"account.copy": "Copia link del profilo",
"account.direct": "Menziona privatamente @{name}",
@@ -99,6 +98,8 @@
"block_modal.title": "Bloccare l'utente?",
"block_modal.you_wont_see_mentions": "Non vedrai i post che li menzionano.",
"boost_modal.combo": "Puoi premere {combo} per saltare questo passaggio, la prossima volta",
+ "boost_modal.reblog": "Condividere il post?",
+ "boost_modal.undo_reblog": "Annullare la condivisione del post?",
"bundle_column_error.copy_stacktrace": "Copia rapporto sull'errore",
"bundle_column_error.error.body": "Impossibile rendedrizzare la pagina richiesta. Potrebbe dipendere da un bug nel nostro codice o da un problema di compatibilità di un browser.",
"bundle_column_error.error.title": "Oh, no!",
@@ -127,7 +128,7 @@
"column.firehose": "Feed dal vivo",
"column.follow_requests": "Richieste di seguirti",
"column.home": "Home",
- "column.lists": "Elenchi",
+ "column.lists": "Liste",
"column.mutes": "Utenti silenziati",
"column.notifications": "Notifiche",
"column.pins": "Post fissati",
@@ -194,6 +195,8 @@
"confirmations.unfollow.confirm": "Smetti di seguire",
"confirmations.unfollow.message": "Sei sicuro di voler smettere di seguire {name}?",
"confirmations.unfollow.title": "Smettere di seguire l'utente?",
+ "content_warning.hide": "Nascondi post",
+ "content_warning.show": "Mostra comunque",
"conversation.delete": "Elimina conversazione",
"conversation.mark_as_read": "Segna come letto",
"conversation.open": "Visualizza conversazione",
@@ -301,6 +304,7 @@
"filter_modal.select_filter.subtitle": "Usa una categoria esistente o creane una nuova",
"filter_modal.select_filter.title": "Filtra questo post",
"filter_modal.title.status": "Filtra un post",
+ "filter_warning.matches_filter": "Corrisponde al filtro \"{title}\"",
"filtered_notifications_banner.pending_requests": "Da {count, plural, =0 {nessuno} one {una persona} other {# persone}} che potresti conoscere",
"filtered_notifications_banner.title": "Notifiche filtrate",
"firehose.all": "Tutto",
@@ -350,6 +354,14 @@
"hashtag.follow": "Segui l'hashtag",
"hashtag.unfollow": "Smetti di seguire l'hashtag",
"hashtags.and_other": "…e {count, plural, other {# in più}}",
+ "hints.profiles.followers_may_be_missing": "I seguaci per questo profilo potrebbero essere mancanti.",
+ "hints.profiles.follows_may_be_missing": "I profili seguiti per questo profilo potrebbero essere mancanti.",
+ "hints.profiles.posts_may_be_missing": "Alcuni post da questo profilo potrebbero essere mancanti.",
+ "hints.profiles.see_more_followers": "Vedi altri seguaci su {domain}",
+ "hints.profiles.see_more_follows": "Vedi altri profili seguiti su {domain}",
+ "hints.profiles.see_more_posts": "Vedi altri post su {domain}",
+ "hints.threads.replies_may_be_missing": "Le risposte da altri server potrebbero essere mancanti.",
+ "hints.threads.see_more": "Vedi altre risposte su {domain}",
"home.column_settings.show_reblogs": "Mostra reblog",
"home.column_settings.show_replies": "Mostra risposte",
"home.hide_announcements": "Nascondi annunci",
@@ -359,7 +371,9 @@
"home.show_announcements": "Mostra annunci",
"ignore_notifications_modal.disclaimer": "Mastodon non può informare gli utenti che hai ignorato le loro notifiche. Ignorare le notifiche non impedirà l'invio dei messaggi stessi.",
"ignore_notifications_modal.filter_instead": "Filtra invece",
+ "ignore_notifications_modal.filter_to_act_users": "Potrai comunque accettare, rifiutare o segnalare gli utenti",
"ignore_notifications_modal.filter_to_avoid_confusion": "Il filtraggio aiuta a evitare potenziali confusioni",
+ "ignore_notifications_modal.filter_to_review_separately": "Puoi rivedere le notifiche filtrate separatamente",
"ignore_notifications_modal.ignore": "Ignora le notifiche",
"ignore_notifications_modal.limited_accounts_title": "Ignorare le notifiche dagli account moderati?",
"ignore_notifications_modal.new_accounts_title": "Ignorare le notifiche dai nuovi account?",
@@ -441,10 +455,10 @@
"lists.replies_policy.none": "Nessuno",
"lists.replies_policy.title": "Mostra risposte a:",
"lists.search": "Cerca tra le persone che segui",
- "lists.subheading": "I tuoi elenchi",
+ "lists.subheading": "Le tue liste",
"load_pending": "{count, plural, one {# nuovo oggetto} other {# nuovi oggetti}}",
"loading_indicator.label": "Caricamento…",
- "media_gallery.toggle_visible": "{number, plural, one {Nascondi immagine} other {Nascondi immagini}}",
+ "media_gallery.hide": "Nascondi",
"moved_to_account_banner.text": "Il tuo profilo {disabledAccount} è correntemente disabilitato perché ti sei spostato a {movedToAccount}.",
"mute_modal.hide_from_notifications": "Nascondi dalle notifiche",
"mute_modal.hide_options": "Nascondi le opzioni",
@@ -455,9 +469,8 @@
"mute_modal.title": "Silenziare l'utente?",
"mute_modal.you_wont_see_mentions": "Non vedrai i post che li menzionano.",
"mute_modal.you_wont_see_posts": "Possono ancora vedere i tuoi post, ma tu non vedrai i loro.",
- "name_and_others": "{name} e {count, plural, one {# un altro} other {# altri}}",
- "name_and_others_with_link": "{name} e
{count, plural, one {# un altro} other {# altri}}",
"navigation_bar.about": "Info",
+ "navigation_bar.administration": "Amministrazione",
"navigation_bar.advanced_interface": "Apri nell'interfaccia web avanzata",
"navigation_bar.blocks": "Utenti bloccati",
"navigation_bar.bookmarks": "Segnalibri",
@@ -474,6 +487,7 @@
"navigation_bar.follows_and_followers": "Seguiti e seguaci",
"navigation_bar.lists": "Liste",
"navigation_bar.logout": "Disconnettiti",
+ "navigation_bar.moderation": "Moderazione",
"navigation_bar.mutes": "Utenti silenziati",
"navigation_bar.opened_in_classic_interface": "Post, account e altre pagine specifiche sono aperti per impostazione predefinita nella classica interfaccia web.",
"navigation_bar.personal": "Personale",
@@ -489,9 +503,13 @@
"notification.admin.report_statuses": "{name} ha segnalato {target} per {category}",
"notification.admin.report_statuses_other": "{name} ha segnalato {target}",
"notification.admin.sign_up": "{name} si è iscritto",
+ "notification.admin.sign_up.name_and_others": "Si sono iscritti: {name} e {count, plural, one {# altro utente} other {altri # utenti}}",
"notification.favourite": "{name} ha aggiunto il tuo post ai preferiti",
+ "notification.favourite.name_and_others_with_link": "{name} e
{count, plural, one {# altro} other {altri #}} hanno aggiunto il tuo post ai preferiti",
"notification.follow": "{name} ha iniziato a seguirti",
+ "notification.follow.name_and_others": "{name} e {count, plural, one {# altro} other {altri #}} hanno iniziato a seguirti",
"notification.follow_request": "{name} ha richiesto di seguirti",
+ "notification.follow_request.name_and_others": "{name} e {count, plural, one {# altro} other {altri #}} hanno richiesto di seguirti",
"notification.label.mention": "Menziona",
"notification.label.private_mention": "Menzione privata",
"notification.label.private_reply": "Rispondi in privato",
@@ -509,6 +527,7 @@
"notification.own_poll": "Il tuo sondaggio è terminato",
"notification.poll": "Un sondaggio in cui hai votato è terminato",
"notification.reblog": "{name} ha rebloggato il tuo post",
+ "notification.reblog.name_and_others_with_link": "{name} e
{count, plural, one {# altro} other {altri #}} hanno condiviso il tuo post",
"notification.relationships_severance_event": "Connessioni perse con {name}",
"notification.relationships_severance_event.account_suspension": "Un amministratore da {from} ha sospeso {target}, il che significa che non puoi più ricevere aggiornamenti da loro o interagire con loro.",
"notification.relationships_severance_event.domain_block": "Un amministratore da {from} ha bloccato {target}, inclusi {followersCount} dei tuoi seguaci e {followingCount, plural, one {# account} other {# account}} che segui.",
@@ -517,19 +536,17 @@
"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.accept_multiple": "{count, plural, one {Accetta # richiesta…} other {Accetta # richieste…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Accetta la richiesta} other {Accetta le richieste}}",
+ "notification_requests.confirm_accept_multiple.message": "Stai per accettare {count, plural, one {una richiesta di notifica} other {# richieste di notifica}}. Si è sicuri di voler procedere?",
+ "notification_requests.confirm_accept_multiple.title": "Accettare le richieste di notifica?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Ignora la richiesta} other {Ignora le richieste}}",
+ "notification_requests.confirm_dismiss_multiple.message": "Stai per ignorare {count, plural, one {una richiesta di notifica} other {# richieste di notifiche}}. Non potrai più accedere facilmente ad {count, plural, one {essa} other {esse}}. Si è sicuri di voler procedere?",
+ "notification_requests.confirm_dismiss_multiple.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.dismiss_multiple": "{count, plural, one {Ignora # richiesta…} other {Ignora # richieste…}}",
+ "notification_requests.edit_selection": "Modifica",
+ "notification_requests.exit_selection": "Fatto",
"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",
@@ -576,6 +593,8 @@
"notifications.policy.accept": "Accetta",
"notifications.policy.accept_hint": "Mostra nelle notifiche",
"notifications.policy.drop": "Ignora",
+ "notifications.policy.drop_hint": "Scarta definitivamente, per non essere mai più visto",
+ "notifications.policy.filter": "Filtrare",
"notifications.policy.filter_hint": "Invia alla casella in arrivo delle notifiche filtrate",
"notifications.policy.filter_limited_accounts_hint": "Limitato dai moderatori del server",
"notifications.policy.filter_limited_accounts_title": "Account moderati",
@@ -774,8 +793,6 @@
"status.favourite": "Preferito",
"status.favourites": "{count, plural, one {preferito} other {preferiti}}",
"status.filter": "Filtra questo post",
- "status.filtered": "Filtrato",
- "status.hide": "Nascondi il post",
"status.history.created": "Creato da {name} il {date}",
"status.history.edited": "Modificato da {name} il {date}",
"status.load_more": "Carica altro",
@@ -803,10 +820,7 @@
"status.report": "Segnala @{name}",
"status.sensitive_warning": "Contenuto sensibile",
"status.share": "Condividi",
- "status.show_filter_reason": "Mostra comunque",
- "status.show_less": "Mostra meno",
"status.show_less_all": "Mostra meno per tutti",
- "status.show_more": "Mostra di più",
"status.show_more_all": "Mostra di più per tutti",
"status.show_original": "Mostra originale",
"status.title.with_attachments": "{user} ha pubblicato {attachmentCount, plural, one {un allegato} other {{attachmentCount} allegati}}",
@@ -825,11 +839,6 @@
"time_remaining.minutes": "{number, plural, one {# minuto} other {# minuti}} left",
"time_remaining.moments": "Restano pochi istanti",
"time_remaining.seconds": "{number, plural, one {# secondo} other {# secondi}} left",
- "timeline_hint.remote_resource_not_displayed": "{resource} da altri server non sono mostrati.",
- "timeline_hint.resources.followers": "Seguaci",
- "timeline_hint.resources.follows": "Segue",
- "timeline_hint.resources.replies": "Alcune risposte",
- "timeline_hint.resources.statuses": "Post meno recenti",
"trends.counter_by_accounts": "{count, plural, one {{count} persona} other {{count} persone}} {days, plural, one {nell'ultimo giorno} other {negli ultimi {days} giorni}}",
"trends.trending_now": "Ora in tendenza",
"ui.beforeunload": "La tua bozza andrà persa, se abbandoni Mastodon.",
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index 40818b992b7ae4..30a5fe56860d49 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.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": "Bot",
"account.badges.cat": "Cat",
@@ -19,7 +20,6 @@
"account.block_domain": "{domain}全体をブロック",
"account.block_short": "ブロック",
"account.blocked": "ブロック済み",
- "account.browse_more_on_origin_server": "リモートで表示",
"account.cancel_follow_request": "フォローリクエストの取り消し",
"account.copy": "プロフィールへのリンクをコピー",
"account.direct": "@{name}さんに非公開でメンション",
@@ -98,6 +98,8 @@
"block_modal.title": "ユーザーをブロックしますか?",
"block_modal.you_wont_see_mentions": "宛先に相手が入っている投稿も閲覧できなくなります。",
"boost_modal.combo": "次からは{combo}を押せばスキップできます",
+ "boost_modal.reblog": "ブーストしますか?",
+ "boost_modal.undo_reblog": "ブーストを解除しますか?",
"bundle_column_error.copy_stacktrace": "エラーレポートをコピー",
"bundle_column_error.error.body": "要求されたページをレンダリングできませんでした。コードのバグ、またはブラウザの互換性の問題が原因である可能性があります。",
"bundle_column_error.error.title": "おっと!",
@@ -171,21 +173,30 @@
"confirmations.block.confirm": "ブロック",
"confirmations.delete.confirm": "削除",
"confirmations.delete.message": "本当に削除しますか?",
+ "confirmations.delete.title": "投稿を削除しようとしています",
"confirmations.delete_list.confirm": "削除",
"confirmations.delete_list.message": "本当にこのリストを完全に削除しますか?",
+ "confirmations.delete_list.title": "リストを削除しようとしています",
"confirmations.discard_edit_media.confirm": "破棄",
"confirmations.discard_edit_media.message": "メディアの説明またはプレビューに保存されていない変更があります。それでも破棄しますか?",
"confirmations.edit.confirm": "編集",
"confirmations.edit.message": "今編集すると現在作成中のメッセージが上書きされます。本当に実行しますか?",
+ "confirmations.edit.title": "作成中の内容を上書きしようとしています",
"confirmations.logout.confirm": "ログアウト",
"confirmations.logout.message": "本当にログアウトしますか?",
+ "confirmations.logout.title": "ログアウトしようとしています",
"confirmations.mute.confirm": "ミュート",
"confirmations.redraft.confirm": "削除して下書きに戻す",
"confirmations.redraft.message": "投稿を削除して下書きに戻します。この投稿へのお気に入り登録やブーストは失われ、返信は孤立することになります。よろしいですか?",
+ "confirmations.redraft.title": "投稿の削除と下書きの再作成",
"confirmations.reply.confirm": "返信",
"confirmations.reply.message": "今返信すると現在作成中のメッセージが上書きされます。本当に実行しますか?",
+ "confirmations.reply.title": "作成中の内容を上書きしようとしています",
"confirmations.unfollow.confirm": "フォロー解除",
"confirmations.unfollow.message": "本当に{name}さんのフォローを解除しますか?",
+ "confirmations.unfollow.title": "フォローを解除しようとしています",
+ "content_warning.hide": "内容を隠す",
+ "content_warning.show": "承知の上で表示",
"conversation.delete": "会話を削除",
"conversation.mark_as_read": "既読にする",
"conversation.open": "会話を表示",
@@ -293,6 +304,7 @@
"filter_modal.select_filter.subtitle": "既存のカテゴリーを使用するか新規作成します",
"filter_modal.select_filter.title": "この投稿をフィルターする",
"filter_modal.title.status": "投稿をフィルターする",
+ "filter_warning.matches_filter": "フィルター「{title}」に一致する投稿です",
"filtered_notifications_banner.pending_requests": "{count, plural, =0 {すべて完了しました} other {#人の通知がブロックされています}}",
"filtered_notifications_banner.title": "保留中の通知",
"firehose.all": "すべて",
@@ -342,6 +354,14 @@
"hashtag.follow": "ハッシュタグをフォローする",
"hashtag.unfollow": "ハッシュタグのフォローを解除",
"hashtags.and_other": "ほか{count, plural, other {#個}}",
+ "hints.profiles.followers_may_be_missing": "フォロワーの一覧は不正確な場合があります。",
+ "hints.profiles.follows_may_be_missing": "フォローの一覧は不正確な場合があります。",
+ "hints.profiles.posts_may_be_missing": "すべての投稿を表示できていない場合があります。",
+ "hints.profiles.see_more_followers": "{domain} で正確な情報を見る",
+ "hints.profiles.see_more_follows": "{domain} で正確な情報を見る",
+ "hints.profiles.see_more_posts": "{domain} でその他の投稿を見る",
+ "hints.threads.replies_may_be_missing": "リモートの返信は表示されない場合があります。",
+ "hints.threads.see_more": "{domain} でその他の返信を見る",
"home.column_settings.show_reblogs": "ブースト表示",
"home.column_settings.show_replies": "返信表示",
"home.hide_announcements": "お知らせを隠す",
@@ -349,6 +369,17 @@
"home.pending_critical_update.link": "詳細",
"home.pending_critical_update.title": "緊急のセキュリティアップデートがあります",
"home.show_announcements": "お知らせを表示",
+ "ignore_notifications_modal.disclaimer": "通知が無視されていることは通知の送信元の相手には伝わりません。通知が破棄されるのみで、投稿や返信の送信を止めさせる効果はありません。",
+ "ignore_notifications_modal.filter_instead": "「保留」に設定",
+ "ignore_notifications_modal.filter_to_act_users": "保留された通知は「受け入れ」「無視」を選択できます。当該ユーザーの通報も可能です",
+ "ignore_notifications_modal.filter_to_avoid_confusion": "通知の破棄による意図しない混乱を避けるためにも、「保留」設定の使用を検討してください",
+ "ignore_notifications_modal.filter_to_review_separately": "「保留」設定を使用することで、保留された通知を個別に確認できます",
+ "ignore_notifications_modal.ignore": "「無視」に設定",
+ "ignore_notifications_modal.limited_accounts_title": "本当に「モデレーションされたアカウントからの通知」を無視するようにしますか?",
+ "ignore_notifications_modal.new_accounts_title": "本当に「新しいアカウントからの通知」を無視するようにしますか?",
+ "ignore_notifications_modal.not_followers_title": "本当に「フォローされていないアカウントからの通知」を無視するようにしますか?",
+ "ignore_notifications_modal.not_following_title": "本当に「フォローしていないアカウントからの通知」を無視するようにしますか?",
+ "ignore_notifications_modal.private_mentions_title": "本当に「外部からの非公開の返信」を無視するようにしますか?",
"interaction_modal.description.favourite": "Mastodonのアカウントがあれば投稿をお気に入り登録して投稿者に気持ちを伝えたり、あとで見返すことができます。",
"interaction_modal.description.follow": "Mastodonのアカウントで{name}さんをフォローしてホームフィードで投稿を受け取れます。",
"interaction_modal.description.reblog": "Mastodonのアカウントでこの投稿をブーストして自分のフォロワーに共有できます。",
@@ -427,7 +458,6 @@
"lists.subheading": "あなたのリスト",
"load_pending": "{count}件の新着",
"loading_indicator.label": "読み込み中…",
- "media_gallery.toggle_visible": "{number, plural, one {画像を閉じる} other {画像を閉じる}}",
"moved_to_account_banner.text": "あなたのアカウント『{disabledAccount}』は『{movedToAccount}』に移動したため現在無効になっています。",
"mute_modal.hide_from_notifications": "通知をオフにする",
"mute_modal.hide_options": "オプションを閉じる",
@@ -438,9 +468,8 @@
"mute_modal.title": "ユーザーをミュートしますか?",
"mute_modal.you_wont_see_mentions": "宛先に相手が入っている投稿も閲覧できなくなります。",
"mute_modal.you_wont_see_posts": "相手はあなたの投稿を今までどおり閲覧できますが、あなたは相手の投稿を閲覧できなくなります。",
- "name_and_others": "{count, plural, other {#人のユーザー}}と{name}",
- "name_and_others_with_link": "
{count, plural, other {#人のユーザー}}と{name}",
"navigation_bar.about": "概要",
+ "navigation_bar.administration": "管理",
"navigation_bar.advanced_interface": "上級者向けUIに戻る",
"navigation_bar.blocks": "ブロックしたユーザー",
"navigation_bar.bookmarks": "ブックマーク",
@@ -457,6 +486,7 @@
"navigation_bar.follows_and_followers": "フォロー・フォロワー",
"navigation_bar.lists": "リスト",
"navigation_bar.logout": "ログアウト",
+ "navigation_bar.moderation": "モデレーション",
"navigation_bar.mutes": "ミュートしたユーザー",
"navigation_bar.opened_in_classic_interface": "投稿やプロフィールを直接開いた場合は一時的に標準UIで表示されます。",
"navigation_bar.personal": "個人用",
@@ -472,9 +502,18 @@
"notification.admin.report_statuses": "{name}さんが{target}さんを「{category}」として通報しました",
"notification.admin.report_statuses_other": "{name}さんが{target}さんを通報しました",
"notification.admin.sign_up": "{name}さんがサインアップしました",
+ "notification.admin.sign_up.name_and_others": "{name}さんほか{count, plural, other {#人}}がサインアップしました",
"notification.favourite": "{name}さんがお気に入りしました",
+ "notification.favourite.name_and_others_with_link": "{name}さん
ほか{count, plural, other {#人}}がお気に入りしました",
"notification.follow": "{name}さんにフォローされました",
+ "notification.follow.name_and_others": "{name}さんほか{count, plural, other {#人}}にフォローされました",
"notification.follow_request": "{name}さんがあなたにフォローリクエストしました",
+ "notification.follow_request.name_and_others": "{name}さんほか{count, plural, other {#人}}があなたにフォローリクエストしました",
+ "notification.label.mention": "メンション",
+ "notification.label.private_mention": "非公開の返信 (メンション)",
+ "notification.label.private_reply": "非公開の返信",
+ "notification.label.reply": "返信",
+ "notification.mention": "メンション",
"notification.moderation-warning.learn_more": "さらに詳しく",
"notification.moderation_warning": "管理者から警告が来ています",
"notification.moderation_warning.action_delete_statuses": "あなたによるいくつかの投稿が削除されました。",
@@ -487,6 +526,7 @@
"notification.own_poll": "アンケートが終了しました",
"notification.poll": "投票したアンケートが終了しました",
"notification.reblog": "{name}さんがあなたの投稿をブーストしました",
+ "notification.reblog.name_and_others_with_link": "{name}さん
ほか{count, plural, other {#人}}にブーストされました",
"notification.relationships_severance_event": "{name} との関係が失われました",
"notification.relationships_severance_event.account_suspension": "{from} の管理者が {target} さんを停止したため、今後このユーザーとの交流や新しい投稿の受け取りができなくなりました。",
"notification.relationships_severance_event.domain_block": "{from} の管理者が {target} をブロックしました。これにより{followersCount}フォロワーと{followingCount, plural, other {#フォロー}}が失われました。",
@@ -495,12 +535,27 @@
"notification.status": "{name}さんが投稿しました",
"notification.update": "{name}さんが投稿を編集しました",
"notification_requests.accept": "受け入れる",
+ "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_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": "最大化",
"notification_requests.minimize_banner": "「保留中の通知」のバナーを最小化する",
"notification_requests.notifications_from": "{name}からの通知",
"notification_requests.title": "保留中の通知",
+ "notification_requests.view": "通知を見る",
"notifications.clear": "通知を消去",
"notifications.clear_confirmation": "本当に通知を消去しますか?",
+ "notifications.clear_title": "通知を消去しようとしています",
"notifications.column_settings.admin.report": "新しい通報:",
"notifications.column_settings.admin.sign_up": "新規登録:",
"notifications.column_settings.alert": "デスクトップ通知",
@@ -534,14 +589,23 @@
"notifications.permission_denied": "ブラウザの通知が拒否されているためデスクトップ通知は利用できません",
"notifications.permission_denied_alert": "ブラウザの通知が拒否されているためデスクトップ通知を有効にできません",
"notifications.permission_required": "必要な権限が付与されていないため、デスクトップ通知は利用できません。",
- "notifications.policy.filter_new_accounts.hint": "作成から{days, plural, other {#日}}以内のアカウントからの通知がブロックされます",
- "notifications.policy.filter_new_accounts_title": "新しいアカウントからの通知をブロックする",
- "notifications.policy.filter_not_followers_hint": "フォローされていても、フォローから{days, plural, other {#日}}経っていない場合はブロックされます",
- "notifications.policy.filter_not_followers_title": "フォローされていないアカウントからの通知をブロックする",
- "notifications.policy.filter_not_following_hint": "手動で通知を受け入れたアカウントはブロックされません",
- "notifications.policy.filter_not_following_title": "フォローしていないアカウントからの通知をブロックする",
- "notifications.policy.filter_private_mentions_hint": "あなたがメンションした相手からの返信、およびフォローしているアカウントからの返信以外がブロックされます",
- "notifications.policy.filter_private_mentions_title": "外部からの非公開の返信をブロックする",
+ "notifications.policy.accept": "受入れ",
+ "notifications.policy.accept_hint": "通知を表示します",
+ "notifications.policy.drop": "無視",
+ "notifications.policy.drop_hint": "通知を破棄します。再表示はできません。",
+ "notifications.policy.filter": "保留",
+ "notifications.policy.filter_hint": "「保留中の通知」に止め置きます",
+ "notifications.policy.filter_limited_accounts_hint": "モデレーターにより制限されたアカウントから送られる通知が対象です",
+ "notifications.policy.filter_limited_accounts_title": "モデレーションされたアカウントからの通知",
+ "notifications.policy.filter_new_accounts.hint": "作成から{days, plural, other {#日}}以内のアカウントが対象です",
+ "notifications.policy.filter_new_accounts_title": "新しいアカウントからの通知",
+ "notifications.policy.filter_not_followers_hint": "フォローされていても、フォローから{days, plural, other {#日}}経っていない場合は対象になります",
+ "notifications.policy.filter_not_followers_title": "フォローされていないアカウントからの通知",
+ "notifications.policy.filter_not_following_hint": "手動で通知を受け入れたアカウントは対象外です",
+ "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": "お見逃しなく",
@@ -728,8 +792,6 @@
"status.favourite": "お気に入り",
"status.favourites": "{count, plural, one {お気に入り} other {お気に入り}}",
"status.filter": "この投稿をフィルターする",
- "status.filtered": "フィルターされました",
- "status.hide": "投稿を非表示",
"status.history.created": "{name}さんが{date}に作成",
"status.history.edited": "{name}さんが{date}に編集",
"status.load_more": "もっと見る",
@@ -757,10 +819,7 @@
"status.report": "@{name}さんを通報",
"status.sensitive_warning": "閲覧注意",
"status.share": "共有",
- "status.show_filter_reason": "表示する",
- "status.show_less": "隠す",
"status.show_less_all": "全て隠す",
- "status.show_more": "もっと見る",
"status.show_more_all": "全て見る",
"status.show_original": "原文を表示",
"status.title.with_attachments": "{user}さんの投稿 {attachmentCount, plural, other {({attachmentCount}件のメディア)}}",
@@ -779,10 +838,6 @@
"time_remaining.minutes": "残り{number}分",
"time_remaining.moments": "まもなく終了",
"time_remaining.seconds": "残り{number}秒",
- "timeline_hint.remote_resource_not_displayed": "他のサーバーの{resource}は表示されません。",
- "timeline_hint.resources.followers": "フォロワー",
- "timeline_hint.resources.follows": "フォロー",
- "timeline_hint.resources.statuses": "以前の投稿",
"trends.counter_by_accounts": "過去{days, plural, one {{days}日} other {{days}日}}に{count, plural, one {{counter}人} other {{counter} 人}}",
"trends.trending_now": "トレンドタグ",
"ui.beforeunload": "Mastodonから離れると送信前の投稿は失われます。",
diff --git a/app/javascript/mastodon/locales/ka.json b/app/javascript/mastodon/locales/ka.json
index edb19c1d3a912f..0bd86a24760564 100644
--- a/app/javascript/mastodon/locales/ka.json
+++ b/app/javascript/mastodon/locales/ka.json
@@ -153,7 +153,6 @@
"lists.new.title_placeholder": "ახალი სიის სათაური",
"lists.search": "ძებნა ადამიანებს შორის რომელთაც მიჰყვებით",
"lists.subheading": "თქვენი სიები",
- "media_gallery.toggle_visible": "ხილვადობის ჩართვა",
"navigation_bar.blocks": "დაბლოკილი მომხმარებლები",
"navigation_bar.community_timeline": "ლოკალური თაიმლაინი",
"navigation_bar.compose": "Compose new toot",
@@ -224,7 +223,6 @@
"status.delete": "წაშლა",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "ჩართვა",
- "status.filtered": "ფილტრირებული",
"status.load_more": "მეტის ჩატვირთვა",
"status.media_hidden": "მედია დამალულია",
"status.mention": "ასახელე @{name}",
@@ -244,16 +242,13 @@
"status.report": "დაარეპორტე @{name}",
"status.sensitive_warning": "მგრძნობიარე კონტენტი",
"status.share": "გაზიარება",
- "status.show_less": "აჩვენე ნაკლები",
"status.show_less_all": "აჩვენე ნაკლები ყველაზე",
- "status.show_more": "აჩვენე მეტი",
"status.show_more_all": "აჩვენე მეტი ყველაზე",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
"status.unmute_conversation": "საუბარზე გაჩუმების მოშორება",
"status.unpin": "პროფილიდან პინის მოშორება",
"tabs_bar.home": "სახლი",
"tabs_bar.notifications": "შეტყობინებები",
- "timeline_hint.resources.statuses": "Older toots",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"ui.beforeunload": "თქვენი დრაფტი გაუქმდება თუ დატოვებთ მასტოდონს.",
"upload_area.title": "გადმოწიეთ და ჩააგდეთ ასატვირთათ",
diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json
index 8d4f128e9a400e..ae783b6c246138 100644
--- a/app/javascript/mastodon/locales/kab.json
+++ b/app/javascript/mastodon/locales/kab.json
@@ -15,7 +15,6 @@
"account.block_domain": "Ffer kra i d-yekkan seg {domain}",
"account.block_short": "Sewḥel",
"account.blocked": "Yettusewḥel",
- "account.browse_more_on_origin_server": "Snirem ugar deg umeɣnu aneẓli",
"account.cancel_follow_request": "Sefsex taḍfart",
"account.copy": "Nɣel assaɣ ɣer umaɣnu",
"account.direct": "Bder-d @{name} weḥd-s",
@@ -159,6 +158,8 @@
"confirmations.reply.message": "Tiririt akka tura ad k-degger izen-agi i tettaruḍ. Tebɣiḍ ad tkemmleḍ?",
"confirmations.unfollow.confirm": "Ur ḍḍafaṛ ara",
"confirmations.unfollow.message": "Tetḥeqqeḍ belli tebɣiḍ ur teṭafaṛeḍ ara {name}?",
+ "content_warning.hide": "Ffer tasuffeɣt",
+ "content_warning.show": "Ssken-d akken tebɣu tili",
"conversation.delete": "Kkes adiwenni",
"conversation.mark_as_read": "Creḍ yettwaɣṛa",
"conversation.open": "Ssken adiwenni",
@@ -350,7 +351,6 @@
"lists.subheading": "Tibdarin-ik·im",
"load_pending": "{count, plural, one {# n uferdis amaynut} other {# n yiferdisen imaynuten}}",
"loading_indicator.label": "Yessalay-d …",
- "media_gallery.toggle_visible": "{number, plural, one {Ffer tugna} other {Ffer tugniwin}}",
"mute_modal.hide_from_notifications": "Ffer-it deg ulɣuten",
"mute_modal.hide_options": "Ffer tinefrunin",
"mute_modal.indefinite": "Alamma ssnesreɣ asgugem fell-as",
@@ -361,6 +361,7 @@
"mute_modal.you_wont_see_mentions": "Ur tezmireḍ ara ad twaliḍ tisuffaɣ anda d-yettwabdar.",
"mute_modal.you_wont_see_posts": "Yezmer ad yettwali tisuffaɣ-ik·im, maca ur tettwaliḍ ara tidak-is.",
"navigation_bar.about": "Ɣef",
+ "navigation_bar.administration": "Tadbelt",
"navigation_bar.advanced_interface": "Ldi deg ugrudem n web leqqayen",
"navigation_bar.blocks": "Iseqdacen yettusḥebsen",
"navigation_bar.bookmarks": "Ticraḍ",
@@ -391,6 +392,11 @@
"notification.favourite": "{name} yesmenyaf addad-ik·im",
"notification.follow": "iṭṭafar-ik·em-id {name}",
"notification.follow_request": "{name} yessuter-d ad k·m-yeḍfeṛ",
+ "notification.label.mention": "Abdar",
+ "notification.label.private_mention": "Abdar uslig",
+ "notification.label.private_reply": "Tiririt tusligt",
+ "notification.label.reply": "Tiririt",
+ "notification.mention": "Abdar",
"notification.moderation-warning.learn_more": "Issin ugar",
"notification.moderation_warning.action_suspend": "Yettwaseḥbes umiḍan-ik.",
"notification.own_poll": "Tafrant-ik·im tfuk",
@@ -399,6 +405,7 @@
"notification.status": "{name} akken i d-yessufeɣ",
"notification_requests.accept": "Qbel",
"notification_requests.dismiss": "Agi",
+ "notification_requests.exit_selection": "Immed",
"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?",
@@ -430,6 +437,7 @@
"notifications.group": "{count} n walɣuten",
"notifications.mark_as_read": "Creḍ meṛṛa alɣuten am wakken ttwaɣran",
"notifications.permission_denied": "D awezɣi ad yili wermad n walɣuten n tnarit axateṛ turagt tettwagdel",
+ "notifications.policy.drop": "Anef-as",
"notifications.policy.filter_new_accounts.hint": "Imiḍanen imaynuten i d-yennulfan deg {days, plural, one {yiwen n wass} other {# n wussan}} yezrin",
"notifications.policy.filter_new_accounts_title": "Imiḍan imaynuten",
"notifications.policy.filter_not_followers_hint": "Ula d wid akked tid i k·m-id-iḍefren, ur wwiḍen ara {days, plural, one {yiwen wass} other {# wussan}}",
@@ -486,7 +494,7 @@
"privacy.private.short": "Imeḍfaren",
"privacy.public.long": "Kra n win yellan deg Masṭudun neɣ berra-s",
"privacy.public.short": "Azayez",
- "privacy.unlisted.long": "Kra kan n ilguritmen",
+ "privacy.unlisted.long": "Kra kan yiwarzimen",
"privacy_policy.last_updated": "Aleqqem aneggaru {date}",
"privacy_policy.title": "Tasertit tabaḍnit",
"recommended": "Yettuwelleh",
@@ -537,6 +545,7 @@
"report_notification.categories.legal": "Azerfan",
"report_notification.categories.other": "Ayen nniḍen",
"report_notification.categories.spam": "Aspam",
+ "report_notification.categories.spam_sentence": "aspam",
"report_notification.open": "Ldi aneqqis",
"search.no_recent_searches": "Ulac inadiyen ineggura",
"search.placeholder": "Nadi",
@@ -579,8 +588,6 @@
"status.favourite": "Amenyaf",
"status.favourites": "{count, plural, one {n usmenyaf} other {n ismenyafen}}",
"status.filter": "Sizdeg tassufeɣt-a",
- "status.filtered": "Yettwasizdeg",
- "status.hide": "Ffer tasuffeɣt",
"status.history.created": "Yerna-t {name} {date}",
"status.history.edited": "Ibeddel-it {name} {date}",
"status.load_more": "Sali ugar",
@@ -607,10 +614,7 @@
"status.report": "Cetki ɣef @{name}",
"status.sensitive_warning": "Agbur amḥulfu",
"status.share": "Bḍu",
- "status.show_filter_reason": "Ssken-d akken yebɣu yili",
- "status.show_less": "Ssken-d drus",
"status.show_less_all": "Semẓi akk tisuffɣin",
- "status.show_more": "Ssken-d ugar",
"status.show_more_all": "Ẓerr ugar lebda",
"status.show_original": "Sken aɣbalu",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
@@ -626,10 +630,6 @@
"time_remaining.minutes": "Mazal {number, plural, one {# n tesdat} other {# n tesdatin}}",
"time_remaining.moments": "Akuden i d-yeqqimen",
"time_remaining.seconds": "Mazal {number, plural, one {# n tasint} other {# n tsinin}} id yugran",
- "timeline_hint.remote_resource_not_displayed": "{resource} seg yiqeddacen-nniḍen ur d-ttwaskanent ara.",
- "timeline_hint.resources.followers": "Imeḍfaṛen",
- "timeline_hint.resources.follows": "T·Yeṭafaṛ",
- "timeline_hint.resources.statuses": "Tisuffaɣ tiqdimin",
"trends.counter_by_accounts": "{count, plural, one {{counter} wemdan} other {{counter} medden}} deg {days, plural, one {ass} other {{days} wussan}} iɛeddan",
"trends.trending_now": "Ayen mucaɛen tura",
"ui.beforeunload": "Arewway-ik·im ad iruḥ ma yella tefeɣ-d deg Maṣṭudun.",
diff --git a/app/javascript/mastodon/locales/kk.json b/app/javascript/mastodon/locales/kk.json
index dbe6bcbf7ef9b3..461dec75a09012 100644
--- a/app/javascript/mastodon/locales/kk.json
+++ b/app/javascript/mastodon/locales/kk.json
@@ -19,7 +19,6 @@
"account.block_domain": "{domain} доменін бұғаттау",
"account.block_short": "Бұғаттау",
"account.blocked": "Бұғатталған",
- "account.browse_more_on_origin_server": "Бастапқы профильден шолу",
"account.cancel_follow_request": "Withdraw follow request",
"account.disable_notifications": "@{name} постары туралы ескертпеу",
"account.domain_blocked": "Домен бұғатталған",
@@ -224,7 +223,6 @@
"lists.search": "Сіз іздеген адамдар арасында іздеу",
"lists.subheading": "Тізімдеріңіз",
"load_pending": "{count, plural, one {# жаңа нәрсе} other {# жаңа нәрсе}}",
- "media_gallery.toggle_visible": "Көрінуді қосу",
"navigation_bar.blocks": "Бұғатталғандар",
"navigation_bar.bookmarks": "Бетбелгілер",
"navigation_bar.community_timeline": "Жергілікті желі",
@@ -319,7 +317,6 @@
"status.detailed_status": "Толық пікірталас көрінісі",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "Embеd",
- "status.filtered": "Фильтрленген",
"status.load_more": "Тағы әкел",
"status.media_hidden": "Жабық медиа",
"status.mention": "Аталым @{name}",
@@ -341,9 +338,7 @@
"status.report": "Шағым @{name}",
"status.sensitive_warning": "Нәзік контент",
"status.share": "Бөлісу",
- "status.show_less": "Аздап көрсет",
"status.show_less_all": "Бәрін аздап көрсет",
- "status.show_more": "Толығырақ",
"status.show_more_all": "Бәрін толығымен",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
"status.unmute_conversation": "Пікірталасты үнсіз қылмау",
@@ -355,10 +350,6 @@
"time_remaining.minutes": "{number, plural, one {# минут} other {# минут}}",
"time_remaining.moments": "Қалған уақыт",
"time_remaining.seconds": "{number, plural, one {# секунд} other {# секунд}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} басқа серверлерде көрсетілмейді.",
- "timeline_hint.resources.followers": "Оқырман",
- "timeline_hint.resources.follows": "Жазылым",
- "timeline_hint.resources.statuses": "Ескі посттары",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"trends.trending_now": "Тренд тақырыптар",
"ui.beforeunload": "Mastodon желісінен шықсаңыз, нобайыңыз сақталмайды.",
diff --git a/app/javascript/mastodon/locales/kn.json b/app/javascript/mastodon/locales/kn.json
index 2dabae0c147b60..941857e25f803f 100644
--- a/app/javascript/mastodon/locales/kn.json
+++ b/app/javascript/mastodon/locales/kn.json
@@ -101,7 +101,6 @@
"status.pinned": "Pinned toot",
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
- "timeline_hint.resources.statuses": "Older toots",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"upload_form.audio_description": "Describe for people with hearing loss",
"upload_form.description": "Describe for the visually impaired",
diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json
index 6cf8f67d3e776c..4c78f4332e8cbe 100644
--- a/app/javascript/mastodon/locales/ko.json
+++ b/app/javascript/mastodon/locales/ko.json
@@ -19,7 +19,6 @@
"account.block_domain": "{domain} 도메인 차단",
"account.block_short": "차단",
"account.blocked": "차단함",
- "account.browse_more_on_origin_server": "원본 프로필에서 더 탐색하기",
"account.cancel_follow_request": "팔로우 취소",
"account.copy": "프로필 링크 복사",
"account.direct": "@{name} 님에게 개인적으로 멘션",
@@ -35,9 +34,9 @@
"account.follow_back": "맞팔로우 하기",
"account.followers": "팔로워",
"account.followers.empty": "아직 아무도 이 사용자를 팔로우하고 있지 않습니다.",
- "account.followers_counter": "{count, plural, other {{counter} 팔로워}}",
+ "account.followers_counter": "{count, plural, other {팔로워 {counter}명}}",
"account.following": "팔로잉",
- "account.following_counter": "{count, plural, other {{counter} 팔로잉}}",
+ "account.following_counter": "{count, plural, other {팔로잉 {counter}명}}",
"account.follows.empty": "이 사용자는 아직 아무도 팔로우하고 있지 않습니다.",
"account.go_to_profile": "프로필로 이동",
"account.hide_reblogs": "@{name}의 부스트를 숨기기",
@@ -63,7 +62,7 @@
"account.requested_follow": "{name} 님이 팔로우 요청을 보냈습니다",
"account.share": "@{name}의 프로필 공유",
"account.show_reblogs": "@{name}의 부스트 보기",
- "account.statuses_counter": "{count, plural, other {{counter} 게시물}}",
+ "account.statuses_counter": "{count, plural, other {게시물 {counter}개}}",
"account.unblock": "차단 해제",
"account.unblock_domain": "도메인 {domain} 차단 해제",
"account.unblock_short": "차단 해제",
@@ -98,6 +97,8 @@
"block_modal.title": "사용자를 차단할까요?",
"block_modal.you_wont_see_mentions": "그를 멘션하는 게시물을 더는 보지 않습니다.",
"boost_modal.combo": "다음엔 {combo}를 눌러서 이 과정을 건너뛸 수 있습니다",
+ "boost_modal.reblog": "게시물을 부스트할까요?",
+ "boost_modal.undo_reblog": "게시물을 부스트 취소할까요?",
"bundle_column_error.copy_stacktrace": "에러 리포트 복사하기",
"bundle_column_error.error.body": "요청한 페이지를 렌더링 할 수 없습니다. 저희의 코드에 버그가 있거나, 브라우저 호환성 문제일 수 있습니다.",
"bundle_column_error.error.title": "으악, 안돼!",
@@ -155,7 +156,7 @@
"compose_form.placeholder": "지금 무슨 생각을 하고 있나요?",
"compose_form.poll.duration": "투표 기간",
"compose_form.poll.multiple": "다중 선택",
- "compose_form.poll.option_placeholder": "{option}번째 항목",
+ "compose_form.poll.option_placeholder": "{number}번째 옵션",
"compose_form.poll.single": "단일 선택",
"compose_form.poll.switch_to_multiple": "다중 선택이 가능한 투표로 변경",
"compose_form.poll.switch_to_single": "단일 선택 투표로 변경",
@@ -193,6 +194,8 @@
"confirmations.unfollow.confirm": "팔로우 해제",
"confirmations.unfollow.message": "정말로 {name} 님을 팔로우 해제하시겠습니까?",
"confirmations.unfollow.title": "사용자를 언팔로우 할까요?",
+ "content_warning.hide": "게시물 숨기기",
+ "content_warning.show": "무시하고 보기",
"conversation.delete": "대화 삭제",
"conversation.mark_as_read": "읽은 상태로 표시",
"conversation.open": "대화 보기",
@@ -300,6 +303,7 @@
"filter_modal.select_filter.subtitle": "기존의 카테고리를 사용하거나 새로 하나를 만듧니다",
"filter_modal.select_filter.title": "이 게시물을 필터",
"filter_modal.title.status": "게시물 필터",
+ "filter_warning.matches_filter": "\"{title}\" 필터에 걸림",
"filtered_notifications_banner.pending_requests": "알 수도 있는 {count, plural, =0 {0 명} one {한 명} other {# 명}}의 사람들로부터",
"filtered_notifications_banner.title": "걸러진 알림",
"firehose.all": "모두",
@@ -343,12 +347,20 @@
"hashtag.column_settings.tag_mode.any": "어느것이든",
"hashtag.column_settings.tag_mode.none": "이것들을 제외하고",
"hashtag.column_settings.tag_toggle": "추가 해시태그를 이 컬럼에 추가합니다",
- "hashtag.counter_by_accounts": "{count, plural, other {{counter} 명의 참여자}}",
- "hashtag.counter_by_uses": "{count, plural, other {{counter} 개의 게시물}}",
- "hashtag.counter_by_uses_today": "오늘 {count, plural, other {{counter} 개의 게시물}}",
- "hashtag.follow": "팔로우",
- "hashtag.unfollow": "팔로우 해제",
- "hashtags.and_other": "…그리고 {count, plural,other {#개 더}}",
+ "hashtag.counter_by_accounts": "{count, plural, other {참여자 {counter}명}}",
+ "hashtag.counter_by_uses": "{count, plural, other {게시물 {counter}개}}",
+ "hashtag.counter_by_uses_today": "금일 {count, plural, other {게시물 {counter}개}}",
+ "hashtag.follow": "해시태그 팔로우",
+ "hashtag.unfollow": "해시태그 팔로우 해제",
+ "hashtags.and_other": "…및 {count, plural,other {#개}}",
+ "hints.profiles.followers_may_be_missing": "이 프로필의 팔로워 목록은 일부 누락되었을 수 있습니다.",
+ "hints.profiles.follows_may_be_missing": "이 프로필의 팔로우 목록은 일부 누락되었을 수 있습니다.",
+ "hints.profiles.posts_may_be_missing": "이 프로필의 게시물은 일부 누락되었을 수 있습니다.",
+ "hints.profiles.see_more_followers": "{domain}에서 더 많은 팔로워 보기",
+ "hints.profiles.see_more_follows": "{domain}에서 더 많은 팔로우 보기",
+ "hints.profiles.see_more_posts": "{domain}에서 더 많은 게시물 보기",
+ "hints.threads.replies_may_be_missing": "다른 서버의 답글은 일부 누락되었을 수 있습니다.",
+ "hints.threads.see_more": "{domain}에서 더 많은 답글 보기",
"home.column_settings.show_reblogs": "부스트 표시",
"home.column_settings.show_replies": "답글 표시",
"home.hide_announcements": "공지사항 숨기기",
@@ -356,6 +368,17 @@
"home.pending_critical_update.link": "업데이트 보기",
"home.pending_critical_update.title": "긴급 보안 업데이트가 있습니다!",
"home.show_announcements": "공지사항 보기",
+ "ignore_notifications_modal.disclaimer": "마스토돈은 당신이 그들의 알림을 무시했다는 걸 알려줄 수 없습니다. 알림을 무시한다고 해서 메시지가 오지 않는 것은 아닙니다.",
+ "ignore_notifications_modal.filter_instead": "대신 필터로 거르기",
+ "ignore_notifications_modal.filter_to_act_users": "여전히 사용자를 수락, 거절, 신고할 수 있습니다",
+ "ignore_notifications_modal.filter_to_avoid_confusion": "필터링은 혼란을 예방하는데 도움이 될 수 있습니다",
+ "ignore_notifications_modal.filter_to_review_separately": "걸러진 알림들을 개별적으로 검토할 수 있습니다",
+ "ignore_notifications_modal.ignore": "알림 무시",
+ "ignore_notifications_modal.limited_accounts_title": "중재된 계정의 알림을 무시할까요?",
+ "ignore_notifications_modal.new_accounts_title": "새 계정의 알림을 무시할까요?",
+ "ignore_notifications_modal.not_followers_title": "나를 팔로우하지 않는 사람들의 알림을 무시할까요?",
+ "ignore_notifications_modal.not_following_title": "내가 팔로우하지 않는 사람들의 알림을 무시할까요?",
+ "ignore_notifications_modal.private_mentions_title": "요청하지 않은 개인 멘션 알림을 무시할까요?",
"interaction_modal.description.favourite": "마스토돈 계정을 통해, 게시물을 좋아하는 것으로 작성자에게 호의를 표하고 나중에 보기 위해 저장할 수 있습니다.",
"interaction_modal.description.follow": "마스토돈 계정을 통해, {name} 님을 팔로우 하고 그의 게시물을 홈 피드에서 받아 볼 수 있습니다.",
"interaction_modal.description.reblog": "마스토돈 계정을 통해, 이 게시물을 부스트 하고 자신의 팔로워들에게 공유할 수 있습니다.",
@@ -432,22 +455,21 @@
"lists.replies_policy.title": "답글 표시:",
"lists.search": "팔로우 중인 사람들 중에서 찾기",
"lists.subheading": "리스트",
- "load_pending": "{count}개의 새 항목",
+ "load_pending": "{count, plural, other {#}} 개의 새 항목",
"loading_indicator.label": "불러오는 중...",
- "media_gallery.toggle_visible": "이미지 숨기기",
+ "media_gallery.hide": "숨기기",
"moved_to_account_banner.text": "당신의 계정 {disabledAccount}는 {movedToAccount}로 이동하였기 때문에 현재 비활성화 상태입니다.",
"mute_modal.hide_from_notifications": "알림에서 숨기기",
"mute_modal.hide_options": "옵션 숨기기",
"mute_modal.indefinite": "내가 뮤트를 해제하기 전까지",
"mute_modal.show_options": "옵션 표시",
"mute_modal.they_can_mention_and_follow": "나를 멘션하거나 팔로우 할 수 있습니다, 다만 나에게 안 보일 것입니다.",
- "mute_modal.they_wont_know": "내가 차단했다는 사실을 모를 것입니다.",
+ "mute_modal.they_wont_know": "내가 뮤트했다는 사실을 모를 것입니다.",
"mute_modal.title": "사용자를 뮤트할까요?",
"mute_modal.you_wont_see_mentions": "그를 멘션하는 게시물을 더는 보지 않게 됩니다.",
"mute_modal.you_wont_see_posts": "내가 작성한 게시물을 볼 수는 있지만, 나는 그가 작성한 것을 보지 않게 됩니다.",
- "name_and_others": "{name} 외 {count, plural, other {# 명}}",
- "name_and_others_with_link": "{name} 외
{count, plural, other {# 명}}",
"navigation_bar.about": "정보",
+ "navigation_bar.administration": "관리",
"navigation_bar.advanced_interface": "고급 웹 인터페이스에서 열기",
"navigation_bar.blocks": "차단한 사용자",
"navigation_bar.bookmarks": "북마크",
@@ -464,6 +486,7 @@
"navigation_bar.follows_and_followers": "팔로우와 팔로워",
"navigation_bar.lists": "리스트",
"navigation_bar.logout": "로그아웃",
+ "navigation_bar.moderation": "중재",
"navigation_bar.mutes": "뮤트한 사용자",
"navigation_bar.opened_in_classic_interface": "게시물, 계정, 기타 특정 페이지들은 기본적으로 기존 웹 인터페이스로 열리게 됩니다.",
"navigation_bar.personal": "개인용",
@@ -479,9 +502,18 @@
"notification.admin.report_statuses": "{name} 님이 {target}을 {category}로 신고했습니다",
"notification.admin.report_statuses_other": "{name} 님이 {target}을 신고했습니다",
"notification.admin.sign_up": "{name} 님이 가입했습니다",
+ "notification.admin.sign_up.name_and_others": "{name} 외 {count, plural, other {# 명}}이 가입했습니다",
"notification.favourite": "{name} 님이 내 게시물을 좋아합니다",
+ "notification.favourite.name_and_others_with_link": "{name} 외
{count, plural, other {# 명}}이 내 게시물을 좋아합니다",
"notification.follow": "{name} 님이 나를 팔로우했습니다",
+ "notification.follow.name_and_others": "{name} 외 {count, plural, other {# 명}}이 날 팔로우 했습니다",
"notification.follow_request": "{name} 님이 팔로우 요청을 보냈습니다",
+ "notification.follow_request.name_and_others": "{name} 외 {count, plural, other {# 명}}이 나에게 팔로우 요청을 보냈습니다",
+ "notification.label.mention": "멘션",
+ "notification.label.private_mention": "개인 멘션",
+ "notification.label.private_reply": "개인 답글",
+ "notification.label.reply": "답글",
+ "notification.mention": "멘션",
"notification.moderation-warning.learn_more": "더 알아보기",
"notification.moderation_warning": "중재 경고를 받았습니다",
"notification.moderation_warning.action_delete_statuses": "게시물 몇 개가 삭제되었습니다.",
@@ -494,6 +526,7 @@
"notification.own_poll": "설문을 마침",
"notification.poll": "참여한 투표가 끝났습니다",
"notification.reblog": "{name} 님이 부스트했습니다",
+ "notification.reblog.name_and_others_with_link": "{name} 외
{count, plural, other {# 명}}이 내 게시물을 부스트했습니다",
"notification.relationships_severance_event": "{name} 님과의 연결이 끊어졌습니다",
"notification.relationships_severance_event.account_suspension": "{from}의 관리자가 {target}를 정지시켰기 때문에 그들과 더이상 상호작용 할 수 없고 정보를 받아볼 수 없습니다.",
"notification.relationships_severance_event.domain_block": "{from}의 관리자가 {target}를 차단하였고 여기에는 나의 {followersCount} 명의 팔로워와 {followingCount, plural, other {#}} 명의 팔로우가 포함되었습니다.",
@@ -502,11 +535,24 @@
"notification.status": "{name} 님이 방금 게시물을 올렸습니다",
"notification.update": "{name} 님이 게시물을 수정했습니다",
"notification_requests.accept": "수락",
+ "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_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": "최대화",
"notification_requests.minimize_banner": "걸러진 알림 배너 최소화",
"notification_requests.notifications_from": "{name} 님으로부터의 알림",
"notification_requests.title": "걸러진 알림",
+ "notification_requests.view": "알림 보기",
"notifications.clear": "알림 비우기",
"notifications.clear_confirmation": "정말로 알림을 삭제하시겠습니까?",
"notifications.clear_title": "알림을 모두 지울까요?",
@@ -543,6 +589,12 @@
"notifications.permission_denied": "권한이 거부되었기 때문에 데스크탑 알림을 활성화할 수 없음",
"notifications.permission_denied_alert": "이전에 브라우저 권한이 거부되었기 때문에, 데스크탑 알림이 활성화 될 수 없습니다.",
"notifications.permission_required": "필요한 권한이 승인되지 않아 데스크탑 알림을 사용할 수 없습니다.",
+ "notifications.policy.accept": "허용",
+ "notifications.policy.accept_hint": "알림 목록에 표시",
+ "notifications.policy.drop": "무시",
+ "notifications.policy.drop_hint": "공허로 보내고, 다시는 보지 않습니다",
+ "notifications.policy.filter": "필터",
+ "notifications.policy.filter_hint": "걸러진 알림 목록으로 보내기",
"notifications.policy.filter_limited_accounts_hint": "서버 중재자에 의해 제한됨",
"notifications.policy.filter_limited_accounts_title": "중재된 계정",
"notifications.policy.filter_new_accounts.hint": "{days, plural, one {하루} other {#일}} 안에 만들어진",
@@ -553,6 +605,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": "마스토돈이 열려 있지 않을 때에도 알림을 받으려면, 데스크탑 알림을 활성화 하세요. 당신은 어떤 종류의 반응이 데스크탑 알림을 발생할 지를 {icon} 버튼을 통해 세세하게 설정할 수 있습니다.",
"notifications_permission_banner.title": "아무것도 놓치지 마세요",
@@ -600,8 +653,8 @@
"poll.closed": "마감",
"poll.refresh": "새로고침",
"poll.reveal": "결과 보기",
- "poll.total_people": "{count}명",
- "poll.total_votes": "{count} 표",
+ "poll.total_people": "{count, plural, other {#}} 명",
+ "poll.total_votes": "{count, plural, other {#}} 표",
"poll.vote": "투표",
"poll.voted": "이 답변에 투표함",
"poll.votes": "{votes} 표",
@@ -634,7 +687,7 @@
"relative_time.minutes": "{number}분 전",
"relative_time.seconds": "{number}초 전",
"relative_time.today": "오늘",
- "reply_indicator.attachments": "{count, plural, one {#} other {#}}개의 첨부파일",
+ "reply_indicator.attachments": "{count, plural, other {#}} 개의 첨부파일",
"reply_indicator.cancel": "취소",
"reply_indicator.poll": "투표",
"report.block": "차단",
@@ -734,13 +787,11 @@
"status.direct_indicator": "개인적인 멘션",
"status.edit": "수정",
"status.edited": "{date}에 마지막으로 편집됨",
- "status.edited_x_times": "{count}번 수정됨",
+ "status.edited_x_times": "{count, plural, other {{count}}} 번 수정됨",
"status.embed": "임베드",
"status.favourite": "좋아요",
"status.favourites": "{count, plural, other {좋아요}}",
"status.filter": "이 게시물을 필터",
- "status.filtered": "필터로 걸러짐",
- "status.hide": "게시물 숨기기",
"status.history.created": "{name} 님이 {date}에 처음 게시함",
"status.history.edited": "{name} 님이 {date}에 수정함",
"status.load_more": "더 보기",
@@ -768,10 +819,7 @@
"status.report": "@{name} 신고하기",
"status.sensitive_warning": "민감한 내용",
"status.share": "공유",
- "status.show_filter_reason": "그냥 표시하기",
- "status.show_less": "접기",
"status.show_less_all": "모두 접기",
- "status.show_more": "펼치기",
"status.show_more_all": "모두 펼치기",
"status.show_original": "원본 보기",
"status.title.with_attachments": "{user} 님이 {attachmentCount, plural, one {첨부파일} other {{attachmentCount}개의 첨부파일}}과 함께 게시함",
@@ -790,10 +838,6 @@
"time_remaining.minutes": "{number} 분 남음",
"time_remaining.moments": "남은 시간",
"time_remaining.seconds": "{number} 초 남음",
- "timeline_hint.remote_resource_not_displayed": "다른 서버의 {resource} 표시는 할 수 없습니다.",
- "timeline_hint.resources.followers": "팔로워",
- "timeline_hint.resources.follows": "팔로우",
- "timeline_hint.resources.statuses": "이전 게시물",
"trends.counter_by_accounts": "이전 {days}일 동안 {counter} 명의 사용자",
"trends.trending_now": "지금 유행 중",
"ui.beforeunload": "지금 나가면 저장되지 않은 항목을 잃게 됩니다.",
@@ -816,7 +860,7 @@
"upload_modal.description_placeholder": "다람쥐 헌 쳇바퀴 타고파",
"upload_modal.detect_text": "사진에서 문자 탐색",
"upload_modal.edit_media": "미디어 수정",
- "upload_modal.hint": "미리보기를 클릭하거나 드래그 해서 포컬 포인트를 맞추세요. 이 점은 썸네일에 항상 보여질 부분을 나타냅니다.",
+ "upload_modal.hint": "미리보기를 클릭하거나 드래그 해서 초점을 맞추세요. 이 점은 썸네일에서 항상 보여질 부분을 나타냅니다.",
"upload_modal.preparing_ocr": "OCR 준비 중…",
"upload_modal.preview_label": "미리보기 ({ratio})",
"upload_progress.label": "업로드 중...",
diff --git a/app/javascript/mastodon/locales/ku.json b/app/javascript/mastodon/locales/ku.json
index c8188743897931..d69f4b0d05e1a8 100644
--- a/app/javascript/mastodon/locales/ku.json
+++ b/app/javascript/mastodon/locales/ku.json
@@ -17,7 +17,6 @@
"account.block": "@{name} asteng bike",
"account.block_domain": "Navpera {domain} asteng bike",
"account.blocked": "Astengkirî",
- "account.browse_more_on_origin_server": "Li pelên resen bêtir bigere",
"account.cancel_follow_request": "Daxwaza şopandinê vekişîne",
"account.direct": "Bi taybetî qale @{name} bike",
"account.disable_notifications": "Êdî min agahdar neke gava @{name} diweşîne",
@@ -314,7 +313,6 @@
"lists.search": "Di navbera kesên ku te dişopînin bigere",
"lists.subheading": "Lîsteyên te",
"load_pending": "{count, plural, one {# hêmaneke nû} other {#hêmaneke nû}}",
- "media_gallery.toggle_visible": "{number, plural, one {Wêneyê veşêre} other {Wêneyan veşêre}}",
"moved_to_account_banner.text": "Ajimêrê te {disabledAccount} niha neçalak e ji ber ku te bar kir bo {movedToAccount}.",
"navigation_bar.about": "Derbar",
"navigation_bar.blocks": "Bikarhênerên astengkirî",
@@ -502,8 +500,6 @@
"status.edited_x_times": "{count, plural, one {{count} car} other {{count} car}} hate serrastkirin",
"status.embed": "Bi cih bike",
"status.filter": "Vê şandiyê parzûn bike",
- "status.filtered": "Parzûnkirî",
- "status.hide": "Şandiyê veşêre",
"status.history.created": "{name} {date} afirand",
"status.history.edited": "{name} {date} serrast kir",
"status.load_more": "Bêtir bar bike",
@@ -528,10 +524,7 @@
"status.report": "@{name} ragihîne",
"status.sensitive_warning": "Naveroka hestiyarî",
"status.share": "Parve bike",
- "status.show_filter_reason": "Bi her awayî nîşan bide",
- "status.show_less": "Kêmtir nîşan bide",
"status.show_less_all": "Ji bo hemîyan kêmtir nîşan bide",
- "status.show_more": "Bêtir nîşan bide",
"status.show_more_all": "Bêtir nîşan bide bo hemûyan",
"status.show_original": "A resen nîşan bide",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
@@ -549,10 +542,6 @@
"time_remaining.minutes": "{number, plural, one {# xulek} other {# xulek}} maye",
"time_remaining.moments": "Demên mayî",
"time_remaining.seconds": "{number, plural, one {# çirke} other {# çirke}} maye",
- "timeline_hint.remote_resource_not_displayed": "{resource} Ji rajekerên din nayê dîtin.",
- "timeline_hint.resources.followers": "Şopîner",
- "timeline_hint.resources.follows": "Dişopîne",
- "timeline_hint.resources.statuses": "Şandiyên kevn",
"trends.counter_by_accounts": "{count, plural, one {{counter} kes} other {{counter} kes}} berî {days, plural, one {roj} other {{days} roj}}",
"trends.trending_now": "Rojev",
"ui.beforeunload": "Ger ji Mastodonê veketi wê reşnivîsa te jî winda bibe.",
diff --git a/app/javascript/mastodon/locales/kw.json b/app/javascript/mastodon/locales/kw.json
index ae1d1047bf132f..046910daf8e29c 100644
--- a/app/javascript/mastodon/locales/kw.json
+++ b/app/javascript/mastodon/locales/kw.json
@@ -6,7 +6,6 @@
"account.block": "Lettya @{name}",
"account.block_domain": "Lettya gorfarth {domain}",
"account.blocked": "Lettys",
- "account.browse_more_on_origin_server": "Peuri moy y'n profil derowel",
"account.cancel_follow_request": "Withdraw follow request",
"account.disable_notifications": "Hedhi ow gwarnya pan wra @{name} postya",
"account.domain_blocked": "Gorfarth lettys",
@@ -214,7 +213,6 @@
"lists.search": "Hwilas yn-mysk tus a holyewgh",
"lists.subheading": "Agas rolyow",
"load_pending": "{count, plural, one {# daklennowydh} other {# a daklennow nowydh}}",
- "media_gallery.toggle_visible": "Hide {number, plural, one {aven} other {aven}}",
"navigation_bar.blocks": "Devnydhyoryon lettys",
"navigation_bar.bookmarks": "Folennosow",
"navigation_bar.community_timeline": "Amserlin leel",
@@ -320,7 +318,6 @@
"status.detailed_status": "Gwel kesklapp a-vanyl",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "Staga",
- "status.filtered": "Sidhlys",
"status.load_more": "Karga moy",
"status.media_hidden": "Myski kudhys",
"status.mention": "Meneges @{name}",
@@ -342,9 +339,7 @@
"status.report": "Reportya @{name}",
"status.sensitive_warning": "Dalgh tender",
"status.share": "Kevrenna",
- "status.show_less": "Diskwedhes le",
"status.show_less_all": "Diskwedhes le rag puptra",
- "status.show_more": "Diskwedhes moy",
"status.show_more_all": "Diskwedhes moy rag puptra",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
"status.unmute_conversation": "Antawhe kesklapp",
@@ -356,10 +351,6 @@
"time_remaining.minutes": "{number, plural, one {# vynysen} other {# a vynysennow}} gesys",
"time_remaining.moments": "Polsyow gesys",
"time_remaining.seconds": "{number, plural, one {# eylen} other {# eylen}} gesys",
- "timeline_hint.remote_resource_not_displayed": "Nyns yw {resource} a'n leurennow erel displetys.",
- "timeline_hint.resources.followers": "Holyoryon",
- "timeline_hint.resources.follows": "Holyansow",
- "timeline_hint.resources.statuses": "Kottha postow",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"trends.trending_now": "Tuedhegus lemmyn",
"ui.beforeunload": "Agas kysnkrif a vydh kellys mar kwrewgh diberth a Mastodon.",
diff --git a/app/javascript/mastodon/locales/la.json b/app/javascript/mastodon/locales/la.json
index 8a2512722e1921..d894cc01c68788 100644
--- a/app/javascript/mastodon/locales/la.json
+++ b/app/javascript/mastodon/locales/la.json
@@ -24,6 +24,7 @@
"announcement.announcement": "Proclamatio",
"attachments_list.unprocessed": "(immūtātus)",
"block_modal.you_wont_see_mentions": "Nuntios quibus eos commemorant non videbis.",
+ "boost_modal.combo": "Potes premēre {combo} ut hoc iterum transilīre",
"bundle_column_error.error.title": "Eheu!",
"bundle_column_error.retry": "Retemptare",
"bundle_column_error.routing.title": "CCCCIIII",
@@ -40,7 +41,7 @@
"compose_form.direct_message_warning_learn_more": "Discere plura",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
- "compose_form.lock_disclaimer": "Tua ratio non est {clausa}. Quisquis te sequi potest ut visum accipiat nuntios tuos tantum pro sectatoribus.",
+ "compose_form.lock_disclaimer": "Tua ratio non est {locked}. Quisquis te sequi potest ut visum accipiat nuntios tuos tantum pro sectatoribus.",
"compose_form.lock_disclaimer.lock": "clausum",
"compose_form.placeholder": "What is on your mind?",
"compose_form.publish_form": "Barrire",
@@ -72,7 +73,10 @@
"empty_column.account_timeline": "Hic nulla contributa!",
"empty_column.account_unavailable": "Notio non impetrabilis",
"empty_column.blocks": "Nondum quemquam usorem obsēcāvisti.",
+ "empty_column.bookmarked_statuses": "Nūllae adhuc postēs notātī habēs. Ubi unum notāverīs, hic apparebit.",
"empty_column.direct": "Nōn habēs adhūc ullo mentionēs prīvātās. Cum ūnam mīseris aut accipis, hīc apparēbit.",
+ "empty_column.favourited_statuses": "Nūllae adhuc postēs praeferendī habēs. Ubi unum praeferās, hic apparebit.",
+ "empty_column.follow_requests": "Nūllae adhuc petitionēs sequendi habēs. Ubi unum accipīs, hic apparebit.",
"empty_column.followed_tags": "Nōn adhūc aliquem hastāginem secūtus es. Cum id fēceris, hic ostendētur.",
"empty_column.home": "Tua linea temporum domesticus vacua est! Sequere plures personas ut eam compleas.",
"empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
@@ -84,12 +88,19 @@
"firehose.all": "Omnis",
"footer.about": "De",
"generic.saved": "Servavit",
+ "hashtag.column_header.tag_mode.none": "sine {additional}",
"hashtag.column_settings.tag_mode.all": "Haec omnia",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"hashtag.counter_by_accounts": "{count, plural, one {{counter} particeps} other {{counter} participēs}}",
"hashtag.counter_by_uses": "{count, plural, one {{counter} nuntius} other {{counter} nuntii}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} nuntius} other {{counter} nuntii}} hodie",
"hashtags.and_other": "…et {count, plural, other {# plus}}",
+ "ignore_notifications_modal.filter_to_act_users": "Adhuc poteris accipere, reicere, vel referre usores",
+ "ignore_notifications_modal.filter_to_review_separately": "Percolantur notificatiōnes separātim recensere potes",
+ "interaction_modal.description.favourite": "Cum accūntū in Mastodon, hanc postem praeferre potes ut auctōrī indicēs tē eam aestimāre et ad posterius servēs.",
+ "interaction_modal.description.follow": "Cum accūntū in Mastodon, {name} sequī potes ut eōrum postēs in tēlā domī tuā recipiās.",
+ "interaction_modal.description.reply": "Mastodon de Ratione, huic nuntio respondere potes.",
+ "interaction_modal.sign_in": "Ad hōc servientem nōn dēlūxī. Ubi accūntum tuum hospitātum est?",
"intervals.full.days": "{number, plural, one {# die} other {# dies}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# horae}}",
"intervals.full.minutes": "{number, plural, one {# minutum} other {# minuta}}",
@@ -128,8 +139,8 @@
"lightbox.next": "Secundum",
"lists.account.add": "Adde ad tabellās",
"lists.new.create": "Addere tabella",
+ "lists.subheading": "Tuae tabulae",
"load_pending": "{count, plural, one {# novum item} other {# nova itema}}",
- "media_gallery.toggle_visible": "{number, plural, one {Cēla imaginem} other {Cēla imagines}}",
"moved_to_account_banner.text": "Tua ratione {disabledAccount} interdum reposita est, quod ad {movedToAccount} migrāvisti.",
"mute_modal.you_wont_see_mentions": "Non videbis nuntios quī eōs commemorant.",
"navigation_bar.about": "De",
@@ -146,7 +157,7 @@
"notification.moderation_warning.action_sensitive": "Tua nuntia hinc sensibiliter notabuntur.",
"notification.moderation_warning.action_silence": "Ratio tua est limitata.",
"notification.moderation_warning.action_suspend": "Ratio tua suspensus est.",
- "notification.own_poll": "Suffragium tuum terminatum est.",
+ "notification.own_poll": "Suffragium tuum terminatum est",
"notification.reblog": "{name} tuum nuntium amplificavit.",
"notification.relationships_severance_event.account_suspension": "Admin ab {from} {target} suspendit, quod significat nōn iam posse tē novitātēs ab eīs accipere aut cum eīs interagere.",
"notification.relationships_severance_event.domain_block": "Admin ab {from} {target} obsēcāvit, includēns {followersCount} ex tuīs sectātōribus et {followingCount, plural, one {# ratione} other {# rationibus}} quās sequeris.",
@@ -154,6 +165,8 @@
"notification.status": "{name} nuper publicavit",
"notification.update": "{name} nuntium correxit",
"notification_requests.accept": "Accipe",
+ "notification_requests.confirm_accept_multiple.message": "Tu es accepturus {count, plural, one {una notitia petitionem} other {# notitia petitiones}}. Certus esne procedere vis?",
+ "notification_requests.confirm_dismiss_multiple.message": "Tu {count, plural, one {unam petitionem notificationis} other {# petitiones notificationum}} abrogāre prōximum es. {count, plural, one {Illa} other {Eae}} facile accessū nōn erit. Certus es tē procedere velle?",
"notifications.filter.all": "Omnia",
"notifications.filter.polls": "Eventus electionis",
"notifications.group": "Notificātiōnēs",
@@ -161,7 +174,9 @@
"onboarding.actions.go_to_home": "Go to your home feed",
"onboarding.follows.lead": "Tua domus feed est principalis via Mastodon experīrī. Quō plūrēs persōnas sequeris, eō actīvior et interessantior erit. Ad tē incipiendum, ecce quaedam suāsiones:",
"onboarding.follows.title": "Popular on Mastodon",
- "onboarding.profile.display_name_hint": "Tuum nomen completum aut tuum nomen ludens...",
+ "onboarding.profile.display_name_hint": "Tuum nomen completum aut tuum nomen ludens…",
+ "onboarding.profile.lead": "Hoc semper postea in ratiōnibus complērī potest, ubi etiam plūrēs optiōnēs personalizātiōnis praesto sunt.",
+ "onboarding.profile.note_hint": "Alios hominēs vel #hashtags @nōmināre potes…",
"onboarding.start.lead": "Nunc pars es Mastodonis, singularis, socialis medii platformae decentralis ubi—non algorismus—tuam ipsius experientiam curas. Incipiāmus in nova hac socialis regione:",
"onboarding.start.skip": "Want to skip right ahead?",
"onboarding.start.title": "Perfecisti eam!",
@@ -205,8 +220,11 @@
"report.mute_explanation": "Non videbis eōrum nuntiōs. Possunt adhuc tē sequī et tuōs nuntiōs vidēre, nec sciēbunt sē tacitōs esse.",
"report.next": "Secundum",
"report.placeholder": "Commentāriī adiūnctī",
+ "report.reasons.legal_description": "Putās id legem tuae aut servientis patriae violāre.",
+ "report.reasons.violation_description": "Scis quod certa praecepta frangit",
"report.submit": "Mittere",
"report.target": "Report {target}",
+ "report.unfollow_explanation": "Tu hanc rationem secutus es. Non videre stationes suas in domo tua amplius pascere, eas sequere.",
"report_notification.attached_statuses": "{count, plural, one {{count} nuntius} other {{count} nuntii}} attachiatus",
"report_notification.categories.other": "Altera",
"search.placeholder": "Quaerere",
@@ -233,8 +251,6 @@
"time_remaining.hours": "{number, plural, one {# hora} other {# horae}} restant",
"time_remaining.minutes": "{number, plural, one {# minutum} other {# minuta}} restant",
"time_remaining.seconds": "{number, plural, one {# secundum} other {# secunda}} restant",
- "timeline_hint.remote_resource_not_displayed": "{resource} ab aliīs servīs nōn ostenduntur.",
- "timeline_hint.resources.statuses": "Contributa pristina",
"trends.counter_by_accounts": "{count, plural, one {{counter} persōna} other {{counter} persōnae}} in {days, plural, one {diē prīdiē} other {diēbus praeteritīs {days}}}",
"ui.beforeunload": "Si Mastodon discesseris, tua epitome peribit.",
"units.short.billion": "{count} millia milionum",
diff --git a/app/javascript/mastodon/locales/lad.json b/app/javascript/mastodon/locales/lad.json
index f4954ed3a9f275..e63c22ec696f3d 100644
--- a/app/javascript/mastodon/locales/lad.json
+++ b/app/javascript/mastodon/locales/lad.json
@@ -11,6 +11,7 @@
"about.not_available": "Esta enformasyon no esta desponivle en este sirvidor.",
"about.powered_by": "Redes sosyalas desentralizadas kon uzo de {mastodon}",
"about.rules": "Reglas del sirvidor",
+ "account.account_note_header": "Nota personala",
"account.add_or_remove_from_list": "Adjusta a o kita de listas",
"account.badges.bot": "Otomatizado",
"account.badges.group": "Grupo",
@@ -18,7 +19,6 @@
"account.block_domain": "Bloka el domeno {domain}",
"account.block_short": "Bloka",
"account.blocked": "Blokado",
- "account.browse_more_on_origin_server": "Ve mas en el profil orijinal",
"account.cancel_follow_request": "Anula solisitud de segir",
"account.copy": "Kopia atadijo de profil",
"account.direct": "Enmenta a @{name} en privado",
@@ -92,6 +92,7 @@
"block_modal.title": "Bloka utilizador?",
"block_modal.you_wont_see_mentions": "No veras publikasyones ke lo enmentan.",
"boost_modal.combo": "Puedes klikar {combo} para ometer esto la proksima vez",
+ "boost_modal.reblog": "Repartajar puvlikasyon?",
"bundle_column_error.copy_stacktrace": "Kopia el raporto de yerro",
"bundle_column_error.error.body": "La pajina solisitada no pudo ser renderada. Podria ser por un yerro en muestro kodiche o un problem de kompatibilita kon el navigador.",
"bundle_column_error.error.title": "Atyo, no!",
@@ -165,21 +166,28 @@
"confirmations.block.confirm": "Bloka",
"confirmations.delete.confirm": "Efasa",
"confirmations.delete.message": "Estas siguro ke keres efasar esta publikasyon?",
+ "confirmations.delete.title": "Efasar publikasyon?",
"confirmations.delete_list.confirm": "Efasa",
"confirmations.delete_list.message": "Estas siguro ke keres permanentemente efasar esta lista?",
+ "confirmations.delete_list.title": "Efasa lista?",
"confirmations.discard_edit_media.confirm": "Anula",
"confirmations.discard_edit_media.message": "Tienes trokamientos no guadrados en la deskripsion o vista previa. Keres efasarlos entanto?",
"confirmations.edit.confirm": "Edita",
"confirmations.edit.message": "Si edites agora, kitaras el mesaj kualo estas eskriviendo aktualmente. Estas siguro ke keres fazerlo?",
"confirmations.logout.confirm": "Sal",
"confirmations.logout.message": "Estas siguro ke keres salir de tu kuento?",
+ "confirmations.logout.title": "Salir?",
"confirmations.mute.confirm": "Silensia",
"confirmations.redraft.confirm": "Efasa i reeskrive",
"confirmations.redraft.message": "Estas siguro ke keres efasar esta publikasyon i reeskrivirla? Pedreras todos los favoritos i repartajasyones asosiados kon esta publikasyon i repuestas a eya seran guerfanadas.",
+ "confirmations.redraft.title": "Efasar i reeskrivir?",
"confirmations.reply.confirm": "Arisponde",
"confirmations.reply.message": "Si arispondas agora, kitaras el mesaj kualo estas eskriviendo aktualmente. Estas siguro ke keres fazerlo?",
"confirmations.unfollow.confirm": "Desige",
"confirmations.unfollow.message": "Estas siguro ke keres deshar de segir a {name}?",
+ "confirmations.unfollow.title": "Desige utilizador?",
+ "content_warning.hide": "Eskonde puvlikasyon",
+ "content_warning.show": "Amostra entanto",
"conversation.delete": "Efasa konversasyon",
"conversation.mark_as_read": "Marka komo meldado",
"conversation.open": "Ve konversasyon",
@@ -277,6 +285,7 @@
"filter_modal.select_filter.subtitle": "Kulanea una kategoria egzistente o kriya mueva",
"filter_modal.select_filter.title": "Filtra esta publikasyon",
"filter_modal.title.status": "Filtra una publikasyon",
+ "filtered_notifications_banner.pending_requests": "De {count, plural, =0 {dingun} one {una persona} other {# personas}} ke puedes koneser",
"filtered_notifications_banner.title": "Avizos filtrados",
"firehose.all": "Todo",
"firehose.local": "Este sirvidor",
@@ -330,6 +339,7 @@
"home.pending_critical_update.link": "Ve aktualizasyones",
"home.pending_critical_update.title": "Aktualizasyon de seguridad kritika esta desponivle!",
"home.show_announcements": "Amostra pregones",
+ "ignore_notifications_modal.ignore": "Inyora avizos",
"interaction_modal.description.favourite": "Kon un kuento en Mastodon, puedes markar esta publikasyon komo favorita para ke el autor sepa ke te plaze i para guadrarla para dempues.",
"interaction_modal.description.follow": "Kon un kuento en Mastodon, puedes segir a {name} para risivir sus publikasyones en tu linya temporal prinsipala.",
"interaction_modal.description.reblog": "Kon un kuento en Mastodon, puedes repartajar esta publikasyon para amostrarla a tus suivantes.",
@@ -400,7 +410,7 @@
"lists.exclusive": "Eskonder estas publikasyones de linya prinsipala",
"lists.new.create": "Adjusta lista",
"lists.new.title_placeholder": "Titolo de mueva lista",
- "lists.replies_policy.followed": "Kualseker utilizardo segido",
+ "lists.replies_policy.followed": "Kualseker utilizador segido",
"lists.replies_policy.list": "Miembros de la lista",
"lists.replies_policy.none": "Dinguno",
"lists.replies_policy.title": "Amostra repuestas a:",
@@ -408,7 +418,6 @@
"lists.subheading": "Tus listas",
"load_pending": "{count, plural, one {# muevo elemento} other {# muevos elementos}}",
"loading_indicator.label": "Eskargando…",
- "media_gallery.toggle_visible": "{number, plural, one {Eskonde imaje} other {Eskonde imajes}}",
"moved_to_account_banner.text": "Tu kuento {disabledAccount} esta aktualmente inkapasitado porke transferates a {movedToAccount}.",
"mute_modal.hide_from_notifications": "Eskonde de avizos",
"mute_modal.hide_options": "Eskonde opsyones",
@@ -418,6 +427,7 @@
"mute_modal.title": "Silensiar utilizador?",
"mute_modal.you_wont_see_mentions": "No veras publikasyones ke lo enmentan.",
"navigation_bar.about": "Sovre mozotros",
+ "navigation_bar.administration": "Administrasyon",
"navigation_bar.advanced_interface": "Avre en la enterfaz avanzada",
"navigation_bar.blocks": "Utilizadores blokados",
"navigation_bar.bookmarks": "Markadores",
@@ -434,6 +444,7 @@
"navigation_bar.follows_and_followers": "Segidos i suivantes",
"navigation_bar.lists": "Listas",
"navigation_bar.logout": "Salir",
+ "navigation_bar.moderation": "Moderasyon",
"navigation_bar.mutes": "Utilizadores silensiados",
"navigation_bar.opened_in_classic_interface": "Publikasyones, kuentos i otras pajinas espesifikas se avren kon preferensyas predeterminadas en la enterfaz web klasika.",
"navigation_bar.personal": "Personal",
@@ -449,6 +460,10 @@
"notification.favourite": "A {name} le plaze tu publikasyon",
"notification.follow": "{name} te ampeso a segir",
"notification.follow_request": "{name} tiene solisitado segirte",
+ "notification.label.mention": "Enmenta",
+ "notification.label.private_mention": "Enmentadura privada",
+ "notification.label.reply": "Arisponde",
+ "notification.mention": "Enmenta",
"notification.moderation-warning.learn_more": "Ambezate mas",
"notification.moderation_warning.action_disable": "Tu kuento tiene sido inkapasitado.",
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Algunas de tus publikasyones tienen sido markadas komo sensivles.",
@@ -464,13 +479,18 @@
"notification.update": "{name} edito una publikasyon",
"notification_requests.accept": "Acheta",
"notification_requests.dismiss": "Kita",
+ "notification_requests.edit_selection": "Edita",
+ "notification_requests.exit_selection": "Fecho",
"notification_requests.notifications_from": "Avizos de {name}",
"notification_requests.title": "Avizos filtrados",
+ "notification_requests.view": "Amostra avizos",
"notifications.clear": "Efasa avizos",
"notifications.clear_confirmation": "Estas siguro ke keres permanentemente efasar todos tus avizos?",
+ "notifications.clear_title": "Efasar avizos?",
"notifications.column_settings.admin.report": "Muveos raportos:",
"notifications.column_settings.admin.sign_up": "Muevas enrejistrasyones:",
"notifications.column_settings.alert": "Avizos de ensimameza",
+ "notifications.column_settings.beta.category": "Funksyones eksperimentalas",
"notifications.column_settings.favourite": "Te plazen:",
"notifications.column_settings.filter_bar.advanced": "Amostra todas las kategorias",
"notifications.column_settings.filter_bar.category": "Vara de filtrado rapido",
@@ -499,6 +519,10 @@
"notifications.permission_denied": "Avizos de ensimameza no estan desponivles porke ya se tiene refuzado el permiso",
"notifications.permission_denied_alert": "\"No se pueden kapasitar los avizos de ensimameza, porke ya se tiene refuzado el permiso de navigador",
"notifications.permission_required": "Avizos de ensimameza no estan desponivles porke los nesesarios permisos no tienen sido risividos.",
+ "notifications.policy.accept": "Acheta",
+ "notifications.policy.accept_hint": "Amostra en avizos",
+ "notifications.policy.drop": "Inyora",
+ "notifications.policy.filter": "Filtra",
"notifications.policy.filter_new_accounts.hint": "Kriyadas durante {days, plural, one {el ultimo diya} other {los ultimos # diyas}}",
"notifications.policy.filter_new_accounts_title": "Muevos kuentos",
"notifications.policy.filter_not_followers_title": "Personas ke te no sigen",
@@ -686,8 +710,6 @@
"status.embed": "Inkrusta",
"status.favourite": "Te plaze",
"status.filter": "Filtra esta publikasyon",
- "status.filtered": "Filtrado",
- "status.hide": "Eskonde publikasyon",
"status.history.created": "{name} kriyo {date}",
"status.history.edited": "{name} edito {date}",
"status.load_more": "Eskarga mas",
@@ -714,10 +736,7 @@
"status.report": "Raporta @{name}",
"status.sensitive_warning": "Kontenido sensivle",
"status.share": "Partaja",
- "status.show_filter_reason": "Amostra entanto",
- "status.show_less": "Amostra manko",
"status.show_less_all": "Amostra manko para todo",
- "status.show_more": "Amostra mas",
"status.show_more_all": "Amostra mas para todo",
"status.show_original": "Amostra orijinal",
"status.title.with_attachments": "{user} publiko {attachmentCount, plural, one {un anekso} other {{attachmentCount} aneksos}}",
@@ -736,10 +755,6 @@
"time_remaining.minutes": "{number, plural, one {# minuto restante} other {# minutos restantes}}",
"time_remaining.moments": "Momentos restantes",
"time_remaining.seconds": "{number, plural, one {# sigundo restante} other {# sigundos restantes}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} de otros sirvidores no se amostran.",
- "timeline_hint.resources.followers": "Suivantes",
- "timeline_hint.resources.follows": "Segidos",
- "timeline_hint.resources.statuses": "Publikasyones mas viejas",
"trends.counter_by_accounts": "{count, plural, one {{counter} kuento} other {{counter} kuentos}} en los ultimos {days, plural, one {diyas} other {{days} diyas}}",
"trends.trending_now": "Trendes",
"ui.beforeunload": "La publikasyon ke estas eskriviendo se pedrera si sales de Mastodon.",
diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json
index 45359a40a707ee..cc905e3a21ca15 100644
--- a/app/javascript/mastodon/locales/lt.json
+++ b/app/javascript/mastodon/locales/lt.json
@@ -1,11 +1,11 @@
{
"about.blocks": "Prižiūrimi serveriai",
- "about.contact": "Kontaktuoti:",
+ "about.contact": "Kontaktai:",
"about.disclaimer": "„Mastodon“ – tai nemokama atvirojo kodo programinė įranga ir „Mastodon“ gGmbH prekės ženklas.",
"about.domain_blocks.no_reason_available": "Priežastis nepateikta",
"about.domain_blocks.preamble": "„Mastodon“ paprastai leidžia peržiūrėti turinį ir bendrauti su naudotojais iš bet kurio kito fediverse esančio serverio. Šios yra išimtys, kurios buvo padarytos šiame konkrečiame serveryje.",
- "about.domain_blocks.silenced.explanation": "Paprastai nematysi profilių ir turinio iš šio serverio, nebent jį aiškiai ieškosi arba pasirinksi jį sekdamas (-a).",
- "about.domain_blocks.silenced.title": "Ribota",
+ "about.domain_blocks.silenced.explanation": "Paprastai nematysi profilių ir turinio iš šio serverio, nebent jį aiškiai ieškosi arba pasirinksi jį sekant.",
+ "about.domain_blocks.silenced.title": "Apribota",
"about.domain_blocks.suspended.explanation": "Jokie duomenys iš šio serverio nebus apdorojami, saugomi ar keičiami, todėl bet kokia sąveika ar bendravimas su šio serverio naudotojais bus neįmanomas.",
"about.domain_blocks.suspended.title": "Pristabdyta",
"about.not_available": "Ši informacija nebuvo pateikta šiame serveryje.",
@@ -16,15 +16,14 @@
"account.badges.bot": "Automatizuotas",
"account.badges.group": "Grupė",
"account.block": "Blokuoti @{name}",
- "account.block_domain": "Blokuoti domeną {domain}",
+ "account.block_domain": "Blokuoti serverį {domain}",
"account.block_short": "Blokuoti",
"account.blocked": "Užblokuota",
- "account.browse_more_on_origin_server": "Naršyti daugiau originaliame profilyje",
"account.cancel_follow_request": "Atšaukti sekimą",
"account.copy": "Kopijuoti nuorodą į profilį",
"account.direct": "Privačiai paminėti @{name}",
"account.disable_notifications": "Nustoti man pranešti, kai @{name} paskelbia",
- "account.domain_blocked": "Užblokuotas domenas",
+ "account.domain_blocked": "Užblokuotas serveris",
"account.edit_profile": "Redaguoti profilį",
"account.enable_notifications": "Pranešti man, kai @{name} paskelbia",
"account.endorse": "Rodyti profilyje",
@@ -40,7 +39,7 @@
"account.following_counter": "{count, plural, one {{counter} sekimas} few {{counter} sekimai} many {{counter} sekimo} other {{counter} sekimų}}",
"account.follows.empty": "Šis naudotojas dar nieko neseka.",
"account.go_to_profile": "Eiti į profilį",
- "account.hide_reblogs": "Slėpti pakėlimus iš @{name}",
+ "account.hide_reblogs": "Slėpti pasidalinimus iš @{name}",
"account.in_memoriam": "Atminimui.",
"account.joined_short": "Prisijungė",
"account.languages": "Keisti prenumeruojamas kalbas",
@@ -55,24 +54,24 @@
"account.muted": "Nutildytas",
"account.mutual": "Bendri",
"account.no_bio": "Nėra pateikto aprašymo.",
- "account.open_original_page": "Atidaryti originalinį puslapį",
+ "account.open_original_page": "Atidaryti originalų puslapį",
"account.posts": "Įrašai",
"account.posts_with_replies": "Įrašai ir atsakymai",
"account.report": "Pranešti apie @{name}",
- "account.requested": "Laukiama patvirtinimo. Spustelėk, jei nori atšaukti sekimo prašymą",
+ "account.requested": "Laukiama patvirtinimo. Spustelėk, kad atšauktum sekimo prašymą",
"account.requested_follow": "{name} paprašė tave sekti",
"account.share": "Bendrinti @{name} profilį",
- "account.show_reblogs": "Rodyti pakėlimus iš @{name}",
+ "account.show_reblogs": "Rodyti pasidalinimus iš @{name}",
"account.statuses_counter": "{count, plural, one {{counter} įrašas} few {{counter} įrašai} many {{counter} įrašo} other {{counter} įrašų}}",
"account.unblock": "Atblokuoti @{name}",
- "account.unblock_domain": "Atblokuoti domeną {domain}",
+ "account.unblock_domain": "Atblokuoti serverį {domain}",
"account.unblock_short": "Atblokuoti",
"account.unendorse": "Nerodyti profilyje",
"account.unfollow": "Nebesekti",
"account.unmute": "Atšaukti nutildymą @{name}",
"account.unmute_notifications_short": "Atšaukti nutildymą pranešimams",
"account.unmute_short": "Atšaukti nutildymą",
- "account_note.placeholder": "Spustelėk norint pridėti pastabą.",
+ "account_note.placeholder": "Spustelėk, kad pridėtum pastabą.",
"admin.dashboard.daily_retention": "Naudotojų pasilikimo rodiklis pagal dieną po registracijos",
"admin.dashboard.monthly_retention": "Naudotojų pasilikimo rodiklis pagal mėnesį po registracijos",
"admin.dashboard.retention.average": "Vidurkis",
@@ -82,8 +81,8 @@
"admin.impact_report.instance_followers": "Sekėjai, kuriuos prarastų mūsų naudotojai",
"admin.impact_report.instance_follows": "Sekėjai, kuriuos prarastų jų naudotojai",
"admin.impact_report.title": "Poveikio apibendrinimas",
- "alert.rate_limited.message": "Bandyk vėliau po {retry_time, time, medium}.",
- "alert.rate_limited.title": "Sparta ribota.",
+ "alert.rate_limited.message": "Bandyk vėl po {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Sparta apribota.",
"alert.unexpected.message": "Įvyko netikėta klaida.",
"alert.unexpected.title": "Ups!",
"announcement.announcement": "Skelbimas",
@@ -94,34 +93,36 @@
"block_modal.show_more": "Rodyti daugiau",
"block_modal.they_cant_mention": "Jie negali tave paminėti ar sekti.",
"block_modal.they_cant_see_posts": "Jie negali matyti tavo įrašus, o tu nematysi jų.",
- "block_modal.they_will_know": "Jie mato, kad yra užblokuoti.",
+ "block_modal.they_will_know": "Jie gali matyti, kad yra užblokuoti.",
"block_modal.title": "Blokuoti naudotoją?",
"block_modal.you_wont_see_mentions": "Nematysi įrašus, kuriuose jie paminimi.",
"boost_modal.combo": "Galima paspausti {combo}, kad praleisti tai kitą kartą",
+ "boost_modal.reblog": "Pasidalinti įrašą?",
+ "boost_modal.undo_reblog": "Panaikinti pasidalintą įrašą?",
"bundle_column_error.copy_stacktrace": "Kopijuoti klaidos ataskaitą",
"bundle_column_error.error.body": "Paprašytos puslapio nepavyko atvaizduoti. Tai gali būti dėl mūsų kodo klaidos arba naršyklės suderinamumo problemos.",
"bundle_column_error.error.title": "O, ne!",
"bundle_column_error.network.body": "Bandant užkrauti šį puslapį įvyko klaida. Tai galėjo atsitikti dėl laikinos tavo interneto ryšio arba šio serverio problemos.",
"bundle_column_error.network.title": "Tinklo klaida",
"bundle_column_error.retry": "Bandyti dar kartą",
- "bundle_column_error.return": "Grįžti į pagrindinį",
- "bundle_column_error.routing.body": "Prašyto puslapio nepavyko rasti. Ar esi tikras (-a), kad adreso juostoje nurodytas URL adresas yra teisingas?",
+ "bundle_column_error.return": "Atgal į pagrindinį",
+ "bundle_column_error.routing.body": "Paprašyto puslapio nepavyko rasti. Ar esi tikras (-a), kad adreso juostoje nurodytas URL adresas yra teisingas?",
"bundle_column_error.routing.title": "404",
"bundle_modal_error.close": "Uždaryti",
- "bundle_modal_error.message": "Kraunant šį komponentą kažkas nepavyko.",
+ "bundle_modal_error.message": "Įkeliant šį komponentą kažkas nutiko ne taip.",
"bundle_modal_error.retry": "Bandyti dar kartą",
- "closed_registrations.other_server_instructions": "Kadangi Mastodon yra decentralizuotas, gali susikurti paskyrą kitame serveryje ir vis tiek bendrauti su šiuo serveriu.",
- "closed_registrations_modal.description": "Sukurti paskyrą {domain} šiuo metu neįmanoma, bet nepamiršk, kad norint naudotis Mastodon nebūtina turėti paskyrą domene {domain}.",
+ "closed_registrations.other_server_instructions": "Kadangi „Mastodon“ yra decentralizuotas, gali susikurti paskyrą kitame serveryje ir vis tiek bendrauti su šiuo serveriu.",
+ "closed_registrations_modal.description": "Sukurti paskyrą serveryje {domain} šiuo metu neįmanoma, bet nepamiršk, kad norint naudotis „Mastodon“ nebūtina turėti paskyrą serveryje {domain}.",
"closed_registrations_modal.find_another_server": "Rasti kitą serverį",
- "closed_registrations_modal.preamble": "Mastodon yra decentralizuotas, todėl nesvarbu, kur susikursi paskyrą, galėsi sekti ir bendrauti su bet kuriuo šiame serveryje esančiu asmeniu. Jį gali net savarankiškai talpinti!",
- "closed_registrations_modal.title": "Užsiregistruoti Mastodon",
+ "closed_registrations_modal.preamble": "„Mastodon“ yra decentralizuotas, todėl nesvarbu, kur susikursi paskyrą, galėsi sekti ir bendrauti su bet kuriuo šiame serveryje esančiu asmeniu. Jį gali net savarankiškai talpinti!",
+ "closed_registrations_modal.title": "Užsiregistruoti platformoje „Mastodon“",
"column.about": "Apie",
"column.blocks": "Užblokuoti naudotojai",
"column.bookmarks": "Žymės",
"column.community": "Vietinė laiko skalė",
"column.direct": "Privatūs paminėjimai",
"column.directory": "Naršyti profilius",
- "column.domain_blocks": "Užblokuoti domenai",
+ "column.domain_blocks": "Užblokuoti serveriai",
"column.favourites": "Mėgstami",
"column.firehose": "Tiesioginiai srautai",
"column.follow_requests": "Sekimo prašymai",
@@ -131,15 +132,15 @@
"column.notifications": "Pranešimai",
"column.pins": "Prisegti įrašai",
"column.public": "Federacinė laiko skalė",
- "column_back_button.label": "Grįžti",
+ "column_back_button.label": "Atgal",
"column_header.hide_settings": "Slėpti nustatymus",
- "column_header.moveLeft_settings": "Judinti stulpelį į kairę",
- "column_header.moveRight_settings": "Judinti stulpelį į dešinę",
+ "column_header.moveLeft_settings": "Perkelti stulpelį į kairę",
+ "column_header.moveRight_settings": "Perkelti stulpelį į dešinę",
"column_header.pin": "Prisegti",
"column_header.show_settings": "Rodyti nustatymus",
"column_header.unpin": "Atsegti",
"column_subheading.settings": "Nustatymai",
- "community.column_settings.local_only": "Tik vietinė",
+ "community.column_settings.local_only": "Tik vietinis",
"community.column_settings.media_only": "Tik medija",
"community.column_settings.remote_only": "Tik nuotolinis",
"compose.language.change": "Keisti kalbą",
@@ -148,7 +149,7 @@
"compose.published.open": "Atidaryti",
"compose.saved.body": "Įrašas išsaugotas.",
"compose_form.direct_message_warning_learn_more": "Sužinoti daugiau",
- "compose_form.encryption_warning": "Mastodon įrašai nėra visapusiškai šifruojami. Per Mastodon nesidalyk jokia slapta informacija.",
+ "compose_form.encryption_warning": "„Mastodon“ įrašai nėra visapusiškai šifruojami. Per „Mastodon“ nesidalyk jokia slapta informacija.",
"compose_form.hashtag_warning": "Šis įrašas nebus įtrauktas į jokį saitažodį, nes ji nėra vieša. Tik viešų įrašų galima ieškoti pagal saitažodį.",
"compose_form.lock_disclaimer": "Tavo paskyra nėra {locked}. Bet kas gali sekti tave ir peržiūrėti tik sekėjams skirtus įrašus.",
"compose_form.lock_disclaimer.lock": "užrakinta",
@@ -157,8 +158,8 @@
"compose_form.poll.multiple": "Keli pasirinkimai",
"compose_form.poll.option_placeholder": "{number} parinktis",
"compose_form.poll.single": "Pasirinkti vieną",
- "compose_form.poll.switch_to_multiple": "Keisti apklausą, kad būtų galima pasirinkti kelis pasirinkimus",
- "compose_form.poll.switch_to_single": "Keisti apklausą, kad būtų galima pasirinkti vieną pasirinkimą",
+ "compose_form.poll.switch_to_multiple": "Keisti apklausą, kad būtų leidžiama pasirinkti kelis pasirinkimus",
+ "compose_form.poll.switch_to_single": "Keisti apklausą, kad būtų leidžiama pasirinkti vieną pasirinkimą",
"compose_form.poll.type": "Stilius",
"compose_form.publish": "Skelbti",
"compose_form.publish_form": "Naujas įrašas",
@@ -173,10 +174,10 @@
"confirmations.delete.message": "Ar tikrai nori ištrinti šį įrašą?",
"confirmations.delete.title": "Ištrinti įrašą?",
"confirmations.delete_list.confirm": "Ištrinti",
- "confirmations.delete_list.message": "Ar tikrai nori visam laikui ištrinti šį sąrašą?",
+ "confirmations.delete_list.message": "Ar tikrai nori negrįžtamai ištrinti šį sąrašą?",
"confirmations.delete_list.title": "Ištrinti sąrašą?",
"confirmations.discard_edit_media.confirm": "Atmesti",
- "confirmations.discard_edit_media.message": "Turi neišsaugotų medijos aprašymo ar peržiūros pakeitimų, vis tiek juos atmesti?",
+ "confirmations.discard_edit_media.message": "Turi neišsaugotų medijos aprašymo ar peržiūros pakeitimų. Vis tiek juos atmesti?",
"confirmations.edit.confirm": "Redaguoti",
"confirmations.edit.message": "Redaguojant dabar, bus perrašyta šiuo metu kuriama žinutė. Ar tikrai nori tęsti?",
"confirmations.edit.title": "Perrašyti įrašą?",
@@ -184,8 +185,8 @@
"confirmations.logout.message": "Ar tikrai nori atsijungti?",
"confirmations.logout.title": "Atsijungti?",
"confirmations.mute.confirm": "Nutildyti",
- "confirmations.redraft.confirm": "Ištrinti ir perrašyti",
- "confirmations.redraft.message": "Ar tikrai nori ištrinti šį įrašą ir parašyti jį iš naujo? Bus prarastos mėgstamai ir pakėlimai, o atsakymai į originalinį įrašą taps liekamojais.",
+ "confirmations.redraft.confirm": "Ištrinti ir iš naujo parengti",
+ "confirmations.redraft.message": "Ar tikrai nori ištrinti šį įrašą ir parengti jį iš naujo? Bus prarasti mėgstami ir pasidalinimai, o atsakymai į originalų įrašą bus panaikinti.",
"confirmations.redraft.title": "Ištrinti ir iš naujo parengti įrašą?",
"confirmations.reply.confirm": "Atsakyti",
"confirmations.reply.message": "Atsakant dabar, bus perrašyta šiuo metu kuriama žinutė. Ar tikrai nori tęsti?",
@@ -193,6 +194,8 @@
"confirmations.unfollow.confirm": "Nebesekti",
"confirmations.unfollow.message": "Ar tikrai nori nebesekti {name}?",
"confirmations.unfollow.title": "Nebesekti naudotoją?",
+ "content_warning.hide": "Slėpti įrašą",
+ "content_warning.show": "Rodyti vis tiek",
"conversation.delete": "Ištrinti pokalbį",
"conversation.mark_as_read": "Žymėti kaip skaitytą",
"conversation.open": "Peržiūrėti pokalbį",
@@ -203,33 +206,33 @@
"directory.federated": "Iš žinomų fediversų",
"directory.local": "Tik iš {domain}",
"directory.new_arrivals": "Nauji atvykėliai",
- "directory.recently_active": "Neseniai aktyvus (-i)",
+ "directory.recently_active": "Neseniai aktyvus",
"disabled_account_banner.account_settings": "Paskyros nustatymai",
- "disabled_account_banner.text": "Tavo paskyra {disabledAccount} šiuo metu yra išjungta.",
+ "disabled_account_banner.text": "Tavo paskyra {disabledAccount} šiuo metu išjungta.",
"dismissable_banner.community_timeline": "Tai – naujausi vieši įrašai iš žmonių, kurių paskyros talpinamos {domain}.",
"dismissable_banner.dismiss": "Atmesti",
"dismissable_banner.explore_links": "Tai – naujienos, kuriomis šiandien daugiausiai bendrinamasi socialiniame žiniatinklyje. Naujesnės naujienų istorijos, kurias paskelbė daugiau skirtingų žmonių, vertinamos aukščiau.",
- "dismissable_banner.explore_statuses": "Tai – įrašai iš viso socialinio žiniatinklio, kurie šiandien sulaukia daug dėmesio. Naujesni įrašai, turintys daugiau pakėlimų ir mėgstamų, vertinami aukščiau.",
+ "dismissable_banner.explore_statuses": "Tai – įrašai iš viso socialinio žiniatinklio, kurie šiandien sulaukia daug dėmesio. Naujesni įrašai, turintys daugiau pasidalinimų ir mėgstamų, vertinami aukščiau.",
"dismissable_banner.explore_tags": "Tai – saitažodžiai, kurie šiandien sulaukia daug dėmesio socialiniame žiniatinklyje. Saitažodžiai, kuriuos naudoja daugiau skirtingų žmonių, vertinami aukščiau.",
"dismissable_banner.public_timeline": "Tai – naujausi vieši įrašai iš žmonių socialiniame žiniatinklyje, kuriuos seka {domain} žmonės.",
"domain_block_modal.block": "Blokuoti serverį",
- "domain_block_modal.block_account_instead": "Blokuoti {name} vietoj to",
- "domain_block_modal.they_can_interact_with_old_posts": "Žmonės iš šio serverio gali sąveikauti su tavo senomis įrašomis.",
+ "domain_block_modal.block_account_instead": "Blokuoti @{name} vietoj to",
+ "domain_block_modal.they_can_interact_with_old_posts": "Žmonės iš šio serverio gali bendrauti su tavo senomis įrašomis.",
"domain_block_modal.they_cant_follow": "Niekas iš šio serverio negali tavęs sekti.",
"domain_block_modal.they_wont_know": "Jie nežinos, kad buvo užblokuoti.",
- "domain_block_modal.title": "Blokuoti domeną?",
+ "domain_block_modal.title": "Blokuoti serverį?",
"domain_block_modal.you_will_lose_followers": "Visi tavo sekėjai iš šio serverio bus pašalinti.",
"domain_block_modal.you_wont_see_posts": "Nematysi naudotojų įrašų ar pranešimų šiame serveryje.",
- "domain_pill.activitypub_lets_connect": "Tai leidžia tau prisijungti ir bendrauti su žmonėmis ne tik Mastodon, bet ir įvairiose socialinėse programėlėse.",
- "domain_pill.activitypub_like_language": "ActivityPub – tai tarsi kalba, kuria Mastodon kalba su kitais socialiniais tinklais.",
+ "domain_pill.activitypub_lets_connect": "Tai leidžia tau prisijungti ir bendrauti su žmonėmis ne tik „Mastodon“ platformoje, bet ir įvairiose socialinėse programėlėse.",
+ "domain_pill.activitypub_like_language": "„ActivityPub“ – tai tarsi kalba, kuria „Mastodon“ kalba su kitais socialiniais tinklais.",
"domain_pill.server": "Serveris",
"domain_pill.their_handle": "Jų socialinis medijos vardas:",
"domain_pill.their_server": "Jų skaitmeniniai namai, kuriuose saugomi visi jų įrašai.",
- "domain_pill.their_username": "Jų unikalus identifikatorius jų serveryje. Skirtinguose serveriuose galima rasti naudotojų, turinčių tą patį naudotojo vardą.",
+ "domain_pill.their_username": "Jų unikalus identifikatorius jų serveryje. Skirtinguose serveriuose galima rasti naudotojų su tuo pačiu naudotojo vardu.",
"domain_pill.username": "Naudotojo vardas",
"domain_pill.whats_in_a_handle": "Kas yra socialiniame medijos varde?",
- "domain_pill.who_they_are": "Kadangi socialines medijos vardai nurodo, kas žmogus yra ir kur jie yra, gali sąveikauti su žmonėmis visame socialiniame žiniatinklyje, kurį sudaro
ActivityPub veikiančios platformos.",
- "domain_pill.who_you_are": "Kadangi tavo socialinis medijos vardas nurodo, kas esi ir kur esi, žmonės gali sąveikauti su tavimi visame socialiniame tinkle, kurį sudaro
ActivityPub veikiančios platformos.",
+ "domain_pill.who_they_are": "Kadangi socialines medijos vardai pasako, kas ir kur jie yra, galima bendrauti su žmonėmis visame socialiniame žiniatinklyje, kurį sudaro
„ActivityPub“ veikiančios platformos.",
+ "domain_pill.who_you_are": "Kadangi tavo socialinis medijos vardas pasako, kas ir kur esi, žmonės gali bendrauti su tavimi visame socialiniame žiniatinklyje, kurį sudaro
„ActivityPub“ veikiančios platformos.",
"domain_pill.your_handle": "Tavo socialinis medijos vardas:",
"domain_pill.your_server": "Tavo skaitmeniniai namai, kuriuose saugomi visi tavo įrašai. Nepatinka šis? Bet kada perkelk serverius ir atsivesk ir savo sekėjus.",
"domain_pill.your_username": "Tavo unikalus identifikatorius šiame serveryje. Skirtinguose serveriuose galima rasti naudotojų su tuo pačiu naudotojo vardu.",
@@ -258,7 +261,7 @@
"empty_column.bookmarked_statuses": "Dar neturi nė vienos įrašo pridėtos žymės. Kai vieną iš jų pridėsi į žymes, jis bus rodomas čia.",
"empty_column.community": "Vietinė laiko skalė yra tuščia. Parašyk ką nors viešai, kad pradėtum sąveikauti.",
"empty_column.direct": "Dar neturi jokių privačių paminėjimų. Kai išsiųsi arba gausi vieną iš jų, jis bus rodomas čia.",
- "empty_column.domain_blocks": "Dar nėra užblokuotų domenų.",
+ "empty_column.domain_blocks": "Kol kas nėra užblokuotų serverių.",
"empty_column.explore_statuses": "Šiuo metu niekas nėra tendencinga. Patikrink vėliau!",
"empty_column.favourited_statuses": "Dar neturi mėgstamų įrašų. Kai vieną iš jų pamėgsi, jis bus rodomas čia.",
"empty_column.favourites": "Šio įrašo dar niekas nepamėgo. Kai kas nors tai padarys, jie bus rodomi čia.",
@@ -300,6 +303,7 @@
"filter_modal.select_filter.subtitle": "Naudok esamą kategoriją arba sukurk naują.",
"filter_modal.select_filter.title": "Filtruoti šį įrašą",
"filter_modal.title.status": "Filtruoti įrašą",
+ "filter_warning.matches_filter": "Atitinka filtrą „{title}“",
"filtered_notifications_banner.pending_requests": "Iš {count, plural, =0 {nė vieno} one {žmogaus} few {# žmonių} many {# žmonių} other {# žmonių}}, kuriuos galbūt pažįsti",
"filtered_notifications_banner.title": "Filtruojami pranešimai",
"firehose.all": "Visi",
@@ -349,6 +353,14 @@
"hashtag.follow": "Sekti saitažodį",
"hashtag.unfollow": "Nebesekti saitažodį",
"hashtags.and_other": "…ir {count, plural, one {# daugiau} few {# daugiau} many {# daugiau}other {# daugiau}}",
+ "hints.profiles.followers_may_be_missing": "Sekėjai šiai profiliui gali būti nepateikti.",
+ "hints.profiles.follows_may_be_missing": "Sekimai šiai profiliui gali būti nepateikti.",
+ "hints.profiles.posts_may_be_missing": "Kai kurie įrašai iš šio profilio gali būti nepateikti.",
+ "hints.profiles.see_more_followers": "Žiūrėti daugiau sekėjų serveryje {domain}",
+ "hints.profiles.see_more_follows": "Žiūrėti daugiau sekimų serveryje {domain}",
+ "hints.profiles.see_more_posts": "Žiūrėti daugiau įrašų serveryje {domain}",
+ "hints.threads.replies_may_be_missing": "Atsakymai iš kitų serverių gali būti nepateikti.",
+ "hints.threads.see_more": "Žiūrėti daugiau atsakymų serveryje {domain}",
"home.column_settings.show_reblogs": "Rodyti pakėlimus",
"home.column_settings.show_replies": "Rodyti atsakymus",
"home.hide_announcements": "Slėpti skelbimus",
@@ -358,7 +370,9 @@
"home.show_announcements": "Rodyti skelbimus",
"ignore_notifications_modal.disclaimer": "„Mastodon“ negali informuoti naudotojų, kad ignoravai jų pranešimus. Ignoravus pranešimus, pačių pranešimų siuntimas nebus sustabdytas.",
"ignore_notifications_modal.filter_instead": "Filtruoti vietoj to",
+ "ignore_notifications_modal.filter_to_act_users": "Vis dar galėsi priimti, atmesti arba pranešti naudotojus.",
"ignore_notifications_modal.filter_to_avoid_confusion": "Filtravimas padeda išvengti galimos painiavos.",
+ "ignore_notifications_modal.filter_to_review_separately": "Filtruotus pranešimus gali peržiūrėti atskirai.",
"ignore_notifications_modal.ignore": "Ignoruoti pranešimus",
"ignore_notifications_modal.limited_accounts_title": "Ignoruoti pranešimus iš prižiūrėmų paskyrų?",
"ignore_notifications_modal.new_accounts_title": "Ignoruoti pranešimus iš naujų paskyrų?",
@@ -443,7 +457,7 @@
"lists.subheading": "Tavo sąrašai",
"load_pending": "{count, plural, one {# naujas elementas} few {# nauji elementai} many {# naujo elemento} other {# naujų elementų}}",
"loading_indicator.label": "Kraunama…",
- "media_gallery.toggle_visible": "{number, plural, one {Slėpti vaizdą} few {Slėpti vaizdus} many {Slėpti vaizdo} other {Slėpti vaizdų}}",
+ "media_gallery.hide": "Slėpti",
"moved_to_account_banner.text": "Tavo paskyra {disabledAccount} šiuo metu išjungta, nes persikėlei į {movedToAccount}.",
"mute_modal.hide_from_notifications": "Slėpti nuo pranešimų",
"mute_modal.hide_options": "Slėpti parinktis",
@@ -454,9 +468,8 @@
"mute_modal.title": "Nutildyti naudotoją?",
"mute_modal.you_wont_see_mentions": "Nematysi įrašus, kuriuose jie paminimi.",
"mute_modal.you_wont_see_posts": "Jie vis tiek gali matyti tavo įrašus, bet tu nematysi jų.",
- "name_and_others": "{name} ir {count, plural, one {# kitas} few {# kiti} many {# kito} other {# kitų}}",
- "name_and_others_with_link": "{name} ir
{count, plural, one {# kitas} few {# kiti} many {# kito} other {# kitų}}",
"navigation_bar.about": "Apie",
+ "navigation_bar.administration": "Administravimas",
"navigation_bar.advanced_interface": "Atidaryti išplėstinę žiniatinklio sąsają",
"navigation_bar.blocks": "Užblokuoti naudotojai",
"navigation_bar.bookmarks": "Žymės",
@@ -473,6 +486,7 @@
"navigation_bar.follows_and_followers": "Sekimai ir sekėjai",
"navigation_bar.lists": "Sąrašai",
"navigation_bar.logout": "Atsijungti",
+ "navigation_bar.moderation": "Prižiūrėjimas",
"navigation_bar.mutes": "Nutildyti naudotojai",
"navigation_bar.opened_in_classic_interface": "Įrašai, paskyros ir kiti konkretūs puslapiai pagal numatytuosius nustatymus atidaromi klasikinėje žiniatinklio sąsajoje.",
"navigation_bar.personal": "Asmeninis",
@@ -514,13 +528,24 @@
"notification.status": "{name} ką tik paskelbė",
"notification.update": "{name} redagavo įrašą",
"notification_requests.accept": "Priimti",
+ "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_multiple.button": "{count, plural, one {Priimti prašymą} few {Priimti prašymus} many {Priimti prašymo} other {Priimti prašymų}}",
+ "notification_requests.confirm_accept_multiple.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_multiple.title": "Priimti pranešimų prašymus?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Atmesti prašymą} few {Atmesti prašymus} many {Atmesti prašymo} other {Atmesti prašymų}}",
+ "notification_requests.confirm_dismiss_multiple.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_multiple.title": "Atmesti pranešimų prašymus?",
"notification_requests.dismiss": "Atmesti",
+ "notification_requests.dismiss_multiple": "{count, plural, one {Atmesti prašymą…} few {Atmesti prašymus…} many {Atmesti prašymo…} other {Atmesti prašymų…}}",
+ "notification_requests.edit_selection": "Redaguoti",
+ "notification_requests.exit_selection": "Atlikta",
"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",
"notification_requests.minimize_banner": "Mažinti filtruotų pranešimų reklamjuostę",
"notification_requests.notifications_from": "Pranešimai iš {name}",
"notification_requests.title": "Filtruojami pranešimai",
+ "notification_requests.view": "Peržiūrėti pranešimus",
"notifications.clear": "Išvalyti pranešimus",
"notifications.clear_confirmation": "Ar tikrai nori visam laikui išvalyti visus pranešimus?",
"notifications.clear_title": "Valyti pranešimus?",
@@ -610,7 +635,7 @@
"onboarding.steps.share_profile.title": "Bendrink savo Mastodon profilį",
"onboarding.tips.2fa": "
Ar žinojai? Savo paskyrą gali apsaugoti nustatant dviejų veiksnių tapatybės nustatymą paskyros nustatymuose. Jis veikia su bet kuria pasirinkta TOTP programėle, telefono numeris nebūtinas.",
"onboarding.tips.accounts_from_other_servers": "
Ar žinojai? Kadangi Mastodon decentralizuotas, kai kurie profiliai, su kuriais susidursi, bus talpinami ne tavo, o kituose serveriuose. Ir vis tiek galėsi su jais sklandžiai bendrauti! Jų serveris yra antroje naudotojo vardo pusėje.",
- "onboarding.tips.migration": "
Ar žinojai? Jei manai, kad {domain} serveris ateityje tau netiks, gali persikelti į kitą Mastodon serverį neprarandant savo sekėjų. Gali net talpinti savo paties serverį.",
+ "onboarding.tips.migration": "
Ar žinojai? Jei manai, kad {domain} serveris ateityje tau netiks, gali persikelti į kitą „Mastodon“ serverį neprarandant savo sekėjų. Gali net talpinti savo paties serverį!",
"onboarding.tips.verification": "
Ar žinojai? Savo paskyrą gali patvirtinti pateikęs (-usi) nuorodą į Mastodon profilį savo interneto svetainėje ir pridėjęs (-usi) svetainę prie savo profilio. Nereikia jokių mokesčių ar dokumentų.",
"password_confirmation.exceeds_maxlength": "Slaptažodžio patvirtinimas viršija maksimalų slaptažodžio ilgį.",
"password_confirmation.mismatching": "Slaptažodžio patvirtinimas nesutampa.",
@@ -745,6 +770,7 @@
"status.bookmark": "Pridėti į žymės",
"status.cancel_reblog_private": "Nebepakelti",
"status.cannot_reblog": "Šis įrašas negali būti pakeltas.",
+ "status.continued_thread": "Tęsiama gijoje",
"status.copy": "Kopijuoti nuorodą į įrašą",
"status.delete": "Ištrinti",
"status.detailed_status": "Išsami pokalbio peržiūra",
@@ -757,8 +783,6 @@
"status.favourite": "Pamėgti",
"status.favourites": "{count, plural, one {mėgstamas} few {mėgstamai} many {mėgstamų} other {mėgstamų}}",
"status.filter": "Filtruoti šį įrašą",
- "status.filtered": "Filtruota",
- "status.hide": "Slėpti įrašą",
"status.history.created": "{name} sukurta {date}",
"status.history.edited": "{name} redaguota {date}",
"status.load_more": "Krauti daugiau",
@@ -779,16 +803,14 @@
"status.reblogs.empty": "Šio įrašo dar niekas nepakėlė. Kai kas nors tai padarys, jie bus rodomi čia.",
"status.redraft": "Ištrinti ir parengti iš naujo",
"status.remove_bookmark": "Pašalinti žymę",
+ "status.replied_in_thread": "Atsakyta gijoje",
"status.replied_to": "Atsakyta į {name}",
"status.reply": "Atsakyti",
"status.replyAll": "Atsakyti į giją",
"status.report": "Pranešti apie @{name}",
"status.sensitive_warning": "Jautrus turinys",
"status.share": "Bendrinti",
- "status.show_filter_reason": "Rodyti vis tiek",
- "status.show_less": "Rodyti mažiau",
"status.show_less_all": "Rodyti mažiau visiems",
- "status.show_more": "Rodyti daugiau",
"status.show_more_all": "Rodyti daugiau visiems",
"status.show_original": "Rodyti originalą",
"status.title.with_attachments": "{user} paskelbė {attachmentCount, plural, one {priedą} few {{attachmentCount} priedus} many {{attachmentCount} priedo} other {{attachmentCount} priedų}}",
@@ -807,10 +829,6 @@
"time_remaining.minutes": "liko {number, plural, one {# minutė} few {# minutės} many {# minutės} other {# minučių}}",
"time_remaining.moments": "liko akimirkos",
"time_remaining.seconds": "liko {number, plural, one {# sekundė} few {# sekundės} many {# sekundės} other {# sekundžių}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} iš kitų serverių nerodomi.",
- "timeline_hint.resources.followers": "Sekėjai",
- "timeline_hint.resources.follows": "Seka",
- "timeline_hint.resources.statuses": "Senesni įrašai",
"trends.counter_by_accounts": "{count, plural, one {{counter} žmogus} few {{counter} žmonės} many {{counter} žmogus} other {{counter} žmonių}} per {days, plural, one {dieną} few {{days} dienas} many {{days} dienas} other {{days} dienų}}",
"trends.trending_now": "Tendencinga dabar",
"ui.beforeunload": "Jei paliksi Mastodon, tavo juodraštis bus prarastas.",
diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json
index 02b709301c20b8..37dc1d06dbfe97 100644
--- a/app/javascript/mastodon/locales/lv.json
+++ b/app/javascript/mastodon/locales/lv.json
@@ -18,7 +18,6 @@
"account.block_domain": "Bloķēt domēnu {domain}",
"account.block_short": "Bloķēt",
"account.blocked": "Bloķēts",
- "account.browse_more_on_origin_server": "Pārlūkot vairāk sākotnējā profilā",
"account.cancel_follow_request": "Atsaukt sekošanas pieprasījumu",
"account.copy": "Ievietot saiti uz profilu starpliktuvē",
"account.direct": "Pieminēt @{name} privāti",
@@ -389,7 +388,6 @@
"lists.subheading": "Tavi saraksti",
"load_pending": "{count, plural, one {# jauna lieta} other {# jaunas lietas}}",
"loading_indicator.label": "Ielādē…",
- "media_gallery.toggle_visible": "{number, plural, one {Slēpt attēlu} other {Slēpt attēlus}}",
"moved_to_account_banner.text": "Tavs konts {disabledAccount} pašlaik ir atspējots, jo Tu pārcēlies uz kontu {movedToAccount}.",
"mute_modal.hide_from_notifications": "Paslēpt paziņojumos",
"mute_modal.hide_options": "Paslēpt iespējas",
@@ -655,8 +653,6 @@
"status.favourite": "Izlasē",
"status.favourites": "{count, plural, zero {izlasēs} one {izlasē} other {izlasēs}}",
"status.filter": "Filtrē šo ziņu",
- "status.filtered": "Filtrēts",
- "status.hide": "Slēpt ierakstu",
"status.history.created": "{name} izveidoja {date}",
"status.history.edited": "{name} laboja {date}",
"status.load_more": "Ielādēt vairāk",
@@ -684,10 +680,7 @@
"status.report": "Ziņot par @{name}",
"status.sensitive_warning": "Sensitīvs saturs",
"status.share": "Kopīgot",
- "status.show_filter_reason": "Tomēr rādīt",
- "status.show_less": "Rādīt mazāk",
"status.show_less_all": "Rādīt mazāk visiem",
- "status.show_more": "Rādīt vairāk",
"status.show_more_all": "Rādīt vairāk visiem",
"status.show_original": "Rādīt oriģinālu",
"status.title.with_attachments": "{user} publicējis {attachmentCount, plural, one {pielikumu} other {{attachmentCount} pielikumus}}",
@@ -706,10 +699,6 @@
"time_remaining.minutes": "{number, plural, one {Atlikusi # minūte} other {Atlikušas # minūtes}}",
"time_remaining.moments": "Atlikuši daži mirkļi",
"time_remaining.seconds": "Atlikušas {number, plural, one {# sekunde} other {# sekundes}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} no citiem serveriem nav parādīti.",
- "timeline_hint.resources.followers": "Sekotāji",
- "timeline_hint.resources.follows": "Seko",
- "timeline_hint.resources.statuses": "Vecāki ieraksti",
"trends.counter_by_accounts": "{count, plural, zero {{counter} cilvēku} one {{counter} cilvēks} other {{counter} cilvēki}} {days, plural, one {{day} dienā} other {{days} dienās}}",
"trends.trending_now": "Pašlaik populāri",
"ui.beforeunload": "Ja pametīsit Mastodonu, jūsu melnraksts tiks zaudēts.",
diff --git a/app/javascript/mastodon/locales/mk.json b/app/javascript/mastodon/locales/mk.json
index 5c8b752cf96c92..084a94cc14a412 100644
--- a/app/javascript/mastodon/locales/mk.json
+++ b/app/javascript/mastodon/locales/mk.json
@@ -245,7 +245,6 @@
"time_remaining.minutes": "{number, plural, one {# минута} other {# минути}} {number, plural, one {остана} other {останаа}}",
"time_remaining.moments": "Уште некои мига",
"time_remaining.seconds": "{number, plural, one {# секунда} other {# секунди}} {number, plural, one {остана} other {останаа}}",
- "timeline_hint.resources.statuses": "Older toots",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"upload_form.audio_description": "Describe for people with hearing loss",
"upload_form.description": "Describe for the visually impaired",
diff --git a/app/javascript/mastodon/locales/ml.json b/app/javascript/mastodon/locales/ml.json
index 65a11750758c80..48ea29f9836ca1 100644
--- a/app/javascript/mastodon/locales/ml.json
+++ b/app/javascript/mastodon/locales/ml.json
@@ -11,7 +11,6 @@
"account.block": "@{name} -നെ തടയുക",
"account.block_domain": "{domain} എന്ന മേഖല തടയുക",
"account.blocked": "തടഞ്ഞു",
- "account.browse_more_on_origin_server": "യഥാർത്ഥ പ്രൊഫൈലിലേക്ക് പോവുക",
"account.cancel_follow_request": "Withdraw follow request",
"account.disable_notifications": "@{name} പോസ്റ്റുചെയ്യുന്നത് എന്നെ അറിയിക്കുന്നത് നിർത്തുക",
"account.domain_blocked": "മേഖല തടഞ്ഞു",
@@ -310,7 +309,6 @@
"status.detailed_status": "വിശദമായ സംഭാഷണ കാഴ്ച",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "ഉൾച്ചേർക്കുക",
- "status.filtered": "ഫിൽട്ടർ ചെയ്തു",
"status.load_more": "കൂടുതൽ ലോഡു ചെയ്യുക",
"status.media_hidden": "മീഡിയ മറച്ചു",
"status.mention": "@{name} സൂചിപ്പിക്കുക",
@@ -328,17 +326,12 @@
"status.reply": "മറുപടി",
"status.report": "@{name}--നെ റിപ്പോർട്ട് ചെയ്യുക",
"status.share": "പങ്കിടുക",
- "status.show_less": "കുറച്ച് കാണിക്കുക",
- "status.show_more": "കൂടുതകൽ കാണിക്കുക",
"status.show_more_all": "എല്ലാവർക്കുമായി കൂടുതൽ കാണിക്കുക",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
"tabs_bar.home": "ഹോം",
"tabs_bar.notifications": "അറിയിപ്പുകൾ",
"time_remaining.days": "{number, plural, one {# ദിവസം} other {# ദിവസങ്ങൾ}} ബാക്കി",
"time_remaining.hours": "{number, plural, one {# മണിക്കൂർ} other {# മണിക്കൂർ}} ശേഷിക്കുന്നു",
- "timeline_hint.resources.followers": "പിന്തുടരുന്നവർ",
- "timeline_hint.resources.follows": "പിന്തുടരുന്നു",
- "timeline_hint.resources.statuses": "പഴയ ടൂട്ടുകൾ",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"trends.trending_now": "ഇപ്പോൾ ട്രെൻഡിംഗ്",
"units.short.million": "{count}ദശലക്ഷം",
diff --git a/app/javascript/mastodon/locales/mr.json b/app/javascript/mastodon/locales/mr.json
index b72d44aa55896e..47c3a55e55c6fa 100644
--- a/app/javascript/mastodon/locales/mr.json
+++ b/app/javascript/mastodon/locales/mr.json
@@ -18,7 +18,6 @@
"account.block_domain": "{domain} पासून सर्व लपवा",
"account.block_short": "अवरोध",
"account.blocked": "ब्लॉक केले आहे",
- "account.browse_more_on_origin_server": "मूळ प्रोफाइलवर अधिक ब्राउझ करा",
"account.cancel_follow_request": "फॉलो विनंती मागे घ्या",
"account.copy": "दुवा कॉपी करा",
"account.direct": "खाजगीरित्या उल्लेखीत @{name}",
@@ -236,7 +235,6 @@
"status.pinned": "Pinned toot",
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
- "timeline_hint.resources.statuses": "Older toots",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"upload_form.audio_description": "Describe for people with hearing loss",
"upload_form.description": "Describe for the visually impaired",
diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json
index d0e059038e680f..e4fc2585196206 100644
--- a/app/javascript/mastodon/locales/ms.json
+++ b/app/javascript/mastodon/locales/ms.json
@@ -11,6 +11,7 @@
"about.not_available": "Maklumat ini belum tersedia pada pelayan ini.",
"about.powered_by": "Media sosial terpencar yang dikuasakan oleh {mastodon}",
"about.rules": "Peraturan pelayan",
+ "account.account_note_header": "Personal note",
"account.add_or_remove_from_list": "Tambah atau Buang dari senarai",
"account.badges.bot": "Bot",
"account.badges.cat": "Cat",
@@ -19,7 +20,6 @@
"account.block_domain": "Sekat domain {domain}",
"account.block_short": "Malay",
"account.blocked": "Disekat",
- "account.browse_more_on_origin_server": "Layari selebihnya di profil asal",
"account.cancel_follow_request": "Menarik balik permintaan mengikut",
"account.copy": "Salin pautan ke profil",
"account.direct": "Sebut secara persendirian @{name}",
@@ -35,6 +35,7 @@
"account.follow_back": "Ikut balik",
"account.followers": "Pengikut",
"account.followers.empty": "Belum ada yang mengikuti pengguna ini.",
+ "account.followers_counter": "{count, plural, one {{counter} Diikuti} other {{counter} Diikuti}}",
"account.following": "Mengikuti",
"account.follows.empty": "Pengguna ini belum mengikuti sesiapa.",
"account.go_to_profile": "Pergi ke profil",
@@ -383,7 +384,6 @@
"lists.subheading": "Senarai anda",
"load_pending": "{count, plural, one {# item baharu} other {# item baharu}}",
"loading_indicator.label": "Memuatkan…",
- "media_gallery.toggle_visible": "{number, plural, other {Sembunyikan imej}}",
"moved_to_account_banner.text": "Akaun anda {disabledAccount} kini dinyahdayakan kerana anda berpindah ke {movedToAccount}.",
"navigation_bar.about": "Perihal",
"navigation_bar.advanced_interface": "Buka dalam antara muka web lanjutan",
@@ -617,8 +617,6 @@
"status.embed": "Benaman",
"status.favourite": "Kegemaran",
"status.filter": "Tapiskan hantaran ini",
- "status.filtered": "Ditapis",
- "status.hide": "Sembunyikan pos",
"status.history.created": "{name} mencipta pada {date}",
"status.history.edited": "{name} menyunting pada {date}",
"status.load_more": "Muatkan lagi",
@@ -645,10 +643,7 @@
"status.report": "Laporkan @{name}",
"status.sensitive_warning": "Kandungan sensitif",
"status.share": "Kongsi",
- "status.show_filter_reason": "Paparkan juga",
- "status.show_less": "Tunjukkan kurang",
"status.show_less_all": "Tunjukkan kurang untuk semua",
- "status.show_more": "Tunjukkan lebih",
"status.show_more_all": "Tunjukkan lebih untuk semua",
"status.show_original": "Paparkan yang asal",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
@@ -667,10 +662,6 @@
"time_remaining.minutes": "Tinggal {number, plural, other {# minit}}",
"time_remaining.moments": "Tinggal beberapa saat",
"time_remaining.seconds": "Tinggal {number, plural, other {# saat}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} dari pelayan lain tidak dipaparkan.",
- "timeline_hint.resources.followers": "Pengikut",
- "timeline_hint.resources.follows": "Ikutan",
- "timeline_hint.resources.statuses": "Hantaran lebih lama",
"trends.counter_by_accounts": "{count, plural, other {{counter} orang}} dalam {days, plural, other {{days} hari}} yang lalu",
"trends.trending_now": "Sohor kini",
"ui.beforeunload": "Rangka anda akan terhapus jika anda meninggalkan Mastodon.",
diff --git a/app/javascript/mastodon/locales/my.json b/app/javascript/mastodon/locales/my.json
index 310a944060d379..2127d69baa8022 100644
--- a/app/javascript/mastodon/locales/my.json
+++ b/app/javascript/mastodon/locales/my.json
@@ -18,7 +18,6 @@
"account.block_domain": " {domain} ဒိုမိန်းကိုပိတ်မည်",
"account.block_short": "ပိတ်ဆို့",
"account.blocked": "ဘလော့ထားသည်",
- "account.browse_more_on_origin_server": "မူရင်းပရိုဖိုင်တွင် ပိုမိုကြည့်ရှုပါ။",
"account.cancel_follow_request": "စောင့်ကြည့်မှု ပယ်ဖျက်ခြင်း",
"account.copy": "လင့်ခ်ကို ပရိုဖိုင်သို့ ကူးယူပါ",
"account.direct": "@{name} သီးသန့် သိရှိနိုင်အောင် မန်းရှင်းခေါ်မည်",
@@ -363,7 +362,6 @@
"lists.subheading": "သင့်၏စာရင်းများ",
"load_pending": "{count, plural, one {# new item} other {# new items}}",
"loading_indicator.label": "လုပ်ဆောင်နေသည်…",
- "media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}",
"moved_to_account_banner.text": "{movedToAccount} အကောင့်သို့ပြောင်းလဲထားသဖြင့် {disabledAccount} အကောင့်မှာပိတ်ထားသည်",
"navigation_bar.about": "အကြောင်း",
"navigation_bar.advanced_interface": "အဆင့်မြင့်ဝဘ်ပုံစံ ဖွင့်ပါ",
@@ -594,8 +592,6 @@
"status.embed": "Embed",
"status.favourite": "Favorite",
"status.filter": "ဤပို့စ်ကို စစ်ထုတ်ပါ",
- "status.filtered": "စစ်ထုတ်ထားသည်",
- "status.hide": "ပို့စ်ကိုပိတ်ထားမည်",
"status.history.created": "{name} က {date} က ဖန်တီးခဲ့သည်",
"status.history.edited": "{name} က {date} က ပြင်ဆင်ခဲ့သည်",
"status.load_more": "ပို၍ဆောင်ရွက်ပါ",
@@ -622,10 +618,7 @@
"status.report": "@{name} ကို တိုင်ကြားရန်",
"status.sensitive_warning": "သတိထားရသော အကြောင်းအရာ",
"status.share": "မျှဝေ",
- "status.show_filter_reason": "မည်သို့ပင်ဖြစ်စေ ပြပါ",
- "status.show_less": "အနည်းငယ်သာ ပြပါ",
"status.show_less_all": "အားလုံးအတွက် အနည်းငယ်သာ ပြပါ",
- "status.show_more": "ပိုမိုပြရန်",
"status.show_more_all": "အားလုံးအတွက် ပိုပြပါ",
"status.show_original": "မူရင်းပြပါ",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
@@ -644,10 +637,6 @@
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",
"time_remaining.moments": "အခိုက်အတန့်များ ကျန်ရှိနေသေးသည်",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
- "timeline_hint.remote_resource_not_displayed": "အခြားဆာဗာများမှ {resource} ကို ပြသမည်မဟုတ်ပါ။",
- "timeline_hint.resources.followers": "စောင့်ကြည့်သူများ",
- "timeline_hint.resources.follows": "စောင့်ကြည့်မယ်",
- "timeline_hint.resources.statuses": "ပို့စ်အဟောင်းများ",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
"trends.trending_now": "လက်ရှိခေတ်စားနေသော ပို့စ်များ",
"ui.beforeunload": "Mastodon မှ ထွက်ခွာပါက သင့်မူကြမ်း ဆုံးရှုံးသွားပါမည်။",
diff --git a/app/javascript/mastodon/locales/ne.json b/app/javascript/mastodon/locales/ne.json
index ca23a1f781495e..1cb10a93b48365 100644
--- a/app/javascript/mastodon/locales/ne.json
+++ b/app/javascript/mastodon/locales/ne.json
@@ -15,7 +15,6 @@
"account.block_domain": "{domain} डोमेनलाई ब्लक गर्नुहोस्",
"account.block_short": "ब्लक",
"account.blocked": "ब्लक गरिएको",
- "account.browse_more_on_origin_server": "मूल प्रोफाइलमा थप ब्राउज गर्नुहोस्",
"account.cancel_follow_request": "फलो अनुरोध रद्द गर्नुहोस",
"account.copy": "प्रोफाइलको लिङ्क प्रतिलिपि गर्नुहोस्",
"account.direct": "@{name} लाई निजी रूपमा उल्लेख गर्नुहोस्",
diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json
index 9293cfb09214a4..e5d8e8d2ebc263 100644
--- a/app/javascript/mastodon/locales/nl.json
+++ b/app/javascript/mastodon/locales/nl.json
@@ -19,7 +19,6 @@
"account.block_domain": "Alles van {domain} blokkeren",
"account.block_short": "Blokkeren",
"account.blocked": "Geblokkeerd",
- "account.browse_more_on_origin_server": "Zie meer op het originele profiel",
"account.cancel_follow_request": "Ontvolgen",
"account.copy": "Link naar profiel kopiëren",
"account.direct": "@{name} een privébericht sturen",
@@ -98,6 +97,8 @@
"block_modal.title": "Gebruiker blokkeren?",
"block_modal.you_wont_see_mentions": "Je ziet geen berichten meer die dit account vermelden.",
"boost_modal.combo": "Je kunt {combo} klikken om dit de volgende keer over te slaan",
+ "boost_modal.reblog": "Bericht boosten?",
+ "boost_modal.undo_reblog": "Bericht niet langer boosten?",
"bundle_column_error.copy_stacktrace": "Foutrapportage kopiëren",
"bundle_column_error.error.body": "De opgevraagde pagina kon niet worden weergegeven. Dit kan het gevolg zijn van een fout in onze broncode, of van een compatibiliteitsprobleem met je webbrowser.",
"bundle_column_error.error.title": "O nee!",
@@ -193,6 +194,8 @@
"confirmations.unfollow.confirm": "Ontvolgen",
"confirmations.unfollow.message": "Weet je het zeker dat je {name} wilt ontvolgen?",
"confirmations.unfollow.title": "Gebruiker ontvolgen?",
+ "content_warning.hide": "Bericht verbergen",
+ "content_warning.show": "Alsnog tonen",
"conversation.delete": "Gesprek verwijderen",
"conversation.mark_as_read": "Als gelezen markeren",
"conversation.open": "Gesprek tonen",
@@ -300,6 +303,7 @@
"filter_modal.select_filter.subtitle": "Een bestaande categorie gebruiken of een nieuwe aanmaken",
"filter_modal.select_filter.title": "Dit bericht filteren",
"filter_modal.title.status": "Een bericht filteren",
+ "filter_warning.matches_filter": "Komt overeen met filter “{title}”",
"filtered_notifications_banner.pending_requests": "Van {count, plural, =0 {niemand} one {een persoon} other {# personen}} die je mogelijk kent",
"filtered_notifications_banner.title": "Gefilterde meldingen",
"firehose.all": "Alles",
@@ -349,6 +353,14 @@
"hashtag.follow": "Hashtag volgen",
"hashtag.unfollow": "Hashtag ontvolgen",
"hashtags.and_other": "…en {count, plural, one {}other {# meer}}",
+ "hints.profiles.followers_may_be_missing": "Volgers voor dit profiel kunnen ontbreken.",
+ "hints.profiles.follows_may_be_missing": "De volgers voor dit profiel kunnen ontbreken.",
+ "hints.profiles.posts_may_be_missing": "Er ontbreken mogelijk berichten van dit profiel.",
+ "hints.profiles.see_more_followers": "Bekijk meer volgers op {domain}",
+ "hints.profiles.see_more_follows": "Bekijk meer gevolgde accounts op {domain}",
+ "hints.profiles.see_more_posts": "Bekijk meer berichten op {domain}",
+ "hints.threads.replies_may_be_missing": "Antwoorden van andere servers kunnen ontbreken.",
+ "hints.threads.see_more": "Bekijk meer reacties op {domain}",
"home.column_settings.show_reblogs": "Boosts tonen",
"home.column_settings.show_replies": "Reacties tonen",
"home.hide_announcements": "Mededelingen verbergen",
@@ -445,7 +457,7 @@
"lists.subheading": "Jouw lijsten",
"load_pending": "{count, plural, one {# nieuw item} other {# nieuwe items}}",
"loading_indicator.label": "Laden…",
- "media_gallery.toggle_visible": "{number, plural, one {afbeelding verbergen} other {afbeeldingen verbergen}}",
+ "media_gallery.hide": "Verbergen",
"moved_to_account_banner.text": "Omdat je naar {movedToAccount} bent verhuisd is jouw account {disabledAccount} momenteel uitgeschakeld.",
"mute_modal.hide_from_notifications": "Onder meldingen verbergen",
"mute_modal.hide_options": "Opties verbergen",
@@ -456,9 +468,8 @@
"mute_modal.title": "Gebruiker negeren?",
"mute_modal.you_wont_see_mentions": "Je ziet geen berichten meer die dit account vermelden.",
"mute_modal.you_wont_see_posts": "De persoon kan nog steeds jouw berichten zien, maar diens berichten zie je niet meer.",
- "name_and_others": "{name} en {count, plural, one {# ander} other {# anderen}}",
- "name_and_others_with_link": "{name} en
{count, plural, one {# ander} other {# anderen}}",
"navigation_bar.about": "Over",
+ "navigation_bar.administration": "Beheer",
"navigation_bar.advanced_interface": "In geavanceerde webinterface openen",
"navigation_bar.blocks": "Geblokkeerde gebruikers",
"navigation_bar.bookmarks": "Bladwijzers",
@@ -475,6 +486,7 @@
"navigation_bar.follows_and_followers": "Volgers en gevolgde accounts",
"navigation_bar.lists": "Lijsten",
"navigation_bar.logout": "Uitloggen",
+ "navigation_bar.moderation": "Moderatie",
"navigation_bar.mutes": "Genegeerde gebruikers",
"navigation_bar.opened_in_classic_interface": "Berichten, accounts en andere specifieke pagina’s, worden standaard geopend in de klassieke webinterface.",
"navigation_bar.personal": "Persoonlijk",
@@ -490,9 +502,13 @@
"notification.admin.report_statuses": "{name} rapporteerde {target} voor {category}",
"notification.admin.report_statuses_other": "{name} rapporteerde {target}",
"notification.admin.sign_up": "{name} heeft zich geregistreerd",
+ "notification.admin.sign_up.name_and_others": "{name} en {count, plural, one {# ander} other {# anderen}} hebben zich geregistreerd",
"notification.favourite": "{name} markeerde jouw bericht als favoriet",
+ "notification.favourite.name_and_others_with_link": "{name} en
{count, plural, one {# ander} other {# anderen}} hebben jouw bericht als favoriet gemarkeerd",
"notification.follow": "{name} volgt jou nu",
+ "notification.follow.name_and_others": "{name} en {count, plural, one {# ander} other {# anderen}} hebben je gevolgd",
"notification.follow_request": "{name} wil jou graag volgen",
+ "notification.follow_request.name_and_others": "{name} en {count, plural, one {# ander} other {# anderen}} hebben gevraagd om je te volgen",
"notification.label.mention": "Vermelding",
"notification.label.private_mention": "Privébericht",
"notification.label.private_reply": "Privéreactie",
@@ -510,6 +526,7 @@
"notification.own_poll": "Jouw peiling is beëindigd",
"notification.poll": "Een peiling waaraan jij hebt meegedaan is beëindigd",
"notification.reblog": "{name} boostte jouw bericht",
+ "notification.reblog.name_and_others_with_link": "{name} en
{count, plural, one {# ander} other {# anderen}} hebben jouw bericht geboost",
"notification.relationships_severance_event": "Verloren verbindingen met {name}",
"notification.relationships_severance_event.account_suspension": "Een beheerder van {from} heeft {target} geschorst, wat betekent dat je geen updates meer van hen kunt ontvangen of met hen kunt communiceren.",
"notification.relationships_severance_event.domain_block": "Een beheerder van {from} heeft {target} geblokkeerd, inclusief {followersCount} van jouw volgers en {followingCount, plural, one {# account} other {# accounts}} die jij volgt.",
@@ -518,19 +535,17 @@
"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.accept_multiple": "{count, plural, one {# verzoek accepteren…} other {# verzoeken accepteren…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Verzoek accepteren} other {Verzoeken accepteren}}",
+ "notification_requests.confirm_accept_multiple.message": "Je staat op het punt om {count, plural, one {een meldingsverzoek} other {# meldingsverzoeken}} te accepteren. Weet je zeker dat je door wilt gaan?",
+ "notification_requests.confirm_accept_multiple.title": "Meldingsverzoeken accepteren?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Verzoek afwijzen} other {Verzoeken afwijzen}}",
+ "notification_requests.confirm_dismiss_multiple.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_multiple.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.dismiss_multiple": "{count, plural, one {# verzoek afwijzen…} other {# verzoeken afwijzen…}}",
+ "notification_requests.edit_selection": "Bewerken",
+ "notification_requests.exit_selection": "Klaar",
"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",
@@ -765,6 +780,7 @@
"status.bookmark": "Bladwijzer toevoegen",
"status.cancel_reblog_private": "Niet langer boosten",
"status.cannot_reblog": "Dit bericht kan niet geboost worden",
+ "status.continued_thread": "Vervolgt het gesprek",
"status.copy": "Link naar bericht kopiëren",
"status.delete": "Verwijderen",
"status.detailed_status": "Uitgebreide gespreksweergave",
@@ -777,8 +793,6 @@
"status.favourite": "Favoriet",
"status.favourites": "{count, plural, one {favoriet} other {favorieten}}",
"status.filter": "Dit bericht filteren",
- "status.filtered": "Gefilterd",
- "status.hide": "Bericht verbergen",
"status.history.created": "{name} plaatste dit {date}",
"status.history.edited": "{name} bewerkte dit {date}",
"status.load_more": "Meer laden",
@@ -800,16 +814,14 @@
"status.reblogs.empty": "Niemand heeft dit bericht nog geboost. Wanneer iemand dit doet, valt dat hier te zien.",
"status.redraft": "Verwijderen en herschrijven",
"status.remove_bookmark": "Bladwijzer verwijderen",
+ "status.replied_in_thread": "Reageerde in gesprek",
"status.replied_to": "Reageerde op {name}",
"status.reply": "Reageren",
"status.replyAll": "Op iedereen reageren",
"status.report": "@{name} rapporteren",
"status.sensitive_warning": "Gevoelige inhoud",
"status.share": "Delen",
- "status.show_filter_reason": "Alsnog tonen",
- "status.show_less": "Minder tonen",
"status.show_less_all": "Alles minder tonen",
- "status.show_more": "Meer tonen",
"status.show_more_all": "Alles meer tonen",
"status.show_original": "Origineel bekijken",
"status.title.with_attachments": "{user} heeft {attachmentCount, plural, one {een bijlage} other {{attachmentCount} bijlagen}} toegevoegd",
@@ -828,11 +840,6 @@
"time_remaining.minutes": "{number, plural, one {# minuut} other {# minuten}} te gaan",
"time_remaining.moments": "Nog enkele ogenblikken resterend",
"time_remaining.seconds": "{number, plural, one {# seconde} other {# seconden}} te gaan",
- "timeline_hint.remote_resource_not_displayed": "{resource} van andere servers worden niet getoond.",
- "timeline_hint.resources.followers": "Volgers",
- "timeline_hint.resources.follows": "Volgend",
- "timeline_hint.resources.replies": "Enkele reacties",
- "timeline_hint.resources.statuses": "Oudere berichten",
"trends.counter_by_accounts": "{count, plural, one {{counter} persoon} other {{counter} mensen}} {days, plural, one {in het afgelopen etmaal} other {in de afgelopen {days} dagen}}",
"trends.trending_now": "Huidige trends",
"ui.beforeunload": "Je concept gaat verloren wanneer je Mastodon verlaat.",
diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json
index 23d7a287727369..d21ebffe226eb2 100644
--- a/app/javascript/mastodon/locales/nn.json
+++ b/app/javascript/mastodon/locales/nn.json
@@ -19,7 +19,6 @@
"account.block_domain": "Skjul alt frå {domain}",
"account.block_short": "Blokker",
"account.blocked": "Blokkert",
- "account.browse_more_on_origin_server": "Sjå gjennom meir på den opphavlege profilen",
"account.cancel_follow_request": "Trekk attende fylgeførespurnad",
"account.copy": "Kopier lenka til profilen",
"account.direct": "Nevn @{name} privat",
@@ -98,6 +97,8 @@
"block_modal.title": "Blokker brukaren?",
"block_modal.you_wont_see_mentions": "Du ser ikkje innlegg som nemner dei.",
"boost_modal.combo": "Du kan trykkja {combo} for å hoppa over dette neste gong",
+ "boost_modal.reblog": "Framhev innlegget?",
+ "boost_modal.undo_reblog": "Fjern framhevinga?",
"bundle_column_error.copy_stacktrace": "Kopier feilrapport",
"bundle_column_error.error.body": "Den etterspurde sida kan ikke hentast fram. Det kan skuldast ein feil i koden vår eller eit kompatibilitetsproblem.",
"bundle_column_error.error.title": "Ånei!",
@@ -193,6 +194,8 @@
"confirmations.unfollow.confirm": "Slutt å fylgja",
"confirmations.unfollow.message": "Er du sikker på at du vil slutta å fylgja {name}?",
"confirmations.unfollow.title": "Slutt å fylgja brukaren?",
+ "content_warning.hide": "Gøym innlegg",
+ "content_warning.show": "Vis likevel",
"conversation.delete": "Slett samtale",
"conversation.mark_as_read": "Marker som lesen",
"conversation.open": "Sjå samtale",
@@ -300,6 +303,7 @@
"filter_modal.select_filter.subtitle": "Bruk ein eksisterande kategori eller opprett ein ny",
"filter_modal.select_filter.title": "Filtrer dette innlegget",
"filter_modal.title.status": "Filtrer eit innlegg",
+ "filter_warning.matches_filter": "Passar med filteret «{title}»",
"filtered_notifications_banner.pending_requests": "Frå {count, plural, =0 {ingen} one {éin person} other {# personar}} du kanskje kjenner",
"filtered_notifications_banner.title": "Filtrerte varslingar",
"firehose.all": "Alle",
@@ -349,6 +353,14 @@
"hashtag.follow": "Fylg emneknagg",
"hashtag.unfollow": "Slutt å fylgje emneknaggen",
"hashtags.and_other": "…og {count, plural, one {}other {# fleire}}",
+ "hints.profiles.followers_may_be_missing": "Kven som fylgjer denne profilen manglar kanskje.",
+ "hints.profiles.follows_may_be_missing": "Kven denne profilen fylgjer manglar kanskje.",
+ "hints.profiles.posts_may_be_missing": "Nokre innlegg frå denne profilen manglar kanskje.",
+ "hints.profiles.see_more_followers": "Sjå fleire fylgjarar på {domain}",
+ "hints.profiles.see_more_follows": "Sjå fleire fylgjer på {domain}",
+ "hints.profiles.see_more_posts": "Sjå fleire innlegg på {domain}",
+ "hints.threads.replies_may_be_missing": "Svar frå andre tenarar manglar kanskje.",
+ "hints.threads.see_more": "Sjå fleire svar på {domain}",
"home.column_settings.show_reblogs": "Vis framhevingar",
"home.column_settings.show_replies": "Vis svar",
"home.hide_announcements": "Skjul kunngjeringar",
@@ -358,7 +370,9 @@
"home.show_announcements": "Vis kunngjeringar",
"ignore_notifications_modal.disclaimer": "Mastodon kan ikkje informera brukarane at du overser varsla deira. Å oversjå varsel vil ikkje hindra at meldingane blir sende.",
"ignore_notifications_modal.filter_instead": "Filtrer i staden",
+ "ignore_notifications_modal.filter_to_act_users": "Du kan framleis godta, avvisa eller rapportera brukarar",
"ignore_notifications_modal.filter_to_avoid_confusion": "Å filtrera hjelper til å unngå mogleg forvirring",
+ "ignore_notifications_modal.filter_to_review_separately": "Du kan gå gjennom filtrerte varslingar for seg",
"ignore_notifications_modal.ignore": "Oversjå varsel",
"ignore_notifications_modal.limited_accounts_title": "Oversjå varsel frå modererte kontoar?",
"ignore_notifications_modal.new_accounts_title": "Oversjå varsel frå nye kontoar?",
@@ -443,7 +457,7 @@
"lists.subheading": "Listene dine",
"load_pending": "{count, plural, one {# nytt element} other {# nye element}}",
"loading_indicator.label": "Lastar…",
- "media_gallery.toggle_visible": "{number, plural, one {Skjul bilete} other {Skjul bilete}}",
+ "media_gallery.hide": "Gøym",
"moved_to_account_banner.text": "Kontoen din, {disabledAccount} er for tida deaktivert fordi du har flytta til {movedToAccount}.",
"mute_modal.hide_from_notifications": "Ikkje vis varslingar",
"mute_modal.hide_options": "Gøym val",
@@ -454,9 +468,8 @@
"mute_modal.title": "Demp brukaren?",
"mute_modal.you_wont_see_mentions": "Du vil ikkje sjå innlegg som nemner dei.",
"mute_modal.you_wont_see_posts": "Dei kan framleis sjå innlegga dine, men du vil ikkje sjå deira.",
- "name_and_others": "{name} og {count, plural, one {# annan} other {# andre}}",
- "name_and_others_with_link": "{name} og
{count, plural, one {# annan} other {# andre}}",
"navigation_bar.about": "Om",
+ "navigation_bar.administration": "Administrasjon",
"navigation_bar.advanced_interface": "Opne i avansert nettgrensesnitt",
"navigation_bar.blocks": "Blokkerte brukarar",
"navigation_bar.bookmarks": "Bokmerke",
@@ -473,6 +486,7 @@
"navigation_bar.follows_and_followers": "Fylgje og fylgjarar",
"navigation_bar.lists": "Lister",
"navigation_bar.logout": "Logg ut",
+ "navigation_bar.moderation": "Moderering",
"navigation_bar.mutes": "Målbundne brukarar",
"navigation_bar.opened_in_classic_interface": "Innlegg, kontoar, og enkelte andre sider blir opna som standard i det klassiske webgrensesnittet.",
"navigation_bar.personal": "Personleg",
@@ -488,9 +502,13 @@
"notification.admin.report_statuses": "{name} rapporterte {target} for {category}",
"notification.admin.report_statuses_other": "{name} rapporterte {target}",
"notification.admin.sign_up": "{name} er registrert",
+ "notification.admin.sign_up.name_and_others": "{name} og {count, plural, one {# annan} other {# andre}} vart med",
"notification.favourite": "{name} markerte innlegget ditt som favoritt",
+ "notification.favourite.name_and_others_with_link": "{name} og
{count, plural, one {# annan} other {# andre}} favorittmerka innlegget ditt",
"notification.follow": "{name} fylgde deg",
+ "notification.follow.name_and_others": "{name} og {count, plural, one {# annan} other {# andre}} fylgde deg",
"notification.follow_request": "{name} har bedt om å fylgja deg",
+ "notification.follow_request.name_and_others": "{name} og {count, plural, one {# annan} other {# andre}} har spurt om å fylgja deg",
"notification.label.mention": "Omtale",
"notification.label.private_mention": "Privat omtale",
"notification.label.private_reply": "Privat svar",
@@ -508,6 +526,7 @@
"notification.own_poll": "Rundspørjinga di er ferdig",
"notification.poll": "Ei rundspørjing du røysta i er ferdig",
"notification.reblog": "{name} framheva innlegget ditt",
+ "notification.reblog.name_and_others_with_link": "{name} og
{count, plural, one {# annan} other {# andre}} framheva innlegget ditt",
"notification.relationships_severance_event": "Tapte samband med {name}",
"notification.relationships_severance_event.account_suspension": "Ein administrator på {from} har utvist {target}, som tyder at du ikkje lenger får oppdateringar frå dei eller kan samhandla med dei.",
"notification.relationships_severance_event.domain_block": "Ein administrator på {from} har blokkert {target}, inkludert {followersCount} av fylgjarane dine og {followingCount, plural, one {# konto} other {# kontoar}} du fylgjer.",
@@ -516,19 +535,17 @@
"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.accept_multiple": "{count, plural, one {Godta # førespurnad…} other {Godta # førespurnader…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Godta førespurnad} other {Godta førespurnader}}",
+ "notification_requests.confirm_accept_multiple.message": "Du er i ferd med å godta {count, plural, one {ein førespurnad om varsling} other {# førespurnader om varsling}}. Er du sikker på at du vil halda fram?",
+ "notification_requests.confirm_accept_multiple.title": "Godta førespurnader om varsling?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Avvis førespurnad} other {Avvis førespurnader}}",
+ "notification_requests.confirm_dismiss_multiple.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_multiple.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.dismiss_multiple": "{count, plural, one {Avvis # førespurnad…} other {Avvis # førespurnader…}}",
+ "notification_requests.edit_selection": "Rediger",
+ "notification_requests.exit_selection": "Ferdig",
"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",
@@ -763,6 +780,7 @@
"status.bookmark": "Set bokmerke",
"status.cancel_reblog_private": "Opphev framheving",
"status.cannot_reblog": "Du kan ikkje framheva dette innlegget",
+ "status.continued_thread": "Framhald til tråden",
"status.copy": "Kopier lenke til status",
"status.delete": "Slett",
"status.detailed_status": "Detaljert samtalevisning",
@@ -775,8 +793,6 @@
"status.favourite": "Favoritt",
"status.favourites": "{count, plural, one {favoritt} other {favorittar}}",
"status.filter": "Filtrer dette innlegget",
- "status.filtered": "Filtrert",
- "status.hide": "Skjul innlegget",
"status.history.created": "{name} oppretta {date}",
"status.history.edited": "{name} redigerte {date}",
"status.load_more": "Last inn meir",
@@ -798,16 +814,14 @@
"status.reblogs.empty": "Ingen har framheva dette tutet enno. Om nokon gjer, så dukkar det opp her.",
"status.redraft": "Slett & skriv på nytt",
"status.remove_bookmark": "Fjern bokmerke",
+ "status.replied_in_thread": "Svara i tråden",
"status.replied_to": "Svarte {name}",
"status.reply": "Svar",
"status.replyAll": "Svar til tråd",
"status.report": "Rapporter @{name}",
"status.sensitive_warning": "Ømtolig innhald",
"status.share": "Del",
- "status.show_filter_reason": "Vis likevel",
- "status.show_less": "Vis mindre",
"status.show_less_all": "Vis mindre for alle",
- "status.show_more": "Vis meir",
"status.show_more_all": "Vis meir for alle",
"status.show_original": "Vis original",
"status.title.with_attachments": "{user} la ut {attachmentCount, plural, one {eitt vedlegg} other {{attachmentCount} vedlegg}}",
@@ -826,11 +840,6 @@
"time_remaining.minutes": "{number, plural, one {# minutt} other {# minutt}} igjen",
"time_remaining.moments": "Kort tid igjen",
"time_remaining.seconds": "{number, plural, one {# sekund} other {# sekund}} igjen",
- "timeline_hint.remote_resource_not_displayed": "{resource} frå andre tenarar blir ikkje vist.",
- "timeline_hint.resources.followers": "Fylgjarar",
- "timeline_hint.resources.follows": "Fylgjer",
- "timeline_hint.resources.replies": "Nokre svar",
- "timeline_hint.resources.statuses": "Eldre tut",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} folk}} siste {days, plural, one {døgnet} other {{days} dagane}}",
"trends.trending_now": "Populært no",
"ui.beforeunload": "Kladden din forsvinn om du forlèt Mastodon no.",
diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json
index 4657a1ac42c985..b805b9852886bb 100644
--- a/app/javascript/mastodon/locales/no.json
+++ b/app/javascript/mastodon/locales/no.json
@@ -11,6 +11,7 @@
"about.not_available": "Denne informasjonen er ikke gjort tilgjengelig på denne tjeneren.",
"about.powered_by": "Desentraliserte sosiale medier drevet av {mastodon}",
"about.rules": "Regler for serveren",
+ "account.account_note_header": "Personlig notat",
"account.add_or_remove_from_list": "Legg til eller fjern fra lister",
"account.badges.bot": "Automatisert",
"account.badges.group": "Gruppe",
@@ -18,7 +19,6 @@
"account.block_domain": "Blokker domenet {domain}",
"account.block_short": "Blokker",
"account.blocked": "Blokkert",
- "account.browse_more_on_origin_server": "Bla mer på den opprinnelige profilen",
"account.cancel_follow_request": "Avbryt følgeforespørselen",
"account.copy": "Kopier lenke til profil",
"account.direct": "Nevn @{name} privat",
@@ -34,7 +34,9 @@
"account.follow_back": "Følg tilbake",
"account.followers": "Følgere",
"account.followers.empty": "Ingen følger denne brukeren ennå.",
+ "account.followers_counter": "{count, plural, one {{counter} følger} other {{counter} følgere}}",
"account.following": "Følger",
+ "account.following_counter": "{count, plural, one {{counter} som følges} other {{counter} som følges}}",
"account.follows.empty": "Denne brukeren følger ikke noen enda.",
"account.go_to_profile": "Gå til profil",
"account.hide_reblogs": "Skjul fremhevinger fra @{name}",
@@ -60,6 +62,7 @@
"account.requested_follow": "{name} har bedt om å få følge deg",
"account.share": "Del @{name} sin profil",
"account.show_reblogs": "Vis fremhevinger fra @{name}",
+ "account.statuses_counter": "{count, plural, one {{counter} innlegg} other {{counter} innlegg}}",
"account.unblock": "Opphev blokkering av @{name}",
"account.unblock_domain": "Opphev blokkering av {domain}",
"account.unblock_short": "Opphev blokkering",
@@ -85,7 +88,17 @@
"announcement.announcement": "Kunngjøring",
"attachments_list.unprocessed": "(ubehandlet)",
"audio.hide": "Skjul lyd",
+ "block_modal.remote_users_caveat": "Vi vil be serveren {domain} om å respektere din beslutning. Det er imidlertid ingen garanti at det blir overholdt, siden noen servere kan håndtere blokkeringer på forskjellig vis. Offentlige innlegg kan fortsatt være synlige for ikke-innloggede brukere.",
+ "block_modal.show_less": "Vis mindre",
+ "block_modal.show_more": "Vis mer",
+ "block_modal.they_cant_mention": "De kan ikke nevne eller følge deg.",
+ "block_modal.they_cant_see_posts": "De kan ikke se dine innlegg og du kommer ikke til å se deres.",
+ "block_modal.they_will_know": "De kan se at de er blitt blokkert.",
+ "block_modal.title": "Blokker bruker?",
+ "block_modal.you_wont_see_mentions": "Du kommer ikke til å se innlegg som nevner dem.",
"boost_modal.combo": "You kan trykke {combo} for å hoppe over dette neste gang",
+ "boost_modal.reblog": "Fremhev innlegg?",
+ "boost_modal.undo_reblog": "Fjern fremheving?",
"bundle_column_error.copy_stacktrace": "Kopier feilrapport",
"bundle_column_error.error.body": "Den forespurte siden kan ikke gjengis. Den kan skyldes en feil i vår kode eller et kompatibilitetsproblem med nettleseren.",
"bundle_column_error.error.title": "Å nei!",
@@ -159,21 +172,30 @@
"confirmations.block.confirm": "Blokkèr",
"confirmations.delete.confirm": "Slett",
"confirmations.delete.message": "Er du sikker på at du vil slette dette innlegget?",
+ "confirmations.delete.title": "Slett innlegg?",
"confirmations.delete_list.confirm": "Slett",
"confirmations.delete_list.message": "Er du sikker på at du vil slette denne listen permanent?",
+ "confirmations.delete_list.title": "Slett liste?",
"confirmations.discard_edit_media.confirm": "Forkast",
"confirmations.discard_edit_media.message": "Du har ulagrede endringer i mediebeskrivelsen eller i forhåndsvisning, forkast dem likevel?",
"confirmations.edit.confirm": "Redigér",
"confirmations.edit.message": "Å redigere nå vil overskrive meldingen du skriver for øyeblikket. Er du sikker på at du vil fortsette?",
+ "confirmations.edit.title": "Overskriv innlegg?",
"confirmations.logout.confirm": "Logg ut",
"confirmations.logout.message": "Er du sikker på at du vil logge ut?",
+ "confirmations.logout.title": "Logg ut?",
"confirmations.mute.confirm": "Demp",
"confirmations.redraft.confirm": "Slett og skriv på nytt",
"confirmations.redraft.message": "Er du sikker på at du vil slette dette innlegget og lagre det på nytt? Favoritter og fremhevinger vil gå tapt, og svar til det originale innlegget vil bli foreldreløse.",
+ "confirmations.redraft.title": "Slett og skriv på nytt?",
"confirmations.reply.confirm": "Svar",
"confirmations.reply.message": "Å svare nå vil overskrive meldingen du skriver for øyeblikket. Er du sikker på at du vil fortsette?",
+ "confirmations.reply.title": "Overskriv innlegg?",
"confirmations.unfollow.confirm": "Slutt å følge",
"confirmations.unfollow.message": "Er du sikker på at du vil slutte å følge {name}?",
+ "confirmations.unfollow.title": "Slutt å følge bruker?",
+ "content_warning.hide": "Skjul innlegg",
+ "content_warning.show": "Vis likevel",
"conversation.delete": "Slett samtalen",
"conversation.mark_as_read": "Marker som lest",
"conversation.open": "Vis samtale",
@@ -193,6 +215,27 @@
"dismissable_banner.explore_statuses": "Disse innleggene fra denne og andre servere i det desentraliserte nettverket får økt oppmerksomhet på denne serveren akkurat nå. Nyere innlegg med flere fremhevinger og favoritter er rangert høyere.",
"dismissable_banner.explore_tags": "Disse emneknaggene snakker folk om akkurat nå, på denne og andre servere i det desentraliserte nettverket.",
"dismissable_banner.public_timeline": "Dette er de siste offentlige innleggene fra mennesker på det sosiale nettet som folk på {domain} følger.",
+ "domain_block_modal.block": "Blokker server",
+ "domain_block_modal.block_account_instead": "Blokker @{name} i stedet",
+ "domain_block_modal.they_can_interact_with_old_posts": "Personer fra denne serveren kan samhandle med dine gamle innlegg.",
+ "domain_block_modal.they_cant_follow": "Ingen fra denne serveren kan følge deg.",
+ "domain_block_modal.they_wont_know": "De kommer ikke til å få vite at du har valgt å blokkere dem.",
+ "domain_block_modal.title": "Blokker domenet?",
+ "domain_block_modal.you_will_lose_followers": "Alle dine følgere fra denne serveren vil bli fjernet.",
+ "domain_block_modal.you_wont_see_posts": "Du vil ikke se innlegg eller få varsler fra brukere på denne serveren.",
+ "domain_pill.activitypub_lets_connect": "Den lar deg koble til og samhandle med folk ikke bare på Mastodon, men også på tvers av forskjellige sosiale apper.",
+ "domain_pill.activitypub_like_language": "ActivityPub er liksom språket Mastodon snakker med andre sosiale nettverk.",
+ "domain_pill.server": "Server",
+ "domain_pill.their_handle": "Deres håndtak:",
+ "domain_pill.their_server": "Deres digitale hjem, hvor alle innleggene deres bor.",
+ "domain_pill.their_username": "Deres unike identifikator på serveren sin. Det er mulig å finne brukere med samme brukernavn på forskjellige servere.",
+ "domain_pill.username": "Brukernavn",
+ "domain_pill.whats_in_a_handle": "Hva er et håndtak?",
+ "domain_pill.who_they_are": "Siden håndtakene sier hvem noen er og hvor de er, kan du samhandle med folk på tvers av det sosiale nettverket bestående av
plattformer som støtter ActivityPub.",
+ "domain_pill.who_you_are": "Fordi ditt håndtak sier hvem du er og hvor du er, kan folk kommunisere med deg på tvers av
plattformer som støtter ActivityPub.",
+ "domain_pill.your_handle": "Din håndtak:",
+ "domain_pill.your_server": "Ditt digitale hjem, hvor alle dine innlegg bor. Liker du ikke denne? Flytt till en annen server når som helst og ta med følgerne dine.",
+ "domain_pill.your_username": "Din unike identifikator på denne serveren. Det er mulig å finne brukere med samme brukernavn på forskjellige servere.",
"embed.instructions": "Kopier koden under for å bygge inn denne statusen på hjemmesiden din.",
"embed.preview": "Slik kommer det til å se ut:",
"emoji_button.activity": "Aktivitet",
@@ -229,6 +272,7 @@
"empty_column.list": "Det er ingenting i denne listen ennå. Når medlemmene av denne listen legger ut nye statuser vil de dukke opp her.",
"empty_column.lists": "Du har ingen lister enda. Når du lager en, vil den dukke opp her.",
"empty_column.mutes": "Du har ikke dempet noen brukere enda.",
+ "empty_column.notification_requests": "Alt klart! Det er ingenting her. Når du mottar nye varsler, vises de her i henhold til dine innstillinger.",
"empty_column.notifications": "Du har ingen varsler ennå. Kommuniser med andre for å begynne samtalen.",
"empty_column.public": "Det er ingenting her! Skriv noe offentlig, eller følg brukere manuelt fra andre instanser for å fylle den opp",
"error.unexpected_crash.explanation": "På grunn av en bug i koden vår eller et nettleserkompatibilitetsproblem, kunne denne siden ikke vises riktig.",
@@ -259,13 +303,30 @@
"filter_modal.select_filter.subtitle": "Bruk en eksisterende kategori eller opprett en ny",
"filter_modal.select_filter.title": "Filtrer dette innlegget",
"filter_modal.title.status": "Filtrer et innlegg",
+ "filter_warning.matches_filter": "Passer med filteret «{title}»",
+ "filtered_notifications_banner.pending_requests": "Fra {count, plural, =0 {ingen} one {en person} other {# folk}} du kanskje kjenner",
+ "filtered_notifications_banner.title": "Filtrerte varsler",
"firehose.all": "Alt",
"firehose.local": "Denne serveren",
"firehose.remote": "Andre servere",
"follow_request.authorize": "Autoriser",
"follow_request.reject": "Avvis",
"follow_requests.unlocked_explanation": "Selv om kontoen din ikke er låst, tror {domain} ansatte at du kanskje vil gjennomgå forespørsler fra disse kontoene manuelt.",
+ "follow_suggestions.curated_suggestion": "Utvalgt av staben",
+ "follow_suggestions.dismiss": "Ikke vis igjen",
+ "follow_suggestions.featured_longer": "Håndplukket av {domain}-teamet",
+ "follow_suggestions.friends_of_friends_longer": "Populært blant personer du følger",
+ "follow_suggestions.hints.featured": "Denne profilen er håndplukket av {domain}-teamet.",
+ "follow_suggestions.hints.friends_of_friends": "Denne profilen er populær blant de du følger.",
+ "follow_suggestions.hints.most_followed": "Denne profilen er en av de på {domain} som har flest følgere.",
+ "follow_suggestions.hints.most_interactions": "Denne profilen fått mye oppmerksomhet i det siste på {domain}.",
+ "follow_suggestions.hints.similar_to_recently_followed": "Denne profilen ligner på profilene du nylig har fulgt.",
+ "follow_suggestions.personalized_suggestion": "Personlig forslag",
+ "follow_suggestions.popular_suggestion": "Populært forslag",
+ "follow_suggestions.popular_suggestion_longer": "Populært på {domain}",
+ "follow_suggestions.similar_to_recently_followed_longer": "Likner på profiler du nylig har fulgt",
"follow_suggestions.view_all": "Vis alle",
+ "follow_suggestions.who_to_follow": "Hvem du kan følge",
"followed_tags": "Fulgte emneknagger",
"footer.about": "Om",
"footer.directory": "Profilkatalog",
@@ -292,6 +353,14 @@
"hashtag.follow": "Følg emneknagg",
"hashtag.unfollow": "Slutt å følge emneknagg",
"hashtags.and_other": "…og {count, plural, one{en til} other {# til}}",
+ "hints.profiles.followers_may_be_missing": "Følgere for denne profilen mangler kanskje.",
+ "hints.profiles.follows_may_be_missing": "Hvem denne profilen følger mangler kanskje.",
+ "hints.profiles.posts_may_be_missing": "Det kan hende at noen av innleggene til denne profilen mangler.",
+ "hints.profiles.see_more_followers": "Se flere følgere på {domain}",
+ "hints.profiles.see_more_follows": "Se flere som følger på {domain}",
+ "hints.profiles.see_more_posts": "Se flere innlegg på {domain}",
+ "hints.threads.replies_may_be_missing": "Svar fra andre servere mangler kanskje.",
+ "hints.threads.see_more": "Se flere svar på {domain}",
"home.column_settings.show_reblogs": "Vis fremhevinger",
"home.column_settings.show_replies": "Vis svar",
"home.hide_announcements": "Skjul kunngjøring",
@@ -299,6 +368,17 @@
"home.pending_critical_update.link": "Se oppdateringer",
"home.pending_critical_update.title": "Kritisk sikkerhetsoppdatering er tilgjengelig!",
"home.show_announcements": "Vis kunngjøring",
+ "ignore_notifications_modal.disclaimer": "Mastodon kan ikke informere brukere at du har ignorert deres varsler. Å ignorere varsler vil ikke stoppe meldinger selv fra å bli sendt.",
+ "ignore_notifications_modal.filter_instead": "Filtrer i stedet",
+ "ignore_notifications_modal.filter_to_act_users": "Du kan fremdeles akseptere, avvise eller rapportere brukere",
+ "ignore_notifications_modal.filter_to_avoid_confusion": "Filtrering bidrar til å unngå potensiell forvirring",
+ "ignore_notifications_modal.filter_to_review_separately": "Du kan gjennomgå filtrerte varsler for seg",
+ "ignore_notifications_modal.ignore": "Overse varsler",
+ "ignore_notifications_modal.limited_accounts_title": "Overse varsler fra modererte kontoer?",
+ "ignore_notifications_modal.new_accounts_title": "Overse varsler fra nye kontoer?",
+ "ignore_notifications_modal.not_followers_title": "Overse varsler fra folk som ikke følger deg?",
+ "ignore_notifications_modal.not_following_title": "Overse varsler fra folk du ikke følger?",
+ "ignore_notifications_modal.private_mentions_title": "Overse varsler fra uoppfordrede private omtaler?",
"interaction_modal.description.favourite": "Med en konto på Mastodon, kan du favorittmarkere dette innlegget for å la forfatteren vite at du satte pris på det, og lagre innlegget til senere.",
"interaction_modal.description.follow": "Med en konto på Mastodon, kan du følge {name} for å få innleggene deres i tidslinjen din.",
"interaction_modal.description.reblog": "Med en konto på Mastodon, kan du fremheve dette innlegget for å dele det med dine egne følgere.",
@@ -359,6 +439,8 @@
"limited_account_hint.action": "Vis profil likevel",
"limited_account_hint.title": "Denne profilen har blitt skjult av moderatorene til {domain}.",
"link_preview.author": "Av {name}",
+ "link_preview.more_from_author": "Mer fra {name}",
+ "link_preview.shares": "{count, plural, one {{counter} innlegg} other {{counter} innlegg}}",
"lists.account.add": "Legg til i listen",
"lists.account.remove": "Fjern fra listen",
"lists.delete": "Slett listen",
@@ -375,9 +457,18 @@
"lists.subheading": "Dine lister",
"load_pending": "{count, plural,one {# ny gjenstand} other {# nye gjenstander}}",
"loading_indicator.label": "Laster…",
- "media_gallery.toggle_visible": "Veksle synlighet",
"moved_to_account_banner.text": "Din konto {disabledAccount} er for øyeblikket deaktivert fordi du flyttet til {movedToAccount}.",
+ "mute_modal.hide_from_notifications": "Ikke varsle",
+ "mute_modal.hide_options": "Skjul alternativer",
+ "mute_modal.indefinite": "Til jeg opphever dempingen",
+ "mute_modal.show_options": "Vis alternativer",
+ "mute_modal.they_can_mention_and_follow": "De kan nevne og følge deg, men du kommer ikke til å se dem.",
+ "mute_modal.they_wont_know": "De kommer ikke til å få vite at du har valgt å skjule dem.",
+ "mute_modal.title": "Demp bruker?",
+ "mute_modal.you_wont_see_mentions": "Du kommer ikke til å se innlegg som nevner dem.",
+ "mute_modal.you_wont_see_posts": "De kan fremdeles se dine innlegg, men du kommer ikke til å se deres.",
"navigation_bar.about": "Om",
+ "navigation_bar.administration": "Administrasjon",
"navigation_bar.advanced_interface": "Åpne i det avanserte nettgrensesnittet",
"navigation_bar.blocks": "Blokkerte brukere",
"navigation_bar.bookmarks": "Bokmerker",
@@ -394,6 +485,7 @@
"navigation_bar.follows_and_followers": "Følginger og følgere",
"navigation_bar.lists": "Lister",
"navigation_bar.logout": "Logg ut",
+ "navigation_bar.moderation": "Moderering",
"navigation_bar.mutes": "Dempede brukere",
"navigation_bar.opened_in_classic_interface": "Innlegg, kontoer og andre spesifikke sider åpnes som standard i det klassiske webgrensesnittet.",
"navigation_bar.personal": "Personlig",
@@ -404,6 +496,7 @@
"navigation_bar.security": "Sikkerhet",
"not_signed_in_indicator.not_signed_in": "Du må logge inn for å få tilgang til denne ressursen.",
"notification.admin.report": "{name} rapporterte {target}",
+ "notification.admin.report_account": "{name} rapporterte {count, plural, one {et innlegg} other {# innlegg}} fra {target} for {category}",
"notification.admin.sign_up": "{name} registrerte seg",
"notification.favourite": "{name} favorittmarkerte innlegget ditt",
"notification.follow": "{name} fulgte deg",
@@ -418,6 +511,8 @@
"notifications.column_settings.admin.sign_up": "Nye registreringer:",
"notifications.column_settings.alert": "Skrivebordsvarslinger",
"notifications.column_settings.favourite": "Favoritter:",
+ "notifications.column_settings.filter_bar.advanced": "Vis alle kategorier",
+ "notifications.column_settings.filter_bar.category": "Hurtigfiltreringslinje",
"notifications.column_settings.follow": "Nye følgere:",
"notifications.column_settings.follow_request": "Nye følgerforespørsler:",
"notifications.column_settings.mention": "Nevnt:",
@@ -443,6 +538,23 @@
"notifications.permission_denied": "Skrivebordsvarsler er ikke tilgjengelige på grunn av tidligere nektet nettlesertillatelser",
"notifications.permission_denied_alert": "Skrivebordsvarsler kan ikke aktiveres, ettersom lesertillatelse har blitt nektet før",
"notifications.permission_required": "Skrivebordsvarsler er utilgjengelige fordi nødvendige rettigheter ikke er gitt.",
+ "notifications.policy.accept": "Godta",
+ "notifications.policy.accept_hint": "Vis i varsler",
+ "notifications.policy.drop": "Overse",
+ "notifications.policy.drop_hint": "Send til avgrunnen, for aldri å bli sett igjen",
+ "notifications.policy.filter": "Filter",
+ "notifications.policy.filter_hint": "Send til filtrert varslingsinnboks",
+ "notifications.policy.filter_limited_accounts_hint": "Begrenset av serverens moderatorer",
+ "notifications.policy.filter_limited_accounts_title": "Modererte kontoer",
+ "notifications.policy.filter_new_accounts.hint": "Opprettet {days, plural, one {den siste dagen} other {i de siste # dagene}}",
+ "notifications.policy.filter_new_accounts_title": "Nye kontoer",
+ "notifications.policy.filter_not_followers_hint": "Inkludert personer som har fulgt deg mindre enn {days, plural, one {en dag} other {# dager}}",
+ "notifications.policy.filter_not_followers_title": "Personer som ikke følger deg",
+ "notifications.policy.filter_not_following_hint": "Inntil du manuelt godkjenner dem",
+ "notifications.policy.filter_not_following_title": "Personer du ikke følger",
+ "notifications.policy.filter_private_mentions_hint": "Filtrert med mindre det er et svar som omtaler deg, eller hvis du følger avsenderen",
+ "notifications.policy.filter_private_mentions_title": "Uoppfordrede private omtaler",
+ "notifications.policy.title": "Behandle varsler fra…",
"notifications_permission_banner.enable": "Skru på skrivebordsvarsler",
"notifications_permission_banner.how_to_control": "For å motta varsler når Mastodon ikke er åpne, aktiver desktop varsler. Du kan kontrollere nøyaktig hvilke typer interaksjoner genererer skrivebordsvarsler gjennom {icon} -knappen ovenfor når de er aktivert.",
"notifications_permission_banner.title": "Aldri gå glipp av noe",
@@ -603,7 +715,7 @@
"sign_in_banner.sso_redirect": "Logg inn eller registrer deg",
"status.admin_account": "Åpne moderatorgrensesnittet for @{name}",
"status.admin_domain": "Åpne moderatorgrensesnittet for {domain}",
- "status.admin_status": "Åpne denne statusen i moderatorgrensesnittet",
+ "status.admin_status": "Åpne dette innlegget i moderatorgrensesnittet",
"status.block": "Blokker @{name}",
"status.bookmark": "Bokmerke",
"status.cancel_reblog_private": "Fjern fremheving",
@@ -618,8 +730,6 @@
"status.embed": "Bygge inn",
"status.favourite": "Favoritt",
"status.filter": "Filtrer dette innlegget",
- "status.filtered": "Filtrert",
- "status.hide": "Skjul innlegg",
"status.history.created": "{name} opprettet {date}",
"status.history.edited": "{name} redigerte {date}",
"status.load_more": "Last mer",
@@ -646,10 +756,7 @@
"status.report": "Rapporter @{name}",
"status.sensitive_warning": "Følsomt innhold",
"status.share": "Del",
- "status.show_filter_reason": "Vis likevel",
- "status.show_less": "Vis mindre",
"status.show_less_all": "Vis mindre for alle",
- "status.show_more": "Vis mer",
"status.show_more_all": "Vis mer for alle",
"status.show_original": "Vis original",
"status.title.with_attachments": "{user} postet {attachmentCount, plural, one {et vedlegg} other {{attachmentCount} vedlegg}}",
@@ -668,10 +775,6 @@
"time_remaining.minutes": "{number, plural, one {# minutt} other {# minutter}} igjen",
"time_remaining.moments": "Gjenværende øyeblikk",
"time_remaining.seconds": "{number, plural, one {# sekund} other {# sekunder}} igjen",
- "timeline_hint.remote_resource_not_displayed": "{resource} fra andre servere vises ikke.",
- "timeline_hint.resources.followers": "Følgere",
- "timeline_hint.resources.follows": "Følger",
- "timeline_hint.resources.statuses": "Eldre innlegg",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} folk}} {days, plural, one {den siste dagen} other {de siste {days} dagene}}",
"trends.trending_now": "Trender nå",
"ui.beforeunload": "Din kladd vil bli forkastet om du forlater Mastodon.",
diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json
index 3f013f0f7c8907..3624373b65e10e 100644
--- a/app/javascript/mastodon/locales/oc.json
+++ b/app/javascript/mastodon/locales/oc.json
@@ -16,7 +16,6 @@
"account.block_domain": "Tot amagar del domeni {domain}",
"account.block_short": "Blocar",
"account.blocked": "Blocat",
- "account.browse_more_on_origin_server": "Navigar sul perfil original",
"account.cancel_follow_request": "Retirar la demanda d’abonament",
"account.copy": "Copiar lo ligam del perfil",
"account.direct": "Mencionar @{name} en privat",
@@ -321,7 +320,6 @@
"lists.subheading": "Vòstras listas",
"load_pending": "{count, plural, one {# nòu element} other {# nòu elements}}",
"loading_indicator.label": "Cargament…",
- "media_gallery.toggle_visible": "Modificar la visibilitat",
"navigation_bar.about": "A prepaus",
"navigation_bar.advanced_interface": "Dobrir l’interfàcia web avançada",
"navigation_bar.blocks": "Personas blocadas",
@@ -511,8 +509,6 @@
"status.embed": "Embarcar",
"status.favourite": "Apondre als favorits",
"status.filter": "Filtrar aquesta publicacion",
- "status.filtered": "Filtrat",
- "status.hide": "Amagar la publicacion",
"status.history.created": "{name} o creèt lo {date}",
"status.history.edited": "{name} o modifiquèt lo {date}",
"status.load_more": "Cargar mai",
@@ -539,10 +535,7 @@
"status.report": "Senhalar @{name}",
"status.sensitive_warning": "Contengut sensible",
"status.share": "Partejar",
- "status.show_filter_reason": "Afichar de tot biais",
- "status.show_less": "Tornar plegar",
"status.show_less_all": "Los tornar plegar totes",
- "status.show_more": "Desplegar",
"status.show_more_all": "Los desplegar totes",
"status.show_original": "Veire l’original",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
@@ -561,10 +554,6 @@
"time_remaining.minutes": "demòra{number, plural, one { # minuta} other {n # minutas}}",
"time_remaining.moments": "Moments restants",
"time_remaining.seconds": "demòra{number, plural, one { # segonda} other {n # segondas}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} suls autres servidors son pas afichats.",
- "timeline_hint.resources.followers": "Seguidors",
- "timeline_hint.resources.follows": "Abonaments",
- "timeline_hint.resources.statuses": "Tuts mai ancians",
"trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} personas}} dins los darrièrs {days, plural, one {jorn} other {{days} jorns}}",
"trends.trending_now": "Tendéncia del moment",
"ui.beforeunload": "Vòstre brolhon serà perdut se quitatz Mastodon.",
diff --git a/app/javascript/mastodon/locales/pa.json b/app/javascript/mastodon/locales/pa.json
index 83ded408ecebbb..a71c01b3c14cff 100644
--- a/app/javascript/mastodon/locales/pa.json
+++ b/app/javascript/mastodon/locales/pa.json
@@ -341,17 +341,11 @@
"status.report": "@{name} ਦੀ ਰਿਪੋਰਟ ਕਰੋ",
"status.sensitive_warning": "ਸੰਵੇਦਨਸ਼ੀਲ ਸਮੱਗਰੀ",
"status.share": "ਸਾਂਝਾ ਕਰੋ",
- "status.show_filter_reason": "ਕਿਵੇਂ ਵੀ ਵੇਖਾਓ",
- "status.show_less": "ਘੱਟ ਦਿਖਾਓ",
- "status.show_more": "ਹੋਰ ਦਿਖਾਓ",
"status.title.with_attachments": "{user} ਨੇ {attachmentCount, plural,one {ਅਟੈਚਮੈਂਟ} other {{attachmentCount}ਅਟੈਚਮੈਂਟਾਂ}} ਪੋਸਟ ਕੀਤੀਆਂ",
"status.translate": "ਉਲੱਥਾ ਕਰੋ",
"subscribed_languages.save": "ਤਬਦੀਲੀਆਂ ਸੰਭਾਲੋ",
"tabs_bar.home": "ਘਰ",
"tabs_bar.notifications": "ਸੂਚਨਾਵਾਂ",
- "timeline_hint.resources.followers": "ਫ਼ਾਲੋਅਰ",
- "timeline_hint.resources.follows": "ਫ਼ਾਲੋ",
- "timeline_hint.resources.statuses": "ਪੂਰਾਣੀਆਂ ਪੋਸਟਾਂ",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"units.short.billion": "{count}ਿਬ",
"units.short.million": "{count}ਮਿ",
diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json
index 0960ef86fefc74..158516fbcd82d7 100644
--- a/app/javascript/mastodon/locales/pl.json
+++ b/app/javascript/mastodon/locales/pl.json
@@ -20,7 +20,6 @@
"account.block_domain": "Blokuj wszystko z {domain}",
"account.block_short": "Zablokuj",
"account.blocked": "Zablokowany(-a)",
- "account.browse_more_on_origin_server": "Zobacz więcej na oryginalnym profilu",
"account.cancel_follow_request": "Wycofaj żądanie obserwowania",
"account.copy": "Skopiuj odnośnik do profilu",
"account.direct": "Prywatna wzmianka @{name}",
@@ -99,6 +98,8 @@
"block_modal.title": "Zablokować użytkownika?",
"block_modal.you_wont_see_mentions": "Nie zobaczysz wpisów, które wspominają tego użytkownika.",
"boost_modal.combo": "Naciśnij {combo}, aby pominąć to następnym razem",
+ "boost_modal.reblog": "Podbić wpis?",
+ "boost_modal.undo_reblog": "Cofnąć podbicie?",
"bundle_column_error.copy_stacktrace": "Skopiuj raport o błędzie",
"bundle_column_error.error.body": "Nie można zrenderować żądanej strony. Może to być spowodowane błędem w naszym kodzie lub problemami z kompatybilnością przeglądarki.",
"bundle_column_error.error.title": "O nie!",
@@ -194,6 +195,8 @@
"confirmations.unfollow.confirm": "Przestań obserwować",
"confirmations.unfollow.message": "Czy na pewno zamierzasz przestać obserwować {name}?",
"confirmations.unfollow.title": "Przestać obserwować?",
+ "content_warning.hide": "Ukryj wpis",
+ "content_warning.show": "Pokaż mimo to",
"conversation.delete": "Usuń konwersację",
"conversation.mark_as_read": "Oznacz jako przeczytane",
"conversation.open": "Zobacz konwersację",
@@ -301,6 +304,7 @@
"filter_modal.select_filter.subtitle": "Użyj istniejącej kategorii lub utwórz nową",
"filter_modal.select_filter.title": "Filtruj ten wpis",
"filter_modal.title.status": "Filtruj wpis",
+ "filter_warning.matches_filter": "Pasuje do filtra \"{title}\"",
"filtered_notifications_banner.pending_requests": "Od {count, plural, =0 {żadnej osoby którą możesz znać} one {# osoby którą możesz znać} other {# osób które możesz znać}}",
"filtered_notifications_banner.title": "Powiadomienia filtrowane",
"firehose.all": "Wszystko",
@@ -350,6 +354,14 @@
"hashtag.follow": "Obserwuj hasztag",
"hashtag.unfollow": "Przestań obserwować hashtag",
"hashtags.and_other": "…i {count, plural, other {jeszcze #}}",
+ "hints.profiles.followers_may_be_missing": "Może brakować niektórych obserwujących tego profilu.",
+ "hints.profiles.follows_may_be_missing": "Może brakować niektórych obserwowanych przez tego użytkownika.",
+ "hints.profiles.posts_may_be_missing": "Może brakować niektórych wpisów tego profilu.",
+ "hints.profiles.see_more_followers": "Zobacz wszystkich obserwujących na {domain}",
+ "hints.profiles.see_more_follows": "Zobacz wszystkich obserwowanych na {domain}",
+ "hints.profiles.see_more_posts": "Zobacz wszystkie wpisy na {domain}",
+ "hints.threads.replies_may_be_missing": "Może brakować odpowiedzi z innych serwerów.",
+ "hints.threads.see_more": "Zobacz wszystkie odpowiedzi na {domain}",
"home.column_settings.show_reblogs": "Pokazuj podbicia",
"home.column_settings.show_replies": "Pokazuj odpowiedzi",
"home.hide_announcements": "Ukryj ogłoszenia",
@@ -446,7 +458,7 @@
"lists.subheading": "Twoje listy",
"load_pending": "{count, plural, one {# nowa pozycja} other {nowe pozycje}}",
"loading_indicator.label": "Ładowanie…",
- "media_gallery.toggle_visible": "Przełącz widoczność",
+ "media_gallery.hide": "Ukryj",
"moved_to_account_banner.text": "Twoje konto {disabledAccount} jest obecnie wyłączone, ponieważ zostało przeniesione na {movedToAccount}.",
"mute_modal.hide_from_notifications": "Ukryj z powiadomień",
"mute_modal.hide_options": "Ukryj opcje",
@@ -457,9 +469,8 @@
"mute_modal.title": "Wyciszyć użytkownika?",
"mute_modal.you_wont_see_mentions": "Nie zobaczysz wpisów, które wspominają tego użytkownika.",
"mute_modal.you_wont_see_posts": "Użytkownik dalej będzie widzieć Twoje posty, ale Ty nie będziesz widzieć jego.",
- "name_and_others": "{name} i {count, plural, one {# inny} few {# inne} many {# innych} other {# innych}}",
- "name_and_others_with_link": "{name} i
{count, plural, one {# inny} few {# inne} many {# innych} other {# innych}}",
"navigation_bar.about": "O serwerze",
+ "navigation_bar.administration": "Administracja",
"navigation_bar.advanced_interface": "Otwórz w zaawansowanym interfejsie użytkownika",
"navigation_bar.blocks": "Zablokowani użytkownicy",
"navigation_bar.bookmarks": "Zakładki",
@@ -476,6 +487,7 @@
"navigation_bar.follows_and_followers": "Obserwowani i obserwujący",
"navigation_bar.lists": "Listy",
"navigation_bar.logout": "Wyloguj",
+ "navigation_bar.moderation": "Moderacja",
"navigation_bar.mutes": "Wyciszeni użytkownicy",
"navigation_bar.opened_in_classic_interface": "Posty, konta i inne konkretne strony są otwierane domyślnie w klasycznym interfejsie sieciowym.",
"navigation_bar.personal": "Osobiste",
@@ -491,9 +503,13 @@
"notification.admin.report_statuses": "{name} zgłosił(a) {target} w kategorii {category}",
"notification.admin.report_statuses_other": "{name} zgłosił(a) {target}",
"notification.admin.sign_up": "Użytkownik {name} zarejestrował się",
+ "notification.admin.sign_up.name_and_others": "zarejestrował(-a) się {name} i {count, plural, one {# inna osoba} few {# inne osoby} other {# innych osób}}",
"notification.favourite": "{name} dodaje Twój wpis do ulubionych",
+ "notification.favourite.name_and_others_with_link": "{name} i
{count, plural, one {# inna osoba polubiła twój wpis} few {# inne osoby polubiły twój wpis} other {# innych osób polubiło twój wpis}}",
"notification.follow": "{name} obserwuje Cię",
+ "notification.follow.name_and_others": "{name} i {count, plural, one {# inna osoba cię zaobserwowała} few {# inne osoby cię zaobserwowały} other {# innych osób cię zaobserwowało}}",
"notification.follow_request": "{name} chce cię zaobserwować",
+ "notification.follow_request.name_and_others": "{name} i {count, plural, one {# inna osoba chce} few {# inne osoby chcą} other {# innych osób chce}} zaobserwować twój profil",
"notification.label.mention": "Wzmianka",
"notification.label.private_mention": "Prywatna wzmianka",
"notification.label.private_reply": "Odpowiedź prywatna",
@@ -511,26 +527,26 @@
"notification.own_poll": "Twoje głosowanie zakończyło się",
"notification.poll": "Głosowanie, w którym brałeś(-aś) udział, zostało zakończone",
"notification.reblog": "Twój post został podbity przez {name}",
+ "notification.reblog.name_and_others_with_link": "{name} i
{count, plural, one {# inna osoba podbiła twój wpis} few {# inne osoby podbiły twój wpis} other {# innych osób podbiło twój wpis}}",
"notification.relationships_severance_event": "Utracone związki z {name}",
"notification.relationships_severance_event.account_suspension": "Administrator z {from} zawiesił {target}, więc nie dostaniesz wieści ani nie wejdziesz w interakcje z użytkownikami z tego serwera.",
"notification.relationships_severance_event.domain_block": "Administrator z {from} zablokował {target}, w tym {followersCount} z Twoich obserwujących i {followingCount, plural, one {# konto} other {# konta}} które obserwujesz.",
"notification.relationships_severance_event.learn_more": "Dowiedz się więcej",
+ "notification.relationships_severance_event.user_domain_block": "Zablokowałeś {target}, w tym {followersCount} z Twoich obserwujących i {followingCount, plural, one {# konto} other {# konta}} które obserwujesz.",
"notification.status": "{name} opublikował(a) nowy wpis",
"notification.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",
@@ -765,6 +781,7 @@
"status.bookmark": "Dodaj zakładkę",
"status.cancel_reblog_private": "Cofnij podbicie",
"status.cannot_reblog": "Ten wpis nie może zostać podbity",
+ "status.continued_thread": "Ciąg dalszy wątku",
"status.copy": "Skopiuj odnośnik do wpisu",
"status.delete": "Usuń",
"status.detailed_status": "Szczegółowy widok konwersacji",
@@ -777,8 +794,6 @@
"status.favourite": "Dodaj do ulubionych",
"status.favourites": "{count, plural, one {polubienie} few {polubienia} other {polubień}}",
"status.filter": "Filtruj ten wpis",
- "status.filtered": "Filtrowany(-a)",
- "status.hide": "Ukryj post",
"status.history.created": "{name} utworzone {date}",
"status.history.edited": "{name} edytowane {date}",
"status.load_more": "Załaduj więcej",
@@ -800,16 +815,14 @@
"status.reblogs.empty": "Nikt nie podbił jeszcze tego wpisu. Gdy ktoś to zrobi, pojawi się tutaj.",
"status.redraft": "Usuń i przeredaguj",
"status.remove_bookmark": "Usuń zakładkę",
+ "status.replied_in_thread": "Odpowiedź w wątku",
"status.replied_to": "Odpowiedź do wpisu użytkownika {name}",
"status.reply": "Odpowiedz",
"status.replyAll": "Odpowiedz na wątek",
"status.report": "Zgłoś @{name}",
"status.sensitive_warning": "Wrażliwa zawartość",
"status.share": "Udostępnij",
- "status.show_filter_reason": "Pokaż mimo wszystko",
- "status.show_less": "Zwiń",
"status.show_less_all": "Zwiń wszystkie",
- "status.show_more": "Rozwiń",
"status.show_more_all": "Rozwiń wszystkie",
"status.show_original": "Pokaż oryginał",
"status.title.with_attachments": "{user} opublikował(a) {attachmentCount, plural, one {załącznik} few {{attachmentCount} załączniki} other {{attachmentCount} załączników}}",
@@ -828,11 +841,6 @@
"time_remaining.minutes": "{number, plural, one {Pozostała # minuta} few {Pozostały # minuty} many {Pozostało # minut} other {Pozostało # minut}}",
"time_remaining.moments": "Pozostała chwila",
"time_remaining.seconds": "{number, plural, one {Pozostała # sekunda} few {Pozostały # sekundy} many {Pozostało # sekund} other {Pozostało # sekund}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} z innych serwerów nie są wyświetlane.",
- "timeline_hint.resources.followers": "Obserwujący",
- "timeline_hint.resources.follows": "Obserwowani",
- "timeline_hint.resources.replies": "Niektóre odpowiedzi",
- "timeline_hint.resources.statuses": "Starsze wpisy",
"trends.counter_by_accounts": "{count, plural, one {jedna osoba} few {{count} osoby} many {{count} osób} other {{counter} ludzie}} w ciągu {days, plural, one {ostatniego dnia} other {ostatnich {days} dni}}",
"trends.trending_now": "Popularne teraz",
"ui.beforeunload": "Utracisz tworzony wpis, jeżeli opuścisz Mastodona.",
diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json
index 03bf91ecb3e112..1d1b6ca3401cfb 100644
--- a/app/javascript/mastodon/locales/pt-BR.json
+++ b/app/javascript/mastodon/locales/pt-BR.json
@@ -11,6 +11,7 @@
"about.not_available": "Esta informação não foi disponibilizada neste servidor.",
"about.powered_by": "Redes sociais descentralizadas alimentadas por {mastodon}",
"about.rules": "Regras do servidor",
+ "account.account_note_header": "Nota pessoal",
"account.add_or_remove_from_list": "Adicionar ou remover de listas",
"account.badges.bot": "Robô",
"account.badges.cat": "Cat",
@@ -19,7 +20,6 @@
"account.block_domain": "Bloquear domínio {domain}",
"account.block_short": "Bloquear",
"account.blocked": "Bloqueado",
- "account.browse_more_on_origin_server": "Veja mais no perfil original",
"account.cancel_follow_request": "Cancelar solicitação para seguir",
"account.copy": "Copiar link do perfil",
"account.direct": "Mencione em privado @{name}",
@@ -63,6 +63,7 @@
"account.requested_follow": "{name} quer te seguir",
"account.share": "Compartilhar perfil de @{name}",
"account.show_reblogs": "Mostrar boosts de @{name}",
+ "account.statuses_counter": "{count, plural, one {{counter} publicação} other {{counter} publicações}}",
"account.unblock": "Desbloquear @{name}",
"account.unblock_domain": "Desbloquear domínio {domain}",
"account.unblock_short": "Desbloquear",
@@ -97,6 +98,8 @@
"block_modal.title": "Bloquear usuário?",
"block_modal.you_wont_see_mentions": "Você não verá publicações que os mencionem.",
"boost_modal.combo": "Pressione {combo} para pular isso na próxima vez",
+ "boost_modal.reblog": "Impulsionar a publicação?",
+ "boost_modal.undo_reblog": "Retirar o impulsionamento do post?",
"bundle_column_error.copy_stacktrace": "Copiar relatório do erro",
"bundle_column_error.error.body": "A página solicitada não pôde ser renderizada. Pode ser devido a um erro no nosso código, ou um problema de compatibilidade do seu navegador.",
"bundle_column_error.error.title": "Ah, não!",
@@ -192,6 +195,8 @@
"confirmations.unfollow.confirm": "Deixar de seguir",
"confirmations.unfollow.message": "Você tem certeza de que deseja deixar de seguir {name}?",
"confirmations.unfollow.title": "Deixar de seguir o usuário?",
+ "content_warning.hide": "Ocultar post",
+ "content_warning.show": "Mostrar mesmo assim",
"conversation.delete": "Excluir conversa",
"conversation.mark_as_read": "Marcar como lida",
"conversation.open": "Ver conversa",
@@ -299,6 +304,8 @@
"filter_modal.select_filter.subtitle": "Use uma categoria existente ou crie uma nova",
"filter_modal.select_filter.title": "Filtrar esta publicação",
"filter_modal.title.status": "Filtrar uma publicação",
+ "filter_warning.matches_filter": "Correspondente ao filtro “{title}”",
+ "filtered_notifications_banner.pending_requests": "Por {count, plural, =0 {no one} one {one person} other {# people}} que você talvez conheça",
"filtered_notifications_banner.title": "Notificações filtradas",
"firehose.all": "Tudo",
"firehose.local": "Este servidor",
@@ -347,6 +354,14 @@
"hashtag.follow": "Seguir hashtag",
"hashtag.unfollow": "Parar de seguir hashtag",
"hashtags.and_other": "…e {count, plural, one {}other {outros #}}",
+ "hints.profiles.followers_may_be_missing": "Os seguidores deste perfil podem estar faltando.",
+ "hints.profiles.follows_may_be_missing": "Os seguidores deste perfil podem estar faltando.",
+ "hints.profiles.posts_may_be_missing": "É possível que algumas publicações deste perfil estejam faltando.",
+ "hints.profiles.see_more_followers": "Ver mais seguidores no {domain}",
+ "hints.profiles.see_more_follows": "Ver mais seguidores no {domain}",
+ "hints.profiles.see_more_posts": "Ver mais publicações em {domain}",
+ "hints.threads.replies_may_be_missing": "Respostas de outros servidores podem estar faltando.",
+ "hints.threads.see_more": "Ver mais respostas no {domain}",
"home.column_settings.show_reblogs": "Mostrar boosts",
"home.column_settings.show_replies": "Mostrar respostas",
"home.hide_announcements": "Ocultar comunicados",
@@ -354,6 +369,13 @@
"home.pending_critical_update.link": "Ver atualizações",
"home.pending_critical_update.title": "Atualização de segurança crítica disponível!",
"home.show_announcements": "Mostrar comunicados",
+ "ignore_notifications_modal.disclaimer": "O Mastodon não pode informar aos usuários que você ignorou suas notificações. Ignorar notificações não impedirá que as próprias mensagens sejam enviadas.",
+ "ignore_notifications_modal.filter_instead": "Filtrar em vez disso",
+ "ignore_notifications_modal.filter_to_act_users": "Você ainda conseguirá aceitar, rejeitar ou denunciar usuários",
+ "ignore_notifications_modal.filter_to_avoid_confusion": "A filtragem ajuda a evitar confusão potencial",
+ "ignore_notifications_modal.filter_to_review_separately": "Você pode rever notificações filtradas separadamente",
+ "ignore_notifications_modal.ignore": "Ignorar notificações",
+ "ignore_notifications_modal.limited_accounts_title": "Ignorar notificações de contas moderadas?",
"ignore_notifications_modal.new_accounts_title": "Ignorar notificações de novas contas?",
"ignore_notifications_modal.not_followers_title": "Ignorar notificações de pessoas que não seguem você?",
"ignore_notifications_modal.not_following_title": "Ignorar notificações de pessoas que você não segue?",
@@ -436,7 +458,7 @@
"lists.subheading": "Suas listas",
"load_pending": "{count, plural, one {# novo item} other {# novos items}}",
"loading_indicator.label": "Carregando…",
- "media_gallery.toggle_visible": "{number, plural, one {Ocultar mídia} other {Ocultar mídias}}",
+ "media_gallery.hide": "Ocultar",
"moved_to_account_banner.text": "Sua conta {disabledAccount} está desativada porque você a moveu para {movedToAccount}.",
"mute_modal.hide_from_notifications": "Ocultar das notificações",
"mute_modal.hide_options": "Ocultar opções",
@@ -447,9 +469,8 @@
"mute_modal.title": "Silenciar usuário?",
"mute_modal.you_wont_see_mentions": "Você não verá publicações que os mencionem.",
"mute_modal.you_wont_see_posts": "Eles ainda poderão ver suas publicações, mas você não verá as deles.",
- "name_and_others": "{name} e {count, plural, one {# outro} other {# outros}}",
- "name_and_others_with_link": "{name} e
{count, plural, one {# outro} other {# outros}}",
"navigation_bar.about": "Sobre",
+ "navigation_bar.administration": "Administração",
"navigation_bar.advanced_interface": "Ativar na interface web avançada",
"navigation_bar.blocks": "Usuários bloqueados",
"navigation_bar.bookmarks": "Salvos",
@@ -466,6 +487,7 @@
"navigation_bar.follows_and_followers": "Segue e seguidores",
"navigation_bar.lists": "Listas",
"navigation_bar.logout": "Sair",
+ "navigation_bar.moderation": "Moderação",
"navigation_bar.mutes": "Usuários silenciados",
"navigation_bar.opened_in_classic_interface": "Publicações, contas e outras páginas específicas são abertas por padrão na interface 'web' clássica.",
"navigation_bar.personal": "Pessoal",
@@ -476,10 +498,23 @@
"navigation_bar.security": "Segurança",
"not_signed_in_indicator.not_signed_in": "Você precisa se autenticar para acessar este recurso.",
"notification.admin.report": "{name} denunciou {target}",
+ "notification.admin.report_account": "{name} reportou {count, plural, one {Um post} other {# posts}} de {target} para {category}",
+ "notification.admin.report_account_other": "{name} reportou {count, plural, one {Um post} other {# posts}} de {target}",
+ "notification.admin.report_statuses": "{name} Reportou {target} para {category}",
+ "notification.admin.report_statuses_other": "{name} denunciou {target}",
"notification.admin.sign_up": "{name} se inscreveu",
+ "notification.admin.sign_up.name_and_others": "{name} e {count, plural, one {# other} other {# outros}}",
"notification.favourite": "{name} favoritou sua publicação",
+ "notification.favourite.name_and_others_with_link": "{name} e
{count, plural, one {# outro} other {# others}} favoritaram a publicação",
"notification.follow": "{name} te seguiu",
+ "notification.follow.name_and_others": "{name} e {count, plural, one {# other} other {# outros}} seguiu você",
"notification.follow_request": "{name} quer te seguir",
+ "notification.follow_request.name_and_others": "{name} e {count, plural, one {# other} other {# outros}} pediu para seguir você",
+ "notification.label.mention": "Menção",
+ "notification.label.private_mention": "Menção privada",
+ "notification.label.private_reply": "Resposta privada",
+ "notification.label.reply": "Resposta",
+ "notification.mention": "Menção",
"notification.moderation-warning.learn_more": "Aprender mais",
"notification.moderation_warning": "Você recebeu um aviso de moderação",
"notification.moderation_warning.action_delete_statuses": "Algumas das suas publicações foram removidas.",
@@ -490,7 +525,9 @@
"notification.moderation_warning.action_silence": "Sua conta foi limitada.",
"notification.moderation_warning.action_suspend": "Sua conta foi suspensa.",
"notification.own_poll": "Sua enquete terminou",
+ "notification.poll": "Uma enquete que você votou terminou",
"notification.reblog": "{name} deu boost no teu toot",
+ "notification.reblog.name_and_others_with_link": "{name} e
{count, plural, one {# outra} other {# outras}} impulsionaram a publicação",
"notification.relationships_severance_event": "Conexões perdidas com {name}",
"notification.relationships_severance_event.account_suspension": "Um administrador de {from} suspendeu {target}, o que significa que você não pode mais receber atualizações deles ou interagir com eles.",
"notification.relationships_severance_event.domain_block": "An admin from {from} has blocked {target}, including {followersCount} of your followers and {followingCount, plural, one {# account} other {# accounts}} you follow.",
@@ -499,19 +536,32 @@
"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.accept_multiple": "{count, plural, one {Aceite # pedido…} other {Aceite # pedidos…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Aceite # pedido} other {Aceite # pedidos}}",
+ "notification_requests.confirm_accept_multiple.message": "Você está prestes a aceitar {count, plural, one {um pedido de notificação} other {# pedidos de notificação}}. Tem certeza de que deseja continuar?",
+ "notification_requests.confirm_accept_multiple.title": "Aceitar solicitações de notificação?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Dispensar pedido} other {Dispensar pedidos}}",
+ "notification_requests.confirm_dismiss_multiple.message": "Você está prestes a descartar {count, plural, one {um pedido de notificação} other {# pedidos de notificação}}. Você não será capaz de acessar facilmente{count, plural, one {} other {}} novamente. Tem certeza de que deseja continuar?",
+ "notification_requests.confirm_dismiss_multiple.title": "Descartar solicitações de notificação?",
"notification_requests.dismiss": "Rejeitar",
- "notification_requests.exit_selection_mode": "Cancelar",
+ "notification_requests.dismiss_multiple": "{count, plural, one {Dispensar # pedido…} other {Dispensar # pedidos…}}",
+ "notification_requests.edit_selection": "Editar",
+ "notification_requests.exit_selection": "Concluído",
+ "notification_requests.explainer_for_limited_account": "As notificações desta conta foram filtradas porque a conta foi limitada por um moderador.",
+ "notification_requests.explainer_for_limited_remote_account": "As notificações desta conta foram filtradas porque a conta ou o seu servidor foi limitado por um moderador.",
"notification_requests.maximize": "Maximizar",
+ "notification_requests.minimize_banner": "Minimizar banner de notificações filtradas",
"notification_requests.notifications_from": "Notificações de {name}",
"notification_requests.title": "Notificações filtradas",
+ "notification_requests.view": "Ver notificações",
"notifications.clear": "Limpar notificações",
"notifications.clear_confirmation": "Você tem certeza de que deseja limpar todas as suas notificações?",
"notifications.clear_title": "Limpar notificações?",
"notifications.column_settings.admin.report": "Novas denúncias:",
"notifications.column_settings.admin.sign_up": "Novas inscrições:",
"notifications.column_settings.alert": "Notificações no computador",
+ "notifications.column_settings.beta.category": "Recursos experimentais",
+ "notifications.column_settings.beta.grouping": "Agrupar notificações",
"notifications.column_settings.favourite": "Favoritos:",
"notifications.column_settings.filter_bar.advanced": "Exibir todas as categorias",
"notifications.column_settings.filter_bar.category": "Barra de filtro rápido",
@@ -543,6 +593,11 @@
"notifications.policy.accept": "Aceitar",
"notifications.policy.accept_hint": "Mostrar nas notificações",
"notifications.policy.drop": "Ignorar",
+ "notifications.policy.drop_hint": "Envie para o void, para nunca mais ser visto novamente",
+ "notifications.policy.filter": "Filtrar",
+ "notifications.policy.filter_hint": "Enviar para caixa de notificações filtradas",
+ "notifications.policy.filter_limited_accounts_hint": "Limitado pelos moderadores do servidor",
+ "notifications.policy.filter_limited_accounts_title": "Contas moderadas",
"notifications.policy.filter_new_accounts.hint": "Created within the past {days, plural, one {one day} other {# days}}",
"notifications.policy.filter_new_accounts_title": "Novas contas",
"notifications.policy.filter_not_followers_hint": "Including people who have been following you fewer than {days, plural, one {one day} other {# days}}",
@@ -551,6 +606,7 @@
"notifications.policy.filter_not_following_title": "Pessoas que você não segue",
"notifications.policy.filter_private_mentions_hint": "Filtrado, a menos que respondido em sua própria menção ou se você segue o remetente",
"notifications.policy.filter_private_mentions_title": "Menções privadas não solicitadas",
+ "notifications.policy.title": "Gerenciar notificações de…",
"notifications_permission_banner.enable": "Ativar notificações no computador",
"notifications_permission_banner.how_to_control": "Para receber notificações quando o Mastodon não estiver aberto, ative as notificações no computador. Você pode controlar precisamente quais tipos de interações geram notificações no computador através do botão {icon}.",
"notifications_permission_banner.title": "Nunca perca nada",
@@ -677,9 +733,13 @@
"report.unfollow_explanation": "Você está seguindo esta conta. Para não ver as publicações dela em sua página inicial, deixe de segui-la.",
"report_notification.attached_statuses": "{count, plural, one {{count} publicação anexada} other {{count} publicações anexadas}}",
"report_notification.categories.legal": "Legal",
+ "report_notification.categories.legal_sentence": "conteúdo ilegal",
"report_notification.categories.other": "Outro",
+ "report_notification.categories.other_sentence": "outro",
"report_notification.categories.spam": "Spam",
+ "report_notification.categories.spam_sentence": "spam",
"report_notification.categories.violation": "Violação de regra",
+ "report_notification.categories.violation_sentence": "violação de regra",
"report_notification.open": "Abrir denúncia",
"search.no_recent_searches": "Nenhuma busca recente",
"search.placeholder": "Pesquisar",
@@ -721,6 +781,7 @@
"status.bookmark": "Salvar",
"status.cancel_reblog_private": "Desfazer boost",
"status.cannot_reblog": "Este toot não pode receber boost",
+ "status.continued_thread": "Continuação da conversa",
"status.copy": "Copiar link",
"status.delete": "Excluir",
"status.detailed_status": "Visão detalhada da conversa",
@@ -733,8 +794,6 @@
"status.favourite": "Favorita",
"status.favourites": "{count, plural, one {favorite} other {favorites}}",
"status.filter": "Filtrar esta publicação",
- "status.filtered": "Filtrado",
- "status.hide": "Ocultar publicação",
"status.history.created": "{name} criou {date}",
"status.history.edited": "{name} editou {date}",
"status.load_more": "Ver mais",
@@ -756,16 +815,14 @@
"status.reblogs.empty": "Nada aqui. Quando alguém der boost, o usuário aparecerá aqui.",
"status.redraft": "Excluir e rascunhar",
"status.remove_bookmark": "Remover do Salvos",
+ "status.replied_in_thread": "Respondido na discussão",
"status.replied_to": "Em resposta a {name}",
"status.reply": "Responder",
"status.replyAll": "Responder a conversa",
"status.report": "Denunciar @{name}",
"status.sensitive_warning": "Mídia sensível",
"status.share": "Compartilhar",
- "status.show_filter_reason": "Mostrar mesmo assim",
- "status.show_less": "Mostrar menos",
"status.show_less_all": "Mostrar menos em tudo",
- "status.show_more": "Mostrar mais",
"status.show_more_all": "Mostrar mais em tudo",
"status.show_original": "Mostrar original",
"status.title.with_attachments": "{user} postou {attachmentCount, plural, one {um anexo} other {{attachmentCount} attachments}}",
@@ -784,10 +841,6 @@
"time_remaining.minutes": "{number, plural, one {# minuto restante} other {# minutos restantes}}",
"time_remaining.moments": "Momentos restantes",
"time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} de outros servidores não são mostrados.",
- "timeline_hint.resources.followers": "Seguidores",
- "timeline_hint.resources.follows": "Segue",
- "timeline_hint.resources.statuses": "Toots anteriores",
"trends.counter_by_accounts": "{count, plural, one {{counter} pessoa} other {{counter} pessoas}} no(s) último(s) {days, plural, one {dia} other {{days} dias}}",
"trends.trending_now": "Em alta agora",
"ui.beforeunload": "Seu rascunho será perdido se sair do Mastodon.",
diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json
index ac33494b6db735..53d8239073c2a3 100644
--- a/app/javascript/mastodon/locales/pt-PT.json
+++ b/app/javascript/mastodon/locales/pt-PT.json
@@ -20,7 +20,6 @@
"account.block_domain": "Bloquear domínio {domain}",
"account.block_short": "Bloquear",
"account.blocked": "Bloqueado(a)",
- "account.browse_more_on_origin_server": "Encontrar mais no perfil original",
"account.cancel_follow_request": "Retirar pedido para seguir",
"account.copy": "Copiar hiperligação para o perfil",
"account.direct": "Mencionar @{name} em privado",
@@ -45,7 +44,7 @@
"account.in_memoriam": "Em Memória.",
"account.joined_short": "Juntou-se a",
"account.languages": "Alterar línguas subscritas",
- "account.link_verified_on": "A posse desta ligação foi verificada em {date}",
+ "account.link_verified_on": "O proprietário desta hiperligação foi verificado em {date}",
"account.locked_info": "Esta conta é privada. O proprietário revê manualmente quem o pode seguir.",
"account.media": "Média",
"account.mention": "Mencionar @{name}",
@@ -99,6 +98,8 @@
"block_modal.title": "Bloquear utilizador?",
"block_modal.you_wont_see_mentions": "Não verá publicações que os mencionem.",
"boost_modal.combo": "Pode clicar {combo} para não voltar a ver",
+ "boost_modal.reblog": "Impulsionar a publicação?",
+ "boost_modal.undo_reblog": "Retirar post?",
"bundle_column_error.copy_stacktrace": "Copiar relatório de erros",
"bundle_column_error.error.body": "A página solicitada não pôde ser sintetizada. Isto pode ser devido a uma falha no nosso código ou a um problema de compatibilidade com o navegador.",
"bundle_column_error.error.title": "Ó, não!",
@@ -154,15 +155,15 @@
"compose_form.lock_disclaimer": "A sua conta não é {locked}. Qualquer pessoa pode segui-lo e ver as publicações direcionadas apenas a seguidores.",
"compose_form.lock_disclaimer.lock": "fechada",
"compose_form.placeholder": "Em que está a pensar?",
- "compose_form.poll.duration": "Duração do inquérito",
+ "compose_form.poll.duration": "Duração da sondagem",
"compose_form.poll.multiple": "Escolha múltipla",
"compose_form.poll.option_placeholder": "Opção {number}",
"compose_form.poll.single": "Escolha uma",
- "compose_form.poll.switch_to_multiple": "Alterar o inquérito para permitir várias respostas",
- "compose_form.poll.switch_to_single": "Alterar o inquérito para permitir uma única resposta",
+ "compose_form.poll.switch_to_multiple": "Alterar a sondagem para permitir várias respostas",
+ "compose_form.poll.switch_to_single": "Alterar a sondagem para permitir uma única resposta",
"compose_form.poll.type": "Estilo",
"compose_form.publish": "Publicar",
- "compose_form.publish_form": "Publicar",
+ "compose_form.publish_form": "Nova publicação",
"compose_form.reply": "Responder",
"compose_form.save_changes": "Atualizar",
"compose_form.spoiler.marked": "Texto escondido atrás de aviso",
@@ -189,11 +190,13 @@
"confirmations.redraft.message": "Tem a certeza de que quer eliminar e reescrever esta publicação? Os favoritos e partilhas perder-se-ão e as respostas à publicação original ficarão órfãs.",
"confirmations.redraft.title": "Eliminar e reescrever publicação?",
"confirmations.reply.confirm": "Responder",
- "confirmations.reply.message": "Responder agora irá reescrever a mensagem que está a compor actualmente. Tem a certeza que quer continuar?",
+ "confirmations.reply.message": "Se responder agora, a mensagem que está a escrever será substituída. Tem a certeza que pretende continuar?",
"confirmations.reply.title": "Sobrescrever publicação?",
"confirmations.unfollow.confirm": "Deixar de seguir",
"confirmations.unfollow.message": "De certeza que queres deixar de seguir {name}?",
"confirmations.unfollow.title": "Deixar de seguir utilizador?",
+ "content_warning.hide": "Ocultar publicação",
+ "content_warning.show": "Mostrar mesmo assim",
"conversation.delete": "Eliminar conversa",
"conversation.mark_as_read": "Marcar como lida",
"conversation.open": "Ver conversa",
@@ -204,14 +207,14 @@
"directory.federated": "Do fediverso conhecido",
"directory.local": "Apenas de {domain}",
"directory.new_arrivals": "Recém chegados",
- "directory.recently_active": "Com actividade recente",
+ "directory.recently_active": "Recentemente ativo",
"disabled_account_banner.account_settings": "Definições da conta",
"disabled_account_banner.text": "A sua conta {disabledAccount} está presentemente desativada.",
"dismissable_banner.community_timeline": "Estas são as publicações públicas mais recentes de pessoas cujas contas são hospedadas por {domain}.",
"dismissable_banner.dismiss": "Descartar",
"dismissable_banner.explore_links": "Essas histórias de notícias estão, no momento, a ser faladas por pessoas neste e noutros servidores da rede descentralizada.",
"dismissable_banner.explore_statuses": "Estas são publicações de toda a rede social que estão a ganhar popularidade atualmente. As mensagens mais recentes com mais partilhas e favoritos obtêm uma classificação mais elevada.",
- "dismissable_banner.explore_tags": "Estas #etiquetas estão presentemente a ganhar atenção entre as pessoas neste e noutros servidores da rede descentralizada.",
+ "dismissable_banner.explore_tags": "Estas são hashtags que estão a ganhar força na rede social atualmente. As hashtags que são utilizadas por mais pessoas diferentes têm uma classificação mais elevada.",
"dismissable_banner.public_timeline": "Estas são as publicações públicas mais recentes de pessoas na rede social que as pessoas em {domain} seguem.",
"domain_block_modal.block": "Bloquear servidor",
"domain_block_modal.block_account_instead": "Bloquear @{name} em alternativa",
@@ -236,7 +239,7 @@
"domain_pill.your_username": "O seu identificador único neste servidor. É possível encontrar utilizadores com o mesmo nome de utilizador em diferentes servidores.",
"embed.instructions": "Incorpore esta publicação no seu site copiando o código abaixo.",
"embed.preview": "Podes ver aqui como irá ficar:",
- "emoji_button.activity": "Actividade",
+ "emoji_button.activity": "Atividade",
"emoji_button.clear": "Limpar",
"emoji_button.custom": "Personalizar",
"emoji_button.flags": "Bandeiras",
@@ -244,7 +247,7 @@
"emoji_button.label": "Inserir Emoji",
"emoji_button.nature": "Natureza",
"emoji_button.not_found": "Nenhum emoji correspondente encontrado",
- "emoji_button.objects": "Objectos",
+ "emoji_button.objects": "Objetos",
"emoji_button.people": "Pessoas",
"emoji_button.recent": "Utilizados regularmente",
"emoji_button.search": "Pesquisar...",
@@ -256,27 +259,27 @@
"empty_column.account_timeline": "Sem publicações por aqui!",
"empty_column.account_unavailable": "Perfil indisponível",
"empty_column.blocks": "Ainda não bloqueaste qualquer utilizador.",
- "empty_column.bookmarked_statuses": "Ainda não adicionou nenhuma publicação aos itens salvos. Quando adicionar, eles serão exibidos aqui.",
+ "empty_column.bookmarked_statuses": "Ainda não tem nenhuma publicação marcada. Quando marcar uma, ela aparecerá aqui.",
"empty_column.community": "A cronologia local está vazia. Escreve algo público para começar!",
"empty_column.direct": "Ainda não tem qualquer menção privada. Quando enviar ou receber uma, ela irá aparecer aqui.",
"empty_column.domain_blocks": "Ainda não há qualquer domínio escondido.",
- "empty_column.explore_statuses": "Nada está em alta no momento. Volte mais tarde!",
+ "empty_column.explore_statuses": "Nada é tendência neste momento. Volte mais tarde!",
"empty_column.favourited_statuses": "Ainda não assinalou qualquer publicação como favorita. Quando o fizer, aparecerá aqui.",
"empty_column.favourites": "Ainda ninguém assinalou esta publicação como favorita. Quando alguém o fizer, aparecerá aqui.",
"empty_column.follow_requests": "Ainda não tens nenhum pedido de seguidor. Quando receberes algum, ele irá aparecer aqui.",
"empty_column.followed_tags": "Ainda não segue nenhuma hashtag. Quando o fizer, ela aparecerá aqui.",
"empty_column.hashtag": "Não foram encontradas publicações com essa #etiqueta.",
- "empty_column.home": "Ainda não segues qualquer utilizador. Visita {public} ou utiliza a pesquisa para procurar outros utilizadores.",
+ "empty_column.home": "A sua linha cronológica inicial está vazia! Siga mais pessoas para a preencher.",
"empty_column.list": "Ainda não existem publicações nesta lista. Quando membros desta lista fizerem novas publicações, elas aparecerão aqui.",
"empty_column.lists": "Ainda não tem qualquer lista. Quando criar uma, ela irá aparecer aqui.",
"empty_column.mutes": "Ainda não silenciaste qualquer utilizador.",
"empty_column.notification_requests": "Tudo limpo! Não há nada aqui. Quando você receber novas notificações, elas aparecerão aqui conforme as suas configurações.",
"empty_column.notifications": "Não tens notificações. Interage com outros utilizadores para iniciar uma conversa.",
"empty_column.public": "Não há nada aqui! Escreve algo publicamente ou segue outros utilizadores para veres aqui os conteúdos públicos",
- "error.unexpected_crash.explanation": "Devido a um erro no nosso código ou a uma compatilidade com o seu navegador, esta página não pôde ser apresentada correctamente.",
+ "error.unexpected_crash.explanation": "Devido a um erro no nosso código ou a um problema de compatibilidade do navegador, esta página não pôde ser apresentada corretamente.",
"error.unexpected_crash.explanation_addons": "Esta página não pôde ser exibida corretamente. Este erro provavelmente é causado por um complemento do navegador ou ferramentas de tradução automática.",
"error.unexpected_crash.next_steps": "Tente atualizar a página. Se isso não ajudar, pode usar o Mastodon através de um navegador diferente ou uma aplicação nativa.",
- "error.unexpected_crash.next_steps_addons": "Tente desabilitá-los e atualizar a página. Se isso não ajudar, você ainda poderá usar o Mastodon por meio de um navegador diferente ou de um aplicativo nativo.",
+ "error.unexpected_crash.next_steps_addons": "Tente desativá-los e atualizar a página. Se isso não ajudar, poderá ainda ser possível utilizar o Mastodon através de um navegador diferente ou de uma aplicação nativa.",
"errors.unexpected_crash.copy_stacktrace": "Copiar a stacktrace para o clipboard",
"errors.unexpected_crash.report_issue": "Reportar problema",
"explore.search_results": "Resultados da pesquisa",
@@ -301,6 +304,7 @@
"filter_modal.select_filter.subtitle": "Utilize uma categoria existente ou crie uma nova",
"filter_modal.select_filter.title": "Filtrar esta publicação",
"filter_modal.title.status": "Filtrar uma publicação",
+ "filter_warning.matches_filter": "Corresponde ao filtro “{title}”",
"filtered_notifications_banner.pending_requests": "De {count, plural, =0 {ninguém} one {uma pessoa} other {# pessoas}} que pode conhecer",
"filtered_notifications_banner.title": "Notificações filtradas",
"firehose.all": "Todas",
@@ -350,6 +354,12 @@
"hashtag.follow": "Seguir #etiqueta",
"hashtag.unfollow": "Deixar de seguir #etiqueta",
"hashtags.and_other": "…e {count, plural, other {mais #}}",
+ "hints.profiles.followers_may_be_missing": "Podem faltar seguidores neste perfil.",
+ "hints.profiles.follows_may_be_missing": "O número de perfis seguidos por este perfil pode faltar.",
+ "hints.profiles.posts_may_be_missing": "Podem faltar algumas publicações deste perfil.",
+ "hints.profiles.see_more_followers": "Ver mais seguidores no {domain}",
+ "hints.profiles.see_more_follows": "Veja mais perfis seguidos em {domain}",
+ "hints.profiles.see_more_posts": "Ver mais publicações em {domain}",
"home.column_settings.show_reblogs": "Mostrar impulsos",
"home.column_settings.show_replies": "Mostrar respostas",
"home.hide_announcements": "Ocultar comunicações",
@@ -397,7 +407,7 @@
"keyboard_shortcuts.my_profile": "para abrir o teu perfil",
"keyboard_shortcuts.notifications": "para abrir a coluna das notificações",
"keyboard_shortcuts.open_media": "para abrir media",
- "keyboard_shortcuts.pinned": "para abrir a lista dos toots fixados",
+ "keyboard_shortcuts.pinned": "Abrir lista de publicações fixadas",
"keyboard_shortcuts.profile": "para abrir o perfil do autor",
"keyboard_shortcuts.reply": "para responder",
"keyboard_shortcuts.requests": "para abrir a lista dos pedidos de seguidor",
@@ -435,7 +445,6 @@
"lists.subheading": "As tuas listas",
"load_pending": "{count, plural, one {# novo item} other {# novos itens}}",
"loading_indicator.label": "A carregar…",
- "media_gallery.toggle_visible": "Alternar visibilidade",
"moved_to_account_banner.text": "A sua conta {disabledAccount} está, no momento, desativada, porque você migrou para {movedToAccount}.",
"mute_modal.hide_from_notifications": "Ocultar das notificações",
"mute_modal.hide_options": "Ocultar opções",
@@ -446,8 +455,6 @@
"mute_modal.title": "Silenciar utilizador?",
"mute_modal.you_wont_see_mentions": "Não verá publicações que os mencionem.",
"mute_modal.you_wont_see_posts": "Eles podem continuar a ver as suas publicações, mas você não verá as deles.",
- "name_and_others": "{name} e {count, plural, one {# outro} other {# outros}}",
- "name_and_others_with_link": "{name} e
{count, plural, one {# outro} other {# outros}}",
"navigation_bar.about": "Sobre",
"navigation_bar.advanced_interface": "Abrir na interface web avançada",
"navigation_bar.blocks": "Utilizadores bloqueados",
@@ -468,7 +475,7 @@
"navigation_bar.mutes": "Utilizadores silenciados",
"navigation_bar.opened_in_classic_interface": "Por norma, publicações, contas, e outras páginas específicas são abertas na interface web clássica.",
"navigation_bar.personal": "Pessoal",
- "navigation_bar.pins": "Toots afixados",
+ "navigation_bar.pins": "Publicações fixadas",
"navigation_bar.preferences": "Preferências",
"navigation_bar.public_timeline": "Cronologia federada",
"navigation_bar.search": "Pesquisar",
@@ -497,8 +504,8 @@
"notification.moderation_warning.action_sensitive": "As suas publicações serão, a partir de agora, assinaladas como sensíveis.",
"notification.moderation_warning.action_silence": "A sua conta foi limitada.",
"notification.moderation_warning.action_suspend": "A sua conta foi suspensa.",
- "notification.own_poll": "A sua votação terminou",
- "notification.poll": "Uma votação em que participaste chegou ao fim",
+ "notification.own_poll": "A sua sondagem terminou",
+ "notification.poll": "Terminou uma sondagem em que votou",
"notification.reblog": "{name} reforçou a tua publicação",
"notification.relationships_severance_event": "Perdeu as ligações com {name}",
"notification.relationships_severance_event.account_suspension": "Um administrador de {from} suspendeu {target}, o que significa que já não pode receber atualizações dele ou interagir com ele.",
@@ -529,7 +536,7 @@
"notifications.column_settings.follow": "Novos seguidores:",
"notifications.column_settings.follow_request": "Novos pedidos de seguidor:",
"notifications.column_settings.mention": "Menções:",
- "notifications.column_settings.poll": "Resultados do inquérito:",
+ "notifications.column_settings.poll": "Resultados da sondagem:",
"notifications.column_settings.push": "Notificações Push",
"notifications.column_settings.reblog": "Reforços:",
"notifications.column_settings.show": "Mostrar na coluna",
@@ -543,7 +550,7 @@
"notifications.filter.favourites": "Favoritos",
"notifications.filter.follows": "Seguidores",
"notifications.filter.mentions": "Menções",
- "notifications.filter.polls": "Resultados do inquérito",
+ "notifications.filter.polls": "Resultados da sondagem",
"notifications.filter.statuses": "Atualizações de pessoas que você segue",
"notifications.grant_permission": "Conceder permissão.",
"notifications.group": "{count} notificações",
@@ -566,7 +573,7 @@
"notifications_permission_banner.title": "Nunca perca nada",
"onboarding.action.back": "Voltar atrás",
"onboarding.actions.back": "Voltar atrás",
- "onboarding.actions.go_to_explore": "Veja as tendências atuais",
+ "onboarding.actions.go_to_explore": "Ver tendências atuais",
"onboarding.actions.go_to_home": "Ir para a sua página inicial",
"onboarding.compose.template": "Olá #Mastodon!",
"onboarding.follows.empty": "Infelizmente, não é possível mostrar resultados neste momento. Pode tentar utilizar a pesquisa ou navegar na página \"Explorar\" para encontrar pessoas para seguir ou tentar novamente mais tarde.",
@@ -592,7 +599,7 @@
"onboarding.start.title": "Conseguiu!",
"onboarding.steps.follow_people.body": "Seguir pessoas interessantes é o propósito do Mastodon. ",
"onboarding.steps.follow_people.title": "Personalize o seu feed",
- "onboarding.steps.publish_status.body": "Diga olá ao mundo com texto, fotos, vídeos ou votos {emoji}",
+ "onboarding.steps.publish_status.body": "Diga olá ao mundo com texto, fotos, vídeos ou sondagens {emoji}",
"onboarding.steps.publish_status.title": "Faça a sua primeira publicação",
"onboarding.steps.setup_profile.body": "Promova as suas interações para ter um perfil preenchido. ",
"onboarding.steps.setup_profile.title": "Personalize o seu perfil",
@@ -601,19 +608,19 @@
"onboarding.tips.2fa": "
Sabia? Pode proteger a sua conta ativando a autenticação em duas etapas nas configurações de conta. Funciona com qualquer aplicativo TOTP à sua escolha, sem necessitar de um número de telefone!",
"onboarding.tips.accounts_from_other_servers": "
Sabia? Como o Mastodon é descentralizado, alguns perfis que encontra estarão hospedados noutros servidores que não os seus. E ainda assim pode interagir com eles perfeitamente! O servidor deles está na segunda metade do nome de utilizador!",
"onboarding.tips.migration": "
Sabia? Se sentir que o {domain} não é um bom servidor para si, no futuro pode mudar para outro servidor Mastodon sem perder os seus seguidores. Pode até mesmo hospedar o seu próprio servidor!",
- "onboarding.tips.verification": "
Sabia que? Pode fazer a verificação do seu site, adicionando o link do seu perfil à primeira página do seu site, como também pode adicionar o seu site ao seu perfil? Sem taxas ou documentos!",
+ "onboarding.tips.verification": "
Sabia que? Pode verificar a sua conta colocando uma hiperligação para o seu perfil Mastodon no seu próprio site e adicionando o site ao seu perfil. Sem taxas ou documentos!",
"password_confirmation.exceeds_maxlength": "A confirmação da palavra-passe excedeu o tamanho máximo ",
"password_confirmation.mismatching": "A confirmação da palavra-passe não corresponde",
"picture_in_picture.restore": "Colocá-lo de volta",
"poll.closed": "Fechado",
- "poll.refresh": "Recarregar",
+ "poll.refresh": "Atualizar",
"poll.reveal": "Ver resultados",
"poll.total_people": "{count, plural, one {# pessoa} other {# pessoas}}",
"poll.total_votes": "{count, plural, one {# voto} other {# votos}}",
"poll.vote": "Votar",
- "poll.voted": "Votaste nesta resposta",
+ "poll.voted": "Votou nesta resposta",
"poll.votes": "{votes, plural, one {# voto } other {# votos}}",
- "poll_button.add_poll": "Adicionar votação",
+ "poll_button.add_poll": "Adicionar uma sondagem",
"poll_button.remove_poll": "Remover sondagem",
"privacy.change": "Ajustar a privacidade da publicação",
"privacy.direct.long": "Todos os mencionados na publicação",
@@ -628,7 +635,7 @@
"privacy_policy.last_updated": "Última atualização em {date}",
"privacy_policy.title": "Política de privacidade",
"recommended": "Recomendado",
- "refresh": "Actualizar",
+ "refresh": "Atualizar",
"regeneration_indicator.label": "A carregar…",
"regeneration_indicator.sublabel": "A tua página inicial está a ser preparada!",
"relative_time.days": "{number}d",
@@ -670,7 +677,7 @@
"report.reasons.other": "É outra coisa",
"report.reasons.other_description": "O problema não se encaixa nas outras categorias",
"report.reasons.spam": "É spam",
- "report.reasons.spam_description": "Hiperligações maliciosas, contactos falsos, ou respostas repetitivas",
+ "report.reasons.spam_description": "Hiperligações maliciosas, contactos falsos ou respostas repetitivas",
"report.reasons.violation": "Viola as regras do servidor",
"report.reasons.violation_description": "Está ciente de que infringe regras específicas",
"report.rules.subtitle": "Selecione tudo o que se aplicar",
@@ -726,8 +733,8 @@
"sign_in_banner.create_account": "Criar conta",
"sign_in_banner.follow_anyone": "Siga alguém no fediverso e veja tudo em ordem cronológica. Sem algoritmos, anúncios ou clickbait à vista.",
"sign_in_banner.mastodon_is": "O Mastodon é a melhor maneira de acompanhar o que está a acontecer.",
- "sign_in_banner.sign_in": "Iniciar Sessão",
- "sign_in_banner.sso_redirect": "Inicie Sessão ou Registe-se",
+ "sign_in_banner.sign_in": "Iniciar sessão",
+ "sign_in_banner.sso_redirect": "Inicie sessão ou registe-se",
"status.admin_account": "Abrir a interface de moderação para @{name}",
"status.admin_domain": "Abrir interface de moderação para {domain}",
"status.admin_status": "Abrir esta publicação na interface de moderação",
@@ -735,7 +742,7 @@
"status.bookmark": "Guardar nos marcadores",
"status.cancel_reblog_private": "Deixar de reforçar",
"status.cannot_reblog": "Não é possível partilhar esta publicação",
- "status.copy": "Copiar ligação para a publicação",
+ "status.copy": "Copiar hiperligação para a publicação",
"status.delete": "Eliminar",
"status.detailed_status": "Vista pormenorizada da conversa",
"status.direct": "Mencionar @{name} em privado",
@@ -747,8 +754,6 @@
"status.favourite": "Assinalar como favorito",
"status.favourites": "{count, plural, one {favorito} other {favoritos}}",
"status.filter": "Filtrar esta publicação",
- "status.filtered": "Filtrada",
- "status.hide": "Ocultar publicação",
"status.history.created": "{name} criado em {date}",
"status.history.edited": "{name} editado em {date}",
"status.load_more": "Carregar mais",
@@ -776,10 +781,7 @@
"status.report": "Denunciar @{name}",
"status.sensitive_warning": "Conteúdo problemático",
"status.share": "Partilhar",
- "status.show_filter_reason": "Mostrar mesmo assim",
- "status.show_less": "Mostrar menos",
"status.show_less_all": "Mostrar menos para todas",
- "status.show_more": "Mostrar mais",
"status.show_more_all": "Mostrar mais para todas",
"status.show_original": "Mostrar original",
"status.title.with_attachments": "{user} publicou {attachmentCount, plural,one {um anexo} other {{attachmentCount} anexos}}",
@@ -798,20 +800,16 @@
"time_remaining.minutes": "{número, plural, um {# minute} outro {# minutes}} faltam",
"time_remaining.moments": "Momentos restantes",
"time_remaining.seconds": "{número, plural, um {# second} outro {# seconds}} faltam",
- "timeline_hint.remote_resource_not_displayed": "{resource} de outros servidores não são exibidos.",
- "timeline_hint.resources.followers": "Seguidores",
- "timeline_hint.resources.follows": "Seguindo",
- "timeline_hint.resources.statuses": "Publicações mais antigas",
"trends.counter_by_accounts": "{count, plural, one {{counter} pessoa} other {{counter} pessoas}} {days, plural, one {no último dia} other {nos últimos {days} dias}}",
- "trends.trending_now": "Em alta neste momento",
+ "trends.trending_now": "Tendências atuais",
"ui.beforeunload": "O teu rascunho será perdido se abandonares o Mastodon.",
"units.short.billion": "{count}MM",
"units.short.million": "{count}M",
"units.short.thousand": "{count}m",
- "upload_area.title": "Arraste e solte para enviar",
- "upload_button.label": "Juntar imagens, um vídeo, ou um ficheiro de som",
- "upload_error.limit": "Limite máximo do ficheiro a carregar excedido.",
- "upload_error.poll": "O carregamento de ficheiros não é permitido em sondagens.",
+ "upload_area.title": "Arrastar e largar para enviar",
+ "upload_button.label": "Adicionar imagens, um vídeo ou um ficheiro de som",
+ "upload_error.limit": "Limite de envio de ficheiros excedido.",
+ "upload_error.poll": "Não é permitido o envio de ficheiros em sondagens.",
"upload_form.audio_description": "Descreva para pessoas com diminuição da acuidade auditiva",
"upload_form.description": "Descreva para pessoas com diminuição da acuidade visual",
"upload_form.edit": "Editar",
@@ -822,7 +820,7 @@
"upload_modal.applying": "A aplicar…",
"upload_modal.choose_image": "Escolher imagem",
"upload_modal.description_placeholder": "Grave e cabisbaixo, o filho justo zelava pela querida mãe doente",
- "upload_modal.detect_text": "Detectar texto na imagem",
+ "upload_modal.detect_text": "Detetar texto na imagem",
"upload_modal.edit_media": "Editar media",
"upload_modal.hint": "Clique ou arraste o círculo na pré-visualização para escolher o ponto focal que será sempre visível em todas as miniaturas.",
"upload_modal.preparing_ocr": "A preparar o reconhecimento de caracteres (OCR)…",
diff --git a/app/javascript/mastodon/locales/ro.json b/app/javascript/mastodon/locales/ro.json
index 6bb90dcd2354e2..18380928b34be2 100644
--- a/app/javascript/mastodon/locales/ro.json
+++ b/app/javascript/mastodon/locales/ro.json
@@ -18,7 +18,6 @@
"account.block_domain": "Blochează domeniul {domain}",
"account.block_short": "Blochează",
"account.blocked": "Blocat",
- "account.browse_more_on_origin_server": "Vezi mai multe pe profilul original",
"account.cancel_follow_request": "Retrage cererea de urmărire",
"account.copy": "Copiază link-ul profilului",
"account.direct": "Menționează pe @{name} în privat",
@@ -356,7 +355,6 @@
"lists.search": "Caută printre persoanele la care ești abonat",
"lists.subheading": "Listele tale",
"load_pending": "{count, plural, one {# element nou} other {# elemente noi}}",
- "media_gallery.toggle_visible": "{number, plural, one {Ascunde imaginea} other {Ascunde imaginile}}",
"moved_to_account_banner.text": "Contul tău {disabledAccount} este în acest moment dezactivat deoarece te-ai mutat la {movedToAccount}.",
"navigation_bar.about": "Despre",
"navigation_bar.advanced_interface": "Deschide în interfața web avansată",
@@ -560,8 +558,6 @@
"status.edited_x_times": "Modificată {count, plural, one {o dată} few {de {count} ori} other {de {count} de ori}}",
"status.embed": "Înglobează",
"status.filter": "Filtrează această postare",
- "status.filtered": "Sortate",
- "status.hide": "Ascunde postarea",
"status.history.created": "creată de {name} pe {date}",
"status.history.edited": "modificată de {name} pe {date}",
"status.load_more": "Încarcă mai multe",
@@ -588,10 +584,7 @@
"status.report": "Raportează pe @{name}",
"status.sensitive_warning": "Conținut sensibil",
"status.share": "Distribuie",
- "status.show_filter_reason": "Afișează oricum",
- "status.show_less": "Arată mai puțin",
"status.show_less_all": "Arată mai puțin pentru toți",
- "status.show_more": "Arată mai mult",
"status.show_more_all": "Arată mai mult pentru toți",
"status.show_original": "Afișează originalul",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
@@ -610,10 +603,6 @@
"time_remaining.minutes": "{number, plural, one {un minut rămas} few {# minute rămase} other {# de minute rămase}}",
"time_remaining.moments": "Momente rămase",
"time_remaining.seconds": "{number, plural, one {o secundă rămasă} few {# secunde rămase} other {# de secunde rămase}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} de la alte servere nu sunt afișate.",
- "timeline_hint.resources.followers": "Urmăritori",
- "timeline_hint.resources.follows": "Urmăriri",
- "timeline_hint.resources.statuses": "Postări mai vechi",
"trends.counter_by_accounts": "{count, plural, one {o persoană} few {{counter} persoane} other {{counter} de persoane}} în {days, plural, one {ultima zi} few {ultimele {days} zile} other {ultimele {days} de zile}}",
"trends.trending_now": "În tendință acum",
"ui.beforeunload": "Postarea se va pierde dacă părăsești pagina.",
diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json
index 8a6084a15f1403..97cc41d301cfbc 100644
--- a/app/javascript/mastodon/locales/ru.json
+++ b/app/javascript/mastodon/locales/ru.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.cat": "Cat",
@@ -19,7 +20,6 @@
"account.block_domain": "Заблокировать {domain}",
"account.block_short": "Блокировать",
"account.blocked": "Заблокировано",
- "account.browse_more_on_origin_server": "Посмотреть в оригинальном профиле",
"account.cancel_follow_request": "Отозвать запрос на подписку",
"account.copy": "Скопировать ссылку на профиль",
"account.direct": "Лично упоминать @{name}",
@@ -49,7 +49,7 @@
"account.moved_to": "У {name} теперь новый аккаунт:",
"account.mute": "Игнорировать @{name}",
"account.mute_notifications_short": "Отключить уведомления",
- "account.mute_short": "Немой",
+ "account.mute_short": "Глохни!",
"account.muted": "Игнорируется",
"account.mutual": "Взаимно",
"account.no_bio": "Описание не предоставлено.",
@@ -168,21 +168,30 @@
"confirmations.block.confirm": "Заблокировать",
"confirmations.delete.confirm": "Удалить",
"confirmations.delete.message": "Вы уверены, что хотите удалить этот пост?",
+ "confirmations.delete.title": "Удалить пост?",
"confirmations.delete_list.confirm": "Удалить",
"confirmations.delete_list.message": "Вы действительно хотите навсегда удалить этот список?",
+ "confirmations.delete_list.title": "Удалить список?",
"confirmations.discard_edit_media.confirm": "Отменить",
"confirmations.discard_edit_media.message": "У вас есть несохранённые изменения описания мультимедиа или предпросмотра, отменить их?",
"confirmations.edit.confirm": "Редактировать",
"confirmations.edit.message": "В данный момент, редактирование перезапишет составляемое вами сообщение. Вы уверены, что хотите продолжить?",
+ "confirmations.edit.title": "Переписать сообщение?",
"confirmations.logout.confirm": "Выйти",
"confirmations.logout.message": "Вы уверены, что хотите выйти?",
+ "confirmations.logout.title": "Выйти?",
"confirmations.mute.confirm": "Игнорировать",
"confirmations.redraft.confirm": "Удалить и исправить",
"confirmations.redraft.message": "Вы уверены, что хотите удалить и переписать этот пост? Отметки «избранного», продвижения и ответы к оригинальному посту будут удалены.",
+ "confirmations.redraft.title": "Удалим и исправим пост?",
"confirmations.reply.confirm": "Ответить",
"confirmations.reply.message": "При ответе, текст набираемого поста будет очищен. Продолжить?",
+ "confirmations.reply.title": "Перепишем пост?",
"confirmations.unfollow.confirm": "Отписаться",
"confirmations.unfollow.message": "Вы уверены, что хотите отписаться от {name}?",
+ "confirmations.unfollow.title": "Отписаться?",
+ "content_warning.hide": "Скрыть пост",
+ "content_warning.show": "Всё равно показать",
"conversation.delete": "Удалить беседу",
"conversation.mark_as_read": "Отметить как прочитанное",
"conversation.open": "Просмотр беседы",
@@ -345,6 +354,7 @@
"home.pending_critical_update.link": "Посмотреть обновления",
"home.pending_critical_update.title": "Доступно критическое обновление безопасности!",
"home.show_announcements": "Показать объявления",
+ "ignore_notifications_modal.filter_to_act_users": "Вы и далее сможете принять, отвергнуть и жаловаться на пользователей",
"interaction_modal.description.favourite": "С учётной записью Mastodon, вы можете добавить этот пост в избранное, чтобы сохранить его на будущее и дать автору знать, что пост вам понравился.",
"interaction_modal.description.follow": "С учётной записью Mastodon вы можете подписаться на {name}, чтобы получать их посты в своей домашней ленте.",
"interaction_modal.description.reblog": "С учётной записью Mastodon, вы можете продвинуть этот пост, чтобы поделиться им со своими подписчиками.",
@@ -423,7 +433,6 @@
"lists.subheading": "Ваши списки",
"load_pending": "{count, plural, one {# новый элемент} few {# новых элемента} other {# новых элементов}}",
"loading_indicator.label": "Загрузка…",
- "media_gallery.toggle_visible": "Показать/скрыть {number, plural, =1 {изображение} other {изображения}}",
"moved_to_account_banner.text": "Ваша учетная запись {disabledAccount} в настоящее время заморожена, потому что вы переехали на {movedToAccount}.",
"mute_modal.hide_from_notifications": "Скрыть из уведомлений",
"mute_modal.hide_options": "Скрыть параметры",
@@ -485,13 +494,16 @@
"notification.update": "{name} изменил(а) пост",
"notification_requests.accept": "Принять",
"notification_requests.dismiss": "Отклонить",
+ "notification_requests.maximize": "Развернуть",
"notification_requests.notifications_from": "Уведомления от {name}",
"notification_requests.title": "Отфильтрованные уведомления",
"notifications.clear": "Очистить уведомления",
"notifications.clear_confirmation": "Вы уверены, что хотите очистить все уведомления?",
+ "notifications.clear_title": "Сбросить уведомления?",
"notifications.column_settings.admin.report": "Новые жалобы:",
"notifications.column_settings.admin.sign_up": "Новые регистрации:",
"notifications.column_settings.alert": "Уведомления на рабочем столе",
+ "notifications.column_settings.beta.category": "Экспериментальные функции",
"notifications.column_settings.favourite": "Избранные:",
"notifications.column_settings.filter_bar.advanced": "Отображать все категории",
"notifications.column_settings.filter_bar.category": "Панель сортировки",
@@ -520,6 +532,7 @@
"notifications.permission_denied": "Уведомления на рабочем столе недоступны, так как вы запретили их отправку в браузере. Проверьте настройки для сайта, чтобы включить их обратно.",
"notifications.permission_denied_alert": "Уведомления на рабочем столе недоступны, так как вы ранее отклонили запрос на их отправку.",
"notifications.permission_required": "Чтобы включить уведомления на рабочем столе, необходимо разрешить их в браузере.",
+ "notifications.policy.drop": "Игнорируем",
"notifications.policy.filter_new_accounts.hint": "Создано в течение последних {days, plural, one {один день} few {# дней} many {# дней} other {# дня}}",
"notifications.policy.filter_new_accounts_title": "Новые учётные записи",
"notifications.policy.filter_not_followers_title": "Люди, не подписанные на вас",
@@ -653,8 +666,10 @@
"report.unfollow_explanation": "Вы подписаны на этого пользователя. Чтобы не видеть его/её посты в своей домашней ленте, отпишитесь от него/неё.",
"report_notification.attached_statuses": "{count, plural, one {{count} сообщение} few {{count} сообщения} many {{count} сообщений} other {{count} сообщений}} вложено",
"report_notification.categories.legal": "Правовая информация",
+ "report_notification.categories.legal_sentence": "срамной контент",
"report_notification.categories.other": "Прочее",
"report_notification.categories.spam": "Спам",
+ "report_notification.categories.spam_sentence": "спам",
"report_notification.categories.violation": "Нарушение правил",
"report_notification.open": "Открыть жалобу",
"search.no_recent_searches": "Недавние запросы отсутствуют",
@@ -705,8 +720,6 @@
"status.embed": "Встроить на свой сайт",
"status.favourite": "Избранное",
"status.filter": "Фильтровать этот пост",
- "status.filtered": "Отфильтровано",
- "status.hide": "Скрыть пост",
"status.history.created": "{name} создал {date}",
"status.history.edited": "{name} отредактировал(а) {date}",
"status.load_more": "Загрузить остальное",
@@ -733,10 +746,7 @@
"status.report": "Пожаловаться",
"status.sensitive_warning": "Содержимое «деликатного характера»",
"status.share": "Поделиться",
- "status.show_filter_reason": "Все равно показать",
- "status.show_less": "Свернуть",
"status.show_less_all": "Свернуть все спойлеры в ветке",
- "status.show_more": "Развернуть",
"status.show_more_all": "Развернуть все спойлеры в ветке",
"status.show_original": "Показать оригинал",
"status.title.with_attachments": "{user} размещено {attachmentCount, plural, one {вложение} other {{attachmentCount} вложений}}",
@@ -755,10 +765,6 @@
"time_remaining.minutes": "{number, plural, one {осталась # минута} few {осталось # минуты} many {осталось # минут} other {осталось # минут}}",
"time_remaining.moments": "остались считанные мгновения",
"time_remaining.seconds": "{number, plural, one {# секунда} many {# секунд} other {# секунды}}",
- "timeline_hint.remote_resource_not_displayed": "Мы не отображаем {resource} с других серверов.",
- "timeline_hint.resources.followers": "подписчиков",
- "timeline_hint.resources.follows": "подписки",
- "timeline_hint.resources.statuses": "прошлые посты",
"trends.counter_by_accounts": "{count, plural, few {{counter} человека} other {{counter} человек}} за {days, plural, one {последний день} few {последние {days} дня} other {последние {days} дней}}",
"trends.trending_now": "Самое актуальное",
"ui.beforeunload": "Ваш черновик будет утерян, если вы покинете Mastodon.",
diff --git a/app/javascript/mastodon/locales/ry.json b/app/javascript/mastodon/locales/ry.json
index a53394dc5a224c..02d1c005cfb078 100644
--- a/app/javascript/mastodon/locales/ry.json
+++ b/app/javascript/mastodon/locales/ry.json
@@ -18,7 +18,6 @@
"account.block_domain": "Заблоковати домен {domain}",
"account.block_short": "Заблоковати",
"account.blocked": "Заблоковано",
- "account.browse_more_on_origin_server": "Позирайте бульше на ориґіналнум профілю",
"account.cancel_follow_request": "Удмінити пудписку",
"account.copy": "Зкопіровати удкликованя на профіл",
"account.direct": "Пошептати @{name}",
@@ -125,6 +124,8 @@
"column_header.show_settings": "Указати штімованя",
"column_header.unpin": "Удкріпити",
"column_subheading.settings": "Штімованя",
+ "community.column_settings.local_only": "Лем локалноє",
+ "community.column_settings.media_only": "Лем медіа",
"compose.language.change": "Поміняти язык",
"compose.language.search": "Глядати языкы...",
"compose.published.body": "Пост опубликованый.",
@@ -146,6 +147,12 @@
"compose_form.publish": "Публикація",
"compose_form.publish_form": "Нова публикація",
"compose_form.reply": "Удповідь",
+ "compose_form.save_changes": "Усокотити",
+ "confirmations.logout.confirm": "Уйти гет",
+ "confirmations.logout.message": "Бизувні сьте ож хочете уйти?",
+ "confirmations.logout.title": "Уйти гет?",
+ "confirmations.mute.confirm": "Стишити",
+ "confirmations.reply.confirm": "Удповісти",
"copypaste.copy_to_clipboard": "Копіровати у памнять",
"directory.recently_active": "Недавно актівні",
"disabled_account_banner.account_settings": "Штімованя акаунта",
diff --git a/app/javascript/mastodon/locales/sa.json b/app/javascript/mastodon/locales/sa.json
index 5e0b3e2b7a5de4..ac715e718e88bb 100644
--- a/app/javascript/mastodon/locales/sa.json
+++ b/app/javascript/mastodon/locales/sa.json
@@ -17,7 +17,6 @@
"account.block": "अवरुध्यताम् @{name}",
"account.block_domain": "अवरुध्यतां प्रदेशः {domain}",
"account.blocked": "अवरुद्धम्",
- "account.browse_more_on_origin_server": "अधिकं मूलव्यक्तिगतविवरणे दृश्यताम्",
"account.cancel_follow_request": "अनुसरणयाचनामपनय",
"account.direct": "गोपनीयरूपेण उल्लेखित-@{name}",
"account.disable_notifications": "यदा @{name} स्थापयति तदा माम्मा ज्ञापय",
@@ -320,7 +319,6 @@
"lists.search": "त्वया अनुसारितजनेषु अन्विष्य",
"lists.subheading": "तव सूचयः",
"load_pending": "{count, plural, one {# नूतनवस्तु} other {# नूतनवस्तूनि}}",
- "media_gallery.toggle_visible": "{number, plural, one {चित्रं प्रच्छादय} other {चित्राणि प्रच्छादय}}",
"moved_to_account_banner.text": "तव एकौण्ट् {disabledAccount} अधुना निष्कृतो यतोहि {movedToAccount} अस्मिन्त्वमसार्षीः।",
"navigation_bar.about": "विषये",
"navigation_bar.blocks": "निषिद्धभोक्तारः",
@@ -507,8 +505,6 @@
"status.edited_x_times": "Edited {count, plural, one {{count} वारम्} other {{count} वारम्}}",
"status.embed": "निहितम्",
"status.filter": "पत्रमिदं फिल्तरं कुरु",
- "status.filtered": "फिल्तर्कृतम्",
- "status.hide": "प्रेषरणं प्रच्छादय",
"status.history.created": "{name} असृजत् {date}",
"status.history.edited": "{name} समपादयत् {date}",
"status.load_more": "अधिकं स्थापय",
@@ -525,7 +521,6 @@
"status.reblogs.empty": "न केनापि पत्रमिदं बुस्त्कृतम्। यदा कोऽपि करोति, तानि इह दृश्यन्ते।",
"status.redraft": "मार्जय पुनश्च लिख्यताम्",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
- "timeline_hint.resources.statuses": "पूरातनपत्राणि",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"upload_form.audio_description": "Describe for people with hearing loss",
"upload_form.description": "Describe for the visually impaired",
diff --git a/app/javascript/mastodon/locales/sc.json b/app/javascript/mastodon/locales/sc.json
index cc23b3b1d86b4e..0e055716e1af82 100644
--- a/app/javascript/mastodon/locales/sc.json
+++ b/app/javascript/mastodon/locales/sc.json
@@ -11,6 +11,7 @@
"about.not_available": "Custa informatzione no est istada posta a disponimentu in custu serbidore.",
"about.powered_by": "Rete sotziale detzentralizada impulsada dae {mastodon}",
"about.rules": "Règulas de su serbidore",
+ "account.account_note_header": "Nota personale",
"account.add_or_remove_from_list": "Agiunghe o boga dae is listas",
"account.badges.bot": "Automatizadu",
"account.badges.group": "Grupu",
@@ -18,7 +19,6 @@
"account.block_domain": "Bloca su domìniu {domain}",
"account.block_short": "Bloca",
"account.blocked": "Blocadu",
- "account.browse_more_on_origin_server": "Esplora de prus in su profilu originale",
"account.cancel_follow_request": "Annulla sa sighidura",
"account.copy": "Còpia su ligòngiu a su profilu",
"account.direct": "Mèntova a @{name} in privadu",
@@ -27,6 +27,7 @@
"account.edit_profile": "Modìfica profilu",
"account.enable_notifications": "Notìfica·mi cando @{name} pùblicat messàgios",
"account.endorse": "Cussìgia in su profilu tuo",
+ "account.featured_tags.last_status_at": "Ùrtima publicatzione in su {date}",
"account.featured_tags.last_status_never": "Peruna publicatzione",
"account.featured_tags.title": "Etichetas de {name} in evidèntzia",
"account.follow": "Sighi",
@@ -71,10 +72,15 @@
"account.unmute_notifications_short": "Ativa is notìficas",
"account.unmute_short": "Ativa su sonu",
"account_note.placeholder": "Incarca pro agiùnghere una nota",
+ "admin.dashboard.daily_retention": "Tassu de ritentzione de is utentes a pustis de sa registratzione",
+ "admin.dashboard.monthly_retention": "Tassu de ritentzione de utentes pro mese a pustis de sa registratzione",
+ "admin.dashboard.retention.average": "Mèdiu",
+ "admin.dashboard.retention.cohort": "Mese de registratzione",
"admin.dashboard.retention.cohort_size": "Utentes noos",
"admin.impact_report.instance_accounts": "Contos de profilu chi custu diat cantzellare",
"admin.impact_report.instance_followers": "Sighiduras chi is utentes nostros diant pèrdere",
"admin.impact_report.instance_follows": "Sighiduras chi is utentes issoro diant pèrdere",
+ "admin.impact_report.title": "Resumu de s'impatu",
"alert.rate_limited.message": "Torra·bi a proare a pustis de {retry_time, time, medium}.",
"alert.rate_limited.title": "Màssimu de rechestas barigadu",
"alert.unexpected.message": "Ddoe est istada una faddina.",
@@ -82,6 +88,7 @@
"announcement.announcement": "Annùntziu",
"attachments_list.unprocessed": "(non protzessadu)",
"audio.hide": "Cua s'àudio",
+ "block_modal.remote_users_caveat": "Amus a pedire a su serbidore {domain} de rispetare sa detzisione tua. Nointames custu, su rispetu no est garantidu ca unos cantos serbidores diant pòdere gestire is blocos de manera diferente. Is publicatzione pùblicas diant pòdere ancora èssere visìbiles a is utentes chi no ant fatu s'atzessu.",
"block_modal.show_less": "Ammustra·nde prus pagu",
"block_modal.show_more": "Ammustra·nde prus",
"block_modal.they_cant_mention": "Non ti podent mentovare nen sighire.",
@@ -91,7 +98,9 @@
"block_modal.you_wont_see_mentions": "No as a bìdere is publicatziones chi mèntovent custa persone.",
"boost_modal.combo": "Podes incarcare {combo} pro brincare custu sa borta chi benit",
"bundle_column_error.copy_stacktrace": "Còpia s'informe de faddina",
+ "bundle_column_error.error.body": "Sa pàgina pedida non faghiat a dda renderizare. Diat pòdere èssere pro neghe de una faddina in su còdighe nostru, o de unu problema de cumpatibilidade de su navigadore.",
"bundle_column_error.error.title": "Oh, no!",
+ "bundle_column_error.network.body": "Ddoe est àpidu un'errore proende a carrigare custa pàgina. Custu diat pòdere derivare dae unu problema temporàneu cun sa connessione ìnternet tua a su serbidore.",
"bundle_column_error.network.title": "Faddina de connessione",
"bundle_column_error.retry": "Torra·bi a proare",
"bundle_column_error.return": "Torra a sa pàgina printzipale",
@@ -138,6 +147,7 @@
"compose_form.lock_disclaimer.lock": "blocadu",
"compose_form.placeholder": "A ite ses pensende?",
"compose_form.poll.duration": "Longària de su sondàgiu",
+ "compose_form.poll.multiple": "Sèberu mùltiplu",
"compose_form.poll.option_placeholder": "Optzione {number}",
"compose_form.poll.single": "Sèbera·nde una",
"compose_form.poll.switch_to_multiple": "Muda su sondàgiu pro permìtere multi-optziones",
@@ -154,9 +164,12 @@
"confirmations.block.confirm": "Bloca",
"confirmations.delete.confirm": "Cantzella",
"confirmations.delete.message": "Seguru chi boles cantzellare custa publicatzione?",
+ "confirmations.delete.title": "Cantzellare sa publicatzione?",
"confirmations.delete_list.confirm": "Cantzella",
"confirmations.delete_list.message": "Seguru chi boles cantzellare custa lista in manera permanente?",
+ "confirmations.delete_list.title": "Cantzellare sa lista?",
"confirmations.discard_edit_media.confirm": "Iscarta",
+ "confirmations.discard_edit_media.message": "Tenes modìficas non sarvadas a is descritziones o a is anteprimas de is cuntenutos, ddas boles iscartare su matessi?",
"confirmations.edit.confirm": "Modìfica",
"confirmations.logout.confirm": "Essi·nche",
"confirmations.logout.message": "Seguru chi boles essire?",
@@ -182,9 +195,21 @@
"disabled_account_banner.text": "Su contu tuo {disabledAccount} no est ativu.",
"dismissable_banner.dismiss": "Iscarta",
"domain_block_modal.block": "Bloca su serbidore",
+ "domain_block_modal.block_account_instead": "Bloca imbetzes a @{name}",
+ "domain_block_modal.they_can_interact_with_old_posts": "Is persones de custu serbidore podent ancora interagire cun is publicatziones betzas tuas.",
+ "domain_block_modal.they_cant_follow": "Perunu dae custu serbidore ti podet sighire.",
+ "domain_block_modal.they_wont_know": "No ant a ischire chi t'ant blocadu.",
"domain_block_modal.title": "Boles blocare su domìniu?",
+ "domain_block_modal.you_wont_see_posts": "No as a bìdere publicatziones o notìficas dae utentes in custu serbidore.",
+ "domain_pill.activitypub_lets_connect": "Ti permitit de ti collegare e de interagire cun persones no isceti in Mastodon, ma in aplicatziones sotziales diferentes puru.",
+ "domain_pill.activitypub_like_language": "ActivityPub est a tipu sa limba chi Mastodon chistionat cun àteras retes sotziales.",
"domain_pill.server": "Serbidore",
+ "domain_pill.their_handle": "S'identificadore suo:",
+ "domain_pill.their_server": "Sa domo digitale sua, in ue istant totu is publicatziones suas.",
"domain_pill.username": "Nòmine de utente",
+ "domain_pill.your_handle": "S'identificadore tuo:",
+ "domain_pill.your_server": "Sa domo digitale tua, in ue istant totu is publicatziones tuas. Custa non t'agradat? Tràmuda serbidore in cale si siat momentu e bati·ti fintzas in fatu is sighidores tuos.",
+ "domain_pill.your_username": "S'identificadore ùnicu tuo in custu serbidore. Si podent agatare utentes cun su matessi nòmine de utente in àteros serbidores.",
"embed.instructions": "Inserta custa publicatzione in su situ web tuo copiende su còdighe de suta.",
"embed.preview": "At a aparèssere aici:",
"emoji_button.activity": "Atividade",
@@ -345,7 +370,6 @@
"lists.subheading": "Is listas tuas",
"load_pending": "{count, plural, one {# elementu nou} other {# elementos noos}}",
"loading_indicator.label": "Carrighende…",
- "media_gallery.toggle_visible": "Cua {number, plural, one {immàgine} other {immàgines}}",
"navigation_bar.about": "Informatziones",
"navigation_bar.blocks": "Persones blocadas",
"navigation_bar.bookmarks": "Sinnalibros",
@@ -523,7 +547,6 @@
"status.edited_x_times": "Modificadu {count, plural, one {{count} # borta} other {{count} bortas}}",
"status.embed": "Afissa",
"status.favourites": "{count, plural, one {preferidu} other {preferidos}}",
- "status.filtered": "Filtradu",
"status.load_more": "Càrriga·nde àteros",
"status.media_hidden": "Elementos multimediales cuados",
"status.mention": "Mèntova a @{name}",
@@ -545,9 +568,7 @@
"status.report": "Sinnala @{name}",
"status.sensitive_warning": "Cuntenutu sensìbile",
"status.share": "Cumpartzi",
- "status.show_less": "Ammustra·nde prus pagu",
"status.show_less_all": "Ammustra·nde prus pagu pro totus",
- "status.show_more": "Ammustra·nde prus",
"status.show_more_all": "Ammustra·nde prus pro totus",
"status.title.with_attachments": "{user} at publicadu {attachmentCount, plural, one {un'alligongiadu} other {{attachmentCount} alligongiados}}",
"status.unmute_conversation": "Torra a ativare s'arresonada",
@@ -560,10 +581,6 @@
"time_remaining.minutes": "{number, plural, one {abarrat # minutu} other {abarrant # minutos}}",
"time_remaining.moments": "Abarrant pagu momentos",
"time_remaining.seconds": "{number, plural, one {abarrat # segundu} other {abarrant # segundos}}",
- "timeline_hint.remote_resource_not_displayed": "Is {resource} dae àteros serbidores non benint ammustradas.",
- "timeline_hint.resources.followers": "Sighiduras",
- "timeline_hint.resources.follows": "Sighende",
- "timeline_hint.resources.statuses": "Publicatziones prus betzas",
"trends.counter_by_accounts": "{count, plural, one {{counter} persone} other {{counter} persones}} in {days, plural, one {s'ùrtima die} other {{days} is ùrtimas dies}}",
"trends.trending_now": "Est tendèntzia immoe",
"ui.beforeunload": "S'abbotzu tuo at a èssere pèrdidu si essis dae Mastodon.",
diff --git a/app/javascript/mastodon/locales/sco.json b/app/javascript/mastodon/locales/sco.json
index 5aa5cd418559b7..b1b17b57db2d6c 100644
--- a/app/javascript/mastodon/locales/sco.json
+++ b/app/javascript/mastodon/locales/sco.json
@@ -17,7 +17,6 @@
"account.block": "Dingie @{name}",
"account.block_domain": "Dingie domain {domain}",
"account.blocked": "Dingied",
- "account.browse_more_on_origin_server": "Luik mair oan the oreeginal profile",
"account.cancel_follow_request": "Resile follae requeest",
"account.disable_notifications": "Stap notifyin me whan @{name} posts",
"account.domain_blocked": "Domain dingied",
@@ -305,7 +304,6 @@
"lists.search": "Seirch amang the fowk ye ken",
"lists.subheading": "Yer lists",
"load_pending": "{count, plural, one {# new item} other {# new items}}",
- "media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}",
"moved_to_account_banner.text": "Yer accoont {disabledAccount} is disabilt the noo acause ye flittit tae {movedToAccount}.",
"navigation_bar.about": "Aboot",
"navigation_bar.blocks": "Dingied uisers",
@@ -478,7 +476,6 @@
"status.edited_x_times": "Editit {count, plural, one {{count} time} other {{count} times}}",
"status.embed": "Embed",
"status.filter": "Filter this post",
- "status.filtered": "Filtert",
"status.history.created": "{name} creatit {date}",
"status.history.edited": "{name} editit {date}",
"status.load_more": "Load mair",
@@ -503,10 +500,7 @@
"status.report": "Clype @{name}",
"status.sensitive_warning": "Sensitive content",
"status.share": "Shaire",
- "status.show_filter_reason": "Shaw onieweys",
- "status.show_less": "Shaw less",
"status.show_less_all": "Shaw less fir aw",
- "status.show_more": "Shaw mair",
"status.show_more_all": "Shaw mair fir aw",
"status.show_original": "Shaw original",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
@@ -524,10 +518,6 @@
"time_remaining.minutes": "{number, plural, one {# minute} other {# minties}} left",
"time_remaining.moments": "Moments remainin",
"time_remaining.seconds": "{number, plural, one {# saicont} other {# saiconts}} left",
- "timeline_hint.remote_resource_not_displayed": "{resource} fae ither servers urnae displayed.",
- "timeline_hint.resources.followers": "Follaers",
- "timeline_hint.resources.follows": "Follaes",
- "timeline_hint.resources.statuses": "Aulder posts",
"trends.counter_by_accounts": "{count, plural, one {{counter} body} other {{counter} fowk}} in the past {days, plural, one {day} other {{days} days}}",
"trends.trending_now": "Trendin noo",
"ui.beforeunload": "Yer draft wull be lost if ye lea Mastodon.",
diff --git a/app/javascript/mastodon/locales/si.json b/app/javascript/mastodon/locales/si.json
index bb5fcc5e9b09d6..a9288fd104945a 100644
--- a/app/javascript/mastodon/locales/si.json
+++ b/app/javascript/mastodon/locales/si.json
@@ -11,7 +11,6 @@
"account.block_domain": "{domain} වසම අවහිර කරන්න",
"account.block_short": "අවහිර",
"account.blocked": "අවහිර කර ඇත",
- "account.browse_more_on_origin_server": "මුල් පැතිකඩෙහි තවත් පිරික්සන්න",
"account.disable_notifications": "@{name} පළ කරන විට මට දැනුම් නොදෙන්න",
"account.domain_blocked": "වසම අවහිර කර ඇත",
"account.edit_profile": "පැතිකඩ සංස්කරණය",
@@ -418,8 +417,6 @@
"status.edited_x_times": "සංශෝධිතයි {count, plural, one {වාර {count}} other {වාර {count}}}",
"status.embed": "කාවැද්දූ",
"status.filter": "මෙම ලිපිය පෙරන්න",
- "status.filtered": "පෙරන ලද",
- "status.hide": "ලිපිය සඟවන්න",
"status.history.created": "{name} නිර්මාණය {date}",
"status.history.edited": "{name} සංස්කරණය {date}",
"status.load_more": "තව පූරණය",
@@ -438,10 +435,7 @@
"status.report": "@{name} වාර්තා කරන්න",
"status.sensitive_warning": "සංවේදී අන්තර්ගතයකි",
"status.share": "බෙදාගන්න",
- "status.show_filter_reason": "කෙසේ වුවද පෙන්වන්න",
- "status.show_less": "අඩුවෙන් පෙන්වන්න",
"status.show_less_all": "සියල්ල අඩුවෙන් පෙන්වන්න",
- "status.show_more": "තවත් පෙන්වන්න",
"status.show_more_all": "සියල්ල වැඩියෙන් පෙන්වන්න",
"status.translate": "පරිවර්තනය",
"status.translated_from_with": "{provider} මගින් {lang} භාෂාවෙන් පරිවර්තනය කර ඇත",
@@ -455,10 +449,6 @@
"time_remaining.hours": "{number, plural, one {පැය #} other {පැය #}} ක් ඉතිරිය",
"time_remaining.minutes": "{number, plural, one {විනාඩි #} other {විනාඩි #}} ක් ඉතිරිය",
"time_remaining.seconds": "{number, plural, one {තත්පර #} other {තත්පර #}} ක් ඉතිරිය",
- "timeline_hint.remote_resource_not_displayed": "වෙනත් සේවාදායකයන්ගෙන් {resource} දර්ශනය නොවේ.",
- "timeline_hint.resources.followers": "අනුගාමිකයින්",
- "timeline_hint.resources.follows": "අනුගමන",
- "timeline_hint.resources.statuses": "පරණ ලිපි",
"trends.trending_now": "දැන් නැගී එන",
"ui.beforeunload": "ඔබ මාස්ටඩන් හැර ගියහොත් කටුපිටපත අහිමි වේ.",
"units.short.billion": "{count}බී",
diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json
index 2aefcee94dff41..bf108023690190 100644
--- a/app/javascript/mastodon/locales/sk.json
+++ b/app/javascript/mastodon/locales/sk.json
@@ -11,6 +11,7 @@
"about.not_available": "Tieto informácie neboli sprístupnené na tomto serveri.",
"about.powered_by": "Decentralizovaná sociálna sieť na základe technológie {mastodon}",
"about.rules": "Pravidlá servera",
+ "account.account_note_header": "Osobná poznámka",
"account.add_or_remove_from_list": "Pridať alebo odobrať zo zoznamov",
"account.badges.bot": "Bot",
"account.badges.cat": "Cat",
@@ -19,7 +20,6 @@
"account.block_domain": "Blokovať doménu {domain}",
"account.block_short": "Blokovať",
"account.blocked": "Účet blokovaný",
- "account.browse_more_on_origin_server": "Zobraziť viac na pôvodnom profile",
"account.cancel_follow_request": "Zrušiť žiadosť o sledovanie",
"account.copy": "Skopírovať odkaz na profil",
"account.direct": "Súkromne označiť @{name}",
@@ -93,6 +93,7 @@
"block_modal.title": "Blokovať užívateľa?",
"block_modal.you_wont_see_mentions": "Neuvidíš príspevky, ktoré ich spomínajú.",
"boost_modal.combo": "Nabudúce môžete preskočiť stlačením {combo}",
+ "boost_modal.reblog": "Vyzdvihnúť príspevok?",
"bundle_column_error.copy_stacktrace": "Kopírovať chybovú hlášku",
"bundle_column_error.error.body": "Požadovanú stránku nebolo možné vykresliť. Môže to byť spôsobené chybou v našom kóde alebo problémom s kompatibilitou prehliadača.",
"bundle_column_error.error.title": "Ale nie!",
@@ -188,6 +189,8 @@
"confirmations.unfollow.confirm": "Prestať sledovať",
"confirmations.unfollow.message": "Určite chcete prestať sledovať {name}?",
"confirmations.unfollow.title": "Prestať sledovať užívateľa?",
+ "content_warning.hide": "Skryť príspevok",
+ "content_warning.show": "Aj tak zobraziť",
"conversation.delete": "Vymazať konverzáciu",
"conversation.mark_as_read": "Označiť ako prečítanú",
"conversation.open": "Zobraziť konverzáciu",
@@ -286,6 +289,7 @@
"filter_modal.select_filter.subtitle": "Použite existujúcu kategóriu alebo vytvorte novú",
"filter_modal.select_filter.title": "Filtrovanie tohto príspevku",
"filter_modal.title.status": "Filtrovanie príspevku",
+ "filter_warning.matches_filter": "Zhody triedenia “{title}”",
"filtered_notifications_banner.title": "Filtrované oznámenia",
"firehose.all": "Všetko",
"firehose.local": "Tento server",
@@ -339,6 +343,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.",
@@ -416,7 +421,6 @@
"lists.subheading": "Vaše zoznamy",
"load_pending": "{count, plural, one {# nová položka} few {# nové položky} many {# nových položiek} other {# nových položiek}}",
"loading_indicator.label": "Načítavanie…",
- "media_gallery.toggle_visible": "{number, plural, one {Skryť obrázok} other {Skryť obrázky}}",
"moved_to_account_banner.text": "Váš účet {disabledAccount} je momentálne deaktivovaný, pretože ste sa presunuli na {movedToAccount}.",
"mute_modal.hide_from_notifications": "Ukryť z upozornení",
"mute_modal.hide_options": "Skryť možnosti",
@@ -424,6 +428,7 @@
"mute_modal.show_options": "Zobraziť možnosti",
"mute_modal.title": "Stíšiť užívateľa?",
"navigation_bar.about": "O tomto serveri",
+ "navigation_bar.administration": "Spravovanie",
"navigation_bar.advanced_interface": "Otvoriť v pokročilom webovom rozhraní",
"navigation_bar.blocks": "Blokované účty",
"navigation_bar.bookmarks": "Záložky",
@@ -440,6 +445,7 @@
"navigation_bar.follows_and_followers": "Sledovania a sledovatelia",
"navigation_bar.lists": "Zoznamy",
"navigation_bar.logout": "Odhlásiť sa",
+ "navigation_bar.moderation": "Moderovanie",
"navigation_bar.mutes": "Stíšené účty",
"navigation_bar.opened_in_classic_interface": "Príspevky, účty a iné špeciálne stránky sú predvolene otvárané v klasickom webovom rozhraní.",
"navigation_bar.personal": "Osobné",
@@ -455,6 +461,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ý.",
@@ -469,8 +480,11 @@
"notification.update": "{name} upravuje príspevok",
"notification_requests.accept": "Prijať",
"notification_requests.dismiss": "Zamietnuť",
+ "notification_requests.edit_selection": "Uprav",
+ "notification_requests.exit_selection": "Hotovo",
"notification_requests.notifications_from": "Oboznámenia od {name}",
"notification_requests.title": "Filtrované oboznámenia",
+ "notification_requests.view": "Zobraz upozornenia",
"notifications.clear": "Vyčistiť upozornenia",
"notifications.clear_confirmation": "Určite chcete nenávratne odstrániť všetky svoje upozornenia?",
"notifications.clear_title": "Vyčistiť upozornenia?",
@@ -504,6 +518,9 @@
"notifications.permission_denied": "Upozornenia na ploche sú nedostupné pre už skôr zamietnutú požiadavku prehliadača",
"notifications.permission_denied_alert": "Upozornenia na ploche nemôžu byť zapnuté, pretože požiadavka prehliadača bola už skôr zamietnutá",
"notifications.permission_required": "Upozornenia na ploche sú nedostupné, pretože neboli udelené potrebné povolenia.",
+ "notifications.policy.drop": "Ignoruj",
+ "notifications.policy.filter": "Triediť",
+ "notifications.policy.filter_limited_accounts_title": "Moderované účty",
"notifications.policy.filter_new_accounts_title": "Nové účty",
"notifications.policy.filter_not_followers_title": "Ľudia, ktorí ťa nenasledujú",
"notifications.policy.filter_not_following_title": "Ľudia, ktorých nenasleduješ",
@@ -689,8 +706,6 @@
"status.embed": "Vložiť",
"status.favourite": "Ohviezdičkované",
"status.filter": "Filtrovanie tohto príspevku",
- "status.filtered": "Filtrované",
- "status.hide": "Skryť príspevok",
"status.history.created": "Vytvorené účtom {name} {date}",
"status.history.edited": "Upravené účtom {name} {date}",
"status.load_more": "Načitať viac",
@@ -717,10 +732,7 @@
"status.report": "Nahlásiť @{name}",
"status.sensitive_warning": "Citlivý obsah",
"status.share": "Zdieľať",
- "status.show_filter_reason": "Aj tak zobraziť",
- "status.show_less": "Zobraziť menej",
"status.show_less_all": "Všetkým zobraziť menej",
- "status.show_more": "Zobraziť viac",
"status.show_more_all": "Všetkým zobraziť viac",
"status.show_original": "Zobraziť originál",
"status.title.with_attachments": "Účet {user} nahral {attachmentCount, plural, one {prílohu} few {{attachmentCount} prílohy} many {{attachmentCount} príloh} other {{attachmentCount} príloh}}",
@@ -739,10 +751,6 @@
"time_remaining.minutes": "Ostáva{number, plural, one { # minúta} few {jú # minúty} many { # minút} other { # minút}}",
"time_remaining.moments": "Ostáva už iba chviľka",
"time_remaining.seconds": "Ostáva{number, plural, one { # sekunda} few {jú # sekundy} many { # sekúnd} other { # sekúnd}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} z iných serverov sa nezobrazia.",
- "timeline_hint.resources.followers": "Sledujúci",
- "timeline_hint.resources.follows": "Sledovaní",
- "timeline_hint.resources.statuses": "Staršie príspevky",
"trends.counter_by_accounts": "{count, plural, one {{counter} osoba} few {{counter} ľudia} many {{counter} ľudí} other {{counter} ľudí}} za posledn{days, plural, one {ý deň} few {é {days} dni} many {ých {days} dní} other {ých {days} dní}}",
"trends.trending_now": "Teraz populárne",
"ui.beforeunload": "Po opustení Mastodonu prídete o to, čo máte rozpísané.",
diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json
index 9d6722137aba47..f19bd25fbe63f0 100644
--- a/app/javascript/mastodon/locales/sl.json
+++ b/app/javascript/mastodon/locales/sl.json
@@ -20,7 +20,6 @@
"account.block_domain": "Blokiraj domeno {domain}",
"account.block_short": "Blokiraj",
"account.blocked": "Blokirano",
- "account.browse_more_on_origin_server": "Brskaj več po izvirnem profilu",
"account.cancel_follow_request": "Umakni zahtevo za sledenje",
"account.copy": "Kopiraj povezavo do profila",
"account.direct": "Zasebno omeni @{name}",
@@ -349,6 +348,8 @@
"hashtag.follow": "Sledi ključniku",
"hashtag.unfollow": "Nehaj slediti ključniku",
"hashtags.and_other": "…in še {count, plural, other {#}}",
+ "hints.profiles.posts_may_be_missing": "Nekatere objave s tega profila morda manjkajo.",
+ "hints.threads.replies_may_be_missing": "Odgovori z drugih strežnikov morda manjkajo.",
"home.column_settings.show_reblogs": "Pokaži izpostavitve",
"home.column_settings.show_replies": "Pokaži odgovore",
"home.hide_announcements": "Skrij obvestila",
@@ -356,6 +357,9 @@
"home.pending_critical_update.link": "Glejte posodobitve",
"home.pending_critical_update.title": "Na voljo je kritična varnostna posodobbitev!",
"home.show_announcements": "Pokaži obvestila",
+ "ignore_notifications_modal.filter_to_avoid_confusion": "Filtriranje pomaga pri izogibanju morebitni zmedi",
+ "ignore_notifications_modal.filter_to_review_separately": "Filtrirana obvestila lahko pregledate ločeno",
+ "ignore_notifications_modal.ignore": "Prezri obvestila",
"interaction_modal.description.favourite": "Z računom na Mastodonu lahko to objavo postavite med priljubljene in tako avtorju nakažete, da jo cenite, in jo shranite za kasneje.",
"interaction_modal.description.follow": "Z računom na Mastodonu lahko sledite {name}, da prejemate njihove objave v svoj domači vir.",
"interaction_modal.description.reblog": "Z računom na Mastodonu lahko izpostavite to objavo, tako da jo delite s svojimi sledilci.",
@@ -434,7 +438,6 @@
"lists.subheading": "Vaši seznami",
"load_pending": "{count, plural, one {# nov element} two {# nova elementa} few {# novi elementi} other {# novih elementov}}",
"loading_indicator.label": "Nalaganje …",
- "media_gallery.toggle_visible": "{number, plural,one {Skrij sliko} two {Skrij sliki} other {Skrij slike}}",
"moved_to_account_banner.text": "Vaš račun {disabledAccount} je trenutno onemogočen, ker ste se prestavili na {movedToAccount}.",
"mute_modal.hide_from_notifications": "Skrijte se pred obvestili",
"mute_modal.hide_options": "Skrij možnosti",
@@ -445,8 +448,6 @@
"mute_modal.title": "Utišaj uporabnika?",
"mute_modal.you_wont_see_mentions": "Objav, ki jih omenjajo, ne boste videli.",
"mute_modal.you_wont_see_posts": "Še vedno vidijo vaše objave, vi pa ne njihovih.",
- "name_and_others": "{name} in {count, plural, one {# drug} two {# druga} few {# drugi} other {# drugih}}",
- "name_and_others_with_link": "{name} in
{count, plural, one {# drug} two {# druga} few {# drugi} other {# drugih}}",
"navigation_bar.about": "O Mastodonu",
"navigation_bar.advanced_interface": "Odpri v naprednem spletnem vmesniku",
"navigation_bar.blocks": "Blokirani uporabniki",
@@ -482,6 +483,10 @@
"notification.favourite": "{name} je vzljubil/a vašo objavo",
"notification.follow": "{name} vam sledi",
"notification.follow_request": "{name} vam želi slediti",
+ "notification.label.private_mention": "Zasebna omemba",
+ "notification.label.private_reply": "Zasebni odgovor",
+ "notification.label.reply": "Odgovori",
+ "notification.mention": "Omemba",
"notification.moderation-warning.learn_more": "Več o tem",
"notification.moderation_warning": "Prejeli ste opozorilo moderatorjev",
"notification.moderation_warning.action_delete_statuses": "Nekatere vaše objave so odstranjene.",
@@ -502,10 +507,14 @@
"notification.status": "{name} je pravkar objavil/a",
"notification.update": "{name} je uredil(a) objavo",
"notification_requests.accept": "Sprejmi",
+ "notification_requests.confirm_dismiss_multiple.title": "Želite opustiti zahteve za obvestila?",
"notification_requests.dismiss": "Zavrni",
+ "notification_requests.edit_selection": "Uredi",
+ "notification_requests.exit_selection": "Opravljeno",
"notification_requests.maximize": "Maksimiraj",
"notification_requests.notifications_from": "Obvestila od {name}",
"notification_requests.title": "Filtrirana obvestila",
+ "notification_requests.view": "Pokaži obvestila",
"notifications.clear": "Počisti obvestila",
"notifications.clear_confirmation": "Ali ste prepričani, da želite trajno izbrisati vsa svoja obvestila?",
"notifications.clear_title": "Želite počistiti obvestila?",
@@ -542,6 +551,11 @@
"notifications.permission_denied": "Namizna obvestila niso na voljo zaradi poprej zavrnjene zahteve dovoljenja brskalnika.",
"notifications.permission_denied_alert": "Namiznih obvestil ni mogoče omogočiti, ker je bilo dovoljenje brskalnika že prej zavrnjeno",
"notifications.permission_required": "Namizna obvestila niso na voljo, ker zahtevano dovoljenje ni bilo podeljeno.",
+ "notifications.policy.accept": "Sprejmi",
+ "notifications.policy.accept_hint": "Pokaži med obvestili",
+ "notifications.policy.drop": "Prezri",
+ "notifications.policy.filter_limited_accounts_hint": "Omejeno s strani moderatorjev strežnika",
+ "notifications.policy.filter_limited_accounts_title": "Moderirani računi",
"notifications.policy.filter_new_accounts.hint": "Ustvarjen v {days, plural, one {zadnjem # dnevu} two {zadnjih # dnevih} few {zadnjih # dnevih} other {zadnjih # dnevih}}",
"notifications.policy.filter_new_accounts_title": "Novi računi",
"notifications.policy.filter_not_followers_hint": "Vključujoč ljudi, ki vam sledijo manj kot {days, plural, one {# dan} two {# dneva} few {# dni} other {# dni}}",
@@ -550,6 +564,7 @@
"notifications.policy.filter_not_following_title": "Ljudje, ki jim ne sledite",
"notifications.policy.filter_private_mentions_hint": "Filtrirano, razen če je odgovor na vašo lastno omembo ali če sledite pošiljatelju",
"notifications.policy.filter_private_mentions_title": "Neželene zasebne omembe",
+ "notifications.policy.title": "Upravljaj obvestila od ...",
"notifications_permission_banner.enable": "Omogoči obvestila na namizju",
"notifications_permission_banner.how_to_control": "Če želite prejemati obvestila, ko Mastodon ni odprt, omogočite namizna obvestila. Natančno lahko nadzirate, katere vrste interakcij naj tvorijo namizna obvestila; ko so omogočena, za to uporabite gumb {icon} zgoraj.",
"notifications_permission_banner.title": "Nikoli ne zamudite ničesar",
@@ -736,8 +751,6 @@
"status.favourite": "Priljubljen_a",
"status.favourites": "{count, plural, one {priljubitev} two {priljubitvi} few {priljubitve} other {priljubitev}}",
"status.filter": "Filtriraj to objavo",
- "status.filtered": "Filtrirano",
- "status.hide": "Skrij objavo",
"status.history.created": "{name}: ustvarjeno {date}",
"status.history.edited": "{name}: urejeno {date}",
"status.load_more": "Naloži več",
@@ -765,10 +778,7 @@
"status.report": "Prijavi @{name}",
"status.sensitive_warning": "Občutljiva vsebina",
"status.share": "Deli",
- "status.show_filter_reason": "Vseeno pokaži",
- "status.show_less": "Pokaži manj",
"status.show_less_all": "Prikaži manj za vse",
- "status.show_more": "Pokaži več",
"status.show_more_all": "Pokaži več za vse",
"status.show_original": "Pokaži izvirnik",
"status.title.with_attachments": "{user} je objavil_a {attachmentCount, plural, one {{attachmentCount} priponko} two {{attachmentCount} priponki} few {{attachmentCount} priponke} other {{attachmentCount} priponk}}",
@@ -787,10 +797,6 @@
"time_remaining.minutes": "{number, plural, one {# minuta} other {# minut}} je ostalo",
"time_remaining.moments": "Preostali trenutki",
"time_remaining.seconds": "{number, plural, one {# sekunda je preostala} two {# sekundi sta preostali} few {# sekunde so preostale} other {# sekund je preostalo}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} z drugih strežnikov ni prikazano.",
- "timeline_hint.resources.followers": "sledilcev",
- "timeline_hint.resources.follows": "Sledi",
- "timeline_hint.resources.statuses": "Starejše objave",
"trends.counter_by_accounts": "{count, plural, one {{count} oseba} two {{count} osebi} few {{count} osebe} other {{count} oseb}} v {days, plural, one {zadnjem {day} dnevu} two {zadnjih {days} dneh} few {zadnjih {days} dneh} other {zadnjih {days} dneh}}",
"trends.trending_now": "Zdaj v trendu",
"ui.beforeunload": "Vaš osnutek bo izgubljen, če zapustite Mastodona.",
diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json
index 3675afc9656b5c..e872f0e1f6b917 100644
--- a/app/javascript/mastodon/locales/sq.json
+++ b/app/javascript/mastodon/locales/sq.json
@@ -20,7 +20,6 @@
"account.block_domain": "Blloko përkatësinë {domain}",
"account.block_short": "Bllokoje",
"account.blocked": "E bllokuar",
- "account.browse_more_on_origin_server": "Shfletoni më tepër rreth profilit origjinal",
"account.cancel_follow_request": "Tërhiq mbrapsht kërkesë për ndjekje",
"account.copy": "Kopjoje lidhjen te profili",
"account.direct": "Përmendje private për @{name}",
@@ -99,6 +98,8 @@
"block_modal.title": "Të bllokohet përdoruesi?",
"block_modal.you_wont_see_mentions": "S’do të shihni postimet ku përmenden.",
"boost_modal.combo": "Që kjo të anashkalohet herës tjetër, mund të shtypni {combo}",
+ "boost_modal.reblog": "Përforcim postimi?",
+ "boost_modal.undo_reblog": "Të hiqet përforcim për postimin?",
"bundle_column_error.copy_stacktrace": "Kopjo raportim gabimi",
"bundle_column_error.error.body": "Faqja e kërkuar s’u vizatua dot. Kjo mund të vijë nga një e metë në kodin tonë, ose nga një problem përputhshmërie i shfletuesit.",
"bundle_column_error.error.title": "Oh, mos!",
@@ -194,6 +195,8 @@
"confirmations.unfollow.confirm": "Resht së ndjekuri",
"confirmations.unfollow.message": "Jeni i sigurt se doni të mos ndiqet më {name}?",
"confirmations.unfollow.title": "Të ndalet ndjekja e përdoruesit?",
+ "content_warning.hide": "Fshihe postimin",
+ "content_warning.show": "Shfaqe, sido qoftë",
"conversation.delete": "Fshije bisedën",
"conversation.mark_as_read": "Vëri shenjë si të lexuar",
"conversation.open": "Shfaq bisedën",
@@ -301,6 +304,7 @@
"filter_modal.select_filter.subtitle": "Përdorni një kategori ekzistuese, ose krijoni një të re",
"filter_modal.select_filter.title": "Filtroje këtë postim",
"filter_modal.title.status": "Filtroni një postim",
+ "filter_warning.matches_filter": "Ka përkim me filtrin “{title}”",
"filtered_notifications_banner.pending_requests": "Nga {count, plural, =0 {askush} one {një person} other {# vetë}} që mund të njihni",
"filtered_notifications_banner.title": "Njoftime të filtruar",
"firehose.all": "Krejt",
@@ -350,6 +354,14 @@
"hashtag.follow": "Ndiqe hashtag-un",
"hashtag.unfollow": "Hiqe ndjekjen e hashtag-ut",
"hashtags.and_other": "…dhe {count, plural, one {}other {# më tepër}}",
+ "hints.profiles.followers_may_be_missing": "Mund të mungojnë ndjekës për këtë profil.",
+ "hints.profiles.follows_may_be_missing": "Mund të mungojnë ndjekje për këtë profil.",
+ "hints.profiles.posts_may_be_missing": "Mund të mungojnë disa postime prej këtij profili.",
+ "hints.profiles.see_more_followers": "Shihni më tepër ndjekës në {domain}",
+ "hints.profiles.see_more_follows": "Shihni më tepër ndjekje në {domain}",
+ "hints.profiles.see_more_posts": "Shihni më tepër postime në {domain}",
+ "hints.threads.replies_may_be_missing": "Mund të mungojnë përgjigje nga shërbyes të tjerë.",
+ "hints.threads.see_more": "Shihni më tepër përgjigje në {domain}",
"home.column_settings.show_reblogs": "Shfaq përforcime",
"home.column_settings.show_replies": "Shfaq përgjigje",
"home.hide_announcements": "Fshihi lajmërimet",
@@ -446,7 +458,7 @@
"lists.subheading": "Listat tuaja",
"load_pending": "{count, plural,one {# objekt i ri }other {# objekte të rinj }}",
"loading_indicator.label": "Po ngarkohet…",
- "media_gallery.toggle_visible": "Fshihni {number, plural, one {figurë} other {figura}}",
+ "media_gallery.hide": "Fshihe",
"moved_to_account_banner.text": "Llogaria juaj {disabledAccount} aktualisht është e çaktivizuar, ngaqë kaluat te {movedToAccount}.",
"mute_modal.hide_from_notifications": "Fshihe prej njoftimeve",
"mute_modal.hide_options": "Fshihi mundësitë",
@@ -457,9 +469,8 @@
"mute_modal.title": "Të heshtohet përdoruesi?",
"mute_modal.you_wont_see_mentions": "S’do të shihni postime ku përmenden.",
"mute_modal.you_wont_see_posts": "Ata munden ende të shohin postimet tuaja, por ju s’do të shihni të tyret.",
- "name_and_others": "{name} dhe {count, plural, one {# tjetër} other {# të tjerë}}",
- "name_and_others_with_link": "{name} dhe
{count, plural, one {# tjetër} other {# të tjerë}}",
"navigation_bar.about": "Mbi",
+ "navigation_bar.administration": "Administrim",
"navigation_bar.advanced_interface": "Hape në ndërfaqe web të thelluar",
"navigation_bar.blocks": "Përdorues të bllokuar",
"navigation_bar.bookmarks": "Faqerojtës",
@@ -476,6 +487,7 @@
"navigation_bar.follows_and_followers": "Ndjekje dhe ndjekës",
"navigation_bar.lists": "Lista",
"navigation_bar.logout": "Dalje",
+ "navigation_bar.moderation": "Moderim",
"navigation_bar.mutes": "Përdorues të heshtuar",
"navigation_bar.opened_in_classic_interface": "Postime, llogari dhe të tjera faqe specifike, si parazgjedhje, hapen në ndërfaqe klasike web.",
"navigation_bar.personal": "Personale",
@@ -491,9 +503,13 @@
"notification.admin.report_statuses": "{name} raportoi {target} për {category}",
"notification.admin.report_statuses_other": "{name} raportoi {target}",
"notification.admin.sign_up": "{name} u regjistrua",
+ "notification.admin.sign_up.name_and_others": "U regjistrua {name} dhe {count, plural, one {# tjetër} other {# të tjerë}}",
"notification.favourite": "{name} i vuri shenjë postimit tuaj si të parapëlqyer",
+ "notification.favourite.name_and_others_with_link": "{name} dhe
{count, plural, one {# tjetër} other {# të tjerë}} i vunë shenjë postimit tuaj si të parapëlqyer",
"notification.follow": "{name} zuri t’ju ndjekë",
+ "notification.follow.name_and_others": "Ju ndoqi {name} dhe {count, plural, one {# tjetër} other {# të tjerë}}",
"notification.follow_request": "{name} ka kërkuar t’ju ndjekë",
+ "notification.follow_request.name_and_others": "Ka kërkuar t’ju ndjekë {name} dhe {count, plural, one {# tjetër} other {# të tjerë}}",
"notification.label.mention": "Përmendje",
"notification.label.private_mention": "Përmendje private",
"notification.label.private_reply": "Përgjigje private",
@@ -511,6 +527,7 @@
"notification.own_poll": "Pyetësori juaj ka përfunduar",
"notification.poll": "Ka përfunduar një pyetësor në të cilin keni marrë pjesë",
"notification.reblog": "{name} përforcoi mesazhin tuaj",
+ "notification.reblog.name_and_others_with_link": "Ju ka përforcuar {name} dhe
{count, plural, one {# tjetër} other {# të tjerë}}",
"notification.relationships_severance_event": "Lidhje të humbura me {name}",
"notification.relationships_severance_event.account_suspension": "Një përgjegjës nga {from} ka pezulluar {target}, që do të thotë se s’mund të merrni më përditësime prej tij, apo të ndërveproni me të.",
"notification.relationships_severance_event.domain_block": "Një përgjegjës nga {from} ka bllokuar {target}, përfshi {followersCount} të ndjekësve tuaj dhe {followingCount, plural, one {# llogari} other {# llogari}} që ndiqni.",
@@ -519,19 +536,17 @@
"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.accept_multiple": "{count, plural, one {Pranoni # kërkesë…} other {Pranoni # kërkesa…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Pranojeni kërkesën} other {Pranoje kërkesën}}",
+ "notification_requests.confirm_accept_multiple.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_multiple.title": "Të pranohen kërkesa njoftimesh?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Hidheni tej kërkesën} other {Hidhini tej kërkesat}}",
+ "notification_requests.confirm_dismiss_multiple.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_multiple.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.dismiss_multiple": "{count, plural, one {Hidhni tej # kërkesë…} other {Hidhni tej # kërkesa…}}",
+ "notification_requests.edit_selection": "Përpunoni",
+ "notification_requests.exit_selection": "U bë",
"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",
@@ -766,6 +781,7 @@
"status.bookmark": "Faqeruaje",
"status.cancel_reblog_private": "Shpërforcojeni",
"status.cannot_reblog": "Ky postim s’mund të përforcohet",
+ "status.continued_thread": "Vazhdoi rrjedhën",
"status.copy": "Kopjoje lidhjen për te mesazhi",
"status.delete": "Fshije",
"status.detailed_status": "Pamje e hollësishme bisede",
@@ -778,8 +794,6 @@
"status.favourite": "I vini shenjë si të parapëlqyer",
"status.favourites": "{count, plural, one {i parapëlqyer} other {të parapëlqyer}}",
"status.filter": "Filtroje këtë postim",
- "status.filtered": "I filtruar",
- "status.hide": "Fshihe postimin",
"status.history.created": "{name} u krijua më {date}",
"status.history.edited": "{name} u përpunua më {date}",
"status.load_more": "Ngarko më tepër",
@@ -801,16 +815,14 @@
"status.reblogs.empty": "Këtë mesazh s’e ka përforcuar njeri deri tani. Kur ta bëjë dikush, kjo do të duket këtu.",
"status.redraft": "Fshijeni & rihartojeni",
"status.remove_bookmark": "Hiqe faqerojtësin",
+ "status.replied_in_thread": "U përgjigj te rrjedha",
"status.replied_to": "Iu përgjigj {name}",
"status.reply": "Përgjigjuni",
"status.replyAll": "Përgjigjuni rrjedhës",
"status.report": "Raportojeni @{name}",
"status.sensitive_warning": "Lëndë rezervat",
"status.share": "Ndajeni me të tjerë",
- "status.show_filter_reason": "Shfaqe, sido qoftë",
- "status.show_less": "Shfaq më pak",
"status.show_less_all": "Shfaq më pak për të tërë",
- "status.show_more": "Shfaq më tepër",
"status.show_more_all": "Shfaq më tepër për të tërë",
"status.show_original": "Shfaq origjinalin",
"status.title.with_attachments": "{user} postoi {attachmentCount, plural, one {një bashkëngjitje} other {{attachmentCount} bashkëngjitje}}",
@@ -829,11 +841,6 @@
"time_remaining.minutes": "Edhe {number, plural, one {# minutë} other {# minuta}}",
"time_remaining.moments": "Çaste të mbetur",
"time_remaining.seconds": "Edhe {number, plural, one {# sekondë} other {# sekonda}}",
- "timeline_hint.remote_resource_not_displayed": "S’janë shfaqur {resource} nga shërbyes të tjerë.",
- "timeline_hint.resources.followers": "Ndjekës",
- "timeline_hint.resources.follows": "Ndjekje",
- "timeline_hint.resources.replies": "Disa përgjigje",
- "timeline_hint.resources.statuses": "Mesazhe të vjetër",
"trends.counter_by_accounts": "{count, plural, një {{counter} person} other {{counter} vetë}} në {days, plural, një {day} other {{days} ditë}} të kaluar",
"trends.trending_now": "Prirjet e tashme",
"ui.beforeunload": "Skica juaj do të humbë, nëse dilni nga Mastodon-i.",
diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json
index 5d890242cfc187..02be70f5bf2e6c 100644
--- a/app/javascript/mastodon/locales/sr-Latn.json
+++ b/app/javascript/mastodon/locales/sr-Latn.json
@@ -18,7 +18,6 @@
"account.block_domain": "Blokiraj domen {domain}",
"account.block_short": "Blokiraj",
"account.blocked": "Blokiran",
- "account.browse_more_on_origin_server": "Pregledajte još na originalnom profilu",
"account.cancel_follow_request": "Otkaži praćenje",
"account.copy": "Kopiraj vezu u profil",
"account.direct": "Privatno pomeni @{name}",
@@ -425,7 +424,6 @@
"lists.subheading": "Vaše liste",
"load_pending": "{count, plural, one {# nova stavka} few {# nove stavke} other {# novih stavki}}",
"loading_indicator.label": "Učitavanje…",
- "media_gallery.toggle_visible": "{number, plural, one {Sakrij sliku} few {Sakrij slike} other {Sakrij slike}}",
"moved_to_account_banner.text": "Vaš nalog {disabledAccount} je trenutno onemogućen jer ste prešli na {movedToAccount}.",
"mute_modal.hide_from_notifications": "Sakrij iz obaveštenja",
"mute_modal.hide_options": "Sakrij opcije",
@@ -712,8 +710,6 @@
"status.favourite": "Omiljeno",
"status.favourites": "{count, plural, one {# omiljeno} few {# omiljena} other {# omiljenih}}",
"status.filter": "Filtriraj ovu objavu",
- "status.filtered": "Filtrirano",
- "status.hide": "Sakrij objavu",
"status.history.created": "{name} napisao/la {date}",
"status.history.edited": "{name} uredio/la {date}",
"status.load_more": "Učitaj još",
@@ -741,10 +737,7 @@
"status.report": "Prijavi @{name}",
"status.sensitive_warning": "Osetljiv sadržaj",
"status.share": "Podeli",
- "status.show_filter_reason": "Ipak prikaži",
- "status.show_less": "Prikaži manje",
"status.show_less_all": "Prikaži manje za sve",
- "status.show_more": "Prikaži više",
"status.show_more_all": "Prikaži više za sve",
"status.show_original": "Prikaži orginal",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
@@ -763,10 +756,6 @@
"time_remaining.minutes": "Ostalo {number, plural, one {# minut} few {# minuta} other {# minuta}}",
"time_remaining.moments": "Još nekoliko trenutaka",
"time_remaining.seconds": "Ostalo {number, plural, one {# sekund} few {# sekunde} other {# sekundi}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} sa drugih servera se ne prikazuju.",
- "timeline_hint.resources.followers": "Pratioci",
- "timeline_hint.resources.follows": "Praćenja",
- "timeline_hint.resources.statuses": "Starije objave",
"trends.counter_by_accounts": "{count, plural, one {{counter} osoba} few {{counter} osobe} other {{counter} osoba}} u proteklih {days, plural, one {dan} other {{days} dana}}",
"trends.trending_now": "U trendu sada",
"ui.beforeunload": "Vaš nacrt će biti izgubljen ako napustite Mastodon.",
diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json
index 25c3a37b229a04..dfd10579e6b65e 100644
--- a/app/javascript/mastodon/locales/sr.json
+++ b/app/javascript/mastodon/locales/sr.json
@@ -18,7 +18,6 @@
"account.block_domain": "Блокирај домен {domain}",
"account.block_short": "Блокирај",
"account.blocked": "Блокиран",
- "account.browse_more_on_origin_server": "Прегледајте још на оригиналном профилу",
"account.cancel_follow_request": "Откажи праћење",
"account.copy": "Копирај везу у профил",
"account.direct": "Приватно помени @{name}",
@@ -425,7 +424,6 @@
"lists.subheading": "Ваше листе",
"load_pending": "{count, plural, one {# нова ставка} few {# нове ставке} other {# нових ставки}}",
"loading_indicator.label": "Учитавање…",
- "media_gallery.toggle_visible": "{number, plural, one {Сакриј слику} few {Сакриј слике} other {Сакриј слике}}",
"moved_to_account_banner.text": "Ваш налог {disabledAccount} је тренутно онемогућен јер сте прешли на {movedToAccount}.",
"mute_modal.hide_from_notifications": "Сакриј из обавештења",
"mute_modal.hide_options": "Сакриј опције",
@@ -712,8 +710,6 @@
"status.favourite": "Омиљено",
"status.favourites": "{count, plural, one {# омиљено} few {# омиљена} other {# омиљених}}",
"status.filter": "Филтрирај ову објаву",
- "status.filtered": "Филтрирано",
- "status.hide": "Сакриј објаву",
"status.history.created": "{name} написао/ла {date}",
"status.history.edited": "{name} уредио/ла {date}",
"status.load_more": "Учитај још",
@@ -741,10 +737,7 @@
"status.report": "Пријави @{name}",
"status.sensitive_warning": "Осетљив садржај",
"status.share": "Подели",
- "status.show_filter_reason": "Ипак прикажи",
- "status.show_less": "Прикажи мање",
"status.show_less_all": "Прикажи мање за све",
- "status.show_more": "Прикажи више",
"status.show_more_all": "Прикажи више за све",
"status.show_original": "Прикажи оргинал",
"status.title.with_attachments": "{user} је објавио {attachmentCount, plural, one {прилог} few {{attachmentCount} прилога} other {{attachmentCount} прилога}}",
@@ -763,10 +756,6 @@
"time_remaining.minutes": "Остало {number, plural, one {# минут} few {# минута} other {# минута}}",
"time_remaining.moments": "Још неколико тренутака",
"time_remaining.seconds": "Остало {number, plural, one {# секунд} few {# секунде} other {# секунди}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} са других сервера се не приказују.",
- "timeline_hint.resources.followers": "Пратиоци",
- "timeline_hint.resources.follows": "Праћења",
- "timeline_hint.resources.statuses": "Старије објаве",
"trends.counter_by_accounts": "{count, plural, one {{counter} особа} few {{counter} особе} other {{counter} особа}} у протеклих {days, plural, one {дан} other {{days} дана}}",
"trends.trending_now": "У тренду сада",
"ui.beforeunload": "Ваш нацрт ће бити изгубљен ако напустите Mastodon.",
diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json
index b27b3633eefe32..61cad916cae7f1 100644
--- a/app/javascript/mastodon/locales/sv.json
+++ b/app/javascript/mastodon/locales/sv.json
@@ -19,7 +19,6 @@
"account.block_domain": "Blockera domänen {domain}",
"account.block_short": "Blockera",
"account.blocked": "Blockerad",
- "account.browse_more_on_origin_server": "Läs mer på den ursprungliga profilen",
"account.cancel_follow_request": "Återkalla din begäran om att få följa",
"account.copy": "Kopiera länk till profil",
"account.direct": "Nämn @{name} privat",
@@ -193,6 +192,8 @@
"confirmations.unfollow.confirm": "Avfölj",
"confirmations.unfollow.message": "Är du säker på att du vill avfölja {name}?",
"confirmations.unfollow.title": "Avfölj %s?",
+ "content_warning.hide": "Dölj inlägg",
+ "content_warning.show": "Visa ändå",
"conversation.delete": "Radera konversation",
"conversation.mark_as_read": "Markera som läst",
"conversation.open": "Visa konversation",
@@ -349,6 +350,14 @@
"hashtag.follow": "Följ hashtagg",
"hashtag.unfollow": "Avfölj hashtagg",
"hashtags.and_other": "…och {count, plural, one {}other {# mer}}",
+ "hints.profiles.followers_may_be_missing": "Det kan saknas vissa följare av denna profil.",
+ "hints.profiles.follows_may_be_missing": "Det kan saknas vissa följare av denna profil.",
+ "hints.profiles.posts_may_be_missing": "Det kan saknas vissa följare för denna profil.",
+ "hints.profiles.see_more_followers": "Se fler följare på {domain}",
+ "hints.profiles.see_more_follows": "Se fler följare på {domain}",
+ "hints.profiles.see_more_posts": "Se fler inlägg på {domain}",
+ "hints.threads.replies_may_be_missing": "Det kan saknas svar från andra servrar.",
+ "hints.threads.see_more": "Se fler svar på {domain}",
"home.column_settings.show_reblogs": "Visa boostar",
"home.column_settings.show_replies": "Visa svar",
"home.hide_announcements": "Dölj notiser",
@@ -356,6 +365,17 @@
"home.pending_critical_update.link": "Se uppdateringar",
"home.pending_critical_update.title": "En kritisk säkerhetsuppdatering är tillgänglig!",
"home.show_announcements": "Visa notiser",
+ "ignore_notifications_modal.disclaimer": "Mastodon kan inte informera användarna om att du har ignorerat deras meddelanden. Ignorering av aviseringar kommer inte att stoppa själva meddelandena från att skickas.",
+ "ignore_notifications_modal.filter_instead": "Filtrera istället",
+ "ignore_notifications_modal.filter_to_act_users": "Du kommer fortfarande att kunna acceptera, avvisa eller rapportera användare",
+ "ignore_notifications_modal.filter_to_avoid_confusion": "Filtrering hjälper till att undvika eventuell förvirring",
+ "ignore_notifications_modal.filter_to_review_separately": "Du kan granska filtrerade aviseringar separat",
+ "ignore_notifications_modal.ignore": "Ignorera notifikationer",
+ "ignore_notifications_modal.limited_accounts_title": "Vill du ignorera aviseringar från modererade konton?",
+ "ignore_notifications_modal.new_accounts_title": "Vill du ignorera aviseringar från nya konton?",
+ "ignore_notifications_modal.not_followers_title": "Vill du ignorera aviseringar från personer som inte följer dig?",
+ "ignore_notifications_modal.not_following_title": "Vill du blockera aviseringar från personer som du inte följer dig?",
+ "ignore_notifications_modal.private_mentions_title": "Vill du ignorera aviseringar från oönskade privata omnämningar?",
"interaction_modal.description.favourite": "Med ett Mastodon-konto kan du favoritmarkera detta inlägg för att visa författaren att du gillar det och för att spara det till senare.",
"interaction_modal.description.follow": "Med ett Mastodon-konto kan du följa {name} för att se hens inlägg i ditt hemflöde.",
"interaction_modal.description.reblog": "Med ett Mastodon-konto kan du boosta detta inlägg för att dela den med dina egna följare.",
@@ -434,7 +454,7 @@
"lists.subheading": "Dina listor",
"load_pending": "{count, plural, one {# nytt objekt} other {# nya objekt}}",
"loading_indicator.label": "Laddar…",
- "media_gallery.toggle_visible": "Växla synlighet",
+ "media_gallery.hide": "Dölj",
"moved_to_account_banner.text": "Ditt konto {disabledAccount} är för närvarande inaktiverat eftersom du flyttat till {movedToAccount}.",
"mute_modal.hide_from_notifications": "Dölj från aviseringslistan",
"mute_modal.hide_options": "Dölj alternativ",
@@ -445,8 +465,6 @@
"mute_modal.title": "Tysta användare?",
"mute_modal.you_wont_see_mentions": "Du kommer inte att se inlägg som nämner dem.",
"mute_modal.you_wont_see_posts": "De kan fortfarande se dina inlägg, men du kan inte se deras.",
- "name_and_others": "{name} och {count, plural, one {# annan} other {# andra}}",
- "name_and_others_with_link": "{name} och
{count, plural, one {# annan} other {# andra}}",
"navigation_bar.about": "Om",
"navigation_bar.advanced_interface": "Öppna i avancerat webbgränssnitt",
"navigation_bar.blocks": "Blockerade användare",
@@ -479,9 +497,18 @@
"notification.admin.report_statuses": "{name} rapporterade {target} för {category}",
"notification.admin.report_statuses_other": "{name} rapporterade {target}",
"notification.admin.sign_up": "{name} registrerade sig",
+ "notification.admin.sign_up.name_and_others": "{name} och {count, plural, one {# en annan} other {# andra}} har registrerat sig",
"notification.favourite": "{name} favoritmarkerade ditt inlägg",
+ "notification.favourite.name_and_others_with_link": "{name} och
{count, plural, one {# annan} other {# andra}} har favoritmarkerat ditt inlägg",
"notification.follow": "{name} följer dig",
+ "notification.follow.name_and_others": "{name} och {count, plural, one {# en annan} other {# andra}} följer dig",
"notification.follow_request": "{name} har begärt att följa dig",
+ "notification.follow_request.name_and_others": "{name} och {count, plural, one {# en annan} other {# andra}} har bett att följa dig",
+ "notification.label.mention": "Nämn",
+ "notification.label.private_mention": "Privat nämning",
+ "notification.label.private_reply": "Privata svar",
+ "notification.label.reply": "Svar",
+ "notification.mention": "Nämn",
"notification.moderation-warning.learn_more": "Läs mer",
"notification.moderation_warning": "Du har fått en moderationsvarning",
"notification.moderation_warning.action_delete_statuses": "Några av dina inlägg har tagits bort.",
@@ -494,6 +521,7 @@
"notification.own_poll": "Din röstning har avslutats",
"notification.poll": "En enkät som du röstat i har avslutats",
"notification.reblog": "{name} boostade ditt inlägg",
+ "notification.reblog.name_and_others_with_link": "{name} och
{count, plural, one {# annan} other {# andra}} har förhöjt ditt inlägg",
"notification.relationships_severance_event": "Förlorade kontakter med {name}",
"notification.relationships_severance_event.account_suspension": "En administratör från {from} har stängt av {target}, vilket innebär att du inte längre kan ta emot uppdateringar från dem eller interagera med dem.",
"notification.relationships_severance_event.domain_block": "En administratör från {from} har blockerat {target}, inklusive {followersCount} av dina följare och {followingCount, plural, one {# konto} other {# konton}} du följer.",
@@ -502,16 +530,24 @@
"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.accept_multiple": "{count, plural, one {Acceptera # förfrågan…} other {Acceptera # förfrågningar…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Acceptera förfrågan} other {Acceptera förfrågningar}}",
+ "notification_requests.confirm_accept_multiple.message": "Du håller på att acceptera {count, plural, one {en förfrågan} other {# förfrågningar}} om avisering. Är du säker på att du vill fortsätta?",
+ "notification_requests.confirm_accept_multiple.title": "Vill du acceptera aviseringsförfrågningar?",
+ "notification_requests.confirm_dismiss_multiple.button": "Avvisa {count, plural, one {# förfrågan} other {# förfrågningar}}",
+ "notification_requests.confirm_dismiss_multiple.message": "Du håller på att avfärda {count, plural, one {en begäran} other {# begäran}} om aviseringar. Du kommer inte enkelt att kunna komma åt {count, plural, one {det} other {dem}} igen. Är du säker på att du vill fortsätta?",
+ "notification_requests.confirm_dismiss_multiple.title": "Vill du acceptera aviseringsförfrågningar?",
"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.dismiss_multiple": "Avvisa {count, plural, one {# förfrågan} other {# förfrågningar}}...",
+ "notification_requests.edit_selection": "Redigera",
+ "notification_requests.exit_selection": "Klar",
+ "notification_requests.explainer_for_limited_account": "Aviseringar från detta konto har filtrerats eftersom kontot har begränsats av en moderator.",
+ "notification_requests.explainer_for_limited_remote_account": "Aviseringar från detta konto eller denna server har filtrerats eftersom kontot har begränsats av en moderator.",
+ "notification_requests.maximize": "Maximera",
+ "notification_requests.minimize_banner": "Minimera ruta för filtrerade aviseringar",
"notification_requests.notifications_from": "Aviseringar från {name}",
"notification_requests.title": "Filtrerade meddelanden",
+ "notification_requests.view": "Visa aviseringar",
"notifications.clear": "Rensa aviseringar",
"notifications.clear_confirmation": "Är du säker på att du vill rensa alla dina aviseringar permanent?",
"notifications.clear_title": "Rensa aviseringar?",
@@ -549,7 +585,13 @@
"notifications.permission_denied_alert": "Skrivbordsaviseringar kan inte aktiveras, eftersom att webbläsarens behörighet har nekats innan",
"notifications.permission_required": "Skrivbordsaviseringar är otillgängliga eftersom att rättigheten som krävs inte har godkänts.",
"notifications.policy.accept": "Acceptera",
+ "notifications.policy.accept_hint": "Visa bland aviseringar",
"notifications.policy.drop": "Ignorera",
+ "notifications.policy.drop_hint": "Skicka ut i tomrummet för aldrig synas till igen",
+ "notifications.policy.filter": "Filtrera",
+ "notifications.policy.filter_hint": "Skicka till inkorgen för filtrerade aviserings",
+ "notifications.policy.filter_limited_accounts_hint": "Begränsade av servermoderatorer",
+ "notifications.policy.filter_limited_accounts_title": "Modererade konton",
"notifications.policy.filter_new_accounts.hint": "Skapad inom de senaste {days, plural, one {dagen} other {# dagarna}}",
"notifications.policy.filter_new_accounts_title": "Nya konton",
"notifications.policy.filter_not_followers_hint": "Inklusive personer som har följt dig kortare än {days, plural, one {en dag} other {# dagar}}",
@@ -558,6 +600,7 @@
"notifications.policy.filter_not_following_title": "Personer du inte följer",
"notifications.policy.filter_private_mentions_hint": "Filtrerat om det inte är som svar på ditt eget omnämnande eller om du följer avsändaren",
"notifications.policy.filter_private_mentions_title": "Oombedda privata omnämnanden",
+ "notifications.policy.title": "Hantera aviseringar från…",
"notifications_permission_banner.enable": "Aktivera skrivbordsaviseringar",
"notifications_permission_banner.how_to_control": "För att ta emot aviseringar när Mastodon inte är öppet, aktivera skrivbordsaviseringar. När de är aktiverade kan du styra exakt vilka typer av interaktioner som aviseras via {icon} -knappen ovan.",
"notifications_permission_banner.title": "Missa aldrig något",
@@ -744,8 +787,6 @@
"status.favourite": "Favoritmarkera",
"status.favourites": "{count, plural, one {favorit} other {favoriter}}",
"status.filter": "Filtrera detta inlägg",
- "status.filtered": "Filtrerat",
- "status.hide": "Dölj inlägg",
"status.history.created": "{name} skapade {date}",
"status.history.edited": "{name} redigerade {date}",
"status.load_more": "Ladda fler",
@@ -773,10 +814,7 @@
"status.report": "Rapportera @{name}",
"status.sensitive_warning": "Känsligt innehåll",
"status.share": "Dela",
- "status.show_filter_reason": "Visa ändå",
- "status.show_less": "Visa mindre",
"status.show_less_all": "Visa mindre för alla",
- "status.show_more": "Visa mer",
"status.show_more_all": "Visa mer för alla",
"status.show_original": "Visa original",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
@@ -795,10 +833,6 @@
"time_remaining.minutes": "{number, plural, one {# minut} other {# minuter}} kvar",
"time_remaining.moments": "Återstående tillfällen",
"time_remaining.seconds": "{number, plural, one {# sekund} other {# sekunder}} kvar",
- "timeline_hint.remote_resource_not_displayed": "{resource} från andra servrar visas inte.",
- "timeline_hint.resources.followers": "Följare",
- "timeline_hint.resources.follows": "Följer",
- "timeline_hint.resources.statuses": "Äldre inlägg",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} personer}} senaste {days, plural, one {dygnet} other {{days} dagarna}}",
"trends.trending_now": "Trendar nu",
"ui.beforeunload": "Ditt utkast kommer att förloras om du lämnar Mastodon.",
diff --git a/app/javascript/mastodon/locales/szl.json b/app/javascript/mastodon/locales/szl.json
index 269e3b06b50cea..404f7e2fd4c0f8 100644
--- a/app/javascript/mastodon/locales/szl.json
+++ b/app/javascript/mastodon/locales/szl.json
@@ -14,7 +14,6 @@
"account.badges.group": "Grupa",
"account.block": "Zablokuj @{name}",
"account.block_domain": "Zablokuj domena {domain}",
- "account.browse_more_on_origin_server": "Ôbocz wiyncyj we ôryginalnym profilu",
"account.cancel_follow_request": "Withdraw follow request",
"account.domain_blocked": "Domena zablokowanŏ",
"account.media": "Mydia",
@@ -103,7 +102,6 @@
"status.pinned": "Pinned toot",
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
- "timeline_hint.resources.statuses": "Older toots",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"upload_form.audio_description": "Describe for people with hearing loss",
"upload_form.description": "Describe for the visually impaired",
diff --git a/app/javascript/mastodon/locales/ta.json b/app/javascript/mastodon/locales/ta.json
index daa4edd978b826..4f209b7e3ebb03 100644
--- a/app/javascript/mastodon/locales/ta.json
+++ b/app/javascript/mastodon/locales/ta.json
@@ -11,7 +11,6 @@
"account.block_domain": "{domain} யில் இருந்து வரும் எல்லாவற்றையும் மறை",
"account.block_short": "தடு",
"account.blocked": "முடக்கப்பட்டது",
- "account.browse_more_on_origin_server": "மேலும் உலாவ சுயவிவரத்திற்குச் செல்க",
"account.cancel_follow_request": "Withdraw follow request",
"account.disable_notifications": "@{name} பதிவிட்டல் எனக்கு தெரியபடுத்த வேண்டாம்",
"account.domain_blocked": "மறைக்கப்பட்டத் தளங்கள்",
@@ -253,7 +252,6 @@
"lists.search": "நீங்கள் பின்தொடரும் நபர்கள் மத்தியில் தேடுதல்",
"lists.subheading": "உங்கள் பட்டியல்கள்",
"load_pending": "{count, plural,one {# புதியது}other {# புதியவை}}",
- "media_gallery.toggle_visible": "நிலைமாற்று தெரியும்",
"navigation_bar.blocks": "தடுக்கப்பட்ட பயனர்கள்",
"navigation_bar.bookmarks": "அடையாளக்குறிகள்",
"navigation_bar.community_timeline": "உள்ளூர் காலக்கெடு",
@@ -348,7 +346,6 @@
"status.detailed_status": "விரிவான உரையாடல் காட்சி",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "கிடத்து",
- "status.filtered": "வடிகட்டு",
"status.load_more": "அதிகமாய் ஏற்று",
"status.media_hidden": "மீடியா மறைக்கப்பட்டது",
"status.mention": "குறிப்பிடு @{name}",
@@ -370,9 +367,7 @@
"status.report": "@{name} மீது புகாரளி",
"status.sensitive_warning": "உணர்திறன் உள்ளடக்கம்",
"status.share": "பங்கிடு",
- "status.show_less": "குறைவாகக் காண்பி",
"status.show_less_all": "அனைத்தையும் குறைவாக காட்டு",
- "status.show_more": "மேலும் காட்ட",
"status.show_more_all": "அனைவருக்கும் மேலும் காட்டு",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
"status.unmute_conversation": "ஊமையாக உரையாடல் இல்லை",
@@ -384,10 +379,6 @@
"time_remaining.minutes": "{number, plural, one {# minute} மற்ற {# minutes}} left",
"time_remaining.moments": "தருணங்கள் மீதமுள்ளன",
"time_remaining.seconds": "{number, plural, one {# second} மற்ற {# seconds}} left",
- "timeline_hint.remote_resource_not_displayed": "பிற சர்வர்களிலிருந்து வரும் {resource} காட்டப்படவில்லை.",
- "timeline_hint.resources.followers": "வாசகர்கள்",
- "timeline_hint.resources.follows": "வாசிக்கிறார்",
- "timeline_hint.resources.statuses": "பழைய டூட்டுகள்",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"trends.trending_now": "இப்போது செல்திசையில் இருப்பவை",
"ui.beforeunload": "நீங்கள் வெளியே சென்றால் உங்கள் வரைவு இழக்கப்படும் மஸ்தோடோன்.",
diff --git a/app/javascript/mastodon/locales/tai.json b/app/javascript/mastodon/locales/tai.json
index cad6e8eaa5a478..6a86088fa88276 100644
--- a/app/javascript/mastodon/locales/tai.json
+++ b/app/javascript/mastodon/locales/tai.json
@@ -90,7 +90,6 @@
"status.pinned": "Pinned toot",
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
- "timeline_hint.resources.statuses": "Older toots",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"upload_form.audio_description": "Describe for people with hearing loss",
"upload_form.description": "Describe for the visually impaired",
diff --git a/app/javascript/mastodon/locales/te.json b/app/javascript/mastodon/locales/te.json
index 2cebb719724d93..a6dc74b290dcf5 100644
--- a/app/javascript/mastodon/locales/te.json
+++ b/app/javascript/mastodon/locales/te.json
@@ -167,7 +167,6 @@
"lists.new.title_placeholder": "కొత్త జాబితా శీర్షిక",
"lists.search": "మీరు అనుసరించే వ్యక్తులలో శోధించండి",
"lists.subheading": "మీ జాబితాలు",
- "media_gallery.toggle_visible": "దృశ్యమానతను టోగుల్ చేయండి",
"navigation_bar.blocks": "బ్లాక్ చేయబడిన వినియోగదారులు",
"navigation_bar.community_timeline": "స్థానిక కాలక్రమం",
"navigation_bar.compose": "కొత్త టూట్ను రాయండి",
@@ -247,7 +246,6 @@
"status.detailed_status": "వివరణాత్మక సంభాషణ వీక్షణ",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "ఎంబెడ్",
- "status.filtered": "వడకట్టబడిన",
"status.load_more": "మరిన్ని లోడ్ చేయి",
"status.media_hidden": "మీడియా దాచబడింది",
"status.mention": "@{name}ను ప్రస్తావించు",
@@ -268,9 +266,7 @@
"status.report": "@{name}పై ఫిర్యాదుచేయు",
"status.sensitive_warning": "సున్నితమైన కంటెంట్",
"status.share": "పంచుకోండి",
- "status.show_less": "తక్కువ చూపించు",
"status.show_less_all": "అన్నిటికీ తక్కువ చూపించు",
- "status.show_more": "ఇంకా చూపించు",
"status.show_more_all": "అన్నిటికీ ఇంకా చూపించు",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
"status.unmute_conversation": "సంభాషణను అన్మ్యూట్ చేయి",
@@ -278,7 +274,6 @@
"tabs_bar.home": "హోమ్",
"tabs_bar.notifications": "ప్రకటనలు",
"time_remaining.moments": "కొన్ని క్షణాలు మాత్రమే మిగిలి ఉన్నాయి",
- "timeline_hint.resources.statuses": "Older toots",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"ui.beforeunload": "మీరు మాస్టొడొన్ను వదిలివేస్తే మీ డ్రాఫ్ట్లు పోతాయి.",
"upload_area.title": "అప్లోడ్ చేయడానికి డ్రాగ్ & డ్రాప్ చేయండి",
diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json
index 47b6a89225477b..81424a9490fbd9 100644
--- a/app/javascript/mastodon/locales/th.json
+++ b/app/javascript/mastodon/locales/th.json
@@ -1,5 +1,5 @@
{
- "about.blocks": "เซิร์ฟเวอร์ที่มีการกลั่นกรอง",
+ "about.blocks": "เซิร์ฟเวอร์ที่ได้รับการกลั่นกรอง",
"about.contact": "ติดต่อ:",
"about.disclaimer": "Mastodon เป็นซอฟต์แวร์เสรี โอเพนซอร์ส และเครื่องหมายการค้าของ Mastodon gGmbH",
"about.domain_blocks.no_reason_available": "เหตุผลไม่พร้อมใช้งาน",
@@ -19,7 +19,6 @@
"account.block_domain": "ปิดกั้นโดเมน {domain}",
"account.block_short": "ปิดกั้น",
"account.blocked": "ปิดกั้นอยู่",
- "account.browse_more_on_origin_server": "เรียกดูเพิ่มเติมในโปรไฟล์ดั้งเดิม",
"account.cancel_follow_request": "ยกเลิกการติดตาม",
"account.copy": "คัดลอกลิงก์ไปยังโปรไฟล์",
"account.direct": "กล่าวถึง @{name} แบบส่วนตัว",
@@ -98,6 +97,8 @@
"block_modal.title": "ปิดกั้นผู้ใช้?",
"block_modal.you_wont_see_mentions": "คุณจะไม่เห็นโพสต์ที่กล่าวถึงเขา",
"boost_modal.combo": "คุณสามารถกด {combo} เพื่อข้ามสิ่งนี้ในครั้งถัดไป",
+ "boost_modal.reblog": "ดันโพสต์?",
+ "boost_modal.undo_reblog": "เลิกดันโพสต์?",
"bundle_column_error.copy_stacktrace": "คัดลอกรายงานข้อผิดพลาด",
"bundle_column_error.error.body": "ไม่สามารถแสดงผลหน้าที่ขอ ข้อผิดพลาดอาจเป็นเพราะข้อบกพร่องในโค้ดของเรา หรือปัญหาความเข้ากันได้ของเบราว์เซอร์",
"bundle_column_error.error.title": "โอ้ ไม่!",
@@ -193,6 +194,8 @@
"confirmations.unfollow.confirm": "เลิกติดตาม",
"confirmations.unfollow.message": "คุณแน่ใจหรือไม่ว่าต้องการเลิกติดตาม {name}?",
"confirmations.unfollow.title": "เลิกติดตามผู้ใช้?",
+ "content_warning.hide": "ซ่อนโพสต์",
+ "content_warning.show": "แสดงต่อไป",
"conversation.delete": "ลบการสนทนา",
"conversation.mark_as_read": "ทำเครื่องหมายว่าอ่านแล้ว",
"conversation.open": "ดูการสนทนา",
@@ -300,6 +303,7 @@
"filter_modal.select_filter.subtitle": "ใช้หมวดหมู่ที่มีอยู่หรือสร้างหมวดหมู่ใหม่",
"filter_modal.select_filter.title": "กรองโพสต์นี้",
"filter_modal.title.status": "กรองโพสต์",
+ "filter_warning.matches_filter": "ตรงกับตัวกรอง “{title}”",
"filtered_notifications_banner.pending_requests": "จาก {count, plural, =0 {ไม่มีใคร} other {# คน}} ที่คุณอาจรู้จัก",
"filtered_notifications_banner.title": "การแจ้งเตือนที่กรองอยู่",
"firehose.all": "ทั้งหมด",
@@ -349,6 +353,14 @@
"hashtag.follow": "ติดตามแฮชแท็ก",
"hashtag.unfollow": "เลิกติดตามแฮชแท็ก",
"hashtags.and_other": "…และอีก {count, plural, other {# เพิ่มเติม}}",
+ "hints.profiles.followers_may_be_missing": "ผู้ติดตามสำหรับโปรไฟล์นี้อาจขาดหายไป",
+ "hints.profiles.follows_may_be_missing": "การติดตามสำหรับโปรไฟล์นี้อาจขาดหายไป",
+ "hints.profiles.posts_may_be_missing": "โพสต์บางส่วนจากโปรไฟล์นี้อาจขาดหายไป",
+ "hints.profiles.see_more_followers": "ดูผู้ติดตามเพิ่มเติมใน {domain}",
+ "hints.profiles.see_more_follows": "ดูการติดตามเพิ่มเติมใน {domain}",
+ "hints.profiles.see_more_posts": "ดูโพสต์เพิ่มเติมใน {domain}",
+ "hints.threads.replies_may_be_missing": "การตอบกลับจากเซิร์ฟเวอร์อื่น ๆ อาจขาดหายไป",
+ "hints.threads.see_more": "ดูการตอบกลับเพิ่มเติมใน {domain}",
"home.column_settings.show_reblogs": "แสดงการดัน",
"home.column_settings.show_replies": "แสดงการตอบกลับ",
"home.hide_announcements": "ซ่อนประกาศ",
@@ -356,11 +368,17 @@
"home.pending_critical_update.link": "ดูการอัปเดต",
"home.pending_critical_update.title": "มีการอัปเดตความปลอดภัยสำคัญพร้อมใช้งาน!",
"home.show_announcements": "แสดงประกาศ",
+ "ignore_notifications_modal.disclaimer": "Mastodon ไม่สามารถแจ้งผู้ใช้ว่าคุณได้เพิกเฉยการแจ้งเตือนของเขา การเพิกเฉยการแจ้งเตือนจะไม่หยุดการส่งข้อความนั้นเอง",
"ignore_notifications_modal.filter_instead": "กรองแทน",
+ "ignore_notifications_modal.filter_to_act_users": "คุณจะยังสามารถยอมรับ ปฏิเสธ หรือรายงานผู้ใช้",
+ "ignore_notifications_modal.filter_to_avoid_confusion": "การกรองช่วยหลีกเลี่ยงความสับสนที่อาจเกิดขึ้น",
+ "ignore_notifications_modal.filter_to_review_separately": "คุณสามารถตรวจทานการแจ้งเตือนที่กรองอยู่แยกต่างหาก",
"ignore_notifications_modal.ignore": "เพิกเฉยการแจ้งเตือน",
+ "ignore_notifications_modal.limited_accounts_title": "เพิกเฉยการแจ้งเตือนจากบัญชีที่ได้รับการกลั่นกรอง?",
"ignore_notifications_modal.new_accounts_title": "เพิกเฉยการแจ้งเตือนจากบัญชีใหม่?",
"ignore_notifications_modal.not_followers_title": "เพิกเฉยการแจ้งเตือนจากผู้คนที่ไม่ได้ติดตามคุณ?",
"ignore_notifications_modal.not_following_title": "เพิกเฉยการแจ้งเตือนจากผู้คนที่คุณไม่ได้ติดตาม?",
+ "ignore_notifications_modal.private_mentions_title": "เพิกเฉยการแจ้งเตือนจากการกล่าวถึงแบบส่วนตัวที่ไม่พึงประสงค์?",
"interaction_modal.description.favourite": "ด้วยบัญชีใน Mastodon คุณสามารถชื่นชอบโพสต์นี้เพื่อแจ้งให้ผู้สร้างทราบว่าคุณชื่นชมโพสต์และบันทึกโพสต์ไว้สำหรับภายหลัง",
"interaction_modal.description.follow": "ด้วยบัญชีใน Mastodon คุณสามารถติดตาม {name} เพื่อรับโพสต์ของเขาในฟีดหน้าแรกของคุณ",
"interaction_modal.description.reblog": "ด้วยบัญชีใน Mastodon คุณสามารถดันโพสต์นี้เพื่อแชร์โพสต์กับผู้ติดตามของคุณเอง",
@@ -439,7 +457,6 @@
"lists.subheading": "รายการของคุณ",
"load_pending": "{count, plural, other {# รายการใหม่}}",
"loading_indicator.label": "กำลังโหลด…",
- "media_gallery.toggle_visible": "{number, plural, other {ซ่อนภาพ}}",
"moved_to_account_banner.text": "มีการปิดใช้งานบัญชีของคุณ {disabledAccount} ในปัจจุบันเนื่องจากคุณได้ย้ายไปยัง {movedToAccount}",
"mute_modal.hide_from_notifications": "ซ่อนจากการแจ้งเตือน",
"mute_modal.hide_options": "ซ่อนตัวเลือก",
@@ -450,9 +467,8 @@
"mute_modal.title": "ซ่อนผู้ใช้?",
"mute_modal.you_wont_see_mentions": "คุณจะไม่เห็นโพสต์ที่กล่าวถึงเขา",
"mute_modal.you_wont_see_posts": "เขายังคงสามารถเห็นโพสต์ของคุณ แต่คุณจะไม่เห็นโพสต์ของเขา",
- "name_and_others": "{name} และ {count, plural, other {# อื่น ๆ}}",
- "name_and_others_with_link": "{name} และ
{count, plural, other {# อื่น ๆ}}",
"navigation_bar.about": "เกี่ยวกับ",
+ "navigation_bar.administration": "การดูแล",
"navigation_bar.advanced_interface": "เปิดในส่วนติดต่อเว็บขั้นสูง",
"navigation_bar.blocks": "ผู้ใช้ที่ปิดกั้นอยู่",
"navigation_bar.bookmarks": "ที่คั่นหน้า",
@@ -469,6 +485,7 @@
"navigation_bar.follows_and_followers": "การติดตามและผู้ติดตาม",
"navigation_bar.lists": "รายการ",
"navigation_bar.logout": "ออกจากระบบ",
+ "navigation_bar.moderation": "การกลั่นกรอง",
"navigation_bar.mutes": "ผู้ใช้ที่ซ่อนอยู่",
"navigation_bar.opened_in_classic_interface": "จะเปิดโพสต์, บัญชี และหน้าที่เฉพาะเจาะจงอื่น ๆ เป็นค่าเริ่มต้นในส่วนติดต่อเว็บแบบคลาสสิก",
"navigation_bar.personal": "ส่วนบุคคล",
@@ -484,9 +501,13 @@
"notification.admin.report_statuses": "{name} ได้รายงาน {target} สำหรับ {category}",
"notification.admin.report_statuses_other": "{name} ได้รายงาน {target}",
"notification.admin.sign_up": "{name} ได้ลงทะเบียน",
+ "notification.admin.sign_up.name_and_others": "{name} และ {count, plural, other {# อื่น ๆ}} ได้ลงทะเบียน",
"notification.favourite": "{name} ได้ชื่นชอบโพสต์ของคุณ",
+ "notification.favourite.name_and_others_with_link": "{name} และ
{count, plural, other {# อื่น ๆ}} ได้ชื่นชอบโพสต์ของคุณ",
"notification.follow": "{name} ได้ติดตามคุณ",
+ "notification.follow.name_and_others": "{name} และ {count, plural, other {# อื่น ๆ}} ได้ติดตามคุณ",
"notification.follow_request": "{name} ได้ขอติดตามคุณ",
+ "notification.follow_request.name_and_others": "{name} และ {count, plural, other {# อื่น ๆ}} ได้ขอติดตามคุณ",
"notification.label.mention": "การกล่าวถึง",
"notification.label.private_mention": "การกล่าวถึงแบบส่วนตัว",
"notification.label.private_reply": "การตอบกลับแบบส่วนตัว",
@@ -504,6 +525,7 @@
"notification.own_poll": "การสำรวจความคิดเห็นของคุณได้สิ้นสุดแล้ว",
"notification.poll": "การสำรวจความคิดเห็นที่คุณได้ลงคะแนนได้สิ้นสุดแล้ว",
"notification.reblog": "{name} ได้ดันโพสต์ของคุณ",
+ "notification.reblog.name_and_others_with_link": "{name} และ
{count, plural, other {# อื่น ๆ}} ได้ดันโพสต์ของคุณ",
"notification.relationships_severance_event": "สูญเสียการเชื่อมต่อกับ {name}",
"notification.relationships_severance_event.account_suspension": "ผู้ดูแลจาก {from} ได้ระงับ {target} ซึ่งหมายความว่าคุณจะไม่สามารถรับการอัปเดตจากเขาหรือโต้ตอบกับเขาได้อีกต่อไป",
"notification.relationships_severance_event.domain_block": "ผู้ดูแลจาก {from} ได้ปิดกั้น {target} รวมถึง {followersCount} ผู้ติดตามของคุณและ {followingCount, plural, other {# บัญชี}}ที่คุณติดตาม",
@@ -512,17 +534,21 @@
"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.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": "ขยายใหญ่สุด",
+ "notification_requests.minimize_banner": "ย่อแบนเนอร์การแจ้งเตือนที่กรองอยู่ให้เล็กสุด",
"notification_requests.notifications_from": "การแจ้งเตือนจาก {name}",
"notification_requests.title": "การแจ้งเตือนที่กรองอยู่",
"notification_requests.view": "ดูการแจ้งเตือน",
@@ -565,7 +591,11 @@
"notifications.policy.accept": "ยอมรับ",
"notifications.policy.accept_hint": "แสดงในการแจ้งเตือน",
"notifications.policy.drop": "เพิกเฉย",
+ "notifications.policy.drop_hint": "ละทิ้งอย่างถาวร ไม่ให้เห็นอีกเลย",
+ "notifications.policy.filter": "กรอง",
"notifications.policy.filter_hint": "ส่งไปยังกล่องขาเข้าการแจ้งเตือนที่กรองอยู่",
+ "notifications.policy.filter_limited_accounts_hint": "จำกัดโดยผู้กลั่นกรองเซิร์ฟเวอร์",
+ "notifications.policy.filter_limited_accounts_title": "บัญชีที่ได้รับการกลั่นกรอง",
"notifications.policy.filter_new_accounts.hint": "สร้างขึ้นภายใน {days, plural, other {# วัน}}ที่ผ่านมา",
"notifications.policy.filter_new_accounts_title": "บัญชีใหม่",
"notifications.policy.filter_not_followers_hint": "รวมถึงผู้คนที่ได้ติดตามคุณน้อยกว่า {days, plural, other {# วัน}}",
@@ -614,7 +644,7 @@
"onboarding.steps.share_profile.title": "แชร์โปรไฟล์ Mastodon ของคุณ",
"onboarding.tips.2fa": "
คุณทราบหรือไม่? คุณสามารถรักษาความปลอดภัยบัญชีของคุณได้โดยตั้งค่าการรับรองความถูกต้องด้วยสองปัจจัยในการตั้งค่าบัญชีของคุณ การรับรองความถูกต้องด้วยสองปัจจัยทำงานร่วมกับแอป TOTP ใด ๆ ที่คุณเลือก ไม่จำเป็นต้องมีหมายเลขโทรศัพท์!",
"onboarding.tips.accounts_from_other_servers": "
คุณทราบหรือไม่? เนื่องจาก Mastodon เป็นแบบกระจายศูนย์ โปรไฟล์บางส่วนที่คุณเจอจะได้รับการโฮสต์ในเซิร์ฟเวอร์อื่น ๆ ที่ไม่ใช่ของคุณ และคุณยังสามารถโต้ตอบกับเขาได้อย่างไร้รอยต่อ! เซิร์ฟเวอร์ของเขาอยู่ในครึ่งหลังของชื่อผู้ใช้ของเขา!",
- "onboarding.tips.migration": "
คุณทราบหรือไม่? หากคุณรู้สึกว่า {domain} ไม่ใช่ตัวเลือกเซิร์ฟเวอร์ที่ยอดเยี่ยมสำหรับคุณในอนาคต คุณสามารถย้ายไปยังเซิร์ฟเวอร์ Mastodon อื่นได้โดยไม่สูญเสียผู้ติดตามของคุณ คุณยังสามารถโฮสต์เซิร์ฟเวอร์ของคุณเอง!",
+ "onboarding.tips.migration": "
คุณทราบหรือไม่? หากคุณรู้สึกว่า {domain} ไม่ใช่ตัวเลือกเซิร์ฟเวอร์ที่ยอดเยี่ยมสำหรับคุณในอนาคต คุณสามารถย้ายไปยังเซิร์ฟเวอร์ Mastodon อื่นได้โดยไม่สูญเสียผู้ติดตามของคุณ คุณยังสามารถโฮสต์เซิร์ฟเวอร์ของคุณเองได้อีกด้วย!",
"onboarding.tips.verification": "
คุณทราบหรือไม่? คุณสามารถยืนยันบัญชีของคุณได้โดยใส่ลิงก์ไปยังโปรไฟล์ Mastodon ของคุณในเว็บไซต์ของคุณเองและเพิ่มเว็บไซต์ไปยังโปรไฟล์ของคุณ ไม่จำเป็นต้องมีค่าธรรมเนียมหรือเอกสาร!",
"password_confirmation.exceeds_maxlength": "การยืนยันรหัสผ่านเกินความยาวรหัสผ่านสูงสุดแล้ว",
"password_confirmation.mismatching": "การยืนยันรหัสผ่านไม่ตรงกัน",
@@ -761,8 +791,6 @@
"status.favourite": "ชื่นชอบ",
"status.favourites": "{count, plural, other {รายการโปรด}}",
"status.filter": "กรองโพสต์นี้",
- "status.filtered": "กรองอยู่",
- "status.hide": "ซ่อนโพสต์",
"status.history.created": "{name} ได้สร้างเมื่อ {date}",
"status.history.edited": "{name} ได้แก้ไขเมื่อ {date}",
"status.load_more": "โหลดเพิ่มเติม",
@@ -790,10 +818,7 @@
"status.report": "รายงาน @{name}",
"status.sensitive_warning": "เนื้อหาที่ละเอียดอ่อน",
"status.share": "แชร์",
- "status.show_filter_reason": "แสดงต่อไป",
- "status.show_less": "แสดงน้อยลง",
"status.show_less_all": "แสดงน้อยลงทั้งหมด",
- "status.show_more": "แสดงเพิ่มเติม",
"status.show_more_all": "แสดงเพิ่มเติมทั้งหมด",
"status.show_original": "แสดงดั้งเดิม",
"status.title.with_attachments": "{user} ได้โพสต์ {attachmentCount, plural, other {{attachmentCount} ไฟล์แนบ}}",
@@ -812,11 +837,6 @@
"time_remaining.minutes": "เหลืออีก {number, plural, other {# นาที}}",
"time_remaining.moments": "ช่วงเวลาที่เหลือ",
"time_remaining.seconds": "เหลืออีก {number, plural, other {# วินาที}}",
- "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, other {{counter} คน}}ใน {days, plural, other {{days} วัน}}ที่ผ่านมา",
"trends.trending_now": "กำลังนิยม",
"ui.beforeunload": "แบบร่างของคุณจะสูญหายหากคุณออกจาก Mastodon",
diff --git a/app/javascript/mastodon/locales/tok.json b/app/javascript/mastodon/locales/tok.json
index 5518cc3697f554..0ca30c57da552c 100644
--- a/app/javascript/mastodon/locales/tok.json
+++ b/app/javascript/mastodon/locales/tok.json
@@ -15,7 +15,6 @@
"account.block_domain": "o weka e ma {domain}",
"account.block_short": "o weka e jan tawa mi",
"account.blocked": "jan li weka tawa mi",
- "account.browse_more_on_origin_server": "sina tawa ma tan pi jan ni la sina ken lukin e mute",
"account.cancel_follow_request": "o pini kute",
"account.copy": "o pali same e linja pi lipu jan",
"account.direct": "len la o mu e @{name}",
@@ -271,7 +270,6 @@
"lists.subheading": "kulupu lipu sina",
"load_pending": "{count, plural, other {ijo sin #}}",
"loading_indicator.label": "ni li kama…",
- "media_gallery.toggle_visible": "{number, plural, other {o len e sitelen}}",
"mute_modal.title": "sina wile ala wile kute e jan ni?",
"navigation_bar.about": "sona",
"navigation_bar.blocks": "jan weka",
@@ -363,7 +361,6 @@
"status.edit": "o ante",
"status.embed": "ni o lon insa pi lipu ante",
"status.favourite": "o sitelen pona",
- "status.hide": "o len",
"status.history.created": "{name} li pali e ni lon {date}",
"status.history.edited": "{name} li ante lon {date}",
"status.load_more": "o kama e ijo ante",
@@ -377,10 +374,7 @@
"status.pinned": "toki sewi",
"status.reblog": "o wawa",
"status.share": "o pana tawa ante",
- "status.show_filter_reason": "o lukin",
- "status.show_less": "o lili e ni",
"status.show_less_all": "o lili e ale",
- "status.show_more": "o suli e ni",
"status.show_more_all": "o suli e ale",
"status.show_original": "o lukin e mama",
"status.translate": "o ante pi nasin toki",
@@ -390,9 +384,6 @@
"status.unpin": "o sewi ala lon lipu sina",
"subscribed_languages.save": "o awen e ante",
"tabs_bar.home": "lipu open",
- "timeline_hint.resources.followers": "jan kute",
- "timeline_hint.resources.follows": "jan lukin",
- "timeline_hint.resources.statuses": "ijo pi tenpo suli",
"trends.trending_now": "jan mute li toki",
"units.short.billion": "{count}B",
"units.short.million": "{count}AAA",
diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json
index 2d00e0920a500c..6dc4c90da89900 100644
--- a/app/javascript/mastodon/locales/tr.json
+++ b/app/javascript/mastodon/locales/tr.json
@@ -20,7 +20,6 @@
"account.block_domain": "{domain} alan adını engelle",
"account.block_short": "Engelle",
"account.blocked": "Engellendi",
- "account.browse_more_on_origin_server": "Orijinal profilde daha fazlasına göz atın",
"account.cancel_follow_request": "Takip isteğini geri çek",
"account.copy": "Gönderi bağlantısını kopyala",
"account.direct": "@{name} kullanıcısına özelden değin",
@@ -99,6 +98,8 @@
"block_modal.title": "Kullanıcıyı engelle?",
"block_modal.you_wont_see_mentions": "Onlardan bahseden gönderiler göremezsiniz.",
"boost_modal.combo": "Bir daha ki sefere {combo} tuşuna basabilirsin",
+ "boost_modal.reblog": "Gönderiyi yeniden paylaş?",
+ "boost_modal.undo_reblog": "Gönderinin yeniden paylaşımını geri al?",
"bundle_column_error.copy_stacktrace": "Hata raporunu kopyala",
"bundle_column_error.error.body": "İstenen sayfa gösterilemiyor. Bu durum kodumuzdaki bir hatadan veya tarayıcı uyum sorunundan kaynaklanıyor olabilir.",
"bundle_column_error.error.title": "Ah, hayır!",
@@ -194,6 +195,8 @@
"confirmations.unfollow.confirm": "Takibi bırak",
"confirmations.unfollow.message": "{name} adlı kullanıcıyı takibi bırakmak istediğinden emin misin?",
"confirmations.unfollow.title": "Kullanıcıyı takipten çık?",
+ "content_warning.hide": "Gönderiyi gizle",
+ "content_warning.show": "Yine de göster",
"conversation.delete": "Sohbeti sil",
"conversation.mark_as_read": "Okundu olarak işaretle",
"conversation.open": "Sohbeti görüntüle",
@@ -301,6 +304,7 @@
"filter_modal.select_filter.subtitle": "Mevcut bir kategoriyi kullan veya yeni bir tane oluştur",
"filter_modal.select_filter.title": "Bu gönderiyi süzgeçle",
"filter_modal.title.status": "Bir gönderi süzgeçle",
+ "filter_warning.matches_filter": "“{title}” filtresiyle eşleşiyor",
"filtered_notifications_banner.pending_requests": "Bildiğiniz {count, plural, =0 {hiç kimseden} one {bir kişiden} other {# kişiden}}",
"filtered_notifications_banner.title": "Filtrelenmiş bildirimler",
"firehose.all": "Tümü",
@@ -350,6 +354,14 @@
"hashtag.follow": "Etiketi takip et",
"hashtag.unfollow": "Etiketi takibi bırak",
"hashtags.and_other": "…ve {count, plural, one {}other {# fazlası}}",
+ "hints.profiles.followers_may_be_missing": "Bu profilin takipçileri eksik olabilir.",
+ "hints.profiles.follows_may_be_missing": "Bu profilin takip edilenleri eksik olabilir.",
+ "hints.profiles.posts_may_be_missing": "Bu profilin bazı gönderileri eksik olabilir.",
+ "hints.profiles.see_more_followers": "{domain} adresinde daha fazla takipçi gör",
+ "hints.profiles.see_more_follows": "{domain} adresinde daha fazla takip edilen gör",
+ "hints.profiles.see_more_posts": "{domain} adresinde daha fazla gönderi gör",
+ "hints.threads.replies_may_be_missing": "Diğer sunuculardan yanıtlar eksik olabilir.",
+ "hints.threads.see_more": "{domain} adresinde daha fazla yanıt gör",
"home.column_settings.show_reblogs": "Yeniden paylaşımları göster",
"home.column_settings.show_replies": "Yanıtları göster",
"home.hide_announcements": "Duyuruları gizle",
@@ -446,7 +458,7 @@
"lists.subheading": "Listeleriniz",
"load_pending": "{count, plural, one {# yeni öğe} other {# yeni öğe}}",
"loading_indicator.label": "Yükleniyor…",
- "media_gallery.toggle_visible": "{number, plural, one {Resmi} other {Resimleri}} gizle",
+ "media_gallery.hide": "Gizle",
"moved_to_account_banner.text": "{disabledAccount} hesabınız, {movedToAccount} hesabına taşıdığınız için şu an devre dışı.",
"mute_modal.hide_from_notifications": "Bildirimlerde gizle",
"mute_modal.hide_options": "Seçenekleri gizle",
@@ -457,9 +469,8 @@
"mute_modal.title": "Kullanıcıyı sustur?",
"mute_modal.you_wont_see_mentions": "Onlardan bahseden gönderiler göremezsiniz.",
"mute_modal.you_wont_see_posts": "Onlar sizin gönderilerinizi görmeye devam edebilir, ancak siz onlarınkini göremezsiniz.",
- "name_and_others": "{name} ve {count, plural, one {# diğer} other {# diğerleri}}",
- "name_and_others_with_link": "{name} ve
{count, plural, one {# diğer} other {# diğerleri}}",
"navigation_bar.about": "Hakkında",
+ "navigation_bar.administration": "Yönetim",
"navigation_bar.advanced_interface": "Gelişmiş web arayüzünde aç",
"navigation_bar.blocks": "Engellenen kullanıcılar",
"navigation_bar.bookmarks": "Yer İşaretleri",
@@ -476,6 +487,7 @@
"navigation_bar.follows_and_followers": "Takip edilenler ve takipçiler",
"navigation_bar.lists": "Listeler",
"navigation_bar.logout": "Oturumu kapat",
+ "navigation_bar.moderation": "Moderasyon",
"navigation_bar.mutes": "Sessize alınmış kullanıcılar",
"navigation_bar.opened_in_classic_interface": "Gönderiler, hesaplar ve diğer belirli sayfalar klasik web arayüzünde varsayılan olarak açılıyorlar.",
"navigation_bar.personal": "Kişisel",
@@ -491,9 +503,13 @@
"notification.admin.report_statuses": "{name}, {category} kategorisi için {target} kişisini bildirdi",
"notification.admin.report_statuses_other": "{name}, {target} kişisini bildirdi",
"notification.admin.sign_up": "{name} kaydoldu",
+ "notification.admin.sign_up.name_and_others": "{name} ve {count, plural, one {# diğer kişi} other {# diğer kişi}} kaydoldu",
"notification.favourite": "{name} gönderinizi beğendi",
+ "notification.favourite.name_and_others_with_link": "{name} ve
{count, plural, one {# diğer kişi} other {# diğer kişi}} gönderinizi beğendi",
"notification.follow": "{name} seni takip etti",
+ "notification.follow.name_and_others": "{name} ve {count, plural, one {# diğer kişi} other {# diğer kişi}} sizi takip etti",
"notification.follow_request": "{name} size takip isteği gönderdi",
+ "notification.follow_request.name_and_others": "{name} ve {count, plural, one {# diğer kişi} other {# diğer kişi}} size takip etme isteği gönderdi",
"notification.label.mention": "Bahsetme",
"notification.label.private_mention": "Özel bahsetme",
"notification.label.private_reply": "Özel yanıt",
@@ -511,6 +527,7 @@
"notification.own_poll": "Anketiniz sona erdi",
"notification.poll": "Oy verdiğiniz bir anket sona erdi",
"notification.reblog": "{name} gönderini yeniden paylaştı",
+ "notification.reblog.name_and_others_with_link": "{name} ve
{count, plural, one {# diğer kişi} other {# diğer kişi}} gönderinizi yeniden paylaştı",
"notification.relationships_severance_event": "{name} ile bağlantılar koptu",
"notification.relationships_severance_event.account_suspension": "{from} yöneticisi, {target} askıya aldı, bunun anlamı onlardan artık güncelleme alamayacak veya etkileşemeyeceksiniz demektir.",
"notification.relationships_severance_event.domain_block": "{from} yöneticisi {target} engelledi, {followersCount} takipçiniz ve takip ettiğiniz {followingCount, plural, one {# hesap} other {# hesap}} buna dahil.",
@@ -519,19 +536,17 @@
"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.accept_multiple": "{count, plural, one {# isteği kabul et…} other {# isteği kabul et…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {İsteği kabul et} other {İstekleri kabul et}}",
+ "notification_requests.confirm_accept_multiple.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_multiple.title": "Bildirim isteklerini kabul et?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {İsteği reddet} other {İstekleri reddet}}",
+ "notification_requests.confirm_dismiss_multiple.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_multiple.title": "Bildirim isteklerini 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.dismiss_multiple": "{count, plural, one {# isteği reddet…} other {# isteği reddet…}}",
+ "notification_requests.edit_selection": "Düzenle",
+ "notification_requests.exit_selection": "Tamamlandı",
"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",
@@ -766,6 +781,7 @@
"status.bookmark": "Yer işareti ekle",
"status.cancel_reblog_private": "Yeniden paylaşımı geri al",
"status.cannot_reblog": "Bu gönderi yeniden paylaşılamaz",
+ "status.continued_thread": "Devam eden akış",
"status.copy": "Gönderi bağlantısını kopyala",
"status.delete": "Sil",
"status.detailed_status": "Ayrıntılı sohbet görünümü",
@@ -778,8 +794,6 @@
"status.favourite": "Favori",
"status.favourites": "{count, plural, one {beğeni} other {beğeni}}",
"status.filter": "Bu gönderiyi süzgeçle",
- "status.filtered": "Süzgeçlenmiş",
- "status.hide": "Gönderiyi gizle",
"status.history.created": "{name} oluşturdu {date}",
"status.history.edited": "{name} düzenledi {date}",
"status.load_more": "Daha fazlası",
@@ -798,19 +812,17 @@
"status.reblog_private": "Özgün görünürlük ile yeniden paylaş",
"status.reblogged_by": "{name} yeniden paylaştı",
"status.reblogs": "{count, plural, one {yeniden paylaşım} other {yeniden paylaşım}}",
- "status.reblogs.empty": "Henüz hiç kimse bu Gönderiyi Yeniden Paylaşmadı. Herhangi bir kullanıcı yeniden paylaştığında burada görüntülenecek.",
+ "status.reblogs.empty": "Henüz hiç kimse bu gönderiyi yeniden paylaşmadı. Herhangi bir kullanıcı yeniden paylaştığında burada görüntülenecek.",
"status.redraft": "Sil,Düzenle ve Yeniden paylaş",
"status.remove_bookmark": "Yer işaretini kaldır",
+ "status.replied_in_thread": "Akışta yanıtlandı",
"status.replied_to": "{name} kullanıcısına yanıt verdi",
"status.reply": "Yanıtla",
"status.replyAll": "Konuyu yanıtla",
"status.report": "@{name} adlı kişiyi bildir",
"status.sensitive_warning": "Hassas içerik",
"status.share": "Paylaş",
- "status.show_filter_reason": "Yine de göster",
- "status.show_less": "Daha az göster",
"status.show_less_all": "Hepsi için daha az göster",
- "status.show_more": "Daha fazlasını göster",
"status.show_more_all": "Hepsi için daha fazla göster",
"status.show_original": "Özgün içeriği göster",
"status.title.with_attachments": "{user}, {attachmentCount, plural, one {1 ek} other {{attachmentCount} ek}} gönderdi",
@@ -829,11 +841,6 @@
"time_remaining.minutes": "{number, plural, one {# dakika} other {# dakika}} kaldı",
"time_remaining.moments": "Sadece birkaç dakika kaldı",
"time_remaining.seconds": "{number, plural, one {# saniye} other {# saniye}} kaldı",
- "timeline_hint.remote_resource_not_displayed": "diğer sunucudaki {resource} gösterilemiyor.",
- "timeline_hint.resources.followers": "Takipçiler",
- "timeline_hint.resources.follows": "Takip Edilenler",
- "timeline_hint.resources.replies": "Bazı yanıtlar",
- "timeline_hint.resources.statuses": "Eski gönderiler",
"trends.counter_by_accounts": "Son {days, plural, one {gündeki} other {{days} gündeki}} {count, plural, one {{counter} kişi} other {{counter} kişi}}",
"trends.trending_now": "Şu an gündemde",
"ui.beforeunload": "Mastodon'u terk ederseniz taslağınız kaybolacak.",
diff --git a/app/javascript/mastodon/locales/tt.json b/app/javascript/mastodon/locales/tt.json
index 0f95b904eb06b7..1439e2ef5830b0 100644
--- a/app/javascript/mastodon/locales/tt.json
+++ b/app/javascript/mastodon/locales/tt.json
@@ -17,7 +17,6 @@
"account.block": "@{name} кулланучыны блоклау",
"account.block_domain": "{domain} доменын блоклау",
"account.blocked": "Блокланган",
- "account.browse_more_on_origin_server": "Оригиналь профилендә күбрәк карау",
"account.cancel_follow_request": "Киләсе сорау",
"account.disable_notifications": "@{name} язулары өчен белдерүләр сүндерү",
"account.domain_blocked": "Домен блокланган",
@@ -412,8 +411,6 @@
"status.edit": "Үзгәртү",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "Веб-биткә кертү",
- "status.filtered": "Сөзелгән",
- "status.hide": "Язманы яшерү",
"status.history.created": "{name} ясалды {date}",
"status.history.edited": "{name} төзәтте {date}",
"status.load_more": "Күбрәк йөкләү",
@@ -427,9 +424,6 @@
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
"status.reply": "Җавап бирү",
"status.share": "Уртаклашу",
- "status.show_filter_reason": "Барыбер карау",
- "status.show_less": "Әзрәк күрсәтү",
- "status.show_more": "Күбрәк күрсәтү",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
"status.translate": "Тәрҗемә итү",
"subscribed_languages.save": "Үзгәрешләрне саклау",
@@ -439,7 +433,6 @@
"time_remaining.hours": "{number, plural, one {# сәгать} other {# сәгать}} калды",
"time_remaining.minutes": "{number, plural, one {# минут} other {# минут}} калды",
"time_remaining.seconds": "{number, plural, one {# секунд} other {# секунд}} калды",
- "timeline_hint.resources.statuses": "Older toots",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"units.short.billion": "{count} млрд",
"units.short.million": "{count} млн",
diff --git a/app/javascript/mastodon/locales/ug.json b/app/javascript/mastodon/locales/ug.json
index e3dd0e6b1187b7..7e7d6836da8424 100644
--- a/app/javascript/mastodon/locales/ug.json
+++ b/app/javascript/mastodon/locales/ug.json
@@ -87,7 +87,6 @@
"status.pinned": "Pinned toot",
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
- "timeline_hint.resources.statuses": "Older toots",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"upload_form.audio_description": "Describe for people with hearing loss",
"upload_form.description": "Describe for the visually impaired",
diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json
index 1d19805a9cae78..fce89436766503 100644
--- a/app/javascript/mastodon/locales/uk.json
+++ b/app/javascript/mastodon/locales/uk.json
@@ -20,7 +20,6 @@
"account.block_domain": "Заблокувати домен {domain}",
"account.block_short": "Заблокувати",
"account.blocked": "Заблоковані",
- "account.browse_more_on_origin_server": "Переглянути більше в оригінальному профілі",
"account.cancel_follow_request": "Відкликати запит на стеження",
"account.copy": "Копіювати посилання на профіль",
"account.direct": "Особиста згадка @{name}",
@@ -36,9 +35,9 @@
"account.follow_back": "Стежити також",
"account.followers": "Підписники",
"account.followers.empty": "Ніхто ще не підписаний на цього користувача.",
- "account.followers_counter": "{count, plural, one {{counter} підписник} few {{counter} підписники} many {{counter} підписників} other {{counter} підписники}}",
+ "account.followers_counter": "{count, plural, one {{counter} підписник} few {{counter} підписники} many {{counter} підписників} other {{counter} підписник}}",
"account.following": "Ви стежите",
- "account.following_counter": "{count, plural, one {{counter} підписка} few {{counter} підписки} many {{counter} підписок} other {{counter} підписки}}",
+ "account.following_counter": "{count, plural, one {{counter} підписка} few {{counter} підписки} many {{counter} підписок} other {{counter} підписка}}",
"account.follows.empty": "Цей користувач ще ні на кого не підписався.",
"account.go_to_profile": "Перейти до профілю",
"account.hide_reblogs": "Сховати поширення від @{name}",
@@ -99,6 +98,8 @@
"block_modal.title": "Заблокувати користувача?",
"block_modal.you_wont_see_mentions": "Ви не бачитимете дописів, де їх згадано.",
"boost_modal.combo": "Ви можете натиснути {combo}, щоби пропустити це наступного разу",
+ "boost_modal.reblog": "Поширити допис?",
+ "boost_modal.undo_reblog": "Скасувати поширення?",
"bundle_column_error.copy_stacktrace": "Копіювати звіт про помилку",
"bundle_column_error.error.body": "Неможливо показати запитану сторінку. Це може бути спричинено помилкою у нашому коді, або через проблему сумісності з браузером.",
"bundle_column_error.error.title": "О, ні!",
@@ -194,6 +195,8 @@
"confirmations.unfollow.confirm": "Відписатися",
"confirmations.unfollow.message": "Ви впевнені, що хочете відписатися від {name}?",
"confirmations.unfollow.title": "Відписатися від користувача?",
+ "content_warning.hide": "Сховати допис",
+ "content_warning.show": "Усе одно показати",
"conversation.delete": "Видалити бесіду",
"conversation.mark_as_read": "Позначити як прочитане",
"conversation.open": "Переглянути бесіду",
@@ -301,6 +304,7 @@
"filter_modal.select_filter.subtitle": "Використати наявну категорію або створити нову",
"filter_modal.select_filter.title": "Фільтрувати цей допис",
"filter_modal.title.status": "Фільтрувати допис",
+ "filter_warning.matches_filter": "Збігається з фільтром “{title}”",
"filtered_notifications_banner.pending_requests": "Від {count, plural, =0 {жодної особи} one {однієї особи} few {# осіб} many {# осіб} other {# особи}}, котрих ви можете знати",
"filtered_notifications_banner.title": "Відфільтровані сповіщення",
"firehose.all": "Всі",
@@ -350,6 +354,14 @@
"hashtag.follow": "Стежити за хештегом",
"hashtag.unfollow": "Не стежити за хештегом",
"hashtags.and_other": "…і {count, plural, other {ще #}}",
+ "hints.profiles.followers_may_be_missing": "Підписники цього профілю можуть бути не показані.",
+ "hints.profiles.follows_may_be_missing": "Підписки цього профілю можуть бути не показані.",
+ "hints.profiles.posts_may_be_missing": "Деякі дописи від цього профілю можуть бути не показані.",
+ "hints.profiles.see_more_followers": "Переглянути більше підписників на {domain}",
+ "hints.profiles.see_more_follows": "Переглянути більше підписок на {domain}",
+ "hints.profiles.see_more_posts": "Переглянути більше дописів на {domain}",
+ "hints.threads.replies_may_be_missing": "Відповіді з інших серверів можуть бути не показані.",
+ "hints.threads.see_more": "Переглянути більше відповідей на {domain}",
"home.column_settings.show_reblogs": "Показувати поширення",
"home.column_settings.show_replies": "Показувати відповіді",
"home.hide_announcements": "Приховати оголошення",
@@ -357,8 +369,17 @@
"home.pending_critical_update.link": "Переглянути оновлення",
"home.pending_critical_update.title": "Доступне критичне оновлення безпеки!",
"home.show_announcements": "Показати оголошення",
- "ignore_notifications_modal.filter_to_review_separately": "Ви можете відслідковувати відфільтровані сповіщення окремо",
+ "ignore_notifications_modal.disclaimer": "Mastodon не може повідомити користувачів, що ви проігнорували їх повідомлення. Ігнорування сповіщень не зупинить надсилання повідомлень.",
+ "ignore_notifications_modal.filter_instead": "Натомість фільтрувати",
+ "ignore_notifications_modal.filter_to_act_users": "Ви все ще зможете прийняти, відхилити або поскаржитися на користувачів",
+ "ignore_notifications_modal.filter_to_avoid_confusion": "Фільтрування допомагає уникнути потенційної плутанини",
+ "ignore_notifications_modal.filter_to_review_separately": "Ви можете переглянути відфільтровані сповіщення окремо",
"ignore_notifications_modal.ignore": "Ігнорувати сповіщення",
+ "ignore_notifications_modal.limited_accounts_title": "Ігнорувати сповіщення від модерованих облікових записів?",
+ "ignore_notifications_modal.new_accounts_title": "Ігнорувати сповіщення від нових облікових записів?",
+ "ignore_notifications_modal.not_followers_title": "Ігнорувати сповіщення від людей, які не підписані на вас?",
+ "ignore_notifications_modal.not_following_title": "Ігнорувати сповіщення від людей, на яких ви не підписалися?",
+ "ignore_notifications_modal.private_mentions_title": "Ігнорувати сповіщення від небажаних приватних згадок?",
"interaction_modal.description.favourite": "Маючи обліковий запис на Mastodon, ви можете вподобати цей допис, щоб дати автору знати, що ви його цінуєте, і зберегти його на потім.",
"interaction_modal.description.follow": "Маючи обліковий запис на Mastodon, ви можете підписатися на {name}, щоб отримувати дописи цього користувача у свою стрічку.",
"interaction_modal.description.reblog": "Маючи обліковий запис на Mastodon, ви можете поширити цей допис, щоб поділитися ним зі своїми підписниками.",
@@ -437,7 +458,7 @@
"lists.subheading": "Ваші списки",
"load_pending": "{count, plural, one {# новий елемент} other {# нових елементів}}",
"loading_indicator.label": "Завантаження…",
- "media_gallery.toggle_visible": "{number, plural, one {Приховати зображення} other {Приховати зображення}}",
+ "media_gallery.hide": "Сховати",
"moved_to_account_banner.text": "Ваш обліковий запис {disabledAccount} наразі вимкнений, оскільки вас перенесено до {movedToAccount}.",
"mute_modal.hide_from_notifications": "Сховати зі сповіщень",
"mute_modal.hide_options": "Сховати опції",
@@ -448,9 +469,8 @@
"mute_modal.title": "Ігнорувати користувача?",
"mute_modal.you_wont_see_mentions": "Ви не бачитимете дописів, де їх згадано.",
"mute_modal.you_wont_see_posts": "Вони все ще можуть бачити ваші дописи, але ви не бачитимете їхніх.",
- "name_and_others": "{name} і {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}}",
- "name_and_others_with_link": "{name} і
{count, plural, one {# інший} few {# інших} many {# інших} other {# інший}}",
"navigation_bar.about": "Про застосунок",
+ "navigation_bar.administration": "Адміністрування",
"navigation_bar.advanced_interface": "Відкрити в розширеному вебінтерфейсі",
"navigation_bar.blocks": "Заблоковані користувачі",
"navigation_bar.bookmarks": "Закладки",
@@ -467,6 +487,7 @@
"navigation_bar.follows_and_followers": "Підписки та підписники",
"navigation_bar.lists": "Списки",
"navigation_bar.logout": "Вийти",
+ "navigation_bar.moderation": "Модерування",
"navigation_bar.mutes": "Приховані користувачі",
"navigation_bar.opened_in_classic_interface": "Дописи, облікові записи та інші специфічні сторінки усталено відкриваються в класичному вебінтерфейсі.",
"navigation_bar.personal": "Особисте",
@@ -482,23 +503,31 @@
"notification.admin.report_statuses": "{name} повідомляє про {target} в категорії {category}",
"notification.admin.report_statuses_other": "{name} повідомляє про {target}",
"notification.admin.sign_up": "{name} приєдналися",
+ "notification.admin.sign_up.name_and_others": "{name} та {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}} зареєструвалися",
"notification.favourite": "Ваш допис сподобався {name}",
+ "notification.favourite.name_and_others_with_link": "{name} та
{count, plural, one {# інший} few {# інших} many {# інших} other {# інший}} вподобали ваш допис",
"notification.follow": "{name} підписалися на вас",
+ "notification.follow.name_and_others": "{name} та {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}} стежать за вами",
"notification.follow_request": "{name} відправили запит на підписку",
+ "notification.follow_request.name_and_others": "{name} та {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}} надсилають вам запит на стеження",
+ "notification.label.mention": "Згадка",
+ "notification.label.private_mention": "Особиста згадка",
"notification.label.private_reply": "Приватна відповідь",
- "notification.label.reply": "Відповісти",
- "notification.moderation-warning.learn_more": "Дізнатися більше",
+ "notification.label.reply": "Відповідь",
+ "notification.mention": "Згадка",
+ "notification.moderation-warning.learn_more": "Докладніше",
"notification.moderation_warning": "Ви отримали попередження модерації",
- "notification.moderation_warning.action_delete_statuses": "Деякі з ваших дописів було видалено.",
+ "notification.moderation_warning.action_delete_statuses": "Деякі з ваших дописів було вилучено.",
"notification.moderation_warning.action_disable": "Ваш обліковий запис було вимкнено.",
- "notification.moderation_warning.action_mark_statuses_as_sensitive": "Деякі з ваших дописів були позначені як чутливі.",
+ "notification.moderation_warning.action_mark_statuses_as_sensitive": "Деякі з ваших дописів були позначені делікатними.",
"notification.moderation_warning.action_none": "Ваш обліковий запис отримав попередження модерації.",
- "notification.moderation_warning.action_sensitive": "Відтепер ваші дописи будуть позначені як чутливі.",
+ "notification.moderation_warning.action_sensitive": "Відтепер ваші дописи будуть позначені делікатними.",
"notification.moderation_warning.action_silence": "Ваш обліковий запис було обмежено.",
"notification.moderation_warning.action_suspend": "Ваш обліковий запис було заблоковано.",
"notification.own_poll": "Ваше опитування завершилося",
"notification.poll": "Опитування, в якому ви проголосували, завершено",
"notification.reblog": "{name} поширює ваш допис",
+ "notification.reblog.name_and_others_with_link": "{name} та
{count, plural, one {# інший} few {# інших} many {# інших} other {# інший}} поширили ваш допис",
"notification.relationships_severance_event": "Втрачено з'єднання з {name}",
"notification.relationships_severance_event.account_suspension": "Адміністратор з {from} призупинив {target}, що означає, що ви більше не можете отримувати оновлення від них або взаємодіяти з ними.",
"notification.relationships_severance_event.domain_block": "Адміністратор з {from} заблокував {target}, включаючи {followersCount} ваших підписників і {followingCount , plural, one {# обліковий запис} few {# облікові записи} many {# облікових записів} other {# обліковий запис}}, на які ви підписані.",
@@ -507,17 +536,24 @@
"notification.status": "{name} щойно дописує",
"notification.update": "{name} змінює допис",
"notification_requests.accept": "Прийняти",
- "notification_requests.accept_all": "Прийняти все",
- "notification_requests.confirm_accept_all.button": "Прийняти все",
- "notification_requests.confirm_dismiss_all.button": "Відхили все",
+ "notification_requests.accept_multiple": "{count, plural, one {Прийняти # запит…} few {Прийняти # запити…} many {Прийняти # запитів…} other {Прийняти # запит…}}",
+ "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Прийняти запит} other {Прийняти запити}}",
+ "notification_requests.confirm_accept_multiple.message": "Ви збираєтеся прийняти {count, plural, one {запит на сповіщення} few {# запити на сповіщення} many {# запитів на сповіщення} other {# запит на сповіщення}}. Ви впевнені, що хочете продовжити?",
+ "notification_requests.confirm_accept_multiple.title": "Прийняти запит на сповіщення?",
+ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Відхилити запит} other {Відхилити запити}}",
+ "notification_requests.confirm_dismiss_multiple.message": "Ви збираєтеся відхилити {count, plural, one {один запит на сповіщення} few {# запити на сповіщення} many {# запитів на сповіщення} other {# запит на сповіщення}}. Ви не зможете легко отримати доступ до {count, plural, one {нього} other {них}} пізніше. Ви впевнені, що хочете продовжити?",
+ "notification_requests.confirm_dismiss_multiple.title": "Відхилити запити на сповіщення?",
"notification_requests.dismiss": "Відхилити",
- "notification_requests.dismiss_all": "Відхили все",
+ "notification_requests.dismiss_multiple": "{count, plural, one {Відхилити # запит…} few {Відхилити # запити…} many {Відхилити # запитів…} 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": "Розгорнути",
"notification_requests.minimize_banner": "Мінімізувати відфільтрований банер сповіщень",
"notification_requests.notifications_from": "Сповіщення від {name}",
"notification_requests.title": "Відфільтровані сповіщення",
+ "notification_requests.view": "Переглянути сповіщення",
"notifications.clear": "Очистити сповіщення",
"notifications.clear_confirmation": "Ви впевнені, що хочете назавжди видалити всі сповіщення?",
"notifications.clear_title": "Очистити сповіщення?",
@@ -555,7 +591,11 @@
"notifications.permission_denied_alert": "Сповіщення не можна ввімкнути оскільки у дозволі вже було відмовлено раніше",
"notifications.permission_required": "Сповіщення на стільниці не доступні, оскільки необхідний дозвіл не надано.",
"notifications.policy.accept": "Прийняти",
+ "notifications.policy.accept_hint": "Показувати в сповіщеннях",
"notifications.policy.drop": "Ігнорувати",
+ "notifications.policy.drop_hint": "Відправити в нікуди, щоб більше не бачити",
+ "notifications.policy.filter": "Фільтрувати",
+ "notifications.policy.filter_hint": "Надіслати до відфільтрованих вхідних",
"notifications.policy.filter_limited_accounts_hint": "Обмежено модераторами сервера",
"notifications.policy.filter_limited_accounts_title": "Модеровані облікові записи",
"notifications.policy.filter_new_accounts.hint": "Створено впродовж {days, plural, one {одного} few {# днів} many {# днів} other {# дня}}",
@@ -566,6 +606,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": "Не проґавте нічого",
@@ -726,11 +767,11 @@
"server_banner.about_active_users": "Люди, які використовують цей сервер протягом останніх 30 днів (Щомісячні Активні Користувачі)",
"server_banner.active_users": "активні користувачі",
"server_banner.administered_by": "Адміністратор:",
- "server_banner.is_one_of_many": "{domain} - один з багатьох незалежних серверів Mastodon, які ви можете використати, щоб брати участь у федівері.",
+ "server_banner.is_one_of_many": "{domain} - один з багатьох незалежних серверів Mastodon, які ви можете використати, щоб брати участь у федіверсі.",
"server_banner.server_stats": "Статистика сервера:",
"sign_in_banner.create_account": "Створити обліковий запис",
- "sign_in_banner.follow_anyone": "Слідкуйте за ким завгодно у всьому fediverse і дивіться все це в хронологічному порядку. Немає алгоритмів, реклами чи наживок для натискань при перегляді.",
- "sign_in_banner.mastodon_is": "Мастодон - найкращий спосіб продовжувати свою справу.",
+ "sign_in_banner.follow_anyone": "Слідкуйте за ким завгодно у всьому fediverse і дивіться все це в хронологічному порядку. Немає алгоритмів, реклами чи клікбейту.",
+ "sign_in_banner.mastodon_is": "Mastodon — найкращий спосіб бути в курсі подій.",
"sign_in_banner.sign_in": "Увійти",
"sign_in_banner.sso_redirect": "Увійдіть або зареєструйтесь",
"status.admin_account": "Відкрити інтерфейс модерації для @{name}",
@@ -740,6 +781,7 @@
"status.bookmark": "Додати до закладок",
"status.cancel_reblog_private": "Скасувати поширення",
"status.cannot_reblog": "Цей допис не може бути поширений",
+ "status.continued_thread": "Продовження у потоці",
"status.copy": "Копіювати посилання на допис",
"status.delete": "Видалити",
"status.detailed_status": "Детальний вигляд бесіди",
@@ -752,8 +794,6 @@
"status.favourite": "Уподобане",
"status.favourites": "{count, plural, one {вподобання} few {вподобання} many {вподобань} other {вподобання}}",
"status.filter": "Фільтрувати цей допис",
- "status.filtered": "Відфільтровано",
- "status.hide": "Сховати допис",
"status.history.created": "{name} створює {date}",
"status.history.edited": "{name} змінює {date}",
"status.load_more": "Завантажити більше",
@@ -775,16 +815,14 @@
"status.reblogs.empty": "Ніхто ще не поширив цей допис. Коли хтось це зроблять, вони будуть зображені тут.",
"status.redraft": "Видалити та виправити",
"status.remove_bookmark": "Видалити закладку",
+ "status.replied_in_thread": "Відповідь у потоці",
"status.replied_to": "Відповідь для {name}",
"status.reply": "Відповісти",
"status.replyAll": "Відповісти на ланцюжок",
"status.report": "Поскаржитися на @{name}",
"status.sensitive_warning": "Делікатний вміст",
"status.share": "Поділитися",
- "status.show_filter_reason": "Усе одно показати",
- "status.show_less": "Згорнути",
"status.show_less_all": "Згорнути для всіх",
- "status.show_more": "Розгорнути",
"status.show_more_all": "Розгорнути для всіх",
"status.show_original": "Показати оригінал",
"status.title.with_attachments": "{user} розміщує {{attachmentCount, plural, one {вкладення} few {{attachmentCount} вкладення} many {{attachmentCount} вкладень} other {{attachmentCount} вкладень}}",
@@ -803,10 +841,6 @@
"time_remaining.minutes": "{number, plural, one {# хвилина} few {# хвилини} other {# хвилин}}",
"time_remaining.moments": "Залишилось секунд",
"time_remaining.seconds": "{number, plural, one {# секунда} few {# секунди} other {# секунд}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} з інших серверів не зображується.",
- "timeline_hint.resources.followers": "Підписники",
- "timeline_hint.resources.follows": "Підписки",
- "timeline_hint.resources.statuses": "Попередні дописи",
"trends.counter_by_accounts": "{count, plural, one {{counter} особа} few {{counter} особи} other {{counter} осіб}} {days, plural, one {за останній {days} день} few {за останні {days} дні} other {за останні {days} днів}}",
"trends.trending_now": "Популярне зараз",
"ui.beforeunload": "Вашу чернетку буде втрачено, якщо ви покинете Mastodon.",
diff --git a/app/javascript/mastodon/locales/ur.json b/app/javascript/mastodon/locales/ur.json
index 303e37da39fdc8..cb5dfa63cd01e9 100644
--- a/app/javascript/mastodon/locales/ur.json
+++ b/app/javascript/mastodon/locales/ur.json
@@ -13,7 +13,6 @@
"account.block_domain": "{domain} سے سب چھپائیں",
"account.block_short": "بلاک",
"account.blocked": "مسدود کردہ",
- "account.browse_more_on_origin_server": "اصل پروفائل پر مزید براؤز کریں",
"account.cancel_follow_request": "Withdraw follow request",
"account.direct": "نجی طور پر @{name} کا ذکر کریں",
"account.disable_notifications": "جب @{name} پوسٹ کرے تو مجھ مطلع نہ کریں",
@@ -270,7 +269,6 @@
"status.pinned": "Pinned toot",
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
- "timeline_hint.resources.statuses": "Older toots",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"upload_form.audio_description": "Describe for people with hearing loss",
"upload_form.description": "Describe for the visually impaired",
diff --git a/app/javascript/mastodon/locales/uz.json b/app/javascript/mastodon/locales/uz.json
index 534ba74ef74245..6dae368ffcfbd7 100644
--- a/app/javascript/mastodon/locales/uz.json
+++ b/app/javascript/mastodon/locales/uz.json
@@ -17,7 +17,6 @@
"account.block": "Blok @{name}",
"account.block_domain": "{domain} domenini bloklash",
"account.blocked": "Bloklangan",
- "account.browse_more_on_origin_server": "Asl profilda ko'proq ko'rish",
"account.cancel_follow_request": "Kuzatuv so‘rovini bekor qilish",
"account.disable_notifications": "@{name} post qo‘yganida menga xabar berishni to‘xtating",
"account.domain_blocked": "Domen bloklangan",
@@ -300,7 +299,6 @@
"lists.search": "Siz kuzatadigan odamlar orasidan qidiring",
"lists.subheading": "Sizning ro'yxatlaringiz",
"load_pending": "{count, plural, one {# yangi element} other {# yangi elementlar}}",
- "media_gallery.toggle_visible": "{number, plural, one {Rasmni yashirish} other {Rasmlarni yashirish}}",
"moved_to_account_banner.text": "{movedToAccount} hisobiga koʻchganingiz uchun {disabledAccount} hisobingiz hozirda oʻchirib qoʻyilgan.",
"navigation_bar.about": "Haqida",
"navigation_bar.blocks": "Bloklangan foydalanuvchilar",
diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json
index 688adc213716f4..09f288469dc8b0 100644
--- a/app/javascript/mastodon/locales/vi.json
+++ b/app/javascript/mastodon/locales/vi.json
@@ -19,7 +19,6 @@
"account.block_domain": "Chặn mọi thứ từ {domain}",
"account.block_short": "Chặn",
"account.blocked": "Đã chặn",
- "account.browse_more_on_origin_server": "Truy cập trang của người này",
"account.cancel_follow_request": "Thu hồi yêu cầu theo dõi",
"account.copy": "Sao chép địa chỉ",
"account.direct": "Nhắn riêng @{name}",
@@ -57,7 +56,7 @@
"account.no_bio": "Chưa có miêu tả.",
"account.open_original_page": "Mở trang gốc",
"account.posts": "Tút",
- "account.posts_with_replies": "Lượt trả lời",
+ "account.posts_with_replies": "Trả lời",
"account.report": "Báo cáo @{name}",
"account.requested": "Đang chờ chấp thuận. Nhấp vào đây để hủy yêu cầu theo dõi",
"account.requested_follow": "{name} yêu cầu theo dõi bạn",
@@ -98,6 +97,8 @@
"block_modal.title": "Chặn người này?",
"block_modal.you_wont_see_mentions": "Bạn sẽ không nhìn thấy tút có nhắc đến họ.",
"boost_modal.combo": "Nhấn {combo} để bỏ qua bước này",
+ "boost_modal.reblog": "Đăng lại?",
+ "boost_modal.undo_reblog": "Hủy đăng lại?",
"bundle_column_error.copy_stacktrace": "Sao chép báo lỗi",
"bundle_column_error.error.body": "Không thể hiện trang này. Đây có thể là một lỗi trong mã lập trình của chúng tôi, hoặc là vấn đề tương thích của trình duyệt.",
"bundle_column_error.error.title": "Ôi không!",
@@ -117,15 +118,15 @@
"closed_registrations_modal.title": "Đăng ký Mastodon",
"column.about": "Giới thiệu",
"column.blocks": "Người đã chặn",
- "column.bookmarks": "Đã lưu",
+ "column.bookmarks": "Những tút đã lưu",
"column.community": "Máy chủ này",
"column.direct": "Nhắn riêng",
"column.directory": "Tìm người cùng sở thích",
"column.domain_blocks": "Máy chủ đã chặn",
- "column.favourites": "Lượt thích",
+ "column.favourites": "Những tút đã thích",
"column.firehose": "Bảng tin",
"column.follow_requests": "Yêu cầu theo dõi",
- "column.home": "Trang chính",
+ "column.home": "Trang chủ",
"column.lists": "Danh sách",
"column.mutes": "Người đã ẩn",
"column.notifications": "Thông báo",
@@ -193,6 +194,8 @@
"confirmations.unfollow.confirm": "Bỏ theo dõi",
"confirmations.unfollow.message": "Bạn thật sự muốn bỏ theo dõi {name}?",
"confirmations.unfollow.title": "Bỏ theo dõi?",
+ "content_warning.hide": "Ẩn tút",
+ "content_warning.show": "Nhấn để xem",
"conversation.delete": "Xóa tin nhắn này",
"conversation.mark_as_read": "Đánh dấu là đã đọc",
"conversation.open": "Xem toàn bộ tin nhắn",
@@ -300,6 +303,7 @@
"filter_modal.select_filter.subtitle": "Sử dụng một danh mục hiện có hoặc tạo một danh mục mới",
"filter_modal.select_filter.title": "Lọc tút này",
"filter_modal.title.status": "Lọc một tút",
+ "filter_warning.matches_filter": "Khớp bộ lọc “{title}”",
"filtered_notifications_banner.pending_requests": "Từ {count, plural, =0 {không ai} other {# người}} bạn có thể biết",
"filtered_notifications_banner.title": "Thông báo đã lọc",
"firehose.all": "Toàn bộ",
@@ -349,6 +353,14 @@
"hashtag.follow": "Theo dõi hashtag",
"hashtag.unfollow": "Bỏ theo dõi hashtag",
"hashtags.and_other": "…và {count, plural, other {# nữa}}",
+ "hints.profiles.followers_may_be_missing": "Số người theo dõi có thể không đầy đủ.",
+ "hints.profiles.follows_may_be_missing": "Số người mà người này theo dõi có thể không đầy đủ.",
+ "hints.profiles.posts_may_be_missing": "Số tút của người này có thể không đầy đủ.",
+ "hints.profiles.see_more_followers": "Xem thêm người theo dõi ở {domain}",
+ "hints.profiles.see_more_follows": "Xem thêm người mà người này theo dõi ở {domain}",
+ "hints.profiles.see_more_posts": "Xem thêm tút ở {domain}",
+ "hints.threads.replies_may_be_missing": "Lượt trả lời trên máy chủ khác có thể không đầy đủ.",
+ "hints.threads.see_more": "Xem thêm ở {domain}",
"home.column_settings.show_reblogs": "Hiện những lượt đăng lại",
"home.column_settings.show_replies": "Hiện những tút dạng trả lời",
"home.hide_announcements": "Ẩn thông báo máy chủ",
@@ -356,8 +368,17 @@
"home.pending_critical_update.link": "Xem bản cập nhật",
"home.pending_critical_update.title": "Có bản cập nhật bảo mật quan trọng!",
"home.show_announcements": "Xem thông báo máy chủ",
+ "ignore_notifications_modal.disclaimer": "Mastodon sẽ không thông báo cho người dùng rằng bạn đã bỏ qua thông báo của họ. Họ sẽ vẫn có thể tương tác với bạn.",
+ "ignore_notifications_modal.filter_instead": "Lọc thay thế",
"ignore_notifications_modal.filter_to_act_users": "Bạn vẫn có thể chấp nhận, từ chối hoặc báo cáo người khác",
- "ignore_notifications_modal.filter_to_review_separately": "Bạn có thể xem lại các thông báo đã lọc riêng biệt",
+ "ignore_notifications_modal.filter_to_avoid_confusion": "Lọc giúp tránh nhầm lẫn tiềm ẩn",
+ "ignore_notifications_modal.filter_to_review_separately": "Bạn có thể xem lại riêng các thông báo đã lọc",
+ "ignore_notifications_modal.ignore": "Bỏ qua thông báo",
+ "ignore_notifications_modal.limited_accounts_title": "Bỏ qua thông báo từ các tài khoản bị kiểm duyệt?",
+ "ignore_notifications_modal.new_accounts_title": "Bỏ qua thông báo từ các tài khoản mới đăng ký?",
+ "ignore_notifications_modal.not_followers_title": "Bỏ qua thông báo từ những người chưa theo dõi bạn?",
+ "ignore_notifications_modal.not_following_title": "Bỏ qua thông báo từ những người bạn không theo dõi?",
+ "ignore_notifications_modal.private_mentions_title": "Bỏ qua thông báo từ những lượt Nhắn Riêng không mong muốn?",
"interaction_modal.description.favourite": "Với tài khoản Mastodon, bạn có thể cho người đăng biết bạn thích tút này và lưu lại tút.",
"interaction_modal.description.follow": "Với tài khoản Mastodon, bạn có thể theo dõi {name} để tút của họ hiện trên bảng tin của mình.",
"interaction_modal.description.reblog": "Với tài khoản Mastodon, bạn có thể đăng lại tút này để chia sẻ nó với những người đang theo dõi bạn.",
@@ -436,7 +457,6 @@
"lists.subheading": "Danh sách của bạn",
"load_pending": "{count, plural, one {# tút mới} other {# tút mới}}",
"loading_indicator.label": "Đang tải…",
- "media_gallery.toggle_visible": "{number, plural, other {Ẩn hình ảnh}}",
"moved_to_account_banner.text": "Tài khoản {disabledAccount} của bạn hiện không khả dụng vì bạn đã chuyển sang {movedToAccount}.",
"mute_modal.hide_from_notifications": "Ẩn thông báo",
"mute_modal.hide_options": "Tùy chọn ẩn",
@@ -447,25 +467,25 @@
"mute_modal.title": "Ẩn người này?",
"mute_modal.you_wont_see_mentions": "Bạn sẽ không nhìn thấy tút có nhắc đến họ.",
"mute_modal.you_wont_see_posts": "Bạn sẽ không nhìn thấy tút của họ.",
- "name_and_others": "{name} và {count, plural, other {# người khác}}",
- "name_and_others_with_link": "{name} và
{count, plural, other {# người khác}}",
"navigation_bar.about": "Giới thiệu",
+ "navigation_bar.administration": "Quản trị",
"navigation_bar.advanced_interface": "Dùng bố cục nhiều cột",
"navigation_bar.blocks": "Người đã chặn",
- "navigation_bar.bookmarks": "Đã lưu",
+ "navigation_bar.bookmarks": "Tút lưu",
"navigation_bar.community_timeline": "Cộng đồng",
"navigation_bar.compose": "Soạn tút mới",
"navigation_bar.direct": "Nhắn riêng",
"navigation_bar.discover": "Khám phá",
"navigation_bar.domain_blocks": "Máy chủ đã ẩn",
"navigation_bar.explore": "Xu hướng",
- "navigation_bar.favourites": "Lượt thích",
+ "navigation_bar.favourites": "Tút thích",
"navigation_bar.filters": "Bộ lọc từ ngữ",
"navigation_bar.follow_requests": "Yêu cầu theo dõi",
"navigation_bar.followed_tags": "Hashtag theo dõi",
"navigation_bar.follows_and_followers": "Quan hệ",
"navigation_bar.lists": "Danh sách",
"navigation_bar.logout": "Đăng xuất",
+ "navigation_bar.moderation": "Kiểm duyệt",
"navigation_bar.mutes": "Người đã ẩn",
"navigation_bar.opened_in_classic_interface": "Tút, tài khoản và các trang cụ thể khác được mở theo mặc định trong giao diện web cổ điển.",
"navigation_bar.personal": "Cá nhân",
@@ -481,9 +501,13 @@
"notification.admin.report_statuses": "{name} báo cáo {target} vì {category}",
"notification.admin.report_statuses_other": "{name} báo cáo {target}",
"notification.admin.sign_up": "{name} tham gia máy chủ của bạn",
+ "notification.admin.sign_up.name_and_others": "{name} và {count, plural, other {# người}} đã đăng ký",
"notification.favourite": "{name} thích tút của bạn",
+ "notification.favourite.name_and_others_with_link": "{name} và
{count, plural, other {# người khác}} đã thích tút của bạn",
"notification.follow": "{name} theo dõi bạn",
+ "notification.follow.name_and_others": "{name} và {count, plural, other {# người khác}} đã theo dõi bạn",
"notification.follow_request": "{name} yêu cầu theo dõi bạn",
+ "notification.follow_request.name_and_others": "{name} và {count, plural, other {# người khác}} đã yêu cầu theo dõi bạn",
"notification.label.mention": "Lượt nhắc",
"notification.label.private_mention": "Nhắn riêng",
"notification.label.private_reply": "Trả lời riêng",
@@ -501,6 +525,7 @@
"notification.own_poll": "Cuộc bình chọn của bạn đã kết thúc",
"notification.poll": "Cuộc bình chọn có bạn tham gia đã kết thúc",
"notification.reblog": "{name} đăng lại tút của bạn",
+ "notification.reblog.name_and_others_with_link": "{name} và
{count, plural, other {# người khác}} đã đăng lại tút của bạn",
"notification.relationships_severance_event": "Mất kết nối với {name}",
"notification.relationships_severance_event.account_suspension": "Quản trị viên {from} đã vô hiệu hóa {target}, điều này có nghĩa là bạn không còn có thể nhận được cập nhật từ họ hoặc tương tác với họ nữa.",
"notification.relationships_severance_event.domain_block": "Quản trị viên {from} đã chặn {target}, bao gồm {followersCount} người theo dõi bạn và {followingCount, plural, other {# người}} mà bạn theo dõi.",
@@ -509,13 +534,24 @@
"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",
"notification_requests.minimize_banner": "Tinh giản banner lọc thông báo",
"notification_requests.notifications_from": "Thông báo từ {name}",
"notification_requests.title": "Thông báo đã lọc",
+ "notification_requests.view": "Hiện thông báo",
"notifications.clear": "Xóa hết thông báo",
"notifications.clear_confirmation": "Bạn thật sự muốn xóa vĩnh viễn tất cả thông báo của mình?",
"notifications.clear_title": "Xóa hết thông báo?",
@@ -552,6 +588,12 @@
"notifications.permission_denied": "Trình duyệt không cho phép hiển thị thông báo trên màn hình.",
"notifications.permission_denied_alert": "Không thể bật thông báo trên màn hình bởi vì trình duyệt đã cấm trước đó",
"notifications.permission_required": "Không hiện thông báo trên màn hình bởi vì chưa cho phép.",
+ "notifications.policy.accept": "Có",
+ "notifications.policy.accept_hint": "Hiện trong thông báo",
+ "notifications.policy.drop": "Không",
+ "notifications.policy.drop_hint": "Loại bỏ vĩnh viễn",
+ "notifications.policy.filter": "Lọc",
+ "notifications.policy.filter_hint": "Cho vào mục thông báo bị lọc",
"notifications.policy.filter_limited_accounts_hint": "Chỉ dành cho kiểm duyệt viên",
"notifications.policy.filter_limited_accounts_title": "Kiểm duyệt tài khoản",
"notifications.policy.filter_new_accounts.hint": "Đã tạo trong vòng {days, plural, other {# ngày}}",
@@ -562,6 +604,7 @@
"notifications.policy.filter_not_following_title": "Những người bạn không theo dõi",
"notifications.policy.filter_private_mentions_hint": "Được lọc trừ khi nó trả lời lượt nhắc từ bạn hoặc nếu bạn theo dõi người gửi",
"notifications.policy.filter_private_mentions_title": "Lượt nhắc riêng tư không được yêu cầu",
+ "notifications.policy.title": "Quản lý thông báo từ…",
"notifications_permission_banner.enable": "Cho phép thông báo trên màn hình",
"notifications_permission_banner.how_to_control": "Hãy bật thông báo trên màn hình để không bỏ lỡ những thông báo từ Mastodon. Một khi đã bật, bạn có thể lựa chọn từng loại thông báo khác nhau thông qua {icon} nút bên dưới.",
"notifications_permission_banner.title": "Không bỏ lỡ điều thú vị nào",
@@ -748,8 +791,6 @@
"status.favourite": "Thích",
"status.favourites": "{count, plural, other {lượt thích}}",
"status.filter": "Lọc tút này",
- "status.filtered": "Bộ lọc",
- "status.hide": "Ẩn tút",
"status.history.created": "{name} đăng {date}",
"status.history.edited": "{name} đã sửa {date}",
"status.load_more": "Tải thêm",
@@ -777,10 +818,7 @@
"status.report": "Báo cáo @{name}",
"status.sensitive_warning": "Nhạy cảm",
"status.share": "Chia sẻ",
- "status.show_filter_reason": "Vẫn cứ xem",
- "status.show_less": "Thu gọn",
"status.show_less_all": "Thu gọn toàn bộ",
- "status.show_more": "Xem thêm",
"status.show_more_all": "Hiển thị tất cả",
"status.show_original": "Bản gốc",
"status.title.with_attachments": "{user} đã đăng {attachmentCount, plural, other {{attachmentCount} đính kèm}}",
@@ -799,10 +837,6 @@
"time_remaining.minutes": "{number, plural, other {# phút}}",
"time_remaining.moments": "Còn lại",
"time_remaining.seconds": "{number, plural, other {# giây}}",
- "timeline_hint.remote_resource_not_displayed": "{resource} từ máy chủ khác sẽ không hiển thị.",
- "timeline_hint.resources.followers": "Người theo dõi",
- "timeline_hint.resources.follows": "Đang theo dõi",
- "timeline_hint.resources.statuses": "Tút cũ hơn",
"trends.counter_by_accounts": "{count, plural, other {{count} lượt}} dùng trong {days, plural, other {{days} ngày}} qua",
"trends.trending_now": "Xu hướng",
"ui.beforeunload": "Bản nháp của bạn sẽ bị mất nếu bạn thoát khỏi Mastodon.",
diff --git a/app/javascript/mastodon/locales/zgh.json b/app/javascript/mastodon/locales/zgh.json
index 2e09642af93189..2fe63fe83cb348 100644
--- a/app/javascript/mastodon/locales/zgh.json
+++ b/app/javascript/mastodon/locales/zgh.json
@@ -5,7 +5,6 @@
"account.block": "ⴳⴷⵍ @{name}",
"account.block_domain": "ⴳⴷⵍ ⵉⴳⵔ {domain}",
"account.blocked": "ⵉⵜⵜⵓⴳⴷⵍ",
- "account.browse_more_on_origin_server": "ⵙⵜⴰⵔⴰ ⵓⴳⴳⴰⵔ ⴳ ⵉⴼⵔⵙ ⴰⵏⵚⵍⵉ",
"account.cancel_follow_request": "Withdraw follow request",
"account.domain_blocked": "ⵉⵜⵜⵓⴳⴷⵍ ⵉⴳⵔ",
"account.edit_profile": "ⵙⵏⴼⵍ ⵉⴼⵔⵙ",
@@ -119,7 +118,6 @@
"lists.replies_policy.title": "ⵙⴽⵏ ⵜⵉⵔⴰⵔⵉⵏ ⵉ:",
"lists.subheading": "ⵜⵉⵍⴳⴰⵎⵉⵏ ⵏⵏⴽ",
"load_pending": "{count, plural, one {# ⵓⴼⵔⴷⵉⵙ ⴰⵎⴰⵢⵏⵓ} other {# ⵉⴼⵔⴷⴰⵙ ⵉⵎⴰⵢⵏⵓⵜⵏ}}",
- "media_gallery.toggle_visible": "ⴼⴼⵔ {number, plural, one {ⵜⴰⵡⵍⴰⴼⵜ} other {ⵜⵉⵡⵍⴰⴼⵉⵏ}}",
"navigation_bar.compose": "Compose new toot",
"navigation_bar.domain_blocks": "Hidden domains",
"navigation_bar.follow_requests": "ⵜⵓⵜⵔⴰⵡⵉⵏ ⵏ ⵓⴹⴼⴰⵕ",
@@ -186,16 +184,12 @@
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
"status.reply": "ⵔⴰⵔ",
"status.share": "ⴱⴹⵓ",
- "status.show_less": "ⵙⵎⴰⵍ ⴷⵔⵓⵙ",
"status.show_less_all": "ⵙⵎⴰⵍ ⴷⵔⵓⵙ ⵉ ⵎⴰⵕⵕⴰ",
- "status.show_more": "ⵙⵎⴰⵍ ⵓⴳⴳⴰⵔ",
"status.show_more_all": "ⵙⵎⴰⵍ ⵓⴳⴳⴰⵔ ⵉ ⵎⴰⵕⵕⴰ",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
"tabs_bar.home": "ⴰⵙⵏⵓⴱⴳ",
"tabs_bar.notifications": "ⵜⵉⵏⵖⵎⵉⵙⵉⵏ",
"time_remaining.days": "{number, plural, one {# ⵡⴰⵙⵙ} other {# ⵡⵓⵙⵙⴰⵏ}} ⵉⵇⵇⵉⵎⵏ",
- "timeline_hint.resources.followers": "ⵉⵎⴹⴼⴰⵕⵏ",
- "timeline_hint.resources.statuses": "Older toots",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"upload_button.label": "ⵔⵏⵓ ⵜⴰⵡⵍⴰⴼⵜ, ⴰⴼⵉⴷⵢⵓ ⵏⵖ ⴰⴼⴰⵢⵍⵓ ⵙ ⵉⵎⵙⵍⵉ",
"upload_form.audio_description": "Describe for people with hearing loss",
diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json
index afa868814574c7..7280ad06e67fd7 100644
--- a/app/javascript/mastodon/locales/zh-CN.json
+++ b/app/javascript/mastodon/locales/zh-CN.json
@@ -20,7 +20,6 @@
"account.block_domain": "屏蔽 {domain} 实例",
"account.block_short": "屏蔽",
"account.blocked": "已屏蔽",
- "account.browse_more_on_origin_server": "在原始个人资料页面上浏览详情",
"account.cancel_follow_request": "撤回关注请求",
"account.copy": "复制个人资料链接",
"account.direct": "私下提及 @{name}",
@@ -96,9 +95,11 @@
"block_modal.they_cant_mention": "他们不能提及或关注你。",
"block_modal.they_cant_see_posts": "他们看不到你的嘟文,你也看不到他们的嘟文。",
"block_modal.they_will_know": "他们将能看到他们被屏蔽。",
- "block_modal.title": "屏蔽该用户?",
- "block_modal.you_wont_see_mentions": "你将无法看到提及他们的嘟文。",
+ "block_modal.title": "是否屏蔽该用户?",
+ "block_modal.you_wont_see_mentions": "你将不会看到提及他们的嘟文。",
"boost_modal.combo": "下次按住 {combo} 即可跳过此提示",
+ "boost_modal.reblog": "是否转嘟?",
+ "boost_modal.undo_reblog": "是否取消转嘟?",
"bundle_column_error.copy_stacktrace": "复制错误报告",
"bundle_column_error.error.body": "请求的页面无法渲染,可能是代码出现错误或浏览器存在兼容性问题。",
"bundle_column_error.error.title": "糟糕!",
@@ -194,6 +195,8 @@
"confirmations.unfollow.confirm": "取消关注",
"confirmations.unfollow.message": "你确定要取消关注 {name} 吗?",
"confirmations.unfollow.title": "是否取消关注用户?",
+ "content_warning.hide": "隐藏嘟文",
+ "content_warning.show": "仍然显示",
"conversation.delete": "删除对话",
"conversation.mark_as_read": "标记为已读",
"conversation.open": "查看对话",
@@ -301,6 +304,7 @@
"filter_modal.select_filter.subtitle": "使用一个已存在类别,或创建一个新类别",
"filter_modal.select_filter.title": "过滤此嘟文",
"filter_modal.title.status": "过滤一条嘟文",
+ "filter_warning.matches_filter": "命中过滤规则 “{title}”",
"filtered_notifications_banner.pending_requests": "来自你可能认识的 {count, plural, =0 {0 个人} other {# 个人}}",
"filtered_notifications_banner.title": "通知(已过滤)",
"firehose.all": "全部",
@@ -314,10 +318,10 @@
"follow_suggestions.featured_longer": "由 {domain} 管理团队精选",
"follow_suggestions.friends_of_friends_longer": "在你关注的人中很受欢迎",
"follow_suggestions.hints.featured": "该用户已被 {domain} 管理团队精选。",
- "follow_suggestions.hints.friends_of_friends": "该用户在您关注的人中很受欢迎。",
+ "follow_suggestions.hints.friends_of_friends": "该用户在你关注的人中很受欢迎。",
"follow_suggestions.hints.most_followed": "该用户是 {domain} 上关注度最高的用户之一。",
"follow_suggestions.hints.most_interactions": "该用户最近在 {domain} 上获得了很多关注。",
- "follow_suggestions.hints.similar_to_recently_followed": "该用户与您最近关注的用户类似。",
+ "follow_suggestions.hints.similar_to_recently_followed": "该用户与你最近关注的用户类似。",
"follow_suggestions.personalized_suggestion": "个性化建议",
"follow_suggestions.popular_suggestion": "热门建议",
"follow_suggestions.popular_suggestion_longer": "在 {domain} 上很受欢迎",
@@ -350,10 +354,18 @@
"hashtag.follow": "关注话题标签",
"hashtag.unfollow": "取消关注话题标签",
"hashtags.and_other": "… 和另外 {count, plural, other {# 个话题}}",
+ "hints.profiles.followers_may_be_missing": "该账户的关注者列表可能没有完全显示。",
+ "hints.profiles.follows_may_be_missing": "该账户的关注列表可能没有完全显示。",
+ "hints.profiles.posts_may_be_missing": "该账户的嘟文可能没有完全显示。",
+ "hints.profiles.see_more_followers": "在 {domain} 查看更多关注者",
+ "hints.profiles.see_more_follows": "在 {domain} 查看更多关注",
+ "hints.profiles.see_more_posts": "在 {domain} 查看更多嘟文",
+ "hints.threads.replies_may_be_missing": "来自其它实例的回复可能没有完全显示。",
+ "hints.threads.see_more": "在 {domain} 查看更多回复",
"home.column_settings.show_reblogs": "显示转嘟",
"home.column_settings.show_replies": "显示回复",
"home.hide_announcements": "隐藏公告",
- "home.pending_critical_update.body": "请尽快更新您的 Mastodon 服务器!",
+ "home.pending_critical_update.body": "请尽快更新你的 Mastodon 服务器!",
"home.pending_critical_update.link": "查看更新",
"home.pending_critical_update.title": "紧急安全更新可用!",
"home.show_announcements": "显示公告",
@@ -446,7 +458,7 @@
"lists.subheading": "你的列表",
"load_pending": "{count} 项",
"loading_indicator.label": "加载中…",
- "media_gallery.toggle_visible": "{number, plural, other {隐藏图像}}",
+ "media_gallery.hide": "隐藏",
"moved_to_account_banner.text": "您的账号 {disabledAccount} 已禁用,因为您已迁移到 {movedToAccount}。",
"mute_modal.hide_from_notifications": "从通知中隐藏",
"mute_modal.hide_options": "隐藏选项",
@@ -457,9 +469,8 @@
"mute_modal.title": "隐藏用户?",
"mute_modal.you_wont_see_mentions": "你看不到提及他们的嘟文。",
"mute_modal.you_wont_see_posts": "他们可以看到你的嘟文,但是你看不到他们的。",
- "name_and_others": "{name} 和其它 {count, plural, other {# 人}}",
- "name_and_others_with_link": "{name} 和
其它 {count, plural, other {# 人}}",
"navigation_bar.about": "关于",
+ "navigation_bar.administration": "管理",
"navigation_bar.advanced_interface": "在高级网页界面中打开",
"navigation_bar.blocks": "已屏蔽的用户",
"navigation_bar.bookmarks": "书签",
@@ -476,6 +487,7 @@
"navigation_bar.follows_and_followers": "关注和粉丝",
"navigation_bar.lists": "列表",
"navigation_bar.logout": "退出登录",
+ "navigation_bar.moderation": "运营",
"navigation_bar.mutes": "已隐藏的用户",
"navigation_bar.opened_in_classic_interface": "嘟文、账户和其他特定页面默认在经典网页界面中打开。",
"navigation_bar.personal": "个人",
@@ -491,9 +503,13 @@
"notification.admin.report_statuses": "{name} 举报了 {target},原因为 {category}",
"notification.admin.report_statuses_other": "{name} 举报了 {target}",
"notification.admin.sign_up": "{name} 注册了",
+ "notification.admin.sign_up.name_and_others": "{name} 和 {count, plural, other {另外 # 人}}注册了",
"notification.favourite": "{name} 喜欢了你的嘟文",
+ "notification.favourite.name_and_others_with_link": "{name} 和
{count, plural, other {另外 # 人}} 喜欢了你的嘟文",
"notification.follow": "{name} 开始关注你",
+ "notification.follow.name_and_others": "{name} 和 {count, plural, other {另外 # 人}} 关注了你",
"notification.follow_request": "{name} 向你发送了关注请求",
+ "notification.follow_request.name_and_others": "{name} 和 {count, plural, other {另外 # 人}} 向你发送了关注请求",
"notification.label.mention": "提及",
"notification.label.private_mention": "私下提及",
"notification.label.private_reply": "私人回复",
@@ -511,6 +527,7 @@
"notification.own_poll": "你的投票已经结束",
"notification.poll": "你参与的一项投票已结束",
"notification.reblog": "{name} 转发了你的嘟文",
+ "notification.reblog.name_and_others_with_link": "{name} 和
{count, plural, other {另外 # 人}} 转嘟了你的嘟文",
"notification.relationships_severance_event": "与 {name} 的联系已断开",
"notification.relationships_severance_event.account_suspension": "一名来自 {from} 的管理员已经封禁了{target},这意味着你将无法再收到他们的更新或与他们互动。",
"notification.relationships_severance_event.domain_block": "一名来自 {from} 的管理员已经屏蔽了 {target},其中包括你的 {followersCount} 个关注者和 {followingCount, plural, other {# 个关注}}。",
@@ -519,19 +536,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": "最大化",
@@ -604,12 +619,12 @@
"onboarding.follows.lead": "你管理你自己的家庭饲料。你关注的人越多,它将越活跃和有趣。 这些配置文件可能是一个很好的起点——你可以随时取消关注它们!",
"onboarding.follows.title": "定制您的主页动态",
"onboarding.profile.discoverable": "让我的资料卡可被他人发现",
- "onboarding.profile.discoverable_hint": "当您选择在 Mastodon 上启用发现功能时,你的嘟文可能会出现在搜索结果和热门中,你的账户可能会被推荐给与你兴趣相似的人。",
+ "onboarding.profile.discoverable_hint": "当你选择在 Mastodon 上启用发现功能时,你的嘟文可能会出现在搜索结果和热门中,你的账户可能会被推荐给与你兴趣相似的人。",
"onboarding.profile.display_name": "昵称",
- "onboarding.profile.display_name_hint": "您的全名或昵称…",
- "onboarding.profile.lead": "您可以稍后在设置中完成此操作,设置中有更多的自定义选项。",
+ "onboarding.profile.display_name_hint": "你的全名或昵称…",
+ "onboarding.profile.lead": "你可以稍后在设置中完成此操作,设置中有更多的自定义选项。",
"onboarding.profile.note": "简介",
- "onboarding.profile.note_hint": "您可以提及 @其他人 或 #标签…",
+ "onboarding.profile.note_hint": "你可以提及 @其他人 或 #标签…",
"onboarding.profile.save_and_continue": "保存并继续",
"onboarding.profile.title": "设置个人资料",
"onboarding.profile.upload_avatar": "上传头像",
@@ -618,7 +633,7 @@
"onboarding.share.message": "我是来自 #Mastodon 的 {username}!请在 {url} 关注我。",
"onboarding.share.next_steps": "可能的下一步:",
"onboarding.share.title": "分享你的个人资料",
- "onboarding.start.lead": "您新的 Mastodon 帐户已准备好。下面是如何最大限度地利用它:",
+ "onboarding.start.lead": "你的新 Mastodon 帐户已准备好。下面是如何最大限度地利用它:",
"onboarding.start.skip": "想要在前面跳过吗?",
"onboarding.start.title": "你已经成功了!",
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
@@ -630,7 +645,7 @@
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
"onboarding.steps.share_profile.title": "分享你的个人资料",
"onboarding.tips.2fa": "
你知道吗?你可以在账户设置中配置双因素认证来保护账户安全。可以使用你选择的任何 TOTP 应用,无需电话号码!",
- "onboarding.tips.accounts_from_other_servers": "
您知道吗? 既然Mastodon是去中心化的,您所看到的一些账户将被托管在您以外的服务器上。 但你可以无缝地与他们交互!他们的服务器在他们的用户名的后半部分!",
+ "onboarding.tips.accounts_from_other_servers": "
你知道吗? 既然Mastodon是去中心化的,你所看到的一些账户将被托管在你以外的服务器上。 但你可以无缝地与他们交互!他们的服务器在他们的用户名的后半部分!",
"onboarding.tips.migration": "
您知道吗? 如果你觉得你喜欢 {domain} 不是您未来的一个伟大的服务器选择。 您可以移动到另一个 Mastodon 服务器而不失去您的关注者。 您甚至可以主持您自己的服务器!",
"onboarding.tips.verification": "
您知道吗? 您可以通过在自己的网站上放置一个链接到您的 Mastodon 个人资料并将网站添加到您的个人资料来验证您的帐户。 无需收费或文书工作!",
"password_confirmation.exceeds_maxlength": "密码确认超过最大密码长度",
@@ -766,6 +781,7 @@
"status.bookmark": "添加到书签",
"status.cancel_reblog_private": "取消转贴",
"status.cannot_reblog": "这条嘟文不允许被转嘟",
+ "status.continued_thread": "继续线程",
"status.copy": "复制嘟文链接",
"status.delete": "删除",
"status.detailed_status": "详细的对话视图",
@@ -778,8 +794,6 @@
"status.favourite": "喜欢",
"status.favourites": "{count, plural, other {次喜欢}}",
"status.filter": "过滤此嘟文",
- "status.filtered": "已过滤",
- "status.hide": "隐藏嘟文",
"status.history.created": "{name} 创建于 {date}",
"status.history.edited": "{name} 编辑于 {date}",
"status.load_more": "加载更多",
@@ -801,16 +815,14 @@
"status.reblogs.empty": "没有人转嘟过此条嘟文。如果有人转嘟了,就会显示在这里。",
"status.redraft": "删除并重新编辑",
"status.remove_bookmark": "移除书签",
+ "status.replied_in_thread": "已在线程中回复",
"status.replied_to": "回复给 {name}",
"status.reply": "回复",
"status.replyAll": "回复所有人",
"status.report": "举报 @{name}",
"status.sensitive_warning": "敏感内容",
"status.share": "分享",
- "status.show_filter_reason": "仍要显示",
- "status.show_less": "隐藏内容",
"status.show_less_all": "隐藏全部内容",
- "status.show_more": "显示更多",
"status.show_more_all": "显示全部内容",
"status.show_original": "显示原文",
"status.title.with_attachments": "{user} 上传了 {attachmentCount, plural, one {一个附件} other {{attachmentCount} 个附件}}",
@@ -829,11 +841,6 @@
"time_remaining.minutes": "剩余 {number, plural, one {# 分钟} other {# 分钟}}",
"time_remaining.moments": "即将结束",
"time_remaining.seconds": "剩余 {number, plural, one {# 秒} other {# 秒}}",
- "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": "过去 {days, plural, other {{days} 天}}有{count, plural, other { {counter} 人}}讨论",
"trends.trending_now": "当前热门",
"ui.beforeunload": "如果你现在离开 Mastodon,你的草稿内容将会丢失。",
diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json
index 2e0f9d05df969f..d99dec11fbf167 100644
--- a/app/javascript/mastodon/locales/zh-HK.json
+++ b/app/javascript/mastodon/locales/zh-HK.json
@@ -19,7 +19,6 @@
"account.block_domain": "封鎖網域 {domain}",
"account.block_short": "封鎖",
"account.blocked": "已封鎖",
- "account.browse_more_on_origin_server": "前往原始的個人檔案頁瀏覽更多",
"account.cancel_follow_request": "撤回追蹤請求",
"account.copy": "複製個人檔案連結",
"account.direct": "私下提及 @{name}",
@@ -423,7 +422,6 @@
"lists.subheading": "列表",
"load_pending": "{count, plural, other {# 個新項目}}",
"loading_indicator.label": "載入中…",
- "media_gallery.toggle_visible": "隱藏圖片",
"moved_to_account_banner.text": "您的帳號 {disabledAccount} 目前已停用,因為您已搬家至 {movedToAccount}。",
"mute_modal.hide_from_notifications": "隱藏通知",
"mute_modal.hide_options": "隱藏選項",
@@ -706,8 +704,6 @@
"status.favourite": "最愛",
"status.favourites": "{count, plural, one {則最愛} other {則最愛}}",
"status.filter": "篩選此帖文",
- "status.filtered": "已過濾",
- "status.hide": "隱藏帖文",
"status.history.created": "{name} 於 {date} 建立",
"status.history.edited": "{name} 於 {date} 編輯",
"status.load_more": "載入更多",
@@ -735,10 +731,7 @@
"status.report": "舉報 @{name}",
"status.sensitive_warning": "敏感內容",
"status.share": "分享",
- "status.show_filter_reason": "仍要顯示",
- "status.show_less": "收起",
"status.show_less_all": "全部收起",
- "status.show_more": "展開",
"status.show_more_all": "全部展開",
"status.show_original": "顯示原文",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
@@ -757,10 +750,6 @@
"time_remaining.minutes": "剩餘 {number, plural, one {# 分鐘} other {# 分鐘}}",
"time_remaining.moments": "剩餘時間",
"time_remaining.seconds": "剩餘 {number, plural, one {# 秒} other {# 秒}}",
- "timeline_hint.remote_resource_not_displayed": "不會顯示來自其他伺服器的 {resource}",
- "timeline_hint.resources.followers": "追蹤者",
- "timeline_hint.resources.follows": "追蹤中",
- "timeline_hint.resources.statuses": "更早的文章",
"trends.counter_by_accounts": "{count, plural, one {{counter} 人} other {{counter} 人}} 於過去 {days, plural, one {日} other {{days} days}} 之間",
"trends.trending_now": "現在流行",
"ui.beforeunload": "如果你現在離開 Mastodon,你的草稿內容將會被丟棄。",
diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json
index 85113702cfb646..450ec661d50fb8 100644
--- a/app/javascript/mastodon/locales/zh-TW.json
+++ b/app/javascript/mastodon/locales/zh-TW.json
@@ -20,10 +20,9 @@
"account.block_domain": "封鎖來自 {domain} 網域的所有內容",
"account.block_short": "封鎖",
"account.blocked": "已封鎖",
- "account.browse_more_on_origin_server": "在該伺服器上的個人檔案頁面瀏覽更多",
"account.cancel_follow_request": "收回跟隨請求",
"account.copy": "複製個人檔案連結",
- "account.direct": "私訊 @{name}",
+ "account.direct": " @{name}",
"account.disable_notifications": "取消來自 @{name} 嘟文的通知",
"account.domain_blocked": "已封鎖網域",
"account.edit_profile": "編輯個人檔案",
@@ -99,6 +98,8 @@
"block_modal.title": "是否封鎖該使用者?",
"block_modal.you_wont_see_mentions": "您不會見到提及他們的嘟文。",
"boost_modal.combo": "下次您可以按 {combo} 跳過",
+ "boost_modal.reblog": "是否要轉嘟?",
+ "boost_modal.undo_reblog": "是否要取消轉嘟?",
"bundle_column_error.copy_stacktrace": "複製錯誤報告",
"bundle_column_error.error.body": "無法繪製請求的頁面。這可能是因為我們程式碼中的臭蟲或是瀏覽器的相容問題。",
"bundle_column_error.error.title": "糟糕!",
@@ -194,6 +195,8 @@
"confirmations.unfollow.confirm": "取消跟隨",
"confirmations.unfollow.message": "您確定要取消跟隨 {name} 嗎?",
"confirmations.unfollow.title": "是否取消跟隨該使用者?",
+ "content_warning.hide": "隱藏嘟文",
+ "content_warning.show": "仍要顯示",
"conversation.delete": "刪除對話",
"conversation.mark_as_read": "標記為已讀",
"conversation.open": "檢視對話",
@@ -301,6 +304,7 @@
"filter_modal.select_filter.subtitle": "使用既有的類別或是新增",
"filter_modal.select_filter.title": "過濾此嘟文",
"filter_modal.title.status": "過濾一則嘟文",
+ "filter_warning.matches_filter": "匹配過濾器「{title}」",
"filtered_notifications_banner.pending_requests": "來自您可能認識的 {count, plural, =0 {0 人} other {# 人}}",
"filtered_notifications_banner.title": "已過濾之推播通知",
"firehose.all": "全部",
@@ -350,6 +354,14 @@
"hashtag.follow": "跟隨主題標籤",
"hashtag.unfollow": "取消跟隨主題標籤",
"hashtags.and_other": "…及其他 {count, plural, other {# 個}}",
+ "hints.profiles.followers_may_be_missing": "此個人檔案之跟隨者或有缺失。",
+ "hints.profiles.follows_may_be_missing": "此個人檔案之正在跟隨或有缺失。",
+ "hints.profiles.posts_may_be_missing": "此個人檔案之某些嘟文或有缺失。",
+ "hints.profiles.see_more_followers": "於 {domain} 檢視更多跟隨者",
+ "hints.profiles.see_more_follows": "於 {domain} 檢視更多正在跟隨",
+ "hints.profiles.see_more_posts": "於 {domain} 檢視更多嘟文",
+ "hints.threads.replies_may_be_missing": "來自其他站點之回覆或有缺失。",
+ "hints.threads.see_more": "於 {domain} 檢視更多回覆",
"home.column_settings.show_reblogs": "顯示轉嘟",
"home.column_settings.show_replies": "顯示回覆",
"home.hide_announcements": "隱藏公告",
@@ -446,7 +458,7 @@
"lists.subheading": "您的列表",
"load_pending": "{count, plural, one {# 個新項目} other {# 個新項目}}",
"loading_indicator.label": "正在載入...",
- "media_gallery.toggle_visible": "切換可見性",
+ "media_gallery.hide": "隱藏",
"moved_to_account_banner.text": "您的帳號 {disabledAccount} 目前已停用,因為您已搬家至 {movedToAccount}。",
"mute_modal.hide_from_notifications": "於推播通知中隱藏",
"mute_modal.hide_options": "隱藏選項",
@@ -457,9 +469,8 @@
"mute_modal.title": "是否靜音該使用者?",
"mute_modal.you_wont_see_mentions": "您不會見到提及他們的嘟文。",
"mute_modal.you_wont_see_posts": "他們仍可讀取您的嘟文,但您不會見到他們的。",
- "name_and_others": "{name} 與 {count, plural, other {# 個人}}",
- "name_and_others_with_link": "{name} 與
{count, plural, other {# 個人}}",
"navigation_bar.about": "關於",
+ "navigation_bar.administration": "管理介面",
"navigation_bar.advanced_interface": "以進階網頁介面開啟",
"navigation_bar.blocks": "已封鎖的使用者",
"navigation_bar.bookmarks": "書籤",
@@ -476,6 +487,7 @@
"navigation_bar.follows_and_followers": "跟隨中與跟隨者",
"navigation_bar.lists": "列表",
"navigation_bar.logout": "登出",
+ "navigation_bar.moderation": "站務",
"navigation_bar.mutes": "已靜音的使用者",
"navigation_bar.opened_in_classic_interface": "預設於經典網頁介面中開啟嘟文、帳號與其他特定頁面。",
"navigation_bar.personal": "個人",
@@ -491,9 +503,13 @@
"notification.admin.report_statuses": "{name} 已檢舉 {target} 關於 {category}",
"notification.admin.report_statuses_other": "{name} 已檢舉 {target}",
"notification.admin.sign_up": "{name} 已經註冊",
+ "notification.admin.sign_up.name_and_others": "{name} 與{count, plural, other {其他 # 個人}}已註冊",
"notification.favourite": "{name} 已將您的嘟文加入最愛",
+ "notification.favourite.name_and_others_with_link": "{name} 與
{count, plural, other {其他 # 個人}}已將您的嘟文加入最愛",
"notification.follow": "{name} 已跟隨您",
+ "notification.follow.name_and_others": "{name} 與{count, plural, other {其他 # 個人}}已跟隨您",
"notification.follow_request": "{name} 要求跟隨您",
+ "notification.follow_request.name_and_others": "{name} 與{count, plural, other {其他 # 個人}}已請求跟隨您",
"notification.label.mention": "提及",
"notification.label.private_mention": "私訊",
"notification.label.private_reply": "私訊回嘟",
@@ -511,6 +527,7 @@
"notification.own_poll": "您的投票已結束",
"notification.poll": "您曾投過的投票已經結束",
"notification.reblog": "{name} 已轉嘟您的嘟文",
+ "notification.reblog.name_and_others_with_link": "{name} 與
{count, plural, other {其他 # 個人}}已轉嘟您的嘟文",
"notification.relationships_severance_event": "與 {name} 失去連結",
"notification.relationships_severance_event.account_suspension": "{from} 之管理員已將 {target} 停權,意味著您將不再收到來自他們的更新或與之互動。",
"notification.relationships_severance_event.domain_block": "{from} 之管理員已將 {target} 封鎖,包含 {followersCount} 名您的跟隨者及 {followingCount, plural, other {#}} 名您跟隨的帳號。",
@@ -519,19 +536,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": "最大化",
@@ -766,6 +781,7 @@
"status.bookmark": "書籤",
"status.cancel_reblog_private": "取消轉嘟",
"status.cannot_reblog": "這則嘟文無法被轉嘟",
+ "status.continued_thread": "接續討論串",
"status.copy": "複製嘟文連結",
"status.delete": "刪除",
"status.detailed_status": "詳細的對話內容",
@@ -778,8 +794,6 @@
"status.favourite": "最愛",
"status.favourites": "{count, plural, other {# 則最愛}}",
"status.filter": "過濾此嘟文",
- "status.filtered": "已過濾",
- "status.hide": "隱藏嘟文",
"status.history.created": "{name} 於 {date} 建立",
"status.history.edited": "{name} 於 {date} 修改",
"status.load_more": "載入更多",
@@ -801,16 +815,14 @@
"status.reblogs.empty": "還沒有人轉嘟過這則嘟文。當有人轉嘟時,它將於此顯示。",
"status.redraft": "刪除並重新編輯",
"status.remove_bookmark": "移除書籤",
+ "status.replied_in_thread": "於討論串中回覆",
"status.replied_to": "回覆 {name}",
"status.reply": "回覆",
"status.replyAll": "回覆討論串",
"status.report": "檢舉 @{name}",
"status.sensitive_warning": "敏感內容",
"status.share": "分享",
- "status.show_filter_reason": "仍要顯示",
- "status.show_less": "減少顯示",
"status.show_less_all": "隱藏所有內容警告與額外標籤",
- "status.show_more": "顯示更多",
"status.show_more_all": "顯示所有內容警告與額外標籤",
"status.show_original": "顯示原文",
"status.title.with_attachments": "{user} 嘟了 {attachmentCount, plural, other {{attachmentCount} 個附加檔案}}",
@@ -829,11 +841,6 @@
"time_remaining.minutes": "剩餘 {number, plural, one {# 分鐘} other {# 分鐘}}",
"time_remaining.moments": "剩餘時間",
"time_remaining.seconds": "剩餘 {number, plural, one {# 秒} other {# 秒}}",
- "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} 人} other {{counter} 人}}於過去 {days, plural, one {日} other {{days} 日}} 之間",
"trends.trending_now": "現正熱門趨勢",
"ui.beforeunload": "如果離開 Mastodon,您的草稿將會不見。",
diff --git a/app/javascript/mastodon/models/notification_group.ts b/app/javascript/mastodon/models/notification_group.ts
index 76034e644e9d8d..09d407d44954a3 100644
--- a/app/javascript/mastodon/models/notification_group.ts
+++ b/app/javascript/mastodon/models/notification_group.ts
@@ -21,7 +21,7 @@ interface BaseNotificationGroup
interface BaseNotificationWithStatus
extends BaseNotificationGroup {
type: Type;
- statusId: string;
+ statusId: string | undefined;
}
interface BaseNotification
@@ -126,7 +126,7 @@ export function createNotificationGroupFromJSON(
case 'update': {
const { status_id: statusId, ...groupWithoutStatus } = group;
return {
- statusId,
+ statusId: statusId ?? undefined,
sampleAccountIds,
...groupWithoutStatus,
};
@@ -183,7 +183,7 @@ export function createNotificationGroupFromNotificationJSON(
case 'mention':
case 'poll':
case 'update':
- return { ...group, statusId: notification.status.id };
+ return { ...group, statusId: notification.status?.id };
case 'admin.report':
return { ...group, report: createReportFromJSON(notification.report) };
case 'severed_relationships':
diff --git a/app/javascript/mastodon/permissions.ts b/app/javascript/mastodon/permissions.ts
index b583535c00e35f..8f015610ea08e7 100644
--- a/app/javascript/mastodon/permissions.ts
+++ b/app/javascript/mastodon/permissions.ts
@@ -1,4 +1,23 @@
export const PERMISSION_INVITE_USERS = 0x0000000000010000;
export const PERMISSION_MANAGE_USERS = 0x0000000000000400;
export const PERMISSION_MANAGE_FEDERATION = 0x0000000000000020;
+
export const PERMISSION_MANAGE_REPORTS = 0x0000000000000010;
+export const PERMISSION_VIEW_DASHBOARD = 0x0000000000000008;
+
+// These helpers don't quite align with the names/categories in UserRole,
+// but are likely "good enough" for the use cases at present.
+//
+// See: https://docs.joinmastodon.org/entities/Role/#permission-flags
+
+export function canViewAdminDashboard(permissions: number) {
+ return (
+ (permissions & PERMISSION_VIEW_DASHBOARD) === PERMISSION_VIEW_DASHBOARD
+ );
+}
+
+export function canManageReports(permissions: number) {
+ return (
+ (permissions & PERMISSION_MANAGE_REPORTS) === PERMISSION_MANAGE_REPORTS
+ );
+}
diff --git a/app/javascript/mastodon/reducers/notification_groups.ts b/app/javascript/mastodon/reducers/notification_groups.ts
index 871f50364b3b00..f3c83ccd8d6e44 100644
--- a/app/javascript/mastodon/reducers/notification_groups.ts
+++ b/app/javascript/mastodon/reducers/notification_groups.ts
@@ -19,12 +19,17 @@ import {
markNotificationsAsRead,
mountNotifications,
unmountNotifications,
+ refreshStaleNotificationGroups,
+ pollRecentNotifications,
} from 'mastodon/actions/notification_groups';
import {
disconnectTimeline,
timelineDelete,
} from 'mastodon/actions/timelines_typed';
-import type { ApiNotificationJSON } from 'mastodon/api_types/notifications';
+import type {
+ ApiNotificationJSON,
+ ApiNotificationGroupJSON,
+} from 'mastodon/api_types/notifications';
import { compareId } from 'mastodon/compare_id';
import { usePendingItems } from 'mastodon/initial_state';
import {
@@ -51,6 +56,7 @@ interface NotificationGroupsState {
readMarkerId: string;
mounted: number;
isTabVisible: boolean;
+ mergedNotifications: 'ok' | 'pending' | 'needs-reload';
}
const initialState: NotificationGroupsState = {
@@ -58,6 +64,8 @@ const initialState: NotificationGroupsState = {
pendingGroups: [], // holds pending groups in slow mode
scrolledToTop: false,
isLoading: false,
+ // this is used to track whether we need to refresh notifications after accepting requests
+ mergedNotifications: 'ok',
// The following properties are used to track unread notifications
lastReadId: '0', // used internally for unread notifications
readMarkerId: '0', // user-facing and updated when focus changes
@@ -240,8 +248,9 @@ function processNewNotification(
}
function trimNotifications(state: NotificationGroupsState) {
- if (state.scrolledToTop) {
+ if (state.scrolledToTop && state.groups.length > NOTIFICATIONS_TRIM_LIMIT) {
state.groups.splice(NOTIFICATIONS_TRIM_LIMIT);
+ ensureTrailingGap(state.groups);
}
}
@@ -292,6 +301,128 @@ function commitLastReadId(state: NotificationGroupsState) {
}
}
+function fillNotificationsGap(
+ groups: NotificationGroupsState['groups'],
+ gap: NotificationGap,
+ notifications: ApiNotificationGroupJSON[],
+): NotificationGroupsState['groups'] {
+ // find the gap in the existing notifications
+ const gapIndex = groups.findIndex(
+ (groupOrGap) =>
+ groupOrGap.type === 'gap' &&
+ groupOrGap.sinceId === gap.sinceId &&
+ groupOrGap.maxId === gap.maxId,
+ );
+
+ if (gapIndex < 0)
+ // We do not know where to insert, let's return
+ return groups;
+
+ // Filling a disconnection gap means we're getting historical data
+ // about groups we may know or may not know about.
+
+ // The notifications timeline is split in two by the gap, with
+ // group information newer than the gap, and group information older
+ // than the gap.
+
+ // Filling a gap should not touch anything before the gap, so any
+ // information on groups already appearing before the gap should be
+ // discarded, while any information on groups appearing after the gap
+ // can be updated and re-ordered.
+
+ const oldestPageNotification = notifications.at(-1)?.page_min_id;
+
+ // replace the gap with the notifications + a new gap
+
+ const newerGroupKeys = groups
+ .slice(0, gapIndex)
+ .filter(isNotificationGroup)
+ .map((group) => group.group_key);
+
+ const toInsert: NotificationGroupsState['groups'] = notifications
+ .map((json) => createNotificationGroupFromJSON(json))
+ .filter((notification) => !newerGroupKeys.includes(notification.group_key));
+
+ const apiGroupKeys = (toInsert as NotificationGroup[]).map(
+ (group) => group.group_key,
+ );
+
+ const sinceId = gap.sinceId;
+ if (
+ notifications.length > 0 &&
+ !(
+ oldestPageNotification &&
+ sinceId &&
+ compareId(oldestPageNotification, sinceId) <= 0
+ )
+ ) {
+ // If we get an empty page, it means we reached the bottom, so we do not need to insert a new gap
+ // Similarly, if we've fetched more than the gap's, this means we have completely filled it
+ toInsert.push({
+ type: 'gap',
+ maxId: notifications.at(-1)?.page_max_id,
+ sinceId,
+ } as NotificationGap);
+ }
+
+ // Remove older groups covered by the API
+ groups = groups.filter(
+ (groupOrGap) =>
+ groupOrGap.type !== 'gap' && !apiGroupKeys.includes(groupOrGap.group_key),
+ );
+
+ // Replace the gap with API results (+ the new gap if needed)
+ groups.splice(gapIndex, 1, ...toInsert);
+
+ // Finally, merge any adjacent gaps that could have been created by filtering
+ // groups earlier
+ mergeGaps(groups);
+
+ return groups;
+}
+
+// Ensure the groups list starts with a gap, mutating it to prepend one if needed
+function ensureLeadingGap(
+ groups: NotificationGroupsState['groups'],
+): NotificationGap {
+ if (groups[0]?.type === 'gap') {
+ // We're expecting new notifications, so discard the maxId if there is one
+ groups[0].maxId = undefined;
+
+ return groups[0];
+ } else {
+ const gap: NotificationGap = {
+ type: 'gap',
+ sinceId: groups[0]?.page_min_id,
+ };
+
+ groups.unshift(gap);
+ return gap;
+ }
+}
+
+// Ensure the groups list ends with a gap suitable for loading more, mutating it to append one if needed
+function ensureTrailingGap(
+ groups: NotificationGroupsState['groups'],
+): NotificationGap {
+ const groupOrGap = groups.at(-1);
+
+ if (groupOrGap?.type === 'gap') {
+ // We're expecting older notifications, so discard sinceId if it's set
+ groupOrGap.sinceId = undefined;
+
+ return groupOrGap;
+ } else {
+ const gap: NotificationGap = {
+ type: 'gap',
+ maxId: groupOrGap?.page_min_id,
+ };
+
+ groups.push(gap);
+ return gap;
+ }
+}
+
export const notificationGroupsReducer = createReducer(
initialState,
(builder) => {
@@ -301,105 +432,59 @@ export const notificationGroupsReducer = createReducer(
json.type === 'gap' ? json : createNotificationGroupFromJSON(json),
);
state.isLoading = false;
+ state.mergedNotifications = 'ok';
updateLastReadId(state);
})
.addCase(fetchNotificationsGap.fulfilled, (state, action) => {
- const { notifications } = action.payload;
-
- // find the gap in the existing notifications
- const gapIndex = state.groups.findIndex(
- (groupOrGap) =>
- groupOrGap.type === 'gap' &&
- groupOrGap.sinceId === action.meta.arg.gap.sinceId &&
- groupOrGap.maxId === action.meta.arg.gap.maxId,
+ state.groups = fillNotificationsGap(
+ state.groups,
+ action.meta.arg.gap,
+ action.payload.notifications,
);
+ state.isLoading = false;
- if (gapIndex < 0)
- // We do not know where to insert, let's return
- return;
-
- // Filling a disconnection gap means we're getting historical data
- // about groups we may know or may not know about.
-
- // The notifications timeline is split in two by the gap, with
- // group information newer than the gap, and group information older
- // than the gap.
-
- // Filling a gap should not touch anything before the gap, so any
- // information on groups already appearing before the gap should be
- // discarded, while any information on groups appearing after the gap
- // can be updated and re-ordered.
-
- const oldestPageNotification = notifications.at(-1)?.page_min_id;
-
- // replace the gap with the notifications + a new gap
-
- const newerGroupKeys = state.groups
- .slice(0, gapIndex)
- .filter(isNotificationGroup)
- .map((group) => group.group_key);
-
- const toInsert: NotificationGroupsState['groups'] = notifications
- .map((json) => createNotificationGroupFromJSON(json))
- .filter(
- (notification) => !newerGroupKeys.includes(notification.group_key),
+ updateLastReadId(state);
+ })
+ .addCase(pollRecentNotifications.fulfilled, (state, action) => {
+ if (usePendingItems) {
+ const gap = ensureLeadingGap(state.pendingGroups);
+ state.pendingGroups = fillNotificationsGap(
+ state.pendingGroups,
+ gap,
+ action.payload.notifications,
+ );
+ } else {
+ const gap = ensureLeadingGap(state.groups);
+ state.groups = fillNotificationsGap(
+ state.groups,
+ gap,
+ action.payload.notifications,
);
-
- const apiGroupKeys = (toInsert as NotificationGroup[]).map(
- (group) => group.group_key,
- );
-
- const sinceId = action.meta.arg.gap.sinceId;
- if (
- notifications.length > 0 &&
- !(
- oldestPageNotification &&
- sinceId &&
- compareId(oldestPageNotification, sinceId) <= 0
- )
- ) {
- // If we get an empty page, it means we reached the bottom, so we do not need to insert a new gap
- // Similarly, if we've fetched more than the gap's, this means we have completely filled it
- toInsert.push({
- type: 'gap',
- maxId: notifications.at(-1)?.page_max_id,
- sinceId,
- } as NotificationGap);
}
- // Remove older groups covered by the API
- state.groups = state.groups.filter(
- (groupOrGap) =>
- groupOrGap.type !== 'gap' &&
- !apiGroupKeys.includes(groupOrGap.group_key),
- );
-
- // Replace the gap with API results (+ the new gap if needed)
- state.groups.splice(gapIndex, 1, ...toInsert);
-
- // Finally, merge any adjacent gaps that could have been created by filtering
- // groups earlier
- mergeGaps(state.groups);
-
state.isLoading = false;
updateLastReadId(state);
+ trimNotifications(state);
})
.addCase(processNewNotificationForGroups.fulfilled, (state, action) => {
const notification = action.payload;
- processNewNotification(
- usePendingItems ? state.pendingGroups : state.groups,
- notification,
- );
- updateLastReadId(state);
- trimNotifications(state);
+ if (notification) {
+ processNewNotification(
+ usePendingItems ? state.pendingGroups : state.groups,
+ notification,
+ );
+ updateLastReadId(state);
+ trimNotifications(state);
+ }
})
.addCase(disconnectTimeline, (state, action) => {
if (action.payload.timeline === 'home') {
- if (state.groups.length > 0 && state.groups[0]?.type !== 'gap') {
- state.groups.unshift({
+ const groups = usePendingItems ? state.pendingGroups : state.groups;
+ if (groups.length > 0 && groups[0]?.type !== 'gap') {
+ groups.unshift({
type: 'gap',
- sinceId: state.groups[0]?.page_min_id,
+ sinceId: groups[0]?.page_min_id,
});
}
}
@@ -446,14 +531,15 @@ export const notificationGroupsReducer = createReducer(
}
}
}
- trimNotifications(state);
});
// Then build the consolidated list and clear pending groups
state.groups = state.pendingGroups.concat(state.groups);
state.pendingGroups = [];
+ mergeGaps(state.groups);
+ trimNotifications(state);
})
- .addCase(updateScrollPosition, (state, action) => {
+ .addCase(updateScrollPosition.fulfilled, (state, action) => {
state.scrolledToTop = action.payload.top;
updateLastReadId(state);
trimNotifications(state);
@@ -480,7 +566,7 @@ export const notificationGroupsReducer = createReducer(
action.payload.markers.notifications.last_read_id;
}
})
- .addCase(mountNotifications, (state) => {
+ .addCase(mountNotifications.fulfilled, (state) => {
state.mounted += 1;
commitLastReadId(state);
updateLastReadId(state);
@@ -496,6 +582,10 @@ export const notificationGroupsReducer = createReducer(
.addCase(unfocusApp, (state) => {
state.isTabVisible = false;
})
+ .addCase(refreshStaleNotificationGroups.fulfilled, (state, action) => {
+ if (action.payload.deferredRefresh)
+ state.mergedNotifications = 'needs-reload';
+ })
.addMatcher(
isAnyOf(authorizeFollowRequestSuccess, rejectFollowRequestSuccess),
(state, action) => {
@@ -507,13 +597,21 @@ export const notificationGroupsReducer = createReducer(
},
)
.addMatcher(
- isAnyOf(fetchNotifications.pending, fetchNotificationsGap.pending),
+ isAnyOf(
+ fetchNotifications.pending,
+ fetchNotificationsGap.pending,
+ pollRecentNotifications.pending,
+ ),
(state) => {
state.isLoading = true;
},
)
.addMatcher(
- isAnyOf(fetchNotifications.rejected, fetchNotificationsGap.rejected),
+ isAnyOf(
+ fetchNotifications.rejected,
+ fetchNotificationsGap.rejected,
+ pollRecentNotifications.rejected,
+ ),
(state) => {
state.isLoading = false;
},
diff --git a/app/javascript/mastodon/reducers/settings.js b/app/javascript/mastodon/reducers/settings.js
index 6f55241dc1ce29..e5ff2ff9104615 100644
--- a/app/javascript/mastodon/reducers/settings.js
+++ b/app/javascript/mastodon/reducers/settings.js
@@ -1,8 +1,8 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
import { COLUMN_ADD, COLUMN_REMOVE, COLUMN_MOVE, COLUMN_PARAMS_CHANGE } from '../actions/columns';
+import { COMPOSE_LANGUAGE_CHANGE } from '../actions/compose';
import { EMOJI_USE } from '../actions/emojis';
-import { LANGUAGE_USE } from '../actions/languages';
import { LIST_DELETE_SUCCESS, LIST_FETCH_FAIL } from '../actions/lists';
import { NOTIFICATIONS_FILTER_SET } from '../actions/notifications';
import { SETTING_CHANGE, SETTING_SAVE } from '../actions/settings';
@@ -175,7 +175,7 @@ export default function settings(state = initialState, action) {
return changeColumnParams(state, action.uuid, action.path, action.value);
case EMOJI_USE:
return updateFrequentEmojis(state, action.emoji);
- case LANGUAGE_USE:
+ case COMPOSE_LANGUAGE_CHANGE:
return updateFrequentLanguages(state, action.language);
case SETTING_SAVE:
return state.set('saved', true);
diff --git a/app/javascript/mastodon/selectors/index.js b/app/javascript/mastodon/selectors/index.js
index bd9b53919c3a90..10e1b167cacee1 100644
--- a/app/javascript/mastodon/selectors/index.js
+++ b/app/javascript/mastodon/selectors/index.js
@@ -7,14 +7,16 @@ import { me } from '../initial_state';
export { makeGetAccount } from "./accounts";
-const getFilters = (state, { contextType }) => {
- if (!contextType) return null;
+const getFilters = createSelector([state => state.get('filters'), (_, { contextType }) => contextType], (filters, contextType) => {
+ if (!contextType) {
+ return null;
+ }
- const serverSideType = toServerSideType(contextType);
const now = new Date();
+ const serverSideType = toServerSideType(contextType);
- return state.get('filters').filter((filter) => filter.get('context').includes(serverSideType) && (filter.get('expires_at') === null || filter.get('expires_at') > now));
-};
+ return filters.filter(filter => filter.get('context').includes(serverSideType) && (filter.get('expires_at') === null || filter.get('expires_at') > now));
+});
export const makeGetStatus = () => {
return createSelector(
@@ -73,10 +75,21 @@ const ALERT_DEFAULTS = {
style: false,
};
-export const getAlerts = createSelector(state => state.get('alerts'), alerts =>
+const formatIfNeeded = (intl, message, values) => {
+ if (typeof message === 'object') {
+ return intl.formatMessage(message, values);
+ }
+
+ return message;
+};
+
+export const getAlerts = createSelector([state => state.get('alerts'), (_, { intl }) => intl], (alerts, intl) =>
alerts.map(item => ({
...ALERT_DEFAULTS,
...item,
+ action: formatIfNeeded(intl, item.action, item.values),
+ title: formatIfNeeded(intl, item.title, item.values),
+ message: formatIfNeeded(intl, item.message, item.values),
})).toArray());
export const makeGetNotification = () => createSelector([
diff --git a/app/javascript/mastodon/selectors/settings.ts b/app/javascript/mastodon/selectors/settings.ts
index 93276c66920609..22e7c13b932e46 100644
--- a/app/javascript/mastodon/selectors/settings.ts
+++ b/app/javascript/mastodon/selectors/settings.ts
@@ -1,3 +1,4 @@
+import { forceGroupedNotifications } from 'mastodon/initial_state';
import type { RootState } from 'mastodon/store';
/* eslint-disable @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access */
@@ -25,6 +26,10 @@ export const selectSettingsNotificationsQuickFilterAdvanced = (
) =>
state.settings.getIn(['notifications', 'quickFilter', 'advanced']) as boolean;
+export const selectUseGroupedNotifications = (state: RootState) =>
+ forceGroupedNotifications ||
+ (state.settings.getIn(['notifications', 'groupingBeta']) as boolean);
+
export const selectSettingsNotificationsShowUnread = (state: RootState) =>
state.settings.getIn(['notifications', 'showUnread']) as boolean;
diff --git a/app/javascript/mastodon/settings.js b/app/javascript/mastodon/settings.js
index f31aee0afc0725..f4883dc406cdb5 100644
--- a/app/javascript/mastodon/settings.js
+++ b/app/javascript/mastodon/settings.js
@@ -14,7 +14,7 @@ export default class Settings {
const encodedData = JSON.stringify(data);
localStorage.setItem(key, encodedData);
return data;
- } catch (e) {
+ } catch {
return null;
}
}
@@ -24,7 +24,7 @@ export default class Settings {
try {
const rawData = localStorage.getItem(key);
return JSON.parse(rawData);
- } catch (e) {
+ } catch {
return null;
}
}
@@ -35,7 +35,8 @@ export default class Settings {
const key = this.generateKey(id);
try {
localStorage.removeItem(key);
- } catch (e) {
+ } catch {
+ // ignore if the key is not found
}
}
return data;
diff --git a/app/javascript/mastodon/store/middlewares/errors.ts b/app/javascript/mastodon/store/middlewares/errors.ts
index e77cec34ed9fb6..3ad3844d5b7c2f 100644
--- a/app/javascript/mastodon/store/middlewares/errors.ts
+++ b/app/javascript/mastodon/store/middlewares/errors.ts
@@ -30,7 +30,7 @@ function isActionWithmaybeAlertParams(
return isAction(action);
}
-// eslint-disable-next-line @typescript-eslint/ban-types -- we need to use `{}` here to ensure the dispatch types can be merged
+// eslint-disable-next-line @typescript-eslint/no-empty-object-type -- we need to use `{}` here to ensure the dispatch types can be merged
export const errorsMiddleware: Middleware<{}, RootState> =
({ dispatch }) =>
(next) =>
diff --git a/app/javascript/mastodon/store/middlewares/loading_bar.ts b/app/javascript/mastodon/store/middlewares/loading_bar.ts
index d259be899b1a5f..33d99f985261cf 100644
--- a/app/javascript/mastodon/store/middlewares/loading_bar.ts
+++ b/app/javascript/mastodon/store/middlewares/loading_bar.ts
@@ -48,8 +48,9 @@ export const loadingBarMiddleware = (
let isRejected = false;
if (
- isAsyncThunkAction(action)
- // TODO: once we get the first use-case for it, add a check for skipLoading
+ isAsyncThunkAction(action) &&
+ 'useLoadingBar' in action.meta &&
+ action.meta.useLoadingBar
) {
if (isThunkActionPending(action)) isPending = true;
else if (isThunkActionFulfilled(action)) isFulfilled = true;
diff --git a/app/javascript/mastodon/store/middlewares/sounds.ts b/app/javascript/mastodon/store/middlewares/sounds.ts
index 91407b1ec0a1dd..bb3a4aa4740d4f 100644
--- a/app/javascript/mastodon/store/middlewares/sounds.ts
+++ b/app/javascript/mastodon/store/middlewares/sounds.ts
@@ -51,7 +51,7 @@ const play = (audio: HTMLAudioElement) => {
};
export const soundsMiddleware = (): Middleware<
- // eslint-disable-next-line @typescript-eslint/ban-types -- we need to use `{}` here to ensure the dispatch types can be merged
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- we need to use `{}` here to ensure the dispatch types can be merged
{},
RootState
> => {
diff --git a/app/javascript/mastodon/store/typed_functions.ts b/app/javascript/mastodon/store/typed_functions.ts
index cd0f95cef9a9c0..544d619682949a 100644
--- a/app/javascript/mastodon/store/typed_functions.ts
+++ b/app/javascript/mastodon/store/typed_functions.ts
@@ -15,7 +15,7 @@ export interface AsyncThunkRejectValue {
}
interface AppMeta {
- skipLoading?: boolean;
+ useLoadingBar?: boolean;
}
export const createAppAsyncThunk = createAsyncThunk.withTypes<{
@@ -34,7 +34,7 @@ interface AppThunkConfig {
type AppThunkApi = Pick, 'getState' | 'dispatch'>;
interface AppThunkOptions {
- skipLoading?: boolean;
+ useLoadingBar?: boolean;
}
const createBaseAsyncThunk = createAsyncThunk.withTypes();
@@ -54,15 +54,20 @@ export function createThunk(
const result = await creator(arg, { dispatch, getState });
return fulfillWithValue(result, {
- skipLoading: options.skipLoading,
+ useLoadingBar: options.useLoadingBar,
});
} catch (error) {
- return rejectWithValue({ error }, { skipLoading: true });
+ return rejectWithValue(
+ { error },
+ {
+ useLoadingBar: options.useLoadingBar,
+ },
+ );
}
},
{
getPendingMeta() {
- if (options.skipLoading) return { skipLoading: true };
+ if (options.useLoadingBar) return { useLoadingBar: true };
return {};
},
},
@@ -148,7 +153,7 @@ export function createDataLoadingThunk<
* You can also omit this parameter and pass `thunkOptions` directly
* @param maybeThunkOptions
* Additional Mastodon specific options for the thunk. Currently supports:
- * - `skipLoading` to avoid showing the loading bar when the request is in progress
+ * - `useLoadingBar` to display a loading bar while this action is pending. Defaults to true.
* @returns The created thunk
*/
export function createDataLoadingThunk<
@@ -198,6 +203,6 @@ export function createDataLoadingThunk<
return undefined as Returned;
else return result;
},
- thunkOptions,
+ { useLoadingBar: thunkOptions?.useLoadingBar ?? true },
);
}
diff --git a/app/javascript/mastodon/utils/log_out.ts b/app/javascript/mastodon/utils/log_out.ts
index b08a61a6a28162..f8e98f1be968c5 100644
--- a/app/javascript/mastodon/utils/log_out.ts
+++ b/app/javascript/mastodon/utils/log_out.ts
@@ -1,36 +1,20 @@
-export const logOut = () => {
- const form = document.createElement('form');
+import api from 'mastodon/api';
- const methodInput = document.createElement('input');
- methodInput.setAttribute('name', '_method');
- methodInput.setAttribute('value', 'delete');
- methodInput.setAttribute('type', 'hidden');
- form.appendChild(methodInput);
+export async function logOut() {
+ try {
+ const response = await api(false).delete<{ redirect_to?: string }>(
+ '/auth/sign_out',
+ { headers: { Accept: 'application/json' }, withCredentials: true },
+ );
- const csrfToken = document.querySelector(
- 'meta[name=csrf-token]',
- );
-
- const csrfParam = document.querySelector(
- 'meta[name=csrf-param]',
- );
-
- if (csrfParam && csrfToken) {
- const csrfInput = document.createElement('input');
- csrfInput.setAttribute('name', csrfParam.content);
- csrfInput.setAttribute('value', csrfToken.content);
- csrfInput.setAttribute('type', 'hidden');
- form.appendChild(csrfInput);
+ if (response.status === 200 && response.data.redirect_to)
+ window.location.href = response.data.redirect_to;
+ else
+ console.error(
+ 'Failed to log out, got an unexpected non-redirect response from the server',
+ response,
+ );
+ } catch (error) {
+ console.error('Failed to log out, response was an error', error);
}
-
- const submitButton = document.createElement('input');
- submitButton.setAttribute('type', 'submit');
- form.appendChild(submitButton);
-
- form.method = 'post';
- form.action = '/auth/sign_out';
- form.style.display = 'none';
-
- document.body.appendChild(form);
- submitButton.click();
-};
+}
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 00000000000000..7369e6f847a268
--- /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 00000000000000..5d2a07a3698c48
--- /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/feedback-fill.svg b/app/javascript/material-icons/400-24px/feedback-fill.svg
new file mode 100644
index 00000000000000..7edf5667b0af05
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/feedback-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/feedback.svg b/app/javascript/material-icons/400-24px/feedback.svg
new file mode 100644
index 00000000000000..b001b512c5351b
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/feedback.svg
@@ -0,0 +1 @@
+
\ 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 00000000000000..657b483c00cd01
--- /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/key.svg b/app/javascript/material-icons/400-24px/key.svg
new file mode 100644
index 00000000000000..bba7f1de9d5ce7
--- /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/smartphone.svg b/app/javascript/material-icons/400-24px/smartphone.svg
new file mode 100644
index 00000000000000..fa56825488f3c9
--- /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 00000000000000..09a5fe6bb1a91a
--- /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/material-icons/400-24px/toggle_off.svg b/app/javascript/material-icons/400-24px/toggle_off.svg
new file mode 100644
index 00000000000000..dcef49f69c15ef
--- /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 00000000000000..943b6e6d332b9f
--- /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/javascript/styles/application.scss b/app/javascript/styles/application.scss
index 0dd573da9ba736..465b748078f2e6 100644
--- a/app/javascript/styles/application.scss
+++ b/app/javascript/styles/application.scss
@@ -11,7 +11,6 @@
@import 'mastodon/widgets';
@import 'mastodon/forms';
@import 'mastodon/accounts';
-@import 'mastodon/statuses';
@import 'mastodon/components';
@import 'mastodon/polls';
@import 'mastodon/modal';
diff --git a/app/javascript/styles/contrast/variables.scss b/app/javascript/styles/contrast/variables.scss
index e38d24b271cf8e..766591ba408383 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/diff.scss b/app/javascript/styles/mastodon-light/diff.scss
index 55eb88dae1e851..45da56994c0c6e 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;
}
@@ -151,28 +147,6 @@ html {
border-top-color: lighten($ui-base-color, 4%);
}
-// Change the background colors of modals
-.actions-modal,
-.boost-modal,
-.confirmation-modal,
-.mute-modal,
-.block-modal,
-.report-modal,
-.report-dialog-modal,
-.embed-modal,
-.error-modal,
-.onboarding-modal,
-.compare-history-modal,
-.report-modal__comment .setting-text__wrapper,
-.report-modal__comment .setting-text,
-.announcements,
-.picture-in-picture__header,
-.picture-in-picture__footer,
-.reactions-bar__item {
- background: $white;
- border: 1px solid var(--background-border-color);
-}
-
.reactions-bar__item:hover,
.reactions-bar__item:focus,
.reactions-bar__item:active {
@@ -202,14 +176,6 @@ html {
color: $white;
}
-.report-modal__comment {
- border-right-color: lighten($ui-base-color, 8%);
-}
-
-.report-modal__container {
- border-top-color: lighten($ui-base-color, 8%);
-}
-
.column-settings__hashtags .column-select__option {
color: $white;
}
@@ -418,9 +384,6 @@ html {
border-color: transparent transparent $white;
}
-.hero-widget,
-.moved-account-widget,
-.memoriam-widget,
.activity-stream,
.nothing-here,
.directory__tag > a,
@@ -561,3 +524,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-light/variables.scss b/app/javascript/styles/mastodon-light/variables.scss
index 9d4fd60945a7d5..76ede2623319f8 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,12 +57,13 @@ $account-background-color: $white !default;
$emojis-requiring-inversion: 'chains';
body {
- --dropdown-border-color: #d9e1e8;
+ --dropdown-border-color: hsl(240deg, 25%, 88%);
--dropdown-background-color: #fff;
- --modal-border-color: #d9e1e8;
+ --modal-border-color: hsl(240deg, 25%, 88%);
--modal-background-color: var(--background-color-tint);
- --background-border-color: #d9e1e8;
+ --background-border-color: hsl(240deg, 25%, 88%);
--background-color: #fff;
--background-color-tint: rgba(255, 255, 255, 80%);
--background-filter: blur(10px);
+ --on-surface-color: #{transparentize($ui-base-color, 0.65)};
}
diff --git a/app/javascript/styles/mastodon/accounts.scss b/app/javascript/styles/mastodon/accounts.scss
index 894332acb5868d..c769c88f75ae5a 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;
}
@@ -130,21 +130,11 @@
.older {
float: left;
padding-inline-start: 0;
-
- .fa {
- display: inline-block;
- margin-inline-end: 5px;
- }
}
.newer {
float: right;
padding-inline-end: 0;
-
- .fa {
- display: inline-block;
- margin-inline-start: 5px;
- }
}
.disabled {
diff --git a/app/javascript/styles/mastodon/admin.scss b/app/javascript/styles/mastodon/admin.scss
index 61e949b27b744b..120bad27ed9324 100644
--- a/app/javascript/styles/mastodon/admin.scss
+++ b/app/javascript/styles/mastodon/admin.scss
@@ -122,10 +122,6 @@ $content-width: 840px;
overflow: hidden;
text-overflow: ellipsis;
- i.fa {
- margin-inline-end: 5px;
- }
-
&:hover {
color: $primary-text-color;
transition: all 100ms linear;
@@ -248,6 +244,11 @@ $content-width: 840px;
display: inline-flex;
flex-flow: wrap;
gap: 5px;
+ align-items: center;
+
+ .time-period {
+ padding: 0 10px;
+ }
}
h2 small {
@@ -306,10 +307,6 @@ $content-width: 840px;
box-shadow: none;
}
- .directory__tag .table-action-link .fa {
- color: inherit;
- }
-
.directory__tag h4 {
font-size: 18px;
font-weight: 700;
@@ -697,7 +694,7 @@ body,
top: 15px;
.avatar {
- border-radius: 4px;
+ border-radius: var(--avatar-border-radius);
width: 40px;
height: 40px;
}
@@ -748,7 +745,7 @@ body,
top: 15px;
.avatar {
- border-radius: 4px;
+ border-radius: var(--avatar-border-radius);
width: 40px;
height: 40px;
}
@@ -872,6 +869,7 @@ a.name-tag,
.account {
padding: 0;
+ border: none;
&__avatar-wrapper {
margin-inline-start: 0;
@@ -1595,7 +1593,7 @@ a.sparkline {
position: absolute;
inset-inline-start: 15px;
top: 15px;
- border-radius: 4px;
+ border-radius: var(--avatar-border-radius);
width: 40px;
height: 40px;
}
diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss
index 90881b0f19a36f..a53eef52c4e347 100644
--- a/app/javascript/styles/mastodon/components.scss
+++ b/app/javascript/styles/mastodon/components.scss
@@ -620,7 +620,7 @@ body > [data-popper-placement] {
.spoiler-input__input {
padding: 12px 12px - 5px;
- background: mix($ui-base-color, $ui-highlight-color, 85%);
+ background: rgba($ui-highlight-color, 0.05);
color: $highlight-text-color;
}
@@ -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;
@@ -1393,6 +1383,14 @@ body > [data-popper-placement] {
}
}
+ .content-warning {
+ margin-bottom: 10px;
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+ }
+
.media-gallery,
.video-player,
.audio-player,
@@ -1451,7 +1449,9 @@ body > [data-popper-placement] {
.picture-in-picture-placeholder,
.more-from-author,
.status-card,
- .hashtag-bar {
+ .hashtag-bar,
+ .content-warning,
+ .filter-warning {
margin-inline-start: $thread-margin;
width: calc(100% - $thread-margin);
}
@@ -1607,15 +1607,29 @@ body > [data-popper-placement] {
.status__prepend {
padding: 16px;
padding-bottom: 0;
- display: inline-flex;
- gap: 10px;
+ display: flex;
+ align-items: center;
+ gap: 8px;
font-size: 15px;
line-height: 22px;
font-weight: 500;
color: $dark-text-color;
- .status__display-name strong {
- color: $dark-text-color;
+ &__icon {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex: 0 0 auto;
+
+ .icon {
+ width: 16px;
+ height: 16px;
+ }
+ }
+
+ a {
+ color: inherit;
+ text-decoration: none;
}
> span {
@@ -1626,7 +1640,8 @@ body > [data-popper-placement] {
}
.status__wrapper-direct,
-.notification-ungrouped--direct {
+.notification-ungrouped--direct,
+.notification-group--direct {
background: rgba($ui-highlight-color, 0.05);
&:focus {
@@ -1662,18 +1677,6 @@ body > [data-popper-placement] {
padding: 16px;
border-top: 1px solid var(--background-border-color);
- &--flex {
- display: flex;
- flex-wrap: wrap;
- justify-content: space-between;
- align-items: flex-start;
-
- .status__content,
- .detailed-status__meta {
- flex: 100%;
- }
- }
-
.status__content {
font-size: 19px;
line-height: 24px;
@@ -1700,6 +1703,37 @@ body > [data-popper-placement] {
padding: 0;
margin-bottom: 16px;
}
+
+ .content-warning {
+ margin-bottom: 16px;
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+ }
+
+ .logo {
+ width: 40px;
+ height: 40px;
+ color: $dark-text-color;
+ }
+}
+
+.embed {
+ position: relative;
+
+ &__overlay {
+ display: block;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ }
+
+ .detailed-status {
+ border-top: 0;
+ }
}
.scrollable > div:first-child .detailed-status {
@@ -1808,6 +1842,7 @@ body > [data-popper-placement] {
.account {
padding: 16px;
+ border-bottom: 1px solid var(--background-border-color);
.account__display-name {
flex: 1 1 auto;
@@ -1996,13 +2031,14 @@ body > [data-popper-placement] {
.account__avatar {
display: block;
position: relative;
+ border-radius: var(--avatar-border-radius);
img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
- border-radius: 4px;
+ border-radius: var(--avatar-border-radius);
}
&-inline {
@@ -2778,7 +2814,7 @@ $ui-header-logo-wordmark-width: 99px;
}
.column {
- width: 350px;
+ width: 400px;
position: relative;
box-sizing: border-box;
display: flex;
@@ -2811,7 +2847,7 @@ $ui-header-logo-wordmark-width: 99px;
}
.drawer {
- width: 300px;
+ width: 350px;
box-sizing: border-box;
display: flex;
flex-direction: column;
@@ -2836,7 +2872,7 @@ $ui-header-logo-wordmark-width: 99px;
overflow: hidden;
}
-@media screen and (width >= 631px) {
+@media screen and (width > $mobile-breakpoint) {
.columns-area {
padding: 0;
}
@@ -2899,10 +2935,6 @@ $ui-header-logo-wordmark-width: 99px;
padding-inline-end: 30px;
}
- .search__icon .fa {
- top: 15px;
- }
-
.scrollable {
overflow: visible;
@@ -3434,26 +3466,6 @@ $ui-header-logo-wordmark-width: 99px;
height: calc(100% - 10px);
overflow-y: hidden;
- .hero-widget {
- box-shadow: none;
-
- &__text,
- &__img,
- &__img img {
- border-radius: 0;
- }
-
- &__text {
- padding: 15px;
- color: $secondary-text-color;
-
- strong {
- font-weight: 700;
- color: $primary-text-color;
- }
- }
- }
-
.compose-form {
flex: 1 1 auto;
min-height: 0;
@@ -3910,7 +3922,7 @@ $ui-header-logo-wordmark-width: 99px;
&__wrapper {
background: $white;
- border: 1px solid $ui-secondary-color;
+ border: 1px solid var(--background-border-color);
margin-bottom: 10px;
border-radius: 4px;
@@ -4215,7 +4227,7 @@ a.status-card {
text-decoration: none;
&:hover {
- background: lighten($ui-base-color, 2%);
+ background: var(--on-surface-color);
}
}
@@ -4225,11 +4237,12 @@ a.status-card {
.timeline-hint {
text-align: center;
- color: $darker-text-color;
- padding: 15px;
+ color: $dark-text-color;
+ padding: 16px;
box-sizing: border-box;
width: 100%;
- cursor: default;
+ font-size: 14px;
+ line-height: 21px;
strong {
font-weight: 500;
@@ -4246,6 +4259,10 @@ a.status-card {
color: lighten($highlight-text-color, 4%);
}
}
+
+ &--with-descendants {
+ border-top: 1px solid var(--background-border-color);
+ }
}
.regeneration-indicator {
@@ -4340,19 +4357,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%);
}
}
}
@@ -4498,10 +4514,19 @@ a.status-card {
opacity: 1;
z-index: 1;
position: relative;
+ border-left: 1px solid var(--background-border-color);
+ border-right: 1px solid var(--background-border-color);
+ border-bottom: 1px solid var(--background-border-color);
+
+ @media screen and (max-width: $no-gap-breakpoint) {
+ border-left: 0;
+ border-right: 0;
+ }
&.collapsed {
max-height: 0;
opacity: 0.5;
+ border-bottom: 0;
}
&.animating {
@@ -4518,13 +4543,7 @@ a.status-card {
}
.column-header__collapsible-inner {
- border: 1px solid var(--background-border-color);
border-top: 0;
-
- @media screen and (max-width: $no-gap-breakpoint) {
- border-left: 0;
- border-right: 0;
- }
}
.column-header__setting-btn {
@@ -4557,6 +4576,7 @@ a.status-card {
padding: 0;
font-family: inherit;
font-size: inherit;
+ font-weight: inherit;
color: inherit;
border: 0;
background: transparent;
@@ -4709,22 +4729,14 @@ a.status-card {
position: absolute;
z-index: 100;
- &--minified {
- display: block;
- inset-inline-start: 4px;
- top: 4px;
- width: auto;
- height: auto;
+ &--hidden {
+ display: none;
}
&--click-thru {
pointer-events: none;
}
- &--hidden {
- display: none;
- }
-
&__overlay {
display: flex;
align-items: center;
@@ -4736,19 +4748,20 @@ a.status-card {
margin: 0;
border: 0;
color: $white;
+ line-height: 20px;
+ font-size: 14px;
&__label {
background-color: rgba($black, 0.45);
backdrop-filter: blur(10px) saturate(180%) contrast(75%) brightness(70%);
- border-radius: 6px;
- padding: 10px 15px;
+ border-radius: 8px;
+ padding: 12px 16px;
display: flex;
align-items: center;
justify-content: center;
- gap: 8px;
+ gap: 4px;
flex-direction: column;
- font-weight: 500;
- font-size: 14px;
+ font-weight: 600;
}
&__action {
@@ -5731,7 +5744,7 @@ a.status-card {
user-select: text;
display: flex;
- @media screen and (width <= 630px) {
+ @media screen and (width <= $mobile-breakpoint) {
margin-top: auto;
}
}
@@ -6090,7 +6103,7 @@ a.status-card {
border-radius: 0 0 16px 16px;
border-top: 0;
- @media screen and (max-width: $no-gap-breakpoint) {
+ @media screen and (max-width: $mobile-breakpoint) {
border-radius: 0;
border-bottom: 0;
padding-bottom: 32px;
@@ -6148,6 +6161,48 @@ a.status-card {
}
}
+ &__status {
+ border: 1px solid var(--modal-border-color);
+ border-radius: 8px;
+ padding: 8px;
+ cursor: pointer;
+
+ &__account {
+ display: flex;
+ align-items: center;
+ gap: 4px;
+ margin-bottom: 8px;
+ color: $dark-text-color;
+
+ bdi {
+ color: inherit;
+ }
+ }
+
+ &__content {
+ display: -webkit-box;
+ font-size: 15px;
+ line-height: 22px;
+ color: $dark-text-color;
+ -webkit-line-clamp: 4;
+ -webkit-box-orient: vertical;
+ max-height: 4 * 22px;
+ overflow: hidden;
+
+ p,
+ a {
+ color: inherit;
+ }
+ }
+
+ .reply-indicator__attachments {
+ margin-top: 0;
+ font-size: 15px;
+ line-height: 22px;
+ color: $dark-text-color;
+ }
+ }
+
&__bullet-points {
display: flex;
flex-direction: column;
@@ -6225,6 +6280,12 @@ a.status-card {
gap: 8px;
justify-content: flex-end;
+ &__hint {
+ font-size: 14px;
+ line-height: 20px;
+ color: $dark-text-color;
+ }
+
.link-button {
padding: 10px 12px;
font-weight: 600;
@@ -6232,22 +6293,84 @@ a.status-card {
}
}
+.dialog-modal {
+ width: 588px;
+ max-height: 80vh;
+ flex-direction: column;
+ background: var(--modal-background-color);
+ backdrop-filter: var(--background-filter);
+ border: 1px solid var(--modal-border-color);
+ border-radius: 16px;
+
+ &__header {
+ border-bottom: 1px solid var(--modal-border-color);
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ flex-direction: row-reverse;
+ padding: 12px 24px;
+
+ &__title {
+ font-size: 16px;
+ line-height: 24px;
+ font-weight: 500;
+ letter-spacing: 0.15px;
+ }
+ }
+
+ &__content {
+ font-size: 14px;
+ line-height: 20px;
+ letter-spacing: 0.25px;
+ overflow-y: auto;
+
+ &__form {
+ display: flex;
+ flex-direction: column;
+ gap: 16px;
+ padding: 24px;
+ }
+ }
+
+ .copy-paste-text {
+ margin-bottom: 0;
+ }
+}
+
+.hotkey-combination {
+ display: inline-flex;
+ align-items: center;
+ gap: 4px;
+
+ kbd {
+ padding: 3px 5px;
+ border: 1px solid var(--background-border-color);
+ border-radius: 4px;
+ }
+}
+
.boost-modal,
.report-modal,
.actions-modal,
.compare-history-modal {
- background: lighten($ui-secondary-color, 8%);
- color: $inverted-text-color;
- border-radius: 8px;
+ background: var(--background-color);
+ color: $primary-text-color;
+ border-radius: 4px;
+ border: 1px solid var(--background-border-color);
overflow: hidden;
max-width: 90vw;
width: 480px;
position: relative;
flex-direction: column;
+
+ @media screen and (max-width: $no-columns-breakpoint) {
+ border-bottom: 0;
+ border-radius: 4px 4px 0 0;
+ }
}
.boost-modal__container {
- overflow-x: scroll;
+ overflow-y: auto;
padding: 10px;
.status {
@@ -6282,6 +6405,7 @@ a.status-card {
.report-modal {
width: 90vw;
max-width: 700px;
+ border: 1px solid var(--background-border-color);
}
.report-dialog-modal {
@@ -6382,7 +6506,7 @@ a.status-card {
}
.dialog-option .poll__input {
- border-color: $inverted-text-color;
+ border-color: $darker-text-color;
color: $ui-secondary-color;
display: inline-flex;
align-items: center;
@@ -6396,13 +6520,13 @@ a.status-card {
&:active,
&:focus,
&:hover {
- border-color: lighten($inverted-text-color, 15%);
+ border-color: $valid-value-color;
border-width: 4px;
}
&.active {
- border-color: $inverted-text-color;
- background: $inverted-text-color;
+ border-color: $valid-value-color;
+ background: $valid-value-color;
}
}
@@ -6505,7 +6629,7 @@ a.status-card {
.report-modal__container {
display: flex;
- border-top: 1px solid $ui-secondary-color;
+ border-top: 1px solid var(--background-border-color);
@media screen and (width <= 480px) {
flex-wrap: wrap;
@@ -6563,7 +6687,7 @@ a.status-card {
.report-modal__comment {
padding: 20px;
- border-inline-end: 1px solid $ui-secondary-color;
+ border-inline-end: 1px solid var(--background-border-color);
max-width: 320px;
p {
@@ -6574,7 +6698,7 @@ a.status-card {
.setting-text-label {
display: block;
- color: $inverted-text-color;
+ color: $secondary-text-color;
font-size: 14px;
font-weight: 500;
margin-bottom: 10px;
@@ -6640,7 +6764,7 @@ a.status-card {
li:not(:empty) {
a {
- color: $inverted-text-color;
+ color: $primary-text-color;
display: flex;
padding: 12px 16px;
font-size: 15px;
@@ -6720,7 +6844,7 @@ a.status-card {
.compare-history-modal {
.report-modal__target {
- border-bottom: 1px solid $ui-secondary-color;
+ border-bottom: 1px solid var(--background-border-color);
}
&__container {
@@ -6730,7 +6854,7 @@ a.status-card {
}
.status__content {
- color: $inverted-text-color;
+ color: $secondary-text-color;
font-size: 19px;
line-height: 24px;
@@ -6769,10 +6893,32 @@ a.status-card {
z-index: 9999;
}
-.media-gallery__item__badges {
+.media-gallery__actions {
position: absolute;
bottom: 6px;
- inset-inline-start: 6px;
+ inset-inline-end: 6px;
+ display: flex;
+ gap: 2px;
+ z-index: 2;
+
+ &__pill {
+ display: block;
+ color: $white;
+ border: 0;
+ background: rgba($black, 0.65);
+ backdrop-filter: blur(10px) saturate(180%) contrast(75%) brightness(70%);
+ padding: 3px 12px;
+ border-radius: 99px;
+ font-size: 14px;
+ font-weight: 700;
+ line-height: 20px;
+ }
+}
+
+.media-gallery__item__badges {
+ position: absolute;
+ bottom: 8px;
+ inset-inline-start: 8px;
display: flex;
gap: 2px;
}
@@ -6785,18 +6931,13 @@ a.status-card {
color: $white;
background: rgba($black, 0.65);
backdrop-filter: blur(10px) saturate(180%) contrast(75%) brightness(70%);
- padding: 2px 6px;
+ padding: 3px 8px;
border-radius: 4px;
- font-size: 11px;
+ font-size: 12px;
font-weight: 700;
z-index: 1;
pointer-events: none;
- line-height: 18px;
-
- .icon {
- width: 15px;
- height: 15px;
- }
+ line-height: 20px;
}
.attachment-list {
@@ -6872,6 +7013,64 @@ a.status-card {
grid-template-columns: 50% 50%;
grid-template-rows: 50% 50%;
gap: 2px;
+
+ &--layout-2 {
+ .media-gallery__item:nth-child(1) {
+ border-end-end-radius: 0;
+ border-start-end-radius: 0;
+ }
+
+ .media-gallery__item:nth-child(2) {
+ border-start-start-radius: 0;
+ border-end-start-radius: 0;
+ }
+ }
+
+ &--layout-3 {
+ .media-gallery__item:nth-child(1) {
+ border-end-end-radius: 0;
+ border-start-end-radius: 0;
+ }
+
+ .media-gallery__item:nth-child(2) {
+ border-start-start-radius: 0;
+ border-end-start-radius: 0;
+ border-end-end-radius: 0;
+ }
+
+ .media-gallery__item:nth-child(3) {
+ border-start-start-radius: 0;
+ border-end-start-radius: 0;
+ border-start-end-radius: 0;
+ }
+ }
+
+ &--layout-4 {
+ .media-gallery__item:nth-child(1) {
+ border-end-end-radius: 0;
+ border-start-end-radius: 0;
+ border-end-start-radius: 0;
+ }
+
+ .media-gallery__item:nth-child(2) {
+ border-start-start-radius: 0;
+ border-end-start-radius: 0;
+ border-end-end-radius: 0;
+ }
+
+ .media-gallery__item:nth-child(3) {
+ border-start-start-radius: 0;
+ border-start-end-radius: 0;
+ border-end-start-radius: 0;
+ border-end-end-radius: 0;
+ }
+
+ .media-gallery__item:nth-child(4) {
+ border-start-start-radius: 0;
+ border-end-start-radius: 0;
+ border-start-end-radius: 0;
+ }
+ }
}
.media-gallery__item {
@@ -7363,9 +7562,18 @@ a.status-card {
}
.scrollable .account-card__title__avatar {
- img,
+ img {
+ border: 2px solid var(--background-color);
+ }
+
.account__avatar {
- border-color: lighten($ui-base-color, 8%);
+ border: none;
+ }
+}
+
+.scrollable .account-card__header {
+ img {
+ border-radius: 4px;
}
}
@@ -7516,7 +7724,7 @@ a.status-card {
}
}
-.radio-button.checked::before {
+.radio-button__input.checked::before {
position: absolute;
left: 2px;
top: 2px;
@@ -7542,10 +7750,6 @@ a.status-card {
}
}
-::-webkit-scrollbar-thumb {
- border-radius: 0;
-}
-
noscript {
text-align: center;
@@ -7586,69 +7790,6 @@ noscript {
}
}
-.embed-modal {
- width: auto;
- max-width: 80vw;
- max-height: 80vh;
-
- h4 {
- padding: 30px;
- font-weight: 500;
- font-size: 16px;
- text-align: center;
- }
-
- .embed-modal__container {
- padding: 10px;
-
- .hint {
- margin-bottom: 15px;
- }
-
- .embed-modal__html {
- outline: 0;
- box-sizing: border-box;
- display: block;
- width: 100%;
- border: 0;
- padding: 10px;
- font-family: $font-monospace, monospace;
- background: $ui-base-color;
- color: $primary-text-color;
- font-size: 14px;
- margin: 0;
- margin-bottom: 15px;
- border-radius: 4px;
-
- &::-moz-focus-inner {
- border: 0;
- }
-
- &::-moz-focus-inner,
- &:focus,
- &:active {
- outline: 0 !important;
- }
-
- &:focus {
- background: lighten($ui-base-color, 4%);
- }
-
- @media screen and (width <= 600px) {
- font-size: 16px;
- }
- }
-
- .embed-modal__iframe {
- width: 400px;
- max-width: 100%;
- overflow: hidden;
- border: 0;
- border-radius: 4px;
- }
- }
-}
-
.moved-account-banner,
.follow-request-banner,
.account-memorial-banner {
@@ -7971,7 +8112,7 @@ noscript {
.account__avatar {
background: var(--background-color);
border: 1px solid var(--background-border-color);
- border-radius: 4px;
+ border-radius: var(--avatar-border-radius);
}
}
}
@@ -8462,22 +8603,6 @@ noscript {
word-break: break-word;
}
}
-
- &--unread {
- background: lighten($ui-base-color, 2%);
-
- &:focus {
- background: lighten($ui-base-color, 4%);
- }
-
- .conversation__content__info {
- font-weight: 700;
- }
-
- .conversation__content__relative-time {
- color: $primary-text-color;
- }
- }
}
.announcements {
@@ -8672,7 +8797,8 @@ noscript {
}
.notification,
-.status__wrapper {
+.status__wrapper,
+.conversation {
position: relative;
&.unread {
@@ -9092,8 +9218,9 @@ noscript {
backdrop-filter: var(--background-filter);
border: 1px solid var(--modal-border-color);
padding: 24px;
+ box-sizing: border-box;
- @media screen and (max-width: $no-gap-breakpoint) {
+ @media screen and (max-width: $mobile-breakpoint) {
border-radius: 16px 16px 0 0;
border-bottom: 0;
padding-bottom: 32px;
@@ -10347,7 +10474,7 @@ noscript {
cursor: pointer;
&:hover {
- background: lighten($ui-base-color, 1%);
+ background: var(--on-surface-color);
}
.notification-request__checkbox {
@@ -10467,6 +10594,13 @@ noscript {
gap: 8px;
flex: 1 1 auto;
overflow: hidden;
+ container-type: inline-size;
+
+ @container (width < 350px) {
+ &__header time {
+ display: none;
+ }
+ }
&__header {
display: flex;
@@ -10506,6 +10640,13 @@ noscript {
border-radius: 8px;
padding: 8px;
}
+
+ &__additional-content {
+ color: $dark-text-color;
+ margin-top: -8px; // to offset the parent's `gap` property
+ font-size: 15px;
+ line-height: 22px;
+ }
}
&__avatar-group {
@@ -10522,39 +10663,67 @@ noscript {
}
&__embedded-status {
+ display: flex;
+ flex-direction: column;
+ gap: 8px;
cursor: pointer;
&__account {
display: flex;
align-items: center;
gap: 4px;
- margin-bottom: 8px;
color: $dark-text-color;
+ font-size: 15px;
+ line-height: 22px;
bdi {
- color: inherit;
+ color: $darker-text-color;
}
}
- .account__avatar {
- opacity: 0.5;
- }
-
&__content {
display: -webkit-box;
font-size: 15px;
line-height: 22px;
- color: $dark-text-color;
+ color: $darker-text-color;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
max-height: 4 * 22px;
overflow: hidden;
+ p {
+ display: none;
+
+ &:first-child {
+ display: initial;
+ }
+ }
+
p,
a {
color: inherit;
}
}
+
+ .reply-indicator__attachments {
+ margin-top: 0;
+ font-size: 15px;
+ line-height: 22px;
+ color: $dark-text-color;
+ }
+ }
+}
+
+.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;
}
}
@@ -10616,7 +10785,9 @@ noscript {
.picture-in-picture-placeholder,
.more-from-author,
.status-card,
- .hashtag-bar {
+ .hashtag-bar,
+ .content-warning,
+ .filter-warning {
margin-inline-start: $icon-margin;
width: calc(100% - $icon-margin);
}
@@ -10824,3 +10995,54 @@ noscript {
}
}
}
+
+.content-warning {
+ box-sizing: border-box;
+ background: rgba($ui-highlight-color, 0.05);
+ color: $secondary-text-color;
+ border-top: 1px solid;
+ border-bottom: 1px solid;
+ border-color: rgba($ui-highlight-color, 0.15);
+ padding: 8px (5px + 8px);
+ position: relative;
+ font-size: 15px;
+ line-height: 22px;
+
+ p {
+ margin-bottom: 8px;
+ }
+
+ .link-button {
+ font-size: inherit;
+ line-height: inherit;
+ font-weight: 500;
+ }
+
+ &::before,
+ &::after {
+ content: '';
+ display: block;
+ position: absolute;
+ height: 100%;
+ background: url('../images/warning-stripes.svg') repeat-y;
+ width: 5px;
+ top: 0;
+ }
+
+ &::before {
+ border-start-start-radius: 4px;
+ border-end-start-radius: 4px;
+ inset-inline-start: 0;
+ }
+
+ &::after {
+ border-start-end-radius: 4px;
+ border-end-end-radius: 4px;
+ inset-inline-end: 0;
+ }
+
+ &--filter::before,
+ &--filter::after {
+ background-image: url('../images/filter-stripes.svg');
+ }
+}
diff --git a/app/javascript/styles/mastodon/containers.scss b/app/javascript/styles/mastodon/containers.scss
index 9363e428b3809b..ac1f862a099e06 100644
--- a/app/javascript/styles/mastodon/containers.scss
+++ b/app/javascript/styles/mastodon/containers.scss
@@ -81,7 +81,7 @@
height: 100%;
display: block;
margin: 0;
- border-radius: 4px;
+ border-radius: var(--avatar-border-radius);
}
}
diff --git a/app/javascript/styles/mastodon/dashboard.scss b/app/javascript/styles/mastodon/dashboard.scss
index 12d0a6b92f9b90..1621220ccb522e 100644
--- a/app/javascript/styles/mastodon/dashboard.scss
+++ b/app/javascript/styles/mastodon/dashboard.scss
@@ -113,10 +113,6 @@
flex: 1 1 auto;
}
- .fa {
- flex: 0 0 auto;
- }
-
strong {
font-weight: 700;
}
diff --git a/app/javascript/styles/mastodon/forms.scss b/app/javascript/styles/mastodon/forms.scss
index f3cf66237f5592..56f7b893f3953b 100644
--- a/app/javascript/styles/mastodon/forms.scss
+++ b/app/javascript/styles/mastodon/forms.scss
@@ -12,6 +12,41 @@ code {
margin: 50px auto;
}
+.form-section {
+ border-radius: 8px;
+ background: var(--surface-background-color);
+ padding: 24px;
+ margin-bottom: 24px;
+}
+
+.fade-out-top {
+ position: relative;
+ overflow: hidden;
+ height: 160px;
+
+ &::after {
+ content: '';
+ display: block;
+ background: linear-gradient(
+ to bottom,
+ var(--surface-background-color),
+ transparent
+ );
+ position: absolute;
+ top: 0;
+ inset-inline-start: 0;
+ width: 100%;
+ height: 100px;
+ pointer-events: none;
+ }
+
+ & > div {
+ position: absolute;
+ inset-inline-start: 0;
+ bottom: 0;
+ }
+}
+
.indicator-icon {
display: flex;
align-items: center;
@@ -312,7 +347,7 @@ code {
margin-bottom: 10px;
max-width: 100%;
height: auto;
- border-radius: 4px;
+ border-radius: var(--avatar-border-radius);
background: url('images/void.png');
&[src$='missing.png'] {
@@ -930,10 +965,6 @@ code {
font-weight: 700;
}
}
-
- .fa {
- font-weight: 400;
- }
}
}
}
diff --git a/app/javascript/styles/mastodon/reset.scss b/app/javascript/styles/mastodon/reset.scss
index f54ed5bc79b1a7..5a4152826d9e4b 100644
--- a/app/javascript/styles/mastodon/reset.scss
+++ b/app/javascript/styles/mastodon/reset.scss
@@ -53,41 +53,29 @@ table {
border-spacing: 0;
}
-html {
- scrollbar-color: lighten($ui-base-color, 4%) rgba($base-overlay-background, 0.1);
+@supports not selector(::-webkit-scrollbar) {
+ html {
+ scrollbar-color: $action-button-color var(--background-border-color);
+ scrollbar-width: thin;
+ }
}
::-webkit-scrollbar {
- width: 12px;
- height: 12px;
+ width: 8px;
+ height: 8px;
}
::-webkit-scrollbar-thumb {
- background: lighten($ui-base-color, 4%);
- border: 0px none $base-border-color;
- border-radius: 50px;
-}
-
-::-webkit-scrollbar-thumb:hover {
- background: lighten($ui-base-color, 6%);
-}
-
-::-webkit-scrollbar-thumb:active {
- background: lighten($ui-base-color, 4%);
+ 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 {
- border: 0px none $base-border-color;
- border-radius: 0;
- background: rgba($base-overlay-background, 0.1);
-}
-
-::-webkit-scrollbar-track:hover {
- background: $ui-base-color;
-}
-
-::-webkit-scrollbar-track:active {
- background: $ui-base-color;
+ background-color: var(--background-border-color);
+ border-radius: 0px;
}
::-webkit-scrollbar-corner {
diff --git a/app/javascript/styles/mastodon/rtl.scss b/app/javascript/styles/mastodon/rtl.scss
index 07fe96fc3ad1f1..e4e299ff82d9c2 100644
--- a/app/javascript/styles/mastodon/rtl.scss
+++ b/app/javascript/styles/mastodon/rtl.scss
@@ -41,14 +41,6 @@ body.rtl {
no-repeat left 8px center / auto 16px;
}
- .fa-chevron-left::before {
- content: '\F054';
- }
-
- .fa-chevron-right::before {
- content: '\F053';
- }
-
.dismissable-banner,
.warning-banner {
&__action {
diff --git a/app/javascript/styles/mastodon/statuses.scss b/app/javascript/styles/mastodon/statuses.scss
deleted file mode 100644
index b6d4f98cce529f..00000000000000
--- a/app/javascript/styles/mastodon/statuses.scss
+++ /dev/null
@@ -1,152 +0,0 @@
-.activity-stream {
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
- border-radius: 4px;
- overflow: hidden;
- margin-bottom: 10px;
-
- &--under-tabs {
- border-radius: 0 0 4px 4px;
- }
-
- @media screen and (max-width: $no-gap-breakpoint) {
- margin-bottom: 0;
- border-radius: 0;
- box-shadow: none;
- }
-
- &--headless {
- border-radius: 0;
- margin: 0;
- box-shadow: none;
-
- .detailed-status,
- .status {
- border-radius: 0 !important;
- }
- }
-
- div[data-component] {
- width: 100%;
- }
-
- .entry {
- background: $ui-base-color;
-
- .detailed-status,
- .status,
- .load-more {
- animation: none;
- }
-
- &:last-child {
- .detailed-status,
- .status,
- .load-more {
- border-bottom: 0;
- border-radius: 0 0 4px 4px;
- }
- }
-
- &:first-child {
- .detailed-status,
- .status,
- .load-more {
- border-radius: 4px 4px 0 0;
- }
-
- &:last-child {
- .detailed-status,
- .status,
- .load-more {
- border-radius: 4px;
- }
- }
- }
-
- @media screen and (width <= 740px) {
- .detailed-status,
- .status,
- .load-more {
- border-radius: 0 !important;
- }
- }
- }
-
- &--highlighted .entry {
- background: lighten($ui-base-color, 8%);
- }
-}
-
-.button.logo-button svg {
- width: 20px;
- height: auto;
- vertical-align: middle;
- margin-inline-end: 5px;
- fill: $primary-text-color;
-
- @media screen and (max-width: $no-gap-breakpoint) {
- display: none;
- }
-}
-
-.embed {
- .status__content[data-spoiler='folded'] {
- .e-content {
- display: none;
- }
-
- p:first-child {
- margin-bottom: 0;
- }
- }
-
- .detailed-status {
- padding: 15px;
-
- .detailed-status__display-avatar .account__avatar {
- width: 48px;
- height: 48px;
- }
- }
-
- .status {
- padding: 15px 15px 15px (48px + 15px * 2);
- min-height: 48px + 2px;
-
- &__avatar {
- inset-inline-start: 15px;
- top: 17px;
-
- .account__avatar {
- width: 48px;
- height: 48px;
- }
- }
-
- &__content {
- padding-top: 5px;
- }
-
- &__prepend {
- margin-inline-start: 48px + 15px * 2;
- padding-top: 15px;
- }
-
- &__prepend-icon-wrapper {
- inset-inline-start: -32px;
- }
-
- .media-gallery,
- &__action-bar,
- .video-player {
- margin-top: 10px;
- }
-
- &__action-bar-button {
- font-size: 18px;
- width: 23.1429px;
- height: 23.1429px;
- line-height: 23.15px;
- }
- }
-}
diff --git a/app/javascript/styles/mastodon/tables.scss b/app/javascript/styles/mastodon/tables.scss
index 4997ed9b847611..2becd85bc667ef 100644
--- a/app/javascript/styles/mastodon/tables.scss
+++ b/app/javascript/styles/mastodon/tables.scss
@@ -142,11 +142,6 @@ a.table-action-link {
color: $highlight-text-color;
}
- i.fa {
- font-weight: 400;
- margin-inline-end: 5px;
- }
-
&:first-child {
padding-inline-start: 0;
}
diff --git a/app/javascript/styles/mastodon/variables.scss b/app/javascript/styles/mastodon/variables.scss
index 2848a42b3fec7e..c477e7a750cecc 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;
@@ -88,6 +88,7 @@ $media-modal-media-max-width: 100%;
$media-modal-media-max-height: 80%;
$no-gap-breakpoint: 1175px;
+$mobile-breakpoint: 630px;
$font-sans-serif: 'mastodon-font-sans-serif' !default;
$font-display: 'mastodon-font-display' !default;
@@ -108,4 +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;
}
diff --git a/app/javascript/styles/mastodon/widgets.scss b/app/javascript/styles/mastodon/widgets.scss
index da7d68ce8db39d..d810ee4bfc7ce4 100644
--- a/app/javascript/styles/mastodon/widgets.scss
+++ b/app/javascript/styles/mastodon/widgets.scss
@@ -1,213 +1,4 @@
-@use 'sass:math';
-
-.hero-widget {
- margin-bottom: 10px;
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
-
- &:last-child {
- margin-bottom: 0;
- }
-
- &__img {
- width: 100%;
- position: relative;
- overflow: hidden;
- border-radius: 4px 4px 0 0;
- background: $base-shadow-color;
-
- img {
- object-fit: cover;
- display: block;
- width: 100%;
- height: 100%;
- margin: 0;
- border-radius: 4px 4px 0 0;
- }
- }
-
- &__text {
- background: $ui-base-color;
- padding: 20px;
- border-radius: 0 0 4px 4px;
- font-size: 15px;
- color: $darker-text-color;
- line-height: 20px;
- word-wrap: break-word;
- font-weight: 400;
-
- .emojione {
- width: 20px;
- height: 20px;
- margin: -3px 0 0;
- margin-inline-start: 0.075em;
- margin-inline-end: 0.075em;
- }
-
- p {
- margin-bottom: 20px;
-
- &:last-child {
- margin-bottom: 0;
- }
- }
-
- em {
- display: inline;
- margin: 0;
- padding: 0;
- font-weight: 700;
- background: transparent;
- font-family: inherit;
- font-size: inherit;
- line-height: inherit;
- color: lighten($darker-text-color, 10%);
- }
-
- a {
- color: $secondary-text-color;
- text-decoration: none;
-
- &:hover {
- text-decoration: underline;
- }
- }
- }
-
- @media screen and (max-width: $no-gap-breakpoint) {
- display: none;
- }
-}
-
-.endorsements-widget {
- margin-bottom: 10px;
- padding-bottom: 10px;
-
- h4 {
- padding: 10px;
- text-transform: uppercase;
- font-weight: 700;
- font-size: 13px;
- color: $darker-text-color;
- }
-
- .account {
- padding: 10px 0;
-
- &:last-child {
- border-bottom: 0;
- }
-
- .account__display-name {
- display: flex;
- align-items: center;
- }
- }
-
- .trends__item {
- padding: 10px;
- }
-}
-
-.trends-widget {
- h4 {
- color: $darker-text-color;
- }
-}
-
-.placeholder-widget {
- padding: 16px;
- border-radius: 4px;
- border: 2px dashed $dark-text-color;
- text-align: center;
- color: $darker-text-color;
- margin-bottom: 10px;
-}
-
-.moved-account-widget {
- padding: 15px;
- padding-bottom: 20px;
- border-radius: 4px;
- background: $ui-base-color;
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
- color: $secondary-text-color;
- font-weight: 400;
- margin-bottom: 10px;
-
- strong,
- a {
- font-weight: 500;
-
- @each $lang in $cjk-langs {
- &:lang(#{$lang}) {
- font-weight: 700;
- }
- }
- }
-
- a {
- color: inherit;
- text-decoration: underline;
-
- &.mention {
- text-decoration: none;
-
- span {
- text-decoration: none;
- }
-
- &:focus,
- &:hover,
- &:active {
- text-decoration: none;
-
- span {
- text-decoration: underline;
- }
- }
- }
- }
-
- &__message {
- margin-bottom: 15px;
-
- .fa {
- margin-inline-end: 5px;
- color: $darker-text-color;
- }
- }
-
- &__card {
- .detailed-status__display-avatar {
- position: relative;
- cursor: pointer;
- }
-
- .detailed-status__display-name {
- margin-bottom: 0;
- text-decoration: none;
-
- span {
- font-weight: 400;
- }
- }
- }
-}
-
-.memoriam-widget {
- padding: 20px;
- border-radius: 4px;
- background: $base-shadow-color;
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
- font-size: 14px;
- color: $darker-text-color;
- margin-bottom: 10px;
-}
-
.directory {
- background: var(--background-color);
- border-radius: 4px;
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
-
&__tag {
box-sizing: border-box;
margin-bottom: 10px;
@@ -366,9 +157,7 @@
padding-inline-end: 16px;
}
- .fa {
- font-size: 16px;
-
+ .icon {
&.active {
color: $highlight-text-color;
}
@@ -388,27 +177,3 @@
}
}
}
-
-.moved-account-widget,
-.memoriam-widget,
-.directory {
- @media screen and (max-width: $no-gap-breakpoint) {
- margin-bottom: 0;
- box-shadow: none;
- border-radius: 0;
- }
-}
-
-.placeholder-widget {
- a {
- text-decoration: none;
- font-weight: 500;
- color: $ui-highlight-color;
-
- &:hover,
- &:focus,
- &:active {
- text-decoration: underline;
- }
- }
-}
diff --git a/app/lib/activitypub/linked_data_signature.rb b/app/lib/activitypub/linked_data_signature.rb
index 9459fdd8b76972..c42313b05ee975 100644
--- a/app/lib/activitypub/linked_data_signature.rb
+++ b/app/lib/activitypub/linked_data_signature.rb
@@ -4,6 +4,7 @@ class ActivityPub::LinkedDataSignature
include JsonLdHelper
CONTEXT = 'https://w3id.org/identity/v1'
+ SIGNATURE_CONTEXT = 'https://w3id.org/security/v1'
def initialize(json)
@json = json.with_indifferent_access
@@ -46,7 +47,13 @@ def sign!(creator, sign_with: nil)
signature = Base64.strict_encode64(keypair.sign(OpenSSL::Digest.new('SHA256'), to_be_signed))
- @json.merge('signature' => options.merge('signatureValue' => signature))
+ # Mastodon's context is either an array or a single URL
+ context_with_security = Array(@json['@context'])
+ context_with_security << 'https://w3id.org/security/v1'
+ context_with_security.uniq!
+ context_with_security = context_with_security.first if context_with_security.size == 1
+
+ @json.merge('signature' => options.merge('signatureValue' => signature), '@context' => context_with_security)
end
private
diff --git a/app/lib/annual_report/archetype.rb b/app/lib/annual_report/archetype.rb
index ea9ef366df7e09..c02b28dfda239f 100644
--- a/app/lib/annual_report/archetype.rb
+++ b/app/lib/annual_report/archetype.rb
@@ -28,22 +28,18 @@ def archetype
end
def polls_count
- @polls_count ||= base_scope.where.not(poll_id: nil).count
+ @polls_count ||= report_statuses.where.not(poll_id: nil).count
end
def reblogs_count
- @reblogs_count ||= base_scope.where.not(reblog_of_id: nil).count
+ @reblogs_count ||= report_statuses.where.not(reblog_of_id: nil).count
end
def replies_count
- @replies_count ||= base_scope.where.not(in_reply_to_id: nil).where.not(in_reply_to_account_id: @account.id).count
+ @replies_count ||= report_statuses.where.not(in_reply_to_id: nil).where.not(in_reply_to_account_id: @account.id).count
end
def standalone_count
- @standalone_count ||= base_scope.without_replies.without_reblogs.count
- end
-
- def base_scope
- @account.statuses.where(id: year_as_snowflake_range)
+ @standalone_count ||= report_statuses.without_replies.without_reblogs.count
end
end
diff --git a/app/lib/annual_report/commonly_interacted_with_accounts.rb b/app/lib/annual_report/commonly_interacted_with_accounts.rb
index af5e854c222f78..e7482f0d52a792 100644
--- a/app/lib/annual_report/commonly_interacted_with_accounts.rb
+++ b/app/lib/annual_report/commonly_interacted_with_accounts.rb
@@ -17,6 +17,6 @@ def generate
private
def commonly_interacted_with_accounts
- @account.statuses.reorder(nil).where(id: year_as_snowflake_range).where.not(in_reply_to_account_id: @account.id).group(:in_reply_to_account_id).having('count(*) > 1').order(total: :desc).limit(SET_SIZE).pluck(Arel.sql('in_reply_to_account_id, count(*) AS total'))
+ report_statuses.where.not(in_reply_to_account_id: @account.id).group(:in_reply_to_account_id).having('count(*) > 1').order(total: :desc).limit(SET_SIZE).pluck(Arel.sql('in_reply_to_account_id, count(*) AS total'))
end
end
diff --git a/app/lib/annual_report/most_reblogged_accounts.rb b/app/lib/annual_report/most_reblogged_accounts.rb
index e3e8a7c90b1246..39ed3868ea06ad 100644
--- a/app/lib/annual_report/most_reblogged_accounts.rb
+++ b/app/lib/annual_report/most_reblogged_accounts.rb
@@ -17,6 +17,6 @@ def generate
private
def most_reblogged_accounts
- @account.statuses.reorder(nil).where(id: year_as_snowflake_range).where.not(reblog_of_id: nil).joins(reblog: :account).group('accounts.id').having('count(*) > 1').order(total: :desc).limit(SET_SIZE).pluck(Arel.sql('accounts.id, count(*) as total'))
+ report_statuses.where.not(reblog_of_id: nil).joins(reblog: :account).group('accounts.id').having('count(*) > 1').order(total: :desc).limit(SET_SIZE).pluck(Arel.sql('accounts.id, count(*) as total'))
end
end
diff --git a/app/lib/annual_report/most_used_apps.rb b/app/lib/annual_report/most_used_apps.rb
index 85ff1ff86e10c2..fb1ca1d16705c6 100644
--- a/app/lib/annual_report/most_used_apps.rb
+++ b/app/lib/annual_report/most_used_apps.rb
@@ -17,6 +17,6 @@ def generate
private
def most_used_apps
- @account.statuses.reorder(nil).where(id: year_as_snowflake_range).joins(:application).group('oauth_applications.name').order(total: :desc).limit(SET_SIZE).pluck(Arel.sql('oauth_applications.name, count(*) as total'))
+ report_statuses.joins(:application).group('oauth_applications.name').order(total: :desc).limit(SET_SIZE).pluck(Arel.sql('oauth_applications.name, count(*) as total'))
end
end
diff --git a/app/lib/annual_report/percentiles.rb b/app/lib/annual_report/percentiles.rb
index 9fe4698ee5df52..0251cb66ad27e9 100644
--- a/app/lib/annual_report/percentiles.rb
+++ b/app/lib/annual_report/percentiles.rb
@@ -17,7 +17,7 @@ def followers_gained
end
def statuses_created
- @statuses_created ||= @account.statuses.where(id: year_as_snowflake_range).count
+ @statuses_created ||= report_statuses.count
end
def total_with_fewer_followers
diff --git a/app/lib/annual_report/source.rb b/app/lib/annual_report/source.rb
index 1ccb622676faf4..cb9f7b16e32a10 100644
--- a/app/lib/annual_report/source.rb
+++ b/app/lib/annual_report/source.rb
@@ -10,7 +10,24 @@ def initialize(account, year)
protected
+ def report_statuses
+ @account
+ .statuses
+ .where(id: year_as_snowflake_range)
+ .reorder(nil)
+ end
+
def year_as_snowflake_range
- (Mastodon::Snowflake.id_at(DateTime.new(year, 1, 1))..Mastodon::Snowflake.id_at(DateTime.new(year, 12, 31)))
+ (beginning_snowflake_id..ending_snowflake_id)
+ end
+
+ private
+
+ def beginning_snowflake_id
+ Mastodon::Snowflake.id_at DateTime.new(year).beginning_of_year
+ end
+
+ def ending_snowflake_id
+ Mastodon::Snowflake.id_at DateTime.new(year).end_of_year
end
end
diff --git a/app/lib/annual_report/time_series.rb b/app/lib/annual_report/time_series.rb
index a144bac0d1587a..65a188eda7b299 100644
--- a/app/lib/annual_report/time_series.rb
+++ b/app/lib/annual_report/time_series.rb
@@ -17,7 +17,7 @@ def generate
private
def statuses_per_month
- @statuses_per_month ||= @account.statuses.reorder(nil).where(id: year_as_snowflake_range).group(:period).pluck(Arel.sql("date_part('month', created_at)::int AS period, count(*)")).to_h
+ @statuses_per_month ||= report_statuses.group(:period).pluck(Arel.sql("date_part('month', created_at)::int AS period, count(*)")).to_h
end
def following_per_month
diff --git a/app/lib/annual_report/top_hashtags.rb b/app/lib/annual_report/top_hashtags.rb
index 488dacb1b45b2c..32bd10d6989b48 100644
--- a/app/lib/annual_report/top_hashtags.rb
+++ b/app/lib/annual_report/top_hashtags.rb
@@ -17,6 +17,6 @@ def generate
private
def top_hashtags
- Tag.joins(:statuses).where(statuses: { id: @account.statuses.where(id: year_as_snowflake_range).reorder(nil).select(:id) }).group(:id).having('count(*) > 1').order(total: :desc).limit(SET_SIZE).pluck(Arel.sql('COALESCE(tags.display_name, tags.name), count(*) AS total'))
+ Tag.joins(:statuses).where(statuses: { id: report_statuses.select(:id) }).group(:id).having('count(*) > 1').order(total: :desc).limit(SET_SIZE).pluck(Arel.sql('COALESCE(tags.display_name, tags.name), count(*) AS total'))
end
end
diff --git a/app/lib/annual_report/top_statuses.rb b/app/lib/annual_report/top_statuses.rb
index 1ab1709523b7de..c5abeaa58d81d2 100644
--- a/app/lib/annual_report/top_statuses.rb
+++ b/app/lib/annual_report/top_statuses.rb
@@ -16,6 +16,6 @@ def generate
end
def base_scope
- @account.statuses.public_visibility.joins(:status_stat).where(id: year_as_snowflake_range).reorder(nil)
+ report_statuses.public_visibility.joins(:status_stat)
end
end
diff --git a/app/lib/annual_report/type_distribution.rb b/app/lib/annual_report/type_distribution.rb
index fc12a6f1f4b665..fe38d8a8a2d254 100644
--- a/app/lib/annual_report/type_distribution.rb
+++ b/app/lib/annual_report/type_distribution.rb
@@ -4,17 +4,11 @@ class AnnualReport::TypeDistribution < AnnualReport::Source
def generate
{
type_distribution: {
- total: base_scope.count,
- reblogs: base_scope.where.not(reblog_of_id: nil).count,
- replies: base_scope.where.not(in_reply_to_id: nil).where.not(in_reply_to_account_id: @account.id).count,
- standalone: base_scope.without_replies.without_reblogs.count,
+ total: report_statuses.count,
+ reblogs: report_statuses.where.not(reblog_of_id: nil).count,
+ replies: report_statuses.where.not(in_reply_to_id: nil).where.not(in_reply_to_account_id: @account.id).count,
+ standalone: report_statuses.without_replies.without_reblogs.count,
},
}
end
-
- private
-
- def base_scope
- @account.statuses.where(id: year_as_snowflake_range)
- end
end
diff --git a/app/lib/content_security_policy.rb b/app/lib/content_security_policy.rb
index 210f37cea0d3b4..0b60b0d98c9ef1 100644
--- a/app/lib/content_security_policy.rb
+++ b/app/lib/content_security_policy.rb
@@ -13,6 +13,22 @@ def media_hosts
[assets_host, cdn_host_value, paperclip_root_url].compact
end
+ def sso_host
+ return unless ENV['ONE_CLICK_SSO_LOGIN'] == 'true' && ENV['OMNIAUTH_ONLY'] == 'true' && Devise.omniauth_providers.length == 1
+
+ provider = Devise.omniauth_configs[Devise.omniauth_providers[0]]
+ @sso_host ||= begin
+ case provider.provider
+ when :cas
+ provider.cas_url
+ when :saml
+ provider.options[:idp_sso_target_url]
+ when :openid_connect
+ provider.options.dig(:client_options, :authorization_endpoint) || OpenIDConnect::Discovery::Provider::Config.discover!(provider.options[:issuer]).authorization_endpoint
+ end
+ end
+ end
+
private
def url_from_configured_asset_host
diff --git a/app/lib/emoji_formatter.rb b/app/lib/emoji_formatter.rb
index 2a3683c499f621..5f1a4651f73b0b 100644
--- a/app/lib/emoji_formatter.rb
+++ b/app/lib/emoji_formatter.rb
@@ -24,7 +24,7 @@ def initialize(html, custom_emojis, options = {})
def to_s
return html if custom_emojis.empty? || html.blank?
- tree = Nokogiri::HTML.fragment(html)
+ tree = Nokogiri::HTML5.fragment(html)
tree.xpath('./text()|.//text()[not(ancestor[@class="invisible"])]').to_a.each do |node|
i = -1
inside_shortname = false
@@ -43,8 +43,8 @@ def to_s
next unless (char_after.nil? || !DISALLOWED_BOUNDING_REGEX.match?(char_after)) && (emoji = emoji_map[shortcode])
- result << Nokogiri::XML::Text.new(text[last_index..shortname_start_index - 1], tree.document) if shortname_start_index.positive?
- result << Nokogiri::HTML.fragment(tag_for_emoji(shortcode, emoji))
+ result << tree.document.create_text_node(text[last_index..shortname_start_index - 1]) if shortname_start_index.positive?
+ result << tree.document.fragment(tag_for_emoji(shortcode, emoji))
last_index = i + 1
elsif text[i] == ':' && (i.zero? || !DISALLOWED_BOUNDING_REGEX.match?(text[i - 1]))
@@ -53,7 +53,7 @@ def to_s
end
end
- result << Nokogiri::XML::Text.new(text[last_index..], tree.document)
+ result << tree.document.create_text_node(text[last_index..])
node.replace(result)
end
diff --git a/app/lib/entity_cache.rb b/app/lib/entity_cache.rb
index 80b0046eeaf9ed..e647dcab7f879c 100644
--- a/app/lib/entity_cache.rb
+++ b/app/lib/entity_cache.rb
@@ -27,7 +27,7 @@ def emoji(shortcodes, domain)
end
unless uncached_ids.empty?
- uncached = CustomEmoji.where(shortcode: shortcodes, domain: domain, disabled: false).index_by(&:shortcode)
+ uncached = CustomEmoji.enabled.where(shortcode: shortcodes, domain: domain).index_by(&:shortcode)
uncached.each_value { |item| Rails.cache.write(to_key(:emoji, item.shortcode, domain), item, expires_in: MAX_EXPIRATION) }
end
diff --git a/app/lib/link_details_extractor.rb b/app/lib/link_details_extractor.rb
index bd78aef7a9f56c..e4e815c38d010e 100644
--- a/app/lib/link_details_extractor.rb
+++ b/app/lib/link_details_extractor.rb
@@ -157,11 +157,11 @@ def height
end
def title
- html_entities_decode(structured_data&.headline || opengraph_tag('og:title') || document.xpath('//title').map(&:content).first)&.strip
+ html_entities.decode(structured_data&.headline || opengraph_tag('og:title') || document.xpath('//title').map(&:content).first)&.strip
end
def description
- html_entities_decode(structured_data&.description || opengraph_tag('og:description') || meta_tag('description'))
+ html_entities.decode(structured_data&.description || opengraph_tag('og:description') || meta_tag('description'))
end
def published_at
@@ -181,7 +181,7 @@ def canonical_url
end
def provider_name
- html_entities_decode(structured_data&.publisher_name || opengraph_tag('og:site_name'))
+ html_entities.decode(structured_data&.publisher_name || opengraph_tag('og:site_name'))
end
def provider_url
@@ -189,7 +189,7 @@ def provider_url
end
def author_name
- html_entities_decode(structured_data&.author_name || opengraph_tag('og:author') || opengraph_tag('og:author:username'))
+ html_entities.decode(structured_data&.author_name || opengraph_tag('og:author') || opengraph_tag('og:author:username'))
end
def author_url
@@ -225,7 +225,7 @@ def host_to_url(str)
end
def valid_url_or_nil(str, same_origin_only: false)
- return if str.blank? || str == 'null'
+ return if str.blank? || str == 'null' || str == 'undefined'
url = @original_url + Addressable::URI.parse(str)
@@ -258,7 +258,7 @@ def structured_data
next if json_ld.blank?
- structured_data = StructuredData.new(html_entities_decode(json_ld))
+ structured_data = StructuredData.new(html_entities.decode(json_ld))
next unless structured_data.valid?
@@ -274,11 +274,20 @@ def document
end
def detect_encoding_and_parse_document
- [detect_encoding, nil, header_encoding].uniq.each do |encoding|
- document = Nokogiri::HTML(@html, nil, encoding)
- return document if document.to_s.valid_encoding?
+ html = nil
+ encoding = nil
+
+ [detect_encoding, header_encoding].compact.each do |enc|
+ html = @html.dup.force_encoding(enc)
+ if html.valid_encoding?
+ encoding = enc
+ break
+ end
end
- Nokogiri::HTML(@html, nil, 'UTF-8')
+
+ html = @html unless encoding
+
+ Nokogiri::HTML5(html, nil, encoding)
end
def detect_encoding
@@ -299,15 +308,6 @@ def detector
end
end
- def html_entities_decode(string)
- return if string.nil?
-
- unicode_string = string.to_s.encode('UTF-8')
- raise EncodingError, 'cannot convert string to valid UTF-8' unless unicode_string.valid_encoding?
-
- html_entities.decode(unicode_string)
- end
-
def html_entities
@html_entities ||= HTMLEntities.new(:expanded)
end
diff --git a/app/lib/plain_text_formatter.rb b/app/lib/plain_text_formatter.rb
index d1ff6808b2a995..f960ba7acc4ba2 100644
--- a/app/lib/plain_text_formatter.rb
+++ b/app/lib/plain_text_formatter.rb
@@ -16,7 +16,7 @@ def to_s
if local?
text
else
- node = Nokogiri::HTML.fragment(insert_newlines)
+ node = Nokogiri::HTML5.fragment(insert_newlines)
# Elements that are entirely removed with our Sanitize config
node.xpath('.//iframe|.//math|.//noembed|.//noframes|.//noscript|.//plaintext|.//script|.//style|.//svg|.//xmp').remove
node.text.chomp
diff --git a/app/lib/redis_configuration.rb b/app/lib/redis_connection.rb
similarity index 65%
rename from app/lib/redis_configuration.rb
rename to app/lib/redis_connection.rb
index fb1249640fd733..24e376e6a5cec3 100644
--- a/app/lib/redis_configuration.rb
+++ b/app/lib/redis_connection.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-class RedisConfiguration
+class RedisConnection
class << self
def establish_pool(new_pool_size)
@pool&.shutdown(&:close)
@@ -22,33 +22,24 @@ def pool_size
end
end
+ attr_reader :config
+
+ def initialize
+ @config = REDIS_CONFIGURATION.base
+ end
+
def connection
- if namespace?
+ namespace = config[:namespace]
+ if namespace.present?
Redis::Namespace.new(namespace, redis: raw_connection)
else
raw_connection
end
end
- def namespace?
- namespace.present?
- end
-
- def namespace
- ENV.fetch('REDIS_NAMESPACE', nil)
- end
-
- def url
- ENV['REDIS_URL']
- end
-
- def redis_driver
- ENV.fetch('REDIS_DRIVER', 'hiredis') == 'ruby' ? :ruby : :hiredis
- end
-
private
def raw_connection
- Redis.new(url: url, driver: redis_driver)
+ Redis.new(**config)
end
end
diff --git a/app/lib/search_query_transformer.rb b/app/lib/search_query_transformer.rb
index 606819ed40440f..1306ed12edaeed 100644
--- a/app/lib/search_query_transformer.rb
+++ b/app/lib/search_query_transformer.rb
@@ -168,15 +168,15 @@ def initialize(prefix, operator, term, options = {})
when 'before'
@filter = :created_at
@type = :range
- @term = { lt: term, time_zone: @options[:current_account]&.user_time_zone.presence || 'UTC' }
+ @term = { lt: TermValidator.validate_date!(term), time_zone: @options[:current_account]&.user_time_zone.presence || 'UTC' }
when 'after'
@filter = :created_at
@type = :range
- @term = { gt: term, time_zone: @options[:current_account]&.user_time_zone.presence || 'UTC' }
+ @term = { gt: TermValidator.validate_date!(term), time_zone: @options[:current_account]&.user_time_zone.presence || 'UTC' }
when 'during'
@filter = :created_at
@type = :range
- @term = { gte: term, lte: term, time_zone: @options[:current_account]&.user_time_zone.presence || 'UTC' }
+ @term = { gte: TermValidator.validate_date!(term), lte: TermValidator.validate_date!(term), time_zone: @options[:current_account]&.user_time_zone.presence || 'UTC' }
when 'in'
@operator = :flag
@term = term
@@ -224,6 +224,17 @@ def language_code_from_term(term)
end
end
+ class TermValidator
+ STRICT_DATE_REGEX = /\A\d{4}-\d{2}-\d{2}\z/ # yyyy-MM-dd
+ EPOCH_MILLIS_REGEX = /\A\d{1,19}\z/
+
+ def self.validate_date!(value)
+ return value if value.match?(STRICT_DATE_REGEX) || value.match?(EPOCH_MILLIS_REGEX)
+
+ raise Mastodon::FilterValidationError, "Invalid date #{value}"
+ end
+ end
+
rule(clause: subtree(:clause)) do
prefix = clause[:prefix][:term].to_s.downcase if clause[:prefix]
operator = clause[:operator]&.to_s
diff --git a/app/lib/themes.rb b/app/lib/themes.rb
index 183258d62f832e..8b68c92e45082c 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
diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb
index 3312183d47db66..35f0b5fee18a9a 100644
--- a/app/mailers/application_mailer.rb
+++ b/app/mailers/application_mailer.rb
@@ -12,7 +12,7 @@ class ApplicationMailer < ActionMailer::Base
protected
def locale_for_account(account, &block)
- I18n.with_locale(account.user_locale || I18n.locale || I18n.default_locale, &block)
+ I18n.with_locale(account.user_locale || I18n.default_locale, &block)
end
def set_autoreply_headers!
diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb
index 81a2c0c6d04bbc..5c9e5c96d91589 100644
--- a/app/mailers/user_mailer.rb
+++ b/app/mailers/user_mailer.rb
@@ -33,7 +33,7 @@ def reset_password_instructions(user, token, *, **)
return unless @resource.active_for_authentication?
- I18n.with_locale(locale) do
+ I18n.with_locale(locale(use_current_locale: true)) do
mail subject: default_devise_subject
end
end
@@ -43,7 +43,7 @@ def password_change(user, *, **)
return unless @resource.active_for_authentication?
- I18n.with_locale(locale) do
+ I18n.with_locale(locale(use_current_locale: true)) do
mail subject: default_devise_subject
end
end
@@ -53,7 +53,7 @@ def email_changed(user, *, **)
return unless @resource.active_for_authentication?
- I18n.with_locale(locale) do
+ I18n.with_locale(locale(use_current_locale: true)) do
mail subject: default_devise_subject
end
end
@@ -63,7 +63,7 @@ def two_factor_enabled(user, *, **)
return unless @resource.active_for_authentication?
- I18n.with_locale(locale) do
+ I18n.with_locale(locale(use_current_locale: true)) do
mail subject: default_devise_subject
end
end
@@ -73,7 +73,7 @@ def two_factor_disabled(user, *, **)
return unless @resource.active_for_authentication?
- I18n.with_locale(locale) do
+ I18n.with_locale(locale(use_current_locale: true)) do
mail subject: default_devise_subject
end
end
@@ -83,7 +83,7 @@ def two_factor_recovery_codes_changed(user, *, **)
return unless @resource.active_for_authentication?
- I18n.with_locale(locale) do
+ I18n.with_locale(locale(use_current_locale: true)) do
mail subject: default_devise_subject
end
end
@@ -93,7 +93,7 @@ def webauthn_enabled(user, *, **)
return unless @resource.active_for_authentication?
- I18n.with_locale(locale) do
+ I18n.with_locale(locale(use_current_locale: true)) do
mail subject: default_devise_subject
end
end
@@ -103,7 +103,7 @@ def webauthn_disabled(user, *, **)
return unless @resource.active_for_authentication?
- I18n.with_locale(locale) do
+ I18n.with_locale(locale(use_current_locale: true)) do
mail subject: default_devise_subject
end
end
@@ -114,7 +114,7 @@ def webauthn_credential_added(user, webauthn_credential)
return unless @resource.active_for_authentication?
- I18n.with_locale(locale) do
+ I18n.with_locale(locale(use_current_locale: true)) do
mail subject: I18n.t('devise.mailer.webauthn_credential.added.subject')
end
end
@@ -125,7 +125,7 @@ def webauthn_credential_deleted(user, webauthn_credential)
return unless @resource.active_for_authentication?
- I18n.with_locale(locale) do
+ I18n.with_locale(locale(use_current_locale: true)) do
mail subject: I18n.t('devise.mailer.webauthn_credential.deleted.subject')
end
end
@@ -219,7 +219,7 @@ def set_instance
@instance = Rails.configuration.x.local_domain
end
- def locale
- @resource.locale.presence || I18n.locale || I18n.default_locale
+ def locale(use_current_locale: false)
+ @resource.locale.presence || (use_current_locale && I18n.locale) || I18n.default_locale
end
end
diff --git a/app/models/account.rb b/app/models/account.rb
index 8387b8fecd5c5e..0a2cff2fe8705f 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -51,6 +51,7 @@
# reviewed_at :datetime
# requested_review_at :datetime
# indexable :boolean default(FALSE), not null
+# attribution_domains :string default([]), is an Array
#
class Account < ApplicationRecord
@@ -75,6 +76,8 @@ class Account < ApplicationRecord
DISPLAY_NAME_LENGTH_LIMIT = 30
NOTE_LENGTH_LIMIT = 500
+ AUTOMATED_ACTOR_TYPES = %w(Application Service).freeze
+
include Attachmentable # Load prior to Avatar & Header concerns
include Account::Associations
@@ -86,9 +89,11 @@ class Account < ApplicationRecord
include Account::Merging
include Account::Search
include Account::StatusesSearch
+ include Account::AttributionDomains
include DomainMaterializable
include DomainNormalizable
include Paginable
+ include Reviewable
enum :protocol, { ostatus: 0, activitypub: 1 }
enum :suspension_origin, { local: 0, remote: 1 }, prefix: true
@@ -103,15 +108,17 @@ class Account < ApplicationRecord
validates :uri, presence: true, unless: :local?, on: :create
# Local user validations
- validates :username, format: { with: /\A[a-z0-9_]+\z/i }, length: { maximum: 128 }, if: -> { local? && will_save_change_to_username? && actor_type != 'Application' }
- validates :display_name, length: { maximum: 128 }, if: -> { local? && will_save_change_to_display_name? }
- validates :note, note_length: { maximum: 512 }, if: -> { local? && will_save_change_to_note? }
+ validates :username, format: { with: /\A[a-z0-9_]+\z/i }, length: { maximum: USERNAME_LENGTH_LIMIT }, if: -> { local? && will_save_change_to_username? && actor_type != 'Application' }
validates_with UnreservedUsernameValidator, if: -> { local? && will_save_change_to_username? && actor_type != 'Application' }
- validates :fields, length: { maximum: 4 }, if: -> { local? && will_save_change_to_fields? }
- validates :uri, absence: true, if: :local?, on: :create
- validates :inbox_url, absence: true, if: :local?, on: :create
- validates :shared_inbox_url, absence: true, if: :local?, on: :create
- validates :followers_url, absence: true, if: :local?, on: :create
+ validates :display_name, length: { maximum: DISPLAY_NAME_LENGTH_LIMIT }, if: -> { local? && will_save_change_to_display_name? }
+ validates :note, note_length: { maximum: NOTE_LENGTH_LIMIT }, if: -> { local? && will_save_change_to_note? }
+ validates :fields, length: { maximum: DEFAULT_FIELDS_SIZE }, if: -> { local? && will_save_change_to_fields? }
+ with_options on: :create do
+ validates :uri, absence: true, if: :local?
+ validates :inbox_url, absence: true, if: :local?
+ validates :shared_inbox_url, absence: true, if: :local?
+ validates :followers_url, absence: true, if: :local?
+ end
normalizes :username, with: ->(username) { username.squish }
@@ -126,7 +133,8 @@ class Account < ApplicationRecord
scope :without_silenced, -> { where(silenced_at: nil) }
scope :without_instance_actor, -> { where.not(id: INSTANCE_ACTOR_ID) }
scope :recent, -> { reorder(id: :desc) }
- scope :bots, -> { where(actor_type: %w(Application Service)) }
+ scope :bots, -> { where(actor_type: AUTOMATED_ACTOR_TYPES) }
+ scope :non_automated, -> { where.not(actor_type: AUTOMATED_ACTOR_TYPES) }
scope :groups, -> { where(actor_type: 'Group') }
scope :alphabetic, -> { order(domain: :asc, username: :asc) }
scope :matches_uri_prefix, ->(value) { where(arel_table[:uri].matches("#{sanitize_sql_like(value)}/%", false, true)).or(where(uri: value)) }
@@ -144,6 +152,8 @@ class Account < ApplicationRecord
scope :dormant, -> { joins(:account_stat).merge(AccountStat.without_recent_activity) }
scope :with_username, ->(value) { where arel_table[:username].lower.eq(value.to_s.downcase) }
scope :with_domain, ->(value) { where arel_table[:domain].lower.eq(value&.to_s&.downcase) }
+ scope :without_memorial, -> { where(memorial: false) }
+ scope :duplicate_uris, -> { select(:uri, Arel.star.count).group(:uri).having(Arel.star.count.gt(1)) }
after_update_commit :trigger_update_webhooks
@@ -180,7 +190,7 @@ def moved?
end
def bot?
- %w(Application Service).include? actor_type
+ AUTOMATED_ACTOR_TYPES.include?(actor_type)
end
def instance_actor?
@@ -424,22 +434,6 @@ def synchronization_uri_prefix
@synchronization_uri_prefix ||= "#{uri[URL_PREFIX_RE]}/"
end
- def requires_review?
- reviewed_at.nil?
- end
-
- def reviewed?
- reviewed_at.present?
- end
-
- def requested_review?
- requested_review_at.present?
- end
-
- def requires_review_notification?
- requires_review? && !requested_review?
- end
-
class << self
def readonly_attributes
super - %w(statuses_count following_count followers_count)
diff --git a/app/models/account/field.rb b/app/models/account/field.rb
index 2bada6954b40ff..bcd89015de022f 100644
--- a/app/models/account/field.rb
+++ b/app/models/account/field.rb
@@ -73,10 +73,10 @@ def character_limit
end
def extract_url_from_html
- doc = Nokogiri::HTML(value).at_xpath('//body')
+ doc = Nokogiri::HTML5.fragment(value)
return if doc.nil?
- return if doc.children.size > 1
+ return if doc.children.size != 1
element = doc.children.first
diff --git a/app/models/account_moderation_note.rb b/app/models/account_moderation_note.rb
index 79b8b4d25ee033..ca7f8e3d5fef3f 100644
--- a/app/models/account_moderation_note.rb
+++ b/app/models/account_moderation_note.rb
@@ -18,7 +18,7 @@ class AccountModerationNote < ApplicationRecord
belongs_to :account
belongs_to :target_account, class_name: 'Account'
- scope :latest, -> { reorder('created_at DESC') }
+ scope :chronological, -> { reorder(id: :asc) }
validates :content, presence: true, length: { maximum: CONTENT_SIZE_LIMIT }
end
diff --git a/app/models/account_statuses_cleanup_policy.rb b/app/models/account_statuses_cleanup_policy.rb
index a102795446d465..6e998e2dcaf6b0 100644
--- a/app/models/account_statuses_cleanup_policy.rb
+++ b/app/models/account_statuses_cleanup_policy.rb
@@ -145,19 +145,19 @@ def old_enough_scope(max_id = nil)
end
def without_self_fav_scope
- Status.where('NOT EXISTS (SELECT 1 FROM favourites fav WHERE fav.account_id = statuses.account_id AND fav.status_id = statuses.id)')
+ Status.where.not(self_status_reference_exists(Favourite))
end
def without_self_bookmark_scope
- Status.where('NOT EXISTS (SELECT 1 FROM bookmarks bookmark WHERE bookmark.account_id = statuses.account_id AND bookmark.status_id = statuses.id)')
+ Status.where.not(self_status_reference_exists(Bookmark))
end
def without_pinned_scope
- Status.where('NOT EXISTS (SELECT 1 FROM status_pins pin WHERE pin.account_id = statuses.account_id AND pin.status_id = statuses.id)')
+ Status.where.not(self_status_reference_exists(StatusPin))
end
def without_media_scope
- Status.where('NOT EXISTS (SELECT 1 FROM media_attachments media WHERE media.status_id = statuses.id)')
+ Status.where.not(status_media_reference_exists)
end
def without_poll_scope
@@ -174,4 +174,21 @@ def without_popular_scope
def account_statuses
Status.where(account_id: account_id)
end
+
+ def status_media_reference_exists
+ MediaAttachment
+ .where(MediaAttachment.arel_table[:status_id].eq Status.arel_table[:id])
+ .select(1)
+ .arel
+ .exists
+ end
+
+ def self_status_reference_exists(model)
+ model
+ .where(model.arel_table[:account_id].eq Status.arel_table[:account_id])
+ .where(model.arel_table[:status_id].eq Status.arel_table[:id])
+ .select(1)
+ .arel
+ .exists
+ end
end
diff --git a/app/models/account_suggestions/friends_of_friends_source.rb b/app/models/account_suggestions/friends_of_friends_source.rb
index 825b24f41981ed..707c6ccaec283d 100644
--- a/app/models/account_suggestions/friends_of_friends_source.rb
+++ b/app/models/account_suggestions/friends_of_friends_source.rb
@@ -31,6 +31,7 @@ def source_query(account, limit: DEFAULT_LIMIT)
AND accounts.suspended_at IS NULL
AND accounts.silenced_at IS NULL
AND accounts.moved_to_account_id IS NULL
+ AND accounts.memorial = FALSE
AND follow_recommendation_mutes.target_account_id IS NULL
GROUP BY accounts.id, account_stats.id
ORDER BY frequency DESC, account_stats.followers_count ASC
diff --git a/app/models/account_suggestions/source.rb b/app/models/account_suggestions/source.rb
index 7afc4c80edd3ba..9ae6bbbcc9587b 100644
--- a/app/models/account_suggestions/source.rb
+++ b/app/models/account_suggestions/source.rb
@@ -14,6 +14,7 @@ def base_account_scope(account)
.searchable
.where(discoverable: true)
.without_silenced
+ .without_memorial
.where.not(follows_sql, id: account.id)
.where.not(follow_requests_sql, id: account.id)
.not_excluded_by_account(account)
diff --git a/app/models/admin/account_action.rb b/app/models/admin/account_action.rb
index 3700ce4cd6c735..4be58ba85306bf 100644
--- a/app/models/admin/account_action.rb
+++ b/app/models/admin/account_action.rb
@@ -73,6 +73,14 @@ def types_for_account(account)
end
end
+ def disabled_types_for_account(account)
+ if account.suspended?
+ %w(silence suspend)
+ elsif account.silenced?
+ %w(silence)
+ end
+ end
+
def i18n_scope
:activerecord
end
diff --git a/app/models/announcement_reaction.rb b/app/models/announcement_reaction.rb
index 9881892c4bb51c..f953402b7ed84b 100644
--- a/app/models/announcement_reaction.rb
+++ b/app/models/announcement_reaction.rb
@@ -27,7 +27,7 @@ class AnnouncementReaction < ApplicationRecord
private
def set_custom_emoji
- self.custom_emoji = CustomEmoji.local.find_by(disabled: false, shortcode: name) if name.present?
+ self.custom_emoji = CustomEmoji.local.enabled.find_by(shortcode: name) if name.present?
end
def queue_publish
diff --git a/app/models/concerns/account/attribution_domains.rb b/app/models/concerns/account/attribution_domains.rb
new file mode 100644
index 00000000000000..37a498a150dfdc
--- /dev/null
+++ b/app/models/concerns/account/attribution_domains.rb
@@ -0,0 +1,25 @@
+# frozen_string_literal: true
+
+module Account::AttributionDomains
+ extend ActiveSupport::Concern
+
+ included do
+ validates :attribution_domains_as_text, domain: { multiline: true }, lines: { maximum: 100 }, if: -> { local? && will_save_change_to_attribution_domains? }
+ end
+
+ def attribution_domains_as_text
+ self[:attribution_domains].join("\n")
+ end
+
+ def attribution_domains_as_text=(str)
+ self[:attribution_domains] = str.split.filter_map do |line|
+ line.strip.delete_prefix('*.')
+ end
+ end
+
+ def can_be_attributed_from?(domain)
+ segments = domain.split('.')
+ variants = segments.map.with_index { |_, i| segments[i..].join('.') }.to_set
+ self[:attribution_domains].to_set.intersect?(variants)
+ end
+end
diff --git a/app/models/concerns/redisable.rb b/app/models/concerns/redisable.rb
index 0dad3abb2b3e0a..01763fa2978be6 100644
--- a/app/models/concerns/redisable.rb
+++ b/app/models/concerns/redisable.rb
@@ -2,10 +2,10 @@
module Redisable
def redis
- Thread.current[:redis] ||= RedisConfiguration.pool.checkout
+ Thread.current[:redis] ||= RedisConnection.pool.checkout
end
def with_redis(&block)
- RedisConfiguration.with(&block)
+ RedisConnection.with(&block)
end
end
diff --git a/app/models/concerns/reviewable.rb b/app/models/concerns/reviewable.rb
new file mode 100644
index 00000000000000..1f70474b35b1fd
--- /dev/null
+++ b/app/models/concerns/reviewable.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+module Reviewable
+ extend ActiveSupport::Concern
+
+ def requires_review?
+ reviewed_at.nil?
+ end
+
+ def reviewed?
+ reviewed_at.present?
+ end
+
+ def requested_review?
+ requested_review_at.present?
+ end
+
+ def requires_review_notification?
+ requires_review? && !requested_review?
+ end
+end
diff --git a/app/models/custom_emoji.rb b/app/models/custom_emoji.rb
index 31ba91ad02854d..6e788c0c1c6746 100644
--- a/app/models/custom_emoji.rb
+++ b/app/models/custom_emoji.rb
@@ -48,9 +48,10 @@ class CustomEmoji < ApplicationRecord
scope :local, -> { where(domain: nil) }
scope :remote, -> { where.not(domain: nil) }
+ scope :enabled, -> { where(disabled: false) }
scope :alphabetic, -> { order(domain: :asc, shortcode: :asc) }
scope :by_domain_and_subdomains, ->(domain) { where(domain: domain).or(where(arel_table[:domain].matches("%.#{domain}"))) }
- scope :listed, -> { local.where(disabled: false).where(visible_in_picker: true) }
+ scope :listed, -> { local.enabled.where(visible_in_picker: true) }
remotable_attachment :image, LIMIT
diff --git a/app/models/featured_tag.rb b/app/models/featured_tag.rb
index cdd97205eb71f8..a4e7b7cf6f0262 100644
--- a/app/models/featured_tag.rb
+++ b/app/models/featured_tag.rb
@@ -45,7 +45,7 @@ def increment(timestamp)
end
def decrement(deleted_status_id)
- update(statuses_count: [0, statuses_count - 1].max, last_status_at: visible_tagged_account_statuses.where.not(id: deleted_status_id).select(:created_at).first&.created_at)
+ update(statuses_count: [0, statuses_count - 1].max, last_status_at: visible_tagged_account_statuses.where.not(id: deleted_status_id).pick(:created_at))
end
private
@@ -56,7 +56,7 @@ def set_tag
def reset_data
self.statuses_count = visible_tagged_account_statuses.count
- self.last_status_at = visible_tagged_account_statuses.select(:created_at).first&.created_at
+ self.last_status_at = visible_tagged_account_statuses.pick(:created_at)
end
def validate_featured_tags_limit
diff --git a/app/models/list.rb b/app/models/list.rb
index b45bd057bc7caa..d4915f56fae830 100644
--- a/app/models/list.rb
+++ b/app/models/list.rb
@@ -20,21 +20,23 @@ class List < ApplicationRecord
enum :replies_policy, { list: 0, followed: 1, none: 2 }, prefix: :show
- belongs_to :account, optional: true
+ belongs_to :account
has_many :list_accounts, inverse_of: :list, dependent: :destroy
has_many :accounts, through: :list_accounts
validates :title, presence: true
- validates_each :account_id, on: :create do |record, _attr, value|
- record.errors.add(:base, I18n.t('lists.errors.limit')) if List.where(account_id: value).count >= PER_ACCOUNT_LIMIT
- end
+ validate :validate_account_lists_limit, on: :create
before_destroy :clean_feed_manager
private
+ def validate_account_lists_limit
+ errors.add(:base, I18n.t('lists.errors.limit')) if account.lists.count >= PER_ACCOUNT_LIMIT
+ end
+
def clean_feed_manager
FeedManager.instance.clean_feeds!(:list, [id])
end
diff --git a/app/models/media_attachment.rb b/app/models/media_attachment.rb
index 484550eefe253a..07459be3deedf0 100644
--- a/app/models/media_attachment.rb
+++ b/app/models/media_attachment.rb
@@ -422,7 +422,7 @@ def prepare_cache_bust!
attachment = public_send(attachment_name)
styles = DEFAULT_STYLES | attachment.styles.keys
styles.map { |style| attachment.path(style) }
- end
+ end.compact
rescue => e
# We really don't want any error here preventing media deletion
Rails.logger.warn "Error #{e.class} busting cache: #{e.message}"
diff --git a/app/models/mention.rb b/app/models/mention.rb
index af9bb7378bcf8f..a508ed630e2f2f 100644
--- a/app/models/mention.rb
+++ b/app/models/mention.rb
@@ -29,8 +29,4 @@ class Mention < ApplicationRecord
to: :account,
prefix: true
)
-
- def active?
- !silent?
- end
end
diff --git a/app/models/notification.rb b/app/models/notification.rb
index f1605f0347ad12..44a43d2ece0c65 100644
--- a/app/models/notification.rb
+++ b/app/models/notification.rb
@@ -30,6 +30,8 @@ class Notification < ApplicationRecord
'Poll' => :poll,
}.freeze
+ GROUPABLE_NOTIFICATION_TYPES = %i(favourite reblog).freeze
+
# Please update app/javascript/api_types/notification.ts if you change this
PROPERTIES = {
mention: {
@@ -138,17 +140,40 @@ def browserable(types: [], exclude_types: [], from_account_id: nil, include_filt
end
end
- def paginate_groups(limit, pagination_order)
+ def paginate_groups(limit, pagination_order, grouped_types: nil)
raise ArgumentError unless %i(asc desc).include?(pagination_order)
query = reorder(id: pagination_order)
+ # Ideally `:types` would be a bind rather than part of the SQL itself, but that does not
+ # seem to be possible to do with Rails, considering that the expression would occur in
+ # multiple places, including in a `select`
+ group_key_sql = begin
+ if grouped_types.present?
+ # Normalize `grouped_types` so the number of different SQL query shapes remains small, and
+ # the queries can be analyzed in monitoring/telemetry tools
+ grouped_types = (grouped_types.map(&:to_sym) & GROUPABLE_NOTIFICATION_TYPES).sort
+
+ sanitize_sql_array([<<~SQL.squish, { types: grouped_types }])
+ COALESCE(
+ CASE
+ WHEN notifications.type IN (:types) THEN notifications.group_key
+ ELSE NULL
+ END,
+ 'ungrouped-' || notifications.id
+ )
+ SQL
+ else
+ "COALESCE(notifications.group_key, 'ungrouped-' || notifications.id)"
+ end
+ end
+
unscoped
.with_recursive(
grouped_notifications: [
# Base case: fetching one notification and annotating it with visited groups
query
- .select('notifications.*', "ARRAY[COALESCE(notifications.group_key, 'ungrouped-' || notifications.id)] AS groups")
+ .select('notifications.*', "ARRAY[#{group_key_sql}] AS groups")
.limit(1),
# Recursive case, always yielding at most one annotated notification
unscoped
@@ -163,12 +188,12 @@ def paginate_groups(limit, pagination_order)
# Recursive query, using `LATERAL` so we can refer to `wt`
query
.where(pagination_order == :desc ? 'notifications.id < wt.id' : 'notifications.id > wt.id')
- .where.not("COALESCE(notifications.group_key, 'ungrouped-' || notifications.id) = ANY(wt.groups)")
+ .where.not("#{group_key_sql} = ANY(wt.groups)")
.limit(1)
.arel.lateral('notifications'),
]
)
- .select('notifications.*', "array_append(wt.groups, COALESCE(notifications.group_key, 'ungrouped-' || notifications.id))"),
+ .select('notifications.*', "array_append(wt.groups, #{group_key_sql}) AS groups"),
]
)
.from('grouped_notifications AS notifications')
@@ -178,28 +203,28 @@ def paginate_groups(limit, pagination_order)
# This returns notifications from the request page, but with at most one notification per group.
# Notifications that have no `group_key` each count as a separate group.
- def paginate_groups_by_max_id(limit, max_id: nil, since_id: nil)
+ def paginate_groups_by_max_id(limit, max_id: nil, since_id: nil, grouped_types: nil)
query = reorder(id: :desc)
- query = query.where(id: ...max_id) if max_id.present?
- query = query.where(id: (since_id + 1)...) if since_id.present?
- query.paginate_groups(limit, :desc)
+ 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, grouped_types: grouped_types)
end
# Differs from :paginate_groups_by_max_id in that it gives the results immediately following min_id,
# whereas since_id gives the items with largest id, but with since_id as a cutoff.
# Results will be in ascending order by id.
- def paginate_groups_by_min_id(limit, max_id: nil, min_id: nil)
+ def paginate_groups_by_min_id(limit, max_id: nil, min_id: nil, grouped_types: nil)
query = reorder(id: :asc)
- query = query.where(id: (min_id + 1)...) if min_id.present?
- query = query.where(id: ...max_id) if max_id.present?
- query.paginate_groups(limit, :asc)
+ 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, grouped_types: grouped_types)
end
def to_a_grouped_paginated_by_id(limit, options = {})
if options[:min_id].present?
- paginate_groups_by_min_id(limit, min_id: options[:min_id], max_id: options[:max_id]).reverse
+ paginate_groups_by_min_id(limit, min_id: options[:min_id], max_id: options[:max_id], grouped_types: options[:grouped_types]).reverse
else
- paginate_groups_by_max_id(limit, max_id: options[:max_id], since_id: options[:since_id]).to_a
+ paginate_groups_by_max_id(limit, max_id: options[:max_id], since_id: options[:since_id], grouped_types: options[:grouped_types]).to_a
end
end
diff --git a/app/models/notification_group.rb b/app/models/notification_group.rb
index 223945f07bf681..b6aa4d309caa5a 100644
--- a/app/models/notification_group.rb
+++ b/app/models/notification_group.rb
@@ -1,35 +1,49 @@
# frozen_string_literal: true
class NotificationGroup < ActiveModelSerializers::Model
- attributes :group_key, :sample_accounts, :notifications_count, :notification, :most_recent_notification_id
+ attributes :group_key, :sample_accounts, :notifications_count, :notification, :most_recent_notification_id, :pagination_data
# Try to keep this consistent with `app/javascript/mastodon/models/notification_group.ts`
SAMPLE_ACCOUNTS_SIZE = 8
- def self.from_notification(notification, max_id: nil)
- if notification.group_key.present?
- # TODO: caching, and, if caching, preloading
- scope = notification.account.notifications.where(group_key: notification.group_key)
- scope = scope.where(id: ..max_id) if max_id.present?
-
- # Ideally, we would not load accounts for each notification group
- most_recent_notifications = scope.order(id: :desc).includes(:from_account).take(SAMPLE_ACCOUNTS_SIZE)
- most_recent_id = most_recent_notifications.first.id
- sample_accounts = most_recent_notifications.map(&:from_account)
- notifications_count = scope.count
- else
- most_recent_id = notification.id
- sample_accounts = [notification.from_account]
- notifications_count = 1
- end
+ def self.from_notifications(notifications, pagination_range: nil, grouped_types: nil)
+ return [] if notifications.empty?
+
+ grouped_types = grouped_types.presence&.map(&:to_sym) || Notification::GROUPABLE_NOTIFICATION_TYPES
+
+ grouped_notifications = notifications.filter { |notification| notification.group_key.present? && grouped_types.include?(notification.type) }
+ group_keys = grouped_notifications.pluck(:group_key)
+
+ groups_data = load_groups_data(notifications.first.account_id, group_keys, pagination_range: pagination_range)
+ accounts_map = Account.where(id: groups_data.values.pluck(1).flatten).index_by(&:id)
- NotificationGroup.new(
- notification: notification,
- group_key: notification.group_key || "ungrouped-#{notification.id}",
- sample_accounts: sample_accounts,
- notifications_count: notifications_count,
- most_recent_notification_id: most_recent_id
- )
+ notifications.map do |notification|
+ if notification.group_key.present? && grouped_types.include?(notification.type)
+ most_recent_notification_id, sample_account_ids, count, *raw_pagination_data = groups_data[notification.group_key]
+
+ pagination_data = raw_pagination_data.empty? ? nil : { min_id: raw_pagination_data[0], latest_notification_at: raw_pagination_data[1] }
+
+ NotificationGroup.new(
+ notification: notification,
+ group_key: notification.group_key,
+ sample_accounts: sample_account_ids.map { |id| accounts_map[id] },
+ notifications_count: count,
+ most_recent_notification_id: most_recent_notification_id,
+ pagination_data: pagination_data
+ )
+ else
+ pagination_data = pagination_range.blank? ? nil : { min_id: notification.id, latest_notification_at: notification.created_at }
+
+ NotificationGroup.new(
+ notification: notification,
+ group_key: "ungrouped-#{notification.id}",
+ sample_accounts: [notification.from_account],
+ notifications_count: 1,
+ most_recent_notification_id: notification.id,
+ pagination_data: pagination_data
+ )
+ end
+ end
end
delegate :type,
@@ -38,4 +52,50 @@ def self.from_notification(notification, max_id: nil)
:account_relationship_severance_event,
:account_warning,
to: :notification, prefix: false
+
+ class << self
+ private
+
+ def load_groups_data(account_id, group_keys, pagination_range: nil)
+ return {} if group_keys.empty?
+
+ if pagination_range.present?
+ binds = [
+ account_id,
+ SAMPLE_ACCOUNTS_SIZE,
+ pagination_range.begin,
+ pagination_range.end,
+ ActiveRecord::Relation::QueryAttribute.new('group_keys', group_keys, ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Array.new(ActiveModel::Type::String.new)),
+ ]
+
+ ActiveRecord::Base.connection.select_all(<<~SQL.squish, 'grouped_notifications', binds).cast_values.to_h { |k, *values| [k, values] }
+ SELECT
+ groups.group_key,
+ (SELECT id FROM notifications WHERE notifications.account_id = $1 AND notifications.group_key = groups.group_key AND id <= $4 ORDER BY id DESC LIMIT 1),
+ array(SELECT from_account_id FROM notifications WHERE notifications.account_id = $1 AND notifications.group_key = groups.group_key AND id <= $4 ORDER BY id DESC LIMIT $2),
+ (SELECT count(*) FROM notifications WHERE notifications.account_id = $1 AND notifications.group_key = groups.group_key AND id <= $4) AS notifications_count,
+ (SELECT id FROM notifications WHERE notifications.account_id = $1 AND notifications.group_key = groups.group_key AND id >= $3 ORDER BY id ASC LIMIT 1) AS min_id,
+ (SELECT created_at FROM notifications WHERE notifications.account_id = $1 AND notifications.group_key = groups.group_key AND id <= $4 ORDER BY id DESC LIMIT 1)
+ FROM
+ unnest($5::text[]) AS groups(group_key);
+ SQL
+ else
+ binds = [
+ account_id,
+ SAMPLE_ACCOUNTS_SIZE,
+ ActiveRecord::Relation::QueryAttribute.new('group_keys', group_keys, ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Array.new(ActiveModel::Type::String.new)),
+ ]
+
+ ActiveRecord::Base.connection.select_all(<<~SQL.squish, 'grouped_notifications', binds).cast_values.to_h { |k, *values| [k, values] }
+ SELECT
+ groups.group_key,
+ (SELECT id FROM notifications WHERE notifications.account_id = $1 AND notifications.group_key = groups.group_key ORDER BY id DESC LIMIT 1),
+ array(SELECT from_account_id FROM notifications WHERE notifications.account_id = $1 AND notifications.group_key = groups.group_key ORDER BY id DESC LIMIT $2),
+ (SELECT count(*) FROM notifications WHERE notifications.account_id = $1 AND notifications.group_key = groups.group_key) AS notifications_count
+ FROM
+ unnest($3::text[]) AS groups(group_key);
+ SQL
+ end
+ end
+ end
end
diff --git a/app/models/preview_card_provider.rb b/app/models/preview_card_provider.rb
index 756707e3f1aed8..48944fe638467d 100644
--- a/app/models/preview_card_provider.rb
+++ b/app/models/preview_card_provider.rb
@@ -21,6 +21,7 @@ class PreviewCardProvider < ApplicationRecord
include Paginable
include DomainNormalizable
include Attachmentable
+ include Reviewable
ICON_MIME_TYPES = %w(image/x-icon image/vnd.microsoft.icon image/png).freeze
LIMIT = 1.megabyte
@@ -36,22 +37,6 @@ class PreviewCardProvider < ApplicationRecord
scope :reviewed, -> { where.not(reviewed_at: nil) }
scope :pending_review, -> { where(reviewed_at: nil) }
- def requires_review?
- reviewed_at.nil?
- end
-
- def reviewed?
- reviewed_at.present?
- end
-
- def requested_review?
- requested_review_at.present?
- end
-
- def requires_review_notification?
- requires_review? && !requested_review?
- end
-
def self.matching_domain(domain)
segments = domain.split('.')
where(domain: segments.map.with_index { |_, i| segments[i..].join('.') }).by_domain_length.first
diff --git a/app/models/report_note.rb b/app/models/report_note.rb
index 7361c97e670a5e..9d3be52594f4c4 100644
--- a/app/models/report_note.rb
+++ b/app/models/report_note.rb
@@ -18,7 +18,7 @@ class ReportNote < ApplicationRecord
belongs_to :account
belongs_to :report, inverse_of: :notes, touch: true
- scope :latest, -> { reorder(created_at: :desc) }
+ scope :chronological, -> { reorder(id: :asc) }
validates :content, presence: true, length: { maximum: CONTENT_SIZE_LIMIT }
end
diff --git a/app/models/status.rb b/app/models/status.rb
index 848759e0536c61..ab94886347b5ba 100644
--- a/app/models/status.rb
+++ b/app/models/status.rb
@@ -52,7 +52,7 @@ class Status < ApplicationRecord
update_index('statuses', :proper)
update_index('public_statuses', :proper)
- enum :visibility, { public: 0, unlisted: 1, private: 2, direct: 3, limited: 4 }, suffix: :visibility
+ enum :visibility, { public: 0, unlisted: 1, private: 2, direct: 3, limited: 4 }, suffix: :visibility, validate: true
belongs_to :application, class_name: 'Doorkeeper::Application', optional: true
diff --git a/app/models/tag.rb b/app/models/tag.rb
index 9006e1f25d9c4b..acf514919be9b7 100644
--- a/app/models/tag.rb
+++ b/app/models/tag.rb
@@ -21,6 +21,8 @@
class Tag < ApplicationRecord
include Paginable
+ include Reviewable
+
# rubocop:disable Rails/HasAndBelongsToMany
has_and_belongs_to_many :statuses
has_and_belongs_to_many :accounts
@@ -97,22 +99,6 @@ def trendable
alias trendable? trendable
- def requires_review?
- reviewed_at.nil?
- end
-
- def reviewed?
- reviewed_at.present?
- end
-
- def requested_review?
- requested_review_at.present?
- end
-
- def requires_review_notification?
- requires_review? && !requested_review?
- end
-
def decaying?
max_score_at && max_score_at >= Trends.tags.options[:max_score_cooldown].ago && max_score_at < 1.day.ago
end
diff --git a/app/models/trends/tag_filter.rb b/app/models/trends/tag_filter.rb
index 46b747819e150b..d6f88a9486e710 100644
--- a/app/models/trends/tag_filter.rb
+++ b/app/models/trends/tag_filter.rb
@@ -14,7 +14,7 @@ def initialize(params)
def results
scope = if params[:status] == 'pending_review'
- Tag.unscoped
+ Tag.unscoped.order(id: :desc)
else
trending_scope
end
diff --git a/app/models/user.rb b/app/models/user.rb
index 72854569260e80..fcb0eced72e3b9 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -100,7 +100,7 @@ class User < ApplicationRecord
validates :email, presence: true, email_address: true
- validates_with BlacklistedEmailValidator, if: -> { ENV['EMAIL_DOMAIN_LISTS_APPLY_AFTER_CONFIRMATION'] == 'true' || !confirmed? }
+ validates_with UserEmailValidator, if: -> { ENV['EMAIL_DOMAIN_LISTS_APPLY_AFTER_CONFIRMATION'] == 'true' || !confirmed? }
validates_with EmailMxValidator, if: :validate_email_dns?
validates :agreement, acceptance: { allow_nil: false, accept: [true, 'true', '1'] }, on: :create
@@ -246,10 +246,6 @@ def unconfirmed_or_pending?
unconfirmed? || pending?
end
- def inactive_message
- approved? ? super : :pending
- end
-
def approve!
return if approved?
diff --git a/app/serializers/activitypub/actor_serializer.rb b/app/serializers/activitypub/actor_serializer.rb
index 3f74d5b25c7dd8..61f96386577979 100644
--- a/app/serializers/activitypub/actor_serializer.rb
+++ b/app/serializers/activitypub/actor_serializer.rb
@@ -8,7 +8,7 @@ class ActivityPub::ActorSerializer < ActivityPub::Serializer
context_extensions :manually_approves_followers, :featured, :also_known_as,
:moved_to, :property_value, :discoverable, :olm, :suspended,
- :memorial, :indexable
+ :memorial, :indexable, :attribution_domains
attributes :id, :type, :following, :followers,
:inbox, :outbox, :featured, :featured_tags,
@@ -25,6 +25,7 @@ class ActivityPub::ActorSerializer < ActivityPub::Serializer
attribute :moved_to, if: :moved?
attribute :also_known_as, if: :also_known_as?
attribute :suspended, if: :suspended?
+ attribute :attribution_domains, if: -> { object.attribution_domains.any? }
class EndpointsSerializer < ActivityPub::Serializer
include RoutingHelper
diff --git a/app/serializers/initial_state_serializer.rb b/app/serializers/initial_state_serializer.rb
index b8fbeb5d852066..2274bcff31782d 100644
--- a/app/serializers/initial_state_serializer.rb
+++ b/app/serializers/initial_state_serializer.rb
@@ -114,6 +114,7 @@ def default_meta_store
trends_as_landing_page: Setting.trends_as_landing_page,
trends_enabled: Setting.trends,
version: instance_presenter.version,
+ force_grouped_notifications: ENV['FORCE_GROUPED_NOTIFICATIONS'] == 'true',
}
end
diff --git a/app/serializers/manifest_serializer.rb b/app/serializers/manifest_serializer.rb
index a39fb5ef540765..cf0164c24a34b8 100644
--- a/app/serializers/manifest_serializer.rb
+++ b/app/serializers/manifest_serializer.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
class ManifestSerializer < ActiveModel::Serializer
- include ApplicationHelper
+ include InstanceHelper
include RoutingHelper
include ActionView::Helpers::TextHelper
diff --git a/app/serializers/oembed_serializer.rb b/app/serializers/oembed_serializer.rb
index d6261d72422b5d..19fa5ddec7856b 100644
--- a/app/serializers/oembed_serializer.rb
+++ b/app/serializers/oembed_serializer.rb
@@ -1,6 +1,13 @@
# frozen_string_literal: true
class OEmbedSerializer < ActiveModel::Serializer
+ INLINE_STYLES = {
+ blockquote: 'max-width: 540px; min-width: 270px; background:#FCF8FF; border: 1px solid #C9C4DA; border-radius: 8px; overflow: hidden; margin: 0; padding: 0;',
+ a: "color: #1C1A25; text-decoration: none; display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 24px; font-size: 14px; line-height: 20px; letter-spacing: 0.25px; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', Roboto, sans-serif;", # rubocop:disable Layout/LineLength
+ div0: 'margin-top: 16px; color: #787588;',
+ div1: 'font-weight: 500;',
+ }.freeze
+
include RoutingHelper
include ActionView::Helpers::TagHelper
@@ -37,16 +44,16 @@ def cache_age
end
def html
- attributes = {
- src: embed_short_account_status_url(object.account, object),
- class: 'mastodon-embed',
- style: 'max-width: 100%; border: 0',
- width: width,
- height: height,
- allowfullscreen: true,
- }
-
- content_tag(:iframe, nil, attributes) + content_tag(:script, nil, src: full_asset_url('embed.js', skip_pipeline: true), async: true)
+ <<~HTML.squish
+
+
+
+ Post by @#{object.account.pretty_acct}@#{provider_name}
+ View on Mastodon
+
+
+
+ HTML
end
def width
diff --git a/app/serializers/rest/instance_serializer.rb b/app/serializers/rest/instance_serializer.rb
index 0bdeb1ee5b2079..d3e3eb9fb11f54 100644
--- a/app/serializers/rest/instance_serializer.rb
+++ b/app/serializers/rest/instance_serializer.rb
@@ -7,11 +7,12 @@ class ContactSerializer < ActiveModel::Serializer
has_one :account, serializer: REST::AccountSerializer
end
+ include InstanceHelper
include RoutingHelper
attributes :domain, :title, :version, :source_url, :description,
- :usage, :thumbnail, :languages, :configuration,
- :registrations,
+ :usage, :thumbnail, :icon, :languages, :configuration,
+ :registrations, :api_versions,
:max_toot_chars
has_one :contact, serializer: ContactSerializer
@@ -38,6 +39,18 @@ def max_toot_chars
StatusLengthValidator::MAX_CHARS
end
+ def icon
+ SiteUpload::ANDROID_ICON_SIZES.map do |size|
+ src = app_icon_path(size.to_i)
+ src = URI.join(root_url, src).to_s if src.present?
+
+ {
+ src: src || frontend_asset_url("icons/android-chrome-#{size}x#{size}.png"),
+ size: "#{size}x#{size}",
+ }
+ end
+ end
+
def usage
{
users: {
@@ -69,7 +82,7 @@ def configuration
},
media_attachments: {
- supported_mime_types: MediaAttachment::IMAGE_MIME_TYPES + MediaAttachment::VIDEO_MIME_TYPES + MediaAttachment::AUDIO_MIME_TYPES,
+ supported_mime_types: MediaAttachment.supported_mime_types,
image_size_limit: MediaAttachment::IMAGE_LIMIT,
image_matrix_limit: Attachmentable::MAX_MATRIX_LIMIT,
video_size_limit: MediaAttachment::VIDEO_LIMIT,
@@ -99,6 +112,12 @@ def registrations
}
end
+ def api_versions
+ {
+ mastodon: 1,
+ }
+ end
+
private
def registrations_enabled?
diff --git a/app/serializers/rest/notification_group_serializer.rb b/app/serializers/rest/notification_group_serializer.rb
index b855f1cba9c53b..7e8f00df3c7189 100644
--- a/app/serializers/rest/notification_group_serializer.rb
+++ b/app/serializers/rest/notification_group_serializer.rb
@@ -39,21 +39,18 @@ def moderation_warning_event?
end
def page_min_id
- range = instance_options[:group_metadata][object.group_key]
- range.present? ? range[:min_id].to_s : object.notification.id.to_s
+ object.pagination_data[:min_id].to_s
end
def page_max_id
- range = instance_options[:group_metadata][object.group_key]
- range.present? ? range[:max_id].to_s : object.notification.id.to_s
+ object.most_recent_notification_id.to_s
end
def latest_page_notification_at
- range = instance_options[:group_metadata][object.group_key]
- range.present? ? range[:latest_notification_at] : object.notification.created_at
+ object.pagination_data[:latest_notification_at]
end
def paginated?
- !instance_options[:group_metadata].nil?
+ object.pagination_data.present?
end
end
diff --git a/app/serializers/rest/v1/instance_serializer.rb b/app/serializers/rest/v1/instance_serializer.rb
index 636925b973f23d..7f9f21c5af18f2 100644
--- a/app/serializers/rest/v1/instance_serializer.rb
+++ b/app/serializers/rest/v1/instance_serializer.rb
@@ -69,7 +69,7 @@ def configuration
},
media_attachments: {
- supported_mime_types: MediaAttachment::IMAGE_MIME_TYPES + MediaAttachment::VIDEO_MIME_TYPES + MediaAttachment::AUDIO_MIME_TYPES,
+ supported_mime_types: MediaAttachment.supported_mime_types,
image_size_limit: MediaAttachment::IMAGE_LIMIT,
image_matrix_limit: Attachmentable::MAX_MATRIX_LIMIT,
video_size_limit: MediaAttachment::VIDEO_LIMIT,
diff --git a/app/services/accept_notification_request_service.rb b/app/services/accept_notification_request_service.rb
index e49eae6fd300e2..60ec6bb3b6334a 100644
--- a/app/services/accept_notification_request_service.rb
+++ b/app/services/accept_notification_request_service.rb
@@ -1,8 +1,21 @@
# frozen_string_literal: true
class AcceptNotificationRequestService < BaseService
+ include Redisable
+
def call(request)
NotificationPermission.create!(account: request.account, from_account: request.from_account)
- UnfilterNotificationsWorker.perform_async(request.id)
+ increment_worker_count!(request)
+ UnfilterNotificationsWorker.perform_async(request.account_id, request.from_account_id)
+ request.destroy!
+ end
+
+ private
+
+ def increment_worker_count!(request)
+ with_redis do |redis|
+ redis.incr("notification_unfilter_jobs:#{request.account_id}")
+ redis.expire("notification_unfilter_jobs:#{request.account_id}", 30.minutes.to_i)
+ end
end
end
diff --git a/app/services/activitypub/process_account_service.rb b/app/services/activitypub/process_account_service.rb
index 9914ae22bd228d..fffd50a3d32c9c 100644
--- a/app/services/activitypub/process_account_service.rb
+++ b/app/services/activitypub/process_account_service.rb
@@ -117,6 +117,7 @@ def set_immediate_attributes!
@account.discoverable = @json['discoverable'] || false
@account.indexable = @json['indexable'] || false
@account.memorial = @json['memorial'] || false
+ @account.attribution_domains = as_array(@json['attributionDomains'] || []).map { |item| value_or_id(item) }
end
def set_fetchable_key!
diff --git a/app/services/fetch_link_card_service.rb b/app/services/fetch_link_card_service.rb
index 49b8205574786b..7662fc1f297e03 100644
--- a/app/services/fetch_link_card_service.rb
+++ b/app/services/fetch_link_card_service.rb
@@ -29,7 +29,7 @@ def call(status)
end
attach_card if @card&.persisted?
- rescue HTTP::Error, OpenSSL::SSL::SSLError, Addressable::URI::InvalidURIError, Mastodon::HostValidationError, Mastodon::LengthValidationError, EncodingError, ActiveRecord::RecordInvalid => e
+ rescue HTTP::Error, OpenSSL::SSL::SSLError, Addressable::URI::InvalidURIError, Mastodon::HostValidationError, Mastodon::LengthValidationError, Encoding::UndefinedConversionError, ActiveRecord::RecordInvalid => e
Rails.logger.debug { "Error fetching link #{@original_url}: #{e}" }
nil
end
@@ -80,7 +80,7 @@ def parse_urls
urls = if @status.local?
@status.text.scan(URL_PATTERN).map { |array| Addressable::URI.parse(array[1]).normalize }
else
- document = Nokogiri::HTML(@status.text)
+ document = Nokogiri::HTML5(@status.text)
links = document.css('a')
links.filter_map { |a| Addressable::URI.parse(a['href']) unless skip_link?(a) }.filter_map(&:normalize)
@@ -153,12 +153,13 @@ def attempt_opengraph
return if html.nil?
link_details_extractor = LinkDetailsExtractor.new(@url, @html, @html_charset)
- provider = PreviewCardProvider.matching_domain(Addressable::URI.parse(link_details_extractor.canonical_url).normalized_host)
- linked_account = ResolveAccountService.new.call(link_details_extractor.author_account, suppress_errors: true) if link_details_extractor.author_account.present? && provider&.trendable?
+ domain = Addressable::URI.parse(link_details_extractor.canonical_url).normalized_host
+ provider = PreviewCardProvider.matching_domain(domain)
+ linked_account = ResolveAccountService.new.call(link_details_extractor.author_account, suppress_errors: true) if link_details_extractor.author_account.present?
@card = PreviewCard.find_or_initialize_by(url: link_details_extractor.canonical_url) if link_details_extractor.canonical_url != @card.url
@card.assign_attributes(link_details_extractor.to_preview_card_attributes)
- @card.author_account = linked_account
+ @card.author_account = linked_account if linked_account&.can_be_attributed_from?(domain) || provider&.trendable?
@card.save_with_optional_image! unless @card.title.blank? && @card.html.blank?
end
end
diff --git a/app/services/fetch_oembed_service.rb b/app/services/fetch_oembed_service.rb
index dc84b16b684a7d..c7d4f7e2927aef 100644
--- a/app/services/fetch_oembed_service.rb
+++ b/app/services/fetch_oembed_service.rb
@@ -25,7 +25,7 @@ def discover_endpoint!
return if html.nil?
@format = @options[:format]
- page = Nokogiri::HTML(html)
+ page = Nokogiri::HTML5(html)
if @format.nil? || @format == :json
@endpoint_url ||= page.at_xpath('//link[@type="application/json+oembed"]|//link[@type="text/json+oembed"]')&.attribute('href')&.value
diff --git a/app/services/fetch_resource_service.rb b/app/services/fetch_resource_service.rb
index 84c36f6a1014b8..b69015a5e9aa6e 100644
--- a/app/services/fetch_resource_service.rb
+++ b/app/services/fetch_resource_service.rb
@@ -73,7 +73,7 @@ def expected_type?(json)
end
def process_html(response)
- page = Nokogiri::HTML(response.body_with_limit)
+ page = Nokogiri::HTML5(response.body_with_limit)
json_link = page.xpath('//link[@rel="alternate"]').find { |link| ACTIVITY_STREAM_LINK_TYPES.include?(link['type']) }
process(json_link['href'], terminal: true) unless json_link.nil?
diff --git a/app/services/notify_service.rb b/app/services/notify_service.rb
index 788381fe6b10e8..97eee0548763e6 100644
--- a/app/services/notify_service.rb
+++ b/app/services/notify_service.rb
@@ -5,6 +5,7 @@ class NotifyService < BaseService
MAXIMUM_GROUP_SPAN_HOURS = 12
+ # TODO: the severed_relationships type probably warrants email notifications
NON_EMAIL_TYPES = %i(
admin.report
admin.sign_up
@@ -12,7 +13,6 @@ class NotifyService < BaseService
poll
status
moderation_warning
- # TODO: this probably warrants an email notification
severed_relationships
).freeze
@@ -237,7 +237,7 @@ def call(recipient, type, activity)
private
def notification_group_key
- return nil if @notification.filtered || %i(favourite reblog).exclude?(@notification.type)
+ return nil if @notification.filtered || Notification::GROUPABLE_NOTIFICATION_TYPES.exclude?(@notification.type)
type_prefix = "#{@notification.type}-#{@notification.target_status.id}"
redis_key = "notif-group/#{@recipient.id}/#{type_prefix}"
diff --git a/app/services/post_status_service.rb b/app/services/post_status_service.rb
index 8b18ce038d8d47..98fd95f0258da4 100644
--- a/app/services/post_status_service.rb
+++ b/app/services/post_status_service.rb
@@ -134,6 +134,9 @@ def validate_media!
@media = @account.media_attachments.where(status_id: nil).where(id: @options[:media_ids].take(Status::MEDIA_ATTACHMENTS_LIMIT).map(&:to_i))
+ not_found_ids = @options[:media_ids].map(&:to_i) - @media.map(&:id)
+ raise Mastodon::ValidationError, I18n.t('media_attachments.validations.not_found', ids: not_found_ids.join(', ')) if not_found_ids.any?
+
raise Mastodon::ValidationError, I18n.t('media_attachments.validations.images_and_video') if @media.size > 1 && @media.find(&:audio_or_video?)
raise Mastodon::ValidationError, I18n.t('media_attachments.validations.not_ready') if @media.any?(&:not_processed?)
end
diff --git a/app/services/translate_status_service.rb b/app/services/translate_status_service.rb
index 9ad146ae7d3da8..e2e076e21b9bbe 100644
--- a/app/services/translate_status_service.rb
+++ b/app/services/translate_status_service.rb
@@ -100,7 +100,7 @@ def wrap_emoji_shortcodes(text)
end
def unwrap_emoji_shortcodes(html)
- fragment = Nokogiri::HTML.fragment(html)
+ fragment = Nokogiri::HTML5.fragment(html)
fragment.css('span[translate="no"]').each do |element|
element.remove_attribute('translate')
element.replace(element.children) if element.attributes.empty?
diff --git a/app/services/update_status_service.rb b/app/services/update_status_service.rb
index dc7d177e2d1ef2..7837d37c959871 100644
--- a/app/services/update_status_service.rb
+++ b/app/services/update_status_service.rb
@@ -73,6 +73,9 @@ def validate_media!
media_attachments = @status.account.media_attachments.where(status_id: [nil, @status.id]).where(scheduled_status_id: nil).where(id: @options[:media_ids].take(Status::MEDIA_ATTACHMENTS_LIMIT).map(&:to_i)).to_a
+ not_found_ids = @options[:media_ids].map(&:to_i) - media_attachments.map(&:id)
+ raise Mastodon::ValidationError, I18n.t('media_attachments.validations.not_found', ids: not_found_ids.join(', ')) if not_found_ids.any?
+
raise Mastodon::ValidationError, I18n.t('media_attachments.validations.images_and_video') if media_attachments.size > 1 && media_attachments.find(&:audio_or_video?)
raise Mastodon::ValidationError, I18n.t('media_attachments.validations.not_ready') if media_attachments.any?(&:not_processed?)
diff --git a/app/services/verify_link_service.rb b/app/services/verify_link_service.rb
index b317fc31a859da..c4f4191e1f3bab 100644
--- a/app/services/verify_link_service.rb
+++ b/app/services/verify_link_service.rb
@@ -26,7 +26,7 @@ def perform_request!
def link_back_present?
return false if @body.blank?
- links = Nokogiri::HTML5(@body).xpath('//a[contains(concat(" ", normalize-space(@rel), " "), " me ")]|//link[contains(concat(" ", normalize-space(@rel), " "), " me ")]')
+ links = Nokogiri::HTML5(@body).css("a[rel~='me'],link[rel~='me']")
if links.any? { |link| link['href']&.downcase == @link_back.downcase }
true
diff --git a/app/validators/domain_validator.rb b/app/validators/domain_validator.rb
index 3a951f9a7e5096..718fd190f17523 100644
--- a/app/validators/domain_validator.rb
+++ b/app/validators/domain_validator.rb
@@ -1,22 +1,29 @@
# frozen_string_literal: true
class DomainValidator < ActiveModel::EachValidator
+ MAX_DOMAIN_LENGTH = 256
+ MIN_LABEL_LENGTH = 1
+ MAX_LABEL_LENGTH = 63
+ ALLOWED_CHARACTERS_RE = /^[a-z0-9\-]+$/i
+
def validate_each(record, attribute, value)
return if value.blank?
- domain = if options[:acct]
- value.split('@').last
- else
- value
- end
+ (options[:multiline] ? value.split : [value]).each do |domain|
+ _, domain = domain.split('@') if options[:acct]
+
+ next if domain.blank?
- record.errors.add(attribute, I18n.t('domain_validator.invalid_domain')) unless compliant?(domain)
+ record.errors.add(attribute, options[:multiline] ? :invalid_domain_on_line : :invalid, value: domain) unless compliant?(domain)
+ end
end
private
def compliant?(value)
- Addressable::URI.new.tap { |uri| uri.host = value }
+ uri = Addressable::URI.new
+ uri.host = value
+ uri.normalized_host.size < MAX_DOMAIN_LENGTH && uri.normalized_host.split('.').all? { |label| label.size.between?(MIN_LABEL_LENGTH, MAX_LABEL_LENGTH) && label =~ ALLOWED_CHARACTERS_RE }
rescue Addressable::URI::InvalidURIError, IDN::Idna::IdnaError
false
end
diff --git a/app/validators/email_mx_validator.rb b/app/validators/email_mx_validator.rb
index 794377894354c8..f78b98d7dd71b2 100644
--- a/app/validators/email_mx_validator.rb
+++ b/app/validators/email_mx_validator.rb
@@ -15,7 +15,7 @@ def validate(user)
if resolved_ips.empty?
user.errors.add(:email, :unreachable)
- elsif on_blacklist?(resolved_domains, user.sign_up_ip)
+ elsif email_domain_blocked?(resolved_domains, user.sign_up_ip)
user.errors.add(:email, :blocked)
end
end
@@ -34,9 +34,9 @@ def get_domain(value)
end
def on_allowlist?(domain)
- return false if Rails.configuration.x.email_domains_whitelist.blank?
+ return false if Rails.configuration.x.email_domains_allowlist.blank?
- Rails.configuration.x.email_domains_whitelist.include?(domain)
+ Rails.configuration.x.email_domains_allowlist.include?(domain)
end
def resolve_mx(domain)
@@ -58,7 +58,7 @@ def resolve_mx(domain)
[ips, records]
end
- def on_blacklist?(domains, attempt_ip)
+ def email_domain_blocked?(domains, attempt_ip)
EmailDomainBlock.block?(domains, attempt_ip: attempt_ip)
end
end
diff --git a/app/validators/lines_validator.rb b/app/validators/lines_validator.rb
new file mode 100644
index 00000000000000..27a108bb2c7e78
--- /dev/null
+++ b/app/validators/lines_validator.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+class LinesValidator < ActiveModel::EachValidator
+ def validate_each(record, attribute, value)
+ return if value.blank?
+
+ record.errors.add(attribute, :too_many_lines, limit: options[:maximum]) if options[:maximum].present? && value.split.size > options[:maximum]
+ end
+end
diff --git a/app/validators/blacklisted_email_validator.rb b/app/validators/user_email_validator.rb
similarity index 74%
rename from app/validators/blacklisted_email_validator.rb
rename to app/validators/user_email_validator.rb
index 9b3f2e33e55a6f..21b22794ef61fc 100644
--- a/app/validators/blacklisted_email_validator.rb
+++ b/app/validators/user_email_validator.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-class BlacklistedEmailValidator < ActiveModel::Validator
+class UserEmailValidator < ActiveModel::Validator
def validate(user)
return if user.valid_invitation? || user.email.blank?
@@ -23,18 +23,18 @@ def disallowed_through_email_domain_block?(email, ip)
end
def not_allowed_through_configuration?(email)
- return false if Rails.configuration.x.email_domains_whitelist.blank?
+ return false if Rails.configuration.x.email_domains_allowlist.blank?
- domains = Rails.configuration.x.email_domains_whitelist.gsub('.', '\.')
+ domains = Rails.configuration.x.email_domains_allowlist.gsub('.', '\.')
regexp = Regexp.new("@(.+\\.)?(#{domains})$", true)
email !~ regexp
end
def disallowed_through_configuration?(email)
- return false if Rails.configuration.x.email_domains_blacklist.blank?
+ return false if Rails.configuration.x.email_domains_denylist.blank?
- domains = Rails.configuration.x.email_domains_blacklist.gsub('.', '\.')
+ domains = Rails.configuration.x.email_domains_denylist.gsub('.', '\.')
regexp = Regexp.new("@(.+\\.)?(#{domains})", true)
regexp.match?(email)
diff --git a/app/views/admin/account_actions/new.html.haml b/app/views/admin/account_actions/new.html.haml
index bce1c31760d6e8..5b98582d8c769a 100644
--- a/app/views/admin/account_actions/new.html.haml
+++ b/app/views/admin/account_actions/new.html.haml
@@ -1,6 +1,13 @@
- content_for :page_title do
= t('admin.account_actions.title', acct: @account.pretty_acct)
+- if @account.suspended?
+ .flash-message.alert
+ = t('admin.account_actions.already_suspended')
+- elsif @account.silenced?
+ .flash-message.warn
+ = t('admin.account_actions.already_silenced')
+
= simple_form_for @account_action, url: admin_account_action_path(@account.id) do |f|
= f.input :report_id,
as: :hidden
@@ -9,6 +16,7 @@
= f.input :type,
as: :radio_buttons,
collection: Admin::AccountAction.types_for_account(@account),
+ disabled: Admin::AccountAction.disabled_types_for_account(@account),
hint: t('simple_form.hints.admin_account_action.type_html', acct: @account.pretty_acct),
include_blank: false,
label_method: ->(type) { account_action_type_label(type) },
diff --git a/app/views/admin/accounts/_local_account.html.haml b/app/views/admin/accounts/_local_account.html.haml
index 3ed392cd1a53db..5357ebcce9bc7b 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,11 +48,11 @@
= 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
- = table_link_to 'key', t('admin.accounts.reset_password'), admin_account_reset_path(account.id), method: :create, data: { confirm: t('admin.accounts.are_you_sure') }
+ = table_link_to 'key', t('admin.accounts.reset_password'), admin_account_reset_path(account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
%tr
%th= t('simple_form.labels.defaults.locale')
%td= standard_locale_name(account.user_locale)
diff --git a/app/views/admin/accounts/_remote_account.html.haml b/app/views/admin/accounts/_remote_account.html.haml
index 6755af2496c10c..a052e877f43f12 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 1c7f89ef21a43c..8190f87d2f6b23 100644
--- a/app/views/admin/announcements/_announcement.html.haml
+++ b/app/views/admin/announcements/_announcement.html.haml
@@ -1,4 +1,4 @@
-.announcements-list__item
+.announcements-list__item{ id: dom_id(announcement) }
= link_to edit_admin_announcement_path(announcement), class: 'announcements-list__item__title' do
= truncate(announcement.text)
@@ -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/dashboard/index.html.haml b/app/views/admin/dashboard/index.html.haml
index 8430dd3c4f1327..27d8f4790ba8be 100644
--- a/app/views/admin/dashboard/index.html.haml
+++ b/app/views/admin/dashboard/index.html.haml
@@ -56,19 +56,19 @@
.dashboard__item
= link_to admin_reports_path, class: 'dashboard__quick-access' do
- %span= t('admin.dashboard.pending_reports_html', count: @pending_reports_count)
+ %span= t('admin.dashboard.pending_reports_html', count: @pending_reports_count.value)
= material_symbol 'chevron_right'
= link_to admin_accounts_path(status: 'pending'), class: 'dashboard__quick-access' do
- %span= t('admin.dashboard.pending_users_html', count: @pending_users_count)
+ %span= t('admin.dashboard.pending_users_html', count: @pending_users_count.value)
= material_symbol 'chevron_right'
= link_to admin_trends_tags_path(status: 'pending_review'), class: 'dashboard__quick-access' do
- %span= t('admin.dashboard.pending_tags_html', count: @pending_tags_count)
+ %span= t('admin.dashboard.pending_tags_html', count: @pending_tags_count.value)
= material_symbol 'chevron_right'
= link_to admin_disputes_appeals_path(status: 'pending'), class: 'dashboard__quick-access' do
- %span= t('admin.dashboard.pending_appeals_html', count: @pending_appeals_count)
+ %span= t('admin.dashboard.pending_appeals_html', count: @pending_appeals_count.value)
= material_symbol 'chevron_right'
.dashboard__item
= react_admin_component :dimension,
diff --git a/app/views/admin/invites/_invite.html.haml b/app/views/admin/invites/_invite.html.haml
index f9cd6003f3da81..8bd5f10feefdc6 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 2e76f5430838be..9e9f629eee12d5 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 64628989a6a743..dd60f7eabd07e8 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/_actions.html.haml b/app/views/admin/reports/_actions.html.haml
index 5fb540931b1f81..7317d401e766ca 100644
--- a/app/views/admin/reports/_actions.html.haml
+++ b/app/views/admin/reports/_actions.html.haml
@@ -17,21 +17,27 @@
.report-actions__item__button
= form.button t('admin.reports.delete_and_resolve'),
name: :delete,
- class: 'button button--destructive'
+ class: 'button button--destructive',
+ disabled: statuses.empty?,
+ title: statuses.empty? ? t('admin.reports.actions_no_posts') : ''
.report-actions__item__description
= t('admin.reports.actions.delete_description_html')
.report-actions__item
.report-actions__item__button
= form.button t('admin.accounts.silence'),
name: :silence,
- class: 'button button--destructive'
+ class: 'button button--destructive',
+ disabled: report.target_account.silenced? || report.target_account.suspended?,
+ title: report.target_account.silenced? ? t('admin.account_actions.already_silenced') : ''
.report-actions__item__description
= t('admin.reports.actions.silence_description_html')
.report-actions__item
.report-actions__item__button
= form.button t('admin.accounts.suspend'),
name: :suspend,
- class: 'button button--destructive'
+ class: 'button button--destructive',
+ disabled: report.target_account.suspended?,
+ title: report.target_account.suspended? ? t('admin.account_actions.already_suspended') : ''
.report-actions__item__description
= t('admin.reports.actions.suspend_description_html')
.report-actions__item
diff --git a/app/views/admin/reports/_header_details.html.haml b/app/views/admin/reports/_header_details.html.haml
index 434231f7333626..cf81670845fddb 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/reports/_status.html.haml b/app/views/admin/reports/_status.html.haml
index 11be38ef845106..e0870503d6c70c 100644
--- a/app/views/admin/reports/_status.html.haml
+++ b/app/views/admin/reports/_status.html.haml
@@ -33,7 +33,7 @@
= material_symbol('repeat_active')
= t('statuses.boosted_from_html', acct_link: admin_account_inline_link_to(status.proper.account))
- else
- = fa_visibility_icon(status)
+ = material_symbol visibility_icon(status)
= t("statuses.visibilities.#{status.visibility}")
- if status.proper.sensitive?
·
diff --git a/app/views/admin/roles/_role.html.haml b/app/views/admin/roles/_role.html.haml
index fd37644c835f90..636127354b0da7 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 5f37f693543702..eb97eefb3c7fe7 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/tags/show.html.haml b/app/views/admin/tags/show.html.haml
index f6155575ae25d0..93387843b2ce41 100644
--- a/app/views/admin/tags/show.html.haml
+++ b/app/views/admin/tags/show.html.haml
@@ -3,9 +3,12 @@
- content_for :heading_actions do
- if current_user.can?(:view_dashboard)
- = l(@time_period.first)
- = ' - '
- = l(@time_period.last)
+ .time-period
+ = l(@time_period.first)
+ = ' - '
+ = l(@time_period.last)
+
+ = link_to t('admin.tags.open'), tag_url(@tag), class: 'button', target: '_blank', rel: 'noopener noreferrer'
- if current_user.can?(:view_dashboard)
.dashboard
diff --git a/app/views/admin/users/roles/show.html.haml b/app/views/admin/users/roles/show.html.haml
index f26640f2a1af8f..01b3830f4eba5b 100644
--- a/app/views/admin/users/roles/show.html.haml
+++ b/app/views/admin/users/roles/show.html.haml
@@ -7,7 +7,8 @@
collection: UserRole.assignable,
include_blank: I18n.t('admin.accounts.change_role.no_role'),
label_method: :name,
- wrapper: :with_block_label
+ wrapper: :with_block_label,
+ hint: safe_join([I18n.t('simple_form.hints.user.role'), ' ', link_to(I18n.t('admin.accounts.change_role.edit_roles'), admin_roles_path)])
.actions
= f.button :button,
diff --git a/app/views/admin/warning_presets/_warning_preset.html.haml b/app/views/admin/warning_presets/_warning_preset.html.haml
index a58199c80469a6..2cc056420f4aa9 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 39abb7dd2c7608..dca5abeb7779af 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 c2c4f55788e38a..a389e611029933 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/application/_card.html.haml b/app/views/application/_card.html.haml
index 1b3dd889c19b22..ae74f1dc638a17 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 c51179b49dad8e..d558e1d9c96fe3 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 2fa7db70c7bbf3..92e5147593f980 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),
@@ -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/disputes/strikes/_card.html.haml b/app/views/disputes/strikes/_card.html.haml
index 55551cc7d0482b..58965ad6006ffe 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/disputes/strikes/show.html.haml b/app/views/disputes/strikes/show.html.haml
index 5f721388217ec9..2bfecebbff9af2 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 9993ad2ee8eaa5..a544ac3a758166 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)
@@ -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/filters/_filter_fields.html.haml b/app/views/filters/_filter_fields.html.haml
index 0f4049ffb61979..797c969b24d965 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 eedd514ef5277b..136ab1653db648 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/filters/statuses/_status_filter.html.haml b/app/views/filters/statuses/_status_filter.html.haml
index 9999dcda81fda5..d0d04638d2aad8 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
@@ -29,9 +29,9 @@
·
= t('statuses.edited_at_html', date: content_tag(:time, l(status.edited_at), datetime: status.edited_at.iso8601, title: l(status.edited_at), class: 'formatted'))
·
- = fa_visibility_icon(status)
+ = material_symbol visibility_icon(status)
= 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 915ec59cafdef3..f9f94eee90dd3f 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/invites/_invite.html.haml b/app/views/invites/_invite.html.haml
index 62799ca5be20ef..892fdc5a0e38af 100644
--- a/app/views/invites/_invite.html.haml
+++ b/app/views/invites/_invite.html.haml
@@ -1,4 +1,4 @@
-%tr
+%tr{ id: dom_id(invite) }
%td
.input-copy
.input-copy__wrapper
@@ -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
@@ -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/kaminari/_next_page.html.haml b/app/views/kaminari/_next_page.html.haml
index c44aea1f11e15d..5f27f4c8eec265 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 284d6223b874a1..c5584f6a81a62d 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/layouts/admin.html.haml b/app/views/layouts/admin.html.haml
index ebd236c62889b6..3f7727cdfb1f85 100644
--- a/app/views/layouts/admin.html.haml
+++ b/app/views/layouts/admin.html.haml
@@ -3,6 +3,8 @@
= javascript_pack_tag 'public', crossorigin: 'anonymous'
= javascript_pack_tag 'admin', async: true, crossorigin: 'anonymous'
+- content_for :body_classes, 'admin'
+
- content_for :content do
.admin-wrapper
.sidebar-wrapper
diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml
index 0c0512e812f4f3..99e89d45ce691d 100755
--- a/app/views/layouts/application.html.haml
+++ b/app/views/layouts/application.html.haml
@@ -21,11 +21,10 @@
%link{ rel: 'mask-icon', href: frontend_asset_path('images/logo-symbol-icon.svg'), color: '#6364FF' }/
%link{ rel: 'manifest', href: manifest_path(format: :json) }/
= theme_color_tags current_theme
- %meta{ name: 'apple-mobile-web-app-capable', content: 'yes' }/
+ %meta{ name: 'mobile-web-app-capable', content: 'yes' }/
%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