-[releases]: https://github.com/tootsuite/mastodon/releases
-[circleci]: https://circleci.com/gh/tootsuite/mastodon
-[code_climate]: https://codeclimate.com/github/tootsuite/mastodon
-[crowdin]: https://crowdin.com/project/mastodon
-[docker]: https://hub.docker.com/r/tootsuite/mastodon/
+Photo by [Joana Mujollari](https://www.flickr.com/photos/141654969@N04/26777339042/), CC0 / Public Domain.
-Mastodon is a **free, open-source social network server** based on ActivityPub where users can follow friends and discover new ones. On Mastodon, users can publish anything they want: links, pictures, text, video. All Mastodon servers are interoperable as a federated network (users on one server can seamlessly communicate with users from another one, including non-Mastodon software that implements ActivityPub)!
+Mastodon is a **free, open-source social network server** based on ActivityPub. This is *not* the official version of Mastodon; this is a separate version (i.e. a fork) maintained by [Darius Kazemi](https://friend.camp/@darius). For more information on Mastodon, you can see the [official website](https://joinmastodon.org) and the [upstream repo](https://github.com/tootsuite/mastodon).
-Click below to **learn more** in a video:
+__Hometown__ is a light weight fork of Mastodon. This fork is based on the principle of: minimum code change for maximum user experience change. By our best understanding, our major changes are not wanted by the Mastodon project, hence maintaining this fork instead of trying to commit the changes to Mastodon.
-[][youtube_demo]
+Please [check out our wiki](https://github.com/hometown-fork/hometown/wiki) for a list of Hometown-exclusive features. Some but not all of these are covered in this document.
-[youtube_demo]: https://www.youtube.com/watch?v=IPSbNdBmWKE
+You can also find [a list of running Hometown instances](https://github.com/hometown-fork/hometown/wiki/Hometown-servers), don't hesitate to open an issue to add yours!
-## Navigation
+## Support this project
-- [Project homepage 🐘](https://joinmastodon.org)
-- [Support the development via Patreon][patreon]
-- [View sponsors](https://joinmastodon.org/sponsors)
-- [Blog](https://blog.joinmastodon.org)
-- [Documentation](https://docs.joinmastodon.org)
-- [Browse Mastodon servers](https://joinmastodon.org/#getting-started)
-- [Browse Mastodon apps](https://joinmastodon.org/apps)
+Please consider [supporting Hometown by pledging to my Patreon](https://www.patreon.com/tinysubversions), which supports all my open source projects including this one!
-[patreon]: https://www.patreon.com/mastodon
+Of course this project couldn't exist without Mastodon so maybe [support the Mastodon project Patreon](https://www.patreon.com/mastodon) too.
-## Features
+## Migrating from Mastodon to Hometown
-
-**Tech stack:**
+This is based on rich text work by [Thibaut Girka](https://sitedethib.com), and my own work on `Article` support.
-- **Ruby on Rails** powers the REST API and other web pages
-- **React.js** and Redux are used for the dynamic parts of the interface
-- **Node.js** powers the streaming API
+### It's more than just reading more stuff
-**Requirements:**
+Reading more content types also helps make the fediverse better. ActivityPub supports all kinds of content, but most ActivityPub servers shoehorn all their content into `Note` because that's the type that Mastodon treats as first-class. This has important implications for the fediverse and also on your day to do user experience.
-- **PostgreSQL** 9.5+
-- **Redis** 4+
-- **Ruby** 2.5+
-- **Node.js** 10.13+
+Take the "quote tweet" debate for example.
-The repository includes deployment configurations for **Docker and docker-compose**, but also a few specific platforms like **Heroku**, **Scalingo**, and **Nanobox**. The [**stand-alone** installation guide](https://docs.joinmastodon.org/admin/install/) is available in the documentation.
+Twitter has a feature called "quote tweeting" that lets you embed what someone else tweets, with your own comment right next to it. It's really useful for provide commentary in context, like this, where I point people to a sale and they can read both my comment on the sale and the original tweet about the sale in one post:
-A **Vagrant** configuration is included for development purposes.
+
-## Contributing
+But it's also open to abuse with people quote-tweeting things they disagree with to encourage a pile-on from their followers. There's been a lot of debate among Mastodon users as to whether the good of this feature outweighs the bad. So far, Mastodon has avoided implementing quoting.
-Mastodon is **free, open-source software** licensed under **AGPLv3**.
+What does this have to do with content types? Well, if we support an `Article` content type and a `Note` content type, we can support quoting for an `Article` but not for a `Note`. In practice this means that you can quote blog posts and news articles, but you can't quote a quick personal microblog note.
-You can open issues for bugs you've found or features you think are missing. You can also submit pull requests to this repository, or submit translations using Crowdin. To get started, take a look at [CONTRIBUTING.md](CONTRIBUTING.md). If your contributions are accepted into Mastodon, you can request to be paid through [our OpenCollective](https://opencollective.com/mastodon).
+> Hometown doesn't support quoting articles yet... but it will.
-**IRC channel**: #mastodon on irc.freenode.net
+## Better list management
+
+If Hometown is going to be a universal reader, you're going to need better control over organizing your feeds than mainline Mastodon provides.
+
+I've introduced a new kind of [exclusive list](https://github.com/hometown-fork/hometown/wiki/Exclusive-lists). In vanilla Mastodon, if you add an account to your "friends I like" list, posts from people on that list appear on that list. But they also appear on your home timeline, and maybe you don't want that! You'd rather treat your "friends I like" list as your "real" home timeline, and then check your home timeline when you're bored. Check out [more details about exclusive lists on the wiki](https://github.com/hometown-fork/hometown/wiki/Exclusive-lists).
+
+## Better accessibility defaults
+
+Look, right now this pretty much just means that we underline hyperlinks by default. I'm of course open to implementing other obviously beneficial accessibilty defaults that Mastodon itself doesn't implement.
+
+## Hometown is still 99.999% Mastodon
+
+I don't intend to stray very far from mainline Mastodon with this fork. If you want something that provides a ton of new features and widgets and stuff, the [Mastodon Glitch Edition](https://glitch-soc.github.io/docs/) fork is a wondrous kitchen sink of major and minor tweaks.
+
+Part of why I don't want to stray far from mainline Mastodon is that this project is going to be just me for the foreseeable future, and I'd like to keep it up to date with new Mastodon versions as easily as possible. The less code I change from Mastodon, the easier that is. Hence the principle of "minimum code change for maximum user experience change."
+
+## Versioning
+
+Hometown uses [semantic versioning](https://semver.org) and follows a versioning convention like `v1.0.0+2.9.3`. The 1.0.0 part is the actual Hometown version number, and then the 2.9.3 after the + sign is what's known in semantic versioning as "build metadata". It just means that a particular release is synchronized with Mastodon version 2.9.3, so for example an upgrade from `v1.0.0+2.9.2` to `v1.0.0+2.9.3` would upgrade _Mastodon_ but not provide any new Hometown features or fixes.
+
+## Contributing to Hometown
+
+Setting up your Hometown development environment is [exactly like setting up your Mastodon development environment](https://docs.joinmastodon.org/dev/overview/). Pull requests should be made to the `hometown-dev` branch, which is our default branch in Github.
## License
diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb
index ca08f71ba..67fa2d1a2 100644
--- a/app/controllers/accounts_controller.rb
+++ b/app/controllers/accounts_controller.rb
@@ -28,7 +28,11 @@ class AccountsController < ApplicationController
return
end
- @pinned_statuses = cache_collection(@account.pinned_statuses, Status) if show_pinned_statuses?
+ if current_user.nil?
+ @pinned_statuses = cache_collection(@account.pinned_statuses.without_local_only, Status) if show_pinned_statuses?
+ else
+ @pinned_statuses = cache_collection(@account.pinned_statuses, Status) if show_pinned_statuses?
+ end
@statuses = cached_filtered_status_page
@rss_url = rss_url
diff --git a/app/controllers/api/v1/lists_controller.rb b/app/controllers/api/v1/lists_controller.rb
index e5ac45fef..938811bd2 100644
--- a/app/controllers/api/v1/lists_controller.rb
+++ b/app/controllers/api/v1/lists_controller.rb
@@ -38,6 +38,6 @@ class Api::V1::ListsController < Api::BaseController
end
def list_params
- params.permit(:title, :replies_policy)
+ params.permit(:title, :replies_policy, :is_exclusive)
end
end
diff --git a/app/helpers/accounts_helper.rb b/app/helpers/accounts_helper.rb
index 134217734..37b75a5b1 100644
--- a/app/helpers/accounts_helper.rb
+++ b/app/helpers/accounts_helper.rb
@@ -99,10 +99,6 @@ module AccountsHelper
end
def svg_logo
- content_tag(:svg, tag(:use, 'xlink:href' => '#mastodon-svg-logo'), 'viewBox' => '0 0 216.4144 232.00976')
- end
-
- def svg_logo_full
- content_tag(:svg, tag(:use, 'xlink:href' => '#mastodon-svg-logo-full'), 'viewBox' => '0 0 713.35878 175.8678')
+ content_tag(:svg, tag(:use, 'xlink:href' => '#hometownlogo'), 'viewBox' => '0 0 216.4144 232.00976')
end
end
diff --git a/app/javascript/images/defaultmascot.svg b/app/javascript/images/defaultmascot.svg
new file mode 100644
index 000000000..e1381af8a
--- /dev/null
+++ b/app/javascript/images/defaultmascot.svg
@@ -0,0 +1 @@
+
diff --git a/app/javascript/images/hometown.svg b/app/javascript/images/hometown.svg
new file mode 100644
index 000000000..055a5c40f
--- /dev/null
+++ b/app/javascript/images/hometown.svg
@@ -0,0 +1 @@
+
diff --git a/app/javascript/mastodon/actions/lists.js b/app/javascript/mastodon/actions/lists.js
index 5ab922436..b4d2679a9 100644
--- a/app/javascript/mastodon/actions/lists.js
+++ b/app/javascript/mastodon/actions/lists.js
@@ -10,9 +10,10 @@ export const LISTS_FETCH_REQUEST = 'LISTS_FETCH_REQUEST';
export const LISTS_FETCH_SUCCESS = 'LISTS_FETCH_SUCCESS';
export const LISTS_FETCH_FAIL = 'LISTS_FETCH_FAIL';
-export const LIST_EDITOR_TITLE_CHANGE = 'LIST_EDITOR_TITLE_CHANGE';
-export const LIST_EDITOR_RESET = 'LIST_EDITOR_RESET';
-export const LIST_EDITOR_SETUP = 'LIST_EDITOR_SETUP';
+export const LIST_EDITOR_TITLE_CHANGE = 'LIST_EDITOR_TITLE_CHANGE';
+export const LIST_EDITOR_IS_EXCLUSIVE_CHANGE = 'LIST_EDITOR_IS_EXCLUSIVE_CHANGE';
+export const LIST_EDITOR_RESET = 'LIST_EDITOR_RESET';
+export const LIST_EDITOR_SETUP = 'LIST_EDITOR_SETUP';
export const LIST_CREATE_REQUEST = 'LIST_CREATE_REQUEST';
export const LIST_CREATE_SUCCESS = 'LIST_CREATE_SUCCESS';
@@ -100,13 +101,14 @@ export const fetchListsFail = error => ({
});
export const submitListEditor = shouldReset => (dispatch, getState) => {
- const listId = getState().getIn(['listEditor', 'listId']);
- const title = getState().getIn(['listEditor', 'title']);
+ const listId = getState().getIn(['listEditor', 'listId']);
+ const title = getState().getIn(['listEditor', 'title']);
+ const isExclusive = getState().getIn(['listEditor', 'isExclusive']);
if (listId === null) {
dispatch(createList(title, shouldReset));
} else {
- dispatch(updateList(listId, title, shouldReset));
+ dispatch(updateList(listId, title, shouldReset, isExclusive));
}
};
@@ -124,6 +126,11 @@ export const changeListEditorTitle = value => ({
value,
});
+export const changeListEditorIsExclusive = value => ({
+ type: LIST_EDITOR_IS_EXCLUSIVE_CHANGE,
+ value,
+});
+
export const createList = (title, shouldReset) => (dispatch, getState) => {
dispatch(createListRequest());
@@ -150,10 +157,10 @@ export const createListFail = error => ({
error,
});
-export const updateList = (id, title, shouldReset, replies_policy) => (dispatch, getState) => {
+export const updateList = (id, title, shouldReset, replies_policy, isExclusive) => (dispatch, getState) => {
dispatch(updateListRequest(id));
- api(getState).put(`/api/v1/lists/${id}`, { title, replies_policy }).then(({ data }) => {
+ api(getState).put(`/api/v1/lists/${id}`, { title, replies_policy, is_exclusive: !!isExclusive }).then(({ data }) => {
dispatch(updateListSuccess(data));
if (shouldReset) {
diff --git a/app/javascript/mastodon/components/status.js b/app/javascript/mastodon/components/status.js
index 295e83f58..e08b9b9c2 100644
--- a/app/javascript/mastodon/components/status.js
+++ b/app/javascript/mastodon/components/status.js
@@ -461,7 +461,7 @@ class Status extends ImmutablePureComponent {
return (
{' '} - + {status.get('activity_pub_type') === 'Article' ? '' : }
{mentionsPlaceholder} @@ -231,10 +237,15 @@ export default class StatusContent extends React.PureComponent { {!hidden && !!status.get('poll') &&<a> and <em>.
+ 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 <a> and <em>.
title: Server description
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
title: Custom extended information
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
site_terms:
desc_html: You can write your own privacy policy, terms of service or other legalese. You can use HTML tags
@@ -707,7 +707,7 @@ en:
guide_link: https://crowdin.com/project/mastodon
guide_link_text: Everyone can contribute.
sensitive_content: Sensitive content
- toot_layout: Toot layout
+ toot_layout: Post layout
application_mailer:
notification_preferences: Change e-mail preferences
salutation: "%{name},"
@@ -842,6 +842,7 @@ en:
'500':
content: We're sorry, but something went wrong on our end.
title: This page is not correct
+ noscript_html: To use the %{title} web application, please enable JavaScript. Alternatively, try one of the native apps for Hometown/Mastodon for your platform.
'503': The page could not be served due to a temporary server failure.
noscript_html: To use the Mastodon web application, please enable JavaScript. Alternatively, try one of the native apps for Mastodon for your platform.
existing_username_validator:
@@ -851,7 +852,7 @@ en:
archive_takeout:
date: Date
download: Download your archive
- hint_html: You can request an archive of your toots and uploaded media. 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 posts and uploaded media. 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...
request: Request your archive
size: Size
@@ -917,7 +918,7 @@ en:
i_am_html: I am %{username} on %{service}.
identity: Identity
inactive: Inactive
- publicize_checkbox: 'And toot this:'
+ publicize_checkbox: 'And post this:'
publicize_toot: 'It is proven! I am %{username} on %{service}: %{url}'
remove: Remove proof from account
removed: Successfully removed proof from account
@@ -1117,16 +1118,16 @@ en:
remote_interaction:
favourite:
proceed: Proceed to favourite
- prompt: 'You want to favourite this toot:'
+ prompt: 'You want to favourite this post:'
reblog:
proceed: Proceed to boost
- prompt: 'You want to boost this toot:'
+ prompt: 'You want to boost this post:'
reply:
proceed: Proceed to reply
- prompt: 'You want to reply to this toot:'
+ prompt: 'You want to reply to this post:'
scheduled_statuses:
- over_daily_limit: You have exceeded the limit of %{limit} scheduled toots for that day
- over_total_limit: You have exceeded the limit of %{limit} scheduled toots
+ 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 posts
too_soon: The scheduled date must be in the future
sessions:
activity: Last activity
@@ -1151,7 +1152,7 @@ en:
weibo: Weibo
current_session: Current session
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
platforms:
adobe_air: Adobe Air
@@ -1175,7 +1176,7 @@ en:
aliases: Account aliases
appearance: Appearance
authorized_apps: Authorized apps
- back: Back to Mastodon
+ back: Back home
delete: Account deletion
development: Development
edit_profile: Edit profile
@@ -1217,9 +1218,9 @@ en:
open_in_web: Open in web
over_character_limit: character limit of %{max} exceeded
pin_errors:
- limit: You have already pinned the maximum number of toots
- ownership: Someone else's toot cannot be pinned
- private: Non-public toot cannot be pinned
+ limit: You have already pinned the maximum number of posts
+ ownership: Someone else's post cannot be pinned
+ private: Non-public post cannot be pinned
reblog: A boost cannot be pinned
poll:
total_people:
@@ -1243,7 +1244,7 @@ en:
unlisted: Unlisted
unlisted_long: Everyone can see, but not listed on public timelines
stream_entries:
- pinned: Pinned toot
+ pinned: Pinned post
reblogged: boosted
sensitive_content: Sensitive content
tags:
@@ -1256,7 +1257,7 @@ en:
Any of the information we collect from you may be used in the following ways:
rel="me" attribute. The text content of the link does not matter. Here is an example:'
+ explanation_html: 'You can verify yourself as the owner of the links in your profile metadata. For that, the linked website must contain a link back to your %{instance} profile. The link back must have a rel="me" attribute. The text content of the link does not matter. Here is an example:'
verification: Verification
webauthn_credentials:
add: Add new security key
diff --git a/config/locales/en_GB.yml b/config/locales/en_GB.yml
index d3461474b..d80bffc79 100644
--- a/config/locales/en_GB.yml
+++ b/config/locales/en_GB.yml
@@ -1,7 +1,7 @@
---
en_GB:
about:
- about_hashtag_html: These are public toots tagged with #%{hashtag}. You can interact with them if you have an account anywhere in the fediverse.
+ about_hashtag_html: These are public posts tagged with #%{hashtag}. 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_this: About
active_count_after: active
@@ -59,10 +59,10 @@ en_GB:
pin_errors:
following: You must be already following the person you want to endorse
posts:
- one: Toot
- other: Toots
- posts_tab_heading: Toots
- posts_with_replies: Toots and replies
+ one: Post
+ other: Posts
+ posts_tab_heading: Posts
+ posts_with_replies: Posts and replies
reserved_username: The username is reserved
roles:
admin: Admin
@@ -181,11 +181,11 @@ en_GB:
create_account_warning: "%{name} sent a warning to %{target}"
create_custom_emoji: "%{name} uploaded new emoji %{target}"
create_domain_block: "%{name} blocked domain %{target}"
- create_email_domain_block: "%{name} blacklisted e-mail domain %{target}"
+ create_email_domain_block: "%{name} blocklisted e-mail domain %{target}"
demote_user: "%{name} demoted user %{target}"
destroy_custom_emoji: "%{name} destroyed emoji %{target}"
destroy_domain_block: "%{name} unblocked domain %{target}"
- destroy_email_domain_block: "%{name} whitelisted e-mail domain %{target}"
+ destroy_email_domain_block: "%{name} allowlisted e-mail domain %{target}"
destroy_status: "%{name} removed status by %{target}"
disable_2fa_user: "%{name} disabled two factor requirement for user %{target}"
disable_custom_emoji: "%{name} disabled emoji %{target}"
@@ -289,14 +289,14 @@ en_GB:
undo: Undo domain block
email_domain_blocks:
add_new: Add new
- created_msg: Successfully added e-mail domain to blacklist
+ created_msg: Successfully added e-mail domain to blocklist
delete: Delete
- destroyed_msg: Successfully deleted e-mail domain from blacklist
+ destroyed_msg: Successfully deleted e-mail domain from blocklist
domain: Domain
new:
create: Add domain
- title: New e-mail blacklist entry
- title: E-mail blacklist
+ title: New e-mail blocklist entry
+ title: E-mail blocklist
followers:
back_to_account: Back To Account
title: "%{acct}'s Followers"
@@ -327,11 +327,11 @@ en_GB:
relays:
add_new: Add new relay
delete: Delete
- description_html: A federation relay is an intermediary server that exchanges large volumes of public toots between servers that subscribe and publish to it. It can help small and medium servers discover content from the fediverse, which would otherwise require local users manually following other people on remote servers.
+ description_html: A federation relay is an intermediary server that exchanges large volumes of public posts between servers that subscribe and publish to it. It can help small and medium servers discover content from the fediverse, which would otherwise require local users manually following other people on remote servers.
disable: Disable
disabled: Disabled
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
inbox_url: Relay URL
pending: Waiting for relay's approval
@@ -417,7 +417,7 @@ en_GB:
open: Anyone can sign up
title: Registrations mode
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
show_staff_badge:
desc_html: Show a staff badge on a user page
@@ -583,7 +583,7 @@ en_GB:
archive_takeout:
date: Date
download: Download your archive
- hint_html: You can request an archive of your toots and uploaded media. 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 posts and uploaded media. 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...
request: Request your archive
size: Size
@@ -775,20 +775,20 @@ en_GB:
remote_interaction:
favourite:
proceed: Proceed to favourite
- prompt: 'You want to favourite this toot:'
+ prompt: 'You want to favourite this post:'
reblog:
proceed: Proceed to boost
- prompt: 'You want to boost this toot:'
+ prompt: 'You want to boost this post:'
reply:
proceed: Proceed to reply
- prompt: 'You want to reply to this toot:'
+ prompt: 'You want to reply to this post:'
remote_unfollow:
error: Error
title: Title
unfollowed: Unfollowed
scheduled_statuses:
- over_daily_limit: You have exceeded the limit of %{limit} scheduled toots for that day
- over_total_limit: You have exceeded the limit of %{limit} scheduled toots
+ 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 posts
too_soon: The scheduled date must be in the future
sessions:
activity: Last activity
@@ -833,7 +833,7 @@ en_GB:
title: Sessions
settings:
authorized_apps: Authorized apps
- back: Back to Mastodon
+ back: Back home
delete: Account deletion
development: Development
edit_profile: Edit profile
@@ -864,9 +864,9 @@ en_GB:
open_in_web: Open in web
over_character_limit: character limit of %{max} exceeded
pin_errors:
- limit: You have already pinned the maximum number of toots
- ownership: Someone else's toot cannot be pinned
- private: Non-public toot cannot be pinned
+ limit: You have already pinned the maximum number of posts
+ ownership: Someone else's post cannot be pinned
+ private: Non-public post cannot be pinned
reblog: A boost cannot be pinned
poll:
total_votes:
@@ -884,7 +884,7 @@ en_GB:
unlisted: Unlisted
unlisted_long: Everyone can see, but not listed on public timelines
stream_entries:
- pinned: Pinned toot
+ pinned: Pinned post
reblogged: boosted
sensitive_content: Sensitive content
terms:
@@ -1002,8 +1002,8 @@ en_GB:
warning:
explanation:
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.
- 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.
+ 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 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
subject:
disable: Your account %{acct} has been frozen
diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml
index d15be063e..acfbde0fc 100644
--- a/config/locales/simple_form.en.yml
+++ b/config/locales/simple_form.en.yml
@@ -7,12 +7,12 @@ en:
account_migration:
acct: Specify the username@domain of the account you want to move to
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
title: Optional. Not visible to the recipient
admin_account_action:
- include_statuses: The user will see which toots have caused the moderation action or warning
+ include_statuses: The user will see which posts have caused the moderation action or warning
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 add warning presets to save time
+ text_html: Optional. You can use post syntax. You can add warning presets to save time
type_html: Choose what to do with %{acct}
warning_preset_id: Optional. You can still add custom text to end of the preset
announcement:
@@ -20,7 +20,7 @@ en:
ends_at: Optional. Announcement will be automatically unpublished at this time
scheduled_at: Leave blank to publish the announcement immediately
starts_at: Optional. In case your announcement is bound to a specific time range
- text: You can use toot syntax. Please be mindful of the space the announcement will take up on the user's screen
+ text: You can use post syntax. Please be mindful of the space the announcement will take up on the user's screen
defaults:
autofollow: People who sign up through the invite will automatically follow you
avatar: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px
@@ -34,21 +34,21 @@ en:
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
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
locked: Requires you to manually approve followers
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.
- setting_aggregate_reblogs: Do not show new boosts for toots 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_aggregate_reblogs: Do not show new boosts for posts that have been recently boosted (only affects newly-received boosts)
+ setting_default_federation: