about summary refs log tree commit diff
path: root/app/javascript
diff options
context:
space:
mode:
Diffstat (limited to 'app/javascript')
-rw-r--r--app/javascript/flavours/glitch/features/getting_started/components/trends.js2
-rw-r--r--app/javascript/flavours/glitch/features/ui/components/link_footer.js8
-rw-r--r--app/javascript/flavours/glitch/features/ui/components/onboarding_modal.js23
-rw-r--r--app/javascript/flavours/glitch/features/ui/containers/status_list_container.js2
-rwxr-xr-xapp/javascript/flavours/glitch/locales/en-cafe.js9
-rw-r--r--app/javascript/flavours/glitch/styles/accounts.scss3
-rw-r--r--app/javascript/flavours/glitch/styles/components/drawer.scss4
-rw-r--r--app/javascript/flavours/glitch/styles/components/status.scss16
-rw-r--r--app/javascript/flavours/glitch/styles/forms.scss6
-rw-r--r--app/javascript/icons/android-chrome-144x144.pngbin6644 -> 5308 bytes
-rw-r--r--app/javascript/icons/android-chrome-192x192.pngbin10138 -> 7102 bytes
-rw-r--r--app/javascript/icons/android-chrome-256x256.pngbin14194 -> 9672 bytes
-rw-r--r--app/javascript/icons/android-chrome-36x36.pngbin1050 -> 1272 bytes
-rw-r--r--app/javascript/icons/android-chrome-384x384.pngbin25667 -> 13109 bytes
-rw-r--r--app/javascript/icons/android-chrome-48x48.pngbin1468 -> 1758 bytes
-rw-r--r--app/javascript/icons/android-chrome-512x512.pngbin39853 -> 18146 bytes
-rw-r--r--app/javascript/icons/android-chrome-72x72.pngbin2501 -> 2677 bytes
-rw-r--r--app/javascript/icons/android-chrome-96x96.pngbin3713 -> 3511 bytes
-rw-r--r--app/javascript/icons/apple-touch-icon-1024x1024.pngbin104580 -> 39444 bytes
-rw-r--r--app/javascript/icons/apple-touch-icon-114x114.pngbin4641 -> 4162 bytes
-rw-r--r--app/javascript/icons/apple-touch-icon-120x120.pngbin4914 -> 4352 bytes
-rw-r--r--app/javascript/icons/apple-touch-icon-144x144.pngbin6644 -> 5308 bytes
-rw-r--r--app/javascript/icons/apple-touch-icon-152x152.pngbin7002 -> 5597 bytes
-rw-r--r--app/javascript/icons/apple-touch-icon-167x167.pngbin8096 -> 6105 bytes
-rw-r--r--app/javascript/icons/apple-touch-icon-180x180.pngbin8947 -> 6748 bytes
-rw-r--r--app/javascript/icons/apple-touch-icon-57x57.pngbin1857 -> 2048 bytes
-rw-r--r--app/javascript/icons/apple-touch-icon-60x60.pngbin1952 -> 2188 bytes
-rw-r--r--app/javascript/icons/apple-touch-icon-72x72.pngbin2501 -> 2677 bytes
-rw-r--r--app/javascript/icons/apple-touch-icon-76x76.pngbin2617 -> 2795 bytes
-rw-r--r--app/javascript/icons/favicon-16x16.pngbin639 -> 527 bytes
-rw-r--r--app/javascript/icons/favicon-32x32.pngbin1250 -> 1140 bytes
-rw-r--r--app/javascript/icons/favicon-48x48.pngbin1899 -> 1830 bytes
-rwxr-xr-xapp/javascript/locales/locale-data/en-cafe.js8
-rw-r--r--app/javascript/mastodon/features/ui/components/follow_requests_nav_link.js4
-rw-r--r--app/javascript/mastodon/locales/de.json2
-rw-r--r--app/javascript/mastodon/locales/defaultMessages.json2
-rwxr-xr-xapp/javascript/mastodon/locales/en-cafe.json53
-rw-r--r--app/javascript/mastodon/locales/en.json2
-rw-r--r--app/javascript/mastodon/locales/es.json2
-rw-r--r--app/javascript/mastodon/locales/fi.json2
-rw-r--r--app/javascript/mastodon/locales/fr.json2
-rw-r--r--app/javascript/mastodon/locales/ja.json2
-rwxr-xr-xapp/javascript/mastodon/locales/locale-data/en-cafe.js8
-rw-r--r--app/javascript/mastodon/locales/nl.json2
-rw-r--r--app/javascript/mastodon/locales/pl.json2
-rw-r--r--app/javascript/mastodon/locales/pt-BR.json6
-rw-r--r--app/javascript/mastodon/locales/ru.json2
-rw-r--r--app/javascript/mastodon/locales/sv.json2
-rwxr-xr-xapp/javascript/mastodon/locales/whitelist_en-cafe.json2
-rw-r--r--app/javascript/styles/mastodon-light/diff.scss6
-rw-r--r--app/javascript/styles/mastodon/accounts.scss3
-rw-r--r--app/javascript/styles/mastodon/forms.scss6
52 files changed, 130 insertions, 61 deletions
diff --git a/app/javascript/flavours/glitch/features/getting_started/components/trends.js b/app/javascript/flavours/glitch/features/getting_started/components/trends.js
index ce4d94c64..5158f6689 100644
--- a/app/javascript/flavours/glitch/features/getting_started/components/trends.js
+++ b/app/javascript/flavours/glitch/features/getting_started/components/trends.js
@@ -38,7 +38,7 @@ export default class Trends extends ImmutablePureComponent {
       <div className='getting-started__trends'>
         <h4><FormattedMessage id='trends.trending_now' defaultMessage='Trending now' /></h4>
 
-        {trends.take(3).map(hashtag => <Hashtag key={hashtag.get('name')} hashtag={hashtag} />)}
+        {trends.take(1).map(hashtag => <Hashtag key={hashtag.get('name')} hashtag={hashtag} />)}
       </div>
     );
   }
diff --git a/app/javascript/flavours/glitch/features/ui/components/link_footer.js b/app/javascript/flavours/glitch/features/ui/components/link_footer.js
index 3abdaad4b..040e967f2 100644
--- a/app/javascript/flavours/glitch/features/ui/components/link_footer.js
+++ b/app/javascript/flavours/glitch/features/ui/components/link_footer.js
@@ -64,10 +64,12 @@ class LinkFooter extends React.PureComponent {
         <p>
           <FormattedMessage
             id='getting_started.open_source_notice'
-            defaultMessage='Glitchsoc is open source software, a friendly fork of {Mastodon}. You can contribute or report issues on GitHub at {github}.'
+            defaultMessage='GlitchCafé is free open source software, based on {Glitchsoc} which is a friendly fork of {Mastodon}. You can see our source code on {github} and report bugs, request features, or contribute to the code by emailing {admin}.'
             values={{
-              github: <span><a href={source_url} rel='noopener noreferrer' target='_blank'>{repository}</a> (v{version})</span>,
-              Mastodon: <a href='https://github.com/tootsuite/mastodon' rel='noopener noreferrer' target='_blank'>Mastodon</a> }}
+              github: <span><a href='https://git.starfall.systems/pluralcafe/mastodon/' rel='noopener noreferrer' target='_blank'>our Git repository</a> (v{version})</span>,
+              Glitchsoc: <a href='https://github.com/glitch-soc/mastodon' rel='noopener noreferrer' target='_blank'>glitch-soc/mastodon</a>,
+              Mastodon: <a href='https://github.com/tootsuite/mastodon' rel='noopener noreferrer' target='_blank'>Mastodon</a>,
+			  admin: <a href='mailto://admin@plural.cafe' rel='noopener noreferrer'>admin@plural.cafe</a> }}
           />
         </p>
       </div>
diff --git a/app/javascript/flavours/glitch/features/ui/components/onboarding_modal.js b/app/javascript/flavours/glitch/features/ui/components/onboarding_modal.js
index e7be62ad8..82a1ee4a4 100644
--- a/app/javascript/flavours/glitch/features/ui/components/onboarding_modal.js
+++ b/app/javascript/flavours/glitch/features/ui/components/onboarding_modal.js
@@ -142,17 +142,18 @@ const PageSix = ({ admin, domain }) => {
       <h1><FormattedMessage id='onboarding.page_six.almost_done' defaultMessage='Almost done...' /></h1>
       {adminSection}
       <p>
-        <FormattedMessage
-          id='onboarding.page_six.github'
-          defaultMessage='{domain} runs on Glitchsoc. Glitchsoc is a friendly {fork} of {Mastodon}. Glitchsoc is fully compatible with all Mastodon apps and instances. Glitchsoc is free open-source software. You can report bugs, request features, or contribute to the code on {github}.'
-          values={{
-            domain,
-            fork: <a href='https://en.wikipedia.org/wiki/Fork_(software_development)' target='_blank' rel='noopener'>fork</a>,
-            Mastodon: <a href='https://github.com/tootsuite/mastodon' target='_blank' rel='noopener'>Mastodon</a>,
-            github: <a href={source_url} target='_blank' rel='noopener'>GitHub</a>,
-          }}
-        />
-      </p>
+		  <FormattedMessage
+		    id='onboarding.page_six.github'
+		    defaultMessage='{domain} runs on GlitchCafé, which is based on {Glitchsoc}, a friendly {fork} of {Mastodon}. Glitchsoc is fully compatible with all Mastodon apps and instances. GlitchCafé is free open-source software. You can view the source code on {github} and report bugs, request features, or contribute to the code by emailing {admin}.'
+		    values={{
+		      domain,
+		      fork: <a href='https://en.wikipedia.org/wiki/Fork_(software_development)' target='_blank' rel='noopener'>fork</a>,
+	          Mastodon: <a href='https://github.com/tootsuite/mastodon' target='_blank' rel='noopener'>Mastodon</a>,
+		      Glitchsoc: <a href='https://github.com/glitch-soc/mastodon' target='_blank' rel='noopener'>GlitchSoc</a>,
+              github: <a href='https://git.starfall.systems/pluralcafe/mastodon/' rel='noopener noreferrer' target='_blank'>our Git repository</a>,
+			  admin: <a href='mailto://admin@plural.cafe' rel='noopener noreferrer'>admin@plural.cafe</a> }}
+		  />
+	  </p>
       <p><FormattedMessage id='onboarding.page_six.apps_available' defaultMessage='There are {apps} available for iOS, Android and other platforms.' values={{ domain, apps: <a href='https://joinmastodon.org/apps' target='_blank' rel='noopener'><FormattedMessage id='onboarding.page_six.various_app' defaultMessage='mobile apps' /></a> }} /></p>
       <p><em><FormattedMessage id='onboarding.page_six.appetoot' defaultMessage='Bon Appetoot!' /></em></p>
     </div>
diff --git a/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js b/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
index bd2d2eb4e..abcbf13db 100644
--- a/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
+++ b/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
@@ -33,8 +33,6 @@ const makeGetStatusIds = (pending = false) => createSelector([
     const statusForId = statuses.get(id);
     let showStatus    = true;
 
-    if (statusForId.get('account') === me) return true;
-
     if (columnSettings.getIn(['shows', 'reblog']) === false) {
       showStatus = showStatus && statusForId.get('reblog') === null;
     }
diff --git a/app/javascript/flavours/glitch/locales/en-cafe.js b/app/javascript/flavours/glitch/locales/en-cafe.js
new file mode 100755
index 000000000..ea902c8aa
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/en-cafe.js
@@ -0,0 +1,9 @@
+import base_english from 'flavours/glitch/locales/en';
+import inherited from 'mastodon/locales/en-cafe.json';
+
+const messages = {
+  'getting_started.open_source_notice': 'GlitchCafé is free open source software, based on {Glitchsoc} which is a friendly fork of {Mastodon}. You can see our source code on {github} and report bugs, request features, or contribute by emailing {admin}.',
+  'onboarding.page_six.github': '{domain} runs on GlitchCafé, which is based on {Glitchsoc}, a friendly {fork} of {Mastodon}. Glitchsoc is fully compatible with all Mastodon apps and instances. GlitchCafé is free open-source software. You can view the source code on {github} and report bugs, request features, or contribute to the code by emailing {admin}.',
+};
+
+export default Object.assign({}, base_english, inherited, messages);
diff --git a/app/javascript/flavours/glitch/styles/accounts.scss b/app/javascript/flavours/glitch/styles/accounts.scss
index 3d8b761e6..ac1be6ad8 100644
--- a/app/javascript/flavours/glitch/styles/accounts.scss
+++ b/app/javascript/flavours/glitch/styles/accounts.scss
@@ -203,8 +203,7 @@
   }
 }
 
-.account-role,
-.simple_form .recommended {
+.account-role {
   display: inline-block;
   padding: 4px 6px;
   cursor: default;
diff --git a/app/javascript/flavours/glitch/styles/components/drawer.scss b/app/javascript/flavours/glitch/styles/components/drawer.scss
index 61969abee..dfb9dc595 100644
--- a/app/javascript/flavours/glitch/styles/components/drawer.scss
+++ b/app/javascript/flavours/glitch/styles/components/drawer.scss
@@ -117,6 +117,10 @@
   flex: 1 1 auto;
   margin-left: 8px;
   overflow: hidden;
+
+  & > a:hover {
+    text-decoration: underline;
+  }
 }
 
 .drawer--results {
diff --git a/app/javascript/flavours/glitch/styles/components/status.scss b/app/javascript/flavours/glitch/styles/components/status.scss
index 9e346c5f0..9511e0c61 100644
--- a/app/javascript/flavours/glitch/styles/components/status.scss
+++ b/app/javascript/flavours/glitch/styles/components/status.scss
@@ -134,19 +134,19 @@
     }
 
     ul, ol {
-      margin-left: 1em;
-
       p {
         margin: 0;
       }
     }
 
     ul {
+      margin-left: 1em;
       list-style-type: disc;
     }
 
     ol {
       list-style-type: decimal;
+      list-style-position: inside;
     }
   }
 
@@ -389,7 +389,7 @@
     }
 
     .display-name:hover .display-name__html {
-      text-decoration: none;
+      text-decoration: underline;
     }
 
     .status__content {
@@ -410,7 +410,7 @@
       }
       
       a:hover {
-        text-decoration: none;
+        text-decoration: underline;
       }
     }
     &:focus > .status__content:after {
@@ -431,6 +431,10 @@
 
   .notification__message {
     margin: -10px 0px 10px 0;
+
+	a:hover {
+	  text-decoration: underline;
+	}
   }
 }
 
@@ -573,6 +577,10 @@
     overflow: hidden;
     text-overflow: ellipsis;
   }
+
+  a:hover {
+    text-decoration: underline;
+  }
 }
 
 .status__action-bar {
diff --git a/app/javascript/flavours/glitch/styles/forms.scss b/app/javascript/flavours/glitch/styles/forms.scss
index 8ae2b5bd8..9ed656e13 100644
--- a/app/javascript/flavours/glitch/styles/forms.scss
+++ b/app/javascript/flavours/glitch/styles/forms.scss
@@ -101,12 +101,6 @@ code {
           text-decoration: none;
         }
       }
-
-      .recommended {
-        position: absolute;
-        margin: 0 4px;
-        margin-top: -2px;
-      }
     }
   }
 
diff --git a/app/javascript/icons/android-chrome-144x144.png b/app/javascript/icons/android-chrome-144x144.png
index d282a6d3d..1b040e070 100644
--- a/app/javascript/icons/android-chrome-144x144.png
+++ b/app/javascript/icons/android-chrome-144x144.png
Binary files differdiff --git a/app/javascript/icons/android-chrome-192x192.png b/app/javascript/icons/android-chrome-192x192.png
index d3f9959c5..0fab4ca6b 100644
--- a/app/javascript/icons/android-chrome-192x192.png
+++ b/app/javascript/icons/android-chrome-192x192.png
Binary files differdiff --git a/app/javascript/icons/android-chrome-256x256.png b/app/javascript/icons/android-chrome-256x256.png
index 98ce6ffbb..4a3c00272 100644
--- a/app/javascript/icons/android-chrome-256x256.png
+++ b/app/javascript/icons/android-chrome-256x256.png
Binary files differdiff --git a/app/javascript/icons/android-chrome-36x36.png b/app/javascript/icons/android-chrome-36x36.png
index f8ffeeb76..939df3019 100644
--- a/app/javascript/icons/android-chrome-36x36.png
+++ b/app/javascript/icons/android-chrome-36x36.png
Binary files differdiff --git a/app/javascript/icons/android-chrome-384x384.png b/app/javascript/icons/android-chrome-384x384.png
index 60b375354..18c3a8e88 100644
--- a/app/javascript/icons/android-chrome-384x384.png
+++ b/app/javascript/icons/android-chrome-384x384.png
Binary files differdiff --git a/app/javascript/icons/android-chrome-48x48.png b/app/javascript/icons/android-chrome-48x48.png
index ce49448d4..b690555d3 100644
--- a/app/javascript/icons/android-chrome-48x48.png
+++ b/app/javascript/icons/android-chrome-48x48.png
Binary files differdiff --git a/app/javascript/icons/android-chrome-512x512.png b/app/javascript/icons/android-chrome-512x512.png
index bccaada29..752540b46 100644
--- a/app/javascript/icons/android-chrome-512x512.png
+++ b/app/javascript/icons/android-chrome-512x512.png
Binary files differdiff --git a/app/javascript/icons/android-chrome-72x72.png b/app/javascript/icons/android-chrome-72x72.png
index ce57ab746..e45896701 100644
--- a/app/javascript/icons/android-chrome-72x72.png
+++ b/app/javascript/icons/android-chrome-72x72.png
Binary files differdiff --git a/app/javascript/icons/android-chrome-96x96.png b/app/javascript/icons/android-chrome-96x96.png
index cd8f09ed4..112e43896 100644
--- a/app/javascript/icons/android-chrome-96x96.png
+++ b/app/javascript/icons/android-chrome-96x96.png
Binary files differdiff --git a/app/javascript/icons/apple-touch-icon-1024x1024.png b/app/javascript/icons/apple-touch-icon-1024x1024.png
index b1f18f3e3..b6a064991 100644
--- a/app/javascript/icons/apple-touch-icon-1024x1024.png
+++ b/app/javascript/icons/apple-touch-icon-1024x1024.png
Binary files differdiff --git a/app/javascript/icons/apple-touch-icon-114x114.png b/app/javascript/icons/apple-touch-icon-114x114.png
index e13aaa87d..252c5b4b4 100644
--- a/app/javascript/icons/apple-touch-icon-114x114.png
+++ b/app/javascript/icons/apple-touch-icon-114x114.png
Binary files differdiff --git a/app/javascript/icons/apple-touch-icon-120x120.png b/app/javascript/icons/apple-touch-icon-120x120.png
index aa63012b5..90a2e2608 100644
--- a/app/javascript/icons/apple-touch-icon-120x120.png
+++ b/app/javascript/icons/apple-touch-icon-120x120.png
Binary files differdiff --git a/app/javascript/icons/apple-touch-icon-144x144.png b/app/javascript/icons/apple-touch-icon-144x144.png
index d282a6d3d..1b040e070 100644
--- a/app/javascript/icons/apple-touch-icon-144x144.png
+++ b/app/javascript/icons/apple-touch-icon-144x144.png
Binary files differdiff --git a/app/javascript/icons/apple-touch-icon-152x152.png b/app/javascript/icons/apple-touch-icon-152x152.png
index 0dec7d63e..b26610ba8 100644
--- a/app/javascript/icons/apple-touch-icon-152x152.png
+++ b/app/javascript/icons/apple-touch-icon-152x152.png
Binary files differdiff --git a/app/javascript/icons/apple-touch-icon-167x167.png b/app/javascript/icons/apple-touch-icon-167x167.png
index a622e1215..df7c641da 100644
--- a/app/javascript/icons/apple-touch-icon-167x167.png
+++ b/app/javascript/icons/apple-touch-icon-167x167.png
Binary files differdiff --git a/app/javascript/icons/apple-touch-icon-180x180.png b/app/javascript/icons/apple-touch-icon-180x180.png
index 864046b56..0d0c53437 100644
--- a/app/javascript/icons/apple-touch-icon-180x180.png
+++ b/app/javascript/icons/apple-touch-icon-180x180.png
Binary files differdiff --git a/app/javascript/icons/apple-touch-icon-57x57.png b/app/javascript/icons/apple-touch-icon-57x57.png
index 116918ce2..4fff3e56d 100644
--- a/app/javascript/icons/apple-touch-icon-57x57.png
+++ b/app/javascript/icons/apple-touch-icon-57x57.png
Binary files differdiff --git a/app/javascript/icons/apple-touch-icon-60x60.png b/app/javascript/icons/apple-touch-icon-60x60.png
index 0eda96ed6..29eda300d 100644
--- a/app/javascript/icons/apple-touch-icon-60x60.png
+++ b/app/javascript/icons/apple-touch-icon-60x60.png
Binary files differdiff --git a/app/javascript/icons/apple-touch-icon-72x72.png b/app/javascript/icons/apple-touch-icon-72x72.png
index ce57ab746..e45896701 100644
--- a/app/javascript/icons/apple-touch-icon-72x72.png
+++ b/app/javascript/icons/apple-touch-icon-72x72.png
Binary files differdiff --git a/app/javascript/icons/apple-touch-icon-76x76.png b/app/javascript/icons/apple-touch-icon-76x76.png
index 50e162891..7dae1cbd1 100644
--- a/app/javascript/icons/apple-touch-icon-76x76.png
+++ b/app/javascript/icons/apple-touch-icon-76x76.png
Binary files differdiff --git a/app/javascript/icons/favicon-16x16.png b/app/javascript/icons/favicon-16x16.png
index 33ef3bb8c..b9f0b9b6f 100644
--- a/app/javascript/icons/favicon-16x16.png
+++ b/app/javascript/icons/favicon-16x16.png
Binary files differdiff --git a/app/javascript/icons/favicon-32x32.png b/app/javascript/icons/favicon-32x32.png
index 7b9a37403..428dd69cd 100644
--- a/app/javascript/icons/favicon-32x32.png
+++ b/app/javascript/icons/favicon-32x32.png
Binary files differdiff --git a/app/javascript/icons/favicon-48x48.png b/app/javascript/icons/favicon-48x48.png
index 5b35eb233..43d3b9392 100644
--- a/app/javascript/icons/favicon-48x48.png
+++ b/app/javascript/icons/favicon-48x48.png
Binary files differdiff --git a/app/javascript/locales/locale-data/en-cafe.js b/app/javascript/locales/locale-data/en-cafe.js
new file mode 100755
index 000000000..363aabc2b
--- /dev/null
+++ b/app/javascript/locales/locale-data/en-cafe.js
@@ -0,0 +1,8 @@
+/*eslint eqeqeq: "off"*/
+/*eslint no-nested-ternary: "off"*/
+/*eslint quotes: "off"*/
+
+export default [{
+  locale: "en-cafe',
+  parentLocale: 'en',
+}];
diff --git a/app/javascript/mastodon/features/ui/components/follow_requests_nav_link.js b/app/javascript/mastodon/features/ui/components/follow_requests_nav_link.js
index 950ed7b27..ec21a9055 100644
--- a/app/javascript/mastodon/features/ui/components/follow_requests_nav_link.js
+++ b/app/javascript/mastodon/features/ui/components/follow_requests_nav_link.js
@@ -29,10 +29,6 @@ class FollowRequestsNavLink extends React.Component {
   render () {
     const { count } = this.props;
 
-    if (count === 0) {
-      return null;
-    }
-
     return <NavLink className='column-link column-link--transparent' to='/follow_requests'><IconWithBadge className='column-link__icon' id='user-plus' count={count} /><FormattedMessage id='navigation_bar.follow_requests' defaultMessage='Follow requests' /></NavLink>;
   }
 
diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json
index 2df1dc0ea..fae92a4b6 100644
--- a/app/javascript/mastodon/locales/de.json
+++ b/app/javascript/mastodon/locales/de.json
@@ -551,7 +551,7 @@
   "upload_form.audio_description": "Beschreibe die Audiodatei für Menschen mit Hörschädigungen",
   "upload_form.description": "Für Menschen mit Sehbehinderung beschreiben",
   "upload_form.description_missing": "Keine Beschreibung hinzugefügt",
-  "upload_form.edit": "Bearbeiten",
+  "upload_form.edit": "Beschreiben",
   "upload_form.thumbnail": "Miniaturansicht ändern",
   "upload_form.undo": "Löschen",
   "upload_form.video_description": "Beschreibe das Video für Menschen mit einer Hör- oder Sehbehinderung",
diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json
index a2f5b7174..f397851a8 100644
--- a/app/javascript/mastodon/locales/defaultMessages.json
+++ b/app/javascript/mastodon/locales/defaultMessages.json
@@ -1506,7 +1506,7 @@
         "id": "upload_form.undo"
       },
       {
-        "defaultMessage": "Edit",
+        "defaultMessage": "Describe",
         "id": "upload_form.edit"
       },
       {
diff --git a/app/javascript/mastodon/locales/en-cafe.json b/app/javascript/mastodon/locales/en-cafe.json
new file mode 100755
index 000000000..95ea9c8cb
--- /dev/null
+++ b/app/javascript/mastodon/locales/en-cafe.json
@@ -0,0 +1,53 @@
+{
+  "account.posts": "Toots",
+  "account.posts_with_replies": "Toots and replies",
+  "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
+  "column.pins": "Pinned toots",
+  "compose_form.direct_message_warning": "This toot will only be sent to the mentioned users.",
+  "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.publish": "Toot",
+  "confirmations.delete.message": "Are you sure you want to delete this toot?",
+  "confirmations.redraft.message": "Are you sure you want to delete this toot and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.",
+  "embed.instructions": "Embed this toot on your website by copying the code below.",
+  "empty_column.account_timeline": "No toots here!",
+  "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.",
+  "empty_column.favourited_statuses": "You don't have any favourite toots 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.list": "There is nothing in this list yet. When members of this list post new toots, they will appear here.",
+  "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.text": "You can share other people's toots with your followers by boosting them.",
+  "introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
+  "keyboard_shortcuts.column": "to focus a toot in one of the columns",
+  "keyboard_shortcuts.enter": "to open toot",
+  "keyboard_shortcuts.pinned": "to open pinned toots list",
+  "keyboard_shortcuts.toot": "to start a brand new toot",
+  "navigation_bar.compose": "Compose new toot",
+  "navigation_bar.pins": "Pinned toots",
+  "notification.favourite": "{name} favourited your toot",
+  "notification.reblog": "{name} boosted your toot",
+  "notifications.column_settings.status": "New toots:",
+  "privacy.change": "Change toot privacy",
+  "search_popout.tips.full_text": "Simple text returns toots you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
+  "search_popout.tips.status": "toot",
+  "search_results.statuses": "Toots",
+  "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+  "status.admin_status": "Open this toot in the moderation interface",
+  "status.copy": "Copy link to toot",
+  "status.open": "Expand this toot",
+  "status.pinned": "Pinned toot",
+  "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
+  "status.show_more_all": "Expand all toots",
+  "timeline_hint.resources.statuses": "Older toots",
+
+  "upload_form.edit": "Describe",
+  "upload_modal.description_placeholder": "Jackdaws love my big sphinx of quartz",
+  "upload_modal.edit_media": "Add description",
+
+  "column.community": "Plural Café",
+  "directory.local": "From Plural Café only",
+  "empty_column.community": "The Plural Café timeline is empty. Write something publicly to get the ball rolling!",
+  "getting_started.open_source_notice": "GlitchCafé is open source software. You can contribute or report issues on GitHub at {github}.",
+  "introduction.federation.local.text": "Public posts from people on Plural Café will appear in the local timeline.",
+  "navigation_bar.community_timeline": "Plural Café timeline",
+  "tabs_bar.local_timeline": "Plural Café"
+}
diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json
index 5eb1fe313..6a186562f 100644
--- a/app/javascript/mastodon/locales/en.json
+++ b/app/javascript/mastodon/locales/en.json
@@ -556,7 +556,7 @@
   "upload_form.audio_description": "Describe for people with hearing loss",
   "upload_form.description": "Describe for the visually impaired",
   "upload_form.description_missing": "No description added",
-  "upload_form.edit": "Edit",
+  "upload_form.edit": "Describe",
   "upload_form.thumbnail": "Change thumbnail",
   "upload_form.undo": "Delete",
   "upload_form.video_description": "Describe for people with hearing loss or visual impairment",
diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json
index 5de01d5fc..57259e21c 100644
--- a/app/javascript/mastodon/locales/es.json
+++ b/app/javascript/mastodon/locales/es.json
@@ -551,7 +551,7 @@
   "upload_form.audio_description": "Describir para personas con problemas auditivos",
   "upload_form.description": "Describir para los usuarios con dificultad visual",
   "upload_form.description_missing": "Ninguna descripción añadida",
-  "upload_form.edit": "Editar",
+  "upload_form.edit": "Describir",
   "upload_form.thumbnail": "Cambiar miniatura",
   "upload_form.undo": "Borrar",
   "upload_form.video_description": "Describir para personas con problemas auditivos o visuales",
diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json
index 0dece0c51..3eb0f3e06 100644
--- a/app/javascript/mastodon/locales/fi.json
+++ b/app/javascript/mastodon/locales/fi.json
@@ -551,7 +551,7 @@
   "upload_form.audio_description": "Kuvaile kuulovammaisille",
   "upload_form.description": "Anna kuvaus näkörajoitteisia varten",
   "upload_form.description_missing": "Kuvausta ei ole lisätty",
-  "upload_form.edit": "Muokkaa",
+  "upload_form.edit": "Kuvaile",
   "upload_form.thumbnail": "Vaihda pikkukuva",
   "upload_form.undo": "Peru",
   "upload_form.video_description": "Kuvaile kuulo- tai näkövammaisille",
diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json
index dcac5c880..cc710250d 100644
--- a/app/javascript/mastodon/locales/fr.json
+++ b/app/javascript/mastodon/locales/fr.json
@@ -551,7 +551,7 @@
   "upload_form.audio_description": "Décrire pour les personnes ayant des difficultés d’audition",
   "upload_form.description": "Décrire pour les malvoyant·e·s",
   "upload_form.description_missing": "Description manquante",
-  "upload_form.edit": "Modifier",
+  "upload_form.edit": "Décrire",
   "upload_form.thumbnail": "Changer la vignette",
   "upload_form.undo": "Supprimer",
   "upload_form.video_description": "Décrire pour les personnes ayant des problèmes de vue ou d'audition",
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index 57489011b..2b3513693 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.json
@@ -556,7 +556,7 @@
   "upload_form.audio_description": "聴き取りが難しいユーザーへの説明",
   "upload_form.description": "閲覧が難しいユーザーへの説明",
   "upload_form.description_missing": "説明を追加していません",
-  "upload_form.edit": "編集",
+  "upload_form.edit": "説明",
   "upload_form.thumbnail": "サムネイルを変更",
   "upload_form.undo": "削除",
   "upload_form.video_description": "視聴が難しいユーザーへの説明",
diff --git a/app/javascript/mastodon/locales/locale-data/en-cafe.js b/app/javascript/mastodon/locales/locale-data/en-cafe.js
new file mode 100755
index 000000000..363aabc2b
--- /dev/null
+++ b/app/javascript/mastodon/locales/locale-data/en-cafe.js
@@ -0,0 +1,8 @@
+/*eslint eqeqeq: "off"*/
+/*eslint no-nested-ternary: "off"*/
+/*eslint quotes: "off"*/
+
+export default [{
+  locale: "en-cafe',
+  parentLocale: 'en',
+}];
diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json
index b48ebbc16..df59ee3f7 100644
--- a/app/javascript/mastodon/locales/nl.json
+++ b/app/javascript/mastodon/locales/nl.json
@@ -551,7 +551,7 @@
   "upload_form.audio_description": "Omschrijf dit voor mensen met een auditieve beperking",
   "upload_form.description": "Omschrijf dit voor mensen met een visuele beperking",
   "upload_form.description_missing": "Geen omschrijving toegevoegd",
-  "upload_form.edit": "Bewerken",
+  "upload_form.edit": "Omschrijf",
   "upload_form.thumbnail": "Miniatuurafbeelding wijzigen",
   "upload_form.undo": "Verwijderen",
   "upload_form.video_description": "Omschrijf dit voor mensen met een auditieve of visuele beperking",
diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json
index e320ea3a1..9550b5b7f 100644
--- a/app/javascript/mastodon/locales/pl.json
+++ b/app/javascript/mastodon/locales/pl.json
@@ -556,7 +556,7 @@
   "upload_form.audio_description": "Opisz dla osób niesłyszących i niedosłyszących",
   "upload_form.description": "Wprowadź opis dla niewidomych i niedowidzących",
   "upload_form.description_missing": "Nie dodano opisu",
-  "upload_form.edit": "Edytuj",
+  "upload_form.edit": "Opisz",
   "upload_form.thumbnail": "Zmień miniaturę",
   "upload_form.undo": "Usuń",
   "upload_form.video_description": "Opisz dla osób niesłyszących, niedosłyszących, niewidomych i niedowidzących",
diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json
index ab1443ece..395ef4b86 100644
--- a/app/javascript/mastodon/locales/pt-BR.json
+++ b/app/javascript/mastodon/locales/pt-BR.json
@@ -548,10 +548,10 @@
   "upload_button.label": "Adicionar mídia",
   "upload_error.limit": "Limite de anexação alcançado.",
   "upload_error.poll": "Mídias não podem ser anexadas em toots com enquetes.",
-  "upload_form.audio_description": "Descrever para deficientes auditivos",
-  "upload_form.description": "Descrever para deficientes visuais",
+  "upload_form.audio_description": "Descrever para pessoas com deficiência auditiva",
+  "upload_form.description": "Descreva para deficientes visuais",
   "upload_form.description_missing": "Nenhuma descrição adicionada",
-  "upload_form.edit": "Editar",
+  "upload_form.edit": "Descreva",
   "upload_form.thumbnail": "Alterar miniatura",
   "upload_form.undo": "Excluir",
   "upload_form.video_description": "Descrever para deficientes auditivos ou visuais",
diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json
index e53088e39..9a03a9ef7 100644
--- a/app/javascript/mastodon/locales/ru.json
+++ b/app/javascript/mastodon/locales/ru.json
@@ -551,7 +551,7 @@
   "upload_form.audio_description": "Опишите аудиофайл для людей с нарушением слуха",
   "upload_form.description": "Добавьте описание для людей с нарушениями зрения:",
   "upload_form.description_missing": "Описание не добавлено",
-  "upload_form.edit": "Изменить",
+  "upload_form.edit": "Опишите",
   "upload_form.thumbnail": "Изменить обложку",
   "upload_form.undo": "Отменить",
   "upload_form.video_description": "Опишите видео для людей с нарушением слуха или зрения",
diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json
index a150deadb..7fb445b9e 100644
--- a/app/javascript/mastodon/locales/sv.json
+++ b/app/javascript/mastodon/locales/sv.json
@@ -551,7 +551,7 @@
   "upload_form.audio_description": "Beskriv för personer med hörselnedsättning",
   "upload_form.description": "Beskriv för synskadade",
   "upload_form.description_missing": "Beskrivning saknas",
-  "upload_form.edit": "Redigera",
+  "upload_form.edit": "Beskriv",
   "upload_form.thumbnail": "Ändra miniatyr",
   "upload_form.undo": "Radera",
   "upload_form.video_description": "Beskriv för personer med hörsel- eller synnedsättning",
diff --git a/app/javascript/mastodon/locales/whitelist_en-cafe.json b/app/javascript/mastodon/locales/whitelist_en-cafe.json
new file mode 100755
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/mastodon/locales/whitelist_en-cafe.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/styles/mastodon-light/diff.scss b/app/javascript/styles/mastodon-light/diff.scss
index 0bc6247ef..9195d073a 100644
--- a/app/javascript/styles/mastodon-light/diff.scss
+++ b/app/javascript/styles/mastodon-light/diff.scss
@@ -673,12 +673,6 @@ html {
     background: rgba($error-red, 0.5);
     text-shadow: none;
   }
-
-  .recommended {
-    border-color: $ui-highlight-color;
-    color: $ui-highlight-color;
-    background-color: rgba($ui-highlight-color, 0.1);
-  }
 }
 
 .compose-form .compose-form__warning {
diff --git a/app/javascript/styles/mastodon/accounts.scss b/app/javascript/styles/mastodon/accounts.scss
index 54b65bfc8..823b65913 100644
--- a/app/javascript/styles/mastodon/accounts.scss
+++ b/app/javascript/styles/mastodon/accounts.scss
@@ -201,8 +201,7 @@
   }
 }
 
-.account-role,
-.simple_form .recommended {
+.account-role {
   display: inline-block;
   padding: 4px 6px;
   cursor: default;
diff --git a/app/javascript/styles/mastodon/forms.scss b/app/javascript/styles/mastodon/forms.scss
index 990903859..10bb0b400 100644
--- a/app/javascript/styles/mastodon/forms.scss
+++ b/app/javascript/styles/mastodon/forms.scss
@@ -101,12 +101,6 @@ code {
           text-decoration: none;
         }
       }
-
-      .recommended {
-        position: absolute;
-        margin: 0 4px;
-        margin-top: -2px;
-      }
     }
   }