diff --git a/front/src/EmbedFrame.vue b/front/src/EmbedFrame.vue
index 991d9802bd2b8693eb8f02c48e41a3b25b8b8580..23ed92a0d45d38d111593bb6b27306adf92357f2 100644
--- a/front/src/EmbedFrame.vue
+++ b/front/src/EmbedFrame.vue
@@ -72,10 +72,10 @@
             <span v-else-if="error === 'invalid_id'" class="error">Widget improperly configured (missing resource id).</span>
             <span v-else-if="error === 'server_not_found'" class="error">Track not found.</span>
             <span v-else-if="error === 'server_requires_auth'" class="error">You need to login to access this resource.</span>
-            <span v-else-if="error === 'server_error'" class="error">A server error occured.</span>
-            <span v-else-if="error === 'server_error'" class="error">An unknown error occured while loading track data from server.</span>
+            <span v-else-if="error === 'server_error'" class="error">A server error occurred.</span>
+            <span v-else-if="error === 'server_error'" class="error">An unknown error occurred while loading track data from server.</span>
             <span v-else-if="currentTrack && currentTrack.sources.length === 0" class="error">This track is unavailable.</span>
-            <span v-else class="error">An unknown error occured while loading track data.</span>
+            <span v-else class="error">An unknown error occurred while loading track data.</span>
           </div>
           <a title="Funkwhale" href="https://funkwhale.audio" target="_blank" rel="noopener noreferrer" class="logo-wrapper">
             <logo :fill="currentTheme.textColor" class="logo"></logo>
diff --git a/front/src/components/Home.vue b/front/src/components/Home.vue
index bbcc9a8f959a89b9d20ffadc402acfa74da5274b..976262cfa751bba2dbd4cacb84c5d0bb75141071 100644
--- a/front/src/components/Home.vue
+++ b/front/src/components/Home.vue
@@ -3,7 +3,7 @@
     <section class="ui vertical center aligned stripe segment">
       <div class="ui text container">
         <h1 class="ui huge header">
-          <translate translate-context="Content/Home/Title/Verb">Welcome on Funkwhale</translate>
+          <translate translate-context="Content/Home/Title/Verb">Welcome to Funkwhale</translate>
         </h1>
         <p><translate translate-context="Content/Home/Title">We think listening to music should be simple.</translate></p>
         <router-link class="ui icon button" to="/about">
@@ -48,13 +48,13 @@
           <div class="item">
             <i class="heart icon"></i>
             <div class="content">
-              <translate translate-context="Content/Home/List item/Verb">Keep a track of your favorite songs</translate>
+              <translate translate-context="Content/Home/List item/Verb">Keep track of your favorite songs</translate>
             </div>
           </div>
           <div class="item">
             <i class="list icon"></i>
             <div class="content">
-              <translate translate-context="Content/Home/List item">Playlists? We got them</translate>
+              <translate translate-context="Content/Home/List item">Playlists? We've got them</translate>
             </div>
           </div>
         </div>
@@ -73,7 +73,7 @@
           <div class="item">
             <i class="plus icon"></i>
             <div class="content">
-              <translate translate-context="Content/Home/List item">Covers, lyrics, our goal is to have them all ;)</translate>
+              <translate translate-context="Content/Home/List item">Covers, lyrics... our goal is to have them all ;)</translate>
             </div>
           </div>
         </div>
@@ -88,7 +88,7 @@
           <div class="item">
             <i class="book icon"></i>
             <div class="content">
-              <translate translate-context="Content/Home/List item">No add-ons, no plugins : you only need a web library</translate>
+              <translate translate-context="Content/Home/List item">No add-ons, no plugins... you only need a web library</translate>
             </div>
           </div>
           <div class="item">
@@ -104,12 +104,12 @@
         <h2 class="ui header">
           <translate translate-context="Content/Home/Title">Your music, your way</translate>
         </h2>
-        <p><translate translate-context="Content/Home/Paragraph">Funkwhale is free and gives you control on your music.</translate></p>
+        <p><translate translate-context="Content/Home/Paragraph">Funkwhale is free and gives you control over your music.</translate></p>
         <div class="ui list">
           <div class="item">
             <i class="smile icon"></i>
             <div class="content">
-              <translate translate-context="Content/Home/List item">The plaform is free and open-source, you can install it and modify it without worries</translate>
+              <translate translate-context="Content/Home/List item">The platform is free and open-source, you can install it and modify it without worries</translate>
             </div>
           </div>
           <div class="item">
diff --git a/front/src/components/audio/PlayButton.vue b/front/src/components/audio/PlayButton.vue
index 3d9e317681dc38d479e2e7e8e25619dbfaf0313d..8e490b4f4d8cce0e68ea1fa6d1ed3fabe42903b1 100644
--- a/front/src/components/audio/PlayButton.vue
+++ b/front/src/components/audio/PlayButton.vue
@@ -84,7 +84,7 @@ export default {
     },
     title () {
       if (this.playable) {
-        return this.$pgettext('*/Queue/Button/Title', 'Play...')
+        return this.$pgettext('*/Queue/Button/Title', 'More...')
       } else {
         if (this.track) {
           return this.$pgettext('*/Queue/Button/Title', 'This track is not available in any library you have access to')
diff --git a/front/src/components/auth/Login.vue b/front/src/components/auth/Login.vue
index 20aff3236bd797e0c03a50ce9ec36b29287e20c9..11d4551da5578944b395ccb46faaadd0c2552c90 100644
--- a/front/src/components/auth/Login.vue
+++ b/front/src/components/auth/Login.vue
@@ -8,7 +8,7 @@
             <div class="header"><translate translate-context="Content/Login/Error message.Title">We cannot log you in</translate></div>
             <ul class="list">
               <li v-if="error == 'invalid_credentials'"><translate translate-context="Content/Login/Error message.List item/Call to action">Please double-check your username/password couple is correct</translate></li>
-              <li v-else><translate translate-context="Content/Login/Error message/List item">An unknown error happend, this can mean the server is down or cannot be reached</translate></li>
+              <li v-else><translate translate-context="Content/Login/Error message/List item">An unknown error occurred, this can mean the server is down or cannot be reached</translate></li>
             </ul>
           </div>
           <div class="field">
diff --git a/front/src/components/auth/Settings.vue b/front/src/components/auth/Settings.vue
index 6e2516ed87156da3c31b360d6358d027ef3009cb..5d60d8cd535c0809805ea5b33254d07b4856473f 100644
--- a/front/src/components/auth/Settings.vue
+++ b/front/src/components/auth/Settings.vue
@@ -12,7 +12,7 @@
             </div>
           </div>
           <div v-if="settings.errors.length > 0" class="ui negative message">
-            <div class="header"><translate translate-context="Content/Settings/Error message.Title">Your settings can't be updateds</translate></div>
+            <div class="header"><translate translate-context="Content/Settings/Error message.Title">Your settings can't be updated</translate></div>
             <ul class="list">
               <li v-for="error in settings.errors">{{ error }}</li>
             </ul>
diff --git a/front/src/components/auth/Signup.vue b/front/src/components/auth/Signup.vue
index 974d082bda98153009cc2e9f35cd4c0e67ab16fd..c84a5095b0502cb56d2b7c4f47734b7fd7da6e47 100644
--- a/front/src/components/auth/Signup.vue
+++ b/front/src/components/auth/Signup.vue
@@ -7,7 +7,7 @@
           :class="['ui', {'loading': isLoadingInstanceSetting}, 'form']"
           @submit.prevent="submit()">
           <p class="ui message" v-if="!$store.state.instance.settings.users.registration_enabled.value">
-            <translate translate-context="Content/Signup/Form/Paragraph">Registration are closed on this instance, you will need an invitation code to signup.</translate>
+            <translate translate-context="Content/Signup/Form/Paragraph">Public registrations are not possible on this instance. You will need an invitation code to sign up.</translate>
           </p>
 
           <div v-if="errors.length > 0" class="ui negative message">
diff --git a/front/src/components/federation/FetchButton.vue b/front/src/components/federation/FetchButton.vue
index c1a28c2b11bd3acaaf0b70d4a9a64d9a6889ea07..cdd67e1f84b66f3b3df5a1a7288353c5d9a91d6c 100644
--- a/front/src/components/federation/FetchButton.vue
+++ b/front/src/components/federation/FetchButton.vue
@@ -19,7 +19,7 @@
           </div>
           <div v-else-if="fetch.status === 'errored'" class="ui error message">
             <div class="header"><translate translate-context="Popup/*/Message.Title">Refresh error</translate></div>
-            <p><translate translate-context="Popup/*/Message.Content">An error occured while trying to refresh data:</translate></p>
+            <p><translate translate-context="Popup/*/Message.Content">An error occurred while trying to refresh data:</translate></p>
             <table class="ui very basic collapsing celled table">
               <tbody>
                 <tr>
@@ -41,10 +41,10 @@
                       translate-context="*/*/Error">The remote server answered with HTTP %{ status }</translate>
                     <translate
                       v-else-if="['http', 'request'].indexOf(fetch.detail.error_code) > -1"
-                      translate-context="*/*/Error">An HTTP error occured while contacting the remote server</translate>
+                      translate-context="*/*/Error">An HTTP error occurred while contacting the remote server</translate>
                     <translate
                       v-else-if="fetch.detail.error_code === 'timeout'"
-                      translate-context="*/*/Error">The remote server didn't answered fast enough</translate>
+                      translate-context="*/*/Error">The remote server didn't respond quickly enough</translate>
                     <translate
                       v-else-if="fetch.detail.error_code === 'connection'"
                       translate-context="*/*/Error">Impossible to connect to the remote server</translate>
diff --git a/front/src/components/library/FileUpload.vue b/front/src/components/library/FileUpload.vue
index a8a5d2f374e0eb4ce0c51f4c134fac28ed78c0b2..79d5a10adc510d800a0455a8d6ccab53ddca4c52 100644
--- a/front/src/components/library/FileUpload.vue
+++ b/front/src/components/library/FileUpload.vue
@@ -262,7 +262,7 @@ export default {
         "Cannot upload this file, ensure it is not too big"
       );
       let network = this.$pgettext('Content/Library/Help text',
-        "A network error occured while uploading this file"
+        "A network error occurred while uploading this file"
       );
       let timeout = this.$pgettext('Content/Library/Help text', "Upload timeout, please try again");
       let extension = this.$pgettext('Content/Library/Help text',
diff --git a/front/src/components/library/ImportStatusModal.vue b/front/src/components/library/ImportStatusModal.vue
index 5632e95943cb78571ed55af3a458ab788e7bceca..6dfd8fa67e53a56f24eb06fb5f835d670490cd9f 100644
--- a/front/src/components/library/ImportStatusModal.vue
+++ b/front/src/components/library/ImportStatusModal.vue
@@ -16,7 +16,7 @@
           <translate translate-context="Popup/Import/Message">Upload was skipped because a similar one is already available in one of your libraries.</translate>
         </div>
         <div class="ui error message" v-if="upload.import_status === 'errored'">
-          <translate translate-context="Popup/Import/Message">An error occured during upload processing. You will find more information below.</translate>
+          <translate translate-context="Popup/Import/Message">An error occurred during upload processing. You will find more information below.</translate>
         </div>
         <template v-if="upload.import_status === 'errored'">
           <table class="ui very basic collapsing celled table">
@@ -141,8 +141,8 @@ export default {
         let detail = payload.detail || {}
         d.errorRows = getErrors(detail)
       } else {
-        d.label = this.$pgettext('Popup/Import/Error.Label', 'Unkwown error')
-        d.detail = this.$pgettext('Popup/Import/Error.Label', 'An unkwown error occured')
+        d.label = this.$pgettext('Popup/Import/Error.Label', 'Unknown error')
+        d.detail = this.$pgettext('Popup/Import/Error.Label', 'An unknown error occurred')
       }
       let debugInfo = {
         source: upload.source,
diff --git a/front/src/components/mixins/Translations.vue b/front/src/components/mixins/Translations.vue
index e6e80925242cc6d0757a243f1889b9af6207763a..1af526b7e74ce4f4a34061a67c17c166559129f0 100644
--- a/front/src/components/mixins/Translations.vue
+++ b/front/src/components/mixins/Translations.vue
@@ -31,7 +31,7 @@ export default {
               },
               errored: {
                 label: this.$pgettext('Content/Library/Table/Short', 'Errored'),
-                help: this.$pgettext('Content/Library/Help text', 'This track could not be processed, please it is tagged correctly'),
+                help: this.$pgettext('Content/Library/Help text', 'This track could not be processed, please make sure it is tagged correctly'),
               },
               finished: {
                 label: this.$pgettext('Content/Library/*', 'Finished'),
diff --git a/front/src/components/moderation/FilterModal.vue b/front/src/components/moderation/FilterModal.vue
index 8885e61fc08f6f9a5dde2787c1ec77ad56afa2fe..51e9eb70e9bfb2ea5948967f95f2a03429ba5c8c 100644
--- a/front/src/components/moderation/FilterModal.vue
+++ b/front/src/components/moderation/FilterModal.vue
@@ -19,7 +19,7 @@
         <template v-if="type === 'artist'">
           <p>
             <translate translate-context="Popup/Moderation/Paragraph">
-              You will not see tracks, albums and user activity linked to this artist anymore:
+              You will not see tracks, albums and user activity linked to this artist any more:
             </translate>
           </p>
           <ul>
@@ -30,7 +30,7 @@
           </ul>
           <p>
             <translate translate-context="Popup/Moderation/Paragraph">
-              You can manage and update your filters anytime from your account settings.
+              You can manage and update your filters any time from your account settings.
             </translate>
           </p>
         </template>
diff --git a/front/src/components/playlists/Editor.vue b/front/src/components/playlists/Editor.vue
index 50cceafcda0567758a324fb680950e41132cc7ef..2ebd9614babde74840fc2b49e9594941de424a79 100644
--- a/front/src/components/playlists/Editor.vue
+++ b/front/src/components/playlists/Editor.vue
@@ -11,7 +11,7 @@
       </template>
       <template v-else-if="status === 'errored'">
         <i class="red close icon"></i>
-        <translate translate-context="Content/Playlist/Error message.Title">An error occured while saving your changes</translate>
+        <translate translate-context="Content/Playlist/Error message.Title">An error occurred while saving your changes</translate>
         <div v-if="errors.length > 0" class="ui negative message">
           <ul class="list">
             <li v-for="error in errors">{{ error }}</li>
diff --git a/front/src/views/auth/PasswordReset.vue b/front/src/views/auth/PasswordReset.vue
index b1aab6f855699955419f0cd29df95fb6d18fbce9..b60a411463f9f0aad72af77ece8760f6eb3b7c8b 100644
--- a/front/src/views/auth/PasswordReset.vue
+++ b/front/src/views/auth/PasswordReset.vue
@@ -51,7 +51,7 @@ export default {
   computed: {
     labels() {
       let reset = this.$pgettext('*/Login/*/Verb', "Reset your password")
-      let placeholder = this.$pgettext('Content/Signup/Input.Placeholder', "Enter the email address binded to your account"
+      let placeholder = this.$pgettext('Content/Signup/Input.Placeholder', "Enter the email address linked to your account"
       )
       return {
         reset,
diff --git a/front/src/views/auth/PasswordResetConfirm.vue b/front/src/views/auth/PasswordResetConfirm.vue
index c2a7c677818059cccd84cc2986fdb732a18cdea3..025458ba1f8e51021d24ff46f8baacee1e8433ac 100644
--- a/front/src/views/auth/PasswordResetConfirm.vue
+++ b/front/src/views/auth/PasswordResetConfirm.vue
@@ -22,7 +22,7 @@
               <translate translate-context="Content/Signup/Button.Label">Update your password</translate></button>
           </template>
           <template v-else>
-            <p><translate translate-context="Content/Signup/Paragraph">If the email address provided in the previous step is valid and binded to a user account, you should receive an email with reset instructions in the next couple of minutes.</translate></p>
+            <p><translate translate-context="Content/Signup/Paragraph">If the email address provided in the previous step is valid and linked to a user account, you should receive an email with reset instructions in the next couple of minutes.</translate></p>
           </template>
         </form>
         <div v-else class="ui positive message">
diff --git a/front/src/views/content/Home.vue b/front/src/views/content/Home.vue
index de8a86e256e8b3d9d4bd092c58abb9afc6131895..fb8128b9f29af3c111e99df3493065e1844888d5 100644
--- a/front/src/views/content/Home.vue
+++ b/front/src/views/content/Home.vue
@@ -15,7 +15,7 @@
       </div>
       <div class="ui segment">
         <h2><translate translate-context="Content/Library/Title/Verb">Follow remote libraries</translate></h2>
-        <p><translate translate-context="Content/Library/Paragraph">You can follow libraries from other users to get access to new music. Public libraries can be followed immediatly, while following a private library requires approval from its owner.</translate></p>
+        <p><translate translate-context="Content/Library/Paragraph">You can follow libraries from other users to get access to new music. Public libraries can be followed immediately, while following a private library requires approval from its owner.</translate></p>
         <router-link :to="{name: 'content.remote.index'}" class="ui green button">
           <translate translate-context="Content/Library/Button.Label/Verb">Get started</translate>
         </router-link>