-
+
- { profileCardVisible &&
-
- }
{status.get('group') && (
@@ -208,6 +195,13 @@ export default class DetailedStatus extends ImmutablePureComponent {
+ {favicon &&
+
+
+
+
+
}
+
{statusTypeIcon}
diff --git a/app/soapbox/features/status/components/status_interaction_bar.js b/app/soapbox/features/status/components/status_interaction_bar.js
index b81ce6087..d921efca0 100644
--- a/app/soapbox/features/status/components/status_interaction_bar.js
+++ b/app/soapbox/features/status/components/status_interaction_bar.js
@@ -1,17 +1,26 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
import { FormattedNumber } from 'react-intl';
import emojify from 'soapbox/features/emoji/emoji';
import { reduceEmoji } from 'soapbox/utils/emoji_reacts';
import SoapboxPropTypes from 'soapbox/utils/soapbox_prop_types';
import { Link } from 'react-router-dom';
import Icon from 'soapbox/components/icon';
+import { getSoapboxConfig } from 'soapbox/actions/soapbox';
-export class StatusInteractionBar extends React.Component {
+const mapStateToProps = state => ({
+ allowedEmoji: getSoapboxConfig(state).get('allowedEmoji'),
+});
+
+export default @connect(mapStateToProps)
+class StatusInteractionBar extends ImmutablePureComponent {
static propTypes = {
status: ImmutablePropTypes.map,
me: SoapboxPropTypes.me,
+ allowedEmoji: ImmutablePropTypes.list,
}
getNormalizedReacts = () => {
@@ -20,6 +29,7 @@ export class StatusInteractionBar extends React.Component {
status.getIn(['pleroma', 'emoji_reactions']),
status.get('favourites_count'),
status.get('favourited'),
+ this.props.allowedEmoji,
).reverse();
}
diff --git a/app/soapbox/features/status/containers/detailed_status_container.js b/app/soapbox/features/status/containers/detailed_status_container.js
index 7c78a2e4e..1c0a8cf64 100644
--- a/app/soapbox/features/status/containers/detailed_status_container.js
+++ b/app/soapbox/features/status/containers/detailed_status_container.js
@@ -12,6 +12,8 @@ import {
favourite,
unreblog,
unfavourite,
+ bookmark,
+ unbookmark,
pin,
unpin,
} from '../../../actions/interactions';
@@ -29,6 +31,7 @@ import { openModal } from '../../../actions/modal';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { showAlertForError } from '../../../actions/alerts';
import { getSettings } from 'soapbox/actions/settings';
+import { deactivateUserModal, deleteUserModal, deleteStatusModal, toggleStatusSensitivityModal } from 'soapbox/actions/moderation';
const messages = defineMessages({
deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },
@@ -88,6 +91,14 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
});
},
+ onBookmark(status) {
+ if (status.get('bookmarked')) {
+ dispatch(unbookmark(status));
+ } else {
+ dispatch(bookmark(status));
+ }
+ },
+
onFavourite(status) {
if (status.get('favourited')) {
dispatch(unfavourite(status));
@@ -180,6 +191,22 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
}
},
+ onDeactivateUser(status) {
+ dispatch(deactivateUserModal(intl, status.getIn(['account', 'id'])));
+ },
+
+ onDeleteUser(status) {
+ dispatch(deleteUserModal(intl, status.getIn(['account', 'id'])));
+ },
+
+ onToggleStatusSensitivity(status) {
+ dispatch(toggleStatusSensitivityModal(intl, status.get('id'), status.get('sensitive')));
+ },
+
+ onDeleteStatus(status) {
+ dispatch(deleteStatusModal(intl, status.get('id')));
+ },
+
});
export default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(DetailedStatus));
diff --git a/app/soapbox/features/status/index.js b/app/soapbox/features/status/index.js
index 8eb3530f6..44992b426 100644
--- a/app/soapbox/features/status/index.js
+++ b/app/soapbox/features/status/index.js
@@ -14,6 +14,8 @@ import {
unfavourite,
reblog,
unreblog,
+ bookmark,
+ unbookmark,
pin,
unpin,
} from '../../actions/interactions';
@@ -44,6 +46,8 @@ import { attachFullscreenListener, detachFullscreenListener, isFullscreen } from
import { textForScreenReader, defaultMediaVisibility } from '../../components/status';
import Icon from 'soapbox/components/icon';
import { getSettings } from 'soapbox/actions/settings';
+import { getSoapboxConfig } from 'soapbox/actions/soapbox';
+import { deactivateUserModal, deleteUserModal, deleteStatusModal, toggleStatusSensitivityModal } from 'soapbox/actions/moderation';
const messages = defineMessages({
deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },
@@ -108,6 +112,8 @@ const makeMapStateToProps = () => {
askReplyConfirmation: state.getIn(['compose', 'text']).trim().length !== 0,
domain: state.getIn(['meta', 'domain']),
me: state.get('me'),
+ displayMedia: getSettings(state).get('displayMedia'),
+ allowedEmoji: getSoapboxConfig(state).get('allowedEmoji'),
};
};
@@ -131,11 +137,12 @@ class Status extends ImmutablePureComponent {
intl: PropTypes.object.isRequired,
askReplyConfirmation: PropTypes.bool,
domain: PropTypes.string,
+ displayMedia: PropTypes.string,
};
state = {
fullscreen: false,
- showMedia: defaultMediaVisibility(this.props.status),
+ showMedia: defaultMediaVisibility(this.props.status, this.props.displayMedia),
loadedStatusId: undefined,
};
@@ -168,6 +175,14 @@ class Status extends ImmutablePureComponent {
}
}
+ handleBookmark = (status) => {
+ if (status.get('bookmarked')) {
+ this.props.dispatch(unbookmark(status));
+ } else {
+ this.props.dispatch(bookmark(status));
+ }
+ }
+
handleReplyClick = (status) => {
let { askReplyConfirmation, dispatch, intl } = this.props;
if (askReplyConfirmation) {
@@ -288,6 +303,26 @@ class Status extends ImmutablePureComponent {
this.props.dispatch(openModal('EMBED', { url: status.get('url') }));
}
+ handleDeactivateUser = (status) => {
+ const { dispatch, intl } = this.props;
+ dispatch(deactivateUserModal(intl, status.getIn(['account', 'id'])));
+ }
+
+ handleDeleteUser = (status) => {
+ const { dispatch, intl } = this.props;
+ dispatch(deleteUserModal(intl, status.getIn(['account', 'id'])));
+ }
+
+ handleToggleStatusSensitivity = (status) => {
+ const { dispatch, intl } = this.props;
+ dispatch(toggleStatusSensitivityModal(intl, status.get('id'), status.get('sensitive')));
+ }
+
+ handleDeleteStatus = (status) => {
+ const { dispatch, intl } = this.props;
+ dispatch(deleteStatusModal(intl, status.get('id')));
+ }
+
handleHotkeyMoveUp = () => {
this.handleMoveUp(this.props.status.get('id'));
}
@@ -408,7 +443,7 @@ class Status extends ImmutablePureComponent {
}
if (prevProps.status && ancestorsIds && ancestorsIds.size > 0) {
- const element = this.node.querySelectorAll('.focusable')[ancestorsIds.size - 1];
+ const element = this.node.querySelector('.detailed-status');
window.requestAnimationFrame(() => {
element.scrollIntoView(true);
@@ -507,7 +542,13 @@ class Status extends ImmutablePureComponent {
onBlock={this.handleBlockClick}
onReport={this.handleReport}
onPin={this.handlePin}
+ onBookmark={this.handleBookmark}
onEmbed={this.handleEmbed}
+ onDeactivateUser={this.handleDeactivateUser}
+ onDeleteUser={this.handleDeleteUser}
+ onToggleStatusSensitivity={this.handleToggleStatusSensitivity}
+ onDeleteStatus={this.handleDeleteStatus}
+ allowedEmoji={this.props.allowedEmoji}
/>
diff --git a/app/soapbox/features/ui/components/accordion.js b/app/soapbox/features/ui/components/accordion.js
new file mode 100644
index 000000000..c38e5de14
--- /dev/null
+++ b/app/soapbox/features/ui/components/accordion.js
@@ -0,0 +1,51 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import { defineMessages, injectIntl } from 'react-intl';
+import classNames from 'classnames';
+
+const messages = defineMessages({
+ collapse: { id: 'accordion.collapse', defaultMessage: 'Collapse' },
+ expand: { id: 'accordion.expand', defaultMessage: 'Expand' },
+});
+
+export default @injectIntl class Accordion extends React.PureComponent {
+
+ static propTypes = {
+ headline: PropTypes.node.isRequired,
+ children: PropTypes.oneOfType([PropTypes.string, PropTypes.element, PropTypes.node]),
+ expanded: PropTypes.bool,
+ onToggle: PropTypes.func,
+ intl: PropTypes.object.isRequired,
+ };
+
+ static defaultProps = {
+ expanded: false,
+ onToggle: () => {},
+ }
+
+ handleToggle = (e) => {
+ this.props.onToggle(!this.props.expanded);
+ e.preventDefault();
+ }
+
+ render() {
+ const { headline, children, expanded, intl } = this.props;
+
+ return (
+
+
+ {headline}
+
+
+ {children}
+
+
+ );
+ }
+
+}
diff --git a/app/soapbox/features/ui/components/better_column.js b/app/soapbox/features/ui/components/better_column.js
new file mode 100644
index 000000000..65f7dd1d8
--- /dev/null
+++ b/app/soapbox/features/ui/components/better_column.js
@@ -0,0 +1,38 @@
+import React from 'react';
+import ColumnHeader from './column_header';
+import PropTypes from 'prop-types';
+import ColumnBackButton from '../../../components/column_back_button_slim';
+import DropdownMenu from 'soapbox/containers/dropdown_menu_container';
+
+// Yes, there are 3 types of columns at this point, but this one is better, I swear
+export default class Column extends React.PureComponent {
+
+ static propTypes = {
+ heading: PropTypes.string,
+ icon: PropTypes.string,
+ children: PropTypes.node,
+ active: PropTypes.bool,
+ menu: PropTypes.array,
+ };
+
+ render() {
+ const { heading, icon, children, active, menu } = this.props;
+ const columnHeaderId = heading && heading.replace(/ /g, '-');
+
+ return (
+
+
+ {heading &&
}
+ {menu && (
+
+
+
+ )}
+
+
+ {children}
+
+ );
+ }
+
+}
diff --git a/app/soapbox/features/ui/components/chats_counter_icon.js b/app/soapbox/features/ui/components/chats_counter_icon.js
deleted file mode 100644
index d98cabadc..000000000
--- a/app/soapbox/features/ui/components/chats_counter_icon.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import { connect } from 'react-redux';
-import IconWithBadge from 'soapbox/components/icon_with_badge';
-
-const mapStateToProps = state => ({
- count: state.get('chats').reduce((acc, curr) => acc + curr.get('unread'), 0),
- id: 'comment',
-});
-
-export default connect(mapStateToProps)(IconWithBadge);
diff --git a/app/soapbox/features/ui/components/column.js b/app/soapbox/features/ui/components/column.js
index 888b2c04e..5f31399e3 100644
--- a/app/soapbox/features/ui/components/column.js
+++ b/app/soapbox/features/ui/components/column.js
@@ -1,7 +1,6 @@
import React from 'react';
import ColumnHeader from './column_header';
import PropTypes from 'prop-types';
-import { isMobile } from '../../../is_mobile';
import ColumnBackButton from '../../../components/column_back_button';
import ColumnBackButtonSlim from '../../../components/column_back_button_slim';
@@ -12,25 +11,17 @@ export default class Column extends React.PureComponent {
icon: PropTypes.string,
children: PropTypes.node,
active: PropTypes.bool,
- hideHeadingOnMobile: PropTypes.bool,
backBtnSlim: PropTypes.bool,
};
render() {
- const { heading, icon, children, active, hideHeadingOnMobile, backBtnSlim } = this.props;
-
- const showHeading = heading && (!hideHeadingOnMobile || (hideHeadingOnMobile && !isMobile(window.innerWidth)));
-
- const columnHeaderId = showHeading && heading.replace(/ /g, '-');
- const header = showHeading && (
-
- );
-
+ const { heading, icon, children, active, backBtnSlim } = this.props;
+ const columnHeaderId = heading && heading.replace(/ /g, '-');
const backBtn = backBtnSlim ? (
) : (
);
return (
- {header}
+ {heading && }
{backBtn}
{children}
diff --git a/app/soapbox/features/ui/components/column_header.js b/app/soapbox/features/ui/components/column_header.js
index 6ff52e44f..bb027eb38 100644
--- a/app/soapbox/features/ui/components/column_header.js
+++ b/app/soapbox/features/ui/components/column_header.js
@@ -19,16 +19,11 @@ export default class ColumnHeader extends React.PureComponent {
render() {
const { icon, type, active, columnHeaderId } = this.props;
- let iconElement = '';
-
- if (icon) {
- iconElement =
;
- }
return (
- {iconElement}
+ {icon && }
{type}
diff --git a/app/soapbox/features/ui/components/explanation_box.js b/app/soapbox/features/ui/components/explanation_box.js
deleted file mode 100644
index f3d84a4f0..000000000
--- a/app/soapbox/features/ui/components/explanation_box.js
+++ /dev/null
@@ -1,67 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import { connect } from 'react-redux';
-import { defineMessages, injectIntl } from 'react-intl';
-import IconButton from 'soapbox/components/icon_button';
-import { changeSetting, getSettings } from 'soapbox/actions/settings';
-
-
-const messages = defineMessages({
- collapse: { id: 'explanation_box.collapse', defaultMessage: 'Collapse explanation box' },
- expand: { id: 'explanation_box.expand', defaultMessage: 'Expand explanation box' },
-});
-
-const mapStateToProps = state => {
- return {
- settings: getSettings(state),
- };
-};
-
-const mapDispatchToProps = (dispatch) => ({
- toggleExplanationBox(setting) {
- dispatch(changeSetting(['explanationBox'], setting));
- },
-});
-
-export default @connect(mapStateToProps, mapDispatchToProps)
-@injectIntl
-class ExplanationBox extends React.PureComponent {
-
- static propTypes = {
- title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
- explanation: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
- dismissable: PropTypes.bool,
- intl: PropTypes.object.isRequired,
- settings: ImmutablePropTypes.map.isRequired,
- toggleExplanationBox: PropTypes.func,
- };
-
- handleToggleExplanationBox = () => {
- this.props.toggleExplanationBox(this.props.settings.get('explanationBox') === true ? false : true);
- }
-
- render() {
- const { title, explanation, dismissable, settings, intl } = this.props;
-
- return (
-
- {title &&
{title}
-
-
}
- {settings.get('explanationBox') &&
-
- {explanation}
- {dismissable && Dismiss }
-
- }
-
- );
- }
-
-}
diff --git a/app/soapbox/features/ui/components/features_panel.js b/app/soapbox/features/ui/components/features_panel.js
index 2ab0f4db7..5776e0169 100644
--- a/app/soapbox/features/ui/components/features_panel.js
+++ b/app/soapbox/features/ui/components/features_panel.js
@@ -27,40 +27,31 @@ class FeaturesPanel extends React.PureComponent {
-
-
-
- {intl.formatMessage(messages.edit_profile)}
-
-
+
+
+ {intl.formatMessage(messages.edit_profile)}
+
-
-
-
- {intl.formatMessage(messages.bookmarks)}
-
-
-
-
-
- {intl.formatMessage(messages.lists)}
-
-
+
+
+ {intl.formatMessage(messages.bookmarks)}
+
-
-
-
- {intl.formatMessage(messages.security)}
-
-
+
+
+ {intl.formatMessage(messages.lists)}
+
-
-
-
- {intl.formatMessage(messages.preferences)}
-
-
+
+
+ {intl.formatMessage(messages.security)}
+
+
+
+
+ {intl.formatMessage(messages.preferences)}
+
diff --git a/app/soapbox/features/ui/components/follow_requests_nav_link.js b/app/soapbox/features/ui/components/follow_requests_nav_link.js
deleted file mode 100644
index 132637fa0..000000000
--- a/app/soapbox/features/ui/components/follow_requests_nav_link.js
+++ /dev/null
@@ -1,46 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import { fetchFollowRequests } from 'soapbox/actions/accounts';
-import { connect } from 'react-redux';
-import { NavLink, withRouter } from 'react-router-dom';
-import IconWithBadge from 'soapbox/components/icon_with_badge';
-import { List as ImmutableList } from 'immutable';
-import { FormattedMessage } from 'react-intl';
-
-const mapStateToProps = state => {
- const me = state.get('me');
- return {
- locked: state.getIn(['accounts', me, 'locked']),
- count: state.getIn(['user_lists', 'follow_requests', 'items'], ImmutableList()).size,
- };
-};
-
-export default @withRouter
-@connect(mapStateToProps)
-class FollowRequestsNavLink extends React.Component {
-
- static propTypes = {
- dispatch: PropTypes.func.isRequired,
- locked: PropTypes.bool,
- count: PropTypes.number.isRequired,
- };
-
- componentDidMount() {
- const { dispatch, locked } = this.props;
-
- if (locked) {
- dispatch(fetchFollowRequests());
- }
- }
-
- render() {
- const { locked, count } = this.props;
-
- if (!locked || count === 0) {
- return null;
- }
-
- return
;
- }
-
-}
diff --git a/app/soapbox/features/ui/components/funding_panel.js b/app/soapbox/features/ui/components/funding_panel.js
index 6d4084784..5b0b73e8b 100644
--- a/app/soapbox/features/ui/components/funding_panel.js
+++ b/app/soapbox/features/ui/components/funding_panel.js
@@ -71,5 +71,5 @@ const mapStateToProps = state => {
export default injectIntl(
connect(mapStateToProps, null, null, {
forwardRef: true,
- }
+ },
)(FundingPanel));
diff --git a/app/soapbox/features/ui/components/link_footer.js b/app/soapbox/features/ui/components/link_footer.js
index 5ceabfe63..68034c076 100644
--- a/app/soapbox/features/ui/components/link_footer.js
+++ b/app/soapbox/features/ui/components/link_footer.js
@@ -12,7 +12,7 @@ const sourceCode = {
name: 'soapbox-fe',
url: 'https://gitlab.com/soapbox-pub/soapbox-fe',
repository: 'soapbox-pub/soapbox-fe',
- version: '1.0.0',
+ version: '1.1.0',
};
const mapStateToProps = state => {
diff --git a/app/soapbox/features/ui/components/notifications_counter_icon.js b/app/soapbox/features/ui/components/notifications_counter_icon.js
deleted file mode 100644
index a2c3039cb..000000000
--- a/app/soapbox/features/ui/components/notifications_counter_icon.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import { connect } from 'react-redux';
-import IconWithBadge from 'soapbox/components/icon_with_badge';
-
-const mapStateToProps = state => ({
- count: state.getIn(['notifications', 'unread']),
- id: 'bell',
-});
-
-export default connect(mapStateToProps)(IconWithBadge);
diff --git a/app/soapbox/features/ui/components/profile_info_panel.js b/app/soapbox/features/ui/components/profile_info_panel.js
index 25034b732..efc5cb63c 100644
--- a/app/soapbox/features/ui/components/profile_info_panel.js
+++ b/app/soapbox/features/ui/components/profile_info_panel.js
@@ -17,6 +17,7 @@ const messages = defineMessages({
linkVerifiedOn: { id: 'account.link_verified_on', defaultMessage: 'Ownership of this link was checked on {date}' },
account_locked: { id: 'account.locked_info', defaultMessage: 'This account privacy status is set to locked. The owner manually reviews who can follow them.' },
deactivated: { id: 'account.deactivated', defaultMessage: 'Deactivated' },
+ bot: { id: 'account.badges.bot', defaultMessage: 'Bot' },
});
const dateFormatOptions = {
@@ -56,10 +57,9 @@ class ProfileInfoPanel extends ImmutablePureComponent {
}
const lockedIcon = account.get('locked') ? (
) : '';
- const badge = account.get('bot') ? (
) : null;
const content = { __html: account.get('note_emojified') };
const fields = account.get('fields');
- const deactivated = account.getIn(['pleroma', 'deactivated'], false);
+ const deactivated = !account.getIn(['pleroma', 'is_active'], true);
const displayNameHtml = deactivated ? { __html: intl.formatMessage(messages.deactivated) } : { __html: account.get('display_name_html') };
const memberSinceDate = intl.formatDate(account.get('created_at'), { month: 'long', year: 'numeric' });
const verified = account.getIn(['pleroma', 'tags'], ImmutableList()).includes('verified');
@@ -72,7 +72,7 @@ class ProfileInfoPanel extends ImmutablePureComponent {
{verified && }
- {badge}
+ {account.get('bot') && }
{ @{acctFull(account)} {lockedIcon} }
@@ -150,5 +150,5 @@ const mapStateToProps = (state, { account }) => {
export default injectIntl(
connect(mapStateToProps, null, null, {
forwardRef: true,
- }
+ },
)(ProfileInfoPanel));
diff --git a/app/soapbox/features/ui/components/profile_media_panel.js b/app/soapbox/features/ui/components/profile_media_panel.js
index 2927c1a63..d0a861f1d 100644
--- a/app/soapbox/features/ui/components/profile_media_panel.js
+++ b/app/soapbox/features/ui/components/profile_media_panel.js
@@ -81,5 +81,5 @@ const mapStateToProps = (state, { account }) => ({
export default injectIntl(
connect(mapStateToProps, null, null, {
forwardRef: true,
- }
+ },
)(ProfileMediaPanel));
diff --git a/app/soapbox/features/ui/components/promo_panel.js b/app/soapbox/features/ui/components/promo_panel.js
index b91380bbc..08311346c 100644
--- a/app/soapbox/features/ui/components/promo_panel.js
+++ b/app/soapbox/features/ui/components/promo_panel.js
@@ -23,12 +23,10 @@ class PromoPanel extends React.PureComponent {
diff --git a/app/soapbox/features/ui/components/reports_counter_icon.js b/app/soapbox/features/ui/components/reports_counter_icon.js
deleted file mode 100644
index 14a121887..000000000
--- a/app/soapbox/features/ui/components/reports_counter_icon.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import { connect } from 'react-redux';
-import IconWithBadge from 'soapbox/components/icon_with_badge';
-
-const mapStateToProps = state => ({
- count: state.getIn(['admin', 'open_report_count']),
- id: 'gavel',
-});
-
-export default connect(mapStateToProps)(IconWithBadge);
diff --git a/app/soapbox/features/ui/components/tabs_bar.js b/app/soapbox/features/ui/components/tabs_bar.js
index e85efa40a..fa4a685f4 100644
--- a/app/soapbox/features/ui/components/tabs_bar.js
+++ b/app/soapbox/features/ui/components/tabs_bar.js
@@ -5,16 +5,14 @@ import { Link, NavLink, withRouter } from 'react-router-dom';
import { FormattedMessage, injectIntl, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
import classNames from 'classnames';
-import NotificationsCounterIcon from './notifications_counter_icon';
-import ReportsCounterIcon from './reports_counter_icon';
-import ChatsCounterIcon from './chats_counter_icon';
+import IconWithCounter from 'soapbox/components/icon_with_counter';
import SearchContainer from 'soapbox/features/compose/containers/search_container';
import Avatar from '../../../components/avatar';
import ActionBar from 'soapbox/features/compose/components/action_bar';
import { openModal } from '../../../actions/modal';
import { openSidebar } from '../../../actions/sidebar';
import Icon from '../../../components/icon';
-import ThemeToggle from '../../ui/components/theme_toggle';
+import ThemeToggle from '../../ui/components/theme_toggle_container';
import { getSoapboxConfig } from 'soapbox/actions/soapbox';
import { isStaff } from 'soapbox/utils/accounts';
@@ -32,6 +30,9 @@ class TabsBar extends React.PureComponent {
onOpenSidebar: PropTypes.func.isRequired,
logo: PropTypes.string,
account: ImmutablePropTypes.map,
+ dashboardCount: PropTypes.number,
+ notificationCount: PropTypes.number,
+ chatsCount: PropTypes.number,
}
state = {
@@ -46,8 +47,13 @@ class TabsBar extends React.PureComponent {
this.node = ref;
}
+ isHomeActive = (match, location) => {
+ const { pathname } = location;
+ return pathname === '/' || pathname.startsWith('/timeline/');
+ }
+
getNavLinks() {
- const { intl: { formatMessage }, logo, account } = this.props;
+ const { intl: { formatMessage }, logo, account, dashboardCount, notificationCount, chatsCount } = this.props;
let links = [];
if (logo) {
links.push(
@@ -57,39 +63,36 @@ class TabsBar extends React.PureComponent {
);
}
links.push(
-
+
);
if (account) {
links.push(
-
-
+
);
}
if (account) {
links.push(
-
-
+
);
}
if (account && isStaff(account)) {
links.push(
-
-
-
-
- );
+
+
+
+ );
}
links.push(
-
+ ,
);
return links.map((link) =>
React.cloneElement(link, {
@@ -151,9 +154,14 @@ class TabsBar extends React.PureComponent {
const mapStateToProps = state => {
const me = state.get('me');
+ const reportsCount = state.getIn(['admin', 'openReports']).count();
+ const approvalCount = state.getIn(['admin', 'awaitingApproval']).count();
return {
account: state.getIn(['accounts', me]),
logo: getSoapboxConfig(state).get('logo'),
+ notificationCount: state.getIn(['notifications', 'unread']),
+ chatsCount: state.get('chats').reduce((acc, curr) => acc + Math.min(curr.get('unread', 0), 1), 0),
+ dashboardCount: reportsCount + approvalCount,
};
};
@@ -167,5 +175,5 @@ const mapDispatchToProps = (dispatch) => ({
});
export default injectIntl(
- connect(mapStateToProps, mapDispatchToProps, null, { forwardRef: true }
+ connect(mapStateToProps, mapDispatchToProps, null, { forwardRef: true },
)(TabsBar));
diff --git a/app/soapbox/features/ui/components/theme_toggle.js b/app/soapbox/features/ui/components/theme_toggle.js
index 50e6fbb7f..317020111 100644
--- a/app/soapbox/features/ui/components/theme_toggle.js
+++ b/app/soapbox/features/ui/components/theme_toggle.js
@@ -1,10 +1,8 @@
import React from 'react';
import PropTypes from 'prop-types';
-import { connect } from 'react-redux';
import { injectIntl, defineMessages } from 'react-intl';
import ImmutablePropTypes from 'react-immutable-proptypes';
import Icon from '../../../components/icon';
-import { changeSetting, getSettings } from 'soapbox/actions/settings';
import SettingToggle from '../../notifications/components/setting_toggle';
const messages = defineMessages({
@@ -12,31 +10,18 @@ const messages = defineMessages({
switchToDark: { id: 'tabs_bar.theme_toggle_dark', defaultMessage: 'Switch to dark theme' },
});
-const mapStateToProps = state => {
- return {
- settings: getSettings(state),
- };
-};
-
-const mapDispatchToProps = (dispatch) => ({
- toggleTheme(setting) {
- dispatch(changeSetting(['themeMode'], setting));
- },
-});
-
-export default @connect(mapStateToProps, mapDispatchToProps)
-@injectIntl
+export default @injectIntl
class ThemeToggle extends React.PureComponent {
static propTypes = {
intl: PropTypes.object.isRequired,
settings: ImmutablePropTypes.map.isRequired,
- toggleTheme: PropTypes.func,
+ onToggle: PropTypes.func.isRequired,
showLabel: PropTypes.bool,
};
handleToggleTheme = () => {
- this.props.toggleTheme(this.props.settings.get('themeMode') === 'light' ? 'dark' : 'light');
+ this.props.onToggle(this.props.settings.get('themeMode') === 'light' ? 'dark' : 'light');
}
render() {
diff --git a/app/soapbox/features/ui/components/theme_toggle_container.js b/app/soapbox/features/ui/components/theme_toggle_container.js
new file mode 100644
index 000000000..4a2cad1f7
--- /dev/null
+++ b/app/soapbox/features/ui/components/theme_toggle_container.js
@@ -0,0 +1,17 @@
+import { connect } from 'react-redux';
+import { changeSetting, getSettings } from 'soapbox/actions/settings';
+import ThemeToggle from './theme_toggle';
+
+const mapStateToProps = state => {
+ return {
+ settings: getSettings(state),
+ };
+};
+
+const mapDispatchToProps = (dispatch) => ({
+ onToggle(setting) {
+ dispatch(changeSetting(['themeMode'], setting));
+ },
+});
+
+export default connect(mapStateToProps, mapDispatchToProps)(ThemeToggle);
diff --git a/app/soapbox/features/ui/components/trends_panel.js b/app/soapbox/features/ui/components/trends_panel.js
index f47390a00..7e15f39f5 100644
--- a/app/soapbox/features/ui/components/trends_panel.js
+++ b/app/soapbox/features/ui/components/trends_panel.js
@@ -66,5 +66,5 @@ const mapDispatchToProps = dispatch => {
export default injectIntl(
connect(mapStateToProps, mapDispatchToProps, null, {
forwardRef: true,
- }
+ },
)(TrendsPanel));
diff --git a/app/soapbox/features/ui/components/user_panel.js b/app/soapbox/features/ui/components/user_panel.js
index 1ba4e3efc..82415cd9d 100644
--- a/app/soapbox/features/ui/components/user_panel.js
+++ b/app/soapbox/features/ui/components/user_panel.js
@@ -56,26 +56,26 @@ class UserPanel extends ImmutablePureComponent {
-
+ {account.get('statuses_count') >= 0 &&
{shortNumberFormat(account.get('statuses_count'))}
-
+
}
-
+ {account.get('followers_count') >= 0 &&
{shortNumberFormat(account.get('followers_count'))}
-
+
}
-
+ {account.get('following_count') >= 0 &&
{shortNumberFormat(account.get('following_count'))}
-
+
}
diff --git a/app/soapbox/features/ui/components/who_to_follow_panel.js b/app/soapbox/features/ui/components/who_to_follow_panel.js
index 1ca18a6a3..512f4db63 100644
--- a/app/soapbox/features/ui/components/who_to_follow_panel.js
+++ b/app/soapbox/features/ui/components/who_to_follow_panel.js
@@ -74,5 +74,5 @@ const mapDispatchToProps = dispatch => {
export default injectIntl(
connect(mapStateToProps, mapDispatchToProps, null, {
forwardRef: true,
- }
+ },
)(WhoToFollowPanel));
diff --git a/app/soapbox/features/ui/containers/notifications_container.js b/app/soapbox/features/ui/containers/notifications_container.js
index b60a0216f..79488b1af 100644
--- a/app/soapbox/features/ui/containers/notifications_container.js
+++ b/app/soapbox/features/ui/containers/notifications_container.js
@@ -4,6 +4,14 @@ import { NotificationStack } from 'react-notification';
import { dismissAlert } from '../../../actions/alerts';
import { getAlerts } from '../../../selectors';
+const defaultBarStyleFactory = (index, style, notification) => {
+ return Object.assign(
+ {},
+ style,
+ { bottom: `${14 + index * 12 + index * 42}px` },
+ );
+};
+
const mapStateToProps = (state, { intl }) => {
const notifications = getAlerts(state);
@@ -23,6 +31,8 @@ const mapDispatchToProps = (dispatch) => {
onDismiss: alert => {
dispatch(dismissAlert(alert));
},
+ barStyleFactory: defaultBarStyleFactory,
+ activeBarStyleFactory: defaultBarStyleFactory,
};
};
diff --git a/app/soapbox/features/ui/index.js b/app/soapbox/features/ui/index.js
index 59269d577..010ee253f 100644
--- a/app/soapbox/features/ui/index.js
+++ b/app/soapbox/features/ui/index.js
@@ -16,8 +16,9 @@ import { debounce } from 'lodash';
import { uploadCompose, resetCompose } from '../../actions/compose';
import { expandHomeTimeline } from '../../actions/timelines';
import { expandNotifications } from '../../actions/notifications';
-import { fetchReports } from '../../actions/admin';
+import { fetchReports, fetchUsers, fetchConfig } from '../../actions/admin';
import { fetchFilters } from '../../actions/filters';
+import { fetchChats } from 'soapbox/actions/chats';
import { clearHeight } from '../../actions/height_cache';
import { openModal } from '../../actions/modal';
import { WrappedRoute } from './util/react_router_helpers';
@@ -31,18 +32,21 @@ import ProfilePage from 'soapbox/pages/profile_page';
// import GroupSidebarPanel from '../groups/sidebar_panel';
import SearchPage from 'soapbox/pages/search_page';
import HomePage from 'soapbox/pages/home_page';
+import AdminPage from 'soapbox/pages/admin_page';
import SidebarMenu from '../../components/sidebar_menu';
import { connectUserStream } from '../../actions/streaming';
import { Redirect } from 'react-router-dom';
import Icon from 'soapbox/components/icon';
import { isStaff } from 'soapbox/utils/accounts';
import ChatPanes from 'soapbox/features/chats/components/chat_panes';
+import ProfileHoverCard from 'soapbox/components/profile_hover_card';
import {
Status,
// GettingStarted,
CommunityTimeline,
PublicTimeline,
+ RemoteTimeline,
AccountTimeline,
AccountGallery,
HomeTimeline,
@@ -76,11 +80,18 @@ import {
Preferences,
EditProfile,
SoapboxConfig,
+ ImportData,
+ Backups,
PasswordReset,
SecurityForm,
MfaForm,
ChatIndex,
ChatRoom,
+ ServerInfo,
+ Dashboard,
+ AwaitingApproval,
+ Reports,
+ ModerationLog,
} from './util/async-components';
// Dummy import, to make sure that
ends up in the application bundle.
@@ -204,6 +215,7 @@ class SwitchingColumnsArea extends React.PureComponent {
+
{/*
@@ -227,6 +239,10 @@ class SwitchingColumnsArea extends React.PureComponent {
+ {/* Soapbox Legacy redirects */}
+
+
+
@@ -261,8 +277,17 @@ class SwitchingColumnsArea extends React.PureComponent {
+
+
+
+
+
+
+
+
+
);
@@ -433,9 +458,13 @@ class UI extends React.PureComponent {
if (account) {
this.props.dispatch(expandHomeTimeline());
this.props.dispatch(expandNotifications());
+ this.props.dispatch(fetchChats());
// this.props.dispatch(fetchGroups('member'));
- if (isStaff(account))
+ if (isStaff(account)) {
this.props.dispatch(fetchReports({ state: 'open' }));
+ this.props.dispatch(fetchUsers({ page: 1, filters: 'local,need_approval' }));
+ this.props.dispatch(fetchConfig());
+ }
setTimeout(() => this.props.dispatch(fetchFilters()), 500);
}
@@ -648,6 +677,7 @@ class UI extends React.PureComponent {
{me &&
}
{me && !mobile &&
}
+
);
diff --git a/app/soapbox/features/ui/util/async-components.js b/app/soapbox/features/ui/util/async-components.js
index 73a8a5540..52400138f 100644
--- a/app/soapbox/features/ui/util/async-components.js
+++ b/app/soapbox/features/ui/util/async-components.js
@@ -18,6 +18,10 @@ export function PublicTimeline() {
return import(/* webpackChunkName: "features/public_timeline" */'../../public_timeline');
}
+export function RemoteTimeline() {
+ return import(/* webpackChunkName: "features/remote_timeline" */'../../remote_timeline');
+}
+
export function CommunityTimeline() {
return import(/* webpackChunkName: "features/community_timeline" */'../../community_timeline');
}
@@ -186,6 +190,14 @@ export function SoapboxConfig() {
return import(/* webpackChunkName: "features/soapbox_config" */'../../soapbox_config');
}
+export function ImportData() {
+ return import(/* webpackChunkName: "features/import_data" */'../../import_data');
+}
+
+export function Backups() {
+ return import(/* webpackChunkName: "features/backups" */'../../backups');
+}
+
export function PasswordReset() {
return import(/* webpackChunkName: "features/auth_login" */'../../auth_login/components/password_reset');
}
@@ -205,3 +217,23 @@ export function ChatIndex() {
export function ChatRoom() {
return import(/* webpackChunkName: "features/chats/chat_room" */'../../chats/chat_room');
}
+
+export function ServerInfo() {
+ return import(/* webpackChunkName: "features/server_info" */'../../server_info');
+}
+
+export function Dashboard() {
+ return import(/* webpackChunkName: "features/admin" */'../../admin');
+}
+
+export function AwaitingApproval() {
+ return import(/* webpackChunkName: "features/admin/awaiting_approval" */'../../admin/awaiting_approval');
+}
+
+export function Reports() {
+ return import(/* webpackChunkName: "features/admin/reports" */'../../admin/reports');
+}
+
+export function ModerationLog() {
+ return import(/* webpackChunkName: "features/admin/moderation_log" */'../../admin/moderation_log');
+}
diff --git a/app/soapbox/features/ui/util/react_router_helpers.js b/app/soapbox/features/ui/util/react_router_helpers.js
index ceffd0daa..133750f91 100644
--- a/app/soapbox/features/ui/util/react_router_helpers.js
+++ b/app/soapbox/features/ui/util/react_router_helpers.js
@@ -18,7 +18,7 @@ class WrappedRoute extends React.Component {
static propTypes = {
component: PropTypes.func.isRequired,
- page: PropTypes.func,
+ page: PropTypes.object,
content: PropTypes.node,
componentParams: PropTypes.object,
layout: PropTypes.object,
diff --git a/app/soapbox/initial_state.js b/app/soapbox/initial_state.js
deleted file mode 100644
index dd47e4e8b..000000000
--- a/app/soapbox/initial_state.js
+++ /dev/null
@@ -1,6 +0,0 @@
-'use strict';
-
-const element = document.getElementById('initial-state');
-const initialState = element ? JSON.parse(element.textContent) : {};
-
-export default initialState;
diff --git a/app/soapbox/is_mobile.js b/app/soapbox/is_mobile.js
index fc585749f..4c7c23e20 100644
--- a/app/soapbox/is_mobile.js
+++ b/app/soapbox/is_mobile.js
@@ -1,6 +1,6 @@
'use strict';
-import detectPassiveEvents from 'detect-passive-events';
+import { supportsPassiveEvents } from 'detect-passive-events';
const LAYOUT_BREAKPOINT = 630;
@@ -11,7 +11,7 @@ export function isMobile(width) {
const iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
let userTouching = false;
-let listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false;
+let listenerOptions = supportsPassiveEvents ? { passive: true } : false;
function touchListener() {
userTouching = true;
diff --git a/app/soapbox/locales/ar.json b/app/soapbox/locales/ar.json
index a9197b3e6..b3ee0b828 100644
--- a/app/soapbox/locales/ar.json
+++ b/app/soapbox/locales/ar.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "أضفه أو أزله من القائمة",
"account.badges.bot": "روبوت",
"account.block": "حظر @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "أغلق",
"bundle_modal_error.message": "لقد وقع هناك خطأ أثناء عملية تحميل هذا العنصر.",
"bundle_modal_error.retry": "إعادة المحاولة",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "الحسابات المحجوبة",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "الخيط العام المحلي",
"column.direct": "الرسائل المباشرة",
"column.domain_blocks": "النطاقات المخفية",
@@ -87,6 +100,7 @@
"column.follow_requests": "طلبات المتابعة",
"column.groups": "Groups",
"column.home": "الرئيسية",
+ "column.import_data": "Import data",
"column.lists": "القوائم",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "لم تقم بكتم أي مستخدم بعد.",
"empty_column.notifications": "لم تتلق أي إشعار بعدُ. تفاعل مع المستخدمين الآخرين لإنشاء محادثة.",
"empty_column.public": "لا يوجد أي شيء هنا! قم بنشر شيء ما للعامة، أو اتبع المستخدمين الآخرين المتواجدين على الخوادم الأخرى لملء خيط المحادثات",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "و {additional}",
"hashtag.column_header.tag_mode.any": "أو {additional}",
"hashtag.column_header.tag_mode.none": "بدون {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "عرض الترقيات",
"home.column_settings.show_replies": "اعرض الردود",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "الرئيسية",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# يوم} other {# أيام}}",
"intervals.full.hours": "{number, plural, one {# ساعة} other {# ساعات}}",
"intervals.full.minutes": "{number, plural, one {# دقيقة} other {# دقائق}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "المفضلة",
"navigation_bar.filters": "الكلمات المكتومة",
"navigation_bar.follow_requests": "طلبات المتابعة",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "عن هذا الخادم",
"navigation_bar.keyboard_shortcuts": "اختصارات لوحة المفاتيح",
"navigation_bar.lists": "القوائم",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "الخيط العام الموحد",
"navigation_bar.security": "الأمان",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "أُعجِب {name} بمنشورك",
"notification.follow": "{name} يتابعك",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "جارٍ تجهيز تغذية صفحتك الرئيسية!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "افتح الواجهة الإدارية لـ @{name}",
"status.admin_status": "افتح هذا المنشور على واجهة الإشراف",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "إلغاء الاقتراح",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "الرئيسية",
"tabs_bar.news": "News",
"tabs_bar.notifications": "الإخطارات",
diff --git a/app/soapbox/locales/ast.json b/app/soapbox/locales/ast.json
index f6bc1596f..3f20bc278 100644
--- a/app/soapbox/locales/ast.json
+++ b/app/soapbox/locales/ast.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Robó",
"account.block": "Bloquiar a @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Close",
"bundle_modal_error.message": "Something went wrong while loading this component.",
"bundle_modal_error.retry": "Try again",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Usuarios bloquiaos",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Llinia temporal llocal",
"column.direct": "Mensaxes direutos",
"column.domain_blocks": "Dominios anubríos",
@@ -87,6 +100,7 @@
"column.follow_requests": "Solicitúes de siguimientu",
"column.groups": "Groups",
"column.home": "Aniciu",
+ "column.import_data": "Import data",
"column.lists": "Llistes",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Entá nun silenciesti a dengún usuariu.",
"empty_column.notifications": "Entá nun tienes dengún avisu. Interactua con otros p'aniciar la conversación.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Amosar toots compartíos",
"home.column_settings.show_replies": "Amosar rempuestes",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Aniciu",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favoritos",
"navigation_bar.filters": "Pallabres silenciaes",
"navigation_bar.follow_requests": "Solicitúes de siguimientu",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Tocante a esta instancia",
"navigation_bar.keyboard_shortcuts": "Atayos",
"navigation_bar.lists": "Llistes",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Llinia temporal federada",
"navigation_bar.security": "Seguranza",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} favorited your post",
"notification.follow": "{name} siguióte",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Aniciu",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Avisos",
diff --git a/app/soapbox/locales/bg.json b/app/soapbox/locales/bg.json
index ce6fe0139..2baa171ac 100644
--- a/app/soapbox/locales/bg.json
+++ b/app/soapbox/locales/bg.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Добави или премахни от списъците",
"account.badges.bot": "бот",
"account.block": "Блокирай",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Close",
"bundle_modal_error.message": "Something went wrong while loading this component.",
"bundle_modal_error.retry": "Try again",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Blocked users",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Local timeline",
"column.direct": "Direct messages",
"column.domain_blocks": "Hidden domains",
@@ -87,6 +100,7 @@
"column.follow_requests": "Follow requests",
"column.groups": "Groups",
"column.home": "Начало",
+ "column.import_data": "Import data",
"column.lists": "Списъци",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "You haven't muted any users yet.",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Show reposts",
"home.column_settings.show_replies": "Show replies",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Начало",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favorites",
"navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Extended information",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.lists": "Lists",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Публичен канал",
"navigation_bar.security": "Security",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} хареса твоята публикация",
"notification.follow": "{name} те последва",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Начало",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Известия",
diff --git a/app/soapbox/locales/bn.json b/app/soapbox/locales/bn.json
index aeb4b0ce0..1e843592e 100644
--- a/app/soapbox/locales/bn.json
+++ b/app/soapbox/locales/bn.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "তালিকাতে আরো যুক্ত বা মুছে ফেলুন",
"account.badges.bot": "রোবট",
"account.block": "@{name} কে বন্ধ করুন",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "বন্ধ করুন",
"bundle_modal_error.message": "এই অংশটি দেখাতে যেয়ে কোনো সমস্যা হয়েছে।",
"bundle_modal_error.retry": "আবার চেষ্টা করুন",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "যাদের বন্ধ করে রাখা হয়েছে",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "স্থানীয় সময়সারি",
"column.direct": "সরাসরি লেখা",
"column.domain_blocks": "সরিয়ে ফেলা ওয়েবসাইট",
@@ -87,6 +100,7 @@
"column.follow_requests": "অনুসরণের অনুমতি চেয়েছে যারা",
"column.groups": "Groups",
"column.home": "বাড়ি",
+ "column.import_data": "Import data",
"column.lists": "তালিকাগুলো",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "আপনি এখনো কোনো ব্যবহারকারীকে সরাননি।",
"empty_column.notifications": "আপনার এখনো কোনো প্রজ্ঞাপন নেই। কথোপকথন শুরু করতে, অন্যদের সাথে মেলামেশা করতে পারেন।",
"empty_column.public": "এখানে এখনো কিছু নেই! প্রকাশ্য ভাবে কিছু লিখুন বা অন্য সার্ভার থেকে কাওকে অনুসরণ করে এই জায়গা ভরে ফেলুন",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "এবং {additional}",
"hashtag.column_header.tag_mode.any": "অথবা {additional}",
"hashtag.column_header.tag_mode.none": "বাদ দিয়ে {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "সমর্থনগুলো দেখান",
"home.column_settings.show_replies": "মতামত দেখান",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "বাড়ি",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# ঘটা} other {# ঘটা}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "পছন্দের",
"navigation_bar.filters": "বন্ধ করা শব্দ",
"navigation_bar.follow_requests": "অনুসরণের অনুরোধগুলি",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "এই সার্ভার সম্পর্কে",
"navigation_bar.keyboard_shortcuts": "হটকীগুলি",
"navigation_bar.lists": "তালিকাগুলো",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "যুক্তবিশ্বের সময়রেখা",
"navigation_bar.security": "নিরাপত্তা",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} আপনার কার্যক্রম পছন্দ করেছেন",
"notification.follow": "{name} আপনাকে অনুসরণ করেছেন",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "আপনার বাড়ির-সময়রেখা প্রস্তূত করা হচ্ছে!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "@{name} র জন্য পরিচালনার ইন্টারফেসে ঢুকুন",
"status.admin_status": "যায় লেখাটি পরিচালনার ইন্টারফেসে খুলুন",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "সাহায্যের পরামর্শগুলো সরাতে",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "বাড়ি",
"tabs_bar.news": "News",
"tabs_bar.notifications": "প্রজ্ঞাপনগুলো",
diff --git a/app/soapbox/locales/br.json b/app/soapbox/locales/br.json
index ab7711643..823289649 100644
--- a/app/soapbox/locales/br.json
+++ b/app/soapbox/locales/br.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Ouzhpenn pe lemel ag ar listennadoù",
"account.badges.bot": "Robot",
"account.block": "Stankañ @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Serriñ",
"bundle_modal_error.message": "Something went wrong while loading this component.",
"bundle_modal_error.retry": "Klask endro",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Implijour·ezed·ion stanket",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Red-amzer lec'hel",
"column.direct": "Kemennadoù prevez",
"column.domain_blocks": "Domani kuzhet",
@@ -87,6 +100,7 @@
"column.follow_requests": "Follow requests",
"column.groups": "Groups",
"column.home": "Home",
+ "column.import_data": "Import data",
"column.lists": "Lists",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "You haven't muted any users yet.",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Show reposts",
"home.column_settings.show_replies": "Show replies",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Home",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favorites",
"navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "About this server",
"navigation_bar.keyboard_shortcuts": "Hotkeys",
"navigation_bar.lists": "Lists",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} favorited your post",
"notification.follow": "{name} followed you",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Home",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notifications",
diff --git a/app/soapbox/locales/ca.json b/app/soapbox/locales/ca.json
index 04418cbda..3918ae393 100644
--- a/app/soapbox/locales/ca.json
+++ b/app/soapbox/locales/ca.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Afegir o Treure de les llistes",
"account.badges.bot": "Bot",
"account.block": "Bloqueja @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Tanca",
"bundle_modal_error.message": "S'ha produït un error en carregar aquest component.",
"bundle_modal_error.retry": "Torna-ho a provar",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Usuaris bloquejats",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Línia de temps local",
"column.direct": "Missatges directes",
"column.domain_blocks": "Dominis ocults",
@@ -87,6 +100,7 @@
"column.follow_requests": "Peticions per seguir-te",
"column.groups": "Groups",
"column.home": "Inici",
+ "column.import_data": "Import data",
"column.lists": "Llistes",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Encara no has silenciat cap usuari.",
"empty_column.notifications": "Encara no tens notificacions. Interactua amb altres per iniciar la conversa.",
"empty_column.public": "No hi ha res aquí! Escriu públicament alguna cosa o manualment segueix usuaris d'altres servidors per omplir-ho",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "i {additional}",
"hashtag.column_header.tag_mode.any": "o {additional}",
"hashtag.column_header.tag_mode.none": "sense {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Mostrar impulsos",
"home.column_settings.show_replies": "Mostrar respostes",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Inici",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# dia} other {# dies}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# hores}}",
"intervals.full.minutes": "{number, plural, one {# minut} other {# minuts}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favorits",
"navigation_bar.filters": "Paraules silenciades",
"navigation_bar.follow_requests": "Sol·licituds de seguiment",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Sobre aquest servidor",
"navigation_bar.keyboard_shortcuts": "Dreceres de teclat",
"navigation_bar.lists": "Llistes",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Línia de temps federada",
"navigation_bar.security": "Seguretat",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} ha afavorit el teu estat",
"notification.follow": "{name} et segueix",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "S'està preparant la línia de temps Inici!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Obre l'interfície de moderació per a @{name}",
"status.admin_status": "Obre aquest toot a la interfície de moderació",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Descartar suggeriment",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Inici",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notificacions",
diff --git a/app/soapbox/locales/co.json b/app/soapbox/locales/co.json
index 7964707b5..34b01ea78 100644
--- a/app/soapbox/locales/co.json
+++ b/app/soapbox/locales/co.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Aghjunghje o toglie da e liste",
"account.badges.bot": "Bot",
"account.block": "Bluccà @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Chjudà",
"bundle_modal_error.message": "C'hè statu un prublemu caricandu st'elementu.",
"bundle_modal_error.retry": "Pruvà torna",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Utilizatori bluccati",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Linea pubblica lucale",
"column.direct": "Missaghji diretti",
"column.domain_blocks": "Duminii piattati",
@@ -87,6 +100,7 @@
"column.follow_requests": "Dumande d'abbunamentu",
"column.groups": "Groups",
"column.home": "Accolta",
+ "column.import_data": "Import data",
"column.lists": "Liste",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Per avà ùn avete manc'un utilizatore piattatu.",
"empty_column.notifications": "Ùn avete ancu nisuna nutificazione. Interact with others to start the conversation.",
"empty_column.public": "Ùn c'hè nunda quì! Scrivete qualcosa in pubblicu o seguitate utilizatori d'altri servori per empie a linea pubblica",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "è {additional}",
"hashtag.column_header.tag_mode.any": "o {additional}",
"hashtag.column_header.tag_mode.none": "senza {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Vede e spartere",
"home.column_settings.show_replies": "Vede e risposte",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Accolta",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# ghjornu} other {# ghjorni}}",
"intervals.full.hours": "{number, plural, one {# ora} other {# ore}}",
"intervals.full.minutes": "{number, plural, one {# minuta} other {# minute}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favuriti",
"navigation_bar.filters": "Parolle silenzate",
"navigation_bar.follow_requests": "Dumande d'abbunamentu",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "À prupositu di u servore",
"navigation_bar.keyboard_shortcuts": "Accorte cù a tastera",
"navigation_bar.lists": "Liste",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Linea pubblica glubale",
"navigation_bar.security": "Sicurità",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} hà aghjuntu u vostru statutu à i so favuriti",
"notification.follow": "{name} v'hà seguitatu",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Priparazione di a vostra pagina d'accolta!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Apre l'interfaccia di muderazione per @{name}",
"status.admin_status": "Apre stu statutu in l'interfaccia di muderazione",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Righjittà a pruposta",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Accolta",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Nutificazione",
diff --git a/app/soapbox/locales/cs.json b/app/soapbox/locales/cs.json
index 7e2497e65..af26d754b 100644
--- a/app/soapbox/locales/cs.json
+++ b/app/soapbox/locales/cs.json
@@ -1,11 +1,13 @@
{
+ "accordion.collapse": "Složit",
+ "accordion.expand": "Rozšířit",
"account.add_or_remove_from_list": "Přidat nebo odstranit ze seznamů",
"account.badges.bot": "Robot",
"account.block": "Zablokovat uživatele @{name}",
"account.block_domain": "Skrýt vše z {domain}",
"account.blocked": "Blokován/a",
- "account.deactivated": "Deactivated",
- "account.deactivated_description": "This account has been deactivated.",
+ "account.deactivated": "Deaktivován",
+ "account.deactivated_description": "Tento účet byl deaktivován.",
"account.direct": "Poslat přímou zprávu uživateli @{name}",
"account.domain_blocked": "Doména skryta",
"account.edit_profile": "Upravit profil",
@@ -33,8 +35,8 @@
"account.profile": "Profil",
"account.register": "Registrovat se",
"account.report": "Nahlásit uživatele @{name}",
- "account.requested": "Čekám na schválení. Kliknutím zrušíte požadavek o sledování",
- "account.requested_small": "Awaiting approval",
+ "account.requested": "Čeká na schválení. Kliknutím zrušíte požadavek o sledování",
+ "account.requested_small": "Čeká na schválení",
"account.share": "Sdílet profil uživatele @{name}",
"account.show_reblogs": "Zobrazit boosty od uživatele @{name}",
"account.unblock": "Odblokovat uživatele @{name}",
@@ -46,13 +48,13 @@
"account_gallery.none": "Žádná média k zobrazení.",
"alert.unexpected.message": "Objevila se neočekávaná chyba.",
"alert.unexpected.title": "Jejda!",
- "audio.close": "Close audio",
- "audio.expand": "Expand audio",
- "audio.hide": "Hide audio",
- "audio.mute": "Mute",
- "audio.pause": "Pause",
- "audio.play": "Play",
- "audio.unmute": "Unmute",
+ "audio.close": "Zavřít audio přehrávač",
+ "audio.expand": "Zvětšit audio přehrávač",
+ "audio.hide": "Schovat audio přehrávač",
+ "audio.mute": "Ztlumit",
+ "audio.pause": "Pozastavit",
+ "audio.play": "Přehrát",
+ "audio.unmute": "Zesílit",
"boost_modal.combo": "Příště můžete pro přeskočení stisknout {combo}",
"bundle_column_error.body": "Při načítání tohoto komponentu se něco pokazilo.",
"bundle_column_error.retry": "Zkuste to znovu",
@@ -60,45 +62,57 @@
"bundle_modal_error.close": "Zavřít",
"bundle_modal_error.message": "Při načítání tohoto komponentu se něco pokazilo.",
"bundle_modal_error.retry": "Zkusit znovu",
+ "chat_box.actions.send": "Poslat",
+ "chat_box.input.placeholder": "Poslat zprávu…",
+ "chat_panels.main_window.empty": "Žádné chaty nenalezeny. Pro začnutí chatu, navštivte nečí profil.",
+ "chat_panels.main_window.title": "Chaty",
+ "chats.actions.delete": "Odstranit zprávu",
+ "chats.actions.more": "Více",
+ "chats.actions.report": "Nahlásit uživatele",
+ "chats.audio_toggle_off": "Audio upozornění vypnuté",
+ "chats.audio_toggle_on": "Audio upozornění zapnoté",
+ "chats.dividers.today": "Dnes",
"column.blocks": "Blokovaní uživatelé",
- "column.bookmarks": "Bookmarks",
+ "column.bookmarks": "Záložky",
+ "column.chats": "Chaty",
"column.community": "Místní zeď",
"column.direct": "Přímé zprávy",
"column.domain_blocks": "Skryté domény",
"column.edit_profile": "Editovat profil",
"column.filters": "Filtrovaná slova",
- "column.filters.add_new": "Add New Filter",
- "column.filters.conversations": "Conversations",
- "column.filters.create_error": "Error adding filter",
- "column.filters.delete": "Delete",
- "column.filters.delete_error": "Error deleting filter",
- "column.filters.drop_header": "Drop instead of hide",
- "column.filters.drop_hint": "Filtered posts will disappear irreversibly, even if filter is later removed",
- "column.filters.expires": "Expire after",
- "column.filters.expires_hint": "Expiration dates are not currently supported",
- "column.filters.home_timeline": "Home timeline",
- "column.filters.keyword": "Keyword or phrase",
- "column.filters.notifications": "Notifications",
- "column.filters.public_timeline": "Public timeline",
- "column.filters.subheading_add_new": "Add New Filter",
- "column.filters.subheading_filters": "Current Filters",
- "column.filters.whole_word_header": "Whole word",
- "column.filters.whole_word_hint": "When the keyword or phrase is alphanumeric only, it will only be applied if it matches the whole word",
+ "column.filters.add_new": "Přidat nový filter",
+ "column.filters.conversations": "Konverzace",
+ "column.filters.create_error": "Chyba při vytváření filtru",
+ "column.filters.delete": "Odstranit",
+ "column.filters.delete_error": "Chyba při odstraňování filtru",
+ "column.filters.drop_header": "Zahodit místo schovat",
+ "column.filters.drop_hint": "Filtrované příspěvky zmizí navždy, ikdyž filtr později odstraníte",
+ "column.filters.expires": "Vypršet po",
+ "column.filters.expires_hint": "Vyprchávání momentálně není podporováno",
+ "column.filters.home_timeline": "Domácí zeď",
+ "column.filters.keyword": "Klíčové slovo nebo fráze",
+ "column.filters.notifications": "Oznámení",
+ "column.filters.public_timeline": "Federovaná zeď",
+ "column.filters.subheading_add_new": "Přidat filter",
+ "column.filters.subheading_filters": "Současné filtry",
+ "column.filters.whole_word_header": "Celé slovo",
+ "column.filters.whole_word_hint": "Pokud je klíčové slovo či fráze pouze alfanumerické, bude aplikováno pouze pokud je kompletně shodné",
"column.follow_requests": "Požadavky o sledování",
"column.groups": "Skupiny",
"column.home": "Domů",
+ "column.import_data": "Importovat data",
"column.lists": "Seznamy",
- "column.mfa": "Multi-Factor Authentication",
- "column.mfa_cancel": "Cancel",
- "column.mfa_confirm_button": "Confirm",
- "column.mfa_disable_button": "Disable",
- "column.mfa_setup": "Proceed to Setup",
+ "column.mfa": "Multi-Faktorová Authentifikace",
+ "column.mfa_cancel": "Zrušit",
+ "column.mfa_confirm_button": "Potvrdit",
+ "column.mfa_disable_button": "Deaktivovat",
+ "column.mfa_setup": "Pokračovat v nastavování",
"column.mutes": "Skrytí uživatelé",
"column.notifications": "Oznámení",
"column.preferences": "Preference",
"column.public": "Federovaná zeď",
"column.security": "Security",
- "column.soapbox_config": "Soapbox config",
+ "column.soapbox_config": "Soapbox nastavení",
"column_back_button.label": "Zpět",
"column_header.hide_settings": "Skrýt nastavení",
"column_header.show_settings": "Zobrazit nastavení",
@@ -109,14 +123,14 @@
"compose_form.hashtag_warning": "Tento příspěvěk nebude zobrazen pod žádným hashtagem, neboť je neuvedený. Pouze veřejné příspěvky mohou být vyhledány podle hashtagu.",
"compose_form.lock_disclaimer": "Váš účet není {locked}. Kdokoliv vás může sledovat a vidět vaše příspěvky pouze pro sledující.",
"compose_form.lock_disclaimer.lock": "uzamčen",
- "compose_form.markdown.marked": "Post markdown enabled",
- "compose_form.markdown.unmarked": "Post markdown disabled",
+ "compose_form.markdown.marked": "Markdown povolen",
+ "compose_form.markdown.unmarked": "Markdown deaktivován",
"compose_form.placeholder": "Co se vám honí hlavou?",
"compose_form.poll.add_option": "Přidat volbu",
"compose_form.poll.duration": "Délka ankety",
"compose_form.poll.option_placeholder": "Volba {number}",
"compose_form.poll.remove_option": "Odstranit tuto volbu",
- "compose_form.poll.type.hint": "Click to toggle poll type. Radio button (default) is single. Checkbox is multiple.",
+ "compose_form.poll.type.hint": "Klikněte pro změnu typu ankety. Kulaté tlačítko značí jednu volbu a hranaté značí více.",
"compose_form.publish": "Publikovat",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.hide": "Označit média jako citlivá",
@@ -150,10 +164,10 @@
"edit_profile.fields.display_name_label": "Zobrazované jméno",
"edit_profile.fields.header_label": "Hlavička",
"edit_profile.fields.locked_label": "Zamknout účet",
- "edit_profile.fields.meta_fields.content_placeholder": "Content",
- "edit_profile.fields.meta_fields.label_placeholder": "Label",
+ "edit_profile.fields.meta_fields.content_placeholder": "Obsah",
+ "edit_profile.fields.meta_fields.label_placeholder": "Štítek",
"edit_profile.fields.meta_fields_label": "Metadata profilu",
- "edit_profile.fields.verified_display_name": "Verified users may not update their display name",
+ "edit_profile.fields.verified_display_name": "Ověření uživatelé si nemohou změnit své zobrazované jméno",
"edit_profile.hints.avatar": "PNG, GIF nebo JPG. Maximálně 2 MB. Bude zmenšen na 400x400px",
"edit_profile.hints.bot": "Tento účet provádí automatizované úkony a není aktivně monitorován.",
"edit_profile.hints.header": "PNG, GIF nebo JPG. Maximálně 2 MB. Bude zmenšen na 1500x500px",
@@ -179,7 +193,7 @@
"empty_column.account_timeline": "Tady nejsou žádné příspěvky!",
"empty_column.account_unavailable": "Profil nedostupný",
"empty_column.blocks": "Ještě jste nezablokoval/a žádného uživatele.",
- "empty_column.bookmarks": "You don't have any bookmarks yet. When you add one, it will show up here.",
+ "empty_column.bookmarks": "Nemáte ještě žádné záložky. Když nějaké přidáte, zobrazí se zde.",
"empty_column.community": "Místní zeď je prázdná. Napište něco veřejně a rozhýbejte to tu!",
"empty_column.direct": "Ještě nemáte žádné přímé zprávy. Pokud nějakou pošlete nebo dostanete, zobrazí se zde.",
"empty_column.domain_blocks": "Ještě nejsou žádné skryté domény.",
@@ -190,25 +204,23 @@
"empty_column.group": "V této skupině ještě není žádný příspěvěk. Když členové této skupiny publikují příspěvky, objevý se zde.",
"empty_column.hashtag": "Pod tímto hashtagem ještě nic není.",
"empty_column.home": "Vaše domovská zeď je prázdná! Začněte navštívením {public} nebo použijte hledání a seznamte se s dalšími uživateli.",
- "empty_column.home.local_tab": "the {site_title} tab",
+ "empty_column.home.local_tab": "Zeď {site_title}",
"empty_column.list": "V tomto seznamu ještě nic není. Pokud budou členové tohoto seznamu psát nové příspěvky, objeví se zde.",
"empty_column.lists": "Ještě nemáte žádný seznam. Pokud nějaký vytvoříte, zobrazí se zde.",
"empty_column.mutes": "Ještě jste neskryl/a žádné uživatele.",
"empty_column.notifications": "Ještě nemáte žádná oznámení. Začněte konverzaci komunikováním s ostatními.",
- "empty_column.public": "Tady nic není! Napište něco veřejně, nebo začněte ručně sledovat uživatele z jiných serverů, aby tu něco přibylo",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
- "fediverse_tab.explanation_box.explanation": "{site_title} je členem Fediverse, sociální síť složená z tisíce nezávislých serverů. Příspěvky které zde vidíte pochází ze serverů třetí strany. Máte možnost se servery komunikovat či blokovat. Dávejte si pozor na druhou část jména za druhým @, ta indikuje z jakého serveru uživat pochází. Aby jste viděly pouze příspěvky z {site_title}, navštivte {local}.",
+ "empty_column.public": "Tady nic není! Napište něco veřejně, nebo začněte sledovat uživatele z jiných serverů, aby tu něco přibylo",
+ "fediverse_tab.explanation_box.explanation": "{site_title} je členem Fediverse, sociální sítě složené z tisíce nezávislých serverů. Příspěvky které zde vidíte pochází ze serverů třetí strany. Máte možnost se servery komunikovat či je blokovat. Dávejte si pozor na druhou část jména za druhým @, ta indikuje z jakého serveru uživatel pochází. Aby jste viděly pouze příspěvky z {site_title}, navštivte {local}.",
"fediverse_tab.explanation_box.title": "Co je to Fediverse?",
- "filters.context_header": "Filter contexts",
- "filters.context_hint": "One or multiple contexts where the filter should apply",
- "filters.filters_list_context_label": "Filter contexts:",
- "filters.filters_list_delete": "Delete",
- "filters.filters_list_details_label": "Filter settings:",
- "filters.filters_list_drop": "Drop",
- "filters.filters_list_hide": "Hide",
- "filters.filters_list_phrase_label": "Keyword or phrase:",
- "filters.filters_list_whole-word": "Whole word",
+ "filters.context_header": "Filtrovat obsah",
+ "filters.context_hint": "Jeden či více kontextů kde bude filtr aktivován",
+ "filters.filters_list_context_label": "Kontexty filtru:",
+ "filters.filters_list_delete": "Odstranit",
+ "filters.filters_list_details_label": "Nastavení filtru:",
+ "filters.filters_list_drop": "Zahodit",
+ "filters.filters_list_hide": "Schovat",
+ "filters.filters_list_phrase_label": "Klíčové slovo či fráze:",
+ "filters.filters_list_whole-word": "Celé slovo",
"follow_request.authorize": "Autorizovat",
"follow_request.reject": "Odmítnout",
"getting_started.heading": "Začínáme",
@@ -228,18 +240,29 @@
"groups.form.title": "Jméno",
"groups.form.update": "Upravit skupinu",
"groups.removed_accounts": "Odstranit účty",
- "groups.tab_admin": "Manage",
+ "groups.tab_admin": "Spravovat",
"groups.tab_featured": "Featured",
"groups.tab_member": "Člen",
"hashtag.column_header.tag_mode.all": "a {additional}",
"hashtag.column_header.tag_mode.any": "nebo {additional}",
"hashtag.column_header.tag_mode.none": "bez {additional}",
- "home.column_settings.show_direct": "Show direct messages",
+ "header.about.label": "O",
+ "header.back_to.label": "Zpět na {siteTitle}",
+ "header.home.label": "Domů",
+ "header.login.label": "Přihlásit se",
+ "home.column_settings.show_direct": "Zobrazit přímé zprávy",
"home.column_settings.show_reblogs": "Zobrazit boosty",
"home.column_settings.show_replies": "Zobrazit odpovědi",
"home_column.lists": "Listy",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Domů",
+ "import_data.actions.import": "Importovat",
+ "import_data.actions.import_blocks": "Importovat blokace",
+ "import_data.actions.import_follows": "Importovat sledované",
+ "import_data.blocks_label": "Blokace",
+ "import_data.follows_label": "Sledovaní",
+ "import_data.hints.blocks": "CSV soubor obsahující seznam blokovaných účtů",
+ "import_data.hints.follows": "CSV soubor obsahující seznam sledovaných účtů",
"intervals.full.days": "{number, plural, one {# den} few {# dny} many {# dne} other {# dní}}",
"intervals.full.hours": "{number, plural, one {# hodina} few {# hodiny} many {# hodiny} other {# hodin}}",
"intervals.full.minutes": "{number, plural, one {# minuta} few {# minuty} many {# minuty} other {# minut}}",
@@ -285,35 +308,35 @@
"lists.edit.submit": "Změnit název",
"lists.new.create": "Přidat seznam",
"lists.new.create_title": "Vytvořit",
- "lists.new.save_title": "Save Title",
+ "lists.new.save_title": "Uložit titul",
"lists.new.title_placeholder": "Název nového seznamu",
"lists.search": "Hledejte mezi lidmi, které sledujete",
"lists.subheading": "Vaše seznamy",
"lists.view_all": "Zobrazit všechny seznamy",
"loading_indicator.label": "Načítám…",
- "login.fields.otp_code_hint": "Enter the two-factor code generated by your phone app or use one of your recovery codes",
- "login.fields.otp_code_label": "Two-factor code:",
+ "login.fields.otp_code_hint": "Zadejte kód pro dvoufaktorové ověřování vygenerovaný Vaší mobilní aplikací nebo Váš obnovovací kód",
+ "login.fields.otp_code_label": "Kód pro dvoufaktorové ověřování:",
"login.fields.password_placeholder": "Heslo",
"login.fields.username_placeholder": "Jméno",
"login.log_in": "Přihlásit se",
- "login.otp_log_in": "OTP Login",
- "login.otp_log_in.fail": "Invalid code, please try again.",
+ "login.otp_log_in": "OTP přihlášení",
+ "login.otp_log_in.fail": "Neplatný kód, zkuste to prosím znovu.",
"login.reset_password_hint": "Problémy s přihlášením?",
"media_gallery.toggle_visible": "Přepínat viditelnost",
- "media_panel.title": "Media",
- "mfa.mfa_disable_enter_password": "Enter your current password to disable two-factor auth:",
- "mfa.mfa_setup_enter_password": "Enter your current password to confirm your identity:",
- "mfa.mfa_setup_scan_description": "Using your two-factor app, scan this QR code or enter text key:",
- "mfa.mfa_setup_scan_key": "Key:",
- "mfa.mfa_setup_scan_title": "Scan",
- "mfa.mfa_setup_verify_description": "To enable two-factor authentication, enter the code from your two-factor app:",
- "mfa.mfa_setup_verify_title": "Verify",
- "mfa.otp_enabled_description": "You have enabled two-factor authentication via OTP.",
- "mfa.otp_enabled_title": "OTP Enabled",
- "mfa.setup_hint": "Follow these steps to set up multi-factor authentication on your account with OTP",
- "mfa.setup_otp_title": "OTP Disabled",
- "mfa.setup_recoverycodes": "Recovery codes",
- "mfa.setup_warning": "Write these codes down or save them somewhere secure - otherwise you won't see them again. If you lose access to your 2FA app and recovery codes you'll be locked out of your account.",
+ "media_panel.title": "Média",
+ "mfa.mfa_disable_enter_password": "Zadejte svoje součastné heslo pro zrušení dvoufaktorového ověřování:",
+ "mfa.mfa_setup_enter_password": "Zadejte svoje součastné heslo pro potvrzení svojí identity:",
+ "mfa.mfa_setup_scan_description": "Požijte aplikaci pro dvoufaktorové ověřování na oskenování tohoto QR kódu nebo opište do ní tento klíč:",
+ "mfa.mfa_setup_scan_key": "Klíč:",
+ "mfa.mfa_setup_scan_title": "Skenovat",
+ "mfa.mfa_setup_verify_description": "Pro zapnutí dvoufaktorového ověřování, vložte kód z Vaší aplikace:",
+ "mfa.mfa_setup_verify_title": "Ověřit",
+ "mfa.otp_enabled_description": "Povolil/a jste dvoufaktorové ověřování skrze OTP.",
+ "mfa.otp_enabled_title": "OTP povoleno",
+ "mfa.setup_hint": "Následujte tyto kroky pro nastavení dvoufaktorového ověřování skrze OTP",
+ "mfa.setup_otp_title": "OTP vypnuto",
+ "mfa.setup_recoverycodes": "Obnovovací kódy",
+ "mfa.setup_warning": "Zapiště si tyto kódy nebo si je uložte na bezpečné místo - už je znovu neuvidíte. Pokud ztratíte přístup ke svojí 2FA aplikaci a obnovovacím kódům, ztratíte navždy přístup ke svému účtu.",
"missing_indicator.label": "Nenalezeno",
"missing_indicator.sublabel": "Tento zdroj se nepodařilo najít",
"morefollows.followers_label": "…and {count} more {count, plural, one {follower} other {followers}} on remote sites.",
@@ -321,7 +344,7 @@
"mute_modal.hide_notifications": "Skrýt oznámení od tohoto uživatele?",
"navigation_bar.admin_settings": "Adminské menu",
"navigation_bar.blocks": "Blokovaní uživatelé",
- "navigation_bar.bookmarks": "Bookmarks",
+ "navigation_bar.bookmarks": "Záložky",
"navigation_bar.community_timeline": "Místní zeď",
"navigation_bar.compose": "Vytvořit nový příspěvek",
"navigation_bar.direct": "Přímé zprávy",
@@ -331,24 +354,26 @@
"navigation_bar.favourites": "Oblíbené",
"navigation_bar.filters": "Skrytá slova",
"navigation_bar.follow_requests": "Požadavky o sledování",
+ "navigation_bar.import_data": "Importovat data",
"navigation_bar.info": "O tomto serveru",
"navigation_bar.keyboard_shortcuts": "Klávesové zkratky",
"navigation_bar.lists": "Seznamy",
"navigation_bar.logout": "Odhlásit",
- "navigation_bar.messages": "Messages",
+ "navigation_bar.messages": "Zprávy",
"navigation_bar.mutes": "Skrytí uživatelé",
"navigation_bar.personal": "Osobní",
"navigation_bar.pins": "Připnuté příspěvky",
"navigation_bar.preferences": "Předvolby",
"navigation_bar.public_timeline": "Federovaná zeď",
"navigation_bar.security": "Zabezpečení",
- "navigation_bar.soapbox_config": "Soapbox config",
+ "navigation_bar.soapbox_config": "Soapbox nastavení",
+ "notification.chat_mention": "{name} Vám poslal/a zprávu",
"notification.emoji_react": "{name} reagoval/a na Váš příspěvek",
"notification.favourite": "{name} si oblíbil/a váš příspěvek",
"notification.follow": "{name} vás začal/a sledovat",
"notification.mention": "{name} vás zmínil/a",
"notification.poll": "Anketa, ve které jste hlasoval/a, skončila",
- "notification.reblog": "{name} boostnul/a váš toot",
+ "notification.reblog": "{name} boostnul/a váš příspěvek",
"notifications.clear": "Vymazat oznámení",
"notifications.clear_confirmation": "Jste si jistý/á, že chcete trvale vymazat všechna vaše oznámení?",
"notifications.column_settings.alert": "Desktopová oznámení",
@@ -363,8 +388,8 @@
"notifications.column_settings.reblog": "Boosty:",
"notifications.column_settings.show": "Zobrazit ve sloupci",
"notifications.column_settings.sound": "Přehrát zvuk",
- "notifications.column_settings.sounds": "Sounds",
- "notifications.column_settings.sounds.all_sounds": "Play sound for all notifications",
+ "notifications.column_settings.sounds": "Zvuky",
+ "notifications.column_settings.sounds.all_sounds": "Přehrávat zvuk ze všech notifikací",
"notifications.filter.all": "Vše",
"notifications.filter.boosts": "Boosty",
"notifications.filter.favourites": "Oblíbení",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Použít Demetrikátor",
"preferences.fields.dyslexic_font_label": "Mód pro dyslektiky",
"preferences.fields.expand_spoilers_label": "Vždy rozbalit příspěvky označené varováním",
+ "preferences.fields.halloween_label": "Halloween mód",
"preferences.fields.language_label": "Jazyk",
"preferences.fields.privacy_label": "Soukromý příspěvků",
"preferences.fields.reduce_motion_label": "Snížit pohyb animací",
"preferences.fields.system_font_label": "Použít výchozí font systému",
"preferences.fields.unfollow_modal_label": "Zobrazit potvrzovací dialog před zrušením sledování",
"preferences.hints.demetricator": "Snižte úzkost ze sociálních mediích odstraněním všech čísel.",
+ "preferences.hints.halloween": "POZOR: Strašidelné!",
"preferences.hints.privacy_followers_only": "Pouze zobrazovat sledujícím",
"preferences.hints.privacy_public": "Všichni je vidí",
"preferences.hints.privacy_unlisted": "Všichni je vidí, ale nezobrazují se na veřejných zdech",
@@ -410,14 +437,17 @@
"regeneration_indicator.label": "Načítám…",
"regeneration_indicator.sublabel": "Váš domovský proud se připravuje!",
"registration.agreement": "Souhlasím s {tos}.",
- "registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.captcha.hint": "Klikněte na tento obrázek pro vygenerovaní nové captchy",
+ "registration.closed_message": "{instance} nepříjmá nové uživatele",
+ "registration.closed_title": "Registrace uzavřeny",
"registration.fields.confirm_placeholder": "Heslo (znovu)",
"registration.fields.email_placeholder": "Emailová adresa",
"registration.fields.password_placeholder": "Heslo",
+ "registration.fields.username_hint": "Pouze písmena, čísla a podtržítka jsou povoleny.",
"registration.fields.username_placeholder": "Jméno",
"registration.lead": "S účtem na {instance} budete moci sledovat další uživatele na fediverse.",
- "registration.reason": "Why do you want to join?",
- "registration.reason_hint": "This will help us review your application",
+ "registration.reason": "Proč se chcete připojit?",
+ "registration.reason_hint": "Toto nám pomůže posoudit Vaši přihlášku",
"registration.sign_up": "Registrovat",
"registration.tos": "Podmínky služby",
"relative_time.days": "{number} d",
@@ -436,7 +466,7 @@
"report.target": "Nahlášení uživatele {target}",
"search.placeholder": "Hledat",
"search_popout.search_format": "Pokročilé hledání",
- "search_popout.tips.full_text": "Jednoduchý text navrátí tooty, které jste napsal/a, oblíbil/a si, boostnul/a, nebo v nich byl/a zmíněn/a, a také odpovídající přezdívky, zobrazovaná jména a hashtagy.",
+ "search_popout.tips.full_text": "Navrátí příspěvek, který jste napsal/a, oblíbil/a si, boostnul/a, nebo v nich byl/a zmíněn/a, a také odpovídající přezdívky, zobrazovaná jména a hashtagy.",
"search_popout.tips.hashtag": "hashtag",
"search_popout.tips.status": "příspěvek",
"search_popout.tips.user": "uživatel",
@@ -445,70 +475,64 @@
"search_results.statuses": "Příspěvky",
"search_results.top": "Top",
"search_results.total": "{count, number} {count, plural, one {výsledek} few {výsledky} many {výsledku} other {výsledků}}",
- "security.codes.fail": "Failed to fetch backup codes",
- "security.confirm.fail": "Incorrect code or password. Try again.",
- "security.delete_account.fail": "Account deletion failed.",
- "security.delete_account.success": "Account successfully deleted.",
- "security.disable.fail": "Incorrect password. Try again.",
- "security.disable_mfa": "Disable",
+ "security.codes.fail": "Selhalo načítání záložních kódů",
+ "security.confirm.fail": "Špatný kód nebo heslo. Zkuste to znova.",
+ "security.delete_account.fail": "Smazání účtu selhalo.",
+ "security.delete_account.success": "Smazání účtu bylo úspěšné.",
+ "security.disable.fail": "Špatné heslo. Zkuste to znova.",
+ "security.disable_mfa": "Vypnout",
"security.fields.email.label": "Emailová addresa",
"security.fields.new_password.label": "Nové heslo",
"security.fields.old_password.label": "Současné heslo",
"security.fields.password.label": "Heslo",
"security.fields.password_confirmation.label": "Nové heslo (znova)",
- "security.headers.delete": "Delete Account",
+ "security.headers.delete": "Odstranit účet",
"security.headers.tokens": "Sessions",
"security.headers.update_email": "Změnit email",
"security.headers.update_password": "Změnit heslo",
"security.mfa": "Set up 2-Factor Auth",
"security.mfa_enabled": "You have multi-factor authentication set up with OTP.",
- "security.mfa_header": "Authorization Methods",
+ "security.mfa_header": "Authorizační metody",
"security.mfa_setup_hint": "Configure multi-factor authentication with OTP",
"security.qr.fail": "Failed to fetch setup key",
"security.submit": "Uložit změny",
- "security.submit.delete": "Delete Account",
- "security.text.delete": "To delete your account, enter your password then click Delete Account. This is a permanent action that cannot be undone. Your account will be destroyed from this server, and a deletion request will be sent to other servers. It's not guaranteed that all servers will purge your account.",
- "security.tokens.revoke": "Revoke",
+ "security.submit.delete": "Smazat účet",
+ "security.text.delete": "Pro smazání účtu vložte své heslo a poté klikněte Smazat účet. Tuto akci poté nelze zvrátit. Váš účet bude smazán z tohoto serveru a žádost o smazání bude poslán všem známým serverům. Nelze garantovat, že všechny servery Váš účet smažou.",
+ "security.tokens.revoke": "Anulovat",
"security.update_email.fail": "Změna emailu se nezdařila.",
"security.update_email.success": "Email úspěšně změněn.",
"security.update_password.fail": "Změna hesla se nezdařila.",
"security.update_password.success": "Heslo úspěšně změněno.",
"signup_panel.subtitle": "Registrujte se pro diskuzi.",
"signup_panel.title": "Nový na {site_title}?",
- "soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
+ "soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright zápatí",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
- "soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
- "soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
- "soapbox_config.fields.home_footer_fields_label": "Home footer items",
+ "soapbox_config.fields.brand_color_label": "Barva značky",
+ "soapbox_config.fields.home_footer.add": "Přidat položku do Domácího zápatí",
+ "soapbox_config.fields.home_footer_fields_label": "Položky Domácího zápatí",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
- "soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
- "soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
- "soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
- "soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
- "soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
+ "soapbox_config.fields.promo_panel.add": "Přidat položku do Promo panelu",
+ "soapbox_config.fields.promo_panel_fields_label": "Položky Promo panelu",
+ "soapbox_config.fields.theme_label": "Výchozí motiv",
+ "soapbox_config.hints.home_footer_fields": "Můžete mít vlastní odkazy zobrazené v zápatí",
+ "soapbox_config.hints.logo": "SVG. Maximálně 2 MB. Bude zobrazeno 50 pixelů vysoké se zachovaným poměrem stran",
+ "soapbox_config.hints.promo_panel_fields": "Můžete mít vlastní odkazy zobrazené nalevo od zdi.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
- "soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
+ "soapbox_config.home_footer.meta_fields.label_placeholder": "Štítek",
"soapbox_config.home_footer.meta_fields.url_placeholder": "URL",
- "soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
- "soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
+ "soapbox_config.promo_panel.meta_fields.icon_placeholder": "Ikona",
+ "soapbox_config.promo_panel.meta_fields.label_placeholder": "Štítek",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
- "soapbox_config.save": "Save",
+ "soapbox_config.raw_json_hint": "Upravte data nastavení přímo. Změny udělané přímo do JSON přepíše předchozí formulář. Zmáčkněte Uložit pro aplikaci změn.",
+ "soapbox_config.raw_json_label": "Pokročilé: Upravit JSON data",
+ "soapbox_config.save": "Uložit",
"status.admin_account": "Otevřít moderátorské rozhraní pro uživatele @{name}",
- "status.admin_status": "Otevřít tento toot v moderátorském rozhraní",
+ "status.admin_status": "Otevřít tento příspěvek v moderátorském rozhraní",
"status.block": "Zablokovat uživatele @{name}",
- "status.bookmark": "Bookmark",
+ "status.bookmark": "Záložka",
"status.cancel_reblog_private": "Zrušit boost",
"status.cannot_reblog": "Tento příspěvek nemůže být boostnutý",
- "status.copy": "Kopírovat odkaz k tootu",
+ "status.copy": "Kopírovat odkaz příspěvku",
"status.delete": "Smazat",
"status.detailed_status": "Detailní zobrazení konverzace",
"status.direct": "Poslat přímou zprávu uživateli @{name}",
@@ -542,20 +566,21 @@
"status.show_more": "Zobrazit více",
"status.show_more_all": "Zobrazit více pro všechny",
"status.show_thread": "Zobrazit vlákno",
- "status.unbookmark": "Remove bookmark",
+ "status.unbookmark": "Odstranit záložku",
"status.unmute_conversation": "Odkrýt konverzaci",
"status.unpin": "Odepnout z profilu",
- "status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
+ "status_list.queue_label": "Klikněte aby pro zobrazení {count} nových {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Odmítnout návrh",
- "tabs_bar.apps": "Apps",
+ "tabs_bar.apps": "Aplikace",
+ "tabs_bar.chats": "Chaty",
"tabs_bar.home": "Domů",
"tabs_bar.news": "Zprávy",
"tabs_bar.notifications": "Oznámení",
- "tabs_bar.post": "Post",
- "tabs_bar.reports": "Reports",
+ "tabs_bar.post": "Příspěvek",
+ "tabs_bar.reports": "Nahlášení",
"tabs_bar.search": "Hledat",
- "tabs_bar.theme_toggle_dark": "Switch to dark theme",
- "tabs_bar.theme_toggle_light": "Switch to light theme",
+ "tabs_bar.theme_toggle_dark": "Přepnout na tmavý režim",
+ "tabs_bar.theme_toggle_light": "Přepnout na světlý režim",
"time_remaining.days": "{number, plural, one {Zbývá # den} few {Zbývají # dny} many {Zbývá # dne} other {Zbývá # dní}}",
"time_remaining.hours": "{number, plural, one {Zbývá # hodina} few {Zbývají # hodiny} many {Zbývá # hodiny} other {Zbývá # hodin}}",
"time_remaining.minutes": "{number, plural, one {Zbývá # minuta} few {Zbývají # minuty} many {Zbývá # minuty} other {Zbývá # minut}}",
diff --git a/app/soapbox/locales/cy.json b/app/soapbox/locales/cy.json
index f4facc78f..ba9230ae7 100644
--- a/app/soapbox/locales/cy.json
+++ b/app/soapbox/locales/cy.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Ychwanegu neu Dileu o'r rhestrau",
"account.badges.bot": "Bot",
"account.block": "Blocio @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Cau",
"bundle_modal_error.message": "Aeth rhywbeth o'i le tra'n llwytho'r elfen hon.",
"bundle_modal_error.retry": "Ceiswich eto",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Defnyddwyr a flociwyd",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Ffrwd lleol",
"column.direct": "Negeseuon preifat",
"column.domain_blocks": "Parthau cuddiedig",
@@ -87,6 +100,7 @@
"column.follow_requests": "Ceisiadau dilyn",
"column.groups": "Groups",
"column.home": "Hafan",
+ "column.import_data": "Import data",
"column.lists": "Rhestrau",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Nid ydych wedi tawelu unrhyw ddefnyddwyr eto.",
"empty_column.notifications": "Nid oes gennych unrhyw hysbysiadau eto. Rhyngweithiwch ac eraill i ddechrau'r sgwrs.",
"empty_column.public": "Does dim byd yma! Ysgrifennwch rhywbeth yn gyhoeddus, neu dilynwch ddefnyddwyr o achosion eraill i'w lenwi",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "a {additional}",
"hashtag.column_header.tag_mode.any": "neu {additional}",
"hashtag.column_header.tag_mode.none": "heb {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Dangos bŵstiau",
"home.column_settings.show_replies": "Dangos ymatebion",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Hafan",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# ddydd} other {# o ddyddiau}}",
"intervals.full.hours": "{number, plural, one {# awr} other {# o oriau}}",
"intervals.full.minutes": "{number, plural, one {# funud} other {# o funudau}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Ffefrynnau",
"navigation_bar.filters": "Geiriau a dawelwyd",
"navigation_bar.follow_requests": "Ceisiadau dilyn",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Ynghylch yr achos hwn",
"navigation_bar.keyboard_shortcuts": "Bysellau brys",
"navigation_bar.lists": "Rhestrau",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Ffrwd y ffederasiwn",
"navigation_bar.security": "Diogelwch",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "hoffodd {name} eich tŵt",
"notification.follow": "dilynodd {name} chi",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Mae eich ffrwd cartref yn cael ei baratoi!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Agor rhyngwyneb goruwchwylio ar gyfer @{name}",
"status.admin_status": "Agor y tŵt yn y rhyngwyneb goruwchwylio",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Diswyddo",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Hafan",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Hysbysiadau",
diff --git a/app/soapbox/locales/da.json b/app/soapbox/locales/da.json
index d987da07c..fd42a41cb 100644
--- a/app/soapbox/locales/da.json
+++ b/app/soapbox/locales/da.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Tilføj eller fjern fra lister",
"account.badges.bot": "Robot",
"account.block": "Bloker @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Luk",
"bundle_modal_error.message": "Noget gik galt under indlæsningen af dette komponent.",
"bundle_modal_error.retry": "Prøv igen",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Blokerede brugere",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Lokal tidslinje",
"column.direct": "Direkte beskeder",
"column.domain_blocks": "Skjulte domæner",
@@ -87,6 +100,7 @@
"column.follow_requests": "Anmodning om at følge",
"column.groups": "Groups",
"column.home": "Hjem",
+ "column.import_data": "Import data",
"column.lists": "Lister",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Du har endnu ikke dæmpet nogen som helst bruger.",
"empty_column.notifications": "Du har endnu ingen notifikationer. Tag ud og bland dig med folkemængden for at starte samtalen.",
"empty_column.public": "Der er ikke noget at se her! Skriv noget offentligt eller start ud med manuelt at følge brugere fra andre server for at udfylde tomrummet",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "og {additional}",
"hashtag.column_header.tag_mode.any": "eller {additional}",
"hashtag.column_header.tag_mode.none": "uden {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Vis fremhævelser",
"home.column_settings.show_replies": "Vis svar",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Hjem",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# dag} other {# dage}}",
"intervals.full.hours": "{number, plural, one {# time} other {# timer}}",
"intervals.full.minutes": "{number, plural, one {# minut} other {# minutter}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favoritter",
"navigation_bar.filters": "Dæmpede ord",
"navigation_bar.follow_requests": "Følgeanmodninger",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Om denne instans",
"navigation_bar.keyboard_shortcuts": "Hurtigtast",
"navigation_bar.lists": "Lister",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Fælles tidslinje",
"navigation_bar.security": "Sikkerhed",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} favoriserede din status",
"notification.follow": "{name} fulgte dig",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Din startside er ved at blive forberedt!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Åben modereringsvisning for @{name}",
"status.admin_status": "Åben denne status i modereringsvisningen",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Afvis foreslag",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Hjem",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notifikationer",
diff --git a/app/soapbox/locales/de.json b/app/soapbox/locales/de.json
index 3ba21b017..81c6505d1 100644
--- a/app/soapbox/locales/de.json
+++ b/app/soapbox/locales/de.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Hinzufügen oder Entfernen von Listen",
"account.badges.bot": "Bot",
"account.block": "@{name} blockieren",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Schließen",
"bundle_modal_error.message": "Etwas ist beim Laden schiefgelaufen.",
"bundle_modal_error.retry": "Erneut versuchen",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Blockierte Profile",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Lokale Zeitleiste",
"column.direct": "Direktnachrichten",
"column.domain_blocks": "Versteckte Domains",
@@ -87,6 +100,7 @@
"column.follow_requests": "Folgeanfragen",
"column.groups": "Gruppen",
"column.home": "Startseite",
+ "column.import_data": "Import data",
"column.lists": "Listen",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Du hast keine Profile stummgeschaltet.",
"empty_column.notifications": "Du hast noch keine Mitteilungen. Interagiere mit anderen, um ins Gespräch zu kommen.",
"empty_column.public": "Hier ist nichts zu sehen! Schreibe etwas öffentlich oder folge Profilen von anderen Servern, um die Zeitleiste aufzufüllen",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} ist Teil des Fediverse, einem Sozialen Netzwerk, das aus tausenden unabhängigen Instanzen (aka \"Servern\") besteht. Die Beiträge, die du hier siehst, stammen überwiegend von anderen Servern. Du kannst auf alle Einträge reagieren oder jeden Server blockieren, der dir nicht gefällt. Die Bezeichnung hinter dem zweiten @-Symbol ist der Name des entsprechenden Servers. Um nur Beiträge von {site_title} zu sehen, wähle {local} aus.",
"fediverse_tab.explanation_box.title": "Was ist das Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "und {additional}",
"hashtag.column_header.tag_mode.any": "oder {additional}",
"hashtag.column_header.tag_mode.none": "ohne {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Geteilte Beiträge anzeigen",
"home.column_settings.show_replies": "Antworten anzeigen",
"home_column.lists": "Listen",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Startseite",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# Tag} other {# Tage}}",
"intervals.full.hours": "{number, plural, one {# Stunde} other {# Stunden}}",
"intervals.full.minutes": "{number, plural, one {# Minute} other {# Minuten}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favoriten",
"navigation_bar.filters": "Stummgeschaltene Wörter",
"navigation_bar.follow_requests": "Folgeanfragen",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Über diesen Server",
"navigation_bar.keyboard_shortcuts": "Tastenkombinationen",
"navigation_bar.lists": "Listen",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Föderierte Zeitleiste",
"navigation_bar.security": "Sicherheit",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} hat auf deinen Beitrag reagiert",
"notification.favourite": "{name} hat deinen Beitrag favorisiert",
"notification.follow": "{name} folgt dir",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Sprache",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Deine Startseite wird gerade vorbereitet!",
"registration.agreement": "Ich akzeptiere die {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Passwort (wiederholen)",
"registration.fields.email_placeholder": "Emailadresse",
"registration.fields.password_placeholder": "Passwort",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Nutzername",
"registration.lead": "Mit einem Konto auf {instance} kannst du Nutzern im gesamten Fediverse folgen.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "Neu auf {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Öffne Moderationsoberfläche für @{name}",
"status.admin_status": "Öffne Beitrag in der Moderationsoberfläche",
@@ -548,6 +572,7 @@
"status_list.queue_label": "{count, plural, one {Ein neuer Beitrag} other {# neue Beiträge}}. Hier klicken, um {count, plural, one {ihn} other {sie}} anzuzeigen.",
"suggestions.dismiss": "Empfehlung ausblenden",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Startseite",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Benachrichtigungen",
diff --git a/app/soapbox/locales/defaultMessages.json b/app/soapbox/locales/defaultMessages.json
index 9e5729e58..52330901c 100644
--- a/app/soapbox/locales/defaultMessages.json
+++ b/app/soapbox/locales/defaultMessages.json
@@ -262,6 +262,15 @@
],
"path": "app/soapbox/components/poll.json"
},
+ {
+ "descriptors": [
+ {
+ "defaultMessage": "Follows you",
+ "id": "account.follows_you"
+ }
+ ],
+ "path": "app/soapbox/components/profile_hover_card.json"
+ },
{
"descriptors": [
{
@@ -321,10 +330,6 @@
"defaultMessage": "Profile",
"id": "account.profile"
},
- {
- "defaultMessage": "Messages",
- "id": "navigation_bar.messages"
- },
{
"defaultMessage": "Preferences",
"id": "navigation_bar.preferences"
@@ -357,6 +362,10 @@
"defaultMessage": "Soapbox config",
"id": "navigation_bar.soapbox_config"
},
+ {
+ "defaultMessage": "Import data",
+ "id": "navigation_bar.import_data"
+ },
{
"defaultMessage": "Security",
"id": "navigation_bar.security"
@@ -990,6 +999,79 @@
],
"path": "app/soapbox/features/bookmarks/index.json"
},
+ {
+ "descriptors": [
+ {
+ "defaultMessage": "Audio notification on",
+ "id": "chats.audio_toggle_on"
+ },
+ {
+ "defaultMessage": "Audio notification off",
+ "id": "chats.audio_toggle_off"
+ }
+ ],
+ "path": "app/soapbox/features/chats/components/audio_toggle.json"
+ },
+ {
+ "descriptors": [
+ {
+ "defaultMessage": "Send a message…",
+ "id": "chat_box.input.placeholder"
+ },
+ {
+ "defaultMessage": "Send",
+ "id": "chat_box.actions.send"
+ }
+ ],
+ "path": "app/soapbox/features/chats/components/chat_box.json"
+ },
+ {
+ "descriptors": [
+ {
+ "defaultMessage": "Today",
+ "id": "chats.dividers.today"
+ },
+ {
+ "defaultMessage": "More",
+ "id": "chats.actions.more"
+ },
+ {
+ "defaultMessage": "Delete message",
+ "id": "chats.actions.delete"
+ },
+ {
+ "defaultMessage": "Report user",
+ "id": "chats.actions.report"
+ }
+ ],
+ "path": "app/soapbox/features/chats/components/chat_message_list.json"
+ },
+ {
+ "descriptors": [
+ {
+ "defaultMessage": "Chats",
+ "id": "chat_panels.main_window.title"
+ },
+ {
+ "defaultMessage": "No chats found. To start a chat, visit a user's profile.",
+ "id": "chat_panels.main_window.empty"
+ }
+ ],
+ "path": "app/soapbox/features/chats/components/chat_panes.json"
+ },
+ {
+ "descriptors": [
+ {
+ "defaultMessage": "Chats",
+ "id": "column.chats"
+ },
+ {
+ "defaultMessage": "No chats found. To start a chat, visit a user's profile.",
+ "id": "chat_panels.main_window.empty"
+ }
+ ],
+ "path": "app/soapbox/features/chats/index.json"
+ },
{
"descriptors": [
{
@@ -1070,6 +1152,10 @@
"defaultMessage": "Soapbox config",
"id": "navigation_bar.soapbox_config"
},
+ {
+ "defaultMessage": "Import data",
+ "id": "navigation_bar.import_data"
+ },
{
"defaultMessage": "Security",
"id": "navigation_bar.security"
@@ -2011,12 +2097,53 @@
],
"path": "app/soapbox/features/home_timeline/index.json"
},
+ {
+ "descriptors": [
+ {
+ "defaultMessage": "Import data",
+ "id": "column.import_data"
+ },
+ {
+ "defaultMessage": "Import",
+ "id": "import_data.actions.import"
+ },
+ {
+ "defaultMessage": "Follows",
+ "id": "import_data.follows_label"
+ },
+ {
+ "defaultMessage": "CSV file containing a list of followed accounts",
+ "id": "import_data.hints.follows"
+ },
+ {
+ "defaultMessage": "Import follows",
+ "id": "import_data.actions.import_follows"
+ },
+ {
+ "defaultMessage": "Blocks",
+ "id": "import_data.blocks_label"
+ },
+ {
+ "defaultMessage": "CSV file containing a list of blocked accounts",
+ "id": "import_data.hints.blocks"
+ },
+ {
+ "defaultMessage": "Import blocks",
+ "id": "import_data.actions.import_blocks"
+ }
+ ],
+ "path": "app/soapbox/features/import_data/index.json"
+ },
{
"descriptors": [
{
"defaultMessage": "Username",
"id": "registration.fields.username_placeholder"
},
+ {
+ "defaultMessage": "Only letters, numbers, and underscores are allowed.",
+ "id": "registration.fields.username_hint"
+ },
{
"defaultMessage": "E-Mail address",
"id": "registration.fields.email_placeholder"
@@ -2037,6 +2164,14 @@
"defaultMessage": "Terms of Service",
"id": "registration.tos"
},
+ {
+ "defaultMessage": "Registrations Closed",
+ "id": "registration.closed_title"
+ },
+ {
+ "defaultMessage": "{instance} is not accepting new members",
+ "id": "registration.closed_message"
+ },
{
"defaultMessage": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"id": "registration.lead"
@@ -2343,6 +2478,10 @@
"defaultMessage": "{name} followed you",
"id": "notification.follow"
},
+ {
+ "defaultMessage": "{name} sent you a message",
+ "id": "notification.chat_mention"
+ },
{
"defaultMessage": "{name} reacted to your post",
"id": "notification.emoji_react"
@@ -2471,6 +2610,14 @@
"defaultMessage": "Dyslexic mode",
"id": "preferences.fields.dyslexic_font_label"
},
+ {
+ "defaultMessage": "Halloween mode",
+ "id": "preferences.fields.halloween_label"
+ },
+ {
+ "defaultMessage": "Beware: SPOOKY! Supports light/dark toggle.",
+ "id": "preferences.hints.halloween"
+ },
{
"defaultMessage": "Use Demetricator",
"id": "preferences.fields.demetricator_label"
@@ -2485,14 +2632,21 @@
{
"descriptors": [
{
- "defaultMessage": "Follows you",
- "id": "account.follows_you"
- }
- ],
- "path": "app/soapbox/features/profile_hover_card/profile_hover_card_container.json"
- },
- {
- "descriptors": [
+ "defaultMessage": "Home",
+ "id": "header.home.label"
+ },
+ {
+ "defaultMessage": "About",
+ "id": "header.about.label"
+ },
+ {
+ "defaultMessage": "Back to {siteTitle}",
+ "id": "header.back_to.label"
+ },
+ {
+ "defaultMessage": "Log in",
+ "id": "header.login.label"
+ },
{
"defaultMessage": "Close",
"id": "lightbox.close"
@@ -2801,13 +2955,21 @@
"id": "soapbox_config.custom_css.meta_fields.url_placeholder"
},
{
- "defaultMessage": "Raw JSON data",
+ "defaultMessage": "Advanced: Edit raw JSON data",
"id": "soapbox_config.raw_json_label"
},
{
- "defaultMessage": "Advanced: Edit the settings data directly.",
+ "defaultMessage": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click \"Save\" to apply your changes.",
"id": "soapbox_config.raw_json_hint"
},
+ {
+ "defaultMessage": "Brand color",
+ "id": "soapbox_config.fields.brand_color_label"
+ },
+ {
+ "defaultMessage": "Default theme",
+ "id": "soapbox_config.fields.theme_label"
+ },
{
"defaultMessage": "Logo",
"id": "soapbox_config.fields.logo_label"
@@ -2816,26 +2978,6 @@
"defaultMessage": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
"id": "soapbox_config.hints.logo"
},
- {
- "defaultMessage": "Banner",
- "id": "soapbox_config.fields.banner_label"
- },
- {
- "defaultMessage": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "id": "soapbox_config.hints.banner"
- },
- {
- "defaultMessage": "Brand color",
- "id": "soapbox_config.fields.brand_color_label"
- },
- {
- "defaultMessage": "Patron module",
- "id": "soapbox_config.fields.patron_enabled_label"
- },
- {
- "defaultMessage": "Enables display of Patron module. Requires installation of Patron module.",
- "id": "soapbox_config.hints.patron_enabled"
- },
{
"defaultMessage": "Promo panel items",
"id": "soapbox_config.fields.promo_panel_fields_label"
@@ -2864,18 +3006,6 @@
"defaultMessage": "Add new Home Footer Item",
"id": "soapbox_config.fields.home_footer.add"
},
- {
- "defaultMessage": "Custom CSS",
- "id": "soapbox_config.fields.custom_css_fields_label"
- },
- {
- "defaultMessage": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
- "id": "soapbox_config.hints.custom_css_fields"
- },
- {
- "defaultMessage": "Add another custom CSS URL",
- "id": "soapbox_config.fields.custom_css.add"
- },
{
"defaultMessage": "Save",
"id": "soapbox_config.save"
@@ -2972,6 +3102,14 @@
{
"defaultMessage": "Copy link to post",
"id": "status.copy"
+ },
+ {
+ "defaultMessage": "Bookmark",
+ "id": "status.bookmark"
+ },
+ {
+ "defaultMessage": "Remove bookmark",
+ "id": "status.unbookmark"
}
],
"path": "app/soapbox/features/status/components/action_bar.json"
@@ -3029,6 +3167,19 @@
],
"path": "app/soapbox/features/status/index.json"
},
+ {
+ "descriptors": [
+ {
+ "defaultMessage": "Collapse",
+ "id": "accordion.collapse"
+ },
+ {
+ "defaultMessage": "Expand",
+ "id": "accordion.expand"
+ }
+ ],
+ "path": "app/soapbox/features/ui/components/accordion.json"
+ },
{
"descriptors": [
{
@@ -3156,29 +3307,12 @@
],
"path": "app/soapbox/features/ui/components/embed_modal.json"
},
- {
- "descriptors": [
- {
- "defaultMessage": "Collapse explanation box",
- "id": "explanation_box.collapse"
- },
- {
- "defaultMessage": "Expand explanation box",
- "id": "explanation_box.expand"
- }
- ],
- "path": "app/soapbox/features/ui/components/explanation_box.json"
- },
{
"descriptors": [
{
"defaultMessage": "Edit Profile",
"id": "account.edit_profile"
},
- {
- "defaultMessage": "Messages",
- "id": "navigation_bar.messages"
- },
{
"defaultMessage": "Preferences",
"id": "navigation_bar.preferences"
@@ -3496,6 +3630,10 @@
"defaultMessage": "Notifications",
"id": "tabs_bar.notifications"
},
+ {
+ "defaultMessage": "Chats",
+ "id": "tabs_bar.chats"
+ },
{
"defaultMessage": "Reports",
"id": "tabs_bar.reports"
diff --git a/app/soapbox/locales/el.json b/app/soapbox/locales/el.json
index 02489b85b..51729caa8 100644
--- a/app/soapbox/locales/el.json
+++ b/app/soapbox/locales/el.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Προσθήκη ή Αφαίρεση από λίστες",
"account.badges.bot": "Μποτ",
"account.block": "Αποκλεισμός @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Κλείσιμο",
"bundle_modal_error.message": "Κάτι πήγε στραβά κατά τη φόρτωση του στοιχείου.",
"bundle_modal_error.retry": "Δοκίμασε ξανά",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Αποκλεισμένοι χρήστες",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Τοπική ροή",
"column.direct": "Προσωπικά μηνύματα",
"column.domain_blocks": "Κρυμμένοι τομείς",
@@ -87,6 +100,7 @@
"column.follow_requests": "Αιτήματα ακολούθησης",
"column.groups": "Groups",
"column.home": "Αρχική",
+ "column.import_data": "Import data",
"column.lists": "Λίστες",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Δεν έχεις αποσιωπήσει κανένα χρήστη ακόμα.",
"empty_column.notifications": "Δεν έχεις ειδοποιήσεις ακόμα. Αλληλεπίδρασε με άλλους χρήστες για να ξεκινήσεις την κουβέντα.",
"empty_column.public": "Δεν υπάρχει τίποτα εδώ! Γράψε κάτι δημόσιο, ή ακολούθησε χειροκίνητα χρήστες από άλλους κόμβους για να τη γεμίσεις",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "και {additional}",
"hashtag.column_header.tag_mode.any": "ή {additional}",
"hashtag.column_header.tag_mode.none": "χωρίς {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Εμφάνιση προωθήσεων",
"home.column_settings.show_replies": "Εμφάνιση απαντήσεων",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Αρχική",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# μέρα} other {# μέρες}}",
"intervals.full.hours": "{number, plural, one {# ώρα} other {# ώρες}}",
"intervals.full.minutes": "{number, plural, one {# λεπτό} other {# λεπτά}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Αγαπημένα",
"navigation_bar.filters": "Αποσιωπημένες λέξεις",
"navigation_bar.follow_requests": "Αιτήματα ακολούθησης",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Πληροφορίες κόμβου",
"navigation_bar.keyboard_shortcuts": "Συντομεύσεις",
"navigation_bar.lists": "Λίστες",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Ομοσπονδιακή ροή",
"navigation_bar.security": "Ασφάλεια",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "Ο/Η {name} σημείωσε ως αγαπημένη την κατάστασή σου",
"notification.follow": "Ο/Η {name} σε ακολούθησε",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Η αρχική σου ροή ετοιμάζεται!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Άνοιγμα λειτουργίας διαμεσολάβησης για τον/την @{name}",
"status.admin_status": "Άνοιγμα αυτής της δημοσίευσης στη λειτουργία διαμεσολάβησης",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Απόρριψη πρότασης",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Αρχική",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Ειδοποιήσεις",
diff --git a/app/soapbox/locales/en.json b/app/soapbox/locales/en.json
index 942946e24..ceca18fe5 100644
--- a/app/soapbox/locales/en.json
+++ b/app/soapbox/locales/en.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Bot",
"account.block": "Block @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Close",
"bundle_modal_error.message": "Something went wrong while loading this component.",
"bundle_modal_error.retry": "Try again",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Blocked users",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Local timeline",
"column.direct": "Direct messages",
"column.domain_blocks": "Hidden domains",
@@ -87,6 +100,7 @@
"column.follow_requests": "Follow requests",
"column.groups": "Groups",
"column.home": "Home",
+ "column.import_data": "Import data",
"column.lists": "Lists",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "You haven't muted any users yet.",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Show reposts",
"home.column_settings.show_replies": "Show replies",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Home",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Likes",
"navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "About this server",
"navigation_bar.keyboard_shortcuts": "Hotkeys",
"navigation_bar.lists": "Lists",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} liked your post",
"notification.follow": "{name} followed you",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Home",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notifications",
diff --git a/app/soapbox/locales/eo.json b/app/soapbox/locales/eo.json
index 38898e491..5248cdc3c 100644
--- a/app/soapbox/locales/eo.json
+++ b/app/soapbox/locales/eo.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Aldoni al aŭ forigi el listoj",
"account.badges.bot": "Roboto",
"account.block": "Bloki @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Fermi",
"bundle_modal_error.message": "Io misfunkciis en la ŝargado de ĉi tiu elemento.",
"bundle_modal_error.retry": "Bonvolu reprovi",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Blokitaj uzantoj",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Loka tempolinio",
"column.direct": "Rektaj mesaĝoj",
"column.domain_blocks": "Kaŝitaj domajnoj",
@@ -87,6 +100,7 @@
"column.follow_requests": "Petoj de sekvado",
"column.groups": "Groups",
"column.home": "Hejmo",
+ "column.import_data": "Import data",
"column.lists": "Listoj",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Vi ne ankoraŭ silentigis iun uzanton.",
"empty_column.notifications": "Vi ankoraŭ ne havas sciigojn. Interagu kun aliaj por komenci konversacion.",
"empty_column.public": "Estas nenio ĉi tie! Publike skribu ion, aŭ mane sekvu uzantojn de aliaj serviloj por plenigi la publikan tempolinion",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "kaj {additional}",
"hashtag.column_header.tag_mode.any": "aŭ {additional}",
"hashtag.column_header.tag_mode.none": "sen {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Montri diskonigojn",
"home.column_settings.show_replies": "Montri respondojn",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Hejmo",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# tago} other {# tagoj}}",
"intervals.full.hours": "{number, plural, one {# horo} other {# horoj}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutoj}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Stelumoj",
"navigation_bar.filters": "Silentigitaj vortoj",
"navigation_bar.follow_requests": "Petoj de sekvado",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Pri ĉi tiu servilo",
"navigation_bar.keyboard_shortcuts": "Rapidklavoj",
"navigation_bar.lists": "Listoj",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Fratara tempolinio",
"navigation_bar.security": "Sekureco",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} stelumis vian mesaĝon",
"notification.follow": "{name} eksekvis vin",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Via hejma fluo pretiĝas!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Malfermi la kontrolan interfacon por @{name}",
"status.admin_status": "Malfermi ĉi tiun mesaĝon en la kontrola interfaco",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Forigi la proponon",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Hejmo",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Sciigoj",
diff --git a/app/soapbox/locales/es-AR.json b/app/soapbox/locales/es-AR.json
index 71f3ceae4..726022af3 100644
--- a/app/soapbox/locales/es-AR.json
+++ b/app/soapbox/locales/es-AR.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Agregar o quitar de las listas",
"account.badges.bot": "Bot",
"account.block": "Bloquear a @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Cerrar",
"bundle_modal_error.message": "Algo salió mal al cargar este componente.",
"bundle_modal_error.retry": "Intentá de nuevo",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Usuarios bloqueados",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Línea temporal local",
"column.direct": "Mensajes directos",
"column.domain_blocks": "Dominios ocultos",
@@ -87,6 +100,7 @@
"column.follow_requests": "Solicitudes de seguimiento",
"column.groups": "Groups",
"column.home": "Principal",
+ "column.import_data": "Import data",
"column.lists": "Listas",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Todavía no silenciaste a ningún usuario.",
"empty_column.notifications": "Todavía no tenés ninguna notificación. Interactuá con otros para iniciar la conversación.",
"empty_column.public": "¡Naranja! Escribí algo públicamente, o seguí usuarios manualmente de otros servidores para ir llenando esta línea temporal.",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "y {additional}",
"hashtag.column_header.tag_mode.any": "o {additional}",
"hashtag.column_header.tag_mode.none": "sin {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Mostrar retoots",
"home.column_settings.show_replies": "Mostrar respuestas",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Principal",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# día} other {# días}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favoritos",
"navigation_bar.filters": "Palabras silenciadas",
"navigation_bar.follow_requests": "Solicitudes de seguimiento",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Acerca de este servidor",
"navigation_bar.keyboard_shortcuts": "Atajos",
"navigation_bar.lists": "Listas",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Línea temporal federada",
"navigation_bar.security": "Seguridad",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} marcó tu estado como favorito",
"notification.follow": "{name} te empezó a seguir",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "¡Se está preparando tu línea temporal principal!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Abrir interface de moderación para @{name}",
"status.admin_status": "Abrir este estado en la interface de moderación",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Descartar sugerencia",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Principal",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notificaciones",
diff --git a/app/soapbox/locales/es.json b/app/soapbox/locales/es.json
index 66030293c..c2872327e 100644
--- a/app/soapbox/locales/es.json
+++ b/app/soapbox/locales/es.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Agregar o eliminar de listas",
"account.badges.bot": "Bot",
"account.block": "Bloquear a @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Cerrar",
"bundle_modal_error.message": "Algo salió mal al cargar este componente.",
"bundle_modal_error.retry": "Inténtalo de nuevo",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Usuarios bloqueados",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Línea de tiempo local",
"column.direct": "Mensajes directos",
"column.domain_blocks": "Dominios ocultados",
@@ -87,6 +100,7 @@
"column.follow_requests": "Solicitudes de seguimiento",
"column.groups": "Groups",
"column.home": "Inicio",
+ "column.import_data": "Import data",
"column.lists": "Listas",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Aún no has silenciado a ningún usuario.",
"empty_column.notifications": "No tienes ninguna notificación aún. Interactúa con otros para empezar una conversación.",
"empty_column.public": "¡No hay nada aquí! Escribe algo públicamente, o sigue usuarios de otras instancias manualmente para llenarlo",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "y {additional}",
"hashtag.column_header.tag_mode.any": "o {additional}",
"hashtag.column_header.tag_mode.none": "sin {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Mostrar retoots",
"home.column_settings.show_replies": "Mostrar respuestas",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Inicio",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# día} other {# días}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favoritos",
"navigation_bar.filters": "Palabras silenciadas",
"navigation_bar.follow_requests": "Solicitudes para seguirte",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Información adicional",
"navigation_bar.keyboard_shortcuts": "Atajos",
"navigation_bar.lists": "Listas",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Historia federada",
"navigation_bar.security": "Seguridad",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} marcó tu estado como favorito",
"notification.follow": "{name} te empezó a seguir",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "¡Tu historia de inicio se está preparando!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Abrir interfaz de moderación para @{name}",
"status.admin_status": "Abrir este estado en la interfaz de moderación",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Descartar sugerencia",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Inicio",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notificaciones",
diff --git a/app/soapbox/locales/et.json b/app/soapbox/locales/et.json
index 4bae774a1..893919d99 100644
--- a/app/soapbox/locales/et.json
+++ b/app/soapbox/locales/et.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Lisa või Eemalda nimekirjadest",
"account.badges.bot": "Robot",
"account.block": "Blokeeri @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Sulge",
"bundle_modal_error.message": "Selle komponendi laadimisel läks midagi viltu.",
"bundle_modal_error.retry": "Proovi uuesti",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Blokeeritud kasutajad",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Kohalik ajajoon",
"column.direct": "Otsesõnumid",
"column.domain_blocks": "Peidetud domeenid",
@@ -87,6 +100,7 @@
"column.follow_requests": "Jälgimistaotlused",
"column.groups": "Groups",
"column.home": "Kodu",
+ "column.import_data": "Import data",
"column.lists": "Nimekirjad",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Sa pole veel ühtegi kasutajat vaigistanud.",
"empty_column.notifications": "Sul ei ole veel teateid. Suhtle teistega alustamaks vestlust.",
"empty_column.public": "Siin pole midagi! Kirjuta midagi avalikut või jälgi ise kasutajaid täitmaks seda ruumi",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "ja {additional}",
"hashtag.column_header.tag_mode.any": "või {additional}",
"hashtag.column_header.tag_mode.none": "ilma {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Näita upitusi",
"home.column_settings.show_replies": "Näita vastuseid",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Kodu",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# päev} other {# päevad}}",
"intervals.full.hours": "{number, plural, one {# tund} other {# tundi}}",
"intervals.full.minutes": "{number, plural, one {# minut} other {# minutit}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Lemmikud",
"navigation_bar.filters": "Vaigistatud sõnad",
"navigation_bar.follow_requests": "Jälgimistaotlused",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Selle serveri kohta",
"navigation_bar.keyboard_shortcuts": "Kiirklahvid",
"navigation_bar.lists": "Nimistud",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Föderatiivne ajajoon",
"navigation_bar.security": "Turvalisus",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} märkis su staatuse lemmikuks",
"notification.follow": "{name} jälgib sind",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Sinu kodu voog on ettevalmistamisel!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Ava moderaatoriliides kasutajale @{name}",
"status.admin_status": "Ava see staatus moderaatoriliites",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Eira soovitust",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Kodu",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Teated",
diff --git a/app/soapbox/locales/eu.json b/app/soapbox/locales/eu.json
index 6d6d140ad..d8463776d 100644
--- a/app/soapbox/locales/eu.json
+++ b/app/soapbox/locales/eu.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Gehitu edo kendu zerrendetatik",
"account.badges.bot": "Bot-a",
"account.block": "Blokeatu @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Itxi",
"bundle_modal_error.message": "Zerbait okerra gertatu da osagai hau kargatzean.",
"bundle_modal_error.retry": "Saiatu berriro",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Blokeatutako erabiltzaileak",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Denbora-lerro lokala",
"column.direct": "Mezu zuzenak",
"column.domain_blocks": "Ezkutatutako domeinuak",
@@ -87,6 +100,7 @@
"column.follow_requests": "Jarraitzeko eskariak",
"column.groups": "Groups",
"column.home": "Hasiera",
+ "column.import_data": "Import data",
"column.lists": "Zerrendak",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Ez duzu erabiltzailerik mututu oraindik.",
"empty_column.notifications": "Ez duzu jakinarazpenik oraindik. Jarri besteekin harremanetan elkarrizketa abiatzeko.",
"empty_column.public": "Ez dago ezer hemen! Idatzi zerbait publikoki edo jarraitu eskuz beste zerbitzari batzuetako erabiltzaileak hau betetzen joateko",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "eta {additional}",
"hashtag.column_header.tag_mode.any": "edo {additional}",
"hashtag.column_header.tag_mode.none": "gabe {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Erakutsi bultzadak",
"home.column_settings.show_replies": "Erakutsi erantzunak",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Hasiera",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {egun #} other {# egun}}",
"intervals.full.hours": "{number, plural, one {ordu #} other {# ordu}}",
"intervals.full.minutes": "{number, plural, one {minutu #} other {# minutu}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Gogokoak",
"navigation_bar.filters": "Mutututako hitzak",
"navigation_bar.follow_requests": "Jarraitzeko eskariak",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Zerbitzari honi buruz",
"navigation_bar.keyboard_shortcuts": "Laster-teklak",
"navigation_bar.lists": "Zerrendak",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Federatutako denbora-lerroa",
"navigation_bar.security": "Segurtasuna",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name}(e)k zure mezua gogoko du",
"notification.follow": "{name}(e)k jarraitzen zaitu",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Zure hasiera-jarioa prestatzen ari da!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Ireki @{name} erabiltzailearen moderazio interfazea",
"status.admin_status": "Ireki mezu hau moderazio interfazean",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Errefusatu proposamena",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Hasiera",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Jakinarazpenak",
diff --git a/app/soapbox/locales/fa.json b/app/soapbox/locales/fa.json
index 54adf472a..a2cd7e32f 100644
--- a/app/soapbox/locales/fa.json
+++ b/app/soapbox/locales/fa.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "افزودن یا برداشتن از فهرست",
"account.badges.bot": "ربات",
"account.block": "مسدودسازی @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "بستن",
"bundle_modal_error.message": "هنگام بازکردن این بخش خطایی رخ داد.",
"bundle_modal_error.retry": "تلاش دوباره",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "کاربران مسدودشده",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "نوشتههای محلی",
"column.direct": "پیغامهای خصوصی",
"column.domain_blocks": "دامینهای پنهانشده",
@@ -87,6 +100,7 @@
"column.follow_requests": "درخواستهای پیگیری",
"column.groups": "Groups",
"column.home": "خانه",
+ "column.import_data": "Import data",
"column.lists": "فهرستها",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "شما هنوز هیچ کاربری را بیصدا نکردهاید.",
"empty_column.notifications": "هنوز هیچ اعلانی ندارید. به نوشتههای دیگران واکنش نشان دهید تا گفتگو آغاز شود.",
"empty_column.public": "اینجا هنوز چیزی نیست! خودتان چیزی بنویسید یا کاربران سرورهای دیگر را پی بگیرید تا اینجا پر شود",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "و {additional}",
"hashtag.column_header.tag_mode.any": "یا {additional}",
"hashtag.column_header.tag_mode.none": "بدون {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "نمایش بازبوقها",
"home.column_settings.show_replies": "نمایش پاسخها",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "خانه",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# روز} other {# روز}}",
"intervals.full.hours": "{number, plural, one {# ساعت} other {# ساعت}}",
"intervals.full.minutes": "{number, plural, one {# دقیقه} other {# دقیقه}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "پسندیدهها",
"navigation_bar.filters": "واژگان بیصداشده",
"navigation_bar.follow_requests": "درخواستهای پیگیری",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "دربارهٔ این سرور",
"navigation_bar.keyboard_shortcuts": "میانبرهای صفحهکلید",
"navigation_bar.lists": "فهرستها",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "نوشتههای همهجا",
"navigation_bar.security": "امنیت",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} نوشتهٔ شما را پسندید",
"notification.follow": "{name} پیگیر شما شد",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "این فهرست دارد آماده میشود!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "محیط مدیریت مربوط به @{name} را باز کن",
"status.admin_status": "این نوشته را در محیط مدیریت باز کن",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "پیشنهاد را نادیده بگیر",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "خانه",
"tabs_bar.news": "News",
"tabs_bar.notifications": "اعلانها",
diff --git a/app/soapbox/locales/fi.json b/app/soapbox/locales/fi.json
index 35dbe109e..615a4c1cb 100644
--- a/app/soapbox/locales/fi.json
+++ b/app/soapbox/locales/fi.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Lisää tai poista listoilta",
"account.badges.bot": "Botti",
"account.block": "Estä @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Sulje",
"bundle_modal_error.message": "Jokin meni vikaan komponenttia ladattaessa.",
"bundle_modal_error.retry": "Yritä uudestaan",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Estetyt käyttäjät",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Paikallinen aikajana",
"column.direct": "Viestit",
"column.domain_blocks": "Piilotetut verkkotunnukset",
@@ -87,6 +100,7 @@
"column.follow_requests": "Seuraamispyynnöt",
"column.groups": "Groups",
"column.home": "Koti",
+ "column.import_data": "Import data",
"column.lists": "Listat",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Et ole mykistänyt vielä yhtään käyttäjää.",
"empty_column.notifications": "Sinulle ei ole vielä ilmoituksia. Aloita keskustelu juttelemalla muille.",
"empty_column.public": "Täällä ei ole mitään! Saat sisältöä, kun kirjoitat jotain julkisesti tai käyt seuraamassa muiden instanssien käyttäjiä",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "ja {additional}",
"hashtag.column_header.tag_mode.any": "tai {additional}",
"hashtag.column_header.tag_mode.none": "ilman {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Näytä buustaukset",
"home.column_settings.show_replies": "Näytä vastaukset",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Koti",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Suosikit",
"navigation_bar.filters": "Mykistetyt sanat",
"navigation_bar.follow_requests": "Seuraamispyynnöt",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Tietoa tästä instanssista",
"navigation_bar.keyboard_shortcuts": "Näppäinkomennot",
"navigation_bar.lists": "Listat",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Yleinen aikajana",
"navigation_bar.security": "Tunnukset",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} tykkäsi tilastasi",
"notification.follow": "{name} seurasi sinua",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Kotinäkymääsi valmistellaan!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Avaa moderaattorinäkymä tilistä @{name}",
"status.admin_status": "Avaa tilapäivitys moderaattorinäkymässä",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Koti",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Ilmoitukset",
diff --git a/app/soapbox/locales/fr.json b/app/soapbox/locales/fr.json
index f89589762..33c601e3a 100644
--- a/app/soapbox/locales/fr.json
+++ b/app/soapbox/locales/fr.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Ajouter ou retirer des listes",
"account.badges.bot": "Robot",
"account.block": "Bloquer @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Fermer",
"bundle_modal_error.message": "Une erreur s’est produite lors du chargement de ce composant.",
"bundle_modal_error.retry": "Réessayer",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Comptes bloqués",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Fil public local",
"column.direct": "Messages privés",
"column.domain_blocks": "Domaines cachés",
@@ -87,6 +100,7 @@
"column.follow_requests": "Demandes de suivi",
"column.groups": "Groups",
"column.home": "Accueil",
+ "column.import_data": "Import data",
"column.lists": "Listes",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Vous n’avez pas encore mis d’utilisateur·rice·s en silence.",
"empty_column.notifications": "Vous n’avez pas encore de notification. Interagissez avec d’autres personnes pour débuter la conversation.",
"empty_column.public": "Il n’y a rien ici ! Écrivez quelque chose publiquement, ou bien suivez manuellement des personnes d’autres instances pour le remplir",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "et {additional}",
"hashtag.column_header.tag_mode.any": "ou {additional}",
"hashtag.column_header.tag_mode.none": "sans {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Afficher les partages",
"home.column_settings.show_replies": "Afficher les réponses",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Accueil",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# jour} other {# jours}}",
"intervals.full.hours": "{number, plural, one {# heure} other {# heures}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favoris",
"navigation_bar.filters": "Mots silenciés",
"navigation_bar.follow_requests": "Demandes de suivi",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "À propos de ce serveur",
"navigation_bar.keyboard_shortcuts": "Raccourcis clavier",
"navigation_bar.lists": "Listes",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Fil public global",
"navigation_bar.security": "Sécurité",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} a ajouté à ses favoris :",
"notification.follow": "{name} vous suit",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Le flux de votre page principale est en cours de préparation !",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Ouvrir l’interface de modération pour @{name}",
"status.admin_status": "Ouvrir ce statut dans l’interface de modération",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Rejeter la suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Accueil",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notifications",
diff --git a/app/soapbox/locales/ga.json b/app/soapbox/locales/ga.json
index 0658beb2b..13c91d080 100644
--- a/app/soapbox/locales/ga.json
+++ b/app/soapbox/locales/ga.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Bot",
"account.block": "Block @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Close",
"bundle_modal_error.message": "Something went wrong while loading this component.",
"bundle_modal_error.retry": "Try again",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Blocked users",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Local timeline",
"column.direct": "Direct messages",
"column.domain_blocks": "Hidden domains",
@@ -87,6 +100,7 @@
"column.follow_requests": "Follow requests",
"column.groups": "Groups",
"column.home": "Home",
+ "column.import_data": "Import data",
"column.lists": "Lists",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "You haven't muted any users yet.",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Show reposts",
"home.column_settings.show_replies": "Show replies",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Home",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favorites",
"navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "About this server",
"navigation_bar.keyboard_shortcuts": "Hotkeys",
"navigation_bar.lists": "Lists",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} favorited your post",
"notification.follow": "{name} followed you",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Home",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notifications",
diff --git a/app/soapbox/locales/gl.json b/app/soapbox/locales/gl.json
index 34f094347..3ecc74803 100644
--- a/app/soapbox/locales/gl.json
+++ b/app/soapbox/locales/gl.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Engadir ou Eliminar das listas",
"account.badges.bot": "Bot",
"account.block": "Bloquear @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Pechar",
"bundle_modal_error.message": "Algo fallou mentras se cargaba este compoñente.",
"bundle_modal_error.retry": "Inténteo de novo",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Usuarias bloqueadas",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Liña temporal local",
"column.direct": "Mensaxes directas",
"column.domain_blocks": "Dominios agochados",
@@ -87,6 +100,7 @@
"column.follow_requests": "Peticións de seguimento",
"column.groups": "Groups",
"column.home": "Inicio",
+ "column.import_data": "Import data",
"column.lists": "Listas",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Non acalou ningunha usuaria polo de agora.",
"empty_column.notifications": "Aínda non ten notificacións. Interactúe con outras para iniciar unha conversa.",
"empty_column.public": "Nada por aquí! Escriba algo de xeito público, ou siga manualmente usuarias de outros servidores para ir enchéndoa",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "e {additional}",
"hashtag.column_header.tag_mode.any": "ou {additional}",
"hashtag.column_header.tag_mode.none": "sen {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Mostrar repeticións",
"home.column_settings.show_replies": "Mostrar respostas",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Inicio",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural,one {# día} other {# días}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favoritas",
"navigation_bar.filters": "Palabras acaladas",
"navigation_bar.follow_requests": "Peticións de seguimento",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Sobre este servidor",
"navigation_bar.keyboard_shortcuts": "Atallos",
"navigation_bar.lists": "Listas",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Liña temporal federada",
"navigation_bar.security": "Seguridade",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} marcou como favorito o seu estado",
"notification.follow": "{name} está a seguila",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Estase a preparar a súa liña temporal de inicio!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Abrir interface de moderación para @{name}",
"status.admin_status": "Abrir este estado na interface de moderación",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Rexeitar suxestión",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Inicio",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notificacións",
diff --git a/app/soapbox/locales/he.json b/app/soapbox/locales/he.json
index 35fa63935..6b170b749 100644
--- a/app/soapbox/locales/he.json
+++ b/app/soapbox/locales/he.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "הוסף או הסר מהרשימות",
"account.badges.bot": "בוט",
"account.block": "חסימת @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "לסגור",
"bundle_modal_error.message": "משהו השתבש בעת טעינת הרכיב הזה.",
"bundle_modal_error.retry": "לנסות שוב",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "חסימות",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "ציר זמן מקומי",
"column.direct": "Direct messages",
"column.domain_blocks": "Hidden domains",
@@ -87,6 +100,7 @@
"column.follow_requests": "בקשות מעקב",
"column.groups": "Groups",
"column.home": "בבית",
+ "column.import_data": "Import data",
"column.lists": "Lists",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "You haven't muted any users yet.",
"empty_column.notifications": "אין התראות עדיין. יאללה, הגיע הזמן להתחיל להתערבב.",
"empty_column.public": "אין פה כלום! כדי למלא את הטור הזה אפשר לכתוב משהו, או להתחיל לעקוב אחרי אנשים מקהילות אחרות",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "הצגת הדהודים",
"home.column_settings.show_replies": "הצגת תגובות",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "בבית",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "חיבובים",
"navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "בקשות מעקב",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "מידע נוסף",
"navigation_bar.keyboard_shortcuts": "קיצורי מקלדת",
"navigation_bar.lists": "Lists",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "ציר זמן בין-קהילתי",
"navigation_bar.security": "Security",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "חצרוצך חובב על ידי {name}",
"notification.follow": "{name} במעקב אחרייך",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "בבית",
"tabs_bar.news": "News",
"tabs_bar.notifications": "התראות",
diff --git a/app/soapbox/locales/hi.json b/app/soapbox/locales/hi.json
index 6adeb0ca1..b67dfb507 100644
--- a/app/soapbox/locales/hi.json
+++ b/app/soapbox/locales/hi.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Bot",
"account.block": "Block @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Close",
"bundle_modal_error.message": "Something went wrong while loading this component.",
"bundle_modal_error.retry": "Try again",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Blocked users",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Local timeline",
"column.direct": "Direct messages",
"column.domain_blocks": "Hidden domains",
@@ -87,6 +100,7 @@
"column.follow_requests": "Follow requests",
"column.groups": "Groups",
"column.home": "Home",
+ "column.import_data": "Import data",
"column.lists": "Lists",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "You haven't muted any users yet.",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Show reposts",
"home.column_settings.show_replies": "Show replies",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Home",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favorites",
"navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "About this server",
"navigation_bar.keyboard_shortcuts": "Hotkeys",
"navigation_bar.lists": "Lists",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} favorited your post",
"notification.follow": "{name} followed you",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Home",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notifications",
diff --git a/app/soapbox/locales/hr.json b/app/soapbox/locales/hr.json
index 613df0464..a6ace769e 100644
--- a/app/soapbox/locales/hr.json
+++ b/app/soapbox/locales/hr.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Bot",
"account.block": "Blokiraj @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Close",
"bundle_modal_error.message": "Something went wrong while loading this component.",
"bundle_modal_error.retry": "Try again",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Blokirani korisnici",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Lokalni timeline",
"column.direct": "Direct messages",
"column.domain_blocks": "Hidden domains",
@@ -87,6 +100,7 @@
"column.follow_requests": "Zahtjevi za slijeđenje",
"column.groups": "Groups",
"column.home": "Dom",
+ "column.import_data": "Import data",
"column.lists": "Lists",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "You haven't muted any users yet.",
"empty_column.notifications": "Još nemaš notifikacija. Komuniciraj sa drugima kako bi započeo razgovor.",
"empty_column.public": "Ovdje nema ništa! Napiši nešto javno, ili ručno slijedi korisnike sa drugih instanci kako bi popunio",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Pokaži boostove",
"home.column_settings.show_replies": "Pokaži odgovore",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Dom",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favoriti",
"navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Zahtjevi za slijeđenje",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Više informacija",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.lists": "Lists",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Federalni timeline",
"navigation_bar.security": "Security",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} je lajkao tvoj status",
"notification.follow": "{name} te sada slijedi",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Dom",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notifikacije",
diff --git a/app/soapbox/locales/hu.json b/app/soapbox/locales/hu.json
index af94f8ab0..1bd51ec17 100644
--- a/app/soapbox/locales/hu.json
+++ b/app/soapbox/locales/hu.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Hozzáadás és elvétel listáról",
"account.badges.bot": "Bot",
"account.block": "@{name} letiltása",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Bezárás",
"bundle_modal_error.message": "Hiba történt a komponens betöltésekor.",
"bundle_modal_error.retry": "Próbáld újra",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Letiltott felhasználók",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Helyi idővonal",
"column.direct": "Közvetlen üzenetek",
"column.domain_blocks": "Rejtett domainek",
@@ -87,6 +100,7 @@
"column.follow_requests": "Követési kérelmek",
"column.groups": "Groups",
"column.home": "Kezdőlap",
+ "column.import_data": "Import data",
"column.lists": "Listák",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Még egy felhasználót sem némítottál le.",
"empty_column.notifications": "Jelenleg nincsenek értesítéseid. Lépj kapcsolatba másokkal, hogy elindítsd a beszélgetést.",
"empty_column.public": "Jelenleg itt nincs semmi! Írj valamit nyilvánosan vagy kövess más szervereken levő felhasználókat, hogy megtöltsd",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "és {additional}",
"hashtag.column_header.tag_mode.any": "vagy {additional}",
"hashtag.column_header.tag_mode.none": "nélküle {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Megtolások mutatása",
"home.column_settings.show_replies": "Válaszok mutatása",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Saját",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# nap} other {# nap}}",
"intervals.full.hours": "{number, plural, one {# óra} other {# óra}}",
"intervals.full.minutes": "{number, plural, one {# perc} other {# perc}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Kedvencek",
"navigation_bar.filters": "Némított szavak",
"navigation_bar.follow_requests": "Követési kérelmek",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Erről a szerverről",
"navigation_bar.keyboard_shortcuts": "Gyorsbillentyűk",
"navigation_bar.lists": "Listák",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Föderációs idővonal",
"navigation_bar.security": "Biztonság",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} kedvencnek jelölte egy tülködet",
"notification.follow": "{name} követ téged",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "A saját idővonalad épp készül!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Moderáció megnyitása @{name} felhasználóhoz",
"status.admin_status": "Tülk megnyitása moderációra",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Javaslat elvetése",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Saját",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Értesítések",
diff --git a/app/soapbox/locales/hy.json b/app/soapbox/locales/hy.json
index 6f48b6383..2c9e6668e 100644
--- a/app/soapbox/locales/hy.json
+++ b/app/soapbox/locales/hy.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Բոտ",
"account.block": "Արգելափակել @{name}֊ին",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Փակել",
"bundle_modal_error.message": "Այս բաղադրիչը բեռնելու ընթացքում ինչ֊որ բան խափանվեց։",
"bundle_modal_error.retry": "Կրկին փորձել",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Արգելափակված օգտատերեր",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Տեղական հոսք",
"column.direct": "Direct messages",
"column.domain_blocks": "Hidden domains",
@@ -87,6 +100,7 @@
"column.follow_requests": "Հետեւելու հայցեր",
"column.groups": "Groups",
"column.home": "Հիմնական",
+ "column.import_data": "Import data",
"column.lists": "Ցանկեր",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "You haven't muted any users yet.",
"empty_column.notifications": "Ոչ մի ծանուցում դեռ չունես։ Բզիր մյուսներին՝ խոսակցությունը սկսելու համար։",
"empty_column.public": "Այստեղ բան չկա՛։ Հրապարակային մի բան գրիր կամ հետեւիր այլ հանգույցներից էակների՝ այն լցնելու համար։",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Ցուցադրել տարածածները",
"home.column_settings.show_replies": "Ցուցադրել պատասխանները",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Հիմնական",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Հավանածներ",
"navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Հետեւելու հայցեր",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Այս հանգույցի մասին",
"navigation_bar.keyboard_shortcuts": "Ստեղնաշարի կարճատներ",
"navigation_bar.lists": "Ցանկեր",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Դաշնային հոսք",
"navigation_bar.security": "Անվտանգություն",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} հավանեց թութդ",
"notification.follow": "{name} սկսեց հետեւել քեզ",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Հիմնական",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Ծանուցումներ",
diff --git a/app/soapbox/locales/id.json b/app/soapbox/locales/id.json
index f1ba626d1..8510190c5 100644
--- a/app/soapbox/locales/id.json
+++ b/app/soapbox/locales/id.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Tambah atau Hapus dari daftar",
"account.badges.bot": "Bot",
"account.block": "Blokir @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Tutup",
"bundle_modal_error.message": "Kesalahan terjadi saat memuat komponen ini.",
"bundle_modal_error.retry": "Coba lagi",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Pengguna diblokir",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Linimasa Lokal",
"column.direct": "Pesan langsung",
"column.domain_blocks": "Topik tersembunyi",
@@ -87,6 +100,7 @@
"column.follow_requests": "Permintaan mengikuti",
"column.groups": "Groups",
"column.home": "Beranda",
+ "column.import_data": "Import data",
"column.lists": "List",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Anda belum membisukan siapapun.",
"empty_column.notifications": "Anda tidak memiliki notifikasi apapun. Berinteraksi dengan orang lain untuk memulai percakapan.",
"empty_column.public": "Tidak ada apapun disini! Tulis sesuatu, atau ikuti pengguna lain dari server lain untuk mengisi ini",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "dan {additional}",
"hashtag.column_header.tag_mode.any": "atau {additional}",
"hashtag.column_header.tag_mode.none": "tanpa {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Tampilkan repost",
"home.column_settings.show_replies": "Tampilkan balasan",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Beranda",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, other {# hari}}",
"intervals.full.hours": "{number, plural, other {# jam}}",
"intervals.full.minutes": "{number, plural, other {# menit}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favorit",
"navigation_bar.filters": "Kata yang dibisukan",
"navigation_bar.follow_requests": "Permintaan mengikuti",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Informasi selengkapnya",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.lists": "Daftar",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Linimasa gabungan",
"navigation_bar.security": "Keamanan",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} menyukai status anda",
"notification.follow": "{name} mengikuti anda",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Linimasa anda sedang disiapkan!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Beranda",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notifikasi",
diff --git a/app/soapbox/locales/io.json b/app/soapbox/locales/io.json
index 1e3844f33..7671a5bcf 100644
--- a/app/soapbox/locales/io.json
+++ b/app/soapbox/locales/io.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Bot",
"account.block": "Blokusar @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Close",
"bundle_modal_error.message": "Something went wrong while loading this component.",
"bundle_modal_error.retry": "Try again",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Blokusita uzeri",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Lokala tempolineo",
"column.direct": "Direct messages",
"column.domain_blocks": "Hidden domains",
@@ -87,6 +100,7 @@
"column.follow_requests": "Demandi di sequado",
"column.groups": "Groups",
"column.home": "Hemo",
+ "column.import_data": "Import data",
"column.lists": "Lists",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "You haven't muted any users yet.",
"empty_column.notifications": "Tu havas ankore nula savigo. Komunikez kun altri por debutar la konverso.",
"empty_column.public": "Esas nulo hike! Skribez ulo publike, o manuale sequez uzeri de altra instaluri por plenigar ol.",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Montrar repeti",
"home.column_settings.show_replies": "Montrar respondi",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Hemo",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favorati",
"navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Demandi di sequado",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Detaloza informi",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.lists": "Lists",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Federata tempolineo",
"navigation_bar.security": "Security",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} favorizis tua mesajo",
"notification.follow": "{name} sequeskis tu",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Hemo",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Savigi",
diff --git a/app/soapbox/locales/it.json b/app/soapbox/locales/it.json
index 392270aab..9c216d015 100644
--- a/app/soapbox/locales/it.json
+++ b/app/soapbox/locales/it.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Aggiungi o togli dalle liste",
"account.badges.bot": "Bot",
"account.block": "Blocca @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Chiudi",
"bundle_modal_error.message": "C'è stato un errore mentre questo componente veniva caricato.",
"bundle_modal_error.retry": "Riprova",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Utenti bloccati",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Timeline locale",
"column.direct": "Messaggi diretti",
"column.domain_blocks": "Domini nascosti",
@@ -87,6 +100,7 @@
"column.follow_requests": "Richieste di amicizia",
"column.groups": "Groups",
"column.home": "Home",
+ "column.import_data": "Import data",
"column.lists": "Liste",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Non hai ancora silenziato nessun utente.",
"empty_column.notifications": "Non hai ancora nessuna notifica. Interagisci con altri per iniziare conversazioni.",
"empty_column.public": "Qui non c'è nulla! Scrivi qualcosa pubblicamente, o aggiungi utenti da altri server per riempire questo spazio",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "e {additional}",
"hashtag.column_header.tag_mode.any": "o {additional}",
"hashtag.column_header.tag_mode.none": "senza {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Mostra post condivisi",
"home.column_settings.show_replies": "Mostra risposte",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Home",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# giorno} other {# giorni}}",
"intervals.full.hours": "{number, plural, one {# ora} other {# ore}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minuti}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Apprezzati",
"navigation_bar.filters": "Parole silenziate",
"navigation_bar.follow_requests": "Richieste di amicizia",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Informazioni su questo server",
"navigation_bar.keyboard_shortcuts": "Tasti di scelta rapida",
"navigation_bar.lists": "Liste",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Timeline federata",
"navigation_bar.security": "Sicurezza",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} ha apprezzato il tuo post",
"notification.follow": "{name} ha iniziato a seguirti",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Stiamo preparando il tuo home feed!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Apri interfaccia di moderazione per @{name}",
"status.admin_status": "Apri questo status nell'interfaccia di moderazione",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Elimina suggerimento",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Home",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notifiche",
diff --git a/app/soapbox/locales/ja.json b/app/soapbox/locales/ja.json
index 0d404e764..a6905be52 100644
--- a/app/soapbox/locales/ja.json
+++ b/app/soapbox/locales/ja.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "リストから追加または外す",
"account.badges.bot": "Bot",
"account.block": "@{name}さんをブロック",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "閉じる",
"bundle_modal_error.message": "コンポーネントの読み込み中に問題が発生しました。",
"bundle_modal_error.retry": "再試行",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "ブロックしたユーザー",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "ローカルタイムライン",
"column.direct": "ダイレクトメッセージ",
"column.domain_blocks": "非表示にしたドメイン",
@@ -87,6 +100,7 @@
"column.follow_requests": "フォローリクエスト",
"column.groups": "Groups",
"column.home": "ホーム",
+ "column.import_data": "Import data",
"column.lists": "リスト",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "まだ誰もミュートしていません。",
"empty_column.notifications": "まだ通知がありません。他の人とふれ合って会話を始めましょう。",
"empty_column.public": "ここにはまだ何もありません! 公開で何かを投稿したり、他のサーバーのユーザーをフォローしたりしていっぱいにしましょう",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "と {additional}",
"hashtag.column_header.tag_mode.any": "か {additional}",
"hashtag.column_header.tag_mode.none": "({additional} を除く)",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "ブースト表示",
"home.column_settings.show_replies": "返信表示",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "ホーム",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number}日",
"intervals.full.hours": "{number}時間",
"intervals.full.minutes": "{number}分",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "お気に入り",
"navigation_bar.filters": "フィルター設定",
"navigation_bar.follow_requests": "フォローリクエスト",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "このサーバーについて",
"navigation_bar.keyboard_shortcuts": "ホットキー",
"navigation_bar.lists": "リスト",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "連合タイムライン",
"navigation_bar.security": "セキュリティ",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name}さんがあなたのトゥートをお気に入りに登録しました",
"notification.follow": "{name}さんにフォローされました",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "ホームタイムラインは準備中です!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "@{name} のモデレーション画面を開く",
"status.admin_status": "このトゥートをモデレーション画面で開く",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "隠す",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "ホーム",
"tabs_bar.news": "News",
"tabs_bar.notifications": "通知",
diff --git a/app/soapbox/locales/ka.json b/app/soapbox/locales/ka.json
index c1acdba06..95471494e 100644
--- a/app/soapbox/locales/ka.json
+++ b/app/soapbox/locales/ka.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "ბოტი",
"account.block": "დაბლოკე @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "დახურვა",
"bundle_modal_error.message": "ამ კომპონენტის ჩატვირთვისას რაღაც აირია.",
"bundle_modal_error.retry": "სცადეთ კიდევ ერთხელ",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "დაბლოკილი მომხმარებლები",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "ლოკალური თაიმლაინი",
"column.direct": "პირდაპირი წერილები",
"column.domain_blocks": "დამალული დომენები",
@@ -87,6 +100,7 @@
"column.follow_requests": "დადევნების მოთხოვნები",
"column.groups": "Groups",
"column.home": "სახლი",
+ "column.import_data": "Import data",
"column.lists": "სიები",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "You haven't muted any users yet.",
"empty_column.notifications": "ჯერ შეტყობინებები არ გაქვთ. საუბრის დასაწყებად იურთიერთქმედეთ სხვებთან.",
"empty_column.public": "აქ არაფერია! შესავსებად, დაწერეთ რაიმე ღიად ან ხელით გაჰყევით მომხმარებლებს სხვა ინსტანციებისგან",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "ბუსტების ჩვენება",
"home.column_settings.show_replies": "პასუხების ჩვენება",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "სახლი",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "ფავორიტები",
"navigation_bar.filters": "გაჩუმებული სიტყვები",
"navigation_bar.follow_requests": "დადევნების მოთხოვნები",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "ამ ინსტანციის შესახებ",
"navigation_bar.keyboard_shortcuts": "ცხელი კლავიშები",
"navigation_bar.lists": "სიები",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "ფედერალური თაიმლაინი",
"navigation_bar.security": "უსაფრთხოება",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name}-მა თქვენი სტატუსი აქცია ფავორიტად",
"notification.follow": "{name} გამოგყვათ",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "თქვენი სახლის ლენტა მზადდება!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "სახლი",
"tabs_bar.news": "News",
"tabs_bar.notifications": "შეტყობინებები",
diff --git a/app/soapbox/locales/kk.json b/app/soapbox/locales/kk.json
index a5e4e73b1..1b57b29d9 100644
--- a/app/soapbox/locales/kk.json
+++ b/app/soapbox/locales/kk.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Тізімге қосу немесе жою",
"account.badges.bot": "Бот",
"account.block": "Бұғаттау @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Жабу",
"bundle_modal_error.message": "Бұл компонентті жүктеген кезде бір қате пайда болды.",
"bundle_modal_error.retry": "Қайтадан көріңіз",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Бұғатталғандар",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Жергілікті желі",
"column.direct": "Жеке хаттар",
"column.domain_blocks": "Жасырылған домендер",
@@ -87,6 +100,7 @@
"column.follow_requests": "Жазылу сұранымдары",
"column.groups": "Groups",
"column.home": "Басты бет",
+ "column.import_data": "Import data",
"column.lists": "Тізімдер",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Әзірше ешқандай үнсізге қойылған қолданушы жоқ.",
"empty_column.notifications": "Әзірше ешқандай ескертпе жоқ. Басқалармен араласуды бастаңыз және пікірталастарға қатысыңыз.",
"empty_column.public": "Ештеңе жоқ бұл жерде! Өзіңіз бастап жазып көріңіз немесе басқаларға жазылыңыз",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "және {additional}",
"hashtag.column_header.tag_mode.any": "немесе {additional}",
"hashtag.column_header.tag_mode.none": "{additional} болмай",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Бөлісулерді көрсету",
"home.column_settings.show_replies": "Жауаптарды көрсету",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Басты бет",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# күн} other {# күн}}",
"intervals.full.hours": "{number, plural, one {# сағат} other {# сағат}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Таңдаулылар",
"navigation_bar.filters": "Үнсіз сөздер",
"navigation_bar.follow_requests": "Жазылуға сұранғандар",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Сервер туралы",
"navigation_bar.keyboard_shortcuts": "Ыстық пернелер",
"navigation_bar.lists": "Тізімдер",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Жаһандық желі",
"navigation_bar.security": "Қауіпсіздік",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} жазбаңызды таңдаулыға қосты",
"notification.follow": "{name} сізге жазылды",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Жергілікті желі құрылуда!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "@{name} үшін модерация интерфейсін аш",
"status.admin_status": "Бұл жазбаны модерация интерфейсінде аш",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Өткізіп жіберу",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Басты бет",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Ескертпелер",
diff --git a/app/soapbox/locales/ko.json b/app/soapbox/locales/ko.json
index a33bb9bf6..2847aa59f 100644
--- a/app/soapbox/locales/ko.json
+++ b/app/soapbox/locales/ko.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "리스트에 추가 혹은 삭제",
"account.badges.bot": "봇",
"account.block": "@{name}을 차단",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "닫기",
"bundle_modal_error.message": "컴포넌트를 불러오는 과정에서 문제가 발생했습니다.",
"bundle_modal_error.retry": "다시 시도",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "차단 중인 사용자",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "로컬 타임라인",
"column.direct": "다이렉트 메시지",
"column.domain_blocks": "숨겨진 도메인",
@@ -87,6 +100,7 @@
"column.follow_requests": "팔로우 요청",
"column.groups": "Groups",
"column.home": "홈",
+ "column.import_data": "Import data",
"column.lists": "리스트",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "아직 아무도 뮤트하지 않았습니다.",
"empty_column.notifications": "아직 알림이 없습니다. 다른 사람과 대화를 시작해 보세요.",
"empty_column.public": "여기엔 아직 아무 것도 없습니다! 공개적으로 무언가 포스팅하거나, 다른 서버의 유저를 팔로우 해서 채워보세요",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "그리고 {additional}",
"hashtag.column_header.tag_mode.any": "또는 {additional}",
"hashtag.column_header.tag_mode.none": "({additional}를 제외)",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "부스트 표시",
"home.column_settings.show_replies": "답글 표시",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "홈",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number} 일",
"intervals.full.hours": "{number} 시간",
"intervals.full.minutes": "{number} 분",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "즐겨찾기",
"navigation_bar.filters": "뮤트",
"navigation_bar.follow_requests": "팔로우 요청",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "이 서버에 대해서",
"navigation_bar.keyboard_shortcuts": "단축키",
"navigation_bar.lists": "리스트",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "연합 타임라인",
"navigation_bar.security": "보안",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name}님이 즐겨찾기 했습니다",
"notification.follow": "{name}님이 나를 팔로우 했습니다",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "당신의 홈 피드가 준비되는 중입니다!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "@{name}에 대한 모더레이션 인터페이스 열기",
"status.admin_status": "모더레이션 인터페이스에서 이 게시물 열기",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "추천 지우기",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "홈",
"tabs_bar.news": "News",
"tabs_bar.notifications": "알림",
diff --git a/app/soapbox/locales/lt.json b/app/soapbox/locales/lt.json
index fda05193a..1cf42c6c3 100644
--- a/app/soapbox/locales/lt.json
+++ b/app/soapbox/locales/lt.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Bot",
"account.block": "Block @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Close",
"bundle_modal_error.message": "Something went wrong while loading this component.",
"bundle_modal_error.retry": "Try again",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Blocked users",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Local timeline",
"column.direct": "Direct messages",
"column.domain_blocks": "Hidden domains",
@@ -87,6 +100,7 @@
"column.follow_requests": "Follow requests",
"column.groups": "Groups",
"column.home": "Home",
+ "column.import_data": "Import data",
"column.lists": "Lists",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "You haven't muted any users yet.",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Show reposts",
"home.column_settings.show_replies": "Show replies",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Home",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favorites",
"navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "About this server",
"navigation_bar.keyboard_shortcuts": "Hotkeys",
"navigation_bar.lists": "Lists",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} favorited your post",
"notification.follow": "{name} followed you",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Home",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notifications",
diff --git a/app/soapbox/locales/lv.json b/app/soapbox/locales/lv.json
index 2e09b2cc8..f2db9aacc 100644
--- a/app/soapbox/locales/lv.json
+++ b/app/soapbox/locales/lv.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Pievienot vai noņemt no saraksta",
"account.badges.bot": "Bots",
"account.block": "Bloķēt @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Aizvērt",
"bundle_modal_error.message": "Kaut kas nogāja greizi ielādējot šo komponenti.",
"bundle_modal_error.retry": "Mēģini vēlreiz",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Bloķētie lietotāji",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Lokālā laika līnija",
"column.direct": "Privātās ziņas",
"column.domain_blocks": "Paslēptie domēni",
@@ -87,6 +100,7 @@
"column.follow_requests": "Sekotāju pieprasījumi",
"column.groups": "Groups",
"column.home": "Sākums",
+ "column.import_data": "Import data",
"column.lists": "Saraksti",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Tu neesi nevienu apklusinājis.",
"empty_column.notifications": "Tev nav paziņojumu. Iesaisties sarunās ar citiem.",
"empty_column.public": "Šeit nekā nav, tukšums! Ieraksti kaut ko publiski, vai uzmeklē un seko kādam no citas instances",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Show reposts",
"home.column_settings.show_replies": "Show replies",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Home",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favorites",
"navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "About this instance",
"navigation_bar.keyboard_shortcuts": "Hotkeys",
"navigation_bar.lists": "Lists",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} favorited your post",
"notification.follow": "{name} followed you",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Home",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notifications",
diff --git a/app/soapbox/locales/mk.json b/app/soapbox/locales/mk.json
index b87a648e9..14e21ca90 100644
--- a/app/soapbox/locales/mk.json
+++ b/app/soapbox/locales/mk.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Додади или одстрани од листа",
"account.badges.bot": "Бот",
"account.block": "Блокирај @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Затвори",
"bundle_modal_error.message": "Настана грешка при прикажувањето на оваа веб-страница.",
"bundle_modal_error.retry": "Обидете се повторно",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Блокирани корисници",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Local timeline",
"column.direct": "Директна порака",
"column.domain_blocks": "Hidden domains",
@@ -87,6 +100,7 @@
"column.follow_requests": "Follow requests",
"column.groups": "Groups",
"column.home": "Дома",
+ "column.import_data": "Import data",
"column.lists": "Листа",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "You haven't muted any users yet.",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Show reposts",
"home.column_settings.show_replies": "Show replies",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Дома",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favorites",
"navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "About this server",
"navigation_bar.keyboard_shortcuts": "Hotkeys",
"navigation_bar.lists": "Lists",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} favorited your post",
"notification.follow": "{name} followed you",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Дома",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notifications",
diff --git a/app/soapbox/locales/ms.json b/app/soapbox/locales/ms.json
index 1d2a357b0..a785c8365 100644
--- a/app/soapbox/locales/ms.json
+++ b/app/soapbox/locales/ms.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Bot",
"account.block": "Block @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Close",
"bundle_modal_error.message": "Something went wrong while loading this component.",
"bundle_modal_error.retry": "Try again",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Blocked users",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Local timeline",
"column.direct": "Direct messages",
"column.domain_blocks": "Hidden domains",
@@ -87,6 +100,7 @@
"column.follow_requests": "Follow requests",
"column.groups": "Groups",
"column.home": "Home",
+ "column.import_data": "Import data",
"column.lists": "Lists",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "You haven't muted any users yet.",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Show reposts",
"home.column_settings.show_replies": "Show replies",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Home",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favorites",
"navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "About this instance",
"navigation_bar.keyboard_shortcuts": "Hotkeys",
"navigation_bar.lists": "Lists",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} favorited your post",
"notification.follow": "{name} followed you",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Home",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notifications",
diff --git a/app/soapbox/locales/nl.json b/app/soapbox/locales/nl.json
index f0dadd79c..cbcf8494c 100644
--- a/app/soapbox/locales/nl.json
+++ b/app/soapbox/locales/nl.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Toevoegen of verwijderen vanuit lijsten",
"account.badges.bot": "Bot",
"account.block": "Blokkeer @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Sluiten",
"bundle_modal_error.message": "Tijdens het laden van dit onderdeel is er iets fout gegaan.",
"bundle_modal_error.retry": "Opnieuw proberen",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Geblokkeerde gebruikers",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Lokale tijdlijn",
"column.direct": "Directe berichten",
"column.domain_blocks": "Genegeerde servers",
@@ -87,6 +100,7 @@
"column.follow_requests": "Volgverzoeken",
"column.groups": "Groups",
"column.home": "Start",
+ "column.import_data": "Import data",
"column.lists": "Lijsten",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Jij hebt nog geen gebruikers genegeerd.",
"empty_column.notifications": "Je hebt nog geen meldingen. Begin met iemand een gesprek.",
"empty_column.public": "Er is hier helemaal niks! Toot iets in het openbaar of volg mensen van andere servers om het te vullen",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "en {additional}",
"hashtag.column_header.tag_mode.any": "of {additional}",
"hashtag.column_header.tag_mode.none": "zonder {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Reposts tonen",
"home.column_settings.show_replies": "Reacties tonen",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Start",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# dag} other {# dagen}}",
"intervals.full.hours": "{number, plural, one {# uur} other {# uur}}",
"intervals.full.minutes": "{number, plural, one {# minuut} other {# minuten}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favorieten",
"navigation_bar.filters": "Filters",
"navigation_bar.follow_requests": "Volgverzoeken",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Over deze server",
"navigation_bar.keyboard_shortcuts": "Sneltoetsen",
"navigation_bar.lists": "Lijsten",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Globale tijdlijn",
"navigation_bar.security": "Beveiliging",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} voegde jouw toot als favoriet toe",
"notification.follow": "{name} volgt jou nu",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Jouw tijdlijn wordt aangemaakt!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Moderatie-omgeving van @{name} openen",
"status.admin_status": "Deze toot in de moderatie-omgeving openen",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Voorstel verwerpen",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Start",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Meldingen",
diff --git a/app/soapbox/locales/nn.json b/app/soapbox/locales/nn.json
index 373886f74..e94c4ef34 100644
--- a/app/soapbox/locales/nn.json
+++ b/app/soapbox/locales/nn.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Legg til eller ta vekk fra liste",
"account.badges.bot": "Robot",
"account.block": "Blokkér @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Lukk",
"bundle_modal_error.message": "Noko gikk gale mens komponent var i ferd med å bli nedlasta.",
"bundle_modal_error.retry": "Prøv igjen",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Blokka brukare",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Lokal samtid",
"column.direct": "Direkte meldingar",
"column.domain_blocks": "Gøymte domener",
@@ -87,6 +100,7 @@
"column.follow_requests": "Føljarførespurnad",
"column.groups": "Groups",
"column.home": "Heim",
+ "column.import_data": "Import data",
"column.lists": "Lister",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Du har ikkje dempet nokon brukare enno.",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "og {additional}",
"hashtag.column_header.tag_mode.any": "eller {additional}",
"hashtag.column_header.tag_mode.none": "uten {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Vis fremhevingar",
"home.column_settings.show_replies": "Vis svar",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Heim",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favorites",
"navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "About this server",
"navigation_bar.keyboard_shortcuts": "Hotkeys",
"navigation_bar.lists": "Lister",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Federert tidslinje",
"navigation_bar.security": "Sikkerheit",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} likte din status",
"notification.follow": "{name} fulgte deg",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Heim",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notifications",
diff --git a/app/soapbox/locales/no.json b/app/soapbox/locales/no.json
index 7e8b7f89d..73a8fb8f5 100644
--- a/app/soapbox/locales/no.json
+++ b/app/soapbox/locales/no.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Bot",
"account.block": "Blokkér @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Lukk",
"bundle_modal_error.message": "Noe gikk galt da denne komponenten lastet.",
"bundle_modal_error.retry": "Prøv igjen",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Blokkerte brukere",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Lokal tidslinje",
"column.direct": "Direct messages",
"column.domain_blocks": "Hidden domains",
@@ -87,6 +100,7 @@
"column.follow_requests": "Følgeforespørsler",
"column.groups": "Groups",
"column.home": "Hjem",
+ "column.import_data": "Import data",
"column.lists": "Lister",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "You haven't muted any users yet.",
"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",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Vis fremhevinger",
"home.column_settings.show_replies": "Vis svar",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Hjem",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favoritter",
"navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Følgeforespørsler",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Utvidet informasjon",
"navigation_bar.keyboard_shortcuts": "Tastatursnarveier",
"navigation_bar.lists": "Lister",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Felles tidslinje",
"navigation_bar.security": "Security",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} likte din status",
"notification.follow": "{name} fulgte deg",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Dine startside forberedes!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Hjem",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Varslinger",
diff --git a/app/soapbox/locales/oc.json b/app/soapbox/locales/oc.json
index c2de76af7..aee54c758 100644
--- a/app/soapbox/locales/oc.json
+++ b/app/soapbox/locales/oc.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Ajustar o tirar de las listas",
"account.badges.bot": "Robòt",
"account.block": "Blocar @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Tampar",
"bundle_modal_error.message": "Quicòm a fach mèuca pendent lo cargament d’aqueste compausant.",
"bundle_modal_error.retry": "Tornar ensajar",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Personas blocadas",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Flux public local",
"column.direct": "Messatges dirèctes",
"column.domain_blocks": "Domenis resconduts",
@@ -87,6 +100,7 @@
"column.follow_requests": "Demandas d’abonament",
"column.groups": "Groups",
"column.home": "Acuèlh",
+ "column.import_data": "Import data",
"column.lists": "Listas",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Encara avètz pas mes en silenci degun.",
"empty_column.notifications": "Avètz pas encara de notificacions. Respondètz a qualqu’un per començar una conversacion.",
"empty_column.public": "I a pas res aquí ! Escrivètz quicòm de public, o seguètz de personas d’autres servidors per garnir lo flux public",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "e {additional}",
"hashtag.column_header.tag_mode.any": "o {additional}",
"hashtag.column_header.tag_mode.none": "sens {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Mostrar los partatges",
"home.column_settings.show_replies": "Mostrar las responsas",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Acuèlh",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# jorn} other {# jorns}}",
"intervals.full.hours": "{number, plural, one {# ora} other {# oras}}",
"intervals.full.minutes": "{number, plural, one {# minuta} other {# minutas}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favorits",
"navigation_bar.filters": "Mots ignorats",
"navigation_bar.follow_requests": "Demandas d’abonament",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Tocant aqueste servidor",
"navigation_bar.keyboard_shortcuts": "Acorchis clavièr",
"navigation_bar.lists": "Listas",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Flux public global",
"navigation_bar.security": "Seguretat",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} a ajustat a sos favorits",
"notification.follow": "{name} vos sèc",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Sèm a preparar vòstre flux d’acuèlh !",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Dobrir l’interfàcia de moderacion per @{name}",
"status.admin_status": "Dobrir aqueste estatut dins l’interfàcia de moderacion",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Regetar la suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Acuèlh",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notificacions",
diff --git a/app/soapbox/locales/pl.json b/app/soapbox/locales/pl.json
index a1899bc8e..8f9f39870 100644
--- a/app/soapbox/locales/pl.json
+++ b/app/soapbox/locales/pl.json
@@ -1,11 +1,13 @@
{
+ "accordion.collapse": "Zwiń",
+ "accordion.expand": "Rozwiń",
"account.add_or_remove_from_list": "Dodaj lub usuń z list",
"account.badges.bot": "Bot",
"account.block": "Blokuj @{name}",
"account.block_domain": "Blokuj wszystko z {domain}",
"account.blocked": "Zablokowany(-a)",
- "account.deactivated": "Deactivated",
- "account.deactivated_description": "This account has been deactivated.",
+ "account.deactivated": "Dezaktywowany(-a)",
+ "account.deactivated_description": "To konto zostało zdezaktywowane.",
"account.direct": "Wyślij wiadomość bezpośrednią do @{name}",
"account.domain_blocked": "Ukryto domenę",
"account.edit_profile": "Edytuj profil",
@@ -16,25 +18,30 @@
"account.follows": "Śledzeni",
"account.follows.empty": "Ten użytkownik nie śledzi jeszcze nikogo.",
"account.follows_you": "Śledzi Cię",
+ "account.follow_requests": "Prośby o obserwację",
"account.hide_reblogs": "Ukryj podbicia od @{name}",
"account.link_verified_on": "Własność tego odnośnika została potwierdzona {date}",
"account.locked_info": "To konto jest prywatne. Właściciel ręcznie wybiera kto może go śledzić.",
- "account.login": "Log in",
+ "account.login": "Zaloguj się",
+ "account.manage_followers": "Zarządzaj obserwującymi",
+ "account.manage_follows": "Zarządzaj, kogo obserwujesz",
"account.media": "Zawartość multimedialna",
- "account.member_since": "Member since {date}",
+ "account.member_since": "Zarejestrowany(-a): {date}",
"account.mention": "Wspomnij",
- "account.message": "Message",
+ "account.message": "Wyślij wiadomość",
"account.moved_to": "{name} przeniósł(-osła) się do:",
"account.mute": "Wycisz @{name}",
"account.mute_notifications": "Wycisz powiadomienia o @{name}",
"account.muted": "Wyciszony",
"account.posts": "Wpisy",
"account.posts_with_replies": "Wpisy i odpowiedzi",
- "account.profile": "Profile",
- "account.register": "Sign up",
+ "account.profile": "Profil",
+ "account.register": "Rejestracja",
+ "account.remote_follow": "Obserwuj zdalnie",
+ "account.remove": "Usuń",
"account.report": "Zgłoś @{name}",
"account.requested": "Oczekująca prośba, kliknij aby anulować",
- "account.requested_small": "Awaiting approval",
+ "account.requested_small": "Oczcekująca prośba",
"account.share": "Udostępnij profil @{name}",
"account.show_reblogs": "Pokazuj podbicia od @{name}",
"account.unblock": "Odblokuj @{name}",
@@ -43,16 +50,66 @@
"account.unfollow": "Przestań śledzić",
"account.unmute": "Cofnij wyciszenie @{name}",
"account.unmute_notifications": "Cofnij wyciszenie powiadomień od @{name}",
- "account_gallery.none": "No media to show.",
+ "account_gallery.none": "Brak zawartości multimedialnej do wyświetlenia.",
+ "admin.awaiting_approval.approved_message": "Przyjęto {acct}!",
+ "admin.awaiting_approval.empty_message": "Nikt nie oczekuje przyjęcia. Gdy zarejestruje się nowy użytkownik, możesz zatwierdzić go tutaj.",
+ "admin.awaiting_approval.rejected_message": "Odrzucono {acct}!",
+ "admin.dashboard.registration_mode_label": "Rejestracje",
+ "admin.dashboard.registration_mode.approval_hint": "Użytkownicy mogą zarejestrować się, ale ich konto aktywuje się dopiero gdy zostanie ono zatwierdzone przez administratora.",
+ "admin.dashboard.registration_mode.approval_label": "Wymagane przyjęcie",
+ "admin.dashboard.registration_mode.closed_hint": "Nikt nie może się zarejestrować. Wciąż możesz zapraszać ludzi.",
+ "admin.dashboard.registration_mode.closed_label": "Zamknięte",
+ "admin.dashboard.registration_mode.open_hint": "Każdy może się zarejestrować.",
+ "admin.dashboard.registration_mode.open_label": "Otwarte",
+ "admin.dashboard.settings_saved": "Zapisano ustawienia!",
+ "admin.dashcounters.domain_count_label": "znane instancje",
+ "admin.dashcounters.open_report_count_label": "otwarte zgłoszenia",
+ "admin.dashcounters.status_count_label": "wpisy",
+ "admin.dashcounters.user_count_label": "użytkownicy",
+ "admin.dashwidgets.software_header": "Oprogramowanie",
+ "admin.moderation_log.empty_message": "Nie wykonałeś(-aś) jeszcze żadnych działań moderacyjnych. Kiedy jakieś zostaną wykonane, ich historia pojawi się tutaj.",
+ "admin.reports.actions.view_status": "Wyświetl wpis",
+ "admin.reports.empty_message": "Brak otwartych zgłoszeń. Gdy użytkownik zostanie zgłoszony, pojawi się on tutaj.",
+ "admin.reports.report_closed_message": "Zamknięto zgłoszenie dotyczące @{name}",
+ "admin.reports.report_title": "Zgłoszenie dotyczące {acct}",
+ "admin.reports.status_deleted_message": "Usunięto wpis {acct}",
+ "admin.statuses.actions.delete_status": "Usuń wpis",
+ "admin.statuses.actions.mark_status_not_sensitive": "Oznacz wpis jako niewrażliwy",
+ "admin.statuses.actions.mark_status_sensitive": "Oznacz wpis jako wrażliwy",
+ "admin.statuses.status_deleted_message": "Wpis @{acct} został usunięty",
+ "admin.statuses.status_marked_message_not_sensitive": "Wpis {acct} został oznaczony jako niewrażliwy",
+ "admin.statuses.status_marked_message_sensitive": "Wpis {acct} został oznaczony jako wrażliwy",
+ "admin.users.actions.deactivate_user": "Dezaktywuj @{name}",
+ "admin.users.actions.delete_user": "Usuń @{name}",
+ "admin.users.actions.user_deactivated_message": "Zdezaktywowano {acct}",
+ "admin.users.actions.user_deleted_message": "Usunięto {acct}",
+ "admin.users.user_deactivated_message": "Zdezaktywowano @{acct}",
+ "admin.users.user_deleted_message": "Usunięto @{acct}",
+ "admin_nav.advanced": "Zaawansowane",
+ "admin_nav.awaiting_approval": "Oczekujące zgłoszenia",
+ "admin_nav.branding": "Branding",
+ "admin_nav.dashboard": "Panel administracyjny",
+ "admin_nav.filtering": "Filtrowanie",
+ "admin_nav.invites": "Zaproszenia",
+ "admin_nav.menus": "Menu",
+ "admin_nav.mrf": "Federacja",
+ "admin_nav.pages": "Strony",
+ "admin_nav.registration": "Rejestracja",
+ "admin_nav.reports": "Zgłoszenia",
+ "admin_nav.site_profile": "Profil strony",
"alert.unexpected.message": "Wystąpił nieoczekiwany błąd.",
"alert.unexpected.title": "O nie!",
- "audio.close": "Close audio",
- "audio.expand": "Expand audio",
- "audio.hide": "Hide audio",
- "audio.mute": "Mute",
- "audio.pause": "Pause",
- "audio.play": "Play",
- "audio.unmute": "Unmute",
+ "audio.close": "Zamknij dźwięk",
+ "audio.expand": "Rozwiń dźwięk",
+ "audio.hide": "Ukryj dźwięk",
+ "audio.mute": "Wycisz",
+ "audio.pause": "Pauzuj",
+ "audio.play": "Odtwórz",
+ "audio.unmute": "Cofnij wyciszenie",
+ "backups.actions.create": "Utwórz kopię zapasową",
+ "backups.empty_message": "Nie znaleziono kopii zapasaowych. {action}",
+ "backups.empty_message.action": "Chcesz utworzyć?",
+ "backups.pending": "Oczekująca",
"boost_modal.combo": "Naciśnij {combo}, aby pominąć to następnym razem",
"bundle_column_error.body": "Coś poszło nie tak podczas ładowania tego składnika.",
"bundle_column_error.retry": "Spróbuj ponownie",
@@ -60,45 +117,70 @@
"bundle_modal_error.close": "Zamknij",
"bundle_modal_error.message": "Coś poszło nie tak podczas ładowania tego składnika.",
"bundle_modal_error.retry": "Spróbuj ponownie",
+ "chat_box.actions.send": "Wyślij",
+ "chat_box.input.placeholder": "Wyślij wiadomość…",
+ "chat_list.actions.more": "Więcej",
+ "chat_list.actions.remove": "Usuń czat",
+ "chat_list.actions.report": "Zgłoś użytkownika",
+ "chat_panels.main_window.empty": "Nie znaleziono rozmów. Aby zacząć rozmowę, odwiedź profil użytkownika.",
+ "chat_panels.main_window.title": "Rozmowy",
+ "chats.actions.delete": "Usuń wiadomość",
+ "chats.actions.more": "Więcej",
+ "chats.actions.report": "Zgłoś użytkownika",
+ "chats.audio_toggle_off": "Wyłączono dźwięk powiadomień",
+ "chats.audio_toggle_on": "Włączono dźwięk powiadomień",
+ "chats.dividers.today": "Dzisiaj",
+ "column.admin.awaiting_approval": "Oczekujące na przyjęcie",
+ "column.admin.dashboard": "Panel administracyjny",
+ "column.admin.moderation_log": "Dziennik moderacyjny",
+ "column.admin.reports": "Zgłoszenia",
+ "column.admin.reports.menu.moderation_log": "Dziennik moderacji",
+ "column.backups": "Kopie zapasowe",
"column.blocks": "Zablokowani użytkownicy",
- "column.bookmarks": "Bookmarks",
+ "column.bookmarks": "Załadki",
+ "column.chats": "Rozmowy",
"column.community": "Lokalna oś czasu",
"column.direct": "Wiadomości bezpośrednie",
"column.domain_blocks": "Ukryte domeny",
"column.edit_profile": "Edit profile",
- "column.filters": "Muted words",
- "column.filters.add_new": "Add New Filter",
- "column.filters.conversations": "Conversations",
- "column.filters.create_error": "Error adding filter",
- "column.filters.delete": "Delete",
- "column.filters.delete_error": "Error deleting filter",
- "column.filters.drop_header": "Drop instead of hide",
- "column.filters.drop_hint": "Filtered posts will disappear irreversibly, even if filter is later removed",
- "column.filters.expires": "Expire after",
- "column.filters.expires_hint": "Expiration dates are not currently supported",
- "column.filters.home_timeline": "Home timeline",
- "column.filters.keyword": "Keyword or phrase",
- "column.filters.notifications": "Notifications",
- "column.filters.public_timeline": "Public timeline",
- "column.filters.subheading_add_new": "Add New Filter",
- "column.filters.subheading_filters": "Current Filters",
- "column.filters.whole_word_header": "Whole word",
- "column.filters.whole_word_hint": "When the keyword or phrase is alphanumeric only, it will only be applied if it matches the whole word",
+ "column.filters": "Wyciszone słowa",
+ "column.filters.add_new": "Dodaj nowy filtr",
+ "column.filters.conversations": "Konwersacje",
+ "column.filters.create_error": "Błąd dodawania filtru",
+ "column.filters.delete": "Usuń",
+ "column.filters.delete_error": "Błąd usuwania filtru",
+ "column.filters.drop_header": "Usuwaj zamiast ukrywać",
+ "column.filters.drop_hint": "Filtrowane wpisy znikną bezpowrotnie, nawet jeżeli filtr zostanie później usunięty",
+ "column.filters.expires": "Wygasaj po",
+ "column.filters.expires_hint": "Daty wygaśnięcia nie są obecnie obsługiwane",
+ "column.filters.home_timeline": "Główna oś czasu",
+ "column.filters.keyword": "Słowo kluczowe lub fraza",
+ "column.filters.notifications": "Powiadomienia",
+ "column.filters.public_timeline": "Publiczna oś czasu",
+ "column.filters.subheading_add_new": "Dodaj nowy filtr",
+ "column.filters.subheading_filters": "Obecne filtry",
+ "column.filters.whole_word_header": "Całe słowo",
+ "column.filters.whole_word_hint": "Jeżeli słowo kluczowe lub fraza składa się tylko ze znaków alfanumerycznych, zostanie to zastosowane tylko gdy pasuje do całego słowa",
"column.follow_requests": "Prośby o śledzenie",
- "column.groups": "Groups",
+ "column.groups": "Grupy",
"column.home": "Strona główna",
+ "column.import_data": "Importuj dane",
"column.lists": "Listy",
- "column.mfa": "Multi-Factor Authentication",
- "column.mfa_cancel": "Cancel",
- "column.mfa_confirm_button": "Confirm",
- "column.mfa_disable_button": "Disable",
- "column.mfa_setup": "Proceed to Setup",
+ "column.manage_followers": "Zarządzaj obserwacjami",
+ "column.manage_followers.remove": "Usuń",
+ "column.manage_follows": "Zarządzaj, kogo obserwujesz",
+ "column.mfa": "Uwierzytelnianie wieloetapowe",
+ "column.mfa_cancel": "Anuluj",
+ "column.mfa_confirm_button": "Potwierdź",
+ "column.mfa_disable_button": "Wyłącz",
+ "column.mfa_setup": "Przejdź do konfiguracji",
"column.mutes": "Wyciszeni użytkownicy",
"column.notifications": "Powiadomienia",
- "column.preferences": "Preferences",
+ "column.preferences": "Preferencje",
"column.public": "Globalna oś czasu",
- "column.security": "Security",
- "column.soapbox_config": "Soapbox config",
+ "column.remote": "Sfederowana oś czasu",
+ "column.security": "Bezpieczeństwo",
+ "column.soapbox_config": "Konfiguracja Soapbox",
"column_back_button.label": "Wróć",
"column_header.hide_settings": "Ukryj ustawienia",
"column_header.show_settings": "Pokaż ustawienia",
@@ -109,14 +191,14 @@
"compose_form.hashtag_warning": "Ten wpis nie będzie widoczny pod podanymi hashtagami, ponieważ jest oznaczony jako niewidoczny. Tylko publiczne wpisy mogą zostać znalezione z użyciem hashtagów.",
"compose_form.lock_disclaimer": "Twoje konto nie jest {locked}. Każdy, kto Cię śledzi, może wyświetlać Twoje wpisy przeznaczone tylko dla śledzących.",
"compose_form.lock_disclaimer.lock": "zablokowane",
- "compose_form.markdown.marked": "Post markdown enabled",
- "compose_form.markdown.unmarked": "Post markdown disabled",
+ "compose_form.markdown.marked": "Markdown włączony",
+ "compose_form.markdown.unmarked": "Markdown wyłączony",
"compose_form.placeholder": "Co Ci chodzi po głowie?",
"compose_form.poll.add_option": "Dodaj opcję",
"compose_form.poll.duration": "Czas trwania głosowania",
"compose_form.poll.option_placeholder": "Opcja {number}",
"compose_form.poll.remove_option": "Usuń tę opcję",
- "compose_form.poll.type.hint": "Click to toggle poll type. Radio button (default) is single. Checkbox is multiple.",
+ "compose_form.poll.type.hint": "Naciśnij aby przełączyć rodzaj ankiety. Przycisk radio (domyślny) to ankieta jednokrotnego wyboru. Pole wyboru – wielokrotnego.",
"compose_form.publish": "Wyślij",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.hide": "Oznacz multimedia jako wrażliwe",
@@ -126,6 +208,16 @@
"compose_form.spoiler.unmarked": "Tekst nie jest ukryty",
"compose_form.spoiler_placeholder": "Wprowadź swoje ostrzeżenie o zawartości",
"confirmation_modal.cancel": "Anuluj",
+ "confirmations.admin.delete_status.message": "Zamierzasz usunąć wpis użytkownika @{acct}. To działanie nie może zostać cofnięte.",
+ "confirmations.admin.delete_status.confirm": "Usuń wpis",
+ "confirmations.admin.delete_user.message": "Zamierzasz usunąć @{acct}. TO DZIAŁANIE NIE MOŻE ZOSTAĆ COFNIĘTE.",
+ "confirmations.admin.delete_user.confirm": "@Usuń {name}",
+ "confirmations.admin.deactivate_user.message": "Zamierzasz zdezaktywować @{acct}. Dezaktywacja konta może zostać cofnięta.",
+ "confirmations.admin.deactivate_user.confirm": "Dezaktywuj @{name}",
+ "confirmations.admin.mark_status_not_sensitive.confirm": "Oznacz wpis jako niewrażliwy",
+ "confirmations.admin.mark_status_not_sensitive.message": "Zamierzasz oznaczyć wpis {acct} jako niewrażliwy.",
+ "confirmations.admin.mark_status_sensitive.confirm": "Oznacz wpis jako wrażliwy",
+ "confirmations.admin.mark_status_sensitive.message": "Zamierzasz oznaczyć wpis {acct} jako wrażliwy.",
"confirmations.block.block_and_report": "Zablokuj i zgłoś",
"confirmations.block.confirm": "Zablokuj",
"confirmations.block.message": "Czy na pewno chcesz zablokować {name}?",
@@ -139,27 +231,30 @@
"confirmations.mute.message": "Czy na pewno chcesz wyciszyć {name}?",
"confirmations.redraft.confirm": "Usuń i przeredaguj",
"confirmations.redraft.message": "Czy na pewno chcesz usunąć i przeredagować ten wpis? Polubienia i podbicia zostaną utracone, a odpowiedzi do oryginalnego wpisu zostaną osierocone.",
+ "confirmations.register.needs_approval": "Twoje konto musi zostać ręcznie zatwierdzone przez administratora. Zachowaj cierpliwość, a my sprawdzimy szczegóły Twojej rejestracji.",
+ "confirmations.register.needs_confirmation": "Sprawdź swoją skrzynkę na {email}, aby znaleźć instrukcje potwierdzania. Musisz zweryfikować swój adres e-mail, aby kontynuować.",
+ "confirmations.remove.confirm": "Usuń",
"confirmations.reply.confirm": "Odpowiedz",
"confirmations.reply.message": "W ten sposób utracisz wpis który obecnie tworzysz. Czy na pewno chcesz to zrobić?",
"confirmations.unfollow.confirm": "Przestań śledzić",
"confirmations.unfollow.message": "Czy na pewno zamierzasz przestać śledzić {name}?",
- "donate": "Donate",
- "edit_profile.fields.avatar_label": "Avatar",
- "edit_profile.fields.bio_label": "Bio",
- "edit_profile.fields.bot_label": "This is a bot account",
- "edit_profile.fields.display_name_label": "Display name",
- "edit_profile.fields.header_label": "Header",
- "edit_profile.fields.locked_label": "Lock account",
- "edit_profile.fields.meta_fields.content_placeholder": "Content",
- "edit_profile.fields.meta_fields.label_placeholder": "Label",
- "edit_profile.fields.meta_fields_label": "Profile metadata",
- "edit_profile.fields.verified_display_name": "Verified users may not update their display name",
- "edit_profile.hints.avatar": "PNG, GIF or JPG. At most 2 MB. Will be downscaled to 400x400px",
- "edit_profile.hints.bot": "This account mainly performs automated actions and might not be monitored",
- "edit_profile.hints.header": "PNG, GIF or JPG. At most 2 MB. Will be downscaled to 1500x500px",
- "edit_profile.hints.locked": "Requires you to manually approve followers",
- "edit_profile.hints.meta_fields": "You can have up to {count, plural, one {# item} other {# items}} displayed as a table on your profile",
- "edit_profile.save": "Save",
+ "donate": "Przekaż darowiznę",
+ "edit_profile.fields.avatar_label": "Awatar",
+ "edit_profile.fields.bio_label": "Opis",
+ "edit_profile.fields.bot_label": "To jest konto bota",
+ "edit_profile.fields.display_name_label": "Nazwa wyświetlana",
+ "edit_profile.fields.header_label": "Nagłówek",
+ "edit_profile.fields.locked_label": "Zablokuj konto",
+ "edit_profile.fields.meta_fields.content_placeholder": "Treść",
+ "edit_profile.fields.meta_fields.label_placeholder": "Podpis",
+ "edit_profile.fields.meta_fields_label": "Metadane profilu",
+ "edit_profile.fields.verified_display_name": "Zweryfikowani użytkownicy nie mogą zmieniać nazwy wyświetlanej",
+ "edit_profile.hints.avatar": "PNG, GIF lub JPG. Maksymalnie 2 MB. Zostanie zmniejszony do 400x400px",
+ "edit_profile.hints.bot": "To konto podejmuje głównie zautomatyzowane działania i może nie być nadzorowane",
+ "edit_profile.hints.header": "PNG, GIF lub JPG. Maksymalnie 2 MB. Zostanie zmniejszony do 1500x500px",
+ "edit_profile.hints.locked": "Wymaga ręcznego zatwierdzania obserwacji",
+ "edit_profile.hints.meta_fields": "Możesz mieć maksymalnie {count, plural, one {# element} few {# elemeny} many {# elementów} other {# elementy}} wyświetlane w formie tabeli na swoim profilu",
+ "edit_profile.save": "Zapisz",
"embed.instructions": "Osadź ten wpis na swojej stronie wklejając poniższy kod.",
"embed.preview": "Tak będzie to wyglądać:",
"emoji_button.activity": "Aktywność",
@@ -179,67 +274,82 @@
"empty_column.account_timeline": "Brak wpisów tutaj!",
"empty_column.account_unavailable": "Profil niedostępny",
"empty_column.blocks": "Nie zablokowałeś(-aś) jeszcze żadnego użytkownika.",
- "empty_column.bookmarks": "You don't have any bookmarks yet. When you add one, it will show up here.",
+ "empty_column.bookmarks": "Nie masz jeszcze żadnej zakładki. Kiedy dodasz jakąś, pojawi się ona tutaj.",
"empty_column.community": "Lokalna oś czasu jest pusta. Napisz coś publicznie, aby zagaić!",
"empty_column.direct": "Nie masz żadnych wiadomości bezpośrednich. Kiedy dostaniesz lub wyślesz jakąś, pojawi się ona tutaj.",
"empty_column.domain_blocks": "Brak ukrytych domen.",
"empty_column.favourited_statuses": "Nie dodałeś(-aś) żadnego wpisu do ulubionych. Kiedy to zrobisz, pojawi się on tutaj.",
"empty_column.favourites": "Nikt nie dodał tego wpisu do ulubionych. Gdy ktoś to zrobi, pojawi się tutaj.",
- "empty_column.filters": "You haven't created any muted words yet.",
+ "empty_column.filters": "Nie wyciszyłeś(-aś) jeszcze żadnego słowa.",
+ "empty_column.followers": "Nikt Cię jeszcze nie obserswuje. Kiedy ktoś Cię zaobserwuje, pojawi się tutaj.",
+ "empty_column.follows": "Nikogo jeszcze nie obserswujesz. Kiedy zaczniesz, pojawią się oni tutaj.",
"empty_column.follow_requests": "Nie masz żadnych próśb o możliwość śledzenia. Kiedy ktoś utworzy ją, pojawi się tutaj.",
"empty_column.group": "There is nothing in this group yet. When members of this group make new posts, they will appear here.",
"empty_column.hashtag": "Nie ma wpisów oznaczonych tym hashtagiem. Możesz napisać pierwszy(-a)!",
"empty_column.home": "Nie śledzisz nikogo. Odwiedź globalną oś czasu lub użyj wyszukiwarki, aby znaleźć interesujące Cię profile.",
- "empty_column.home.local_tab": "the {site_title} tab",
+ "empty_column.home.local_tab": "zakładka {site_title}",
"empty_column.list": "Nie ma nic na tej liście. Kiedy członkowie listy dodadzą nowe wpisy, pojawia się one tutaj.",
"empty_column.lists": "Nie masz żadnych list. Kiedy utworzysz jedną, pojawi się tutaj.",
"empty_column.mutes": "Nie wyciszyłeś(-aś) jeszcze żadnego użytkownika.",
"empty_column.notifications": "Nie masz żadnych powiadomień. Rozpocznij interakcje z innymi użytkownikami.",
"empty_column.public": "Tu nic nie ma! Napisz coś publicznie, lub dodaj ludzi z innych serwerów, aby to wyświetlić",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
- "fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
- "fediverse_tab.explanation_box.title": "What is the Fediverse?",
- "filters.context_header": "Filter contexts",
- "filters.context_hint": "One or multiple contexts where the filter should apply",
- "filters.filters_list_context_label": "Filter contexts:",
- "filters.filters_list_delete": "Delete",
- "filters.filters_list_details_label": "Filter settings:",
- "filters.filters_list_drop": "Drop",
- "filters.filters_list_hide": "Hide",
- "filters.filters_list_phrase_label": "Keyword or phrase:",
- "filters.filters_list_whole-word": "Whole word",
+ "empty_column.remote": "Tu nic nie ma! Zaobserwuj użytkowników {instance}, aby wypełnić tę oś.",
+ "fediverse_tab.explanation_box.explanation": "{site_title} jest częścią Fediwersum, sieci społecznościowej na którą składają się tysiące niezależnie funkcjonujących stron (serwerów). Wpisy które tu widzisz pochodzą z serwerów podmiotów trzecich. Możesz do woli wchodzić z nimi w interakcje lub blokować serwery których nie lubisz. Zwracaj uwagę na pełną nazwę użytkownika po znaku @, aby wiedzieć z jakiego serwera pochodzi on. Aby widzieć tylko wpisy z {site_title}, odwiedź kartę {local}.",
+ "fediverse_tab.explanation_box.title": "Czym jest Fediverse?",
+ "filters.context_header": "Konteksty filtru",
+ "filters.context_hint": "Jedno lub więcej miejsc, gdzie filtr powinien zostać zaaplikowany",
+ "filters.filters_list_context_label": "Konteksty filtru:",
+ "filters.filters_list_delete": "Usuń",
+ "filters.filters_list_details_label": "Ustawienia filtru:",
+ "filters.filters_list_drop": "Usuwaj",
+ "filters.filters_list_hide": "Ukrywaj",
+ "filters.filters_list_phrase_label": "Słowo kluczowe lub fraza:",
+ "filters.filters_list_whole-word": "Całe słowo",
"follow_request.authorize": "Autoryzuj",
"follow_request.reject": "Odrzuć",
"getting_started.heading": "Rozpocznij",
"getting_started.open_source_notice": "{code_name} jest oprogramowaniem o otwartym źródle. Możesz pomóc w rozwoju lub zgłaszać błędy na GitLabie tutaj: {code_link} (v{code_version}).",
- "group.members.empty": "This group does not has any members.",
- "group.removed_accounts.empty": "This group does not has any removed accounts.",
- "groups.card.join": "Join",
- "groups.card.members": "Members",
- "groups.card.roles.admin": "You're an admin",
- "groups.card.roles.member": "You're a member",
- "groups.card.view": "View",
- "groups.create": "Create group",
- "groups.form.coverImage": "Upload new banner image (optional)",
- "groups.form.coverImageChange": "Banner image selected",
- "groups.form.create": "Create group",
- "groups.form.description": "Description",
- "groups.form.title": "Title",
- "groups.form.update": "Update group",
- "groups.removed_accounts": "Removed Accounts",
- "groups.tab_admin": "Manage",
- "groups.tab_featured": "Featured",
- "groups.tab_member": "Member",
+ "group.members.empty": "Ta grupa nie ma żadnych członków.",
+ "group.removed_accounts.empty": "Ta grupa nie ma żadnych usuniętych kont.",
+ "groups.card.join": "Dołącz",
+ "groups.card.members": "Członkowie",
+ "groups.card.roles.admin": "Jesteś administratorem",
+ "groups.card.roles.member": "Jesteś członkiem",
+ "groups.card.view": "Zobacz",
+ "groups.create": "Utwórz grupę",
+ "groups.form.coverImage": "Wyślij obraz baneru (nieobowiązkowe)",
+ "groups.form.coverImageChange": "Wybrano obraz baneru",
+ "groups.form.create": "Utwórz grupę",
+ "groups.form.description": "Opis",
+ "groups.form.title": "Tytuł",
+ "groups.form.update": "Aktualizuj grupę",
+ "groups.removed_accounts": "Usunięte konta",
+ "groups.tab_admin": "Zarządzaj",
+ "groups.tab_featured": "Wyróżnione",
+ "groups.tab_member": "Członek",
"hashtag.column_header.tag_mode.all": "i {additional}",
"hashtag.column_header.tag_mode.any": "lub {additional}",
"hashtag.column_header.tag_mode.none": "bez {additional}",
- "home.column_settings.show_direct": "Show direct messages",
+ "header.about.label": "Informacje",
+ "header.back_to.label": "Wróć na {siteTitle}",
+ "header.home.label": "Strona główna",
+ "header.login.label": "Zaloguj się",
+ "home.column_settings.show_direct": "Pokazuj wiadomości bezpośrednie",
"home.column_settings.show_reblogs": "Pokazuj podbicia",
"home.column_settings.show_replies": "Pokazuj odpowiedzi",
- "home_column.lists": "Lists",
- "home_column_header.fediverse": "Fediverse",
+ "home_column.lists": "Listy",
+ "home_column_header.fediverse": "Fediwersum",
"home_column_header.home": "Strona główna",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Importuj blokady",
+ "import_data.actions.import_follows": "Importuj obserwacje",
+ "import_data.actions.import_mutes": "Importuj wyciszenia",
+ "import_data.blocks_label": "Blokady",
+ "import_data.follows_label": "Obserwacje",
+ "import_data.hints.blocks": "Plik CSV zawierający listę zablokowanych kont",
+ "import_data.hints.follows": "Plik CSV zawierający listę obserwowanych kont",
+ "import_data.hints.mutes": "Plik CSV zawierający listę wyciszonych kont",
+ "import_data.mutes_label": "Wyciszenia",
"intervals.full.days": "{number, plural, one {# dzień} few {# dni} many {# dni} other {# dni}}",
"intervals.full.hours": "{number, plural, one {# godzina} few {# godziny} many {# godzin} other {# godzin}}",
"intervals.full.minutes": "{number, plural, one {# minuta} few {# minuty} many {# minut} other {# minut}}",
@@ -276,52 +386,52 @@
"lightbox.next": "Następne",
"lightbox.previous": "Poprzednie",
"lightbox.view_context": "Pokaż kontekst",
- "list.click_to_add": "Click here to add people",
- "list_adder.header_title": "Add or Remove from Lists",
+ "list.click_to_add": "Naciśnij tutaj, aby dodać ludzi",
+ "list_adder.header_title": "Dodaj lub usuń z list",
"lists.account.add": "Dodaj do listy",
"lists.account.remove": "Usunąć z listy",
"lists.delete": "Usuń listę",
"lists.edit": "Edytuj listę",
"lists.edit.submit": "Zmień tytuł",
"lists.new.create": "Utwórz listę",
- "lists.new.create_title": "Create",
- "lists.new.save_title": "Save Title",
+ "lists.new.create_title": "Utwórz",
+ "lists.new.save_title": "Zapisz tytuł",
"lists.new.title_placeholder": "Wprowadź tytuł listy",
"lists.search": "Szukaj wśród osób które śledzisz",
"lists.subheading": "Twoje listy",
- "lists.view_all": "View all lists",
+ "lists.view_all": "Zobacz swoje listy",
"loading_indicator.label": "Ładowanie…",
- "login.fields.otp_code_hint": "Enter the two-factor code generated by your phone app or use one of your recovery codes",
- "login.fields.otp_code_label": "Two-factor code:",
- "login.fields.password_placeholder": "Password",
- "login.fields.username_placeholder": "Username",
- "login.log_in": "Log in",
- "login.otp_log_in": "OTP Login",
- "login.otp_log_in.fail": "Invalid code, please try again.",
- "login.reset_password_hint": "Trouble logging in?",
+ "login.fields.otp_code_hint": "Wprowadź kod uwierzytelniania dwuetapowego wygenerowany przez aplikację mobilną lub jeden z kodów zapasowych",
+ "login.fields.otp_code_label": "Kod uwierzytelniania dwuetapowego:",
+ "login.fields.password_placeholder": "Hasło",
+ "login.fields.username_placeholder": "Nazwa użytkownika",
+ "login.log_in": "Zaloguj się",
+ "login.otp_log_in": "Login OTP",
+ "login.otp_log_in.fail": "Nieprawidłowy kod, spróbuj ponownie.",
+ "login.reset_password_hint": "Problem z zalogowaniem?",
"media_gallery.toggle_visible": "Przełącz widoczność",
"media_panel.title": "Media",
- "mfa.mfa_disable_enter_password": "Enter your current password to disable two-factor auth:",
- "mfa.mfa_setup_enter_password": "Enter your current password to confirm your identity:",
- "mfa.mfa_setup_scan_description": "Using your two-factor app, scan this QR code or enter text key:",
- "mfa.mfa_setup_scan_key": "Key:",
- "mfa.mfa_setup_scan_title": "Scan",
- "mfa.mfa_setup_verify_description": "To enable two-factor authentication, enter the code from your two-factor app:",
- "mfa.mfa_setup_verify_title": "Verify",
- "mfa.otp_enabled_description": "You have enabled two-factor authentication via OTP.",
- "mfa.otp_enabled_title": "OTP Enabled",
- "mfa.setup_hint": "Follow these steps to set up multi-factor authentication on your account with OTP",
- "mfa.setup_otp_title": "OTP Disabled",
- "mfa.setup_recoverycodes": "Recovery codes",
- "mfa.setup_warning": "Write these codes down or save them somewhere secure - otherwise you won't see them again. If you lose access to your 2FA app and recovery codes you'll be locked out of your account.",
+ "mfa.mfa_disable_enter_password": "Wprowadź obecne hasło, aby wyłączyć uwierzytelnianie dwuetapowe:",
+ "mfa.mfa_setup_enter_password": "Wprowadź obecne hasło, aby potwierdzić swoją tożsamość:",
+ "mfa.mfa_setup_scan_description": "Korzystając z aplikacji do uwierzytelniania dwuetapowego, zeskanuj ten kod QR lub wprowadź klucz tekstowy:",
+ "mfa.mfa_setup_scan_key": "Klucz:",
+ "mfa.mfa_setup_scan_title": "Skanuj",
+ "mfa.mfa_setup_verify_description": "Aby aktywować uwierzytelnianie dwuetapowe, wprowadź kod ze swojej aplikacji do uwierzytelniania dwuetapowego:",
+ "mfa.mfa_setup_verify_title": "Weryfikuj",
+ "mfa.otp_enabled_description": "Masz włączone uwierzytelnianie dwuetapowe przez OTP.",
+ "mfa.otp_enabled_title": "Włączono OTP",
+ "mfa.setup_hint": "Podążaj za tymi krokami, aby skonfigurować uwierzytelnianie dwuetapowe na stwoim koncie z OTP",
+ "mfa.setup_otp_title": "Wyłączono OTP",
+ "mfa.setup_recoverycodes": "Kody przywracania",
+ "mfa.setup_warning": "Zapisz te kody gdzieś w bezpiecznym miejscu – jeżeli tego nie zrobisz, już ich nie zobaczysz. Jeśli utracisz dostęp do aplikacji 2FA i tych kodów, stracisz dostęp do swojego konta.",
"missing_indicator.label": "Nie znaleziono",
"missing_indicator.sublabel": "Nie można odnaleźć tego zasobu",
- "morefollows.followers_label": "…and {count} more {count, plural, one {follower} other {followers}} on remote sites.",
- "morefollows.following_label": "…and {count} more {count, plural, one {follow} other {follows}} on remote sites.",
+ "morefollows.followers_label": "…i {count} więcej {count, plural, one {obserwujący(-a)} few {obserwujących} many {obserwujących} other {obserwujących}} na zdalnych stronach.",
+ "morefollows.following_label": "…i {count} więcej {count, plural, one {obserwowany(-a)} few {obserwowanych} many {obserwowanych} other {obserwowanych}} na zdalnych stronach.",
"mute_modal.hide_notifications": "Chcesz ukryć powiadomienia od tego użytkownika?",
- "navigation_bar.admin_settings": "Admin settings",
+ "navigation_bar.admin_settings": "Ustawienia administracyjne",
"navigation_bar.blocks": "Zablokowani użytkownicy",
- "navigation_bar.bookmarks": "Bookmarks",
+ "navigation_bar.bookmarks": "Zakładki",
"navigation_bar.community_timeline": "Lokalna oś czasu",
"navigation_bar.compose": "Utwórz nowy wpis",
"navigation_bar.direct": "Wiadomości bezpośrednie",
@@ -331,19 +441,23 @@
"navigation_bar.favourites": "Ulubione",
"navigation_bar.filters": "Wyciszone słowa",
"navigation_bar.follow_requests": "Prośby o śledzenie",
+ "navigation_bar.import_data": "Importuj dane",
"navigation_bar.info": "Szczegółowe informacje",
"navigation_bar.keyboard_shortcuts": "Skróty klawiszowe",
"navigation_bar.lists": "Listy",
"navigation_bar.logout": "Wyloguj",
- "navigation_bar.messages": "Messages",
+ "navigation_bar.manage_followers": "Zarządzaj obserwacjami",
+ "navigation_bar.messages": "Wiadomości",
"navigation_bar.mutes": "Wyciszeni użytkownicy",
"navigation_bar.personal": "Osobiste",
"navigation_bar.pins": "Przypięte wpisy",
"navigation_bar.preferences": "Preferencje",
"navigation_bar.public_timeline": "Globalna oś czasu",
"navigation_bar.security": "Bezpieczeństwo",
- "navigation_bar.soapbox_config": "Soapbox config",
- "notification.emoji_react": "{name} reacted to your post",
+ "navigation_bar.settings_header": "Ustawienia",
+ "navigation_bar.soapbox_config": "Konfiguracja Soapbox",
+ "notification.chat_mention": "{name} wysłał(a) Ci wiadomośść",
+ "notification.emoji_react": "{name} zareagował(a) na Twój wpis",
"notification.favourite": "{name} dodał(a) Twój wpis do ulubionych",
"notification.follow": "{name} zaczął(-ęła) Cię śledzić",
"notification.mention": "{name} wspomniał(a) o tobie",
@@ -363,41 +477,61 @@
"notifications.column_settings.reblog": "Podbicia:",
"notifications.column_settings.show": "Pokaż w kolumnie",
"notifications.column_settings.sound": "Odtwarzaj dźwięk",
- "notifications.column_settings.sounds": "Sounds",
- "notifications.column_settings.sounds.all_sounds": "Play sound for all notifications",
+ "notifications.column_settings.sounds": "Dźwięki",
+ "notifications.column_settings.sounds.all_sounds": "Odtwarzaj dźwięk dla każdego powiadomienia sound for all notifications",
"notifications.filter.all": "Wszystkie",
"notifications.filter.boosts": "Podbicia",
+ "notifications.filter.emoji_reacts": "Reakcje emoji:",
"notifications.filter.favourites": "Ulubione",
"notifications.filter.follows": "Śledzenia",
"notifications.filter.mentions": "Wspomienia",
"notifications.filter.polls": "Wyniki głosowania",
"notifications.group": "{count, number} {count, plural, one {powiadomienie} few {powiadomienia} many {powiadomień} more {powiadomień}}",
- "notifications.queue_label": "Click to see {count} new {count, plural, one {notification} other {notifications}}",
- "pinned_statuses.none": "No pins to show.",
+ "notifications.queue_label": "Naciśnij aby zobaczyć {count} {count, plural, one {nowe powiadomienie} few {nowe powiadomienia} many {nowych powiadomień} other {nowe powiadomienia}}",
+ "password_reset.fields.nickname_or_email_label": "Adres e-mail lub nazwa użytkownika",
+ "password_reset.fields.nickname_or_email_placeholder": "me@example.com",
+ "password_reset.reset_password": "Resetuj hasło",
+ "password_reset.success": "Sprawdź swoją skrzynkę pocztową, aby odnaleźć potwierdzenie",
+ "pinned_statuses.none": "Brak przypięć do pokazania.",
"poll.closed": "Zamknięte",
"poll.refresh": "Odśwież",
"poll.total_votes": "{count, plural, one {# głos} few {# głosy} many {# głosów} other {# głosów}}",
"poll.vote": "Zagłosuj",
"poll_button.add_poll": "Dodaj głosowanie",
"poll_button.remove_poll": "Usuń głosowanie",
- "preferences.fields.auto_play_gif_label": "Auto-play animated GIFs",
- "preferences.fields.boost_modal_label": "Show confirmation dialog before reposting",
- "preferences.fields.delete_modal_label": "Show confirmation dialog before deleting a post",
- "preferences.fields.demetricator_label": "Use Demetricator",
- "preferences.fields.dyslexic_font_label": "Dyslexic mode",
- "preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
- "preferences.fields.language_label": "Language",
- "preferences.fields.privacy_label": "Post privacy",
- "preferences.fields.reduce_motion_label": "Reduce motion in animations",
- "preferences.fields.system_font_label": "Use system's default font",
- "preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
- "preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
- "preferences.hints.privacy_followers_only": "Only show to followers",
- "preferences.hints.privacy_public": "Everyone can see",
- "preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
- "preferences.options.privacy_followers_only": "Followers-only",
- "preferences.options.privacy_public": "Public",
- "preferences.options.privacy_unlisted": "Unlisted",
+ "preferences.fields.auto_play_gif_label": "Automatycznie odtwarzaj anonimowe GIF-y",
+ "preferences.fields.boost_modal_label": "Pokazuj prośbę o potwierdzenie przed podbiciem",
+ "preferences.fields.content_type_label": "Format wpisów",
+ "preferences.fields.delete_modal_label": "Pokazuj prośbę o potwierddzenie przed usunięciem wpisu",
+ "preferences.fields.demetricator_label": "Użyj Demetricatora",
+ "preferences.fields.display_media.default": "Ukrywaj media oznaczone jako wrażliwe",
+ "preferences.fields.display_media.hide_all": "Ukrywaj wszystkie media",
+ "preferences.fields.display_media.show_all": "Pokazuj wszystkie media",
+ "preferences.fields.dyslexic_font_label": "Tryb dla dyslektyków",
+ "preferences.fields.expand_spoilers_label": "Zawsze rozwijaj wpisy z ostrzeżeniami o zawartości",
+ "preferences.fields.halloween_label": "Tryb Halloween",
+ "preferences.fields.language_label": "Język",
+ "preferences.fields.media_display_label": "Wyświetlanie zawartości multimedialnej",
+ "preferences.fields.privacy_label": "Prywatność wpisów",
+ "preferences.fields.reduce_motion_label": "Ogranicz ruch w animacjach",
+ "preferences.fields.system_font_label": "Używaj domyślnej czcionki systemu",
+ "preferences.fields.themes_label": "Motywy",
+ "preferences.fields.unfollow_modal_label": "Pokazuj prośbę o potwierdzenie przed cofnięciem obserwacji",
+ "preferences.hints.demetricator": "Ogranicz uzależnienie od mediów społecznościowych ukrywając wszystkie liczby ze strony.",
+ "preferences.hints.content_type_markdown": "Ostrzeżenie: eksperymentalne!",
+ "preferences.hints.halloween": "Uwaga: UPIORNE! Obsługuje ciemny i jasny motyw.",
+ "preferences.hints.privacy_followers_only": "Pokazuj tylko obserwującym",
+ "preferences.hints.privacy_public": "Każdy może zobaczyć",
+ "preferences.hints.privacy_unlisted": "Każdy może zobaczyć, ale nie wyświetla się na publicznych osiach czasu",
+ "preferences.hints.themes_halloween": "Uwaga: UPIORNE!",
+ "preferences.hints.themes_soapbox": "Domyślny główny motyw Soapbox FE",
+ "preferences.options.content_type_plaintext": "Czysty tekst",
+ "preferences.options.content_type_markdown": "Markdown",
+ "preferences.options.privacy_followers_only": "Tylko dla obserwujących",
+ "preferences.options.privacy_public": "Publiczne",
+ "preferences.options.privacy_unlisted": "Niewypisane",
+ "preferences.options.themes_halloween": "Halloween",
+ "preferences.options.themes_soapbox": "Soapbox",
"privacy.change": "Dostosuj widoczność wpisów",
"privacy.direct.long": "Widoczny tylko dla wspomnianych",
"privacy.direct.short": "Bezpośrednio",
@@ -409,25 +543,31 @@
"privacy.unlisted.short": "Niewidoczny",
"regeneration_indicator.label": "Ładuję…",
"regeneration_indicator.sublabel": "Twoja oś czasu jest przygotowywana!",
- "registration.agreement": "I agree to the {tos}.",
- "registration.captcha.hint": "Click the image to get a new captcha",
- "registration.fields.confirm_placeholder": "Password (again)",
- "registration.fields.email_placeholder": "E-Mail address",
- "registration.fields.password_placeholder": "Password",
- "registration.fields.username_placeholder": "Username",
- "registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
- "registration.reason": "Why do you want to join?",
- "registration.reason_hint": "This will help us review your application",
- "registration.sign_up": "Sign up",
- "registration.tos": "Terms of Service",
+ "registration.agreement": "Akceptuję {tos}.",
+ "registration.captcha.hint": "Naciśnij na obrazek, aby uzyskać nową captchę",
+ "registration.captcha.placeholder": "Wprowadź kod z obrazka",
+ "registration.closed_message": "{instance} nie akceptuje nowych użytkowników",
+ "registration.closed_title": "Rejestracja zamknięta",
+ "registration.confirmation_modal.close": "Zamknij",
+ "registration.fields.confirm_placeholder": "Hasło (ponownie)",
+ "registration.fields.email_placeholder": "Adres e-mail",
+ "registration.fields.password_placeholder": "Hasło",
+ "registration.fields.username_hint": "Możesz używać tylko liter, cyfr i podkreślników.",
+ "registration.fields.username_placeholder": "Nazwa użytkownika",
+ "registration.lead": "Z kontem na {instance}, możesz obserwować ludzi z dowolnego serwera w całym Fediwersum.",
+ "registration.reason": "Dlaczego chcesz dołączyć?",
+ "registration.reason_hint": "To pomoże nam rozpatrzyć Twoje zgłoszenie",
+ "registration.sign_up": "Zarejestruj się",
+ "registration.tos": "Zasady użytkowania",
"relative_time.days": "{number} dni",
"relative_time.hours": "{number} godz.",
"relative_time.just_now": "teraz",
"relative_time.minutes": "{number} min.",
"relative_time.seconds": "{number} s.",
+ "remote_timeline.filter_message": "Przeglądasz oś czasu {instance}",
"reply_indicator.cancel": "Anuluj",
- "report.block": "Block {target}",
- "report.block_hint": "Do you also want to block this account?",
+ "report.block": "Zablokuj {target}",
+ "report.block_hint": "Czy chcesz też zablokować to konto?",
"report.forward": "Przekaż na {target}",
"report.forward_hint": "To konto znajduje się na innej instancji. Czy chcesz wysłać anonimową kopię zgłoszenia rnież na nią?",
"report.hint": "Zgłoszenie zostanie wysłane moderatorom Twojego serwera. Poniżej możesz też umieścić wyjaśnienie dlaczego zgłaszasz to konto:",
@@ -443,69 +583,70 @@
"search_results.accounts": "Ludzie",
"search_results.hashtags": "Hashtagi",
"search_results.statuses": "Wpisy",
- "search_results.top": "Top",
+ "search_results.top": "Góra",
"search_results.total": "{count, number} {count, plural, one {wynik} few {wyniki} many {wyników} more {wyników}}",
- "security.codes.fail": "Failed to fetch backup codes",
- "security.confirm.fail": "Incorrect code or password. Try again.",
- "security.delete_account.fail": "Account deletion failed.",
- "security.delete_account.success": "Account successfully deleted.",
- "security.disable.fail": "Incorrect password. Try again.",
- "security.disable_mfa": "Disable",
- "security.fields.email.label": "Email address",
- "security.fields.new_password.label": "New password",
- "security.fields.old_password.label": "Current password",
- "security.fields.password.label": "Password",
- "security.fields.password_confirmation.label": "New password (again)",
- "security.headers.delete": "Delete Account",
- "security.headers.tokens": "Sessions",
- "security.headers.update_email": "Change Email",
- "security.headers.update_password": "Change Password",
- "security.mfa": "Set up 2-Factor Auth",
- "security.mfa_enabled": "You have multi-factor authentication set up with OTP.",
- "security.mfa_header": "Authorization Methods",
- "security.mfa_setup_hint": "Configure multi-factor authentication with OTP",
- "security.qr.fail": "Failed to fetch setup key",
- "security.submit": "Save changes",
- "security.submit.delete": "Delete Account",
- "security.text.delete": "To delete your account, enter your password then click Delete Account. This is a permanent action that cannot be undone. Your account will be destroyed from this server, and a deletion request will be sent to other servers. It's not guaranteed that all servers will purge your account.",
- "security.tokens.revoke": "Revoke",
- "security.update_email.fail": "Update email failed.",
- "security.update_email.success": "Email successfully updated.",
- "security.update_password.fail": "Update password failed.",
- "security.update_password.success": "Password successfully updated.",
- "signup_panel.subtitle": "Sign up now to discuss.",
- "signup_panel.title": "New to {site_title}?",
- "soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
- "soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
- "soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
- "soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
- "soapbox_config.fields.home_footer_fields_label": "Home footer items",
+ "security.codes.fail": "Nie udało się uzyskać zapasowych kodów",
+ "security.confirm.fail": "Nieprawidłowy kod lub hasło. Spróbuj ponownie.",
+ "security.delete_account.fail": "Nie udało się usunąć konta.",
+ "security.delete_account.success": "Pomyślnie usunięto konto.",
+ "security.disable.fail": "Nieprawidłowe hasło. Spróbuj ponownie.",
+ "security.disable_mfa": "Wyłącz",
+ "security.fields.email.label": "Adres e-mail",
+ "security.fields.new_password.label": "Nowe hasło",
+ "security.fields.old_password.label": "Obecne hasło",
+ "security.fields.password.label": "Hasło",
+ "security.fields.password_confirmation.label": "Obecne hasło (ponownie)",
+ "security.headers.delete": "Usuń konto",
+ "security.headers.tokens": "Sesje",
+ "security.headers.update_email": "Zmień adres e-mail",
+ "security.headers.update_password": "Zmień hasło",
+ "security.mfa": "Skonfiguruj uwierzytelnianie dwuetapowe",
+ "security.mfa_enabled": "Skonfigurowałeś(-aś) uwierzytelnianie dwuetapowe przez OTP.",
+ "security.mfa_header": "Metody autoryzacji",
+ "security.mfa_setup_hint": "Skonfiguruj uwierzytelnianie dwuetapowe przez OTP",
+ "security.qr.fail": "Nie udało się uzyskać klucza konfiguracyjnego",
+ "security.submit": "Zapisz zmiany",
+ "security.submit.delete": "Usuń konto",
+ "security.text.delete": "Aby usunąć swoje konto, wprowadź swoje hasło, a następnie wybierz przycisk Usuń konto. Jest to nieodwracalne działanie, którego nie możesz cofnąć. Twoje konto zostanie usunięte na tym serwerze, a żądanie usunięcia zostanie przesłane do pozostalych serwerów. Nie jest zapewnione usunięcie konta ze wszystkich serwerów.",
+ "security.tokens.revoke": "Unieważnij",
+ "security.update_email.fail": "Zmiana adresu e-mail nie powiodła się.",
+ "security.update_email.success": "Pomyślnie zaktualizowano adres e-mail.",
+ "security.update_password.fail": "Zmiana hasła nie powiodła się.",
+ "security.update_password.success": "Pomyślnie zmieniono hasło.",
+ "signup_panel.subtitle": "Zarejestruj się, aby przyłączyć się do dyskusji.",
+ "signup_panel.title": "Nowi na {site_title}?",
+ "soapbox_config.copyright_footer.meta_fields.label_placeholder": "Stopka praw autorskich",
+ "soapbox_config.custom_css.meta_fields.url_placeholder": "Adres URL",
+ "soapbox_config.custom_themes.meta_fields.class_name_placeholder": "Nazwa klasy",
+ "soapbox_config.custom_themes.meta_fields.description_placeholder": "Opis",
+ "soapbox_config.custom_themes.meta_fields.name_placeholder": "Nazwa",
+ "soapbox_config.fields.brand_color_label": "Kolor marki",
+ "soapbox_config.fields.custom_themes.add": "Dodaj kolejny niestandardowy motyw",
+ "soapbox_config.hints.custom_themes_fields": "Wprowadź nazwę niestandardowego motywu, np. „Retro” i nadaj mu nazwę klasy, np. `retro`. Aby dostosować wygląd niestandardowego motywu, po prostu edytuj niestandardowy CSS.",
+ "soapbox_config.fields.custom_themes_fields_label": "Niestandardowe motywy",
+ "soapbox_config.fields.home_footer.add": "Dodaj nowy element stopki strony głównej",
+ "soapbox_config.fields.home_footer_fields_label": "Elementy stopki strony głównej",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
- "soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
- "soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
- "soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
- "soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
- "soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
+ "soapbox_config.fields.promo_panel.add": "Dodaj nowy element panelu Promo",
+ "soapbox_config.fields.promo_panel_fields_label": "Elementy panelu Promo",
+ "soapbox_config.fields.theme_label": "Domyślny motyw",
+ "soapbox_config.hints.home_footer_fields": "Możesz ustawić niestandardowe odnośniki wyświetlane w stopce statycznych stron",
+ "soapbox_config.hints.logo": "SVG. Maksymalnie 2 MB. Będzie mieć maksymalnie 50px wysokości, zachowując współczynnik proporcji",
+ "soapbox_config.hints.promo_panel_fields": "Możesz ustawić niestandardowe odnośniki wyświetlane w lewym panelu strony osi czasu.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
- "soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
- "soapbox_config.home_footer.meta_fields.url_placeholder": "URL",
- "soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
- "soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
- "soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
- "soapbox_config.save": "Save",
+ "soapbox_config.hints.unsaved_changes": "Masz niezapisane zmiany!",
+ "soapbox_config.home_footer.meta_fields.label_placeholder": "Podpis",
+ "soapbox_config.home_footer.meta_fields.url_placeholder": "Adres URL",
+ "soapbox_config.promo_panel.meta_fields.icon_placeholder": "Ikona",
+ "soapbox_config.promo_panel.meta_fields.label_placeholder": "Podpis",
+ "soapbox_config.promo_panel.meta_fields.url_placeholder": "Adres URL",
+ "soapbox_config.raw_json_hint": "Edytuj ustawienia bezpośrednio. Zmiany dokonane w pliku JSON zastąpią powyższe ustawienia. Naciśnij Zapisz, aby zastosować zmiany.",
+ "soapbox_config.raw_json_label": "Zaawansowane: Edytuj surowe dane JSON",
+ "soapbox_config.save": "Zapisz",
"status.admin_account": "Otwórz interfejs moderacyjny dla @{name}",
"status.admin_status": "Otwórz ten wpis w interfejsie moderacyjnym",
"status.block": "Zablokuj @{name}",
- "status.bookmark": "Bookmark",
+ "status.bookmark": "Dodaj do zakładek",
"status.cancel_reblog_private": "Cofnij podbicie",
"status.cannot_reblog": "Ten wpis nie może zostać podbity",
"status.copy": "Skopiuj odnośnik do wpisu",
@@ -513,7 +654,7 @@
"status.detailed_status": "Szczegółowy widok konwersacji",
"status.direct": "Wyślij wiadomość bezpośrednią do @{name}",
"status.embed": "Osadź",
- "status.favourite": "Dodaj do ulubionych",
+ "status.favourite": "Zareaguj",
"status.filtered": "Filtrowany(-a)",
"status.load_more": "Załaduj więcej",
"status.media_hidden": "Zawartość multimedialna ukryta",
@@ -521,7 +662,7 @@
"status.more": "Więcej",
"status.mute": "Wycisz @{name}",
"status.mute_conversation": "Wycisz konwersację",
- "status.open": "Rozszerz ten wpis",
+ "status.open": "Rozwiń ten wpis",
"status.pin": "Przypnij do profilu",
"status.pinned": "Przypięty wpis",
"status.read_more": "Czytaj dalej",
@@ -530,8 +671,8 @@
"status.reblogged_by": "{name} podbił(a)",
"status.reblogs.empty": "Nikt nie podbił jeszcze tego wpisu. Gdy ktoś to zrobi, pojawi się tutaj.",
"status.redraft": "Usuń i przeredaguj",
- "status.remove_account_from_group": "Remove account from group",
- "status.remove_post_from_group": "Remove post from group",
+ "status.remove_account_from_group": "Usuń konto z grupy",
+ "status.remove_post_from_group": "Usuń wpis z grupy",
"status.reply": "Odpowiedz",
"status.replyAll": "Odpowiedz na wątek",
"status.report": "Zgłoś @{name}",
@@ -542,37 +683,39 @@
"status.show_more": "Rozwiń",
"status.show_more_all": "Rozwiń wszystkie",
"status.show_thread": "Pokaż wątek",
- "status.unbookmark": "Remove bookmark",
+ "status.unbookmark": "Usuń z zakładek",
"status.unmute_conversation": "Cofnij wyciszenie konwersacji",
"status.unpin": "Odepnij z profilu",
- "status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
+ "status_list.queue_label": "Naciśnij aby zobaczyć {count} {count, plural, one {nowy wpis} few {nowe wpisy} many {nowych wpisów} other {nowe wpisy}}",
"suggestions.dismiss": "Odrzuć sugestię",
- "tabs_bar.apps": "Apps",
+ "tabs_bar.apps": "Aplikacje",
+ "tabs_bar.chats": "Rozmowy",
+ "tabs_bar.dashboard": "Panel administracyjny",
"tabs_bar.home": "Strona główna",
- "tabs_bar.news": "News",
+ "tabs_bar.news": "Nowości",
"tabs_bar.notifications": "Powiadomienia",
- "tabs_bar.post": "Post",
- "tabs_bar.reports": "Reports",
+ "tabs_bar.post": "Napisz coś",
+ "tabs_bar.reports": "Zgłoszenia",
"tabs_bar.search": "Szukaj",
- "tabs_bar.theme_toggle_dark": "Switch to dark theme",
- "tabs_bar.theme_toggle_light": "Switch to light theme",
+ "tabs_bar.theme_toggle_dark": "Przełącz na ciemny motyw",
+ "tabs_bar.theme_toggle_light": "Przełącz na jasny motyw",
"time_remaining.days": "{number, plural, one {Pozostał # dzień} few {Pozostały # dni} many {Pozostało # dni} other {Pozostało # dni}}",
"time_remaining.hours": "{number, plural, one {Pozostała # godzina} few {Pozostały # godziny} many {Pozostało # godzin} other {Pozostało # godzin}}",
"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}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {osoba rozmawia} few {osoby rozmawiają} other {osób rozmawia}} o tym",
- "trends.title": "Trends",
- "ui.beforeunload": "Utracisz tworzony wpis, jeżeli opuścisz Soapbox FEa.",
- "unauthorized_modal.footer": "Already have an account? {login}.",
- "unauthorized_modal.text": "You need to be logged in to do that.",
- "unauthorized_modal.title": "Sign up for {site_title}",
+ "trends.title": "Trendy",
+ "ui.beforeunload": "Utracisz tworzony wpis, jeżeli opuścisz Soapbox FE.",
+ "unauthorized_modal.footer": "Masz już konto? {login}.",
+ "unauthorized_modal.text": "Musisz się zalogować, aby to zrobić.",
+ "unauthorized_modal.title": "Zarejestruj się na {site_title}",
"upload_area.title": "Przeciągnij i upuść aby wysłać",
"upload_button.label": "Dodaj zawartość multimedialną (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Przekroczono limit plików do wysłania.",
"upload_error.poll": "Dołączanie plików nie dozwolone z głosowaniami.",
"upload_form.description": "Wprowadź opis dla niewidomych i niedowidzących",
- "upload_form.focus": "Change preview",
+ "upload_form.focus": "Zmień podgląd",
"upload_form.undo": "Usuń",
"upload_progress.label": "Wysyłanie…",
"video.close": "Zamknij film",
@@ -584,5 +727,7 @@
"video.pause": "Pauzuj",
"video.play": "Odtwórz",
"video.unmute": "Cofnij wyciszenie",
- "who_to_follow.title": "Who To Follow"
+ "voice_recorder.record_audio": "Nagraj dźwięk",
+ "voice_recorder.stop_recording_audio": "Zakończ nagrywanie dźwięku",
+ "who_to_follow.title": "Kogo obserwować"
}
diff --git a/app/soapbox/locales/pt-BR.json b/app/soapbox/locales/pt-BR.json
index 1146ff8fc..d3112b4d1 100644
--- a/app/soapbox/locales/pt-BR.json
+++ b/app/soapbox/locales/pt-BR.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Adicionar ou remover de listas",
"account.badges.bot": "Robô",
"account.block": "Bloquear @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Fechar",
"bundle_modal_error.message": "Algo de errado aconteceu enquanto este componente era carregado.",
"bundle_modal_error.retry": "Tente novamente",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Usuários bloqueados",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Local",
"column.direct": "Mensagens diretas",
"column.domain_blocks": "Domínios escondidos",
@@ -87,6 +100,7 @@
"column.follow_requests": "Seguidores pendentes",
"column.groups": "Groups",
"column.home": "Página inicial",
+ "column.import_data": "Import data",
"column.lists": "Listas",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Você ainda não silenciou nenhum usuário.",
"empty_column.notifications": "Você ainda não possui notificações. Interaja com outros usuários para começar a conversar.",
"empty_column.public": "Não há nada aqui! Escreva algo publicamente ou siga manualmente usuários de outras instâncias",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "e {additional}",
"hashtag.column_header.tag_mode.any": "ou {additional}",
"hashtag.column_header.tag_mode.none": "sem {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Mostrar compartilhamentos",
"home.column_settings.show_replies": "Mostrar as respostas",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Página inicial",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# dia} other {# dias}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favoritos",
"navigation_bar.filters": "Palavras silenciadas",
"navigation_bar.follow_requests": "Seguidores pendentes",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Mais informações",
"navigation_bar.keyboard_shortcuts": "Atalhos de teclado",
"navigation_bar.lists": "Listas",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Global",
"navigation_bar.security": "Segurança",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} adicionou a sua postagem aos favoritos",
"notification.follow": "{name} te seguiu",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Sua página inicial está sendo preparada!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Abrir interface de moderação para @{name}",
"status.admin_status": "Abrir esse status na interface de moderação",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Ignorar a sugestão",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Página inicial",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notificações",
diff --git a/app/soapbox/locales/pt.json b/app/soapbox/locales/pt.json
index f68d6e812..710c8d285 100644
--- a/app/soapbox/locales/pt.json
+++ b/app/soapbox/locales/pt.json
@@ -1,12 +1,14 @@
{
+ "accordion.collapse": "Ocultar",
+ "accordion.expand": "Exibir",
"account.add_or_remove_from_list": "Adicionar ou remover das listas",
"account.badges.bot": "Robô",
"account.block": "Bloquear @{name}",
"account.block_domain": "Esconder tudo do domínio {domain}",
"account.blocked": "Bloqueado",
- "account.deactivated": "Deactivated",
- "account.deactivated_description": "This account has been deactivated.",
- "account.direct": "Mensagem directa @{name}",
+ "account.deactivated": "Desativada",
+ "account.deactivated_description": "Esta conta foi desativada.",
+ "account.direct": "Mensagem direta @{name}",
"account.domain_blocked": "Domínio escondido",
"account.edit_profile": "Editar perfil",
"account.endorse": "Atributo no perfil",
@@ -19,23 +21,23 @@
"account.hide_reblogs": "Esconder partilhas de @{name}",
"account.link_verified_on": "A posse deste link foi verificada em {date}",
"account.locked_info": "O estatuto de privacidade desta conta é fechado. O dono revê manualmente que a pode seguir.",
- "account.login": "Log in",
- "account.media": "Média",
- "account.member_since": "Member since {date}",
+ "account.login": "Iniciar sessão",
+ "account.media": "Multimédia",
+ "account.member_since": "Membro desde {date}",
"account.mention": "Mencionar",
- "account.message": "Message",
+ "account.message": "Mensagem",
"account.moved_to": "{name} mudou a sua conta para:",
"account.mute": "Silenciar @{name}",
"account.mute_notifications": "Silenciar notificações de @{name}",
"account.muted": "Silenciada",
"account.posts": "Publicações",
"account.posts_with_replies": "Publicações e respostas",
- "account.profile": "Profile",
- "account.register": "Sign up",
+ "account.profile": "Perfil",
+ "account.register": "Registar",
"account.report": "Denunciar @{name}",
"account.requested": "A aguardar aprovação. Clique para cancelar o pedido de seguimento",
- "account.requested_small": "Awaiting approval",
- "account.share": "Partilhar o perfil @{name}",
+ "account.requested_small": "A aguardar aprovação",
+ "account.share": "Partilhar o perfil de @{name}",
"account.show_reblogs": "Mostrar partilhas de @{name}",
"account.unblock": "Desbloquear @{name}",
"account.unblock_domain": "Mostrar {domain}",
@@ -43,62 +45,74 @@
"account.unfollow": "Deixar de seguir",
"account.unmute": "Não silenciar @{name}",
"account.unmute_notifications": "Deixar de silenciar @{name}",
- "account_gallery.none": "No media to show.",
+ "account_gallery.none": "Sem média para exibir.",
"alert.unexpected.message": "Ocorreu um erro inesperado.",
"alert.unexpected.title": "Bolas!",
- "audio.close": "Close audio",
- "audio.expand": "Expand audio",
- "audio.hide": "Hide audio",
- "audio.mute": "Mute",
- "audio.pause": "Pause",
- "audio.play": "Play",
- "audio.unmute": "Unmute",
+ "audio.close": "Fechar áudio",
+ "audio.expand": "Expandir áudio",
+ "audio.hide": "Ocultar áudio",
+ "audio.mute": "Silenciar",
+ "audio.pause": "Pausar",
+ "audio.play": "Reproduzir",
+ "audio.unmute": "Retirar do silêncio",
"boost_modal.combo": "Pode clicar {combo} para não voltar a ver",
- "bundle_column_error.body": "Algo de errado aconteceu enquanto este componente era carregado.",
- "bundle_column_error.retry": "Tente de novo",
+ "bundle_column_error.body": "Ocorreu algo inesperado enquanto este componente era carregado.",
+ "bundle_column_error.retry": "Tentar novamente",
"bundle_column_error.title": "Erro de rede",
"bundle_modal_error.close": "Fechar",
- "bundle_modal_error.message": "Algo de errado aconteceu enquanto este componente era carregado.",
- "bundle_modal_error.retry": "Tente de novo",
+ "bundle_modal_error.message": "Ocorreu algo inesperado enquanto este componente era carregado.",
+ "bundle_modal_error.retry": "Tentar novamente",
+ "chat_box.actions.send": "Enviar",
+ "chat_box.input.placeholder": "Enviar uma mensagem…",
+ "chat_panels.main_window.empty": "Sem chats encontrados. Para iniciar um chat, visita o perfil de algum utilizador.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Apagar mensagem",
+ "chats.actions.more": "Mais",
+ "chats.actions.report": "Denunciar utilizador",
+ "chats.audio_toggle_off": "Notificação de Som desligada",
+ "chats.audio_toggle_on": "Notificação de Som ligada",
+ "chats.dividers.today": "Hoje",
"column.blocks": "Utilizadores Bloqueados",
- "column.bookmarks": "Bookmarks",
+ "column.bookmarks": "Items Guardados",
+ "column.chats": "Chats",
"column.community": "Cronologia local",
- "column.direct": "Mensagens directas",
+ "column.direct": "Mensagens diretas",
"column.domain_blocks": "Domínios escondidos",
- "column.edit_profile": "Edit profile",
- "column.filters": "Muted words",
- "column.filters.add_new": "Add New Filter",
- "column.filters.conversations": "Conversations",
- "column.filters.create_error": "Error adding filter",
- "column.filters.delete": "Delete",
- "column.filters.delete_error": "Error deleting filter",
- "column.filters.drop_header": "Drop instead of hide",
- "column.filters.drop_hint": "Filtered posts will disappear irreversibly, even if filter is later removed",
- "column.filters.expires": "Expire after",
- "column.filters.expires_hint": "Expiration dates are not currently supported",
- "column.filters.home_timeline": "Home timeline",
- "column.filters.keyword": "Keyword or phrase",
- "column.filters.notifications": "Notifications",
- "column.filters.public_timeline": "Public timeline",
- "column.filters.subheading_add_new": "Add New Filter",
- "column.filters.subheading_filters": "Current Filters",
- "column.filters.whole_word_header": "Whole word",
- "column.filters.whole_word_hint": "When the keyword or phrase is alphanumeric only, it will only be applied if it matches the whole word",
+ "column.edit_profile": "Editar perfil",
+ "column.filters": "Palavras silenciadas",
+ "column.filters.add_new": "Adicionar novo filtro",
+ "column.filters.conversations": "Conversações",
+ "column.filters.create_error": "Erro ao adicionar filtro",
+ "column.filters.delete": "Apagar",
+ "column.filters.delete_error": "Erro ao apagar filtro",
+ "column.filters.drop_header": "Apagar em vez de ocultar",
+ "column.filters.drop_hint": "Posts filtrados desaparecerão de forma irreversível, mesmo que o filtro seja removido mais tarde",
+ "column.filters.expires": "Expira após",
+ "column.filters.expires_hint": "De momento, as datas de expiração não são suportadas",
+ "column.filters.home_timeline": "Cronologia Inicial",
+ "column.filters.keyword": "Palavra-chave ou frase",
+ "column.filters.notifications": "Notificações",
+ "column.filters.public_timeline": "Cronologia Pública",
+ "column.filters.subheading_add_new": "Adicionar Novo Filtro",
+ "column.filters.subheading_filters": "Filtros Atuais",
+ "column.filters.whole_word_header": "Toda a palavra",
+ "column.filters.whole_word_hint": "Quando uma palavra-chave ou frase é apenas alfanumérica, será apenas aplicado se corresponder à palavra completa",
"column.follow_requests": "Seguidores pendentes",
- "column.groups": "Groups",
+ "column.groups": "Grupos",
"column.home": "Início",
+ "column.import_data": "Importar dados",
"column.lists": "Listas",
- "column.mfa": "Multi-Factor Authentication",
- "column.mfa_cancel": "Cancel",
- "column.mfa_confirm_button": "Confirm",
- "column.mfa_disable_button": "Disable",
- "column.mfa_setup": "Proceed to Setup",
+ "column.mfa": "Autenticação Multifator",
+ "column.mfa_cancel": "Cancelar",
+ "column.mfa_confirm_button": "Confirmar",
+ "column.mfa_disable_button": "Desativar",
+ "column.mfa_setup": "Proceder à ativação",
"column.mutes": "Utilizadores silenciados",
"column.notifications": "Notificações",
- "column.preferences": "Preferences",
- "column.public": "Cronologia federada",
- "column.security": "Security",
- "column.soapbox_config": "Soapbox config",
+ "column.preferences": "Preferências",
+ "column.public": "Cronologia da Federação",
+ "column.security": "Segurança",
+ "column.soapbox_config": "Config. do Soapbox",
"column_back_button.label": "Voltar",
"column_header.hide_settings": "Esconder configurações",
"column_header.show_settings": "Mostrar configurações",
@@ -106,22 +120,22 @@
"community.column_settings.media_only": "Somente multimédia",
"compose_form.direct_message_warning": "Esta publicação será enviada apenas para os utilizadores mencionados.",
"compose_form.direct_message_warning_learn_more": "Conhecer mais",
- "compose_form.hashtag_warning": "Este toot não será listado em nenhuma hashtag por ser não listado. Apenas toots públics podem ser pesquisados por hashtag.",
+ "compose_form.hashtag_warning": "Este post não será listado em nenhuma hashtag por ser não listado. Apenas posts públics podem ser pesquisados por hashtag.",
"compose_form.lock_disclaimer": "A tua conta não está {locked}. Qualquer pessoa pode seguir-te e ver as publicações direcionadas apenas a seguidores.",
"compose_form.lock_disclaimer.lock": "bloqueado",
- "compose_form.markdown.marked": "Post markdown enabled",
- "compose_form.markdown.unmarked": "Post markdown disabled",
+ "compose_form.markdown.marked": "Markdown ativado",
+ "compose_form.markdown.unmarked": "Markdown desativado",
"compose_form.placeholder": "Em que estás a pensar?",
"compose_form.poll.add_option": "Adicionar uma opção",
- "compose_form.poll.duration": "Duração da votação",
+ "compose_form.poll.duration": "Duração da sondagem",
"compose_form.poll.option_placeholder": "Opção {number}",
- "compose_form.poll.remove_option": "Eliminar esta opção",
- "compose_form.poll.type.hint": "Click to toggle poll type. Radio button (default) is single. Checkbox is multiple.",
- "compose_form.publish": "Publish",
+ "compose_form.poll.remove_option": "Apagar esta opção",
+ "compose_form.poll.type.hint": "Clica para alterar o tipo de sondagem. O círculo (por defeito) é única. Caixa de seleção é múltipla.",
+ "compose_form.publish": "Publicar",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.hide": "Marcar multimédia como sensível",
- "compose_form.sensitive.marked": "Média marcada como sensível",
- "compose_form.sensitive.unmarked": "Média não está marcada como sensível",
+ "compose_form.sensitive.marked": "Multimédia marcada como sensível",
+ "compose_form.sensitive.unmarked": "Multimédia não está marcada como sensível",
"compose_form.spoiler.marked": "Texto escondido atrás de aviso",
"compose_form.spoiler.unmarked": "O texto não está escondido",
"compose_form.spoiler_placeholder": "Escreve o teu aviso aqui",
@@ -129,117 +143,126 @@
"confirmations.block.block_and_report": "Bloquear e denunciar",
"confirmations.block.confirm": "Bloquear",
"confirmations.block.message": "De certeza que queres bloquear {name}?",
- "confirmations.delete.confirm": "Eliminar",
- "confirmations.delete.message": "De certeza que queres eliminar esta publicação?",
- "confirmations.delete_list.confirm": "Eliminar",
- "confirmations.delete_list.message": "Tens a certeza de que desejas eliminar permanentemente esta lista?",
+ "confirmations.delete.confirm": "Apagar",
+ "confirmations.delete.message": "De certeza que queres apagar esta publicação?",
+ "confirmations.delete_list.confirm": "Apagar",
+ "confirmations.delete_list.message": "Tens a certeza de que desejas apagar permanentemente esta lista?",
"confirmations.domain_block.confirm": "Esconder tudo deste domínio",
"confirmations.domain_block.message": "De certeza que queres bloquear completamente o domínio {domain}? Na maioria dos casos, silenciar ou bloquear alguns utilizadores é suficiente e é o recomendado. Não irás ver conteúdo daquele domínio em cronologia alguma nem nas tuas notificações. Os teus seguidores daquele domínio serão removidos.",
"confirmations.mute.confirm": "Silenciar",
"confirmations.mute.message": "De certeza que queres silenciar {name}?",
- "confirmations.redraft.confirm": "Apagar & redigir",
- "confirmations.redraft.message": "Tens a certeza que queres apagar e redigir esta publicação? Os favoritos e as partilhas perder-se-ão e as respostas à publicação original ficarão órfãs.",
+ "confirmations.redraft.confirm": "Apagar & reescrever",
+ "confirmations.redraft.message": "Tens a certeza que queres apagar e reescrever esta publicação? Os gostos e as partilhas perder-se-ão e as respostas à publicação original ficarão órfãs.",
"confirmations.reply.confirm": "Responder",
"confirmations.reply.message": "Responder agora irá reescrever a mensagem que estás a compor actualmente. Tens a certeza que queres continuar?",
"confirmations.unfollow.confirm": "Deixar de seguir",
"confirmations.unfollow.message": "De certeza que queres deixar de seguir {name}?",
- "donate": "Donate",
+ "donate": "Doar",
"edit_profile.fields.avatar_label": "Avatar",
- "edit_profile.fields.bio_label": "Bio",
- "edit_profile.fields.bot_label": "This is a bot account",
- "edit_profile.fields.display_name_label": "Display name",
- "edit_profile.fields.header_label": "Header",
- "edit_profile.fields.locked_label": "Lock account",
- "edit_profile.fields.meta_fields.content_placeholder": "Content",
- "edit_profile.fields.meta_fields.label_placeholder": "Label",
- "edit_profile.fields.meta_fields_label": "Profile metadata",
- "edit_profile.fields.verified_display_name": "Verified users may not update their display name",
- "edit_profile.hints.avatar": "PNG, GIF or JPG. At most 2 MB. Will be downscaled to 400x400px",
- "edit_profile.hints.bot": "This account mainly performs automated actions and might not be monitored",
- "edit_profile.hints.header": "PNG, GIF or JPG. At most 2 MB. Will be downscaled to 1500x500px",
- "edit_profile.hints.locked": "Requires you to manually approve followers",
- "edit_profile.hints.meta_fields": "You can have up to {count, plural, one {# item} other {# items}} displayed as a table on your profile",
- "edit_profile.save": "Save",
+ "edit_profile.fields.bio_label": "Biografia",
+ "edit_profile.fields.bot_label": "Esta é uma conta robô",
+ "edit_profile.fields.display_name_label": "Nome de exibição",
+ "edit_profile.fields.header_label": "Cabeçalho",
+ "edit_profile.fields.locked_label": "Fechar conta",
+ "edit_profile.fields.meta_fields.content_placeholder": "Conteúdo",
+ "edit_profile.fields.meta_fields.label_placeholder": "Etiqueta",
+ "edit_profile.fields.meta_fields_label": "Metadados do Perfil",
+ "edit_profile.fields.verified_display_name": "Utilizadores verificados podem não atualizar o seu nome de exibição",
+ "edit_profile.hints.avatar": "PNG, GIF ou JPG. Pelo menos 2 MB. Será reduzido para 400x400px",
+ "edit_profile.hints.bot": "Esta conta principalmente realiza ações automatizadas e podem não ser monitorizadas",
+ "edit_profile.hints.header": "PNG, GIF ou JPG. Pelo menos 2 MB. Será reduzido para 1500x500px",
+ "edit_profile.hints.locked": "Requer que aproves manualmente seguidores",
+ "edit_profile.hints.meta_fields": "Podes ter até {count, plural, one {# item exibido} other {# items exibidos}} como uma tabela no teu perfil",
+ "edit_profile.save": "Guardar",
"embed.instructions": "Publica esta publicação no teu site copiando o código abaixo.",
"embed.preview": "Podes ver aqui como irá ficar:",
- "emoji_button.activity": "Actividade",
+ "emoji_button.activity": "Atividade",
"emoji_button.custom": "Personalizar",
"emoji_button.flags": "Bandeiras",
"emoji_button.food": "Comida & Bebida",
"emoji_button.label": "Inserir Emoji",
"emoji_button.nature": "Natureza",
- "emoji_button.not_found": "Não tem emojis!! (╯°□°)╯︵ ┻━┻",
- "emoji_button.objects": "Objectos",
+ "emoji_button.not_found": "Não existem emojis!! (╯°□°)╯︵ ┻━┻",
+ "emoji_button.objects": "Objetos",
"emoji_button.people": "Pessoas",
"emoji_button.recent": "Utilizados regularmente",
"emoji_button.search": "Pesquisar...",
"emoji_button.search_results": "Resultados da pesquisa",
"emoji_button.symbols": "Símbolos",
"emoji_button.travel": "Viagens & Lugares",
- "empty_column.account_timeline": "Sem toots por aqui!",
+ "empty_column.account_timeline": "Sem posts por aqui!",
"empty_column.account_unavailable": "Perfil indisponível",
"empty_column.blocks": "Ainda não bloqueaste qualquer utilizador.",
- "empty_column.bookmarks": "You don't have any bookmarks yet. When you add one, it will show up here.",
- "empty_column.community": "A timeline local está vazia. Escreve algo publicamente para começar!",
- "empty_column.direct": "Ainda não tens qualquer mensagem directa. Quando enviares ou receberes alguma, ela irá aparecer aqui.",
+ "empty_column.bookmarks": "Ainda não tens items guardados. Assim que adicionares um, aparecerá aqui.",
+ "empty_column.community": "A cronologia local está vazia. Escreve algo publicamente para começar!",
+ "empty_column.direct": "Ainda não tens qualquer mensagem direta. Quando enviares ou receberes alguma, ela aparecerá aqui.",
"empty_column.domain_blocks": "Ainda não há qualquer domínio escondido.",
- "empty_column.favourited_statuses": "Ainda não tens quaisquer toots favoritos. Quando tiveres algum, ele irá aparecer aqui.",
- "empty_column.favourites": "Ainda ninguém marcou este toot como favorito. Quando alguém o fizer, ele irá aparecer aqui.",
- "empty_column.filters": "You haven't created any muted words yet.",
- "empty_column.follow_requests": "Ainda não tens nenhum pedido de seguimento. Quando receberes algum, ele irá aparecer aqui.",
- "empty_column.group": "There is nothing in this group yet. When members of this group make new posts, they will appear here.",
+ "empty_column.favourited_statuses": "Ainda não gostaste de nenhuma publicação. Quando tiveres algum, ele aparecerá aqui.",
+ "empty_column.favourites": "Ainda ninguém gostou desta publicação. Quando alguém o fizer, ele aparecerá aqui.",
+ "empty_column.filters": "Ainda não criaste nenhuma palavra silenciada.",
+ "empty_column.follow_requests": "Ainda não tens nenhum pedido de seguimento. Quando receberes algum, ele aparecerá aqui.",
+ "empty_column.group": "Não há nada neste grupo ainda. Quando os membros deste grupo criarem novas publicações, aparecerão aqui.",
"empty_column.hashtag": "Não foram encontradas publicações com essa hashtag.",
"empty_column.home": "Ainda não segues qualquer utilizador. Visita {public} ou utiliza a pesquisa para procurar outros utilizadores.",
- "empty_column.home.local_tab": "the {site_title} tab",
+ "empty_column.home.local_tab": "a aba {site_title}",
"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 tens qualquer lista. Quando criares uma, ela irá aparecer aqui.",
+ "empty_column.lists": "Ainda não tens qualquer lista. Quando criares uma, ela aparecerá aqui.",
"empty_column.mutes": "Ainda não silenciaste qualquer utilizador.",
"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",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
- "fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
- "fediverse_tab.explanation_box.title": "What is the Fediverse?",
- "filters.context_header": "Filter contexts",
- "filters.context_hint": "One or multiple contexts where the filter should apply",
- "filters.filters_list_context_label": "Filter contexts:",
- "filters.filters_list_delete": "Delete",
- "filters.filters_list_details_label": "Filter settings:",
- "filters.filters_list_drop": "Drop",
- "filters.filters_list_hide": "Hide",
- "filters.filters_list_phrase_label": "Keyword or phrase:",
- "filters.filters_list_whole-word": "Whole word",
+ "fediverse_tab.explanation_box.explanation": "O {site_title} faz parte do Fediverse, uma rede social feita de milhares de media sociais independentes (\"servidores\"). As publicações que aqui se podem ver são de servidores de terceiros. Tens a liberdade de interagir com estas, ou de bloquear qualquer servidor de que não gostes. Repara que o nome de utilizador completo contém, após o segundo @, o servidor a partir do qual a publicação é feita. Para visualizar apenas posts do {site_title}, visita {local}.",
+ "fediverse_tab.explanation_box.title": "O que é o Fediverse?",
+ "filters.context_header": "Filtrar contextos",
+ "filters.context_hint": "Um ou múltiplos contextos onde o filtro se deve aplicar",
+ "filters.filters_list_context_label": "Filtrar contexto:",
+ "filters.filters_list_delete": "Apagar",
+ "filters.filters_list_details_label": "Filtrar detalhes:",
+ "filters.filters_list_drop": "Largar",
+ "filters.filters_list_hide": "Ocultar",
+ "filters.filters_list_phrase_label": "Palavra-chave ou frase:",
+ "filters.filters_list_whole-word": "Palavra completa",
"follow_request.authorize": "Autorizar",
"follow_request.reject": "Rejeitar",
"getting_started.heading": "Primeiros passos",
"getting_started.open_source_notice": "{code_name} é software de código aberto (open source). Podes contribuir ou reportar problemas no GitLab do projecto: {code_link} (v{code_version}).",
- "group.members.empty": "This group does not has any members.",
- "group.removed_accounts.empty": "This group does not has any removed accounts.",
- "groups.card.join": "Join",
- "groups.card.members": "Members",
- "groups.card.roles.admin": "You're an admin",
- "groups.card.roles.member": "You're a member",
- "groups.card.view": "View",
- "groups.create": "Create group",
- "groups.form.coverImage": "Upload new banner image (optional)",
- "groups.form.coverImageChange": "Banner image selected",
- "groups.form.create": "Create group",
- "groups.form.description": "Description",
- "groups.form.title": "Title",
- "groups.form.update": "Update group",
- "groups.removed_accounts": "Removed Accounts",
- "groups.tab_admin": "Manage",
- "groups.tab_featured": "Featured",
- "groups.tab_member": "Member",
+ "group.members.empty": "Este grupo não contém nenhum membro.",
+ "group.removed_accounts.empty": "Este grupo não tem nenhuma conta removida.",
+ "groups.card.join": "Juntar",
+ "groups.card.members": "Membros",
+ "groups.card.roles.admin": "És um admin",
+ "groups.card.roles.member": "És um membro",
+ "groups.card.view": "Ver",
+ "groups.create": "Criar Grupo",
+ "groups.form.coverImage": "Enviar nova imagem de cabeçalho (opcional)",
+ "groups.form.coverImageChange": "Imagem de cabeçalho seleccionada",
+ "groups.form.create": "Criar grupo",
+ "groups.form.description": "Descrição",
+ "groups.form.title": "Título",
+ "groups.form.update": "Atualizar grupo",
+ "groups.removed_accounts": "Contas Removidas",
+ "groups.tab_admin": "Gerir",
+ "groups.tab_featured": "Destaque",
+ "groups.tab_member": "Membro",
"hashtag.column_header.tag_mode.all": "e {additional}",
"hashtag.column_header.tag_mode.any": "ou {additional}",
"hashtag.column_header.tag_mode.none": "sem {additional}",
- "home.column_settings.show_direct": "Show direct messages",
- "home.column_settings.show_reblogs": "Mostrar boosts",
+ "header.about.label": "Acerca",
+ "header.back_to.label": "Voltar ao {siteTitle}",
+ "header.home.label": "Início",
+ "header.login.label": "Iniciar Sessão",
+ "home.column_settings.show_direct": "Mostrar mensagens diretas",
+ "home.column_settings.show_reblogs": "Mostrar partilhas",
"home.column_settings.show_replies": "Mostrar respostas",
- "home_column.lists": "Lists",
+ "home_column.lists": "Listas",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Início",
+ "import_data.actions.import": "Importar",
+ "import_data.actions.import_blocks": "Importar bloqueados",
+ "import_data.actions.import_follows": "Importar contas a seguir",
+ "import_data.blocks_label": "Bloqueados",
+ "import_data.follows_label": "A seguir",
+ "import_data.hints.blocks": "Ficheiro CSV que contém lista das contas bloqueadas",
+ "import_data.hints.follows": "Ficheiro CSV que contém lista das contas a seguir",
"intervals.full.days": "{number, plural, one {# dia} other {# dias}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
@@ -248,11 +271,11 @@
"keyboard_shortcuts.boost": "para partilhar",
"keyboard_shortcuts.column": "para focar uma publicação numa das colunas",
"keyboard_shortcuts.compose": "para focar na área de publicação",
- "keyboard_shortcuts.direct": "para abrir a coluna das mensagens directas",
+ "keyboard_shortcuts.direct": "para abrir a coluna das mensagens diretas",
"keyboard_shortcuts.down": "para mover para baixo na lista",
"keyboard_shortcuts.enter": "para expandir um estado",
- "keyboard_shortcuts.favourite": "para adicionar aos favoritos",
- "keyboard_shortcuts.favourites": "para abrir a lista dos favoritos",
+ "keyboard_shortcuts.favourite": "para gostar",
+ "keyboard_shortcuts.favourites": "para abrir a lista de gostos",
"keyboard_shortcuts.heading": "Atalhos do teclado",
"keyboard_shortcuts.home": "para abrir a cronologia inicial",
"keyboard_shortcuts.hotkey": "Atalho",
@@ -261,182 +284,189 @@
"keyboard_shortcuts.muted": "para abrir a lista dos utilizadores silenciados",
"keyboard_shortcuts.my_profile": "para abrir o teu perfil",
"keyboard_shortcuts.notifications": "para abrir a coluna das notificações",
- "keyboard_shortcuts.pinned": "para abrir a lista dos toots fixados",
+ "keyboard_shortcuts.pinned": "para abrir a lista dos posts fixados",
"keyboard_shortcuts.profile": "para abrir o perfil do autor",
"keyboard_shortcuts.reply": "para responder",
"keyboard_shortcuts.requests": "para abrir a lista dos pedidos de seguimento",
"keyboard_shortcuts.search": "para focar na pesquisa",
"keyboard_shortcuts.start": "para abrir a coluna dos \"primeiros passos\"",
"keyboard_shortcuts.toggle_hidden": "para mostrar/esconder texto atrás de CW",
- "keyboard_shortcuts.toggle_sensitivity": "mostrar/ocultar média",
- "keyboard_shortcuts.toot": "para compor um novo toot",
+ "keyboard_shortcuts.toggle_sensitivity": "mostrar/ocultar multimédia",
+ "keyboard_shortcuts.toot": "para compor um novo post",
"keyboard_shortcuts.unfocus": "para remover o foco da área de texto/pesquisa",
"keyboard_shortcuts.up": "para mover para cima na lista",
"lightbox.close": "Fechar",
"lightbox.next": "Próximo",
"lightbox.previous": "Anterior",
"lightbox.view_context": "Ver contexto",
- "list.click_to_add": "Click here to add people",
- "list_adder.header_title": "Add or Remove from Lists",
+ "list.click_to_add": "Clica aqui para adicionares pessoas",
+ "list_adder.header_title": "Adicionar ou Remover das Listas",
"lists.account.add": "Adicionar à lista",
"lists.account.remove": "Remover da lista",
"lists.delete": "Remover lista",
"lists.edit": "Editar lista",
"lists.edit.submit": "Mudar o título",
"lists.new.create": "Adicionar lista",
- "lists.new.create_title": "Create",
- "lists.new.save_title": "Save Title",
+ "lists.new.create_title": "Criar",
+ "lists.new.save_title": "Guardar Título",
"lists.new.title_placeholder": "Título da nova lista",
"lists.search": "Pesquisa entre as pessoas que segues",
"lists.subheading": "As tuas listas",
- "lists.view_all": "View all lists",
+ "lists.view_all": "Ver todas as listas",
"loading_indicator.label": "A carregar...",
- "login.fields.otp_code_hint": "Enter the two-factor code generated by your phone app or use one of your recovery codes",
- "login.fields.otp_code_label": "Two-factor code:",
- "login.fields.password_placeholder": "Password",
- "login.fields.username_placeholder": "Username",
- "login.log_in": "Log in",
- "login.otp_log_in": "OTP Login",
- "login.otp_log_in.fail": "Invalid code, please try again.",
- "login.reset_password_hint": "Trouble logging in?",
- "media_gallery.toggle_visible": "Mostrar/ocultar",
- "media_panel.title": "Media",
- "mfa.mfa_disable_enter_password": "Enter your current password to disable two-factor auth:",
- "mfa.mfa_setup_enter_password": "Enter your current password to confirm your identity:",
+ "login.fields.otp_code_hint": "Introduz o código de dois fatores gerado pela tua aplicação de autenticação ou usa um dos códigos de recuperação",
+ "login.fields.otp_code_label": "Código de dois fatores:",
+ "login.fields.password_placeholder": "Palavra-passe",
+ "login.fields.username_placeholder": "Nome de utilizador",
+ "login.log_in": "Iniciar Sessão",
+ "login.otp_log_in": "Iniciar sessão com Senha de Utilização Única",
+ "login.otp_log_in.fail": "Código inválido, tenta novamente.",
+ "login.reset_password_hint": "Problemas ao iniciar sessão?",
+ "media_gallery.toggle_visible": "Exibir/ocultar",
+ "media_panel.title": "Multimédia",
+ "mfa.mfa_disable_enter_password": "Introduz a tua palavra-passe atual para desativar a autenticação de dois fatores:",
+ "mfa.mfa_setup_enter_password": "Introduz a tua palavra-passe atual para confirmar a tua identidade:",
"mfa.mfa_setup_scan_description": "Using your two-factor app, scan this QR code or enter text key:",
- "mfa.mfa_setup_scan_key": "Key:",
+ "mfa.mfa_setup_scan_key": "Código:",
"mfa.mfa_setup_scan_title": "Scan",
- "mfa.mfa_setup_verify_description": "To enable two-factor authentication, enter the code from your two-factor app:",
- "mfa.mfa_setup_verify_title": "Verify",
- "mfa.otp_enabled_description": "You have enabled two-factor authentication via OTP.",
- "mfa.otp_enabled_title": "OTP Enabled",
- "mfa.setup_hint": "Follow these steps to set up multi-factor authentication on your account with OTP",
- "mfa.setup_otp_title": "OTP Disabled",
- "mfa.setup_recoverycodes": "Recovery codes",
- "mfa.setup_warning": "Write these codes down or save them somewhere secure - otherwise you won't see them again. If you lose access to your 2FA app and recovery codes you'll be locked out of your account.",
+ "mfa.mfa_setup_verify_description": "Para ativar a autenticação de dois fatores, introduz o código na tua aplicação de dois fatores:",
+ "mfa.mfa_setup_verify_title": "Verificar",
+ "mfa.otp_enabled_description": "Tens a autenticação de dois fatores ativada através da Senha de Utilização Única.",
+ "mfa.otp_enabled_title": "Senha de Utilização Única ativada",
+ "mfa.setup_hint": "Segue os seguintes passos para configurar uma autenticação multifator na tua conta com uma Senha de Utilização Única",
+ "mfa.setup_otp_title": "Senha de Utilização Única desativada",
+ "mfa.setup_recoverycodes": "Códigos de Recuperação",
+ "mfa.setup_warning": "Escreve estes códigos ou armazena-os num local seguro - caso contrário, não os voltarás a ver. Se perderes acesso à tua aplicação de autenticação de dois fatores e aos códigos de recuperação, ficarás bloqueado da tua conta.",
"missing_indicator.label": "Não encontrado",
"missing_indicator.sublabel": "Este recurso não foi encontrado",
- "morefollows.followers_label": "…and {count} more {count, plural, one {follower} other {followers}} on remote sites.",
- "morefollows.following_label": "…and {count} more {count, plural, one {follow} other {follows}} on remote sites.",
+ "morefollows.followers_label": "…e mais {count} {count, plural, one {seguidor} other {seguidores}} em sites remotos.",
+ "morefollows.following_label": "…e mais {count} a seguir em sites remotos.",
"mute_modal.hide_notifications": "Esconder notificações deste utilizador?",
- "navigation_bar.admin_settings": "Admin settings",
+ "navigation_bar.admin_settings": "Definições de Admin",
"navigation_bar.blocks": "Utilizadores bloqueados",
- "navigation_bar.bookmarks": "Bookmarks",
+ "navigation_bar.bookmarks": "Itens guardados",
"navigation_bar.community_timeline": "Cronologia local",
- "navigation_bar.compose": "Escrever novo toot",
- "navigation_bar.direct": "Mensagens directas",
+ "navigation_bar.compose": "Escrever novo post",
+ "navigation_bar.direct": "Mensagens diretas",
"navigation_bar.discover": "Descobrir",
"navigation_bar.domain_blocks": "Domínios escondidos",
"navigation_bar.edit_profile": "Editar perfil",
- "navigation_bar.favourites": "Favoritos",
+ "navigation_bar.favourites": "Gostos",
"navigation_bar.filters": "Palavras silenciadas",
"navigation_bar.follow_requests": "Seguidores pendentes",
+ "navigation_bar.import_data": "Importar dados",
"navigation_bar.info": "Sobre este servidor",
"navigation_bar.keyboard_shortcuts": "Atalhos de teclado",
"navigation_bar.lists": "Listas",
- "navigation_bar.logout": "Sair",
- "navigation_bar.messages": "Messages",
+ "navigation_bar.logout": "Terminar sessão",
+ "navigation_bar.messages": "Mensagens",
"navigation_bar.mutes": "Utilizadores silenciados",
"navigation_bar.personal": "Pessoal",
- "navigation_bar.pins": "Toots afixados",
+ "navigation_bar.pins": "Posts afixados",
"navigation_bar.preferences": "Preferências",
- "navigation_bar.public_timeline": "Cronologia federada",
+ "navigation_bar.public_timeline": "Cronologia da federação",
"navigation_bar.security": "Segurança",
- "navigation_bar.soapbox_config": "Soapbox config",
- "notification.emoji_react": "{name} reacted to your post",
- "notification.favourite": "{name} adicionou o teu estado aos favoritos",
+ "navigation_bar.soapbox_config": "Config. do Soapbox",
+ "notification.chat_mention": "{name} enviou-te uma mensagem",
+ "notification.emoji_react": "{name} reagiu ao teu post",
+ "notification.favourite": "{name} gostou deste post",
"notification.follow": "{name} começou a seguir-te",
"notification.mention": "{name} mencionou-te",
- "notification.poll": "Uma votação em participaste chegou ao fim",
- "notification.reblog": "{name} fez boost ao teu o teu estado",
+ "notification.poll": "Uma sondagem em que participaste chegou ao fim",
+ "notification.reblog": "{name} partilhou o teu estado",
"notifications.clear": "Limpar notificações",
"notifications.clear_confirmation": "Queres mesmo limpar todas as notificações?",
- "notifications.column_settings.alert": "Notificações no computador",
- "notifications.column_settings.favourite": "Favoritos:",
+ "notifications.column_settings.alert": "Notificações no Computador",
+ "notifications.column_settings.favourite": "Gostos:",
"notifications.column_settings.filter_bar.advanced": "Mostrar todas as categorias",
"notifications.column_settings.filter_bar.category": "Barra de filtros rápidos",
"notifications.column_settings.filter_bar.show": "Mostrar",
"notifications.column_settings.follow": "Novos seguidores:",
"notifications.column_settings.mention": "Menções:",
- "notifications.column_settings.poll": "Resultados da votação:",
+ "notifications.column_settings.poll": "Resultados da sondagem:",
"notifications.column_settings.push": "Notificações Push",
- "notifications.column_settings.reblog": "Reposts:",
+ "notifications.column_settings.reblog": "Partilhas:",
"notifications.column_settings.show": "Mostrar na coluna",
"notifications.column_settings.sound": "Reproduzir som",
- "notifications.column_settings.sounds": "Sounds",
- "notifications.column_settings.sounds.all_sounds": "Play sound for all notifications",
+ "notifications.column_settings.sounds": "Sons",
+ "notifications.column_settings.sounds.all_sounds": "Tocar som para todas as notificações",
"notifications.filter.all": "Todas",
- "notifications.filter.boosts": "Reposts",
- "notifications.filter.favourites": "Favoritos",
- "notifications.filter.follows": "Seguimento",
+ "notifications.filter.boosts": "Partilhas",
+ "notifications.filter.favourites": "Gostos",
+ "notifications.filter.follows": "Seguimentos",
"notifications.filter.mentions": "Referências",
- "notifications.filter.polls": "Resultados da votação",
+ "notifications.filter.polls": "Resultados da sondagem",
"notifications.group": "{count} notificações",
- "notifications.queue_label": "Click to see {count} new {count, plural, one {notification} other {notifications}}",
- "pinned_statuses.none": "No pins to show.",
- "poll.closed": "Fechado",
+ "notifications.queue_label": "Clica para ver {count} {count, plural, one {nova notificação} other {novas notificações}}",
+ "pinned_statuses.none": "Sem afixados a exibir.",
+ "poll.closed": "Fechada",
"poll.refresh": "Recarregar",
"poll.total_votes": "{count, plural, one {# voto} other {# votos}}",
"poll.vote": "Votar",
- "poll_button.add_poll": "Adicionar votação",
- "poll_button.remove_poll": "Remover votação",
- "preferences.fields.auto_play_gif_label": "Auto-play animated GIFs",
- "preferences.fields.boost_modal_label": "Show confirmation dialog before reposting",
- "preferences.fields.delete_modal_label": "Show confirmation dialog before deleting a post",
- "preferences.fields.demetricator_label": "Use Demetricator",
- "preferences.fields.dyslexic_font_label": "Dyslexic mode",
- "preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
- "preferences.fields.language_label": "Language",
- "preferences.fields.privacy_label": "Post privacy",
- "preferences.fields.reduce_motion_label": "Reduce motion in animations",
- "preferences.fields.system_font_label": "Use system's default font",
- "preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
- "preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
- "preferences.hints.privacy_followers_only": "Only show to followers",
- "preferences.hints.privacy_public": "Everyone can see",
- "preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
- "preferences.options.privacy_followers_only": "Followers-only",
- "preferences.options.privacy_public": "Public",
- "preferences.options.privacy_unlisted": "Unlisted",
+ "poll_button.add_poll": "Adicionar sondagem",
+ "poll_button.remove_poll": "Remover sondagem",
+ "preferences.fields.auto_play_gif_label": "Reproduzir automaticamente GIFs animados",
+ "preferences.fields.boost_modal_label": "Exibir caixa de diálogo de confirmação antes de partilhar um post",
+ "preferences.fields.delete_modal_label": "Exibir caixa de diálogo de confirmação antes de apagar um post",
+ "preferences.fields.demetricator_label": "Usar o Demetricator",
+ "preferences.fields.dyslexic_font_label": "Modo Disléxico",
+ "preferences.fields.expand_spoilers_label": "Expandir sempre posts marcados com avisos de conteúdo",
+ "preferences.fields.halloween_label": "Modo Halloween",
+ "preferences.fields.language_label": "Idioma",
+ "preferences.fields.privacy_label": "Privacidade da Publicação",
+ "preferences.fields.reduce_motion_label": "Reduzir movimento nas animações",
+ "preferences.fields.system_font_label": "Utilizar fontes predefinidas do sistema",
+ "preferences.fields.unfollow_modal_label": "Exibir caixa de diálogo de confirmação antes de deixar de seguir alguém",
+ "preferences.hints.demetricator": "Diminuir a ansiedade de utilizar redes sociais escondendo todos os números do site.",
+ "preferences.hints.halloween": "Atenção: ASSUSTADOR! Alternar entre claro/escuro é permitido.",
+ "preferences.hints.privacy_followers_only": "Apenas exibir para os seguidores",
+ "preferences.hints.privacy_public": "Qualquer pessoa pode ver",
+ "preferences.hints.privacy_unlisted": "Qualquer pessoa pode ver, mas não listado na cronologia pública",
+ "preferences.options.privacy_followers_only": "Apenas para os seguidores",
+ "preferences.options.privacy_public": "Público",
+ "preferences.options.privacy_unlisted": "Não listado",
"privacy.change": "Ajustar a privacidade da mensagem",
"privacy.direct.long": "Apenas para utilizadores mencionados",
- "privacy.direct.short": "Directo",
+ "privacy.direct.short": "Direto",
"privacy.private.long": "Apenas para os seguidores",
"privacy.private.short": "Privado",
"privacy.public.long": "Publicar em todos os feeds",
"privacy.public.short": "Público",
"privacy.unlisted.long": "Não publicar nos feeds públicos",
- "privacy.unlisted.short": "Não listar",
+ "privacy.unlisted.short": "Não listado",
"regeneration_indicator.label": "A carregar…",
"regeneration_indicator.sublabel": "A tua home está a ser preparada!",
- "registration.agreement": "I agree to the {tos}.",
- "registration.captcha.hint": "Click the image to get a new captcha",
- "registration.fields.confirm_placeholder": "Password (again)",
- "registration.fields.email_placeholder": "E-Mail address",
- "registration.fields.password_placeholder": "Password",
- "registration.fields.username_placeholder": "Username",
- "registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
- "registration.reason": "Why do you want to join?",
- "registration.reason_hint": "This will help us review your application",
- "registration.sign_up": "Sign up",
- "registration.tos": "Terms of Service",
+ "registration.agreement": "Eu concordo com os {tos}.",
+ "registration.captcha.hint": "Clica na imagem para obter um novo Captcha",
+ "registration.closed_message": "{instance} não está a aceitar novos membros",
+ "registration.closed_title": "Registos Encerrados",
+ "registration.fields.confirm_placeholder": "Palavra-passe (novamente)",
+ "registration.fields.email_placeholder": "Endereço de E-mail",
+ "registration.fields.password_placeholder": "Palavra-passe",
+ "registration.fields.username_hint": "Apenas letras, números, e underscores são permitidos.",
+ "registration.fields.username_placeholder": "Nome de Utilizador",
+ "registration.lead": "Com uma conta no {instance} serás capaz de seguir pessoas em qualquer servidor do Fediverse.",
+ "registration.reason": "Porque te desejas juntar?",
+ "registration.reason_hint": "Isto ajudará a rever a tua aplicação",
+ "registration.sign_up": "Registo",
+ "registration.tos": "Termos de Serviço",
"relative_time.days": "{number}d",
"relative_time.hours": "{number}h",
"relative_time.just_now": "agora",
"relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s",
"reply_indicator.cancel": "Cancelar",
- "report.block": "Block {target}",
- "report.block_hint": "Do you also want to block this account?",
- "report.forward": "Reenviar para {target}",
+ "report.block": "Bloquear {target}",
+ "report.block_hint": "Desejas também bloquear esta conta?",
+ "report.forward": "Encaminhar para {target}",
"report.forward_hint": "A conta é de outro servidor. Enviar uma cópia anónima do relatório para lá também?",
- "report.hint": "O relatório será enviado para os moderadores do teu servidor. Podes fornecer, em baixo, uma explicação do motivo pelo qual estás a denunciar esta conta:",
+ "report.hint": "A denúncia será enviada para os moderadores do servidor. Podes fornecer, em baixo, uma explicação do motivo pelo qual estás a denunciar esta conta:",
"report.placeholder": "Comentários adicionais",
"report.submit": "Enviar",
"report.target": "Denunciar",
"search.placeholder": "Pesquisar",
"search_popout.search_format": "Formato avançado de pesquisa",
- "search_popout.tips.full_text": "Texto simples devolve publicações que tu escreveste, marcaste como favorita, partilhaste ou em que foste mencionado, tal como nomes de utilizador correspondentes, alcunhas e hashtags.",
+ "search_popout.tips.full_text": "Texto simples devolve publicações que tu escreveste, marcaste com um gosto, partilhaste ou em que foste mencionado, tal como nomes de utilizador correspondentes, alcunhas e hashtags.",
"search_popout.tips.hashtag": "hashtag",
"search_popout.tips.status": "estado",
"search_popout.tips.user": "utilizador",
@@ -445,78 +475,72 @@
"search_results.statuses": "Posts",
"search_results.top": "Top",
"search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
- "security.codes.fail": "Failed to fetch backup codes",
- "security.confirm.fail": "Incorrect code or password. Try again.",
- "security.delete_account.fail": "Account deletion failed.",
- "security.delete_account.success": "Account successfully deleted.",
- "security.disable.fail": "Incorrect password. Try again.",
- "security.disable_mfa": "Disable",
- "security.fields.email.label": "Email address",
- "security.fields.new_password.label": "New password",
- "security.fields.old_password.label": "Current password",
- "security.fields.password.label": "Password",
- "security.fields.password_confirmation.label": "New password (again)",
- "security.headers.delete": "Delete Account",
- "security.headers.tokens": "Sessions",
- "security.headers.update_email": "Change Email",
- "security.headers.update_password": "Change Password",
- "security.mfa": "Set up 2-Factor Auth",
- "security.mfa_enabled": "You have multi-factor authentication set up with OTP.",
- "security.mfa_header": "Authorization Methods",
- "security.mfa_setup_hint": "Configure multi-factor authentication with OTP",
- "security.qr.fail": "Failed to fetch setup key",
- "security.submit": "Save changes",
- "security.submit.delete": "Delete Account",
- "security.text.delete": "To delete your account, enter your password then click Delete Account. This is a permanent action that cannot be undone. Your account will be destroyed from this server, and a deletion request will be sent to other servers. It's not guaranteed that all servers will purge your account.",
- "security.tokens.revoke": "Revoke",
- "security.update_email.fail": "Update email failed.",
- "security.update_email.success": "Email successfully updated.",
- "security.update_password.fail": "Update password failed.",
- "security.update_password.success": "Password successfully updated.",
- "signup_panel.subtitle": "Sign up now to discuss.",
- "signup_panel.title": "New to {site_title}?",
- "soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
+ "security.codes.fail": "Falha ao carregar códigos de recuperação",
+ "security.confirm.fail": "Código ou palavra-passe incorretos. Tenta novamente.",
+ "security.delete_account.fail": "Falha ao eliminar conta.",
+ "security.delete_account.success": "Conta eliminada com sucesso.",
+ "security.disable.fail": "Palavra-passe incorreta. Tenta novamente.",
+ "security.disable_mfa": "Desativar",
+ "security.fields.email.label": "Endereço de e-mail",
+ "security.fields.new_password.label": "Nova palavra-passe",
+ "security.fields.old_password.label": "Palavra-passe atual",
+ "security.fields.password.label": "Palavra-passe",
+ "security.fields.password_confirmation.label": "Nova palavra-passe (novamente)",
+ "security.headers.delete": "Eliminar Conta",
+ "security.headers.tokens": "Sessões",
+ "security.headers.update_email": "Alterar Endereço de E-mail",
+ "security.headers.update_password": "Alterar Palavra-Passe",
+ "security.mfa": "Configurar Autenticação de Dois Fatores",
+ "security.mfa_enabled": "Tens autenticação multifator configurada com senha de utilização única.",
+ "security.mfa_header": "Métodos de Autorização",
+ "security.mfa_setup_hint": "Configurar autenticação multifator com senha de utilização única",
+ "security.qr.fail": "Falha ao configurar chave de ativação",
+ "security.submit": "Guardar alterações",
+ "security.submit.delete": "Eliminar Conta",
+ "security.text.delete": "Para eliminares a conta, introduz a tua palavra-passe e clica Eliminar Conta. Esta ação é permanente e não pode ser revertida. A tua conta será destruída deste servidor, e um pedido de remoção será enviado para os outros servidores. Não é garantido que todos os servidores apaguem a tua conta.",
+ "security.tokens.revoke": "Revogar",
+ "security.update_email.fail": "Falha ao alterar o endereço de e-mail.",
+ "security.update_email.success": "Endereço de e-mail atualizado com sucesso.",
+ "security.update_password.fail": "Falha ao alterar a palavra-passe.",
+ "security.update_password.success": "Palavra-passe atualizada com sucesso.",
+ "signup_panel.subtitle": "Regista-te agora para debater.",
+ "signup_panel.title": "Novo no {site_title}?",
+ "soapbox_config.copyright_footer.meta_fields.label_placeholder": "Footer de Copyright",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
- "soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
- "soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
- "soapbox_config.fields.home_footer_fields_label": "Home footer items",
- "soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
- "soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
- "soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
- "soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
- "soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
- "soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
+ "soapbox_config.fields.brand_color_label": "Cor da Marca",
+ "soapbox_config.fields.home_footer.add": "Adicionar novo Item do Rodapé do Início",
+ "soapbox_config.fields.home_footer_fields_label": "Items do Rodapé do Início",
+ "soapbox_config.fields.logo_label": "Logotipo",
+ "soapbox_config.fields.promo_panel.add": "Adicionar novo Item no painel Promo",
+ "soapbox_config.fields.promo_panel_fields_label": "Items do painel Promo",
+ "soapbox_config.fields.theme_label": "Tema predefinido",
+ "soapbox_config.hints.home_footer_fields": "Podes ter links customizados definidos a serem exibidos no rodapé das tuas páginas estáticas",
+ "soapbox_config.hints.logo": "SVG. Pelo menos 2 MB. Será exibido com altura de 50px, mantendo a proporção",
+ "soapbox_config.hints.promo_panel_fields": "Podes ter links customizados definidos exibidos no painel esquerdo da página de cronologia.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
- "soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
+ "soapbox_config.home_footer.meta_fields.label_placeholder": "Descrição",
"soapbox_config.home_footer.meta_fields.url_placeholder": "URL",
- "soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
- "soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
+ "soapbox_config.promo_panel.meta_fields.icon_placeholder": "Ícone",
+ "soapbox_config.promo_panel.meta_fields.label_placeholder": "Descrição",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
- "soapbox_config.save": "Save",
+ "soapbox_config.raw_json_hint": "Edita os dados das definições diretamente. Alterações são feitas diretamente no ficheiro JSON que substituirão os campos do formulário acima. Clica Guardar para aplicar as alterações.",
+ "soapbox_config.raw_json_label": "Avançado: Editar dados JSON diretamente",
+ "soapbox_config.save": "Guardar",
"status.admin_account": "Abrir a interface de moderação para @{name}",
"status.admin_status": "Abrir esta publicação na interface de moderação",
"status.block": "Bloquear @{name}",
- "status.bookmark": "Bookmark",
- "status.cancel_reblog_private": "Remover boost",
- "status.cannot_reblog": "Não é possível fazer boost a esta publicação",
+ "status.bookmark": "Guardar",
+ "status.cancel_reblog_private": "Remover partilha",
+ "status.cannot_reblog": "Não é possível partilhar esta publicação",
"status.copy": "Copiar o link para a publicação",
- "status.delete": "Eliminar",
+ "status.delete": "Apagar",
"status.detailed_status": "Vista de conversação detalhada",
- "status.direct": "Mensagem directa @{name}",
+ "status.direct": "Mensagem direta @{name}",
"status.embed": "Incorporar",
- "status.favourite": "Adicionar aos favoritos",
- "status.filtered": "Filtrada",
+ "status.favourite": "Gostar",
+ "status.filtered": "Filtrado",
"status.load_more": "Carregar mais",
- "status.media_hidden": "Média escondida",
+ "status.media_hidden": "Multimédia escondida",
"status.mention": "Mencionar @{name}",
"status.more": "Mais",
"status.mute": "Silenciar @{name}",
@@ -526,12 +550,12 @@
"status.pinned": "Publicação fixa",
"status.read_more": "Ler mais",
"status.reblog": "Partilhar",
- "status.reblog_private": "Fazer boost com a audiência original",
- "status.reblogged_by": "{name} fez boost",
- "status.reblogs.empty": "Ainda ninguém fez boost a este toot. Quando alguém o fizer, ele irá aparecer aqui.",
- "status.redraft": "Apagar & reescrever",
- "status.remove_account_from_group": "Remove account from group",
- "status.remove_post_from_group": "Remove post from group",
+ "status.reblog_private": "Partilhar com a audiência original",
+ "status.reblogged_by": "{name} partilhou",
+ "status.reblogs.empty": "Ainda ninguém partilhou esta publicação. Quando alguém o fizer, aparecerá aqui.",
+ "status.redraft": "Apagar & Reescrever",
+ "status.remove_account_from_group": "Remover conta do grupo",
+ "status.remove_post_from_group": "Remover post do grupo",
"status.reply": "Responder",
"status.replyAll": "Responder à conversa",
"status.report": "Denunciar @{name}",
@@ -542,47 +566,48 @@
"status.show_more": "Mostrar mais",
"status.show_more_all": "Mostrar mais para todas",
"status.show_thread": "Mostrar conversa",
- "status.unbookmark": "Remove bookmark",
+ "status.unbookmark": "Remover item guardado",
"status.unmute_conversation": "Deixar de silenciar esta conversa",
"status.unpin": "Não fixar no perfil",
- "status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
+ "status_list.queue_label": "Clica para ver {count} novos {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dispensar a sugestão",
- "tabs_bar.apps": "Apps",
+ "tabs_bar.apps": "Aplicações",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Início",
- "tabs_bar.news": "News",
+ "tabs_bar.news": "Notícias",
"tabs_bar.notifications": "Notificações",
- "tabs_bar.post": "Post",
- "tabs_bar.reports": "Reports",
+ "tabs_bar.post": "Publicar",
+ "tabs_bar.reports": "Denúncias",
"tabs_bar.search": "Pesquisar",
- "tabs_bar.theme_toggle_dark": "Switch to dark theme",
- "tabs_bar.theme_toggle_light": "Switch to light theme",
+ "tabs_bar.theme_toggle_dark": "Alterar para o tema escuro",
+ "tabs_bar.theme_toggle_light": "Alterar para o tema claro",
"time_remaining.days": "{number, plural, one {# dia restante} other {# dias restantes}}",
"time_remaining.hours": "{number, plural, one {# hora restante} other {# horas restantes}}",
"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}}",
- "trends.count_by_accounts": "{count} {rawCount, plural, one {pessoa} other {pessoas}} falando sobre",
- "trends.title": "Trends",
+ "trends.count_by_accounts": "{count} {rawCount, plural, one {pessoa} other {pessoas}} estão a falar sobre",
+ "trends.title": "Atualidade",
"ui.beforeunload": "O teu rascunho será perdido se abandonares o Soapbox FE.",
- "unauthorized_modal.footer": "Already have an account? {login}.",
- "unauthorized_modal.text": "You need to be logged in to do that.",
- "unauthorized_modal.title": "Sign up for {site_title}",
- "upload_area.title": "Arraste e solte para enviar",
- "upload_button.label": "Adicionar media",
- "upload_error.limit": "Limite máximo do ficheiro a carregar excedido.",
+ "unauthorized_modal.footer": "Já possuis uma conta? {login}.",
+ "unauthorized_modal.text": "Deves ter a sessão iniciada para realizares essa ação.",
+ "unauthorized_modal.title": "Registar no {site_title}",
+ "upload_area.title": "Arrasta e larga para enviar",
+ "upload_button.label": "Adicionar multimédia",
+ "upload_error.limit": "O limite máximo do ficheiro a carregar foi excedido.",
"upload_error.poll": "Carregamento de ficheiros não é permitido em votações.",
"upload_form.description": "Descrição da imagem para pessoas com dificuldades visuais",
- "upload_form.focus": "Change preview",
+ "upload_form.focus": "Alterar pré-visualização",
"upload_form.undo": "Apagar",
"upload_progress.label": "A enviar...",
"video.close": "Fechar vídeo",
- "video.exit_fullscreen": "Sair de full screen",
+ "video.exit_fullscreen": "Sair de Ecrã Inteiro",
"video.expand": "Expandir vídeo",
"video.fullscreen": "Ecrã completo",
"video.hide": "Esconder vídeo",
"video.mute": "Silenciar",
"video.pause": "Pausar",
"video.play": "Reproduzir",
- "video.unmute": "Remover de silêncio",
- "who_to_follow.title": "Who To Follow"
+ "video.unmute": "Retirar do silêncio",
+ "who_to_follow.title": "Quem Seguir"
}
diff --git a/app/soapbox/locales/ro.json b/app/soapbox/locales/ro.json
index 4e4c42d98..e28d0e53f 100644
--- a/app/soapbox/locales/ro.json
+++ b/app/soapbox/locales/ro.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Adaugă sau Elimină din liste",
"account.badges.bot": "Bot",
"account.block": "Blochează @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Închide",
"bundle_modal_error.message": "Ceva nu a funcționat în timupul încărcării acestui component.",
"bundle_modal_error.retry": "Încearcă din nou",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Utilizatori blocați",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Fluxul Local",
"column.direct": "Mesaje directe",
"column.domain_blocks": "Domenii ascunse",
@@ -87,6 +100,7 @@
"column.follow_requests": "Cereri de urmărire",
"column.groups": "Groups",
"column.home": "Acasă",
+ "column.import_data": "Import data",
"column.lists": "Liste",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Nu ai oprit nici un utilizator incă.",
"empty_column.notifications": "Nu ai nici o notificare încă. Interacționează cu alții pentru a începe o conversație.",
"empty_column.public": "Nu este nimci aici încă! Scrie ceva public, sau urmărește alți utilizatori din alte instanțe pentru a porni fluxul",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "și {additional}",
"hashtag.column_header.tag_mode.any": "sau {additional}",
"hashtag.column_header.tag_mode.none": "fără {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Arată redistribuirile",
"home.column_settings.show_replies": "Arată răspunsurile",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Acasă",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favorite",
"navigation_bar.filters": "Cuvinte oprite",
"navigation_bar.follow_requests": "Cereri de urmărire",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Despre această instanță",
"navigation_bar.keyboard_shortcuts": "Prescurtări",
"navigation_bar.lists": "Liste",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Flux global",
"navigation_bar.security": "Securitate",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} a adăugat statusul tău la favorite",
"notification.follow": "{name} te urmărește",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Fluxul tău este în preparare!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Omite sugestia",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Acasă",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notificări",
diff --git a/app/soapbox/locales/ru.json b/app/soapbox/locales/ru.json
index b21d7c53e..e6acb2a81 100644
--- a/app/soapbox/locales/ru.json
+++ b/app/soapbox/locales/ru.json
@@ -1,11 +1,13 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Добавить или удалить из списков",
"account.badges.bot": "Бот",
"account.block": "Блокировать",
"account.block_domain": "Блокировать все с {domain}",
"account.blocked": "Заблокирован(а)",
- "account.deactivated": "Deactivated",
- "account.deactivated_description": "This account has been deactivated.",
+ "account.deactivated": "Отключение Аккаунта",
+ "account.deactivated_description": "Этот аккаунт был отключен.",
"account.direct": "Написать @{name}",
"account.domain_blocked": "Домен скрыт",
"account.edit_profile": "Изменить профиль",
@@ -23,15 +25,15 @@
"account.media": "Медиа",
"account.member_since": "Member since {date}",
"account.mention": "Упомянуть",
- "account.message": "Message",
+ "account.message": "Сообщение",
"account.moved_to": "Ищите {name} здесь:",
"account.mute": "Скрыть @{name}",
"account.mute_notifications": "Скрыть уведомления от @{name}",
"account.muted": "Скрыт",
"account.posts": "Посты",
"account.posts_with_replies": "Посты с ответами",
- "account.profile": "Profile",
- "account.register": "Sign up",
+ "account.profile": "Профиль",
+ "account.register": "Регистрация",
"account.report": "Пожаловаться",
"account.requested": "Ожидает подтверждения. Нажмите для отмены",
"account.requested_small": "Awaiting approval",
@@ -43,16 +45,16 @@
"account.unfollow": "Отписаться",
"account.unmute": "Снять глушение",
"account.unmute_notifications": "Показывать уведомления от @{name}",
- "account_gallery.none": "No media to show.",
+ "account_gallery.none": "Не показывать медия.",
"alert.unexpected.message": "Что-то пошло не так.",
"alert.unexpected.title": "Ой!",
- "audio.close": "Close audio",
+ "audio.close": "Закрыть аудиоплеер",
"audio.expand": "Expand audio",
- "audio.hide": "Hide audio",
- "audio.mute": "Mute",
- "audio.pause": "Pause",
- "audio.play": "Play",
- "audio.unmute": "Unmute",
+ "audio.hide": "Спрятать аудиоплеер",
+ "audio.mute": "Отключить звук",
+ "audio.pause": "Пауза",
+ "audio.play": "Воспроизводить аудиоплеер",
+ "audio.unmute": "Включить звук.",
"boost_modal.combo": "Нажмите {combo}, чтобы пропустить это в следующий раз",
"bundle_column_error.body": "Что-то пошло не так при загрузке этого компонента.",
"bundle_column_error.retry": "Попробовать снова",
@@ -60,13 +62,24 @@
"bundle_modal_error.close": "Закрыть",
"bundle_modal_error.message": "Что-то пошло не так при загрузке этого компонента.",
"bundle_modal_error.retry": "Попробовать снова",
+ "chat_box.actions.send": "Отправить",
+ "chat_box.input.placeholder": "Отправить сообщение…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Чаты",
+ "chats.actions.delete": "Удалить Сообщенип",
+ "chats.actions.more": "Ещё",
+ "chats.actions.report": "Пожаловаться на пользователя",
+ "chats.audio_toggle_off": "Отключить аудио увидомление",
+ "chats.audio_toggle_on": "Включить аудио увидомление",
+ "chats.dividers.today": "Сегодня",
"column.blocks": "Список блокировки",
- "column.bookmarks": "Bookmarks",
+ "column.bookmarks": "Закладки",
+ "column.chats": "Chats",
"column.community": "Локальная лента",
"column.direct": "Личные сообщения",
"column.domain_blocks": "Скрытые домены",
- "column.edit_profile": "Edit profile",
- "column.filters": "Muted words",
+ "column.edit_profile": "Редактирование профиля",
+ "column.filters": "Скрытые слова",
"column.filters.add_new": "Add New Filter",
"column.filters.conversations": "Conversations",
"column.filters.create_error": "Error adding filter",
@@ -76,10 +89,10 @@
"column.filters.drop_hint": "Filtered posts will disappear irreversibly, even if filter is later removed",
"column.filters.expires": "Expire after",
"column.filters.expires_hint": "Expiration dates are not currently supported",
- "column.filters.home_timeline": "Home timeline",
+ "column.filters.home_timeline": "Домашняя лента",
"column.filters.keyword": "Keyword or phrase",
"column.filters.notifications": "Notifications",
- "column.filters.public_timeline": "Public timeline",
+ "column.filters.public_timeline": "Локальная лента",
"column.filters.subheading_add_new": "Add New Filter",
"column.filters.subheading_filters": "Current Filters",
"column.filters.whole_word_header": "Whole word",
@@ -87,6 +100,7 @@
"column.follow_requests": "Запросы на подписку",
"column.groups": "Groups",
"column.home": "Главная",
+ "column.import_data": "Import data",
"column.lists": "Списки",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -95,10 +109,10 @@
"column.mfa_setup": "Proceed to Setup",
"column.mutes": "Список скрытых пользователей",
"column.notifications": "Уведомления",
- "column.preferences": "Preferences",
+ "column.preferences": "Настройки",
"column.public": "Глобальная лента",
- "column.security": "Security",
- "column.soapbox_config": "Soapbox config",
+ "column.security": "Настройки безопастности.",
+ "column.soapbox_config": "Настройка Soapbox",
"column_back_button.label": "Назад",
"column_header.hide_settings": "Скрыть настройки",
"column_header.show_settings": "Показать настройки",
@@ -144,12 +158,12 @@
"confirmations.unfollow.confirm": "Отписаться",
"confirmations.unfollow.message": "Вы уверены, что хотите отписаться от {name}?",
"donate": "Donate",
- "edit_profile.fields.avatar_label": "Avatar",
- "edit_profile.fields.bio_label": "Bio",
- "edit_profile.fields.bot_label": "This is a bot account",
- "edit_profile.fields.display_name_label": "Display name",
+ "edit_profile.fields.avatar_label": "Сменить картинку профиля",
+ "edit_profile.fields.bio_label": "Описание профиля",
+ "edit_profile.fields.bot_label": "Отметить аккаунт как бот.",
+ "edit_profile.fields.display_name_label": "Отображаемое имя(Можно на русском)",
"edit_profile.fields.header_label": "Header",
- "edit_profile.fields.locked_label": "Lock account",
+ "edit_profile.fields.locked_label": "Заблокировать аккаунт",
"edit_profile.fields.meta_fields.content_placeholder": "Content",
"edit_profile.fields.meta_fields.label_placeholder": "Label",
"edit_profile.fields.meta_fields_label": "Profile metadata",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Вы ещё никого не скрывали.",
"empty_column.notifications": "У вас пока нет уведомлений. Взаимодействуйте с другими, чтобы завести разговор.",
"empty_column.public": "Здесь ничего нет! Опубликуйте что-нибудь или подпишитесь на пользователей с других узлов, чтобы заполнить ленту.",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "и {additional}",
"hashtag.column_header.tag_mode.any": "или {additional}",
"hashtag.column_header.tag_mode.none": "без {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Показывать продвижения",
"home.column_settings.show_replies": "Показывать ответы",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Главная",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# день} few {# дня} other {# дней}}",
"intervals.full.hours": "{number, plural, one {# час} few {# часа} other {# часов}}",
"intervals.full.minutes": "{number, plural, one {# минута} few {# минуты} other {# минут}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Понравившееся",
"navigation_bar.filters": "Заглушенные слова",
"navigation_bar.follow_requests": "Запросы на подписку",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Об узле",
"navigation_bar.keyboard_shortcuts": "Сочетания клавиш",
"navigation_bar.lists": "Списки",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Глобальная лента",
"navigation_bar.security": "Безопасность",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} понравился Ваш статус",
"notification.follow": "{name} подписался (-лась) на вас",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Ваша домашняя лента готовится!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Открыть интерфейс модератора для @{name}",
"status.admin_status": "Открыть этот статус в интерфейсе модератора",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Удалить предложение",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Главная",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Уведомления",
diff --git a/app/soapbox/locales/sk.json b/app/soapbox/locales/sk.json
index fada6510e..1eaa0641a 100644
--- a/app/soapbox/locales/sk.json
+++ b/app/soapbox/locales/sk.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Pridaj do, alebo odober zo zoznamov",
"account.badges.bot": "Bot",
"account.block": "Blokuj @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Zatvor",
"bundle_modal_error.message": "Nastala chyba pri načítaní tohto komponentu.",
"bundle_modal_error.retry": "Skúsiť znova",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Blokovaní užívatelia",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Miestna časová os",
"column.direct": "Súkromné správy",
"column.domain_blocks": "Skryté domény",
@@ -87,6 +100,7 @@
"column.follow_requests": "Žiadosti o sledovanie",
"column.groups": "Groups",
"column.home": "Domov",
+ "column.import_data": "Import data",
"column.lists": "Zoznamy",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Ešte si nestĺmil žiadných užívateľov.",
"empty_column.notifications": "Ešte nemáš žiadne oznámenia. Začni komunikovať s ostatnými, aby diskusia mohla začať.",
"empty_column.public": "Ešte tu nič nie je. Napíš niečo verejne, alebo začni sledovať užívateľov z iných serverov, aby tu niečo pribudlo",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "a {additional}",
"hashtag.column_header.tag_mode.any": "alebo {additional}",
"hashtag.column_header.tag_mode.none": "bez {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Zobraziť povýšené",
"home.column_settings.show_replies": "Ukázať odpovede",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Domovská",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# deň} few {# dní} many {# dní} other {# dní}}",
"intervals.full.hours": "{number, plural, one {# hodina} few {# hodín} many {# hodín} other {# hodín}}",
"intervals.full.minutes": "{number, plural, one {# minúta} few {# minút} many {# minút} other {# minút}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Obľúbené",
"navigation_bar.filters": "Filtrované slová",
"navigation_bar.follow_requests": "Žiadosti o sledovanie",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "O tomto serveri",
"navigation_bar.keyboard_shortcuts": "Klávesové skratky",
"navigation_bar.lists": "Zoznamy",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Federovaná časová os",
"navigation_bar.security": "Zabezbečenie",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} si obľúbil/a tvoj príspevok",
"notification.follow": "{name} ťa začal/a následovať",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Vaša domovská nástenka sa pripravuje!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Otvor moderovacie rozhranie užívateľa @{name}",
"status.admin_status": "Otvor tento príspevok v moderovacom rozhraní",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Zavrhni návrh",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Domovská",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Oboznámenia",
diff --git a/app/soapbox/locales/sl.json b/app/soapbox/locales/sl.json
index 581ab2aa9..6097e4a29 100644
--- a/app/soapbox/locales/sl.json
+++ b/app/soapbox/locales/sl.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Dodaj ali odstrani iz seznama",
"account.badges.bot": "Robot",
"account.block": "Blokiraj @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Zapri",
"bundle_modal_error.message": "Med nalaganjem te komponente je prišlo do napake.",
"bundle_modal_error.retry": "Poskusi ponovno",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Blokirani uporabniki",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Lokalna časovnica",
"column.direct": "Neposredna sporočila",
"column.domain_blocks": "Skrite domene",
@@ -87,6 +100,7 @@
"column.follow_requests": "Sledi prošnjam",
"column.groups": "Groups",
"column.home": "Domov",
+ "column.import_data": "Import data",
"column.lists": "Seznami",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Niste utišali še nobenega uporabnika.",
"empty_column.notifications": "Nimate še nobenih obvestil. Povežite se z drugimi, da začnete pogovor.",
"empty_column.public": "Tukaj ni ničesar! Da ga napolnite, napišite nekaj javnega ali pa ročno sledite uporabnikom iz drugih strežnikov",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "in {additional}",
"hashtag.column_header.tag_mode.any": "ali {additional}",
"hashtag.column_header.tag_mode.none": "brez {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Pokaži spodbude",
"home.column_settings.show_replies": "Pokaži odgovore",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Domov",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# dan} two {# dni} few {# dni} other {# dni}}",
"intervals.full.hours": "{number, plural, one {# ura} two {# uri} few {# ure} other {# ur}}",
"intervals.full.minutes": "{number, plural, one {# minuta} two {# minuti} few {# minute} other {# minut}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Priljubljeni",
"navigation_bar.filters": "Utišane besede",
"navigation_bar.follow_requests": "Prošnje za sledenje",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "O tem strežniku",
"navigation_bar.keyboard_shortcuts": "Hitre tipke",
"navigation_bar.lists": "Seznami",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Združena časovnica",
"navigation_bar.security": "Varnost",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} je vzljubil/a vaš status",
"notification.follow": "{name} vam sledi",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Vaš domači vir se pripravlja!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Odpri vmesnik za moderiranje za @{name}",
"status.admin_status": "Odpri status v vmesniku za moderiranje",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Zavrni predlog",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Domov",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Obvestila",
diff --git a/app/soapbox/locales/sq.json b/app/soapbox/locales/sq.json
index 076506d56..228381e0a 100644
--- a/app/soapbox/locales/sq.json
+++ b/app/soapbox/locales/sq.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Shtoni ose Hiqni prej listash",
"account.badges.bot": "Robot",
"account.block": "Blloko @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Mbylle",
"bundle_modal_error.message": "Diç shkoi ters teksa ngarkohej ky përbërës.",
"bundle_modal_error.retry": "Riprovoni",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Përdorues të bllokuar",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Rrjedhë kohore vendore",
"column.direct": "Mesazhe të drejtpërdrejta",
"column.domain_blocks": "Përkatësi të fshehura",
@@ -87,6 +100,7 @@
"column.follow_requests": "Kërkesa për ndjekje",
"column.groups": "Groups",
"column.home": "Kreu",
+ "column.import_data": "Import data",
"column.lists": "Lista",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "S’keni heshtuar ende ndonjë përdorues.",
"empty_column.notifications": "Ende s’keni ndonjë njoftim. Ndërveproni me të tjerët që të nisë biseda.",
"empty_column.public": "S’ka gjë këtu! Shkruani diçka publikisht, ose ndiqni dorazi përdorues prej instancash të tjera, që ta mbushni këtë zonë",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "dhe {additional}",
"hashtag.column_header.tag_mode.any": "ose {additional}",
"hashtag.column_header.tag_mode.none": "pa {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Shfaq përforcime",
"home.column_settings.show_replies": "Shfaq përgjigje",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Kreu",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Të parapëlqyer",
"navigation_bar.filters": "Fjalë të heshtuara",
"navigation_bar.follow_requests": "Kërkesa për ndjekje",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Mbi këtë shërbyes",
"navigation_bar.keyboard_shortcuts": "Taste përkatës",
"navigation_bar.lists": "Lista",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Rrjedhë kohore të federuarish",
"navigation_bar.security": "Siguri",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} parapëlqeu gjendjen tuaj",
"notification.follow": "{name} zuri t’ju ndjekë",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Prurja juaj vetjake po përgatiteet!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Hap ndërfaqe moderimi për @{name}",
"status.admin_status": "Hape këtë gjendje te ndërfaqja e moderimit",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Mos e merr parasysh sugjerimin",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Kreu",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Njoftime",
diff --git a/app/soapbox/locales/sr-Latn.json b/app/soapbox/locales/sr-Latn.json
index 19c382258..33792f210 100644
--- a/app/soapbox/locales/sr-Latn.json
+++ b/app/soapbox/locales/sr-Latn.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Bot",
"account.block": "Blokiraj korisnika @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Zatvori",
"bundle_modal_error.message": "Nešto nije bilo u redu pri učitavanju ove komponente.",
"bundle_modal_error.retry": "Pokušajte ponovo",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Blokirani korisnici",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Lokalna lajna",
"column.direct": "Direct messages",
"column.domain_blocks": "Hidden domains",
@@ -87,6 +100,7 @@
"column.follow_requests": "Zahtevi za praćenje",
"column.groups": "Groups",
"column.home": "Početna",
+ "column.import_data": "Import data",
"column.lists": "Liste",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "You haven't muted any users yet.",
"empty_column.notifications": "Trenutno nemate obaveštenja. Družite se malo da započnete razgovore.",
"empty_column.public": "Ovde nema ničega! Napišite nešto javno, ili nađite korisnike sa drugih instanci koje ćete zapratiti da popunite ovu prazninu",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Prikaži i podržavanja",
"home.column_settings.show_replies": "Prikaži odgovore",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Početna",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Omiljeni",
"navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Zahtevi za praćenje",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "O ovoj instanci",
"navigation_bar.keyboard_shortcuts": "Prečice na tastaturi",
"navigation_bar.lists": "Liste",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Federisana lajna",
"navigation_bar.security": "Security",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} je stavio Vaš status kao omiljeni",
"notification.follow": "{name} Vas je zapratio",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Početna",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Obaveštenja",
diff --git a/app/soapbox/locales/sr.json b/app/soapbox/locales/sr.json
index 638352b20..840438409 100644
--- a/app/soapbox/locales/sr.json
+++ b/app/soapbox/locales/sr.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Бот",
"account.block": "Блокирај @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Затвори",
"bundle_modal_error.message": "Нешто није било у реду при учитавању ове компоненте.",
"bundle_modal_error.retry": "Покушајте поново",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Блокирани корисници",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Локална временска линија",
"column.direct": "Директне поруке",
"column.domain_blocks": "Скривени домени",
@@ -87,6 +100,7 @@
"column.follow_requests": "Захтеви за праћење",
"column.groups": "Groups",
"column.home": "Почетна",
+ "column.import_data": "Import data",
"column.lists": "Листе",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Још увек немате ућутканих корисника.",
"empty_column.notifications": "Тренутно немате обавештења. Дружите се мало да започнете разговор.",
"empty_column.public": "Овде нема ничега! Напишите нешто јавно, или нађите кориснике са других инстанци које ћете запратити да попуните ову празнину",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Прикажи и подржавања",
"home.column_settings.show_replies": "Прикажи одговоре",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Почетна",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Омиљене",
"navigation_bar.filters": "Пригушене речи",
"navigation_bar.follow_requests": "Захтеви за праћење",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "О овој инстанци",
"navigation_bar.keyboard_shortcuts": "Пречице на тастатури",
"navigation_bar.lists": "Листе",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Здружена временска линија",
"navigation_bar.security": "Безбедност",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} је ставио/ла Ваш статус као омиљени",
"notification.follow": "{name} Вас је запратио/ла",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Ваша почетна страница се припрема!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Почетна",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Обавештења",
diff --git a/app/soapbox/locales/sv.json b/app/soapbox/locales/sv.json
index 88992aee8..63884b929 100644
--- a/app/soapbox/locales/sv.json
+++ b/app/soapbox/locales/sv.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Lägg till eller ta bort från listor",
"account.badges.bot": "Robot",
"account.block": "Blockera @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Stäng",
"bundle_modal_error.message": "Något gick fel när denna komponent laddades.",
"bundle_modal_error.retry": "Försök igen",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Blockerade användare",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Lokal tidslinje",
"column.direct": "Direktmeddelanden",
"column.domain_blocks": "Dolda domäner",
@@ -87,6 +100,7 @@
"column.follow_requests": "Följförfrågningar",
"column.groups": "Groups",
"column.home": "Hem",
+ "column.import_data": "Import data",
"column.lists": "Listor",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Du har ännu inte tystat några användare.",
"empty_column.notifications": "Du har inga meddelanden än. Interagera med andra för att starta konversationen.",
"empty_column.public": "Det finns inget här! Skriv något offentligt, eller följ manuellt användarna från andra instanser för att fylla på det",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "och {additional}",
"hashtag.column_header.tag_mode.any": "eller {additional}",
"hashtag.column_header.tag_mode.none": "utan {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Visa knuffar",
"home.column_settings.show_replies": "Visa svar",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Hem",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# dag} other {# dagar}}",
"intervals.full.hours": "{number, plural, one {# timme} other {# timmar}}",
"intervals.full.minutes": "{number, plural, one {1 minut} other {# minuter}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favoriter",
"navigation_bar.filters": "Tystade ord",
"navigation_bar.follow_requests": "Följförfrågningar",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Om denna instans",
"navigation_bar.keyboard_shortcuts": "Kortkommandon",
"navigation_bar.lists": "Listor",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Förenad tidslinje",
"navigation_bar.security": "Säkerhet",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} favoriserade din status",
"notification.follow": "{name} följer dig",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Ditt hemmaflöde förbereds!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Öppet modereringsgränssnitt för @{name}",
"status.admin_status": "Öppna denna status i modereringsgränssnittet",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Hem",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Meddelanden",
diff --git a/app/soapbox/locales/ta.json b/app/soapbox/locales/ta.json
index fbdadedda..6fcf3bd91 100644
--- a/app/soapbox/locales/ta.json
+++ b/app/soapbox/locales/ta.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "பட்டியல்களில் இருந்து சேர் அல்லது நீக்குக",
"account.badges.bot": "பாட்",
"account.block": "Block @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "நெருக்கமாக",
"bundle_modal_error.message": "இந்த கூறுகளை ஏற்றும்போது ஏதோ தவறு ஏற்பட்டது.",
"bundle_modal_error.retry": "மீண்டும் முயற்சி செய்",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "தடுக்கப்பட்ட பயனர்கள்",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "உள்ளூர் காலக்கெடு",
"column.direct": "நேரடி செய்திகள்",
"column.domain_blocks": "மறைந்த களங்கள்",
@@ -87,6 +100,7 @@
"column.follow_requests": "கோரிக்கைகளை பின்பற்றவும்",
"column.groups": "Groups",
"column.home": "Home",
+ "column.import_data": "Import data",
"column.lists": "குதிரை வீர்ர்கள்",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "நீங்கள் இதுவரை எந்த பயனர்களையும் முடக்கியிருக்கவில்லை.",
"empty_column.notifications": "உங்களிடம் எந்த அறிவிப்புகளும் இல்லை. உரையாடலைத் தொடங்க பிறருடன் தொடர்புகொள்ளவும்.",
"empty_column.public": "இங்கே எதுவும் இல்லை! பகிரங்கமாக ஒன்றை எழுதவும் அல்லது மற்ற நிகழ்வுகளிலிருந்து பயனர்களை அதை நிரப்புவதற்கு கைமுறையாக பின்பற்றவும்",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "மற்றும் {additional}",
"hashtag.column_header.tag_mode.any": "அல்லது {additional}",
"hashtag.column_header.tag_mode.none": "இல்லாமல் {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "காட்டு boosts",
"home.column_settings.show_replies": "பதில்களைக் காண்பி",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Home",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} மற்ற {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} மற்ற {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} மற்ற {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "விருப்பத்துக்குகந்த",
"navigation_bar.filters": "முடக்கப்பட்ட வார்த்தைகள்",
"navigation_bar.follow_requests": "கோரிக்கைகளை பின்பற்றவும்",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "இந்த நிகழ்வு பற்றி",
"navigation_bar.keyboard_shortcuts": "சுருக்குவிசைகள்",
"navigation_bar.lists": "குதிரை வீர்ர்கள்",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "கூட்டாட்சி காலக்கெடு",
"navigation_bar.security": "பத்திரம்",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} ஆர்வம் கொண்டவர், உங்கள் நிலை",
"notification.follow": "{name} நீங்கள் தொடர்ந்து வந்தீர்கள்",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "உங்கள் வீட்டு ஊட்டம் தயார் செய்யப்படுகிறது!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "மிதமான இடைமுகத்தை திறக்க @{name}",
"status.admin_status": "மிதமான இடைமுகத்தில் இந்த நிலையை திறக்கவும்",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "பரிந்துரை விலக்க",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Home",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Notifications",
diff --git a/app/soapbox/locales/te.json b/app/soapbox/locales/te.json
index 6c175dbd2..369d1f06a 100644
--- a/app/soapbox/locales/te.json
+++ b/app/soapbox/locales/te.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "జాబితాల నుండి చేర్చు లేదా తీసివేయి",
"account.badges.bot": "బాట్",
"account.block": "@{name} ను బ్లాక్ చేయి",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "మూసివేయు",
"bundle_modal_error.message": "ఈ భాగం లోడ్ అవుతున్నప్పుడు ఏదో తప్పు జరిగింది.",
"bundle_modal_error.retry": "మళ్ళీ ప్రయత్నించండి",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "బ్లాక్ చేయబడిన వినియోగదారులు",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "స్థానిక కాలక్రమం",
"column.direct": "ప్రత్యక్ష సందేశాలు",
"column.domain_blocks": "దాచిన డొమైన్లు",
@@ -87,6 +100,7 @@
"column.follow_requests": "అనుసరించడానికి అభ్యర్ధనలు",
"column.groups": "Groups",
"column.home": "హోమ్",
+ "column.import_data": "Import data",
"column.lists": "జాబితాలు",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "మీరు ఇంకా ఏ వినియోగదారులనూ మ్యూట్ చేయలేదు.",
"empty_column.notifications": "మీకు ఇంకా ఏ నోటిఫికేషన్లు లేవు. సంభాషణను ప్రారంభించడానికి ఇతరులతో ప్రతిస్పందించండి.",
"empty_column.public": "ఇక్కడ ఏమీ లేదు! దీన్ని నింపడానికి బహిరంగంగా ఏదైనా వ్రాయండి, లేదా ఇతర సేవికల నుండి వినియోగదారులను అనుసరించండి",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "మరియు {additional}",
"hashtag.column_header.tag_mode.any": "లేదా {additional}",
"hashtag.column_header.tag_mode.none": "{additional} లేకుండా",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "బూస్ట్ లను చూపించు",
"home.column_settings.show_replies": "ప్రత్యుత్తరాలను చూపించు",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "హోమ్",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "ఇష్టపడినవి",
"navigation_bar.filters": "మ్యూట్ చేయబడిన పదాలు",
"navigation_bar.follow_requests": "అనుసరించడానికి అభ్యర్ధనలు",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "ఈ సేవిక గురించి",
"navigation_bar.keyboard_shortcuts": "హాట్ కీలు",
"navigation_bar.lists": "జాబితాలు",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "సమాఖ్య కాలక్రమం",
"navigation_bar.security": "భద్రత",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} మీ స్టేటస్ ను ఇష్టపడ్డారు",
"notification.follow": "{name} మిమ్మల్ని అనుసరిస్తున్నారు",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "మీ హోమ్ ఫీడ్ సిద్ధమవుతోంది!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "@{name} కొరకు సమన్వయ వినిమయసీమను తెరువు",
"status.admin_status": "సమన్వయ వినిమయసీమలో ఈ స్టేటస్ ను తెరవండి",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "సూచనను రద్దు చేయి",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "హోమ్",
"tabs_bar.news": "News",
"tabs_bar.notifications": "ప్రకటనలు",
diff --git a/app/soapbox/locales/th.json b/app/soapbox/locales/th.json
index 9bb15172f..d167f751c 100644
--- a/app/soapbox/locales/th.json
+++ b/app/soapbox/locales/th.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "เพิ่มหรือเอาออกจากรายการ",
"account.badges.bot": "บอต",
"account.block": "ปิดกั้น @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "ปิด",
"bundle_modal_error.message": "มีบางอย่างผิดพลาดขณะโหลดส่วนประกอบนี้",
"bundle_modal_error.retry": "ลองอีกครั้ง",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "ผู้ใช้ที่ปิดกั้นอยู่",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "เส้นเวลาในเว็บ",
"column.direct": "ข้อความโดยตรง",
"column.domain_blocks": "โดเมนที่ซ่อนอยู่",
@@ -87,6 +100,7 @@
"column.follow_requests": "คำขอติดตาม",
"column.groups": "Groups",
"column.home": "หน้าแรก",
+ "column.import_data": "Import data",
"column.lists": "รายการ",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "คุณยังไม่ได้ปิดเสียงผู้ใช้ใด ๆ",
"empty_column.notifications": "คุณยังไม่มีการแจ้งเตือนใด ๆ โต้ตอบกับผู้อื่นเพื่อเริ่มการสนทนา",
"empty_column.public": "ไม่มีสิ่งใดที่นี่! เขียนบางอย่างเป็นสาธารณะ หรือติดตามผู้ใช้จากเซิร์ฟเวอร์อื่น ๆ ด้วยตนเองเพื่อเติมให้เต็ม",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "และ {additional}",
"hashtag.column_header.tag_mode.any": "หรือ {additional}",
"hashtag.column_header.tag_mode.none": "โดยไม่มี {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "แสดงการดัน",
"home.column_settings.show_replies": "แสดงการตอบกลับ",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "หน้าแรก",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, other {# วัน}}",
"intervals.full.hours": "{number, plural, other {# ชั่วโมง}}",
"intervals.full.minutes": "{number, plural, other {# นาที}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "รายการโปรด",
"navigation_bar.filters": "คำที่ปิดเสียงอยู่",
"navigation_bar.follow_requests": "คำขอติดตาม",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "เกี่ยวกับเซิร์ฟเวอร์นี้",
"navigation_bar.keyboard_shortcuts": "ปุ่มลัด",
"navigation_bar.lists": "รายการ",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "เส้นเวลาที่ติดต่อกับภายนอก",
"navigation_bar.security": "ความปลอดภัย",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} ได้ชื่นชอบสถานะของคุณ",
"notification.follow": "{name} ได้ติดตามคุณ",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "กำลังเตรียมฟีดหน้าแรกของคุณ!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "เปิดส่วนติดต่อการควบคุมสำหรับ @{name}",
"status.admin_status": "เปิดสถานะนี้ในส่วนติดต่อการควบคุม",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "ยกเลิกข้อเสนอแนะ",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "หน้าแรก",
"tabs_bar.news": "News",
"tabs_bar.notifications": "การแจ้งเตือน",
diff --git a/app/soapbox/locales/tr.json b/app/soapbox/locales/tr.json
index 992a7852f..b9154489e 100644
--- a/app/soapbox/locales/tr.json
+++ b/app/soapbox/locales/tr.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Listeye ekle veya kaldır",
"account.badges.bot": "Bot",
"account.block": "@{name} adlı kişiyi engelle",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Kapat",
"bundle_modal_error.message": "Bu bileşen yüklenirken bir şeyler ters gitti.",
"bundle_modal_error.retry": "Tekrar deneyin",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Engellenen kullanıcılar",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Yerel zaman tüneli",
"column.direct": "Doğrudan mesajlar",
"column.domain_blocks": "Gizli alan adları",
@@ -87,6 +100,7 @@
"column.follow_requests": "Takip istekleri",
"column.groups": "Groups",
"column.home": "Anasayfa",
+ "column.import_data": "Import data",
"column.lists": "Listeler",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Henüz hiçbir kullanıcıyı sessize almadınız.",
"empty_column.notifications": "Henüz hiçbir bildiriminiz yok. Diğer insanlarla sobhet edebilmek için etkileşime geçebilirsiniz.",
"empty_column.public": "Burada hiçbir şey yok! Herkese açık bir şeyler yazın veya burayı doldurmak için diğer sunuculardaki kullanıcıları takip edin",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "ve {additional}",
"hashtag.column_header.tag_mode.any": "ya da {additional}",
"hashtag.column_header.tag_mode.none": "{additional} olmadan",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Boost edilenleri göster",
"home.column_settings.show_replies": "Cevapları göster",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Ana sayfa",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# gün} other {# gün}}",
"intervals.full.hours": "{number, plural, one {# saat} other {# saat}}",
"intervals.full.minutes": "{number, plural, one {# dakika} other {# dakika}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Favoriler",
"navigation_bar.filters": "Susturulmuş kelimeler",
"navigation_bar.follow_requests": "Takip istekleri",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Genişletilmiş bilgi",
"navigation_bar.keyboard_shortcuts": "Klavye kısayolları",
"navigation_bar.lists": "Listeler",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Federe zaman tüneli",
"navigation_bar.security": "Güvenlik",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} senin durumunu favorilere ekledi",
"notification.follow": "{name} seni takip ediyor",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Ev akışınız hazırlanıyor!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "@{name} için denetim arayüzünü açın",
"status.admin_status": "Denetim arayüzünde bu durumu açın",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Öneriyi görmezden gel",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Ana sayfa",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Bildirimler",
diff --git a/app/soapbox/locales/uk.json b/app/soapbox/locales/uk.json
index 38807b37c..e5820729b 100644
--- a/app/soapbox/locales/uk.json
+++ b/app/soapbox/locales/uk.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Додати або видалити зі списків",
"account.badges.bot": "Бот",
"account.block": "Заблокувати @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "Закрити",
"bundle_modal_error.message": "Щось пішло не так під час завантаження компоненту.",
"bundle_modal_error.retry": "Спробувати ще раз",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "Заблоковані користувачі",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "Локальна стрічка",
"column.direct": "Прямі повідомлення",
"column.domain_blocks": "Приховані домени",
@@ -87,6 +100,7 @@
"column.follow_requests": "Запити на підписку",
"column.groups": "Groups",
"column.home": "Головна",
+ "column.import_data": "Import data",
"column.lists": "Списки",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "Ви ще не заглушили жодного користувача.",
"empty_column.notifications": "У вас ще немає сповіщень. Переписуйтесь з іншими користувачами, щоб почати розмову.",
"empty_column.public": "Тут поки нічого немає! Опублікуйте щось, або вручну підпишіться на користувачів інших інстанцій, щоб заповнити стрічку",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "та {additional}",
"hashtag.column_header.tag_mode.any": "або {additional}",
"hashtag.column_header.tag_mode.none": "без {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "Показувати передмухи",
"home.column_settings.show_replies": "Показувати відповіді",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "Головна",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# день} few {# дні} other {# днів}}",
"intervals.full.hours": "{number, plural, one {# година} few {# години} other {# годин}}",
"intervals.full.minutes": "{number, plural, one {# хвилина} few {# хвилини} other {# хвилин}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "Вподобане",
"navigation_bar.filters": "Приховані слова",
"navigation_bar.follow_requests": "Запити на підписку",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "Про сайт",
"navigation_bar.keyboard_shortcuts": "Гарячі клавіші",
"navigation_bar.lists": "Списки",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "Глобальна стрічка",
"navigation_bar.security": "Безпека",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} вподобав(-ла) ваш допис",
"notification.follow": "{name} підписався(-лась) на Вас",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "Ваша домашня стрічка готується!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Відкрити інтерфейс модерації для @{name}",
"status.admin_status": "Відкрити цей статус в інтерфейсі модерації",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Відхилити пропозицію",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "Головна",
"tabs_bar.news": "News",
"tabs_bar.notifications": "Сповіщення",
diff --git a/app/soapbox/locales/zh-CN.json b/app/soapbox/locales/zh-CN.json
index 42c00054e..9a8ef65e1 100644
--- a/app/soapbox/locales/zh-CN.json
+++ b/app/soapbox/locales/zh-CN.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "从列表中添加或删除",
"account.badges.bot": "机器人",
"account.block": "屏蔽 @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "关闭",
"bundle_modal_error.message": "载入这个组件时发生了错误。",
"bundle_modal_error.retry": "重试",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "已屏蔽的用户",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "本站时间轴",
"column.direct": "私信",
"column.domain_blocks": "已屏蔽的网站",
@@ -87,6 +100,7 @@
"column.follow_requests": "关注请求",
"column.groups": "Groups",
"column.home": "主页",
+ "column.import_data": "Import data",
"column.lists": "列表",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "你没有隐藏任何用户。",
"empty_column.notifications": "你还没有收到过任何通知,快和其他用户互动吧。",
"empty_column.public": "这里什么都没有!写一些公开的嘟文,或者关注其他服务器的用户后,这里就会有嘟文出现了",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "以及 {additional}",
"hashtag.column_header.tag_mode.any": "或是 {additional}",
"hashtag.column_header.tag_mode.none": "而不用 {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "显示转嘟",
"home.column_settings.show_replies": "显示回复",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "主页",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number} 天",
"intervals.full.hours": "{number} 小时",
"intervals.full.minutes": "{number} 分钟",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "收藏的内容",
"navigation_bar.filters": "屏蔽关键词",
"navigation_bar.follow_requests": "关注请求",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "关于本站",
"navigation_bar.keyboard_shortcuts": "快捷键列表",
"navigation_bar.lists": "列表",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "跨站公共时间轴",
"navigation_bar.security": "安全",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} 收藏了你的嘟文",
"notification.follow": "{name} 开始关注你",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "你的主页时间轴正在准备中!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "打开 @{name} 的管理界面",
"status.admin_status": "打开这条嘟文的管理界面",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "关闭建议",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "主页",
"tabs_bar.news": "News",
"tabs_bar.notifications": "通知",
diff --git a/app/soapbox/locales/zh-HK.json b/app/soapbox/locales/zh-HK.json
index 4d38dde10..8bfc4aaaa 100644
--- a/app/soapbox/locales/zh-HK.json
+++ b/app/soapbox/locales/zh-HK.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "機械人",
"account.block": "封鎖 @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "關閉",
"bundle_modal_error.message": "加載本組件出錯。",
"bundle_modal_error.retry": "重試",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "封鎖用戶",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "本站時間軸",
"column.direct": "個人訊息",
"column.domain_blocks": "隱藏的服務站",
@@ -87,6 +100,7 @@
"column.follow_requests": "關注請求",
"column.groups": "Groups",
"column.home": "主頁",
+ "column.import_data": "Import data",
"column.lists": "列表",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "You haven't muted any users yet.",
"empty_column.notifications": "你沒有任何通知紀錄,快向其他用戶搭訕吧。",
"empty_column.public": "跨站時間軸暫時沒有內容!快寫一些公共的文章,或者關注另一些服務站的用戶吧!你和本站、友站的交流,將決定這裏出現的內容。",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "顯示被轉推的文章",
"home.column_settings.show_replies": "顯示回應文章",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "主頁",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "最愛的內容",
"navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "關注請求",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "關於本服務站",
"navigation_bar.keyboard_shortcuts": "鍵盤快速鍵",
"navigation_bar.lists": "列表",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "跨站時間軸",
"navigation_bar.security": "安全",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} 收藏了你的文章",
"notification.follow": "{name} 開始關注你",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "你的主頁時間軸正在準備中!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this post in the moderation interface",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "Dismiss suggestion",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "主頁",
"tabs_bar.news": "News",
"tabs_bar.notifications": "通知",
diff --git a/app/soapbox/locales/zh-TW.json b/app/soapbox/locales/zh-TW.json
index c9dc9b50a..65d7e63b2 100644
--- a/app/soapbox/locales/zh-TW.json
+++ b/app/soapbox/locales/zh-TW.json
@@ -1,4 +1,6 @@
{
+ "accordion.collapse": "Collapse",
+ "accordion.expand": "Expand",
"account.add_or_remove_from_list": "從名單中新增或移除",
"account.badges.bot": "機器人",
"account.block": "封鎖 @{name}",
@@ -60,8 +62,19 @@
"bundle_modal_error.close": "關閉",
"bundle_modal_error.message": "載入此元件時發生錯誤。",
"bundle_modal_error.retry": "重試",
+ "chat_box.actions.send": "Send",
+ "chat_box.input.placeholder": "Send a message…",
+ "chat_panels.main_window.empty": "No chats found. To start a chat, visit a user's profile.",
+ "chat_panels.main_window.title": "Chats",
+ "chats.actions.delete": "Delete message",
+ "chats.actions.more": "More",
+ "chats.actions.report": "Report user",
+ "chats.audio_toggle_off": "Audio notification off",
+ "chats.audio_toggle_on": "Audio notification on",
+ "chats.dividers.today": "Today",
"column.blocks": "封鎖的使用者",
"column.bookmarks": "Bookmarks",
+ "column.chats": "Chats",
"column.community": "本機時間軸",
"column.direct": "私訊",
"column.domain_blocks": "隱藏的網域",
@@ -87,6 +100,7 @@
"column.follow_requests": "關注請求",
"column.groups": "Groups",
"column.home": "主頁",
+ "column.import_data": "Import data",
"column.lists": "名單",
"column.mfa": "Multi-Factor Authentication",
"column.mfa_cancel": "Cancel",
@@ -196,8 +210,6 @@
"empty_column.mutes": "你尚未靜音任何使用者。",
"empty_column.notifications": "您尚未收到任何通知,和別人互動開啟對話吧。",
"empty_column.public": "這裡什麼都沒有!嘗試寫些公開的嘟文,或著自己關注其他伺服器的使用者後就會有嘟文出現了",
- "explanation_box.collapse": "Collapse explanation box",
- "explanation_box.expand": "Expand explanation box",
"fediverse_tab.explanation_box.explanation": "{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka \"servers\"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.",
"fediverse_tab.explanation_box.title": "What is the Fediverse?",
"filters.context_header": "Filter contexts",
@@ -234,12 +246,23 @@
"hashtag.column_header.tag_mode.all": "以及{additional}",
"hashtag.column_header.tag_mode.any": "或是{additional}",
"hashtag.column_header.tag_mode.none": "而無需{additional}",
+ "header.about.label": "About",
+ "header.back_to.label": "Back to {siteTitle}",
+ "header.home.label": "Home",
+ "header.login.label": "Log in",
"home.column_settings.show_direct": "Show direct messages",
"home.column_settings.show_reblogs": "顯示轉嘟",
"home.column_settings.show_replies": "顯示回覆",
"home_column.lists": "Lists",
"home_column_header.fediverse": "Fediverse",
"home_column_header.home": "主頁",
+ "import_data.actions.import": "Import",
+ "import_data.actions.import_blocks": "Import blocks",
+ "import_data.actions.import_follows": "Import follows",
+ "import_data.blocks_label": "Blocks",
+ "import_data.follows_label": "Follows",
+ "import_data.hints.blocks": "CSV file containing a list of blocked accounts",
+ "import_data.hints.follows": "CSV file containing a list of followed accounts",
"intervals.full.days": "{number, plural, one {# 天} other {# 天}}",
"intervals.full.hours": "{number, plural, one {# 小時} other {# 小時}}",
"intervals.full.minutes": "{number, plural, one {# 分鐘} other {# 分鐘}}",
@@ -331,6 +354,7 @@
"navigation_bar.favourites": "收藏",
"navigation_bar.filters": "靜音詞彙",
"navigation_bar.follow_requests": "關注請求",
+ "navigation_bar.import_data": "Import data",
"navigation_bar.info": "關於此伺服器",
"navigation_bar.keyboard_shortcuts": "快速鍵",
"navigation_bar.lists": "名單",
@@ -343,6 +367,7 @@
"navigation_bar.public_timeline": "聯邦時間軸",
"navigation_bar.security": "安全性",
"navigation_bar.soapbox_config": "Soapbox config",
+ "notification.chat_mention": "{name} sent you a message",
"notification.emoji_react": "{name} reacted to your post",
"notification.favourite": "{name} 把你的嘟文加入了最愛",
"notification.follow": "{name} 關注了你",
@@ -386,12 +411,14 @@
"preferences.fields.demetricator_label": "Use Demetricator",
"preferences.fields.dyslexic_font_label": "Dyslexic mode",
"preferences.fields.expand_spoilers_label": "Always expand posts marked with content warnings",
+ "preferences.fields.halloween_label": "Halloween mode",
"preferences.fields.language_label": "Language",
"preferences.fields.privacy_label": "Post privacy",
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
"preferences.fields.system_font_label": "Use system's default font",
"preferences.fields.unfollow_modal_label": "Show confirmation dialog before unfollowing someone",
"preferences.hints.demetricator": "Decrease social media anxiety by hiding all numbers from the site.",
+ "preferences.hints.halloween": "Beware: SPOOKY! Supports light/dark toggle.",
"preferences.hints.privacy_followers_only": "Only show to followers",
"preferences.hints.privacy_public": "Everyone can see",
"preferences.hints.privacy_unlisted": "Everyone can see, but not listed on public timelines",
@@ -411,9 +438,12 @@
"regeneration_indicator.sublabel": "你的主頁時間軸正在準備中!",
"registration.agreement": "I agree to the {tos}.",
"registration.captcha.hint": "Click the image to get a new captcha",
+ "registration.closed_message": "{instance} is not accepting new members",
+ "registration.closed_title": "Registrations Closed",
"registration.fields.confirm_placeholder": "Password (again)",
"registration.fields.email_placeholder": "E-Mail address",
"registration.fields.password_placeholder": "Password",
+ "registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
"registration.fields.username_placeholder": "Username",
"registration.lead": "With an account on {instance} you'll be able to follow people on any server in the fediverse.",
"registration.reason": "Why do you want to join?",
@@ -477,21 +507,15 @@
"signup_panel.title": "New to {site_title}?",
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
"soapbox_config.custom_css.meta_fields.url_placeholder": "URL",
- "soapbox_config.fields.banner_label": "Banner",
"soapbox_config.fields.brand_color_label": "Brand color",
- "soapbox_config.fields.custom_css.add": "Add another custom CSS URL",
- "soapbox_config.fields.custom_css_fields_label": "Custom CSS",
"soapbox_config.fields.home_footer.add": "Add new Home Footer Item",
"soapbox_config.fields.home_footer_fields_label": "Home footer items",
"soapbox_config.fields.logo_label": "Logo",
- "soapbox_config.fields.patron_enabled_label": "Patron module",
"soapbox_config.fields.promo_panel.add": "Add new Promo panel item",
"soapbox_config.fields.promo_panel_fields_label": "Promo panel items",
- "soapbox_config.hints.banner": "PNG, GIF or JPG. At most 2 MB. Will be displayed to 400x400px",
- "soapbox_config.hints.custom_css_fields": "Insert a URL to a CSS file like `https://mysite.com/instance/custom.css`, or simply `/instance/custom.css`",
+ "soapbox_config.fields.theme_label": "Default theme",
"soapbox_config.hints.home_footer_fields": "You can have custom defined links displayed on the footer of your static pages",
"soapbox_config.hints.logo": "SVG. At most 2 MB. Will be displayed to 50px height, maintaining aspect ratio",
- "soapbox_config.hints.patron_enabled": "Enables display of Patron module. Requires installation of Patron module.",
"soapbox_config.hints.promo_panel_fields": "You can have custom defined links displayed on the left panel of the timelines page.",
"soapbox_config.hints.promo_panel_icons": "{ link }",
"soapbox_config.home_footer.meta_fields.label_placeholder": "Label",
@@ -499,8 +523,8 @@
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
- "soapbox_config.raw_json_hint": "Advanced: Edit the settings data directly.",
- "soapbox_config.raw_json_label": "Raw JSON data",
+ "soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
+ "soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
"soapbox_config.save": "Save",
"status.admin_account": "開啟 @{name} 的管理介面",
"status.admin_status": "在管理介面開啟此嘟文",
@@ -548,6 +572,7 @@
"status_list.queue_label": "Click to see {count} new {count, plural, one {post} other {posts}}",
"suggestions.dismiss": "關閉建議",
"tabs_bar.apps": "Apps",
+ "tabs_bar.chats": "Chats",
"tabs_bar.home": "主頁",
"tabs_bar.news": "News",
"tabs_bar.notifications": "通知",
diff --git a/app/soapbox/middleware/sounds.js b/app/soapbox/middleware/sounds.js
index 032bc804b..e819a02ee 100644
--- a/app/soapbox/middleware/sounds.js
+++ b/app/soapbox/middleware/sounds.js
@@ -36,6 +36,16 @@ export default function soundsMiddleware() {
type: 'audio/mpeg',
},
]),
+ chat: createAudio([
+ {
+ src: '/sounds/chat.oga',
+ type: 'audio/ogg',
+ },
+ {
+ src: '/sounds/chat.mp3',
+ type: 'audio/mpeg',
+ },
+ ]),
};
return () => next => action => {
diff --git a/app/soapbox/pages/admin_page.js b/app/soapbox/pages/admin_page.js
new file mode 100644
index 000000000..28dd2d25f
--- /dev/null
+++ b/app/soapbox/pages/admin_page.js
@@ -0,0 +1,40 @@
+import React from 'react';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import LinkFooter from '../features/ui/components/link_footer';
+import AdminNav from 'soapbox/features/admin/components/admin_nav';
+
+export default
+class AdminPage extends ImmutablePureComponent {
+
+ render() {
+ const { children } = this.props;
+
+ return (
+
+ );
+ }
+
+}
diff --git a/app/soapbox/reducers/__tests__/admin-test.js b/app/soapbox/reducers/__tests__/admin-test.js
index aa32ace8f..588abe7aa 100644
--- a/app/soapbox/reducers/__tests__/admin-test.js
+++ b/app/soapbox/reducers/__tests__/admin-test.js
@@ -1,11 +1,19 @@
import reducer from '../admin';
-import { fromJS } from 'immutable';
+import {
+ Map as ImmutableMap,
+ List as ImmutableList,
+ OrderedSet as ImmutableOrderedSet,
+} from 'immutable';
describe('admin reducer', () => {
it('should return the initial state', () => {
- expect(reducer(undefined, {})).toEqual(fromJS({
- reports: [],
- open_report_count: 0,
+ expect(reducer(undefined, {})).toEqual(ImmutableMap({
+ reports: ImmutableMap(),
+ openReports: ImmutableOrderedSet(),
+ users: ImmutableMap(),
+ awaitingApproval: ImmutableOrderedSet(),
+ configs: ImmutableList(),
+ needsReboot: false,
}));
});
});
diff --git a/app/soapbox/reducers/__tests__/compose-test.js b/app/soapbox/reducers/__tests__/compose-test.js
index 230036fe8..a3b1781e4 100644
--- a/app/soapbox/reducers/__tests__/compose-test.js
+++ b/app/soapbox/reducers/__tests__/compose-test.js
@@ -3,18 +3,18 @@ import { Map as ImmutableMap } from 'immutable';
import { ME_FETCH_SUCCESS, ME_PATCH_SUCCESS } from 'soapbox/actions/me';
import { SETTING_CHANGE } from 'soapbox/actions/settings';
import * as actions from 'soapbox/actions/compose';
-//import { STORE_HYDRATE } from 'soapbox/actions/store';
//import { REDRAFT } from 'soapbox/actions/statuses';
import { TIMELINE_DELETE } from 'soapbox/actions/timelines';
describe('compose reducer', () => {
it('returns the initial state by default', () => {
- expect(reducer(undefined, {}).toJS()).toMatchObject({
+ const state = reducer(undefined, {});
+ expect(state.toJS()).toMatchObject({
mounted: 0,
sensitive: false,
spoiler: false,
spoiler_text: '',
- privacy: null,
+ privacy: 'public',
text: '',
focusDate: null,
caretPosition: null,
@@ -30,10 +30,10 @@ describe('compose reducer', () => {
suggestions: [],
default_privacy: 'public',
default_sensitive: false,
- idempotencyKey: null,
tagHistory: [],
- content_type: 'text/markdown',
+ content_type: 'text/plain',
});
+ expect(state.get('idempotencyKey').length === 36);
});
it('uses \'public\' scope as default', () => {
@@ -132,23 +132,6 @@ describe('compose reducer', () => {
});
});
- // it('should handle STORE_HYDRATE', () => {
- // const state = ImmutableMap({ });
- // const action = {
- // type: STORE_HYDRATE,
- // state: ImmutableMap({
- // compose: true,
- // text: 'newtext',
- // }),
- // };
- // expect(reducer(state, action)).toEqual(ImmutableMap({
- // state: ImmutableMap({
- // compose: true,
- // text: 'newtext',
- // }),
- // }));
- // });
-
it('should handle COMPOSE_MOUNT', () => {
const state = ImmutableMap({ mounted: 1 });
const action = {
diff --git a/app/soapbox/reducers/__tests__/contexts-test.js b/app/soapbox/reducers/__tests__/contexts-test.js
index 3130f2e53..8b5a30d50 100644
--- a/app/soapbox/reducers/__tests__/contexts-test.js
+++ b/app/soapbox/reducers/__tests__/contexts-test.js
@@ -1,5 +1,8 @@
import reducer from '../contexts';
-import { Map as ImmutableMap } from 'immutable';
+import { CONTEXT_FETCH_SUCCESS } from 'soapbox/actions/statuses';
+import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet } from 'immutable';
+import context1 from 'soapbox/__fixtures__/context_1.json';
+import context2 from 'soapbox/__fixtures__/context_2.json';
describe('contexts reducer', () => {
it('should return the initial state', () => {
@@ -8,4 +11,34 @@ describe('contexts reducer', () => {
replies: ImmutableMap(),
}));
});
+
+ it('should support rendering a complete tree', () => {
+ // https://gitlab.com/soapbox-pub/soapbox-fe/-/issues/422
+ let result;
+ result = reducer(result, { type: CONTEXT_FETCH_SUCCESS, id: '9zIH8WYwtnUx4yDzUm', ancestors: context1.ancestors, descendants: context1.descendants });
+ result = reducer(result, { type: CONTEXT_FETCH_SUCCESS, id: '9zIH7PUdhK3Ircg4hM', ancestors: context2.ancestors, descendants: context2.descendants });
+
+ expect(result).toEqual(ImmutableMap({
+ inReplyTos: ImmutableMap({
+ '9zIH7PUdhK3Ircg4hM': '9zIH6kDXA10YqhMKqO',
+ '9zIH7mMGgc1RmJwDLM': '9zIH6kDXA10YqhMKqO',
+ '9zIH9GTCDWEFSRt2um': '9zIH7PUdhK3Ircg4hM',
+ '9zIH9fhaP9atiJoOJc': '9zIH8WYwtnUx4yDzUm',
+ '9zIH8WYwtnUx4yDzUm': '9zIH7PUdhK3Ircg4hM',
+ }),
+ replies: ImmutableMap({
+ '9zIH6kDXA10YqhMKqO': ImmutableOrderedSet([
+ '9zIH7PUdhK3Ircg4hM',
+ '9zIH7mMGgc1RmJwDLM',
+ ]),
+ '9zIH7PUdhK3Ircg4hM': ImmutableOrderedSet([
+ '9zIH8WYwtnUx4yDzUm',
+ '9zIH9GTCDWEFSRt2um',
+ ]),
+ '9zIH8WYwtnUx4yDzUm': ImmutableOrderedSet([
+ '9zIH9fhaP9atiJoOJc',
+ ]),
+ }),
+ }));
+ });
});
diff --git a/app/soapbox/reducers/__tests__/instance-test.js b/app/soapbox/reducers/__tests__/instance-test.js
index cba12c648..47cbb936a 100644
--- a/app/soapbox/reducers/__tests__/instance-test.js
+++ b/app/soapbox/reducers/__tests__/instance-test.js
@@ -11,6 +11,7 @@ describe('instance reducer', () => {
max_options: 4,
min_expiration: 300,
}),
+ version: '0.0.0',
}));
});
});
diff --git a/app/soapbox/reducers/__tests__/notifications-test.js b/app/soapbox/reducers/__tests__/notifications-test.js
index 97141c756..d2d434c3d 100644
--- a/app/soapbox/reducers/__tests__/notifications-test.js
+++ b/app/soapbox/reducers/__tests__/notifications-test.js
@@ -1,23 +1,23 @@
import * as actions from 'soapbox/actions/notifications';
import reducer from '../notifications';
import notifications from 'soapbox/__fixtures__/notifications.json';
-import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+import { Map as ImmutableMap, OrderedMap as ImmutableOrderedMap } from 'immutable';
import { take } from 'lodash';
import { ACCOUNT_BLOCK_SUCCESS, ACCOUNT_MUTE_SUCCESS } from 'soapbox/actions/accounts';
import notification from 'soapbox/__fixtures__/notification.json';
import intlMessages from 'soapbox/__fixtures__/intlMessages.json';
import relationship from 'soapbox/__fixtures__/relationship.json';
-import { TIMELINE_DELETE, TIMELINE_DISCONNECT } from 'soapbox/actions/timelines';
+import { TIMELINE_DELETE } from 'soapbox/actions/timelines';
describe('notifications reducer', () => {
it('should return the initial state', () => {
expect(reducer(undefined, {})).toEqual(ImmutableMap({
- items: ImmutableList(),
+ items: ImmutableOrderedMap(),
hasMore: true,
top: false,
unread: 0,
isLoading: false,
- queuedNotifications: ImmutableList(),
+ queuedNotifications: ImmutableOrderedMap(),
totalQueuedNotificationsCount: 0,
lastRead: -1,
}));
@@ -32,8 +32,8 @@ describe('notifications reducer', () => {
skipLoading: true,
};
expect(reducer(state, action)).toEqual(ImmutableMap({
- items: ImmutableList([
- ImmutableMap({
+ items: ImmutableOrderedMap([
+ ['10744', ImmutableMap({
id: '10744',
type: 'pleroma:emoji_reaction',
account: '9vMAje101ngtjlMj7w',
@@ -42,8 +42,8 @@ describe('notifications reducer', () => {
emoji: '😢',
chat_message: undefined,
is_seen: false,
- }),
- ImmutableMap({
+ })],
+ ['10743', ImmutableMap({
id: '10743',
type: 'favourite',
account: '9v5c6xSEgAi3Zu1Lv6',
@@ -52,8 +52,8 @@ describe('notifications reducer', () => {
emoji: undefined,
chat_message: undefined,
is_seen: true,
- }),
- ImmutableMap({
+ })],
+ ['10741', ImmutableMap({
id: '10741',
type: 'favourite',
account: '9v5cKMOPGqPcgfcWp6',
@@ -62,13 +62,13 @@ describe('notifications reducer', () => {
emoji: undefined,
chat_message: undefined,
is_seen: true,
- }),
+ })],
]),
hasMore: false,
top: false,
unread: 1,
isLoading: false,
- queuedNotifications: ImmutableList(),
+ queuedNotifications: ImmutableOrderedMap(),
totalQueuedNotificationsCount: 0,
lastRead: -1,
}));
@@ -100,8 +100,8 @@ describe('notifications reducer', () => {
it('should handle NOTIFICATIONS_FILTER_SET', () => {
const state = ImmutableMap({
- items: ImmutableList([
- ImmutableMap({
+ items: ImmutableOrderedMap([
+ ['10744', ImmutableMap({
id: '10744',
type: 'pleroma:emoji_reaction',
account: '9vMAje101ngtjlMj7w',
@@ -110,8 +110,8 @@ describe('notifications reducer', () => {
emoji: '😢',
chat_message: undefined,
is_seen: false,
- }),
- ImmutableMap({
+ })],
+ ['10743', ImmutableMap({
id: '10743',
type: 'favourite',
account: '9v5c6xSEgAi3Zu1Lv6',
@@ -120,8 +120,8 @@ describe('notifications reducer', () => {
emoji: undefined,
chat_message: undefined,
is_seen: true,
- }),
- ImmutableMap({
+ })],
+ ['10741', ImmutableMap({
id: '10741',
type: 'favourite',
account: '9v5cKMOPGqPcgfcWp6',
@@ -130,13 +130,13 @@ describe('notifications reducer', () => {
emoji: undefined,
chat_message: undefined,
is_seen: true,
- }),
+ })],
]),
hasMore: false,
top: false,
unread: 1,
isLoading: false,
- queuedNotifications: ImmutableList(),
+ queuedNotifications: ImmutableOrderedMap(),
totalQueuedNotificationsCount: 0,
lastRead: -1,
});
@@ -144,12 +144,12 @@ describe('notifications reducer', () => {
type: actions.NOTIFICATIONS_FILTER_SET,
};
expect(reducer(state, action)).toEqual(ImmutableMap({
- items: ImmutableList(),
+ items: ImmutableOrderedMap(),
hasMore: true,
top: false,
unread: 1,
isLoading: false,
- queuedNotifications: ImmutableList(),
+ queuedNotifications: ImmutableOrderedMap(),
totalQueuedNotificationsCount: 0,
lastRead: -1,
}));
@@ -185,7 +185,7 @@ describe('notifications reducer', () => {
it('should handle NOTIFICATIONS_UPDATE, when top = false, increment unread', () => {
const state = ImmutableMap({
- items: ImmutableList(),
+ items: ImmutableOrderedMap(),
top: false,
unread: 1,
});
@@ -194,8 +194,8 @@ describe('notifications reducer', () => {
notification: notification,
};
expect(reducer(state, action)).toEqual(ImmutableMap({
- items: ImmutableList([
- ImmutableMap({
+ items: ImmutableOrderedMap([
+ ['10743', ImmutableMap({
id: '10743',
type: 'favourite',
account: '9v5c6xSEgAi3Zu1Lv6',
@@ -204,7 +204,7 @@ describe('notifications reducer', () => {
emoji: undefined,
chat_message: undefined,
is_seen: true,
- }),
+ })],
]),
top: false,
unread: 2,
@@ -213,8 +213,8 @@ describe('notifications reducer', () => {
it('should handle NOTIFICATIONS_UPDATE_QUEUE', () => {
const state = ImmutableMap({
- items: ImmutableList([]),
- queuedNotifications: ImmutableList([]),
+ items: ImmutableOrderedMap(),
+ queuedNotifications: ImmutableOrderedMap(),
totalQueuedNotificationsCount: 0,
});
const action = {
@@ -224,19 +224,19 @@ describe('notifications reducer', () => {
intlLocale: 'en',
};
expect(reducer(state, action)).toEqual(ImmutableMap({
- items: ImmutableList([]),
- queuedNotifications: ImmutableList([{
+ items: ImmutableOrderedMap(),
+ queuedNotifications: ImmutableOrderedMap([[notification.id, {
notification: notification,
intlMessages: intlMessages,
intlLocale: 'en',
- }]),
+ }]]),
totalQueuedNotificationsCount: 1,
}));
});
it('should handle NOTIFICATIONS_DEQUEUE', () => {
const state = ImmutableMap({
- items: ImmutableList([]),
+ items: ImmutableOrderedMap(),
queuedNotifications: take(notifications, 1),
totalQueuedNotificationsCount: 1,
});
@@ -244,16 +244,16 @@ describe('notifications reducer', () => {
type: actions.NOTIFICATIONS_DEQUEUE,
};
expect(reducer(state, action)).toEqual(ImmutableMap({
- items: ImmutableList([]),
- queuedNotifications: ImmutableList([]),
+ items: ImmutableOrderedMap(),
+ queuedNotifications: ImmutableOrderedMap(),
totalQueuedNotificationsCount: 0,
}));
});
it('should handle NOTIFICATIONS_EXPAND_SUCCESS with non-empty items and next set true', () => {
const state = ImmutableMap({
- items: ImmutableList([
- ImmutableMap({
+ items: ImmutableOrderedMap([
+ ['10734', ImmutableMap({
id: '10734',
type: 'pleroma:emoji_reaction',
account: '9vMAje101ngtjlMj7w',
@@ -262,7 +262,7 @@ describe('notifications reducer', () => {
emoji: '😢',
chat_message: undefined,
is_seen: false,
- }),
+ })],
]),
unread: 1,
hasMore: true,
@@ -274,8 +274,8 @@ describe('notifications reducer', () => {
next: true,
};
expect(reducer(state, action)).toEqual(ImmutableMap({
- items: ImmutableList([
- ImmutableMap({
+ items: ImmutableOrderedMap([
+ ['10744', ImmutableMap({
id: '10744',
type: 'pleroma:emoji_reaction',
account: '9vMAje101ngtjlMj7w',
@@ -284,8 +284,8 @@ describe('notifications reducer', () => {
emoji: '😢',
chat_message: undefined,
is_seen: false,
- }),
- ImmutableMap({
+ })],
+ ['10743', ImmutableMap({
id: '10743',
type: 'favourite',
account: '9v5c6xSEgAi3Zu1Lv6',
@@ -294,8 +294,8 @@ describe('notifications reducer', () => {
emoji: undefined,
chat_message: undefined,
is_seen: true,
- }),
- ImmutableMap({
+ })],
+ ['10741', ImmutableMap({
id: '10741',
type: 'favourite',
account: '9v5cKMOPGqPcgfcWp6',
@@ -304,8 +304,8 @@ describe('notifications reducer', () => {
emoji: undefined,
chat_message: undefined,
is_seen: true,
- }),
- ImmutableMap({
+ })],
+ ['10734', ImmutableMap({
id: '10734',
type: 'pleroma:emoji_reaction',
account: '9vMAje101ngtjlMj7w',
@@ -314,7 +314,7 @@ describe('notifications reducer', () => {
emoji: '😢',
chat_message: undefined,
is_seen: false,
- }),
+ })],
]),
unread: 1,
hasMore: true,
@@ -324,7 +324,7 @@ describe('notifications reducer', () => {
it('should handle NOTIFICATIONS_EXPAND_SUCCESS with empty items and next set true', () => {
const state = ImmutableMap({
- items: ImmutableList([]),
+ items: ImmutableOrderedMap(),
unread: 1,
hasMore: true,
isLoading: false,
@@ -335,8 +335,8 @@ describe('notifications reducer', () => {
next: true,
};
expect(reducer(state, action)).toEqual(ImmutableMap({
- items: ImmutableList([
- ImmutableMap({
+ items: ImmutableOrderedMap([
+ ['10744', ImmutableMap({
id: '10744',
type: 'pleroma:emoji_reaction',
account: '9vMAje101ngtjlMj7w',
@@ -345,8 +345,8 @@ describe('notifications reducer', () => {
emoji: '😢',
chat_message: undefined,
is_seen: false,
- }),
- ImmutableMap({
+ })],
+ ['10743', ImmutableMap({
id: '10743',
type: 'favourite',
account: '9v5c6xSEgAi3Zu1Lv6',
@@ -355,8 +355,8 @@ describe('notifications reducer', () => {
emoji: undefined,
chat_message: undefined,
is_seen: true,
- }),
- ImmutableMap({
+ })],
+ ['10741', ImmutableMap({
id: '10741',
type: 'favourite',
account: '9v5cKMOPGqPcgfcWp6',
@@ -365,7 +365,7 @@ describe('notifications reducer', () => {
emoji: undefined,
chat_message: undefined,
is_seen: true,
- }),
+ })],
]),
unread: 1,
hasMore: true,
@@ -375,8 +375,8 @@ describe('notifications reducer', () => {
it('should handle ACCOUNT_BLOCK_SUCCESS', () => {
const state = ImmutableMap({
- items: ImmutableList([
- ImmutableMap({
+ items: ImmutableOrderedMap([
+ ['10744', ImmutableMap({
id: '10744',
type: 'pleroma:emoji_reaction',
account: '9vMAje101ngtjlMj7w',
@@ -385,8 +385,8 @@ describe('notifications reducer', () => {
emoji: '😢',
chat_message: undefined,
is_seen: false,
- }),
- ImmutableMap({
+ })],
+ ['10743', ImmutableMap({
id: '10743',
type: 'favourite',
account: '9v5c6xSEgAi3Zu1Lv6',
@@ -395,8 +395,8 @@ describe('notifications reducer', () => {
emoji: undefined,
chat_message: undefined,
is_seen: true,
- }),
- ImmutableMap({
+ })],
+ ['10741', ImmutableMap({
id: '10741',
type: 'favourite',
account: '9v5cKMOPGqPcgfcWp6',
@@ -405,7 +405,7 @@ describe('notifications reducer', () => {
emoji: undefined,
chat_message: undefined,
is_seen: true,
- }),
+ })],
]),
});
const action = {
@@ -413,8 +413,8 @@ describe('notifications reducer', () => {
relationship: relationship,
};
expect(reducer(state, action)).toEqual(ImmutableMap({
- items: ImmutableList([
- ImmutableMap({
+ items: ImmutableOrderedMap([
+ ['10743', ImmutableMap({
id: '10743',
type: 'favourite',
account: '9v5c6xSEgAi3Zu1Lv6',
@@ -423,8 +423,8 @@ describe('notifications reducer', () => {
emoji: undefined,
chat_message: undefined,
is_seen: true,
- }),
- ImmutableMap({
+ })],
+ ['10741', ImmutableMap({
id: '10741',
type: 'favourite',
account: '9v5cKMOPGqPcgfcWp6',
@@ -433,15 +433,15 @@ describe('notifications reducer', () => {
emoji: undefined,
chat_message: undefined,
is_seen: true,
- }),
+ })],
]),
}));
});
it('should handle ACCOUNT_MUTE_SUCCESS', () => {
const state = ImmutableMap({
- items: ImmutableList([
- ImmutableMap({
+ items: ImmutableOrderedMap([
+ ['10744', ImmutableMap({
id: '10744',
type: 'pleroma:emoji_reaction',
account: '9vMAje101ngtjlMj7w',
@@ -450,8 +450,8 @@ describe('notifications reducer', () => {
emoji: '😢',
chat_message: undefined,
is_seen: false,
- }),
- ImmutableMap({
+ })],
+ ['10743', ImmutableMap({
id: '10743',
type: 'favourite',
account: '9v5c6xSEgAi3Zu1Lv6',
@@ -460,8 +460,8 @@ describe('notifications reducer', () => {
emoji: undefined,
chat_message: undefined,
is_seen: true,
- }),
- ImmutableMap({
+ })],
+ ['10741', ImmutableMap({
id: '10741',
type: 'favourite',
account: '9v5cKMOPGqPcgfcWp6',
@@ -470,7 +470,7 @@ describe('notifications reducer', () => {
emoji: undefined,
chat_message: undefined,
is_seen: true,
- }),
+ })],
]),
});
const action = {
@@ -478,8 +478,8 @@ describe('notifications reducer', () => {
relationship: relationship,
};
expect(reducer(state, action)).toEqual(ImmutableMap({
- items: ImmutableList([
- ImmutableMap({
+ items: ImmutableOrderedMap([
+ ['10743', ImmutableMap({
id: '10743',
type: 'favourite',
account: '9v5c6xSEgAi3Zu1Lv6',
@@ -488,8 +488,8 @@ describe('notifications reducer', () => {
emoji: undefined,
chat_message: undefined,
is_seen: true,
- }),
- ImmutableMap({
+ })],
+ ['10741', ImmutableMap({
id: '10741',
type: 'favourite',
account: '9v5cKMOPGqPcgfcWp6',
@@ -498,43 +498,43 @@ describe('notifications reducer', () => {
emoji: undefined,
chat_message: undefined,
is_seen: true,
- }),
+ })],
]),
}));
});
it('should handle NOTIFICATIONS_CLEAR', () => {
const state = ImmutableMap({
- items: ImmutableList([]),
+ items: ImmutableOrderedMap(),
hasMore: true,
});
const action = {
type: actions.NOTIFICATIONS_CLEAR,
};
expect(reducer(state, action)).toEqual(ImmutableMap({
- items: ImmutableList([]),
+ items: ImmutableOrderedMap(),
hasMore: false,
}));
});
it('should handle NOTIFICATIONS_MARK_READ_REQUEST', () => {
const state = ImmutableMap({
- items: ImmutableList([]),
+ items: ImmutableOrderedMap(),
});
const action = {
type: actions.NOTIFICATIONS_MARK_READ_REQUEST,
lastRead: 35098814,
};
expect(reducer(state, action)).toEqual(ImmutableMap({
- items: ImmutableList([]),
+ items: ImmutableOrderedMap(),
lastRead: 35098814,
}));
});
it('should handle TIMELINE_DELETE', () => {
const state = ImmutableMap({
- items: ImmutableList([
- ImmutableMap({
+ items: ImmutableOrderedMap([
+ ['10744', ImmutableMap({
id: '10744',
type: 'pleroma:emoji_reaction',
account: '9vMAje101ngtjlMj7w',
@@ -543,8 +543,8 @@ describe('notifications reducer', () => {
emoji: '😢',
chat_message: undefined,
is_seen: false,
- }),
- ImmutableMap({
+ })],
+ ['10743', ImmutableMap({
id: '10743',
type: 'favourite',
account: '9v5c6xSEgAi3Zu1Lv6',
@@ -553,8 +553,8 @@ describe('notifications reducer', () => {
emoji: undefined,
chat_message: undefined,
is_seen: true,
- }),
- ImmutableMap({
+ })],
+ ['10741', ImmutableMap({
id: '10741',
type: 'favourite',
account: '9v5cKMOPGqPcgfcWp6',
@@ -563,7 +563,7 @@ describe('notifications reducer', () => {
emoji: undefined,
chat_message: undefined,
is_seen: true,
- }),
+ })],
]),
});
const action = {
@@ -571,84 +571,87 @@ describe('notifications reducer', () => {
id: '9vvNxoo5EFbbnfdXQu',
};
expect(reducer(state, action)).toEqual(ImmutableMap({
- items: ImmutableList([]),
+ items: ImmutableOrderedMap(),
}));
});
- it('should handle TIMELINE_DISCONNECT', () => {
- const state = ImmutableMap({
- items: ImmutableList([
- ImmutableMap({
- id: '10744',
- type: 'pleroma:emoji_reaction',
- account: '9vMAje101ngtjlMj7w',
- created_at: '2020-06-10T02:54:39.000Z',
- status: '9vvNxoo5EFbbnfdXQu',
- emoji: '😢',
- chat_message: undefined,
- is_seen: false,
- }),
- ImmutableMap({
- id: '10743',
- type: 'favourite',
- account: '9v5c6xSEgAi3Zu1Lv6',
- created_at: '2020-06-10T02:51:05.000Z',
- status: '9vvNxoo5EFbbnfdXQu',
- emoji: undefined,
- chat_message: undefined,
- is_seen: true,
- }),
- ImmutableMap({
- id: '10741',
- type: 'favourite',
- account: '9v5cKMOPGqPcgfcWp6',
- created_at: '2020-06-10T02:05:06.000Z',
- status: '9vvNxoo5EFbbnfdXQu',
- emoji: undefined,
- chat_message: undefined,
- is_seen: true,
- }),
- ]),
- });
- const action = {
- type: TIMELINE_DISCONNECT,
- timeline: 'home',
- };
- expect(reducer(state, action)).toEqual(ImmutableMap({
- items: ImmutableList([
- null,
- ImmutableMap({
- id: '10744',
- type: 'pleroma:emoji_reaction',
- account: '9vMAje101ngtjlMj7w',
- created_at: '2020-06-10T02:54:39.000Z',
- status: '9vvNxoo5EFbbnfdXQu',
- emoji: '😢',
- chat_message: undefined,
- is_seen: false,
- }),
- ImmutableMap({
- id: '10743',
- type: 'favourite',
- account: '9v5c6xSEgAi3Zu1Lv6',
- created_at: '2020-06-10T02:51:05.000Z',
- status: '9vvNxoo5EFbbnfdXQu',
- emoji: undefined,
- chat_message: undefined,
- is_seen: true,
- }),
- ImmutableMap({
- id: '10741',
- type: 'favourite',
- account: '9v5cKMOPGqPcgfcWp6',
- created_at: '2020-06-10T02:05:06.000Z',
- status: '9vvNxoo5EFbbnfdXQu',
- emoji: undefined,
- chat_message: undefined,
- is_seen: true,
- }),
- ]),
- }));
- });
+ // Disable for now
+ // https://gitlab.com/soapbox-pub/soapbox-fe/-/issues/432
+ //
+ // it('should handle TIMELINE_DISCONNECT', () => {
+ // const state = ImmutableMap({
+ // items: ImmutableOrderedSet([
+ // ImmutableMap({
+ // id: '10744',
+ // type: 'pleroma:emoji_reaction',
+ // account: '9vMAje101ngtjlMj7w',
+ // created_at: '2020-06-10T02:54:39.000Z',
+ // status: '9vvNxoo5EFbbnfdXQu',
+ // emoji: '😢',
+ // chat_message: undefined,
+ // is_seen: false,
+ // }),
+ // ImmutableMap({
+ // id: '10743',
+ // type: 'favourite',
+ // account: '9v5c6xSEgAi3Zu1Lv6',
+ // created_at: '2020-06-10T02:51:05.000Z',
+ // status: '9vvNxoo5EFbbnfdXQu',
+ // emoji: undefined,
+ // chat_message: undefined,
+ // is_seen: true,
+ // }),
+ // ImmutableMap({
+ // id: '10741',
+ // type: 'favourite',
+ // account: '9v5cKMOPGqPcgfcWp6',
+ // created_at: '2020-06-10T02:05:06.000Z',
+ // status: '9vvNxoo5EFbbnfdXQu',
+ // emoji: undefined,
+ // chat_message: undefined,
+ // is_seen: true,
+ // }),
+ // ]),
+ // });
+ // const action = {
+ // type: TIMELINE_DISCONNECT,
+ // timeline: 'home',
+ // };
+ // expect(reducer(state, action)).toEqual(ImmutableMap({
+ // items: ImmutableOrderedSet([
+ // null,
+ // ImmutableMap({
+ // id: '10744',
+ // type: 'pleroma:emoji_reaction',
+ // account: '9vMAje101ngtjlMj7w',
+ // created_at: '2020-06-10T02:54:39.000Z',
+ // status: '9vvNxoo5EFbbnfdXQu',
+ // emoji: '😢',
+ // chat_message: undefined,
+ // is_seen: false,
+ // }),
+ // ImmutableMap({
+ // id: '10743',
+ // type: 'favourite',
+ // account: '9v5c6xSEgAi3Zu1Lv6',
+ // created_at: '2020-06-10T02:51:05.000Z',
+ // status: '9vvNxoo5EFbbnfdXQu',
+ // emoji: undefined,
+ // chat_message: undefined,
+ // is_seen: true,
+ // }),
+ // ImmutableMap({
+ // id: '10741',
+ // type: 'favourite',
+ // account: '9v5cKMOPGqPcgfcWp6',
+ // created_at: '2020-06-10T02:05:06.000Z',
+ // status: '9vvNxoo5EFbbnfdXQu',
+ // emoji: undefined,
+ // chat_message: undefined,
+ // is_seen: true,
+ // }),
+ // ]),
+ // }));
+ // });
});
diff --git a/app/soapbox/reducers/__tests__/soapbox-test.js b/app/soapbox/reducers/__tests__/soapbox-test.js
index 25106faac..ff06e7c69 100644
--- a/app/soapbox/reducers/__tests__/soapbox-test.js
+++ b/app/soapbox/reducers/__tests__/soapbox-test.js
@@ -37,7 +37,7 @@ describe('soapbox reducer', () => {
const state = ImmutableMap({ brandColor: '#354e91' });
const action = {
type: ADMIN_CONFIG_UPDATE_SUCCESS,
- config: soapboxConfig,
+ configs: soapboxConfig.configs,
};
expect(reducer(state, action).toJS()).toMatchObject({
brandColor: '#254f92',
diff --git a/app/soapbox/reducers/accounts.js b/app/soapbox/reducers/accounts.js
index b02ef763f..f8f869ad5 100644
--- a/app/soapbox/reducers/accounts.js
+++ b/app/soapbox/reducers/accounts.js
@@ -7,11 +7,18 @@ import { CHATS_FETCH_SUCCESS, CHAT_FETCH_SUCCESS } from 'soapbox/actions/chats';
import { STREAMING_CHAT_UPDATE } from 'soapbox/actions/streaming';
import { normalizeAccount as normalizeAccount2 } from 'soapbox/actions/importer/normalizer';
import { Map as ImmutableMap, fromJS } from 'immutable';
+import { normalizePleromaUserFields } from 'soapbox/utils/pleroma';
const initialState = ImmutableMap();
+const normalizePleroma = account => {
+ if (!account.pleroma) return account;
+ account.pleroma = normalizePleromaUserFields(account.pleroma);
+ return account;
+};
+
const normalizeAccount = (state, account) => {
- const normalized = fromJS(account).deleteAll([
+ const normalized = fromJS(normalizePleroma(account)).deleteAll([
'followers_count',
'following_count',
'statuses_count',
diff --git a/app/soapbox/reducers/admin.js b/app/soapbox/reducers/admin.js
index 2a41666f6..960df70f6 100644
--- a/app/soapbox/reducers/admin.js
+++ b/app/soapbox/reducers/admin.js
@@ -1,21 +1,107 @@
-import { ADMIN_REPORTS_FETCH_SUCCESS } from '../actions/admin';
-import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
+import {
+ ADMIN_CONFIG_FETCH_SUCCESS,
+ ADMIN_REPORTS_FETCH_SUCCESS,
+ ADMIN_REPORTS_PATCH_REQUEST,
+ ADMIN_REPORTS_PATCH_SUCCESS,
+ ADMIN_USERS_FETCH_SUCCESS,
+ ADMIN_USERS_DELETE_REQUEST,
+ ADMIN_USERS_DELETE_SUCCESS,
+ ADMIN_USERS_APPROVE_REQUEST,
+ ADMIN_USERS_APPROVE_SUCCESS,
+} from '../actions/admin';
+import {
+ Map as ImmutableMap,
+ List as ImmutableList,
+ OrderedSet as ImmutableOrderedSet,
+ fromJS,
+} from 'immutable';
+import { normalizePleromaUserFields } from 'soapbox/utils/pleroma';
const initialState = ImmutableMap({
- reports: ImmutableList(),
- open_report_count: 0,
+ reports: ImmutableMap(),
+ openReports: ImmutableOrderedSet(),
+ users: ImmutableMap(),
+ awaitingApproval: ImmutableOrderedSet(),
+ configs: ImmutableList(),
+ needsReboot: false,
});
+function importUsers(state, users) {
+ return state.withMutations(state => {
+ users.forEach(user => {
+ user = normalizePleromaUserFields(user);
+ if (!user.is_approved) {
+ state.update('awaitingApproval', orderedSet => orderedSet.add(user.nickname));
+ }
+ state.setIn(['users', user.nickname], fromJS(user));
+ });
+ });
+}
+
+function deleteUsers(state, nicknames) {
+ return state.withMutations(state => {
+ nicknames.forEach(nickname => {
+ state.update('awaitingApproval', orderedSet => orderedSet.delete(nickname));
+ state.deleteIn(['users', nickname]);
+ });
+ });
+}
+
+function approveUsers(state, users) {
+ return state.withMutations(state => {
+ users.forEach(user => {
+ state.update('awaitingApproval', orderedSet => orderedSet.delete(user.nickname));
+ state.setIn(['users', user.nickname], fromJS(user));
+ });
+ });
+}
+
+function importReports(state, reports) {
+ return state.withMutations(state => {
+ reports.forEach(report => {
+ report.statuses = report.statuses.map(status => status.id);
+ if (report.state === 'open') {
+ state.update('openReports', orderedSet => orderedSet.add(report.id));
+ }
+ state.setIn(['reports', report.id], fromJS(report));
+ });
+ });
+}
+
+function handleReportDiffs(state, reports) {
+ // Note: the reports here aren't full report objects
+ // hence the need for a new function.
+ return state.withMutations(state => {
+ reports.forEach(report => {
+ switch(report.state) {
+ case 'open':
+ state.update('openReports', orderedSet => orderedSet.add(report.id));
+ break;
+ default:
+ state.update('openReports', orderedSet => orderedSet.delete(report.id));
+ }
+ });
+ });
+}
+
export default function admin(state = initialState, action) {
switch(action.type) {
+ case ADMIN_CONFIG_FETCH_SUCCESS:
+ return state.set('configs', fromJS(action.configs));
case ADMIN_REPORTS_FETCH_SUCCESS:
- if (action.params && action.params.state === 'open') {
- return state
- .set('reports', fromJS(action.data.reports))
- .set('open_report_count', action.data.total);
- } else {
- return state.set('reports', fromJS(action.data.reports));
- }
+ return importReports(state, action.reports);
+ case ADMIN_REPORTS_PATCH_REQUEST:
+ case ADMIN_REPORTS_PATCH_SUCCESS:
+ return handleReportDiffs(state, action.reports);
+ case ADMIN_USERS_FETCH_SUCCESS:
+ return importUsers(state, action.data.users);
+ case ADMIN_USERS_DELETE_REQUEST:
+ case ADMIN_USERS_DELETE_SUCCESS:
+ return deleteUsers(state, action.nicknames);
+ case ADMIN_USERS_APPROVE_REQUEST:
+ return state.update('awaitingApproval', set => set.subtract(action.nicknames));
+ case ADMIN_USERS_APPROVE_SUCCESS:
+ return approveUsers(state, action.users);
default:
return state;
}
diff --git a/app/soapbox/reducers/alerts.js b/app/soapbox/reducers/alerts.js
index 089d920c3..9a0a7ccaf 100644
--- a/app/soapbox/reducers/alerts.js
+++ b/app/soapbox/reducers/alerts.js
@@ -14,6 +14,7 @@ export default function alerts(state = initialState, action) {
key: state.size > 0 ? state.last().get('key') + 1 : 0,
title: action.title,
message: action.message,
+ severity: action.severity || 'info',
}));
case ALERT_DISMISS:
return state.filterNot(item => item.get('key') === action.alert.key);
diff --git a/app/soapbox/reducers/backups.js b/app/soapbox/reducers/backups.js
new file mode 100644
index 000000000..913038ee8
--- /dev/null
+++ b/app/soapbox/reducers/backups.js
@@ -0,0 +1,27 @@
+import {
+ BACKUPS_FETCH_SUCCESS,
+ BACKUPS_CREATE_SUCCESS,
+} from '../actions/backups';
+import { Map as ImmutableMap, fromJS } from 'immutable';
+
+const initialState = ImmutableMap();
+
+const importBackup = (state, backup) => {
+ return state.set(backup.get('inserted_at'), backup);
+};
+
+const importBackups = (state, backups) => {
+ return state.withMutations(mutable => {
+ backups.forEach(backup => importBackup(mutable, backup));
+ });
+};
+
+export default function backups(state = initialState, action) {
+ switch(action.type) {
+ case BACKUPS_FETCH_SUCCESS:
+ case BACKUPS_CREATE_SUCCESS:
+ return importBackups(state, fromJS(action.backups));
+ default:
+ return state;
+ }
+};
diff --git a/app/soapbox/reducers/chat_message_lists.js b/app/soapbox/reducers/chat_message_lists.js
index 0d635070f..3a7ec8610 100644
--- a/app/soapbox/reducers/chat_message_lists.js
+++ b/app/soapbox/reducers/chat_message_lists.js
@@ -3,15 +3,22 @@ import {
CHAT_MESSAGES_FETCH_SUCCESS,
CHAT_MESSAGE_SEND_REQUEST,
CHAT_MESSAGE_SEND_SUCCESS,
+ CHAT_MESSAGE_DELETE_SUCCESS,
} from 'soapbox/actions/chats';
import { STREAMING_CHAT_UPDATE } from 'soapbox/actions/streaming';
import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet } from 'immutable';
const initialState = ImmutableMap();
+const idComparator = (a, b) => {
+ if (a < b) return -1;
+ if (a > b) return 1;
+ return 0;
+};
+
const updateList = (state, chatId, messageIds) => {
const ids = state.get(chatId, ImmutableOrderedSet());
- const newIds = ids.union(messageIds);
+ const newIds = ids.union(messageIds).sort(idComparator);
return state.set(chatId, newIds);
};
@@ -31,22 +38,28 @@ const importLastMessages = (state, chats) =>
if (chat.last_message) importMessage(mutable, chat.last_message);
}));
+const replaceMessage = (state, chatId, oldId, newId) => {
+ return state.update(chatId, chat => chat.delete(oldId).add(newId).sort(idComparator));
+};
+
export default function chatMessageLists(state = initialState, action) {
switch(action.type) {
case CHAT_MESSAGE_SEND_REQUEST:
- return updateList(state, action.chatId, [action.uuid]).sort();
+ return updateList(state, action.chatId, [action.uuid]);
case CHATS_FETCH_SUCCESS:
- return importLastMessages(state, action.chats).sort();
+ return importLastMessages(state, action.chats);
case STREAMING_CHAT_UPDATE:
if (action.chat.last_message &&
action.chat.last_message.account_id !== action.me)
- return importMessages(state, [action.chat.last_message]).sort();
+ return importMessages(state, [action.chat.last_message]);
else
return state;
case CHAT_MESSAGES_FETCH_SUCCESS:
- return updateList(state, action.chatId, action.chatMessages.map(chat => chat.id).reverse()).sort();
+ return updateList(state, action.chatId, action.chatMessages.map(chat => chat.id));
case CHAT_MESSAGE_SEND_SUCCESS:
- return updateList(state, action.chatId, [action.chatMessage.id]).sort();
+ return replaceMessage(state, action.chatId, action.uuid, action.chatMessage.id);
+ case CHAT_MESSAGE_DELETE_SUCCESS:
+ return state.update(action.chatId, chat => chat.delete(action.messageId));
default:
return state;
}
diff --git a/app/soapbox/reducers/chat_messages.js b/app/soapbox/reducers/chat_messages.js
index 74d83ef79..ababe85bd 100644
--- a/app/soapbox/reducers/chat_messages.js
+++ b/app/soapbox/reducers/chat_messages.js
@@ -3,6 +3,8 @@ import {
CHAT_MESSAGES_FETCH_SUCCESS,
CHAT_MESSAGE_SEND_REQUEST,
CHAT_MESSAGE_SEND_SUCCESS,
+ CHAT_MESSAGE_DELETE_REQUEST,
+ CHAT_MESSAGE_DELETE_SUCCESS,
} from 'soapbox/actions/chats';
import { STREAMING_CHAT_UPDATE } from 'soapbox/actions/streaming';
import { Map as ImmutableMap, fromJS } from 'immutable';
@@ -43,6 +45,11 @@ export default function chatMessages(state = initialState, action) {
return importMessage(state, fromJS(action.chatMessage)).delete(action.uuid);
case STREAMING_CHAT_UPDATE:
return importLastMessages(state, fromJS([action.chat]));
+ case CHAT_MESSAGE_DELETE_REQUEST:
+ return state.update(action.messageId, chatMessage =>
+ chatMessage.set('pending', true).set('deleting', true));
+ case CHAT_MESSAGE_DELETE_SUCCESS:
+ return state.delete(action.messageId);
default:
return state;
}
diff --git a/app/soapbox/reducers/compose.js b/app/soapbox/reducers/compose.js
index ad5ea9b64..055535d41 100644
--- a/app/soapbox/reducers/compose.js
+++ b/app/soapbox/reducers/compose.js
@@ -38,21 +38,22 @@ import {
COMPOSE_POLL_SETTINGS_CHANGE,
} from '../actions/compose';
import { TIMELINE_DELETE } from '../actions/timelines';
-import { STORE_HYDRATE } from '../actions/store';
import { REDRAFT } from '../actions/statuses';
import { ME_FETCH_SUCCESS, ME_PATCH_SUCCESS } from '../actions/me';
import { SETTING_CHANGE, FE_NAME } from '../actions/settings';
import { Map as ImmutableMap, List as ImmutableList, OrderedSet as ImmutableOrderedSet, fromJS } from 'immutable';
+import { tagHistory } from 'soapbox/settings';
import uuid from '../uuid';
import { unescapeHTML } from '../utils/html';
const initialState = ImmutableMap({
+ id: null,
mounted: 0,
sensitive: false,
spoiler: false,
spoiler_text: '',
- content_type: 'text/markdown',
- privacy: null,
+ content_type: 'text/plain',
+ privacy: 'public',
text: '',
focusDate: null,
caretPosition: null,
@@ -68,8 +69,9 @@ const initialState = ImmutableMap({
suggestions: ImmutableList(),
default_privacy: 'public',
default_sensitive: false,
+ default_content_type: 'text/plain',
resetFileKey: Math.floor((Math.random() * 0x10000)),
- idempotencyKey: null,
+ idempotencyKey: uuid(),
tagHistory: ImmutableList(),
});
@@ -96,7 +98,7 @@ function clearAll(state) {
map.set('text', '');
map.set('spoiler', false);
map.set('spoiler_text', '');
- map.set('content_type', 'text/markdown');
+ map.set('content_type', state.get('default_content_type'));
map.set('is_submitting', false);
map.set('is_changing_upload', false);
map.set('in_reply_to', null);
@@ -178,16 +180,6 @@ const privacyPreference = (a, b) => {
return order[Math.max(order.indexOf(a), order.indexOf(b), 0)];
};
-const hydrate = (state, hydratedState = ImmutableMap()) => {
- state = clearAll(state.merge(hydratedState));
-
- if (hydratedState.has('text')) {
- state = state.set('text', hydratedState.get('text'));
- }
-
- return state;
-};
-
const domParser = new DOMParser();
const expandMentions = status => {
@@ -202,10 +194,8 @@ const expandMentions = status => {
};
export default function compose(state = initialState, action) {
- let me, defaultPrivacy;
+ let me, defaultPrivacy, defaultContentType;
switch(action.type) {
- case STORE_HYDRATE:
- return hydrate(state, action.state.get('compose'));
case COMPOSE_MOUNT:
return state.set('mounted', state.get('mounted') + 1);
case COMPOSE_UNMOUNT:
@@ -257,7 +247,7 @@ export default function compose(state = initialState, action) {
map.set('focusDate', new Date());
map.set('caretPosition', null);
map.set('idempotencyKey', uuid());
- map.set('content_type', 'text/markdown');
+ map.set('content_type', state.get('default_content_type'));
if (action.status.get('spoiler_text', '').length > 0) {
map.set('spoiler', true);
@@ -342,7 +332,7 @@ export default function compose(state = initialState, action) {
map.set('focusDate', new Date());
map.set('caretPosition', null);
map.set('idempotencyKey', uuid());
- map.set('content_type', 'text/markdown');
+ map.set('content_type', action.status.get('content_type'));
if (action.status.get('spoiler_text').length > 0) {
map.set('spoiler', true);
@@ -374,19 +364,32 @@ export default function compose(state = initialState, action) {
return state.update('poll', poll => poll.set('expires_in', action.expiresIn).set('multiple', action.isMultiple));
case ME_FETCH_SUCCESS:
me = fromJS(action.me);
- defaultPrivacy = me.getIn(['pleroma', 'settings_store', FE_NAME, 'defaultPrivacy']);
- if (!defaultPrivacy) return state;
- return state.set('default_privacy', defaultPrivacy).set('privacy', defaultPrivacy);
+ defaultPrivacy = me.getIn(['pleroma', 'settings_store', FE_NAME, 'defaultPrivacy'], 'public');
+ defaultContentType = me.getIn(['pleroma', 'settings_store', FE_NAME, 'defaultContentType'], 'text/plain');
+ return state.merge({
+ default_privacy: defaultPrivacy,
+ privacy: defaultPrivacy,
+ default_content_type: defaultContentType,
+ content_type: defaultContentType,
+ tagHistory: ImmutableList(tagHistory.get(action.me.id)),
+ });
case ME_PATCH_SUCCESS:
me = fromJS(action.me);
defaultPrivacy = me.getIn(['pleroma', 'settings_store', FE_NAME, 'defaultPrivacy']);
- if (!defaultPrivacy) return state;
- return state.set('default_privacy', defaultPrivacy);
+ defaultContentType = me.getIn(['pleroma', 'settings_store', FE_NAME, 'defaultContentType']);
+ if (defaultPrivacy) state = state.set('default_privacy', defaultPrivacy);
+ if (defaultContentType) state = state.set('default_content_type', defaultContentType);
+ return state;
case SETTING_CHANGE:
const pathString = action.path.join(',');
- if (pathString === 'defaultPrivacy')
+ switch (pathString) {
+ case 'defaultPrivacy':
return state.set('default_privacy', action.value).set('privacy', action.value);
- return state;
+ case 'defaultContentType':
+ return state.set('default_content_type', action.value).set('content_type', action.value);
+ default:
+ return state;
+ }
default:
return state;
}
diff --git a/app/soapbox/reducers/contexts.js b/app/soapbox/reducers/contexts.js
index 4c2d6cc8a..844f9f78f 100644
--- a/app/soapbox/reducers/contexts.js
+++ b/app/soapbox/reducers/contexts.js
@@ -3,9 +3,9 @@ import {
ACCOUNT_MUTE_SUCCESS,
} from '../actions/accounts';
import { CONTEXT_FETCH_SUCCESS } from '../actions/statuses';
-import { TIMELINE_DELETE, TIMELINE_UPDATE } from '../actions/timelines';
-import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
-import compareId from '../compare_id';
+import { TIMELINE_DELETE } from '../actions/timelines';
+import { STATUS_IMPORT, STATUSES_IMPORT } from 'soapbox/actions/importer';
+import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet } from 'immutable';
const initialState = ImmutableMap({
inReplyTos: ImmutableMap(),
@@ -16,26 +16,16 @@ const normalizeContext = (immutableState, id, ancestors, descendants) => immutab
state.update('inReplyTos', immutableAncestors => immutableAncestors.withMutations(inReplyTos => {
state.update('replies', immutableDescendants => immutableDescendants.withMutations(replies => {
function addReply({ id, in_reply_to_id }) {
- if (in_reply_to_id && !inReplyTos.has(id)) {
-
- replies.update(in_reply_to_id, ImmutableList(), siblings => {
- const index = siblings.findLastIndex(sibling => compareId(sibling, id) < 0);
- return siblings.insert(index + 1, id);
+ if (in_reply_to_id) {
+ replies.update(in_reply_to_id, ImmutableOrderedSet(), siblings => {
+ return siblings.add(id).sort();
});
inReplyTos.set(id, in_reply_to_id);
}
}
- // We know in_reply_to_id of statuses but `id` itself.
- // So we assume that the status of the id replies to last ancestors.
-
ancestors.forEach(addReply);
-
- if (ancestors[0]) {
- addReply({ id, in_reply_to_id: ancestors[ancestors.length - 1].id });
- }
-
descendants.forEach(addReply);
}));
}));
@@ -76,12 +66,12 @@ const filterContexts = (state, relationship, statuses) => {
const updateContext = (state, status) => {
if (status.in_reply_to_id) {
return state.withMutations(mutable => {
- const replies = mutable.getIn(['replies', status.in_reply_to_id], ImmutableList());
+ const replies = mutable.getIn(['replies', status.in_reply_to_id], ImmutableOrderedSet());
mutable.setIn(['inReplyTos', status.id], status.in_reply_to_id);
if (!replies.includes(status.id)) {
- mutable.setIn(['replies', status.in_reply_to_id], replies.push(status.id));
+ mutable.setIn(['replies', status.in_reply_to_id], replies.add(status.id).sort());
}
});
}
@@ -98,8 +88,12 @@ export default function replies(state = initialState, action) {
return normalizeContext(state, action.id, action.ancestors, action.descendants);
case TIMELINE_DELETE:
return deleteFromContexts(state, [action.id]);
- case TIMELINE_UPDATE:
+ case STATUS_IMPORT:
return updateContext(state, action.status);
+ case STATUSES_IMPORT:
+ return state.withMutations(mutable =>
+ action.statuses.forEach(status => updateContext(mutable, status)));
+
default:
return state;
}
diff --git a/app/soapbox/reducers/index.js b/app/soapbox/reducers/index.js
index 2caec469a..e8cb4821b 100644
--- a/app/soapbox/reducers/index.js
+++ b/app/soapbox/reducers/index.js
@@ -1,4 +1,6 @@
import { combineReducers } from 'redux-immutable';
+import { Map as ImmutableMap } from 'immutable';
+import { AUTH_LOGGED_OUT } from 'soapbox/actions/auth';
import dropdown_menu from './dropdown_menu';
import timelines from './timelines';
import meta from './meta';
@@ -46,8 +48,10 @@ import admin from './admin';
import chats from './chats';
import chat_messages from './chat_messages';
import chat_message_lists from './chat_message_lists';
+import profile_hover_card from './profile_hover_card';
+import backups from './backups';
-const reducers = {
+const appReducer = combineReducers({
dropdown_menu,
timelines,
meta,
@@ -95,6 +99,29 @@ const reducers = {
chats,
chat_messages,
chat_message_lists,
+ profile_hover_card,
+ backups,
+});
+
+// Clear the state (mostly) when the user logs out
+const logOut = (state = ImmutableMap()) => {
+ const whitelist = ['instance', 'soapbox', 'custom_emojis'];
+
+ return ImmutableMap(
+ whitelist.reduce((acc, curr) => {
+ acc[curr] = state.get(curr);
+ return acc;
+ }, {}),
+ );
};
-export default combineReducers(reducers);
+const rootReducer = (state, action) => {
+ switch(action.type) {
+ case AUTH_LOGGED_OUT:
+ return appReducer(logOut(state), action);
+ default:
+ return appReducer(state, action);
+ }
+};
+
+export default rootReducer;
diff --git a/app/soapbox/reducers/instance.js b/app/soapbox/reducers/instance.js
index 3bcd1c4ba..36f06e0b5 100644
--- a/app/soapbox/reducers/instance.js
+++ b/app/soapbox/reducers/instance.js
@@ -3,7 +3,9 @@ import {
NODEINFO_FETCH_SUCCESS,
} from '../actions/instance';
import { PRELOAD_IMPORT } from 'soapbox/actions/preload';
-import { Map as ImmutableMap, fromJS } from 'immutable';
+import { ADMIN_CONFIG_UPDATE_REQUEST, ADMIN_CONFIG_UPDATE_SUCCESS } from 'soapbox/actions/admin';
+import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
+import { ConfigDB } from 'soapbox/utils/config_db';
const nodeinfoToInstance = nodeinfo => {
// Match Pleroma's develop branch
@@ -30,6 +32,7 @@ const initialState = ImmutableMap({
max_options: 4,
min_expiration: 300,
}),
+ version: '0.0.0',
});
const preloadImport = (state, action, path) => {
@@ -37,6 +40,28 @@ const preloadImport = (state, action, path) => {
return data ? initialState.mergeDeep(fromJS(data)) : state;
};
+const getConfigValue = (instanceConfig, key) => {
+ const v = instanceConfig
+ .find(value => value.getIn(['tuple', 0]) === key);
+
+ return v ? v.getIn(['tuple', 1]) : undefined;
+};
+
+const importConfigs = (state, configs) => {
+ // FIXME: This is pretty hacked together. Need to make a cleaner map.
+ const config = ConfigDB.find(configs, ':pleroma', ':instance');
+ if (!config) return state;
+ const value = config.get('value', ImmutableList());
+
+ return state.withMutations(state => {
+ const registrationsOpen = getConfigValue(value, ':registrations_open');
+ const approvalRequired = getConfigValue(value, ':account_approval_required');
+
+ state.update('registrations', c => typeof registrationsOpen === 'boolean' ? registrationsOpen : c);
+ state.update('approval_required', c => typeof approvalRequired === 'boolean' ? approvalRequired : c);
+ });
+};
+
export default function instance(state = initialState, action) {
switch(action.type) {
case PRELOAD_IMPORT:
@@ -45,6 +70,9 @@ export default function instance(state = initialState, action) {
return initialState.mergeDeep(fromJS(action.instance));
case NODEINFO_FETCH_SUCCESS:
return nodeinfoToInstance(fromJS(action.nodeinfo)).mergeDeep(state);
+ case ADMIN_CONFIG_UPDATE_REQUEST:
+ case ADMIN_CONFIG_UPDATE_SUCCESS:
+ return importConfigs(state, fromJS(action.configs));
default:
return state;
}
diff --git a/app/soapbox/reducers/me.js b/app/soapbox/reducers/me.js
index d5304c4e4..a34c16541 100644
--- a/app/soapbox/reducers/me.js
+++ b/app/soapbox/reducers/me.js
@@ -16,6 +16,7 @@ export default function me(state = initialState, action) {
case ME_FETCH_FAIL:
case ME_FETCH_SKIP:
case AUTH_LOGGED_OUT:
+ localStorage.removeItem('soapbox:auth:user');
return false;
default:
return state;
diff --git a/app/soapbox/reducers/media_attachments.js b/app/soapbox/reducers/media_attachments.js
index 1f7fe8cff..7e67805dd 100644
--- a/app/soapbox/reducers/media_attachments.js
+++ b/app/soapbox/reducers/media_attachments.js
@@ -1,4 +1,3 @@
-import { STORE_HYDRATE } from '../actions/store';
import {
Map as ImmutableMap,
List as ImmutableList,
@@ -35,8 +34,6 @@ const initialState = ImmutableMap({
export default function meta(state = initialState, action) {
switch(action.type) {
- case STORE_HYDRATE:
- return state.merge(action.state.get('media_attachments'));
default:
return state;
}
diff --git a/app/soapbox/reducers/meta.js b/app/soapbox/reducers/meta.js
index 6bd397c2c..c3f5062df 100644
--- a/app/soapbox/reducers/meta.js
+++ b/app/soapbox/reducers/meta.js
@@ -1,6 +1,5 @@
'use strict';
-import { STORE_HYDRATE } from '../actions/store';
import { ME_FETCH_SUCCESS, ME_PATCH_SUCCESS } from 'soapbox/actions/me';
import { Map as ImmutableMap, fromJS } from 'immutable';
@@ -8,8 +7,6 @@ const initialState = ImmutableMap();
export default function meta(state = initialState, action) {
switch(action.type) {
- case STORE_HYDRATE:
- return state.merge(action.state.get('meta'));
case ME_FETCH_SUCCESS:
case ME_PATCH_SUCCESS:
const me = fromJS(action.me);
diff --git a/app/soapbox/reducers/notifications.js b/app/soapbox/reducers/notifications.js
index c4c97c73f..68cc90c29 100644
--- a/app/soapbox/reducers/notifications.js
+++ b/app/soapbox/reducers/notifications.js
@@ -15,22 +15,29 @@ import {
ACCOUNT_BLOCK_SUCCESS,
ACCOUNT_MUTE_SUCCESS,
} from '../actions/accounts';
-import { TIMELINE_DELETE, TIMELINE_DISCONNECT } from '../actions/timelines';
-import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
-import compareId from '../compare_id';
+import { TIMELINE_DELETE } from '../actions/timelines';
+import { Map as ImmutableMap, OrderedMap as ImmutableOrderedMap } from 'immutable';
import { get } from 'lodash';
const initialState = ImmutableMap({
- items: ImmutableList(),
+ items: ImmutableOrderedMap(),
hasMore: true,
top: false,
unread: 0,
isLoading: false,
- queuedNotifications: ImmutableList(), //max = MAX_QUEUED_NOTIFICATIONS
+ queuedNotifications: ImmutableOrderedMap(), //max = MAX_QUEUED_NOTIFICATIONS
totalQueuedNotificationsCount: 0, //used for queuedItems overflow for MAX_QUEUED_NOTIFICATIONS+
lastRead: -1,
});
+// For sorting the notifications
+const comparator = (a, b) => {
+ const parse = m => parseInt(m.get('id'), 10);
+ if (parse(a) < parse(b)) return 1;
+ if (parse(a) > parse(b)) return -1;
+ return 0;
+};
+
const notificationToMap = notification => ImmutableMap({
id: notification.id,
type: notification.type,
@@ -42,85 +49,67 @@ const notificationToMap = notification => ImmutableMap({
is_seen: get(notification, ['pleroma', 'is_seen'], true),
});
+// https://gitlab.com/soapbox-pub/soapbox-fe/-/issues/424
+const isValid = notification => Boolean(notification.account.id);
+
const normalizeNotification = (state, notification) => {
const top = state.get('top');
- if (!top) {
- state = state.update('unread', unread => unread + 1);
- }
+ if (!top) state = state.update('unread', unread => unread + 1);
- return state.update('items', list => {
- if (top && list.size > 40) {
- list = list.take(20);
+ return state.update('items', map => {
+ if (top && map.size > 40) {
+ map = map.take(20);
}
- return list.unshift(notificationToMap(notification));
+ return map.set(notification.id, notificationToMap(notification)).sort(comparator);
});
};
-const expandNormalizedNotifications = (state, notifications, next) => {
- let items = ImmutableList();
+const processRawNotifications = notifications => (
+ ImmutableOrderedMap(
+ notifications
+ .filter(isValid)
+ .map(n => [n.id, notificationToMap(n)]),
+ ));
- notifications.forEach((n, i) => {
- items = items.set(i, notificationToMap(n));
- });
+const expandNormalizedNotifications = (state, notifications, next) => {
+ const items = processRawNotifications(notifications);
return state.withMutations(mutable => {
- if (!items.isEmpty()) {
- mutable.update('items', list => {
- const lastIndex = 1 + list.findLastIndex(
- item => item !== null && (compareId(item.get('id'), items.last().get('id')) > 0 || item.get('id') === items.last().get('id'))
- );
-
- const firstIndex = 1 + list.take(lastIndex).findLastIndex(
- item => item !== null && compareId(item.get('id'), items.first().get('id')) > 0
- );
-
- return list.take(firstIndex).concat(items, list.skip(lastIndex));
- });
- }
-
- if (!next) {
- mutable.set('hasMore', false);
- }
+ mutable.update('items', map => map.merge(items).sort(comparator));
+ if (!next) mutable.set('hasMore', false);
mutable.set('isLoading', false);
});
};
const filterNotifications = (state, relationship) => {
- return state.update('items', list => list.filterNot(item => item !== null && item.get('account') === relationship.id));
+ return state.update('items', map => map.filterNot(item => item !== null && item.get('account') === relationship.id));
};
const updateTop = (state, top) => {
- if (top) {
- state = state.set('unread', 0);
- }
-
+ if (top) state = state.set('unread', 0);
return state.set('top', top);
};
const deleteByStatus = (state, statusId) => {
- return state.update('items', list => list.filterNot(item => item !== null && item.get('status') === statusId));
+ return state.update('items', map => map.filterNot(item => item !== null && item.get('status') === statusId));
};
const updateNotificationsQueue = (state, notification, intlMessages, intlLocale) => {
- const queuedNotifications = state.getIn(['queuedNotifications'], ImmutableList());
- const listedNotifications = state.getIn(['items'], ImmutableList());
+ const queuedNotifications = state.getIn(['queuedNotifications'], ImmutableOrderedMap());
+ const listedNotifications = state.getIn(['items'], ImmutableOrderedMap());
const totalQueuedNotificationsCount = state.getIn(['totalQueuedNotificationsCount'], 0);
- let alreadyExists = queuedNotifications.find(existingQueuedNotification => existingQueuedNotification.id === notification.id);
- if (!alreadyExists) alreadyExists = listedNotifications.find(existingListedNotification => existingListedNotification.get('id') === notification.id);
-
- if (alreadyExists) {
- return state;
- }
+ const alreadyExists = queuedNotifications.has(notification.id) || listedNotifications.has(notification.id);
+ if (alreadyExists) return state;
let newQueuedNotifications = queuedNotifications;
return state.withMutations(mutable => {
if (totalQueuedNotificationsCount <= MAX_QUEUED_NOTIFICATIONS) {
- mutable.set('queuedNotifications', newQueuedNotifications.push({
+ mutable.set('queuedNotifications', newQueuedNotifications.set(notification.id, {
notification,
intlMessages,
intlLocale,
@@ -130,6 +119,9 @@ const updateNotificationsQueue = (state, notification, intlMessages, intlLocale)
});
};
+const countUnseen = notifications => notifications.reduce((acc, cur) =>
+ get(cur, ['pleroma', 'is_seen'], false) === false ? acc + 1 : acc, 0);
+
export default function notifications(state = initialState, action) {
switch(action.type) {
case NOTIFICATIONS_EXPAND_REQUEST:
@@ -137,7 +129,7 @@ export default function notifications(state = initialState, action) {
case NOTIFICATIONS_EXPAND_FAIL:
return state.set('isLoading', false);
case NOTIFICATIONS_FILTER_SET:
- return state.set('items', ImmutableList()).set('hasMore', true);
+ return state.set('items', ImmutableOrderedMap()).set('hasMore', true);
case NOTIFICATIONS_SCROLL_TOP:
return updateTop(state, action.top);
case NOTIFICATIONS_UPDATE:
@@ -146,12 +138,11 @@ export default function notifications(state = initialState, action) {
return updateNotificationsQueue(state, action.notification, action.intlMessages, action.intlLocale);
case NOTIFICATIONS_DEQUEUE:
return state.withMutations(mutable => {
- mutable.set('queuedNotifications', ImmutableList());
+ mutable.set('queuedNotifications', ImmutableOrderedMap());
mutable.set('totalQueuedNotificationsCount', 0);
});
case NOTIFICATIONS_EXPAND_SUCCESS:
- const legacyUnread = action.notifications.reduce((acc, cur) =>
- get(cur, ['pleroma', 'is_seen'], false) === false ? acc + 1 : acc, 0);
+ const legacyUnread = countUnseen(action.notifications);
return expandNormalizedNotifications(state, action.notifications, action.next)
.merge({ unread: Math.max(legacyUnread, state.get('unread')) });
case ACCOUNT_BLOCK_SUCCESS:
@@ -159,15 +150,21 @@ export default function notifications(state = initialState, action) {
case ACCOUNT_MUTE_SUCCESS:
return action.relationship.muting_notifications ? filterNotifications(state, action.relationship) : state;
case NOTIFICATIONS_CLEAR:
- return state.set('items', ImmutableList()).set('hasMore', false);
+ return state.set('items', ImmutableOrderedMap()).set('hasMore', false);
case NOTIFICATIONS_MARK_READ_REQUEST:
return state.set('lastRead', action.lastRead);
case TIMELINE_DELETE:
return deleteByStatus(state, action.id);
- case TIMELINE_DISCONNECT:
- return action.timeline === 'home' ?
- state.update('items', items => items.first() ? items.unshift(null) : items) :
- state;
+
+ // Disable for now
+ // https://gitlab.com/soapbox-pub/soapbox-fe/-/issues/432
+ //
+ // case TIMELINE_DISCONNECT:
+ // // This is kind of a hack - `null` renders a LoadGap in the component
+ // // https://github.com/tootsuite/mastodon/pull/6886
+ // return action.timeline === 'home' ?
+ // state.update('items', items => items.first() ? ImmutableOrderedSet([null]).union(items) : items) :
+ // state;
default:
return state;
}
diff --git a/app/soapbox/reducers/profile_hover_card.js b/app/soapbox/reducers/profile_hover_card.js
new file mode 100644
index 000000000..5776a3e87
--- /dev/null
+++ b/app/soapbox/reducers/profile_hover_card.js
@@ -0,0 +1,27 @@
+import {
+ PROFILE_HOVER_CARD_OPEN,
+ PROFILE_HOVER_CARD_CLOSE,
+ PROFILE_HOVER_CARD_UPDATE,
+} from 'soapbox/actions/profile_hover_card';
+import { Map as ImmutableMap } from 'immutable';
+
+const initialState = ImmutableMap();
+
+export default function profileHoverCard(state = initialState, action) {
+ switch(action.type) {
+ case PROFILE_HOVER_CARD_OPEN:
+ return ImmutableMap({
+ ref: action.ref,
+ accountId: action.accountId,
+ });
+ case PROFILE_HOVER_CARD_UPDATE:
+ return state.set('hovered', true);
+ case PROFILE_HOVER_CARD_CLOSE:
+ if (state.get('hovered') === true && !action.force)
+ return state;
+ else
+ return ImmutableMap();
+ default:
+ return state;
+ }
+}
diff --git a/app/soapbox/reducers/push_notifications.js b/app/soapbox/reducers/push_notifications.js
index 317352b79..6b9001684 100644
--- a/app/soapbox/reducers/push_notifications.js
+++ b/app/soapbox/reducers/push_notifications.js
@@ -1,4 +1,3 @@
-import { STORE_HYDRATE } from '../actions/store';
import { SET_BROWSER_SUPPORT, SET_SUBSCRIPTION, CLEAR_SUBSCRIPTION, SET_ALERTS } from '../actions/push_notifications';
import Immutable from 'immutable';
@@ -17,21 +16,6 @@ const initialState = Immutable.Map({
export default function push_subscriptions(state = initialState, action) {
switch(action.type) {
- case STORE_HYDRATE: {
- const push_subscription = action.state.get('push_subscription');
-
- if (push_subscription) {
- return state
- .set('subscription', new Immutable.Map({
- id: push_subscription.get('id'),
- endpoint: push_subscription.get('endpoint'),
- }))
- .set('alerts', push_subscription.get('alerts') || initialState.get('alerts'))
- .set('isSubscribed', true);
- }
-
- return state;
- }
case SET_SUBSCRIPTION:
return state
.set('subscription', new Immutable.Map({
diff --git a/app/soapbox/reducers/settings.js b/app/soapbox/reducers/settings.js
index 1066716d7..be4f6b88d 100644
--- a/app/soapbox/reducers/settings.js
+++ b/app/soapbox/reducers/settings.js
@@ -1,11 +1,9 @@
import { SETTING_CHANGE, SETTING_SAVE, FE_NAME } from '../actions/settings';
import { NOTIFICATIONS_FILTER_SET } from '../actions/notifications';
-import { STORE_HYDRATE } from '../actions/store';
import { EMOJI_USE } from '../actions/emojis';
import { LIST_DELETE_SUCCESS, LIST_FETCH_FAIL } from '../actions/lists';
import { ME_FETCH_SUCCESS } from 'soapbox/actions/me';
import { Map as ImmutableMap, fromJS } from 'immutable';
-import uuid from '../uuid';
// Default settings are in action/settings.js
//
@@ -15,22 +13,12 @@ const initialState = ImmutableMap({
saved: true,
});
-const defaultColumns = fromJS([
- { id: 'COMPOSE', uuid: uuid(), params: {} },
- { id: 'HOME', uuid: uuid(), params: {} },
- { id: 'NOTIFICATIONS', uuid: uuid(), params: {} },
-]);
-
-const hydrate = (state, settings) => state.mergeDeep(settings).update('columns', (val = defaultColumns) => val);
-
const updateFrequentEmojis = (state, emoji) => state.update('frequentlyUsedEmojis', ImmutableMap(), map => map.update(emoji.id, 0, count => count + 1)).set('saved', false);
const filterDeadListColumns = (state, listId) => state.update('columns', columns => columns.filterNot(column => column.get('id') === 'LIST' && column.get('params').get('id') === listId));
export default function settings(state = initialState, action) {
switch(action.type) {
- case STORE_HYDRATE:
- return hydrate(state, action.state.get('settings'));
case ME_FETCH_SUCCESS:
const me = fromJS(action.me);
let fePrefs = me.getIn(['pleroma', 'settings_store', FE_NAME], ImmutableMap());
diff --git a/app/soapbox/reducers/soapbox.js b/app/soapbox/reducers/soapbox.js
index dd7b0bea3..5b7db02a8 100644
--- a/app/soapbox/reducers/soapbox.js
+++ b/app/soapbox/reducers/soapbox.js
@@ -1,13 +1,19 @@
import { ADMIN_CONFIG_UPDATE_SUCCESS } from '../actions/admin';
-import { SOAPBOX_CONFIG_REQUEST_SUCCESS } from '../actions/soapbox';
-import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
+import {
+ SOAPBOX_CONFIG_REQUEST_SUCCESS,
+ SOAPBOX_CONFIG_REQUEST_FAIL,
+} from '../actions/soapbox';
+import { PRELOAD_IMPORT } from 'soapbox/actions/preload';
+import { Map as ImmutableMap, fromJS } from 'immutable';
import { ConfigDB } from 'soapbox/utils/config_db';
const initialState = ImmutableMap();
-const updateFromAdmin = (state, config) => {
- const configs = config.get('configs', ImmutableList());
+const fallbackState = ImmutableMap({
+ brandColor: '#0482d8', // Azure
+});
+const updateFromAdmin = (state, configs) => {
try {
return ConfigDB.find(configs, ':pleroma', ':frontend_configurations')
.get('value')
@@ -18,12 +24,28 @@ const updateFromAdmin = (state, config) => {
}
};
+const preloadImport = (state, action) => {
+ const path = '/api/pleroma/frontend_configurations';
+ const feData = action.data[path];
+
+ if (feData) {
+ const soapbox = feData.soapbox_fe;
+ return soapbox ? fallbackState.mergeDeep(fromJS(soapbox)) : fallbackState;
+ } else {
+ return state;
+ }
+};
+
export default function soapbox(state = initialState, action) {
switch(action.type) {
+ case PRELOAD_IMPORT:
+ return preloadImport(state, action);
case SOAPBOX_CONFIG_REQUEST_SUCCESS:
return fromJS(action.soapboxConfig);
+ case SOAPBOX_CONFIG_REQUEST_FAIL:
+ return fallbackState.mergeDeep(state);
case ADMIN_CONFIG_UPDATE_SUCCESS:
- return updateFromAdmin(state, fromJS(action.config));
+ return updateFromAdmin(state, fromJS(action.configs));
default:
return state;
}
diff --git a/app/soapbox/reducers/statuses.js b/app/soapbox/reducers/statuses.js
index 8cccd4a09..202a36d77 100644
--- a/app/soapbox/reducers/statuses.js
+++ b/app/soapbox/reducers/statuses.js
@@ -2,6 +2,7 @@ import {
REBLOG_REQUEST,
REBLOG_FAIL,
FAVOURITE_REQUEST,
+ UNFAVOURITE_REQUEST,
FAVOURITE_FAIL,
} from '../actions/interactions';
import {
@@ -12,11 +13,12 @@ import {
} from '../actions/statuses';
import {
EMOJI_REACT_REQUEST,
+ UNEMOJI_REACT_REQUEST,
} from '../actions/emoji_reacts';
import { TIMELINE_DELETE } from '../actions/timelines';
import { STATUS_IMPORT, STATUSES_IMPORT } from '../actions/importer';
import { Map as ImmutableMap, fromJS } from 'immutable';
-import { simulateEmojiReact } from 'soapbox/utils/emoji_reacts';
+import { simulateEmojiReact, simulateUnEmojiReact } from 'soapbox/utils/emoji_reacts';
const importStatus = (state, status) => state.set(status.id, fromJS(status));
@@ -40,11 +42,27 @@ export default function statuses(state = initialState, action) {
case STATUSES_IMPORT:
return importStatuses(state, action.statuses);
case FAVOURITE_REQUEST:
- return state.setIn([action.status.get('id'), 'favourited'], true);
+ return state.update(action.status.get('id'), status =>
+ status
+ .set('favourited', true)
+ .update('favourites_count', count => count + 1));
+ case UNFAVOURITE_REQUEST:
+ return state.update(action.status.get('id'), status =>
+ status
+ .set('favourited', false)
+ .update('favourites_count', count => Math.max(0, count - 1)));
case EMOJI_REACT_REQUEST:
- const path = [action.status.get('id'), 'pleroma', 'emoji_reactions'];
- const emojiReacts = state.getIn(path);
- return state.setIn(path, simulateEmojiReact(emojiReacts, action.emoji));
+ return state
+ .updateIn(
+ [action.status.get('id'), 'pleroma', 'emoji_reactions'],
+ emojiReacts => simulateEmojiReact(emojiReacts, action.emoji),
+ );
+ case UNEMOJI_REACT_REQUEST:
+ return state
+ .updateIn(
+ [action.status.get('id'), 'pleroma', 'emoji_reactions'],
+ emojiReacts => simulateUnEmojiReact(emojiReacts, action.emoji),
+ );
case FAVOURITE_FAIL:
return state.get(action.status.get('id')) === undefined ? state : state.setIn([action.status.get('id'), 'favourited'], false);
case REBLOG_REQUEST:
diff --git a/app/soapbox/reducers/timelines.js b/app/soapbox/reducers/timelines.js
index b134742ba..013af81b4 100644
--- a/app/soapbox/reducers/timelines.js
+++ b/app/soapbox/reducers/timelines.js
@@ -58,17 +58,17 @@ const expandNormalizedTimeline = (state, timeline, statuses, next, isPartial, is
return oldIds.take(firstIndex + 1).concat(
isPartial && oldIds.get(firstIndex) !== null ? newIds.unshift(null) : newIds,
- oldIds.skip(lastIndex)
+ oldIds.skip(lastIndex),
);
});
}
}));
};
-const updateTimeline = (state, timeline, status) => {
+const updateTimeline = (state, timeline, statusId) => {
const top = state.getIn([timeline, 'top']);
const ids = state.getIn([timeline, 'items'], ImmutableList());
- const includesId = ids.includes(status.get('id'));
+ const includesId = ids.includes(statusId);
const unread = state.getIn([timeline, 'unread'], 0);
if (includesId) {
@@ -80,17 +80,17 @@ const updateTimeline = (state, timeline, status) => {
return state.update(timeline, initialTimeline, map => map.withMutations(mMap => {
if (!top) mMap.set('unread', unread + 1);
if (top && ids.size > 40) newIds = newIds.take(20);
- mMap.set('items', newIds.unshift(status.get('id')));
+ mMap.set('items', newIds.unshift(statusId));
}));
};
-const updateTimelineQueue = (state, timeline, status) => {
+const updateTimelineQueue = (state, timeline, statusId) => {
const queuedStatuses = state.getIn([timeline, 'queuedItems'], ImmutableList());
const listedStatuses = state.getIn([timeline, 'items'], ImmutableList());
const totalQueuedItemsCount = state.getIn([timeline, 'totalQueuedItemsCount'], 0);
- let alreadyExists = queuedStatuses.find(existingQueuedStatus => existingQueuedStatus.get('id') === status.get('id'));
- if (!alreadyExists) alreadyExists = listedStatuses.find(existingListedStatusId => existingListedStatusId === status.get('id'));
+ let alreadyExists = queuedStatuses.find(existingQueuedStatus => existingQueuedStatus === statusId);
+ if (!alreadyExists) alreadyExists = listedStatuses.find(existingListedStatusId => existingListedStatusId === statusId);
if (alreadyExists) {
return state;
@@ -100,7 +100,7 @@ const updateTimelineQueue = (state, timeline, status) => {
return state.update(timeline, initialTimeline, map => map.withMutations(mMap => {
if (totalQueuedItemsCount <= MAX_QUEUED_ITEMS) {
- mMap.set('queuedItems', newQueuedStatuses.push(status));
+ mMap.set('queuedItems', newQueuedStatuses.push(statusId));
}
mMap.set('totalQueuedItemsCount', totalQueuedItemsCount + 1);
}));
@@ -149,7 +149,7 @@ const updateTop = (state, timeline, top) => {
const filterTimeline = (timeline, state, relationship, statuses) =>
state.updateIn([timeline, 'items'], ImmutableList(), list =>
list.filterNot(statusId =>
- statuses.getIn([statusId, 'account']) === relationship.id
+ statuses.getIn([statusId, 'account']) === relationship.id,
));
const removeStatusFromGroup = (state, groupId, statusId) => {
@@ -165,9 +165,9 @@ export default function timelines(state = initialState, action) {
case TIMELINE_EXPAND_SUCCESS:
return expandNormalizedTimeline(state, action.timeline, fromJS(action.statuses), action.next, action.partial, action.isLoadingRecent);
case TIMELINE_UPDATE:
- return updateTimeline(state, action.timeline, fromJS(action.status));
+ return updateTimeline(state, action.timeline, action.statusId);
case TIMELINE_UPDATE_QUEUE:
- return updateTimelineQueue(state, action.timeline, fromJS(action.status));
+ return updateTimelineQueue(state, action.timeline, action.statusId);
case TIMELINE_DEQUEUE:
return state.update(action.timeline, initialTimeline, map => map.withMutations(mMap => {
mMap.set('queuedItems', ImmutableList());
@@ -190,7 +190,7 @@ export default function timelines(state = initialState, action) {
return state.update(
action.timeline,
initialTimeline,
- map => map.set('online', false).update('items', items => items.first() ? items.unshift(null) : items)
+ map => map.set('online', false).update('items', items => items.first() ? items.unshift(null) : items),
);
case GROUP_REMOVE_STATUS_SUCCESS:
return removeStatusFromGroup(state, action.groupId, action.id);
diff --git a/app/soapbox/reducers/user_lists.js b/app/soapbox/reducers/user_lists.js
index bb8ce8f1a..9dd079203 100644
--- a/app/soapbox/reducers/user_lists.js
+++ b/app/soapbox/reducers/user_lists.js
@@ -20,7 +20,7 @@ import {
MUTES_FETCH_SUCCESS,
MUTES_EXPAND_SUCCESS,
} from '../actions/mutes';
-import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet } from 'immutable';
import {
GROUP_MEMBERS_FETCH_SUCCESS,
GROUP_MEMBERS_EXPAND_SUCCESS,
@@ -44,7 +44,7 @@ const initialState = ImmutableMap({
const normalizeList = (state, type, id, accounts, next) => {
return state.setIn([type, id], ImmutableMap({
next,
- items: ImmutableList(accounts.map(item => item.id)),
+ items: ImmutableOrderedSet(accounts.map(item => item.id)),
}));
};
@@ -65,22 +65,22 @@ export default function userLists(state = initialState, action) {
case FOLLOWING_EXPAND_SUCCESS:
return appendToList(state, 'following', action.id, action.accounts, action.next);
case REBLOGS_FETCH_SUCCESS:
- return state.setIn(['reblogged_by', action.id], ImmutableList(action.accounts.map(item => item.id)));
+ return state.setIn(['reblogged_by', action.id], ImmutableOrderedSet(action.accounts.map(item => item.id)));
case FAVOURITES_FETCH_SUCCESS:
- return state.setIn(['favourited_by', action.id], ImmutableList(action.accounts.map(item => item.id)));
+ return state.setIn(['favourited_by', action.id], ImmutableOrderedSet(action.accounts.map(item => item.id)));
case FOLLOW_REQUESTS_FETCH_SUCCESS:
- return state.setIn(['follow_requests', 'items'], ImmutableList(action.accounts.map(item => item.id))).setIn(['follow_requests', 'next'], action.next);
+ return state.setIn(['follow_requests', 'items'], ImmutableOrderedSet(action.accounts.map(item => item.id))).setIn(['follow_requests', 'next'], action.next);
case FOLLOW_REQUESTS_EXPAND_SUCCESS:
return state.updateIn(['follow_requests', 'items'], list => list.concat(action.accounts.map(item => item.id))).setIn(['follow_requests', 'next'], action.next);
case FOLLOW_REQUEST_AUTHORIZE_SUCCESS:
case FOLLOW_REQUEST_REJECT_SUCCESS:
return state.updateIn(['follow_requests', 'items'], list => list.filterNot(item => item === action.id));
case BLOCKS_FETCH_SUCCESS:
- return state.setIn(['blocks', 'items'], ImmutableList(action.accounts.map(item => item.id))).setIn(['blocks', 'next'], action.next);
+ return state.setIn(['blocks', 'items'], ImmutableOrderedSet(action.accounts.map(item => item.id))).setIn(['blocks', 'next'], action.next);
case BLOCKS_EXPAND_SUCCESS:
return state.updateIn(['blocks', 'items'], list => list.concat(action.accounts.map(item => item.id))).setIn(['blocks', 'next'], action.next);
case MUTES_FETCH_SUCCESS:
- return state.setIn(['mutes', 'items'], ImmutableList(action.accounts.map(item => item.id))).setIn(['mutes', 'next'], action.next);
+ return state.setIn(['mutes', 'items'], ImmutableOrderedSet(action.accounts.map(item => item.id))).setIn(['mutes', 'next'], action.next);
case MUTES_EXPAND_SUCCESS:
return state.updateIn(['mutes', 'items'], list => list.concat(action.accounts.map(item => item.id))).setIn(['mutes', 'next'], action.next);
case GROUP_MEMBERS_FETCH_SUCCESS:
diff --git a/app/soapbox/selectors/index.js b/app/soapbox/selectors/index.js
index bbf0b54c5..949c7a63d 100644
--- a/app/soapbox/selectors/index.js
+++ b/app/soapbox/selectors/index.js
@@ -110,7 +110,7 @@ export const makeGetStatus = () => {
map.set('account', accountBase);
map.set('filtered', filtered);
});
- }
+ },
);
};
@@ -124,10 +124,9 @@ export const getAlerts = createSelector([getAlertsBase], (base) => {
message: item.get('message'),
title: item.get('title'),
key: item.get('key'),
- dismissAfter: 5000,
- barStyle: {
- zIndex: 200,
- },
+ className: `snackbar snackbar--${item.get('severity', 'info')}`,
+ activeClassName: 'snackbar--active',
+ dismissAfter: 6000,
});
});
@@ -173,6 +172,25 @@ export const makeGetChat = () => {
map.set('account', account);
map.set('last_message', lastMessage);
});
- }
+ },
+ );
+};
+
+export const makeGetReport = () => {
+ const getStatus = makeGetStatus();
+
+ return createSelector(
+ [
+ (state, id) => state.getIn(['admin', 'reports', id]),
+ (state, id) => state.getIn(['admin', 'reports', id, 'statuses']).map(
+ statusId => state.getIn(['statuses', statusId]))
+ .filter(s => s)
+ .map(s => getStatus(state, s.toJS())),
+ ],
+
+ (report, statuses) => {
+ if (!report) return null;
+ return report.set('statuses', statuses);
+ },
);
};
diff --git a/app/soapbox/service_worker/web_push_notifications.js b/app/soapbox/service_worker/web_push_notifications.js
index 220f93d09..00e948251 100644
--- a/app/soapbox/service_worker/web_push_notifications.js
+++ b/app/soapbox/service_worker/web_push_notifications.js
@@ -118,7 +118,7 @@ const handlePush = (event) => {
badge: '/badge.png',
data: { access_token, preferred_locale, url: '/notifications' },
});
- })
+ }),
);
};
diff --git a/app/soapbox/store/configureStore.js b/app/soapbox/store/configureStore.js
index 7e7472841..e18af842f 100644
--- a/app/soapbox/store/configureStore.js
+++ b/app/soapbox/store/configureStore.js
@@ -10,6 +10,6 @@ export default function configureStore() {
thunk,
loadingBarMiddleware({ promiseTypeSuffixes: ['REQUEST', 'SUCCESS', 'FAIL'] }),
errorsMiddleware(),
- soundsMiddleware()
+ soundsMiddleware(),
), window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__() : f => f));
};
diff --git a/app/soapbox/test_helpers.js b/app/soapbox/test_helpers.js
index 7f7052ae3..e77985e91 100644
--- a/app/soapbox/test_helpers.js
+++ b/app/soapbox/test_helpers.js
@@ -8,6 +8,7 @@ import { IntlProvider } from 'react-intl';
import { BrowserRouter } from 'react-router-dom';
import configureMockStore from 'redux-mock-store';
import { Map as ImmutableMap } from 'immutable';
+import rootReducer from 'soapbox/reducers';
// Mock Redux
// https://redux.js.org/recipes/writing-tests/
@@ -18,7 +19,7 @@ export const mockStore = configureMockStore(middlewares);
export const createComponent = (children, props = {}) => {
props = ImmutableMap({
locale: 'en',
- store: mockStore(ImmutableMap()),
+ store: mockStore(rootReducer(ImmutableMap(), {})),
}).merge(props);
return renderer.create(
@@ -28,6 +29,6 @@ export const createComponent = (children, props = {}) => {
{children}
-
+ ,
);
};
diff --git a/app/soapbox/utils/__tests__/emoji_reacts-test.js b/app/soapbox/utils/__tests__/emoji_reacts-test.js
index fcce0a11b..e21dda5e1 100644
--- a/app/soapbox/utils/__tests__/emoji_reacts-test.js
+++ b/app/soapbox/utils/__tests__/emoji_reacts-test.js
@@ -6,6 +6,7 @@ import {
reduceEmoji,
getReactForStatus,
simulateEmojiReact,
+ simulateUnEmojiReact,
} from '../emoji_reacts';
import { fromJS } from 'immutable';
@@ -157,7 +158,7 @@ describe('getReactForStatus', () => {
],
},
});
- expect(getReactForStatus(status)).toEqual('❤');
+ expect(getReactForStatus(status, ALLOWED_EMOJI)).toEqual('❤');
});
it('returns a thumbs-up for a favourite', () => {
@@ -205,3 +206,28 @@ describe('simulateEmojiReact', () => {
]));
});
});
+
+describe('simulateUnEmojiReact', () => {
+ it('removes the emoji from the list', () => {
+ const emojiReacts = fromJS([
+ { 'count': 2, 'me': false, 'name': '👍' },
+ { 'count': 3, 'me': true, 'name': '❤' },
+ ]);
+ expect(simulateUnEmojiReact(emojiReacts, '❤')).toEqual(fromJS([
+ { 'count': 2, 'me': false, 'name': '👍' },
+ { 'count': 2, 'me': false, 'name': '❤' },
+ ]));
+ });
+
+ it('removes the emoji if it\'s the last one in the list', () => {
+ const emojiReacts = fromJS([
+ { 'count': 2, 'me': false, 'name': '👍' },
+ { 'count': 2, 'me': false, 'name': '❤' },
+ { 'count': 1, 'me': true, 'name': '😯' },
+ ]);
+ expect(simulateUnEmojiReact(emojiReacts, '😯')).toEqual(fromJS([
+ { 'count': 2, 'me': false, 'name': '👍' },
+ { 'count': 2, 'me': false, 'name': '❤' },
+ ]));
+ });
+});
diff --git a/app/soapbox/utils/accounts.js b/app/soapbox/utils/accounts.js
index 3d04a3360..929429b24 100644
--- a/app/soapbox/utils/accounts.js
+++ b/app/soapbox/utils/accounts.js
@@ -1,21 +1,26 @@
import { Map as ImmutableMap } from 'immutable';
import { List as ImmutableList } from 'immutable';
+const guessDomain = account => {
+ try {
+ let re = /https?:\/\/(.*?)\//i;
+ return re.exec(account.get('url'))[1];
+ } catch(e) {
+ return null;
+ }
+};
+
export const getDomain = account => {
- let re = /https?:\/\/(.*?)\//i;
- return re.exec(account.get('url'))[1];
+ let domain = account.get('acct').split('@')[1];
+ if (!domain) domain = guessDomain(account);
+ return domain;
};
// user@domain even for local users
export const acctFull = account => {
- let [user, domain] = account.get('acct').split('@');
- try {
- if (!domain) domain = getDomain(account);
- } catch(e) {
- console.warning('Could not get domain for acctFull. Falling back to acct.');
- return account.get('acct');
- }
- return [user, domain].join('@');
+ const [user, domain] = account.get('acct').split('@');
+ if (!domain) return [user, guessDomain(account)].join('@');
+ return account.get('acct');
};
export const isStaff = (account = ImmutableMap()) => (
diff --git a/app/soapbox/utils/config_db.js b/app/soapbox/utils/config_db.js
index c4661ad00..8a1e78a50 100644
--- a/app/soapbox/utils/config_db.js
+++ b/app/soapbox/utils/config_db.js
@@ -1,7 +1,7 @@
export const ConfigDB = {
find: (configs, group, key) => {
return configs.find(config =>
- config.isSuperset({ group, key })
+ config.isSuperset({ group, key }),
);
},
};
diff --git a/app/soapbox/utils/emoji_reacts.js b/app/soapbox/utils/emoji_reacts.js
index 2cb1b3fc3..774fdba39 100644
--- a/app/soapbox/utils/emoji_reacts.js
+++ b/app/soapbox/utils/emoji_reacts.js
@@ -7,7 +7,7 @@ import {
// I've customized them.
export const ALLOWED_EMOJI = [
'👍',
- '❤',
+ '❤️',
'😆',
'😮',
'😢',
@@ -39,8 +39,8 @@ export const mergeEmojiFavourites = (emojiReacts, favouritesCount, favourited) =
const hasMultiReactions = (emojiReacts, account) => (
emojiReacts.filter(
e => e.get('accounts').filter(
- a => a.get('id') === account.get('id')
- ).count() > 0
+ a => a.get('id') === account.get('id'),
+ ).count() > 0,
).count() > 1
);
@@ -72,14 +72,15 @@ export const filterEmoji = (emojiReacts, allowedEmoji=ALLOWED_EMOJI) => (
export const reduceEmoji = (emojiReacts, favouritesCount, favourited, allowedEmoji=ALLOWED_EMOJI) => (
filterEmoji(sortEmoji(mergeEmoji(mergeEmojiFavourites(
- emojiReacts, favouritesCount, favourited
+ emojiReacts, favouritesCount, favourited,
))), allowedEmoji));
-export const getReactForStatus = status => {
+export const getReactForStatus = (status, allowedEmoji=ALLOWED_EMOJI) => {
return reduceEmoji(
status.getIn(['pleroma', 'emoji_reactions'], ImmutableList()),
- status.get('favourites_count'),
- status.get('favourited')
+ status.get('favourites_count', 0),
+ status.get('favourited'),
+ allowedEmoji,
).filter(e => e.get('me') === true)
.getIn([0, 'name']);
};
@@ -100,3 +101,20 @@ export const simulateEmojiReact = (emojiReacts, emoji) => {
}));
}
};
+
+export const simulateUnEmojiReact = (emojiReacts, emoji) => {
+ const idx = emojiReacts.findIndex(e =>
+ e.get('name') === emoji && e.get('me') === true);
+
+ if (idx > -1) {
+ const emojiReact = emojiReacts.get(idx);
+ const newCount = emojiReact.get('count') - 1;
+ if (newCount < 1) return emojiReacts.delete(idx);
+ return emojiReacts.set(idx, emojiReact.merge({
+ count: emojiReact.get('count') - 1,
+ me: false,
+ }));
+ } else {
+ return emojiReacts;
+ }
+};
diff --git a/app/soapbox/utils/features.js b/app/soapbox/utils/features.js
index 98266e3ca..be34cb4fb 100644
--- a/app/soapbox/utils/features.js
+++ b/app/soapbox/utils/features.js
@@ -1,14 +1,16 @@
// Detect backend features to conditionally render elements
-import semver from 'semver';
+import gte from 'semver/functions/gte';
export const getFeatures = instance => {
const v = parseVersion(instance.get('version'));
return {
- suggestions: v.software === 'Mastodon' && semver.gte(v.compatVersion, '2.4.3'),
- trends: v.software === 'Mastodon' && semver.gte(v.compatVersion, '3.0.0'),
- emojiReacts: v.software === 'Pleroma' && semver.gte(v.version, '2.0.0'),
+ suggestions: v.software === 'Mastodon' && gte(v.compatVersion, '2.4.3'),
+ trends: v.software === 'Mastodon' && gte(v.compatVersion, '3.0.0'),
+ emojiReacts: v.software === 'Pleroma' && gte(v.version, '2.0.0'),
+ emojiReactsRGI: v.software === 'Pleroma' && gte(v.version, '2.2.49'),
attachmentLimit: v.software === 'Pleroma' ? Infinity : 4,
- focalPoint: v.software === 'Mastodon' && semver.gte(v.compatVersion, '2.3.0'),
+ focalPoint: v.software === 'Mastodon' && gte(v.compatVersion, '2.3.0'),
+ importMutes: v.software === 'Pleroma' && gte(v.version, '2.2.0'),
};
};
diff --git a/app/soapbox/utils/media.js b/app/soapbox/utils/media.js
new file mode 100644
index 000000000..c8266c646
--- /dev/null
+++ b/app/soapbox/utils/media.js
@@ -0,0 +1,10 @@
+export const truncateFilename = (url, maxLength) => {
+ const filename = url.split('/').pop();
+
+ if (filename.length <= maxLength) return filename;
+
+ return [
+ filename.substr(0, maxLength/2),
+ filename.substr(filename.length - maxLength/2),
+ ].join('…');
+};
diff --git a/app/soapbox/utils/pleroma.js b/app/soapbox/utils/pleroma.js
new file mode 100644
index 000000000..dd8937938
--- /dev/null
+++ b/app/soapbox/utils/pleroma.js
@@ -0,0 +1,10 @@
+// https://gitlab.com/soapbox-pub/soapbox-fe/-/issues/549
+export const normalizePleromaUserFields = obj => {
+ obj.is_active = obj.is_active === undefined ? !obj.deactivated : obj.is_active;
+ obj.is_confirmed = obj.is_confirmed === undefined ? !obj.confirmation_pending : obj.is_confirmed;
+ obj.is_approved = obj.is_approved === undefined ? !obj.approval_pending : obj.is_approved;
+ delete obj.deactivated;
+ delete obj.confirmation_pending;
+ delete obj.approval_pending;
+ return obj;
+};
diff --git a/app/soapbox/utils/theme.js b/app/soapbox/utils/theme.js
index a4fb01c8c..5997019a8 100644
--- a/app/soapbox/utils/theme.js
+++ b/app/soapbox/utils/theme.js
@@ -1,13 +1,72 @@
import { Map as ImmutableMap } from 'immutable';
-import { convert } from 'chromatism';
export const generateThemeCss = brandColor => {
if (!brandColor) return null;
return themeDataToCss(brandColorToThemeData(brandColor));
};
+// https://stackoverflow.com/a/5624139
+function hexToRgb(hex) {
+ // Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF")
+ const shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
+ hex = hex.replace(shorthandRegex, (m, r, g, b) => (
+ r + r + g + g + b + b
+ ));
+
+ const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
+ return result ? {
+ r: parseInt(result[1], 16),
+ g: parseInt(result[2], 16),
+ b: parseInt(result[3], 16),
+ } : {
+ // fall back to Azure
+ r: 4,
+ g: 130,
+ b: 216,
+ };
+}
+
+// Taken from chromatism.js
+// https://github.com/graypegg/chromatism/blob/master/src/conversions/rgb.js
+const rgbToHsl = value => {
+ var r = value.r / 255;
+ var g = value.g / 255;
+ var b = value.b / 255;
+ var rgbOrdered = [ r, g, b ].sort();
+ var l = ((rgbOrdered[0] + rgbOrdered[2]) / 2) * 100;
+ var s, h;
+ if (rgbOrdered[0] === rgbOrdered[2]) {
+ s = 0;
+ h = 0;
+ } else {
+ if (l >= 50) {
+ s = ((rgbOrdered[2] - rgbOrdered[0]) / ((2.0 - rgbOrdered[2]) - rgbOrdered[0])) * 100;
+ } else {
+ s = ((rgbOrdered[2] - rgbOrdered[0]) / (rgbOrdered[2] + rgbOrdered[0])) * 100;
+ }
+ if (rgbOrdered[2] === r) {
+ h = ((g - b) / (rgbOrdered[2] - rgbOrdered[0])) * 60;
+ } else if (rgbOrdered[2] === g) {
+ h = (2 + ((b - r) / (rgbOrdered[2] - rgbOrdered[0]))) * 60;
+ } else {
+ h = (4 + ((r - g) / (rgbOrdered[2] - rgbOrdered[0]))) * 60;
+ }
+ if (h < 0) {
+ h += 360;
+ } else if (h > 360) {
+ h = h % 360;
+ }
+ }
+
+ return {
+ h: h,
+ s: s,
+ l: l,
+ };
+};
+
export const brandColorToThemeData = brandColor => {
- const { h, s, l } = convert(brandColor).hsl;
+ const { h, s, l } = rgbToHsl(hexToRgb(brandColor));
return ImmutableMap({
'brand-color_h': h,
'brand-color_s': `${s}%`,
@@ -20,3 +79,5 @@ export const themeDataToCss = themeData => (
.entrySeq()
.reduce((acc, cur) => acc + `--${cur[0]}:${cur[1]};`, '')
);
+
+export const brandColorToCSS = brandColor => themeDataToCss(brandColorToThemeData(brandColor));
diff --git a/app/styles/_mixins.scss b/app/styles/_mixins.scss
index 0fb142bd7..33905de4a 100644
--- a/app/styles/_mixins.scss
+++ b/app/styles/_mixins.scss
@@ -14,10 +14,10 @@
// SHORTCUTS
@mixin input-placeholder($color) {
- &::-webkit-input-placeholder {color: $color;}
- &::-moz-placeholder {color: $color;}
- &:-ms-input-placeholder {color: $color;}
- &:-moz-placeholder {color: $color;}
+ &::-webkit-input-placeholder { color: $color; }
+ &::-moz-placeholder { color: $color; }
+ &:-ms-input-placeholder { color: $color; }
+ &:-moz-placeholder { color: $color; }
}
@mixin avatar-radius {
@@ -49,9 +49,9 @@
padding-left: 15px;
// Chrome does not like these concatinated together
- &::placeholder {color: var(--primary-text-color--faint);}
- &:-ms-input-placeholder {color: var(--primary-text-color--faint);}
- &::-ms-input-placeholder {color: var(--primary-text-color--faint);}
+ &::placeholder { color: var(--primary-text-color--faint); }
+ &:-ms-input-placeholder { color: var(--primary-text-color--faint); }
+ &::-ms-input-placeholder { color: var(--primary-text-color--faint); }
&::-moz-focus-inner {
border: 0;
@@ -87,7 +87,7 @@
li {
margin: 0 0 2px;
- em {color: var(--brand-color);}
+ em { color: var(--brand-color); }
}
}
}
diff --git a/app/styles/about.scss b/app/styles/about.scss
index 77d93917e..a1b20544b 100644
--- a/app/styles/about.scss
+++ b/app/styles/about.scss
@@ -1,7 +1,5 @@
$maximum-width: 1235px;
$fluid-breakpoint: $maximum-width + 20px;
-$column-breakpoint: 700px;
-$small-breakpoint: 960px;
.public-layout {
.container {
@@ -168,7 +166,6 @@ $small-breakpoint: 960px;
&:active {
color: var(--brand-color);
}
-
}
@media screen and (max-width: 550px) {
@@ -194,498 +191,6 @@ $small-breakpoint: 960px;
}
}
}
-
- $no-columns-breakpoint: 600px;
-
- .grid {
- display: grid;
- grid-gap: 10px;
- grid-template-columns: minmax(300px, 3fr) minmax(298px, 1fr);
- grid-auto-columns: 25%;
- grid-auto-rows: max-content;
-
- .column-0 {
- grid-row: 1;
- grid-column: 1;
- }
-
- .column-1 {
- grid-row: 1;
- grid-column: 2;
- }
-
- @media screen and (max-width: $no-columns-breakpoint) {
- grid-template-columns: 100%;
- grid-gap: 0;
-
- .column-1 {
- display: none;
- }
- }
- }
-
- .public-account-header {
- overflow: hidden;
- margin-bottom: 10px;
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
-
- &.inactive {
- opacity: 0.5;
-
- .public-account-header__image,
- .avatar {
- filter: grayscale(100%);
- }
-
- .logo-button {
- background-color: var(--primary-text-color--faint);
- }
- }
-
- &__image {
- border-radius: 4px 4px 0 0;
- overflow: hidden;
- height: 300px;
- position: relative;
- background: var(--background-color);
-
- &::after {
- content: "";
- display: block;
- position: absolute;
- width: 100%;
- height: 100%;
- box-shadow: inset 0 -1px 1px 1px rgba($base-shadow-color, 0.15);
- top: 0;
- left: 0;
- }
-
- img {
- object-fit: cover;
- display: block;
- width: 100%;
- height: 100%;
- margin: 0;
- border-radius: 4px 4px 0 0;
- }
-
- @media screen and (max-width: 600px) {
- height: 200px;
- }
- }
-
- &--no-bar {
- margin-bottom: 0;
-
- .public-account-header__image,
- .public-account-header__image img {
- border-radius: 4px;
-
- @media screen and (max-width: $no-gap-breakpoint) {
- border-radius: 0;
- }
- }
- }
-
- @media screen and (max-width: $no-gap-breakpoint) {
- margin-bottom: 0;
- box-shadow: none;
-
- &__image::after {
- display: none;
- }
-
- &__image,
- &__image img {
- border-radius: 0;
- }
- }
-
- &__bar {
- position: relative;
- margin-top: -80px;
- display: flex;
- justify-content: flex-start;
-
- &::before {
- content: "";
- display: block;
- background: var(--brand-color--faint);
- position: absolute;
- bottom: 0;
- left: 0;
- right: 0;
- height: 60px;
- border-radius: 0 0 4px 4px;
- z-index: -1;
- }
-
- .avatar {
- display: block;
- width: 120px;
- height: 120px;
- padding-left: 20px - 4px;
- flex: 0 0 auto;
-
- img {
- display: block;
- width: 100%;
- height: 100%;
- margin: 0;
- border-radius: 50%;
- border: 4px solid var(--brand-color--faint);
- background: var(--background-color);
- }
- }
-
- @media screen and (max-width: 600px) {
- margin-top: 0;
- background: var(--brand-color--faint);
- border-radius: 0 0 4px 4px;
- padding: 5px;
-
- &::before {
- display: none;
- }
-
- .avatar {
- width: 48px;
- height: 48px;
- padding: 7px 0;
- padding-left: 10px;
-
- img {
- border: 0;
- border-radius: 4px;
- }
-
- @media screen and (max-width: 360px) {
- display: none;
- }
- }
- }
-
- @media screen and (max-width: $no-gap-breakpoint) {
- border-radius: 0;
- }
-
- @media screen and (max-width: $no-columns-breakpoint) {
- flex-wrap: wrap;
- }
- }
-
- &__tabs {
- flex: 1 1 auto;
- margin-left: 20px;
-
- &__name {
- padding-top: 20px;
- padding-bottom: 8px;
-
- h1 {
- font-size: 20px;
- line-height: 18px * 1.5;
- color: var(--primary-text-color);
- font-weight: 500;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- text-shadow: 1px 1px 1px $base-shadow-color;
-
- small {
- display: block;
- font-size: 14px;
- color: var(--primary-text-color);
- font-weight: 400;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- }
- }
-
- @media screen and (max-width: 600px) {
- margin-left: 15px;
- display: flex;
- justify-content: space-between;
- align-items: center;
-
- &__name {
- padding-top: 0;
- padding-bottom: 0;
-
- h1 {
- font-size: 16px;
- line-height: 24px;
- text-shadow: none;
-
- small {
- color: var(--primary-text-color--faint);
- }
- }
- }
- }
-
- &__tabs {
- display: flex;
- justify-content: flex-start;
- align-items: stretch;
- height: 58px;
-
- .details-counters {
- display: flex;
- flex-direction: row;
- min-width: 300px;
- }
-
- @media screen and (max-width: $no-columns-breakpoint) {
- .details-counters {
- display: none;
- }
- }
-
- .counter {
- width: 33.3%;
- box-sizing: border-box;
- flex: 0 0 auto;
- color: var(--primary-text-color--faint);
- padding: 10px;
- border-right: 1px solid var(--brand-color--faint);
- cursor: default;
- text-align: center;
- position: relative;
-
- a {
- display: block;
- }
-
- &:last-child {
- border-right: 0;
- }
-
- &::after {
- display: block;
- content: "";
- position: absolute;
- bottom: 0;
- left: 0;
- width: 100%;
- border-bottom: 4px solid var(--brand-color);
- opacity: 0.5;
- transition: all 400ms ease;
- }
-
- &.active {
- &::after {
- border-bottom: 4px solid var(--highlight-text-color);
- opacity: 1;
- }
-
- &.inactive::after {
- border-bottom-color: var(--primary-text-color--faint);
- }
- }
-
- &:hover {
- &::after {
- opacity: 1;
- transition-duration: 100ms;
- }
- }
-
- a {
- text-decoration: none;
- color: inherit;
- }
-
- .counter-label {
- font-size: 12px;
- display: block;
- }
-
- .counter-number {
- font-weight: 500;
- font-size: 18px;
- margin-bottom: 5px;
- color: var(--primary-text-color);
- font-family: var(--font-display), sans-serif;
- }
- }
-
- .spacer {
- flex: 1 1 auto;
- height: 1px;
- }
-
- &__buttons {
- padding: 7px 8px;
- }
- }
- }
-
- &__extra {
- display: none;
- margin-top: 4px;
-
- .public-account-bio {
- border-radius: 0;
- box-shadow: none;
- background: transparent;
- margin: 0 -5px;
-
- .account__header__fields {
- border-top: 1px solid var(--brand-color--med);
- }
-
- .roles {
- display: none;
- }
- }
-
- &__links {
- margin-top: -15px;
- font-size: 14px;
- color: var(--primary-text-color--faint);
-
- a {
- display: inline-block;
- color: var(--primary-text-color--faint);
- text-decoration: none;
- padding: 15px;
- font-weight: 500;
-
- strong {
- font-weight: 700;
- color: var(--primary-text-color);
- }
- }
- }
-
- @media screen and (max-width: $no-columns-breakpoint) {
- display: block;
- flex: 100%;
- }
- }
- }
-
- .account__section-headline {
- border-radius: 4px 4px 0 0;
-
- @media screen and (max-width: $no-gap-breakpoint) {
- border-radius: 0;
- }
- }
-
- .detailed-status__meta {
- margin-top: 25px;
- }
-
- .public-account-bio {
- background: var(--brand-color--med);
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
- border-radius: 4px;
- overflow: hidden;
- margin-bottom: 10px;
-
- @media screen and (max-width: $no-gap-breakpoint) {
- box-shadow: none;
- margin-bottom: 0;
- border-radius: 0;
- }
-
- .account__header__fields {
- margin: 0;
- border-top: 0;
-
- a {
- color: var(--brand-color);
- }
-
- dl:first-child .verified {
- border-radius: 0 4px 0 0;
- }
-
- .verified a {
- color: $valid-value-color;
- }
- }
-
- .account__header__content {
- padding: 20px;
- padding-bottom: 0;
- color: var(--primary-text-color);
- }
-
- &__extra,
- .roles {
- padding: 20px;
- font-size: 14px;
- color: var(--primary-text-color--faint);
- }
-
- .roles {
- padding-bottom: 0;
- }
- }
-
- .static-icon-button {
- color: var(--brand-color);
- font-size: 18px;
-
- & > span {
- font-size: 14px;
- font-weight: 500;
- }
- }
-
- .card-grid {
- display: flex;
- flex-wrap: wrap;
- min-width: 100%;
- margin: 0 -5px;
-
- & > div {
- box-sizing: border-box;
- flex: 1 0 auto;
- width: 300px;
- padding: 0 5px;
- margin-bottom: 10px;
- max-width: 33.333%;
-
- @media screen and (max-width: 900px) {
- max-width: 50%;
- }
-
- @media screen and (max-width: 600px) {
- max-width: 100%;
- }
- }
-
- @media screen and (max-width: $no-gap-breakpoint) {
- margin: 0;
- border-top: 1px solid var(--brand-color--med);
-
- & > div {
- width: 100%;
- padding: 0;
- margin-bottom: 0;
- border-bottom: 1px solid var(--brand-color--med);
-
- &:last-child {
- border-bottom: 0;
- }
-
- .card__bar {
- background: var(--brand-color--med);
-
- &:hover,
- &:active,
- &:focus {
- background: var(--brand-color--faint);
- }
- }
- }
- }
- }
}
.container {
@@ -704,7 +209,6 @@ $small-breakpoint: 960px;
font-family: var(--font-sans-serif), sans-serif;
font-size: 16px;
font-weight: 400;
- font-size: 16px;
line-height: 30px;
color: var(--primary-text-color--faint);
max-width: 600px;
@@ -728,7 +232,6 @@ $small-breakpoint: 960px;
font-family: var(--font-sans-serif), sans-serif;
font-size: 16px;
font-weight: 400;
- font-size: 16px;
line-height: 30px;
color: var(--primary-text-color--faint);
@@ -810,7 +313,7 @@ $small-breakpoint: 960px;
ul,
ol {
padding: 0 0 0 2em;
- margin: 0 0 .85em;
+ margin: 0 0 0.85em;
&[type='a'] {
list-style-type: lower-alpha;
@@ -842,7 +345,7 @@ $small-breakpoint: 960px;
width: 100%;
height: 0;
border: 0;
- border-bottom: 1px solid hsla(var(--background-color_hsl), .6);
+ border-bottom: 1px solid hsla(var(--background-color_hsl), 0.6);
margin: 2em 0;
&.spacer {
@@ -850,494 +353,9 @@ $small-breakpoint: 960px;
border: 0;
}
}
-}
-.information-board {
- background: var(--brand-color--med);
- padding: 20px 0;
-
- .container-alt {
- position: relative;
- padding-right: 280px + 15px;
- }
-
- &__sections {
- display: flex;
- justify-content: space-between;
- flex-wrap: wrap;
- }
-
- &__section {
- flex: 1 0 0;
- font-family: var(--font-sans-serif), sans-serif;
- font-size: 16px;
- line-height: 28px;
- color: var(--primary-text-color);
- text-align: right;
- padding: 10px 15px;
-
- span,
- strong {
- display: block;
- }
-
- span {
- &:last-child {
- color: var(--primary-text-color--faint);
- }
- }
-
- strong {
- font-family: var(--font-display), sans-serif;
- font-weight: 500;
- font-size: 32px;
- line-height: 48px;
- }
-
- @media screen and (max-width: $column-breakpoint) {
- text-align: center;
- }
- }
-
- .panel {
- position: absolute;
- width: 280px;
- box-sizing: border-box;
- background: var(--background-color);
- padding: 20px;
- padding-top: 10px;
- border-radius: 4px 4px 0 0;
- right: 0;
- bottom: -40px;
-
- .panel-header {
- font-family: var(--font-display), sans-serif;
- font-size: 14px;
- line-height: 24px;
- font-weight: 500;
- color: var(--primary-text-color--faint);
- padding-bottom: 5px;
- margin-bottom: 15px;
- border-bottom: 1px solid var(--brand-color--faint);
- text-overflow: ellipsis;
- white-space: nowrap;
- overflow: hidden;
-
- a,
- span {
- font-weight: 400;
- color: var(--primary-text-color);
- }
-
- a {
- text-decoration: none;
- }
- }
- }
-
- .owner {
- text-align: center;
-
- .avatar {
- width: 80px;
- height: 80px;
- margin: 0 auto;
- margin-bottom: 15px;
-
- img {
- display: block;
- width: 80px;
- height: 80px;
- border-radius: 48px;
- }
- }
-
- .name {
- font-size: 14px;
-
- a {
- display: block;
- color: var(--primary-text-color);
- text-decoration: none;
-
- &:hover {
- .display_name {
- text-decoration: underline;
- }
- }
- }
-
- .username {
- display: block;
- color: var(--primary-text-color--faint);
- }
- }
- }
-}
-
-.landing-page {
- p,
- li {
- font-family: var(--font-sans-serif), sans-serif;
- font-size: 16px;
- font-weight: 400;
- font-size: 16px;
- line-height: 30px;
- margin-bottom: 12px;
- color: var(--primary-text-color--faint);
-
- a {
- color: var(--highlight-text-color);
- text-decoration: underline;
- }
- }
-
- em {
- display: inline;
- margin: 0;
- padding: 0;
- font-weight: 700;
- background: transparent;
- font-family: inherit;
- font-size: inherit;
- line-height: inherit;
- color: var(--primary-text-color);
- }
-
- h1 {
- font-family: var(--font-display), sans-serif;
- font-size: 26px;
- line-height: 30px;
- font-weight: 500;
- margin-bottom: 20px;
- color: var(--primary-text-color--faint);
-
- small {
- font-family: var(--font-sans-serif), sans-serif;
- display: block;
- font-size: 18px;
- font-weight: 400;
- color: var(--primary-text-color);
- }
- }
-
- h2 {
- font-family: var(--font-display), sans-serif;
- font-size: 22px;
- line-height: 26px;
- font-weight: 500;
- margin-bottom: 20px;
- color: var(--primary-text-color--faint);
- }
-
- h3 {
- font-family: var(--font-display), sans-serif;
- font-size: 18px;
- line-height: 24px;
- font-weight: 500;
- margin-bottom: 20px;
- color: var(--primary-text-color--faint);
- }
-
- h4 {
- font-family: var(--font-display), sans-serif;
- font-size: 16px;
- line-height: 24px;
- font-weight: 500;
- margin-bottom: 20px;
- color: var(--primary-text-color--faint);
- }
-
- h5 {
- font-family: var(--font-display), sans-serif;
- font-size: 14px;
- line-height: 24px;
- font-weight: 500;
- margin-bottom: 20px;
- color: var(--primary-text-color--faint);
- }
-
- h6 {
- font-family: var(--font-display), sans-serif;
- font-size: 12px;
- line-height: 24px;
- font-weight: 500;
- margin-bottom: 20px;
- color: var(--primary-text-color--faint);
- }
-
- ul,
- ol {
- margin-left: 20px;
-
- &[type='a'] {
- list-style-type: lower-alpha;
- }
-
- &[type='i'] {
- list-style-type: lower-roman;
- }
- }
-
- ul {
- list-style: disc;
- }
-
- ol {
- list-style: decimal;
- }
-
- li > ol,
- li > ul {
- margin-top: 6px;
- }
-
- hr {
- width: 100%;
- height: 0;
- border: 0;
- border-bottom: 1px solid hsla(var(--background-color_hsl), .6);
- margin: 20px 0;
-
- &.spacer {
- height: 1px;
- border: 0;
- }
- }
-
- &__information,
- &__forms {
- padding: 20px;
- }
-
- &__call-to-action {
- background: var(--brand-color--med);
- border-radius: 4px;
- padding: 25px 40px;
- overflow: hidden;
- box-sizing: border-box;
-
- .row {
- width: 100%;
- display: flex;
- flex-direction: row-reverse;
- flex-wrap: nowrap;
- justify-content: space-between;
- align-items: center;
- }
-
- .row__information-board {
- display: flex;
- justify-content: flex-end;
- align-items: flex-end;
-
- .information-board__section {
- flex: 1 0 auto;
- padding: 0 10px;
- }
-
- @media screen and (max-width: $no-gap-breakpoint) {
- width: 100%;
- justify-content: space-between;
- }
- }
-
- .row__mascot {
- flex: 1;
- margin: 10px -50px 0 0;
-
- @media screen and (max-width: $no-gap-breakpoint) {
- display: none;
- }
- }
- }
-
- &__logo {
- margin-right: 20px;
-
- img {
- height: 50px;
- width: auto;
- mix-blend-mode: lighten;
- }
- }
-
- &__information {
- padding: 45px 40px;
- margin-bottom: 10px;
-
- &:last-child {
- margin-bottom: 0;
- }
-
- strong {
- font-weight: 500;
- color: var(--primary-text-color);
- }
-
- .account {
- border-bottom: 0;
- padding: 0;
-
- &__display-name {
- align-items: center;
- display: flex;
- margin-right: 5px;
- }
-
- div.account__display-name {
- &:hover {
- .display-name strong {
- text-decoration: none;
- }
- }
-
- .account__avatar {
- cursor: default;
- }
- }
-
- &__avatar-wrapper {
- margin-left: 0;
- flex: 0 0 auto;
- }
-
- &__avatar {
- width: 44px;
- height: 44px;
- background-size: 44px 44px;
- }
-
- .display-name {
- font-size: 15px;
-
- &__account {
- font-size: 14px;
- }
- }
- }
-
- @media screen and (max-width: $small-breakpoint) {
- .contact {
- margin-top: 30px;
- }
- }
-
- @media screen and (max-width: $column-breakpoint) {
- padding: 25px 20px;
- }
- }
-
- &__information,
- &__forms,
- #soapbox-timeline {
- box-sizing: border-box;
- background: var(--brand-color--med);
- border-radius: 4px;
- box-shadow: 0 0 6px rgba(#000000, 0.1);
- }
-
- &__mascot {
- height: 104px;
- position: relative;
- left: -40px;
- bottom: 25px;
-
- img {
- height: 190px;
- width: auto;
- }
- }
-
- &__short-description {
- .row {
- display: flex;
- flex-wrap: wrap;
- align-items: center;
- margin-bottom: 40px;
- }
-
- @media screen and (max-width: $column-breakpoint) {
- .row {
- margin-bottom: 20px;
- }
- }
-
- p a {
- color: var(--primary-text-color--faint);
- }
-
- h1 {
- font-weight: 500;
- color: var(--primary-text-color);
- margin-bottom: 0;
-
- small {
- color: var(--primary-text-color--faint);
-
- span {
- color: var(--primary-text-color--faint);
- }
- }
- }
-
- p:last-child {
- margin-bottom: 0;
- }
- }
-
- &__hero {
- margin-bottom: 10px;
-
- img {
- display: block;
- margin: 0;
- max-width: 100%;
- height: auto;
- border-radius: 4px;
- }
- }
-
- @media screen and (max-width: 840px) {
- .information-board {
- .container-alt {
- padding-right: 20px;
- }
-
- .panel {
- position: static;
- margin-top: 20px;
- width: 100%;
- border-radius: 4px;
-
- .panel-header {
- text-align: center;
- }
- }
- }
- }
-
- @media screen and (max-width: 675px) {
- .header-wrapper {
- padding-top: 0;
-
- &.compact {
- padding-bottom: 0;
- }
-
- &.compact .hero .heading {
- text-align: initial;
- }
- }
-
- .header .container-alt,
- .features .container-alt {
- display: block;
- }
- }
-
- .cta {
- margin: 20px;
+ pre {
+ white-space: pre-wrap;
}
}
@@ -1418,14 +436,32 @@ $small-breakpoint: 960px;
width: 395px;
background-color: var(--foreground-color);
border-radius: 6px;
+ height: 100%;
- .simple_form {
+ .simple_form,
+ .registrations-closed {
padding: 20px;
background-color: var(--brand-color--faint);
border-radius: inherit;
}
}
+ .registrations-closed {
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+ align-items: center;
+ justify-content: center;
+ text-align: center;
+ font-size: 18px;
+
+ h2 {
+ font-weight: bold;
+ font-size: 24px;
+ margin-bottom: 10px;
+ }
+ }
+
@media (min-width: 767px) and (max-width: 1024px) {
padding: 40px 20px 20px;
@@ -1491,67 +527,6 @@ $small-breakpoint: 960px;
border-radius: 0;
}
- .hero-widget {
- margin-top: 30px;
- margin-bottom: 0;
-
- h4 {
- padding: 10px;
- text-transform: uppercase;
- font-weight: 700;
- font-size: 13px;
- color: var(--primary-text-color--faint);
- }
-
- &__text {
- border-radius: 0;
- padding-bottom: 0;
- }
-
- &__footer {
- background: var(--brand-color--med);
- padding: 10px;
- border-radius: 0 0 4px 4px;
- display: flex;
-
- &__column {
- flex: 1 1 50%;
- }
- }
-
- .account {
- padding: 10px 0;
- border-bottom: 0;
-
- .account__display-name {
- display: flex;
- align-items: center;
- }
-
- .account__avatar {
- width: 44px;
- height: 44px;
- background-size: 44px 44px;
- }
- }
-
- &__counter {
- padding: 10px;
-
- strong {
- font-family: var(--font-display), sans-serif;
- font-size: 15px;
- font-weight: 700;
- display: block;
- }
-
- span {
- font-size: 14px;
- color: var(--primary-text-color--faint);
- }
- }
- }
-
.simple_form .user_agreement .label_input > label {
font-weight: 400;
color: var(--primary-text-color--faint);
@@ -1580,18 +555,6 @@ $small-breakpoint: 960px;
grid-row: 1;
display: flex;
flex-direction: column;
-
- .box-widget {
- order: 2;
- flex: 0 0 auto;
- }
-
- .hero-widget {
- margin-top: 0;
- margin-bottom: 10px;
- order: 1;
- flex: 0 0 auto;
- }
}
&__column-registration {
@@ -1605,42 +568,6 @@ $small-breakpoint: 960px;
@media screen and (max-width: $no-gap-breakpoint) {
grid-gap: 0;
-
- .hero-widget {
- display: block;
- margin-bottom: 0;
- box-shadow: none;
-
- &__img,
- &__img img,
- &__footer {
- border-radius: 0;
- }
- }
-
- .hero-widget,
- .box-widget,
- .directory__tag {
- border-bottom: 1px solid var(--brand-color--med);
- }
-
- .directory {
- margin-top: 0;
-
- &__tag {
- margin-bottom: 0;
-
- & > a,
- & > div {
- border-radius: 0;
- box-shadow: none;
- }
-
- &:last-child {
- border-bottom: 0;
- }
- }
- }
}
}
}
@@ -1697,10 +624,6 @@ $small-breakpoint: 960px;
}
}
-.public-layout pre.canary {
- white-space: pre-wrap;
-}
-
.about-page {
background: var(--brand-color--faint);
border-radius: inherit;
diff --git a/app/styles/accessibility.scss b/app/styles/accessibility.scss
index 378669e09..00d5fe384 100644
--- a/app/styles/accessibility.scss
+++ b/app/styles/accessibility.scss
@@ -1,8 +1,8 @@
$black-emojis: '8ball' 'ant' 'back' 'black_circle' 'black_heart' 'black_large_square' 'black_medium_small_square' 'black_medium_square' 'black_nib' 'black_small_square' 'bomb' 'bowling' 'bust_in_silhouette' 'busts_in_silhouette' 'camera' 'camera_with_flash' 'clubs' 'copyright' 'curly_loop' 'currency_exchange' 'dark_sunglasses' 'eight_pointed_black_star' 'electric_plug' 'end' 'female-guard' 'film_projector' 'fried_egg' 'gorilla' 'guardsman' 'heavy_check_mark' 'heavy_division_sign' 'heavy_dollar_sign' 'heavy_minus_sign' 'heavy_multiplication_x' 'heavy_plus_sign' 'hocho' 'hole' 'joystick' 'kaaba' 'lower_left_ballpoint_pen' 'lower_left_fountain_pen' 'male-guard' 'microphone' 'mortar_board' 'movie_camera' 'musical_score' 'on' 'registered' 'soon' 'spades' 'speaking_head_in_silhouette' 'spider' 'telephone_receiver' 'tm' 'top' 'tophat' 'turkey' 'vhs' 'video_camera' 'video_game' 'water_buffalo' 'waving_black_flag' 'wavy_dash';
%white-emoji-outline {
- filter: drop-shadow(1px 1px 0 #ffffff) drop-shadow(-1px 1px 0 #ffffff) drop-shadow(1px -1px 0 #ffffff) drop-shadow(-1px -1px 0 #ffffff);
- transform: scale(.71);
+ filter: drop-shadow(1px 1px 0 #fff) drop-shadow(-1px 1px 0 #fff) drop-shadow(1px -1px 0 #fff) drop-shadow(-1px -1px 0 #fff);
+ transform: scale(0.71);
}
.emojione {
diff --git a/app/styles/accounts.scss b/app/styles/accounts.scss
index d9bbe2283..2e59d622f 100644
--- a/app/styles/accounts.scss
+++ b/app/styles/accounts.scss
@@ -177,154 +177,6 @@
}
}
-.nothing-here {
- background: var(--brand-color--med);
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
- color: var(--primary-text-color--faint);
- font-size: 14px;
- font-weight: 500;
- text-align: center;
- display: flex;
- justify-content: center;
- align-items: center;
- cursor: default;
- border-radius: 4px;
- padding: 20px;
- min-height: 30vh;
-
- &--under-tabs {
- border-radius: 0 0 4px 4px;
- }
-
- &--flexible {
- box-sizing: border-box;
- min-height: 100%;
- }
-}
-
-.account-role {
- display: inline-block;
- padding: 4px 6px;
- cursor: default;
- border-radius: 3px;
- font-size: 12px;
- line-height: 12px;
- font-weight: 500;
- color: var(--background-color);
- background-color: hsla(var(--background-color_hsl), 0.1);
- border: 1px solid hsla(var(--background-color_hsl), 0.5);
-
- &.moderator {
- color: $success-green;
- background-color: rgba($success-green, 0.1);
- border-color: rgba($success-green, 0.5);
- }
-
- &.admin {
- color: lighten($error-red, 12%);
- background-color: rgba(lighten($error-red, 12%), 0.1);
- border-color: rgba(lighten($error-red, 12%), 0.5);
- }
-}
-
-.account__header__fields {
- padding: 0;
- margin: 15px -15px -15px;
- border: 0 none;
- border-top: 1px solid var(--brand-color--med);
- border-bottom: 1px solid var(--brand-color--med);
- font-size: 14px;
- line-height: 20px;
-
- dl {
- display: flex;
- border-bottom: 1px solid var(--brand-color--med);
- }
-
- dt,
- dd {
- box-sizing: border-box;
- padding: 14px;
- text-align: center;
- max-height: 48px;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- }
-
- dt {
- font-weight: 500;
- width: 120px;
- flex: 0 0 auto;
- color: var(--primary-text-color--faint);
- background: hsla(var(--background-color_hsl), 0.5);
- }
-
- dd {
- flex: 1 1 auto;
- color: var(--primary-text-color--faint);
- }
-
- a {
- color: var(--highlight-text-color);
- text-decoration: none;
-
- &:hover,
- &:focus,
- &:active {
- text-decoration: underline;
- }
- }
-
- .verified {
- border: 1px solid rgba($valid-value-color, 0.5);
- background: rgba($valid-value-color, 0.25);
-
- a {
- color: $valid-value-color;
- font-weight: 500;
- }
-
- &__mark {
- color: $valid-value-color;
- }
- }
-
- dl:last-child {
- border-bottom: 0;
- }
-}
-
-.directory__tag .trends__item__current {
- width: auto;
-}
-
-.pending-account {
- &__header {
- color: var(--primary-text-color--faint);
-
- a {
- color: var(--background-color);
- text-decoration: none;
-
- &:hover,
- &:active,
- &:focus {
- text-decoration: underline;
- }
- }
-
- strong {
- color: var(--primary-text-color);
- font-weight: 700;
- }
- }
-
- &__body {
- margin-top: 10px;
- }
-}
-
.account {
padding: 10px;
position: relative;
@@ -400,7 +252,6 @@ a .account__avatar {
&-overlay {
@include avatar-radius;
@include avatar-size(24px);
-
position: absolute;
bottom: 0;
right: 0;
@@ -591,6 +442,8 @@ a .account__avatar {
.account__section-headline {
background: var(--foreground-color);
+ width: 100%;
+ display: flex;
button,
a {
diff --git a/app/styles/application.scss b/app/styles/application.scss
index 96eb4dcf4..366b7fcae 100644
--- a/app/styles/application.scss
+++ b/app/styles/application.scss
@@ -1,3 +1,10 @@
+// Fonts from elsewhere
+@import '~fork-awesome/css/fork-awesome.css';
+@import '~fontsource-roboto/300.css';
+@import '~fontsource-roboto/400.css';
+@import '~fontsource-roboto/700.css';
+@import '~fontsource-montserrat/800.css';
+
@import 'mixins';
@import 'themes';
@import 'variables';
@@ -5,29 +12,21 @@
@import 'reset';
@import 'basics';
@import 'containers';
-@import 'lists';
@import 'footer';
-@import 'compact_header';
-@import 'widgets';
@import 'forms';
@import 'accounts';
-@import 'stream_entries';
@import 'boost';
@import 'loading';
@import 'ui';
@import 'polls';
-@import 'introduction';
+// @import 'introduction';
@import 'emoji_picker';
@import 'about';
-@import 'tables';
-@import 'dashboard';
@import 'rtl';
@import 'accessibility';
@import 'donations';
@import 'dyslexic';
@import 'demetricator';
-@import 'pro';
-@import 'overflow_hacks';
@import 'chats';
// COMPONENTS
@@ -39,10 +38,10 @@
@import 'components/account-header';
@import 'components/user-panel';
@import 'components/compose-form';
-@import 'components/group-card';
-@import 'components/group-detail';
-@import 'components/group-form';
-@import 'components/group-sidebar-panel';
+// @import 'components/group-card';
+// @import 'components/group-detail';
+// @import 'components/group-form';
+// @import 'components/group-sidebar-panel';
@import 'components/sidebar-menu';
@import 'components/hotkeys-modal';
@import 'components/emoji-reacts';
@@ -77,3 +76,11 @@
@import 'components/profile_hover_card';
@import 'components/filters';
@import 'components/mfa_form';
+@import 'components/snackbar';
+@import 'components/accordion';
+@import 'components/server-info';
+@import 'components/admin';
+@import 'components/backups';
+
+// Holiday
+@import 'holiday/halloween';
diff --git a/app/styles/basics.scss b/app/styles/basics.scss
index 092f06202..964862aec 100644
--- a/app/styles/basics.scss
+++ b/app/styles/basics.scss
@@ -19,7 +19,7 @@ body {
@include line-height(19);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
- text-rendering: optimizelegibility;
+ text-rendering: optimizeLegibility;
font-feature-settings: "kern";
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-webkit-tap-highlight-color: transparent;
@@ -155,42 +155,8 @@ body {
}
::selection {
- background: var(--highlight-text-color);
- color: #ffffff;
-}
-
-.explanation-box {
- color: var(--primary-text-color);
- padding: 15px 20px;
- font-size: 14px;
- background-color: var(--brand-color--faint);
- margin: 5px 20px;
- border-radius: 8px;
-
- &__title {
- font-weight: bold;
- font-size: 16px;
- }
-
- &__explanation {
- margin-top: 1em;
- }
-
- &__dismiss {
- display: inline-block;
- text-transform: uppercase;
- margin-left: 5px;
- font-size: 13px;
- }
-
- a {
- color: var(--brand-color--hicontrast);
- text-decoration: underline;
-
- &:hover {
- text-decoration: none;
- }
- }
+ background-color: var(--highlight-text-color);
+ color: #fff;
}
noscript {
diff --git a/app/styles/chats.scss b/app/styles/chats.scss
index a7369c53b..4f266bc56 100644
--- a/app/styles/chats.scss
+++ b/app/styles/chats.scss
@@ -5,7 +5,7 @@
bottom: 0;
right: 20px;
width: 265px;
- height: 265px;
+ height: 350px;
max-height: calc(100vh - 70px);
display: flex;
flex-direction: column;
@@ -94,6 +94,41 @@
overflow: hidden;
}
}
+
+ .audio-toggle .react-toggle-thumb {
+ height: 14px;
+ width: 14px;
+ border: 1px solid var(--brand-color--med);
+ }
+
+ .audio-toggle .react-toggle {
+ height: 16px;
+ top: 4px;
+ }
+
+ .audio-toggle .react-toggle-track {
+ height: 16px;
+ width: 34px;
+ background-color: var(--accent-color);
+ }
+
+ .audio-toggle .react-toggle-track-check {
+ left: 4px;
+ bottom: 4px;
+ }
+
+ .react-toggle--checked .react-toggle-thumb {
+ left: 19px;
+ }
+
+ .audio-toggle .react-toggle-track-x {
+ right: 4px;
+ bottom: 4px;
+ }
+
+ .fa {
+ font-size: 14px;
+ }
}
.chat-messages {
@@ -111,12 +146,23 @@
max-width: 70%;
border-radius: 10px;
background-color: var(--background-color);
- overflow: hidden;
text-overflow: ellipsis;
+ overflow-wrap: break-word;
+ white-space: break-spaces;
+ position: relative;
a {
color: var(--brand-color--hicontrast);
}
+
+ &:hover,
+ &:focus,
+ &:active, {
+ .chat-message__menu {
+ opacity: 1;
+ pointer-events: all;
+ }
+ }
}
&--me .chat-message__bubble {
@@ -127,6 +173,17 @@
&--pending .chat-message__bubble {
opacity: 0.5;
}
+
+ &__menu {
+ position: absolute;
+ top: -8px;
+ right: -8px;
+ background: var(--background-color);
+ border-radius: 999px;
+ opacity: 0;
+ pointer-events: none;
+ transition: 0.2s;
+ }
}
.chat-list {
@@ -150,6 +207,10 @@
.display-name {
display: flex;
+ .hover-ref-wrapper {
+ display: flex;
+ }
+
bdi {
overflow: hidden;
text-overflow: ellipsis;
@@ -173,10 +234,65 @@
}
.chat-box {
+ .upload-progress {
+ padding: 0 10px;
+ align-items: center;
+ height: 25px;
+
+ .fa {
+ font-size: 22px;
+ }
+
+ &__message {
+ font-size: 13px;
+ flex: 1;
+ align-items: center;
+ }
+
+ &__backdrop {
+ margin-top: 2px;
+ }
+ }
+
+ &__attachment {
+ display: flex;
+ align-items: center;
+ font-size: 13px;
+ padding: 0 10px;
+ height: 25px;
+
+ .chat-box__remove-attachment {
+ margin-left: auto;
+
+ .icon-button > div {
+ display: flex;
+ align-items: center;
+ }
+ }
+ }
+
&__actions {
background: var(--foreground-color);
margin-top: auto;
padding: 6px;
+ position: relative;
+
+ .icon-button {
+ color: var(--primary-text-color--faint);
+ position: absolute;
+ right: 10px;
+ top: calc(50% - 13px);
+ width: auto;
+ height: auto;
+ background: transparent !important;
+ border: 0;
+ padding: 0;
+ margin: 0;
+ }
+
+ .chat-box__send .icon-button {
+ top: calc(50% - 9px);
+ }
textarea {
width: 100%;
@@ -184,11 +300,13 @@
margin: 0;
box-sizing: border-box;
padding: 6px;
+ padding-right: 25px;
background: var(--background-color);
border: 0;
border-radius: 6px;
color: var(--primary-text-color);
font-size: 15px;
+ overflow: hidden;
}
}
}
@@ -201,7 +319,7 @@
box-sizing: border-box;
overflow: hidden;
- @media(max-width: 630px) {
+ @media (max-width: 630px) {
height: calc(100vh - 50px);
}
}
@@ -215,19 +333,50 @@
border-radius: 0 0 10px 10px;
&__actions textarea {
- padding: 10px;
+ padding: 10px 40px 10px 10px;
+ }
+ }
+ }
+
+ @media (max-width: 630px) {
+ .columns-area__panels__main .columns-area {
+ padding: 0;
+ }
+
+ .columns-area__panels__main {
+ padding: 0;
+ max-width: none;
+ }
+
+ .columns-area--mobile .column {
+ border-radius: 0;
+ }
+
+ .page {
+ .chat-box {
+ border-radius: 0;
+ border: 2px solid var(--foreground-color);
+
+ &__actions {
+ padding: 0;
+
+ textarea {
+ height: 4em;
+ border-radius: 0;
+ }
+ }
}
}
}
}
-@media(max-width: 630px) {
+@media (max-width: 630px) {
.chat-panes {
display: none;
}
}
-@media(min-width: 630px) {
+@media (min-width: 630px) {
.tabs-bar .tabs-bar__link--chats {
display: none;
}
@@ -238,6 +387,7 @@
margin-left: auto;
padding-right: 15px;
overflow: hidden;
+ text-decoration: none;
.account__avatar {
margin-right: 7px;
@@ -252,7 +402,7 @@
background: transparent;
border: 0;
padding: 0;
- color: #fff;
+ color: var(--primary-text-color);
font-weight: bold;
text-align: left;
font-size: 14px;
@@ -263,7 +413,6 @@
display: flex;
align-items: center;
background: var(--accent-color--faint);
- border-radius: 10px 10px 0 0;
.column-back-button {
background: transparent;
@@ -276,5 +425,45 @@
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
+
+ a {
+ color: var(--highlight-text-color);
+ }
}
}
+
+.chat-message__media {
+ height: 120px;
+}
+
+.chat-message .media-gallery {
+ height: 100% !important;
+ margin: 4px 0 8px;
+
+ .spoiler-button {
+ display: none;
+ }
+
+ .media-gallery__item:not(.media-gallery__item--image) {
+ max-width: 100%;
+ width: 120px !important;
+ height: 100% !important;
+ }
+
+ &__preview {
+ background-color: transparent;
+ }
+
+ &__item-thumbnail img,
+ &__item-thumbnail .still-image img {
+ object-fit: contain;
+ }
+}
+
+.chat-messages__divider {
+ text-align: center;
+ text-transform: uppercase;
+ font-size: 13px;
+ padding: 14px 0 2px;
+ opacity: 0.8;
+}
diff --git a/app/styles/compact_header.scss b/app/styles/compact_header.scss
deleted file mode 100644
index 3f6fc003e..000000000
--- a/app/styles/compact_header.scss
+++ /dev/null
@@ -1,34 +0,0 @@
-.compact-header {
- h1 {
- font-size: 24px;
- line-height: 28px;
- color: var(--primary-text-color--faint);
- font-weight: 500;
- margin-bottom: 20px;
- padding: 0 10px;
- word-wrap: break-word;
-
- @media screen and (max-width: 740px) {
- text-align: center;
- padding: 20px 10px 0;
- }
-
- a {
- color: inherit;
- text-decoration: none;
- }
-
- small {
- font-weight: 400;
- color: var(--primary-text-color--faint);
- }
-
- img {
- display: inline-block;
- margin-bottom: -5px;
- margin-right: 15px;
- width: 36px;
- height: 36px;
- }
- }
-}
diff --git a/app/styles/components/accordion.scss b/app/styles/components/accordion.scss
new file mode 100644
index 000000000..9fea4d42e
--- /dev/null
+++ b/app/styles/components/accordion.scss
@@ -0,0 +1,62 @@
+.explanation-box {
+ margin: 5px 20px;
+}
+
+.accordion {
+ color: var(--primary-text-color);
+ padding: 15px 20px;
+ font-size: 14px;
+ background-color: var(--brand-color--faint);
+ border-radius: 8px;
+ margin: 0;
+
+ &__title {
+ font-weight: bold !important;
+ font-size: 16px !important;
+ background: transparent !important;
+ color: var(--primary-text-color) !important;
+ padding: 0 !important;
+ margin: 0 !important;
+ text-transform: none !important;
+ text-align: left !important;
+ display: flex !important;
+ align-items: center;
+ border: 0;
+ width: 100%;
+
+ &::after {
+ content: '';
+ display: block;
+ font-family: ForkAwesome;
+ font-size: 20px;
+ padding-left: 10px;
+ margin-left: auto;
+ }
+ }
+
+ &__content {
+ height: 0;
+ overflow: hidden;
+ }
+
+ &--expanded &__title {
+ margin-bottom: 10px !important;
+
+ &::after {
+ content: '';
+ }
+ }
+
+ &--expanded &__content {
+ height: auto;
+ }
+
+ a {
+ color: var(--brand-color--hicontrast);
+ text-decoration: underline;
+
+ &:hover {
+ text-decoration: none;
+ }
+ }
+}
diff --git a/app/styles/components/account-header.scss b/app/styles/components/account-header.scss
index 4bf3e24df..5fec07327 100644
--- a/app/styles/components/account-header.scss
+++ b/app/styles/components/account-header.scss
@@ -20,8 +20,8 @@
height: 350px;
position: relative;
background: var(--accent-color--faint);
- @media screen and (max-width: 895px) {height: 225px;}
- &--none {height: 125px;}
+ @media screen and (max-width: 895px) { height: 225px; }
+ &--none { height: 125px; }
img {
object-fit: cover;
@@ -59,7 +59,7 @@
width: 100%;
position: relative;
background: var(--background-color);
- @media (min-width: 895px) {height: 74px;}
+ @media (min-width: 895px) { height: 74px; }
}
&__avatar {
@@ -109,17 +109,16 @@
background-size: 90px 90px;
}
}
-
}
&__extra {
- display: flex;
- flex-direction: row;
- height: 100%;
+ display: flex;
+ flex-direction: row;
+ height: 100%;
margin: 0 auto;
- padding-left: 310px;
- width: 100%;
- max-width: 1200px;
+ padding-left: 310px;
+ width: 100%;
+ max-width: 1200px;
box-sizing: border-box;
position: relative;
@media (min-width: 895px) and (max-width: 1190px) {
@@ -166,7 +165,7 @@
text-decoration: none;
padding: 16px 22px;
text-align: center;
- @media screen and (max-width: 1190px) {padding: 16px;}
+ @media screen and (max-width: 1190px) { padding: 16px; }
> span {
display: block;
@@ -194,7 +193,7 @@
&.active {
border-bottom: 2px solid var(--primary-text-color);
}
- &.score {border-bottom: 0 !important;}
+ &.score { border-bottom: 0 !important; }
}
}
} // end .account__header__extra
@@ -205,7 +204,7 @@
margin-top: 10px;
position: relative;
padding: 10px 10px 0;
- &--nonuser {padding: 10px 10px 15px;}
+ &--nonuser { padding: 10px 10px 15px; }
}
.account-mobile-container.deactivated {
@@ -226,7 +225,6 @@
}
}
-
// end .account__header
.account-timeline {
diff --git a/app/styles/components/admin.scss b/app/styles/components/admin.scss
new file mode 100644
index 000000000..db09ed55f
--- /dev/null
+++ b/app/styles/components/admin.scss
@@ -0,0 +1,217 @@
+.dashcounters {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
+ margin: 0 -5px 0;
+ padding: 20px;
+}
+
+.dashcounter {
+ box-sizing: border-box;
+ flex: 0 0 33.333%;
+ padding: 0 5px;
+ margin-bottom: 10px;
+
+ > a,
+ > div {
+ text-decoration: none;
+ color: inherit;
+ display: block;
+ padding: 20px;
+ background: var(--accent-color--faint);
+ border-radius: 4px;
+ transition: 0.2s;
+ }
+
+ > a:hover {
+ background: var(--accent-color--med);
+ transform: translateY(-2px);
+ }
+
+ &__num,
+ &__text {
+ text-align: center;
+ font-weight: 500;
+ font-size: 24px;
+ line-height: 30px;
+ color: var(--primary-text-color);
+ margin-bottom: 10px;
+ }
+
+ &__label {
+ font-size: 14px;
+ color: hsla(var(--primary-text-color_hsl), 0.6);
+ text-align: center;
+ font-weight: 500;
+ }
+}
+
+.dashwidgets {
+ display: flex;
+ flex-wrap: wrap;
+ margin: 0 -5px;
+ padding: 0 20px 20px 20px;
+}
+
+.dashwidget {
+ flex: 1;
+ margin-bottom: 20px;
+ padding: 0 5px;
+
+ h4 {
+ text-transform: uppercase;
+ font-size: 13px;
+ font-weight: 700;
+ color: hsla(var(--primary-text-color_hsl), 0.6);
+ padding-bottom: 8px;
+ margin-bottom: 8px;
+ border-bottom: 1px solid var(--accent-color--med);
+ }
+}
+
+.unapproved-account {
+ padding: 15px 20px;
+ font-size: 14px;
+ display: flex;
+
+ &__nickname {
+ font-weight: bold;
+ }
+
+ &__actions {
+ margin-left: auto;
+ display: flex;
+ flex-wrap: nowrap;
+ padding-left: 20px;
+
+ button.icon-button:nth-child(n+2) {
+ padding-left: 10px;
+ }
+ }
+}
+
+.page--admin .slist .item-list article:nth-child(2n-1) {
+ .unapproved-account,
+ .logentry {
+ background-color: hsla(var(--accent-color_hsl), 0.07);
+ }
+}
+
+.page--admin {
+ @media screen and (max-width: 895px) {
+ .columns-area__panels {
+ flex-direction: column;
+ align-items: center;
+
+ &__pane--left {
+ display: block;
+ width: 100%;
+ max-width: 600px;
+ padding: 20px 20px 0;
+ box-sizing: border-box;
+
+ .columns-area__panels__pane__inner {
+ width: auto;
+ }
+ }
+ }
+ }
+
+ blockquote.md {
+ padding: 5px 0 5px 15px;
+ border-left: 3px solid hsla(var(--primary-text-color_hsl), 0.4);
+ color: var(--primary-text-color--faint);
+ }
+}
+
+.admin-report {
+ padding: 15px;
+ display: flex;
+ border-bottom: 1px solid var(--brand-color--faint);
+
+ &__content {
+ padding: 0 16px;
+ flex: 1;
+ overflow: hidden;
+ }
+
+ &__title {
+ font-weight: bold;
+ text-overflow: ellipsis;
+ overflow: hidden;
+
+ a {
+ color: var(--primary-text-color);
+ }
+ }
+
+ &__quote {
+ font-size: 14px;
+
+ a {
+ color: var(--brand-color--hicontrast);
+ }
+
+ .byline {
+ font-size: 12px;
+
+ a {
+ color: var(--primary-text-color);
+ text-decoration: none;
+ }
+ }
+ }
+
+ &__actions {
+ margin-left: auto;
+ display: flex;
+
+ .icon-button {
+ padding-left: 10px;
+
+ > div {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ }
+ }
+
+ &__statuses .accordion {
+ padding: 10px;
+ margin-bottom: 6px;
+
+ &__title {
+ font-size: 12px !important;
+ font-weight: normal !important;
+ margin-bottom: 0 !important;
+ }
+ }
+
+ &__status-content {
+ overflow: hidden;
+ }
+
+ &__status {
+ display: flex;
+ border-bottom: 1px solid var(--accent-color--med);
+ padding: 10px 0;
+
+ &:last-child {
+ border: 0;
+ }
+
+ .status__content {
+ flex: 1;
+ padding: 0;
+ }
+
+ &-actions {
+ padding: 3px 10px;
+ margin-left: auto;
+ }
+ }
+}
+
+.logentry {
+ padding: 15px;
+}
diff --git a/app/styles/components/audio-player.scss b/app/styles/components/audio-player.scss
index 7073f141a..731485508 100644
--- a/app/styles/components/audio-player.scss
+++ b/app/styles/components/audio-player.scss
@@ -61,7 +61,6 @@
.audio-player__volume__handle {
bottom: 23px;
}
-
}
.audio-player {
@@ -118,7 +117,7 @@
background: linear-gradient(0deg, rgba($base-shadow-color, 0.85) 0, rgba($base-shadow-color, 0.45) 60%, transparent);
padding: 0 15px;
opacity: 1;
- transition: opacity .1s ease;
+ transition: opacity 0.1s ease;
}
&.inactive {
@@ -171,20 +170,19 @@
&__spoiler-warning {
font-size: 16px;
white-space: nowrap;
- overlow: hidden;
text-overflow: ellipsis;
background: hsl(var(--brand-color_h), var(--brand-color_s), 20%);
padding: 5px;
&__label {
- color: #ffffff;
+ color: #fff;
}
button {
background: transparent;
font-size: 16px;
border: 0;
- color: rgba(#ffffff, 0.75);
+ color: rgba(#fff, 0.75);
position: absolute;
right: 0;
padding-right: 5px;
@@ -196,7 +194,7 @@
&:active,
&:hover,
&:focus {
- color: #ffffff;
+ color: #fff;
}
}
}
@@ -218,12 +216,12 @@
padding: 2px 10px;
font-size: 16px;
border: 0;
- color: rgba(#ffffff, 0.75);
+ color: rgba(#fff, 0.75);
&:active,
&:hover,
&:focus {
- color: #ffffff;
+ color: #fff;
}
}
}
@@ -236,7 +234,7 @@
}
&__time-current {
- color: #ffffff;
+ color: #fff;
margin-left: 60px;
}
@@ -247,7 +245,7 @@
&__time-sep,
&__time-total {
- color: #ffffff;
+ color: #fff;
}
&__volume {
@@ -258,7 +256,7 @@
&::before {
content: "";
width: 50px;
- background: rgba(#ffffff, 0.35);
+ background: rgba(#fff, 0.35);
border-radius: 4px;
display: block;
position: absolute;
@@ -285,7 +283,7 @@
height: 12px;
bottom: 16px;
left: 70px;
- transition: opacity .1s ease;
+ transition: opacity 0.1s ease;
background: var(--brand-color);
box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
pointer-events: none;
@@ -299,7 +297,7 @@
text-decoration: none;
font-size: 14px;
font-weight: 500;
- color: #ffffff;
+ color: #fff;
&:hover,
&:active,
@@ -317,7 +315,7 @@
&::before {
content: "";
width: 100%;
- background: rgba(#ffffff, 0.35);
+ background: rgba(#fff, 0.35);
border-radius: 4px;
display: block;
position: absolute;
@@ -336,7 +334,7 @@
}
&__buffer {
- background: rgba(#ffffff, 0.2);
+ background: rgba(#fff, 0.2);
}
&__handle {
@@ -348,7 +346,7 @@
height: 12px;
top: 6px;
margin-left: -6px;
- transition: opacity .1s ease;
+ transition: opacity 0.1s ease;
background: var(--brand-color);
box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
pointer-events: none;
diff --git a/app/styles/components/backups.scss b/app/styles/components/backups.scss
new file mode 100644
index 000000000..57f1144f7
--- /dev/null
+++ b/app/styles/components/backups.scss
@@ -0,0 +1,13 @@
+.backup {
+ padding: 15px;
+ border-bottom: 1px solid var(--brand-color--faint);
+
+ a {
+ color: var(--brand-color--hicontrast);
+ }
+
+ &--pending {
+ font-style: italic;
+ color: var(--primary-text-color--faint);
+ }
+}
diff --git a/app/styles/components/badge.scss b/app/styles/components/badge.scss
index 61a06c971..6866484f9 100644
--- a/app/styles/components/badge.scss
+++ b/app/styles/components/badge.scss
@@ -22,4 +22,16 @@
background-color: #048ba8;
color: #fff;
}
+
+ &--bot {
+ margin-left: 5px;
+ color: var(--primary-text-color);
+ background-color: hsla(var(--primary-text-color_hsl), 0.1);
+ border: 1px solid hsla(var(--primary-text-color_hsl), 0.5);
+ text-transform: none;
+ padding: 4px 6px;
+ vertical-align: top;
+ display: inline-block;
+ line-height: 12px;
+ }
}
diff --git a/app/styles/components/buttons.scss b/app/styles/components/buttons.scss
index 5eeda468e..e8b382a38 100644
--- a/app/styles/components/buttons.scss
+++ b/app/styles/components/buttons.scss
@@ -72,7 +72,7 @@ button {
}
&.button-alternative {
- color: var(--primary-text-color);
+ color: #fff;
background: var(--brand-color);
&:active,
diff --git a/app/styles/components/columns.scss b/app/styles/components/columns.scss
index d8034e497..a48fb87d5 100644
--- a/app/styles/components/columns.scss
+++ b/app/styles/components/columns.scss
@@ -105,7 +105,7 @@
padding: 0;
}
- .autosuggest-textarea__textarea {font-size: 16px;}
+ .autosuggest-textarea__textarea { font-size: 16px; }
.search__input {
line-height: 18px;
@@ -116,7 +116,7 @@
background-color: var(--foreground-color);
}
- .search__icon .fa {top: 15px;}
+ .search__icon .fa { top: 15px; }
@media screen and (min-width: 630px) {
.detailed-status {
padding: 15px;
@@ -126,7 +126,7 @@
margin-top: 15px;
}
}
- .account__header__bar {padding: 5px 10px;}
+ .account__header__bar { padding: 5px 10px; }
.navigation-bar,
.compose-form {
@@ -212,7 +212,6 @@
font-size: 16px;
line-height: inherit;
border: 0;
- border-radius: 10px 10px 0 0;
text-align: unset;
padding: 15px;
margin: 0;
@@ -679,7 +678,7 @@
justify-content: center;
min-height: 160px;
- @supports(display: grid) { // hack to fix Chrome <57
+ @supports (display: grid) { // hack to fix Chrome <57
contain: strict;
}
@@ -704,3 +703,67 @@
.column-link--transparent .icon-with-badge__badge {
border-color: var(--background-color);
}
+
+.column__switch .audio-toggle {
+ position: absolute;
+ z-index: 4;
+ top: 12px;
+ right: 14px;
+
+ .react-toggle-track-check,
+ .react-toggle-track-x {
+ height: 16px;
+ color: white;
+ }
+}
+
+.timeline-filter-message {
+ background-color: var(--brand-color--faint);
+ color: var(--primary-text-color);
+ padding: 15px 20px;
+
+ .icon-button {
+ margin-right: 8px;
+ }
+}
+
+.column--better {
+ .column__top {
+ display: flex;
+ align-items: center;
+ }
+
+ .column-header {
+ margin-right: auto;
+ }
+
+ .column__menu {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ &,
+ > div,
+ button {
+ height: 100%;
+ }
+
+ button {
+ padding: 0 15px;
+
+ > div {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ }
+ }
+
+ .column-back-button--slim {
+ &-button {
+ position: relative;
+ top: auto;
+ right: auto;
+ }
+ }
+}
diff --git a/app/styles/components/compose-form.scss b/app/styles/components/compose-form.scss
index af8d11861..4a50acb44 100644
--- a/app/styles/components/compose-form.scss
+++ b/app/styles/components/compose-form.scss
@@ -1,12 +1,11 @@
.compose-form {
-
&__sensitive-button {
padding: 10px;
padding-top: 0;
font-size: 14px;
font-weight: 500;
- &.active {color: var(--highlight-text-color);}
- input[type=checkbox] {display: none;}
+ &.active { color: var(--highlight-text-color); }
+ input[type=checkbox] { display: none; }
.checkbox {
display: inline-block;
@@ -29,7 +28,7 @@
}
.compose-form__warning {
- color: var(--primary-text-color);
+ color: var(--primary-text-color);
margin-bottom: 10px;
background: var(--brand-color--faint);
box-shadow: 0 2px 6px rgba($base-shadow-color, 0.3);
@@ -113,7 +112,7 @@
font-size: 16px;
}
}
- .spoiler-input__input {border-radius: 4px;}
+ .spoiler-input__input { border-radius: 4px; }
.autosuggest-textarea__textarea {
min-height: 100px;
@@ -159,7 +158,7 @@
border-radius: 0 0 4px 4px;
font-size: 14px;
padding: 6px;
- &.autosuggest-textarea__suggestions--visible {display: block;}
+ &.autosuggest-textarea__suggestions--visible { display: block; }
}
.autosuggest-textarea__suggestions__item {
@@ -202,7 +201,7 @@
font-family: inherit;
font-size: 14px;
background: var(--background-color);
- .compose-form__upload-wrapper {overflow: hidden;}
+ .compose-form__upload-wrapper { overflow: hidden; }
.compose-form__uploads-wrapper {
display: flex;
@@ -226,7 +225,7 @@
align-items: flex-start;
justify-content: space-between;
opacity: 0;
- transition: opacity .1s ease;
+ transition: opacity 0.1s ease;
.icon-button {
flex: 0 1 auto;
@@ -242,7 +241,7 @@
color: var(--highlight-text-color);
}
}
- &.active {opacity: 1;}
+ &.active { opacity: 1; }
}
&-description {
@@ -255,12 +254,11 @@
background: linear-gradient(0deg, rgba($base-shadow-color, 0.8) 0, rgba($base-shadow-color, 0.35) 80%, transparent);
padding: 10px;
opacity: 0;
- transition: opacity .1s ease;
+ transition: opacity 0.1s ease;
textarea {
- background: rgba(0, 0, 0, 0.3);
- box-sizing: border-box;
background: transparent;
+ box-sizing: border-box;
color: var(--primary-text-color--faint);
border: 1px solid var(--primary-text-color--faint);
outline: none;
@@ -271,13 +269,13 @@
font-size: 14px;
font-weight: 500;
- &:focus {color: #fff;}
+ &:focus { color: #fff; }
&::placeholder {
color: var(--primary-text-color--faint);
}
}
- &.active {opacity: 1;}
+ &.active { opacity: 1; }
}
}
@@ -319,12 +317,12 @@
justify-content: center;
}
- .compose-form__upload-button-icon {line-height: 27px;}
+ .compose-form__upload-button-icon { line-height: 27px; }
.compose-form__sensitive-button {
display: none;
- &.compose-form__sensitive-button--visible {display: block;}
- .compose-form__sensitive-button__icon {line-height: 27px;}
+ &.compose-form__sensitive-button--visible { display: block; }
+ .compose-form__sensitive-button__icon { line-height: 27px; }
}
}
@@ -343,7 +341,7 @@
font-size: 14px;
font-weight: 600;
color: var(--primary-text-color--faint);
- &.character-counter--over {color: $warning-red;}
+ &.character-counter--over { color: $warning-red; }
}
}
}
diff --git a/app/styles/components/detailed-status.scss b/app/styles/components/detailed-status.scss
index 6795bba5e..5bf63db28 100644
--- a/app/styles/components/detailed-status.scss
+++ b/app/styles/components/detailed-status.scss
@@ -62,7 +62,6 @@
border-bottom: 1px solid var(--brand-color--faint);
display: flex;
flex-direction: row;
- border-radius: 0 0 10px 10px;
}
.detailed-status__link {
@@ -115,6 +114,10 @@
color: var(--primary-text-color);
}
+ span.hover-ref-wrapper {
+ display: inline;
+ }
+
.display-name__account {
display: block;
margin-top: -10px;
@@ -125,3 +128,8 @@
float: left;
margin-right: 10px;
}
+
+.detailed-status .status__favicon {
+ float: left;
+ margin-right: 5px;
+}
diff --git a/app/styles/components/drawer.scss b/app/styles/components/drawer.scss
index 39e936158..7dc5a1a10 100644
--- a/app/styles/components/drawer.scss
+++ b/app/styles/components/drawer.scss
@@ -20,7 +20,7 @@
.column,
.drawer {
flex: 1 1 100%;
- overflow: visible;
+ overflow: hidden;
}
.drawer__pager {
diff --git a/app/styles/components/dropdown-menu.scss b/app/styles/components/dropdown-menu.scss
index 8f3b75c70..7d51eefcf 100644
--- a/app/styles/components/dropdown-menu.scss
+++ b/app/styles/components/dropdown-menu.scss
@@ -9,10 +9,10 @@
padding: 4px 0;
color: var(--primary-text-color);
box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.5);
- &.left {transform-origin: 100% 50%;}
- &.top {transform-origin: 50% 100%;}
- &.bottom {transform-origin: 50% 0;}
- &.right {transform-origin: 0 50%;}
+ &.left { transform-origin: 100% 50%; }
+ &.top { transform-origin: 50% 100%; }
+ &.bottom { transform-origin: 50% 0; }
+ &.right { transform-origin: 0 50%; }
&__arrow {
position: absolute;
@@ -83,12 +83,8 @@
}
// end .dropdown-menu
-
-
-
// NOTE - not sure what this relates to — but it doesn't involve the navbar dropdown
-
.dropdown {
display: inline-block;
}
@@ -98,7 +94,6 @@
position: absolute;
}
-
.dropdown--active .dropdown__content {
display: block;
line-height: 18px;
diff --git a/app/styles/components/emoji-reacts.scss b/app/styles/components/emoji-reacts.scss
index 452b1d350..d9a4450c7 100644
--- a/app/styles/components/emoji-reacts.scss
+++ b/app/styles/components/emoji-reacts.scss
@@ -112,7 +112,7 @@
.status__action-bar__counter--favourite {
position: relative;
- @media(max-width: 455px) {
+ @media (max-width: 455px) {
position: static;
}
}
@@ -126,7 +126,7 @@
bottom: 100%;
left: -20px;
- @media(max-width: 455px) {
+ @media (max-width: 455px) {
bottom: 31px;
right: 10px;
left: auto;
diff --git a/app/styles/components/filters.scss b/app/styles/components/filters.scss
index 769954a4d..ccdc030d7 100644
--- a/app/styles/components/filters.scss
+++ b/app/styles/components/filters.scss
@@ -31,7 +31,7 @@
}
}
- @media(max-width: 485px) {
+ @media (max-width: 485px) {
div.input {
width: 100%;
margin-right: 5px;
@@ -96,6 +96,5 @@
font-size: 16px;
}
}
-
}
}
diff --git a/app/styles/components/group-card.scss b/app/styles/components/group-card.scss
index 8ad0b17da..1d5ce8d58 100644
--- a/app/styles/components/group-card.scss
+++ b/app/styles/components/group-card.scss
@@ -12,7 +12,7 @@
float: right;
padding: 15px;
font-size: 17px;
- a {color: #fff;}
+ a { color: #fff; }
}
}
@@ -28,7 +28,7 @@
.group-card {
@include standard-panel;
display: block;
- flex: 0 0 calc(50% - 20px/2);
+ flex: 0 0 calc(50% - 20px / 2);
margin-bottom: 20px;
text-decoration: none;
overflow: hidden;
diff --git a/app/styles/components/group-detail.scss b/app/styles/components/group-detail.scss
index b5c96aff0..d7c24b530 100644
--- a/app/styles/components/group-detail.scss
+++ b/app/styles/components/group-detail.scss
@@ -23,8 +23,8 @@
.group__tabs {
.group__tabs__tab {
display: inline-block;
- text-decoration: none;
- padding: 16px 22px;
+ text-decoration: none;
+ padding: 16px 22px;
text-align: center;
color: var(--primary-text-color);
diff --git a/app/styles/components/group-form.scss b/app/styles/components/group-form.scss
index 6d50cfe71..fb8b1a57e 100644
--- a/app/styles/components/group-form.scss
+++ b/app/styles/components/group-form.scss
@@ -55,5 +55,5 @@
position: absolute;
pointer-events: none;
}
- button {float: right;}
+ button { float: right; }
}
diff --git a/app/styles/components/inputs.scss b/app/styles/components/inputs.scss
index ca1493011..c1960e029 100644
--- a/app/styles/components/inputs.scss
+++ b/app/styles/components/inputs.scss
@@ -11,7 +11,7 @@ textarea {
color: var(--brand-color);
border-color: var(--primary-text-color--faint);
background: var(--foreground-color);
- &:focus {outline: none;}
+ &:focus { outline: none; }
}
}
-textarea.standard {resize: vertical;}
+textarea.standard { resize: vertical; }
diff --git a/app/styles/components/media-gallery.scss b/app/styles/components/media-gallery.scss
index 731f361fc..0ce35a662 100644
--- a/app/styles/components/media-gallery.scss
+++ b/app/styles/components/media-gallery.scss
@@ -64,11 +64,11 @@
}
}
-.status__wrapper, .detailed-status__wrapper {
+.status__wrapper,
+.detailed-status__wrapper {
.media-gallery__item-thumbnail {
&,
.still-image {
-
img {
object-fit: contain;
}
@@ -134,6 +134,7 @@
}
.media-gallery__gifv__label,
+.media-gallery__filename__label,
.media-gallery__file-extension__label {
display: block;
position: absolute;
diff --git a/app/styles/components/mfa_form.scss b/app/styles/components/mfa_form.scss
index 80e16da1e..10ab69fc7 100644
--- a/app/styles/components/mfa_form.scss
+++ b/app/styles/components/mfa_form.scss
@@ -9,12 +9,12 @@
}
h2.security-settings-panel__setup-otp {
- display: block;
- font-size: 16px;
- line-height: 1.5;
- color: var(--primary-text-color--faint);
- font-weight: 400;
- }
+ display: block;
+ font-size: 16px;
+ line-height: 1.5;
+ color: var(--primary-text-color--faint);
+ font-weight: 400;
+ }
div {
display: block;
@@ -26,9 +26,8 @@
padding: 15px 20px;
font-size: 14px;
background-color: var(--warning-color--faint);
- margin: 5px 20px;
- border-radius: 8px;
margin: 20px auto;
+ border-radius: 8px;
}
.backup_codes {
@@ -38,7 +37,6 @@
font-size: 14px;
background-color: var(--brand-color--faint);
border-radius: 8px;
- margin: 20px;
text-align: center;
position: relative;
min-height: 125px;
diff --git a/app/styles/components/modal.scss b/app/styles/components/modal.scss
index 5cc3c4073..44f32c686 100644
--- a/app/styles/components/modal.scss
+++ b/app/styles/components/modal.scss
@@ -221,11 +221,10 @@
height: 100%;
box-sizing: border-box;
padding: 25px;
- display: none;
+ display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
- display: flex;
opacity: 0;
user-select: text;
}
@@ -482,10 +481,9 @@
font-family: inherit;
font-size: 14px;
resize: vertical;
- border: 0;
outline: 0;
- border-radius: 4px;
border: 1px solid var(--background-color);
+ border-radius: 4px;
margin-bottom: 20px;
&:focus {
@@ -523,7 +521,7 @@
max-height: 300px;
}
- .actions-modal__item-label {font-weight: 500;}
+ .actions-modal__item-label { font-weight: 500; }
ul {
overflow-y: auto;
@@ -531,19 +529,18 @@
max-height: calc(100vh - 147px);
// NOTE - not sure what this is yet, leaving alone for now until I find out.
- &.with-status {max-height: calc(80vh - 75px);}
+ &.with-status { max-height: calc(80vh - 75px); }
- li:empty {margin: 0;}
+ li:empty { margin: 0; }
li:not(:empty) {
- &:first-of-type {margin: 10px 0 0;}
- &:last-of-type {margin: 0 0 10px;}
+ &:first-of-type { margin: 10px 0 0; }
+ &:last-of-type { margin: 0 0 10px; }
a {
display: flex;
align-items: center;
padding: 13px 10px 12px;
- @inclide font-size(14);
color: var(--primary-text-color--faint);
text-decoration: none;
@@ -563,7 +560,7 @@
box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.5);
}
}
- button:first-child {margin-right: 10px;}
+ button:first-child { margin-right: 10px; }
}
}
}
@@ -641,11 +638,10 @@
margin: 10px 0;
&__header {
- display: block;
+ display: flex;
position: relative;
padding: 10px 0;
border-bottom: 1px solid hsla(var(--primary-text-color_hsl), 0.2);
- display: flex;
align-items: center;
justify-content: center;
@@ -864,3 +860,16 @@
margin: 0 5px;
}
}
+
+.confirmation-modal p {
+ margin-bottom: 20px;
+ text-align: left;
+
+ strong {
+ font-weight: bold;
+ }
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+}
diff --git a/app/styles/components/navigation-bar.scss b/app/styles/components/navigation-bar.scss
index b25ae9f8b..ebe402970 100644
--- a/app/styles/components/navigation-bar.scss
+++ b/app/styles/components/navigation-bar.scss
@@ -86,13 +86,13 @@
& > .icon-button.close {
will-change: opacity transform;
transition: opacity $duration * 0.5 $delay,
- transform $duration $delay;
+ transform $duration $delay;
}
& > .compose__action-bar .icon-button {
will-change: opacity transform;
transition: opacity $duration * 0.5 $delay + $duration * 0.5,
- transform $duration $delay;
+ transform $duration $delay;
}
}
}
diff --git a/app/styles/components/profile-info-panel.scss b/app/styles/components/profile-info-panel.scss
index fcb14051a..999123e58 100644
--- a/app/styles/components/profile-info-panel.scss
+++ b/app/styles/components/profile-info-panel.scss
@@ -40,10 +40,6 @@
&__name {
display: block;
- .account-role {
- vertical-align: top;
- }
-
.emojione {
width: 22px;
height: 22px;
@@ -134,7 +130,6 @@
}
.profile-info-panel.deactivated {
-
.profile-info-panel-content__name h1 small,
.profile-info-panel-content__badges__join-date,
.profile-info-panel-content__bio,
diff --git a/app/styles/components/profile_hover_card.scss b/app/styles/components/profile_hover_card.scss
index decb68711..a30895897 100644
--- a/app/styles/components/profile_hover_card.scss
+++ b/app/styles/components/profile_hover_card.scss
@@ -15,19 +15,14 @@
transition-duration: 0.2s;
width: 320px;
z-index: 200;
- left: -10px;
- padding: 20px;
- margin-bottom: 10px;
+ top: 0;
+ left: 0;
&--visible {
opacity: 1;
pointer-events: all;
}
- @media(min-width: 750px) {
- left: -100px;
- }
-
.profile-hover-card__container {
@include standard-panel;
position: relative;
@@ -109,23 +104,9 @@
background: linear-gradient(0deg, var(--foreground-color) 0%, var(--foreground-color), 80%, transparent);
}
}
-}
-.detailed-status {
- .profile-hover-card {
- top: 0;
- left: 60px;
- }
-}
-
-/* Prevent floating avatars from intercepting with current card */
-.status,
-.detailed-status {
- .floating-link {
- display: none;
- }
-
- &:hover .floating-link {
- display: block;
+ &[data-popper-reference-hidden="true"] {
+ visibility: hidden;
+ pointer-events: none;
}
}
diff --git a/app/styles/components/promo-panel.scss b/app/styles/components/promo-panel.scss
index fc84077e7..78625e338 100644
--- a/app/styles/components/promo-panel.scss
+++ b/app/styles/components/promo-panel.scss
@@ -9,43 +9,27 @@
display: block;
height: 42px;
line-height: 42px;
+ color: var(--primary-text-color);
border-bottom: 1px solid var(--brand-color--med);
background: var(--foreground-color);
-
- &--highlighted {
- background-color: #30ce7d;
- border-radius: 10px;
- font-weight: 600;
- margin-bottom: 10px;
- }
-
- &--top-rounded {
- border-top-right-radius: 10px;
- border-top-left-radius: 10px;
- }
+ text-decoration: none;
+ font-size: 15px;
+ padding: 0 20px;
&:last-of-type {
border-bottom: 0;
}
- &__btn {
- display: block;
- text-align: left;
- color: var(--primary-text-color);
- text-decoration: none;
- font-size: 15px;
- padding: 0 20px;
+ &:hover {
+ color: var(--primary-text-color--faint);
- &:hover {
- color: var(--primary-text-color--faint);
-
- span {
- text-decoration: underline;
- }
+ span {
+ text-decoration: underline;
}
}
- &__icon {
+ &__icon,
+ .icon-with-counter {
margin-right: 12px;
}
}
diff --git a/app/styles/components/reply-indicator.scss b/app/styles/components/reply-indicator.scss
index 4cbf03343..367c6164a 100644
--- a/app/styles/components/reply-indicator.scss
+++ b/app/styles/components/reply-indicator.scss
@@ -7,8 +7,8 @@
overflow-y: auto;
flex: 0 2 auto;
max-height: 500px;
- @media screen and (min-width: 320px) and (max-width: 375px) {max-height: 220px;}
- @media screen and (max-width: 320px) {max-height: 130px;}
+ @media screen and (min-width: 320px) and (max-width: 375px) { max-height: 220px; }
+ @media screen and (max-width: 320px) { max-height: 130px; }
}
.reply-indicator__header {
diff --git a/app/styles/components/search.scss b/app/styles/components/search.scss
index 712c86951..6933c6006 100644
--- a/app/styles/components/search.scss
+++ b/app/styles/components/search.scss
@@ -43,13 +43,13 @@
opacity: 1;
}
}
- .fa-search.active {pointer-events: none;}
+ .fa-search.active { pointer-events: none; }
.fa-times-circle {
@include font-size(17);
cursor: pointer;
color: var(--highlight-text-color);
- &:hover {color: var(--brand-color);}
+ &:hover { color: var(--brand-color); }
}
}
@@ -154,7 +154,7 @@
.search-popout-container {
width: 251px;
- @media screen and (max-width: $nav-breakpoint-2) {width: 100%;}
+ @media screen and (max-width: $nav-breakpoint-2) { width: 100%; }
}
.search-popout {
diff --git a/app/styles/components/server-info.scss b/app/styles/components/server-info.scss
new file mode 100644
index 000000000..f2714d68b
--- /dev/null
+++ b/app/styles/components/server-info.scss
@@ -0,0 +1,22 @@
+.columns-area {
+ .info_column_area {
+ padding: 15px;
+
+ .wtf-panel {
+ border: 1px solid var(--brand-color--med);
+ }
+ }
+}
+
+.info__brand {
+ .brand h1 {
+ color: var(--primary-text-color);
+ font-size: 26px;
+ }
+
+ .brand__tagline {
+ font-size: 20px;
+ line-height: 1.15;
+ margin-top: 15px;
+ }
+}
diff --git a/app/styles/components/sidebar-menu.scss b/app/styles/components/sidebar-menu.scss
index e6b4d15a5..2207a2aed 100644
--- a/app/styles/components/sidebar-menu.scss
+++ b/app/styles/components/sidebar-menu.scss
@@ -3,7 +3,6 @@
position: fixed;
flex-direction: column;
width: 275px;
- height: 100vh;
top: 0;
bottom: 0;
left: 0;
@@ -30,12 +29,10 @@
}
&__content {
- display: flex;
- flex: 1 1;
- flex-direction: column;
- padding-bottom: 40px;
overflow-y: scroll;
- -webkit-overflow-scrolling: touch;
+ overflow: auto;
+ height: 100%;
+ width: 100%;
}
&__section {
diff --git a/app/styles/components/snackbar.scss b/app/styles/components/snackbar.scss
new file mode 100644
index 000000000..b72e0bbcf
--- /dev/null
+++ b/app/styles/components/snackbar.scss
@@ -0,0 +1,42 @@
+.snackbar {
+ font-size: 16px !important;
+ padding: 10px 20px 10px 14px !important;
+ z-index: 9999 !important;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ &::before {
+ font-family: ForkAwesome;
+ font-size: 20px;
+ margin-right: 8px;
+ }
+
+ &--info {
+ background-color: #19759e !important;
+
+ &::before {
+ content: '';
+ }
+ }
+
+ &--success {
+ background-color: #199e5a !important;
+
+ &::before {
+ content: '';
+ }
+ }
+
+ &--error {
+ background-color: #9e1919 !important;
+
+ &::before {
+ content: '';
+ }
+ }
+
+ .notification-bar-wrapper {
+ transform: translateY(1px);
+ }
+}
diff --git a/app/styles/components/status.scss b/app/styles/components/status.scss
index 5aa440367..86c60cbeb 100644
--- a/app/styles/components/status.scss
+++ b/app/styles/components/status.scss
@@ -54,6 +54,18 @@
word-break: break-all;
background-color: var(--background-color);
}
+
+ /* Markdown images */
+ img:not(.emojione) {
+ width: 100%;
+ height: 285.188px;
+ object-fit: contain;
+ background: var(--background-color);
+ border-radius: 4px;
+ overflow: hidden;
+ margin: 20px 0;
+ display: block;
+ }
}
.status__content > ul,
@@ -141,7 +153,6 @@
0% { opacity: 0; }
100% { opacity: 1; }
}
-
opacity: 1;
animation: fade 150ms linear;
@@ -635,3 +646,15 @@ a.status-card.compact:hover {
background-size: cover;
background-position: center center;
}
+
+.status__favicon {
+ width: 16px;
+ height: 16px;
+ float: right;
+ margin-right: 4px;
+
+ img {
+ width: 100%;
+ max-height: 100%;
+ }
+}
diff --git a/app/styles/components/tabs-bar.scss b/app/styles/components/tabs-bar.scss
index 76920534b..326f688dd 100644
--- a/app/styles/components/tabs-bar.scss
+++ b/app/styles/components/tabs-bar.scss
@@ -5,6 +5,7 @@
flex: 0 0 auto;
overflow-y: auto;
height: 50px;
+ width: 100%;
position: sticky;
top: 0;
z-index: 1000;
@@ -26,7 +27,7 @@
padding: 0 15px;
// NOTE - might need to adjust this based on column sizing
- @media screen and (max-width: $nav-breakpoint-4) {padding: 0 10px;}
+ @media screen and (max-width: $nav-breakpoint-4) { padding: 0 10px; }
}
&__split {
@@ -113,7 +114,7 @@
&__button-compose {
display: block;
- @media screen and (max-width: $nav-breakpoint-3) {display: none;}
+ @media screen and (max-width: $nav-breakpoint-3) { display: none; }
height: 34px;
margin-left: 20px;
border-radius: 6px;
@@ -129,7 +130,6 @@
&:hover {
background-color: var(--accent-color--bright);
}
-
}
&__button {
@@ -138,11 +138,15 @@
}
.theme-toggle {
- @media screen and (max-width: $nav-breakpoint-3) {display: none;}
+ @media screen and (max-width: $nav-breakpoint-3) { display: none; }
.setting-toggle {
margin-left: 10px;
+ .react-toggle-track {
+ background-color: var(--foreground-color);
+ }
+
.react-toggle--checked {
.react-toggle-track {
background-color: var(--accent-color);
@@ -175,7 +179,7 @@
margin: 4px 4px 0 0;
justify-content: center;
- & > span {display: none;}
+ & > span { display: none; }
}
> span {
@@ -201,7 +205,7 @@
&.fa-home {
font-size: 18px;
- transform: translate(-1px , -2px);
+ transform: translate(-1px, -2px);
@media screen and (max-width: 895px) {
font-size: 26px;
@@ -209,6 +213,12 @@
}
}
+ .icon-with-counter__counter {
+ @media screen and (min-width: 895px) {
+ left: 5px;
+ }
+ }
+
&.optional {
display: none;
@media screen and (max-width: $nav-breakpoint-2) {
@@ -260,7 +270,7 @@
padding: 13px 0 0;
box-sizing: border-box;
filter: brightness(0%) grayscale(100%) invert(100%);
- & span {display: none !important;}
+ & span { display: none !important; }
img {
height: 100%;
diff --git a/app/styles/components/theme-toggle.scss b/app/styles/components/theme-toggle.scss
index 1f2697b89..24b66b9b7 100644
--- a/app/styles/components/theme-toggle.scss
+++ b/app/styles/components/theme-toggle.scss
@@ -1,6 +1,5 @@
.theme-toggle {
.setting-toggle {
-
&__label {
margin-bottom: 0;
vertical-align: middle;
@@ -9,10 +8,6 @@
.react-toggle {
vertical-align: middle;
- &-track {
- background-color: var(--foreground-color);
- }
-
&-track-check,
&-track-x {
display: flex;
diff --git a/app/styles/components/user-panel.scss b/app/styles/components/user-panel.scss
index 9bd380a25..f150d3ad6 100644
--- a/app/styles/components/user-panel.scss
+++ b/app/styles/components/user-panel.scss
@@ -3,6 +3,7 @@
display: flex;
width: 265px;
flex-direction: column;
+ overflow: hidden;
.user-panel__account__name {
display: inline;
diff --git a/app/styles/components/video-player.scss b/app/styles/components/video-player.scss
index b87cf569e..8e997c5e1 100644
--- a/app/styles/components/video-player.scss
+++ b/app/styles/components/video-player.scss
@@ -75,7 +75,6 @@
.video-player__volume__handle {
bottom: 23px;
}
-
}
.video-player {
@@ -127,7 +126,7 @@
background: linear-gradient(0deg, rgba($base-shadow-color, 0.85) 0, rgba($base-shadow-color, 0.45) 60%, transparent);
padding: 0 15px;
opacity: 0;
- transition: opacity .1s ease;
+ transition: opacity 0.1s ease;
&.active {
opacity: 1;
@@ -209,12 +208,12 @@
padding: 2px 10px;
font-size: 16px;
border: 0;
- color: rgba(#ffffff, 0.75);
+ color: rgba(#fff, 0.75);
&:active,
&:hover,
&:focus {
- color: #ffffff;
+ color: #fff;
}
}
}
@@ -227,7 +226,7 @@
}
&__time-current {
- color: #ffffff;
+ color: #fff;
margin-left: 60px;
}
@@ -238,7 +237,7 @@
&__time-sep,
&__time-total {
- color: #ffffff;
+ color: #fff;
}
&__volume {
@@ -249,7 +248,7 @@
&::before {
content: "";
width: 50px;
- background: rgba(#ffffff, 0.35);
+ background: rgba(#fff, 0.35);
border-radius: 4px;
display: block;
position: absolute;
@@ -276,7 +275,7 @@
height: 12px;
bottom: 16px;
left: 70px;
- transition: opacity .1s ease;
+ transition: opacity 0.1s ease;
background: var(--brand-color);
box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
pointer-events: none;
@@ -290,7 +289,7 @@
text-decoration: none;
font-size: 14px;
font-weight: 500;
- color: #ffffff;
+ color: #fff;
&:hover,
&:active,
@@ -308,7 +307,7 @@
&::before {
content: "";
width: 100%;
- background: rgba(#ffffff, 0.35);
+ background: rgba(#fff, 0.35);
border-radius: 4px;
display: block;
position: absolute;
@@ -327,7 +326,7 @@
}
&__buffer {
- background: rgba(#ffffff, 0.2);
+ background: rgba(#fff, 0.2);
}
&__handle {
@@ -339,7 +338,7 @@
height: 12px;
top: 6px;
margin-left: -6px;
- transition: opacity .1s ease;
+ transition: opacity 0.1s ease;
background: var(--brand-color);
box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
pointer-events: none;
diff --git a/app/styles/components/wtf-panel.scss b/app/styles/components/wtf-panel.scss
index a555e9490..bad152f99 100644
--- a/app/styles/components/wtf-panel.scss
+++ b/app/styles/components/wtf-panel.scss
@@ -84,48 +84,48 @@
align-items: baseline;
padding-right: 10px;
- &__avatar {
- height: 46px;
- width: 46px;
- background-color: #ff0000;
- left: -58px;
- position: absolute;
- }
-
- &__name {
- display: flex;
- flex-wrap: wrap;
- flex-direction: column;
- margin-top: 6px;
+ &__avatar {
+ height: 46px;
+ width: 46px;
+ background-color: #f00;
+ left: -58px;
+ position: absolute;
+ }
&__name {
+ display: flex;
+ flex-wrap: wrap;
+ flex-direction: column;
+ margin-top: 6px;
+
+ &__name {
+ color: var(--primary-text-color);
+ font-size: 14px;
+ font-weight: bold;
+ line-height: 16px;
+ margin-bottom: 2px;
+ max-height: 32px; //2 lines of text
+ overflow: hidden;
+ }
+
+ &__username {
+ color: var(--highlight-text-color);
+ font-size: 12px;
+ line-height: 14px;
+ }
+ }
+ }
+
+ &__follow-block {
+ margin-left: auto;
+ padding-top: 6px;
+
+ &__button {
+ display: flex;
+ }
+
+ &__icon {
color: var(--primary-text-color);
- font-size: 14px;
- font-weight: bold;
- line-height: 16px;
- margin-bottom: 2px;
- max-height: 32px; //2 lines of text
- overflow: hidden;
- }
-
- &__username {
- color: var(--highlight-text-color);
- font-size: 12px;
- line-height: 14px;
- }
- }
- }
-
- &__follow-block {
- margin-left: auto;
- padding-top: 6px;
-
- &__button {
- display: flex;
- }
-
- &__icon {
- color: var(--primary-text-color);
}
}
}
diff --git a/app/styles/containers.scss b/app/styles/containers.scss
index 53bd272c2..74eebe61e 100644
--- a/app/styles/containers.scss
+++ b/app/styles/containers.scss
@@ -1,14 +1,3 @@
-.container-alt {
- width: 700px;
- margin: 0 auto;
- margin-top: 40px;
-
- @media screen and (max-width: 740px) {
- width: 100%;
- margin: 0;
- }
-}
-
.logo-container {
margin: 100px auto 50px;
@@ -111,80 +100,3 @@
margin-left: 8px;
}
}
-
-.grid-3 {
- display: grid;
- grid-gap: 10px;
- grid-template-columns: 3fr 1fr;
- grid-auto-columns: 25%;
- grid-auto-rows: max-content;
-
- .column-0 {
- grid-column: 1 / 3;
- grid-row: 1;
- }
-
- .column-1 {
- grid-column: 1;
- grid-row: 2;
- }
-
- .column-2 {
- grid-column: 2;
- grid-row: 2;
- }
-
- .column-3 {
- grid-column: 1 / 3;
- grid-row: 3;
- }
-
- .landing-page__call-to-action {
- min-height: 100%;
- }
-
- @media screen and (max-width: 738px) {
- grid-template-columns: minmax(0, 50%) minmax(0, 50%);
-
- .landing-page__call-to-action {
- padding: 20px;
- display: flex;
- align-items: center;
- justify-content: center;
- }
-
- .row__information-board {
- width: 100%;
- justify-content: center;
- align-items: center;
- }
-
- .row__mascot {
- display: none;
- }
- }
-
- @media screen and (max-width: $no-gap-breakpoint) {
- grid-gap: 0;
- grid-template-columns: minmax(0, 100%);
-
- .column-0 {
- grid-column: 1;
- }
-
- .column-1 {
- grid-column: 1;
- grid-row: 3;
- }
-
- .column-2 {
- grid-column: 1;
- grid-row: 2;
- }
-
- .column-3 {
- grid-column: 1;
- grid-row: 4;
- }
- }
-}
diff --git a/app/styles/dashboard.scss b/app/styles/dashboard.scss
deleted file mode 100644
index 2099c5312..000000000
--- a/app/styles/dashboard.scss
+++ /dev/null
@@ -1,76 +0,0 @@
-.dashboard__counters {
- display: flex;
- flex-wrap: wrap;
- margin: 0 -5px;
- margin-bottom: 20px;
-
- & > div {
- box-sizing: border-box;
- flex: 0 0 33.333%;
- padding: 0 5px;
- margin-bottom: 10px;
-
- & > div,
- & > a {
- padding: 20px;
- background: var(--brand-color--faint);
- border-radius: 4px;
- }
-
- & > a {
- text-decoration: none;
- color: inherit;
- display: block;
-
- &:hover,
- &:focus,
- &:active {
- background: var(--brand-color--med);
- }
- }
- }
-
- &__num,
- &__text {
- text-align: center;
- font-weight: 500;
- font-size: 24px;
- line-height: 21px;
- color: var(--primary-text-color);
- font-family: var(--font-display), sans-serif;
- margin-bottom: 20px;
- line-height: 30px;
- }
-
- &__text {
- font-size: 18px;
- }
-
- &__label {
- font-size: 14px;
- color: var(--primary-text-color--faint);
- text-align: center;
- font-weight: 500;
- }
-}
-
-.dashboard__widgets {
- display: flex;
- flex-wrap: wrap;
- margin: 0 -5px;
-
- & > div {
- flex: 0 0 33.333%;
- margin-bottom: 20px;
-
- & > div {
- padding: 0 5px;
- }
- }
-
- a:not(.name-tag) {
- color: var(--background-color);
- font-weight: 500;
- text-decoration: none;
- }
-}
diff --git a/app/styles/demetricator.scss b/app/styles/demetricator.scss
index 08288bd91..fc2c4bafb 100644
--- a/app/styles/demetricator.scss
+++ b/app/styles/demetricator.scss
@@ -3,6 +3,7 @@ body.demetricator {
.account__header__extra__links a > span:first-of-type,
.detailed-status__link,
.icon-with-badge__badge,
+ .icon-with-counter__counter,
.trends__item__count,
.sidebar-menu-profile__stats {
display: none;
@@ -10,6 +11,6 @@ body.demetricator {
.account__header__bar {
min-height: 50px;
- @media (min-width: 895px) {height: 50px;}
+ @media (min-width: 895px) { height: 50px; }
}
}
diff --git a/app/styles/donations.scss b/app/styles/donations.scss
index bb4798f1d..c66ce0b00 100644
--- a/app/styles/donations.scss
+++ b/app/styles/donations.scss
@@ -68,12 +68,12 @@
&--trialing,
&--active {
&::before {
- background-color: #00ff00;
+ background-color: #0f0;
}
}
&--cancelling::before {
- background-color: #ffff00;
+ background-color: #ff0;
}
&--incomplete,
@@ -82,7 +82,7 @@
&--canceled,
&--unpaid {
&::before {
- background-color: #ff0000;
+ background-color: #f00;
}
}
}
diff --git a/app/styles/dyslexic.scss b/app/styles/dyslexic.scss
index 9dd348fec..6db2cadc2 100644
--- a/app/styles/dyslexic.scss
+++ b/app/styles/dyslexic.scss
@@ -1,5 +1,6 @@
.dyslexic {
font-family: 'OpenDyslexic' !important;
+ margin-bottom: 8px;
}
body.dyslexic {
diff --git a/app/styles/emoji_picker.scss b/app/styles/emoji_picker.scss
index e282a3c17..df3b3574e 100644
--- a/app/styles/emoji_picker.scss
+++ b/app/styles/emoji_picker.scss
@@ -45,7 +45,7 @@
text-align: center;
padding: 12px 4px;
overflow: hidden;
- transition: color .1s ease-out;
+ transition: color 0.1s ease-out;
cursor: pointer;
&:hover {
@@ -173,6 +173,13 @@
display: inline-block;
font-size: 0;
+ .fa {
+ font-size: 18px;
+ width: 22px;
+ height: 22px;
+ text-align: center;
+ }
+
span {
width: 22px;
height: 22px;
@@ -190,7 +197,7 @@
}
.emoji-mart-no-results-label {
- margin-top: .2em;
+ margin-top: 0.2em;
}
.emoji-mart-emoji:hover::before {
diff --git a/app/styles/fonts.scss b/app/styles/fonts.scss
index 354b9b9a9..eba472a5e 100644
--- a/app/styles/fonts.scss
+++ b/app/styles/fonts.scss
@@ -1,134 +1,45 @@
-// Roboto Regular
-@font-face {
- font-family: 'Roboto';
- font-weight: 400;
- font-style: normal;
- src: url('../fonts/roboto/roboto-regular-400.eot?#iefix');
- src: url('../fonts/roboto/roboto-regular-400.eot?#iefix') format('embedded-opentype'),
- url('../fonts/roboto/roboto-regular-400.woff2') format('woff2'),
- url('../fonts/roboto/roboto-regular-400.woff') format('woff'),
- url('../fonts/roboto/roboto-regular-400.ttf') format('truetype'),
- url('../fonts/roboto/roboto-regular-400.svg') format('svg');
-}
-
-// Roboto Regular Italic
-@font-face {
- font-family: 'Roboto';
- font-weight: 400;
- font-style: italic;
- src: url('../fonts/roboto/roboto-regular-italic-400.eot?#iefix');
- src: url('../fonts/roboto/roboto-regular-italic-400.eot?#iefix') format('embedded-opentype'),
- url('../fonts/roboto/roboto-regular-italic-400.woff2') format('woff2'),
- url('../fonts/roboto/roboto-regular-italic-400.woff') format('woff'),
- url('../fonts/roboto/roboto-regular-italic-400.ttf') format('truetype'),
- url('../fonts/roboto/roboto-regular-italic-400.svg') format('svg');
-}
-
-// Roboto Light
-@font-face {
- font-family: 'Roboto';
- font-weight: 300;
- font-style: normal;
- src: url('../fonts/roboto/roboto-light-300.eot?#iefix');
- src: url('../fonts/roboto/roboto-light-300.eot?#iefix') format('embedded-opentype'),
- url('../fonts/roboto/roboto-light-300.woff2') format('woff2'),
- url('../fonts/roboto/roboto-light-300.woff') format('woff'),
- url('../fonts/roboto/roboto-light-300.ttf') format('truetype'),
- url('../fonts/roboto/roboto-light-300.svg') format('svg');
-}
-
-// Roboto Light Italic
-@font-face {
- font-family: 'Roboto';
- font-weight: 300;
- font-style: italic;
- src: url('../fonts/roboto/roboto-light-italic-300.eot?#iefix');
- src: url('../fonts/roboto/roboto-light-italic-300.eot?#iefix') format('embedded-opentype'),
- url('../fonts/roboto/roboto-light-italic-300.woff2') format('woff2'),
- url('../fonts/roboto/roboto-light-italic-300.woff') format('woff'),
- url('../fonts/roboto/roboto-light-italic-300.ttf') format('truetype'),
- url('../fonts/roboto/roboto-light-italic-300.svg') format('svg');
-}
-
-// Roboto Bold
-@font-face {
- font-family: 'Roboto';
- font-weight: 700;
- font-style: normal;
- src: url('../fonts/roboto/roboto-bold-700.eot?#iefix');
- src: url('../fonts/roboto/roboto-bold-700.eot?#iefix') format('embedded-opentype'),
- url('../fonts/roboto/roboto-bold-700.woff2') format('woff2'),
- url('../fonts/roboto/roboto-bold-700.woff') format('woff'),
- url('../fonts/roboto/roboto-bold-700.ttf') format('truetype'),
- url('../fonts/roboto/roboto-bold-700.svg') format('svg');
-}
-
-// Roboto Bold Italic
-@font-face {
- font-family: 'Roboto';
- font-weight: 700;
- font-style: italic;
- src: url('../fonts/roboto/roboto-bold-italic-700.eot?#iefix');
- src: url('../fonts/roboto/roboto-bold-italic-700.eot?#iefix') format('embedded-opentype'),
- url('../fonts/roboto/roboto-bold-italic-700.woff2') format('woff2'),
- url('../fonts/roboto/roboto-bold-italic-700.woff') format('woff'),
- url('../fonts/roboto/roboto-bold-italic-700.ttf') format('truetype'),
- url('../fonts/roboto/roboto-bold-italic-700.svg') format('svg');
-}
-
-// Montserrat Extra Bold
-// Used for all bold number, scoreboard, count displays
-@font-face {
- font-family: 'Montserrat';
- font-weight: 800;
- font-style: normal;
- src: url('../fonts/montserrat/montserrat-extra-bold-800.eot?#iefix');
- src: url('../fonts/montserrat/montserrat-extra-bold-800.eot?#iefix') format('embedded-opentype'),
- url('../fonts/montserrat/montserrat-extra-bold-800.woff2') format('woff2'),
- url('../fonts/montserrat/montserrat-extra-bold-800.woff') format('woff'),
- url('../fonts/montserrat/montserrat-extra-bold-800.ttf') format('truetype'),
- url('../fonts/montserrat/montserrat-extra-bold-800.svg') format('svg');
-}
-
// OpenDyslexic
@font-face {
font-family: 'OpenDyslexic';
src: url('../fonts/OpenDyslexic/OpenDyslexic-Regular.woff2') format('woff2');
}
+
@font-face {
font-family: 'OpenDyslexic';
font-weight: bold;
src: url('../fonts/OpenDyslexic/OpenDyslexic-Bold.woff2') format('woff2');
}
+
@font-face {
font-family: 'OpenDyslexic';
font-weight: bold;
font-style: italic;
src: url('../fonts/OpenDyslexic/OpenDyslexic-Bold-Italic.woff2') format('woff2');
}
+
@font-face {
font-family: 'OpenDyslexic';
font-style: italic;
src: url('../fonts/OpenDyslexic/OpenDyslexic-Italic.woff2') format('woff2');
}
-
// TYPEOGRAPHY MIXINS
// declare the font family using these shortcuts
-@mixin font-roboto {font-family: 'Roboto', Arial, sans-serif !important;}
-@mixin font-montserrat {font-family: 'Montserrat', Arial, sans-serif !important;}
+@mixin font-roboto { font-family: 'Roboto', Arial, sans-serif !important; }
+
+@mixin font-montserrat { font-family: 'Montserrat', Arial, sans-serif !important; }
// Declare font weights as a numerical value in rendered output
// Prevents certain browsers which do not play nice with "light, medium" textual declarations
// Numeical values always work more consistently across browsers
// Each font-weight is linked with the @font-face declaration to the actual font file
@mixin font-weight($weight) {
- @if $weight == 'light' {font-weight: 300;}
- @if $weight == 'normal' {font-weight: 400;}
- @if $weight == 'medium' {font-weight: 500;}
- @if $weight == 'bold' {font-weight: 700;}
- @if $weight == 'extrabold' {font-weight: 800;}
+ @if $weight == 'light' { font-weight: 300; }
+ @if $weight == 'normal' { font-weight: 400; }
+ @if $weight == 'medium' { font-weight: 500; }
+ @if $weight == 'bold' { font-weight: 700; }
+ @if $weight == 'extrabold' { font-weight: 800; }
}
// Use these mixins to define font-size and line-height
@@ -140,6 +51,7 @@
font-size: #{$px + "px"};
font-size: #{$rem + "rem"};
}
+
@mixin line-height($size) {
$rem: ($size / 10);
$px: $size;
@@ -150,7 +62,7 @@
// Soapbox icon font
@font-face {
font-family: 'soapbox';
- src: url('../fonts/soapbox/soapbox.eot?pryg6i');
+ src: url('../fonts/soapbox/soapbox.eot?pryg6i');
src: url('../fonts/soapbox/soapbox.eot?pryg6i#iefix') format('embedded-opentype'),
url('../fonts/soapbox/soapbox.ttf?pryg6i') format('truetype'),
url('../fonts/soapbox/soapbox.woff?pryg6i') format('woff'),
@@ -159,12 +71,12 @@
font-style: normal;
}
-.fa-users::before {
- font-family: 'ForkAwesome';
- content: '\f0c0';
-}
-
.fa-fediverse::before {
- font-family: 'soapbox' !important;
+ font-family: 'soapbox';
content: "\e901";
}
+
+.fa-spinster::before {
+ font-family: 'soapbox';
+ content: "\e900";
+}
diff --git a/app/styles/forms.scss b/app/styles/forms.scss
index 5471f9778..ce782ac7d 100644
--- a/app/styles/forms.scss
+++ b/app/styles/forms.scss
@@ -13,7 +13,7 @@ code {
.simple_form {
.input {
- margin-bottom: 15px;
+ margin-bottom: 8px;
overflow: hidden;
&.hidden {
@@ -43,7 +43,6 @@ code {
&.boolean {
position: relative;
- margin-bottom: 0;
.label_input > label {
font-family: inherit;
@@ -111,7 +110,6 @@ code {
span.hint {
display: block;
font-size: 12px;
- margin-top: 4px;
}
p.hint {
@@ -172,20 +170,19 @@ code {
font-size: 14px;
color: var(--primary-text-color);
display: block;
- margin-bottom: 8px;
word-wrap: break-word;
font-weight: 500;
}
- .hint {
- margin-top: 6px;
- }
-
ul {
flex: 390px;
}
}
+ .input.font_icon_picker {
+ width: 52px;
+ }
+
.input.with_block_label {
max-width: none;
@@ -309,7 +306,8 @@ code {
input[type=number],
input[type=email],
input[type=password],
- textarea {
+ textarea,
+ .rfipbtn {
box-sizing: border-box;
font-size: 16px;
color: var(--primary-text-color);
@@ -342,6 +340,11 @@ code {
}
}
+ .rfip {
+ width: 100%;
+ margin: 0;
+ }
+
input[type=text][disabled],
input[type=number][disabled],
input[type=email][disabled],
@@ -433,9 +436,32 @@ code {
background-color: darken($error-value-color, 5%);
}
}
+
+ &.accordion__toggle {
+ display: inline-block;
+ width: auto;
+ border: 0;
+ border-radius: 0;
+ background: none;
+ color: var(--primary-text-color--faint);
+ font-size: 18px;
+ line-height: inherit;
+ height: auto;
+ padding: 0 10px;
+ text-transform: none;
+ text-decoration: none;
+ text-align: center;
+ box-sizing: border-box;
+ cursor: pointer;
+ font-weight: 500;
+ outline: 0;
+ margin-bottom: 0;
+ margin-right: 10px;
+ }
}
select {
+ appearance: none;
box-sizing: border-box;
font-size: 16px;
color: var(--primary-text-color);
@@ -451,10 +477,29 @@ code {
padding-right: 30px;
height: 41px;
position: relative;
+ margin-top: 8px;
+ cursor: pointer;
+ }
+
+ .select-wrapper {
+ display: flex;
+ align-items: center;
+
+ &::after {
+ display: flex;
+ align-items: center;
+ font-family: "ForkAwesome";
+ content: "";
+ position: absolute;
+ right: 12px;
+ height: calc(100% - 8px);
+ padding-left: 12px;
+ pointer-events: none;
+ margin-top: 8px;
+ }
}
.label_input {
-
&__color {
display: inline-flex;
font-size: 14px;
@@ -466,6 +511,23 @@ code {
}
}
+ &__font_icon_picker {
+ font-size: 14px;
+
+ .font-icon-button {
+ padding: 9px;
+ border: 1px solid var(--highlight-text-color);
+ border-radius: 4px;
+ cursor: pointer;
+ outline: none;
+
+ .fa {
+ font-size: 18px;
+ color: var(--primary-text-color);
+ }
+ }
+ }
+
&__wrapper {
position: relative;
}
@@ -542,155 +604,6 @@ code {
font-size: 24px;
}
-.flash-message {
- background: var(--brand-color--med);
- color: var(--primary-text-color--faint);
- border-radius: 4px;
- padding: 15px 10px;
- margin-bottom: 30px;
- text-align: center;
-
- &.notice {
- border: 1px solid rgba($valid-value-color, 0.5);
- background: rgba($valid-value-color, 0.25);
- color: $valid-value-color;
- }
-
- &.alert {
- border: 1px solid rgba($error-value-color, 0.5);
- background: rgba($error-value-color, 0.25);
- color: $error-value-color;
- }
-
- a {
- display: inline-block;
- color: var(--primary-text-color--faint);
- text-decoration: none;
-
- &:hover {
- color: var(--primary-text-color);
- text-decoration: underline;
- }
- }
-
- p {
- margin-bottom: 15px;
- }
-
- .oauth-code {
- outline: 0;
- box-sizing: border-box;
- display: block;
- width: 100%;
- border: 0;
- padding: 10px;
- font-family: var(--font-monospace), monospace;
- background: var(--brand-color--med);
- color: var(--primary-text-color);
- font-size: 14px;
- margin: 0;
-
- &::-moz-focus-inner {
- border: 0;
- }
-
- &::-moz-focus-inner,
- &:focus,
- &:active {
- outline: 0 !important;
- }
-
- &:focus {
- background: var(--brand-color--faint);
- }
- }
-
- strong {
- font-weight: 500;
-
- @each $lang in $cjk-langs {
- &:lang(#{$lang}) {
- font-weight: 700;
- }
- }
- }
-
- @media screen and (max-width: 740px) and (min-width: 441px) {
- margin-top: 40px;
- }
-}
-
-.form-footer {
- margin-top: 30px;
- text-align: center;
-
- a {
- color: var(--primary-text-color--faint);
- text-decoration: none;
-
- &:hover {
- text-decoration: underline;
- }
- }
-}
-
-.quick-nav {
- list-style: none;
- margin-bottom: 25px;
- font-size: 14px;
-
- li {
- display: inline-block;
- margin-right: 10px;
- }
-
- a {
- color: var(--highlight-text-color);
- text-transform: uppercase;
- text-decoration: none;
- font-weight: 700;
-
- &:hover,
- &:focus,
- &:active {
- color: var(--highlight-text-color);
- }
- }
-}
-
-.oauth-prompt,
-.follow-prompt {
- margin-bottom: 30px;
- color: var(--primary-text-color--faint);
-
- h2 {
- font-size: 16px;
- margin-bottom: 30px;
- text-align: center;
- }
-
- strong {
- color: var(--primary-text-color--faint);
- font-weight: 500;
-
- @each $lang in $cjk-langs {
- &:lang(#{$lang}) {
- font-weight: 700;
- }
- }
- }
-
- @media screen and (max-width: 740px) and (min-width: 441px) {
- margin-top: 40px;
- }
-}
-
-.qr-wrapper {
- display: flex;
- flex-wrap: wrap;
- align-items: flex-start;
-}
-
.qr-code {
flex: 0 0 auto;
background: var(--foreground-color);
@@ -705,35 +618,7 @@ code {
}
}
-.qr-alternative {
- margin-bottom: 20px;
- color: var(--primary-text-color--faint);
- flex: 150px;
-
- samp {
- display: block;
- font-size: 14px;
- }
-}
-
-.table-form {
- p {
- margin-bottom: 15px;
-
- strong {
- font-weight: 500;
-
- @each $lang in $cjk-langs {
- &:lang(#{$lang}) {
- font-weight: 700;
- }
- }
- }
- }
-}
-
-.simple_form,
-.table-form {
+.simple_form {
.warning {
box-sizing: border-box;
background: rgba($error-value-color, 0.5);
@@ -773,173 +658,6 @@ code {
}
}
-.action-pagination {
- display: flex;
- flex-wrap: wrap;
- align-items: center;
-
- .actions,
- .pagination {
- flex: 1 1 auto;
- }
-
- .actions {
- padding: 30px 0;
- padding-right: 20px;
- flex: 0 0 auto;
- }
-}
-
-.post-follow-actions {
- text-align: center;
- color: var(--primary-text-color--faint);
-
- div {
- margin-bottom: 4px;
- }
-}
-
-.alternative-login {
- margin-top: 20px;
- margin-bottom: 20px;
-
- h4 {
- font-size: 16px;
- color: var(--primary-text-color);
- text-align: center;
- margin-bottom: 20px;
- border: 0;
- padding: 0;
- }
-
- .button {
- display: block;
- }
-}
-
-.scope-danger {
- color: $warning-red;
-}
-
-.form_admin_settings_site_short_description,
-.form_admin_settings_site_description,
-.form_admin_settings_site_extended_description,
-.form_admin_settings_site_terms,
-.form_admin_settings_custom_css,
-.form_admin_settings_closed_registrations_message {
- textarea {
- font-family: var(--font-monospace), monospace;
- }
-}
-
-.input-copy {
- background: var(--background-color);
- border: 1px solid var(--background-color);
- border-radius: 4px;
- display: flex;
- align-items: center;
- padding-right: 4px;
- position: relative;
- top: 1px;
- transition: border-color 300ms linear;
-
- &__wrapper {
- flex: 1 1 auto;
- }
-
- input[type=text] {
- background: transparent;
- border: 0;
- padding: 10px;
- font-size: 14px;
- font-family: var(--font-monospace), monospace;
- }
-
- button {
- flex: 0 0 auto;
- margin: 4px;
- text-transform: none;
- font-weight: 400;
- font-size: 14px;
- padding: 7px 18px;
- padding-bottom: 6px;
- width: auto;
- transition: background 300ms linear;
- }
-
- &.copied {
- border-color: $valid-value-color;
- transition: none;
-
- button {
- background: $valid-value-color;
- transition: none;
- }
- }
-}
-
-.connection-prompt {
- margin-bottom: 25px;
-
- .fa-link {
- background-color: var(--brand-color--med);
- border-radius: 100%;
- font-size: 24px;
- padding: 10px;
- }
-
- &__column {
- align-items: center;
- display: flex;
- flex: 1;
- flex-direction: column;
- flex-shrink: 1;
- max-width: 50%;
-
- &-sep {
- align-self: center;
- flex-grow: 0;
- overflow: visible;
- position: relative;
- z-index: 1;
- }
-
- p {
- word-break: break-word;
- }
- }
-
- .account__avatar {
- margin-bottom: 20px;
- }
-
- &__connection {
- background-color: var(--brand-color--med);
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
- border-radius: 4px;
- padding: 25px 10px;
- position: relative;
- text-align: center;
-
- &::after {
- background-color: var(--brand-color--med);
- content: '';
- display: block;
- height: 100%;
- left: 50%;
- position: absolute;
- top: 0;
- width: 1px;
- }
- }
-
- &__row {
- align-items: flex-start;
- display: flex;
- flex-direction: row;
- }
-}
-
.columns-area {
form.simple_form {
padding: 15px;
@@ -947,7 +665,7 @@ code {
}
.captcha {
- background-color: #ffffff;
+ background-color: #fff;
border-radius: 4px;
img {
@@ -990,19 +708,83 @@ code {
max-height: 100px;
}
-.code-editor textarea {
- font-family: monospace;
- white-space: pre;
+.code-editor {
+ textarea {
+ font-family: monospace;
+ white-space: pre;
+ }
+
+ &--invalid textarea {
+ border-color: $error-red !important;
+ color: $error-red;
+ }
+
+ .input {
+ margin-bottom: 0;
+ }
+
+ .hint {
+ margin-top: 10px;
+ }
}
-.code-editor--invalid textarea {
- border-color: $error-red !important;
- color: $error-red;
-}
-
-.input .row .fa-times-circle {
+.input .row > .fa-times-circle {
position: absolute;
right: 7px;
cursor: pointer;
color: $error-red;
+ transform: translateY(9px);
+}
+
+.site-preview {
+ border-radius: 4px;
+ overflow: hidden;
+ height: 164px;
+ border: 1px solid;
+ margin-bottom: 40px;
+ background: var(--background-color);
+
+ * {
+ z-index: 0;
+ }
+
+ a {
+ cursor: default;
+ }
+
+ .ui {
+ display: flex;
+ flex-direction: column;
+ padding: 0;
+ height: 100%;
+ }
+
+ .page {
+ align-items: center;
+ justify-content: center;
+ height: 100%;
+ }
+}
+
+.input.with_label.toggle .label_input {
+ display: flex;
+ font-size: 14px;
+ align-items: center;
+
+ .theme-toggle {
+ margin-left: 10px;
+ }
+}
+
+.actions.add-row {
+ margin: 10px 0 0;
+
+ .button {
+ border: 0;
+ background: transparent;
+
+ &:hover {
+ color: var(--primary-text-color);
+ }
+ }
}
diff --git a/app/styles/holiday/halloween.scss b/app/styles/holiday/halloween.scss
new file mode 100644
index 000000000..ad190a18b
--- /dev/null
+++ b/app/styles/holiday/halloween.scss
@@ -0,0 +1,159 @@
+.halloween,
+.site-preview.halloween {
+ // Set brand color to orange
+ --brand-color_h: 29.727272727272727;
+ --brand-color_s: 100%;
+ --brand-color_l: 43.13725490196079%;
+
+ // Stars BG
+ background-color: #904700; // Color matches twinkle.svg
+ background-image: url('../images/halloween/starfield.png');
+ background-size: cover;
+ background-attachment: fixed;
+ background-position: center;
+
+ // Full-screen pseudo-elements to hold BG graphics
+ &::before,
+ &::after,
+ > .app-holder::before,
+ > .app-holder::after {
+ content: '';
+ display: block;
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-size: cover;
+ background-position: center;
+ width: 100%;
+ height: 100%;
+ z-index: -100;
+ }
+
+ // Spiderweb BG
+ &::before {
+ background-image: url('../images/halloween/spiderweb.svg');
+ }
+
+ // Twinkle effect by masking with semi-transparent animated circles
+ &::after {
+ z-index: -101;
+ background: transparent url("../images/halloween/twinkle.svg") repeat top center;
+ animation: halloween-twinkle 200s linear infinite;
+ }
+
+ > .app-holder {
+ // Vignette
+ &::before {
+ background-image: radial-gradient(
+ circle,
+ transparent 0%,
+ transparent 60%,
+ var(--vignette-color) 100%
+ );
+ }
+
+ // Floating clouds BG
+ &::after {
+ background: transparent url("../images/halloween/clouds.png") repeat top center;
+ animation: halloween-clouds 200s linear infinite;
+ }
+
+ // Dangling spider
+ .ui .page__top::after,
+ .ui .page__columns::after {
+ content: '';
+ display: block;
+ width: 100px;
+ height: 100px;
+ right: 20px;
+ background-image: url('../images/halloween/spider.svg');
+ background-size: contain;
+ background-repeat: no-repeat;
+ background-position: top right;
+ z-index: -1;
+ pointer-events: none;
+ }
+
+ .ui .page__columns::after {
+ position: fixed;
+ top: 50px;
+ }
+
+ .ui .page__top::after {
+ position: absolute;
+ bottom: -100px;
+ }
+
+ .ui .page__top + .page__columns::after {
+ display: none;
+ }
+
+ // Witch emblem
+ .getting-started__footer::before {
+ content: '';
+ display: block;
+ background-image: url('../images/halloween/halloween-emblem.svg');
+ background-size: contain;
+ background-position: left;
+ background-repeat: no-repeat;
+ width: 100%;
+ height: 100px;
+ margin-bottom: 20px;
+ }
+
+ // Color fixes
+ // Elements directly over the BG need static colors that don't change
+ // regardless of the theme-mode
+ .getting-started__footer {
+ color: #fff;
+
+ a {
+ color: hsla(0, 0%, 100%, 0.4);
+ }
+
+ p {
+ color: hsla(0, 0%, 100%, 0.8);
+ }
+ }
+
+ .profile-info-panel {
+ color: #fff;
+
+ &-content__name h1 {
+ span:first-of-type {
+ color: hsla(0, 0%, 100%, 0.6);
+ }
+
+ small {
+ color: #fff;
+ }
+ }
+
+ &-content__bio {
+ color: #fff;
+ }
+
+ &-content__bio a,
+ &-content__fields a {
+ color: hsl(
+ var(--brand-color_h),
+ var(--brand-color_s),
+ calc(var(--brand-color_l) + 8%)
+ );
+ }
+ }
+ }
+}
+
+// Animations
+@keyframes halloween-twinkle {
+ from { background-position: 0 0; }
+ to { background-position: -10000px 5000px; }
+}
+
+@keyframes halloween-clouds {
+ from { background-position: 0 0; }
+ to { background-position: 10000px 0; }
+}
diff --git a/app/styles/lists.scss b/app/styles/lists.scss
deleted file mode 100644
index 6019cd800..000000000
--- a/app/styles/lists.scss
+++ /dev/null
@@ -1,19 +0,0 @@
-.no-list {
- list-style: none;
-
- li {
- display: inline-block;
- margin: 0 5px;
- }
-}
-
-.recovery-codes {
- list-style: none;
- margin: 0 auto;
-
- li {
- font-size: 125%;
- line-height: 1.5;
- letter-spacing: 1px;
- }
-}
diff --git a/app/styles/loading.scss b/app/styles/loading.scss
index 88705782e..f45769ecf 100644
--- a/app/styles/loading.scss
+++ b/app/styles/loading.scss
@@ -12,7 +12,6 @@
span {
display: block;
float: left;
- margin-left: 50%;
transform: translateX(-50%);
margin: 82px 0 0 50%;
white-space: nowrap;
@@ -188,7 +187,6 @@
align-items: center;
justify-content: center;
padding: 20px;
- border-radius: 0 0 10px 10px;
& > div {
width: 100%;
diff --git a/app/styles/overflow_hacks.scss b/app/styles/overflow_hacks.scss
deleted file mode 100644
index ef72b6863..000000000
--- a/app/styles/overflow_hacks.scss
+++ /dev/null
@@ -1,37 +0,0 @@
-// This is a file dedicated to fixing the css we broke by introducing the hover
-// card and `overflow:visible` on drawer.scss line 23. If we ever figure out how
-// to pop the hover card out while keeping `overflow:hidden`, feel free to delete
-// this entire file.
-
-button.column-header__button.active {
- border-radius: 0 10px 0 0;
-}
-
-.column-back-button.column-back-button--slim-button {
- border-radius: 0 10px 0 0;
-}
-
-.detailed-status__wrapper .detailed-status__action-bar {
- border-radius: 0 0 10px 10px;
-}
-
-.slist .item-list .column-link {
- background-color: transparent;
- border-top: 1px solid var(--brand-color--med);
-}
-
-.focusable {
- &:focus {
- border-radius: 0 0 10px 10px;
- }
-}
-
-.load-more:hover {
- border-radius: 0 0 10px 10px;
-}
-
-// this still looks like shit but at least it's better than it overflowing
-
-.empty-column-indicator {
- border-radius: 0 0 10px 10px;
-}
diff --git a/app/styles/polls.scss b/app/styles/polls.scss
index 33b645489..c5c635e40 100644
--- a/app/styles/polls.scss
+++ b/app/styles/polls.scss
@@ -14,8 +14,8 @@
height: 100%;
display: inline-block;
border-radius: 4px;
- background: hsla(var(--primary-text-color_hsl), .3);
- &.leading {background: hsla(var(--primary-text-color_hsl), .6);}
+ background: hsla(var(--primary-text-color_hsl), 0.3);
+ &.leading { background: hsla(var(--primary-text-color_hsl), 0.6); }
}
&__text {
@@ -48,7 +48,6 @@
width: 100%;
font-size: 14px;
color: var(--primary-text-color);
- display: block;
outline: 0;
font-family: inherit;
background: var(--foreground-color);
@@ -129,7 +128,7 @@
&:active,
&:focus {
- background-color: hsla(var(--primary-text-color_hsl), .1);
+ background-color: hsla(var(--primary-text-color_hsl), 0.1);
}
}
diff --git a/app/styles/pro.scss b/app/styles/pro.scss
deleted file mode 100644
index cb2e18dec..000000000
--- a/app/styles/pro.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-.page--floral { background-image: url('../images/pro_bg/floral--light.svg'); }
-
-body.theme-dark {
- .page--floral { background-image: url('../images/pro_bg/floral--dark.svg'); }
-}
diff --git a/app/styles/rtl.scss b/app/styles/rtl.scss
index 848547ee2..d1351b7f1 100644
--- a/app/styles/rtl.scss
+++ b/app/styles/rtl.scss
@@ -7,16 +7,6 @@ body.rtl {
padding-right: 15px;
}
- .landing-page__logo {
- margin-right: 0;
- margin-left: 20px;
- }
-
- .landing-page .features-list .features-list__row .visual {
- margin-left: 0;
- margin-right: 15px;
- }
-
.column-link__icon,
.column-header__icon {
margin-right: 0;
@@ -83,23 +73,16 @@ body.rtl {
right: 10px;
}
- .status,
- .activity-stream .status.light {
+ .status {
padding-left: 10px;
padding-right: 68px;
}
- .status__info .status__display-name,
- .activity-stream .status.light .status__display-name {
+ .status__info .status__display-name {
padding-left: 25px;
padding-right: 0;
}
- .activity-stream .pre-header {
- padding-right: 68px;
- padding-left: 0;
- }
-
.status__prepend {
margin-left: 0;
margin-right: 68px;
@@ -110,11 +93,6 @@ body.rtl {
right: -26px;
}
- .activity-stream .pre-header .pre-header__icon {
- left: auto;
- right: 42px;
- }
-
.account__avatar-overlay-overlay {
right: auto;
left: 0;
@@ -125,13 +103,11 @@ body.rtl {
left: 0;
}
- .status__relative-time,
- .activity-stream .status.light .status__header .status__meta {
+ .status__relative-time {
float: left;
}
.status__action-bar {
-
&__counter {
margin-right: 0;
margin-left: 11px;
@@ -256,44 +232,6 @@ body.rtl {
margin-left: 45px;
}
- .landing-page .header-wrapper .mascot {
- right: 60px;
- left: auto;
- }
-
- .landing-page__call-to-action .row__information-board {
- direction: rtl;
- }
-
- .landing-page .header .hero .floats .float-1 {
- left: -120px;
- right: auto;
- }
-
- .landing-page .header .hero .floats .float-2 {
- left: 210px;
- right: auto;
- }
-
- .landing-page .header .hero .floats .float-3 {
- left: 110px;
- right: auto;
- }
-
- .landing-page .header .links .brand img {
- left: 0;
- }
-
- .landing-page .fa-external-link {
- padding-right: 5px;
- padding-left: 0 !important;
- }
-
- .landing-page .features #soapbox-timeline {
- margin-right: 0;
- margin-left: 30px;
- }
-
@media screen and (min-width: 631px) {
.column,
.drawer {
@@ -329,18 +267,6 @@ body.rtl {
}
}
- .landing-page__information {
- .account__display-name {
- margin-right: 0;
- margin-left: 5px;
- }
-
- .account__avatar-wrapper {
- margin-left: 12px;
- margin-right: 0;
- }
- }
-
.card__bar .display-name {
margin-left: 0;
margin-right: 15px;
diff --git a/app/styles/stream_entries.scss b/app/styles/stream_entries.scss
deleted file mode 100644
index 653454ae2..000000000
--- a/app/styles/stream_entries.scss
+++ /dev/null
@@ -1,159 +0,0 @@
-.activity-stream {
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
- border-radius: 4px;
- overflow: hidden;
- margin-bottom: 10px;
-
- @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: var(--brand-color--med);
-
- .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 (max-width: 740px) {
- .detailed-status,
- .status,
- .load-more {
- border-radius: 0 !important;
- }
- }
- }
-
- &--highlighted .entry {
- background: var(--brand-color--med);
- }
-}
-
-.button.logo-button {
- flex: 0 auto;
- font-size: 14px;
- background: var(--brand-color);
- color: #fff;
- text-transform: none;
- line-height: 36px;
- height: auto;
- padding: 3px 15px;
- border: 0;
-
- svg {
- width: 20px;
- height: auto;
- vertical-align: middle;
- margin-right: 5px;
- fill: var(--primary-text-color);
- }
-
- &:active,
- &:focus,
- &:hover {
- background: var(--brand-color--hicontrast);
- }
-
- &:disabled,
- &.disabled {
- &:active,
- &:focus,
- &:hover {
- background: var(--brand-color--med);
- }
- }
-
- &.button--destructive {
- &:active,
- &:focus,
- &:hover {
- background: $error-red;
- }
- }
-
- @media screen and (max-width: $no-gap-breakpoint) {
- svg {
- display: none;
- }
- }
-}
-
-.embed,
-.public-layout {
- .detailed-status {
- padding: 15px;
- }
-
- .status {
- padding: 15px 15px 15px (48px + 15px * 2);
- min-height: 48px + 2px;
-
- &__avatar {
- left: 15px;
- top: 17px;
- }
-
- &__content {
- padding-top: 5px;
- }
-
- &__prepend {
- margin-left: 48px + 15px * 2;
- padding-top: 15px;
- }
-
- &__prepend-icon-wrapper {
- left: -32px;
- }
-
- .media-gallery,
- &__action-bar,
- .video-player {
- margin-top: 10px;
- }
- }
-}
diff --git a/app/styles/tables.scss b/app/styles/tables.scss
deleted file mode 100644
index 8fbe8cca6..000000000
--- a/app/styles/tables.scss
+++ /dev/null
@@ -1,243 +0,0 @@
-.table {
- width: 100%;
- max-width: 100%;
- border-spacing: 0;
- border-collapse: collapse;
-
- th,
- td {
- padding: 8px;
- line-height: 18px;
- vertical-align: top;
- border-top: 1px solid var(--brand-color--med);
- text-align: left;
- background: var(--brand-color--med);
- }
-
- & > thead > tr > th {
- vertical-align: bottom;
- border-bottom: 2px solid var(--brand-color--med);
- border-top: 0;
- font-weight: 500;
- }
-
- & > tbody > tr > th {
- font-weight: 500;
- }
-
- & > tbody > tr:nth-child(odd) > td,
- & > tbody > tr:nth-child(odd) > th {
- background: var(--brand-color--med);
- }
-
- a {
- color: var(--highlight-text-color);
- text-decoration: underline;
-
- &:hover {
- text-decoration: none;
- }
- }
-
- strong {
- font-weight: 500;
-
- @each $lang in $cjk-langs {
- &:lang(#{$lang}) {
- font-weight: 700;
- }
- }
- }
-
- &.inline-table {
- & > tbody > tr:nth-child(odd) {
- & > td,
- & > th {
- background: transparent;
- }
- }
-
- & > tbody > tr:first-child {
- & > td,
- & > th {
- border-top: 0;
- }
- }
- }
-
- &.batch-table {
- & > thead > tr > th {
- background: var(--brand-color--med);
- border-top: 1px solid var(--background-color);
- border-bottom: 1px solid var(--background-color);
-
- &:first-child {
- border-radius: 4px 0 0;
- border-left: 1px solid var(--background-color);
- }
-
- &:last-child {
- border-radius: 0 4px 0 0;
- border-right: 1px solid var(--background-color);
- }
- }
- }
-
- &--invites tbody td {
- vertical-align: middle;
- }
-}
-
-.table-wrapper {
- overflow: auto;
- margin-bottom: 20px;
-}
-
-samp {
- font-family: var(--font-monospace), monospace;
-}
-
-button.table-action-link {
- background: transparent;
- border: 0;
- font: inherit;
-}
-
-button.table-action-link,
-a.table-action-link {
- text-decoration: none;
- display: inline-block;
- margin-right: 5px;
- padding: 0 10px;
- color: var(--primary-text-color--faint);
- font-weight: 500;
-
- &:hover {
- color: var(--primary-text-color);
- }
-
- i.fa {
- font-weight: 400;
- margin-right: 5px;
- }
-
- &:first-child {
- padding-left: 0;
- }
-}
-
-.batch-table {
- &__toolbar,
- &__row {
- display: flex;
-
- &__select {
- box-sizing: border-box;
- padding: 8px 16px;
- cursor: pointer;
- min-height: 100%;
-
- input {
- margin-top: 8px;
- }
-
- &--aligned {
- display: flex;
- align-items: center;
-
- input {
- margin-top: 0;
- }
- }
-
- @media screen and (max-width: $no-gap-breakpoint) {
- display: none;
- }
- }
-
- &__actions,
- &__content {
- padding: 8px 0;
- padding-right: 16px;
- flex: 1 1 auto;
- }
- }
-
- &__toolbar {
- border: 1px solid var(--background-color);
- background: var(--brand-color--med);
- border-radius: 4px 0 0;
- height: 47px;
- align-items: center;
-
- &__actions {
- text-align: right;
- padding-right: 16px - 5px;
- }
-
- @media screen and (max-width: $no-gap-breakpoint) {
- display: none;
- }
- }
-
- &__row {
- border: 1px solid var(--background-color);
- border-top: 0;
- background: var(--brand-color--med);
-
- @media screen and (max-width: $no-gap-breakpoint) {
- &:first-child {
- border-top: 1px solid var(--background-color);
- }
- }
-
- &:hover {
- background: var(--background-color);
- }
-
- &:nth-child(even) {
- background: var(--brand-color--med);
-
- &:hover {
- background: var(--brand-color--faint);
- }
- }
-
- &__content {
- padding-top: 12px;
- padding-bottom: 16px;
-
- &--unpadded {
- padding: 0;
- }
- }
- }
-
- .status__content {
- padding-top: 0;
-
- summary {
- display: list-item;
- }
-
- strong {
- font-weight: 700;
- }
- }
-
- .nothing-here {
- border: 1px solid var(--background-color);
- border-top: 0;
- box-shadow: none;
-
- @media screen and (max-width: $no-gap-breakpoint) {
- border-top: 1px solid var(--background-color);
- }
- }
-
- @media screen and (max-width: 870px) {
- .accounts-table tbody td.optional {
- display: none;
- }
- }
-}
diff --git a/app/styles/themes.scss b/app/styles/themes.scss
index 13d952b17..2369c9f6a 100644
--- a/app/styles/themes.scss
+++ b/app/styles/themes.scss
@@ -24,7 +24,8 @@ Examples:
--primary-text-color--faint
*/
-body {
+body,
+.site-preview {
// Primary variables
--brand-color: hsl(var(--brand-color_hsl));
--accent-color: hsl(var(--accent-color_hsl));
@@ -56,14 +57,15 @@ body {
--warning-color--faint: hsla(var(--warning-color_hsl), 0.5);
}
-body.theme-mode-light {
+.theme-mode-light {
// Primary variables
- --foreground-color: #ffffff;
+ --foreground-color: #fff;
--highlight-text-color: hsl(
var(--brand-color_h),
var(--brand-color_s),
calc(var(--brand-color_l) - 8%)
);
+ --vignette-color: transparent;
// Meta-variables
--primary-text-color_h: 0;
@@ -84,14 +86,15 @@ body.theme-mode-light {
);
}
-body.theme-mode-dark {
+.theme-mode-dark {
// Primary variables
- --foreground-color: #222222;
+ --foreground-color: #222;
--highlight-text-color: hsl(
var(--brand-color_h),
var(--brand-color_s),
calc(var(--brand-color_l) + 8%)
);
+ --vignette-color: #000;
// Meta-variables
--primary-text-color_h: 0;
diff --git a/app/styles/ui.scss b/app/styles/ui.scss
index a8f09663a..3f6637b49 100644
--- a/app/styles/ui.scss
+++ b/app/styles/ui.scss
@@ -129,7 +129,7 @@
}
}
-.ellipsis::after {content: "…";}
+.ellipsis::after { content: "…"; }
.timeline-compose-block {
@include standard-panel;
@@ -139,7 +139,7 @@
margin-bottom: 20px;
.emoji-picker-wrapper {
- .emoji-picker-dropdown {top: 10px;}
+ .emoji-picker-dropdown { top: 10px; }
}
.compose-form {
@@ -147,7 +147,7 @@
padding: 0 0 0 20px !important;
position: relative;
- @media(max-width: 405px) {
+ @media (max-width: 405px) {
padding: 0 !important;
}
@@ -173,7 +173,7 @@
}
&__avatar {
- @media(max-width: 405px) { display: none; }
+ @media (max-width: 405px) { display: none; }
}
}
@@ -185,7 +185,7 @@
font-size: inherit;
vertical-align: middle;
object-fit: contain;
- margin: -.2ex .15em .2ex;
+ margin: -0.2ex 0.15em 0.2ex;
width: 16px;
height: 16px;
@@ -219,12 +219,6 @@
display: flex;
}
-.domain_buttons {
- height: 18px;
- padding: 10px;
- white-space: nowrap;
-}
-
.muted {
.status__content p,
.status__content a {
@@ -326,29 +320,29 @@
padding: 0 0 100px;
.page {
- display: flex;
- flex-direction: column;
- width: 100%;
-
- &__top {
- display: flex;
- width: 100%;
- height: auto;
- z-index: 105;
- background: var(--foreground-color);
-
- @media (min-width: 895px) {
- top: -290px;
- position: sticky;
- }
- }
-
- &__columns {
display: flex;
flex-direction: column;
width: 100%;
- height: 100%;
- }
+
+ &__top {
+ display: flex;
+ width: 100%;
+ height: auto;
+ z-index: 105;
+ background: var(--foreground-color);
+
+ @media (min-width: 895px) {
+ top: -290px;
+ position: sticky;
+ }
+ }
+
+ &__columns {
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ height: 100%;
+ }
}
}
@@ -670,52 +664,6 @@
100% { opacity: 1; }
}
-.layout-toggle {
- display: flex;
- padding: 5px;
-
- button {
- box-sizing: border-box;
- flex: 0 0 50%;
- background: transparent;
- padding: 5px;
- border: 0;
- position: relative;
-
- &:hover,
- &:focus,
- &:active {
- svg path:first-child {
- fill: var(--background-color);
- }
- }
- }
-
- svg {
- width: 100%;
- height: auto;
-
- path:first-child {
- fill: var(--brand-color--med);
- }
-
- path:last-child {
- fill: var(--background-color);
- }
- }
-
- &__active {
- color: var(--brand-color);
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- background: var(--brand-color--med);
- border-radius: 50%;
- padding: 0.35rem;
- }
-}
-
.verified-icon {
display: inline-block;
margin: 0 4px 0 1px;
@@ -741,14 +689,35 @@
position: absolute;
content: '\f00c';
font: normal normal normal 14px/1 ForkAwesome;
- font-size: inherit;
+ font-size: 0.6em;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
color: #fff;
- font-size: 0.6em;
line-height: 15px;
width: 15px;
height: 15px;
text-align: center;
}
}
+
+.icon-with-counter {
+ position: relative;
+ display: inline;
+
+ &__counter {
+ @include font-montserrat;
+ @include font-size(14);
+ @include line-height(14);
+ position: absolute;
+ box-sizing: border-box;
+ left: 8px;
+ top: -12px;
+ min-width: 16px;
+ height: 16px;
+ padding: 1px 3px 0;
+ border-radius: 8px;
+ text-align: center;
+ color: #fff;
+ background: var(--accent-color);
+ }
+}
diff --git a/app/styles/variables.scss b/app/styles/variables.scss
index 75f571b1d..38afac611 100644
--- a/app/styles/variables.scss
+++ b/app/styles/variables.scss
@@ -19,12 +19,13 @@ $warning-red: #ff5050 !default; // Sunset Orange
$gold-star: #ca8f04 !default; // Dark Goldenrod
// Variables for defaults in UI
-$base-shadow-color: #000000 !default;
-$base-overlay-background: #000000 !default;
+$base-shadow-color: #000 !default;
+$base-overlay-background: #000 !default;
$valid-value-color: $success-green !default;
$error-value-color: $error-red !default;
// Language codes that uses CJK fonts
+/* stylelint-disable-next-line value-keyword-case -- locale filenames */
$cjk-langs: ja, ko, zh-CN, zh-HK, zh-TW;
// Variables for components
diff --git a/app/styles/widgets.scss b/app/styles/widgets.scss
deleted file mode 100644
index 92e8c7121..000000000
--- a/app/styles/widgets.scss
+++ /dev/null
@@ -1,534 +0,0 @@
-.hero-widget {
- margin-bottom: 10px;
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
-
- &__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: var(--brand-color--med);
- padding: 20px;
- border-radius: 0 0 4px 4px;
- font-size: 15px;
- color: var(--primary-text-color--faint);
- line-height: 20px;
- word-wrap: break-word;
- font-weight: 400;
-
- .emojione {
- width: 20px;
- height: 20px;
- margin: -3px 0 0;
- }
-
- 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: var(--primary-text-color);
- }
-
- a {
- color: var(--primary-text-color--faint);
- 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: var(--primary-text-color--faint);
- }
-
- .account {
- padding: 10px 0;
-
- &:last-child {
- border-bottom: 0;
- }
-
- .account__display-name {
- display: flex;
- align-items: center;
- }
-
- .account__avatar {
- width: 44px;
- height: 44px;
- background-size: 44px 44px;
- }
- }
-}
-
-.box-widget {
- padding: 20px;
- border-radius: 4px;
- background: var(--background-color);
- box-shadow: 0 0 1px 1px rgba($base-shadow-color, 0.2);
-}
-
-.contact-widget,
-.landing-page__information.contact-widget {
- box-sizing: border-box;
- padding: 20px;
- min-height: 100%;
- border-radius: 4px;
- background: var(--brand-color--med);
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
-}
-
-.contact-widget {
- font-size: 15px;
- color: var(--primary-text-color--faint);
- line-height: 20px;
- word-wrap: break-word;
- font-weight: 400;
-
- strong {
- font-weight: 500;
- }
-
- p {
- margin-bottom: 10px;
-
- &:last-child {
- margin-bottom: 0;
- }
- }
-
- &__mail {
- margin-top: 10px;
-
- a {
- color: var(--primary-text-color);
- text-decoration: none;
- }
- }
-}
-
-.moved-account-widget {
- padding: 15px;
- padding-bottom: 20px;
- border-radius: 4px;
- background: var(--brand-color--med);
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
- color: var(--primary-text-color--faint);
- 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-right: 5px;
- color: var(--primary-text-color--faint);
- }
- }
-
- &__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: var(--primary-text-color--faint);
- margin-bottom: 10px;
-}
-
-.page-header {
- background: var(--brand-color--med);
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
- border-radius: 4px;
- padding: 60px 15px;
- text-align: center;
- margin: 10px 0;
-
- h1 {
- color: var(--primary-text-color);
- font-size: 36px;
- line-height: 1.1;
- font-weight: 700;
- margin-bottom: 10px;
- }
-
- p {
- font-size: 15px;
- color: var(--primary-text-color--faint);
- }
-
- @media screen and (max-width: $no-gap-breakpoint) {
- margin-top: 0;
- background: var(--brand-color--faint);
-
- h1 {
- font-size: 24px;
- }
- }
-}
-
-.directory {
- background: var(--brand-color--med);
- border-radius: 4px;
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
-
- &__tag {
- box-sizing: border-box;
- margin-bottom: 10px;
-
- & > a,
- & > div {
- display: flex;
- align-items: center;
- justify-content: space-between;
- background: var(--brand-color--med);
- border-radius: 4px;
- padding: 15px;
- text-decoration: none;
- color: inherit;
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
- }
-
- & > a {
- &:hover,
- &:active,
- &:focus {
- background: var(--brand-color--med);
- }
- }
-
- &.active > a {
- background: var(--brand-color);
- cursor: default;
- }
-
- &.disabled > div {
- opacity: 0.5;
- cursor: default;
- }
-
- h4 {
- flex: 1 1 auto;
- font-size: 18px;
- font-weight: 700;
- color: var(--primary-text-color);
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
-
- .fa {
- color: var(--primary-text-color--faint);
- }
-
- small {
- display: block;
- font-weight: 400;
- font-size: 15px;
- margin-top: 8px;
- color: var(--primary-text-color--faint);
- }
- }
-
- &.active h4 {
- &,
- .fa,
- small {
- color: var(--primary-text-color);
- }
- }
-
- .avatar-stack {
- flex: 0 0 auto;
- width: (36px + 4px) * 3;
- }
-
- &.active .avatar-stack .account__avatar {
- border-color: var(--brand-color);
- }
- }
-}
-
-.avatar-stack {
- display: flex;
- justify-content: flex-end;
-
- .account__avatar {
- flex: 0 0 auto;
- width: 36px;
- height: 36px;
- border-radius: 50%;
- position: relative;
- margin-left: -10px;
- background: var(--background-color);
- border: 2px solid var(--brand-color--med);
-
- &:nth-child(1) {
- z-index: 1;
- }
-
- &:nth-child(2) {
- z-index: 2;
- }
-
- &:nth-child(3) {
- z-index: 3;
- }
- }
-}
-
-.accounts-table {
- width: 100%;
-
- .account {
- padding: 0;
- border: 0;
- }
-
- strong {
- font-weight: 700;
- }
-
- thead th {
- text-align: center;
- text-transform: uppercase;
- color: var(--primary-text-color--faint);
- font-weight: 700;
- padding: 10px;
-
- &:first-child {
- text-align: left;
- }
- }
-
- tbody td {
- padding: 15px 0;
- vertical-align: middle;
- border-bottom: 1px solid var(--brand-color--med);
- }
-
- tbody tr:last-child td {
- border-bottom: 0;
- }
-
- &__count {
- width: 120px;
- text-align: center;
- font-size: 15px;
- font-weight: 500;
- color: var(--primary-text-color);
-
- small {
- display: block;
- color: var(--primary-text-color--faint);
- font-weight: 400;
- font-size: 14px;
- }
- }
-
- &__comment {
- width: 50%;
- vertical-align: initial !important;
- }
-
- @media screen and (max-width: $no-gap-breakpoint) {
- tbody td.optional {
- display: none;
- }
- }
-}
-
-.moved-account-widget,
-.memoriam-widget,
-.box-widget,
-.contact-widget,
-.landing-page__information.contact-widget,
-.directory,
-.page-header {
- @media screen and (max-width: $no-gap-breakpoint) {
- margin-bottom: 0;
- box-shadow: none;
- border-radius: 0;
- }
-}
-
-$maximum-width: 1235px;
-$fluid-breakpoint: $maximum-width + 20px;
-
-.statuses-grid {
- min-height: 600px;
-
- @media screen and (max-width: 640px) {
- width: 100% !important; // Masonry layout is unnecessary at this width
- }
-
- &__item {
- width: (960px - 20px) / 3;
-
- @media screen and (max-width: $fluid-breakpoint) {
- width: (940px - 20px) / 3;
- }
-
- @media screen and (max-width: 640px) {
- width: 100%;
- }
-
- @media screen and (max-width: $no-gap-breakpoint) {
- width: 100vw;
- }
- }
-
- .detailed-status {
- border-radius: 4px;
-
- @media screen and (max-width: $no-gap-breakpoint) {
- border-top: 1px solid var(--background-color);
- }
-
- &.compact {
- .detailed-status__meta {
- margin-top: 15px;
- }
-
- .status__content {
- font-size: 15px;
- line-height: 20px;
-
- .emojione {
- width: 20px;
- height: 20px;
- margin: -3px 0 0;
- }
-
- .status__content__spoiler-link {
- line-height: 20px;
- margin: 0;
- }
- }
-
- .media-gallery,
- .status-card,
- .video-player {
- margin-top: 15px;
- }
- }
- }
-}
-
-.notice-widget {
- margin-bottom: 10px;
- color: var(--primary-text-color--faint);
-
- p {
- margin-bottom: 10px;
-
- &:last-child {
- margin-bottom: 0;
- }
- }
-
- a {
- font-size: 14px;
- line-height: 20px;
- text-decoration: none;
- font-weight: 500;
- color: var(--brand-color);
-
- &:hover,
- &:focus,
- &:active {
- text-decoration: underline;
- }
- }
-}
diff --git a/babel.config.js b/babel.config.js
index 4f67cc36d..2f87116d0 100644
--- a/babel.config.js
+++ b/babel.config.js
@@ -17,7 +17,7 @@ module.exports = (api) => {
['@babel/proposal-object-rest-spread', { useBuiltIns: true }],
['@babel/proposal-decorators', { legacy: true }],
'@babel/proposal-class-properties',
- ['react-intl', { messagesDir: './build/messages/' }],
+ 'react-intl',
'preval',
],
'sourceType': 'unambiguous',
diff --git a/docs/administration/install-subdomain.md b/docs/administration/install-subdomain.md
index 3fe8707e4..baf8cb2c3 100644
--- a/docs/administration/install-subdomain.md
+++ b/docs/administration/install-subdomain.md
@@ -13,7 +13,7 @@ mkdir -p /opt/soapbox
Fetch the build.
```sh
-curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/v1.0.0/download?job=build-production -o /tmp/soapbox-fe.zip
+curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/v1.1.0/download?job=build-production -o /tmp/soapbox-fe.zip
```
Unzip the build.
diff --git a/docs/administration/install-yunohost.md b/docs/administration/install-yunohost.md
new file mode 100644
index 000000000..6f35c0fa9
--- /dev/null
+++ b/docs/administration/install-yunohost.md
@@ -0,0 +1,25 @@
+# Installing Soapbox FE via YunoHost
+
+If you want to install Soapbox FE to a Pleroma instance installed using [YunoHost](https://yunohost.org), you can do so by following these steps.
+
+## 1. Download the build
+
+First, download the latest build of Soapbox FE from GitLab.
+
+```sh
+curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/v1.1.0/download?job=build-production -o soapbox-fe.zip
+```
+
+## 2. Unzip the build
+
+Then, unzip the build to the Pleroma directory under YunoHost's directory:
+
+```sh
+busybox unzip soapbox-fe.zip -o -d /home/yunohost.app/pleroma/
+```
+
+**That's it! 🎉 Soapbox FE is installed.** The change will take effect immediately, just refresh your browser tab. It's not necessary to restart the Pleroma service.
+
+---
+
+Thank you to [@jeroen@social.franssen.xyz](https://social.franssen.xyz/@jeroen) for discovering this method.
diff --git a/docs/contributing.md b/docs/contributing.md
index 4f4749c3b..ba2fa09ac 100644
--- a/docs/contributing.md
+++ b/docs/contributing.md
@@ -37,3 +37,19 @@ It is recommended that you use the following guidelines to contribute to the Soa
Pull Request would represent. The versioning scheme we use is [SemVer](http://semver.org/).
4. You may merge the Pull Request in once you have the sign-off of two other developers, or if you
do not have permission to do that, you may request the second reviewer to merge it for you.
+
+## Text Editor Tools
+
+If you're using a text editor like [Atom](https://atom.io/) or [Visual Studio Code](https://code.visualstudio.com/), you can install tools to help you get linter feedback while you write code for the Soapbox project.
+
+For Atom, you can install the following packages:
+
+* [linter](https://atom.io/packages/linter)
+* [linter-ui-default](https://atom.io/packages/linter-ui-default)
+* [linter-eslint](https://atom.io/packages/linter-eslint)
+* [linter-stylelint](https://atom.io/packages/linter-stylelint)
+
+For Visual Studio Code, you can install the following extensions:
+
+* [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
+* [vscode-stylelint](https://marketplace.visualstudio.com/items?itemName=stylelint.vscode-stylelint)
diff --git a/docs/installing.md b/docs/installing.md
index 9537f51e4..428c1e39b 100644
--- a/docs/installing.md
+++ b/docs/installing.md
@@ -13,7 +13,7 @@ First, follow the instructions to [install Pleroma](https://docs-develop.pleroma
The Soapbox frontend is the main component of Soapbox. Once you've installed Pleroma, installing Soapbox FE is a breeze.
-First, ssh into the server and download a .zip of the latest build: ``curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/v1.0.0/download?job=build-production -o soapbox-fe.zip``
+First, ssh into the server and download a .zip of the latest build: ``curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/v1.1.0/download?job=build-production -o soapbox-fe.zip``
Then unpack it into Pleroma's ``instance`` directory: ``busybox unzip soapbox-fe.zip -o -d /opt/pleroma/instance``
diff --git a/package.json b/package.json
index e79c4356c..3701f7718 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "soapbox-fe",
- "version": "1.0.0",
+ "version": "1.1.0",
"description": "Soapbox frontend for Pleroma.",
"homepage": "https://soapbox.pub/",
"repository": {
@@ -22,7 +22,7 @@
"test": "${npm_execpath} run test:lint && ${npm_execpath} run test:jest",
"test:lint": "${npm_execpath} run test:lint:js && ${npm_execpath} run test:lint:sass",
"test:lint:js": "npx eslint --ext=js . --cache",
- "test:lint:sass": "npx sass-lint -v",
+ "test:lint:sass": "npx stylelint app/styles/**.scss app/styles/**/*.scss",
"test:jest": "npx jest --coverage"
},
"license": "AGPL-3.0-or-later",
@@ -45,127 +45,119 @@
"@babel/preset-env": "^7.3.4",
"@babel/preset-react": "^7.0.0",
"@babel/runtime": "^7.3.4",
- "@clusterws/cws": "^0.16.0",
+ "@popperjs/core": "^2.4.4",
"array-includes": "^3.0.3",
- "autoprefixer": "^9.5.1",
- "axios": "^0.19.0",
+ "autoprefixer": "^10.0.0",
+ "axios": "^0.21.0",
"babel-loader": "^8.0.5",
"babel-plugin-lodash": "^3.3.4",
- "babel-plugin-preval": "^4.0.0",
- "babel-plugin-react-intl": "^7.5.20",
+ "babel-plugin-preval": "^5.0.0",
+ "babel-plugin-react-intl": "^8.0.0",
"babel-plugin-transform-react-remove-prop-types": "^0.4.24",
"babel-runtime": "^6.26.0",
"blurhash": "^1.0.0",
- "chromatism": "^3.0.0",
"classnames": "^2.2.5",
- "compression-webpack-plugin": "^3.0.0",
- "cross-env": "^6.0.0",
- "css-loader": "^3.0.0",
+ "compression-webpack-plugin": "^6.0.2",
+ "css-loader": "^4.3.0",
"cssnano": "^4.1.10",
- "detect-passive-events": "^1.0.2",
+ "detect-passive-events": "^2.0.0",
"dotenv": "^8.0.0",
- "emoji-mart": "Gargron/emoji-mart#build",
+ "emoji-mart": "https://gitlab.com/seanking2919/emoji-mart#build",
"es6-symbol": "^3.1.1",
"escape-html": "^1.0.3",
"exif-js": "^2.3.0",
- "express": "^4.17.1",
- "file-loader": "^4.0.0",
+ "file-loader": "^6.0.0",
+ "fontsource-montserrat": "^3.0.9",
+ "fontsource-roboto": "^3.0.3",
"fork-awesome": "^1.1.7",
- "glob": "^7.1.1",
"html-webpack-harddisk-plugin": "^1.0.1",
"html-webpack-plugin": "^4.3.0",
"http-link-header": "^1.0.2",
"immutable": "^4.0.0-rc.12",
- "imports-loader": "^0.8.0",
- "intersection-observer": "^0.7.0",
+ "imports-loader": "^1.0.0",
+ "intersection-observer": "^0.11.0",
"intl": "^1.2.5",
- "intl-messageformat": "^7.0.0",
- "intl-messageformat-parser": "^3.2.1",
+ "intl-messageformat": "^9.0.0",
+ "intl-messageformat-parser": "^6.0.0",
"intl-pluralrules": "^1.1.1",
"is-nan": "^1.2.1",
- "js-yaml": "^3.13.1",
"lodash": "^4.7.11",
"mark-loader": "^0.1.6",
"marky": "^1.2.1",
- "mini-css-extract-plugin": "^0.8.0",
- "mkdirp": "^0.5.1",
- "npmlog": "^4.1.2",
+ "mini-css-extract-plugin": "^1.0.0",
"object-assign": "^4.1.1",
"object-fit-images": "^3.2.3",
"object.values": "^1.1.0",
"offline-plugin": "^5.0.7",
- "path-complete-extname": "^1.0.0",
- "pg": "^7.0.0",
- "postcss-loader": "^3.0.0",
+ "postcss": "^8.1.1",
+ "postcss-loader": "^4.0.3",
"postcss-object-fit-images": "^1.1.2",
"prop-types": "^15.5.10",
"punycode": "^2.1.0",
"qrcode.react": "^1.0.0",
- "rails-ujs": "^5.2.3",
"react": "^16.13.1",
"react-color": "^2.18.1",
"react-dom": "^16.13.1",
"react-helmet": "^6.0.0",
"react-hotkeys": "^1.1.4",
"react-immutable-proptypes": "^2.1.0",
- "react-immutable-pure-component": "^1.1.1",
- "react-intl": "^4.6.6",
- "react-masonry-infinite": "^1.2.2",
+ "react-immutable-pure-component": "^2.0.0",
+ "react-intl": "^5.0.0",
"react-motion": "^0.5.2",
"react-notification": "^6.8.4",
- "react-overlays": "^0.8.3",
- "react-redux": "^6.0.1",
- "react-redux-loading-bar": "^4.5.0",
+ "react-overlays": "^0.9.0",
+ "react-popper": "^2.2.3",
+ "react-redux": "^7.2.1",
+ "react-redux-loading-bar": "^5.0.0",
"react-router-dom": "^4.1.1",
"react-router-scroll-4": "^1.0.0-beta.1",
- "react-select": "^2.4.4",
"react-sparklines": "^1.7.0",
"react-swipeable-views": "^0.13.0",
- "react-textarea-autosize": "^7.1.0",
+ "react-textarea-autosize": "^8.0.0",
"react-toggle": "^4.0.1",
- "redis": "^2.7.1",
- "redux": "^4.0.1",
+ "redux": "^4.0.5",
"redux-immutable": "^4.0.0",
"redux-thunk": "^2.2.0",
- "rellax": "^1.7.1",
"requestidlecallback": "^0.3.0",
"reselect": "^4.0.0",
- "rimraf": "^3.0.0",
"sass": "^1.20.3",
- "sass-loader": "^8.0.0",
+ "sass-loader": "^10.0.0",
"semver": "^7.3.2",
"stringz": "^2.0.0",
"substring-trie": "^1.0.2",
- "throng": "^4.0.0",
"tiny-queue": "^0.2.1",
- "uglifyjs-webpack-plugin": "^2.1.2",
- "uuid": "^3.1.0",
+ "ts-jest": "^26.4.1",
+ "typescript": "^4.0.3",
+ "uglifyjs-webpack-plugin": "^2.2.0",
+ "uuid": "^8.0.0",
"webpack": "^4.41.2",
"webpack-assets-manifest": "^3.1.1",
- "webpack-bundle-analyzer": "^3.1.0",
+ "webpack-bundle-analyzer": "^4.0.0",
"webpack-cli": "^3.3.2",
- "webpack-merge": "^4.2.1",
+ "webpack-merge": "^5.2.0",
"websocket.js": "^0.1.12"
},
"devDependencies": {
"axios-mock-adapter": "^1.18.1",
"babel-eslint": "^10.1.0",
- "babel-jest": "^24.8.0",
+ "babel-jest": "^26.5.2",
"enzyme": "^3.8.0",
"enzyme-adapter-react-16": "^1.7.1",
- "eslint": "^6.0.0",
- "eslint-plugin-import": "~2.19.0",
- "eslint-plugin-jsx-a11y": "~6.2.3",
+ "eslint": "^7.0.0",
+ "eslint-plugin-import": "~2.22.0",
+ "eslint-plugin-jsx-a11y": "~6.4.0",
"eslint-plugin-promise": "~4.2.0",
- "eslint-plugin-react": "~7.17.0",
+ "eslint-plugin-react": "~7.21.0",
"eslint-plugin-react-hooks": "^4.0.4",
"jest": "^26.0.1",
"raf": "^3.4.1",
"react-intl-translations-manager": "^5.0.3",
"react-test-renderer": "^16.13.1",
"redux-mock-store": "^1.5.4",
- "sass-lint": "^1.13.1",
+ "stylelint": "^13.7.2",
+ "stylelint-config-standard": "^20.0.0",
+ "stylelint-scss": "^3.18.0",
"webpack-dev-server": "^3.5.1",
- "yargs": "^15.0.0"
+ "yargs": "^16.0.3"
}
}
diff --git a/renovate.json b/renovate.json
new file mode 100644
index 000000000..63026e46b
--- /dev/null
+++ b/renovate.json
@@ -0,0 +1,7 @@
+{
+ "extends": [
+ "config:base",
+ ":preserveSemverRanges",
+ ":githubComToken(fJRNKBmV/ypoAx23PI8I+uTGJ22iSA6DERwiz1WGtXHC/imZV0mOyLfNOfVznOq3QbU9FTbuilgq3XfRQzRVMXx2eTe3ZkzzdH3loqfr2m/mt+9/PQygfkcAOJCQ4BE5Mlhfzxt9miBeG9jvm546oBXNjP39W+j4cdOnppBSMrhh2iofEOjXR41GCPDxCcdnr7RGDtWUCtrIYGyoJm2ypUrkRTUFexVAJy8Q7knX2ACZfzP9j+Uol22SEsU/WRZkvIEp60TqPlgvCFld7LECk2BYnDz9qTcSKF1GhfAsgGleSog9Tyfxow+rH1tB4cMxI5qZP0DTmAf+8fNYSgiKDA==)"
+ ]
+}
diff --git a/static/sounds/chat.mp3 b/static/sounds/chat.mp3
new file mode 100644
index 000000000..c86114292
Binary files /dev/null and b/static/sounds/chat.mp3 differ
diff --git a/static/sounds/chat.oga b/static/sounds/chat.oga
new file mode 100644
index 000000000..76d4bda7a
Binary files /dev/null and b/static/sounds/chat.oga differ
diff --git a/webpack/config/webpacker.yml b/webpack/config/webpacker.yml
deleted file mode 100644
index 6190d7184..000000000
--- a/webpack/config/webpacker.yml
+++ /dev/null
@@ -1,91 +0,0 @@
-# Note: You must restart bin/webpack-dev-server for changes to take effect
-
-default: &default
- source_path: app
- public_root_path: static
- public_output_path: packs
- cache_path: tmp/cache/webpacker
- check_yarn_integrity: false
- webpack_compile_output: false
-
- # Additional paths webpack should lookup modules
- # ['app/assets', 'engine/foo/app/assets']
- resolved_paths: []
-
- # Reload manifest.json on all requests so we reload latest compiled packs
- cache_manifest: false
-
- # Extract and emit a css file
- extract_css: true
-
- static_assets_extensions:
- - .jpg
- - .jpeg
- - .png
- - .tiff
- - .ico
- - .svg
- - .gif
- - .eot
- - .otf
- - .ttf
- - .woff
- - .woff2
-
- extensions:
- - .mjs
- - .js
- - .sass
- - .scss
- - .css
- - .module.sass
- - .module.scss
- - .module.css
- - .png
- - .svg
- - .gif
- - .jpeg
- - .jpg
-
-development:
- <<: *default
-
- compile: true
-
- # Reference: https://webpack.js.org/configuration/dev-server/
- dev_server:
- https: false
- host: localhost
- port: 3036
- public: localhost:3036
- hmr: false
- # Inline should be set to true if using HMR
- inline: true
- overlay: true
- compress: true
- disable_host_check: true
- use_local_ip: false
- quiet: false
- headers:
- 'Access-Control-Allow-Origin': '*'
- watch_options:
- ignored: '**/node_modules/**'
-
-test:
- <<: *default
-
- # CircleCI precompiles packs prior to running the tests.
- # Also avoids race conditions in parallel_tests.
- compile: false
-
- # Compile test packs to a separate directory
- public_output_path: packs-test
-
-production:
- <<: *default
-
- # Production depends on precompilation of packs prior to booting for performance.
- compile: false
-
- # Cache manifest.json for performance
- cache_manifest: true
diff --git a/webpack/configuration.js b/webpack/configuration.js
index 703119e3a..5aa818993 100644
--- a/webpack/configuration.js
+++ b/webpack/configuration.js
@@ -1,17 +1,28 @@
-// Common configuration for webpacker loaded from config/webpacker.yml
-
const { join } = require('path');
const { env } = require('process');
-const { safeLoad } = require('js-yaml');
-const { readFileSync } = require('fs');
-const configPath = join(__dirname, 'config', 'webpacker.yml');
-const settings = safeLoad(readFileSync(configPath), 'utf8')[env.NODE_ENV];
+const settings = {
+ source_path: 'app',
+ public_root_path: 'static',
+ public_output_path: getPublicOutputPath(),
+ cache_path: 'tmp/cache/webpacker',
+ resolved_paths: [],
+ static_assets_extensions: [ '.jpg', '.jpeg', '.png', '.tiff', '.ico', '.svg', '.gif', '.eot', '.otf', '.ttf', '.woff', '.woff2' ],
+ extensions: [ '.mjs', '.js', '.sass', '.scss', '.css', '.module.sass', '.module.scss', '.module.css', '.png', '.svg', '.gif', '.jpeg', '.jpg' ],
+};
function removeOuterSlashes(string) {
return string.replace(/^\/*/, '').replace(/\/*$/, '');
}
+function getPublicOutputPath() {
+ if (env.NODE_ENV === 'test') {
+ return 'packs-test';
+ }
+
+ return 'packs';
+}
+
function formatPublicPath(host = '', path = '') {
let formattedHost = removeOuterSlashes(host);
if (formattedHost && !/^http/i.test(formattedHost)) {
diff --git a/webpack/development.js b/webpack/development.js
index ef26e0168..7fbde09c7 100644
--- a/webpack/development.js
+++ b/webpack/development.js
@@ -2,7 +2,7 @@
console.log('Running in development mode'); // eslint-disable-line no-console
const { resolve } = require('path');
-const merge = require('webpack-merge');
+const { merge } = require('webpack-merge');
const sharedConfig = require('./shared');
const { settings, output } = require('./configuration');
@@ -65,23 +65,25 @@ module.exports = merge(sharedConfig, {
devServer: {
clientLogLevel: 'none',
- compress: settings.dev_server.compress,
- quiet: settings.dev_server.quiet,
- disableHostCheck: settings.dev_server.disable_host_check,
- host: settings.dev_server.host,
- port: settings.dev_server.port,
- https: settings.dev_server.https,
- hot: settings.dev_server.hmr,
+ compress: true,
+ quiet: false,
+ disableHostCheck: true,
+ host: 'localhost',
+ port: 3036,
+ https: false,
+ hot: false,
contentBase: resolve(__dirname, '..', settings.public_root_path),
- inline: settings.dev_server.inline,
- useLocalIp: settings.dev_server.use_local_ip,
- public: settings.dev_server.public,
+ inline: true,
+ useLocalIp: false,
+ public: 'localhost:3036',
publicPath: output.publicPath,
historyApiFallback: {
disableDotRule: true,
},
- headers: settings.dev_server.headers,
- overlay: settings.dev_server.overlay,
+ headers: {
+ 'Access-Control-Allow-Origin': '*',
+ },
+ overlay: true,
stats: {
entrypoints: false,
errorDetails: false,
@@ -90,8 +92,8 @@ module.exports = merge(sharedConfig, {
},
watchOptions: Object.assign(
{},
- settings.dev_server.watch_options,
- watchOptions
+ { ignored: '**/node_modules/**' },
+ watchOptions,
),
serveIndex: true,
proxy: makeProxyConfig(),
diff --git a/webpack/production.js b/webpack/production.js
index a788e7884..808b754c7 100644
--- a/webpack/production.js
+++ b/webpack/production.js
@@ -1,8 +1,7 @@
// Note: You must restart bin/webpack-dev-server for changes to take effect
console.log('Running in production mode'); // eslint-disable-line no-console
-const { URL } = require('url');
-const merge = require('webpack-merge');
+const { merge } = require('webpack-merge');
const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer');
const OfflinePlugin = require('offline-plugin');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
@@ -10,22 +9,6 @@ const CompressionPlugin = require('compression-webpack-plugin');
const { output } = require('./configuration');
const sharedConfig = require('./shared');
-// eslint-disable-next-line no-unused-vars
-let attachmentHost;
-
-if (process.env.S3_ENABLED === 'true') {
- if (process.env.S3_ALIAS_HOST || process.env.S3_CLOUDFRONT_HOST) {
- attachmentHost = process.env.S3_ALIAS_HOST || process.env.S3_CLOUDFRONT_HOST;
- } else {
- attachmentHost = process.env.S3_HOSTNAME || `s3-${process.env.S3_REGION || 'us-east-1'}.amazonaws.com`;
- }
-} else if (process.env.SWIFT_ENABLED === 'true') {
- const { host } = new URL(process.env.SWIFT_OBJECT_URL);
- attachmentHost = host;
-} else {
- attachmentHost = null;
-}
-
module.exports = merge(sharedConfig, {
mode: 'production',
devtool: 'source-map',
@@ -40,9 +23,7 @@ module.exports = merge(sharedConfig, {
sourceMap: true,
uglifyOptions: {
- compress: {
- warnings: false,
- },
+ warnings: false,
output: {
comments: false,
@@ -54,8 +35,6 @@ module.exports = merge(sharedConfig, {
plugins: [
new CompressionPlugin({
- filename: '[path].gz[query]',
- cache: true,
test: /\.(js|css|html|json|ico|svg|eot|otf|ttf|map)$/,
}),
new BundleAnalyzerPlugin({ // generates report.html
diff --git a/webpack/shared.js b/webpack/shared.js
index 7f6da74e9..f59e28c2b 100644
--- a/webpack/shared.js
+++ b/webpack/shared.js
@@ -12,7 +12,7 @@ const rules = require('./rules');
module.exports = {
entry: Object.assign(
{ application: resolve('app/application.js') },
- { styles: resolve(join(settings.source_path, 'styles/application.scss')) }
+ { styles: resolve(join(settings.source_path, 'styles/application.scss')) },
),
output: {
@@ -54,7 +54,7 @@ module.exports = {
// temporary fix for https://github.com/ReactTraining/react-router/issues/5576
// to reduce bundle size
resource.request = resource.request.replace(/^history/, 'history/es');
- }
+ },
),
new MiniCssExtractPlugin({
filename: 'css/[name]-[contenthash:8].css',
diff --git a/webpack/test.js b/webpack/test.js
index e4dedac44..4f26755aa 100644
--- a/webpack/test.js
+++ b/webpack/test.js
@@ -1,7 +1,7 @@
// Note: You must restart bin/webpack-dev-server for changes to take effect
console.log('Running in test mode'); // eslint-disable-line no-console
-const merge = require('webpack-merge');
+const { merge } = require('webpack-merge');
const sharedConfig = require('./shared.js');
module.exports = merge(sharedConfig, {
diff --git a/yarn.lock b/yarn.lock
index 561257434..d85fb875a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -16,6 +16,35 @@
dependencies:
"@babel/highlight" "^7.10.1"
+"@babel/code-frame@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
+ integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
+ dependencies:
+ "@babel/highlight" "^7.10.4"
+
+"@babel/core@>=7.9.0":
+ version "7.11.6"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.6.tgz#3a9455dc7387ff1bac45770650bc13ba04a15651"
+ integrity sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg==
+ dependencies:
+ "@babel/code-frame" "^7.10.4"
+ "@babel/generator" "^7.11.6"
+ "@babel/helper-module-transforms" "^7.11.0"
+ "@babel/helpers" "^7.10.4"
+ "@babel/parser" "^7.11.5"
+ "@babel/template" "^7.10.4"
+ "@babel/traverse" "^7.11.5"
+ "@babel/types" "^7.11.5"
+ convert-source-map "^1.7.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.1"
+ json5 "^2.1.2"
+ lodash "^4.17.19"
+ resolve "^1.3.2"
+ semver "^5.4.1"
+ source-map "^0.5.0"
+
"@babel/core@^7.1.0", "@babel/core@^7.3.4":
version "7.3.4"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.3.4.tgz#921a5a13746c21e32445bf0798680e9d11a6530b"
@@ -58,17 +87,6 @@
semver "^5.4.1"
source-map "^0.5.0"
-"@babel/generator@^7.0.0", "@babel/generator@^7.3.4":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.3.4.tgz#9aa48c1989257877a9d971296e5b73bfe72e446e"
- integrity sha512-8EXhHRFqlVVWXPezBW5keTiQi/rJMQTg/Y9uVCEZ0CAF3PKtCCaVRnp64Ii1ujhkoDhhF1fVsImoN4yJ2uz4Wg==
- dependencies:
- "@babel/types" "^7.3.4"
- jsesc "^2.5.1"
- lodash "^4.17.11"
- source-map "^0.5.0"
- trim-right "^1.0.1"
-
"@babel/generator@^7.10.1", "@babel/generator@^7.10.2":
version "7.10.2"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.2.tgz#0fa5b5b2389db8bfdfcc3492b551ee20f5dd69a9"
@@ -79,6 +97,15 @@
lodash "^4.17.13"
source-map "^0.5.0"
+"@babel/generator@^7.11.5", "@babel/generator@^7.11.6":
+ version "7.11.6"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.6.tgz#b868900f81b163b4d464ea24545c61cbac4dc620"
+ integrity sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==
+ dependencies:
+ "@babel/types" "^7.11.5"
+ jsesc "^2.5.1"
+ source-map "^0.5.0"
+
"@babel/generator@^7.2.2":
version "7.2.2"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.2.2.tgz#18c816c70962640eab42fe8cae5f3947a5c65ccc"
@@ -90,6 +117,17 @@
source-map "^0.5.0"
trim-right "^1.0.1"
+"@babel/generator@^7.3.4":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.3.4.tgz#9aa48c1989257877a9d971296e5b73bfe72e446e"
+ integrity sha512-8EXhHRFqlVVWXPezBW5keTiQi/rJMQTg/Y9uVCEZ0CAF3PKtCCaVRnp64Ii1ujhkoDhhF1fVsImoN4yJ2uz4Wg==
+ dependencies:
+ "@babel/types" "^7.3.4"
+ jsesc "^2.5.1"
+ lodash "^4.17.11"
+ source-map "^0.5.0"
+ trim-right "^1.0.1"
+
"@babel/generator@^7.9.5":
version "7.9.5"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.5.tgz#27f0917741acc41e6eaaced6d68f96c3fa9afaf9"
@@ -179,6 +217,15 @@
"@babel/template" "^7.10.1"
"@babel/types" "^7.10.1"
+"@babel/helper-function-name@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a"
+ integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==
+ dependencies:
+ "@babel/helper-get-function-arity" "^7.10.4"
+ "@babel/template" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
"@babel/helper-function-name@^7.9.5":
version "7.9.5"
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c"
@@ -202,6 +249,13 @@
dependencies:
"@babel/types" "^7.10.1"
+"@babel/helper-get-function-arity@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2"
+ integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==
+ dependencies:
+ "@babel/types" "^7.10.4"
+
"@babel/helper-get-function-arity@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5"
@@ -230,6 +284,13 @@
dependencies:
"@babel/types" "^7.10.1"
+"@babel/helper-member-expression-to-functions@^7.10.4":
+ version "7.11.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df"
+ integrity sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==
+ dependencies:
+ "@babel/types" "^7.11.0"
+
"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.0.0-beta.49":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d"
@@ -244,6 +305,13 @@
dependencies:
"@babel/types" "^7.10.1"
+"@babel/helper-module-imports@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620"
+ integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==
+ dependencies:
+ "@babel/types" "^7.10.4"
+
"@babel/helper-module-transforms@^7.1.0":
version "7.2.2"
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz#ab2f8e8d231409f8370c883d20c335190284b963"
@@ -269,6 +337,19 @@
"@babel/types" "^7.10.1"
lodash "^4.17.13"
+"@babel/helper-module-transforms@^7.11.0":
+ version "7.11.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359"
+ integrity sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==
+ dependencies:
+ "@babel/helper-module-imports" "^7.10.4"
+ "@babel/helper-replace-supers" "^7.10.4"
+ "@babel/helper-simple-access" "^7.10.4"
+ "@babel/helper-split-export-declaration" "^7.11.0"
+ "@babel/template" "^7.10.4"
+ "@babel/types" "^7.11.0"
+ lodash "^4.17.19"
+
"@babel/helper-optimise-call-expression@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5"
@@ -283,6 +364,13 @@
dependencies:
"@babel/types" "^7.10.1"
+"@babel/helper-optimise-call-expression@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673"
+ integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==
+ dependencies:
+ "@babel/types" "^7.10.4"
+
"@babel/helper-plugin-utils@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250"
@@ -293,6 +381,11 @@
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.1.tgz#ec5a5cf0eec925b66c60580328b122c01230a127"
integrity sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA==
+"@babel/helper-plugin-utils@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375"
+ integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==
+
"@babel/helper-regex@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0.tgz#2c1718923b57f9bbe64705ffe5640ac64d9bdb27"
@@ -331,6 +424,16 @@
"@babel/traverse" "^7.10.1"
"@babel/types" "^7.10.1"
+"@babel/helper-replace-supers@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf"
+ integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==
+ dependencies:
+ "@babel/helper-member-expression-to-functions" "^7.10.4"
+ "@babel/helper-optimise-call-expression" "^7.10.4"
+ "@babel/traverse" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
"@babel/helper-replace-supers@^7.3.4":
version "7.3.4"
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.3.4.tgz#a795208e9b911a6eeb08e5891faacf06e7013e13"
@@ -357,6 +460,14 @@
"@babel/template" "^7.10.1"
"@babel/types" "^7.10.1"
+"@babel/helper-simple-access@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461"
+ integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==
+ dependencies:
+ "@babel/template" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
"@babel/helper-split-export-declaration@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813"
@@ -371,6 +482,13 @@
dependencies:
"@babel/types" "^7.10.1"
+"@babel/helper-split-export-declaration@^7.11.0":
+ version "7.11.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f"
+ integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==
+ dependencies:
+ "@babel/types" "^7.11.0"
+
"@babel/helper-split-export-declaration@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9"
@@ -383,6 +501,11 @@
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz#5770b0c1a826c4f53f5ede5e153163e0318e94b5"
integrity sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw==
+"@babel/helper-validator-identifier@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2"
+ integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==
+
"@babel/helper-validator-identifier@^7.9.0", "@babel/helper-validator-identifier@^7.9.5":
version "7.9.5"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80"
@@ -407,6 +530,15 @@
"@babel/traverse" "^7.10.1"
"@babel/types" "^7.10.1"
+"@babel/helpers@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044"
+ integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==
+ dependencies:
+ "@babel/template" "^7.10.4"
+ "@babel/traverse" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
"@babel/helpers@^7.2.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.2.0.tgz#8335f3140f3144270dc63c4732a4f8b0a50b7a21"
@@ -425,6 +557,15 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
+"@babel/highlight@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143"
+ integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.10.4"
+ chalk "^2.0.0"
+ js-tokens "^4.0.0"
+
"@babel/highlight@^7.8.3":
version "7.9.0"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079"
@@ -434,11 +575,6 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.0.0", "@babel/parser@^7.2.2", "@babel/parser@^7.2.3":
- version "7.2.3"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.2.3.tgz#32f5df65744b70888d17872ec106b02434ba1489"
- integrity sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==
-
"@babel/parser@^7.1.0", "@babel/parser@^7.3.4":
version "7.3.4"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.3.4.tgz#a43357e4bbf4b92a437fb9e465c192848287f27c"
@@ -449,6 +585,16 @@
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.2.tgz#871807f10442b92ff97e4783b9b54f6a0ca812d0"
integrity sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==
+"@babel/parser@^7.10.4", "@babel/parser@^7.11.5":
+ version "7.11.5"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037"
+ integrity sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==
+
+"@babel/parser@^7.2.2", "@babel/parser@^7.2.3":
+ version "7.2.3"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.2.3.tgz#32f5df65744b70888d17872ec106b02434ba1489"
+ integrity sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==
+
"@babel/parser@^7.7.0", "@babel/parser@^7.8.6", "@babel/parser@^7.9.0":
version "7.9.4"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8"
@@ -555,6 +701,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
+"@babel/plugin-syntax-import-meta@^7.8.3":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51"
+ integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
"@babel/plugin-syntax-json-strings@^7.2.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470"
@@ -597,7 +750,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.1"
-"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.2.0":
+"@babel/plugin-syntax-object-rest-spread@^7.2.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e"
integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==
@@ -964,6 +1117,14 @@
"@babel/plugin-transform-react-jsx-self" "^7.0.0"
"@babel/plugin-transform-react-jsx-source" "^7.0.0"
+"@babel/runtime-corejs3@^7.10.2":
+ version "7.11.2"
+ resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.11.2.tgz#02c3029743150188edeb66541195f54600278419"
+ integrity sha512-qh5IR+8VgFz83VBa6OkaET6uN/mJOhHONuy3m1sgF0CV6mXdPSEBdA7e1eUbVvyNtANjMbg22JUv71BaDXLY6A==
+ dependencies:
+ core-js-pure "^3.0.0"
+ regenerator-runtime "^0.13.4"
+
"@babel/runtime@7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0.tgz#adeb78fedfc855aa05bc041640f3f6f98e85424c"
@@ -978,19 +1139,26 @@
dependencies:
regenerator-runtime "^0.12.0"
-"@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.2":
+"@babel/runtime@^7.1.2", "@babel/runtime@^7.3.4":
version "7.4.5"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.5.tgz#582bb531f5f9dc67d2fcb682979894f75e253f12"
integrity sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==
dependencies:
regenerator-runtime "^0.13.2"
-"@babel/runtime@^7.4.5":
- version "7.6.3"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.3.tgz#935122c74c73d2240cafd32ddb5fc2a6cd35cf1f"
- integrity sha512-kq6anf9JGjW8Nt5rYfEuGRaEAaH1mkv3Bbu6rYvLOpPh/RusSJXuKPEAoZ7L7gybZkchE8+NV5g9vKF4AGAtsA==
+"@babel/runtime@^7.10.2", "@babel/runtime@^7.5.5", "@babel/runtime@^7.9.2":
+ version "7.11.2"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736"
+ integrity sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==
dependencies:
- regenerator-runtime "^0.13.2"
+ regenerator-runtime "^0.13.4"
+
+"@babel/runtime@^7.11.2":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740"
+ integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==
+ dependencies:
+ regenerator-runtime "^0.13.4"
"@babel/runtime@^7.7.2":
version "7.7.2"
@@ -999,7 +1167,7 @@
dependencies:
regenerator-runtime "^0.13.2"
-"@babel/template@^7.0.0", "@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2":
+"@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2":
version "7.2.2"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907"
integrity sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==
@@ -1017,6 +1185,15 @@
"@babel/parser" "^7.10.1"
"@babel/types" "^7.10.1"
+"@babel/template@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278"
+ integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==
+ dependencies:
+ "@babel/code-frame" "^7.10.4"
+ "@babel/parser" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
"@babel/template@^7.8.3":
version "7.8.6"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b"
@@ -1026,7 +1203,7 @@
"@babel/parser" "^7.8.6"
"@babel/types" "^7.8.6"
-"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.1.5", "@babel/traverse@^7.2.3":
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.1.5", "@babel/traverse@^7.2.3":
version "7.2.3"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.2.3.tgz#7ff50cefa9c7c0bd2d81231fdac122f3957748d8"
integrity sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==
@@ -1056,6 +1233,21 @@
globals "^11.1.0"
lodash "^4.17.13"
+"@babel/traverse@^7.10.4", "@babel/traverse@^7.11.5":
+ version "7.11.5"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.5.tgz#be777b93b518eb6d76ee2e1ea1d143daa11e61c3"
+ integrity sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==
+ dependencies:
+ "@babel/code-frame" "^7.10.4"
+ "@babel/generator" "^7.11.5"
+ "@babel/helper-function-name" "^7.10.4"
+ "@babel/helper-split-export-declaration" "^7.11.0"
+ "@babel/parser" "^7.11.5"
+ "@babel/types" "^7.11.5"
+ debug "^4.1.0"
+ globals "^11.1.0"
+ lodash "^4.17.19"
+
"@babel/traverse@^7.3.4":
version "7.3.4"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.3.4.tgz#1330aab72234f8dea091b08c4f8b9d05c7119e06"
@@ -1104,6 +1296,15 @@
lodash "^4.17.13"
to-fast-properties "^2.0.0"
+"@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.11.5":
+ version "7.11.5"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d"
+ integrity sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.10.4"
+ lodash "^4.17.19"
+ to-fast-properties "^2.0.0"
+
"@babel/types@^7.3.0", "@babel/types@^7.3.4":
version "7.3.4"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.3.4.tgz#bf482eaeaffb367a28abbf9357a94963235d90ed"
@@ -1127,11 +1328,6 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
-"@clusterws/cws@^0.16.0":
- version "0.16.0"
- resolved "https://registry.yarnpkg.com/@clusterws/cws/-/cws-0.16.0.tgz#f6116cbf3a8b7ad0657916616ce5f8248746b797"
- integrity sha512-YeGpAPIdkBsOnAkmFKVMWEjCKDH900U2if0B+nc1imfv+64AIb2JX2xiTA6BLDLppEgWV5c6bpWESjbHCNblHw==
-
"@cnakazawa/watch@^1.0.3":
version "1.0.3"
resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef"
@@ -1140,94 +1336,75 @@
exec-sh "^0.3.2"
minimist "^1.2.0"
-"@emotion/babel-utils@^0.6.4":
- version "0.6.10"
- resolved "https://registry.yarnpkg.com/@emotion/babel-utils/-/babel-utils-0.6.10.tgz#83dbf3dfa933fae9fc566e54fbb45f14674c6ccc"
- integrity sha512-/fnkM/LTEp3jKe++T0KyTszVGWNKPNOUJfjNKLO17BzQ6QPxgbg3whayom1Qr2oLFH3V92tDymU+dT5q676uow==
+"@eslint/eslintrc@^0.1.3":
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.1.3.tgz#7d1a2b2358552cc04834c0979bd4275362e37085"
+ integrity sha512-4YVwPkANLeNtRjMekzux1ci8hIaH5eGKktGqR0d3LWsKNn5B2X/1Z6Trxy7jQXl9EBGE6Yj02O+t09FMeRllaA==
dependencies:
- "@emotion/hash" "^0.6.6"
- "@emotion/memoize" "^0.6.6"
- "@emotion/serialize" "^0.9.1"
- convert-source-map "^1.5.1"
- find-root "^1.1.0"
- source-map "^0.7.2"
+ ajv "^6.12.4"
+ debug "^4.1.1"
+ espree "^7.3.0"
+ globals "^12.1.0"
+ ignore "^4.0.6"
+ import-fresh "^3.2.1"
+ js-yaml "^3.13.1"
+ lodash "^4.17.19"
+ minimatch "^3.0.4"
+ strip-json-comments "^3.1.1"
-"@emotion/hash@^0.6.2", "@emotion/hash@^0.6.6":
- version "0.6.6"
- resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.6.6.tgz#62266c5f0eac6941fece302abad69f2ee7e25e44"
- integrity sha512-ojhgxzUHZ7am3D2jHkMzPpsBAiB005GF5YU4ea+8DNPybMk01JJUM9V9YRlF/GE95tcOm8DxQvWA2jq19bGalQ==
-
-"@emotion/memoize@^0.6.1", "@emotion/memoize@^0.6.6":
- version "0.6.6"
- resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.6.6.tgz#004b98298d04c7ca3b4f50ca2035d4f60d2eed1b"
- integrity sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ==
-
-"@emotion/serialize@^0.9.1":
- version "0.9.1"
- resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.9.1.tgz#a494982a6920730dba6303eb018220a2b629c145"
- integrity sha512-zTuAFtyPvCctHBEL8KZ5lJuwBanGSutFEncqLn/m9T1a6a93smBStK+bZzcNPgj4QS8Rkw9VTwJGhRIUVO8zsQ==
+"@formatjs/ecma402-abstract@^1.2.3":
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.2.3.tgz#ca94911dd8e9c89eeaabba0f00e2f692979fc27b"
+ integrity sha512-sEkxTZj7qa+Pi/c4ppE5mxZYJkqQO3GNZzJZjAxgsXip2ixO/TZn58qrxdQ0V8mXmf+5xf+AfveyPvv4yHaRtw==
dependencies:
- "@emotion/hash" "^0.6.6"
- "@emotion/memoize" "^0.6.6"
- "@emotion/unitless" "^0.6.7"
- "@emotion/utils" "^0.8.2"
+ tslib "^2.0.1"
-"@emotion/stylis@^0.7.0":
- version "0.7.1"
- resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.7.1.tgz#50f63225e712d99e2b2b39c19c70fff023793ca5"
- integrity sha512-/SLmSIkN13M//53TtNxgxo57mcJk/UJIDFRKwOiLIBEyBHEcipgR6hNMQ/59Sl4VjCJ0Z/3zeAZyvnSLPG/1HQ==
-
-"@emotion/unitless@^0.6.2", "@emotion/unitless@^0.6.7":
- version "0.6.7"
- resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.6.7.tgz#53e9f1892f725b194d5e6a1684a7b394df592397"
- integrity sha512-Arj1hncvEVqQ2p7Ega08uHLr1JuRYBuO5cIvcA+WWEQ5+VmkOE3ZXzl04NbQxeQpWX78G7u6MqxKuNX3wvYZxg==
-
-"@emotion/utils@^0.8.2":
- version "0.8.2"
- resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.8.2.tgz#576ff7fb1230185b619a75d258cbc98f0867a8dc"
- integrity sha512-rLu3wcBWH4P5q1CGoSSH/i9hrXs7SlbRLkoq9IGuoPYNGQvDJ3pt/wmOM+XgYjIDRMVIdkUWt0RsfzF50JfnCw==
-
-"@formatjs/intl-displaynames@^2.2.4":
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/@formatjs/intl-displaynames/-/intl-displaynames-2.2.4.tgz#c85d59b0d157470347fdfe86fb8fba7da998ebe1"
- integrity sha512-/pRjDRcWub+JZ1B/oPHUhYdukyXoV28cyTMtSPNwEwxF1KIBz44X+EUaZuens9nM8DJtD3GvR9SnlicdT+tb9Q==
+"@formatjs/intl-displaynames@^3.3.10":
+ version "3.3.10"
+ resolved "https://registry.yarnpkg.com/@formatjs/intl-displaynames/-/intl-displaynames-3.3.10.tgz#905ad86431fdadfab2ec188bf9f4fe9e359d1fe6"
+ integrity sha512-SdIMuaKUO0N5zQb6CXtIrwjJbX+DC8ju7ifrcqpLagUMh2nIEJCz7sf0Q6lOMWEE+un1VTmjaXpRPP55cP40IA==
dependencies:
- "@formatjs/intl-utils" "^3.3.1"
+ "@formatjs/ecma402-abstract" "^1.2.3"
+ tslib "^2.0.1"
-"@formatjs/intl-listformat@^2.2.4":
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/@formatjs/intl-listformat/-/intl-listformat-2.2.4.tgz#c7014ae7b593b9e20d24b6620e148122162903dc"
- integrity sha512-sVKRJcrny4N/T2Z0k6qCfvYnl45zlPZcPWoafpLx7JDklWdhqIegdmtT6pncnDdCOLvV8AeyS9JHK3M6+UXWCg==
+"@formatjs/intl-listformat@^4.2.8":
+ version "4.2.8"
+ resolved "https://registry.yarnpkg.com/@formatjs/intl-listformat/-/intl-listformat-4.2.8.tgz#aa8935234dd5f8fcec6d08dfdf2be43e11ba671c"
+ integrity sha512-9qAThh/1HV9T/g6E11VbN5b209zg28fMUMrZqrpHiZZxc2PPHvP/CGqK7mo8hpyCoMUVo3kFxB5CFnw5difJrA==
dependencies:
- "@formatjs/intl-utils" "^3.3.1"
+ "@formatjs/ecma402-abstract" "^1.2.3"
+ tslib "^2.0.1"
-"@formatjs/intl-numberformat@^4.2.4":
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/@formatjs/intl-numberformat/-/intl-numberformat-4.2.4.tgz#8d8e5b7d3ac9a3ed651b7895c806355ca3d24bc4"
- integrity sha512-uPaDLCIZn/ORqmFE56CorGIU0wZZFgc1h7sjZ2ARxL1BG1dZBI8bLYSdb243xZYU/b/1fnRTVpZi4UJjW9NEOw==
+"@formatjs/intl-relativetimeformat@^7.2.8":
+ version "7.2.8"
+ resolved "https://registry.yarnpkg.com/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-7.2.8.tgz#a423ef9acd379980f58730b4757713156076de14"
+ integrity sha512-h6H5lcPn1LbVlAk62m7DYtY68aE6AiZVK1bLEo3HeWrMBFCskWAe9I/5kI+RjStdGZzo+CqBl+rSTcrSXjVj+g==
dependencies:
- "@formatjs/intl-utils" "^3.3.1"
+ "@formatjs/ecma402-abstract" "^1.2.3"
+ tslib "^2.0.1"
-"@formatjs/intl-numberformat@^4.2.6":
- version "4.2.6"
- resolved "https://registry.yarnpkg.com/@formatjs/intl-numberformat/-/intl-numberformat-4.2.6.tgz#a1ae188919ce54fc2eda8ff3e2b83c1bbaa0704d"
- integrity sha512-LcV9pJ5XiiNwt3kbhsWIbeLd3zQZejs3iE3q98HiuV3yx9fAJR0I7n3XF67KCvIW64+hpo5V831EAbGvwhUUmQ==
+"@formatjs/intl@^1.3.4":
+ version "1.3.4"
+ resolved "https://registry.yarnpkg.com/@formatjs/intl/-/intl-1.3.4.tgz#66441b85986726256f83fdffdb533c6334bc299b"
+ integrity sha512-aq6bhi2aZPYUEL15iiBrsNzDtw4Qe1r9dsqM26fbTbfWa6r5sdqcFwGySoeTzguxd+ZXoc9RypSMERjH92xFKA==
dependencies:
- "@formatjs/intl-utils" "^3.3.1"
+ "@formatjs/ecma402-abstract" "^1.2.3"
+ "@formatjs/intl-displaynames" "^3.3.10"
+ "@formatjs/intl-listformat" "^4.2.8"
+ "@formatjs/intl-relativetimeformat" "^7.2.8"
+ fast-memoize "^2.5.2"
+ intl-messageformat "^9.3.9"
+ intl-messageformat-parser "^6.0.8"
+ tslib "^2.0.1"
-"@formatjs/intl-relativetimeformat@^5.2.4":
- version "5.2.4"
- resolved "https://registry.yarnpkg.com/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-5.2.4.tgz#21465c3d4070c1a62abff531a9feec9390972bf8"
- integrity sha512-dY3KBGWT6fPa+JM9zEUNOjfsKWJPd58lME0UdC10NidGzvQS74AmmUB06Fa3vRZm+u/1m6hJycIh7qy38MHnZA==
+"@formatjs/ts-transformer@^2.11.1":
+ version "2.11.1"
+ resolved "https://registry.yarnpkg.com/@formatjs/ts-transformer/-/ts-transformer-2.11.1.tgz#9b30c066cd1ca1831bfc76e22b01e2858b931923"
+ integrity sha512-VAjFBnWSQfO71PrR0NeGgwGoHOAlNMuQv4kdV6GpxQ/3d4YM+202Cpu6r1BmCvxkuXhijTMUu7ubKeenUr8WcA==
dependencies:
- "@formatjs/intl-utils" "^3.3.1"
-
-"@formatjs/intl-utils@^3.3.1":
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/@formatjs/intl-utils/-/intl-utils-3.3.1.tgz#7ceadbb7e251318729d9bf693731e1a5dcdfa15a"
- integrity sha512-7AAicg2wqCJQ+gFEw5Nxp+ttavajBrPAD1HDmzA4jzvUCrF5a2NCJm/c5qON3VBubWWF2cu8HglEouj2h/l7KQ==
- dependencies:
- emojis-list "^3.0.0"
+ intl-messageformat-parser "^6.0.8"
+ tslib "^2.0.1"
+ typescript "^4.0"
"@icons/material@^0.2.4":
version "0.2.4"
@@ -1250,15 +1427,6 @@
resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd"
integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==
-"@jest/console@^24.7.1":
- version "24.7.1"
- resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.7.1.tgz#32a9e42535a97aedfe037e725bd67e954b459545"
- integrity sha512-iNhtIy2M8bXlAOULWVTUxmnelTLFneTNEkHCgPmgd+zNwy9zVddJ6oS5rZ9iwoscNdT5mMwUd0C51v/fSlzItg==
- dependencies:
- "@jest/source-map" "^24.3.0"
- chalk "^2.0.1"
- slash "^2.0.0"
-
"@jest/console@^26.0.1":
version "26.0.1"
resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.0.1.tgz#62b3b2fa8990f3cbffbef695c42ae9ddbc8f4b39"
@@ -1312,15 +1480,6 @@
"@jest/types" "^26.0.1"
jest-mock "^26.0.1"
-"@jest/fake-timers@^24.8.0":
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.8.0.tgz#2e5b80a4f78f284bcb4bd5714b8e10dd36a8d3d1"
- integrity sha512-2M4d5MufVXwi6VzZhJ9f5S/wU4ud2ck0kxPof1Iz3zWx6Y+V2eJrES9jEktB6O3o/oEyk+il/uNu9PvASjWXQw==
- dependencies:
- "@jest/types" "^24.8.0"
- jest-message-util "^24.8.0"
- jest-mock "^24.8.0"
-
"@jest/fake-timers@^26.0.1":
version "26.0.1"
resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.0.1.tgz#f7aeff13b9f387e9d0cac9a8de3bba538d19d796"
@@ -1373,15 +1532,6 @@
optionalDependencies:
node-notifier "^7.0.0"
-"@jest/source-map@^24.3.0":
- version "24.3.0"
- resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.3.0.tgz#563be3aa4d224caf65ff77edc95cd1ca4da67f28"
- integrity sha512-zALZt1t2ou8le/crCeeiRYzvdnTzaIlpOWaet45lNSqNJUnXbppUUFR4ZUAlzgDmKee4Q5P/tKXypI1RiHwgag==
- dependencies:
- callsites "^3.0.0"
- graceful-fs "^4.1.15"
- source-map "^0.6.0"
-
"@jest/source-map@^26.0.0":
version "26.0.0"
resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.0.0.tgz#fd7706484a7d3faf7792ae29783933bbf48a4749"
@@ -1391,15 +1541,6 @@
graceful-fs "^4.2.4"
source-map "^0.6.0"
-"@jest/test-result@^24.8.0":
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.8.0.tgz#7675d0aaf9d2484caa65e048d9b467d160f8e9d3"
- integrity sha512-+YdLlxwizlfqkFDh7Mc7ONPQAhA4YylU1s529vVM1rsf67vGZH/2GGm5uO8QzPeVyaVMobCQ7FTxl38QrKRlng==
- dependencies:
- "@jest/console" "^24.7.1"
- "@jest/types" "^24.8.0"
- "@types/istanbul-lib-coverage" "^2.0.0"
-
"@jest/test-result@^26.0.1":
version "26.0.1"
resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.0.1.tgz#1ffdc1ba4bc289919e54b9414b74c9c2f7b2b718"
@@ -1421,27 +1562,6 @@
jest-runner "^26.0.1"
jest-runtime "^26.0.1"
-"@jest/transform@^24.8.0":
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.8.0.tgz#628fb99dce4f9d254c6fd9341e3eea262e06fef5"
- integrity sha512-xBMfFUP7TortCs0O+Xtez2W7Zu1PLH9bvJgtraN1CDST6LBM/eTOZ9SfwS/lvV8yOfcDpFmwf9bq5cYbXvqsvA==
- dependencies:
- "@babel/core" "^7.1.0"
- "@jest/types" "^24.8.0"
- babel-plugin-istanbul "^5.1.0"
- chalk "^2.0.1"
- convert-source-map "^1.4.0"
- fast-json-stable-stringify "^2.0.0"
- graceful-fs "^4.1.15"
- jest-haste-map "^24.8.0"
- jest-regex-util "^24.3.0"
- jest-util "^24.8.0"
- micromatch "^3.1.10"
- realpath-native "^1.1.0"
- slash "^2.0.0"
- source-map "^0.6.1"
- write-file-atomic "2.4.1"
-
"@jest/transform@^26.0.1":
version "26.0.1"
resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.0.1.tgz#0e3ecbb34a11cd4b2080ed0a9c4856cf0ceb0639"
@@ -1463,14 +1583,36 @@
source-map "^0.6.1"
write-file-atomic "^3.0.0"
-"@jest/types@^24.8.0":
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.8.0.tgz#f31e25948c58f0abd8c845ae26fcea1491dea7ad"
- integrity sha512-g17UxVr2YfBtaMUxn9u/4+siG1ptg9IGYAYwvpwn61nBg779RXnjE/m7CxYcIzEt0AbHZZAHSEZNhkE2WxURVg==
+"@jest/transform@^26.5.2":
+ version "26.5.2"
+ resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.5.2.tgz#6a0033a1d24316a1c75184d010d864f2c681bef5"
+ integrity sha512-AUNjvexh+APhhmS8S+KboPz+D3pCxPvEAGduffaAJYxIFxGi/ytZQkrqcKDUU0ERBAo5R7087fyOYr2oms1seg==
+ dependencies:
+ "@babel/core" "^7.1.0"
+ "@jest/types" "^26.5.2"
+ babel-plugin-istanbul "^6.0.0"
+ chalk "^4.0.0"
+ convert-source-map "^1.4.0"
+ fast-json-stable-stringify "^2.0.0"
+ graceful-fs "^4.2.4"
+ jest-haste-map "^26.5.2"
+ jest-regex-util "^26.0.0"
+ jest-util "^26.5.2"
+ micromatch "^4.0.2"
+ pirates "^4.0.1"
+ slash "^3.0.0"
+ source-map "^0.6.1"
+ write-file-atomic "^3.0.0"
+
+"@jest/types@^25.5.0":
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d"
+ integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==
dependencies:
"@types/istanbul-lib-coverage" "^2.0.0"
"@types/istanbul-reports" "^1.1.1"
- "@types/yargs" "^12.0.9"
+ "@types/yargs" "^15.0.0"
+ chalk "^3.0.0"
"@jest/types@^26.0.1":
version "26.0.1"
@@ -1482,6 +1624,50 @@
"@types/yargs" "^15.0.0"
chalk "^4.0.0"
+"@jest/types@^26.5.2":
+ version "26.5.2"
+ resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.5.2.tgz#44c24f30c8ee6c7f492ead9ec3f3c62a5289756d"
+ integrity sha512-QDs5d0gYiyetI8q+2xWdkixVQMklReZr4ltw7GFDtb4fuJIBCE6mzj2LnitGqCuAlLap6wPyb8fpoHgwZz5fdg==
+ dependencies:
+ "@types/istanbul-lib-coverage" "^2.0.0"
+ "@types/istanbul-reports" "^3.0.0"
+ "@types/node" "*"
+ "@types/yargs" "^15.0.0"
+ chalk "^4.0.0"
+
+"@nodelib/fs.scandir@2.1.3":
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b"
+ integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==
+ dependencies:
+ "@nodelib/fs.stat" "2.0.3"
+ run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2":
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3"
+ integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==
+
+"@nodelib/fs.walk@^1.2.3":
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976"
+ integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==
+ dependencies:
+ "@nodelib/fs.scandir" "2.1.3"
+ fastq "^1.6.0"
+
+"@npmcli/move-file@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.0.1.tgz#de103070dac0f48ce49cf6693c23af59c0f70464"
+ integrity sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==
+ dependencies:
+ mkdirp "^1.0.4"
+
+"@popperjs/core@^2.4.4":
+ version "2.4.4"
+ resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.4.4.tgz#11d5db19bd178936ec89cd84519c4de439574398"
+ integrity sha512-1oO6+dN5kdIA3sKPZhRGJTfGVP4SWV6KqlMOwry4J3HfyD68sl/3KmG7DeYUzvN+RbhXDnv/D8vNNB8168tAMg==
+
"@sinonjs/commons@^1.7.0":
version "1.8.0"
resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.0.tgz#c8d68821a854c555bba172f3b06959a0039b236d"
@@ -1496,15 +1682,30 @@
dependencies:
"@sinonjs/commons" "^1.7.0"
+"@stylelint/postcss-css-in-js@^0.37.2":
+ version "0.37.2"
+ resolved "https://registry.yarnpkg.com/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.2.tgz#7e5a84ad181f4234a2480803422a47b8749af3d2"
+ integrity sha512-nEhsFoJurt8oUmieT8qy4nk81WRHmJynmVwn/Vts08PL9fhgIsMhk1GId5yAN643OzqEEb5S/6At2TZW7pqPDA==
+ dependencies:
+ "@babel/core" ">=7.9.0"
+
+"@stylelint/postcss-markdown@^0.36.1":
+ version "0.36.1"
+ resolved "https://registry.yarnpkg.com/@stylelint/postcss-markdown/-/postcss-markdown-0.36.1.tgz#829b87e6c0f108014533d9d7b987dc9efb6632e8"
+ integrity sha512-iDxMBWk9nB2BPi1VFQ+Dc5+XpvODBHw2n3tYpaBZuEAFQlbtF9If0Qh5LTTwSi/XwdbJ2jt+0dis3i8omyggpw==
+ dependencies:
+ remark "^12.0.0"
+ unist-util-find-all-after "^3.0.1"
+
"@types/anymatch@*":
version "1.3.1"
resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a"
integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==
-"@types/babel__core@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.0.tgz#710f2487dda4dcfd010ca6abb2b4dc7394365c51"
- integrity sha512-wJTeJRt7BToFx3USrCDs2BhEi4ijBInTQjOIukj6a/5tEkwpFMVZ+1ppgmE+Q/FQyc5P/VWUbx7I9NELrKruHA==
+"@types/babel__core@^7.0.0":
+ version "7.1.10"
+ resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.10.tgz#ca58fc195dd9734e77e57c6f2df565623636ab40"
+ integrity sha512-x8OM8XzITIMyiwl5Vmo2B1cR1S1Ipkyv4mdlbJjMa1lmuKvKY9FrBbEANIaMlnWn5Rf7uO+rC/VgYabNkE17Hw==
dependencies:
"@babel/parser" "^7.1.0"
"@babel/types" "^7.0.0"
@@ -1555,13 +1756,6 @@
resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==
-"@types/fs-extra@^8.1.0":
- version "8.1.1"
- resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-8.1.1.tgz#1e49f22d09aa46e19b51c0b013cb63d0d923a068"
- integrity sha512-TcUlBem321DFQzBNuz8p0CLLKp0VvF/XH9E4KHNmgwyp4E3AfgI5cjiIVZWlbfThBop2qxFIh4+LeY6hVWWZ2w==
- dependencies:
- "@types/node" "*"
-
"@types/glob@^7.1.1":
version "7.1.1"
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575"
@@ -1591,11 +1785,6 @@
resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.0.tgz#551a4589b6ee2cc9c1dff08056128aec29b94880"
integrity sha512-iYCgjm1dGPRuo12+BStjd1HiVQqhlRhWDOQigNxn023HcjnhsiFz9pc6CzJj4HwDCSQca9bxTL4PxJDbkdm3PA==
-"@types/invariant@^2.2.31":
- version "2.2.33"
- resolved "https://registry.yarnpkg.com/@types/invariant/-/invariant-2.2.33.tgz#ec5eec29c63bf5e4ca164e9feb3ef7337cdcbadb"
- integrity sha512-/jUNmS8d4bCKdqslfxW6dg/9Gksfzxz67IYfqApHn+HvHlMVXwYv2zpTDnS/yaK9BB0i0GlBTaYci0EFE62Hmw==
-
"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff"
@@ -1621,16 +1810,46 @@
"@types/istanbul-lib-coverage" "*"
"@types/istanbul-lib-report" "*"
+"@types/istanbul-reports@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821"
+ integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==
+ dependencies:
+ "@types/istanbul-lib-report" "*"
+
+"@types/jest@26.x":
+ version "26.0.14"
+ resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.14.tgz#078695f8f65cb55c5a98450d65083b2b73e5a3f3"
+ integrity sha512-Hz5q8Vu0D288x3iWXePSn53W7hAjP0H7EQ6QvDO9c7t46mR0lNOLlfuwQ+JkVxuhygHzlzPX+0jKdA3ZgSh+Vg==
+ dependencies:
+ jest-diff "^25.2.1"
+ pretty-format "^25.2.1"
+
"@types/json-schema@^7.0.4":
version "7.0.4"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339"
integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==
+"@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6":
+ version "7.0.6"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0"
+ integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==
+
+"@types/json5@^0.0.29":
+ version "0.0.29"
+ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
+ integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4=
+
"@types/minimatch@*":
version "3.0.3"
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
+"@types/minimist@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6"
+ integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=
+
"@types/node@*":
version "10.12.18"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz#1d3ca764718915584fcd9f6344621b7672665c67"
@@ -1641,6 +1860,11 @@
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==
+"@types/parse-json@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
+ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
+
"@types/prettier@^2.0.0":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.0.1.tgz#b6e98083f13faa1e5231bfa3bdb1b0feff536b6d"
@@ -1664,13 +1888,6 @@
"@types/prop-types" "*"
csstype "^2.2.0"
-"@types/react@16.4.6":
- version "16.4.6"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-16.4.6.tgz#5024957c6bcef4f02823accf5974faba2e54fada"
- integrity sha512-9LDZdhsuKSc+DjY65SjBkA958oBWcTWSVWAd2cD9XqKBjhGw1KzAkRhWRw2eIsXvaIE/TOTjjKMFVC+JA1iU4g==
- dependencies:
- csstype "^2.2.0"
-
"@types/schema-utils@^2.4.0":
version "2.4.0"
resolved "https://registry.yarnpkg.com/@types/schema-utils/-/schema-utils-2.4.0.tgz#9983012045d541dcee053e685a27c9c87c840fcd"
@@ -1700,6 +1917,11 @@
dependencies:
source-map "^0.6.1"
+"@types/unist@^2.0.0", "@types/unist@^2.0.2":
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e"
+ integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==
+
"@types/webpack-sources@*":
version "0.1.7"
resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-0.1.7.tgz#0a330a9456113410c74a5d64180af0cbca007141"
@@ -1726,11 +1948,6 @@
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d"
integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==
-"@types/yargs@^12.0.9":
- version "12.0.9"
- resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.9.tgz#693e76a52f61a2f1e7fb48c0eef167b95ea4ffd0"
- integrity sha512-sCZy4SxP9rN2w30Hlmg5dtdRwgYQfYRiLo9usw8X9cxlf+H4FqM1xX7+sNH7NNKVdbXMJWqva7iyy+fxh/V7fA==
-
"@types/yargs@^15.0.0":
version "15.0.5"
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz#947e9a6561483bdee9adffc983e91a6902af8b79"
@@ -1920,68 +2137,54 @@ acorn-globals@^6.0.0:
acorn "^7.1.1"
acorn-walk "^7.1.1"
-acorn-jsx@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
- integrity sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=
- dependencies:
- acorn "^3.0.4"
-
-acorn-jsx@^5.0.2:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384"
- integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==
-
-acorn-walk@^6.1.1:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913"
- integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==
+acorn-jsx@^5.2.0:
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b"
+ integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==
acorn-walk@^7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e"
integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==
-acorn@^3.0.4:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
- integrity sha1-ReN/s56No/JbruP/U2niu18iAXo=
-
-acorn@^5.5.0:
- version "5.7.4"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e"
- integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==
-
-acorn@^6.0.7:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
- integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==
+acorn-walk@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.0.0.tgz#56ae4c0f434a45fff4a125e7ea95fa9c98f67a16"
+ integrity sha512-oZRad/3SMOI/pxbbmqyurIx7jHw1wZDcR9G44L8pUVFEomX/0dH89SrM1KaDXuv1NpzAXz6Op/Xu/Qd5XXzdEA==
acorn@^6.2.1:
version "6.3.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e"
integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==
-acorn@^7.0.0:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c"
- integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==
-
acorn@^7.1.1:
version "7.2.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.2.0.tgz#17ea7e40d7c8640ff54a694c889c26f31704effe"
integrity sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==
+acorn@^7.4.0:
+ version "7.4.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
+ integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
+
+acorn@^8.0.4:
+ version "8.0.4"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.0.4.tgz#7a3ae4191466a6984eee0fe3407a4f3aa9db8354"
+ integrity sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==
+
+aggregate-error@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
+ integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
+ dependencies:
+ clean-stack "^2.0.0"
+ indent-string "^4.0.0"
+
ajv-errors@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==
-ajv-keywords@^1.0.0:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
- integrity sha1-MU3QpLM2j609/NxU7eYXG4htrzw=
-
ajv-keywords@^3.1.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a"
@@ -1992,13 +2195,10 @@ ajv-keywords@^3.4.1:
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da"
integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==
-ajv@^4.7.0:
- version "4.11.8"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
- integrity sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=
- dependencies:
- co "^4.6.0"
- json-stable-stringify "^1.0.1"
+ajv-keywords@^3.5.2:
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
+ integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
ajv@^6.1.0, ajv@^6.5.5:
version "6.6.2"
@@ -2030,6 +2230,16 @@ ajv@^6.12.2:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
+ajv@^6.12.4, ajv@^6.12.5:
+ version "6.12.5"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.5.tgz#19b0e8bae8f476e5ba666300387775fb1a00a4da"
+ integrity sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
alphanum-sort@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
@@ -2040,15 +2250,10 @@ ansi-colors@^3.0.0:
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813"
integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==
-ansi-escapes@^1.1.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
- integrity sha1-06ioOzGapneTZisT52HHkRQiMG4=
-
-ansi-escapes@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
- integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
+ansi-colors@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
+ integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
ansi-escapes@^4.2.1:
version "4.3.1"
@@ -2146,13 +2351,13 @@ argparse@^1.0.7:
dependencies:
sprintf-js "~1.0.2"
-aria-query@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc"
- integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=
+aria-query@^4.2.2:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b"
+ integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==
dependencies:
- ast-types-flow "0.0.7"
- commander "^2.11.0"
+ "@babel/runtime" "^7.10.2"
+ "@babel/runtime-corejs3" "^7.10.2"
arr-diff@^4.0.0:
version "4.0.0"
@@ -2187,6 +2392,15 @@ array-includes@^3.0.3:
define-properties "^1.1.2"
es-abstract "^1.7.0"
+array-includes@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348"
+ integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0"
+ is-string "^1.0.5"
+
array-union@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
@@ -2194,6 +2408,11 @@ array-union@^1.0.1:
dependencies:
array-uniq "^1.0.1"
+array-union@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
+ integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
+
array-uniq@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
@@ -2213,6 +2432,23 @@ array.prototype.flat@^1.2.1:
es-abstract "^1.10.0"
function-bind "^1.1.1"
+array.prototype.flat@^1.2.3:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b"
+ integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
+
+array.prototype.flatmap@^1.2.3:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz#1c13f84a178566042dd63de4414440db9222e443"
+ integrity sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
+ function-bind "^1.1.1"
+
arrify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
@@ -2256,7 +2492,7 @@ assign-symbols@^1.0.0:
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
-ast-types-flow@0.0.7, ast-types-flow@^0.0.7:
+ast-types-flow@^0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0=
@@ -2266,15 +2502,20 @@ astral-regex@^1.0.0:
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
+astral-regex@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
+ integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
+
async-each@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
-async-limiter@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
- integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==
+async@0.9.x:
+ version "0.9.2"
+ resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
+ integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=
async@^1.5.2:
version "1.5.2"
@@ -2286,27 +2527,35 @@ asynckit@^0.4.0:
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
-at-least-node@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
- integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
-
atob@^2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
-autoprefixer@^9.5.1:
- version "9.5.1"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.5.1.tgz#243b1267b67e7e947f28919d786b50d3bb0fb357"
- integrity sha512-KJSzkStUl3wP0D5sdMlP82Q52JLy5+atf2MHAre48+ckWkXgixmfHyWmA77wFDy6jTHU6mIgXv6hAQ2mf1PjJQ==
+autoprefixer@^10.0.0:
+ version "10.0.1"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.0.1.tgz#e2d9000f84ebd98d77b7bc16f8adb2ff1f7bb946"
+ integrity sha512-aQo2BDIsoOdemXUAOBpFv4ZQa2DrOtEufarYhtFsK1088Ca0TUwu/aQWf0M3mrILXZ3mTIVn1lR3hPW8acacsw==
dependencies:
- browserslist "^4.5.4"
- caniuse-lite "^1.0.30000957"
+ browserslist "^4.14.5"
+ caniuse-lite "^1.0.30001137"
+ colorette "^1.2.1"
normalize-range "^0.1.2"
num2fraction "^1.2.2"
- postcss "^7.0.14"
- postcss-value-parser "^3.3.1"
+ postcss-value-parser "^4.1.0"
+
+autoprefixer@^9.8.6:
+ version "9.8.6"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f"
+ integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==
+ dependencies:
+ browserslist "^4.12.0"
+ caniuse-lite "^1.0.30001109"
+ colorette "^1.2.1"
+ normalize-range "^0.1.2"
+ num2fraction "^1.2.2"
+ postcss "^7.0.32"
+ postcss-value-parser "^4.1.0"
aws-sign2@~0.7.0:
version "0.7.0"
@@ -2318,6 +2567,11 @@ aws4@^1.8.0:
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
+axe-core@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.0.2.tgz#c7cf7378378a51fcd272d3c09668002a4990b1cb"
+ integrity sha512-arU1h31OGFu+LPrOLGZ7nB45v940NMDMEJeNmbutu57P+UFDVnkZg3e+J1I2HJRZ9hT7gO8J91dn/PMrAiKakA==
+
axios-mock-adapter@^1.18.1:
version "1.18.1"
resolved "https://registry.yarnpkg.com/axios-mock-adapter/-/axios-mock-adapter-1.18.1.tgz#a2ba2638ef513d954793f96bde3e26bd4a1b7940"
@@ -2326,20 +2580,17 @@ axios-mock-adapter@^1.18.1:
fast-deep-equal "^3.1.1"
is-buffer "^2.0.3"
-axios@^0.19.0:
- version "0.19.0"
- resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.0.tgz#8e09bff3d9122e133f7b8101c8fbdd00ed3d2ab8"
- integrity sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==
+axios@^0.21.0:
+ version "0.21.0"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.0.tgz#26df088803a2350dff2c27f96fef99fe49442aca"
+ integrity sha512-fmkJBknJKoZwem3/IKSSLpkdNXZeBu5Q7GA/aRsr2btgrptmSCxi2oFjZHqGdK9DoTil9PIHlPIZw2EcRJXRvw==
dependencies:
- follow-redirects "1.5.10"
- is-buffer "^2.0.2"
+ follow-redirects "^1.10.0"
-axobject-query@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9"
- integrity sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==
- dependencies:
- ast-types-flow "0.0.7"
+axobject-query@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be"
+ integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==
babel-eslint@^10.1.0:
version "10.1.0"
@@ -2353,19 +2604,6 @@ babel-eslint@^10.1.0:
eslint-visitor-keys "^1.0.0"
resolve "^1.12.0"
-babel-jest@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.8.0.tgz#5c15ff2b28e20b0f45df43fe6b7f2aae93dba589"
- integrity sha512-+5/kaZt4I9efoXzPlZASyK/lN9qdRKmmUav9smVc0ruPQD7IsfucQ87gpOE8mn2jbDuS6M/YOW6n3v9ZoIfgnw==
- dependencies:
- "@jest/transform" "^24.8.0"
- "@jest/types" "^24.8.0"
- "@types/babel__core" "^7.1.0"
- babel-plugin-istanbul "^5.1.0"
- babel-preset-jest "^24.6.0"
- chalk "^2.4.2"
- slash "^2.0.0"
-
babel-jest@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.0.1.tgz#450139ce4b6c17174b136425bda91885c397bc46"
@@ -2380,6 +2618,20 @@ babel-jest@^26.0.1:
graceful-fs "^4.2.4"
slash "^3.0.0"
+babel-jest@^26.5.2:
+ version "26.5.2"
+ resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.5.2.tgz#164f367a35946c6cf54eaccde8762dec50422250"
+ integrity sha512-U3KvymF3SczA3vOL/cgiUFOznfMET+XDIXiWnoJV45siAp2pLMG8i2+/MGZlAC3f/F6Q40LR4M4qDrWZ9wkK8A==
+ dependencies:
+ "@jest/transform" "^26.5.2"
+ "@jest/types" "^26.5.2"
+ "@types/babel__core" "^7.1.7"
+ babel-plugin-istanbul "^6.0.0"
+ babel-preset-jest "^26.5.0"
+ chalk "^4.0.0"
+ graceful-fs "^4.2.4"
+ slash "^3.0.0"
+
babel-loader@^8.0.5:
version "8.0.5"
resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.5.tgz#225322d7509c2157655840bba52e46b6c2f2fe33"
@@ -2390,33 +2642,6 @@ babel-loader@^8.0.5:
mkdirp "^0.5.1"
util.promisify "^1.0.0"
-babel-plugin-emotion@^9.2.11:
- version "9.2.11"
- resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-9.2.11.tgz#319c005a9ee1d15bb447f59fe504c35fd5807728"
- integrity sha512-dgCImifnOPPSeXod2znAmgc64NhaaOjGEHROR/M+lmStb3841yK1sgaDYAYMnlvWNz8GnpwIPN0VmNpbWYZ+VQ==
- dependencies:
- "@babel/helper-module-imports" "^7.0.0"
- "@emotion/babel-utils" "^0.6.4"
- "@emotion/hash" "^0.6.2"
- "@emotion/memoize" "^0.6.1"
- "@emotion/stylis" "^0.7.0"
- babel-plugin-macros "^2.0.0"
- babel-plugin-syntax-jsx "^6.18.0"
- convert-source-map "^1.5.0"
- find-root "^1.1.0"
- mkdirp "^0.5.1"
- source-map "^0.5.7"
- touch "^2.0.1"
-
-babel-plugin-istanbul@^5.1.0:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.1.tgz#7981590f1956d75d67630ba46f0c22493588c893"
- integrity sha512-RNNVv2lsHAXJQsEJ5jonQwrJVWK8AcZpG1oxhnjCUaAjL7xahYLANhPUZbzEQHjKy1NMYUwn+0NPKQc8iSY4xQ==
- dependencies:
- find-up "^3.0.0"
- istanbul-lib-instrument "^3.0.0"
- test-exclude "^5.0.0"
-
babel-plugin-istanbul@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765"
@@ -2428,13 +2653,6 @@ babel-plugin-istanbul@^6.0.0:
istanbul-lib-instrument "^4.0.0"
test-exclude "^6.0.0"
-babel-plugin-jest-hoist@^24.6.0:
- version "24.6.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.6.0.tgz#f7f7f7ad150ee96d7a5e8e2c5da8319579e78019"
- integrity sha512-3pKNH6hMt9SbOv0F3WVmy5CWQ4uogS3k0GY5XLyQHJ9EGpAT9XWkFd2ZiXXtkwFHdAHa5j7w7kfxSP5lAIwu7w==
- dependencies:
- "@types/babel__traverse" "^7.0.6"
-
babel-plugin-jest-hoist@^26.0.0:
version "26.0.0"
resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.0.0.tgz#fd1d35f95cf8849fc65cb01b5e58aedd710b34a8"
@@ -2444,6 +2662,16 @@ babel-plugin-jest-hoist@^26.0.0:
"@babel/types" "^7.3.3"
"@types/babel__traverse" "^7.0.6"
+babel-plugin-jest-hoist@^26.5.0:
+ version "26.5.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.5.0.tgz#3916b3a28129c29528de91e5784a44680db46385"
+ integrity sha512-ck17uZFD3CDfuwCLATWZxkkuGGFhMij8quP8CNhwj8ek1mqFgbFzRJ30xwC04LLscj/aKsVFfRST+b5PT7rSuw==
+ dependencies:
+ "@babel/template" "^7.3.3"
+ "@babel/types" "^7.3.3"
+ "@types/babel__core" "^7.0.0"
+ "@types/babel__traverse" "^7.0.6"
+
babel-plugin-lodash@^3.3.4:
version "3.3.4"
resolved "https://registry.yarnpkg.com/babel-plugin-lodash/-/babel-plugin-lodash-3.3.4.tgz#4f6844358a1340baed182adbeffa8df9967bc196"
@@ -2455,52 +2683,38 @@ babel-plugin-lodash@^3.3.4:
lodash "^4.17.10"
require-package-name "^2.0.1"
-babel-plugin-macros@^2.0.0:
- version "2.5.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.5.1.tgz#4a119ac2c2e19b458c259b9accd7ee34fd57ec6f"
- integrity sha512-xN3KhAxPzsJ6OQTktCanNpIFnnMsCV+t8OloKxIL72D6+SUZYFn9qfklPgef5HyyDtzYZqqb+fs1S12+gQY82Q==
- dependencies:
- "@babel/runtime" "^7.4.2"
- cosmiconfig "^5.2.0"
- resolve "^1.10.0"
-
-babel-plugin-macros@^2.6.1:
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz#41f7ead616fc36f6a93180e89697f69f51671181"
- integrity sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL/2NmQ==
- dependencies:
- "@babel/runtime" "^7.4.2"
- cosmiconfig "^5.2.0"
- resolve "^1.10.0"
-
-babel-plugin-preval@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-preval/-/babel-plugin-preval-4.0.0.tgz#edb8501167985752aafcc31086791e1314052e9d"
- integrity sha512-fZI/4cYneinlj2k/FsXw0/lTWSC5KKoepUueS1g25Gb5vx3GrRyaVwxWCshYqx11GEU4mZnbbFhee8vpquFS2w==
+babel-plugin-macros@^2.8.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138"
+ integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==
dependencies:
"@babel/runtime" "^7.7.2"
- babel-plugin-macros "^2.6.1"
+ cosmiconfig "^6.0.0"
+ resolve "^1.12.0"
+
+babel-plugin-preval@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-preval/-/babel-plugin-preval-5.0.0.tgz#6cabb947ecc241664966e1f99eb56a3b4bb63d1e"
+ integrity sha512-8DqJq6/LPUjSZ0Qq6bVIFpsj2flCEE0Cbnbut9TvGU6jP9g3dOWEXtQ/sdvsA9d6souza8eNGh04WRXpuH9ThA==
+ dependencies:
+ "@babel/runtime" "^7.9.2"
+ babel-plugin-macros "^2.8.0"
require-from-string "^2.0.2"
-babel-plugin-react-intl@^7.5.20:
- version "7.5.20"
- resolved "https://registry.yarnpkg.com/babel-plugin-react-intl/-/babel-plugin-react-intl-7.5.20.tgz#852b99b54114b59d833b080d4bb0546368af8173"
- integrity sha512-EErRfgizYKJzXxQ0x5O8QUBhsHm3xPIoboJi1Ls7BRFS8xkVDTQEBvffzdDU9SZ5Tt/kjAM55zGLlPYHZDlgpg==
+babel-plugin-react-intl@^8.0.0:
+ version "8.2.5"
+ resolved "https://registry.yarnpkg.com/babel-plugin-react-intl/-/babel-plugin-react-intl-8.2.5.tgz#4a00023cbb0495de11cf0507e672433bacb98c45"
+ integrity sha512-t+++mnSNjfwueUoTWEDz5Zo23ZJrc9+1pfG9TD7YZrxeDhBOmeM0bX6TEy448EtmgwEz7o63S9sgnNdi4oTKQQ==
dependencies:
"@babel/core" "^7.9.0"
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/types" "^7.9.5"
+ "@formatjs/ts-transformer" "^2.11.1"
"@types/babel__core" "^7.1.7"
- "@types/fs-extra" "^8.1.0"
"@types/schema-utils" "^2.4.0"
- fs-extra "^9.0.0"
- intl-messageformat-parser "^5.1.3"
+ intl-messageformat-parser "^6.0.8"
schema-utils "^2.6.6"
-
-babel-plugin-syntax-jsx@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
- integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=
+ tslib "^2.0.1"
babel-plugin-transform-react-remove-prop-types@^0.4.24:
version "0.4.24"
@@ -2523,13 +2737,22 @@ babel-preset-current-node-syntax@^0.1.2:
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
-babel-preset-jest@^24.6.0:
- version "24.6.0"
- resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.6.0.tgz#66f06136eefce87797539c0d63f1769cc3915984"
- integrity sha512-pdZqLEdmy1ZK5kyRUfvBb2IfTPb2BUvIJczlPspS8fWmBQslNNDBqVfh7BW5leOVJMDZKzjD8XEyABTk6gQ5yw==
+babel-preset-current-node-syntax@^0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz#826f1f8e7245ad534714ba001f84f7e906c3b615"
+ integrity sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==
dependencies:
- "@babel/plugin-syntax-object-rest-spread" "^7.0.0"
- babel-plugin-jest-hoist "^24.6.0"
+ "@babel/plugin-syntax-async-generators" "^7.8.4"
+ "@babel/plugin-syntax-bigint" "^7.8.3"
+ "@babel/plugin-syntax-class-properties" "^7.8.3"
+ "@babel/plugin-syntax-import-meta" "^7.8.3"
+ "@babel/plugin-syntax-json-strings" "^7.8.3"
+ "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+ "@babel/plugin-syntax-numeric-separator" "^7.8.3"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.3"
babel-preset-jest@^26.0.0:
version "26.0.0"
@@ -2539,6 +2762,14 @@ babel-preset-jest@^26.0.0:
babel-plugin-jest-hoist "^26.0.0"
babel-preset-current-node-syntax "^0.1.2"
+babel-preset-jest@^26.5.0:
+ version "26.5.0"
+ resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.5.0.tgz#f1b166045cd21437d1188d29f7fba470d5bdb0e7"
+ integrity sha512-F2vTluljhqkiGSJGBg/jOruA8vIIIL11YrxRcO7nviNTMbbofPSHwnm8mgP7d/wS7wRSexRoI6X1A6T74d4LQA==
+ dependencies:
+ babel-plugin-jest-hoist "^26.5.0"
+ babel-preset-current-node-syntax "^0.1.3"
+
babel-runtime@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
@@ -2554,6 +2785,11 @@ backoff@^2.4.1:
dependencies:
precond "0.2"
+bail@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776"
+ integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==
+
balanced-match@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
@@ -2589,15 +2825,15 @@ bcrypt-pbkdf@^1.0.0:
dependencies:
tweetnacl "^0.14.3"
-bfj@^6.1.1:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.1.tgz#05a3b7784fbd72cfa3c22e56002ef99336516c48"
- integrity sha512-+GUNvzHR4nRyGybQc2WpNJL4MJazMuvf92ueIyA0bIkPRwhhQu3IfZQ2PSoVPpCBJfmoSdOxu5rnotfFLlvYRQ==
+bfj@^7.0.2:
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/bfj/-/bfj-7.0.2.tgz#1988ce76f3add9ac2913fd8ba47aad9e651bfbb2"
+ integrity sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==
dependencies:
- bluebird "^3.5.1"
- check-types "^7.3.0"
- hoopy "^0.1.2"
- tryer "^1.0.0"
+ bluebird "^3.5.5"
+ check-types "^11.1.1"
+ hoopy "^0.1.4"
+ tryer "^1.0.1"
big.js@^3.1.3:
version "3.2.0"
@@ -2614,11 +2850,6 @@ binary-extensions@^1.0.0:
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.12.0.tgz#c2d780f53d45bba8317a8902d4ceeaf3a6385b14"
integrity sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==
-bluebird@^3.5.1, bluebird@^3.5.3:
- version "3.5.3"
- resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7"
- integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==
-
bluebird@^3.5.5:
version "3.7.1"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de"
@@ -2698,13 +2929,6 @@ braces@^3.0.1:
dependencies:
fill-range "^7.0.1"
-bricks.js@^1.7.0:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/bricks.js/-/bricks.js-1.8.0.tgz#8fdeb3c0226af251f4d5727a7df7f9ac0092b4b2"
- integrity sha1-j96zwCJq8lH01XJ6fff5rACStLI=
- dependencies:
- knot.js "^1.1.5"
-
brorand@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
@@ -2774,7 +2998,7 @@ browserify-zlib@^0.2.0:
dependencies:
pako "~1.0.5"
-browserslist@^4.0.0, browserslist@^4.3.4, browserslist@^4.5.4:
+browserslist@^4.0.0, browserslist@^4.3.4:
version "4.6.1"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.1.tgz#ee5059b1aec18cbec9d055d6cb5e24ae50343a9b"
integrity sha512-1MC18ooMPRG2UuVFJTHFIAkk6mpByJfxCrnUyvSlu/hyQSFHMrlhM02SzNuCV+quTP4CKmqtOMAIjrifrpBJXQ==
@@ -2783,6 +3007,23 @@ browserslist@^4.0.0, browserslist@^4.3.4, browserslist@^4.5.4:
electron-to-chromium "^1.3.137"
node-releases "^1.1.21"
+browserslist@^4.12.0, browserslist@^4.14.5:
+ version "4.14.5"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.5.tgz#1c751461a102ddc60e40993639b709be7f2c4015"
+ integrity sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA==
+ dependencies:
+ caniuse-lite "^1.0.30001135"
+ electron-to-chromium "^1.3.571"
+ escalade "^3.1.0"
+ node-releases "^1.1.61"
+
+bs-logger@0.x:
+ version "0.2.6"
+ resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8"
+ integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==
+ dependencies:
+ fast-json-stable-stringify "2.x"
+
bser@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719"
@@ -2790,7 +3031,7 @@ bser@^2.0.0:
dependencies:
node-int64 "^0.4.0"
-buffer-from@^1.0.0:
+buffer-from@1.x, buffer-from@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
@@ -2800,11 +3041,6 @@ buffer-indexof@^1.0.0:
resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c"
integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==
-buffer-writer@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz#ce7eb81a38f7829db09c873f2fbb792c0c98ec04"
- integrity sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==
-
buffer-xor@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
@@ -2839,26 +3075,6 @@ bytes@3.1.0:
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
-cacache@^11.2.0:
- version "11.3.2"
- resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.2.tgz#2d81e308e3d258ca38125b676b98b2ac9ce69bfa"
- integrity sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==
- dependencies:
- bluebird "^3.5.3"
- chownr "^1.1.1"
- figgy-pudding "^3.5.1"
- glob "^7.1.3"
- graceful-fs "^4.1.15"
- lru-cache "^5.1.1"
- mississippi "^3.0.0"
- mkdirp "^0.5.1"
- move-concurrently "^1.0.1"
- promise-inflight "^1.0.1"
- rimraf "^2.6.2"
- ssri "^6.0.1"
- unique-filename "^1.1.1"
- y18n "^4.0.0"
-
cacache@^12.0.2:
version "12.0.3"
resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390"
@@ -2880,6 +3096,29 @@ cacache@^12.0.2:
unique-filename "^1.1.1"
y18n "^4.0.0"
+cacache@^15.0.5:
+ version "15.0.5"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.5.tgz#69162833da29170d6732334643c60e005f5f17d0"
+ integrity sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==
+ dependencies:
+ "@npmcli/move-file" "^1.0.1"
+ chownr "^2.0.0"
+ fs-minipass "^2.0.0"
+ glob "^7.1.4"
+ infer-owner "^1.0.4"
+ lru-cache "^6.0.0"
+ minipass "^3.1.1"
+ minipass-collect "^1.0.2"
+ minipass-flush "^1.0.5"
+ minipass-pipeline "^1.2.2"
+ mkdirp "^1.0.3"
+ p-map "^4.0.0"
+ promise-inflight "^1.0.1"
+ rimraf "^3.0.2"
+ ssri "^8.0.0"
+ tar "^6.0.2"
+ unique-filename "^1.1.1"
+
cache-base@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
@@ -2902,13 +3141,6 @@ caller-callsite@^2.0.0:
dependencies:
callsites "^2.0.0"
-caller-path@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
- integrity sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=
- dependencies:
- callsites "^0.2.0"
-
caller-path@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
@@ -2916,11 +3148,6 @@ caller-path@^2.0.0:
dependencies:
caller-callsite "^2.0.0"
-callsites@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
- integrity sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=
-
callsites@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
@@ -2939,6 +3166,15 @@ camel-case@^4.1.1:
pascal-case "^3.1.1"
tslib "^1.10.0"
+camelcase-keys@^6.2.2:
+ version "6.2.2"
+ resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0"
+ integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==
+ dependencies:
+ camelcase "^5.3.1"
+ map-obj "^4.0.0"
+ quick-lru "^4.0.1"
+
camelcase@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42"
@@ -2964,11 +3200,21 @@ caniuse-api@^3.0.0:
lodash.memoize "^4.1.2"
lodash.uniq "^4.5.0"
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000957, caniuse-lite@^1.0.30000971:
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000971:
version "1.0.30001078"
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001078.tgz"
integrity sha512-sF12qXe9VMm32IEf/+NDvmTpwJaaU7N1igpiH2FdI4DyABJSsOqG3ZAcFvszLkoLoo1y6VJLMYivukUAxaMASw==
+caniuse-lite@^1.0.30001109:
+ version "1.0.30001147"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001147.tgz#84d27e5b691a8da66e16887b34c78dacf3935f00"
+ integrity sha512-CPyN875geYk46eIqPl5jlmotCr5YZC2KxIVfb4z0FrNfLxPM+MyodWD2irJGDG8vUUE1fmg3De9vt8uaC6Nf6w==
+
+caniuse-lite@^1.0.30001135, caniuse-lite@^1.0.30001137:
+ version "1.0.30001144"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001144.tgz#bca0fffde12f97e1127a351fec3bfc1971aa3b3d"
+ integrity sha512-4GQTEWNMnVZVOFG3BK0xvGeaDAtiPAbG2N8yuMXuXzx/c2Vd4XoMPO8+E918zeXn5IF0FRVtGShBfkfQea2wHQ==
+
capture-exit@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f"
@@ -2981,7 +3227,12 @@ caseless@~0.12.0:
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
-chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
+ccount@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.5.tgz#ac82a944905a65ce204eb03023157edf29425c17"
+ integrity sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw==
+
+chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
@@ -2992,7 +3243,7 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
-chalk@^2.0, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2:
+chalk@^2.0, chalk@^2.0.0, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -3001,6 +3252,14 @@ chalk@^2.0, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.2, chalk@^2.4.1
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
+chalk@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
+ integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
chalk@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72"
@@ -3009,20 +3268,43 @@ chalk@^4.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
+chalk@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
+ integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
char-regex@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
-chardet@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
- integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
+character-entities-html4@^1.0.0:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125"
+ integrity sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==
-check-types@^7.3.0:
- version "7.4.0"
- resolved "https://registry.yarnpkg.com/check-types/-/check-types-7.4.0.tgz#0378ec1b9616ec71f774931a3c6516fad8c152f4"
- integrity sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg==
+character-entities-legacy@^1.0.0:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1"
+ integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==
+
+character-entities@^1.0.0:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b"
+ integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==
+
+character-reference-invalid@^1.0.0:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560"
+ integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==
+
+check-types@^11.1.1:
+ version "11.1.2"
+ resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.1.2.tgz#86a7c12bf5539f6324eb0e70ca8896c0e38f3e2f"
+ integrity sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==
cheerio@^1.0.0-rc.2:
version "1.0.0-rc.2"
@@ -3060,10 +3342,10 @@ chownr@^1.1.1:
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494"
integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==
-chromatism@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/chromatism/-/chromatism-3.0.0.tgz#a7249d353c1e4f3577e444ac41171c4e2e624b12"
- integrity sha1-pySdNTweTzV35ESsQRccTi5iSxI=
+chownr@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece"
+ integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==
chrome-trace-event@^1.0.2:
version "1.0.2"
@@ -3085,11 +3367,6 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
inherits "^2.0.1"
safe-buffer "^5.0.1"
-circular-json@^0.3.1:
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66"
- integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==
-
class-utils@^0.3.5:
version "0.3.6"
resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
@@ -3112,24 +3389,10 @@ clean-css@^4.2.3:
dependencies:
source-map "~0.6.0"
-cli-cursor@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
- integrity sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=
- dependencies:
- restore-cursor "^1.0.1"
-
-cli-cursor@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
- integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
- dependencies:
- restore-cursor "^2.0.0"
-
-cli-width@^2.0.0:
+clean-stack@^2.0.0:
version "2.2.0"
- resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
- integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=
+ resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
+ integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
cliui@^4.0.0:
version "4.1.0"
@@ -3149,6 +3412,15 @@ cliui@^6.0.0:
strip-ansi "^6.0.0"
wrap-ansi "^6.2.0"
+cliui@^7.0.0:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.1.tgz#a4cb67aad45cd83d8d05128fc9f4d8fbb887e6b3"
+ integrity sha512-rcvHOWyGyid6I1WjT/3NatKj2kDt9OdSHSXpyLXaMWFbKpGACNW8pRhhdPUq9MWUOdwn8Rz9AVETjF4105rZZQ==
+ dependencies:
+ string-width "^4.2.0"
+ strip-ansi "^6.0.0"
+ wrap-ansi "^7.0.0"
+
clone-deep@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
@@ -3158,6 +3430,13 @@ clone-deep@^4.0.1:
kind-of "^6.0.2"
shallow-clone "^3.0.0"
+clone-regexp@^2.1.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-2.2.0.tgz#7d65e00885cd8796405c35a737e7a86b7429e36f"
+ integrity sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==
+ dependencies:
+ is-regexp "^2.0.0"
+
co@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
@@ -3177,6 +3456,11 @@ code-point-at@^1.0.0:
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
+collapse-white-space@^1.0.2:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287"
+ integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==
+
collect-v8-coverage@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59"
@@ -3230,6 +3514,11 @@ color@^3.0.0:
color-convert "^1.9.1"
color-string "^1.5.2"
+colorette@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b"
+ integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==
+
colors@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
@@ -3242,12 +3531,12 @@ combined-stream@^1.0.6, combined-stream@~1.0.6:
dependencies:
delayed-stream "~1.0.0"
-commander@^2.11.0, commander@^2.18.0, commander@^2.19.0:
+commander@^2.19.0:
version "2.19.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==
-commander@^2.20.0, commander@^2.8.1:
+commander@^2.20.0:
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
@@ -3257,10 +3546,10 @@ commander@^4.1.1:
resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
-commander@~2.17.1:
- version "2.17.1"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
- integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==
+commander@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.0.tgz#b990bfb8ac030aedc6d11bc04d1488ffef56db75"
+ integrity sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==
commondir@^1.0.1:
version "1.0.1"
@@ -3279,17 +3568,16 @@ compressible@~2.0.16:
dependencies:
mime-db ">= 1.40.0 < 2"
-compression-webpack-plugin@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-3.0.0.tgz#097d2e4d95c3a14cb5c8ed20899009ab5b9bbca0"
- integrity sha512-ls+oKw4eRbvaSv/hj9NmctihhBcR26j76JxV0bLRLcWhrUBdQFgd06z/Kgg7exyQvtWWP484wZxs0gIUX3NO0Q==
+compression-webpack-plugin@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-6.0.2.tgz#13482bfa81e0472e5d6af1165b6ee9f29f98178b"
+ integrity sha512-WUv7fTy2uCZKJ4iFMKJG42GDepCEocS5eqsEi8uIJZy97k/WvzxGz9dwE4+pIAkcrK4B7k+teKo71IrLu+tbqw==
dependencies:
- cacache "^11.2.0"
- find-cache-dir "^3.0.0"
- neo-async "^2.5.0"
- schema-utils "^1.0.0"
- serialize-javascript "^1.4.0"
- webpack-sources "^1.0.1"
+ cacache "^15.0.5"
+ find-cache-dir "^3.3.1"
+ schema-utils "^2.7.1"
+ serialize-javascript "^5.0.1"
+ webpack-sources "^1.4.3"
compression@^1.7.4:
version "1.7.4"
@@ -3309,7 +3597,7 @@ concat-map@0.0.1:
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
-concat-stream@^1.4.6, concat-stream@^1.5.0:
+concat-stream@^1.5.0:
version "1.6.2"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
@@ -3358,7 +3646,7 @@ content-type@~1.0.4:
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
-convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1:
+convert-source-map@^1.1.0, convert-source-map@^1.4.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20"
integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==
@@ -3399,6 +3687,11 @@ copy-descriptor@^0.1.0:
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
+core-js-pure@^3.0.0:
+ version "3.6.5"
+ resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813"
+ integrity sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==
+
core-js@^1.0.0:
version "1.2.7"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
@@ -3414,16 +3707,6 @@ core-util-is@1.0.2, core-util-is@~1.0.0:
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
-cosmiconfig@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc"
- integrity sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==
- dependencies:
- is-directory "^0.3.1"
- js-yaml "^3.9.0"
- parse-json "^4.0.0"
- require-from-string "^2.0.1"
-
cosmiconfig@^5.0.0:
version "5.0.7"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.7.tgz#39826b292ee0d78eda137dfa3173bd1c21a43b04"
@@ -3434,15 +3717,27 @@ cosmiconfig@^5.0.0:
js-yaml "^3.9.0"
parse-json "^4.0.0"
-cosmiconfig@^5.2.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
- integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
+cosmiconfig@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"
+ integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==
dependencies:
- import-fresh "^2.0.0"
- is-directory "^0.3.1"
- js-yaml "^3.13.1"
- parse-json "^4.0.0"
+ "@types/parse-json" "^4.0.0"
+ import-fresh "^3.1.0"
+ parse-json "^5.0.0"
+ path-type "^4.0.0"
+ yaml "^1.7.2"
+
+cosmiconfig@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3"
+ integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==
+ dependencies:
+ "@types/parse-json" "^4.0.0"
+ import-fresh "^3.2.1"
+ parse-json "^5.0.0"
+ path-type "^4.0.0"
+ yaml "^1.10.0"
create-ecdh@^4.0.0:
version "4.0.3"
@@ -3452,19 +3747,6 @@ create-ecdh@^4.0.0:
bn.js "^4.1.0"
elliptic "^6.0.0"
-create-emotion@^9.2.12:
- version "9.2.12"
- resolved "https://registry.yarnpkg.com/create-emotion/-/create-emotion-9.2.12.tgz#0fc8e7f92c4f8bb924b0fef6781f66b1d07cb26f"
- integrity sha512-P57uOF9NL2y98Xrbl2OuiDQUZ30GVmASsv5fbsjF4Hlraip2kyAvMm+2PoYUvFFw03Fhgtxk3RqZSm2/qHL9hA==
- dependencies:
- "@emotion/hash" "^0.6.2"
- "@emotion/memoize" "^0.6.1"
- "@emotion/stylis" "^0.7.0"
- "@emotion/unitless" "^0.6.2"
- csstype "^2.5.2"
- stylis "^3.5.0"
- stylis-rule-sheet "^0.0.10"
-
create-hash@^1.1.0, create-hash@^1.1.2:
version "1.2.0"
resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
@@ -3488,13 +3770,6 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
-cross-env@^6.0.0:
- version "6.0.3"
- resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-6.0.3.tgz#4256b71e49b3a40637a0ce70768a6ef5c72ae941"
- integrity sha512-+KqxF6LCvfhWvADcDPqo64yVIB31gv/jQulX2NGzKS/g3GEVz6/pt4wjHFtFWsHMddebWD/sDthJemzM4MaAag==
- dependencies:
- cross-spawn "^7.0.0"
-
cross-spawn@^6.0.0, cross-spawn@^6.0.5:
version "6.0.5"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
@@ -3515,6 +3790,15 @@ cross-spawn@^7.0.0:
shebang-command "^2.0.0"
which "^2.0.1"
+cross-spawn@^7.0.2:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
+ integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+ dependencies:
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
+
crypto-browserify@^3.11.0:
version "3.12.0"
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
@@ -3577,23 +3861,23 @@ css-list-helpers@^1.0.1:
dependencies:
tcomb "^2.5.0"
-css-loader@^3.0.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.2.0.tgz#bb570d89c194f763627fcf1f80059c6832d009b2"
- integrity sha512-QTF3Ud5H7DaZotgdcJjGMvyDj5F3Pn1j/sC6VBEOVp94cbwqyIBdcs/quzj4MC1BKQSrTpQznegH/5giYbhnCQ==
+css-loader@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-4.3.0.tgz#c888af64b2a5b2e85462c72c0f4a85c7e2e0821e"
+ integrity sha512-rdezjCjScIrsL8BSYszgT4s476IcNKt6yX69t0pHjJVnPUTDpn4WfIpDQTN3wCJvUvfsz/mFjuGOekf3PY3NUg==
dependencies:
- camelcase "^5.3.1"
+ camelcase "^6.0.0"
cssesc "^3.0.0"
icss-utils "^4.1.1"
- loader-utils "^1.2.3"
- normalize-path "^3.0.0"
- postcss "^7.0.17"
+ loader-utils "^2.0.0"
+ postcss "^7.0.32"
postcss-modules-extract-imports "^2.0.0"
- postcss-modules-local-by-default "^3.0.2"
- postcss-modules-scope "^2.1.0"
+ postcss-modules-local-by-default "^3.0.3"
+ postcss-modules-scope "^2.2.0"
postcss-modules-values "^3.0.0"
- postcss-value-parser "^4.0.0"
- schema-utils "^2.0.0"
+ postcss-value-parser "^4.1.0"
+ schema-utils "^2.7.1"
+ semver "^7.3.2"
css-select-base-adapter@~0.1.0:
version "0.1.1"
@@ -3763,11 +4047,6 @@ csstype@^2.2.0:
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.0.tgz#6cf7b2fa7fc32aab3d746802c244d4eda71371a2"
integrity sha512-by8hi8BlLbowQq0qtkx54d9aN73R9oUW20HISpka5kmgsR9F7nnxgfsemuR2sdCKZh+CDNf5egW9UZMm4mgJRg==
-csstype@^2.5.2:
- version "2.6.5"
- resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.5.tgz#1cd1dff742ebf4d7c991470ae71e12bb6751e034"
- integrity sha512-JsTaiksRsel5n7XwqPAfB0l3TFKdpjW/kgAELf9vrb5adGA7UCPLajKK5s3nFrcFm3Rkyp/Qkgl73ENc1UY3cA==
-
cyclist@~0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640"
@@ -3780,18 +4059,10 @@ d@1:
dependencies:
es5-ext "^0.10.9"
-d@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
- integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
- dependencies:
- es5-ext "^0.10.50"
- type "^1.0.1"
-
-damerau-levenshtein@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514"
- integrity sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=
+damerau-levenshtein@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791"
+ integrity sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==
dashdash@^1.12.0:
version "1.14.1"
@@ -3814,7 +4085,7 @@ date-now@^0.1.4:
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=
-debug@2.6.9, debug@^2.1.1, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
+debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
@@ -3842,7 +4113,15 @@ debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
dependencies:
ms "^2.1.1"
-decamelize@^1.2.0:
+decamelize-keys@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9"
+ integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=
+ dependencies:
+ decamelize "^1.1.0"
+ map-obj "^1.0.0"
+
+decamelize@^1.1.0, decamelize@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
@@ -3872,7 +4151,7 @@ deep-extend@^0.6.0:
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
-deep-is@~0.1.3:
+deep-is@^0.1.3, deep-is@~0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
@@ -3980,10 +4259,15 @@ detect-node@^2.0.4:
resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c"
integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==
-detect-passive-events@^1.0.2:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/detect-passive-events/-/detect-passive-events-1.0.4.tgz#6ed477e6e5bceb79079735dcd357789d37f9a91a"
- integrity sha1-btR35uW863kHlzXc01d4nTf5qRo=
+detect-passive-events@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/detect-passive-events/-/detect-passive-events-2.0.0.tgz#862afcd534021179bb030fac726c416f96d793b7"
+ integrity sha512-RkPvKkEzTlCeLno9Pv9DZjz1OW8QBuX56Op9KGbnHzUutgi4mA6Z1bwUUgu6LZXxpKMIQWhPW5POzbWMZUz2lA==
+
+diff-sequences@^25.2.6:
+ version "25.2.6"
+ resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd"
+ integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==
diff-sequences@^26.0.0:
version "26.0.0"
@@ -3999,6 +4283,13 @@ diffie-hellman@^5.0.0:
miller-rabin "^4.0.0"
randombytes "^2.0.0"
+dir-glob@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
+ integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
+ dependencies:
+ path-type "^4.0.0"
+
discontinuous-range@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a"
@@ -4024,7 +4315,7 @@ dns-txt@^2.0.2:
dependencies:
buffer-indexof "^1.0.0"
-doctrine@1.5.0, doctrine@^1.2.2:
+doctrine@1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=
@@ -4133,11 +4424,6 @@ dotenv@^8.0.0:
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.0.0.tgz#ed310c165b4e8a97bb745b0a9d99c31bda566440"
integrity sha512-30xVGqjLjiUOArT4+M5q9sYdvuR4riM6yK9wMcas9Vbp6zZa+ocC9dp6QoftuhTPhFAiLK/0C5Ni2nou/Bk8lg==
-double-ended-queue@^2.1.0-0:
- version "2.1.0-0"
- resolved "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c"
- integrity sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=
-
duplexer@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
@@ -4166,16 +4452,28 @@ ee-first@1.1.1:
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
-ejs@^2.3.4, ejs@^2.6.1:
+ejs@^2.3.4:
version "2.6.1"
resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0"
integrity sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==
+ejs@^3.1.5:
+ version "3.1.5"
+ resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.5.tgz#aed723844dc20acb4b170cd9ab1017e476a0d93b"
+ integrity sha512-dldq3ZfFtgVTJMLjOe+/3sROTzALlL9E34V4/sDtUd/KlBSS0s6U1/+WPE1B4sj9CXHJpL1M6rhNJnc9Wbal9w==
+ dependencies:
+ jake "^10.6.1"
+
electron-to-chromium@^1.3.137:
version "1.3.141"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.141.tgz#5858d3a74ceafe71e7824e7c809ea2cc59c8e104"
integrity sha512-DdQaeP8yQNYFdivOrp37UNAZMvyZP//+SWYMVJD31A/3gbI1J6olQs8tuRaHL2ij7dubhCDXhlE4F97mrT8KGQ==
+electron-to-chromium@^1.3.571:
+ version "1.3.578"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.578.tgz#e6671936f4571a874eb26e2e833aa0b2c0b776e0"
+ integrity sha512-z4gU6dA1CbBJsAErW5swTGAaU2TBzc2mPAonJb00zqW1rOraDo2zfBMDRvaz9cVic+0JEZiYbHWPw/fTaZlG2Q==
+
elliptic@^6.0.0:
version "6.4.1"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a"
@@ -4189,11 +4487,11 @@ elliptic@^6.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.0"
-emoji-mart@Gargron/emoji-mart#build:
- version "2.6.2"
- resolved "https://codeload.github.com/Gargron/emoji-mart/tar.gz/ff00dc470b5b2d9f145a6d6e977a54de5df2b4c9"
+"emoji-mart@https://gitlab.com/seanking2919/emoji-mart#build":
+ version "2.6.3"
+ resolved "https://gitlab.com/seanking2919/emoji-mart#4bdefa3d3ee7eb58716adc8727f688facc557291"
-emoji-regex@^7.0.1, emoji-regex@^7.0.2:
+emoji-regex@^7.0.1:
version "7.0.3"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
@@ -4203,6 +4501,11 @@ emoji-regex@^8.0.0:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+emoji-regex@^9.0.0:
+ version "9.0.0"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.0.0.tgz#48a2309cc8a1d2e9d23bc6a67c39b63032e76ea4"
+ integrity sha512-6p1NII1Vm62wni/VR/cUMauVQoxmLVb9csqQlvLz+hO2gk8U2UYDfXHQSUYIBKmZwAKz867IDqG7B+u0mj+M6w==
+
emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
@@ -4213,14 +4516,6 @@ emojis-list@^3.0.0:
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
-emotion@^9.1.2:
- version "9.2.12"
- resolved "https://registry.yarnpkg.com/emotion/-/emotion-9.2.12.tgz#53925aaa005614e65c6e43db8243c843574d1ea9"
- integrity sha512-hcx7jppaI8VoXxIWEhxpDW7I+B4kq9RNzQLmsrF6LY8BGKqe2N+gFAQr0EfuFucFlPs2A9HM4+xNj4NeqEWIOQ==
- dependencies:
- babel-plugin-emotion "^9.2.11"
- create-emotion "^9.2.12"
-
encodeurl@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
@@ -4249,6 +4544,13 @@ enhanced-resolve@^4.1.0:
memory-fs "^0.4.0"
tapable "^1.0.0"
+enquirer@^2.3.5:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
+ integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
+ dependencies:
+ ansi-colors "^4.1.1"
+
entities@^1.1.1, entities@~1.1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
@@ -4327,21 +4629,40 @@ es-abstract@^1.10.0, es-abstract@^1.12.0, es-abstract@^1.5.0, es-abstract@^1.5.1
is-callable "^1.1.3"
is-regex "^1.0.4"
-es-abstract@^1.15.0:
- version "1.16.2"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.2.tgz#4e874331645e9925edef141e74fc4bd144669d34"
- integrity sha512-jYo/J8XU2emLXl3OLwfwtuFfuF2w6DYPs+xy9ZfVyPkDcrauu6LYrw/q2TyCtrbc/KUdCiC5e9UajRhgNkVopA==
+es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.5:
+ version "1.17.7"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c"
+ integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==
dependencies:
es-to-primitive "^1.2.1"
function-bind "^1.1.1"
has "^1.0.3"
has-symbols "^1.0.1"
- is-callable "^1.1.4"
- is-regex "^1.0.4"
- object-inspect "^1.7.0"
+ is-callable "^1.2.2"
+ is-regex "^1.1.1"
+ object-inspect "^1.8.0"
object-keys "^1.1.1"
- string.prototype.trimleft "^2.1.0"
- string.prototype.trimright "^2.1.0"
+ object.assign "^4.1.1"
+ string.prototype.trimend "^1.0.1"
+ string.prototype.trimstart "^1.0.1"
+
+es-abstract@^1.18.0-next.0:
+ version "1.18.0-next.1"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68"
+ integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==
+ dependencies:
+ es-to-primitive "^1.2.1"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ has-symbols "^1.0.1"
+ is-callable "^1.2.2"
+ is-negative-zero "^2.0.0"
+ is-regex "^1.1.1"
+ object-inspect "^1.8.0"
+ object-keys "^1.1.1"
+ object.assign "^4.1.1"
+ string.prototype.trimend "^1.0.1"
+ string.prototype.trimstart "^1.0.1"
es-to-primitive@^1.1.1:
version "1.2.0"
@@ -4370,16 +4691,7 @@ es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14:
es6-symbol "~3.1.1"
next-tick "1"
-es5-ext@^0.10.46, es5-ext@^0.10.50:
- version "0.10.53"
- resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1"
- integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==
- dependencies:
- es6-iterator "~2.0.3"
- es6-symbol "~3.1.3"
- next-tick "~1.0.0"
-
-es6-iterator@^2.0.3, es6-iterator@~2.0.1, es6-iterator@~2.0.3:
+es6-iterator@~2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
@@ -4388,30 +4700,7 @@ es6-iterator@^2.0.3, es6-iterator@~2.0.1, es6-iterator@~2.0.3:
es5-ext "^0.10.35"
es6-symbol "^3.1.1"
-es6-map@^0.1.3:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0"
- integrity sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=
- dependencies:
- d "1"
- es5-ext "~0.10.14"
- es6-iterator "~2.0.1"
- es6-set "~0.1.5"
- es6-symbol "~3.1.1"
- event-emitter "~0.3.5"
-
-es6-set@~0.1.5:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1"
- integrity sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=
- dependencies:
- d "1"
- es5-ext "~0.10.14"
- es6-iterator "~2.0.1"
- es6-symbol "3.1.1"
- event-emitter "~0.3.5"
-
-es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1:
+es6-symbol@^3.1.1, es6-symbol@~3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"
integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=
@@ -4419,23 +4708,10 @@ es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1:
d "1"
es5-ext "~0.10.14"
-es6-symbol@~3.1.3:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18"
- integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==
- dependencies:
- d "^1.0.1"
- ext "^1.1.2"
-
-es6-weak-map@^2.0.1:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53"
- integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==
- dependencies:
- d "1"
- es5-ext "^0.10.46"
- es6-iterator "^2.0.3"
- es6-symbol "^3.1.1"
+escalade@^3.0.2, escalade@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.0.tgz#e8e2d7c7a8b76f6ee64c2181d6b8151441602d4e"
+ integrity sha512-mAk+hPSO8fLDkhV7V0dXazH5pDc6MrjBTPyD3VeKzxnVFjH1MIxbCdqGZB9O8+EwWakZs3ZCbDS4IpRt79V1ig==
escape-html@^1.0.3, escape-html@~1.0.3:
version "1.0.3"
@@ -4464,69 +4740,57 @@ escodegen@^1.14.1:
optionalDependencies:
source-map "~0.6.1"
-escope@^3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
- integrity sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=
- dependencies:
- es6-map "^0.1.3"
- es6-weak-map "^2.0.1"
- esrecurse "^4.1.0"
- estraverse "^4.1.1"
-
-eslint-import-resolver-node@^0.3.2:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a"
- integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==
+eslint-import-resolver-node@^0.3.4:
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717"
+ integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==
dependencies:
debug "^2.6.9"
- resolve "^1.5.0"
+ resolve "^1.13.1"
-eslint-module-utils@^2.4.1:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.5.0.tgz#cdf0b40d623032274ccd2abd7e64c4e524d6e19c"
- integrity sha512-kCo8pZaNz2dsAW7nCUjuVoI11EBXXpIzfNxmaoLhXoRDOnqXLC4iSGVRdZPhOitfbdEfMEfKOiENaK6wDPZEGw==
+eslint-module-utils@^2.6.0:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6"
+ integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==
dependencies:
debug "^2.6.9"
pkg-dir "^2.0.0"
-eslint-plugin-eslint-plugin@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-2.1.0.tgz#a7a00f15a886957d855feacaafee264f039e62d5"
- integrity sha512-kT3A/ZJftt28gbl/Cv04qezb/NQ1dwYIbi8lyf806XMxkus7DvOVCLIfTXMrorp322Pnoez7+zabXH29tADIDg==
-
-eslint-plugin-import@~2.19.0:
- version "2.19.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.19.1.tgz#5654e10b7839d064dd0d46cd1b88ec2133a11448"
- integrity sha512-x68131aKoCZlCae7rDXKSAQmbT5DQuManyXo2sK6fJJ0aK5CWAkv6A6HJZGgqC8IhjQxYPgo6/IY4Oz8AFsbBw==
+eslint-plugin-import@~2.22.0:
+ version "2.22.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702"
+ integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==
dependencies:
- array-includes "^3.0.3"
- array.prototype.flat "^1.2.1"
+ array-includes "^3.1.1"
+ array.prototype.flat "^1.2.3"
contains-path "^0.1.0"
debug "^2.6.9"
doctrine "1.5.0"
- eslint-import-resolver-node "^0.3.2"
- eslint-module-utils "^2.4.1"
+ eslint-import-resolver-node "^0.3.4"
+ eslint-module-utils "^2.6.0"
has "^1.0.3"
minimatch "^3.0.4"
- object.values "^1.1.0"
+ object.values "^1.1.1"
read-pkg-up "^2.0.0"
- resolve "^1.12.0"
+ resolve "^1.17.0"
+ tsconfig-paths "^3.9.0"
-eslint-plugin-jsx-a11y@~6.2.3:
- version "6.2.3"
- resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa"
- integrity sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg==
+eslint-plugin-jsx-a11y@~6.4.0:
+ version "6.4.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.0.tgz#64485c4d8392cb21086dbb08030505accc041158"
+ integrity sha512-zxAMaDw56XO4rg1nTbjGR/lXFamHNcaBLOhxklZdPNMO0yEfI7czmNi7j7CNU/rg8vLMQP6V+SpJaksITq5UIA==
dependencies:
- "@babel/runtime" "^7.4.5"
- aria-query "^3.0.0"
- array-includes "^3.0.3"
+ "@babel/runtime" "^7.11.2"
+ aria-query "^4.2.2"
+ array-includes "^3.1.1"
ast-types-flow "^0.0.7"
- axobject-query "^2.0.2"
- damerau-levenshtein "^1.0.4"
- emoji-regex "^7.0.2"
+ axe-core "^4.0.2"
+ axobject-query "^2.2.0"
+ damerau-levenshtein "^1.0.6"
+ emoji-regex "^9.0.0"
has "^1.0.3"
- jsx-ast-utils "^2.2.1"
+ jsx-ast-utils "^3.0.0"
+ language-tags "^1.0.5"
eslint-plugin-promise@~4.2.0:
version "4.2.1"
@@ -4538,21 +4802,22 @@ eslint-plugin-react-hooks@^4.0.4:
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.0.4.tgz#aed33b4254a41b045818cacb047b81e6df27fa58"
integrity sha512-equAdEIsUETLFNCmmCkiCGq6rkSK5MoJhXFPFYeUebcjKgBmWWcgVOqZyQC8Bv1BwVCnTq9tBxgJFgAJTWoJtA==
-eslint-plugin-react@~7.17.0:
- version "7.17.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.17.0.tgz#a31b3e134b76046abe3cd278e7482bd35a1d12d7"
- integrity sha512-ODB7yg6lxhBVMeiH1c7E95FLD4E/TwmFjltiU+ethv7KPdCwgiFuOZg9zNRHyufStTDLl/dEFqI2Q1VPmCd78A==
+eslint-plugin-react@~7.21.0:
+ version "7.21.3"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.21.3.tgz#71655d2af5155b19285ec929dd2cdc67a4470b52"
+ integrity sha512-OI4GwTCqyIb4ipaOEGLWdaOHCXZZydStAsBEPB2e1ZfNM37bojpgO1BoOQbFb0eLVz3QLDx7b+6kYcrxCuJfhw==
dependencies:
- array-includes "^3.0.3"
+ array-includes "^3.1.1"
+ array.prototype.flatmap "^1.2.3"
doctrine "^2.1.0"
- eslint-plugin-eslint-plugin "^2.1.0"
has "^1.0.3"
- jsx-ast-utils "^2.2.3"
- object.entries "^1.1.0"
- object.fromentries "^2.0.1"
- object.values "^1.1.0"
+ jsx-ast-utils "^2.4.1"
+ object.entries "^1.1.2"
+ object.fromentries "^2.0.2"
+ object.values "^1.1.1"
prop-types "^15.7.2"
- resolve "^1.13.1"
+ resolve "^1.17.0"
+ string.prototype.matchall "^4.0.2"
eslint-scope@^4.0.3:
version "4.0.3"
@@ -4562,136 +4827,94 @@ eslint-scope@^4.0.3:
esrecurse "^4.1.0"
estraverse "^4.1.1"
-eslint-scope@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9"
- integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==
+eslint-scope@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
+ integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
dependencies:
- esrecurse "^4.1.0"
+ esrecurse "^4.3.0"
estraverse "^4.1.1"
-eslint-utils@^1.4.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab"
- integrity sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==
+eslint-utils@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
+ integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
dependencies:
- eslint-visitor-keys "^1.0.0"
+ eslint-visitor-keys "^1.1.0"
eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==
-eslint@^2.7.0:
- version "2.13.1"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-2.13.1.tgz#e4cc8fa0f009fb829aaae23855a29360be1f6c11"
- integrity sha1-5MyPoPAJ+4KaquI4VaKTYL4fbBE=
- dependencies:
- chalk "^1.1.3"
- concat-stream "^1.4.6"
- debug "^2.1.1"
- doctrine "^1.2.2"
- es6-map "^0.1.3"
- escope "^3.6.0"
- espree "^3.1.6"
- estraverse "^4.2.0"
- esutils "^2.0.2"
- file-entry-cache "^1.1.1"
- glob "^7.0.3"
- globals "^9.2.0"
- ignore "^3.1.2"
- imurmurhash "^0.1.4"
- inquirer "^0.12.0"
- is-my-json-valid "^2.10.0"
- is-resolvable "^1.0.0"
- js-yaml "^3.5.1"
- json-stable-stringify "^1.0.0"
- levn "^0.3.0"
- lodash "^4.0.0"
- mkdirp "^0.5.0"
- optionator "^0.8.1"
- path-is-absolute "^1.0.0"
- path-is-inside "^1.0.1"
- pluralize "^1.2.1"
- progress "^1.1.8"
- require-uncached "^1.0.2"
- shelljs "^0.6.0"
- strip-json-comments "~1.0.1"
- table "^3.7.8"
- text-table "~0.2.0"
- user-home "^2.0.0"
+eslint-visitor-keys@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
+ integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
-eslint@^6.0.0:
- version "6.5.1"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.5.1.tgz#828e4c469697d43bb586144be152198b91e96ed6"
- integrity sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A==
+eslint@^7.0.0:
+ version "7.10.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.10.0.tgz#494edb3e4750fb791133ca379e786a8f648c72b9"
+ integrity sha512-BDVffmqWl7JJXqCjAK6lWtcQThZB/aP1HXSH1JKwGwv0LQEdvpR7qzNrUT487RM39B5goWuboFad5ovMBmD8yA==
dependencies:
"@babel/code-frame" "^7.0.0"
+ "@eslint/eslintrc" "^0.1.3"
ajv "^6.10.0"
- chalk "^2.1.0"
- cross-spawn "^6.0.5"
+ chalk "^4.0.0"
+ cross-spawn "^7.0.2"
debug "^4.0.1"
doctrine "^3.0.0"
- eslint-scope "^5.0.0"
- eslint-utils "^1.4.2"
- eslint-visitor-keys "^1.1.0"
- espree "^6.1.1"
- esquery "^1.0.1"
+ enquirer "^2.3.5"
+ eslint-scope "^5.1.1"
+ eslint-utils "^2.1.0"
+ eslint-visitor-keys "^1.3.0"
+ espree "^7.3.0"
+ esquery "^1.2.0"
esutils "^2.0.2"
file-entry-cache "^5.0.1"
functional-red-black-tree "^1.0.1"
glob-parent "^5.0.0"
- globals "^11.7.0"
+ globals "^12.1.0"
ignore "^4.0.6"
import-fresh "^3.0.0"
imurmurhash "^0.1.4"
- inquirer "^6.4.1"
is-glob "^4.0.0"
js-yaml "^3.13.1"
json-stable-stringify-without-jsonify "^1.0.1"
- levn "^0.3.0"
- lodash "^4.17.14"
+ levn "^0.4.1"
+ lodash "^4.17.19"
minimatch "^3.0.4"
- mkdirp "^0.5.1"
natural-compare "^1.4.0"
- optionator "^0.8.2"
+ optionator "^0.9.1"
progress "^2.0.0"
- regexpp "^2.0.1"
- semver "^6.1.2"
- strip-ansi "^5.2.0"
- strip-json-comments "^3.0.1"
+ regexpp "^3.1.0"
+ semver "^7.2.1"
+ strip-ansi "^6.0.0"
+ strip-json-comments "^3.1.0"
table "^5.2.3"
text-table "^0.2.0"
v8-compile-cache "^2.0.3"
-espree@^3.1.6:
- version "3.5.4"
- resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7"
- integrity sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==
+espree@^7.3.0:
+ version "7.3.0"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.0.tgz#dc30437cf67947cf576121ebd780f15eeac72348"
+ integrity sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==
dependencies:
- acorn "^5.5.0"
- acorn-jsx "^3.0.0"
-
-espree@^6.1.1:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.1.tgz#7f80e5f7257fc47db450022d723e356daeb1e5de"
- integrity sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==
- dependencies:
- acorn "^7.0.0"
- acorn-jsx "^5.0.2"
- eslint-visitor-keys "^1.1.0"
+ acorn "^7.4.0"
+ acorn-jsx "^5.2.0"
+ eslint-visitor-keys "^1.3.0"
esprima@^4.0.0, esprima@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-esquery@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
- integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==
+esquery@^1.2.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57"
+ integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==
dependencies:
- estraverse "^4.0.0"
+ estraverse "^5.1.0"
esrecurse@^4.1.0:
version "4.2.1"
@@ -4700,11 +4923,23 @@ esrecurse@^4.1.0:
dependencies:
estraverse "^4.1.0"
-estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
+esrecurse@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
+ integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
+ dependencies:
+ estraverse "^5.2.0"
+
+estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=
+estraverse@^5.1.0, estraverse@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
+ integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
+
esutils@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
@@ -4720,14 +4955,6 @@ etag@~1.8.1:
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
-event-emitter@~0.3.5:
- version "0.3.5"
- resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
- integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=
- dependencies:
- d "1"
- es5-ext "~0.10.14"
-
eventemitter3@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163"
@@ -4786,16 +5013,18 @@ execa@^4.0.0:
signal-exit "^3.0.2"
strip-final-newline "^2.0.0"
+execall@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/execall/-/execall-2.0.0.tgz#16a06b5fe5099df7d00be5d9c06eecded1663b45"
+ integrity sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==
+ dependencies:
+ clone-regexp "^2.1.0"
+
exif-js@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/exif-js/-/exif-js-2.3.0.tgz#9d10819bf571f873813e7640241255ab9ce1a814"
integrity sha1-nRCBm/Vx+HOBPnZAJBJVq5zhqBQ=
-exit-hook@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
- integrity sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=
-
exit@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
@@ -4833,7 +5062,7 @@ expect@^26.0.1:
jest-message-util "^26.0.1"
jest-regex-util "^26.0.0"
-express@^4.16.3, express@^4.17.1:
+express@^4.17.1:
version "4.17.1"
resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==
@@ -4869,13 +5098,6 @@ express@^4.16.3, express@^4.17.1:
utils-merge "1.0.1"
vary "~1.1.2"
-ext@^1.1.2:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244"
- integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==
- dependencies:
- type "^2.0.0"
-
extend-shallow@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
@@ -4891,20 +5113,11 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2:
assign-symbols "^1.0.0"
is-extendable "^1.0.1"
-extend@~3.0.2:
+extend@^3.0.0, extend@~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
-external-editor@^3.0.3:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
- integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
- dependencies:
- chardet "^0.7.0"
- iconv-lite "^0.4.24"
- tmp "^0.0.33"
-
extglob@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
@@ -4939,16 +5152,50 @@ fast-deep-equal@^3.1.1:
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4"
integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==
+fast-glob@^3.1.1, fast-glob@^3.2.4:
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3"
+ integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==
+ dependencies:
+ "@nodelib/fs.stat" "^2.0.2"
+ "@nodelib/fs.walk" "^1.2.3"
+ glob-parent "^5.1.0"
+ merge2 "^1.3.0"
+ micromatch "^4.0.2"
+ picomatch "^2.2.1"
+
+fast-json-stable-stringify@2.x:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+ integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
fast-json-stable-stringify@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
-fast-levenshtein@~2.0.4:
+fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.4:
version "2.0.6"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
+fast-memoize@^2.5.2:
+ version "2.5.2"
+ resolved "https://registry.yarnpkg.com/fast-memoize/-/fast-memoize-2.5.2.tgz#79e3bb6a4ec867ea40ba0e7146816f6cdce9b57e"
+ integrity sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==
+
+fastest-levenshtein@^1.0.12:
+ version "1.0.12"
+ resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2"
+ integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==
+
+fastq@^1.6.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481"
+ integrity sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==
+ dependencies:
+ reusify "^1.0.4"
+
faye-websocket@^0.10.0:
version "0.10.0"
resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"
@@ -4988,29 +5235,6 @@ figgy-pudding@^3.5.1:
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790"
integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==
-figures@^1.3.5:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
- integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=
- dependencies:
- escape-string-regexp "^1.0.5"
- object-assign "^4.1.0"
-
-figures@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
- integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=
- dependencies:
- escape-string-regexp "^1.0.5"
-
-file-entry-cache@^1.1.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-1.3.1.tgz#44c61ea607ae4be9c1402f41f44270cbfe334ff8"
- integrity sha1-RMYepgeuS+nBQC9B9EJwy/4zT/g=
- dependencies:
- flat-cache "^1.2.1"
- object-assign "^4.0.1"
-
file-entry-cache@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
@@ -5018,18 +5242,25 @@ file-entry-cache@^5.0.1:
dependencies:
flat-cache "^2.0.1"
-file-loader@^4.0.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.2.0.tgz#5fb124d2369d7075d70a9a5abecd12e60a95215e"
- integrity sha512-+xZnaK5R8kBJrHK0/6HRlrKNamvVS5rjyuju+rnyxRGuwUJwpAMsVzUl5dz6rK8brkzjV6JpcFNjp6NqV0g1OQ==
+file-loader@^6.0.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.1.0.tgz#65b9fcfb0ea7f65a234a1f10cdd7f1ab9a33f253"
+ integrity sha512-26qPdHyTsArQ6gU4P1HJbAbnFTyT2r0pG7czh1GFAd9TZbj0n94wWbupgixZH/ET/meqi2/5+F7DhW4OAXD+Lg==
dependencies:
- loader-utils "^1.2.3"
- schema-utils "^2.0.0"
+ loader-utils "^2.0.0"
+ schema-utils "^2.7.1"
-filesize@^3.6.1:
- version "3.6.1"
- resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317"
- integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==
+filelist@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.1.tgz#f10d1a3ae86c1694808e8f20906f43d4c9132dbb"
+ integrity sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==
+ dependencies:
+ minimatch "^3.0.4"
+
+filesize@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.1.0.tgz#e81bdaa780e2451d714d71c0d7a4f3238d37ad00"
+ integrity sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==
fill-range@^4.0.0:
version "4.0.0"
@@ -5079,20 +5310,15 @@ find-cache-dir@^2.1.0:
make-dir "^2.0.0"
pkg-dir "^3.0.0"
-find-cache-dir@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.0.0.tgz#cd4b7dd97b7185b7e17dbfe2d6e4115ee3eeb8fc"
- integrity sha512-t7ulV1fmbxh5G9l/492O1p5+EBbr3uwpt6odhFTMc+nWyhmbloe+ja9BZ8pIBtqFWhOmCWVjx+pTW4zDkFoclw==
+find-cache-dir@^3.3.1:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880"
+ integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==
dependencies:
commondir "^1.0.1"
- make-dir "^3.0.0"
+ make-dir "^3.0.2"
pkg-dir "^4.1.0"
-find-root@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
- integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
-
find-up@^2.0.0, find-up@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
@@ -5125,16 +5351,6 @@ findup-sync@^2.0.0:
micromatch "^3.0.4"
resolve-dir "^1.0.1"
-flat-cache@^1.2.1:
- version "1.3.4"
- resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz#2c2ef77525cc2929007dfffa1dd314aa9c9dee6f"
- integrity sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==
- dependencies:
- circular-json "^0.3.1"
- graceful-fs "^4.1.2"
- rimraf "~2.6.2"
- write "^0.2.1"
-
flat-cache@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
@@ -5157,13 +5373,6 @@ flush-write-stream@^1.0.0:
inherits "^2.0.1"
readable-stream "^2.0.4"
-follow-redirects@1.5.10:
- version "1.5.10"
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
- integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==
- dependencies:
- debug "=3.1.0"
-
follow-redirects@^1.0.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.6.0.tgz#d12452c031e8c67eb6637d861bfc7a8090167933"
@@ -5171,6 +5380,21 @@ follow-redirects@^1.0.0:
dependencies:
debug "=3.1.0"
+follow-redirects@^1.10.0:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db"
+ integrity sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==
+
+fontsource-montserrat@^3.0.9:
+ version "3.0.9"
+ resolved "https://registry.yarnpkg.com/fontsource-montserrat/-/fontsource-montserrat-3.0.9.tgz#ff614725c420839c4aefbca6f2b49c6224050991"
+ integrity sha512-kSE4GwWoEKJlIp0UyuoYtBvjKv5kwOTK7EvCwdQ7ukvKvgIK1LR5+GpZC5c/juonasNtFTKav67Zd7/C7m+a5w==
+
+fontsource-roboto@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/fontsource-roboto/-/fontsource-roboto-3.0.3.tgz#99c312babeabce22b3e933b3edf2951d4508f4f7"
+ integrity sha512-kfsC9qAP6XhwnSDAhg2lhWeaUJfLGXZh7GcLxFiz/4lXdkV2pVhWv2Xp9ES3b3BHdc9UuPrWXXLOphzHIStcOw==
+
for-in@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
@@ -5220,32 +5444,6 @@ from2@^2.1.0:
inherits "^2.0.1"
readable-stream "^2.0.0"
-front-matter@2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/front-matter/-/front-matter-2.1.2.tgz#f75983b9f2f413be658c93dfd7bd8ce4078f5cdb"
- integrity sha1-91mDufL0E75ljJPf172M5AePXNs=
- dependencies:
- js-yaml "^3.4.6"
-
-fs-extra@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291"
- integrity sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=
- dependencies:
- graceful-fs "^4.1.2"
- jsonfile "^3.0.0"
- universalify "^0.1.0"
-
-fs-extra@^9.0.0:
- version "9.0.1"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc"
- integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==
- dependencies:
- at-least-node "^1.0.0"
- graceful-fs "^4.2.0"
- jsonfile "^6.0.1"
- universalify "^1.0.0"
-
fs-minipass@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
@@ -5253,6 +5451,13 @@ fs-minipass@^1.2.5:
dependencies:
minipass "^2.2.1"
+fs-minipass@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
+ integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
+ dependencies:
+ minipass "^3.0.0"
+
fs-write-stream-atomic@^1.0.8:
version "1.0.10"
resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9"
@@ -5314,20 +5519,6 @@ gauge@~2.7.3:
strip-ansi "^3.0.1"
wide-align "^1.1.0"
-generate-function@^2.0.0:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f"
- integrity sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==
- dependencies:
- is-property "^1.0.2"
-
-generate-object-property@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
- integrity sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=
- dependencies:
- is-property "^1.0.0"
-
gensync@^1.0.0-beta.1:
version "1.0.0-beta.1"
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
@@ -5338,7 +5529,7 @@ get-caller-file@^1.0.1:
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==
-get-caller-file@^2.0.1:
+get-caller-file@^2.0.1, get-caller-file@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
@@ -5348,6 +5539,11 @@ get-package-type@^0.1.0:
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
+get-stdin@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53"
+ integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==
+
get-stream@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
@@ -5389,10 +5585,17 @@ glob-parent@^5.0.0:
dependencies:
is-glob "^4.0.1"
-glob@^7.0.0, glob@^7.1.4, glob@~7.1.1:
- version "7.1.6"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
- integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
+glob-parent@^5.1.0:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
+ integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
+ dependencies:
+ is-glob "^4.0.1"
+
+glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3:
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
+ integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
@@ -5401,10 +5604,10 @@ glob@^7.0.0, glob@^7.1.4, glob@~7.1.1:
once "^1.3.0"
path-is-absolute "^1.0.0"
-glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3:
- version "7.1.3"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
- integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
+glob@^7.1.4:
+ version "7.1.6"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
+ integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
@@ -5422,6 +5625,13 @@ global-modules@^1.0.0:
is-windows "^1.0.1"
resolve-dir "^1.0.0"
+global-modules@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780"
+ integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==
+ dependencies:
+ global-prefix "^3.0.0"
+
global-prefix@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
@@ -5433,20 +5643,38 @@ global-prefix@^1.0.1:
is-windows "^1.0.1"
which "^1.2.14"
+global-prefix@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97"
+ integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==
+ dependencies:
+ ini "^1.3.5"
+ kind-of "^6.0.2"
+ which "^1.3.1"
+
globals@^11.1.0:
version "11.12.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-globals@^11.7.0:
- version "11.9.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-11.9.0.tgz#bde236808e987f290768a93d065060d78e6ab249"
- integrity sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==
+globals@^12.1.0:
+ version "12.4.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"
+ integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==
+ dependencies:
+ type-fest "^0.8.1"
-globals@^9.2.0:
- version "9.18.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
- integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
+globby@^11.0.1:
+ version "11.0.1"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357"
+ integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==
+ dependencies:
+ array-union "^2.1.0"
+ dir-glob "^3.0.1"
+ fast-glob "^3.1.1"
+ ignore "^5.1.4"
+ merge2 "^1.3.0"
+ slash "^3.0.0"
globby@^6.1.0:
version "6.1.0"
@@ -5459,28 +5687,24 @@ globby@^6.1.0:
pify "^2.0.0"
pinkie-promise "^2.0.0"
-globule@^1.0.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.1.tgz#90a25338f22b7fbeb527cee63c629aea754d33b9"
- integrity sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==
- dependencies:
- glob "~7.1.1"
- lodash "~4.17.12"
- minimatch "~3.0.2"
+globjoin@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43"
+ integrity sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=
-gonzales-pe-sl@^4.2.3:
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/gonzales-pe-sl/-/gonzales-pe-sl-4.2.3.tgz#6a868bc380645f141feeb042c6f97fcc71b59fe6"
- integrity sha1-aoaLw4BkXxQf7rBCxvl/zHG1n+Y=
+gonzales-pe@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-4.3.0.tgz#fe9dec5f3c557eead09ff868c65826be54d067b3"
+ integrity sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==
dependencies:
- minimist "1.1.x"
+ minimist "^1.2.5"
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6:
+graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2:
version "4.1.15"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
-graceful-fs@^4.2.0, graceful-fs@^4.2.4:
+graceful-fs@^4.2.4:
version "4.2.4"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
@@ -5490,13 +5714,13 @@ growly@^1.3.0:
resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=
-gzip-size@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.0.0.tgz#a55ecd99222f4c48fd8c01c625ce3b349d0a0e80"
- integrity sha512-5iI7omclyqrnWw4XbXAmGhPsABkSIDQonv2K0h61lybgofWa6iZyvrI3r2zsJH4P8Nb64fFVzlvfhs0g7BBxAA==
+gzip-size@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274"
+ integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==
dependencies:
duplexer "^0.1.1"
- pify "^3.0.0"
+ pify "^4.0.1"
handle-thing@^2.0.0:
version "2.0.0"
@@ -5516,6 +5740,11 @@ har-validator@~5.1.3:
ajv "^6.5.5"
har-schema "^2.0.0"
+hard-rejection@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883"
+ integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==
+
has-ansi@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
@@ -5664,7 +5893,7 @@ homedir-polyfill@^1.0.1:
dependencies:
parse-passwd "^1.0.0"
-hoopy@^0.1.2:
+hoopy@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d"
integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==
@@ -5729,10 +5958,15 @@ html-minifier-terser@^5.0.1:
relateurl "^0.2.7"
terser "^4.6.3"
+html-tags@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140"
+ integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==
+
html-webpack-harddisk-plugin@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/html-webpack-harddisk-plugin/-/html-webpack-harddisk-plugin-1.0.1.tgz#4fc034d3440ec2a223dbe8fa1a5a2eb905e86fa5"
- integrity sha512-GWfutTqfxOe53qEKocqAFrrLVP/EJbmJZDAS5jBBmALkfyc2aakoQkSgo3fitYJORWcN0Fi8ekuySxfffhhRYw==
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/html-webpack-harddisk-plugin/-/html-webpack-harddisk-plugin-1.0.2.tgz#75aa36fb7face505b3f1efd7bfb31c06c9f19459"
+ integrity sha512-s0F0qAxug9fgztJyWWa8cUlVvgbAD/+J9Dhg22REU637DV9RhrKt0EsFBOXkRuSuwSeYLUtyLcQYpARPBZe51g==
dependencies:
mkdirp "^0.5.1"
@@ -5751,7 +5985,7 @@ html-webpack-plugin@^4.3.0:
tapable "^1.1.3"
util.promisify "1.0.0"
-htmlparser2@^3.3.0:
+htmlparser2@^3.10.0, htmlparser2@^3.3.0:
version "3.10.1"
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f"
integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==
@@ -5849,7 +6083,7 @@ human-signals@^1.1.1:
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
-iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13:
+iconv-lite@0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
@@ -5880,28 +6114,21 @@ ignore-walk@^3.0.1:
dependencies:
minimatch "^3.0.4"
-ignore@^3.1.2:
- version "3.3.10"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
- integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
-
ignore@^4.0.6:
version "4.0.6"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
+ignore@^5.1.4, ignore@^5.1.8:
+ version "5.1.8"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
+ integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
+
immutable@^4.0.0-rc.12:
version "4.0.0-rc.12"
resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0-rc.12.tgz#ca59a7e4c19ae8d9bf74a97bdf0f6e2f2a5d0217"
integrity sha512-0M2XxkZLx/mi3t8NVwIm1g8nHoEmM9p9UBl/G9k4+hm0kBgOVdMV/B3CY5dQ8qG8qc80NN4gDV4HQv6FTJ5q7A==
-import-cwd@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9"
- integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=
- dependencies:
- import-from "^2.1.0"
-
import-fresh@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
@@ -5918,12 +6145,18 @@ import-fresh@^3.0.0:
parent-module "^1.0.0"
resolve-from "^4.0.0"
-import-from@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1"
- integrity sha1-M1238qev/VOqpHHUuAId7ja387E=
+import-fresh@^3.1.0, import-fresh@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
+ integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
dependencies:
- resolve-from "^3.0.0"
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
+import-lazy@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153"
+ integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==
import-local@^2.0.0:
version "2.0.0"
@@ -5941,25 +6174,32 @@ import-local@^3.0.2:
pkg-dir "^4.2.0"
resolve-cwd "^3.0.0"
-imports-loader@^0.8.0:
- version "0.8.0"
- resolved "https://registry.yarnpkg.com/imports-loader/-/imports-loader-0.8.0.tgz#030ea51b8ca05977c40a3abfd9b4088fe0be9a69"
- integrity sha512-kXWL7Scp8KQ4552ZcdVTeaQCZSLW+e6nJfp3cwUMB673T7Hr98Xjx5JK+ql7ADlJUvj1JS5O01RLbKoutN5QDQ==
+imports-loader@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/imports-loader/-/imports-loader-1.1.0.tgz#1c3a388d0c5cd7f9eb08f3646d4aae3b70e57933"
+ integrity sha512-HcPM6rULdQ6EBLVq+5O+CF9xb7qiUjsRm6V28bTG/c3IU5sQkVZzUDwYY0r4jHvSAmVFdO9WA/vLAURR5WQSeQ==
dependencies:
- loader-utils "^1.0.2"
+ loader-utils "^2.0.0"
+ schema-utils "^2.7.0"
source-map "^0.6.1"
+ strip-comments "^2.0.1"
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
+indent-string@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
+ integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
+
indexes-of@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc=
-infer-owner@^1.0.3:
+infer-owner@^1.0.3, infer-owner@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==
@@ -5982,49 +6222,16 @@ inherits@2.0.1:
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
-ini@^1.3.4, ini@~1.3.0:
+inherits@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
version "1.3.5"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
-inquirer@^0.12.0:
- version "0.12.0"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e"
- integrity sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=
- dependencies:
- ansi-escapes "^1.1.0"
- ansi-regex "^2.0.0"
- chalk "^1.0.0"
- cli-cursor "^1.0.1"
- cli-width "^2.0.0"
- figures "^1.3.5"
- lodash "^4.3.0"
- readline2 "^1.0.1"
- run-async "^0.1.0"
- rx-lite "^3.1.2"
- string-width "^1.0.1"
- strip-ansi "^3.0.0"
- through "^2.3.6"
-
-inquirer@^6.4.1:
- version "6.5.2"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca"
- integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==
- dependencies:
- ansi-escapes "^3.2.0"
- chalk "^2.4.2"
- cli-cursor "^2.1.0"
- cli-width "^2.0.0"
- external-editor "^3.0.3"
- figures "^2.0.0"
- lodash "^4.17.12"
- mute-stream "0.0.7"
- run-async "^2.2.0"
- rxjs "^6.4.0"
- string-width "^2.1.0"
- strip-ansi "^5.1.0"
- through "^2.3.6"
-
internal-ip@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907"
@@ -6033,60 +6240,41 @@ internal-ip@^4.3.0:
default-gateway "^4.2.0"
ipaddr.js "^1.9.0"
+internal-slot@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz#9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3"
+ integrity sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==
+ dependencies:
+ es-abstract "^1.17.0-next.1"
+ has "^1.0.3"
+ side-channel "^1.0.2"
+
interpret@^1.1.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296"
integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==
-intersection-observer@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/intersection-observer/-/intersection-observer-0.7.0.tgz#ee16bee978db53516ead2f0a8154b09b400bbdc9"
- integrity sha512-Id0Fij0HsB/vKWGeBe9PxeY45ttRiBmhFyyt/geBdDHBYNctMRTE3dC1U3ujzz3lap+hVXlEcVaB56kZP/eEUg==
+intersection-observer@^0.11.0:
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/intersection-observer/-/intersection-observer-0.11.0.tgz#f4ea067070326f68393ee161cc0a2ca4c0040c6f"
+ integrity sha512-KZArj2QVnmdud9zTpKf279m2bbGfG+4/kn16UU0NL3pTVl52ZHiJ9IRNSsnn6jaHrL9EGLFM5eWjTx2fz/+zoQ==
-intl-format-cache@^4.2.2:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/intl-format-cache/-/intl-format-cache-4.2.2.tgz#4e745d4cda3aa9df2495f0493bed4c6c4ff7093d"
- integrity sha512-7tY3XadLn8rMHiYVUzH/6NmOe944nJ59LdAWuFm64/m2OfFAEkZTtTHxrEtoxq7HWFddX4aRwDb9P8KB5Z2AvQ==
-
-intl-format-cache@^4.2.36:
- version "4.2.36"
- resolved "https://registry.yarnpkg.com/intl-format-cache/-/intl-format-cache-4.2.36.tgz#d23eba77be5357c0f5efb5e059024d3a9b3576d3"
- integrity sha512-fOPm5Z0Krge7/rYq6hc1c/m8HRu9MwgnhLU7M9J4w3wHZS2RQwyZ0kpzmY9n86YRuUlcH29bGoeKDx/7D1nRhg==
-
-intl-messageformat-parser@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-3.2.1.tgz#598795221267cbbd206f1497c42ffced9b5565b6"
- integrity sha512-ajCL1k1ha0mUrutlBTo5vcTzyfdH2OoghUu8SmR7tJ1D0uifZh9Hqd3ZC2SYVv/GTfTdW//rgKonMgAhZWmwZg==
-
-intl-messageformat-parser@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-5.1.1.tgz#1f223c6c615ada46bd8902cdae7f5f7c21f08934"
- integrity sha512-KSKa+pGpxhfAtx9CptkdqGebs2/f6GWAGfoWsPe6SvxRNk6egYFfewpyH3YXwY2ZMeiZ/Q82buWZhxHKazFrBQ==
+intl-messageformat-parser@^6.0.0, intl-messageformat-parser@^6.0.8:
+ version "6.0.8"
+ resolved "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-6.0.8.tgz#4180b280d21653df7c8c078e75e0bb7f0e3322c3"
+ integrity sha512-g1nV8YVI/Nscbu3qjGGgMcq61Es7L2bI+08gcbAx3taiFMJ3oJgQhC/wYksWLsq2cvLxq5pQ5Te06CE793/iVA==
dependencies:
- "@formatjs/intl-numberformat" "^4.2.4"
+ "@formatjs/ecma402-abstract" "^1.2.3"
+ tslib "^2.0.1"
-intl-messageformat-parser@^5.1.3:
- version "5.1.3"
- resolved "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-5.1.3.tgz#bd57fffebdf832a425edd330107bbf832cdbbbb8"
- integrity sha512-bWuXkK4wzOKNHdqDHCw4+8+nKENtDs3E60hpUnh/6MXvZ0dfOtHA2LSIBLTkkE2h5Ir3V4XByW/8Bj1MBI5Ucw==
+intl-messageformat@^9.0.0, intl-messageformat@^9.3.9:
+ version "9.3.9"
+ resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-9.3.9.tgz#41f9f139adbbb509da657133047c8c5bf4ca22a9"
+ integrity sha512-SB6b68bY+RZPBhg3XTmwfX0lL3ywvOuAcS+iH6cptiHPfzOPSzP05F3ZOirARwj8pVbC9Xd4w0pMtF/sGnHurw==
dependencies:
- "@formatjs/intl-numberformat" "^4.2.6"
-
-intl-messageformat@^7.0.0:
- version "7.3.2"
- resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-7.3.2.tgz#8dcf53237faec86061ace315f36aeffe7edb4c8d"
- integrity sha512-1hSgNhnpQqNrr09lFiz/oA3jX+REBuSyXh/ePvSncUicMsREtH3j2X1tDTTFHbK5kHjI+9vcwGpDSZpP8CM/uQ==
- dependencies:
- intl-format-cache "^4.2.2"
- intl-messageformat-parser "^3.2.1"
-
-intl-messageformat@^8.3.21:
- version "8.3.21"
- resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-8.3.21.tgz#525a6597d7860a6048e16297f81f762ee8e9e10e"
- integrity sha512-zicqT9IVMwPFDATBZhkXI7y/opo3BOKcTS+vPdco7H9sGWXx0m+aAE3Irvgmfhp7gyJEmfdAxU6+6mJW49/sVw==
- dependencies:
- intl-format-cache "^4.2.36"
- intl-messageformat-parser "^5.1.1"
+ fast-memoize "^2.5.2"
+ intl-messageformat-parser "^6.0.8"
+ tslib "^2.0.1"
intl-pluralrules@^1.1.1:
version "1.1.1"
@@ -6146,6 +6334,24 @@ is-accessor-descriptor@^1.0.0:
dependencies:
kind-of "^6.0.0"
+is-alphabetical@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d"
+ integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==
+
+is-alphanumeric@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4"
+ integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=
+
+is-alphanumerical@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf"
+ integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==
+ dependencies:
+ is-alphabetical "^1.0.0"
+ is-decimal "^1.0.0"
+
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
@@ -6173,12 +6379,7 @@ is-buffer@^1.1.5:
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
-is-buffer@^2.0.2:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725"
- integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==
-
-is-buffer@^2.0.3:
+is-buffer@^2.0.0, is-buffer@^2.0.3:
version "2.0.4"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623"
integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==
@@ -6195,6 +6396,11 @@ is-callable@^1.1.3, is-callable@^1.1.4:
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==
+is-callable@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9"
+ integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==
+
is-ci@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
@@ -6233,6 +6439,11 @@ is-date-object@^1.0.1:
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=
+is-decimal@^1.0.0, is-decimal@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5"
+ integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==
+
is-descriptor@^0.1.0:
version "0.1.6"
resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
@@ -6321,21 +6532,10 @@ is-glob@^4.0.1:
dependencies:
is-extglob "^2.1.1"
-is-my-ip-valid@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824"
- integrity sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==
-
-is-my-json-valid@^2.10.0:
- version "2.20.0"
- resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.20.0.tgz#1345a6fca3e8daefc10d0fa77067f54cedafd59a"
- integrity sha512-XTHBZSIIxNsIsZXg7XB5l8z/OBFosl1Wao4tXLpeC7eKU4Vm/kdop2azkPqULwnfGQjmeDIyey9g7afMMtdWAA==
- dependencies:
- generate-function "^2.0.0"
- generate-object-property "^1.1.0"
- is-my-ip-valid "^1.0.0"
- jsonpointer "^4.0.0"
- xtend "^4.0.0"
+is-hexadecimal@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7"
+ integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
is-nan@^1.2.1:
version "1.2.1"
@@ -6344,6 +6544,11 @@ is-nan@^1.2.1:
dependencies:
define-properties "^1.1.1"
+is-negative-zero@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461"
+ integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=
+
is-number-object@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.3.tgz#f265ab89a9f445034ef6aff15a8f00b00f551799"
@@ -6385,11 +6590,16 @@ is-path-inside@^2.1.0:
dependencies:
path-is-inside "^1.0.2"
-is-plain-obj@^1.0.0:
+is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
+is-plain-obj@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
+ integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
+
is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
@@ -6402,16 +6612,6 @@ is-potential-custom-element-name@^1.0.0:
resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397"
integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c=
-is-promise@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
- integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=
-
-is-property@^1.0.0, is-property@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
- integrity sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=
-
is-regex@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
@@ -6419,6 +6619,18 @@ is-regex@^1.0.4:
dependencies:
has "^1.0.1"
+is-regex@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9"
+ integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==
+ dependencies:
+ has-symbols "^1.0.1"
+
+is-regexp@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d"
+ integrity sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==
+
is-resolvable@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
@@ -6439,6 +6651,11 @@ is-string@^1.0.4:
resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.4.tgz#cc3a9b69857d621e963725a24caeec873b826e64"
integrity sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ=
+is-string@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
+ integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==
+
is-subset@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6"
@@ -6463,11 +6680,21 @@ is-typedarray@^1.0.0, is-typedarray@~1.0.0:
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
+is-whitespace-character@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7"
+ integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==
+
is-windows@^1.0.1, is-windows@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
+is-word-character@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230"
+ integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==
+
is-wsl@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
@@ -6520,29 +6747,11 @@ isstream@~0.1.2:
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
-istanbul-lib-coverage@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#0b891e5ad42312c2b9488554f603795f9a2211ba"
- integrity sha512-dKWuzRGCs4G+67VfW9pBFFz2Jpi4vSp/k7zBcJ888ofV5Mi1g5CUML5GvMvV6u9Cjybftu+E8Cgp+k0dI1E5lw==
-
istanbul-lib-coverage@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec"
integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==
-istanbul-lib-instrument@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.1.0.tgz#a2b5484a7d445f1f311e93190813fa56dfb62971"
- integrity sha512-ooVllVGT38HIk8MxDj/OIHXSYvH+1tq/Vb38s8ixt9GoJadXska4WkGY+0wkmtYCZNYtaARniH/DixUGGLZ0uA==
- dependencies:
- "@babel/generator" "^7.0.0"
- "@babel/parser" "^7.0.0"
- "@babel/template" "^7.0.0"
- "@babel/traverse" "^7.0.0"
- "@babel/types" "^7.0.0"
- istanbul-lib-coverage "^2.0.3"
- semver "^5.5.0"
-
istanbul-lib-instrument@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d"
@@ -6579,6 +6788,16 @@ istanbul-reports@^3.0.2:
html-escaper "^2.0.0"
istanbul-lib-report "^3.0.0"
+jake@^10.6.1:
+ version "10.8.2"
+ resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b"
+ integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==
+ dependencies:
+ async "0.9.x"
+ chalk "^2.4.2"
+ filelist "^1.0.1"
+ minimatch "^3.0.4"
+
jest-changed-files@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.0.1.tgz#1334630c6a1ad75784120f39c3aa9278e59f349f"
@@ -6631,6 +6850,16 @@ jest-config@^26.0.1:
micromatch "^4.0.2"
pretty-format "^26.0.1"
+jest-diff@^25.2.1:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9"
+ integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==
+ dependencies:
+ chalk "^3.0.0"
+ diff-sequences "^25.2.6"
+ jest-get-type "^25.2.6"
+ pretty-format "^25.5.0"
+
jest-diff@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.0.1.tgz#c44ab3cdd5977d466de69c46929e0e57f89aa1de"
@@ -6682,30 +6911,16 @@ jest-environment-node@^26.0.1:
jest-mock "^26.0.1"
jest-util "^26.0.1"
+jest-get-type@^25.2.6:
+ version "25.2.6"
+ resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877"
+ integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==
+
jest-get-type@^26.0.0:
version "26.0.0"
resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.0.0.tgz#381e986a718998dbfafcd5ec05934be538db4039"
integrity sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==
-jest-haste-map@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.8.0.tgz#51794182d877b3ddfd6e6d23920e3fe72f305800"
- integrity sha512-ZBPRGHdPt1rHajWelXdqygIDpJx8u3xOoLyUBWRW28r3tagrgoepPrzAozW7kW9HrQfhvmiv1tncsxqHJO1onQ==
- dependencies:
- "@jest/types" "^24.8.0"
- anymatch "^2.0.0"
- fb-watchman "^2.0.0"
- graceful-fs "^4.1.15"
- invariant "^2.2.4"
- jest-serializer "^24.4.0"
- jest-util "^24.8.0"
- jest-worker "^24.6.0"
- micromatch "^3.1.10"
- sane "^4.0.3"
- walker "^1.0.7"
- optionalDependencies:
- fsevents "^1.2.7"
-
jest-haste-map@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.0.1.tgz#40dcc03c43ac94d25b8618075804d09cd5d49de7"
@@ -6726,6 +6941,27 @@ jest-haste-map@^26.0.1:
optionalDependencies:
fsevents "^2.1.2"
+jest-haste-map@^26.5.2:
+ version "26.5.2"
+ resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.5.2.tgz#a15008abfc502c18aa56e4919ed8c96304ceb23d"
+ integrity sha512-lJIAVJN3gtO3k4xy+7i2Xjtwh8CfPcH08WYjZpe9xzveDaqGw9fVNCpkYu6M525wKFVkLmyi7ku+DxCAP1lyMA==
+ dependencies:
+ "@jest/types" "^26.5.2"
+ "@types/graceful-fs" "^4.1.2"
+ "@types/node" "*"
+ anymatch "^3.0.3"
+ fb-watchman "^2.0.0"
+ graceful-fs "^4.2.4"
+ jest-regex-util "^26.0.0"
+ jest-serializer "^26.5.0"
+ jest-util "^26.5.2"
+ jest-worker "^26.5.0"
+ micromatch "^4.0.2"
+ sane "^4.0.3"
+ walker "^1.0.7"
+ optionalDependencies:
+ fsevents "^2.1.2"
+
jest-jasmine2@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.0.1.tgz#947c40ee816636ba23112af3206d6fa7b23c1c1c"
@@ -6767,20 +7003,6 @@ jest-matcher-utils@^26.0.1:
jest-get-type "^26.0.0"
pretty-format "^26.0.1"
-jest-message-util@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.8.0.tgz#0d6891e72a4beacc0292b638685df42e28d6218b"
- integrity sha512-p2k71rf/b6ns8btdB0uVdljWo9h0ovpnEe05ZKWceQGfXYr4KkzgKo3PBi8wdnd9OtNh46VpNIJynUn/3MKm1g==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- "@jest/test-result" "^24.8.0"
- "@jest/types" "^24.8.0"
- "@types/stack-utils" "^1.0.1"
- chalk "^2.0.1"
- micromatch "^3.1.10"
- slash "^2.0.0"
- stack-utils "^1.0.1"
-
jest-message-util@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.0.1.tgz#07af1b42fc450b4cc8e90e4c9cef11b33ce9b0ac"
@@ -6795,13 +7017,6 @@ jest-message-util@^26.0.1:
slash "^3.0.0"
stack-utils "^2.0.2"
-jest-mock@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.8.0.tgz#2f9d14d37699e863f1febf4e4d5a33b7fdbbde56"
- integrity sha512-6kWugwjGjJw+ZkK4mDa0Df3sDlUTsV47MSrT0nGQ0RBWJbpODDQ8MHDVtGtUYBne3IwZUhtB7elxHspU79WH3A==
- dependencies:
- "@jest/types" "^24.8.0"
-
jest-mock@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.0.1.tgz#7fd1517ed4955397cf1620a771dc2d61fad8fd40"
@@ -6814,11 +7029,6 @@ jest-pnp-resolver@^1.2.1:
resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a"
integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==
-jest-regex-util@^24.3.0:
- version "24.3.0"
- resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36"
- integrity sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg==
-
jest-regex-util@^26.0.0:
version "26.0.0"
resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28"
@@ -6904,11 +7114,6 @@ jest-runtime@^26.0.1:
strip-bom "^4.0.0"
yargs "^15.3.1"
-jest-serializer@^24.4.0:
- version "24.4.0"
- resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.4.0.tgz#f70c5918c8ea9235ccb1276d232e459080588db3"
- integrity sha512-k//0DtglVstc1fv+GY/VHDIjrtNjdYvYjMlbLUed4kxrE92sIUewOi5Hj3vrpB8CXfkJntRPDRjCrCvUhBdL8Q==
-
jest-serializer@^26.0.0:
version "26.0.0"
resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.0.0.tgz#f6c521ddb976943b93e662c0d4d79245abec72a3"
@@ -6916,6 +7121,14 @@ jest-serializer@^26.0.0:
dependencies:
graceful-fs "^4.2.4"
+jest-serializer@^26.5.0:
+ version "26.5.0"
+ resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.5.0.tgz#f5425cc4c5f6b4b355f854b5f0f23ec6b962bc13"
+ integrity sha512-+h3Gf5CDRlSLdgTv7y0vPIAoLgX/SI7T4v6hy+TEXMgYbv+ztzbg5PSN6mUXAT/hXYHvZRWm+MaObVfqkhCGxA==
+ dependencies:
+ "@types/node" "*"
+ graceful-fs "^4.2.4"
+
jest-snapshot@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.0.1.tgz#1baa942bd83d47b837a84af7fcf5fd4a236da399"
@@ -6937,24 +7150,6 @@ jest-snapshot@^26.0.1:
pretty-format "^26.0.1"
semver "^7.3.2"
-jest-util@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.8.0.tgz#41f0e945da11df44cc76d64ffb915d0716f46cd1"
- integrity sha512-DYZeE+XyAnbNt0BG1OQqKy/4GVLPtzwGx5tsnDrFcax36rVE3lTA5fbvgmbVPUZf9w77AJ8otqR4VBbfFJkUZA==
- dependencies:
- "@jest/console" "^24.7.1"
- "@jest/fake-timers" "^24.8.0"
- "@jest/source-map" "^24.3.0"
- "@jest/test-result" "^24.8.0"
- "@jest/types" "^24.8.0"
- callsites "^3.0.0"
- chalk "^2.0.1"
- graceful-fs "^4.1.15"
- is-ci "^2.0.0"
- mkdirp "^0.5.1"
- slash "^2.0.0"
- source-map "^0.6.0"
-
jest-util@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.0.1.tgz#72c4c51177b695fdd795ca072a6f94e3d7cef00a"
@@ -6966,6 +7161,18 @@ jest-util@^26.0.1:
is-ci "^2.0.0"
make-dir "^3.0.0"
+jest-util@^26.1.0, jest-util@^26.5.2:
+ version "26.5.2"
+ resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.5.2.tgz#8403f75677902cc52a1b2140f568e91f8ed4f4d7"
+ integrity sha512-WTL675bK+GSSAYgS8z9FWdCT2nccO1yTIplNLPlP0OD8tUk/H5IrWKMMRudIQQ0qp8bb4k+1Qa8CxGKq9qnYdg==
+ dependencies:
+ "@jest/types" "^26.5.2"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ graceful-fs "^4.2.4"
+ is-ci "^2.0.0"
+ micromatch "^4.0.2"
+
jest-validate@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.0.1.tgz#a62987e1da5b7f724130f904725e22f4e5b2e23c"
@@ -6990,14 +7197,6 @@ jest-watcher@^26.0.1:
jest-util "^26.0.1"
string-length "^4.0.1"
-jest-worker@^24.6.0:
- version "24.6.0"
- resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.6.0.tgz#7f81ceae34b7cde0c9827a6980c35b7cdc0161b3"
- integrity sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ==
- dependencies:
- merge-stream "^1.0.1"
- supports-color "^6.1.0"
-
jest-worker@^26.0.0:
version "26.0.0"
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.0.0.tgz#4920c7714f0a96c6412464718d0c58a3df3fb066"
@@ -7006,6 +7205,15 @@ jest-worker@^26.0.0:
merge-stream "^2.0.0"
supports-color "^7.0.0"
+jest-worker@^26.5.0:
+ version "26.5.0"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.5.0.tgz#87deee86dbbc5f98d9919e0dadf2c40e3152fa30"
+ integrity sha512-kTw66Dn4ZX7WpjZ7T/SUDgRhapFRKWmisVAF0Rv4Fu8SLFD7eLbqpLvbxVqYhSgaWa7I+bW7pHnbyfNsH6stug==
+ dependencies:
+ "@types/node" "*"
+ merge-stream "^2.0.0"
+ supports-color "^7.0.0"
+
jest@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest/-/jest-26.0.1.tgz#5c51a2e58dff7525b65f169721767173bf832694"
@@ -7030,7 +7238,7 @@ js-levenshtein@^1.1.3:
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-js-yaml@^3.12.0, js-yaml@^3.13.1, js-yaml@^3.4.6, js-yaml@^3.5.1, js-yaml@^3.5.4, js-yaml@^3.9.0:
+js-yaml@^3.12.0, js-yaml@^3.13.1, js-yaml@^3.9.0:
version "3.13.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
@@ -7105,7 +7313,7 @@ json-stable-stringify-without-jsonify@^1.0.1:
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
-json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1:
+json-stable-stringify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=
@@ -7122,6 +7330,13 @@ json3@^3.3.2:
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
integrity sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=
+json5@2.x, json5@^2.1.2:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
+ integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
+ dependencies:
+ minimist "^1.2.5"
+
json5@^0.5.0:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
@@ -7141,39 +7356,11 @@ json5@^2.1.0:
dependencies:
minimist "^1.2.0"
-json5@^2.1.2:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
- integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
- dependencies:
- minimist "^1.2.5"
-
-jsonfile@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66"
- integrity sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=
- optionalDependencies:
- graceful-fs "^4.1.6"
-
-jsonfile@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179"
- integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==
- dependencies:
- universalify "^1.0.0"
- optionalDependencies:
- graceful-fs "^4.1.6"
-
jsonify@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=
-jsonpointer@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
- integrity sha1-T9kss04OnbPInIYi7PUfm5eMbLk=
-
jsprim@^1.2.2:
version "1.4.1"
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
@@ -7184,21 +7371,21 @@ jsprim@^1.2.2:
json-schema "0.2.3"
verror "1.10.0"
-jsx-ast-utils@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz#4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb"
- integrity sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ==
+jsx-ast-utils@^2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz#1114a4c1209481db06c690c2b4f488cc665f657e"
+ integrity sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==
dependencies:
- array-includes "^3.0.3"
+ array-includes "^3.1.1"
object.assign "^4.1.0"
-jsx-ast-utils@^2.2.3:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz#8a9364e402448a3ce7f14d357738310d9248054f"
- integrity sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA==
+jsx-ast-utils@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.1.0.tgz#642f1d7b88aa6d7eb9d8f2210e166478444fa891"
+ integrity sha512-d4/UOjg+mxAWxCiF0c5UTSwyqbchkbqCvK87aBovhnh8GtysTjWmgC63tY0cJx/HzGgm9qnA147jVBdpOiQ2RA==
dependencies:
- array-includes "^3.0.3"
- object.assign "^4.1.0"
+ array-includes "^3.1.1"
+ object.assign "^4.1.1"
keycode@^2.1.7:
version "2.2.0"
@@ -7234,20 +7421,37 @@ kind-of@^6.0.0, kind-of@^6.0.2:
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==
+kind-of@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
+ integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
+
kleur@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.2.tgz#83c7ec858a41098b613d5998a7b653962b504f68"
integrity sha512-3h7B2WRT5LNXOtQiAaWonilegHcPSf9nLVXlSTci8lu1dZUuui61+EsPEZqSVxY7rXYmB2DVKMQILxaO5WL61Q==
-knot.js@^1.1.5:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/knot.js/-/knot.js-1.1.5.tgz#28e72522f703f50fe98812fde224dd72728fef5d"
- integrity sha1-KOclIvcD9Q/piBL94iTdcnKP710=
+klona@^2.0.3, klona@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0"
+ integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==
-known-css-properties@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.3.0.tgz#a3d135bbfc60ee8c6eacf2f7e7e6f2d4755e49a4"
- integrity sha512-QMQcnKAiQccfQTqtBh/qwquGZ2XK/DXND1jrcN9M8gMMy99Gwla7GQjndVUsEqIaRyP6bsFRuhwRj5poafBGJQ==
+known-css-properties@^0.19.0:
+ version "0.19.0"
+ resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.19.0.tgz#5d92b7fa16c72d971bda9b7fe295bdf61836ee5b"
+ integrity sha512-eYboRV94Vco725nKMlpkn3nV2+96p9c3gKXRsYqAJSswSENvBhN7n5L+uDhY58xQa0UukWsDMTGELzmD8Q+wTA==
+
+language-subtag-registry@~0.3.2:
+ version "0.3.20"
+ resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.20.tgz#a00a37121894f224f763268e431c55556b0c0755"
+ integrity sha512-KPMwROklF4tEx283Xw0pNKtfTj1gZ4UByp4EsIFWLgBavJltF4TiYPc39k06zSTsLzxTVXXDSpbwaQXaFB4Qeg==
+
+language-tags@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a"
+ integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=
+ dependencies:
+ language-subtag-registry "~0.3.2"
lcid@^2.0.0:
version "2.0.0"
@@ -7261,7 +7465,15 @@ leven@^3.1.0:
resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
-levn@^0.3.0, levn@~0.3.0:
+levn@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
+ integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
+ dependencies:
+ prelude-ls "^1.2.1"
+ type-check "~0.4.0"
+
+levn@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
@@ -7269,6 +7481,14 @@ levn@^0.3.0, levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
+line-column@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/line-column/-/line-column-1.0.2.tgz#d25af2936b6f4849172b312e4792d1d987bc34a2"
+ integrity sha1-0lryk2tvSEkXKzEuR5LR2Ye8NKI=
+ dependencies:
+ isarray "^1.0.0"
+ isobject "^2.0.0"
+
lines-and-columns@^1.1.6:
version "1.1.6"
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
@@ -7284,16 +7504,6 @@ load-json-file@^2.0.0:
pify "^2.0.0"
strip-bom "^3.0.0"
-load-json-file@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
- integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs=
- dependencies:
- graceful-fs "^4.1.2"
- parse-json "^4.0.0"
- pify "^3.0.0"
- strip-bom "^3.0.0"
-
loader-runner@^2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
@@ -7318,6 +7528,15 @@ loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3:
emojis-list "^2.0.0"
json5 "^1.0.1"
+loader-utils@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0"
+ integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==
+ dependencies:
+ big.js "^5.2.2"
+ emojis-list "^3.0.0"
+ json5 "^2.1.2"
+
locate-path@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
@@ -7341,16 +7560,6 @@ locate-path@^5.0.0:
dependencies:
p-locate "^4.1.0"
-lodash.capitalize@^4.1.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz#f826c9b4e2a8511d84e3aca29db05e1a4f3b72a9"
- integrity sha1-+CbJtOKoUR2E46yinbBeGk87cqk=
-
-lodash.defaults@^4.0.1:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
- integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=
-
lodash.escape@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz#c9044690c21e04294beaa517712fded1fa88de98"
@@ -7391,12 +7600,7 @@ lodash.isplainobject@^4.0.6:
resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=
-lodash.kebabcase@^4.0.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36"
- integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY=
-
-lodash.memoize@^4.1.2:
+lodash.memoize@4.x, lodash.memoize@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
@@ -7411,26 +7615,43 @@ lodash.uniq@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
-lodash@^4.0.0, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.3.0, lodash@~4.17.12:
- version "4.17.15"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
- integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
-
lodash@^4.0.1:
version "4.17.19"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==
-lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.5, lodash@^4.7.11:
+lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.7.11:
version "4.17.11"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
+lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15:
+ version "4.17.15"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
+ integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
+
+lodash@^4.17.19, lodash@^4.17.20:
+ version "4.17.20"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
+ integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
+
+log-symbols@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920"
+ integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==
+ dependencies:
+ chalk "^4.0.0"
+
loglevel@^1.6.2:
version "1.6.2"
resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.2.tgz#668c77948a03dbd22502a3513ace1f62a80cc372"
integrity sha512-Jt2MHrCNdtIe1W6co3tF5KXGRkzF+TYffiQstfXa04mrss9IKXzAAXYWak8LbZseAQY03sH2GzMCMU0ZOUc9bg==
+longest-streak@^2.0.1:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4"
+ integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==
+
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
@@ -7452,6 +7673,13 @@ lru-cache@^5.1.1:
dependencies:
yallist "^3.0.2"
+lru-cache@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+ integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+ dependencies:
+ yallist "^4.0.0"
+
make-dir@^1.0.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
@@ -7474,6 +7702,18 @@ make-dir@^3.0.0:
dependencies:
semver "^6.0.0"
+make-dir@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
+ integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
+ dependencies:
+ semver "^6.0.0"
+
+make-error@1.x:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
+ integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
+
make-plural@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/make-plural/-/make-plural-6.0.1.tgz#ed3839fac3f469ebbe505751d48fe3319769edfc"
@@ -7503,6 +7743,16 @@ map-cache@^0.2.2:
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
+map-obj@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
+ integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
+
+map-obj@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.1.0.tgz#b91221b542734b9f14256c0132c897c5d7256fd5"
+ integrity sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==
+
map-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
@@ -7515,6 +7765,18 @@ mark-loader@^0.1.6:
resolved "https://registry.yarnpkg.com/mark-loader/-/mark-loader-0.1.6.tgz#0abb477dca7421d70e20128ff6489f5cae8676d5"
integrity sha1-CrtHfcp0IdcOIBKP9kifXK6GdtU=
+markdown-escapes@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535"
+ integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==
+
+markdown-table@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b"
+ integrity sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==
+ dependencies:
+ repeat-string "^1.0.0"
+
marky@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/marky/-/marky-1.2.1.tgz#a3fcf82ffd357756b8b8affec9fdbf3a30dc1b02"
@@ -7525,6 +7787,11 @@ material-colors@^1.2.1:
resolved "https://registry.yarnpkg.com/material-colors/-/material-colors-1.2.6.tgz#6d1958871126992ceecc72f4bcc4d8f010865f46"
integrity sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==
+mathml-tag-names@^2.1.3:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3"
+ integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==
+
md5.js@^1.3.4:
version "1.3.5"
resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
@@ -7534,6 +7801,13 @@ md5.js@^1.3.4:
inherits "^2.0.1"
safe-buffer "^5.1.2"
+mdast-util-compact@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz#cabc69a2f43103628326f35b1acf735d55c99490"
+ integrity sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==
+ dependencies:
+ unist-util-visit "^2.0.0"
+
mdn-data@~1.1.0:
version "1.1.4"
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01"
@@ -7553,11 +7827,6 @@ mem@^4.0.0:
mimic-fn "^1.0.0"
p-is-promise "^1.1.0"
-memoize-one@^5.0.0:
- version "5.0.4"
- resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.0.4.tgz#005928aced5c43d890a4dfab18ca908b0ec92cbc"
- integrity sha512-P0z5IeAH6qHHGkJIXWw0xC2HNEgkx/9uWWBQw64FJj3/ol14VYdfVGWWr0fXfjhhv3TKVIqUq65os6O4GUNksA==
-
memory-fs@^0.4.0, memory-fs@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
@@ -7566,27 +7835,37 @@ memory-fs@^0.4.0, memory-fs@^0.4.1:
errno "^0.1.3"
readable-stream "^2.0.1"
+meow@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306"
+ integrity sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==
+ dependencies:
+ "@types/minimist" "^1.2.0"
+ camelcase-keys "^6.2.2"
+ decamelize-keys "^1.1.0"
+ hard-rejection "^2.1.0"
+ minimist-options "4.1.0"
+ normalize-package-data "^2.5.0"
+ read-pkg-up "^7.0.1"
+ redent "^3.0.0"
+ trim-newlines "^3.0.0"
+ type-fest "^0.13.1"
+ yargs-parser "^18.1.3"
+
merge-descriptors@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
-merge-stream@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1"
- integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=
- dependencies:
- readable-stream "^2.0.1"
-
merge-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
-merge@^1.2.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145"
- integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==
+merge2@^1.3.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+ integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
methods@~1.1.2:
version "1.1.2"
@@ -7672,14 +7951,19 @@ mimic-fn@^2.1.0:
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
-mini-css-extract-plugin@^0.8.0:
- version "0.8.0"
- resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz#81d41ec4fe58c713a96ad7c723cdb2d0bd4d70e1"
- integrity sha512-MNpRGbNA52q6U92i0qbVpQNsgk7LExy41MdAlG84FeytfDOtRIf/mCHdEgG8rpTKOaNKiqUnZdlptF469hxqOw==
+min-indent@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
+ integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
+
+mini-css-extract-plugin@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.0.0.tgz#4afb39f3d97b1b92eacb1ac45025416089f831bd"
+ integrity sha512-IsmrPv1nkdSUtFCDrAsuv5kg0k/27sLxfXqSz8vLjnbRKrNgoRdQrUNA4MppawvD+GHLkNP6L1P93Bw50ALkbg==
dependencies:
- loader-utils "^1.1.0"
+ loader-utils "^2.0.0"
normalize-url "1.9.1"
- schema-utils "^1.0.0"
+ schema-utils "^3.0.0"
webpack-sources "^1.1.0"
minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
@@ -7692,23 +7976,27 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
-minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2:
+minimatch@^3.0.3, minimatch@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
dependencies:
brace-expansion "^1.1.7"
+minimist-options@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619"
+ integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==
+ dependencies:
+ arrify "^1.0.1"
+ is-plain-obj "^1.1.0"
+ kind-of "^6.0.3"
+
minimist@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
-minimist@1.1.x:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8"
- integrity sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag=
-
minimist@^1.1.1, minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
@@ -7719,6 +8007,27 @@ minimist@^1.2.5:
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
+minipass-collect@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617"
+ integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==
+ dependencies:
+ minipass "^3.0.0"
+
+minipass-flush@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373"
+ integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==
+ dependencies:
+ minipass "^3.0.0"
+
+minipass-pipeline@^1.2.2:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c"
+ integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==
+ dependencies:
+ minipass "^3.0.0"
+
minipass@^2.2.1, minipass@^2.3.4:
version "2.3.5"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848"
@@ -7727,6 +8036,13 @@ minipass@^2.2.1, minipass@^2.3.4:
safe-buffer "^5.1.2"
yallist "^3.0.0"
+minipass@^3.0.0, minipass@^3.1.1:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd"
+ integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==
+ dependencies:
+ yallist "^4.0.0"
+
minizlib@^1.1.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614"
@@ -7734,6 +8050,14 @@ minizlib@^1.1.1:
dependencies:
minipass "^2.2.1"
+minizlib@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931"
+ integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==
+ dependencies:
+ minipass "^3.0.0"
+ yallist "^4.0.0"
+
mississippi@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
@@ -7758,13 +8082,25 @@ mixin-deep@^1.2.0:
for-in "^1.0.2"
is-extendable "^1.0.1"
-mkdirp@0.5.x, mkdirp@^0.5, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:
+mkdirp@0.5.x, mkdirp@^0.5, mkdirp@^0.5.0, mkdirp@~0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
dependencies:
minimist "0.0.8"
+mkdirp@1.x, mkdirp@^1.0.3, mkdirp@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
+ integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+
+mkdirp@^0.5.1:
+ version "0.5.5"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
+ integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
+ dependencies:
+ minimist "^1.2.5"
+
moo@^0.4.3:
version "0.4.3"
resolved "https://registry.yarnpkg.com/moo/-/moo-0.4.3.tgz#3f847a26f31cf625a956a87f2b10fbc013bfd10e"
@@ -7815,21 +8151,16 @@ multicast-dns@^6.0.1:
dns-packet "^1.3.1"
thunky "^1.0.2"
-mute-stream@0.0.5:
- version "0.0.5"
- resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
- integrity sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=
-
-mute-stream@0.0.7:
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
- integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
-
nan@^2.12.1:
version "2.14.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==
+nanoid@^3.1.12:
+ version "3.1.12"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.12.tgz#6f7736c62e8d39421601e4a0c77623a97ea69654"
+ integrity sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==
+
nanomatch@^1.2.9:
version "1.2.13"
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
@@ -7887,7 +8218,12 @@ neo-async@^2.6.1:
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c"
integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==
-next-tick@1, next-tick@~1.0.0:
+neo-async@^2.6.2:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
+ integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
+
+next-tick@1:
version "1.0.0"
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=
@@ -7992,6 +8328,11 @@ node-releases@^1.1.21:
dependencies:
semver "^5.3.0"
+node-releases@^1.1.61:
+ version "1.1.61"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.61.tgz#707b0fca9ce4e11783612ba4a2fcba09047af16e"
+ integrity sha512-DD5vebQLg8jLCOzwupn954fbIiZht05DAZs0k2u8NStSe6h9XdsuIQL8hSRKYiU8WUQRznmSDrKGbv3ObOmC7g==
+
nopt@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
@@ -8000,13 +8341,6 @@ nopt@^4.0.1:
abbrev "1"
osenv "^0.1.4"
-nopt@~1.0.10:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
- integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=
- dependencies:
- abbrev "1"
-
normalize-package-data@^2.3.2:
version "2.4.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f"
@@ -8044,6 +8378,11 @@ normalize-range@^0.1.2:
resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=
+normalize-selector@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/normalize-selector/-/normalize-selector-0.2.0.tgz#d0b145eb691189c63a78d201dc4fdb1293ef0c03"
+ integrity sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=
+
normalize-url@1.9.1:
version "1.9.1"
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c"
@@ -8086,7 +8425,7 @@ npm-run-path@^4.0.0:
dependencies:
path-key "^3.0.0"
-npmlog@^4.0.2, npmlog@^4.1.2:
+npmlog@^4.0.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
@@ -8147,10 +8486,10 @@ object-inspect@^1.6.0:
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b"
integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==
-object-inspect@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67"
- integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==
+object-inspect@^1.8.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0"
+ integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==
object-is@^1.0.1:
version "1.0.1"
@@ -8184,7 +8523,17 @@ object.assign@^4.1.0:
has-symbols "^1.0.0"
object-keys "^1.0.11"
-object.entries@^1.0.4, object.entries@^1.1.0:
+object.assign@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.1.tgz#303867a666cdd41936ecdedfb1f8f3e32a478cdd"
+ integrity sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.18.0-next.0"
+ has-symbols "^1.0.1"
+ object-keys "^1.1.1"
+
+object.entries@^1.0.4:
version "1.1.0"
resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519"
integrity sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==
@@ -8194,13 +8543,22 @@ object.entries@^1.0.4, object.entries@^1.1.0:
function-bind "^1.1.1"
has "^1.0.3"
-object.fromentries@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.1.tgz#050f077855c7af8ae6649f45c80b16ee2d31e704"
- integrity sha512-PUQv8Hbg3j2QX0IQYv3iAGCbGcu4yY4KQ92/dhA4sFSixBmSmp13UpDLs6jGK8rBtbmhNNIK99LD2k293jpiGA==
+object.entries@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add"
+ integrity sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==
dependencies:
define-properties "^1.1.3"
- es-abstract "^1.15.0"
+ es-abstract "^1.17.5"
+ has "^1.0.3"
+
+object.fromentries@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9"
+ integrity sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
function-bind "^1.1.1"
has "^1.0.3"
@@ -8229,6 +8587,16 @@ object.values@^1.0.4, object.values@^1.1.0:
function-bind "^1.1.1"
has "^1.0.3"
+object.values@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e"
+ integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+
obuf@^1.0.0, obuf@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
@@ -8264,18 +8632,6 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0:
dependencies:
wrappy "1"
-onetime@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
- integrity sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=
-
-onetime@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
- integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=
- dependencies:
- mimic-fn "^1.0.0"
-
onetime@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5"
@@ -8283,10 +8639,10 @@ onetime@^5.1.0:
dependencies:
mimic-fn "^2.1.0"
-opener@^1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed"
- integrity sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==
+opener@^1.5.2:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598"
+ integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==
opn@^5.5.0:
version "5.5.0"
@@ -8295,7 +8651,7 @@ opn@^5.5.0:
dependencies:
is-wsl "^1.1.0"
-optionator@^0.8.1, optionator@^0.8.2:
+optionator@^0.8.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=
@@ -8307,6 +8663,18 @@ optionator@^0.8.1, optionator@^0.8.2:
type-check "~0.3.2"
wordwrap "~1.0.0"
+optionator@^0.9.1:
+ version "0.9.1"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
+ integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
+ dependencies:
+ deep-is "^0.1.3"
+ fast-levenshtein "^2.0.6"
+ levn "^0.4.1"
+ prelude-ls "^1.2.1"
+ type-check "^0.4.0"
+ word-wrap "^1.2.3"
+
original@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f"
@@ -8333,7 +8701,7 @@ os-locale@^3.0.0:
lcid "^2.0.0"
mem "^4.0.0"
-os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
+os-tmpdir@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
@@ -8413,6 +8781,13 @@ p-map@^2.0.0:
resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175"
integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==
+p-map@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
+ integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
+ dependencies:
+ aggregate-error "^3.0.0"
+
p-try@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
@@ -8423,11 +8798,6 @@ p-try@^2.0.0:
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1"
integrity sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==
-packet-reader@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/packet-reader/-/packet-reader-1.0.0.tgz#9238e5480dedabacfe1fe3f2771063f164157d74"
- integrity sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==
-
pako@~1.0.5:
version "1.0.7"
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.7.tgz#2473439021b57f1516c82f58be7275ad8ef1bb27"
@@ -8483,6 +8853,18 @@ parse-css-font@^2.0.2:
tcomb "^2.5.0"
unquote "^1.1.0"
+parse-entities@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8"
+ integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==
+ dependencies:
+ character-entities "^1.0.0"
+ character-entities-legacy "^1.0.0"
+ character-reference-invalid "^1.0.0"
+ is-alphanumerical "^1.0.0"
+ is-decimal "^1.0.0"
+ is-hexadecimal "^1.0.0"
+
parse-json@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
@@ -8548,11 +8930,6 @@ path-browserify@0.0.1:
resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
-path-complete-extname@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/path-complete-extname/-/path-complete-extname-1.0.0.tgz#f889985dc91000c815515c0bfed06c5acda0752b"
- integrity sha512-CVjiWcMRdGU8ubs08YQVzhutOR5DEfO97ipRIlOGMK5Bek5nQySknBpuxVAVJ36hseTNs+vdIcv57ZrWxH7zvg==
-
path-dirname@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
@@ -8573,7 +8950,7 @@ path-is-absolute@^1.0.0:
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
-path-is-inside@^1.0.1, path-is-inside@^1.0.2:
+path-is-inside@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=
@@ -8617,12 +8994,10 @@ path-type@^2.0.0:
dependencies:
pify "^2.0.0"
-path-type@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
- integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==
- dependencies:
- pify "^3.0.0"
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
pbkdf2@^3.0.3:
version "3.0.17"
@@ -8645,53 +9020,7 @@ performance-now@^2.1.0:
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
-pg-connection-string@0.1.3:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-0.1.3.tgz#da1847b20940e42ee1492beaf65d49d91b245df7"
- integrity sha1-2hhHsglA5C7hSSvq9l1J2RskXfc=
-
-pg-int8@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c"
- integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==
-
-pg-pool@^2.0.4:
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-2.0.7.tgz#f14ecab83507941062c313df23f6adcd9fd0ce54"
- integrity sha512-UiJyO5B9zZpu32GSlP0tXy8J2NsJ9EFGFfz5v6PSbdz/1hBLX1rNiiy5+mAm5iJJYwfCv4A0EBcQLGWwjbpzZw==
-
-pg-types@^2.1.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-2.2.0.tgz#2d0250d636454f7cfa3b6ae0382fdfa8063254a3"
- integrity sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==
- dependencies:
- pg-int8 "1.0.1"
- postgres-array "~2.0.0"
- postgres-bytea "~1.0.0"
- postgres-date "~1.0.4"
- postgres-interval "^1.1.0"
-
-pg@^7.0.0:
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/pg/-/pg-7.12.1.tgz#880636d46d2efbe0968e64e9fe0eeece8ef72a7e"
- integrity sha512-l1UuyfEvoswYfcUe6k+JaxiN+5vkOgYcVSbSuw3FvdLqDbaoa2RJo1zfJKfPsSYPFVERd4GHvX3s2PjG1asSDA==
- dependencies:
- buffer-writer "2.0.0"
- packet-reader "1.0.0"
- pg-connection-string "0.1.3"
- pg-pool "^2.0.4"
- pg-types "^2.1.0"
- pgpass "1.x"
- semver "4.3.2"
-
-pgpass@1.x:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.2.tgz#2a7bb41b6065b67907e91da1b07c1847c877b306"
- integrity sha1-Knu0G2BltnkH6R2hsHwYR8h3swY=
- dependencies:
- split "^1.0.0"
-
-picomatch@^2.0.4, picomatch@^2.0.5:
+picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1:
version "2.2.2"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
@@ -8751,11 +9080,6 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0:
dependencies:
find-up "^4.0.0"
-pluralize@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45"
- integrity sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=
-
portfinder@^1.0.20:
version "1.0.20"
resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.20.tgz#bea68632e54b2e13ab7b0c4775e9b41bf270e44a"
@@ -8827,23 +9151,35 @@ postcss-discard-overridden@^4.0.1:
dependencies:
postcss "^7.0.0"
-postcss-load-config@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.0.0.tgz#f1312ddbf5912cd747177083c5ef7a19d62ee484"
- integrity sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==
+postcss-html@^0.36.0:
+ version "0.36.0"
+ resolved "https://registry.yarnpkg.com/postcss-html/-/postcss-html-0.36.0.tgz#b40913f94eaacc2453fd30a1327ad6ee1f88b204"
+ integrity sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==
dependencies:
- cosmiconfig "^4.0.0"
- import-cwd "^2.0.0"
+ htmlparser2 "^3.10.0"
-postcss-loader@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d"
- integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==
+postcss-less@^3.1.4:
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/postcss-less/-/postcss-less-3.1.4.tgz#369f58642b5928ef898ffbc1a6e93c958304c5ad"
+ integrity sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==
dependencies:
- loader-utils "^1.1.0"
- postcss "^7.0.0"
- postcss-load-config "^2.0.0"
- schema-utils "^1.0.0"
+ postcss "^7.0.14"
+
+postcss-loader@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-4.0.3.tgz#337f51bbdfb02269fb42f7db9fc7f0a93c1b2e3f"
+ integrity sha512-jHboC/AOnJLPu8/974hODCJ/rNAa2YhhJOclUeuRlAmFpKmEcBY6az8y1ejHyYc2LThzPl8qPRekh2Yz3CiRKA==
+ dependencies:
+ cosmiconfig "^7.0.0"
+ klona "^2.0.4"
+ loader-utils "^2.0.0"
+ schema-utils "^2.7.1"
+ semver "^7.3.2"
+
+postcss-media-query-parser@^0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244"
+ integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=
postcss-merge-longhand@^4.0.11:
version "4.0.11"
@@ -8914,20 +9250,20 @@ postcss-modules-extract-imports@^2.0.0:
dependencies:
postcss "^7.0.5"
-postcss-modules-local-by-default@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915"
- integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==
+postcss-modules-local-by-default@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0"
+ integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==
dependencies:
icss-utils "^4.1.1"
- postcss "^7.0.16"
+ postcss "^7.0.32"
postcss-selector-parser "^6.0.2"
- postcss-value-parser "^4.0.0"
+ postcss-value-parser "^4.1.0"
-postcss-modules-scope@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz#ad3f5bf7856114f6fcab901b0502e2a2bc39d4eb"
- integrity sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A==
+postcss-modules-scope@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee"
+ integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==
dependencies:
postcss "^7.0.6"
postcss-selector-parser "^6.0.0"
@@ -9059,6 +9395,33 @@ postcss-reduce-transforms@^4.0.2:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
+postcss-resolve-nested-selector@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e"
+ integrity sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=
+
+postcss-safe-parser@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz#a6d4e48f0f37d9f7c11b2a581bf00f8ba4870b96"
+ integrity sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==
+ dependencies:
+ postcss "^7.0.26"
+
+postcss-sass@^0.4.4:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/postcss-sass/-/postcss-sass-0.4.4.tgz#91f0f3447b45ce373227a98b61f8d8f0785285a3"
+ integrity sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==
+ dependencies:
+ gonzales-pe "^4.3.0"
+ postcss "^7.0.21"
+
+postcss-scss@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-2.1.1.tgz#ec3a75fa29a55e016b90bf3269026c53c1d2b383"
+ integrity sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==
+ dependencies:
+ postcss "^7.0.6"
+
postcss-selector-parser@^3.0.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865"
@@ -9096,6 +9459,11 @@ postcss-svgo@^4.0.2:
postcss-value-parser "^3.0.0"
svgo "^1.0.0"
+postcss-syntax@^0.36.2:
+ version "0.36.2"
+ resolved "https://registry.yarnpkg.com/postcss-syntax/-/postcss-syntax-0.36.2.tgz#f08578c7d95834574e5593a82dfbfa8afae3b51c"
+ integrity sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==
+
postcss-unique-selectors@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac"
@@ -9110,10 +9478,10 @@ postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.1:
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
-postcss-value-parser@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9"
- integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==
+postcss-value-parser@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb"
+ integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
postcss@^5.0.16:
version "5.2.18"
@@ -9134,42 +9502,35 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.5, postcss@^7.0.6:
source-map "^0.6.1"
supports-color "^6.1.0"
-postcss@^7.0.16, postcss@^7.0.17:
- version "7.0.21"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17"
- integrity sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==
+postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.32:
+ version "7.0.35"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24"
+ integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==
dependencies:
chalk "^2.4.2"
source-map "^0.6.1"
supports-color "^6.1.0"
-postgres-array@~2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e"
- integrity sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==
-
-postgres-bytea@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz#027b533c0aa890e26d172d47cf9ccecc521acd35"
- integrity sha1-AntTPAqokOJtFy1Hz5zOzFIazTU=
-
-postgres-date@~1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.4.tgz#1c2728d62ef1bff49abdd35c1f86d4bdf118a728"
- integrity sha512-bESRvKVuTrjoBluEcpv2346+6kgB7UlnqWZsnbnCccTNq/pqfj1j6oBaN5+b/NrDXepYUT/HKadqv3iS9lJuVA==
-
-postgres-interval@^1.1.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.1.2.tgz#bf71ff902635f21cb241a013fc421d81d1db15a9"
- integrity sha512-fC3xNHeTskCxL1dC8KOtxXt7YeFmlbTYtn7ul8MkVERuTmf7pI4DrkAxcw3kh1fQ9uz4wQmd03a1mRiXUZChfQ==
+postcss@^8.1.1:
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.1.tgz#c3a287dd10e4f6c84cb3791052b96a5d859c9389"
+ integrity sha512-9DGLSsjooH3kSNjTZUOt2eIj2ZTW0VI2PZ/3My+8TC7KIbH2OKwUlISfDsf63EP4aiRUt3XkEWMWvyJHvJelEg==
dependencies:
- xtend "^4.0.0"
+ colorette "^1.2.1"
+ line-column "^1.0.2"
+ nanoid "^3.1.12"
+ source-map "^0.6.1"
precond@0.2:
version "0.2.3"
resolved "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz#aa9591bcaa24923f1e0f4849d240f47efc1075ac"
integrity sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw=
+prelude-ls@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
+ integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
+
prelude-ls@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
@@ -9188,6 +9549,16 @@ pretty-error@^2.1.1:
renderkid "^2.0.1"
utila "~0.4"
+pretty-format@^25.2.1, pretty-format@^25.5.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a"
+ integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==
+ dependencies:
+ "@jest/types" "^25.5.0"
+ ansi-regex "^5.0.0"
+ ansi-styles "^4.0.0"
+ react-is "^16.12.0"
+
pretty-format@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.0.1.tgz#a4fe54fe428ad2fd3413ca6bbd1ec8c2e277e197"
@@ -9213,11 +9584,6 @@ process@^0.11.10:
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
-progress@^1.1.8:
- version "1.1.8"
- resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
- integrity sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=
-
progress@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
@@ -9382,6 +9748,11 @@ querystringify@^2.0.0:
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.0.tgz#7ded8dfbf7879dcc60d0a644ac6754b283ad17ef"
integrity sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==
+quick-lru@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f"
+ integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==
+
quote@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/quote/-/quote-0.4.0.tgz#10839217f6c1362b89194044d29b233fd7f32f01"
@@ -9399,11 +9770,6 @@ railroad-diagrams@^1.0.0:
resolved "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e"
integrity sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=
-rails-ujs@^5.2.3:
- version "5.2.3"
- resolved "https://registry.yarnpkg.com/rails-ujs/-/rails-ujs-5.2.3.tgz#4b65ea781a6befe62e96da6362165286a1fe4099"
- integrity sha512-rYgj185MowWFBJI1wdac2FkX4yFYe4+3jJPlB+CTY7a4rmIyg0TqE4vYZmSBBesp7blPUa57oqKzwQjN7eVbEQ==
-
randexp@0.4.6:
version "0.4.6"
resolved "https://registry.yarnpkg.com/randexp/-/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3"
@@ -9419,6 +9785,13 @@ randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
dependencies:
safe-buffer "^5.1.0"
+randombytes@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
+ integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
+ dependencies:
+ safe-buffer "^5.1.0"
+
randomfill@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458"
@@ -9488,6 +9861,11 @@ react-fast-compare@^2.0.4:
resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9"
integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==
+react-fast-compare@^3.0.1:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb"
+ integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==
+
react-helmet@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-6.0.0.tgz#fcb93ebaca3ba562a686eb2f1f9d46093d83b5f8"
@@ -9514,26 +9892,10 @@ react-immutable-proptypes@^2.1.0:
resolved "https://registry.yarnpkg.com/react-immutable-proptypes/-/react-immutable-proptypes-2.1.0.tgz#023d6f39bb15c97c071e9e60d00d136eac5fa0b4"
integrity sha1-Aj1vObsVyXwHHp5g0A0TbqxfoLQ=
-react-immutable-pure-component@^1.1.1:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/react-immutable-pure-component/-/react-immutable-pure-component-1.2.3.tgz#fa33638df68cfe9f73ccbee1d5861c17f3053f86"
- integrity sha512-kNy2A/fDrSuR8TKwB+4ynmItmp1vgF87tWxxfmadwDYo2J3ANipHqTjDIBvJvJ7libvuh76jIbvmK0krjtKH1g==
- optionalDependencies:
- "@types/react" "16.4.6"
-
-react-infinite-scroller@^1.0.12:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/react-infinite-scroller/-/react-infinite-scroller-1.2.4.tgz#f67eaec4940a4ce6417bebdd6e3433bfc38826e9"
- integrity sha512-/oOa0QhZjXPqaD6sictN2edFMsd3kkMiE19Vcz5JDgHpzEJVqYcmq+V3mkwO88087kvKGe1URNksHEOt839Ubw==
- dependencies:
- prop-types "^15.5.8"
-
-react-input-autosize@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.1.tgz#ec428fa15b1592994fb5f9aa15bb1eb6baf420f8"
- integrity sha512-3+K4CD13iE4lQQ2WlF8PuV5htfmTRLH6MDnfndHM6LuBRszuXnuyIfE7nhSKt8AzRBZ50bu0sAhkNMeS5pxQQA==
- dependencies:
- prop-types "^15.5.8"
+react-immutable-pure-component@^2.0.0:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/react-immutable-pure-component/-/react-immutable-pure-component-2.2.2.tgz#3014d3e20cd5a7a4db73b81f1f1464f4d351684b"
+ integrity sha512-vkgoMJUDqHZfXXnjVlG3keCxSO/U6WeDQ5/Sl0GK2cH8TOxEzQ5jXqDXHEL/jqk6fsNxV05oH5kD7VNMUE2k+A==
react-intl-translations-manager@^5.0.3:
version "5.0.3"
@@ -9545,48 +9907,39 @@ react-intl-translations-manager@^5.0.3:
json-stable-stringify "^1.0.1"
mkdirp "^0.5.1"
-react-intl@^4.6.6:
- version "4.6.6"
- resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-4.6.6.tgz#58653e78ae8f905b80c785b0a9c862ffaa30d543"
- integrity sha512-ykah1umgIOHTC4DZ5fFn6U5ZtSMW5sZKKG5sFL5xrNA55UVnzU3g+v1j0fapO85VMC8x6db+ixP9mgX60Ziupw==
+react-intl@^5.0.0:
+ version "5.8.4"
+ resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-5.8.4.tgz#aba5432fcba17f47d9d46ac9bea1881c92f4f354"
+ integrity sha512-ToDeHYBpO9WBAOpnwQKihUdxB4qE1nqcGKV9Jq2upj1zspxeX3OddWaZwz8wNV5yjoYnoDY3HLWeBP4IXwbwqg==
dependencies:
- "@formatjs/intl-displaynames" "^2.2.4"
- "@formatjs/intl-listformat" "^2.2.4"
- "@formatjs/intl-numberformat" "^4.2.4"
- "@formatjs/intl-relativetimeformat" "^5.2.4"
- "@formatjs/intl-utils" "^3.3.1"
+ "@formatjs/ecma402-abstract" "^1.2.3"
+ "@formatjs/intl" "^1.3.4"
+ "@formatjs/intl-displaynames" "^3.3.10"
+ "@formatjs/intl-listformat" "^4.2.8"
+ "@formatjs/intl-relativetimeformat" "^7.2.8"
"@types/hoist-non-react-statics" "^3.3.1"
- "@types/invariant" "^2.2.31"
+ fast-memoize "^2.5.2"
hoist-non-react-statics "^3.3.2"
- intl-format-cache "^4.2.36"
- intl-messageformat "^8.3.21"
- intl-messageformat-parser "^5.1.1"
+ intl-messageformat "^9.3.9"
+ intl-messageformat-parser "^6.0.8"
shallow-equal "^1.2.1"
+ tslib "^2.0.1"
-react-is@^16.12.0, react-is@^16.8.6:
+react-is@^16.12.0, react-is@^16.8.6, react-is@^16.9.0:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-react-is@^16.3.2, react-is@^16.6.1, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.2:
+react-is@^16.3.2, react-is@^16.6.1, react-is@^16.7.0, react-is@^16.8.1:
version "16.8.6"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16"
integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==
-react-lifecycles-compat@^3.0.2, react-lifecycles-compat@^3.0.4:
+react-lifecycles-compat@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
-react-masonry-infinite@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/react-masonry-infinite/-/react-masonry-infinite-1.2.2.tgz#20c1386f9ccdda9747527c8f42bc2c02dd2e7951"
- integrity sha1-IME4b5zN2pdHUnyPQrwsAt0ueVE=
- dependencies:
- bricks.js "^1.7.0"
- prop-types "^15.5.10"
- react-infinite-scroller "^1.0.12"
-
react-motion@^0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/react-motion/-/react-motion-0.5.2.tgz#0dd3a69e411316567927917c6626551ba0607316"
@@ -9603,37 +9956,44 @@ react-notification@^6.8.4:
dependencies:
prop-types "^15.6.2"
-react-overlays@^0.8.3:
- version "0.8.3"
- resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.8.3.tgz#fad65eea5b24301cca192a169f5dddb0b20d3ac5"
- integrity sha512-h6GT3jgy90PgctleP39Yu3eK1v9vaJAW73GOA/UbN9dJ7aAN4BTZD6793eI1D5U+ukMk17qiqN/wl3diK1Z5LA==
+react-overlays@^0.9.0:
+ version "0.9.2"
+ resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.9.2.tgz#51ab1c62ded5af4d279bd3b943999531bbd648da"
+ integrity sha512-wOi+WqO0acnUAMCbTTW06/GRkYjHdlvIoyX4bYkLvxKrLgl2kX9WzFVyBdwukl2jvN7I7oX7ZXAz7MNOWYdgCA==
dependencies:
classnames "^2.2.5"
dom-helpers "^3.2.1"
prop-types "^15.5.10"
prop-types-extra "^1.0.1"
- react-transition-group "^2.2.0"
+ react-transition-group "^2.2.1"
warning "^3.0.0"
-react-redux-loading-bar@^4.5.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/react-redux-loading-bar/-/react-redux-loading-bar-4.5.0.tgz#96538d0ba041463d810e213fb54eadbce9628266"
- integrity sha512-I6VN66XUWYUZPFrnwNSNncoAK4hy6p2ECN/MXerBi8NF5YmA8o/+RmJk8LwWbWQ5cIKRo95V3pt9sK3aCaiFxw==
+react-popper@^2.2.3:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-2.2.3.tgz#33d425fa6975d4bd54d9acd64897a89d904b9d97"
+ integrity sha512-mOEiMNT1249js0jJvkrOjyHsGvqcJd3aGW/agkiMoZk3bZ1fXN1wQszIQSjHIai48fE67+zwF8Cs+C4fWqlfjw==
dependencies:
- prop-types "^15.6.2"
- react-lifecycles-compat "^3.0.2"
+ react-fast-compare "^3.0.1"
+ warning "^4.0.2"
-react-redux@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-6.0.1.tgz#0d423e2c1cb10ada87293d47e7de7c329623ba4d"
- integrity sha512-T52I52Kxhbqy/6TEfBv85rQSDz6+Y28V/pf52vDWs1YRXG19mcFOGfHnY2HsNFHyhP+ST34Aih98fvt6tqwVcQ==
+react-redux-loading-bar@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/react-redux-loading-bar/-/react-redux-loading-bar-5.0.0.tgz#fffbc2b893c556b7b4c577743427507ee6dbc1f3"
+ integrity sha512-orxhhnuTDHUJ8sWBf7NHc9iIvPx8+8LVmMmC9ka3UcXKbMRaPdaYfH2wCikOwVV6gxhRceFA/zaSLSdnGrF41Q==
dependencies:
- "@babel/runtime" "^7.3.1"
+ prop-types "^15.7.2"
+ react-lifecycles-compat "^3.0.4"
+
+react-redux@^7.2.1:
+ version "7.2.1"
+ resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.1.tgz#8dedf784901014db2feca1ab633864dee68ad985"
+ integrity sha512-T+VfD/bvgGTUA74iW9d2i5THrDQWbweXP0AVNI8tNd1Rk5ch1rnMiJkDD67ejw7YBKM4+REvcvqRuWJb7BLuEg==
+ dependencies:
+ "@babel/runtime" "^7.5.5"
hoist-non-react-statics "^3.3.0"
- invariant "^2.2.4"
loose-envify "^1.4.0"
prop-types "^15.7.2"
- react-is "^16.8.2"
+ react-is "^16.9.0"
react-router-dom@^4.1.1:
version "4.3.1"
@@ -9668,19 +10028,6 @@ react-router@^4.3.1:
prop-types "^15.6.1"
warning "^4.0.1"
-react-select@^2.4.4:
- version "2.4.4"
- resolved "https://registry.yarnpkg.com/react-select/-/react-select-2.4.4.tgz#ba72468ef1060c7d46fbb862b0748f96491f1f73"
- integrity sha512-C4QPLgy9h42J/KkdrpVxNmkY6p4lb49fsrbDk/hRcZpX7JvZPNb6mGj+c5SzyEtBv1DmQ9oPH4NmhAFvCrg8Jw==
- dependencies:
- classnames "^2.2.5"
- emotion "^9.1.2"
- memoize-one "^5.0.0"
- prop-types "^15.6.0"
- raf "^3.4.0"
- react-input-autosize "^2.2.1"
- react-transition-group "^2.2.1"
-
react-side-effect@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-2.1.0.tgz#1ce4a8b4445168c487ed24dab886421f74d380d3"
@@ -9745,13 +10092,14 @@ react-test-renderer@^16.13.1:
react-is "^16.8.6"
scheduler "^0.19.1"
-react-textarea-autosize@^7.1.0:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-7.1.0.tgz#3132cb77e65d94417558d37c0bfe415a5afd3445"
- integrity sha512-c2FlR/fP0qbxmlrW96SdrbgP/v0XZMTupqB90zybvmDVDutytUgPl7beU35klwcTeMepUIQEpQUn3P3bdshGPg==
+react-textarea-autosize@^8.0.0:
+ version "8.2.0"
+ resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.2.0.tgz#fae38653f5ec172a855fd5fffb39e466d56aebdb"
+ integrity sha512-grajUlVbkx6VdtSxCgzloUIphIZF5bKr21OYMceWPKkniy7H0mRAT/AXPrRtObAe+zUePnNlBwUc4ivVjUGIjw==
dependencies:
- "@babel/runtime" "^7.1.2"
- prop-types "^15.6.0"
+ "@babel/runtime" "^7.10.2"
+ use-composed-ref "^1.0.0"
+ use-latest "^1.0.0"
react-toggle@^4.0.1:
version "4.0.2"
@@ -9760,7 +10108,7 @@ react-toggle@^4.0.1:
dependencies:
classnames "^2.2.5"
-react-transition-group@^2.2.0, react-transition-group@^2.2.1:
+react-transition-group@^2.2.1:
version "2.5.2"
resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.5.2.tgz#9457166a9ba6ce697a3e1b076b3c049b9fb2c408"
integrity sha512-vwHP++S+f6KL7rg8V1mfs62+MBKtbMeZDR8KiNmD7v98Gs3UPGsDZDahPJH2PVprFW5YHJfh6cbNim3zPndaSQ==
@@ -9794,14 +10142,6 @@ read-pkg-up@^2.0.0:
find-up "^2.0.0"
read-pkg "^2.0.0"
-read-pkg-up@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978"
- integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==
- dependencies:
- find-up "^3.0.0"
- read-pkg "^3.0.0"
-
read-pkg-up@^7.0.1:
version "7.0.1"
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507"
@@ -9820,15 +10160,6 @@ read-pkg@^2.0.0:
normalize-package-data "^2.3.2"
path-type "^2.0.0"
-read-pkg@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
- integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=
- dependencies:
- load-json-file "^4.0.0"
- normalize-package-data "^2.3.2"
- path-type "^3.0.0"
-
read-pkg@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc"
@@ -9879,40 +10210,13 @@ readdirp@^2.2.1:
micromatch "^3.1.10"
readable-stream "^2.0.2"
-readline2@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35"
- integrity sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=
+redent@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f"
+ integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==
dependencies:
- code-point-at "^1.0.0"
- is-fullwidth-code-point "^1.0.0"
- mute-stream "0.0.5"
-
-realpath-native@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c"
- integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==
- dependencies:
- util.promisify "^1.0.0"
-
-redis-commands@^1.2.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.4.0.tgz#52f9cf99153efcce56a8f86af986bd04e988602f"
- integrity sha512-cu8EF+MtkwI4DLIT0x9P8qNTLFhQD4jLfxLR0cCNkeGzs87FN6879JOJwNQR/1zD7aSYNbU0hgsV9zGY71Itvw==
-
-redis-parser@^2.6.0:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-2.6.0.tgz#52ed09dacac108f1a631c07e9b69941e7a19504b"
- integrity sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs=
-
-redis@^2.7.1:
- version "2.8.0"
- resolved "https://registry.yarnpkg.com/redis/-/redis-2.8.0.tgz#202288e3f58c49f6079d97af7a10e1303ae14b02"
- integrity sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==
- dependencies:
- double-ended-queue "^2.1.0-0"
- redis-commands "^1.2.0"
- redis-parser "^2.6.0"
+ indent-string "^4.0.0"
+ strip-indent "^3.0.0"
redux-immutable@^4.0.0:
version "4.0.0"
@@ -9931,10 +10235,10 @@ redux-thunk@^2.2.0:
resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz#51c2c19a185ed5187aaa9a2d08b666d0d6467622"
integrity sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==
-redux@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.1.tgz#436cae6cc40fbe4727689d7c8fae44808f1bfef5"
- integrity sha512-R7bAtSkk7nY6O/OYMVR9RiBI+XghjF9rlbl5806HJbQph0LJVHZrU5oaO4q70eUKiqMRqm4y07KLTlMZ2BlVmg==
+redux@^4.0.5:
+ version "4.0.5"
+ resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.5.tgz#4db5de5816e17891de8a80c424232d06f051d93f"
+ integrity sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==
dependencies:
loose-envify "^1.4.0"
symbol-observable "^1.2.0"
@@ -9966,6 +10270,11 @@ regenerator-runtime@^0.13.2:
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz#32e59c9a6fb9b1a4aff09b4930ca2d4477343447"
integrity sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==
+regenerator-runtime@^0.13.4:
+ version "0.13.7"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55"
+ integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==
+
regenerator-transform@^0.13.4:
version "0.13.4"
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.4.tgz#18f6763cf1382c69c36df76c6ce122cc694284fb"
@@ -9986,10 +10295,18 @@ regexp-tree@^0.1.0:
resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.5.tgz#7cd71fca17198d04b4176efd79713f2998009397"
integrity sha512-nUmxvfJyAODw+0B13hj8CFVAxhe7fDEAgJgaotBu3nnR+IgGgZq59YedJP5VYTlkEfqjuK6TuRpnymKdatLZfQ==
-regexpp@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
- integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==
+regexp.prototype.flags@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75"
+ integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
+
+regexpp@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
+ integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
regexpu-core@^4.1.3, regexpu-core@^4.2.0:
version "4.4.0"
@@ -10020,10 +10337,56 @@ relateurl@^0.2.7:
resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=
-rellax@^1.7.1:
- version "1.7.1"
- resolved "https://registry.yarnpkg.com/rellax/-/rellax-1.7.1.tgz#2f82aaa1c1d8116eef08fc533c59655a097c8be2"
- integrity sha512-z31r9RjKeK5wJU5C6hKBupreKQ7xi+lQHda6ttlc0N1VEyL2ZCPMyckTtvliGRsxqTPqhdCasdhexs8N5aZ4+A==
+remark-parse@^8.0.0:
+ version "8.0.3"
+ resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-8.0.3.tgz#9c62aa3b35b79a486454c690472906075f40c7e1"
+ integrity sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==
+ dependencies:
+ ccount "^1.0.0"
+ collapse-white-space "^1.0.2"
+ is-alphabetical "^1.0.0"
+ is-decimal "^1.0.0"
+ is-whitespace-character "^1.0.0"
+ is-word-character "^1.0.0"
+ markdown-escapes "^1.0.0"
+ parse-entities "^2.0.0"
+ repeat-string "^1.5.4"
+ state-toggle "^1.0.0"
+ trim "0.0.1"
+ trim-trailing-lines "^1.0.0"
+ unherit "^1.0.4"
+ unist-util-remove-position "^2.0.0"
+ vfile-location "^3.0.0"
+ xtend "^4.0.1"
+
+remark-stringify@^8.0.0:
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-8.1.1.tgz#e2a9dc7a7bf44e46a155ec78996db896780d8ce5"
+ integrity sha512-q4EyPZT3PcA3Eq7vPpT6bIdokXzFGp9i85igjmhRyXWmPs0Y6/d2FYwUNotKAWyLch7g0ASZJn/KHHcHZQ163A==
+ dependencies:
+ ccount "^1.0.0"
+ is-alphanumeric "^1.0.0"
+ is-decimal "^1.0.0"
+ is-whitespace-character "^1.0.0"
+ longest-streak "^2.0.1"
+ markdown-escapes "^1.0.0"
+ markdown-table "^2.0.0"
+ mdast-util-compact "^2.0.0"
+ parse-entities "^2.0.0"
+ repeat-string "^1.5.4"
+ state-toggle "^1.0.0"
+ stringify-entities "^3.0.0"
+ unherit "^1.0.4"
+ xtend "^4.0.1"
+
+remark@^12.0.0:
+ version "12.0.1"
+ resolved "https://registry.yarnpkg.com/remark/-/remark-12.0.1.tgz#f1ddf68db7be71ca2bad0a33cd3678b86b9c709f"
+ integrity sha512-gS7HDonkdIaHmmP/+shCPejCEEW+liMp/t/QwmF0Xt47Rpuhl32lLtDV1uKWvGoq+kxr5jSgg5oAIpGuyULjUw==
+ dependencies:
+ remark-parse "^8.0.0"
+ remark-stringify "^8.0.0"
+ unified "^9.0.0"
remove-trailing-separator@^1.0.1:
version "1.1.0"
@@ -10046,11 +10409,16 @@ repeat-element@^1.1.2:
resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==
-repeat-string@^1.6.1:
+repeat-string@^1.0.0, repeat-string@^1.5.4, repeat-string@^1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
+replace-ext@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
+ integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=
+
request-promise-core@1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9"
@@ -10103,7 +10471,7 @@ require-directory@^2.1.1:
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
-require-from-string@^2.0.1, require-from-string@^2.0.2:
+require-from-string@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
@@ -10123,14 +10491,6 @@ require-package-name@^2.0.1:
resolved "https://registry.yarnpkg.com/require-package-name/-/require-package-name-2.0.1.tgz#c11e97276b65b8e2923f75dabf5fb2ef0c3841b9"
integrity sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk=
-require-uncached@^1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
- integrity sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=
- dependencies:
- caller-path "^0.1.0"
- resolve-from "^1.0.0"
-
requires-port@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
@@ -10163,11 +10523,6 @@ resolve-dir@^1.0.0, resolve-dir@^1.0.1:
expand-tilde "^2.0.0"
global-modules "^1.0.0"
-resolve-from@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
- integrity sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=
-
resolve-from@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
@@ -10221,34 +10576,23 @@ resolve@^1.17.0:
dependencies:
path-parse "^1.0.6"
-resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1:
+resolve@^1.3.2, resolve@^1.8.1:
version "1.9.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.9.0.tgz#a14c6fdfa8f92a7df1d996cb7105fa744658ea06"
integrity sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ==
dependencies:
path-parse "^1.0.6"
-restore-cursor@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
- integrity sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=
- dependencies:
- exit-hook "^1.0.0"
- onetime "^1.0.0"
-
-restore-cursor@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
- integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368=
- dependencies:
- onetime "^2.0.0"
- signal-exit "^3.0.2"
-
ret@~0.1.10:
version "0.1.15"
resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
+reusify@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
+ integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+
rgb-regex@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1"
@@ -10259,7 +10603,7 @@ rgba-regex@^1.0.0:
resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
-rimraf@2.6.3, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@~2.6.2:
+rimraf@2.6.3, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3:
version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
@@ -10273,6 +10617,13 @@ rimraf@^3.0.0:
dependencies:
glob "^7.1.3"
+rimraf@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
+ integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+ dependencies:
+ glob "^7.1.3"
+
ripemd160@^2.0.0, ripemd160@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
@@ -10294,19 +10645,10 @@ rsvp@^3.3.3:
resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a"
integrity sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==
-run-async@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389"
- integrity sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=
- dependencies:
- once "^1.3.0"
-
-run-async@^2.2.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
- integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA=
- dependencies:
- is-promise "^2.1.0"
+run-parallel@^1.1.9:
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679"
+ integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==
run-queue@^1.0.0, run-queue@^1.0.3:
version "1.0.3"
@@ -10315,18 +10657,6 @@ run-queue@^1.0.0, run-queue@^1.0.3:
dependencies:
aproba "^1.1.1"
-rx-lite@^3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
- integrity sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=
-
-rxjs@^6.4.0:
- version "6.5.3"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a"
- integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==
- dependencies:
- tslib "^1.9.0"
-
safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
@@ -10359,36 +10689,16 @@ sane@^4.0.3:
minimist "^1.1.1"
walker "~1.0.5"
-sass-lint@^1.13.1:
- version "1.13.1"
- resolved "https://registry.yarnpkg.com/sass-lint/-/sass-lint-1.13.1.tgz#5fd2b2792e9215272335eb0f0dc607f61e8acc8f"
- integrity sha512-DSyah8/MyjzW2BWYmQWekYEKir44BpLqrCFsgs9iaWiVTcwZfwXHF586hh3D1n+/9ihUNMfd8iHAyb9KkGgs7Q==
+sass-loader@^10.0.0:
+ version "10.0.2"
+ resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.0.2.tgz#c7b73010848b264792dd45372eea0b87cba4401e"
+ integrity sha512-wV6NDUVB8/iEYMalV/+139+vl2LaRFlZGEd5/xmdcdzQcgmis+npyco6NsDTVOlNA3y2NV9Gcz+vHyFMIT+ffg==
dependencies:
- commander "^2.8.1"
- eslint "^2.7.0"
- front-matter "2.1.2"
- fs-extra "^3.0.1"
- glob "^7.0.0"
- globule "^1.0.0"
- gonzales-pe-sl "^4.2.3"
- js-yaml "^3.5.4"
- known-css-properties "^0.3.0"
- lodash.capitalize "^4.1.0"
- lodash.kebabcase "^4.0.0"
- merge "^1.2.0"
- path-is-absolute "^1.0.0"
- util "^0.10.3"
-
-sass-loader@^8.0.0:
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-8.0.0.tgz#e7b07a3e357f965e6b03dd45b016b0a9746af797"
- integrity sha512-+qeMu563PN7rPdit2+n5uuYVR0SSVwm0JsOUsaJXzgYcClWSlmX0iHDnmeOobPkf5kUglVot3QS6SyLyaQoJ4w==
- dependencies:
- clone-deep "^4.0.1"
- loader-utils "^1.2.3"
- neo-async "^2.6.1"
- schema-utils "^2.1.0"
- semver "^6.3.0"
+ klona "^2.0.3"
+ loader-utils "^2.0.0"
+ neo-async "^2.6.2"
+ schema-utils "^2.7.1"
+ semver "^7.3.2"
sass@^1.20.3:
version "1.20.3"
@@ -10443,13 +10753,23 @@ schema-utils@^1.0.0:
ajv-errors "^1.0.0"
ajv-keywords "^3.1.0"
-schema-utils@^2.0.0, schema-utils@^2.1.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.5.0.tgz#8f254f618d402cc80257486213c8970edfd7c22f"
- integrity sha512-32ISrwW2scPXHUSusP8qMg5dLUawKkyV+/qIEV9JdXKx+rsM6mi8vZY8khg2M69Qom16rtroWXD3Ybtiws38gQ==
+schema-utils@^2.7.0, schema-utils@^2.7.1:
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7"
+ integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==
dependencies:
- ajv "^6.10.2"
- ajv-keywords "^3.4.1"
+ "@types/json-schema" "^7.0.5"
+ ajv "^6.12.4"
+ ajv-keywords "^3.5.2"
+
+schema-utils@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef"
+ integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==
+ dependencies:
+ "@types/json-schema" "^7.0.6"
+ ajv "^6.12.5"
+ ajv-keywords "^3.5.2"
scroll-behavior@^0.9.1:
version "0.9.9"
@@ -10476,12 +10796,12 @@ selfsigned@^1.10.4:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004"
integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==
-semver@4.3.2:
- version "4.3.2"
- resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.2.tgz#c7a07158a80bedd052355b770d82d6640f803be7"
- integrity sha1-x6BxWKgL7dBSNVt3DYLWZA+AO+c=
+semver@7.x, semver@^7.2.1, semver@^7.3.2:
+ version "7.3.2"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
+ integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
-semver@^6.0.0, semver@^6.1.2, semver@^6.3.0:
+semver@^6.0.0, semver@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
@@ -10491,11 +10811,6 @@ semver@^6.1.1:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.1.1.tgz#53f53da9b30b2103cd4f15eab3a18ecbcb210c9b"
integrity sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==
-semver@^7.2.1, semver@^7.3.2:
- version "7.3.2"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
- integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
-
send@0.17.1:
version "0.17.1"
resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
@@ -10515,16 +10830,18 @@ send@0.17.1:
range-parser "~1.2.1"
statuses "~1.5.0"
-serialize-javascript@^1.4.0:
- version "1.6.1"
- resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.6.1.tgz#4d1f697ec49429a847ca6f442a2a755126c4d879"
- integrity sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw==
-
serialize-javascript@^1.7.0:
version "1.9.1"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb"
integrity sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==
+serialize-javascript@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4"
+ integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==
+ dependencies:
+ randombytes "^2.1.0"
+
serve-index@^1.9.1:
version "1.9.1"
resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239"
@@ -10632,16 +10949,19 @@ shebang-regex@^3.0.0:
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-shelljs@^0.6.0:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.6.1.tgz#ec6211bed1920442088fe0f70b2837232ed2c8a8"
- integrity sha1-7GIRvtGSBEIIj+D3Cyg3Iy7SyKg=
-
shellwords@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==
+side-channel@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.3.tgz#cdc46b057550bbab63706210838df5d4c19519c3"
+ integrity sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g==
+ dependencies:
+ es-abstract "^1.18.0-next.0"
+ object-inspect "^1.8.0"
+
signal-exit@^3.0.0, signal-exit@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
@@ -10664,21 +10984,11 @@ slash@^1.0.0:
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=
-slash@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
- integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==
-
slash@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-slice-ansi@0.0.4:
- version "0.0.4"
- resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
- integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=
-
slice-ansi@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
@@ -10688,6 +10998,15 @@ slice-ansi@^2.1.0:
astral-regex "^1.0.0"
is-fullwidth-code-point "^2.0.0"
+slice-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
+ integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
+ dependencies:
+ ansi-styles "^4.0.0"
+ astral-regex "^2.0.0"
+ is-fullwidth-code-point "^3.0.0"
+
snapdragon-node@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
@@ -10782,7 +11101,7 @@ source-map-url@^0.4.0:
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
-source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7:
+source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
@@ -10792,7 +11111,7 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-source-map@^0.7.2, source-map@^0.7.3:
+source-map@^0.7.3:
version "0.7.3"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
@@ -10846,6 +11165,11 @@ spdy@^4.0.0:
select-hose "^2.0.0"
spdy-transport "^3.0.0"
+specificity@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/specificity/-/specificity-0.4.1.tgz#aab5e645012db08ba182e151165738d00887b019"
+ integrity sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==
+
split-string@^3.0.1, split-string@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
@@ -10853,13 +11177,6 @@ split-string@^3.0.1, split-string@^3.0.2:
dependencies:
extend-shallow "^3.0.0"
-split@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9"
- integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==
- dependencies:
- through "2"
-
sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
@@ -10887,16 +11204,18 @@ ssri@^6.0.1:
dependencies:
figgy-pudding "^3.5.1"
+ssri@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.0.tgz#79ca74e21f8ceaeddfcb4b90143c458b8d988808"
+ integrity sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==
+ dependencies:
+ minipass "^3.1.1"
+
stable@~0.1.6:
version "0.1.8"
resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
-stack-utils@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8"
- integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==
-
stack-utils@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.2.tgz#5cf48b4557becb4638d0bc4f21d23f5d19586593"
@@ -10904,6 +11223,11 @@ stack-utils@^2.0.2:
dependencies:
escape-string-regexp "^2.0.0"
+state-toggle@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe"
+ integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==
+
static-extend@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
@@ -10976,7 +11300,7 @@ string-width@^1.0.1:
is-fullwidth-code-point "^1.0.0"
strip-ansi "^3.0.0"
-"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
+"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
@@ -11002,6 +11326,18 @@ string-width@^4.1.0, string-width@^4.2.0:
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.0"
+string.prototype.matchall@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz#48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e"
+ integrity sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0"
+ has-symbols "^1.0.1"
+ internal-slot "^1.0.2"
+ regexp.prototype.flags "^1.3.0"
+ side-channel "^1.0.2"
+
string.prototype.trim@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea"
@@ -11011,21 +11347,21 @@ string.prototype.trim@^1.1.2:
es-abstract "^1.5.0"
function-bind "^1.0.2"
-string.prototype.trimleft@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634"
- integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==
+string.prototype.trimend@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913"
+ integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==
dependencies:
define-properties "^1.1.3"
- function-bind "^1.1.1"
+ es-abstract "^1.17.5"
-string.prototype.trimright@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58"
- integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==
+string.prototype.trimstart@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54"
+ integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==
dependencies:
define-properties "^1.1.3"
- function-bind "^1.1.1"
+ es-abstract "^1.17.5"
string_decoder@^1.0.0, string_decoder@^1.1.1:
version "1.2.0"
@@ -11041,6 +11377,17 @@ string_decoder@~1.1.1:
dependencies:
safe-buffer "~5.1.0"
+stringify-entities@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-3.0.1.tgz#32154b91286ab0869ab2c07696223bd23b6dbfc0"
+ integrity sha512-Lsk3ISA2++eJYqBMPKcr/8eby1I6L0gP0NlxF8Zja6c05yr/yCYyb2c9PwXjd08Ib3If1vn1rbs1H5ZtVuOfvQ==
+ dependencies:
+ character-entities-html4 "^1.0.0"
+ character-entities-legacy "^1.0.0"
+ is-alphanumerical "^1.0.0"
+ is-decimal "^1.0.2"
+ is-hexadecimal "^1.0.0"
+
stringz@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/stringz/-/stringz-2.0.0.tgz#0a092bc64ed9b42eff2936d0401d2398393d54e9"
@@ -11062,7 +11409,7 @@ strip-ansi@^4.0.0:
dependencies:
ansi-regex "^3.0.0"
-strip-ansi@^5.1.0, strip-ansi@^5.2.0:
+strip-ansi@^5.1.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
@@ -11086,6 +11433,11 @@ strip-bom@^4.0.0:
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
+strip-comments@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-2.0.1.tgz#4ad11c3fbcac177a67a40ac224ca339ca1c1ba9b"
+ integrity sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==
+
strip-eof@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
@@ -11096,21 +11448,28 @@ strip-final-newline@^2.0.0:
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
-strip-json-comments@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7"
- integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==
+strip-indent@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001"
+ integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==
+ dependencies:
+ min-indent "^1.0.0"
-strip-json-comments@~1.0.1:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91"
- integrity sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=
+strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
+ integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
+style-search@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902"
+ integrity sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=
+
stylehacks@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.1.tgz#3186595d047ab0df813d213e51c8b94e0b9010f2"
@@ -11120,21 +11479,95 @@ stylehacks@^4.0.0:
postcss "^7.0.0"
postcss-selector-parser "^3.0.0"
-stylis-rule-sheet@^0.0.10:
- version "0.0.10"
- resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430"
- integrity sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==
+stylelint-config-recommended@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz#e0e547434016c5539fe2650afd58049a2fd1d657"
+ integrity sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==
-stylis@^3.5.0:
- version "3.5.4"
- resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe"
- integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==
+stylelint-config-standard@^20.0.0:
+ version "20.0.0"
+ resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-20.0.0.tgz#06135090c9e064befee3d594289f50e295b5e20d"
+ integrity sha512-IB2iFdzOTA/zS4jSVav6z+wGtin08qfj+YyExHB3LF9lnouQht//YyB0KZq9gGz5HNPkddHOzcY8HsUey6ZUlA==
+ dependencies:
+ stylelint-config-recommended "^3.0.0"
+
+stylelint-scss@^3.18.0:
+ version "3.18.0"
+ resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-3.18.0.tgz#8f06371c223909bf3f62e839548af1badeed31e9"
+ integrity sha512-LD7+hv/6/ApNGt7+nR/50ft7cezKP2HM5rI8avIdGaUWre3xlHfV4jKO/DRZhscfuN+Ewy9FMhcTq0CcS0C/SA==
+ dependencies:
+ lodash "^4.17.15"
+ postcss-media-query-parser "^0.2.3"
+ postcss-resolve-nested-selector "^0.1.1"
+ postcss-selector-parser "^6.0.2"
+ postcss-value-parser "^4.1.0"
+
+stylelint@^13.7.2:
+ version "13.7.2"
+ resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-13.7.2.tgz#6f3c58eea4077680ed0ceb0d064b22b100970486"
+ integrity sha512-mmieorkfmO+ZA6CNDu1ic9qpt4tFvH2QUB7vqXgrMVHe5ENU69q7YDq0YUg/UHLuCsZOWhUAvcMcLzLDIERzSg==
+ dependencies:
+ "@stylelint/postcss-css-in-js" "^0.37.2"
+ "@stylelint/postcss-markdown" "^0.36.1"
+ autoprefixer "^9.8.6"
+ balanced-match "^1.0.0"
+ chalk "^4.1.0"
+ cosmiconfig "^7.0.0"
+ debug "^4.1.1"
+ execall "^2.0.0"
+ fast-glob "^3.2.4"
+ fastest-levenshtein "^1.0.12"
+ file-entry-cache "^5.0.1"
+ get-stdin "^8.0.0"
+ global-modules "^2.0.0"
+ globby "^11.0.1"
+ globjoin "^0.1.4"
+ html-tags "^3.1.0"
+ ignore "^5.1.8"
+ import-lazy "^4.0.0"
+ imurmurhash "^0.1.4"
+ known-css-properties "^0.19.0"
+ lodash "^4.17.20"
+ log-symbols "^4.0.0"
+ mathml-tag-names "^2.1.3"
+ meow "^7.1.1"
+ micromatch "^4.0.2"
+ normalize-selector "^0.2.0"
+ postcss "^7.0.32"
+ postcss-html "^0.36.0"
+ postcss-less "^3.1.4"
+ postcss-media-query-parser "^0.2.3"
+ postcss-resolve-nested-selector "^0.1.1"
+ postcss-safe-parser "^4.0.2"
+ postcss-sass "^0.4.4"
+ postcss-scss "^2.1.1"
+ postcss-selector-parser "^6.0.2"
+ postcss-syntax "^0.36.2"
+ postcss-value-parser "^4.1.0"
+ resolve-from "^5.0.0"
+ slash "^3.0.0"
+ specificity "^0.4.1"
+ string-width "^4.2.0"
+ strip-ansi "^6.0.0"
+ style-search "^0.1.0"
+ sugarss "^2.0.0"
+ svg-tags "^1.0.0"
+ table "^6.0.1"
+ v8-compile-cache "^2.1.1"
+ write-file-atomic "^3.0.3"
substring-trie@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/substring-trie/-/substring-trie-1.0.2.tgz#7b42592391628b4f2cb17365c6cce4257c7b7af5"
integrity sha1-e0JZI5Fii08ssXNlxszkJXx7evU=
+sugarss@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/sugarss/-/sugarss-2.0.0.tgz#ddd76e0124b297d40bf3cca31c8b22ecb43bc61d"
+ integrity sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==
+ dependencies:
+ postcss "^7.0.2"
+
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
@@ -11176,6 +11609,11 @@ supports-hyperlinks@^2.0.0:
has-flag "^4.0.0"
supports-color "^7.0.0"
+svg-tags@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764"
+ integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=
+
svgo@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.1.1.tgz#12384b03335bcecd85cfa5f4e3375fed671cb985"
@@ -11206,18 +11644,6 @@ symbol-tree@^3.2.4:
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
-table@^3.7.8:
- version "3.8.3"
- resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f"
- integrity sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=
- dependencies:
- ajv "^4.7.0"
- ajv-keywords "^1.0.0"
- chalk "^1.1.1"
- lodash "^4.0.0"
- slice-ansi "0.0.4"
- string-width "^2.0.0"
-
table@^5.2.3:
version "5.4.6"
resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e"
@@ -11228,6 +11654,16 @@ table@^5.2.3:
slice-ansi "^2.1.0"
string-width "^3.0.0"
+table@^6.0.1:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/table/-/table-6.0.3.tgz#e5b8a834e37e27ad06de2e0fda42b55cfd8a0123"
+ integrity sha512-8321ZMcf1B9HvVX/btKv8mMZahCjn2aYrDlpqHaBFCfnox64edeH9kEid0vTLTRR8gWR2A20aDgeuTTea4sVtw==
+ dependencies:
+ ajv "^6.12.4"
+ lodash "^4.17.20"
+ slice-ansi "^4.0.0"
+ string-width "^4.2.0"
+
tapable@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.1.tgz#4d297923c5a72a42360de2ab52dadfaaec00018e"
@@ -11251,6 +11687,18 @@ tar@^4:
safe-buffer "^5.1.2"
yallist "^3.0.2"
+tar@^6.0.2:
+ version "6.0.5"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.5.tgz#bde815086e10b39f1dcd298e89d596e1535e200f"
+ integrity sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==
+ dependencies:
+ chownr "^2.0.0"
+ fs-minipass "^2.0.0"
+ minipass "^3.0.0"
+ minizlib "^2.1.1"
+ mkdirp "^1.0.3"
+ yallist "^4.0.0"
+
tcomb@^2.5.0:
version "2.7.0"
resolved "https://registry.yarnpkg.com/tcomb/-/tcomb-2.7.0.tgz#10d62958041669a5d53567b9a4ee8cde22b1c2b0"
@@ -11297,16 +11745,6 @@ terser@^4.6.3:
source-map "~0.6.1"
source-map-support "~0.5.12"
-test-exclude@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.1.0.tgz#6ba6b25179d2d38724824661323b73e03c0c1de1"
- integrity sha512-gwf0S2fFsANC55fSeSqpb8BYk6w3FDvwZxfNjeF6FRgvFa43r+7wRiA/Q0IxoRU37wB/LE8IQ4221BsNucTaCA==
- dependencies:
- arrify "^1.0.1"
- minimatch "^3.0.4"
- read-pkg-up "^4.0.0"
- require-main-filename "^1.0.1"
-
test-exclude@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e"
@@ -11316,7 +11754,7 @@ test-exclude@^6.0.0:
glob "^7.1.4"
minimatch "^3.0.4"
-text-table@^0.2.0, text-table@~0.2.0:
+text-table@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
@@ -11326,13 +11764,6 @@ throat@^5.0.0:
resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b"
integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==
-throng@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/throng/-/throng-4.0.0.tgz#983c6ba1993b58eae859998aa687ffe88df84c17"
- integrity sha1-mDxroZk7WOroWZmKpof/6I34TBc=
- dependencies:
- lodash.defaults "^4.0.1"
-
through2@^2.0.0:
version "2.0.5"
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
@@ -11341,11 +11772,6 @@ through2@^2.0.0:
readable-stream "~2.3.6"
xtend "~4.0.1"
-through@2, through@^2.3.6:
- version "2.3.8"
- resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
- integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
-
thunky@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.3.tgz#f5df732453407b09191dae73e2a8cc73f381a826"
@@ -11383,13 +11809,6 @@ tinycolor2@^1.4.1:
resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8"
integrity sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=
-tmp@^0.0.33:
- version "0.0.33"
- resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
- integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
- dependencies:
- os-tmpdir "~1.0.2"
-
tmpl@1.0.x:
version "1.0.4"
resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
@@ -11442,13 +11861,6 @@ toidentifier@1.0.0:
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
-touch@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/touch/-/touch-2.0.2.tgz#ca0b2a3ae3211246a61b16ba9e6cbf1596287164"
- integrity sha512-qjNtvsFXTRq7IuMLweVgFxmEuQ6gLbRs2jQxL80TtZ31dEKWYIxRXquij6w6VimyDek5hD3PytljHmEtAs2u0A==
- dependencies:
- nopt "~1.0.10"
-
tough-cookie@^2.3.3, tough-cookie@~2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
@@ -11473,16 +11885,68 @@ tr46@^2.0.2:
dependencies:
punycode "^2.1.1"
+trim-newlines@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30"
+ integrity sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==
+
trim-right@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
-tryer@^1.0.0:
+trim-trailing-lines@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz#7f0739881ff76657b7776e10874128004b625a94"
+ integrity sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA==
+
+trim@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd"
+ integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0=
+
+trough@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406"
+ integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==
+
+tryer@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8"
integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==
+ts-essentials@^2.0.3:
+ version "2.0.12"
+ resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-2.0.12.tgz#c9303f3d74f75fa7528c3d49b80e089ab09d8745"
+ integrity sha512-3IVX4nI6B5cc31/GFFE+i8ey/N2eA0CZDbo6n0yrz0zDX8ZJ8djmU1p+XRz7G3is0F3bB3pu2pAroFdAWQKU3w==
+
+ts-jest@^26.4.1:
+ version "26.4.1"
+ resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.4.1.tgz#08ec0d3fc2c3a39e4a46eae5610b69fafa6babd0"
+ integrity sha512-F4aFq01aS6mnAAa0DljNmKr/Kk9y4HVZ1m6/rtJ0ED56cuxINGq3Q9eVAh+z5vcYKe5qnTMvv90vE8vUMFxomg==
+ dependencies:
+ "@types/jest" "26.x"
+ bs-logger "0.x"
+ buffer-from "1.x"
+ fast-json-stable-stringify "2.x"
+ jest-util "^26.1.0"
+ json5 "2.x"
+ lodash.memoize "4.x"
+ make-error "1.x"
+ mkdirp "1.x"
+ semver "7.x"
+ yargs-parser "20.x"
+
+tsconfig-paths@^3.9.0:
+ version "3.9.0"
+ resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b"
+ integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==
+ dependencies:
+ "@types/json5" "^0.0.29"
+ json5 "^1.0.1"
+ minimist "^1.2.0"
+ strip-bom "^3.0.0"
+
tslib@^1.10.0:
version "1.13.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
@@ -11493,6 +11957,11 @@ tslib@^1.9.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==
+tslib@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.2.tgz#462295631185db44b21b1ea3615b63cd1c038242"
+ integrity sha512-wAH28hcEKwna96/UacuWaVspVLkg4x1aDM9JlzqaQTOFczCktkVAb5fmXChgandR1EraDPs2w8P+ozM+oafwxg==
+
tty-browserify@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
@@ -11510,6 +11979,13 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
+type-check@^0.4.0, type-check@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
+ integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
+ dependencies:
+ prelude-ls "^1.2.1"
+
type-check@~0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
@@ -11527,6 +12003,11 @@ type-fest@^0.11.0:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1"
integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==
+type-fest@^0.13.1:
+ version "0.13.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934"
+ integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==
+
type-fest@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
@@ -11545,16 +12026,6 @@ type-is@~1.6.17, type-is@~1.6.18:
media-typer "0.3.0"
mime-types "~2.1.24"
-type@^1.0.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0"
- integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==
-
-type@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/type/-/type-2.0.0.tgz#5f16ff6ef2eb44f260494dae271033b29c09a9c3"
- integrity sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==
-
typedarray-to-buffer@^3.1.5:
version "3.1.5"
resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
@@ -11567,32 +12038,43 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
+typescript@^4.0, typescript@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.3.tgz#153bbd468ef07725c1df9c77e8b453f8d36abba5"
+ integrity sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg==
+
ua-parser-js@^0.7.18:
version "0.7.19"
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.19.tgz#94151be4c0a7fb1d001af7022fdaca4642659e4b"
integrity sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ==
-uglify-js@^3.0.0:
- version "3.4.9"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.9.tgz#af02f180c1207d76432e473ed24a28f4a782bae3"
- integrity sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==
- dependencies:
- commander "~2.17.1"
- source-map "~0.6.1"
+uglify-js@^3.6.0:
+ version "3.10.4"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.10.4.tgz#dd680f5687bc0d7a93b14a3482d16db6eba2bfbb"
+ integrity sha512-kBFT3U4Dcj4/pJ52vfjCSfyLyvG9VYYuGYPmrPvAxRw/i7xHiT4VvCev+uiEMcEEiu6UNB6KgWmGtSUYIWScbw==
-uglifyjs-webpack-plugin@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-2.1.2.tgz#70e5c38fb2d35ee887949c2a0adb2656c23296d5"
- integrity sha512-G1fJx2uOAAfvdZ77SVCzmFo6mv8uKaHoZBL9Qq/ciC8r6p0ANOL1uY85fIUiyWXKw5RzAaJYZfNSL58Or2hQ0A==
+uglifyjs-webpack-plugin@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-2.2.0.tgz#e75bc80e7f1937f725954c9b4c5a1e967ea9d0d7"
+ integrity sha512-mHSkufBmBuJ+KHQhv5H0MXijtsoA1lynJt1lXOaotja8/I0pR4L9oGaPIZw+bQBOFittXZg9OC1sXSGO9D9ZYg==
dependencies:
- cacache "^11.2.0"
- find-cache-dir "^2.0.0"
+ cacache "^12.0.2"
+ find-cache-dir "^2.1.0"
+ is-wsl "^1.1.0"
schema-utils "^1.0.0"
- serialize-javascript "^1.4.0"
+ serialize-javascript "^1.7.0"
source-map "^0.6.1"
- uglify-js "^3.0.0"
- webpack-sources "^1.1.0"
- worker-farm "^1.5.2"
+ uglify-js "^3.6.0"
+ webpack-sources "^1.4.0"
+ worker-farm "^1.7.0"
+
+unherit@^1.0.4:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22"
+ integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==
+ dependencies:
+ inherits "^2.0.0"
+ xtend "^4.0.0"
unicode-astral-regex@^1.0.1:
version "1.0.1"
@@ -11622,6 +12104,18 @@ unicode-property-aliases-ecmascript@^1.0.4:
resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0"
integrity sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==
+unified@^9.0.0:
+ version "9.2.0"
+ resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.0.tgz#67a62c627c40589edebbf60f53edfd4d822027f8"
+ integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==
+ dependencies:
+ bail "^1.0.0"
+ extend "^3.0.0"
+ is-buffer "^2.0.0"
+ is-plain-obj "^2.0.0"
+ trough "^1.0.0"
+ vfile "^4.0.0"
+
union-value@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"
@@ -11656,15 +12150,48 @@ unique-slug@^2.0.0:
dependencies:
imurmurhash "^0.1.4"
-universalify@^0.1.0:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
- integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
+unist-util-find-all-after@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/unist-util-find-all-after/-/unist-util-find-all-after-3.0.1.tgz#95cc62f48812d879b4685a0512bf1b838da50e9a"
+ integrity sha512-0GICgc++sRJesLwEYDjFVJPJttBpVQaTNgc6Jw0Jhzvfs+jtKePEMu+uD+PqkRUrAvGQqwhpDwLGWo1PK8PDEw==
+ dependencies:
+ unist-util-is "^4.0.0"
-universalify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d"
- integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==
+unist-util-is@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.0.2.tgz#c7d1341188aa9ce5b3cff538958de9895f14a5de"
+ integrity sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==
+
+unist-util-remove-position@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz#5d19ca79fdba712301999b2b73553ca8f3b352cc"
+ integrity sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==
+ dependencies:
+ unist-util-visit "^2.0.0"
+
+unist-util-stringify-position@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da"
+ integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==
+ dependencies:
+ "@types/unist" "^2.0.2"
+
+unist-util-visit-parents@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.0.tgz#4dd262fb9dcfe44f297d53e882fc6ff3421173d5"
+ integrity sha512-0g4wbluTF93npyPrp/ymd3tCDTMnP0yo2akFD2FIBAYXq/Sga3lwaU1D8OYKbtpioaI6CkDcQ6fsMnmtzt7htw==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-is "^4.0.0"
+
+unist-util-visit@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c"
+ integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-is "^4.0.0"
+ unist-util-visit-parents "^3.0.0"
unpipe@1.0.0, unpipe@~1.0.0:
version "1.0.0"
@@ -11717,18 +12244,30 @@ url@^0.11.0:
punycode "1.3.2"
querystring "0.2.0"
+use-composed-ref@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.0.0.tgz#bb13e8f4a0b873632cde4940abeb88b92d03023a"
+ integrity sha512-RVqY3NFNjZa0xrmK3bIMWNmQ01QjKPDc7DeWR3xa/N8aliVppuutOE5bZzPkQfvL+5NRWMMp0DJ99Trd974FIw==
+ dependencies:
+ ts-essentials "^2.0.3"
+
+use-isomorphic-layout-effect@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.0.0.tgz#f56b4ed633e1c21cd9fc76fe249002a1c28989fb"
+ integrity sha512-JMwJ7Vd86NwAt1jH7q+OIozZSIxA4ND0fx6AsOe2q1H8ooBUp5aN6DvVCqZiIaYU6JaMRJGyR0FO7EBCIsb/Rg==
+
+use-latest@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.1.0.tgz#7bf9684555869c3f5f37e10d0884c8accf4d3aa6"
+ integrity sha512-gF04d0ZMV3AMB8Q7HtfkAWe+oq1tFXP6dZKwBHQF5nVXtGsh2oAYeeqma5ZzxtlpOcW8Ro/tLcfmEodjDeqtuw==
+ dependencies:
+ use-isomorphic-layout-effect "^1.0.0"
+
use@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
-user-home@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f"
- integrity sha1-nHC/2Babwdy/SGBODwS4tJzenp8=
- dependencies:
- os-homedir "^1.0.0"
-
util-deprecate@^1.0.1, util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
@@ -11749,13 +12288,6 @@ util@0.10.3:
dependencies:
inherits "2.0.1"
-util@^0.10.3:
- version "0.10.4"
- resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901"
- integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==
- dependencies:
- inherits "2.0.3"
-
util@^0.11.0:
version "0.11.1"
resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61"
@@ -11773,7 +12305,7 @@ utils-merge@1.0.1:
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
-uuid@^3.0.1, uuid@^3.1.0, uuid@^3.3.2:
+uuid@^3.0.1, uuid@^3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
@@ -11783,6 +12315,11 @@ uuid@^7.0.3:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b"
integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==
+uuid@^8.0.0:
+ version "8.3.1"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.1.tgz#2ba2e6ca000da60fce5a196954ab241131e05a31"
+ integrity sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==
+
v8-compile-cache@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz#a428b28bb26790734c4fc8bc9fa106fccebf6a6c"
@@ -11793,6 +12330,11 @@ v8-compile-cache@^2.0.3:
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e"
integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==
+v8-compile-cache@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745"
+ integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==
+
v8-to-istanbul@^4.1.3:
version "4.1.4"
resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6"
@@ -11834,6 +12376,30 @@ verror@1.10.0:
core-util-is "1.0.2"
extsprintf "^1.2.0"
+vfile-location@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.1.0.tgz#81cd8a04b0ac935185f4fce16f270503fc2f692f"
+ integrity sha512-FCZ4AN9xMcjFIG1oGmZKo61PjwJHRVA+0/tPUP2ul4uIwjGGndIxavEMRpWn5p4xwm/ZsdXp9YNygf1ZyE4x8g==
+
+vfile-message@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a"
+ integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-stringify-position "^2.0.0"
+
+vfile@^4.0.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.0.tgz#26c78ac92eb70816b01d4565e003b7e65a2a0e01"
+ integrity sha512-a/alcwCvtuc8OX92rqqo7PflxiCgXRFjdyoGVuYV+qbgCb0GgZJRvIgCD4+U/Kl1yhaRsaTwksF88xbPyGsgpw==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ is-buffer "^2.0.0"
+ replace-ext "1.0.0"
+ unist-util-stringify-position "^2.0.0"
+ vfile-message "^2.0.0"
+
vm-browserify@^1.0.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
@@ -11874,6 +12440,13 @@ warning@^4.0.1:
dependencies:
loose-envify "^1.0.0"
+warning@^4.0.2:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3"
+ integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==
+ dependencies:
+ loose-envify "^1.0.0"
+
watchpack@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"
@@ -11913,24 +12486,24 @@ webpack-assets-manifest@^3.1.1:
tapable "^1.0.0"
webpack-sources "^1.0.0"
-webpack-bundle-analyzer@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.1.0.tgz#2f19cbb87bb6d4f3cb4e59cb67c837bd9436e89d"
- integrity sha512-nyDyWEs7C6DZlgvu1pR1zzJfIWSiGPbtaByZr8q+Fd2xp70FuM/8ngCJzj3Er1TYRLSFmp1F1OInbEm4DZH8NA==
+webpack-bundle-analyzer@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.0.0.tgz#c24711763247b4ac2c699b89388c5e1f37090d3e"
+ integrity sha512-ZaxJZuQ+dU5NmBNNiNNNUHpNtlXLaNKsQA5R7ii9vIYtJuL5ZpsDnlThj6C+NnfQS3FYy3ryA9bDS2P3CxmWDA==
dependencies:
- acorn "^6.0.7"
- acorn-walk "^6.1.1"
- bfj "^6.1.1"
- chalk "^2.4.1"
- commander "^2.18.0"
- ejs "^2.6.1"
- express "^4.16.3"
- filesize "^3.6.1"
- gzip-size "^5.0.0"
- lodash "^4.17.10"
- mkdirp "^0.5.1"
- opener "^1.5.1"
- ws "^6.0.0"
+ acorn "^8.0.4"
+ acorn-walk "^8.0.0"
+ bfj "^7.0.2"
+ chalk "^4.1.0"
+ commander "^6.2.0"
+ ejs "^3.1.5"
+ express "^4.17.1"
+ filesize "^6.1.0"
+ gzip-size "^5.1.1"
+ lodash "^4.17.20"
+ mkdirp "^1.0.4"
+ opener "^1.5.2"
+ ws "^7.3.1"
webpack-cli@^3.3.2:
version "3.3.2"
@@ -12003,14 +12576,15 @@ webpack-log@^2.0.0:
ansi-colors "^3.0.0"
uuid "^3.3.2"
-webpack-merge@^4.2.1:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.1.tgz#5e923cf802ea2ace4fd5af1d3247368a633489b4"
- integrity sha512-4p8WQyS98bUJcCvFMbdGZyZmsKuWjWVnVHnAS3FFg0HDaRVrPbkivx2RYCre8UiemD67RsiFFLfn4JhLAin8Vw==
+webpack-merge@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.2.0.tgz#31cbcc954f8f89cd4b06ca8d97a38549f7f3f0c9"
+ integrity sha512-QBglJBg5+lItm3/Lopv8KDDK01+hjdg2azEwi/4vKJ8ZmGPdtJsTpjtNNOW3a4WiqzXdCATtTudOZJngE7RKkA==
dependencies:
- lodash "^4.17.5"
+ clone-deep "^4.0.1"
+ wildcard "^2.0.0"
-webpack-sources@^1.0.0, webpack-sources@^1.0.1, webpack-sources@^1.1.0:
+webpack-sources@^1.0.0, webpack-sources@^1.1.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85"
integrity sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==
@@ -12018,7 +12592,7 @@ webpack-sources@^1.0.0, webpack-sources@^1.0.1, webpack-sources@^1.1.0:
source-list-map "^2.0.0"
source-map "~0.6.1"
-webpack-sources@^1.4.0, webpack-sources@^1.4.1:
+webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3:
version "1.4.3"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"
integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==
@@ -12106,7 +12680,7 @@ which-module@^2.0.0:
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
-which@^1.2.14, which@^1.2.9:
+which@^1.2.14, which@^1.2.9, which@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
@@ -12134,18 +12708,21 @@ wide-align@^1.1.0:
dependencies:
string-width "^1.0.2 || 2"
+wildcard@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec"
+ integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==
+
+word-wrap@^1.2.3:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
+ integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
+
wordwrap@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
-worker-farm@^1.5.2:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0"
- integrity sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==
- dependencies:
- errno "~0.1.7"
-
worker-farm@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
@@ -12170,21 +12747,21 @@ wrap-ansi@^6.2.0:
string-width "^4.1.0"
strip-ansi "^6.0.0"
+wrap-ansi@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
+ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
-write-file-atomic@2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529"
- integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==
- dependencies:
- graceful-fs "^4.1.11"
- imurmurhash "^0.1.4"
- signal-exit "^3.0.2"
-
-write-file-atomic@^3.0.0:
+write-file-atomic@^3.0.0, write-file-atomic@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==
@@ -12201,25 +12778,16 @@ write@1.0.3:
dependencies:
mkdirp "^0.5.1"
-write@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
- integrity sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=
- dependencies:
- mkdirp "^0.5.1"
-
-ws@^6.0.0:
- version "6.1.2"
- resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.2.tgz#3cc7462e98792f0ac679424148903ded3b9c3ad8"
- integrity sha512-rfUqzvz0WxmSXtJpPMX2EeASXabOrSMk1ruMOV3JBTBjo4ac2lDjGGsbQSyxj8Odhw5fBib8ZKEjDNvgouNKYw==
- dependencies:
- async-limiter "~1.0.0"
-
ws@^7.2.3:
version "7.3.0"
resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.0.tgz#4b2f7f219b3d3737bc1a2fbf145d825b94d38ffd"
integrity sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==
+ws@^7.3.1:
+ version "7.3.1"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8"
+ integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==
+
xml-name-validator@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
@@ -12235,16 +12803,41 @@ xtend@^4.0.0, xtend@~4.0.1:
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68=
+xtend@^4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
+ integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
+
"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
+y18n@^5.0.1:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.2.tgz#48218df5da2731b4403115c39a1af709c873f829"
+ integrity sha512-CkwaeZw6dQgqgPGeTWKMXCRmMcBgETFlTml1+ZOO+q7kGst8NREJ+eWwFNPVUQ4QGdAaklbqCZHH6Zuep1RjiA==
+
yallist@^3.0.0, yallist@^3.0.2:
version "3.0.3"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9"
integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==
+yallist@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+ integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+
+yaml@^1.10.0, yaml@^1.7.2:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
+ integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==
+
+yargs-parser@20.x, yargs-parser@^20.0.0:
+ version "20.2.1"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.1.tgz#28f3773c546cdd8a69ddae68116b48a5da328e77"
+ integrity sha512-yYsjuSkjbLMBp16eaOt7/siKTjNVjMm3SoJnIg3sEh/JsvqVVDyjRKmaJV4cl+lNIgq6QEco2i3gDebJl7/vLA==
+
yargs-parser@^11.1.1:
version "11.1.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"
@@ -12253,15 +12846,7 @@ yargs-parser@^11.1.1:
camelcase "^5.0.0"
decamelize "^1.2.0"
-yargs-parser@^16.1.0:
- version "16.1.0"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-16.1.0.tgz#73747d53ae187e7b8dbe333f95714c76ea00ecf1"
- integrity sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==
- dependencies:
- camelcase "^5.0.0"
- decamelize "^1.2.0"
-
-yargs-parser@^18.1.1:
+yargs-parser@^18.1.1, yargs-parser@^18.1.3:
version "18.1.3"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
@@ -12287,23 +12872,6 @@ yargs@12.0.5, yargs@^12.0.5:
y18n "^3.2.1 || ^4.0.0"
yargs-parser "^11.1.1"
-yargs@^15.0.0:
- version "15.0.1"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.0.1.tgz#558d03c3e5d873431d500f871168967ef673620e"
- integrity sha512-47i2DJb+gkLpioPBdMmnvb4QkAuyz7tLes9nCgYDXEdPf05tqjCQpUELea3MfmoomS9NKAZlZEifstKIXiASMw==
- dependencies:
- cliui "^6.0.0"
- decamelize "^1.2.0"
- find-up "^4.1.0"
- get-caller-file "^2.0.1"
- require-directory "^2.1.1"
- require-main-filename "^2.0.0"
- set-blocking "^2.0.0"
- string-width "^4.2.0"
- which-module "^2.0.0"
- y18n "^4.0.0"
- yargs-parser "^16.1.0"
-
yargs@^15.3.1:
version "15.3.1"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b"
@@ -12320,3 +12888,16 @@ yargs@^15.3.1:
which-module "^2.0.0"
y18n "^4.0.0"
yargs-parser "^18.1.1"
+
+yargs@^16.0.3:
+ version "16.0.3"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.0.3.tgz#7a919b9e43c90f80d4a142a89795e85399a7e54c"
+ integrity sha512-6+nLw8xa9uK1BOEOykaiYAJVh6/CjxWXK/q9b5FpRgNslt8s22F2xMBqVIKgCRjNgGvGPBy8Vog7WN7yh4amtA==
+ dependencies:
+ cliui "^7.0.0"
+ escalade "^3.0.2"
+ get-caller-file "^2.0.5"
+ require-directory "^2.1.1"
+ string-width "^4.2.0"
+ y18n "^5.0.1"
+ yargs-parser "^20.0.0"