diff --git a/Ring/Ring/Features/Conversations/Conversation/MessageSwiftUI/ViewModels/ContextMenuVM.swift b/Ring/Ring/Features/Conversations/Conversation/MessageSwiftUI/ViewModels/ContextMenuVM.swift
index cdc812d761013651252696a6c465114cb9db11ef..fd5c02293ea1966548cbd26cd151c82be0301012 100644
--- a/Ring/Ring/Features/Conversations/Conversation/MessageSwiftUI/ViewModels/ContextMenuVM.swift
+++ b/Ring/Ring/Features/Conversations/Conversation/MessageSwiftUI/ViewModels/ContextMenuVM.swift
@@ -169,7 +169,7 @@ class ContextMenuVM: ObservableObject {
                 return false
             }
         } else {
-            log.error("[ContextMenu] Jami account ID invaled while trying to read message reactions.")
+            log.error("[ContextMenu] Jami account ID invalid while attempting to read message reactions.")
             return false
         }
     }
@@ -178,7 +178,7 @@ class ContextMenuVM: ObservableObject {
         if let sender = self.currentJamiAccountId {
             return self.presentingMessage.messageModel.message.reactions.first(where: { item in item.author == sender && item.content == withValue })
         } else {
-            log.error("[ContextMenu] Jami account ID invaled while trying to read message reactions.")
+            log.error("[ContextMenu] Jami account ID invalid while attempting to read message reactions.")
             return nil
         }
     }
diff --git a/Ring/Ring/Features/Conversations/Conversation/MessageSwiftUI/ViewModels/MessagesListVM.swift b/Ring/Ring/Features/Conversations/Conversation/MessageSwiftUI/ViewModels/MessagesListVM.swift
index 19c027064befcac2b96b21f26baed638220c9bdd..6c61e9963105d2b22124d89776cecb5782d710e2 100644
--- a/Ring/Ring/Features/Conversations/Conversation/MessageSwiftUI/ViewModels/MessagesListVM.swift
+++ b/Ring/Ring/Features/Conversations/Conversation/MessageSwiftUI/ViewModels/MessagesListVM.swift
@@ -290,7 +290,7 @@ class MessagesListVM: ObservableObject {
                     self.isTemporary = false
                 }
             }, onError: { [weak self] (_) in
-                self?.log.error("error sending contact request")
+                self?.log.error("Error sending contact request")
             })
             .disposed(by: self.disposeBag)
     }
@@ -418,13 +418,13 @@ class MessagesListVM: ObservableObject {
                         if let dat = event["data"], let mId = event["parentMessageId"] {
                             self.conversationService.sendEmojiReactionMessage(conversationId: self.conversation.id, accountId: self.conversation.accountId, message: dat, parentId: mId)
                         } else {
-                            self.log.error("[MessagesListVM] Invalid data provided while trying to add a reaction a message.")
+                            self.log.error("[MessagesListVM] Invalid data provided while attempting to add a reaction a message.")
                         }
                     case ReactionCommand.revoke.toString():
                         if let rId = event["reactionId"] {
                             self.conversationService.editSwarmMessage(conversationId: self.conversation.id, accountId: self.conversation.accountId, message: "", parentId: rId)
                         } else {
-                            self.log.error("[MessagesListVM] Invalid message ID provided while trying to revoke a reaction from a message.")
+                            self.log.error("[MessagesListVM] Invalid message ID provided while attempting to revoke a reaction from a message.")
                         }
                     default: break
                     }
@@ -619,7 +619,7 @@ class MessagesListVM: ObservableObject {
          or if this message precedes the current 'lastDelivered' in the messages list.
          */
 
-        // get indeces of last read messages
+        // get indices of last read messages
         let lastReadIndices = getLastReadIndices()
 
         guard let index = self.messagesModels.firstIndex(where: { $0.id == message.id }) else { return }
@@ -815,7 +815,7 @@ class MessagesListVM: ObservableObject {
     func scrollToTargetReply(messageId: String) {
         /*
          If the required message is already loaded, simply scroll to it;
-         otherwise,load conversation until the required message.
+         otherwise, load conversation until the required message.
          */
         if self.getMessage(messageId: messageId) != nil {
             self.scrollToReplyTarget = messageId
diff --git a/Ring/Ring/Models/AccountCredentialsModel.swift b/Ring/Ring/Models/AccountCredentialsModel.swift
index e2fea45fed53fda4db79f84a38fb7b250bc4dd95..5f2441d8c31a91f4b8af9b62f28e734439b0be45 100644
--- a/Ring/Ring/Models/AccountCredentialsModel.swift
+++ b/Ring/Ring/Models/AccountCredentialsModel.swift
@@ -19,9 +19,9 @@
  */
 
 /**
- Errors that can be thrown when trying create an AccountCredentialsModel
+ Errors that can be thrown when attempting create an AccountCredentialsModel
 
- - NotEnoughData: some information are missing to create the object
+ - NotEnoughData: information is missing to create the object
  */
 enum CredentialsError: Error {
     case notEnoughData
diff --git a/Ring/Ring/Models/AccountModel.swift b/Ring/Ring/Models/AccountModel.swift
index b0135802805be00c16e7cf1d4b18aa54b303d0f2..a8aa790f8a2c8e51a5982c154d86c92399dbb4e7 100644
--- a/Ring/Ring/Models/AccountModel.swift
+++ b/Ring/Ring/Models/AccountModel.swift
@@ -24,7 +24,7 @@
 import Foundation
 
 /**
- Errors that can be thrown when trying to build an AccountModel
+ Errors that can be thrown when attempting to build an AccountModel
  */
 enum AccountModelError: Error {
     case unexpectedError
diff --git a/Ring/Ring/Resources/en.lproj/Localizable.strings b/Ring/Ring/Resources/en.lproj/Localizable.strings
index 64a827cf8ace8d7701f2438bdced092f90d6335d..f7cdc58bde4ba958d608f05e7522f1acccc5b764 100644
--- a/Ring/Ring/Resources/en.lproj/Localizable.strings
+++ b/Ring/Ring/Resources/en.lproj/Localizable.strings
@@ -85,7 +85,7 @@
 "swarm.blocked" = "Blocked";
 "swarm.unknown" = "Unknown";
 "swarm.inviteMembers" = "Invite members";
-"swarm.confirmLeaveConversation" = "Do you really want to leave this conversation?";
+"swarm.confirmLeaveConversation" = "Do you want to leave this conversation?";
 "swarm.Leave" = "Leave";
 "swarm.newGroup" = "Create new group";
 "swarm.namePlaceholder" = "Group name";
@@ -235,11 +235,11 @@
 "alerts.accountLinkedTitle" = "Linking account";
 "alerts.dbFailedTitle" = "An error happened when launching Jami";
 "alerts.dbFailedMessage" = "Please close application and try to open it again";
-"alerts.confirmBlockContact" = "Are you sure you want to block this contact? The conversation history with this contact will also be deleted permanently.";
-"alerts.confirmDeleteConversation" = "Are you sure you want to delete this conversation permanently?";
-"alerts.confirmDeleteConversationFromContact" = "Are you sure you want to delete the conversation with this contact?";
+"alerts.confirmBlockContact" = "Do you want to block this contact? The conversation history with this contact will also be deleted permanently.";
+"alerts.confirmDeleteConversation" = "Do you want to delete this conversation permanently?";
+"alerts.confirmDeleteConversationFromContact" = "Do you want to delete the conversation with this contact?";
 "alerts.confirmDeleteConversationTitle" = "Delete Conversation";
-"alerts.confirmClearConversation" = "Are you sure you want to clear the conversation with this contact?";
+"alerts.confirmClearConversation" = "Do you want to clear the conversation with this contact?";
 "alerts.confirmClearConversationTitle" = "Clear Conversation";
 "alerts.noMediaPermissionsTitle" = "Media permission not granted";
 "alerts.noLibraryPermissionsTitle" = "Access to photo library not granted";
@@ -304,7 +304,7 @@
 "accountPage.proxyDisabledAlertTitle" = "Proxy Server Disabled";
 "accountPage.proxyDisabledAlertBody" = "In order to receive notifications, please enable proxy";
 "accountPage.removeDeviceTitle" = "Remove device";
-"accountPage.revokeDeviceMessage" = "Are you sure you want to remove this device? This action cannot be undone.";
+"accountPage.revokeDeviceMessage" = "Do you want to remove this device? This action cannot be undone.";
 "accountPage.revokeDeviceButton" = "Revoke";
 "accountPage.revokeDevicePlaceholder" = "Enter your password";
 "accountPage.deviceRevoked" = "Device revocation completed";
@@ -470,13 +470,13 @@
 "generatedMessage.invitationReceived" = "was invited to join the conversation.";
 "generatedMessage.invitationAccepted" = "joined the conversation.";
 "generatedMessage.youJoined" = "You joined the conversation.";
-"generatedMessage.contactBlocked" = "was kicked from the conversation.";
-"generatedMessage.contactUnblocked" = "rejoined the conversation.";
+"generatedMessage.contactBlocked" = "was blocked from the conversation.";
+"generatedMessage.contactUnblocked" = "was unblocked from the conversation.";
 "generatedMessage.outgoingCall" = "Outgoing call";
 "generatedMessage.missedOutgoingCall" = "Missed outgoing call";
 "generatedMessage.missedIncomingCall" = "Missed incoming call";
 "generatedMessage.liveLocationSharing" = "Live location sharing";
-"generatedMessage.contactLeftConversation" = "left the conversation";
+"generatedMessage.contactLeftConversation" = "left the conversation.";
 
 // General Settings
 "generalSettings.videoSettings" = "Video settings";
diff --git a/Ring/Ring/Services/DaemonService.swift b/Ring/Ring/Services/DaemonService.swift
index 8500e4bc767b32ca552e5fcc4ce4232135263947..ae1fba94f86dc68911a19bdb9e769cc4d6e3bfdd 100644
--- a/Ring/Ring/Services/DaemonService.swift
+++ b/Ring/Ring/Services/DaemonService.swift
@@ -23,7 +23,7 @@ import Foundation
 import SwiftyBeaver
 
 /**
- Errors that can be thrown when trying to start the daemon:
+ Errors that can be thrown when attempting to start the daemon:
 
  - DaemonAlreadyRunning: the daemon is already running.
  - InitializationFailure: the daemon failed to initialiaze.
@@ -36,7 +36,7 @@ enum StartDaemonError: Error {
 }
 
 /**
- Errors that can be thrown when trying to stop the daemon:
+ Errors that can be thrown when attempting to stop the daemon:
 
  - DaemonNotRunning: the daemon is not running and can not be stopped.
  */
diff --git a/compile-ios.sh b/compile-ios.sh
index 84b504de21d7c20f4892b1c9453d407738550837..b00852e5394dfb4c77c165936c3a0134205aeee0 100755
--- a/compile-ios.sh
+++ b/compile-ios.sh
@@ -51,7 +51,7 @@ IOS_TOP_DIR="$(pwd)"
 
 if [ -z "$DAEMON_DIR" ]; then
   DAEMON_DIR="$(pwd)/../daemon"
-  echo "DAEMON_DIR not provided trying to find it in $DAEMON_DIR"
+  echo "DAEMON_DIR not provided attempting to find it in $DAEMON_DIR"
 fi
 if [ ! -d "$DAEMON_DIR" ]; then
   echo 'Daemon not found.'
@@ -64,7 +64,7 @@ fi
 
 if [ ! $(which gas-preprocessor.pl) ]
 then
-  echo 'gas-preprocessor.pl not found. Trying to install...'
+  echo 'gas-preprocessor.pl not found. Attempting to install…'
   mkdir -p "$DAEMON_DIR/extras/tools/build/bin/"
   (curl -L https://github.com/libav/gas-preprocessor/raw/master/gas-preprocessor.pl \
     -o "$DAEMON_DIR/extras/tools/build/bin/gas-preprocessor.pl" \
@@ -196,8 +196,8 @@ then
   for f in $LIBFILES
   do
     libFile=${f##*/}
-    echo "Processing $libFile lib..."
-    #There is only 2 ARCH max... So let's make it simple
+    echo "Processing $libFile lib…"
+    #There is only 2 ARCH max… So let's make it simple
     lipo -create  "$IOS_TOP_DIR/DEPS/${ARCHS[0]}/lib/$libFile"  \
                   "$IOS_TOP_DIR/DEPS/${ARCHS[1]}/lib/$libFile" \
                   -output "$FAT_DIR/lib/$libFile"