diff --git a/README.md b/README.md
index e9d5ce03ccea3e222ddc53379c119a222687e413..61775b8221bf0c8350330861541a71be56dba8ad 100644
--- a/README.md
+++ b/README.md
@@ -77,7 +77,7 @@ cd jami-client-android/jami-android
 
 ### Troubleshoot
 
-Jami Android doesn't use the system's `pkg-config`; it builds its own version with custom parameters to support cross-compilation. However, after cleaning the project, `pkg-config` may not be rebuilt, which could result in falling back to the system's version, leading to errors when trying to locate shared libraries.
+Jami Android doesn't use the system's `pkg-config`; it builds its own version with custom parameters to support cross-compilation. However, after cleaning the project, `pkg-config` may not be rebuilt, which could result in falling back to the system's version, leading to errors when attempting to locate shared libraries.
 
 ```sh
 cd jami-client-android/daemon/extras/tools
diff --git a/compile.sh b/compile.sh
index 29378c8b302baab429a323cc33b84603031df81b..366e4aa27e1b6d5e0d929c23534def5ffc666b1c 100755
--- a/compile.sh
+++ b/compile.sh
@@ -29,7 +29,7 @@ export RELEASE
 
 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.'
diff --git a/jami-android/app/src/main/java/cx/ring/fragments/ConversationFragment.kt b/jami-android/app/src/main/java/cx/ring/fragments/ConversationFragment.kt
index 450fa1e511c0a91f82b225ef793802713801b568..4bcfdff5f507b00343572f50932b4e22f35c481b 100644
--- a/jami-android/app/src/main/java/cx/ring/fragments/ConversationFragment.kt
+++ b/jami-android/app/src/main/java/cx/ring/fragments/ConversationFragment.kt
@@ -553,7 +553,7 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa
         val c = context ?: return
         try {
             val photoFile = AndroidFileUtils.createImageFile(c)
-            Log.i(TAG, "takePicture: trying to save to $photoFile")
+            Log.i(TAG, "takePicture: attempting to save to $photoFile")
             val photoURI = ContentUri.getUriForFile(c, photoFile)
             val takePictureIntent =
                 Intent(MediaStore.ACTION_IMAGE_CAPTURE).putExtra(MediaStore.EXTRA_OUTPUT, photoURI)
@@ -589,7 +589,7 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa
         return op.observeOn(DeviceUtils.uiScheduler)
             .doFinally { setLoading(false) }
             .subscribe({}) { e ->
-                Log.e(TAG, "startFileSend: not able to create cache file", e)
+                Log.e(TAG, "startFileSend: unable to create cache file", e)
                 displayErrorToast(Error.INVALID_FILE)
             }
     }
@@ -828,7 +828,7 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa
                 sharedPreferences.edit().remove(KEY_PREFERENCE_CONVERSATION_LAST_READ).apply()
             }
         } catch (e: Exception) {
-            Log.e(TAG, "Can't load conversation preferences")
+            Log.e(TAG, "Unable to load conversation preferences")
         }
 
         var connection = locationServiceConnection
@@ -975,7 +975,7 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa
     override fun goToGroupCall(
         conversation: Conversation, contactUri: net.jami.model.Uri, hasVideo: Boolean
     ) {
-        // Try to find an existing call
+        // Attempt to find an existing call
         val conf = conversation.currentCall
 
         // If there is an existing call, go to it
diff --git a/jami-android/app/src/main/java/cx/ring/services/CameraService.kt b/jami-android/app/src/main/java/cx/ring/services/CameraService.kt
index 35d2fe4e8c30deade1784f517aed5d27c2277700..33c37582fa2118323f9ab32b53d741a0ef458d49 100644
--- a/jami-android/app/src/main/java/cx/ring/services/CameraService.kt
+++ b/jami-android/app/src/main/java/cx/ring/services/CameraService.kt
@@ -168,7 +168,7 @@ class CameraService internal constructor(c: Context) {
         Log.w(TAG, "setParameters() $camId $format $width $height $rate $rotation")
         val deviceParams = mNativeParams[camId]
         if (deviceParams == null) {
-            Log.w(TAG, "setParameters() can't find device")
+            Log.w(TAG, "setParameters() is unable to find device")
             return
         }
         var params = mParams[camId]
@@ -307,7 +307,7 @@ class CameraService internal constructor(c: Context) {
     fun init(): Completable {
         val resetCamera = false
         return if (manager == null)
-            Completable.error(IllegalStateException("Video manager not available"))
+            Completable.error(IllegalStateException("Video manager is unavailable"))
         else loadDevices(manager)
             .map { devs: VideoDevices ->
                 synchronized(addedDevices) {
@@ -427,7 +427,7 @@ class CameraService internal constructor(c: Context) {
                                         put(outputBuffer)
                                         rewind()
                                     }
-                                    Log.i(TAG, "Cache new codec data (SPS/PPS, ...)")
+                                    Log.i(TAG, "Cache new codec data (SPS/PPS, …)")
                                 }
                             } else {
                                 val isKeyFrame = info.flags and MediaCodec.BUFFER_FLAG_KEY_FRAME != 0
@@ -461,7 +461,7 @@ class CameraService internal constructor(c: Context) {
                             codec.releaseOutputBuffer(index, false)
                         }
                     } catch (e: IllegalStateException) {
-                        Log.e(TAG, "MediaCodec can't process buffer", e)
+                        Log.e(TAG, "MediaCodec is unable to process buffer", e)
                     }
                 }
 
@@ -475,7 +475,7 @@ class CameraService internal constructor(c: Context) {
             }
             codec.setCallback(callback, handler)
         } catch (e: Exception) {
-            Log.e(TAG, "Can't open codec", e)
+            Log.e(TAG, "Unable to open codec", e)
             if (codec != null) {
                 codec.release()
                 codec = null
@@ -495,7 +495,7 @@ class CameraService internal constructor(c: Context) {
                 putInt(MediaCodec.PARAMETER_KEY_REQUEST_SYNC_FRAME, 0)
             })
         } catch (e: IllegalStateException) {
-            Log.w(TAG, "Can't send keyframe request", e)
+            Log.w(TAG, "Unable to send keyframe request", e)
         }
     }
 
@@ -506,7 +506,7 @@ class CameraService internal constructor(c: Context) {
                 putInt(MediaCodec.PARAMETER_KEY_VIDEO_BITRATE, bitrate * 1024)
             })
         } catch (e: IllegalStateException) {
-            Log.w(TAG, "Can't set bitrate", e)
+            Log.w(TAG, "Unable to set bitrate", e)
         }
     }
 
@@ -544,7 +544,7 @@ class CameraService internal constructor(c: Context) {
                 if (r.first != null) break
             }
             if (r == null ) {
-                Log.e(TAG, "createVirtualDisplay failed, can't open encoder")
+                Log.e(TAG, "createVirtualDisplay failed, unable to open encoder")
                 return null
             }
         }
@@ -829,7 +829,7 @@ class CameraService internal constructor(c: Context) {
             p.orientation = cc.get(CameraCharacteristics.SENSOR_ORIENTATION)!!
             p.facing = cc.get(CameraCharacteristics.LENS_FACING)!!
         } catch (e: Exception) {
-            Log.e(TAG, "An error occurred getting camera info", e)
+            Log.e(TAG, "Error while getting the camera info", e)
         }
         return p
     }
@@ -917,12 +917,12 @@ class CameraService internal constructor(c: Context) {
                                 Log.w(TAG, "FEATURE_IntraRefresh: " + codecCaps.isFeatureSupported(CodecCapabilities.FEATURE_IntraRefresh))
                             }
                         } catch (e: Exception) {
-                            Log.w(TAG, "Can't query codec info", e)
+                            Log.w(TAG, "Unable to query codec info", e)
                         }
                     }
                 }
             } catch (e: Exception) {
-                Log.w(TAG, "Can't query codec info", e)
+                Log.w(TAG, "Unable to query codec info", e)
             }
         }
 
@@ -958,7 +958,7 @@ class CameraService internal constructor(c: Context) {
                 bigEnough.size > 0 -> Collections.min(bigEnough, CompareSizesByArea())
                 notBigEnough.size > 0 -> Collections.max(notBigEnough, CompareSizesByArea())
                 else -> {
-                    Log.e(TAG, "Couldn't find any suitable preview size")
+                    Log.e(TAG, "Unable to find any suitable preview size")
                     choices[0]
                 }
             }
diff --git a/jami-android/app/src/main/java/cx/ring/services/ContactServiceImpl.kt b/jami-android/app/src/main/java/cx/ring/services/ContactServiceImpl.kt
index 8762856e097c5a896e3d0f2de9a90168e06f7605..3a299dd00f95319586d4350243bcae40fc64ec7b 100644
--- a/jami-android/app/src/main/java/cx/ring/services/ContactServiceImpl.kt
+++ b/jami-android/app/src/main/java/cx/ring/services/ContactServiceImpl.kt
@@ -140,7 +140,7 @@ class ContactServiceImpl(val mContext: Context, preferenceService: PreferencesSe
             while (it.moveToNext()) {
                 val contactId = it.getLong(indexId)
                 val contact = cache[contactId]
-                if (contact == null) Log.w(TAG, "Can't find contact with ID $contactId") else {
+                if (contact == null) Log.w(TAG, "Unable to find contact with ID $contactId") else {
                     contact.setSystemContactInfo(
                         contactId,
                         it.getString(indexKey),
@@ -198,7 +198,7 @@ class ContactServiceImpl(val mContext: Context, preferenceService: PreferencesSe
             Log.d(TAG, "findContactByIdFromSystem: Error while searching for contact id=$contactId", e)
         }
         if (contact == null) {
-            Log.d(TAG, "findContactByIdFromSystem: findById $contactId can't find contact.")
+            Log.d(TAG, "findContactByIdFromSystem: findById $contactId is unable to find contact.")
         }
         return contact
     }
@@ -280,7 +280,7 @@ class ContactServiceImpl(val mContext: Context, preferenceService: PreferencesSe
                 null
             )
             if (result == null) {
-                Log.d(TAG, "findContactBySipNumberFromSystem: $number can't find contact.")
+                Log.d(TAG, "findContactBySipNumberFromSystem: $number is unable to find contact.")
                 return Contact.buildSIP(net.jami.model.Uri.fromString(number))
             }
             val indexId = result.getColumnIndex(ContactsContract.RawContacts.CONTACT_ID)
@@ -319,7 +319,7 @@ class ContactServiceImpl(val mContext: Context, preferenceService: PreferencesSe
             val uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number))
             val result = contentResolver.query(uri, PHONELOOKUP_PROJECTION, null, null, null)
             if (result == null) {
-                Log.d(TAG, "findContactByNumberFromSystem: $number can't find contact.")
+                Log.d(TAG, "findContactByNumberFromSystem: $number is unable to find contact.")
                 return findContactBySipNumberFromSystem(number)
             }
             if (result.moveToFirst()) {
@@ -342,7 +342,7 @@ class ContactServiceImpl(val mContext: Context, preferenceService: PreferencesSe
             Log.d(TAG, "findContactByNumber: Error while searching for contact number=$number", e)
         }
         if (contact == null) {
-            Log.d(TAG, "findContactByNumberFromSystem: $number can't find contact.")
+            Log.d(TAG, "findContactByNumberFromSystem: $number is unable to find contact.")
             contact = findContactBySipNumberFromSystem(number)
         }
         if (contact != null) contact.isFromSystem = true
diff --git a/jami-android/app/src/main/java/cx/ring/tv/conversation/TvConversationFragment.kt b/jami-android/app/src/main/java/cx/ring/tv/conversation/TvConversationFragment.kt
index 05ccb25683054c0c8dbd1ece807ea6d68da67580..28c30754ce44c249bb323b34d55e954284e8ad84 100644
--- a/jami-android/app/src/main/java/cx/ring/tv/conversation/TvConversationFragment.kt
+++ b/jami-android/app/src/main/java/cx/ring/tv/conversation/TvConversationFragment.kt
@@ -469,7 +469,7 @@ class TvConversationFragment : BaseSupportFragment<ConversationPresenter, Conver
         }
     }
 
-    // Try to start the recorder with a given encoder and output format.
+    // Attempt to start the recorder with a given encoder and output format.
     private fun startRecorder(encoder: Int, outputFormat: Int): Boolean {
         try {
             val mediaRecorder =
@@ -528,7 +528,7 @@ class TvConversationFragment : BaseSupportFragment<ConversationPresenter, Conver
     private fun startFileSend(op: Completable) {
         op.observeOn(AndroidSchedulers.mainThread())
             .subscribe({}) { e: Throwable? ->
-                Log.e(TAG, "startFileSend: not able to create cache file", e)
+                Log.e(TAG, "startFileSend: unable to create cache file", e)
                 displayErrorToast(Error.INVALID_FILE)
             }
     }
@@ -690,7 +690,7 @@ class TvConversationFragment : BaseSupportFragment<ConversationPresenter, Conver
         contactUri: net.jami.model.Uri,
         hasVideo: Boolean
     ) {
-        // Try to find an existing call
+        // Attempt to find an existing call
         val conf = conversation.currentCall
 
         // If there is an existing call, go to it
@@ -810,7 +810,7 @@ class TvConversationFragment : BaseSupportFragment<ConversationPresenter, Conver
     private fun startRecognizer() {
 
         if (!SpeechRecognizer.isRecognitionAvailable(requireContext())) {
-            Log.w(TAG, "Speech recognition not available.")
+            Log.w(TAG, "Speech recognition unavailable.")
             Toast.makeText(
                 requireContext(),
                 R.string.speech_recogniton_unavailable,
diff --git a/jami-android/app/src/main/java/cx/ring/utils/AndroidFileUtils.kt b/jami-android/app/src/main/java/cx/ring/utils/AndroidFileUtils.kt
index 88067719c52a8800a39fcf6cc5beb1a2961ad527..ee4b12ec550aeadd1f6eb58ae3db3f7431fdd9c8 100644
--- a/jami-android/app/src/main/java/cx/ring/utils/AndroidFileUtils.kt
+++ b/jami-android/app/src/main/java/cx/ring/utils/AndroidFileUtils.kt
@@ -63,7 +63,7 @@ object AndroidFileUtils {
     }
 
     /**
-     * Copy assets from a folder recursively ( files and subfolder)
+     * Copy assets from a folder recursively (files and subfolders)
      * @param assetManager Asset Manager ( you can get it from Context.getAssets() )
      * @param fromAssetPath path to the assets folder we want to copy
      * @param toPath a directory in internal storage
@@ -111,7 +111,7 @@ object AndroidFileUtils {
                 return true
             }
         } catch (e: IOException) {
-            Log.e(TAG, "Error while reading an asset ", e)
+            Log.e(TAG, "Error while reading asset ", e)
         }
         return false
     }
@@ -152,7 +152,7 @@ object AndroidFileUtils {
             }
         }
     } catch (e: IOException) {
-        Log.e(TAG, "Error while copying asset", e)
+        Log.e(TAG, "Error while copying asset ", e)
         false
     }
 
@@ -327,11 +327,11 @@ object AndroidFileUtils {
     }.subscribeOn(Schedulers.io())
 
     /**
-     * Copies a file to a predefined Uri destination
+     * Copies a file to a predefined URI destination
      * Uses the underlying copyFile(InputStream,OutputStream)
      * @param cr content resolver
      * @param input the file we want to copy
-     * @param outUri the uri destination
+     * @param outUri the URI destination
      * @return success value
      */
     fun copyFileToUri(cr: ContentResolver, input: File?, outUri: Uri): Completable = Completable.fromAction {
@@ -440,7 +440,7 @@ object AndroidFileUtils {
         return try {
             StatFs(path).availableBytes
         } catch (e: IllegalArgumentException) {
-            Log.e(TAG, "getSpaceLeft: not able to access path on $path")
+            Log.e(TAG, "getSpaceLeft: unable to access path on $path")
             -1L
         }
     }
@@ -518,7 +518,7 @@ object AndroidFileUtils {
         val fileUri: Uri = try {
             ContentUri.getUriForFile(c, path, displayName)
         } catch (e: IllegalArgumentException) {
-            Log.e("File Selector", "The selected file can't be shared: " + path.name)
+            Log.e("File Selector", "Unable to share the selected file: " + path.name)
             null
         } ?: return
         shareFile(c, fileUri, displayName)
@@ -542,7 +542,7 @@ object AndroidFileUtils {
         try {
             fileUri = ContentUri.getUriForFile(c, path, displayName)
         } catch (e: IllegalArgumentException) {
-            Log.e(TAG, "The selected file can't be shared: " + path.name)
+            Log.e(TAG, "Unable to share the selected file: " + path.name)
         }
         if (fileUri != null)
             openFile(c, fileUri, displayName)
diff --git a/jami-android/app/src/main/java/cx/ring/viewmodel/JamiIdViewModel.kt b/jami-android/app/src/main/java/cx/ring/viewmodel/JamiIdViewModel.kt
index 59595218a2caf93c435f4b6263ce8057b2486c50..039adea4f65797cfc37f4e2553f14cf1d05e4b12 100644
--- a/jami-android/app/src/main/java/cx/ring/viewmodel/JamiIdViewModel.kt
+++ b/jami-android/app/src/main/java/cx/ring/viewmodel/JamiIdViewModel.kt
@@ -43,7 +43,7 @@ enum class JamiIdStatus {
     EDITING_USERNAME_LOADING, // Looking if the typed username is available / while registering.
     EDITING_USERNAME_NOT_AVAILABLE, // The typed username is not available
     EDITING_USERNAME_AVAILABLE, // The typed username is available
-    USERNAME_DEFINED, // The username is defined (and can't be edited anymore)
+    USERNAME_DEFINED, // The username is defined (and is unable to be edited anymore)
 }
 
 data class JamiIdUiState(
@@ -76,7 +76,7 @@ class JamiIdViewModel @Inject constructor(
                 .switchMap { account -> usernameAvailabilitySubject.map { Pair(account, it) } }
                 .debounce(500, TimeUnit.MILLISECONDS)
                 .switchMapSingle { (account, username) ->
-                    Log.i(TAG, "Checking if '$username' is available as new username...")
+                    Log.i(TAG, "Checking if '$username' is available as new username…")
                     accountService.findRegistrationByName(
                         account.accountId, "", username
                     )
diff --git a/jami-android/app/src/main/java/cx/ring/views/twopane/TwoPaneLayout.kt b/jami-android/app/src/main/java/cx/ring/views/twopane/TwoPaneLayout.kt
index 50a9588766fcdf2649a47372eaee318ccfd7409f..ccefbc684fb2175cf343a901b9d7796b598fae3c 100644
--- a/jami-android/app/src/main/java/cx/ring/views/twopane/TwoPaneLayout.kt
+++ b/jami-android/app/src/main/java/cx/ring/views/twopane/TwoPaneLayout.kt
@@ -72,7 +72,7 @@ class TwoPaneLayout @JvmOverloads constructor(
      * is not taken into account in this method. This method is typically used to determine
      * whether the layout is showing two-pane or single-pane.
      *
-     * @return true if both panes cannot fit side-by-side, and detail pane in this layout has
+     * @return true if both panes are unable to fit side-by-side, and detail pane in this layout has
      * the capability to slide back and forth.
      */
     /**
@@ -279,9 +279,9 @@ class TwoPaneLayout @JvmOverloads constructor(
             }
         }
         // Second pass. Resolve weight.
-        // Child views overlap when the combined width of child views cannot fit into the
-        // available width. Each of child views is sized to fill all available space. If there is
-        // no overlap, distribute the extra width proportionally to weight.
+        // Child views overlap when the combined width of child views are unable to fit into
+        // the available width. Each of child views is sized to fill all available space. If
+        // there is no overlap, distribute the extra width proportionally to weight.
         if (canSlide || weightSum > 0) {
             for (i in 0 until childCount) {
                 val child = getChildAt(i)
@@ -294,8 +294,8 @@ class TwoPaneLayout @JvmOverloads constructor(
                 var newWidth = measuredWidth
                 var childWidthSpec = 0
                 if (canSlide) {
-                    // Child view consumes available space if the combined width cannot fit into
-                    // the layout available width.
+                    // Child view consumes available space if the combined width is unable to
+                    // fit into the layout available width.
                     val horizontalMargin = lp.leftMargin + lp.rightMargin
                     newWidth = widthAvailable - horizontalMargin
                     childWidthSpec = MeasureSpec.makeMeasureSpec(newWidth, MeasureSpec.EXACTLY)
@@ -338,7 +338,7 @@ class TwoPaneLayout @JvmOverloads constructor(
                 val splitView = if (i == 0) leftSplitBounds else rightSplitBounds
                 val lp = child.layoutParams as LayoutParams
 
-                // If child view cannot fit in the separating view, expand the child view to fill
+                // If child view is unable to fit in the separating view, expand the child view to fill
                 // available space.
                 val horizontalMargin = lp.leftMargin + lp.rightMargin
                 val childHeightSpec = MeasureSpec.makeMeasureSpec(child.measuredHeight, MeasureSpec.EXACTLY)
@@ -616,7 +616,7 @@ class TwoPaneLayout @JvmOverloads constructor(
             for (i in 0 until childCount) {
                 val child = getChildAt(i)
                 if (child.visibility == VISIBLE) {
-                    // Force importance to "yes" since we can't read the value.
+                    // Force importance to "yes" since the value is unable to be read.
                     child.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES)
                     info.addChild(child)
                 }
diff --git a/jami-android/app/src/main/res/layout/item_members_bottomsheet.xml b/jami-android/app/src/main/res/layout/item_members_bottomsheet.xml
index 215ae4ce213c4c592e26f5c5c5c4ca762facb161..290325b1f9347fc701c35f90edbd987fd521d396 100644
--- a/jami-android/app/src/main/res/layout/item_members_bottomsheet.xml
+++ b/jami-android/app/src/main/res/layout/item_members_bottomsheet.xml
@@ -24,6 +24,6 @@
         android:paddingRight="17dp"
         android:paddingLeft="17dp"
         android:fontFamily="@font/ubuntu_regular"
-        tools:text="Start Audio Call" />
+        tools:text="Start audio call" />
 
 </RelativeLayout>
diff --git a/jami-android/app/src/main/res/values/strings.xml b/jami-android/app/src/main/res/values/strings.xml
index fca9a535aad03bfa225eb221cc4243968bad1743..51f3edb37ae31160d566e78e10afb5ee0058d462 100644
--- a/jami-android/app/src/main/res/values/strings.xml
+++ b/jami-android/app/src/main/res/values/strings.xml
@@ -358,11 +358,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
     <string name="conversation_type_contact">Jami contact</string>
     <string name="conversation_type_private">Private</string>
     <string name="conversation_type_group">Group</string>
-    <string name="conversation_contact_invited">%1$s was invited</string>
-    <string name="conversation_contact_added">%1$s joined</string>
-    <string name="conversation_contact_left">%1$s left</string>
-    <string name="conversation_contact_blocked">%1$s was blocked</string>
-    <string name="conversation_contact_unblocked">%1$s was unblocked</string>
+    <string name="conversation_contact_invited">%1$s was invited to join the conversation.</string>
+    <string name="conversation_contact_added">%1$s has joined the conversation.</string>
+    <string name="conversation_contact_left">%1$s has left the conversation.</string>
+    <string name="conversation_contact_blocked">%1$s was blocked from the conversation.</string>
+    <string name="conversation_contact_unblocked">%1$s was unblocked from the conversation.</string>
     <string name="conversation_search_hint">Search conversation</string>
 
     <string name="audio_recorder_error">Audio recorder app was not found.</string>
diff --git a/jami-android/app/src/main/res/values/strings_account.xml b/jami-android/app/src/main/res/values/strings_account.xml
index b4f4a8d6b42faa34c1d125fd2c78aec12cf244e9..011a7ae61cd3f6358ec63e6189ca8e624b5ce19b 100644
--- a/jami-android/app/src/main/res/values/strings_account.xml
+++ b/jami-android/app/src/main/res/values/strings_account.xml
@@ -82,7 +82,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
     <!-- Basic Details -->
     <string name="account_preferences_basic_tab">General</string>
     <string name="account_basic_category">Basic Settings</string>
-    <string name="account_alias_label">Account name</string>
+    <string name="account_alias_label">Display name</string>
     <string name="account_hostname_label">Hostname</string>
     <string name="account_bootstrap_label">Bootstrap</string>
     <string name="account_name_server_label">Name server</string>
@@ -123,8 +123,8 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
     <string name="account_registration_exp_label">Registration Expire</string>
     <string name="account_local_interface_label">Local Interface</string>
     <string name="account_local_port_label">Local Port</string>
-    <string name="account_stun_enable_label">Use Stun</string>
-    <string name="account_stun_server_label">Stun Server</string>
+    <string name="account_stun_enable_label">Use STUN</string>
+    <string name="account_stun_server_label">STUN server</string>
     <string name="account_accept_files">Accept incoming files automatically</string>
     <string name="account_conversation_settings_title">Conversation settings</string>
     <string name="account_accept_files_max_size">Maximum file size to accept automatically</string>
@@ -173,21 +173,21 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
 
     <!-- TLS Details -->
     <string name="account_tls_transport_switch_label">Use TLS Transport</string>
-    <string name="account_tls_port_label">TLS Listener Port</string>
-    <string name="account_tls_certificate_list_label">Certification Authorities</string>
-    <string name="account_tls_certificate_file_label">Certificate File</string>
-    <string name="account_tls_private_key_file_label">Private Key File</string>
-    <string name="account_tls_password_label">Private Key Password</string>
-    <string name="account_tls_method_label">TLS Method</string>
-    <string name="account_tls_ciphers_label">TLS Ciphers</string>
-    <string name="account_tls_server_name_label">Server Name</string>
-    <string name="account_tls_verify_server_label">Verify Server</string>
-    <string name="account_tls_verify_client_label">Verify Client</string>
-    <string name="account_require_client_certificate_label">TLS Require Client Certificate</string>
-    <string name="account_tls_negotiation_timeout_sec">Negotiation Timeout (sec)</string>
+    <string name="account_tls_port_label">TLS listener port</string>
+    <string name="account_tls_certificate_list_label">Certification authorities</string>
+    <string name="account_tls_certificate_file_label">Certificate file</string>
+    <string name="account_tls_private_key_file_label">Private key file</string>
+    <string name="account_tls_password_label">Private key password</string>
+    <string name="account_tls_method_label">TLS method</string>
+    <string name="account_tls_ciphers_label">TLS ciphers</string>
+    <string name="account_tls_server_name_label">Server name</string>
+    <string name="account_tls_verify_server_label">Verify server</string>
+    <string name="account_tls_verify_client_label">Verify client</string>
+    <string name="account_require_client_certificate_label">TLS require client certificate</string>
+    <string name="account_tls_negotiation_timeout_sec">Negotiation timeout (sec)</string>
     <string name="account_rtp_max_port">Maximum</string>
     <string name="account_rtp_min_port">Minimum</string>
-    <string name="account_rtp_port_range">Audio RTP Port Range</string>
+    <string name="account_rtp_port_range">Audio RTP port range</string>
 
     <!-- restore/backup -->
     <string name="account_new_device_password">Enter main password to unlock account</string>
@@ -243,16 +243,16 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
     <string name="account_link_device">Connect from another device</string>
     <string name="account_link_button">Connect from network</string>
     <string name="account_link_archive_button">Connect from backup</string>
-    <string name="account_link_prompt_pin">Enter PIN</string>
+    <string name="account_link_prompt_pin">Enter PIN code</string>
     <string name="account_new_button">Create a Jami account</string>
     <string name="account_link_export_button">Link a new device</string>
     <string name="account_link_show_button">Show %d more linked device</string>
     <string name="account_link_hide_button">Hide linked device</string>
-    <string name="account_link_export_info">To use this account on other devices, you must first expose it on Jami. This will generate a PIN code that you must enter on the new device to set up the account. The PIN will expire in 10 minutes.</string>
-    <string name="account_start_export_button">Generate PIN</string>
+    <string name="account_link_export_info">To use this account on other devices, you must first expose it on Jami. This will generate a PIN code that you must enter on the new device to set up the account. The PIN code will expire in 10 minutes.</string>
+    <string name="account_start_export_button">Generate PIN code</string>
     <string name="account_end_export_button">close</string>
-    <string name="account_end_export_infos">Your PIN is:\n\n%%\n\nTo complete the process, you need to open Jami on the new device. Create a new account with “Link this device to an account”. The PIN will expire in 10 minutes.</string>
-    <string name="account_link_export_info_light">To use this account on other devices, you must first expose it on Jami. This will generate a PIN code that you must enter on the new device to set up the account. The PIN will expire in 10 minutes.</string>
+    <string name="account_end_export_infos">Your PIN code is:\n\n%%\n\nTo complete the process, you need to open Jami on the new device. Create a new account with “Link this device to an account”. The PIN code will expire in 10 minutes.</string>
+    <string name="account_link_export_info_light">To use this account on other devices, you must first expose it on Jami. This will generate a PIN code that you must enter on the new device to set up the account. The PIN code will expire in 10 minutes.</string>
     <string name="account_export_title">Link account to other devices</string>
     <string name="account_connect_server_button">Connect to management server</string>
     <string name="account_connect_button">Connect</string>
@@ -266,10 +266,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
 
     <!-- Name registration -->
     <string name="error_username_empty">Enter a username</string>
-    <string name="no_registered_name_for_account">No registered name</string>
-    <string name="username_available">Username available !</string>
-    <string name="register_name">Register Name</string>
-    <string name="trying_to_register_name">Trying to register name</string>
+    <string name="no_registered_name_for_account">No registered username</string>
+    <string name="username_available">Username available!</string>
+    <string name="register_name">Register username</string>
+    <string name="trying_to_register_name">Attempting to register username</string>
     <string name="registered_username">Registered username</string>
     <string name="register_username">Register public username</string>
     <string name="register_recommended">Recommended</string>
@@ -298,11 +298,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
     <string name="account_revoke_device_hint">Enter password to confirm</string>
     <string name="enter_password">Enter password</string>
     <string name="revoke_device_title">Revoke device</string>
-    <string name="revoke_device_message">Do you really want to revoke %1$s?</string>
+    <string name="revoke_device_message">Do you want to revoke %1$s?</string>
     <string name="revoke_device_wait_title">Please wait…</string>
     <string name="revoke_device_wait_message">Revoking device</string>
     <string name="rename_device_title">Rename this device</string>
-    <string name="rename_device_message">Choose a new name to identify this device in your Jami account</string>
+    <string name="rename_device_message">Enter device name to identify this device in your Jami account</string>
     <string name="rename_device_button">Rename device</string>
     <string name="account_rename_device_hint">Choose new device name</string>
     <string name="account_device_name_empty">Device name cannot be empty.</string>
@@ -310,24 +310,24 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
     <string name="account_disabled_indicator">disabled</string>
 
     <!-- Link a new device -->
-    <string name="account_link_prompt_pin_manually">Enter PIN manually</string>
+    <string name="account_link_prompt_pin_manually">Enter PIN code manually</string>
     <string name="qr_invalid">Not a Jami Authentication QR code</string>
-    <string name="content_description_checkbox">Your Qr Code is valid</string>
+    <string name="content_description_checkbox">Your QR code is valid</string>
     <string name="error_format_not_supported">This format is not supported.</string>
-    <string name="account_link_info">On the new Jami app, scan the QR code or enter manually the PIN.</string>
+    <string name="account_link_info">On the new Jami app, scan the QR code or enter manually the PIN code.</string>
     <string name="account_link_device_title">Link a new device</string>
     <string name="account_link_password">This account is password-encrypted, enter the password to generate the PIN code.</string>
     <string name="account_link_generate_button">Generate</string>
     <string name="account_link_time_valid">The PIN code will be invalid: %1$s.</string>
-    <string name="account_link_device_info">Choose “Link a new device” from the other Jami app to show the QR code or PIN</string>
+    <string name="account_link_device_info">Choose “Link a new device” from the other Jami app to show the QR code or PIN code.</string>
     <string name="account_generate_export_device">On the other device</string>
     <string name="account_generate_export_info">Install and launch Jami, select “Import from an other device” and scan the QR code.</string>
-    <string name="content_description_qr_generated">Your Qr Code</string>
-    <string name="account_generate_export_invalid">The PIN is no longer valid.\nEnter the password and generate another one to link the new device.</string>
-    <string name="account_generate_export_invalid_two">The PIN is no longer valid.\nGenerate another one to link the new device.</string>
+    <string name="content_description_qr_generated">Account QR code</string>
+    <string name="account_generate_export_invalid">The PIN code is no longer valid.\nEnter the password and generate another one to link the new device.</string>
+    <string name="account_generate_export_invalid_two">The PIN code is no longer valid.\nGenerate another one to link the new device.</string>
     <string name="help_pin_info">Fill if the account is password-encrypted</string>
-    <string name="connect_device_scanqr">Scan QR</string>
-    <string name="connect_device_enterPIN">Or enter PIN</string>
+    <string name="connect_device_scanqr">Scan QR code</string>
+    <string name="connect_device_enterPIN">Or enter PIN code</string>
     <string name="account_link_device_button">Connect</string>
 
     <!-- Biometry -->
diff --git a/jami-android/libjamiclient/src/main/kotlin/net/jami/model/Conversation.kt b/jami-android/libjamiclient/src/main/kotlin/net/jami/model/Conversation.kt
index fd62ee53dd0d368f7bde546303ce2ef7230cedd5..ffb22ab7a011b74b1d27e2ee4a1f673e72f28f5b 100644
--- a/jami-android/libjamiclient/src/main/kotlin/net/jami/model/Conversation.kt
+++ b/jami-android/libjamiclient/src/main/kotlin/net/jami/model/Conversation.kt
@@ -303,7 +303,7 @@ class Conversation : ConversationHistory {
         if (interaction.contact == null) {
             if (contacts.size == 1) interaction.contact = contacts[0] else {
                 if (interaction.author == null) {
-                    Log.e(TAG, "Can't set interaction properties: no author for type:" + interaction.type + " id:" + interaction.id + " status:" + interaction.status)
+                    Log.e(TAG, "Unable to set interaction properties: no author for type:" + interaction.type + " id:" + interaction.id + " status:" + interaction.status)
                 } else {
                     interaction.contact = findContact(Uri.fromString(interaction.author!!))
                 }
@@ -443,7 +443,7 @@ class Conversation : ConversationHistory {
                 e.status = element.status
                 updatedElementSubject.onNext(Pair(e, ElementStatus.UPDATE))
             } else {
-                Log.e(TAG, "Can't find swarm message to update: ${element.messageId}")
+                Log.e(TAG, "Unable to find swarm message to update: ${element.messageId}")
             }
         } else {
             setInteractionProperties(element)
@@ -456,7 +456,7 @@ class Conversation : ConversationHistory {
                     return
                 }
             }
-            Log.e(TAG, "Can't find message to update: ${element.id}")
+            Log.e(TAG, "Unable to find message to update: ${element.id}")
         }
     }
 
@@ -680,7 +680,7 @@ class Conversation : ConversationHistory {
                 lastEvent = interaction
         }
         if (!added) {
-            Log.e(TAG, "Can't attach interaction $id with parent ${interaction.parentId}")
+            Log.e(TAG, "Unable to attach interaction $id with parent ${interaction.parentId}")
         }
         mPendingMessages.remove(id)?.onSuccess(interaction)
     }
@@ -746,7 +746,7 @@ class Conversation : ConversationHistory {
     /** Legacy means that user is consulting a contact */
     fun isLegacy() = mode.blockingFirst() == Mode.Legacy
 
-    /** Syncing means that Jami is trying to download conversation from peer */
+    /** Syncing means that Jami is attempting to download conversation from peer */
     fun isSyncing() = mode.blockingFirst() == Mode.Syncing
 
     /** Tells if the conversation is a swarm:group. No matter how many participants. */
diff --git a/jami-android/libjamiclient/src/main/kotlin/net/jami/services/AccountService.kt b/jami-android/libjamiclient/src/main/kotlin/net/jami/services/AccountService.kt
index 352e62201f4760a6decc775cc5dd09f5c4dbd5fb..fcdad25a4afd3214c8ffcc6c65820e60c6f71105 100644
--- a/jami-android/libjamiclient/src/main/kotlin/net/jami/services/AccountService.kt
+++ b/jami-android/libjamiclient/src/main/kotlin/net/jami/services/AccountService.kt
@@ -370,7 +370,7 @@ class AccountService(
     fun addAccount(map: Map<String, String>): Observable<Account> =
         Single.fromCallable {
             JamiService.addAccount(StringMap.toSwig(map)).apply {
-            if (isEmpty()) throw RuntimeException("Can't create account.") }
+            if (isEmpty()) throw RuntimeException("Unable to create account.") }
         }
         .flatMapObservable { accountId ->
             Observable.merge(observableAccountList.mapOptional { Optional.ofNullable(it.firstOrNull { a -> a.accountId == accountId }) },
@@ -566,7 +566,7 @@ class AccountService(
      */
     fun setAccountsActive(active: Boolean) {
         mExecutor.execute {
-            Log.i(TAG, "setAccountsActive() running... $active")
+            Log.i(TAG, "setAccountsActive() running… $active")
             for (a in mAccountList) {
                 // If the proxy is enabled we can considered the account
                 // as always active
@@ -680,7 +680,7 @@ class AccountService(
     fun renameDevice(accountId: String, newName: String) {
         val account = getAccount(accountId)
         mExecutor.execute {
-            Log.i(TAG, "renameDevice() thread running... $newName")
+            Log.i(TAG, "renameDevice() thread running… $newName")
             val details = JamiService.getAccountDetails(accountId)
             details[ConfigKey.ACCOUNT_DEVICE_NAME.key] = newName
             JamiService.setAccountDetails(accountId, details)
@@ -692,7 +692,7 @@ class AccountService(
     fun exportToFile(accountId: String, absolutePath: String, scheme: String, password: String): Completable =
         Completable.fromAction {
             Log.w(TAG, "exportToFile() $accountId $absolutePath $scheme")
-            require(JamiService.exportToFile(accountId, absolutePath, scheme, password)) { "Can't export archive" }
+            require(JamiService.exportToFile(accountId, absolutePath, scheme, password)) { "Unable to export archive" }
         }.subscribeOn(scheduler)
 
     /**
@@ -701,7 +701,7 @@ class AccountService(
      */
     fun setAccountPassword(accountId: String, oldPassword: String, newPassword: String): Completable =
         Completable.fromAction {
-            require(JamiService.changeAccountPassword(accountId, oldPassword, newPassword)) { "Can't change password" }
+            require(JamiService.changeAccountPassword(accountId, oldPassword, newPassword)) { "Unable to change password" }
         }.subscribeOn(scheduler)
 
     fun getAccountPasswordKey(accountId: String, password: String): Single<ByteArray> =
@@ -738,7 +738,7 @@ class AccountService(
     ): Map<String, String>? {
         try {
             return mExecutor.submit<HashMap<String, String>> {
-                Log.i(TAG, "validateCertificatePath() running...")
+                Log.i(TAG, "validateCertificatePath() running…")
                 JamiService.validateCertificatePath(accountID, certificatePath, privateKeyPath, privateKeyPass, "").toNative()
             }.get()
         } catch (e: Exception) {
@@ -750,7 +750,7 @@ class AccountService(
     fun validateCertificate(accountId: String, certificate: String): Map<String, String>? {
         try {
             return mExecutor.submit<HashMap<String, String>> {
-                Log.i(TAG, "validateCertificate() running...")
+                Log.i(TAG, "validateCertificate() running…")
                 JamiService.validateCertificate(accountId, certificate).toNative()
             }.get()
         } catch (e: Exception) {
@@ -762,7 +762,7 @@ class AccountService(
     fun getCertificateDetailsPath(accountId: String, certificatePath: String): Map<String, String>? {
         try {
             return mExecutor.submit<HashMap<String, String>> {
-                Log.i(TAG, "getCertificateDetailsPath() running...")
+                Log.i(TAG, "getCertificateDetailsPath() running…")
                 JamiService.getCertificateDetails(accountId, certificatePath).toNative()
             }.get()
         } catch (e: Exception) {
@@ -774,7 +774,7 @@ class AccountService(
     fun getCertificateDetails(accountId: String, certificateRaw: String): Map<String, String>? {
         try {
             return mExecutor.submit<HashMap<String, String>> {
-                Log.i(TAG, "getCertificateDetails() running...")
+                Log.i(TAG, "getCertificateDetails() running…")
                 JamiService.getCertificateDetails(accountId, certificateRaw).toNative()
             }.get()
         } catch (e: Exception) {
@@ -798,7 +798,7 @@ class AccountService(
     fun getCredentials(accountId: String): List<Map<String, String>>? {
         try {
             return mExecutor.submit<ArrayList<Map<String, String>>> {
-                Log.i(TAG, "getCredentials() running...")
+                Log.i(TAG, "getCredentials() running…")
                 JamiService.getCredentials(accountId).toNative()
             }.get()
         } catch (e: Exception) {
@@ -828,7 +828,7 @@ class AccountService(
      */
     fun registerName(account: Account, name: String, scheme: String, password: String) {
         if (account.registeringUsername) {
-            Log.w(TAG, "Already trying to register username")
+            Log.w(TAG, "Already attempting to register username")
             return
         }
         account.registeringUsername = true
@@ -1161,7 +1161,7 @@ class AccountService(
         Log.d(TAG, "nameRegistrationEnded: $accountId, $state, $name")
         val acc = getAccount(accountId)
         if (acc == null) {
-            Log.w(TAG, "Can't find account for name registration callback")
+            Log.w(TAG, "Unable to find account for name registration callback")
             return
         }
         acc.registeringUsername = false
@@ -1455,7 +1455,7 @@ class AccountService(
         Log.w(TAG, "ConversationCallback: conversationReady $accountId/$conversationId")
         val account = getAccount(accountId)
         if (account == null) {
-            Log.w(TAG, "conversationReady: can't find account")
+            Log.w(TAG, "conversationReady: unable to find account")
             return
         }
         val info = JamiService.conversationInfos(accountId, conversationId).toNativeFromUtf8()
@@ -1497,7 +1497,7 @@ class AccountService(
     fun conversationRemoved(accountId: String, conversationId: String) {
         val account = getAccount(accountId)
         if (account == null) {
-            Log.w(TAG, "conversationRemoved: can't find account")
+            Log.w(TAG, "conversationRemoved: unable to find account")
             return
         }
         account.removeSwarm(conversationId)
@@ -1512,7 +1512,7 @@ class AccountService(
         Log.w(TAG, "ConversationCallback: conversationRequestReceived $accountId/$conversationId ${metadata.size}")
         val account = getAccount(accountId)
         if (account == null || conversationId.isEmpty()) {
-            Log.w(TAG, "conversationRequestReceived: can't find account")
+            Log.w(TAG, "conversationRequestReceived: unable to find account")
             return
         }
         val from = Uri.fromId(metadata["from"]!!)
diff --git a/jami-android/libjamiclient/src/main/kotlin/net/jami/services/CallService.kt b/jami-android/libjamiclient/src/main/kotlin/net/jami/services/CallService.kt
index 4c5a843577c00fd543287c2ffe94408f5b1b4a37..d60060fa9fa7a07d2510571eb588e56655dbb3df 100644
--- a/jami-android/libjamiclient/src/main/kotlin/net/jami/services/CallService.kt
+++ b/jami-android/libjamiclient/src/main/kotlin/net/jami/services/CallService.kt
@@ -118,7 +118,7 @@ abstract class CallService(
             conference.isModerator = isModerator
             conference.setInfo(newInfo)
         } else {
-            Log.w(TAG, "onConferenceInfoUpdated can't find conference $confId")
+            Log.w(TAG, "onConferenceInfoUpdated is unable to find conference $confId")
         }
     }
 
@@ -618,8 +618,8 @@ abstract class CallService(
      * Replaces the current video media with a given source.
      * Creates the video media if none exists.
      * @param conf The conference to request a video media change on.
-     * @param uri The uri for the source.
-     * @param mute Whether to mute or un-mute the source.
+     * @param uri The URI for the source.
+     * @param mute Whether to mute or unmute the source.
      */
     fun replaceVideoMedia(conf: Conference, uri: String, mute: Boolean) {
         val call = conf.firstCall ?: return
@@ -660,12 +660,12 @@ abstract class CallService(
     }
 
     fun recordPlaybackFilepath(id: String, filename: String) {
-        Log.d(TAG, "record playback filepath: $id, $filename")
+        Log.d(TAG, "recordPlaybackFilepath: $id, $filename")
         // todo needs more explanations on that
     }
 
     fun onRtcpReportReceived(callId: String) {
-        Log.i(TAG, "on RTCP report received: $callId")
+        Log.i(TAG, "onRtcpReportReceived: $callId")
     }
 
     fun joinParticipant(accountId: String, selCallId: String, account2Id: String, dragCallId: String): Single<Boolean> {
@@ -707,7 +707,7 @@ abstract class CallService(
     fun getConference(id: String): Conference? = conferences[id]
 
     fun conferenceCreated(accountId: String, conversationId: String, confId: String) {
-        Log.d(TAG, "conference created: $confId")
+        Log.d(TAG, "conferenceCreated: $confId")
         val conf = conferences.getOrPut(confId) { Conference(accountId, confId) }
         val participants = JamiService.getParticipantList(accountId, confId)
         val map = JamiService.getConferenceDetails(accountId, confId)
@@ -724,7 +724,7 @@ abstract class CallService(
     }
 
     fun conferenceRemoved(accountId: String, confId: String) {
-        Log.d(TAG, "conference removed: $confId")
+        Log.d(TAG, "conferenceRemoved: $confId")
         conferences.remove(confId)?.let { conf ->
             for (call in conf.participants) {
                 call.confId = null
@@ -735,7 +735,7 @@ abstract class CallService(
     }
 
     fun conferenceChanged(accountId: String, confId: String, state: String) {
-        Log.d(TAG, "conference changed: $confId, $state")
+        Log.d(TAG, "conferenceChanged: $confId, $state")
         try {
             val participants: Set<String> = JamiService.getParticipantList(accountId, confId).toHashSet()
 
@@ -745,7 +745,7 @@ abstract class CallService(
             for (callId in participants) {
                 if (!conf.contains(callId)) {
                     calls[callId]?.let { call ->
-                        Log.d(TAG, "conference changed: adding participant " + callId + " " + call.contact)
+                        Log.d(TAG, "conferenceChanged: adding participant " + callId + " " + call.contact)
                         call.confId = confId
                         conf.addParticipant(call)
                     }
@@ -760,7 +760,7 @@ abstract class CallService(
             while (i.hasNext()) {
                 val call = i.next()
                 if (!participants.contains(call.daemonIdString)) {
-                    Log.d(TAG, "conference changed: removing participant " + call.daemonIdString + " " + call.contact)
+                    Log.d(TAG, "conferenceChanged: removing participant " + call.daemonIdString + " " + call.contact)
                     call.confId = null
                     i.remove()
                     removed = true
diff --git a/jami-android/libjamiclient/src/main/kotlin/net/jami/utils/FileUtils.kt b/jami-android/libjamiclient/src/main/kotlin/net/jami/utils/FileUtils.kt
index dba30c17746f22e1a175fd317ab101a3c1a7b429..a3705fa5c4456c64ef2aa0cdbbaaf96b5de9728e 100644
--- a/jami-android/libjamiclient/src/main/kotlin/net/jami/utils/FileUtils.kt
+++ b/jami-android/libjamiclient/src/main/kotlin/net/jami/utils/FileUtils.kt
@@ -32,7 +32,7 @@ object FileUtils {
                 }
             }
         } catch (e: IOException) {
-            Log.w(TAG, "Can't copy file", e)
+            Log.w(TAG, "Unable to copy file", e)
             return false
         }
         return true
@@ -40,18 +40,18 @@ object FileUtils {
 
     fun moveFile(file: File, dest: File): Boolean {
         if (!file.exists() || !file.canRead()) {
-            Log.d(TAG, "moveFile: file is not accessible " + file.exists() + " " + file.canRead())
+            Log.d(TAG, "moveFile: file is inaccessible " + file.exists() + " " + file.canRead())
             return false
         }
         if (file == dest) return true
         if (!file.renameTo(dest)) {
-            Log.w(TAG, "moveFile: can't rename file, trying copy+delete to $dest")
+            Log.w(TAG, "moveFile: unable to rename file, trying copy+delete to $dest")
             if (!copyFile(file, dest)) {
-                Log.w(TAG, "moveFile: can't copy file to $dest")
+                Log.w(TAG, "moveFile: unable to copy file to $dest")
                 return false
             }
             if (!file.delete()) {
-                Log.w(TAG, "moveFile: can't delete old file from $file")
+                Log.w(TAG, "moveFile: unable to delete old file from $file")
             }
         }
         Log.d(TAG, "moveFile: moved $file to $dest")