Merge pull request #19 from emmawinston/unbranding

Ongoing unbranding of Hometown [WIP]
This commit is contained in:
Darius Kazemi 2019-10-07 23:18:35 -07:00 committed by GitHub
commit bfd29a34eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
67 changed files with 373 additions and 235 deletions

View File

@ -16,26 +16,26 @@ module StreamEntriesHelper
if user_signed_in? if user_signed_in?
if account.id == current_user.account_id if account.id == current_user.account_id
link_to settings_profile_url, class: 'button logo-button' do link_to settings_profile_url, class: 'button logo-button' do
safe_join([svg_logo, t('settings.edit_profile')]) safe_join([t('settings.edit_profile')])
end end
elsif current_account.following?(account) || current_account.requested?(account) elsif current_account.following?(account) || current_account.requested?(account)
link_to account_unfollow_path(account), class: 'button logo-button button--destructive', data: { method: :post } do link_to account_unfollow_path(account), class: 'button logo-button button--destructive', data: { method: :post } do
safe_join([svg_logo, t('accounts.unfollow')]) safe_join([t('accounts.unfollow')])
end end
elsif !(account.memorial? || account.moved?) elsif !(account.memorial? || account.moved?)
link_to account_follow_path(account), class: "button logo-button#{account.blocking?(current_account) ? ' disabled' : ''}", data: { method: :post } do link_to account_follow_path(account), class: "button logo-button#{account.blocking?(current_account) ? ' disabled' : ''}", data: { method: :post } do
safe_join([svg_logo, t('accounts.follow')]) safe_join([t('accounts.follow')])
end end
end end
elsif !(account.memorial? || account.moved?) elsif !(account.memorial? || account.moved?)
link_to account_remote_follow_path(account), class: 'button logo-button modal-button', target: '_new' do link_to account_remote_follow_path(account), class: 'button logo-button modal-button', target: '_new' do
safe_join([svg_logo, t('accounts.follow')]) safe_join([t('accounts.follow')])
end end
end end
end end
def svg_logo def svg_logo
content_tag(:svg, tag(:use, 'xlink:href' => '#mastodon-svg-logo'), 'viewBox' => '0 0 216.4144 232.00976') content_tag(:svg, tag(:use, 'xlink:href' => '#hometownlogo'), 'viewBox' => '0 0 100 100')
end end
def svg_logo_full def svg_logo_full

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" id="hometownlogo" x="0px" y="0px" viewBox="25 40 50 20" width="100%" height="100%"><g><path d="M55.9,53.9H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,53.9,55.9,53.9z"/><path d="M55.9,58.2H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,58.2,55.9,58.2z"/><path d="M55.9,62.6H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,62.6,55.9,62.6z"/><path d="M64.8,53.9c-0.7,0-1.3,0.6-1.3,1.3v8.8c0,0.7,0.6,1.3,1.3,1.3s1.3-0.6,1.3-1.3v-8.8C66,54.4,65.4,53.9,64.8,53.9z"/><path d="M60.4,53.9c-0.7,0-1.3,0.6-1.3,1.3v8.8c0,0.7,0.6,1.3,1.3,1.3s1.3-0.6,1.3-1.3v-8.8C61.6,54.4,61.1,53.9,60.4,53.9z"/><path d="M63.7,48.3c1.3-0.7,2-2.5,2-5.6c0-3.6-0.9-7.8-3.3-7.8s-3.3,4.2-3.3,7.8c0,3.1,0.7,4.9,2,5.6v2.4c0,0.7,0.6,1.3,1.3,1.3 s1.3-0.6,1.3-1.3V48.3z M62.4,37.8c0.4,0.8,0.8,2.5,0.8,4.9c0,2.5-0.5,3.4-0.8,3.4s-0.8-0.9-0.8-3.4C61.7,40.3,62.1,38.6,62.4,37.8 z"/><path d="M57,42.7c0-0.1-0.1-0.1-0.1-0.2l-3.2-4.1c-0.2-0.3-0.6-0.5-1-0.5h-1.6v-1.9c0-0.7-0.6-1.3-1.3-1.3s-1.3,0.6-1.3,1.3V38 h-3.9h-1.1h-5.2c-0.4,0-0.7,0.2-1,0.5l-3.2,4.1c0,0.1-0.1,0.1-0.1,0.2c0,0-0.1,0.1-0.1,0.1C34,43,34,43.2,34,43.3v7.4 c0,0.7,0.6,1.3,1.3,1.3h5.2h7.4h8c0.7,0,1.3-0.6,1.3-1.3v-7.4c0-0.2,0-0.3-0.1-0.4C57,42.8,57,42.8,57,42.7z M41.7,49.5h-5.2v-4.9 h10.2v4.9H41.7z M48.5,42.1l-1.2-1.6h4.8l1.2,1.6H48.5z M44.1,40.5l1.2,1.6h-7.5l1.2-1.6H44.1z M49.2,44.6h5.5v4.9h-5.5V44.6z"/></g></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -1,6 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import illustration from '../../images/elephant_ui_disappointed.svg';
export default class ErrorBoundary extends React.PureComponent { export default class ErrorBoundary extends React.PureComponent {
@ -31,7 +30,7 @@ export default class ErrorBoundary extends React.PureComponent {
return ( return (
<div> <div>
<img src={illustration} alt='' /> <svg xmlns="http://www.w3.org/2000/svg" id="hometownlogo" x="0px" y="0px" viewBox="25 40 50 20" width="100%" height="100%"><g><path d="M55.9,53.9H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,53.9,55.9,53.9z"/><path d="M55.9,58.2H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,58.2,55.9,58.2z"/><path d="M55.9,62.6H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,62.6,55.9,62.6z"/><path d="M64.8,53.9c-0.7,0-1.3,0.6-1.3,1.3v8.8c0,0.7,0.6,1.3,1.3,1.3s1.3-0.6,1.3-1.3v-8.8C66,54.4,65.4,53.9,64.8,53.9z"/><path d="M60.4,53.9c-0.7,0-1.3,0.6-1.3,1.3v8.8c0,0.7,0.6,1.3,1.3,1.3s1.3-0.6,1.3-1.3v-8.8C61.6,54.4,61.1,53.9,60.4,53.9z"/><path d="M63.7,48.3c1.3-0.7,2-2.5,2-5.6c0-3.6-0.9-7.8-3.3-7.8s-3.3,4.2-3.3,7.8c0,3.1,0.7,4.9,2,5.6v2.4c0,0.7,0.6,1.3,1.3,1.3 s1.3-0.6,1.3-1.3V48.3z M62.4,37.8c0.4,0.8,0.8,2.5,0.8,4.9c0,2.5-0.5,3.4-0.8,3.4s-0.8-0.9-0.8-3.4C61.7,40.3,62.1,38.6,62.4,37.8 z"/><path d="M57,42.7c0-0.1-0.1-0.1-0.1-0.2l-3.2-4.1c-0.2-0.3-0.6-0.5-1-0.5h-1.6v-1.9c0-0.7-0.6-1.3-1.3-1.3s-1.3,0.6-1.3,1.3V38 h-3.9h-1.1h-5.2c-0.4,0-0.7,0.2-1,0.5l-3.2,4.1c0,0.1-0.1,0.1-0.1,0.2c0,0-0.1,0.1-0.1,0.1C34,43,34,43.2,34,43.3v7.4 c0,0.7,0.6,1.3,1.3,1.3h5.2h7.4h8c0.7,0,1.3-0.6,1.3-1.3v-7.4c0-0.2,0-0.3-0.1-0.4C57,42.8,57,42.8,57,42.7z M41.7,49.5h-5.2v-4.9 h10.2v4.9H41.7z M48.5,42.1l-1.2-1.6h4.8l1.2,1.6H48.5z M44.1,40.5l1.2,1.6h-7.5l1.2-1.6H44.1z M49.2,44.6h5.5v4.9h-5.5V44.6z"/></g></svg>
</div> </div>
); );
} }

View File

@ -33,7 +33,7 @@ const messages = defineMessages({
unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unhide {domain}' }, unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unhide {domain}' },
hideReblogs: { id: 'account.hide_reblogs', defaultMessage: 'Hide boosts from @{name}' }, hideReblogs: { id: 'account.hide_reblogs', defaultMessage: 'Hide boosts from @{name}' },
showReblogs: { id: 'account.show_reblogs', defaultMessage: 'Show boosts from @{name}' }, showReblogs: { id: 'account.show_reblogs', defaultMessage: 'Show boosts from @{name}' },
pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned toots' }, pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned posts' },
preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' }, preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },
follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' }, follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' },
favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' }, favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' },
@ -306,7 +306,7 @@ class Header extends ImmutablePureComponent {
<div className='account__header__extra__links'> <div className='account__header__extra__links'>
<NavLink isActive={this.isStatusesPageActive} activeClassName='active' to={`/accounts/${account.get('id')}`} title={intl.formatNumber(account.get('statuses_count'))}> <NavLink isActive={this.isStatusesPageActive} activeClassName='active' to={`/accounts/${account.get('id')}`} title={intl.formatNumber(account.get('statuses_count'))}>
<strong>{shortNumberFormat(account.get('statuses_count'))}</strong> <FormattedMessage id='account.posts' defaultMessage='Toots' /> <strong>{shortNumberFormat(account.get('statuses_count'))}</strong> <FormattedMessage id='account.posts' defaultMessage='Posts' />
</NavLink> </NavLink>
<NavLink exact activeClassName='active' to={`/accounts/${account.get('id')}/following`} title={intl.formatNumber(account.get('following_count'))}> <NavLink exact activeClassName='active' to={`/accounts/${account.get('id')}/following`} title={intl.formatNumber(account.get('following_count'))}>

View File

@ -113,8 +113,8 @@ export default class Header extends ImmutablePureComponent {
{!hideTabs && ( {!hideTabs && (
<div className='account__section-headline'> <div className='account__section-headline'>
<NavLink exact to={`/accounts/${account.get('id')}`}><FormattedMessage id='account.posts' defaultMessage='Toots' /></NavLink> <NavLink exact to={`/accounts/${account.get('id')}`}><FormattedMessage id='account.posts' defaultMessage='Posts' /></NavLink>
<NavLink exact to={`/accounts/${account.get('id')}/with_replies`}><FormattedMessage id='account.posts_with_replies' defaultMessage='Toots and replies' /></NavLink> <NavLink exact to={`/accounts/${account.get('id')}/with_replies`}><FormattedMessage id='account.posts_with_replies' defaultMessage='Posts and replies' /></NavLink>
<NavLink exact to={`/accounts/${account.get('id')}/media`}><FormattedMessage id='account.media' defaultMessage='Media' /></NavLink> <NavLink exact to={`/accounts/${account.get('id')}/media`}><FormattedMessage id='account.media' defaultMessage='Media' /></NavLink>
</div> </div>
)} )}

View File

@ -95,7 +95,7 @@ class AccountTimeline extends ImmutablePureComponent {
); );
} }
const emptyMessage = blockedBy ? <FormattedMessage id='empty_column.account_unavailable' defaultMessage='Profile unavailable' /> : <FormattedMessage id='empty_column.account_timeline' defaultMessage='No toots here!' />; const emptyMessage = blockedBy ? <FormattedMessage id='empty_column.account_unavailable' defaultMessage='Profile unavailable' /> : <FormattedMessage id='empty_column.account_timeline' defaultMessage='No posts here!' />;
return ( return (
<Column> <Column>

View File

@ -6,7 +6,7 @@ import { defineMessages, injectIntl } from 'react-intl';
const messages = defineMessages({ const messages = defineMessages({
edit_profile: { id: 'account.edit_profile', defaultMessage: 'Edit profile' }, edit_profile: { id: 'account.edit_profile', defaultMessage: 'Edit profile' },
pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned toots' }, pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned posts' },
preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' }, preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },
follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' }, follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' },
favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' }, favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' },

View File

@ -27,7 +27,7 @@ const allowedAroundShortCode = '><\u0085\u0020\u00a0\u1680\u2000\u2001\u2002\u20
const messages = defineMessages({ const messages = defineMessages({
placeholder: { id: 'compose_form.placeholder', defaultMessage: 'What is on your mind?' }, placeholder: { id: 'compose_form.placeholder', defaultMessage: 'What is on your mind?' },
spoiler_placeholder: { id: 'compose_form.spoiler_placeholder', defaultMessage: 'Write your warning here' }, spoiler_placeholder: { id: 'compose_form.spoiler_placeholder', defaultMessage: 'Write your warning here' },
publish: { id: 'compose_form.publish', defaultMessage: 'Toot' }, publish: { id: 'compose_form.publish', defaultMessage: 'Post' },
publishLoud: { id: 'compose_form.publish_loud', defaultMessage: '{publish}!' }, publishLoud: { id: 'compose_form.publish_loud', defaultMessage: '{publish}!' },
}); });

View File

@ -10,9 +10,9 @@ import classNames from 'classnames';
const messages = defineMessages({ const messages = defineMessages({
federate_short: { id: 'federation.federated.short', defaultMessage: 'Federated' }, federate_short: { id: 'federation.federated.short', defaultMessage: 'Federated' },
federate_long: { id: 'federation.federated.long', defaultMessage: 'Allow toot to reach other instances' }, federate_long: { id: 'federation.federated.long', defaultMessage: 'Allow post to reach other instances' },
local_only_short: { id: 'federation.local_only.short', defaultMessage: 'Local-only' }, local_only_short: { id: 'federation.local_only.short', defaultMessage: 'Local-only' },
local_only_long: { id: 'federation.local_only.long', defaultMessage: 'Restrict this toot only to my instance' }, local_only_long: { id: 'federation.local_only.long', defaultMessage: 'Restrict this post only to my instance' },
change_federation: { id: 'federation.change', defaultMessage: 'Adjust status federation' }, change_federation: { id: 'federation.change', defaultMessage: 'Adjust status federation' },
}); });

View File

@ -73,7 +73,7 @@ class SearchResults extends ImmutablePureComponent {
count += results.get('statuses').size; count += results.get('statuses').size;
statuses = ( statuses = (
<div className='search-results__section'> <div className='search-results__section'>
<h5><Icon id='quote-right' fixedWidth /><FormattedMessage id='search_results.statuses' defaultMessage='Toots' /></h5> <h5><Icon id='quote-right' fixedWidth /><FormattedMessage id='search_results.statuses' defaultMessage='Posts' /></h5>
{results.get('statuses').map(statusId => <StatusContainer key={statusId} id={statusId} />)} {results.get('statuses').map(statusId => <StatusContainer key={statusId} id={statusId} />)}
</div> </div>
@ -81,10 +81,10 @@ class SearchResults extends ImmutablePureComponent {
} else if(results.get('statuses') && results.get('statuses').size === 0 && !searchEnabled && !(searchTerm.startsWith('@') || searchTerm.startsWith('#') || searchTerm.includes(' '))) { } else if(results.get('statuses') && results.get('statuses').size === 0 && !searchEnabled && !(searchTerm.startsWith('@') || searchTerm.startsWith('#') || searchTerm.includes(' '))) {
statuses = ( statuses = (
<div className='search-results__section'> <div className='search-results__section'>
<h5><Icon id='quote-right' fixedWidth /><FormattedMessage id='search_results.statuses' defaultMessage='Toots' /></h5> <h5><Icon id='quote-right' fixedWidth /><FormattedMessage id='search_results.statuses' defaultMessage='Posts' /></h5>
<div className='search-results__info'> <div className='search-results__info'>
<FormattedMessage id='search_results.statuses_fts_disabled' defaultMessage='Searching toots by their content is not enabled on this Mastodon server.' /> <FormattedMessage id='search_results.statuses_fts_disabled' defaultMessage='Searching posts by their content is not enabled on this server.' />
</div> </div>
</div> </div>
); );

View File

@ -19,7 +19,7 @@ const WarningWrapper = ({ needsLockWarning, hashtagWarning, directMessageWarning
} }
if (hashtagWarning) { if (hashtagWarning) {
return <Warning message={<FormattedMessage id='compose_form.hashtag_warning' defaultMessage="This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag." />} />; return <Warning message={<FormattedMessage id='compose_form.hashtag_warning' defaultMessage="This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag." />} />;
} }
if (directMessageWarning) { if (directMessageWarning) {

View File

@ -12,7 +12,6 @@ import Motion from '../ui/util/optional_motion';
import spring from 'react-motion/lib/spring'; import spring from 'react-motion/lib/spring';
import SearchResultsContainer from './containers/search_results_container'; import SearchResultsContainer from './containers/search_results_container';
import { changeComposing } from '../../actions/compose'; import { changeComposing } from '../../actions/compose';
import elephantUIPlane from '../../../images/elephant_ui_plane.svg';
import { mascot } from '../../initial_state'; import { mascot } from '../../initial_state';
import Icon from 'mastodon/components/icon'; import Icon from 'mastodon/components/icon';
@ -24,7 +23,7 @@ const messages = defineMessages({
community: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' }, community: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' },
preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' }, preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },
logout: { id: 'navigation_bar.logout', defaultMessage: 'Logout' }, logout: { id: 'navigation_bar.logout', defaultMessage: 'Logout' },
compose: { id: 'navigation_bar.compose', defaultMessage: 'Compose new toot' }, compose: { id: 'navigation_bar.compose', defaultMessage: 'Compose new post' },
}); });
const mapStateToProps = (state, ownProps) => ({ const mapStateToProps = (state, ownProps) => ({
@ -32,6 +31,13 @@ const mapStateToProps = (state, ownProps) => ({
showSearch: ownProps.multiColumn ? state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']) : ownProps.isSearchPage, showSearch: ownProps.multiColumn ? state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']) : ownProps.isSearchPage,
}); });
let instanceMascot;
if (mascot) {
instanceMascot = <img alt='' draggable='false' src={mascot} />;
} else {
instanceMascot = <svg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' id='hometownlogo' preserveAspectRatio='xMidYMid meet' width='100%' height='100%' viewBox='25 40 50 20'><g><path d='M55.9,53.9H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,53.9,55.9,53.9z'/><path d='M55.9,58.2H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,58.2,55.9,58.2z'/><path d='M55.9,62.6H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,62.6,55.9,62.6z'/><path d='M64.8,53.9c-0.7,0-1.3,0.6-1.3,1.3v8.8c0,0.7,0.6,1.3,1.3,1.3s1.3-0.6,1.3-1.3v-8.8C66,54.4,65.4,53.9,64.8,53.9z'/><path d='M60.4,53.9c-0.7,0-1.3,0.6-1.3,1.3v8.8c0,0.7,0.6,1.3,1.3,1.3s1.3-0.6,1.3-1.3v-8.8C61.6,54.4,61.1,53.9,60.4,53.9z'/><path d='M63.7,48.3c1.3-0.7,2-2.5,2-5.6c0-3.6-0.9-7.8-3.3-7.8s-3.3,4.2-3.3,7.8c0,3.1,0.7,4.9,2,5.6v2.4c0,0.7,0.6,1.3,1.3,1.3 s1.3-0.6,1.3-1.3V48.3z M62.4,37.8c0.4,0.8,0.8,2.5,0.8,4.9c0,2.5-0.5,3.4-0.8,3.4s-0.8-0.9-0.8-3.4C61.7,40.3,62.1,38.6,62.4,37.8 z'/><path d='M57,42.7c0-0.1-0.1-0.1-0.1-0.2l-3.2-4.1c-0.2-0.3-0.6-0.5-1-0.5h-1.6v-1.9c0-0.7-0.6-1.3-1.3-1.3s-1.3,0.6-1.3,1.3V38 h-3.9h-1.1h-5.2c-0.4,0-0.7,0.2-1,0.5l-3.2,4.1c0,0.1-0.1,0.1-0.1,0.2c0,0-0.1,0.1-0.1,0.1C34,43,34,43.2,34,43.3v7.4 c0,0.7,0.6,1.3,1.3,1.3h5.2h7.4h8c0.7,0,1.3-0.6,1.3-1.3v-7.4c0-0.2,0-0.3-0.1-0.4C57,42.8,57,42.8,57,42.7z M41.7,49.5h-5.2v-4.9 h10.2v4.9H41.7z M48.5,42.1l-1.2-1.6h4.8l1.2,1.6H48.5z M44.1,40.5l1.2,1.6h-7.5l1.2-1.6H44.1z M49.2,44.6h5.5v4.9h-5.5V44.6z'/></g></svg>;
}
export default @connect(mapStateToProps) export default @connect(mapStateToProps)
@injectIntl @injectIntl
class Compose extends React.PureComponent { class Compose extends React.PureComponent {
@ -110,7 +116,7 @@ class Compose extends React.PureComponent {
<ComposeFormContainer /> <ComposeFormContainer />
<div className='drawer__inner__mastodon'> <div className='drawer__inner__mastodon'>
<img alt='' draggable='false' src={mascot || elephantUIPlane} /> {instanceMascot}
</div> </div>
</div>} </div>}

View File

@ -71,7 +71,7 @@ class Favourites extends ImmutablePureComponent {
const { intl, shouldUpdateScroll, statusIds, columnId, multiColumn, hasMore, isLoading } = this.props; const { intl, shouldUpdateScroll, statusIds, columnId, multiColumn, hasMore, isLoading } = this.props;
const pinned = !!columnId; const pinned = !!columnId;
const emptyMessage = <FormattedMessage id='empty_column.favourited_statuses' defaultMessage="You don't have any favourite toots yet. When you favourite one, it will show up here." />; const emptyMessage = <FormattedMessage id='empty_column.favourited_statuses' defaultMessage="You don't have any favourite posts yet. When you favourite one, it will show up here." />;
return ( return (
<Column ref={this.setRef} label={intl.formatMessage(messages.heading)}> <Column ref={this.setRef} label={intl.formatMessage(messages.heading)}>

View File

@ -46,7 +46,7 @@ class Favourites extends ImmutablePureComponent {
); );
} }
const emptyMessage = <FormattedMessage id='empty_column.favourites' defaultMessage='No one has favourited this toot yet. When someone does, they will show up here.' />; const emptyMessage = <FormattedMessage id='empty_column.favourites' defaultMessage='No one has favourited this post yet. When someone does, they will show up here.' />;
return ( return (
<Column> <Column>

View File

@ -27,7 +27,7 @@ const messages = defineMessages({
blocks: { id: 'navigation_bar.blocks', defaultMessage: 'Blocked users' }, blocks: { id: 'navigation_bar.blocks', defaultMessage: 'Blocked users' },
domain_blocks: { id: 'navigation_bar.domain_blocks', defaultMessage: 'Hidden domains' }, domain_blocks: { id: 'navigation_bar.domain_blocks', defaultMessage: 'Hidden domains' },
mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' }, mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' },
pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned toots' }, pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned posts' },
lists: { id: 'navigation_bar.lists', defaultMessage: 'Lists' }, lists: { id: 'navigation_bar.lists', defaultMessage: 'Lists' },
discover: { id: 'navigation_bar.discover', defaultMessage: 'Discover' }, discover: { id: 'navigation_bar.discover', defaultMessage: 'Discover' },
personal: { id: 'navigation_bar.personal', defaultMessage: 'Personal' }, personal: { id: 'navigation_bar.personal', defaultMessage: 'Personal' },

View File

@ -74,22 +74,22 @@ const FrameInteractions = ({ onNext }) => (
<div className='introduction__text introduction__text--columnized'> <div className='introduction__text introduction__text--columnized'>
<div> <div>
<h3><FormattedMessage id='introduction.interactions.reply.headline' defaultMessage='Reply' /></h3> <h3><FormattedMessage id='introduction.interactions.reply.headline' defaultMessage='Reply' /></h3>
<p><FormattedMessage id='introduction.interactions.reply.text' defaultMessage="You can reply to other people's and your own toots, which will chain them together in a conversation." /></p> <p><FormattedMessage id='introduction.interactions.reply.text' defaultMessage="You can reply to other people's and your own posts, which will chain them together in a conversation." /></p>
</div> </div>
<div> <div>
<h3><FormattedMessage id='introduction.interactions.reblog.headline' defaultMessage='Boost' /></h3> <h3><FormattedMessage id='introduction.interactions.reblog.headline' defaultMessage='Boost' /></h3>
<p><FormattedMessage id='introduction.interactions.reblog.text' defaultMessage="You can share other people's toots with your followers by boosting them." /></p> <p><FormattedMessage id='introduction.interactions.reblog.text' defaultMessage="You can share other people's posts with your followers by boosting them." /></p>
</div> </div>
<div> <div>
<h3><FormattedMessage id='introduction.interactions.favourite.headline' defaultMessage='Favourite' /></h3> <h3><FormattedMessage id='introduction.interactions.favourite.headline' defaultMessage='Favourite' /></h3>
<p><FormattedMessage id='introduction.interactions.favourite.text' defaultMessage='You can save a toot for later, and let the author know that you liked it, by favouriting it.' /></p> <p><FormattedMessage id='introduction.interactions.favourite.text' defaultMessage='You can save a post for later, and let the author know that you liked it, by favouriting it.' /></p>
</div> </div>
</div> </div>
<div className='introduction__action'> <div className='introduction__action'>
<button className='button' onClick={onNext}><FormattedMessage id='introduction.interactions.action' defaultMessage='Finish toot-orial!' /></button> <button className='button' onClick={onNext}><FormattedMessage id='introduction.interactions.action' defaultMessage='Finish tutorial!' /></button>
</div> </div>
</div> </div>
); );

View File

@ -82,7 +82,7 @@ class KeyboardShortcuts extends ImmutablePureComponent {
</tr> </tr>
<tr> <tr>
<td><kbd>alt</kbd>+<kbd>n</kbd></td> <td><kbd>alt</kbd>+<kbd>n</kbd></td>
<td><FormattedMessage id='keyboard_shortcuts.toot' defaultMessage='to start a brand new toot' /></td> <td><FormattedMessage id='keyboard_shortcuts.toot' defaultMessage='to start a brand new post' /></td>
</tr> </tr>
<tr> <tr>
<td><kbd>backspace</kbd></td> <td><kbd>backspace</kbd></td>
@ -126,7 +126,7 @@ class KeyboardShortcuts extends ImmutablePureComponent {
</tr> </tr>
<tr> <tr>
<td><kbd>g</kbd>+<kbd>p</kbd></td> <td><kbd>g</kbd>+<kbd>p</kbd></td>
<td><FormattedMessage id='keyboard_shortcuts.pinned' defaultMessage='to open pinned toots list' /></td> <td><FormattedMessage id='keyboard_shortcuts.pinned' defaultMessage='to open pinned posts list' /></td>
</tr> </tr>
<tr> <tr>
<td><kbd>g</kbd>+<kbd>u</kbd></td> <td><kbd>g</kbd>+<kbd>u</kbd></td>

View File

@ -10,7 +10,7 @@ import { defineMessages, injectIntl } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePureComponent from 'react-immutable-pure-component';
const messages = defineMessages({ const messages = defineMessages({
heading: { id: 'column.pins', defaultMessage: 'Pinned toot' }, heading: { id: 'column.pins', defaultMessage: 'Pinned post' },
}); });
const mapStateToProps = state => ({ const mapStateToProps = state => ({

View File

@ -46,7 +46,7 @@ class Reblogs extends ImmutablePureComponent {
); );
} }
const emptyMessage = <FormattedMessage id='status.reblogs.empty' defaultMessage='No one has boosted this toot yet. When someone does, they will show up here.' />; const emptyMessage = <FormattedMessage id='status.reblogs.empty' defaultMessage='No one has boosted this post yet. When someone does, they will show up here.' />;
return ( return (
<Column> <Column>

View File

@ -33,7 +33,7 @@ const componentMap = {
}; };
const messages = defineMessages({ const messages = defineMessages({
publish: { id: 'compose_form.publish', defaultMessage: 'Toot' }, publish: { id: 'compose_form.publish', defaultMessage: 'Post' },
}); });
const shouldHideFAB = path => path.match(/^\/statuses\/|^\/search|^\/getting-started/); const shouldHideFAB = path => path.match(/^\/statuses\/|^\/search|^\/getting-started/);

View File

@ -55,7 +55,7 @@ import { previewState as previewVideoState } from './components/video_modal';
import '../../components/status'; import '../../components/status';
const messages = defineMessages({ const messages = defineMessages({
beforeUnload: { id: 'ui.beforeunload', defaultMessage: 'Your draft will be lost if you leave Mastodon.' }, beforeUnload: { id: 'ui.beforeunload', defaultMessage: 'Your draft will be lost if you leave.' },
}); });
const mapStateToProps = state => ({ const mapStateToProps = state => ({

View File

@ -23,7 +23,7 @@
"account.mute": "Silenciar a @{name}", "account.mute": "Silenciar a @{name}",
"account.mute_notifications": "Mute notifications from @{name}", "account.mute_notifications": "Mute notifications from @{name}",
"account.muted": "Muted", "account.muted": "Muted",
"account.posts": "Toots", "account.posts": "Posts",
"account.posts_with_replies": "Toots y rempuestes", "account.posts_with_replies": "Toots y rempuestes",
"account.report": "Report @{name}", "account.report": "Report @{name}",
"account.requested": "Awaiting approval. Click to cancel follow request", "account.requested": "Awaiting approval. Click to cancel follow request",
@ -67,7 +67,7 @@
"community.column_settings.media_only": "Media Only", "community.column_settings.media_only": "Media Only",
"compose_form.direct_message_warning": "Esti toot namái va unviase a los usuarios mentaos.", "compose_form.direct_message_warning": "Esti toot namái va unviase a los usuarios mentaos.",
"compose_form.direct_message_warning_learn_more": "Learn more", "compose_form.direct_message_warning_learn_more": "Learn more",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", "compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked", "compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "¿En qué pienses?", "compose_form.placeholder": "¿En qué pienses?",
@ -123,7 +123,7 @@
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"empty_column.direct": "Entá nun tienes dengún mensaxe direutu. Cuando unvies o recibas dalgún, va apaecer equí.", "empty_column.direct": "Entá nun tienes dengún mensaxe direutu. Cuando unvies o recibas dalgún, va apaecer equí.",
"empty_column.domain_blocks": "Entá nun hai dominios anubríos.", "empty_column.domain_blocks": "Entá nun hai dominios anubríos.",
"empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourited_statuses": "You don't have any favourite posts yet. When you favourite one, it will show up here.",
"empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
"empty_column.follow_requests": "Entá nun tienes denguna solicitú de siguimientu. Cuando recibas una, va amosase equí.", "empty_column.follow_requests": "Entá nun tienes denguna solicitú de siguimientu. Cuando recibas una, va amosase equí.",
"empty_column.hashtag": "There is nothing in this hashtag yet.", "empty_column.hashtag": "There is nothing in this hashtag yet.",
@ -171,13 +171,13 @@
"introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!", "introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
"introduction.federation.local.headline": "Local", "introduction.federation.local.headline": "Local",
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.", "introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
"introduction.interactions.action": "Finish toot-orial!", "introduction.interactions.action": "Finish tutorial!",
"introduction.interactions.favourite.headline": "Favourite", "introduction.interactions.favourite.headline": "Favourite",
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.", "introduction.interactions.favourite.text": "You can save a post for later, and let the author know that you liked it, by favouriting it.",
"introduction.interactions.reblog.headline": "Boost", "introduction.interactions.reblog.headline": "Boost",
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.", "introduction.interactions.reblog.text": "You can share other people's posts with your followers by boosting them.",
"introduction.interactions.reply.headline": "Reply", "introduction.interactions.reply.headline": "Reply",
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.", "introduction.interactions.reply.text": "You can reply to other people's and your own posts, which will chain them together in a conversation.",
"introduction.welcome.action": "Let's go!", "introduction.welcome.action": "Let's go!",
"introduction.welcome.headline": "First steps", "introduction.welcome.headline": "First steps",
"introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.", "introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",

View File

@ -67,7 +67,7 @@
"community.column_settings.media_only": "Media Only", "community.column_settings.media_only": "Media Only",
"compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.", "compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.",
"compose_form.direct_message_warning_learn_more": "Learn more", "compose_form.direct_message_warning_learn_more": "Learn more",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", "compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked", "compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Какво си мислиш?", "compose_form.placeholder": "Какво си мислиш?",
@ -123,8 +123,8 @@
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
"empty_column.domain_blocks": "There are no hidden domains yet.", "empty_column.domain_blocks": "There are no hidden domains yet.",
"empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourited_statuses": "You don't have any favourite posts yet. When you favourite one, it will show up here.",
"empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "empty_column.favourites": "No one has favourited this post yet. When someone does, they will show up here.",
"empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
"empty_column.hashtag": "There is nothing in this hashtag yet.", "empty_column.hashtag": "There is nothing in this hashtag yet.",
"empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.", "empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
@ -175,12 +175,12 @@
"introduction.interactions.favourite.headline": "Favourite", "introduction.interactions.favourite.headline": "Favourite",
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.", "introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
"introduction.interactions.reblog.headline": "Boost", "introduction.interactions.reblog.headline": "Boost",
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.", "introduction.interactions.reblog.text": "You can share other people's posts with your followers by boosting them.",
"introduction.interactions.reply.headline": "Reply", "introduction.interactions.reply.headline": "Reply",
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.", "introduction.interactions.reply.text": "You can reply to other people's and your own posts, which will chain them together in a conversation.",
"introduction.welcome.action": "Let's go!", "introduction.welcome.action": "Let's go!",
"introduction.welcome.headline": "First steps", "introduction.welcome.headline": "First steps",
"introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.", "introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special it hosts your profile, so remember its name.",
"keyboard_shortcuts.back": "to navigate back", "keyboard_shortcuts.back": "to navigate back",
"keyboard_shortcuts.blocked": "to open blocked users list", "keyboard_shortcuts.blocked": "to open blocked users list",
"keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.boost": "to boost",
@ -202,7 +202,7 @@
"keyboard_shortcuts.muted": "to open muted users list", "keyboard_shortcuts.muted": "to open muted users list",
"keyboard_shortcuts.my_profile": "to open your profile", "keyboard_shortcuts.my_profile": "to open your profile",
"keyboard_shortcuts.notifications": "to open notifications column", "keyboard_shortcuts.notifications": "to open notifications column",
"keyboard_shortcuts.pinned": "to open pinned toots list", "keyboard_shortcuts.pinned": "to open pinned posts list",
"keyboard_shortcuts.profile": "to open author's profile", "keyboard_shortcuts.profile": "to open author's profile",
"keyboard_shortcuts.reply": "to reply", "keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.requests": "to open follow requests list", "keyboard_shortcuts.requests": "to open follow requests list",
@ -249,7 +249,7 @@
"navigation_bar.logout": "Излизане", "navigation_bar.logout": "Излизане",
"navigation_bar.mutes": "Muted users", "navigation_bar.mutes": "Muted users",
"navigation_bar.personal": "Personal", "navigation_bar.personal": "Personal",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned posts",
"navigation_bar.preferences": "Предпочитания", "navigation_bar.preferences": "Предпочитания",
"navigation_bar.profile_directory": "Profile directory", "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Публичен канал", "navigation_bar.public_timeline": "Публичен канал",
@ -318,7 +318,7 @@
"search_popout.tips.user": "user", "search_popout.tips.user": "user",
"search_results.accounts": "People", "search_results.accounts": "People",
"search_results.hashtags": "Hashtags", "search_results.hashtags": "Hashtags",
"search_results.statuses": "Toots", "search_results.statuses": "Posts",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}", "search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"status.admin_account": "Open moderation interface for @{name}", "status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface", "status.admin_status": "Open this status in the moderation interface",

View File

@ -23,7 +23,7 @@
"account.mute": "Silencia @{name}", "account.mute": "Silencia @{name}",
"account.mute_notifications": "Notificacions desactivades de @{name}", "account.mute_notifications": "Notificacions desactivades de @{name}",
"account.muted": "Silenciat", "account.muted": "Silenciat",
"account.posts": "Toots", "account.posts": "Posts",
"account.posts_with_replies": "Toots i respostes", "account.posts_with_replies": "Toots i respostes",
"account.report": "Informe @{name}", "account.report": "Informe @{name}",
"account.requested": "Esperant aprovació. Clic per a cancel·lar la petició de seguiment", "account.requested": "Esperant aprovació. Clic per a cancel·lar la petició de seguiment",

View File

@ -173,9 +173,9 @@
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.", "introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
"introduction.interactions.action": "Slut tutorial!", "introduction.interactions.action": "Slut tutorial!",
"introduction.interactions.favourite.headline": "Favorisere", "introduction.interactions.favourite.headline": "Favorisere",
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.", "introduction.interactions.favourite.text": "You can save a post for later, and let the author know that you liked it, by favouriting it.",
"introduction.interactions.reblog.headline": "Boost", "introduction.interactions.reblog.headline": "Boost",
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.", "introduction.interactions.reblog.text": "You can share other people's posts with your followers by boosting them.",
"introduction.interactions.reply.headline": "Svar", "introduction.interactions.reply.headline": "Svar",
"introduction.interactions.reply.text": "Du kan svare andres og din egen bidrag, hvilke vil kæde dem sammen i en konversation.", "introduction.interactions.reply.text": "Du kan svare andres og din egen bidrag, hvilke vil kæde dem sammen i en konversation.",
"introduction.welcome.action": "Læd os gå!", "introduction.welcome.action": "Læd os gå!",

View File

@ -409,7 +409,7 @@
"id": "status.filtered" "id": "status.filtered"
}, },
{ {
"defaultMessage": "Pinned toot", "defaultMessage": "Pinned post",
"id": "status.pinned" "id": "status.pinned"
}, },
{ {
@ -493,11 +493,11 @@
{ {
"descriptors": [ "descriptors": [
{ {
"defaultMessage": "Toots", "defaultMessage": "Posts",
"id": "account.posts" "id": "account.posts"
}, },
{ {
"defaultMessage": "Toots and replies", "defaultMessage": "Posts and replies",
"id": "account.posts_with_replies" "id": "account.posts_with_replies"
}, },
{ {
@ -556,7 +556,7 @@
"id": "empty_column.account_unavailable" "id": "empty_column.account_unavailable"
}, },
{ {
"defaultMessage": "No toots here!", "defaultMessage": "No posts here!",
"id": "empty_column.account_timeline" "id": "empty_column.account_timeline"
} }
], ],
@ -641,7 +641,7 @@
"id": "account.show_reblogs" "id": "account.show_reblogs"
}, },
{ {
"defaultMessage": "Pinned toots", "defaultMessage": "Pinned posts",
"id": "navigation_bar.pins" "id": "navigation_bar.pins"
}, },
{ {
@ -709,7 +709,7 @@
"id": "account.badges.bot" "id": "account.badges.bot"
}, },
{ {
"defaultMessage": "Toots", "defaultMessage": "Posts",
"id": "account.posts" "id": "account.posts"
}, },
{ {
@ -765,7 +765,7 @@
"id": "account.edit_profile" "id": "account.edit_profile"
}, },
{ {
"defaultMessage": "Pinned toots", "defaultMessage": "Pinned posts",
"id": "navigation_bar.pins" "id": "navigation_bar.pins"
}, },
{ {
@ -814,7 +814,7 @@
"id": "compose_form.spoiler_placeholder" "id": "compose_form.spoiler_placeholder"
}, },
{ {
"defaultMessage": "Toot", "defaultMessage": "Post",
"id": "compose_form.publish" "id": "compose_form.publish"
}, },
{ {
@ -892,7 +892,7 @@
"id": "federation.federated.short" "id": "federation.federated.short"
}, },
{ {
"defaultMessage": "Allow toot to reach other instances", "defaultMessage": "Allow post to reach other instances",
"id": "federation.federated.long" "id": "federation.federated.long"
}, },
{ {
@ -900,7 +900,7 @@
"id": "federation.local_only.short" "id": "federation.local_only.short"
}, },
{ {
"defaultMessage": "Restrict this toot only to my instance", "defaultMessage": "Restrict this post only to my instance",
"id": "federation.local_only.long" "id": "federation.local_only.long"
}, },
{ {
@ -1030,7 +1030,7 @@
"id": "search_results.accounts" "id": "search_results.accounts"
}, },
{ {
"defaultMessage": "Toots", "defaultMessage": "Posts",
"id": "search_results.statuses" "id": "search_results.statuses"
}, },
{ {
@ -1153,11 +1153,11 @@
"id": "compose_form.lock_disclaimer.lock" "id": "compose_form.lock_disclaimer.lock"
}, },
{ {
"defaultMessage": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", "defaultMessage": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
"id": "compose_form.hashtag_warning" "id": "compose_form.hashtag_warning"
}, },
{ {
"defaultMessage": "This toot will only be sent to all the mentioned users.", "defaultMessage": "This post will only be sent to all the mentioned users.",
"id": "compose_form.direct_message_warning" "id": "compose_form.direct_message_warning"
}, },
{ {
@ -1198,7 +1198,7 @@
"id": "navigation_bar.logout" "id": "navigation_bar.logout"
}, },
{ {
"defaultMessage": "Compose new toot", "defaultMessage": "Compose new post",
"id": "navigation_bar.compose" "id": "navigation_bar.compose"
} }
], ],
@ -1241,7 +1241,7 @@
"id": "column.favourites" "id": "column.favourites"
}, },
{ {
"defaultMessage": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "defaultMessage": "You don't have any favourite posts yet. When you favourite one, it will show up here.",
"id": "empty_column.favourited_statuses" "id": "empty_column.favourited_statuses"
} }
], ],
@ -1250,7 +1250,7 @@
{ {
"descriptors": [ "descriptors": [
{ {
"defaultMessage": "No one has favourited this toot yet. When someone does, they will show up here.", "defaultMessage": "No one has favourited this post yet. When someone does, they will show up here.",
"id": "empty_column.favourites" "id": "empty_column.favourites"
} }
], ],
@ -1359,7 +1359,7 @@
"id": "navigation_bar.mutes" "id": "navigation_bar.mutes"
}, },
{ {
"defaultMessage": "Pinned toots", "defaultMessage": "Pinned posts",
"id": "navigation_bar.pins" "id": "navigation_bar.pins"
}, },
{ {
@ -1520,7 +1520,7 @@
"id": "introduction.interactions.reply.headline" "id": "introduction.interactions.reply.headline"
}, },
{ {
"defaultMessage": "You can reply to other people's and your own toots, which will chain them together in a conversation.", "defaultMessage": "You can reply to other people's and your own posts, which will chain them together in a conversation.",
"id": "introduction.interactions.reply.text" "id": "introduction.interactions.reply.text"
}, },
{ {
@ -1528,7 +1528,7 @@
"id": "introduction.interactions.reblog.headline" "id": "introduction.interactions.reblog.headline"
}, },
{ {
"defaultMessage": "You can share other people's toots with your followers by boosting them.", "defaultMessage": "You can share other people's posts with your followers by boosting them.",
"id": "introduction.interactions.reblog.text" "id": "introduction.interactions.reblog.text"
}, },
{ {
@ -1536,11 +1536,11 @@
"id": "introduction.interactions.favourite.headline" "id": "introduction.interactions.favourite.headline"
}, },
{ {
"defaultMessage": "You can save a toot for later, and let the author know that you liked it, by favouriting it.", "defaultMessage": "You can save a post for later, and let the author know that you liked it, by favouriting it.",
"id": "introduction.interactions.favourite.text" "id": "introduction.interactions.favourite.text"
}, },
{ {
"defaultMessage": "Finish toot-orial!", "defaultMessage": "Finish tutorial!",
"id": "introduction.interactions.action" "id": "introduction.interactions.action"
} }
], ],
@ -1609,7 +1609,7 @@
"id": "keyboard_shortcuts.compose" "id": "keyboard_shortcuts.compose"
}, },
{ {
"defaultMessage": "to start a brand new toot", "defaultMessage": "to start a brand new post",
"id": "keyboard_shortcuts.toot" "id": "keyboard_shortcuts.toot"
}, },
{ {
@ -1653,7 +1653,7 @@
"id": "keyboard_shortcuts.favourites" "id": "keyboard_shortcuts.favourites"
}, },
{ {
"defaultMessage": "to open pinned toots list", "defaultMessage": "to open pinned posts list",
"id": "keyboard_shortcuts.pinned" "id": "keyboard_shortcuts.pinned"
}, },
{ {
@ -1932,7 +1932,7 @@
{ {
"descriptors": [ "descriptors": [
{ {
"defaultMessage": "Pinned toot", "defaultMessage": "Pinned post",
"id": "column.pins" "id": "column.pins"
} }
], ],
@ -1954,7 +1954,7 @@
{ {
"descriptors": [ "descriptors": [
{ {
"defaultMessage": "No one has boosted this toot yet. When someone does, they will show up here.", "defaultMessage": "No one has boosted this post yet. When someone does, they will show up here.",
"id": "status.reblogs.empty" "id": "status.reblogs.empty"
} }
], ],
@ -2210,7 +2210,7 @@
{ {
"descriptors": [ "descriptors": [
{ {
"defaultMessage": "Toot", "defaultMessage": "Post",
"id": "compose_form.publish" "id": "compose_form.publish"
} }
], ],

View File

@ -23,8 +23,8 @@
"account.mute": "Mute @{name}", "account.mute": "Mute @{name}",
"account.mute_notifications": "Mute notifications from @{name}", "account.mute_notifications": "Mute notifications from @{name}",
"account.muted": "Muted", "account.muted": "Muted",
"account.posts": "Toots", "account.posts": "Posts",
"account.posts_with_replies": "Toots and replies", "account.posts_with_replies": "Posts and replies",
"account.report": "Report @{name}", "account.report": "Report @{name}",
"account.requested": "Awaiting approval. Click to cancel follow request", "account.requested": "Awaiting approval. Click to cancel follow request",
"account.share": "Share @{name}'s profile", "account.share": "Share @{name}'s profile",
@ -54,7 +54,7 @@
"column.lists": "Lists", "column.lists": "Lists",
"column.mutes": "Muted users", "column.mutes": "Muted users",
"column.notifications": "Notifications", "column.notifications": "Notifications",
"column.pins": "Pinned toots", "column.pins": "Pinned posts",
"column.public": "Federated timeline", "column.public": "Federated timeline",
"column_back_button.label": "Back", "column_back_button.label": "Back",
"column_header.hide_settings": "Hide settings", "column_header.hide_settings": "Hide settings",
@ -65,9 +65,9 @@
"column_header.unpin": "Unpin", "column_header.unpin": "Unpin",
"column_subheading.settings": "Settings", "column_subheading.settings": "Settings",
"community.column_settings.media_only": "Media Only", "community.column_settings.media_only": "Media Only",
"compose_form.direct_message_warning": "This toot will only be sent to the mentioned users.", "compose_form.direct_message_warning": "This post will only be sent to the mentioned users.",
"compose_form.direct_message_warning_learn_more": "Learn more", "compose_form.direct_message_warning_learn_more": "Learn more",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", "compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked", "compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "What's on your mind?", "compose_form.placeholder": "What's on your mind?",
@ -75,8 +75,8 @@
"compose_form.poll.duration": "Poll duration", "compose_form.poll.duration": "Poll duration",
"compose_form.poll.option_placeholder": "Choice {number}", "compose_form.poll.option_placeholder": "Choice {number}",
"compose_form.poll.remove_option": "Remove this choice", "compose_form.poll.remove_option": "Remove this choice",
"compose_form.publish": "Toot", "compose_form.publish": "Post",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}",
"compose_form.sensitive.hide": "Mark media as sensitive", "compose_form.sensitive.hide": "Mark media as sensitive",
"compose_form.sensitive.marked": "Media is marked as sensitive", "compose_form.sensitive.marked": "Media is marked as sensitive",
"compose_form.sensitive.unmarked": "Media is not marked as sensitive", "compose_form.sensitive.unmarked": "Media is not marked as sensitive",
@ -117,14 +117,14 @@
"emoji_button.search_results": "Search results", "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Symbols", "emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places", "emoji_button.travel": "Travel & Places",
"empty_column.account_timeline": "No toots here!", "empty_column.account_timeline": "No posts here!",
"empty_column.account_unavailable": "Profile unavailable", "empty_column.account_unavailable": "Profile unavailable",
"empty_column.blocks": "You haven't blocked any users yet.", "empty_column.blocks": "You haven't blocked any users yet.",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
"empty_column.domain_blocks": "There are no hidden domains yet.", "empty_column.domain_blocks": "There are no hidden domains yet.",
"empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourited_statuses": "You don't have any favourite posts yet. When you favourite one, it will show up here.",
"empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "empty_column.favourites": "No one has favourited this post yet. When someone does, they will show up here.",
"empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
"empty_column.hashtag": "There is nothing in this hashtag yet.", "empty_column.hashtag": "There is nothing in this hashtag yet.",
"empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.", "empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
@ -135,9 +135,9 @@
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.", "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", "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
"federation.change": "Adjust status federation", "federation.change": "Adjust status federation",
"federation.federated.long": "Allow toot to reach other instances", "federation.federated.long": "Allow post to reach other instances",
"federation.federated.short": "Federated", "federation.federated.short": "Federated",
"federation.local_only.long": "Restrict this toot only to my instance", "federation.local_only.long": "Restrict this post only to my instance",
"federation.local_only.short": "Local-only", "federation.local_only.short": "Local-only",
"follow_request.authorize": "Authorize", "follow_request.authorize": "Authorize",
"follow_request.reject": "Reject", "follow_request.reject": "Reject",
@ -174,11 +174,11 @@
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.", "introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
"introduction.interactions.action": "Finish tutorial!", "introduction.interactions.action": "Finish tutorial!",
"introduction.interactions.favourite.headline": "Favourite", "introduction.interactions.favourite.headline": "Favourite",
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.", "introduction.interactions.favourite.text": "You can save a post for later, and let the author know that you liked it, by favouriting it.",
"introduction.interactions.reblog.headline": "Boost", "introduction.interactions.reblog.headline": "Boost",
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.", "introduction.interactions.reblog.text": "You can share other people's posts with your followers by boosting them.",
"introduction.interactions.reply.headline": "Reply", "introduction.interactions.reply.headline": "Reply",
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.", "introduction.interactions.reply.text": "You can reply to other people's and your own posts, which will chain them together in a conversation.",
"introduction.welcome.action": "Let's go!", "introduction.welcome.action": "Let's go!",
"introduction.welcome.headline": "First steps", "introduction.welcome.headline": "First steps",
"introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.", "introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
@ -203,7 +203,7 @@
"keyboard_shortcuts.muted": "to open muted users list", "keyboard_shortcuts.muted": "to open muted users list",
"keyboard_shortcuts.my_profile": "to open your profile", "keyboard_shortcuts.my_profile": "to open your profile",
"keyboard_shortcuts.notifications": "to open notifications column", "keyboard_shortcuts.notifications": "to open notifications column",
"keyboard_shortcuts.pinned": "to open pinned toots list", "keyboard_shortcuts.pinned": "to open pinned posts list",
"keyboard_shortcuts.profile": "to open author's profile", "keyboard_shortcuts.profile": "to open author's profile",
"keyboard_shortcuts.reply": "to reply", "keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.requests": "to open follow requests list", "keyboard_shortcuts.requests": "to open follow requests list",
@ -211,7 +211,7 @@
"keyboard_shortcuts.start": "to open \"get started\" column", "keyboard_shortcuts.start": "to open \"get started\" column",
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW", "keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media", "keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
"keyboard_shortcuts.toot": "to start a brand new toot", "keyboard_shortcuts.post": "to start a brand new post",
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
"keyboard_shortcuts.up": "to move up in the list", "keyboard_shortcuts.up": "to move up in the list",
"lightbox.close": "Close", "lightbox.close": "Close",
@ -235,7 +235,7 @@
"navigation_bar.apps": "Mobile apps", "navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blocked users", "navigation_bar.blocks": "Blocked users",
"navigation_bar.community_timeline": "Local timeline", "navigation_bar.community_timeline": "Local timeline",
"navigation_bar.compose": "Compose new toot", "navigation_bar.compose": "Compose new post",
"navigation_bar.direct": "Direct messages", "navigation_bar.direct": "Direct messages",
"navigation_bar.discover": "Discover", "navigation_bar.discover": "Discover",
"navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.domain_blocks": "Hidden domains",
@ -250,7 +250,7 @@
"navigation_bar.logout": "Logout", "navigation_bar.logout": "Logout",
"navigation_bar.mutes": "Muted users", "navigation_bar.mutes": "Muted users",
"navigation_bar.personal": "Personal", "navigation_bar.personal": "Personal",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned posts",
"navigation_bar.preferences": "Preferences", "navigation_bar.preferences": "Preferences",
"navigation_bar.profile_directory": "Profile directory", "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Federated timeline", "navigation_bar.public_timeline": "Federated timeline",
@ -319,7 +319,7 @@
"search_popout.tips.user": "user", "search_popout.tips.user": "user",
"search_results.accounts": "People", "search_results.accounts": "People",
"search_results.hashtags": "Hashtags", "search_results.hashtags": "Hashtags",
"search_results.statuses": "Toots", "search_results.statuses": "Posts",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}", "search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"status.admin_account": "Open moderation interface for @{name}", "status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface", "status.admin_status": "Open this status in the moderation interface",
@ -342,12 +342,12 @@
"status.mute_conversation": "Mute conversation", "status.mute_conversation": "Mute conversation",
"status.open": "Expand this status", "status.open": "Expand this status",
"status.pin": "Pin on profile", "status.pin": "Pin on profile",
"status.pinned": "Pinned toot", "status.pinned": "Pinned post",
"status.read_more": "Read more", "status.read_more": "Read more",
"status.reblog": "Boost", "status.reblog": "Boost",
"status.reblog_private": "Boost to original audience", "status.reblog_private": "Boost to original audience",
"status.reblogged_by": "{name} boosted", "status.reblogged_by": "{name} boosted",
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", "status.reblogs.empty": "No one has boosted this post yet. When someone does, they will show up here.",
"status.redraft": "Delete & re-draft", "status.redraft": "Delete & re-draft",
"status.reply": "Reply", "status.reply": "Reply",
"status.replyAll": "Reply to thread", "status.replyAll": "Reply to thread",
@ -379,7 +379,7 @@
"upload_button.label": "Add media ({formats})", "upload_button.label": "Add media ({formats})",
"upload_error.limit": "File upload limit exceeded.", "upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.", "upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for visually impaired users",
"upload_form.focus": "Change preview", "upload_form.focus": "Change preview",
"upload_form.undo": "Delete", "upload_form.undo": "Delete",
"upload_progress.label": "Uploading...", "upload_progress.label": "Uploading...",

View File

@ -318,7 +318,7 @@
"search_popout.tips.user": "user", "search_popout.tips.user": "user",
"search_results.accounts": "People", "search_results.accounts": "People",
"search_results.hashtags": "Hashtags", "search_results.hashtags": "Hashtags",
"search_results.statuses": "Toots", "search_results.statuses": "Posts",
"search_results.total": "{count, number} {count, plural, one {результат} few {результати} many {результатів} other {результатів}}", "search_results.total": "{count, number} {count, plural, one {результат} few {результати} many {результатів} other {результатів}}",
"status.admin_account": "Open moderation interface for @{name}", "status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface", "status.admin_status": "Open this status in the moderation interface",

View File

@ -0,0 +1,21 @@
export function svgSelect(light, dark) {
var svgbg = window.getComputedStyle(document.getElementsByClassName("drawer__inner")[0], null).getPropertyValue("background-color");
var rgbArray = ((svgbg.replace(/[^0-9,]/g, "")).split(",")).map(Number).map(x => x/255);
for ( var i = 0; i < rgbArray.length; ++i ) {
if ( rgbArray[i] <= 0.03928 ) {
rgbArray[i] = rgbArray[i] / 12.92
} else {
rgbArray[i] = Math.pow( ( rgbArray[i] + 0.055 ) / 1.055, 2.4);
}
}
var luminance = 0.2126 * rgbArray[0] + 0.7152 * rgbArray[1] + 0.0722 * rgbArray[2];
if ( luminance <= 0.179 ) {
return light;
} else {
return dark;
}
}

View File

@ -240,7 +240,7 @@ html {
} }
.drawer__inner__mastodon { .drawer__inner__mastodon {
background: $pink url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 234.80078 31.757813" width="234.80078" height="31.757812"><path d="M19.599609 0c-1.05 0-2.10039.375-2.90039 1.125L0 16.925781v14.832031h234.80078V17.025391l-16.5-15.900391c-1.6-1.5-4.20078-1.5-5.80078 0l-13.80078 13.099609c-1.6 1.5-4.19883 1.5-5.79883 0L179.09961 1.125c-1.6-1.5-4.19883-1.5-5.79883 0L159.5 14.224609c-1.6 1.5-4.20078 1.5-5.80078 0L139.90039 1.125c-1.6-1.5-4.20078-1.5-5.80078 0l-13.79883 13.099609c-1.6 1.5-4.20078 1.5-5.80078 0L100.69922 1.125c-1.600001-1.5-4.198829-1.5-5.798829 0l-13.59961 13.099609c-1.6 1.5-4.200781 1.5-5.800781 0L61.699219 1.125c-1.6-1.5-4.198828-1.5-5.798828 0L42.099609 14.224609c-1.6 1.5-4.198828 1.5-5.798828 0L22.5 1.125C21.7.375 20.649609 0 19.599609 0z" fill="#{hex-color($ui-base-lighter-color)}"/></svg>') no-repeat bottom / 100% auto; background: $pink;
} }
// Change the colors used in compose-form // Change the colors used in compose-form

View File

@ -218,6 +218,11 @@ h1 {
line-height: 36px; line-height: 36px;
} }
.column-cell a h1 {
margin: 0 8px 10px;
line-height: 26px;
}
h2 { h2 {
font-size: 23px; font-size: 23px;
line-height: 30px; line-height: 30px;

View File

@ -147,7 +147,7 @@ html {
} }
.drawer__inner__mastodon { .drawer__inner__mastodon {
background: $white url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 234.80078 31.757813" width="234.80078" height="31.757812"><path d="M19.599609 0c-1.05 0-2.10039.375-2.90039 1.125L0 16.925781v14.832031h234.80078V17.025391l-16.5-15.900391c-1.6-1.5-4.20078-1.5-5.80078 0l-13.80078 13.099609c-1.6 1.5-4.19883 1.5-5.79883 0L179.09961 1.125c-1.6-1.5-4.19883-1.5-5.79883 0L159.5 14.224609c-1.6 1.5-4.20078 1.5-5.80078 0L139.90039 1.125c-1.6-1.5-4.20078-1.5-5.80078 0l-13.79883 13.099609c-1.6 1.5-4.20078 1.5-5.80078 0L100.69922 1.125c-1.600001-1.5-4.198829-1.5-5.798829 0l-13.59961 13.099609c-1.6 1.5-4.200781 1.5-5.800781 0L61.699219 1.125c-1.6-1.5-4.198828-1.5-5.798828 0L42.099609 14.224609c-1.6 1.5-4.198828 1.5-5.798828 0L22.5 1.125C21.7.375 20.649609 0 19.599609 0z" fill="#{hex-color($ui-base-color)}"/></svg>') no-repeat bottom / 100% auto; background: $white;
} }
// Change the colors used in compose-form // Change the colors used in compose-form

View File

@ -658,6 +658,8 @@ $small-breakpoint: 960px;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
padding: 50px; padding: 50px;
font-family: $font-display, sans-serif;
font-weight: bold;
svg { svg {
fill: $primary-text-color; fill: $primary-text-color;
@ -834,6 +836,22 @@ $small-breakpoint: 960px;
.brand { .brand {
position: relative; position: relative;
text-decoration: none; text-decoration: none;
color: $secondary-text-color;
}
a.brand {
color: $primary-text-color;
}
h1 a.brand {
color: $secondary-text-color;
font-size: 3.8em;
}
.originalmascotimg svg {
width: 200px;
fill: $secondary-text-color;
margin-top: -25px;
} }
.brand__tagline { .brand__tagline {
@ -853,4 +871,3 @@ $small-breakpoint: 960px;
color: $dark-text-color; color: $dark-text-color;
} }
} }

View File

@ -109,6 +109,12 @@ body {
height: auto; height: auto;
margin-top: -120px; margin-top: -120px;
} }
h1 {
a.brand {
font-size: 36px;
}
}
} }
h1 { h1 {

View File

@ -2364,7 +2364,7 @@ a.account__display-name {
} }
.drawer__inner__mastodon { .drawer__inner__mastodon {
background: lighten($ui-base-color, 13%) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 234.80078 31.757813" width="234.80078" height="31.757812"><path d="M19.599609 0c-1.05 0-2.10039.375-2.90039 1.125L0 16.925781v14.832031h234.80078V17.025391l-16.5-15.900391c-1.6-1.5-4.20078-1.5-5.80078 0l-13.80078 13.099609c-1.6 1.5-4.19883 1.5-5.79883 0L179.09961 1.125c-1.6-1.5-4.19883-1.5-5.79883 0L159.5 14.224609c-1.6 1.5-4.20078 1.5-5.80078 0L139.90039 1.125c-1.6-1.5-4.20078-1.5-5.80078 0l-13.79883 13.099609c-1.6 1.5-4.20078 1.5-5.80078 0L100.69922 1.125c-1.600001-1.5-4.198829-1.5-5.798829 0l-13.59961 13.099609c-1.6 1.5-4.200781 1.5-5.800781 0L61.699219 1.125c-1.6-1.5-4.198828-1.5-5.798828 0L42.099609 14.224609c-1.6 1.5-4.198828 1.5-5.798828 0L22.5 1.125C21.7.375 20.649609 0 19.599609 0z" fill="#{hex-color($ui-base-color)}"/></svg>') no-repeat bottom / 100% auto; background: lighten($ui-base-color, 13%);
flex: 1; flex: 1;
min-height: 47px; min-height: 47px;
display: none; display: none;
@ -3051,9 +3051,8 @@ a.status-card.compact:hover {
} }
&__figure { &__figure {
background: url('../images/elephant_ui_working.svg') no-repeat center 0;
width: 100%; width: 100%;
height: 160px; height: 10px;
background-size: contain; background-size: contain;
position: absolute; position: absolute;
top: 50%; top: 50%;
@ -3063,14 +3062,10 @@ a.status-card.compact:hover {
&.missing-indicator { &.missing-indicator {
padding-top: 20px + 48px; padding-top: 20px + 48px;
.regeneration-indicator__figure {
background-image: url('../images/elephant_ui_disappointed.svg');
}
} }
&__label { &__label {
margin-top: 200px; margin-top: 0px;
strong { strong {
display: block; display: block;
@ -6042,6 +6037,14 @@ noscript {
} }
} }
.drawer__inner__mastodon svg#hometownlogo {
position: absolute;
fill: $secondary-text-color;
width: 100px;
height: 100px;
bottom: 0;
}
div.status__content, div.status__content,
div.status__content--with-action, div.status__content--with-action,
div.status__content--with-spoiler { div.status__content--with-spoiler {

View File

@ -191,6 +191,29 @@
} }
} }
.originalhero {
width: 100%;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: center;
align-items: center;
align-content: space-between;
svg {
fill: $secondary-text-color;
height: 200px;
}
h1 {
flex-grow: 2;
text-align: center;
white-space: nowrap;
font-family: $font-display, sans-serif;
font-size: 0.6rem;
}
}
.public-layout { .public-layout {
@media screen and (max-width: $no-gap-breakpoint) { @media screen and (max-width: $no-gap-breakpoint) {
padding-top: 48px; padding-top: 48px;
@ -256,6 +279,7 @@
.brand { .brand {
display: block; display: block;
padding: 15px; padding: 15px;
white-space: nowrap;
svg { svg {
display: block; display: block;
@ -391,8 +415,42 @@
border-radius: 4px 4px 0 0; border-radius: 4px 4px 0 0;
} }
.originalheader {
width: 100%;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: center;
align-items: center;
align-content: space-between;
svg {
fill: $secondary-text-color;
height: 300px;
}
h1 {
flex-grow: 2;
text-align: center;
white-space: nowrap;
font-family: $font-display, sans-serif;
}
}
@media screen and (max-width: 600px) { @media screen and (max-width: 600px) {
height: 200px; height: 200px;
.originalheader {
svg {
height: 200px;
}
h1 {
font-size: 0.5rem;
}
}
} }
} }

View File

@ -15,7 +15,6 @@
> * { > * {
flex: 1; flex: 1;
max-height: 235px; max-height: 235px;
background: url('../images/elephant_ui_plane.svg') no-repeat left bottom / contain;
} }
} }

View File

@ -17,7 +17,7 @@ class UserMailer < Devise::Mailer
I18n.with_locale(@resource.locale || I18n.default_locale) do I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.unconfirmed_email.presence || @resource.email, mail to: @resource.unconfirmed_email.presence || @resource.email,
subject: I18n.t(@resource.pending_reconfirmation? ? 'devise.mailer.reconfirmation_instructions.subject' : 'devise.mailer.confirmation_instructions.subject', instance: @instance), subject: I18n.t(@resource.pending_reconfirmation? ? 'devise.mailer.reconfirmation_instructions.subject' : 'devise.mailer.confirmation_instructions.subject', instance: @instance, title: Setting.site_title),
template_name: @resource.pending_reconfirmation? ? 'reconfirmation_instructions' : 'confirmation_instructions' template_name: @resource.pending_reconfirmation? ? 'reconfirmation_instructions' : 'confirmation_instructions'
end end
end end
@ -30,7 +30,7 @@ class UserMailer < Devise::Mailer
return if @resource.disabled? return if @resource.disabled?
I18n.with_locale(@resource.locale || I18n.default_locale) do I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.email, subject: I18n.t('devise.mailer.reset_password_instructions.subject') mail to: @resource.email, subject: I18n.t('devise.mailer.reset_password_instructions.subject', title: Setting.site_title)
end end
end end
@ -41,7 +41,7 @@ class UserMailer < Devise::Mailer
return if @resource.disabled? return if @resource.disabled?
I18n.with_locale(@resource.locale || I18n.default_locale) do I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.email, subject: I18n.t('devise.mailer.password_change.subject') mail to: @resource.email, subject: I18n.t('devise.mailer.password_change.subject', title: Setting.site_title)
end end
end end
@ -52,7 +52,7 @@ class UserMailer < Devise::Mailer
return if @resource.disabled? return if @resource.disabled?
I18n.with_locale(@resource.locale || I18n.default_locale) do I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.email, subject: I18n.t('devise.mailer.email_changed.subject') mail to: @resource.email, subject: I18n.t('devise.mailer.email_changed.subject', title: Setting.site_title)
end end
end end
@ -63,7 +63,7 @@ class UserMailer < Devise::Mailer
return if @resource.disabled? return if @resource.disabled?
I18n.with_locale(@resource.locale || I18n.default_locale) do I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.email, subject: I18n.t('user_mailer.welcome.subject') mail to: @resource.email, subject: I18n.t('user_mailer.welcome.subject', title: Setting.site_title)
end end
end end
@ -75,7 +75,7 @@ class UserMailer < Devise::Mailer
return if @resource.disabled? return if @resource.disabled?
I18n.with_locale(@resource.locale || I18n.default_locale) do I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.email, subject: I18n.t('user_mailer.backup_ready.subject') mail to: @resource.email, subject: I18n.t('user_mailer.backup_ready.subject', title: Setting.site_title)
end end
end end

View File

@ -1,6 +1,6 @@
= simple_form_for(new_user, url: user_registration_path) do |f| = simple_form_for(new_user, url: user_registration_path) do |f|
.simple_form__overlay-area .simple_form__overlay-area
%p.lead= t('about.federation_hint_html', instance: content_tag(:strong, site_hostname)) %p.lead= t('about.federation_hint_html', instance: content_tag(:strong, site_title))
.fields-group .fields-group
= f.simple_fields_for :account do |account_fields| = f.simple_fields_for :account do |account_fields|

View File

@ -9,7 +9,14 @@
.column-0 .column-0
.public-account-header.public-account-header--no-bar .public-account-header.public-account-header--no-bar
.public-account-header__image .public-account-header__image
= image_tag @instance_presenter.hero&.file&.url || @instance_presenter.thumbnail&.file&.url || asset_pack_path('media/images/preview.jpg'), alt: @instance_presenter.site_title, class: 'parallax' - if @instance_presenter.hero.present? || @instance_presenter.thumbnail.present?
= image_tag @instance_presenter.hero&.file&.url || @instance_presenter.thumbnail&.file&.url, alt: @instance_presenter.site_title, class: 'parallax'
- else
%div{:class => ("originalheader")}
= svg_logo
%h1
= link_to root_url, class: 'brand' do
= site_title
.column-1 .column-1
.landing-page__call-to-action{ dir: 'ltr' } .landing-page__call-to-action{ dir: 'ltr' }
@ -24,8 +31,13 @@
%strong= number_with_delimiter @instance_presenter.status_count %strong= number_with_delimiter @instance_presenter.status_count
%span= t 'about.status_count_after', count: @instance_presenter.status_count %span= t 'about.status_count_after', count: @instance_presenter.status_count
.row__mascot .row__mascot
- if @instance_presenter.mascot&.file&.url
.landing-page__mascot .landing-page__mascot
= image_tag @instance_presenter.mascot&.file&.url || asset_pack_path('media/images/elephant_ui_plane.svg'), alt: '' = image_tag @instance_presenter.mascot&.file&.url
- else
.landing-page__mascot{:class => ("originalmascot")}
%div{:class => ("originalmascotimg")}
= svg_logo
.column-2 .column-2
.landing-page__information.contact-widget .landing-page__information.contact-widget

View File

@ -7,9 +7,9 @@
.landing .landing
.landing__brand .landing__brand
%h1
= link_to root_url, class: 'brand' do = link_to root_url, class: 'brand' do
= svg_logo_full = site_title
%span.brand__tagline=t 'about.tagline'
.landing__grid .landing__grid
.landing__grid__column.landing__grid__column-registration .landing__grid__column.landing__grid__column-registration
@ -35,22 +35,29 @@
%h4 %h4
= fa_icon 'globe fw' = fa_icon 'globe fw'
= t('about.see_whats_happening') = t('about.see_whats_happening')
%small= t('about.browse_public_posts') %small= t('about.browse_public_posts', title: site_title)
.directory__tag .directory__tag
= link_to 'https://joinmastodon.org/apps', target: '_blank', rel: 'noopener' do = link_to 'https://joinmastodon.org/apps', target: '_blank', rel: 'noopener' do
%h4 %h4
= fa_icon 'tablet fw' = fa_icon 'tablet fw'
= t('about.get_apps') = t('about.get_apps')
%small= t('about.apps_platforms') %small= t('about.apps_platforms', title: site_title)
.landing__grid__column.landing__grid__column-login .landing__grid__column.landing__grid__column-login
.box-widget .box-widget
= render 'login' = render 'login'
.hero-widget .hero-widget
- if @instance_presenter.hero.present? || @instance_presenter.thumbnail.present?
.hero-widget__img .hero-widget__img
= image_tag @instance_presenter.hero&.file&.url || @instance_presenter.thumbnail&.file&.url || asset_pack_path('media/images/preview.jpg'), alt: @instance_presenter.site_title = image_tag @instance_presenter.hero&.file&.url || @instance_presenter.thumbnail&.file&.url, alt: @instance_presenter.site_title
- else
%div{:class => ("originalhero")}
= svg_logo
%h1
= link_to root_url, class: 'brand' do
= site_title
- if @instance_presenter.site_short_description.present? - if @instance_presenter.site_short_description.present?
.hero-widget__text .hero-widget__text

View File

@ -57,7 +57,7 @@
%h4= t 'admin.dashboard.software' %h4= t 'admin.dashboard.software'
%ul %ul
%li %li
Mastodon Hometown
%span.pull-right= @version %span.pull-right= @version
%li %li
Ruby Ruby

View File

@ -1,6 +1,7 @@
.hero-widget .hero-widget
- if @instance_presenter.hero.present? || @instance_presenter.thumbnail.present?
.hero-widget__img .hero-widget__img
= image_tag @instance_presenter.hero&.file&.url || @instance_presenter.thumbnail&.file&.url || asset_pack_path('media/images/preview.jpg'), alt: @instance_presenter.site_title = image_tag @instance_presenter.hero&.file&.url || @instance_presenter.thumbnail&.file&.url, alt: @instance_presenter.site_title
.hero-widget__text .hero-widget__text
%p= @instance_presenter.site_short_description.html_safe.presence || @instance_presenter.site_description.html_safe.presence || t('about.generic_description', domain: site_hostname) %p= @instance_presenter.site_short_description.html_safe.presence || @instance_presenter.site_description.html_safe.presence || t('about.generic_description', domain: site_hostname)

View File

@ -1,5 +1,5 @@
%h4= t 'sessions.title' %h4= t 'sessions.title'
%p.muted-hint= t 'sessions.explanation' %p.muted-hint= t('sessions.explanation', title: site_title)
.table-wrapper .table-wrapper
%table.table.inline-table %table.table.inline-table

View File

@ -11,7 +11,7 @@
.app-holder#mastodon{ data: { props: Oj.dump(default_props) } } .app-holder#mastodon{ data: { props: Oj.dump(default_props) } }
%noscript %noscript
= image_pack_tag 'logo.svg', alt: 'Mastodon' = image_pack_tag 'logo.svg', alt: site_title
%div %div
= t('errors.noscript_html', apps_path: 'https://joinmastodon.org/apps') = t('errors.noscript_html', apps_path: 'https://joinmastodon.org/apps', title: site_title)

View File

@ -5,8 +5,7 @@
.admin-wrapper .admin-wrapper
.sidebar-wrapper .sidebar-wrapper
.sidebar .sidebar
= link_to root_path do %div{:class => ("logo")}
= image_pack_tag 'logo.svg', class: 'logo', alt: 'Mastodon'
= render_navigation = render_navigation
.content-wrapper .content-wrapper

View File

@ -35,5 +35,5 @@
= content_for?(:content) ? yield(:content) : yield = content_for?(:content) ? yield(:content) : yield
%div{ style: 'display: none'} %div{ style: 'display: none'}
= render file: Rails.root.join('app', 'javascript', 'images', 'logo_transparent.svg') = render file: Rails.root.join('app', 'javascript', 'images', 'hometown.svg')
= render file: Rails.root.join('app', 'javascript', 'images', 'logo_full.svg') = render file: Rails.root.join('app', 'javascript', 'images', 'logo_full.svg')

View File

@ -5,8 +5,8 @@
.container-alt .container-alt
.logo-container .logo-container
%h1 %h1
= link_to root_path do = link_to root_path, class: 'brand' do
= svg_logo_full = site_title
.form-container .form-container
= render 'flashes' = render 'flashes'

View File

@ -8,10 +8,11 @@
= stylesheet_pack_tag 'common', media: 'all' = stylesheet_pack_tag 'common', media: 'all'
= stylesheet_pack_tag Setting.default_settings['theme'], media: 'all' = stylesheet_pack_tag Setting.default_settings['theme'], media: 'all'
= javascript_pack_tag 'common', integrity: true, crossorigin: 'anonymous' = javascript_pack_tag 'common', integrity: true, crossorigin: 'anonymous'
= javascript_pack_tag 'error', integrity: true, crossorigin: 'anonymous'
%body.error %body.error
.dialog .dialog
.dialog__illustration .dialog__illustration
%img{ alt: Setting.default_settings['site_title'], src: '/oops.png' }/ %h1
= link_to root_url, class: 'brand' do
= site_title
.dialog__message .dialog__message
%h1= yield :content %h1= yield :content

View File

@ -24,7 +24,8 @@
%tr %tr
%td.column-cell %td.column-cell
= link_to root_url do = link_to root_url do
= image_tag full_pack_url('media/images/mailer/logo_full.png'), alt: 'Mastodon', height: 34, class: 'logo' %h1
= site_title
= yield = yield
@ -49,4 +50,5 @@
%p= link_to t('application_mailer.notification_preferences'), settings_preferences_notifications_url %p= link_to t('application_mailer.notification_preferences'), settings_preferences_notifications_url
%td.column-cell.text-right %td.column-cell.text-right
= link_to root_url do = link_to root_url do
= image_tag full_pack_url('media/images/mailer/logo_transparent.png'), alt: 'Mastodon', height: 24 %h4
= site_title

View File

@ -8,7 +8,7 @@
%nav.header %nav.header
.nav-left .nav-left
= link_to root_url, class: 'brand' do = link_to root_url, class: 'brand' do
= svg_logo_full = site_title
= link_to t('directories.directory'), explore_path, class: 'nav-link optional' if Setting.profile_directory = link_to t('directories.directory'), explore_path, class: 'nav-link optional' if Setting.profile_directory
= link_to t('about.about_this'), about_more_path, class: 'nav-link optional' = link_to t('about.about_this'), about_more_path, class: 'nav-link optional'

View File

@ -8,7 +8,7 @@
.page-header .page-header
%h1= t('about.see_whats_happening') %h1= t('about.see_whats_happening')
%p= t('about.browse_public_posts') %p= t('about.browse_public_posts', title: site_title)
#mastodon-timeline{ data: { props: Oj.dump(default_props) }} #mastodon-timeline{ data: { props: Oj.dump(default_props) }}
#modal-container #modal-container

View File

@ -45,7 +45,7 @@
.fields-row__column.fields-group.fields-row__column-6 .fields-row__column.fields-group.fields-row__column-6
%h6= t('verification.verification') %h6= t('verification.verification')
%p.hint= t('verification.explanation_html') %p.hint= t('verification.explanation_html', instance: site_hostname)
.input-copy .input-copy
.input-copy__wrapper .input-copy__wrapper

View File

@ -36,7 +36,7 @@
%tbody %tbody
%tr %tr
%td.column-cell.text-center %td.column-cell.text-center
%p= t 'user_mailer.backup_ready.explanation' %p= t('user_mailer.backup_ready.explanation', title: site_title)
%table.email-table{ cellspacing: 0, cellpadding: 0 } %table.email-table{ cellspacing: 0, cellpadding: 0 }
%tbody %tbody

View File

@ -57,4 +57,4 @@
%tbody %tbody
%tr %tr
%td.column-cell.text-center.padded %td.column-cell.text-center.padded
%p= t 'devise.mailer.reconfirmation_instructions.extra' %p= t 'devise.mailer.reconfirmation_instructions.extra', title: site_title

View File

@ -135,7 +135,7 @@
%h5= t 'user_mailer.welcome.tips' %h5= t 'user_mailer.welcome.tips'
%ul %ul
%li %li
%span= t 'user_mailer.welcome.tip_mobile_webapp' %span= t 'user_mailer.welcome.tip_mobile_webapp', instance: @instance
%li %li
%span= t 'user_mailer.welcome.tip_following' %span= t 'user_mailer.welcome.tip_following'
%li %li

View File

@ -23,28 +23,28 @@ en:
explanation: You have created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email. explanation: You have created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email.
explanation_when_pending: You applied for an invite to %{host} with this email address. Once you confirm your e-mail address, we will review your application. You can't login until then. If your application is rejected, your data will be removed, so no further action will be required from you. If this wasn't you, please ignore this email. explanation_when_pending: You applied for an invite to %{host} with this email address. Once you confirm your e-mail address, we will review your application. You can't login until then. If your application is rejected, your data will be removed, so no further action will be required from you. If this wasn't you, please ignore this email.
extra_html: Please also check out <a href="%{terms_path}">the rules of the server</a> and <a href="%{policy_path}">our terms of service</a>. extra_html: Please also check out <a href="%{terms_path}">the rules of the server</a> and <a href="%{policy_path}">our terms of service</a>.
subject: 'Mastodon: Confirmation instructions for %{instance}' subject: '%{title}: Confirmation instructions'
title: Verify email address title: Verify email address
email_changed: email_changed:
explanation: 'The email address for your account is being changed to:' explanation: 'The email address for your account is being changed to:'
extra: If you did not change your email, it is likely that someone has gained access to your account. Please change your password immediately or contact the server admin if you're locked out of your account. extra: If you did not change your email, it is likely that someone has gained access to your account. Please change your password immediately or contact the server admin if you're locked out of your account.
subject: 'Mastodon: Email changed' subject: '%{title}: Email changed'
title: New email address title: New email address
password_change: password_change:
explanation: The password for your account has been changed. explanation: The password for your account has been changed.
extra: If you did not change your password, it is likely that someone has gained access to your account. Please change your password immediately or contact the server admin if you're locked out of your account. extra: If you did not change your password, it is likely that someone has gained access to your account. Please change your password immediately or contact the server admin if you're locked out of your account.
subject: 'Mastodon: Password changed' subject: '%{title}: Password changed'
title: Password changed title: Password changed
reconfirmation_instructions: reconfirmation_instructions:
explanation: Confirm the new address to change your email. explanation: Confirm the new address to change your email.
extra: If this change wasn't initiated by you, please ignore this email. The email address for the Mastodon account won't change until you access the link above. extra: If this change wasn't initiated by you, please ignore this email. The email address for the %{title} account won't change until you access the link above.
subject: 'Mastodon: Confirm email for %{instance}' subject: '%{title}: Confirm email'
title: Verify email address title: Verify email address
reset_password_instructions: reset_password_instructions:
action: Change password action: Change password
explanation: You requested a new password for your account. explanation: You requested a new password for your account.
extra: If you didn't request this, please ignore this email. Your password won't change until you access the link above and create a new one. extra: If you didn't request this, please ignore this email. Your password won't change until you access the link above and create a new one.
subject: 'Mastodon: Reset password instructions' subject: '%{title}: Reset password instructions'
title: Password reset title: Password reset
unlock_instructions: unlock_instructions:
subject: 'Mastodon: Unlock instructions' subject: 'Mastodon: Unlock instructions'

View File

@ -1,17 +1,17 @@
--- ---
en: en:
about: about:
about_hashtag_html: These are public toots tagged with <strong>#%{hashtag}</strong>. You can interact with them if you have an account anywhere in the fediverse. about_hashtag_html: These are public posts tagged with <strong>#%{hashtag}</strong>. You can interact with them if you have an account anywhere in the fediverse.
about_mastodon_html: Mastodon is a social network based on open web protocols and free, open-source software. It is decentralized like e-mail. about_mastodon_html: Hometown is adapted from Mastodon, a social network based on open web protocols and free, open-source software. It is decentralized like e-mail.
about_this: About about_this: About
active_count_after: active active_count_after: active
active_footnote: Monthly Active Users (MAU) active_footnote: Monthly Active Users (MAU)
administered_by: 'Administered by:' administered_by: 'Administered by:'
api: API api: API
apps: Mobile apps apps: Mobile apps
apps_platforms: Use Mastodon from iOS, Android and other platforms apps_platforms: Use %{title} from iOS, Android and other platforms
browse_directory: Browse a profile directory and filter by interests browse_directory: Browse a profile directory and filter by interests
browse_public_posts: Browse a live stream of public posts on Mastodon browse_public_posts: Browse a live stream of public posts on %{title}
contact: Contact contact: Contact
contact_missing: Not set contact_missing: Not set
contact_unavailable: N/A contact_unavailable: N/A
@ -20,10 +20,10 @@ en:
extended_description_html: | extended_description_html: |
<h3>A good place for rules</h3> <h3>A good place for rules</h3>
<p>The extended description has not been set up yet.</p> <p>The extended description has not been set up yet.</p>
federation_hint_html: With an account on %{instance} you'll be able to follow people on any Mastodon server and beyond. federation_hint_html: With an account on %{instance} you'll be able to follow people on any Hometown or Mastodon server and beyond.
generic_description: "%{domain} is one server in the network" generic_description: "%{domain} is one server in the federated network"
get_apps: Try a mobile app get_apps: Try a mobile app
hosted_on: Mastodon hosted on %{domain} hosted_on: Hometown hosted on %{domain}
learn_more: Learn more learn_more: Learn more
privacy_policy: Privacy policy privacy_policy: Privacy policy
see_whats_happening: See what's happening see_whats_happening: See what's happening
@ -39,7 +39,7 @@ en:
one: user one: user
other: users other: users
user_count_before: Home to user_count_before: Home to
what_is_mastodon: What is Mastodon? what_is_mastodon: What is Hometown/Mastodon?
accounts: accounts:
choices_html: "%{name}'s choices:" choices_html: "%{name}'s choices:"
follow: Follow follow: Follow
@ -59,10 +59,10 @@ en:
pin_errors: pin_errors:
following: You must be already following the person you want to endorse following: You must be already following the person you want to endorse
posts: posts:
one: Toot one: Post
other: Toots other: Posts
posts_tab_heading: Toots posts_tab_heading: Posts
posts_with_replies: Toots and replies posts_with_replies: Posts and replies
reserved_username: The username is reserved reserved_username: The username is reserved
roles: roles:
admin: Admin admin: Admin
@ -341,11 +341,11 @@ en:
relays: relays:
add_new: Add new relay add_new: Add new relay
delete: Delete delete: Delete
description_html: A <strong>federation relay</strong> is an intermediary server that exchanges large volumes of public toots between servers that subscribe and publish to it. <strong>It can help small and medium servers discover content from the fediverse</strong>, which would otherwise require local users manually following other people on remote servers. description_html: A <strong>federation relay</strong> is an intermediary server that exchanges large volumes of public posts between servers that subscribe and publish to it. <strong>It can help small and medium servers discover content from the fediverse</strong>, which would otherwise require local users manually following other people on remote servers.
disable: Disable disable: Disable
disabled: Disabled disabled: Disabled
enable: Enable enable: Enable
enable_hint: Once enabled, your server will subscribe to all public toots from this relay, and will begin sending this server's public toots to it. enable_hint: Once enabled, your server will subscribe to all public posts from this relay, and will begin sending this server's public posts to it.
enabled: Enabled enabled: Enabled
inbox_url: Relay URL inbox_url: Relay URL
pending: Waiting for relay's approval pending: Waiting for relay's approval
@ -431,19 +431,19 @@ en:
open: Anyone can sign up open: Anyone can sign up
title: Registrations mode title: Registrations mode
show_known_fediverse_at_about_page: show_known_fediverse_at_about_page:
desc_html: When toggled, it will show toots from all the known fediverse on preview. Otherwise it will only show local toots. desc_html: When toggled, it will show posts from all the known fediverse on preview. Otherwise it will only show local posts.
title: Show known fediverse on timeline preview title: Show known fediverse on timeline preview
show_staff_badge: show_staff_badge:
desc_html: Show a staff badge on a user page desc_html: Show a staff badge on a user page
title: Show staff badge title: Show staff badge
site_description: site_description:
desc_html: Introductory paragraph on the API. Describe what makes this Mastodon server special and anything else important. You can use HTML tags, in particular <code>&lt;a&gt;</code> and <code>&lt;em&gt;</code>. desc_html: Introductory paragraph on the API. Describe what makes this Hometown server special and anything else important. You can use HTML tags, in particular <code>&lt;a&gt;</code> and <code>&lt;em&gt;</code>.
title: Server description title: Server description
site_description_extended: site_description_extended:
desc_html: A good place for your code of conduct, rules, guidelines and other things that set your server apart. You can use HTML tags desc_html: A good place for your code of conduct, rules, guidelines and other things that set your server apart. You can use HTML tags
title: Custom extended information title: Custom extended information
site_short_description: site_short_description:
desc_html: Displayed in sidebar and meta tags. Describe what Mastodon is and what makes this server special in a single paragraph. desc_html: Displayed in sidebar and meta tags. Describe what Hometown is and what makes this server special in a single paragraph.
title: Short server description title: Short server description
site_terms: site_terms:
desc_html: You can write your own privacy policy, terms of service or other legalese. You can use HTML tags desc_html: You can write your own privacy policy, terms of service or other legalese. You can use HTML tags
@ -601,7 +601,7 @@ en:
'500': '500':
content: We're sorry, but something went wrong on our end. content: We're sorry, but something went wrong on our end.
title: This page is not correct title: This page is not correct
noscript_html: To use the Mastodon web application, please enable JavaScript. Alternatively, try one of the <a href="%{apps_path}">native apps</a> for Mastodon for your platform. noscript_html: To use the %{title} web application, please enable JavaScript. Alternatively, try one of the <a href="%{apps_path}">native apps</a> for Hometown/Mastodon for your platform.
existing_username_validator: existing_username_validator:
not_found: could not find a local user with that username not_found: could not find a local user with that username
not_found_multiple: could not find %{usernames} not_found_multiple: could not find %{usernames}
@ -609,7 +609,7 @@ en:
archive_takeout: archive_takeout:
date: Date date: Date
download: Download your archive download: Download your archive
hint_html: You can request an archive of your <strong>toots and uploaded media</strong>. The exported data will be in the ActivityPub format, readable by any compliant software. You can request an archive every 7 days. hint_html: You can request an archive of your <strong>posts and uploaded media</strong>. The exported data will be in the ActivityPub format, readable by any compliant software. You can request an archive every 7 days.
in_progress: Compiling your archive... in_progress: Compiling your archive...
request: Request your archive request: Request your archive
size: Size size: Size
@ -669,7 +669,7 @@ en:
i_am_html: I am %{username} on %{service}. i_am_html: I am %{username} on %{service}.
identity: Identity identity: Identity
inactive: Inactive inactive: Inactive
publicize_checkbox: 'And toot this:' publicize_checkbox: 'And post this:'
publicize_toot: 'It is proven! I am %{username} on %{service}: %{url}' publicize_toot: 'It is proven! I am %{username} on %{service}: %{url}'
status: Verification status status: Verification status
view_proof: View proof view_proof: View proof
@ -812,20 +812,20 @@ en:
remote_interaction: remote_interaction:
favourite: favourite:
proceed: Proceed to favourite proceed: Proceed to favourite
prompt: 'You want to favourite this toot:' prompt: 'You want to favourite this post:'
reblog: reblog:
proceed: Proceed to boost proceed: Proceed to boost
prompt: 'You want to boost this toot:' prompt: 'You want to boost this post:'
reply: reply:
proceed: Proceed to reply proceed: Proceed to reply
prompt: 'You want to reply to this toot:' prompt: 'You want to reply to this post:'
remote_unfollow: remote_unfollow:
error: Error error: Error
title: Title title: Title
unfollowed: Unfollowed unfollowed: Unfollowed
scheduled_statuses: scheduled_statuses:
over_daily_limit: You have exceeded the limit of %{limit} scheduled toots for that day over_daily_limit: You have exceeded the limit of %{limit} scheduled posts for that day
over_total_limit: You have exceeded the limit of %{limit} scheduled toots over_total_limit: You have exceeded the limit of %{limit} scheduled posts
too_soon: The scheduled date must be in the future too_soon: The scheduled date must be in the future
sessions: sessions:
activity: Last activity activity: Last activity
@ -850,7 +850,7 @@ en:
weibo: Weibo weibo: Weibo
current_session: Current session current_session: Current session
description: "%{browser} on %{platform}" description: "%{browser} on %{platform}"
explanation: These are the web browsers currently logged in to your Mastodon account. explanation: These are the web browsers currently logged in to your %{title} account.
ip: IP ip: IP
platforms: platforms:
adobe_air: Adobe Air adobe_air: Adobe Air
@ -873,7 +873,7 @@ en:
account_settings: Account settings account_settings: Account settings
appearance: Appearance appearance: Appearance
authorized_apps: Authorized apps authorized_apps: Authorized apps
back: Back to Mastodon back: Back home
delete: Account deletion delete: Account deletion
development: Development development: Development
edit_profile: Edit profile edit_profile: Edit profile
@ -907,9 +907,9 @@ en:
open_in_web: Open in web open_in_web: Open in web
over_character_limit: character limit of %{max} exceeded over_character_limit: character limit of %{max} exceeded
pin_errors: pin_errors:
limit: You have already pinned the maximum number of toots limit: You have already pinned the maximum number of posts
ownership: Someone else's toot cannot be pinned ownership: Someone else's post cannot be pinned
private: Non-public toot cannot be pinned private: Non-public post cannot be pinned
reblog: A boost cannot be pinned reblog: A boost cannot be pinned
poll: poll:
total_votes: total_votes:
@ -927,7 +927,7 @@ en:
unlisted: Unlisted unlisted: Unlisted
unlisted_long: Everyone can see, but not listed on public timelines unlisted_long: Everyone can see, but not listed on public timelines
stream_entries: stream_entries:
pinned: Pinned toot pinned: Pinned post
reblogged: boosted reblogged: boosted
sensitive_content: Sensitive content sensitive_content: Sensitive content
terms: terms:
@ -938,7 +938,7 @@ en:
<ul> <ul>
<li><em>Basic account information</em>: If you register on this server, you may be asked to enter a username, an e-mail address and a password. You may also enter additional profile information such as a display name and biography, and upload a profile picture and header image. The username, display name, biography, profile picture and header image are always listed publicly.</li> <li><em>Basic account information</em>: If you register on this server, you may be asked to enter a username, an e-mail address and a password. You may also enter additional profile information such as a display name and biography, and upload a profile picture and header image. The username, display name, biography, profile picture and header image are always listed publicly.</li>
<li><em>Posts, following and other public information</em>: The list of people you follow is listed publicly, the same is true for your followers. When you submit a message, the date and time is stored as well as the application you submitted the message from. Messages may contain media attachments, such as pictures and videos. Public and unlisted posts are available publicly. When you feature a post on your profile, that is also publicly available information. Your posts are delivered to your followers, in some cases it means they are delivered to different servers and copies are stored there. When you delete posts, this is likewise delivered to your followers. The action of reblogging or favouriting another post is always public.</li> <li><em>Posts, following and other public information</em>: The list of people you follow is listed publicly, the same is true for your followers. When you submit a message, the date and time is stored as well as the application you submitted the message from. Messages may contain media attachments, such as pictures and videos. Public and unlisted posts are available publicly. When you feature a post on your profile, that is also publicly available information. Your posts are delivered to your followers, in some cases it means they are delivered to different servers and copies are stored there. When you delete posts, this is likewise delivered to your followers. The action of reblogging or favouriting another post is always public.</li>
<li><em>Direct and followers-only posts</em>: All posts are stored and processed on the server. Followers-only posts are delivered to your followers and users who are mentioned in them, and direct posts are delivered only to users mentioned in them. In some cases it means they are delivered to different servers and copies are stored there. We make a good faith effort to limit the access to those posts only to authorized persons, but other servers may fail to do so. Therefore it's important to review servers your followers belong to. You may toggle an option to approve and reject new followers manually in the settings. <em>Please keep in mind that the operators of the server and any receiving server may view such messages</em>, and that recipients may screenshot, copy or otherwise re-share them. <em>Do not share any dangerous information over Mastodon.</em></li> <li><em>Direct and followers-only posts</em>: All posts are stored and processed on the server. Followers-only posts are delivered to your followers and users who are mentioned in them, and direct posts are delivered only to users mentioned in them. In some cases it means they are delivered to different servers and copies are stored there. We make a good faith effort to limit the access to those posts only to authorized persons, but other servers may fail to do so. Therefore it's important to review servers your followers belong to. You may toggle an option to approve and reject new followers manually in the settings. <em>Please keep in mind that the operators of the server and any receiving server may view such messages</em>, and that recipients may screenshot, copy or otherwise re-share them. <em>Do not share any dangerous information over Hometown/Mastodon.</em></li>
<li><em>IPs and other metadata</em>: When you log in, we record the IP address you log in from, as well as the name of your browser application. All the logged in sessions are available for your review and revocation in the settings. The latest IP address used is stored for up to 12 months. We also may retain server logs which include the IP address of every request to our server.</li> <li><em>IPs and other metadata</em>: When you log in, we record the IP address you log in from, as well as the name of your browser application. All the logged in sessions are available for your review and revocation in the settings. The latest IP address used is stored for up to 12 months. We also may retain server logs which include the IP address of every request to our server.</li>
</ul> </ul>
@ -949,7 +949,7 @@ en:
<p>Any of the information we collect from you may be used in the following ways:</p> <p>Any of the information we collect from you may be used in the following ways:</p>
<ul> <ul>
<li>To provide the core functionality of Mastodon. You can only interact with other people's content and post your own content when you are logged in. For example, you may follow other people to view their combined posts in your own personalized home timeline.</li> <li>To provide the core functionality of Hometown/Mastodon. You can only interact with other people's content and post your own content when you are logged in. For example, you may follow other people to view their combined posts in your own personalized home timeline.</li>
<li>To aid moderation of the community, for example comparing your IP address with other known ones to determine ban evasion or other violations.</li> <li>To aid moderation of the community, for example comparing your IP address with other known ones to determine ban evasion or other violations.</li>
<li>The email address you provide may be used to send you information, notifications about other people interacting with your content or sending you messages, and to respond to inquiries, and/or other requests or questions.</li> <li>The email address you provide may be used to send you information, notifications about other people interacting with your content or sending you messages, and to respond to inquiries, and/or other requests or questions.</li>
</ul> </ul>
@ -1041,14 +1041,14 @@ en:
wrong_code: The entered code was invalid! Are server time and device time correct? wrong_code: The entered code was invalid! Are server time and device time correct?
user_mailer: user_mailer:
backup_ready: backup_ready:
explanation: You requested a full backup of your Mastodon account. It's now ready for download! explanation: You requested a full backup of your %{title} account. It's now ready for download!
subject: Your archive is ready for download subject: Your archive is ready for download
title: Archive takeout title: Archive takeout
warning: warning:
explanation: explanation:
disable: While your account is frozen, your account data remains intact, but you cannot perform any actions until it is unlocked. disable: While your account is frozen, your account data remains intact, but you cannot perform any actions until it is unlocked.
silence: While your account is limited, only people who are already following you will see your toots on this server, and you may be excluded from various public listings. However, others may still manually follow you. silence: While your account is limited, only people who are already following you will see your posts on this server, and you may be excluded from various public listings. However, others may still manually follow you.
suspend: Your account has been suspended, and all of your toots and your uploaded media files have been irreversibly removed from this server, and servers where you had followers. suspend: Your account has been suspended, and all of your posts and your uploaded media files have been irreversibly removed from this server, and servers where you had followers.
review_server_policies: Review server policies review_server_policies: Review server policies
subject: subject:
disable: Your account %{acct} has been frozen disable: Your account %{acct} has been frozen
@ -1070,11 +1070,11 @@ en:
full_handle_hint: This is what you would tell your friends so they can message or follow you from another server. full_handle_hint: This is what you would tell your friends so they can message or follow you from another server.
review_preferences_action: Change preferences review_preferences_action: Change preferences
review_preferences_step: Make sure to set your preferences, such as which emails you'd like to receive, or what privacy level youd like your posts to default to. If you dont have motion sickness, you could choose to enable GIF autoplay. review_preferences_step: Make sure to set your preferences, such as which emails you'd like to receive, or what privacy level youd like your posts to default to. If you dont have motion sickness, you could choose to enable GIF autoplay.
subject: Welcome to Mastodon subject: Welcome to %{title}
tip_federated_timeline: The federated timeline is a firehose view of the Mastodon network. But it only includes people your neighbours are subscribed to, so it's not complete. tip_federated_timeline: The federated timeline is a firehose view of the wider network. But it only includes people your neighbours are subscribed to, so it's not complete.
tip_following: You follow your server's admin(s) by default. To find more interesting people, check the local and federated timelines. tip_following: You follow your server's admin(s) by default. To find more interesting people, check the local and federated timelines.
tip_local_timeline: The local timeline is a firehose view of people on %{instance}. These are your immediate neighbours! tip_local_timeline: The local timeline is a firehose view of people on %{instance}. These are your immediate neighbours!
tip_mobile_webapp: If your mobile browser offers you to add Mastodon to your homescreen, you can receive push notifications. It acts like a native app in many ways! tip_mobile_webapp: If your Android mobile browser prompts you to add %{instance} to your homescreen, you can receive push notifications from the web app. It acts like a native app in many ways! On iOS, you can still pin %{instance} to your homescreen, but you will not receive push notifications.
tips: Tips tips: Tips
title: Welcome aboard, %{name}! title: Welcome aboard, %{name}!
users: users:
@ -1085,5 +1085,5 @@ en:
seamless_external_login: You are logged in via an external service, so password and e-mail settings are not available. seamless_external_login: You are logged in via an external service, so password and e-mail settings are not available.
signed_in_as: 'Signed in as:' signed_in_as: 'Signed in as:'
verification: verification:
explanation_html: 'You can <strong>verify yourself as the owner of the links in your profile metadata</strong>. For that, the linked website must contain a link back to your Mastodon profile. The link back <strong>must</strong> have a <code>rel="me"</code> attribute. The text content of the link does not matter. Here is an example:' explanation_html: 'You can <strong>verify yourself as the owner of the links in your profile metadata</strong>. For that, the linked website must contain a link back to your %{instance} profile. The link back <strong>must</strong> have a <code>rel="me"</code> attribute. The text content of the link does not matter. Here is an example:'
verification: Verification verification: Verification

View File

@ -1,7 +1,7 @@
--- ---
en_GB: en_GB:
about: about:
about_hashtag_html: These are public toots tagged with <strong>#%{hashtag}</strong>. You can interact with them if you have an account anywhere in the fediverse. about_hashtag_html: These are public posts tagged with <strong>#%{hashtag}</strong>. You can interact with them if you have an account anywhere in the fediverse.
about_mastodon_html: Mastodon is a social network based on open web protocols and free, open-source software. It is decentralized like e-mail. about_mastodon_html: Mastodon is a social network based on open web protocols and free, open-source software. It is decentralized like e-mail.
about_this: About about_this: About
active_count_after: active active_count_after: active
@ -59,10 +59,10 @@ en_GB:
pin_errors: pin_errors:
following: You must be already following the person you want to endorse following: You must be already following the person you want to endorse
posts: posts:
one: Toot one: Post
other: Toots other: Posts
posts_tab_heading: Toots posts_tab_heading: Posts
posts_with_replies: Toots and replies posts_with_replies: Posts and replies
reserved_username: The username is reserved reserved_username: The username is reserved
roles: roles:
admin: Admin admin: Admin
@ -332,11 +332,11 @@ en_GB:
relays: relays:
add_new: Add new relay add_new: Add new relay
delete: Delete delete: Delete
description_html: A <strong>federation relay</strong> is an intermediary server that exchanges large volumes of public toots between servers that subscribe and publish to it. <strong>It can help small and medium servers discover content from the fediverse</strong>, which would otherwise require local users manually following other people on remote servers. description_html: A <strong>federation relay</strong> is an intermediary server that exchanges large volumes of public posts between servers that subscribe and publish to it. <strong>It can help small and medium servers discover content from the fediverse</strong>, which would otherwise require local users manually following other people on remote servers.
disable: Disable disable: Disable
disabled: Disabled disabled: Disabled
enable: Enable enable: Enable
enable_hint: Once enabled, your server will subscribe to all public toots from this relay, and will begin sending this server's public toots to it. enable_hint: Once enabled, your server will subscribe to all public posts from this relay, and will begin sending this server's public posts to it.
enabled: Enabled enabled: Enabled
inbox_url: Relay URL inbox_url: Relay URL
pending: Waiting for relay's approval pending: Waiting for relay's approval
@ -422,7 +422,7 @@ en_GB:
open: Anyone can sign up open: Anyone can sign up
title: Registrations mode title: Registrations mode
show_known_fediverse_at_about_page: show_known_fediverse_at_about_page:
desc_html: When toggled, it will show toots from all the known fediverse on preview. Otherwise it will only show local toots. desc_html: When toggled, it will show posts from all the known fediverse on preview. Otherwise it will only show local posts.
title: Show known fediverse on timeline preview title: Show known fediverse on timeline preview
show_staff_badge: show_staff_badge:
desc_html: Show a staff badge on a user page desc_html: Show a staff badge on a user page
@ -589,7 +589,7 @@ en_GB:
archive_takeout: archive_takeout:
date: Date date: Date
download: Download your archive download: Download your archive
hint_html: You can request an archive of your <strong>toots and uploaded media</strong>. The exported data will be in the ActivityPub format, readable by any compliant software. You can request an archive every 7 days. hint_html: You can request an archive of your <strong>posts and uploaded media</strong>. The exported data will be in the ActivityPub format, readable by any compliant software. You can request an archive every 7 days.
in_progress: Compiling your archive... in_progress: Compiling your archive...
request: Request your archive request: Request your archive
size: Size size: Size
@ -781,20 +781,20 @@ en_GB:
remote_interaction: remote_interaction:
favourite: favourite:
proceed: Proceed to favourite proceed: Proceed to favourite
prompt: 'You want to favourite this toot:' prompt: 'You want to favourite this post:'
reblog: reblog:
proceed: Proceed to boost proceed: Proceed to boost
prompt: 'You want to boost this toot:' prompt: 'You want to boost this post:'
reply: reply:
proceed: Proceed to reply proceed: Proceed to reply
prompt: 'You want to reply to this toot:' prompt: 'You want to reply to this post:'
remote_unfollow: remote_unfollow:
error: Error error: Error
title: Title title: Title
unfollowed: Unfollowed unfollowed: Unfollowed
scheduled_statuses: scheduled_statuses:
over_daily_limit: You have exceeded the limit of %{limit} scheduled toots for that day over_daily_limit: You have exceeded the limit of %{limit} scheduled posts for that day
over_total_limit: You have exceeded the limit of %{limit} scheduled toots over_total_limit: You have exceeded the limit of %{limit} scheduled posts
too_soon: The scheduled date must be in the future too_soon: The scheduled date must be in the future
sessions: sessions:
activity: Last activity activity: Last activity
@ -839,7 +839,7 @@ en_GB:
title: Sessions title: Sessions
settings: settings:
authorized_apps: Authorized apps authorized_apps: Authorized apps
back: Back to Mastodon back: Back home
delete: Account deletion delete: Account deletion
development: Development development: Development
edit_profile: Edit profile edit_profile: Edit profile
@ -870,9 +870,9 @@ en_GB:
open_in_web: Open in web open_in_web: Open in web
over_character_limit: character limit of %{max} exceeded over_character_limit: character limit of %{max} exceeded
pin_errors: pin_errors:
limit: You have already pinned the maximum number of toots limit: You have already pinned the maximum number of posts
ownership: Someone else's toot cannot be pinned ownership: Someone else's post cannot be pinned
private: Non-public toot cannot be pinned private: Non-public post cannot be pinned
reblog: A boost cannot be pinned reblog: A boost cannot be pinned
poll: poll:
total_votes: total_votes:
@ -890,7 +890,7 @@ en_GB:
unlisted: Unlisted unlisted: Unlisted
unlisted_long: Everyone can see, but not listed on public timelines unlisted_long: Everyone can see, but not listed on public timelines
stream_entries: stream_entries:
pinned: Pinned toot pinned: Pinned post
reblogged: boosted reblogged: boosted
sensitive_content: Sensitive content sensitive_content: Sensitive content
terms: terms:
@ -1008,8 +1008,8 @@ en_GB:
warning: warning:
explanation: explanation:
disable: While your account is frozen, your account data remains intact, but you cannot perform any actions until it is unlocked. disable: While your account is frozen, your account data remains intact, but you cannot perform any actions until it is unlocked.
silence: While your account is limited, only people who are already following you will see your toots on this server, and you may be excluded from various public listings. However, others may still manually follow you. silence: While your account is limited, only people who are already following you will see your posts on this server, and you may be excluded from various public listings. However, others may still manually follow you.
suspend: Your account has been suspended, and all of your toots and your uploaded media files have been irreversibly removed from this server, and servers where you had followers. suspend: Your account has been suspended, and all of your posts and your uploaded media files have been irreversibly removed from this server, and servers where you had followers.
review_server_policies: Review server policies review_server_policies: Review server policies
subject: subject:
disable: Your account %{acct} has been frozen disable: Your account %{acct} has been frozen

View File

@ -3,10 +3,10 @@ en:
simple_form: simple_form:
hints: hints:
account_warning_preset: account_warning_preset:
text: You can use toot syntax, such as URLs, hashtags and mentions text: You can use post syntax, such as URLs, hashtags and mentions
admin_account_action: admin_account_action:
send_email_notification: The user will receive an explanation of what happened with their account send_email_notification: The user will receive an explanation of what happened with their account
text_html: Optional. You can use toot syntax. You can <a href="%{path}">add warning presets</a> to save time text_html: Optional. You can use post syntax. You can <a href="%{path}">add warning presets</a> to save time
type_html: Choose what to do with <strong>%{acct}</strong> type_html: Choose what to do with <strong>%{acct}</strong>
warning_preset_id: Optional. You can still add custom text to end of the preset warning_preset_id: Optional. You can still add custom text to end of the preset
defaults: defaults:
@ -20,21 +20,21 @@ en:
fields: You can have up to 4 items displayed as a table on your profile fields: You can have up to 4 items displayed as a table on your profile
header: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px header: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px
inbox_url: Copy the URL from the frontpage of the relay you want to use inbox_url: Copy the URL from the frontpage of the relay you want to use
irreversible: Filtered toots will disappear irreversibly, even if filter is later removed irreversible: Filtered posts will disappear irreversibly, even if filter is later removed
locale: The language of the user interface, e-mails and push notifications locale: The language of the user interface, e-mails and push notifications
locked: Requires you to manually approve followers locked: Requires you to manually approve followers
password: Use at least 8 characters password: Use at least 8 characters
phrase: Will be matched regardless of casing in text or content warning of a toot phrase: Will be matched regardless of casing in text or content warning of a post
scopes: Which APIs the application will be allowed to access. If you select a top-level scope, you don't need to select individual ones. scopes: Which APIs the application will be allowed to access. If you select a top-level scope, you don't need to select individual ones.
setting_aggregate_reblogs: Do not show new boosts for toots that have been recently boosted (only affects newly-received boosts) setting_aggregate_reblogs: Do not show new boosts for posts that have been recently boosted (only affects newly-received boosts)
setting_default_federation: Toots do not federate to other instances unless manually changed while composing setting_default_federation: Posts do not federate to other instances unless manually changed while composing
setting_default_sensitive: Sensitive media is hidden by default and can be revealed with a click setting_default_sensitive: Sensitive media is hidden by default and can be revealed with a click
setting_display_media_default: Hide media marked as sensitive setting_display_media_default: Hide media marked as sensitive
setting_display_media_hide_all: Always hide all media setting_display_media_hide_all: Always hide all media
setting_display_media_show_all: Always show media marked as sensitive setting_display_media_show_all: Always show media marked as sensitive
setting_hide_network: Who you follow and who follows you will not be shown on your profile setting_hide_network: Who you follow and who follows you will not be shown on your profile
setting_noindex: Affects your public profile and status pages setting_noindex: Affects your public profile and status pages
setting_show_application: The application you use to toot will be displayed in the detailed view of your toots setting_show_application: The application you use to post will be displayed in the detailed view of your posts
username: Your username will be unique on %{domain} username: Your username will be unique on %{domain}
whole_word: When the keyword or phrase is alphanumeric only, it will only be applied if it matches the whole word whole_word: When the keyword or phrase is alphanumeric only, it will only be applied if it matches the whole word
featured_tag: featured_tag:
@ -46,7 +46,7 @@ en:
sessions: sessions:
otp: 'Enter the two-factor code generated by your phone app or use one of your recovery codes:' otp: 'Enter the two-factor code generated by your phone app or use one of your recovery codes:'
user: user:
chosen_languages: When checked, only toots in selected languages will be displayed in public timelines chosen_languages: When checked, only posts in selected languages will be displayed in public timelines
labels: labels:
account: account:
fields: fields:
@ -94,20 +94,20 @@ en:
setting_aggregate_reblogs: Group boosts in timelines setting_aggregate_reblogs: Group boosts in timelines
setting_auto_play_gif: Auto-play animated GIFs setting_auto_play_gif: Auto-play animated GIFs
setting_boost_modal: Show confirmation dialog before boosting setting_boost_modal: Show confirmation dialog before boosting
setting_default_federation: Allow my toots to reach other instances by default setting_default_federation: Allow my posts to reach other instances by default
setting_default_language: Posting language setting_default_language: Posting language
setting_default_privacy: Posting privacy setting_default_privacy: Posting privacy
setting_default_sensitive: Always mark media as sensitive setting_default_sensitive: Always mark media as sensitive
setting_delete_modal: Show confirmation dialog before deleting a toot setting_delete_modal: Show confirmation dialog before deleting a post
setting_display_media: Media display setting_display_media: Media display
setting_display_media_default: Default setting_display_media_default: Default
setting_display_media_hide_all: Hide all setting_display_media_hide_all: Hide all
setting_display_media_show_all: Show all setting_display_media_show_all: Show all
setting_expand_spoilers: Always expand toots marked with content warnings setting_expand_spoilers: Always expand posts marked with content warnings
setting_hide_network: Hide your network setting_hide_network: Hide your network
setting_noindex: Opt-out of search engine indexing setting_noindex: Opt-out of search engine indexing
setting_reduce_motion: Reduce motion in animations setting_reduce_motion: Reduce motion in animations
setting_show_application: Disclose application used to send toots setting_show_application: Disclose application used to send posts
setting_system_font_ui: Use system's default font setting_system_font_ui: Use system's default font
setting_theme: Site theme setting_theme: Site theme
setting_unfollow_modal: Show confirmation dialog before unfollowing someone setting_unfollow_modal: Show confirmation dialog before unfollowing someone

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 22 KiB