From 9a123fcad178647c8f57c9433726fd00a40c3608 Mon Sep 17 00:00:00 2001
From: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com>
Date: Wed, 13 Jul 2022 09:33:26 -0400
Subject: [PATCH] misc: fix sparse translations

Change-Id: I07213da84e6b7841fbd9873819d95843381ccdca
---
 src/app/DaemonReconnectWindow.qml             |  6 +-
 src/app/commoncomponents/PhotoboothView.qml   |  4 +-
 .../PreferenceItemDelegate.qml                |  4 +-
 src/app/constant/JamiStrings.qml              | 55 +++++++++++++++++--
 .../components/AccountComboBoxPopup.qml       |  2 +-
 src/app/mainview/components/CallActionBar.qml |  2 +-
 .../components/CallViewContextMenu.qml        |  2 +-
 src/app/mainview/components/ContactPicker.qml |  8 +--
 src/app/mainview/components/NewSwarmPage.qml  |  2 +-
 .../components/PluginHandlerItemDelegate.qml  |  4 +-
 .../components/PluginHandlerPicker.qml        |  4 +-
 src/app/mainview/components/SelectScreen.qml  |  4 +-
 .../components/AccountProfile.qml             |  2 +-
 .../components/AdvancedCallSettings.qml       |  4 +-
 .../AdvancedJamiSecuritySettings.qml          | 12 ++--
 .../AdvancedSIPSecuritySettings.qml           | 12 ++--
 .../components/AdvancedSettings.qml           |  2 +-
 .../components/BannedContacts.qml             |  2 +-
 .../components/CurrentAccountSettings.qml     |  9 ++-
 .../components/DeviceItemDelegate.qml         |  2 +-
 .../components/PluginListView.qml             |  2 +-
 .../components/PluginPreferencesView.qml      |  4 +-
 .../components/RecordingSettings.qml          |  8 +--
 .../components/RevokeDevicePasswordDialog.qml |  2 +-
 .../components/SystemSettings.qml             |  6 +-
 .../settingsview/components/ToggleSwitch.qml  |  2 +-
 .../settingsview/components/UserIdentity.qml  |  2 +-
 .../wizardview/components/BackupKeyPage.qml   |  2 +-
 .../components/ImportFromBackupPage.qml       |  2 +-
 29 files changed, 109 insertions(+), 63 deletions(-)

diff --git a/src/app/DaemonReconnectWindow.qml b/src/app/DaemonReconnectWindow.qml
index 6ee6e37cb..eaa074aee 100644
--- a/src/app/DaemonReconnectWindow.qml
+++ b/src/app/DaemonReconnectWindow.qml
@@ -90,8 +90,8 @@ ApplicationWindow {
                     Layout.topMargin: preferredMargin
 
                     text: connectionFailed ?
-                              qsTr("Could not re-connect to the Jami daemon (jamid).\nJami will now quit.") :
-                              qsTr("Trying to reconnect to the Jami daemon (jamid)…")
+                              JamiStrings.reconnectWarn :
+                              JamiStrings.reconnectTry
                     font.pointSize: 11
                     horizontalAlignment: Text.AlignHCenter
                     verticalAlignment: Text.AlignVCenter
@@ -146,7 +146,7 @@ ApplicationWindow {
                                     return (parent.width / 2 - 18) * 2
                                 }
 
-                                text: qsTr("Ok")
+                                text: JamiString.optionOk
 
                                 color: {
                                     if (btnOk.hovered)
diff --git a/src/app/commoncomponents/PhotoboothView.qml b/src/app/commoncomponents/PhotoboothView.qml
index 8a7061ed0..08baffc6f 100644
--- a/src/app/commoncomponents/PhotoboothView.qml
+++ b/src/app/commoncomponents/PhotoboothView.qml
@@ -89,8 +89,8 @@ Item {
         folder: StandardPaths.writableLocation(StandardPaths.PicturesLocation)
 
         nameFilters: [
-            qsTr("Image Files") + " (*.png *.jpg *.jpeg)",
-            qsTr("All files") + " (*)"
+            JamiStrings.imageFiles,
+            JamiStrings.allFiles
         ]
 
         onVisibleChanged: {
diff --git a/src/app/commoncomponents/PreferenceItemDelegate.qml b/src/app/commoncomponents/PreferenceItemDelegate.qml
index 79d08257b..4aec59a27 100644
--- a/src/app/commoncomponents/PreferenceItemDelegate.qml
+++ b/src/app/commoncomponents/PreferenceItemDelegate.qml
@@ -53,7 +53,7 @@ ItemDelegate {
                 break
             case PreferenceItemListModel.PATH:
                 if (index === 0) {
-                    preferenceFilePathDialog.title = qsTr("Select An Image to " + preferenceName)
+                    preferenceFilePathDialog.title = JamiStrings.selectAnImage.arg(preferenceName)
                     preferenceFilePathDialog.nameFilters = fileFilters
                     preferenceFilePathDialog.selectedNameFilter.index = fileFilters.length - 1
                     preferenceFilePathDialog.open()
@@ -119,7 +119,7 @@ ItemDelegate {
 
             source: JamiResources.round_settings_24dp_svg
 
-            toolTipText: qsTr("Edit preference")
+            toolTipText: JamiStrings.editPreference
             opacity: enabled ? 1.0 : 0.5
         }
 
diff --git a/src/app/constant/JamiStrings.qml b/src/app/constant/JamiStrings.qml
index b70042960..3dbe38715 100644
--- a/src/app/constant/JamiStrings.qml
+++ b/src/app/constant/JamiStrings.qml
@@ -44,6 +44,10 @@ Item {
     property string contactLeft: qsTr("You are viewing a conversation where all participants other than you have left. New interactions will not be possible.")
     property string newConversation: qsTr("Start new conversation")
 
+    // DaemonReconnectWindow
+    property string reconnectWarn: qsTr("Could not re-connect to the Jami daemon (jamid).\nJami will now quit.")
+    property string reconnectTry: qsTr("Trying to reconnect to the Jami daemon (jamid)…")
+
     // AboutPopUp
     property string version: qsTr("Version") + (UpdateManager.isCurrentVersionBeta() ? " (BETA)" : "")
     property string companyDeclarationYear: declarationYear + " " + companyName
@@ -57,6 +61,12 @@ Item {
     property string displayQRCode: qsTr("Display QR code")
     property string openSettings: qsTr("Open settings")
     property string closeSettings: qsTr("Close settings")
+    property string addAccount: qsTr("Add Account")
+
+    // ContactPicker
+    property string addToConference: qsTr("Add to conference")
+    property string addToConversation: qsTr("Add to conversation")
+    property string transferThisCall: qsTr("Transfer this call")
 
     // AccountMigrationDialog
     property string authenticationRequired: qsTr("Authentication required")
@@ -79,6 +89,8 @@ Item {
     property string selectCustomRingtone: qsTr("Select custom ringtone")
     property string addCustomRingtone: qsTr("Add a custom ringtone")
     property string selectNewRingtone: qsTr("Select a new ringtone")
+    property string certificateFile: qsTr("Certificate File (*.crt)")
+    property string audioFile: qsTr("Audio File (*.wav *.ogg *.opus *.mp3 *.aiff *.wma)")
 
     // AdvancedChatSettings
     property string chatSettings: qsTr("Chat Settings")
@@ -109,6 +121,7 @@ Item {
     property string selectPrivateKey: qsTr("Select a private key")
     property string selectUserCert: qsTr("Select a user certificate")
     property string selectCACert: qsTr("Select a CA certificate")
+    property string keyFile: qsTr("Key File (*.key)")
 
     // AdvancedConnectivitySettings
     property string connectivity: qsTr("Connectivity")
@@ -202,8 +215,8 @@ Item {
     property string error: qsTr("Error")
     property string neverShowAgain: qsTr("Never show me this again")
     property string recommended: qsTr("Recommended")
-    property string jamiArchiveFiles: qsTr("Jami archive files")
-    property string allFiles: qsTr("All files")
+    property string jamiArchiveFiles: qsTr("Jami archive files (*.gz)")
+    property string allFiles: qsTr("All files (*)")
 
     // BannedItemDelegate
     property string reinstateContact: qsTr("Reinstate as contact")
@@ -263,7 +276,7 @@ Item {
     property string stopRec: qsTr("Stop recording")
     property string startRec: qsTr("Start recording")
     property string exitFullScreen: qsTr("Exit full screen")
-    property string fullScreen: qsTr("View full screen")
+    property string viewFullScreen: qsTr("View full screen")
     property string shareScreen: qsTr("Share screen")
     property string shareWindow: qsTr("Share window")
     property string stopSharing: qsTr("Stop sharing screen or file")
@@ -337,6 +350,7 @@ Item {
     property string tipAdvancedSettingsDisplay: qsTr("Display advanced settings")
     property string tipAdvancedSettingsHide: qsTr("Hide advanced settings")
     property string enableAccount: qsTr("Enable account")
+    property string advancedAccountSettings: qsTr("Advanced Account Settings")
 
     // NameRegistrationDialog
     property string setUsername: qsTr("Set username")
@@ -345,6 +359,7 @@ Item {
     // JamiUserIdentity
     property string registerAUsername: qsTr("Register a username")
     property string registerUsername: qsTr("Register username")
+    property string identity: qsTr("Identity")
 
     // LinkedDevices
     property string tipLinkNewDevice: qsTr("Link a new device to this account")
@@ -360,6 +375,7 @@ Item {
     property string tipBannedContactsDisplay: qsTr("Display banned contacts")
     property string banned: qsTr("Banned")
     property string tipBannedContactsHide: qsTr("Hide banned contacts")
+    property string bannedContacts: qsTr("Banned contacts")
 
     // DeleteAccountDialog
     property string confirmDeleteQuestion: qsTr("Do you really want to delete this account?")
@@ -369,11 +385,14 @@ Item {
     property string saveNewDeviceName: qsTr("Save new device name")
     property string editDeviceName: qsTr("Edit device name")
     property string unlinkDevice: qsTr("Unlink device from account")
+    property string deviceId: qsTr("Device Id")
 
     // SystemSettings
+    property string system: qsTr("System")
     property string selectFolder: qsTr("Select a folder")
     property string enableNotifications: qsTr("Enable notifications")
     property string enableDarkTheme: qsTr("Enable dark theme")
+    property string enableDesktopNotifications: qsTr("Enable desktop notifications")
     property string keepMinimized: qsTr("Keep minimized on close")
     property string tipRunStartup: qsTr("Run application on system startup")
     property string runStartup: qsTr("Launch at startup")
@@ -435,6 +454,10 @@ Item {
 
     // Recording Settings
     property string tipRecordFolder: qsTr("Select a record directory")
+    property string quality: qsTr("Quality")
+    property string saveIn: qsTr("Save in")
+    property string callRecording: qsTr("Call Recording")
+    property string alwaysRecordCalls: qsTr("Always record calls")
 
     // KeyboardShortCutTable
     property string keyboardShortcutTableWindowTitle: qsTr("Keyboard Shortcut Table")
@@ -442,6 +465,22 @@ Item {
     property string conversationKeyboardShortcuts: qsTr("Conversation")
     property string callKeyboardShortcuts: qsTr("Call")
     property string settingsKeyboardShortcuts: qsTr("Settings")
+    property string openAccountList: qsTr("Open account list")
+    property string focusConversationsList: qsTr("Focus conversations list")
+    property string requestsList: qsTr("Requests list")
+    property string previousConversation: qsTr("Previous conversation")
+    property string nextConversation: qsTr("Next conversation")
+    property string searchBar: qsTr("Search bar")
+    property string fullScreen: qsTr("Full screen")
+    property string clearHistory: qsTr("Clear history")
+    property string mediaSettings: qsTr("Media settings")
+    property string generalSettings: qsTr("General settings")
+    property string accountSettings: qsTr("Account settings")
+    property string pluginSettings: qsTr("Plugin settings")
+    property string answerIncoming: qsTr("Answer an incoming call")
+    property string declineCallRequest: qsTr("Decline the call request")
+    property string openAccountCreationWizard: qsTr("Open account creation wizard")
+    property string openKeyboardShortcutTable: qsTr("Open keyboard shortcut table")
 
     // View Logs
     property string logsViewTitle: qsTr("Debug")
@@ -495,6 +534,7 @@ Item {
     property string stopTakingPhoto: qsTr("Stop taking photo")
     property string clearAvatar: qsTr("Clear avatar image")
     property string takePhoto: qsTr("Take photo")
+    property string imageFiles: qsTr("Image Files (*.png *.jpg *.jpeg)")
 
     // Plugins
     property string enable: qsTr("Enable")
@@ -516,8 +556,12 @@ Item {
     property string tipGeneralPluginSettingsDisplay: qsTr("Display or hide General plugin settings")
     property string tipAccountPluginSettingsDisplay: qsTr("Display or hide Account plugin settings")
     property string installedPlugins: qsTr("Installed plugins")
-    property string pluginFiles: qsTr("Plugin Files")
+    property string pluginFiles: qsTr("Plugin Files (*.jpl)")
     property string loadUnload: qsTr("Load/Unload")
+    property string selectAnImage: qsTr("Select An Image to %1")
+    property string editPreference: qsTr("Edit preference")
+    property string onOff: qsTr("On/Off")
+    property string choosePlugin: qsTr("Choose Plugin")
 
     // ProfilePage
     property string profileSharedWithContacts: qsTr("Profile is only shared with contacts")
@@ -526,6 +570,7 @@ Item {
     property string enterRVName: qsTr("Enter the rendezvous point's name")
     property string generatingRV: qsTr("Creating rendezvous point…")
     property string information: qsTr("Information")
+    property string profile: qsTr("Profile")
 
     // RevokeDevicePasswordDialog
     property string confirmRemovalRequest: qsTr("Enter the account password to confirm the removal of this device")
@@ -536,6 +581,7 @@ Item {
     property string allScreens: qsTr("All Screens")
     property string screens: qsTr("Screens")
     property string windows: qsTr("Windows")
+    property string screen: qsTr("Screen %1")
 
     // UserProfile
     property string qrCode: qsTr("QR code")
@@ -654,4 +700,5 @@ Item {
     property string administrator: qsTr("Administrator")
     property string invited: qsTr("Invited")
     property string removeMember: qsTr("Remove member")
+    property string to: qsTr("To:")
 }
diff --git a/src/app/mainview/components/AccountComboBoxPopup.qml b/src/app/mainview/components/AccountComboBoxPopup.qml
index a421a8609..027fa6037 100644
--- a/src/app/mainview/components/AccountComboBoxPopup.qml
+++ b/src/app/mainview/components/AccountComboBoxPopup.qml
@@ -83,7 +83,7 @@ Popup {
 
                 Text {
                     anchors.centerIn: parent
-                    text: qsTr("Add Account") + "+"
+                    text: JamiStrings.addAccount + "+"
                     color: JamiTheme.textColor
                     font.pointSize: JamiTheme.textFontSize
                 }
diff --git a/src/app/mainview/components/CallActionBar.qml b/src/app/mainview/components/CallActionBar.qml
index e7fc04a6a..e56d401b8 100644
--- a/src/app/mainview/components/CallActionBar.qml
+++ b/src/app/mainview/components/CallActionBar.qml
@@ -238,7 +238,7 @@ Control {
             onTriggered: root.fullScreenClicked()
             text: layoutManager.isCallFullscreen ?
                           JamiStrings.exitFullScreen :
-                          JamiStrings.fullScreen
+                          JamiStrings.viewFullScreen
         },
         Action {
             id: resumePauseCallAction
diff --git a/src/app/mainview/components/CallViewContextMenu.qml b/src/app/mainview/components/CallViewContextMenu.qml
index f33f43ff6..8e607242a 100644
--- a/src/app/mainview/components/CallViewContextMenu.qml
+++ b/src/app/mainview/components/CallViewContextMenu.qml
@@ -92,7 +92,7 @@ ContextMenuAutoLoader {
 
             itemName: layoutManager.isCallFullscreen ?
                           JamiStrings.exitFullScreen :
-                          JamiStrings.fullScreen
+                          JamiStrings.viewFullScreen
             iconSource: layoutManager.isCallFullscreen ?
                             JamiResources.close_fullscreen_24dp_svg :
                             JamiResources.open_in_full_24dp_svg
diff --git a/src/app/mainview/components/ContactPicker.qml b/src/app/mainview/components/ContactPicker.qml
index 66c52ce1e..8d8af94a1 100644
--- a/src/app/mainview/components/ContactPicker.qml
+++ b/src/app/mainview/components/ContactPicker.qml
@@ -81,13 +81,13 @@ Popup {
                 text: {
                     switch(type) {
                     case ContactList.CONFERENCE:
-                        return qsTr("Add to conference")
+                        return JamiStrings.addToConference
                     case ContactList.ADDCONVMEMBER:
-                        return qsTr("Add to conversation")
+                        return JamiStrings.addToConversation
                     case ContactList.TRANSFER:
-                        return qsTr("Transfer this call")
+                        return JamiStrings.transferThisCall
                     default:
-                        return qsTr("Add default moderator")
+                        return JamiStrings.addDefaultModerator
                     }
                 }
             }
diff --git a/src/app/mainview/components/NewSwarmPage.qml b/src/app/mainview/components/NewSwarmPage.qml
index c29b52d28..cce8ad7a5 100644
--- a/src/app/mainview/components/NewSwarmPage.qml
+++ b/src/app/mainview/components/NewSwarmPage.qml
@@ -48,7 +48,7 @@ Rectangle {
         spacing: 16
 
         Label {
-            text: qsTr("To:")
+            text: JamiStrings.to
             font.bold: true
             color: JamiTheme.textColor
             Layout.leftMargin: 16
diff --git a/src/app/mainview/components/PluginHandlerItemDelegate.qml b/src/app/mainview/components/PluginHandlerItemDelegate.qml
index f59fd662f..06c9c9cf2 100644
--- a/src/app/mainview/components/PluginHandlerItemDelegate.qml
+++ b/src/app/mainview/components/PluginHandlerItemDelegate.qml
@@ -81,7 +81,7 @@ ItemDelegate {
 
             ToolTip.visible: hovered
             ToolTip.text: {
-                return qsTr("On/Off")
+                return JamiStrings.onOff
             }
 
             checked: isLoaded
@@ -121,7 +121,7 @@ ItemDelegate {
             source: JamiResources.round_settings_24dp_svg
             normalColor: JamiTheme.primaryBackgroundColor
             imageColor: JamiTheme.textColor
-            toolTipText: qsTr(pluginId)
+            toolTipText: root.pluginId
 
             onClicked: openPreferences()
         }
diff --git a/src/app/mainview/components/PluginHandlerPicker.qml b/src/app/mainview/components/PluginHandlerPicker.qml
index 2c3fb4ce3..0270d8fd9 100644
--- a/src/app/mainview/components/PluginHandlerPicker.qml
+++ b/src/app/mainview/components/PluginHandlerPicker.qml
@@ -98,7 +98,7 @@ Popup {
                         verticalAlignment: Text.AlignVCenter
                         color: JamiTheme.textColor
 
-                        text: qsTr("Choose plugin")
+                        text: JamiStrings.choosePlugin
                     }
 
                     PushButton {
@@ -199,7 +199,7 @@ Popup {
                         verticalAlignment: Text.AlignVCenter
 
                         color: JamiTheme.textColor
-                        text: qsTr("Preferences")
+                        text: JamiStrings.pluginPreferences
                     }
 
                     PushButton {
diff --git a/src/app/mainview/components/SelectScreen.qml b/src/app/mainview/components/SelectScreen.qml
index ff86aa82c..be37a98d0 100644
--- a/src/app/mainview/components/SelectScreen.qml
+++ b/src/app/mainview/components/SelectScreen.qml
@@ -46,7 +46,7 @@ Window {
                                             screenSelectionScrollViewFlow.spacing / 2 - JamiTheme.preferredMarginSize
     property real componentWidthSingleColumn: screenSelectionScrollView.width -
                                               2 * JamiTheme.preferredMarginSize
-    
+
     modality: Qt.ApplicationModal
     title: window ? JamiStrings.selectWindow : JamiStrings.selectScreen
 
@@ -55,7 +55,7 @@ Window {
         screens = []
         var idx
         for (idx in Qt.application.screens) {
-            screens.push(qsTr("Screen") + " " + idx)
+            screens.push(JamiStrings.screen.arg(idx))
         }
         AvAdapter.getListWindows()
         for (idx in AvAdapter.windowsNames) {
diff --git a/src/app/settingsview/components/AccountProfile.qml b/src/app/settingsview/components/AccountProfile.qml
index bde7b45a8..01283264b 100644
--- a/src/app/settingsview/components/AccountProfile.qml
+++ b/src/app/settingsview/components/AccountProfile.qml
@@ -44,7 +44,7 @@ ColumnLayout {
         Layout.fillWidth: true
         Layout.preferredHeight: JamiTheme.preferredFieldHeight
 
-        text: qsTr("Profile")
+        text: JamiStrings.profile
         elide: Text.ElideRight
 
         font.pointSize: JamiTheme.headerFontSize
diff --git a/src/app/settingsview/components/AdvancedCallSettings.qml b/src/app/settingsview/components/AdvancedCallSettings.qml
index 9adf42cd5..f6337e174 100644
--- a/src/app/settingsview/components/AdvancedCallSettings.qml
+++ b/src/app/settingsview/components/AdvancedCallSettings.qml
@@ -55,8 +55,8 @@ ColumnLayout {
         folder: JamiQmlUtils.qmlFilePrefix + UtilsAdapter.toFileAbsolutepath(
                     CurrentAccount.ringtonePath_Ringtone)
 
-        nameFilters: [qsTr("Audio Files") + " (*.wav *.ogg *.opus *.mp3 *.aiff *.wma)",
-            qsTr("All files") + " (*)"]
+        nameFilters: [JamiStrings.audioFile,
+            JamiStrings.allFiles]
 
         onAccepted: {
             var url = UtilsAdapter.getAbsPath(file.toString())
diff --git a/src/app/settingsview/components/AdvancedJamiSecuritySettings.qml b/src/app/settingsview/components/AdvancedJamiSecuritySettings.qml
index 611d85259..22176439a 100644
--- a/src/app/settingsview/components/AdvancedJamiSecuritySettings.qml
+++ b/src/app/settingsview/components/AdvancedJamiSecuritySettings.qml
@@ -41,8 +41,8 @@ ColumnLayout {
         mode: JamiFileDialog.OpenFile
         title: JamiStrings.selectCACert
         folder: openPath
-        nameFilters: [qsTr("Certificate File") + " (*.crt)",
-            qsTr("All files") + " (*)"]
+        nameFilters: [JamiStrings.certificateFile,
+            JamiStrings.allFiles]
 
         onAccepted: CurrentAccount.certificateListFile_TLS =
                     UtilsAdapter.getAbsPath(file.toString())
@@ -59,8 +59,8 @@ ColumnLayout {
         mode: JamiFileDialog.OpenFile
         title: JamiStrings.selectUserCert
         folder: openPath
-        nameFilters: [qsTr("Certificate File") + " (*.crt)",
-            qsTr("All files") + " (*)"]
+        nameFilters: [JamiStrings.certificateFile,
+            JamiStrings.allFiles]
 
         onAccepted: CurrentAccount.certificateFile_TLS =
                     UtilsAdapter.getAbsPath(file.toString())
@@ -77,8 +77,8 @@ ColumnLayout {
         mode: JamiFileDialog.OpenFile
         title: JamiStrings.selectPrivateKey
         folder: openPath
-        nameFilters: [qsTr("Key File") + " (*.key)",
-            qsTr("All files") + " (*)"]
+        nameFilters: [JamiStrings.keyFile,
+            JamiStrings.allFiles]
 
         onAccepted: CurrentAccount.privateKeyFile_TLS =
                     UtilsAdapter.getAbsPath(file.toString())
diff --git a/src/app/settingsview/components/AdvancedSIPSecuritySettings.qml b/src/app/settingsview/components/AdvancedSIPSecuritySettings.qml
index 9ddf6de9b..d155308f6 100644
--- a/src/app/settingsview/components/AdvancedSIPSecuritySettings.qml
+++ b/src/app/settingsview/components/AdvancedSIPSecuritySettings.qml
@@ -42,8 +42,8 @@ ColumnLayout {
         mode: JamiFileDialog.OpenFile
         title: JamiStrings.selectCACert
         folder: openPath
-        nameFilters: [qsTr("Certificate File") + " (*.crt)",
-            qsTr("All files") + " (*)"]
+        nameFilters: [JamiStrings.certificateFile,
+            JamiStrings.allFiles]
 
         onAccepted: CurrentAccount.certificateListFile_TLS =
                     UtilsAdapter.getAbsPath(file.toString())
@@ -60,8 +60,8 @@ ColumnLayout {
         mode: JamiFileDialog.OpenFile
         title: JamiStrings.selectUserCert
         folder: openPath
-        nameFilters: [qsTr("Certificate File") + " (*.crt)",
-            qsTr("All files") + " (*)"]
+        nameFilters: [JamiStrings.certificateFile,
+            JamiStrings.allFiles]
 
         onAccepted: CurrentAccount.certificateFile_TLS =
                     UtilsAdapter.getAbsPath(file.toString())
@@ -78,8 +78,8 @@ ColumnLayout {
         mode: JamiFileDialog.OpenFile
         title: JamiStrings.selectPrivateKey
         folder: openPath
-        nameFilters: [qsTr("Key File") + " (*.key)",
-            qsTr("All files") + " (*)"]
+        nameFilters: [JamiStrings.keyFile,
+            JamiStrings.allFiles]
 
         onAccepted: CurrentAccount.privateKeyFile_TLS =
                     UtilsAdapter.getAbsPath(file.toString())
diff --git a/src/app/settingsview/components/AdvancedSettings.qml b/src/app/settingsview/components/AdvancedSettings.qml
index 522488eac..b7cef3a55 100644
--- a/src/app/settingsview/components/AdvancedSettings.qml
+++ b/src/app/settingsview/components/AdvancedSettings.qml
@@ -49,7 +49,7 @@ ColumnLayout {
             verticalAlignment: Text.AlignVCenter
             color: JamiTheme.textColor
 
-            text: qsTr("Advanced Account Settings")
+            text: JamiStrings.advancedAccountSettings
             elide: Text.ElideRight
         }
 
diff --git a/src/app/settingsview/components/BannedContacts.qml b/src/app/settingsview/components/BannedContacts.qml
index 98af815d4..52416811a 100644
--- a/src/app/settingsview/components/BannedContacts.qml
+++ b/src/app/settingsview/components/BannedContacts.qml
@@ -76,7 +76,7 @@ ColumnLayout {
         ElidedTextLabel {
             Layout.fillWidth: true
 
-            eText: qsTr("Banned Contacts")
+            eText: JamiStrings.bannedContacts
             fontSize: JamiTheme.headerFontSize
             maxWidth: root.width - JamiTheme.preferredFieldHeight
                         - JamiTheme.preferredMarginSize * 4
diff --git a/src/app/settingsview/components/CurrentAccountSettings.qml b/src/app/settingsview/components/CurrentAccountSettings.qml
index 28c455a85..9c37cecf8 100644
--- a/src/app/settingsview/components/CurrentAccountSettings.qml
+++ b/src/app/settingsview/components/CurrentAccountSettings.qml
@@ -84,7 +84,7 @@ Rectangle {
     SimpleMessageDialog {
         id: msgDialog
 
-        buttonTitles: [qsTr("Ok")]
+        buttonTitles: [JamiStrings.optionOk]
         buttonStyles: [SimpleMessageDialog.ButtonStyle.TintedBlue]
         buttonCallBacks: [setPasswordButtonText]
     }
@@ -105,7 +105,7 @@ Rectangle {
         id: passwordDialog
 
         onDoneSignal: function (success, currentPurpose) {
-            var title = success ? qsTr("Success") : qsTr("Error")
+            var title = success ? JamiStrings.success : JamiStrings.error
 
             var info
             switch(currentPurpose) {
@@ -133,8 +133,7 @@ Rectangle {
         title: JamiStrings.backupAccountHere
         folder: StandardPaths.writableLocation(StandardPaths.DesktopLocation)
 
-        nameFilters: [qsTr("Jami archive files") + " (*.gz)", qsTr(
-                "All files") + " (*)"]
+        nameFilters: [JamiStrings.jamiArchiveFiles, JamiStrings.allFiles]
 
         onAccepted: {
             // is there password? If so, go to password dialog, else, go to following directly
@@ -146,7 +145,7 @@ Rectangle {
                 if (exportPath.length > 0) {
                     var isSuccessful = AccountAdapter.model.exportToFile(LRCInstance.currentAccountId,
                                                                          exportPath, "")
-                    var title = isSuccessful ? qsTr("Success") : qsTr("Error")
+                    var title = isSuccessful ? JamiStrings.success : JamiStrings.error
                     var info = isSuccessful ? JamiStrings.backupSuccessful : JamiStrings.backupFailed
 
                     msgDialog.openWithParameters(title,info)
diff --git a/src/app/settingsview/components/DeviceItemDelegate.qml b/src/app/settingsview/components/DeviceItemDelegate.qml
index 5319efb1f..da238e27f 100644
--- a/src/app/settingsview/components/DeviceItemDelegate.qml
+++ b/src/app/settingsview/components/DeviceItemDelegate.qml
@@ -122,7 +122,7 @@ ItemDelegate {
                 elide: Text.ElideRight
                 font.pointSize: JamiTheme.textFontSize
                 color: JamiTheme.textColor
-                text: deviceId === "" ? qsTr("Device Id") : deviceId
+                text: deviceId === "" ? JamiStrings.deviceId : deviceId
             }
         }
 
diff --git a/src/app/settingsview/components/PluginListView.qml b/src/app/settingsview/components/PluginListView.qml
index 423d2f2dc..cefbe279c 100644
--- a/src/app/settingsview/components/PluginListView.qml
+++ b/src/app/settingsview/components/PluginListView.qml
@@ -42,7 +42,7 @@ Rectangle {
         title: JamiStrings.selectPluginInstall
         folder: StandardPaths.writableLocation(StandardPaths.DownloadLocation)
 
-        nameFilters: [JamiStrings.pluginFiles + " (*.jpl)", JamiStrings.allFiles + " (*)"]
+        nameFilters: [JamiStrings.pluginFiles, JamiStrings.allFiles]
 
         onAccepted: {
             var url = UtilsAdapter.getAbsPath(file.toString())
diff --git a/src/app/settingsview/components/PluginPreferencesView.qml b/src/app/settingsview/components/PluginPreferencesView.qml
index d8b570743..a8cb5a9a7 100644
--- a/src/app/settingsview/components/PluginPreferencesView.qml
+++ b/src/app/settingsview/components/PluginPreferencesView.qml
@@ -82,7 +82,7 @@ Rectangle {
                 verticalAlignment: Text.AlignVCenter
                 color: JamiTheme.textColor
 
-                text: qsTr("General")
+                text: JamiStrings.generalSettingsTitle
                 elide: Text.ElideRight
             }
 
@@ -126,7 +126,7 @@ Rectangle {
                 verticalAlignment: Text.AlignVCenter
                 color: JamiTheme.textColor
 
-                text: qsTr("Account")
+                text: JamiStrings.accountSettingsMenuTitle
                 elide: Text.ElideRight
             }
 
diff --git a/src/app/settingsview/components/RecordingSettings.qml b/src/app/settingsview/components/RecordingSettings.qml
index 308268dde..da2b316b8 100644
--- a/src/app/settingsview/components/RecordingSettings.qml
+++ b/src/app/settingsview/components/RecordingSettings.qml
@@ -65,7 +65,7 @@ ColumnLayout {
     ElidedTextLabel {
         Layout.fillWidth: true
 
-        eText: qsTr("Call Recording")
+        eText: JamiStrings.callRecording
         font.pointSize: JamiTheme.headerFontSize
         maxWidth: width
     }
@@ -78,7 +78,7 @@ ColumnLayout {
 
         checked: AVModel.getAlwaysRecord()
 
-        labelText: qsTr("Always record calls")
+        labelText: JamiStrings.alwaysRecordCalls
         fontPointSize: JamiTheme.settingsFontSize
 
         onSwitchToggled: AVModel.setAlwaysRecord(checked)
@@ -108,7 +108,7 @@ ColumnLayout {
             Layout.rightMargin: JamiTheme.preferredMarginSize / 2
 
             color: JamiTheme.textColor
-            text: qsTr("Quality")
+            text: JamiStrings.quality
             font.pointSize: JamiTheme.settingsFontSize
             font.kerning: true
             elide: Text.ElideRight
@@ -164,7 +164,7 @@ ColumnLayout {
             Layout.fillWidth: true
             Layout.fillHeight: true
 
-            text: qsTr("Save in")
+            text: JamiStrings.saveIn
             color: JamiTheme.textColor
             font.pointSize: JamiTheme.settingsFontSize
             font.kerning: true
diff --git a/src/app/settingsview/components/RevokeDevicePasswordDialog.qml b/src/app/settingsview/components/RevokeDevicePasswordDialog.qml
index 6e9325dbf..2bbf69335 100644
--- a/src/app/settingsview/components/RevokeDevicePasswordDialog.qml
+++ b/src/app/settingsview/components/RevokeDevicePasswordDialog.qml
@@ -102,7 +102,7 @@ BaseModalDialog {
                 outlined: true
                 enabled: false
 
-                text: qsTr("Remove")
+                text: JamiStrings.remove
 
                 onClicked: {
                     revokeDeviceWithPassword(deviceId, passwordEdit.text)
diff --git a/src/app/settingsview/components/SystemSettings.qml b/src/app/settingsview/components/SystemSettings.qml
index dfa0d5097..ec520c434 100644
--- a/src/app/settingsview/components/SystemSettings.qml
+++ b/src/app/settingsview/components/SystemSettings.qml
@@ -55,7 +55,7 @@ ColumnLayout {
     Label {
         Layout.fillWidth: true
 
-        text: qsTr("System")
+        text: JamiStrings.system
         color: JamiTheme.textColor
         font.pointSize: JamiTheme.headerFontSize
         font.kerning: true
@@ -71,7 +71,7 @@ ColumnLayout {
 
         checked: UtilsAdapter.getAppValue(Settings.EnableDarkTheme)
 
-        labelText: qsTr("Enable dark theme")
+        labelText: JamiStrings.enableDarkTheme
         fontPointSize: JamiTheme.settingsFontSize
 
         tooltipText: JamiStrings.enableDarkTheme
@@ -89,7 +89,7 @@ ColumnLayout {
 
         checked: UtilsAdapter.getAppValue(Settings.EnableNotifications)
 
-        labelText: qsTr("Enable desktop notifications")
+        labelText: JamiStrings.enableDesktopNotifications
         fontPointSize: JamiTheme.settingsFontSize
 
         tooltipText: JamiStrings.enableNotifications
diff --git a/src/app/settingsview/components/ToggleSwitch.qml b/src/app/settingsview/components/ToggleSwitch.qml
index 952dca9ba..bab9d70d8 100644
--- a/src/app/settingsview/components/ToggleSwitch.qml
+++ b/src/app/settingsview/components/ToggleSwitch.qml
@@ -44,7 +44,7 @@ RowLayout {
         Layout.preferredHeight: heightOfLayout
         Layout.rightMargin: JamiTheme.preferredMarginSize
 
-        text: qsTr(labelText)
+        text: root.labelText
         font.pointSize: fontPointSize
         font.kerning: true
         elide: Text.ElideRight
diff --git a/src/app/settingsview/components/UserIdentity.qml b/src/app/settingsview/components/UserIdentity.qml
index 6d98b0f5a..f516a1adc 100644
--- a/src/app/settingsview/components/UserIdentity.qml
+++ b/src/app/settingsview/components/UserIdentity.qml
@@ -35,7 +35,7 @@ ColumnLayout {
         Layout.fillWidth: true
         Layout.preferredHeight: JamiTheme.preferredFieldHeight
 
-        eText: qsTr("Identity")
+        eText: JamiStrings.identity
         maxWidth: root.width - 72
         fontSize: JamiTheme.headerFontSize
     }
diff --git a/src/app/wizardview/components/BackupKeyPage.qml b/src/app/wizardview/components/BackupKeyPage.qml
index 5689dd5a0..08e1d498c 100644
--- a/src/app/wizardview/components/BackupKeyPage.qml
+++ b/src/app/wizardview/components/BackupKeyPage.qml
@@ -85,7 +85,7 @@ Rectangle {
         title: JamiStrings.backupAccountHere
         folder: StandardPaths.writableLocation(StandardPaths.HomeLocation) + "/Desktop"
 
-        nameFilters: [JamiStrings.jamiArchiveFiles + " (*.gz)", JamiStrings.allFiles + " (*)"]
+        nameFilters: [JamiStrings.jamiArchiveFiles, JamiStrings.allFiles]
 
         onAccepted: {
             // Is there password? If so, go to password dialog, else, go to following directly
diff --git a/src/app/wizardview/components/ImportFromBackupPage.qml b/src/app/wizardview/components/ImportFromBackupPage.qml
index 35e4e3ebb..189f72091 100644
--- a/src/app/wizardview/components/ImportFromBackupPage.qml
+++ b/src/app/wizardview/components/ImportFromBackupPage.qml
@@ -74,7 +74,7 @@ Rectangle {
         title: JamiStrings.openFile
         folder: StandardPaths.writableLocation(StandardPaths.HomeLocation) + "/Desktop"
 
-        nameFilters: [JamiStrings.jamiArchiveFiles + " (*.gz)", JamiStrings.allFiles + " (*)"]
+        nameFilters: [JamiStrings.jamiArchiveFiles, JamiStrings.allFiles]
 
         onVisibleChanged: {
             if (!visible) {
-- 
GitLab