1
0
Fork 0
mirror of https://git.jami.net/savoirfairelinux/jami-client-qt.git synced 2025-08-04 06:45:45 +02:00

misc: string refactoring

Gitlab: #72
Gitlab: #75
Change-Id: I0aa4049df3d293a0988842bf2a37daaab816cfcf
This commit is contained in:
agsantos 2020-09-11 17:30:46 -04:00 committed by Aline Gondim Santos
parent d191f86b9c
commit f0ad12c8fc
125 changed files with 92954 additions and 115567 deletions

View file

@ -1,5 +1,6 @@
<RCC> <RCC>
<qresource prefix="/"> <qresource prefix="/">
<file>src/constant/JamiStrings.qml</file>
<file>src/settingsview/SettingsView.qml</file> <file>src/settingsview/SettingsView.qml</file>
<file>src/settingsview/components/IconButton.qml</file> <file>src/settingsview/components/IconButton.qml</file>
<file>src/settingsview/components/LeftPanelView.qml</file> <file>src/settingsview/components/LeftPanelView.qml</file>

View file

@ -241,14 +241,14 @@ Window{
ScrollBar.horizontal.policy: ScrollBar.AsNeeded ScrollBar.horizontal.policy: ScrollBar.AsNeeded
ScrollBar.vertical.policy: ScrollBar.AsNeeded ScrollBar.vertical.policy: ScrollBar.AsNeeded
ColumnLayout{ ColumnLayout {
spacing: 7 spacing: 7
width: stackedWidget.width width: stackedWidget.width
height: stackedWidget.height height: stackedWidget.height
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
RowLayout{ RowLayout {
Layout.fillWidth: true Layout.fillWidth: true
Item{ Item{
@ -259,7 +259,7 @@ Window{
Layout.maximumHeight: 20 Layout.maximumHeight: 20
} }
Label{ Label {
id: accountMigrationLabel id: accountMigrationLabel
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
@ -269,7 +269,7 @@ Window{
font.kerning: true font.kerning: true
wrapMode:Text.Wrap wrapMode:Text.Wrap
text: qsTr("Account Migration Required") text: JamiStrings.authenticationRequired
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
@ -305,7 +305,7 @@ Window{
font.kerning: true font.kerning: true
wrapMode:Text.Wrap wrapMode:Text.Wrap
text: qsTr("This account is malformed. Please enter your password") text: JamiStrings.migrationReason
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
@ -443,7 +443,7 @@ Window{
Layout.preferredWidth: 92 Layout.preferredWidth: 92
Layout.preferredHeight: 30 Layout.preferredHeight: 30
text: qsTr("Alias") text: JamiStrings.alias
font.pointSize: 10 font.pointSize: 10
font.kerning: true font.kerning: true
@ -516,7 +516,7 @@ Window{
Layout.preferredWidth: 92 Layout.preferredWidth: 92
Layout.preferredHeight: 30 Layout.preferredHeight: 30
text: qsTr("Username") text: JamiStrings.username
font.pointSize: 10 font.pointSize: 10
font.kerning: true font.kerning: true
@ -589,7 +589,7 @@ Window{
Layout.preferredWidth: 92 Layout.preferredWidth: 92
Layout.preferredHeight: 30 Layout.preferredHeight: 30
text: qsTr("Manager Uri") text: JamiStrings.jamsServer
font.pointSize: 10 font.pointSize: 10
font.kerning: true font.kerning: true
@ -662,7 +662,7 @@ Window{
Layout.preferredWidth: 92 Layout.preferredWidth: 92
Layout.preferredHeight: 30 Layout.preferredHeight: 30
text: qsTr("Password") text: JamiStrings.password
font.pointSize: 10 font.pointSize: 10
font.kerning: true font.kerning: true
@ -702,7 +702,7 @@ Window{
echoMode: TextInput.Password echoMode: TextInput.Password
placeholderText: qsTr("Password") placeholderText: JamiStrings.password
onTextChanged: { onTextChanged: {
if(text.length === 0){ if(text.length === 0){
@ -766,7 +766,7 @@ Window{
Layout.preferredHeight: 30 Layout.preferredHeight: 30
Layout.minimumHeight: 30 Layout.minimumHeight: 30
text: qsTr("Migrate") text: JamiStrings.authenticate
font.pointSize: 10 font.pointSize: 10
font.kerning: true font.kerning: true
@ -805,7 +805,7 @@ Window{
Layout.preferredHeight: 30 Layout.preferredHeight: 30
Layout.minimumHeight: 30 Layout.minimumHeight: 30
text: qsTr("Delete") text: JamiStrings.deleteAccount
font.pointSize: 10 font.pointSize: 10
font.kerning: true font.kerning: true
@ -945,7 +945,7 @@ Window{
Layout.fillWidth: true Layout.fillWidth: true
color: successState? "black" : "red" color: successState? "black" : "red"
text: successState? qsTr("Migrating your Jami account...") : qsTr("Migration Failed") text: successState? JamiStrings.inProgress : JamiStrings.authenticationFailed
font.pointSize: 11 font.pointSize: 11
font.kerning: true font.kerning: true

View file

@ -89,7 +89,7 @@ Dialog {
font.kerning: true font.kerning: true
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
wrapMode: Text.Wrap wrapMode: Text.Wrap
text:qsTr("Do you really want to delete the following account?") text: JamiStrings.confirmDeleteQuestion
} }
Label { Label {
@ -133,7 +133,7 @@ Dialog {
visible: ! isSIP visible: ! isSIP
wrapMode: Text.Wrap wrapMode: Text.Wrap
text: qsTr("If this account hasn't been exported, or added to another device, it will be irrevocably lost.") text: JamiStrings.deleteAccountInfos
font.pointSize: JamiTheme.textFontSize font.pointSize: JamiTheme.textFontSize
font.kerning: true font.kerning: true
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter

View file

@ -17,6 +17,7 @@
*/ */
import QtQuick 2.14 import QtQuick 2.14
import Qt.labs.platform 1.1 import Qt.labs.platform 1.1
import "../constant"
FileDialog { FileDialog {
id: root id: root
@ -30,7 +31,7 @@ FileDialog {
SaveFile SaveFile
} }
title: "Please choose a file" title: JamiStrings.selectFile
onModeChanged: { onModeChanged: {
switch(mode) { switch(mode) {

View file

@ -54,7 +54,7 @@ Dialog {
text: { text: {
switch(purpose){ switch(purpose){
case PasswordDialog.ExportAccount: case PasswordDialog.ExportAccount:
return qsTr("Enter the password of this account") return JamiStrings.enterPassword
case PasswordDialog.ChangePassword: case PasswordDialog.ChangePassword:
return qsTr("Changing password") return qsTr("Changing password")
case PasswordDialog.SetPassword: case PasswordDialog.SetPassword:
@ -171,7 +171,7 @@ Dialog {
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
placeholderText: qsTr("Enter Current Password") placeholderText: JamiStrings.enterCurrentPassword
onTextChanged: { onTextChanged: {
if (purpose === PasswordDialog.ChangePassword) { if (purpose === PasswordDialog.ChangePassword) {
@ -198,7 +198,7 @@ Dialog {
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
placeholderText: qsTr("Enter New Password") placeholderText: JamiStrings.enterNewPassword
onTextChanged: { onTextChanged: {
validatePassword() validatePassword()
@ -218,7 +218,7 @@ Dialog {
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
placeholderText: qsTr("Confirm New Password") placeholderText: JamiStrings.confirmNewPassword
onTextChanged: { onTextChanged: {
validatePassword() validatePassword()
@ -234,8 +234,9 @@ Dialog {
id: btnChangePasswordConfirm id: btnChangePasswordConfirm
contentItem: Text { contentItem: Text {
text: qsTr("CONFIRM") text: JamiStrings.confirm
color: JamiTheme.buttonTintedBlue color: JamiTheme.buttonTintedBlue
font.capitalization: Font.AllUppercase
} }
background: Rectangle { background: Rectangle {

View file

@ -53,7 +53,7 @@ ColumnLayout {
id: importFromFileToAvatar_Dialog id: importFromFileToAvatar_Dialog
mode: JamiFileDialog.OpenFile mode: JamiFileDialog.OpenFile
title: qsTr("Choose an image to be the avatar") title: JamiStrings.chooseAvatarImage
folder: StandardPaths.writableLocation(StandardPaths.PicturesLocation) folder: StandardPaths.writableLocation(StandardPaths.PicturesLocation)
nameFilters: [ qsTr("Image Files") + " (*.png *.jpg *.jpeg)",qsTr( nameFilters: [ qsTr("Image Files") + " (*.png *.jpg *.jpeg)",qsTr(
@ -234,7 +234,7 @@ ColumnLayout {
radius: height / 6 radius: height / 6
source: "qrc:/images/icons/round-folder-24px.svg" source: "qrc:/images/icons/round-folder-24px.svg"
toolTipText: qsTr("Import avatar from image file") toolTipText: JamiStrings.importFromFile
onClicked: { onClicked: {
importFromFileToAvatar_Dialog.open() importFromFileToAvatar_Dialog.open()

View file

@ -77,7 +77,7 @@ ItemDelegate {
FileDialog { FileDialog {
id: preferenceFilePathDialog id: preferenceFilePathDialog
title: qsTr("Please choose a file") title: JamiStrings.selectFile
folder: "file://" + currentPath folder: "file://" + currentPath
onAccepted: { onAccepted: {
@ -140,7 +140,7 @@ ItemDelegate {
model: pluginListPreferenceModel model: pluginListPreferenceModel
currentIndex: pluginListPreferenceModel.getCurrentSettingIndex() currentIndex: pluginListPreferenceModel.getCurrentSettingIndex()
textRole: qsTr("PreferenceValue") textRole: "PreferenceValue"
tooltipText: qsTr("Choose the preference") tooltipText: qsTr("Choose the preference")
onActivated: { onActivated: {
getNewPreferenceValueSlot(index) getNewPreferenceValueSlot(index)

View file

@ -0,0 +1,337 @@
/*
* Copyright (C) 2020 by Savoir-faire Linux
* Author: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
// JamiTheme as a singleton is to provide global strings entries.
pragma Singleton
import QtQuick 2.14
Item {
// Misc
property string contactSearchConversation: qsTr("Find a user or search for a conversation")
property string contactSearchInvitations: qsTr("Search your invitations")
property string invitations: qsTr("Invitations")
property string description: qsTr("Jami is free software for universal communication which respects the freedoms and the privacy of its users.")
// AboutPopUp
property string version: qsTr("Version")
property string slogan: qsTr("Together")
property string declaration: qsTr("Jami is a free software for universal communication which respects the freedom and privacy of its users.")
property string changelog: qsTr("Changelog")
property string credits: qsTr("Credits")
// AccountComboBox
property string displayQRCode: qsTr("Display QR code")
property string openSettings: qsTr("Open settings")
property string closeSettings: qsTr("Close settings")
// AccountMigrationDialog
property string authenticationRequired: qsTr("Authentication required")
property string migrationReason: qsTr("Your session has expired or been revoked on this device. Please enter your password.")
property string jamsServer: qsTr("JAMS server")
property string authenticate: qsTr("Authenticate")
property string deleteAccount: qsTr("Delete account")
property string inProgress: qsTr("In progress...")
property string authenticationFailed: qsTr("Authentication failed")
property string password: qsTr("Password")
property string username: qsTr("Username")
property string alias: qsTr("Alias")
// AdvancedCallSettings
property string callSettings: qsTr("Call Settings")
property string allowCallsUnknownContacs: qsTr("Allow incoming calls from unknown contacts")
property string rendezVous: qsTr("Rendezvous point: turn your account into a meeting point")
property string autoAnswerCalls: qsTr("Automatically answer calls")
property string enableCustomRingtone: qsTr("Enable custom ringtone")
property string selectCustomRingtone: qsTr("Select custom ringtone")
property string addCustomRingtone: qsTr("Add a custom ringtone")
property string selectNewRingtone: qsTr("Select a new ringtone")
// AdvancedVoiceMailSettings
property string voiceMail: qsTr("Voicemail")
property string voiceMailDialCode: qsTr("Voicemail dial code")
// AdvancedSIPSecuritySettings && AdvancedJamiSecuritySettings
property string security: qsTr("Security")
property string encryptMediaStream: qsTr("Encrypt media streams (SRTP)")
property string enableSDES: qsTr("Enable SDES key exchange")
property string fallbackRTP: qsTr("Allow fallback on RTP")
property string encryptNegotiation: qsTr("Encrypt negotiation (TLS)")
property string caCertificate: qsTr("CA certificate")
property string userCertificate: qsTr("User certificate")
property string privateKey: qsTr("Private key")
property string privateKeyPassword: qsTr("Private key password")
property string verifyCertificatesServer: qsTr("Verify certificates for incoming TLS connections")
property string verifyCertificatesClient: qsTr("Verify server TLS certificates")
property string tlsRequireConnections: qsTr("Require certificate for incoming TLS connections")
property string tlsProtocol: qsTr("TLS protocol method")
property string audioDeviceSelector: qsTr("Audio input device selector")
property string tlsServerName: qsTr("TLS server name")
property string negotiationTimeOut: qsTr("Negotiation timeout (seconds)")
property string selectPrivateKey: qsTr("Select a private key")
property string selectUserCert: qsTr("Select an user certificate")
property string selectCACert: qsTr("Select a CA certificate")
// AdvancedConnectivitySettings
property string connectivity: qsTr("Connectivity")
property string registrationTimeOut: qsTr("Registration expire timeout (seconds)")
property string networkInterface: qsTr("Network interface")
property string useUPnP: qsTr("Use UPnP")
property string useTURN: qsTr("Use TURN")
property string turnAdress: qsTr("TURN address")
property string turnUsername: qsTr("TURN username")
property string turnPassword: qsTr("TURN password")
property string turnRealm: qsTr("TURN Realm")
property string useSTUN: qsTr("Use STUN")
property string stunAdress: qsTr("STUN address")
// AdvancedPublicAddressSettings
property string publicAddress: qsTr("Public address")
property string useCustomAddress: qsTr("Use custom address/port")
property string address: qsTr("Address")
property string port: qsTr("Port")
// AdvancedMediaSettings
property string media: qsTr("Media")
property string enableVideo: qsTr("Enable video")
// AdvancedSDPSettings
property string sdpSettingsTitle: qsTr("SDP Session Negotiation (ICE Fallback)")
property string sdpSettingsSubtitle: qsTr("Only used during negotiation in case ICE is not supported")
property string audioRTPMinPort: qsTr("Audio RTP minimum Port")
property string audioRTPMaxPort: qsTr("Audio RTP maximum Port")
property string videoRTPMinPort: qsTr("Video RTP minimum Port")
property string videoRTPMaxPort: qsTr("Video RTP maximum port")
// AdvancedOpenDHTSettings
property string enablePeerDiscovery: qsTr("Enable local peer discovery.")
property string tooltipPeerDiscovery: qsTr("Connect to other DHT nodes advertising on your local network.")
property string openDHTConfig: qsTr("OpenDHT Configuration")
property string enableProxy: qsTr("Enable proxy")
property string proxyAddress: qsTr("Proxy address")
property string bootstrap: qsTr("Bootstrap")
// SettingsHeader
property string back: qsTr("Back")
// AVSettingsPage
property string avSettingsTitle: qsTr("Audio & Video Settings")
// AudioSettings
property string audio: qsTr("Audio")
property string microphone: qsTr("Microphone")
property string selectAudioInputDevice: qsTr("Select audio input device")
property string outputDevice: qsTr("Output device")
property string selectAudioOutputDevice: qsTr("Select audio output device")
property string ringtoneDevice: qsTr("Ringtone device")
property string selectRingtoneOutputDevice: qsTr("Select ringtone output device")
property string audioManager: qsTr("Audio manager")
// VideoSettings
property string video: qsTr("Video")
property string selectVideoDevice: qsTr("Select video device")
property string device: qsTr("Device")
property string resolution: qsTr("Resolution")
property string selectVideoResolution: qsTr("Select video resolution")
property string fps: qsTr("Frame per second")
property string selectFPS: qsTr("Select video frame per second (fps)")
property string enableHWAccel: qsTr("Enable hardware acceleration")
property string previewUnavailable: qsTr("Preview unavailable")
// BackupKeyPage
property string backupAccountInfos: qsTr("Your account only exists on this device. " +
"If you lost your device or uninstall the application, " +
"your account will be deleted and can not be recovered. " +
"You can backup your account now or later.")
property string backupAccountHere: qsTr("Backup account here")
property string backupAccount: qsTr("Backup your account!")
property string backupAccountBtn: qsTr("Backup account")
property string skip: qsTr("Skip")
property string neverShowAgain: qsTr("Never show me this again")
property string recommended: qsTr("Recommended")
// BannedItemDelegate
property string reinstateContact: qsTr("Reinstate as contact")
property string name: qsTr("name")
property string identifier: qsTr("Identifier")
// CallOverlayButtonGroup
property string mute: qsTr("Mute")
property string unmute: qsTr("Unmute")
property string hangup: qsTr("Hang-up")
property string pause: qsTr("Pause")
property string resume: qsTr("Resume")
property string addParticipants: qsTr("Add participants")
property string chat: qsTr("Chat")
property string moreOptions: qsTr("More options")
// CallViewContextMenu
property string hold: qsTr("Hold")
property string sipInputPanel: qsTr("Sip input panel")
property string transferCall: qsTr("Transfer call")
property string stopRec: qsTr("Stop recording")
property string startRec: qsTr("Start recording")
property string exitFullScreen: qsTr("Exit full screen")
property string fullScreen: qsTr("Full screen")
property string shareScreen: qsTr("Share screen")
property string shareScreenArea: qsTr("Share screen area")
property string shareFile: qsTr("Share file")
property string viewPlugin: qsTr("View plugin")
property string noVideoDevice: qsTr("No video device")
// ConnectToAccountManager
property string enterJAMSURL: qsTr("Enter Jami Account Management Server (JAMS) URL")
property string required: qsTr("Required")
property string jamiManagementServerURL: qsTr("Jami Account Management Server URL")
property string jamsCredentials: qsTr("Enter your JAMS credentials")
property string connect: qsTr("Connect")
property string generatingAccount: qsTr("Generating account…")
property string backToWelcome: qsTr("Back to welcome page")
// CreateAccountPage
property string chooseName: qsTr("Choose name")
property string chooseUsername: qsTr("Choose username")
property string createPassword: qsTr("Create password")
property string createRV: qsTr("Create rendez-vous")
property string createAccount: qsTr("Create account")
property string confirmPassword: qsTr("Confirm password")
property string notePasswordRecovery: qsTr("Note that the password cannot be recovered")
property string optional: qsTr("Optional")
// CreateSIPAccountPage
property string proxy: qsTr("Proxy")
property string server: qsTr("Server")
property string createSIPAccount: qsTr("Create SIP account")
property string configureExistingSIP: qsTr("Configure an existing SIP account")
// CurrentAccountSettings && AdvancedSettings
property string backupSuccessful: qsTr("Backup successful")
property string backupFailed: qsTr("Backup failed")
property string changePasswordSuccess: qsTr("Password changed successfully")
property string changePasswordFailed: qsTr("Password change failed")
property string setPasswordSuccess: qsTr("Password set successfully")
property string setPasswordFailed: qsTr("Password set failed")
property string changePassword: qsTr("Change password")
property string setPassword: qsTr("Set password")
property string setAPassword: qsTr("Set a password")
property string changeCurrentPassword: qsTr("Change current password")
property string tipBackupAccount: qsTr("Backup account to a .gz file")
property string tipAdvancedSettingsDisplay: qsTr("Display or hide advanced settings")
property string enableAccount: qsTr("Enable account")
// NameRegistrationDialog
property string setUsername: qsTr("Set username")
property string registeringName: qsTr("Registering name")
// JamiUserIdentity
property string registerUsername: qsTr("Register a username")
// LinkedDevices
property string tipLinkNewDevice: qsTr("Link a new device to this account")
property string linkAnotherDevice: qsTr("Link another device")
// BannedContacts
property string tipBannedContacts: qsTr("Display or hide banned contacts")
// DeleteAccountDialog
property string confirmDeleteQuestion: qsTr("Do you really want to delete this account?")
property string deleteAccountInfos: qsTr("If your account has not been backuped, or added to another device, your account and registered name will be irrevocably lost.")
// DeviceItemDelegate
property string editDeviceName: qsTr("Edit device name")
property string unlinkDevice: qsTr("Unlink device from account")
// SystemSettings
property string selectFolder: qsTr("Select a folder")
property string enableNotifications: qsTr("Enable notifications")
property string keepMinimized: qsTr("Keep minimized on close")
property string tipRunStartup: qsTr("Run application on system startup")
property string runStartup: qsTr("Run on startup")
property string downloadFolder: qsTr("Downloads directory")
property string tipChooseDownloadFolder: qsTr("Choose download directory")
property string recordCall: qsTr("Record call")
// UpdateSettings
property string betaInstall: qsTr("Install beta version")
// Recording Settings
property string tipRecordFolder: qsTr("Select a record directory")
// ImportFromBackupPage
property string archive: qsTr("Archive")
property string openFile: qsTr("Open file")
property string importAccountArchive: qsTr("Create your account from a backup")
property string importAccountExplanation: qsTr("You can obtain an archive by clicking on \"Backup account\" " +
"in the account settings. " +
"This will create a .gz file on your device.")
property string connectFromBackup: qsTr("Restore an account from backup")
// ImportFromDevicePage
property string mainAccountPassword: qsTr("Enter Jami account password")
property string enterPIN: qsTr("Enter the PIN from another configured Jami account. " +
"Use the \"Link Another Device\" feature to obtain a PIN")
property string connectFromAnotherDevice: qsTr("Create account from an another device")
// KeyBoardShortcutTable
property string conversations: ("Conversations")
// LinkDevicesDialog
property string pinTimerInfos: qsTr("The PIN and the account password should be entered in your device within 10 minutes.")
property string close: qsTr("Close")
// PasswordDialog
property string enterPassword: qsTr("Enter the password")
property string enterCurrentPassword: qsTr("Enter current password")
property string enterNewPassword: qsTr("Enter new password")
property string confirmNewPassword: qsTr("Confirm new password")
property string confirm: qsTr("Confirm")
// PhotoBoothView
property string chooseAvatarImage: qsTr("Choose a picture as avatar")
property string importFromFile: qsTr("Import avatar from image file")
// PluginListPreferencesView
property string reset: qsTr("Reset")
property string selectPluginInstall: qsTr("Select a plugin to install")
property string installPlugin: qsTr("Install plugin")
// PreferenceItemDelegate
property string selectFile: qsTr("Please select a file")
// ProfilePage
property string saveProfile: qsTr("Save profile")
// RevokeDevicePasswordDialog
property string confirmRemovalRequest: qsTr("Enter the account password to confirm the removal of this device")
// SelectScreen
property string selectScreen: qsTr("Select a screen to share")
// UserProfile
property string qrCode: qsTr("QR code")
// WelcomePage
property string shareInvite: qsTr("This is your Jami username.\nCopy and share it with your friends!")
property string linkFromAnotherDevice: qsTr("Link this device to an existing account")
property string advancedFeatures: qsTr("Advanced features")
property string showAdvancedFeatures: qsTr("Show advanced features")
property string connectJAMSServer: qsTr("Connect to a JAMS server")
property string createFromJAMS: qsTr("Create account from Jami Account Manager Server (JAMS)")
property string addSIPAccount: qsTr("Add a SIP account")
property string errorCreateAccount: qsTr("Error while creating your account. Check your credentials.")
}

View file

@ -94,10 +94,6 @@ Item {
property int preferredFieldHeight: 32 property int preferredFieldHeight: 32
property int preferredMarginSize: 16 property int preferredMarginSize: 16
// Place holder text.
property string contactSearchBarPlaceHolderConversationText: qsTr("Find or start a conversation")
property string contactSearchBarPlaceHolderInivitionText: qsTr("Search your invitations")
// Jami theme colors // Jami theme colors
function rgb256(r, g, b) { function rgb256(r, g, b) {
return Qt.rgba(r / 256, g / 256, b / 256, 1) return Qt.rgba(r / 256, g / 256, b / 256, 1)

View file

@ -23,6 +23,7 @@ import net.jami.Models 1.0
import net.jami.Adapters 1.0 import net.jami.Adapters 1.0
import "../../commoncomponents" import "../../commoncomponents"
import "../../constant"
Dialog { Dialog {
id: aboutPopUp id: aboutPopUp
@ -83,7 +84,7 @@ Dialog {
TextMetrics { TextMetrics {
id: textMetricsjamiVersionText id: textMetricsjamiVersionText
font: jamiVersionText.font font: jamiVersionText.font
text: qsTr("version") + ": " + UtilsAdapter.getVersionStr() text: JamiStrings.version + ": " + UtilsAdapter.getVersionStr()
} }
} }
@ -106,7 +107,7 @@ Dialog {
TextMetrics { TextMetrics {
id: textMetricsjamiSlogansText id: textMetricsjamiSlogansText
font: jamiSlogansText.font font: jamiSlogansText.font
text: qsTr("Together") text: JamiStrings.slogan
} }
} }
@ -126,7 +127,7 @@ Dialog {
// TextMetrics does not work for multi-line. // TextMetrics does not work for multi-line.
text: qsTr("The Qt client for Jami.\nJami is a secured and distributed communication software.") text: JamiStrings.declaration
} }
Label { Label {
@ -223,7 +224,7 @@ Dialog {
Layout.alignment: Qt.AlignCenter Layout.alignment: Qt.AlignCenter
Layout.preferredWidth: aboutPopUpContentRect.width Layout.preferredWidth: aboutPopUpContentRect.width
Layout.preferredHeight: 30 Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.bottomMargin: 10 Layout.bottomMargin: 10
RowLayout { RowLayout {
@ -233,7 +234,8 @@ Dialog {
MaterialButton { MaterialButton {
id: changeLogButton id: changeLogButton
text: qsTr("Changelog") Layout.preferredHeight: JamiTheme.preferredFieldHeight
text: JamiStrings.changelog
color: projectCreditsScrollView.visible? JamiTheme.buttonTintedGreyInactive : JamiTheme.buttonTintedGrey color: projectCreditsScrollView.visible? JamiTheme.buttonTintedGreyInactive : JamiTheme.buttonTintedGrey
hoveredColor: JamiTheme.buttonTintedGreyHovered hoveredColor: JamiTheme.buttonTintedGreyHovered
pressedColor: JamiTheme.buttonTintedGreyPressed pressedColor: JamiTheme.buttonTintedGreyPressed
@ -248,7 +250,8 @@ Dialog {
MaterialButton { MaterialButton {
id: creditsButton id: creditsButton
text: qsTr("Credit") Layout.preferredHeight: JamiTheme.preferredFieldHeight
text: JamiStrings.credits
color: projectCreditsScrollView.visible? JamiTheme.buttonTintedGrey : JamiTheme.buttonTintedGreyInactive color: projectCreditsScrollView.visible? JamiTheme.buttonTintedGrey : JamiTheme.buttonTintedGreyInactive
hoveredColor: JamiTheme.buttonTintedGreyHovered hoveredColor: JamiTheme.buttonTintedGreyHovered
pressedColor: JamiTheme.buttonTintedGreyPressed pressedColor: JamiTheme.buttonTintedGreyPressed

View file

@ -164,7 +164,7 @@ ComboBox {
width: 24 width: 24
height: 24 height: 24
toolTipText: qsTr("Press to display QR code") toolTipText: JamiStrings.displayQRCode
hoverEnabled: true hoverEnabled: true
source: "qrc:/images/qrcode.png" source: "qrc:/images/qrcode.png"
@ -189,7 +189,7 @@ ComboBox {
source: !mainViewWindow.inSettingsView ? "qrc:/images/icons/round-settings-24px.svg" : source: !mainViewWindow.inSettingsView ? "qrc:/images/icons/round-settings-24px.svg" :
"qrc:/images/icons/round-close-24px.svg" "qrc:/images/icons/round-close-24px.svg"
toolTipText: !mainViewWindow.inSettingsView ?qsTr("Press to toggle to settings page") : qsTr("Press to toggle to call page") toolTipText: !mainViewWindow.inSettingsView ? JamiStrings.openSettings : JamiStrings.closeSettings
hoverEnabled: true hoverEnabled: true
backgroundColor: "white" backgroundColor: "white"

View file

@ -93,7 +93,7 @@ Rectangle {
checkedColor: JamiTheme.declineButtonPressedRed checkedColor: JamiTheme.declineButtonPressedRed
radius: 30 radius: 30
toolTipText: !checked ? qsTr("Press to mute the call") : qsTr("Press to unmute the call") toolTipText: !checked ? JamiStrings.mute : JamiStrings.unmute
onClicked: { onClicked: {
CallAdapter.muteThisCallToggle() CallAdapter.muteThisCallToggle()
@ -118,7 +118,7 @@ Rectangle {
color: "white" color: "white"
radius: 30 radius: 30
toolTipText: qsTr("Press to hang up the call") toolTipText: JamiStrings.hangup
onClicked: { onClicked: {
CallAdapter.hangUpThisCall() CallAdapter.hangUpThisCall()
@ -145,7 +145,7 @@ Rectangle {
checkedColor: JamiTheme.declineButtonPressedRed checkedColor: JamiTheme.declineButtonPressedRed
radius: 30 radius: 30
toolTipText: !checked ? qsTr("Press to pause the call") : qsTr("Press to resume the call") toolTipText: !checked ? JamiStrings.pause : JamiStrings.resume
onClicked: { onClicked: {
CallAdapter.videoPauseThisCallToggle() CallAdapter.videoPauseThisCallToggle()
@ -175,7 +175,7 @@ Rectangle {
source: "qrc:/images/icons/ic_group_add_white_24dp.png" source: "qrc:/images/icons/ic_group_add_white_24dp.png"
radius: 30 radius: 30
toolTipText: qsTr("Press to add more contact into conference call") toolTipText: JamiStrings.addParticipants
onClicked: { onClicked: {
root.addToConferenceButtonClicked() root.addToConferenceButtonClicked()
@ -200,7 +200,7 @@ Rectangle {
source: "qrc:/images/icons/ic_chat_white_24dp.png" source: "qrc:/images/icons/ic_chat_white_24dp.png"
radius: 30 radius: 30
toolTipText: qsTr("Press to toggle open the chatview") toolTipText: JamiStrings.chat
onClicked: { onClicked: {
root.chatButtonClicked() root.chatButtonClicked()
@ -224,7 +224,7 @@ Rectangle {
source: "qrc:/images/icons/more_vert-24px.svg" source: "qrc:/images/icons/more_vert-24px.svg"
radius: 30 radius: 30
toolTipText: qsTr("Press to open chat options") toolTipText: JamiStrings.moreOptions
onClicked: { onClicked: {
var rectPos = mapToItem(callStackViewWindow, optionsButton.x, optionsButton.y) var rectPos = mapToItem(callStackViewWindow, optionsButton.x, optionsButton.y)

View file

@ -43,19 +43,19 @@ Item {
function openMenu(){ function openMenu(){
if (isSIP){ if (isSIP){
ContextMenuGenerator.addMenuItem(isPaused ? qsTr("Resume call") : qsTr("Hold call"), ContextMenuGenerator.addMenuItem(isPaused ? JamiStrings.resume : JamiStrings.hold,
isPaused ? isPaused ?
"qrc:/images/icons/play_circle_outline-24px.svg" : "qrc:/images/icons/play_circle_outline-24px.svg" :
"qrc:/images/icons/pause_circle_outline-24px.svg", "qrc:/images/icons/pause_circle_outline-24px.svg",
function (){ function (){
CallAdapter.holdThisCallToggle() CallAdapter.holdThisCallToggle()
}) })
ContextMenuGenerator.addMenuItem(qsTr("Sip Input Panel"), ContextMenuGenerator.addMenuItem(JamiStrings.sipInputPanel,
"qrc:/images/icons/ic_keypad.svg", "qrc:/images/icons/ic_keypad.svg",
function (){ function (){
sipInputPanel.open() sipInputPanel.open()
}) })
ContextMenuGenerator.addMenuItem(qsTr("Transfer call"), ContextMenuGenerator.addMenuItem(JamiStrings.transferCall,
"qrc:/images/icons/phone_forwarded-24px.svg", "qrc:/images/icons/phone_forwarded-24px.svg",
function (){ function (){
root.transferCallButtonClicked() root.transferCallButtonClicked()
@ -65,14 +65,14 @@ Item {
} }
if (!isAudioOnly) { if (!isAudioOnly) {
ContextMenuGenerator.addMenuItem(isRecording ? qsTr("Stop recording") : ContextMenuGenerator.addMenuItem(isRecording ? JamiStrings.stopRec :
qsTr("Start recording"), JamiStrings.startRec,
"qrc:/images/icons/ic_video_call_24px.svg", "qrc:/images/icons/ic_video_call_24px.svg",
function (){ function (){
CallAdapter.recordThisCallToggle() CallAdapter.recordThisCallToggle()
}) })
ContextMenuGenerator.addMenuItem(videoCallPage.isFullscreen ? qsTr("Exit full screen") : ContextMenuGenerator.addMenuItem(videoCallPage.isFullscreen ? JamiStrings.exitFullScreen :
qsTr("Full screen mode"), JamiStrings.fullScreen,
videoCallPage.isFullscreen ? videoCallPage.isFullscreen ?
"qrc:/images/icons/close_fullscreen-24px.svg" : "qrc:/images/icons/close_fullscreen-24px.svg" :
"qrc:/images/icons/open_in_full-24px.svg", "qrc:/images/icons/open_in_full-24px.svg",
@ -86,7 +86,7 @@ Item {
ContextMenuGenerator.addMenuSeparator() ContextMenuGenerator.addMenuSeparator()
ContextMenuGenerator.addMenuItem(qsTr("Share entire screen"), ContextMenuGenerator.addMenuItem(JamiStrings.shareScreen,
"qrc:/images/icons/screen_share-24px.svg", "qrc:/images/icons/screen_share-24px.svg",
function (){ function (){
if (Qt.application.screens.length === 1) { if (Qt.application.screens.length === 1) {
@ -96,7 +96,7 @@ Item {
SelectScreenWindowCreation.showSelectScreenWindow() SelectScreenWindowCreation.showSelectScreenWindow()
} }
}) })
ContextMenuGenerator.addMenuItem(qsTr("Share screen area"), ContextMenuGenerator.addMenuItem(JamiStrings.shareScreenArea,
"qrc:/images/icons/screen_share-24px.svg", "qrc:/images/icons/screen_share-24px.svg",
function (){ function (){
if (Qt.application.screens.length === 1) { if (Qt.application.screens.length === 1) {
@ -108,14 +108,14 @@ Item {
SelectScreenWindowCreation.showSelectScreenWindow() SelectScreenWindowCreation.showSelectScreenWindow()
} }
}) })
ContextMenuGenerator.addMenuItem(qsTr("Share file"), ContextMenuGenerator.addMenuItem(JamiStrings.shareFile,
"qrc:/images/icons/insert_photo-24px.svg", "qrc:/images/icons/insert_photo-24px.svg",
function (){ function (){
jamiFileDialog.open() jamiFileDialog.open()
}) })
} }
ContextMenuGenerator.addMenuItem(qsTr("Toggle plugin"), ContextMenuGenerator.addMenuItem(JamiStrings.viewPlugin,
"qrc:/images/icons/extension_24dp.svg", "qrc:/images/icons/extension_24dp.svg",
function (){ function (){
root.pluginItemClicked() root.pluginItemClicked()
@ -134,7 +134,7 @@ Item {
if (mapSize === 0) if (mapSize === 0)
VideoDeviceContextMenuItemCreation.createVideoDeviceContextMenuItemObjects( VideoDeviceContextMenuItemCreation.createVideoDeviceContextMenuItemObjects(
qsTr("No video device"), false) JamiStrings.noVideoDevice, false)
for (var deviceName in deviceContextMenuInfoMap) { for (var deviceName in deviceContextMenuInfoMap) {
if (deviceName === "size") if (deviceName === "size")

View file

@ -91,7 +91,7 @@ Rectangle {
anchors.left: contactSearchBar.left anchors.left: contactSearchBar.left
anchors.leftMargin: 10 anchors.leftMargin: 10
text: qsTr("Find or start a conversation") text: JamiStrings.contactSearchConversation
font.pointSize: JamiTheme.textFontSize font.pointSize: JamiTheme.textFontSize
color: JamiTheme.contactSearchBarPlaceHolderTextFontColor color: JamiTheme.contactSearchBarPlaceHolderTextFontColor
visible: !contactSearchBar.text && !contactSearchBar.activeFocus visible: !contactSearchBar.text && !contactSearchBar.activeFocus

View file

@ -38,7 +38,7 @@ Item {
function openMenu(){ function openMenu(){
if (showHangup) if (showHangup)
ContextMenuGenerator.addMenuItem(qsTr("Hang up"), ContextMenuGenerator.addMenuItem(JamiStrings.hangup,
"qrc:/images/icons/ic_call_end_white_24px.svg", "qrc:/images/icons/ic_call_end_white_24px.svg",
function (){ function (){
CallAdapter.hangupCall(uri) CallAdapter.hangupCall(uri)

View file

@ -85,7 +85,7 @@ Window {
font.pointSize: JamiTheme.textFontSize + 2 font.pointSize: JamiTheme.textFontSize + 2
font.bold: true font.bold: true
text: qsTr("Choose A Screen to Share") text: JamiStrings.selectScreen
} }
ScrollView { ScrollView {
@ -279,7 +279,7 @@ Window {
visible: selectedScreenNumber != -1 visible: selectedScreenNumber != -1
text: qsTr("Share Screen") text: JamiStrings.shareScreen
radius: 10 radius: 10
onClicked: { onClicked: {

View file

@ -69,7 +69,7 @@ Rectangle {
function accountChangedUIReset() { function accountChangedUIReset() {
contactSearchBar.clearText() contactSearchBar.clearText()
contactSearchBar.setPlaceholderString( contactSearchBar.setPlaceholderString(
JamiTheme.contactSearchBarPlaceHolderConversationText) JamiStrings.contactSearchConversation)
sidePanelTabBar.converstationTabDown = true sidePanelTabBar.converstationTabDown = true
sidePanelTabBar.invitationTabDown = false sidePanelTabBar.invitationTabDown = false
} }

View file

@ -79,7 +79,7 @@ TabBar {
function showConversations() { function showConversations() {
ConversationsAdapter.setConversationFilter("") ConversationsAdapter.setConversationFilter("")
contactSearchBar.setPlaceholderString( contactSearchBar.setPlaceholderString(
JamiTheme.contactSearchBarPlaceHolderConversationText) JamiStrings.contactSearchConversation)
pageOne.down = true pageOne.down = true
pageTwo.down = false pageTwo.down = false
setCurrentUidSmartListModelIndex() setCurrentUidSmartListModelIndex()
@ -119,7 +119,7 @@ TabBar {
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
text: qsTr("CONVERSATIONS") text: JamiStrings.conversations
font.pointSize: JamiTheme.textFontSize font.pointSize: JamiTheme.textFontSize
opacity: pageOne.down == true ? 1.0 : opacityDegree opacity: pageOne.down == true ? 1.0 : opacityDegree
color: JamiTheme.blueLogo_ color: JamiTheme.blueLogo_
@ -200,7 +200,7 @@ TabBar {
function showRequests() { function showRequests() {
ConversationsAdapter.setConversationFilter("PENDING") ConversationsAdapter.setConversationFilter("PENDING")
contactSearchBar.setPlaceholderString( contactSearchBar.setPlaceholderString(
JamiTheme.contactSearchBarPlaceHolderInivitionText) JamiStrings.contactSearchInvitations)
pageTwo.down = true pageTwo.down = true
pageOne.down = false pageOne.down = false
} }
@ -240,7 +240,7 @@ TabBar {
font.pointSize: JamiTheme.textFontSize font.pointSize: JamiTheme.textFontSize
text: qsTr("INVITATIONS") text: JamiStrings.invitations
//opacity: enabled ? 1.0 : 0.3 //opacity: enabled ? 1.0 : 0.3
opacity: pageTwo.down == true ? 1.0 : opacityDegree opacity: pageTwo.down == true ? 1.0 : opacityDegree
color: JamiTheme.blueLogo_ color: JamiTheme.blueLogo_

View file

@ -126,7 +126,7 @@ Dialog {
Text { Text {
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
font.pointSize: JamiTheme.textFontSize font.pointSize: JamiTheme.textFontSize
text: qsTr("ID") text: JamiStrings.identifier
color: JamiTheme.faddedFontColor color: JamiTheme.faddedFontColor
} }
@ -152,7 +152,7 @@ Dialog {
Text { Text {
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
font.pointSize: JamiTheme.textFontSize font.pointSize: JamiTheme.textFontSize
text: qsTr("QR Code") text: JamiStrings.qrCode
color: JamiTheme.faddedFontColor color: JamiTheme.faddedFontColor
} }

View file

@ -70,7 +70,7 @@ Rectangle {
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
text: qsTr("Jami is a free software for universal communication which repects the freedoms and privacy of its user.") text: JamiStrings.description
} }
Label { Label {
@ -88,7 +88,7 @@ Rectangle {
visible: AccountAdapter.currentAccountType === Profile.Type.RING visible: AccountAdapter.currentAccountType === Profile.Type.RING
text: qsTr("This is your ID.\nCopy and share it with your friends") text: JamiStrings.shareInvite
color: JamiTheme.faddedFontColor color: JamiTheme.faddedFontColor
} }

View file

@ -142,6 +142,7 @@ registerTypes()
*/ */
QML_REGISTERSINGLETONTYPE_URL("qrc:/src/constant/JamiTheme.qml", JamiTheme, 1, 0); QML_REGISTERSINGLETONTYPE_URL("qrc:/src/constant/JamiTheme.qml", JamiTheme, 1, 0);
QML_REGISTERSINGLETONTYPE_URL("qrc:/src/constant/JamiQmlUtils.qml", JamiQmlUtils, 1, 0); QML_REGISTERSINGLETONTYPE_URL("qrc:/src/constant/JamiQmlUtils.qml", JamiQmlUtils, 1, 0);
QML_REGISTERSINGLETONTYPE_URL("qrc:/src/constant/JamiStrings.qml", JamiStrings, 1, 0);
/* /*
* C++ singletons * C++ singletons

View file

@ -50,7 +50,7 @@ ColumnLayout {
SettingsAdapter.set_RingtonePath(url) SettingsAdapter.set_RingtonePath(url)
btnRingtone.setText(UtilsAdapter.toFileInfoName(url)) btnRingtone.setText(UtilsAdapter.toFileInfoName(url))
} else if (SettingsAdapter.getAccountConfig_Ringtone_RingtonePath().length === 0){ } else if (SettingsAdapter.getAccountConfig_Ringtone_RingtonePath().length === 0){
btnRingtone.setText(qsTr("Add a custom ringtone")) btnRingtone.setText(JamiStrings.addCustomRingtone)
} }
} }
@ -61,7 +61,7 @@ ColumnLayout {
property string openPath : oldPath === "" ? (UtilsAdapter.getCurrentPath() + "/ringtones/") : (UtilsAdapter.toFileAbsolutepath(oldPath)) property string openPath : oldPath === "" ? (UtilsAdapter.getCurrentPath() + "/ringtones/") : (UtilsAdapter.toFileAbsolutepath(oldPath))
mode: JamiFileDialog.OpenFile mode: JamiFileDialog.OpenFile
title: qsTr("Select a new ringtone") title: JamiStrings.selectNewRingtone
folder: openPath folder: openPath
nameFilters: [qsTr("Audio Files") + " (*.wav *.ogg *.opus *.mp3 *.aiff *.wma)", qsTr( nameFilters: [qsTr("Audio Files") + " (*.wav *.ogg *.opus *.mp3 *.aiff *.wma)", qsTr(
@ -76,7 +76,7 @@ ColumnLayout {
ElidedTextLabel { ElidedTextLabel {
Layout.fillWidth: true Layout.fillWidth: true
eText: qsTr("Call Settings") eText: JamiStrings.callSettings
fontSize: JamiTheme.headerFontSize fontSize: JamiTheme.headerFontSize
maxWidth: width maxWidth: width
} }
@ -89,7 +89,7 @@ ColumnLayout {
id: checkBoxUntrusted id: checkBoxUntrusted
visible: !root.isSIP visible: !root.isSIP
labelText: qsTr("Allow incoming calls from unknown contacts") labelText: JamiStrings.allowCallsUnknownContacs
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: { onSwitchToggled: {
@ -100,7 +100,7 @@ ColumnLayout {
ToggleSwitch { ToggleSwitch {
id: checkBoxAutoAnswer id: checkBoxAutoAnswer
labelText: qsTr("Auto Answer Calls") labelText: JamiStrings.autoAnswerCalls
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: { onSwitchToggled: {
@ -111,7 +111,7 @@ ColumnLayout {
ToggleSwitch { ToggleSwitch {
id: checkBoxCustomRingtone id: checkBoxCustomRingtone
labelText: qsTr("Enable Custom Ringtone") labelText: JamiStrings.enableCustomRingtone
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: { onSwitchToggled: {
@ -125,7 +125,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
titleField: qsTr("Select Custom Ringtone") titleField: JamiStrings.selectCustomRingtone
source: "qrc:/images/icons/round-folder-24px.svg" source: "qrc:/images/icons/round-folder-24px.svg"
itemWidth: root.itemWidth itemWidth: root.itemWidth
onClick: ringtonePath_Dialog.open() onClick: ringtonePath_Dialog.open()
@ -135,7 +135,7 @@ ColumnLayout {
id: checkBoxRdv id: checkBoxRdv
visible: !isSIP visible: !isSIP
labelText: qsTr("(Experimental) Rendez-vous: turn your account into a conference room") labelText: JamiStrings.rendezVous
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: { onSwitchToggled: {

View file

@ -36,7 +36,6 @@ ColumnLayout {
property bool isSIP property bool isSIP
function updateConnectivityAccountInfos() { function updateConnectivityAccountInfos() {
checkAutoConnectOnLocalNetwork.checked = SettingsAdapter.getAccountConfig_PeerDiscovery()
registrationExpireTimeoutSpinBox.setValue(SettingsAdapter.getAccountConfig_Registration_Expire()) registrationExpireTimeoutSpinBox.setValue(SettingsAdapter.getAccountConfig_Registration_Expire())
networkInterfaceSpinBox.setValue(SettingsAdapter.getAccountConfig_Localport()) networkInterfaceSpinBox.setValue(SettingsAdapter.getAccountConfig_Localport())
checkBoxUPnP.checked = SettingsAdapter.getAccountConfig_UpnpEnabled() checkBoxUPnP.checked = SettingsAdapter.getAccountConfig_UpnpEnabled()
@ -56,7 +55,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
eText: qsTr("Connectivity") eText: JamiStrings.connectivity
fontSize: JamiTheme.headerFontSize fontSize: JamiTheme.headerFontSize
maxWidth: width maxWidth: width
} }
@ -65,25 +64,11 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.leftMargin: JamiTheme.preferredMarginSize Layout.leftMargin: JamiTheme.preferredMarginSize
ToggleSwitch {
id: checkAutoConnectOnLocalNetwork
visible: !root.isSIP
Layout.fillWidth: true
labelText: qsTr("Auto Connect On Local Network")
fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: {
SettingsAdapter.setAutoConnectOnLocalNetwork(checked)
}
}
SettingSpinBox { SettingSpinBox {
id: registrationExpireTimeoutSpinBox id: registrationExpireTimeoutSpinBox
visible: isSIP visible: isSIP
title: qsTr("Registration Expire Timeout (seconds)") title: JamiStrings.registrationTimeOut
itemWidth: root.itemWidth itemWidth: root.itemWidth
bottomValue: 0 bottomValue: 0
topValue: 3000 topValue: 3000
@ -96,7 +81,7 @@ ColumnLayout {
id: networkInterfaceSpinBox id: networkInterfaceSpinBox
visible: isSIP visible: isSIP
title: qsTr("Newtwork interface") title: JamiStrings.networkInterface
itemWidth: root.itemWidth itemWidth: root.itemWidth
bottomValue: 0 bottomValue: 0
topValue: 65536 topValue: 65536
@ -110,7 +95,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
labelText: qsTr("Use UPnP") labelText: JamiStrings.useUPnP
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: SettingsAdapter.setUseUPnP(checked) onSwitchToggled: SettingsAdapter.setUseUPnP(checked)
@ -121,7 +106,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
labelText: qsTr("Use TURN") labelText: JamiStrings.useTURN
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: { onSwitchToggled: {
@ -141,7 +126,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
itemWidth: root.itemWidth itemWidth: root.itemWidth
titleField: qsTr("TURN Address") titleField: JamiStrings.turnAdress
onEditFinished: SettingsAdapter.setTURNAddress(textField) onEditFinished: SettingsAdapter.setTURNAddress(textField)
} }
@ -151,7 +136,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
itemWidth: root.itemWidth itemWidth: root.itemWidth
titleField: qsTr("TURN Username") titleField: JamiStrings.turnUsername
onEditFinished: SettingsAdapter.setTURNUsername(textField) onEditFinished: SettingsAdapter.setTURNUsername(textField)
} }
@ -161,7 +146,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
itemWidth: root.itemWidth itemWidth: root.itemWidth
titleField: qsTr("TURN Password") titleField: JamiStrings.turnPassword
onEditFinished: SettingsAdapter.setTURNPassword(textField) onEditFinished: SettingsAdapter.setTURNPassword(textField)
} }
@ -172,7 +157,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
itemWidth: root.itemWidth itemWidth: root.itemWidth
titleField: qsTr("TURN Realm") titleField: JamiStrings.turnRealm
onEditFinished: SettingsAdapter.setTURNRealm(textField) onEditFinished: SettingsAdapter.setTURNRealm(textField)
} }
@ -181,7 +166,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
labelText: qsTr("Use STUN") labelText: JamiStrings.useSTUN
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: { onSwitchToggled: {
@ -196,7 +181,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
itemWidth: root.itemWidth itemWidth: root.itemWidth
titleField: qsTr("STUN Address") titleField: JamiStrings.stunAdress
onEditFinished: SettingsAdapter.setSTUNAddress(textField) onEditFinished: SettingsAdapter.setSTUNAddress(textField)
} }
} }

View file

@ -71,7 +71,7 @@ ColumnLayout {
property string openPath : oldPath === "" ? (UtilsAdapter.getCurrentPath() + "/ringtones/") : (UtilsAdapter.toFileAbsolutepath(oldPath)) property string openPath : oldPath === "" ? (UtilsAdapter.getCurrentPath() + "/ringtones/") : (UtilsAdapter.toFileAbsolutepath(oldPath))
mode: JamiFileDialog.OpenFile mode: JamiFileDialog.OpenFile
title: qsTr("Select a CA certificate") title: JamiStrings.selectCACert
folder: openPath folder: openPath
nameFilters: [qsTr("Certificate File") + " (*.crt)", qsTr( nameFilters: [qsTr("Certificate File") + " (*.crt)", qsTr(
"All files") + " (*)"] "All files") + " (*)"]
@ -89,7 +89,7 @@ ColumnLayout {
property string openPath : oldPath === "" ? (UtilsAdapter.getCurrentPath() + "/ringtones/") : (UtilsAdapter.toFileAbsolutepath(oldPath)) property string openPath : oldPath === "" ? (UtilsAdapter.getCurrentPath() + "/ringtones/") : (UtilsAdapter.toFileAbsolutepath(oldPath))
mode: JamiFileDialog.OpenFile mode: JamiFileDialog.OpenFile
title: qsTr("Select a user certificate") title: JamiStrings.selectUserCert
folder: openPath folder: openPath
nameFilters: [qsTr("Certificate File") + " (*.crt)", qsTr( nameFilters: [qsTr("Certificate File") + " (*.crt)", qsTr(
"All files") + " (*)"] "All files") + " (*)"]
@ -109,7 +109,7 @@ ColumnLayout {
property string openPath : oldPath === "" ? (UtilsAdapter.getCurrentPath() + "/ringtones/") : (UtilsAdapter.toFileAbsolutepath(oldPath)) property string openPath : oldPath === "" ? (UtilsAdapter.getCurrentPath() + "/ringtones/") : (UtilsAdapter.toFileAbsolutepath(oldPath))
mode: JamiFileDialog.OpenFile mode: JamiFileDialog.OpenFile
title: qsTr("Select a private key") title: JamiStrings.selectPrivateKey
folder: openPath folder: openPath
nameFilters: [qsTr("Key File") + " (*.key)", qsTr( nameFilters: [qsTr("Key File") + " (*.key)", qsTr(
"All files") + " (*)"] "All files") + " (*)"]
@ -124,7 +124,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
eText: qsTr("Security") eText: JamiStrings.security
fontSize: JamiTheme.headerFontSize fontSize: JamiTheme.headerFontSize
maxWidth: width maxWidth: width
} }
@ -138,7 +138,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
titleField: qsTr("CA Certificate") titleField: JamiStrings.caCertificate
source: "qrc:/images/icons/round-folder-24px.svg" source: "qrc:/images/icons/round-folder-24px.svg"
itemWidth: root.itemWidth itemWidth: root.itemWidth
onClick: caCert_Dialog.open() onClick: caCert_Dialog.open()
@ -149,7 +149,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
titleField: qsTr("User Certificate") titleField: JamiStrings.userCertificate
source: "qrc:/images/icons/round-folder-24px.svg" source: "qrc:/images/icons/round-folder-24px.svg"
itemWidth: root.itemWidth itemWidth: root.itemWidth
onClick: userCert_Dialog.open() onClick: userCert_Dialog.open()
@ -160,7 +160,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
titleField: qsTr("Private Key") titleField: JamiStrings.privateKey
source: "qrc:/images/icons/round-folder-24px.svg" source: "qrc:/images/icons/round-folder-24px.svg"
itemWidth: root.itemWidth itemWidth: root.itemWidth
onClick: privateKey_Dialog.open() onClick: privateKey_Dialog.open()
@ -172,7 +172,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
itemWidth: root.itemWidth itemWidth: root.itemWidth
titleField: qsTr("Private Key Password") titleField: JamiStrings.privateKeyPassword
} }
} }
} }

View file

@ -42,7 +42,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
text: qsTr("Media") text: JamiStrings.media
font.pointSize: JamiTheme.headerFontSize font.pointSize: JamiTheme.headerFontSize
font.kerning: true font.kerning: true
@ -57,7 +57,7 @@ ColumnLayout {
ToggleSwitch { ToggleSwitch {
id: videoCheckBox id: videoCheckBox
labelText: qsTr("Enable Video") labelText: JamiStrings.enableVideo
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: SettingsAdapter.setVideoState(checked) onSwitchToggled: SettingsAdapter.setVideoState(checked)

View file

@ -35,6 +35,7 @@ ColumnLayout {
property int itemWidth property int itemWidth
function updateOpenDHTSettingsInfos() { function updateOpenDHTSettingsInfos() {
checkAutoConnectOnLocalNetwork.checked = SettingsAdapter.getAccountConfig_PeerDiscovery()
checkBoxEnableProxy.checked = SettingsAdapter.getAccountConfig_ProxyEnabled() checkBoxEnableProxy.checked = SettingsAdapter.getAccountConfig_ProxyEnabled()
lineEditProxy.setText(SettingsAdapter.getAccountConfig_ProxyServer()) lineEditProxy.setText(SettingsAdapter.getAccountConfig_ProxyServer())
lineEditBootstrap.setText(SettingsAdapter.getAccountConfig_Hostname()) lineEditBootstrap.setText(SettingsAdapter.getAccountConfig_Hostname())
@ -50,7 +51,7 @@ ColumnLayout {
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
text: qsTr("OpenDHT Configuration") text: JamiStrings.openDHTConfig
elide: Text.ElideRight elide: Text.ElideRight
} }
@ -58,10 +59,25 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.leftMargin: JamiTheme.preferredMarginSize Layout.leftMargin: JamiTheme.preferredMarginSize
ToggleSwitch {
id: checkAutoConnectOnLocalNetwork
visible: !root.isSIP
Layout.fillWidth: true
labelText: JamiStrings.enablePeerDiscovery
tooltipText: JamiStrings.tooltipPeerDiscovery
fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: {
SettingsAdapter.setAutoConnectOnLocalNetwork(checked)
}
}
ToggleSwitch { ToggleSwitch {
id: checkBoxEnableProxy id: checkBoxEnableProxy
labelText: qsTr("Enable proxy") labelText: JamiStrings.enableProxy
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: { onSwitchToggled: {
@ -76,7 +92,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
itemWidth: root.itemWidth itemWidth: root.itemWidth
titleField: qsTr("Proxy Address") titleField: JamiStrings.proxyAddress
onEditFinished: SettingsAdapter.setProxyAddress(textField) onEditFinished: SettingsAdapter.setProxyAddress(textField)
} }
@ -87,7 +103,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
itemWidth: root.itemWidth itemWidth: root.itemWidth
titleField: qsTr("Bootstrap") titleField: JamiStrings.bootstrap
onEditFinished: SettingsAdapter.setBootstrapAddress(textField) onEditFinished: SettingsAdapter.setBootstrapAddress(textField)
} }

View file

@ -49,7 +49,7 @@ ColumnLayout {
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
text: qsTr("Public Address") text: JamiStrings.publicAddress
elide: Text.ElideRight elide: Text.ElideRight
} }
@ -60,7 +60,7 @@ ColumnLayout {
ToggleSwitch { ToggleSwitch {
id: checkBoxCustomAddressPort id: checkBoxCustomAddressPort
labelText: qsTr("Use Custom Address/Port") labelText: JamiStrings.useCustomAddress
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: { onSwitchToggled: {
@ -76,7 +76,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
itemWidth: root.itemWidth itemWidth: root.itemWidth
titleField: qsTr("Address") titleField: JamiStrings.address
onEditFinished: SettingsAdapter.lineEditSIPCustomAddressLineEditTextChanged(textField) onEditFinished: SettingsAdapter.lineEditSIPCustomAddressLineEditTextChanged(textField)
} }
@ -84,7 +84,7 @@ ColumnLayout {
SettingSpinBox { SettingSpinBox {
id: customPortSIPSpinBox id: customPortSIPSpinBox
title: qsTr("Port") title: JamiStrings.port
itemWidth: root.itemWidth itemWidth: root.itemWidth
bottomValue: 0 bottomValue: 0
topValue: 65535 topValue: 65535

View file

@ -79,7 +79,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
eText: qsTr("SDP Session Negotiation (ICE Fallback)") eText: JamiStrings.sdpSettingsTitle
fontSize: JamiTheme.headerFontSize fontSize: JamiTheme.headerFontSize
maxWidth: width maxWidth: width
} }
@ -89,7 +89,7 @@ ColumnLayout {
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.leftMargin: JamiTheme.preferredMarginSize Layout.leftMargin: JamiTheme.preferredMarginSize
eText: qsTr("Only used during negotiation in case ICE is not supported") eText: JamiStrings.sdpSettingsSubtitle
fontSize: JamiTheme.settingsFontSize fontSize: JamiTheme.settingsFontSize
maxWidth: width maxWidth: width
} }
@ -101,7 +101,7 @@ ColumnLayout {
SettingSpinBox { SettingSpinBox {
id: audioRTPMinPortSpinBox id: audioRTPMinPortSpinBox
title: qsTr("Audio RTP Min Port") title: JamiStrings.audioRTPMinPort
itemWidth: root.itemWidth itemWidth: root.itemWidth
bottomValue: 0 bottomValue: 0
topValue: 65535 topValue: 65535
@ -113,7 +113,7 @@ ColumnLayout {
SettingSpinBox { SettingSpinBox {
id: audioRTPMaxPortSpinBox id: audioRTPMaxPortSpinBox
title: qsTr("Audio RTP Max Port") title: JamiStrings.audioRTPMaxPort
itemWidth: root.itemWidth itemWidth: root.itemWidth
bottomValue: 0 bottomValue: 0
topValue: 65535 topValue: 65535
@ -125,7 +125,7 @@ ColumnLayout {
SettingSpinBox { SettingSpinBox {
id: videoRTPMinPortSpinBox id: videoRTPMinPortSpinBox
title: qsTr("Video RTP Min Port") title: JamiStrings.videoRTPMinPort
itemWidth: root.itemWidth itemWidth: root.itemWidth
bottomValue: 0 bottomValue: 0
topValue: 65535 topValue: 65535
@ -137,7 +137,7 @@ ColumnLayout {
SettingSpinBox { SettingSpinBox {
id: videoRTPMaxPortSpinBox id: videoRTPMaxPortSpinBox
title: qsTr("Video RTP Max Port") title: JamiStrings.videoRTPMaxPort
itemWidth: root.itemWidth itemWidth: root.itemWidth
bottomValue: 0 bottomValue: 0
topValue: 65535 topValue: 65535

View file

@ -89,7 +89,7 @@ ColumnLayout {
property string openPath : oldPath === "" ? (UtilsAdapter.getCurrentPath() + "/ringtones/") : (UtilsAdapter.toFileAbsolutepath(oldPath)) property string openPath : oldPath === "" ? (UtilsAdapter.getCurrentPath() + "/ringtones/") : (UtilsAdapter.toFileAbsolutepath(oldPath))
mode: JamiFileDialog.OpenFile mode: JamiFileDialog.OpenFile
title: qsTr("Select a CA certificate") title: JamiStrings.selectCACert
folder: openPath folder: openPath
nameFilters: [qsTr("Certificate File") + " (*.crt)", qsTr( nameFilters: [qsTr("Certificate File") + " (*.crt)", qsTr(
"All files") + " (*)"] "All files") + " (*)"]
@ -107,7 +107,7 @@ ColumnLayout {
property string openPath : oldPath === "" ? (UtilsAdapter.getCurrentPath() + "/ringtones/") : (UtilsAdapter.toFileAbsolutepath(oldPath)) property string openPath : oldPath === "" ? (UtilsAdapter.getCurrentPath() + "/ringtones/") : (UtilsAdapter.toFileAbsolutepath(oldPath))
mode: JamiFileDialog.OpenFile mode: JamiFileDialog.OpenFile
title: qsTr("Select a user certificate") title: JamiStrings.selectUserCert
folder: openPath folder: openPath
nameFilters: [qsTr("Certificate File") + " (*.crt)", qsTr( nameFilters: [qsTr("Certificate File") + " (*.crt)", qsTr(
"All files") + " (*)"] "All files") + " (*)"]
@ -125,7 +125,7 @@ ColumnLayout {
property string openPath : oldPath === "" ? (UtilsAdapter.getCurrentPath() + "/ringtones/") : (UtilsAdapter.toFileAbsolutepath(oldPath)) property string openPath : oldPath === "" ? (UtilsAdapter.getCurrentPath() + "/ringtones/") : (UtilsAdapter.toFileAbsolutepath(oldPath))
mode: JamiFileDialog.OpenFile mode: JamiFileDialog.OpenFile
title: qsTr("Select a private key") title: JamiStrings.selectPrivateKey
folder: openPath folder: openPath
nameFilters: [qsTr("Key File") + " (*.key)", qsTr( nameFilters: [qsTr("Key File") + " (*.key)", qsTr(
"All files") + " (*)"] "All files") + " (*)"]
@ -140,7 +140,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
eText: qsTr("Security") eText: JamiStrings.security
fontSize: JamiTheme.headerFontSize fontSize: JamiTheme.headerFontSize
maxWidth: width maxWidth: width
} }
@ -152,7 +152,7 @@ ColumnLayout {
ToggleSwitch { ToggleSwitch {
id: encryptMediaStreamsToggle id: encryptMediaStreamsToggle
labelText: qsTr("Encrypt Media Streams (SRTP)") labelText: JamiStrings.encryptMediaStream
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: { onSwitchToggled: {
@ -165,7 +165,7 @@ ColumnLayout {
ToggleSwitch { ToggleSwitch {
id: enableSDESToggle id: enableSDESToggle
labelText: qsTr("Enable SDES(Key Exchange)") labelText: JamiStrings.enableSDES
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: { onSwitchToggled: {
@ -176,7 +176,7 @@ ColumnLayout {
ToggleSwitch { ToggleSwitch {
id: fallbackRTPToggle id: fallbackRTPToggle
labelText: qsTr("Can Fallback on RTP") labelText: JamiStrings.fallbackRTP
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: { onSwitchToggled: {
@ -187,7 +187,7 @@ ColumnLayout {
ToggleSwitch { ToggleSwitch {
id: encryptNegotitationToggle id: encryptNegotitationToggle
labelText: qsTr("Encrypt Negotiation (TLS)") labelText: JamiStrings.encryptNegotiation
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: { onSwitchToggled: {
@ -204,7 +204,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
titleField: qsTr("CA Certificate") titleField: JamiStrings.caCertificate
source: "qrc:/images/icons/round-folder-24px.svg" source: "qrc:/images/icons/round-folder-24px.svg"
itemWidth: root.itemWidth itemWidth: root.itemWidth
onClick: caCert_Dialog_SIP.open() onClick: caCert_Dialog_SIP.open()
@ -215,7 +215,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
titleField: qsTr("User Certificate") titleField: JamiStrings.userCertificate
source: "qrc:/images/icons/round-folder-24px.svg" source: "qrc:/images/icons/round-folder-24px.svg"
itemWidth: root.itemWidth itemWidth: root.itemWidth
onClick: userCert_Dialog_SIP.open() onClick: userCert_Dialog_SIP.open()
@ -226,7 +226,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
titleField: qsTr("Private Key") titleField: JamiStrings.privateKey
source: "qrc:/images/icons/round-folder-24px.svg" source: "qrc:/images/icons/round-folder-24px.svg"
itemWidth: root.itemWidth itemWidth: root.itemWidth
onClick: privateKey_Dialog_SIP.open() onClick: privateKey_Dialog_SIP.open()
@ -239,7 +239,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
itemWidth: root.itemWidth itemWidth: root.itemWidth
titleField: qsTr("Private Key Password") titleField: JamiStrings.privateKeyPassword
onEditFinished: SettingsAdapter.lineEditSIPCertPasswordLineEditTextChanged(textField) onEditFinished: SettingsAdapter.lineEditSIPCertPasswordLineEditTextChanged(textField)
} }
@ -247,7 +247,7 @@ ColumnLayout {
ToggleSwitch { ToggleSwitch {
id: verifyIncomingCertificatesServerToogle id: verifyIncomingCertificatesServerToogle
labelText: qsTr("Verify Certificates (Server Side)") labelText: JamiStrings.verifyCertificatesServer
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: { onSwitchToggled: {
@ -258,7 +258,7 @@ ColumnLayout {
ToggleSwitch { ToggleSwitch {
id: verifyIncomingCertificatesClientToogle id: verifyIncomingCertificatesClientToogle
labelText: qsTr("Verify Certificates (Client Side)") labelText: JamiStrings.verifyCertificatesClient
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: { onSwitchToggled: {
@ -269,7 +269,7 @@ ColumnLayout {
ToggleSwitch { ToggleSwitch {
id: requireCeritificateForTLSIncomingToggle id: requireCeritificateForTLSIncomingToggle
labelText: qsTr("TLS Connections Require Certificate") labelText: JamiStrings.tlsRequireConnections
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: { onSwitchToggled: {
@ -284,7 +284,7 @@ ColumnLayout {
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.rightMargin: JamiTheme.preferredMarginSize Layout.rightMargin: JamiTheme.preferredMarginSize
labelText: qsTr("TLS Protocol Method") labelText: JamiStrings.tlsProtocol
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
comboModel: ListModel { comboModel: ListModel {
ListElement{textDisplay: "Default"; firstArg: "Default"; secondArg: 0} ListElement{textDisplay: "Default"; firstArg: "Default"; secondArg: 0}
@ -293,7 +293,7 @@ ColumnLayout {
ListElement{textDisplay: "TLSv1.2"; firstArg: "TLSv1.2"; secondArg: 3} ListElement{textDisplay: "TLSv1.2"; firstArg: "TLSv1.2"; secondArg: 3}
} }
widthOfComboBox: root.itemWidth widthOfComboBox: root.itemWidth
tipText: qsTr("Audio input device selector") tipText: JamiStrings.audioDeviceSelector
role: "textDisplay" role: "textDisplay"
onIndexChanged: { onIndexChanged: {
@ -308,7 +308,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
itemWidth: root.itemWidth itemWidth: root.itemWidth
titleField: qsTr("Outgoing TLS Server Name") titleField: JamiStrings.tlsServerName
onEditFinished: SettingsAdapter.outgoingTLSServerNameLineEditTextChanged(textField) onEditFinished: SettingsAdapter.outgoingTLSServerNameLineEditTextChanged(textField)
} }
@ -317,7 +317,7 @@ ColumnLayout {
id: negotiationTimeoutSpinBox id: negotiationTimeoutSpinBox
Layout.fillWidth: true Layout.fillWidth: true
title: qsTr("Negotiation Timeout (seconds)") title: JamiStrings.negotiationTimeOut
itemWidth: root.itemWidth itemWidth: root.itemWidth
bottomValue: 0 bottomValue: 0
topValue: 3000 topValue: 3000

View file

@ -76,7 +76,7 @@ ColumnLayout {
radius: height / 2 radius: height / 2
toolTipText: qsTr("Press to display or hide advance settings") toolTipText: JamiStrings.tipAdvancedSettingsDisplay
source: { source: {
if (advancedSettingsView.visible) { if (advancedSettingsView.visible) {

View file

@ -42,7 +42,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
eText: qsTr("Voicemail") eText: JamiStrings.voiceMail
fontSize: JamiTheme.headerFontSize fontSize: JamiTheme.headerFontSize
maxWidth: width maxWidth: width
} }
@ -54,7 +54,7 @@ ColumnLayout {
Layout.leftMargin: JamiTheme.preferredMarginSize Layout.leftMargin: JamiTheme.preferredMarginSize
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
itemWidth: root.itemWidth itemWidth: root.itemWidth
titleField: qsTr("Voicemail Dial Code") titleField: JamiStrings.voiceMailDialCode
onEditFinished: SettingsAdapter.lineEditVoiceMailDialCodeEditFinished(textField) onEditFinished: SettingsAdapter.lineEditVoiceMailDialCodeEditFinished(textField)
} }

View file

@ -97,7 +97,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
eText: qsTr("Audio") eText: JamiStrings.audio
fontSize: JamiTheme.headerFontSize fontSize: JamiTheme.headerFontSize
maxWidth: width maxWidth: width
} }
@ -109,11 +109,11 @@ ColumnLayout {
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
Layout.leftMargin: JamiTheme.preferredMarginSize Layout.leftMargin: JamiTheme.preferredMarginSize
labelText: qsTr("Microphone") labelText: JamiStrings.microphone
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
comboModel: AudioInputDeviceModel {} comboModel: AudioInputDeviceModel {}
widthOfComboBox: itemWidth widthOfComboBox: itemWidth
tipText: qsTr("Audio input device selector") tipText: JamiStrings.selectAudioInputDevice
role: "ID_UTF8" role: "ID_UTF8"
onIndexChanged: { onIndexChanged: {
@ -144,11 +144,11 @@ ColumnLayout {
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
Layout.leftMargin: JamiTheme.preferredMarginSize Layout.leftMargin: JamiTheme.preferredMarginSize
labelText: qsTr("Output Device") labelText: JamiStrings.outputDevice
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
comboModel: audioOutputDeviceModel comboModel: audioOutputDeviceModel
widthOfComboBox: itemWidth widthOfComboBox: itemWidth
tipText: qsTr("Choose the audio output device") tipText: JamiStrings.selectAudioOutputDevice
role: "ID_UTF8" role: "ID_UTF8"
onIndexChanged: { onIndexChanged: {
@ -166,11 +166,11 @@ ColumnLayout {
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
Layout.leftMargin: JamiTheme.preferredMarginSize Layout.leftMargin: JamiTheme.preferredMarginSize
labelText: qsTr("Ringtone Device") labelText: JamiStrings.ringtoneDevice
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
comboModel: audioOutputDeviceModel comboModel: audioOutputDeviceModel
widthOfComboBox: itemWidth widthOfComboBox: itemWidth
tipText: qsTr("Choose the ringtone output device") tipText: JamiStrings.selectRingtoneOutputDevice
role: "ID_UTF8" role: "ID_UTF8"
onIndexChanged: { onIndexChanged: {
@ -188,7 +188,7 @@ ColumnLayout {
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
Layout.leftMargin: JamiTheme.preferredMarginSize Layout.leftMargin: JamiTheme.preferredMarginSize
labelText: qsTr("Audio Manager") labelText: JamiStrings.audioManager
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
comboModel: AudioManagerListModel {} comboModel: AudioManagerListModel {}
widthOfComboBox: itemWidth widthOfComboBox: itemWidth

View file

@ -56,7 +56,7 @@ Rectangle {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: 64 Layout.preferredHeight: 64
title: qsTr("Audio / Video") title: JamiStrings.avSettingsTitle
onBackArrowClicked: root.backArrowClicked() onBackArrowClicked: root.backArrowClicked()
} }

View file

@ -115,7 +115,7 @@ ColumnLayout {
radius: height / 2 radius: height / 2
toolTipText: qsTr("press to open or hide display of banned contact") toolTipText: JamiStrings.tipBannedContacts
source: bannedListWidget.visible? source: bannedListWidget.visible?
"qrc:/images/icons/round-arrow_drop_up-24px.svg" : "qrc:/images/icons/round-arrow_drop_up-24px.svg" :

View file

@ -108,7 +108,7 @@ ItemDelegate {
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
elide: Text.ElideRight elide: Text.ElideRight
text: contactName === "" ? qsTr("name") : contactName text: contactName === "" ? JamiStrings.name : contactName
} }
Label{ Label{
@ -126,7 +126,7 @@ ItemDelegate {
horizontalAlignment: Qt.AlignLeft horizontalAlignment: Qt.AlignLeft
verticalAlignment: Qt.AlignVCenter verticalAlignment: Qt.AlignVCenter
elide: Text.ElideRight elide: Text.ElideRight
text: contactID === "" ? qsTr("id") : contactID text: contactID === "" ? JamiStrings.identifier : contactID
} }
} }
@ -151,7 +151,7 @@ ItemDelegate {
backgroundColor: "transparent" backgroundColor: "transparent"
ToolTip.visible: hovered ToolTip.visible: hovered
ToolTip.text: qsTr("Add as contact") ToolTip.text: reinstateContact
onClicked: { onClicked: {
btnReAddContactClicked() btnReAddContactClicked()

View file

@ -29,6 +29,7 @@ import net.jami.Models 1.0
import net.jami.Adapters 1.0 import net.jami.Adapters 1.0
import "../../commoncomponents" import "../../commoncomponents"
import "../../constant"
Rectangle { Rectangle {
id: root id: root
@ -113,14 +114,14 @@ Rectangle {
var info var info
switch(currentPurpose) { switch(currentPurpose) {
case PasswordDialog.ExportAccount: case PasswordDialog.ExportAccount:
info = success ? qsTr("Export Successful") : qsTr("Export Failed") info = success ? JamiStrings.backupSuccessful : JamiStrings.backupFailed
break break
case PasswordDialog.ChangePassword: case PasswordDialog.ChangePassword:
info = success ? qsTr("Password Changed Successfully") : qsTr("Password Change Failed") info = success ? JamiStrings.changePasswordSuccess : JamiStrings.changePasswordFailed
break break
case PasswordDialog.SetPassword: case PasswordDialog.SetPassword:
info = success ? qsTr("Password Set Successfully") : qsTr("Password Set Failed") info = success ? JamiStrings.setPasswordSuccess : JamiStrings.setPasswordFailed
passwdPushButton.text = success ? qsTr("Change Password") : qsTr("Set Password") passwdPushButton.text = success ? JamiStrings.changePassword : JamiStrings.setPassword
break break
} }
@ -133,7 +134,7 @@ Rectangle {
mode: JamiFileDialog.SaveFile mode: JamiFileDialog.SaveFile
title: qsTr("Export Account Here") title: JamiStrings.backupAccountHere
folder: StandardPaths.writableLocation(StandardPaths.DesktopLocation) folder: StandardPaths.writableLocation(StandardPaths.DesktopLocation)
nameFilters: [qsTr("Jami archive files") + " (*.gz)", qsTr( nameFilters: [qsTr("Jami archive files") + " (*.gz)", qsTr(
@ -150,7 +151,7 @@ Rectangle {
var isSuccessful = AccountAdapter.model.exportToFile(UtilsAdapter.getCurrAccId(), exportPath,"") var isSuccessful = AccountAdapter.model.exportToFile(UtilsAdapter.getCurrAccId(), exportPath,"")
var title = isSuccessful ? qsTr("Success") : qsTr("Error") var title = isSuccessful ? qsTr("Success") : qsTr("Error")
var iconMode = isSuccessful ? StandardIcon.Information : StandardIcon.Critical var iconMode = isSuccessful ? StandardIcon.Information : StandardIcon.Critical
var info = isSuccessful ? qsTr("Export Successful") : qsTr("Export Failed") var info = isSuccessful ? JamiStrings.backupSuccessful : JamiStrings.backupFailed
MessageBox.openWithParameters(title,info, iconMode, StandardButton.Ok) MessageBox.openWithParameters(title,info, iconMode, StandardButton.Ok)
} }
} }
@ -196,7 +197,7 @@ Rectangle {
Layout.leftMargin: JamiTheme.preferredMarginSize Layout.leftMargin: JamiTheme.preferredMarginSize
Layout.rightMargin: JamiTheme.preferredMarginSize Layout.rightMargin: JamiTheme.preferredMarginSize
labelText: qsTr("Enable") labelText: JamiStrings.enableAccount
fontPointSize: JamiTheme.headerFontSize fontPointSize: JamiTheme.headerFontSize
onSwitchToggled: AccountAdapter.model.setAccountEnabled(UtilsAdapter.getCurrAccId(), checked) onSwitchToggled: AccountAdapter.model.setAccountEnabled(UtilsAdapter.getCurrAccId(), checked)
@ -237,10 +238,8 @@ Rectangle {
outlined: true outlined: true
toolTipText: AccountAdapter.hasPassword() ? toolTipText: AccountAdapter.hasPassword() ?
qsTr("Change the current password") : JamiStrings.changeCurrentPassword : JamiStrings.setAPassword
qsTr("Currently no password, press this button to set a password") text: AccountAdapter.hasPassword() ? JamiStrings.changePassword : JamiStrings.setPassword
text: AccountAdapter.hasPassword() ? qsTr("Change Password") :
qsTr("Set Password")
source: "qrc:/images/icons/round-edit-24px.svg" source: "qrc:/images/icons/round-edit-24px.svg"
@ -262,8 +261,8 @@ Rectangle {
pressedColor: JamiTheme.buttonTintedBlackPressed pressedColor: JamiTheme.buttonTintedBlackPressed
outlined: true outlined: true
toolTipText: qsTr("Press this button to export account to a .gz file") toolTipText: JamiStrings.tipBackupAccount
text: qsTr("Export Account") text: JamiStrings.backupAccountBtn
source: "qrc:/images/icons/round-save_alt-24px.svg" source: "qrc:/images/icons/round-save_alt-24px.svg"
@ -283,8 +282,7 @@ Rectangle {
hoveredColor: JamiTheme.buttonTintedRedHovered hoveredColor: JamiTheme.buttonTintedRedHovered
pressedColor: JamiTheme.buttonTintedRedPressed pressedColor: JamiTheme.buttonTintedRedPressed
toolTipText: qsTr("Press this button to delete this account") text: JamiStrings.deleteAccount
text: qsTr("Delete Account")
source: "qrc:/images/icons/delete_forever-24px.svg" source: "qrc:/images/icons/delete_forever-24px.svg"

View file

@ -148,12 +148,12 @@ ItemDelegate {
ToolTip.text: { ToolTip.text: {
if(isCurrent) { if(isCurrent) {
if (editable) { if (editable) {
return qsTr("Edit Device Name") return JamiStrings.editDeviceName
} else { } else {
return qsTr("Save new device name") return qsTr("Save new device name")
} }
} else { } else {
return qsTr("Unlink Device From Account") return JamiStrings.unlinkDevice
} }
} }

View file

@ -63,7 +63,7 @@ ColumnLayout {
Label { Label {
id: idLabel id: idLabel
text: qsTr("Id") text: JamiStrings.identifier
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true
@ -117,7 +117,7 @@ ColumnLayout {
ElidedTextLabel { ElidedTextLabel {
Layout.fillWidth: true Layout.fillWidth: true
eText: qsTr("Registered name") eText: JamiStrings.username
fontSize: JamiTheme.settingsFontSize fontSize: JamiTheme.settingsFontSize
maxWidth: width maxWidth: width
} }
@ -132,7 +132,7 @@ ColumnLayout {
wrapMode: Text.NoWrap wrapMode: Text.NoWrap
placeholderText: registeredIdNeedsSet ? placeholderText: registeredIdNeedsSet ?
qsTr("Type here to register a username") : "" JamiStrings.registerUsername : ""
text: { text: {
if (!registeredIdNeedsSet) if (!registeredIdNeedsSet)
return SettingsAdapter.get_CurrentAccountInfo_RegisteredName() return SettingsAdapter.get_CurrentAccountInfo_RegisteredName()

View file

@ -21,6 +21,8 @@ import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4 import QtQuick.Controls.Styles 1.4
import QtQuick.Layouts 1.3 import QtQuick.Layouts 1.3
import "../../constant"
Dialog { Dialog {
id: root id: root
modal: true modal: true
@ -78,27 +80,27 @@ Dialog {
} }
ListElement { ListElement {
Shortcut: "Ctrl+R" Shortcut: "Ctrl+R"
Description: qsTr("Focus requests list") Description: "Requests list"
KeyLength: 2 KeyLength: 2
} }
ListElement { ListElement {
Shortcut: "Ctrl+↑" Shortcut: "Ctrl+↑"
Description: qsTr("Focus the previous conversation") Description: "Previous conversation"
KeyLength: 2 KeyLength: 2
} }
ListElement { ListElement {
Shortcut: "Ctrl+↓" Shortcut: "Ctrl+↓"
Description: qsTr("Focus the next conversation") Description: "Next conversation"
KeyLength: 2 KeyLength: 2
} }
ListElement { ListElement {
Shortcut: "Ctrl+F" Shortcut: "Ctrl+F"
Description: qsTr("Focus search bar") Description: "Search bar"
KeyLength: 2 KeyLength: 2
} }
ListElement { ListElement {
Shortcut: "F11" Shortcut: "F11"
Description: qsTr("Toggle fullscreen") Description: "Fullscreen"
KeyLength: 1 KeyLength: 1
} }
} }
@ -106,12 +108,12 @@ Dialog {
id: keyboardConversationShortcutsModel id: keyboardConversationShortcutsModel
ListElement { ListElement {
Shortcut: "Shift+Ctrl+C" Shortcut: "Shift+Ctrl+C"
Description: qsTr("Start an audio call") Description: "Start an audio call"
KeyLength: 3 KeyLength: 3
} }
ListElement { ListElement {
Shortcut: "Shift+Ctrl+X" Shortcut: "Shift+Ctrl+X"
Description: qsTr("Start an video call") Description: "Start a video call"
KeyLength: 3 KeyLength: 3
} }
ListElement { ListElement {
@ -134,27 +136,27 @@ Dialog {
id: keyboardSettingsShortcutsModel id: keyboardSettingsShortcutsModel
ListElement { ListElement {
Shortcut: "Ctrl+M" Shortcut: "Ctrl+M"
Description: qsTr("Toggle media settings") Description: "Media settings"
KeyLength: 2 KeyLength: 2
} }
ListElement { ListElement {
Shortcut: "Ctrl+G" Shortcut: "Ctrl+G"
Description: qsTr("Toggle general settings") Description: "General Settings"
KeyLength: 2 KeyLength: 2
} }
ListElement { ListElement {
Shortcut: "Ctrl+I" Shortcut: "Ctrl+I"
Description: qsTr("Toggle account settings") Description: "Account Settings"
KeyLength: 2 KeyLength: 2
} }
ListElement { ListElement {
Shortcut: "Ctrl+Shift+N" Shortcut: "Ctrl+Shift+N"
Description: qsTr("Open account creation's wizard") Description: "Open account creation wizard"
KeyLength: 3 KeyLength: 3
} }
ListElement { ListElement {
Shortcut: "F10" Shortcut: "F10"
Description: qsTr("Open this window") Description: "Open window"
KeyLength: 1 KeyLength: 1
} }
} }
@ -404,7 +406,7 @@ Dialog {
anchors.leftMargin: 10 anchors.leftMargin: 10
font.family: "Arial" font.family: "Arial"
font.pointSize: 12 font.pointSize: 12
text: styleData.column % 2 ? "" : "Conversations" text: styleData.column % 2 ? "" : JamiStrings.conversations
color: "black" color: "black"
} }
TextMetrics { TextMetrics {

View file

@ -29,7 +29,7 @@ Dialog {
id: root id: root
function openLinkDeviceDialog() { function openLinkDeviceDialog() {
infoLabel.text = qsTr("This pin and the account password should be entered in your device within 10 minutes.") infoLabel.text = JamiStrings.pinTimerInfos
passwordEdit.clear() passwordEdit.clear()
root.open() root.open()
if(AccountAdapter.hasPassword()) { if(AccountAdapter.hasPassword()) {
@ -85,7 +85,7 @@ Dialog {
infoLabel.isSucessState = true infoLabel.isSucessState = true
yourPinLabel.visible = true yourPinLabel.visible = true
exportedPIN.visible = true exportedPIN.visible = true
infoLabel.text = qsTr("This pin and the account password should be entered in your device within 10 minutes.") infoLabel.text = JamiStrings.pinTimerInfos
exportedPIN.text = pin exportedPIN.text = pin
} else { } else {
infoLabel.isSucessState = false infoLabel.isSucessState = false
@ -134,7 +134,7 @@ Dialog {
anchors.leftMargin: JamiTheme.preferredMarginSize anchors.leftMargin: JamiTheme.preferredMarginSize
anchors.topMargin: JamiTheme.preferredMarginSize anchors.topMargin: JamiTheme.preferredMarginSize
text: qsTr("Link another device") text: JamiStrings.linkAnotherDevice
font.pointSize: JamiTheme.headerFontSize font.pointSize: JamiTheme.headerFontSize
wrapMode: Text.Wrap wrapMode: Text.Wrap
} }
@ -349,7 +349,7 @@ Dialog {
Layout.preferredWidth: parent.width - JamiTheme.preferredMarginSize * 2 Layout.preferredWidth: parent.width - JamiTheme.preferredMarginSize * 2
wrapMode: Text.Wrap wrapMode: Text.Wrap
text: qsTr("This pin and the account password should be entered in your device within 10 minutes.") text: JamiStrings.pinTimerInfos
font.pointSize: 8 font.pointSize: 8
font.kerning: true font.kerning: true
@ -375,7 +375,7 @@ Dialog {
id: btnCloseExportDialog id: btnCloseExportDialog
contentItem: Text { contentItem: Text {
text: qsTr("CLOSE") text: JamiStrings.close
color: JamiTheme.buttonTintedBlue color: JamiTheme.buttonTintedBlue
} }

View file

@ -152,11 +152,11 @@ ColumnLayout {
hoveredColor: JamiTheme.buttonTintedBlackHovered hoveredColor: JamiTheme.buttonTintedBlackHovered
pressedColor: JamiTheme.buttonTintedBlackPressed pressedColor: JamiTheme.buttonTintedBlackPressed
outlined: true outlined: true
toolTipText: qsTr("Press to link one more device with this account") toolTipText: JamiStrings.tipLinkNewDevice
source: "qrc:/images/icons/round-add-24px.svg" source: "qrc:/images/icons/round-add-24px.svg"
text: qsTr("Link Another Device") text: JamiStrings.linkAnotherDevice
onClicked: linkDeviceDialog.openLinkDeviceDialog() onClicked: linkDeviceDialog.openLinkDeviceDialog()
} }

View file

@ -99,7 +99,7 @@ Dialog {
x: (parent.width - width) / 2 x: (parent.width - width) / 2
y: (parent.height - height) / 2 y: (parent.height - height) / 2
title: qsTr("Set Registered Name") title: JamiStrings.setUsername
onClosed: { onClosed: {
reject() reject()
@ -339,7 +339,7 @@ Dialog {
Layout.maximumHeight: 30 Layout.maximumHeight: 30
wrapMode: Text.Wrap wrapMode: Text.Wrap
text: qsTr("Registering Name") text: JamiStrings.registeringName
font.pointSize: 8 font.pointSize: 8
font.kerning: true font.kerning: true
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
@ -523,7 +523,7 @@ Dialog {
radius: height /2 radius: height /2
text: qsTr("Close") text: JamiStrings.close
font.pointSize: 10 font.pointSize: 10
font.kerning: true font.kerning: true

View file

@ -146,7 +146,7 @@ Rectangle {
icon.height: 24 icon.height: 24
icon.width: 24 icon.width: 24
text: qsTr(" Reset ") text: JamiStrings.reset
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true

View file

@ -79,7 +79,7 @@ Rectangle {
id: pluginPathDialog id: pluginPathDialog
mode: JamiFileDialog.OpenFile mode: JamiFileDialog.OpenFile
title: qsTr("Select A Plugin to Install") title: JamiStrings.selectPluginInstall
folder: StandardPaths.writableLocation(StandardPaths.DownloadLocation) folder: StandardPaths.writableLocation(StandardPaths.DownloadLocation)
nameFilters: [qsTr("Plugin Files") + " (*.jpl)", qsTr( nameFilters: [qsTr("Plugin Files") + " (*.jpl)", qsTr(
@ -125,7 +125,7 @@ Rectangle {
source: "qrc:/images/icons/round-add-24px.svg" source: "qrc:/images/icons/round-add-24px.svg"
text: qsTr("Install Plugin") text: JamiStrings.installPlugin
onClicked: openPluginFileSlot() onClicked: openPluginFileSlot()
} }

View file

@ -45,7 +45,7 @@ ColumnLayout {
FolderDialog { FolderDialog {
id: recordPathDialog id: recordPathDialog
title: qsTr("Select A Folder For Your Recordings") title: JamiStrings.selectFolder
currentFolder: StandardPaths.writableLocation(StandardPaths.HomeLocation) currentFolder: StandardPaths.writableLocation(StandardPaths.HomeLocation)
onAccepted: { onAccepted: {
@ -90,7 +90,7 @@ ColumnLayout {
checked: AVModel.getRecordPreview() checked: AVModel.getRecordPreview()
labelText: qsTr("Record preview video for a call") labelText: JamiStrings.recordCall
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: AVModel.setRecordPreview(checked) onSwitchToggled: AVModel.setRecordPreview(checked)
@ -175,7 +175,7 @@ ColumnLayout {
Layout.fillHeight: true Layout.fillHeight: true
Layout.preferredWidth: itemWidth Layout.preferredWidth: itemWidth
toolTipText: qsTr("Press to choose record folder path") toolTipText: JamiStrings.tipRecordFolder
text: recordPath text: recordPath
source: "qrc:/images/icons/round-folder-24px.svg" source: "qrc:/images/icons/round-folder-24px.svg"
color: JamiTheme.buttonTintedGrey color: JamiTheme.buttonTintedGrey

View file

@ -45,7 +45,7 @@ Dialog {
anchors.leftMargin: JamiTheme.preferredMarginSize anchors.leftMargin: JamiTheme.preferredMarginSize
anchors.topMargin: JamiTheme.preferredMarginSize anchors.topMargin: JamiTheme.preferredMarginSize
text: qsTr("Enter this account's password to confirm the removal of this device") text: JamiStrings.confirmRemovalRequest
wrapMode: Text.Wrap wrapMode: Text.Wrap
font.pointSize: JamiTheme.headerFontSize font.pointSize: JamiTheme.headerFontSize
} }

View file

@ -1,4 +1,4 @@
/*! /*
* Copyright (C) 2020 by Savoir-faire Linux * Copyright (C) 2020 by Savoir-faire Linux
* Author: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com> * Author: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com>
* *
@ -42,7 +42,7 @@ RowLayout {
source: "qrc:/images/icons/ic_arrow_back_24px.svg" source: "qrc:/images/icons/ic_arrow_back_24px.svg"
backgroundColor: "white" backgroundColor: "white"
onExitColor: "white" onExitColor: "white"
toolTipText: qsTr("Toggle to display side panel") toolTipText: JamiStrings.back
hoverEnabled: true hoverEnabled: true
visible: mainViewWindow.sidePanelHidden visible: mainViewWindow.sidePanelHidden

View file

@ -1,4 +1,4 @@
/*! /*
* Copyright (C) 2020 by Savoir-faire Linux * Copyright (C) 2020 by Savoir-faire Linux
* Author: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com> * Author: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com>
* *
@ -43,7 +43,7 @@ ColumnLayout {
FolderDialog { FolderDialog {
id: downloadPathDialog id: downloadPathDialog
title: qsTr("Select A Folder For Your Downloads") title: JamiStrings.selectFolder
currentFolder: StandardPaths.writableLocation(StandardPaths.DownloadLocation) currentFolder: StandardPaths.writableLocation(StandardPaths.DownloadLocation)
onAccepted: { onAccepted: {
@ -73,7 +73,7 @@ ColumnLayout {
labelText: qsTr("Enable desktop notifications") labelText: qsTr("Enable desktop notifications")
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
tooltipText: qsTr("toggle enable notifications") tooltipText: JamiStrings.enableNotifications
onSwitchToggled: SettingsAdapter.setAppValue(Settings.Key.EnableNotifications, checked) onSwitchToggled: SettingsAdapter.setAppValue(Settings.Key.EnableNotifications, checked)
} }
@ -84,11 +84,9 @@ ColumnLayout {
Layout.leftMargin: JamiTheme.preferredMarginSize Layout.leftMargin: JamiTheme.preferredMarginSize
checked: SettingsAdapter.getAppValue(Settings.MinimizeOnClose) checked: SettingsAdapter.getAppValue(Settings.MinimizeOnClose)
labelText: qsTr("Keep minimize on close") labelText: JamiStrings.keepMinimized
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
tooltipText: qsTr("toggle keep minimized on close")
onSwitchToggled: SettingsAdapter.setAppValue(Settings.Key.MinimizeOnClose, checked) onSwitchToggled: SettingsAdapter.setAppValue(Settings.Key.MinimizeOnClose, checked)
} }
@ -99,10 +97,10 @@ ColumnLayout {
checked: UtilsAdapter.checkStartupLink() checked: UtilsAdapter.checkStartupLink()
labelText: qsTr("Run On Startup") labelText: JamiStrings.runStartup
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
tooltipText: qsTr("toggle run application on system startup") tooltipText: JamiStrings.tipRunStartup
onSwitchToggled: SettingsAdapter.setRunOnStartUp(checked) onSwitchToggled: SettingsAdapter.setRunOnStartUp(checked)
} }
@ -116,7 +114,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
text: qsTr("Downloads folder") text: JamiStrings.downloadFolder
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true
@ -131,7 +129,7 @@ ColumnLayout {
Layout.preferredWidth: itemWidth Layout.preferredWidth: itemWidth
Layout.fillHeight: true Layout.fillHeight: true
toolTipText: qsTr("Press to choose download folder path") toolTipText: JamiStrings.tipChooseDownloadFolder
text: downloadPath text: downloadPath
source: "qrc:/images/icons/round-folder-24px.svg" source: "qrc:/images/icons/round-folder-24px.svg"
color: JamiTheme.buttonTintedGrey color: JamiTheme.buttonTintedGrey

View file

@ -88,7 +88,7 @@ ColumnLayout {
radius: height / 2 radius: height / 2
toolTipText: qsTr("Install the latest beta version") toolTipText: qsTr("Install the latest beta version")
text: qsTr("Beta Install") text: JamiStrings.betaInstall
fontPointSize: JamiTheme.buttonFontSize fontPointSize: JamiTheme.buttonFontSize
onClicked: { onClicked: {

View file

@ -136,7 +136,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
eText: qsTr("Video") eText: JamiStrings.video
fontSize: JamiTheme.headerFontSize fontSize: JamiTheme.headerFontSize
maxWidth: itemWidth * 2 maxWidth: itemWidth * 2
} }
@ -148,11 +148,11 @@ ColumnLayout {
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
Layout.leftMargin: JamiTheme.preferredMarginSize Layout.leftMargin: JamiTheme.preferredMarginSize
labelText: qsTr("Device") labelText: JamiStrings.device
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
comboModel: VideoInputDeviceModel {} comboModel: VideoInputDeviceModel {}
widthOfComboBox: itemWidth widthOfComboBox: itemWidth
tipText: qsTr("Video device selector") tipText: JamiStrings.selectVideoDevice
role: "DeviceName_UTF8" role: "DeviceName_UTF8"
onIndexChanged: { onIndexChanged: {
@ -167,11 +167,11 @@ ColumnLayout {
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
Layout.leftMargin: JamiTheme.preferredMarginSize Layout.leftMargin: JamiTheme.preferredMarginSize
labelText: qsTr("Resolution") labelText: JamiStrings.resolution
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
comboModel: VideoFormatResolutionModel {} comboModel: VideoFormatResolutionModel {}
widthOfComboBox: itemWidth widthOfComboBox: itemWidth
tipText: qsTr("Video device resolution selector") tipText: JamiStrings.selectVideoResolution
role: "Resolution_UTF8" role: "Resolution_UTF8"
onIndexChanged: { onIndexChanged: {
@ -186,11 +186,11 @@ ColumnLayout {
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
Layout.leftMargin: JamiTheme.preferredMarginSize Layout.leftMargin: JamiTheme.preferredMarginSize
labelText: qsTr("Fps") labelText: JamiStrings.fps
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
comboModel: VideoFormatFpsModel {} comboModel: VideoFormatFpsModel {}
widthOfComboBox: itemWidth widthOfComboBox: itemWidth
tipText: qsTr("Video device fps selector") tipText: JamiStrings.selectFPS
role: "FPS_ToDisplay_UTF8" role: "FPS_ToDisplay_UTF8"
onIndexChanged: { onIndexChanged: {
@ -205,7 +205,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.leftMargin: JamiTheme.preferredMarginSize Layout.leftMargin: JamiTheme.preferredMarginSize
labelText: qsTr("Enable hardware acceleration") labelText: JamiStrings.enableHWAccel
fontPointSize: JamiTheme.settingsFontSize fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: { onSwitchToggled: {
@ -248,7 +248,7 @@ ColumnLayout {
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.bottomMargin: JamiTheme.preferredMarginSize Layout.bottomMargin: JamiTheme.preferredMarginSize
text: qsTr("Preview unavailable") text: JamiStrings.previewUnavailable
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true

View file

@ -65,9 +65,9 @@ VideoInputDeviceModel::data(const QModelIndex& index, int role) const
if (deviceList.size() == 0 && index.row() == 0) { if (deviceList.size() == 0 && index.row() == 0) {
switch (role) { switch (role) {
case Role::DeviceName: case Role::DeviceName:
return QVariant(QObject::tr("No Device")); return QVariant(QObject::tr("No device"));
case Role::DeviceName_UTF8: case Role::DeviceName_UTF8:
return QVariant(QObject::tr("No Device").toUtf8()); return QVariant(QObject::tr("No device").toUtf8());
} }
} }

View file

@ -100,7 +100,7 @@ Rectangle {
// reportFailure // reportFailure
function onReportFailure() { function onReportFailure() {
var errorMessage = qsTr("Error when creating your account. Check your credentials") var errorMessage = JamiStrings.errorCreateAccount
switch(controlPanelStackView.currentIndex) { switch(controlPanelStackView.currentIndex) {
case WizardView.WizardViewPageIndex.IMPORTFROMDEVICEPAGE: case WizardView.WizardViewPageIndex.IMPORTFROMDEVICEPAGE:
@ -156,8 +156,7 @@ Rectangle {
var success = (code === successCode) var success = (code === successCode)
var title = success ? qsTr("Success") : qsTr("Error") var title = success ? qsTr("Success") : qsTr("Error")
var info = success ? qsTr("Export Successful") : qsTr( var info = success ? JamiStrings.backupSuccessful : JamiStrings.backupFailed
"Export Failed")
AccountAdapter.passwordSetStatusMessageBox(success, AccountAdapter.passwordSetStatusMessageBox(success,
title, info) title, info)

View file

@ -38,7 +38,7 @@ Rectangle {
mode: JamiFileDialog.SaveFile mode: JamiFileDialog.SaveFile
title: qsTr("Export Account Here") title: JamiStrings.backupAccountHere
folder: StandardPaths.writableLocation(StandardPaths.HomeLocation) + "/Desktop" folder: StandardPaths.writableLocation(StandardPaths.HomeLocation) + "/Desktop"
nameFilters: [qsTr("Jami archive files") + " (*.gz)", qsTr( nameFilters: [qsTr("Jami archive files") + " (*.gz)", qsTr(
@ -74,14 +74,14 @@ Rectangle {
Layout.preferredWidth: backupBtn.width Layout.preferredWidth: backupBtn.width
Label { Label {
text: qsTr("Backup your account!") text: JamiStrings.backupAccount
font.pointSize: JamiTheme.textFontSize + 3 font.pointSize: JamiTheme.textFontSize + 3
} }
Label { Label {
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
text: qsTr("Recommended") text: JamiStrings.recommended
color: "white" color: "white"
padding: 8 padding: 8
@ -100,10 +100,7 @@ Rectangle {
Layout.preferredWidth: backupBtn.width Layout.preferredWidth: backupBtn.width
Layout.preferredHeight: preferredHeight Layout.preferredHeight: preferredHeight
text: qsTr("This account only exists on this device. " + text: JamiStrings.backupAccountInfos
"If you lost your device or uninstall the application, " +
"your account will be deleted. " +
"You can backup your account now or later.")
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
font.pointSize: JamiTheme.textFontSize font.pointSize: JamiTheme.textFontSize
@ -120,7 +117,7 @@ Rectangle {
Layout.alignment: Qt.AlignCenter Layout.alignment: Qt.AlignCenter
Label { Label {
text: qsTr("Never show me this again") text: JamiStrings.neverShowAgain
font.pointSize: JamiTheme.textFontSize font.pointSize: JamiTheme.textFontSize
} }
@ -141,7 +138,7 @@ Rectangle {
Layout.preferredWidth: preferredWidth Layout.preferredWidth: preferredWidth
Layout.preferredHeight: preferredHeight Layout.preferredHeight: preferredHeight
text: qsTr("BACKUP ACCOUNT") text: JamiStrings.backupAccountBtn
color: JamiTheme.buttonTintedGrey color: JamiTheme.buttonTintedGrey
hoveredColor: JamiTheme.buttonTintedGreyHovered hoveredColor: JamiTheme.buttonTintedGreyHovered
pressedColor: JamiTheme.buttonTintedGreyPressed pressedColor: JamiTheme.buttonTintedGreyPressed
@ -157,7 +154,7 @@ Rectangle {
Layout.preferredWidth: preferredWidth Layout.preferredWidth: preferredWidth
Layout.preferredHeight: preferredHeight Layout.preferredHeight: preferredHeight
text: qsTr("SKIP") text: JamiStrings.skip
color: JamiTheme.buttonTintedGrey color: JamiTheme.buttonTintedGrey
hoveredColor: JamiTheme.buttonTintedGreyHovered hoveredColor: JamiTheme.buttonTintedGreyHovered
pressedColor: JamiTheme.buttonTintedGreyPressed pressedColor: JamiTheme.buttonTintedGreyPressed

View file

@ -71,14 +71,14 @@ Rectangle {
Layout.preferredWidth: connectBtn.width Layout.preferredWidth: connectBtn.width
Label { Label {
text: qsTr("Enter URL of management server") text: JamiStrings.enterJAMSURL
font.pointSize: JamiTheme.textFontSize + 3 font.pointSize: JamiTheme.textFontSize + 3
} }
Label { Label {
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
text: qsTr("Required") text: JamiStrings.required
color: "#ff1f62" color: "#ff1f62"
padding: 8 padding: 8
@ -98,7 +98,7 @@ Rectangle {
Layout.alignment: Qt.AlignCenter Layout.alignment: Qt.AlignCenter
selectByMouse: true selectByMouse: true
placeholderText: qsTr("Jami management server URL") placeholderText: JamiStrings.jamiManagementServerURL
font.pointSize: 9 font.pointSize: 9
font.kerning: true font.kerning: true
@ -110,7 +110,7 @@ Rectangle {
Label { Label {
Layout.alignment: Qt.AlignLeft Layout.alignment: Qt.AlignLeft
text: qsTr("Enter your organization credentials") text: JamiStrings.jamsCredentials
wrapMode: Text.Wrap wrapMode: Text.Wrap
} }
@ -122,7 +122,7 @@ Rectangle {
Layout.alignment: Qt.AlignCenter Layout.alignment: Qt.AlignCenter
selectByMouse: true selectByMouse: true
placeholderText: qsTr("Username") placeholderText: JamiStrings.username
font.pointSize: 9 font.pointSize: 9
font.kerning: true font.kerning: true
@ -139,7 +139,7 @@ Rectangle {
Layout.alignment: Qt.AlignCenter Layout.alignment: Qt.AlignCenter
selectByMouse: true selectByMouse: true
placeholderText: qsTr("Password") placeholderText: JamiStrings.password
font.pointSize: 9 font.pointSize: 9
font.kerning: true font.kerning: true
@ -156,8 +156,8 @@ Rectangle {
Layout.preferredWidth: preferredWidth Layout.preferredWidth: preferredWidth
Layout.preferredHeight: preferredHeight Layout.preferredHeight: preferredHeight
spinnerTriggeredtext: qsTr("Generating account…") spinnerTriggeredtext: JamiStrings.generatingAccount
normalText: qsTr("CONNECT") normalText: JamiStrings.connect
enabled: accountManagerEdit.text.length !== 0 enabled: accountManagerEdit.text.length !== 0
&& usernameManagerEdit.text.length !== 0 && usernameManagerEdit.text.length !== 0
@ -197,7 +197,7 @@ Rectangle {
onExitColor: root.color onExitColor: root.color
source: "qrc:/images/icons/ic_arrow_back_24px.svg" source: "qrc:/images/icons/ic_arrow_back_24px.svg"
toolTipText: qsTr("Back to welcome page") toolTipText: JamiStrings.backToWelcome
onClicked: leavePage() onClicked: leavePage()
} }

View file

@ -70,7 +70,7 @@ Rectangle {
mode: JamiFileDialog.SaveFile mode: JamiFileDialog.SaveFile
title: qsTr("Export Account Here") title: JamiStrings.backupAccountHere
folder: StandardPaths.writableLocation(StandardPaths.HomeLocation) + "/Desktop" folder: StandardPaths.writableLocation(StandardPaths.HomeLocation) + "/Desktop"
nameFilters: [qsTr("Jami archive files") + " (*.gz)", qsTr( nameFilters: [qsTr("Jami archive files") + " (*.gz)", qsTr(
@ -117,7 +117,7 @@ Rectangle {
Label { Label {
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
text: qsTr("Recommended") text: JamiStrings.recommended
color: "white" color: "white"
padding: 8 padding: 8
@ -169,7 +169,7 @@ Rectangle {
Layout.preferredHeight: preferredHeight Layout.preferredHeight: preferredHeight
fontCapitalization: Font.AllUppercase fontCapitalization: Font.AllUppercase
text: isRendezVous ? qsTr("Choose name") : qsTr("Choose username") text: isRendezVous ? JamiStrings.chooseName : JamiStrings.chooseUsername
enabled: nameRegistrationUIState === UsernameLineEdit.NameRegistrationState.FREE enabled: nameRegistrationUIState === UsernameLineEdit.NameRegistrationState.FREE
color: nameRegistrationUIState === UsernameLineEdit.NameRegistrationState.FREE ? color: nameRegistrationUIState === UsernameLineEdit.NameRegistrationState.FREE ?
JamiTheme.wizardBlueButtons : JamiTheme.wizardBlueButtons :
@ -190,7 +190,7 @@ Rectangle {
Layout.preferredWidth: preferredWidth Layout.preferredWidth: preferredWidth
Layout.preferredHeight: preferredHeight Layout.preferredHeight: preferredHeight
text: qsTr("SKIP") text: JamiStrings.skip
color: JamiTheme.buttonTintedGrey color: JamiTheme.buttonTintedGrey
hoveredColor: JamiTheme.buttonTintedGreyHovered hoveredColor: JamiTheme.buttonTintedGreyHovered
pressedColor: JamiTheme.buttonTintedGreyPressed pressedColor: JamiTheme.buttonTintedGreyPressed
@ -214,7 +214,7 @@ Rectangle {
Layout.preferredWidth: usernameEdit.width Layout.preferredWidth: usernameEdit.width
Label { Label {
text: qsTr("Create a password") text: JamiStrings.createPassword
font.pointSize: JamiTheme.textFontSize + 3 font.pointSize: JamiTheme.textFontSize + 3
Switch { Switch {
@ -228,7 +228,7 @@ Rectangle {
Label { Label {
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
text: qsTr("Optional") text: JamiStrings.optional
color: "white" color: "white"
padding: 8 padding: 8
@ -251,7 +251,7 @@ Rectangle {
selectByMouse: true selectByMouse: true
echoMode: TextInput.Password echoMode: TextInput.Password
placeholderText: qsTr("Password") placeholderText: JamiStrings.password
font.pointSize: 9 font.pointSize: 9
font.kerning: true font.kerning: true
} }
@ -267,7 +267,7 @@ Rectangle {
selectByMouse: true selectByMouse: true
echoMode: TextInput.Password echoMode: TextInput.Password
placeholderText: qsTr("Confirm password") placeholderText: JamiStrings.confirmPassword
font.pointSize: 9 font.pointSize: 9
font.kerning: true font.kerning: true
} }
@ -277,7 +277,7 @@ Rectangle {
Layout.topMargin: 10 Layout.topMargin: 10
Layout.leftMargin: (root.width - createAccountButton.width) / 2 Layout.leftMargin: (root.width - createAccountButton.width) / 2
text: qsTr("Note that the password cannot be recovered") text: JamiStrings.notePasswordRecovery
font.pointSize: JamiTheme.textFontSize font.pointSize: JamiTheme.textFontSize
} }
@ -296,7 +296,7 @@ Rectangle {
} }
fontCapitalization: Font.AllUppercase fontCapitalization: Font.AllUppercase
text: isRendezVous ? qsTr("Create rendez-vous") : qsTr("Create account") text: isRendezVous ? JamiStrings.createRV : JamiStrings.createAccount
enabled: checkEnable() enabled: checkEnable()
color: checkEnable() ? JamiTheme.wizardBlueButtons : color: checkEnable() ? JamiTheme.wizardBlueButtons :
JamiTheme.buttonTintedGreyInactive JamiTheme.buttonTintedGreyInactive
@ -327,7 +327,7 @@ Rectangle {
onExitColor: root.color onExitColor: root.color
source: "qrc:/images/icons/ic_arrow_back_24px.svg" source: "qrc:/images/icons/ic_arrow_back_24px.svg"
toolTipText: qsTr("Back") toolTipText: JamiStrings.back
onClicked: { onClicked: {
if (createAccountStack.currentIndex == 0) if (createAccountStack.currentIndex == 0)

View file

@ -67,14 +67,14 @@ Rectangle {
Layout.preferredWidth: createAccountButton.width Layout.preferredWidth: createAccountButton.width
Label { Label {
text: qsTr("Configure an existing SIP account") text: JamiStrings.configureExistingSIP
font.pointSize: JamiTheme.textFontSize + 3 font.pointSize: JamiTheme.textFontSize + 3
} }
Label { Label {
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
text: qsTr("Optional") text: JamiStrings.optional
color: "white" color: "white"
padding: 8 padding: 8
@ -94,7 +94,7 @@ Rectangle {
Layout.preferredWidth: createAccountButton.width Layout.preferredWidth: createAccountButton.width
selectByMouse: true selectByMouse: true
placeholderText: qsTr("Server") placeholderText: JamiStrings.server
font.pointSize: 9 font.pointSize: 9
font.kerning: true font.kerning: true
} }
@ -107,7 +107,7 @@ Rectangle {
Layout.preferredWidth: createAccountButton.width Layout.preferredWidth: createAccountButton.width
selectByMouse: true selectByMouse: true
placeholderText: qsTr("Proxy") placeholderText: JamiStrings.proxy
font.pointSize: 9 font.pointSize: 9
font.kerning: true font.kerning: true
} }
@ -120,7 +120,7 @@ Rectangle {
Layout.preferredWidth: createAccountButton.width Layout.preferredWidth: createAccountButton.width
selectByMouse: true selectByMouse: true
placeholderText: qsTr("Username") placeholderText: JamiStrings.username
font.pointSize: 9 font.pointSize: 9
font.kerning: true font.kerning: true
} }
@ -134,7 +134,7 @@ Rectangle {
selectByMouse: true selectByMouse: true
echoMode: TextInput.Password echoMode: TextInput.Password
placeholderText: qsTr("Password") placeholderText: JamiStrings.password
font.pointSize: 9 font.pointSize: 9
font.kerning: true font.kerning: true
} }
@ -146,7 +146,7 @@ Rectangle {
Layout.preferredWidth: preferredWidth Layout.preferredWidth: preferredWidth
Layout.preferredHeight: preferredHeight Layout.preferredHeight: preferredHeight
text: qsTr("CREATE SIP ACCOUNT") text: JamiStrings.createSIPAccount
color: JamiTheme.wizardBlueButtons color: JamiTheme.wizardBlueButtons
hoveredColor: JamiTheme.buttonTintedBlueHovered hoveredColor: JamiTheme.buttonTintedBlueHovered
pressedColor: JamiTheme.buttonTintedBluePressed pressedColor: JamiTheme.buttonTintedBluePressed
@ -173,7 +173,7 @@ Rectangle {
onExitColor: root.color onExitColor: root.color
source: "qrc:/images/icons/ic_arrow_back_24px.svg" source: "qrc:/images/icons/ic_arrow_back_24px.svg"
toolTipText: qsTr("Back to welcome page") toolTipText: JamiStrings.backToWelcome
onClicked: leavePage() onClicked: leavePage()
} }

View file

@ -29,7 +29,7 @@ Rectangle {
id: root id: root
property alias text_passwordFromBackupEditAlias: passwordFromBackupEdit.text property alias text_passwordFromBackupEditAlias: passwordFromBackupEdit.text
property string fileImportBtnText: qsTr("Archive(none)") property string fileImportBtnText: JamiStrings.archive
property string filePath: "" property string filePath: ""
property string errorText: "" property string errorText: ""
@ -41,7 +41,7 @@ Rectangle {
connectBtn.spinnerTriggered = false connectBtn.spinnerTriggered = false
passwordFromBackupEdit.clear() passwordFromBackupEdit.clear()
errorText = "" errorText = ""
fileImportBtnText = qsTr("Archive(none)") fileImportBtnText = JamiString.archive
} }
function errorOccured(errorMessage) { function errorOccured(errorMessage) {
@ -55,7 +55,7 @@ Rectangle {
id: importFromFile_Dialog id: importFromFile_Dialog
mode: JamiFileDialog.OpenFile mode: JamiFileDialog.OpenFile
title: qsTr("Open File") title: JamiStrings.openFile
folder: StandardPaths.writableLocation(StandardPaths.HomeLocation) + "/Desktop" folder: StandardPaths.writableLocation(StandardPaths.HomeLocation) + "/Desktop"
nameFilters: [qsTr("Jami archive files") + " (*.gz)", qsTr("All files") + " (*)"] nameFilters: [qsTr("Jami archive files") + " (*.gz)", qsTr("All files") + " (*)"]
@ -65,7 +65,7 @@ Rectangle {
if (file.length != 0) { if (file.length != 0) {
fileImportBtnText = UtilsAdapter.toFileInfoName(file) fileImportBtnText = UtilsAdapter.toFileInfoName(file)
} else { } else {
fileImportBtnText = qsTr("Archive(none)") fileImportBtnText = JamiString.archive
} }
} }
} }
@ -91,7 +91,7 @@ Rectangle {
Layout.preferredHeight: preferredHeight Layout.preferredHeight: preferredHeight
text: fileImportBtnText text: fileImportBtnText
toolTipText: qsTr("Import your account's archive") toolTipText: JamiStrings.importAccountArchive
source: "qrc:/images/icons/round-folder-24px.svg" source: "qrc:/images/icons/round-folder-24px.svg"
color: JamiTheme.buttonTintedGrey color: JamiTheme.buttonTintedGrey
hoveredColor: JamiTheme.buttonTintedGreyHovered hoveredColor: JamiTheme.buttonTintedGreyHovered
@ -112,9 +112,7 @@ Rectangle {
Layout.preferredWidth: fileImportBtn.width Layout.preferredWidth: fileImportBtn.width
Layout.preferredHeight: preferredHeight Layout.preferredHeight: preferredHeight
text: qsTr("You can obtain an archive by clicking on \"Export account\" " + text: JamiStrings.importAccountExplanation
"in the account settings. " +
"This will create a .gz file on your device.")
wrapMode: Text.Wrap wrapMode: Text.Wrap
onTextChanged: { onTextChanged: {
@ -150,7 +148,7 @@ Rectangle {
Layout.preferredHeight: preferredHeight Layout.preferredHeight: preferredHeight
spinnerTriggeredtext: qsTr("Generating account…") spinnerTriggeredtext: qsTr("Generating account…")
normalText: qsTr("CONNECT FROM BACKUP") normalText: JamiStrings.connectFromBackup
enabled: { enabled: {
if (spinnerTriggered) if (spinnerTriggered)

View file

@ -65,7 +65,7 @@ Rectangle {
Text { Text {
Layout.alignment: Qt.AlignCenter Layout.alignment: Qt.AlignCenter
text: qsTr("Enter your main Jami account password") text: JamiStrings.mainAccountPassword
font.pointSize: JamiTheme.menuFontSize font.pointSize: JamiTheme.menuFontSize
} }
@ -94,8 +94,7 @@ Rectangle {
Layout.preferredWidth: connectBtn.width Layout.preferredWidth: connectBtn.width
Layout.preferredHeight: preferredHeight Layout.preferredHeight: preferredHeight
text: qsTr("Enter the PIN from another configured Jami account. " + text: JamiStrings.enterPIN
"Use the \"Link Another Device\" feature to obtain a PIN")
wrapMode: Text.Wrap wrapMode: Text.Wrap
onTextChanged: { onTextChanged: {
@ -130,7 +129,7 @@ Rectangle {
Layout.preferredHeight: preferredHeight Layout.preferredHeight: preferredHeight
spinnerTriggeredtext: qsTr("Generating account…") spinnerTriggeredtext: qsTr("Generating account…")
normalText: qsTr("CONNECT FROM ANOTHER DEVICE") normalText: JamiStrings.connectFromAnotherDevice
enabled: pinFromDevice.text.length !== 0 && !spinnerTriggered enabled: pinFromDevice.text.length !== 0 && !spinnerTriggered

View file

@ -118,7 +118,7 @@ Rectangle {
Layout.preferredHeight: preferredHeight Layout.preferredHeight: preferredHeight
enabled: !spinnerTriggered enabled: !spinnerTriggered
normalText: qsTr("Save Profile") normalText: JamiStrings.saveProfile
spinnerTriggeredtext: root.isRdv ? qsTr("Generating rendez-vous…") : qsTr("Generating account…") spinnerTriggeredtext: root.isRdv ? qsTr("Generating rendez-vous…") : qsTr("Generating account…")
onClicked: saveProfile() onClicked: saveProfile()
} }
@ -128,7 +128,7 @@ Rectangle {
Layout.preferredWidth: preferredWidth Layout.preferredWidth: preferredWidth
Layout.preferredHeight: preferredHeight Layout.preferredHeight: preferredHeight
text: qsTr("SKIP") text: JamiStrings.skip
enabled: saveProfileBtn.enabled enabled: saveProfileBtn.enabled
color: enabled? JamiTheme.buttonTintedGrey : JamiTheme.buttonTintedGreyInactive color: enabled? JamiTheme.buttonTintedGrey : JamiTheme.buttonTintedGreyInactive
hoveredColor: JamiTheme.buttonTintedGreyHovered hoveredColor: JamiTheme.buttonTintedGreyHovered

View file

@ -117,7 +117,7 @@ Rectangle {
Layout.preferredWidth: preferredWidth Layout.preferredWidth: preferredWidth
Layout.preferredHeight: preferredHeight Layout.preferredHeight: preferredHeight
text: qsTr("Import from another device") text: JamiStrings.linkFromAnotherDevice
fontCapitalization: Font.AllUppercase fontCapitalization: Font.AllUppercase
toolTipText: qsTr("Import account from other device") toolTipText: qsTr("Import account from other device")
source: "qrc:/images/icons/devices-24px.svg" source: "qrc:/images/icons/devices-24px.svg"
@ -137,7 +137,7 @@ Rectangle {
Layout.preferredWidth: preferredWidth Layout.preferredWidth: preferredWidth
Layout.preferredHeight: preferredHeight Layout.preferredHeight: preferredHeight
text: qsTr("Connect from backup") text: JamiStrings.connectFromBackup
fontCapitalization: Font.AllUppercase fontCapitalization: Font.AllUppercase
toolTipText: qsTr("Import account from backup file") toolTipText: qsTr("Import account from backup file")
source: "qrc:/images/icons/backup-24px.svg" source: "qrc:/images/icons/backup-24px.svg"
@ -157,9 +157,9 @@ Rectangle {
Layout.preferredWidth: preferredWidth Layout.preferredWidth: preferredWidth
Layout.preferredHeight: preferredHeight Layout.preferredHeight: preferredHeight
text: qsTr("Show advanced") text: JamiStrings.advancedFeatures
fontCapitalization: Font.AllUppercase fontCapitalization: Font.AllUppercase
toolTipText: qsTr("Show advanced options") toolTipText: JamiStrings.showAdvancedFeatures
color: JamiTheme.buttonTintedBlue color: JamiTheme.buttonTintedBlue
hoveredColor: JamiTheme.buttonTintedBlueHovered hoveredColor: JamiTheme.buttonTintedBlueHovered
pressedColor: JamiTheme.buttonTintedBluePressed pressedColor: JamiTheme.buttonTintedBluePressed
@ -169,7 +169,7 @@ Rectangle {
ToolTip.delay: Qt.styleHints.mousePressAndHoldInterval ToolTip.delay: Qt.styleHints.mousePressAndHoldInterval
ToolTip.visible: hovered ToolTip.visible: hovered
ToolTip.text: qsTr("Show advanced options") ToolTip.text: JamiStrings.showAdvancedFeatures
onClicked: { onClicked: {
connectAccountManagerButton.visible = !connectAccountManagerButton.visible connectAccountManagerButton.visible = !connectAccountManagerButton.visible
@ -186,9 +186,9 @@ Rectangle {
visible: false visible: false
text: qsTr("Connect to management server") text: JamiStrings.connectJAMSServer
fontCapitalization: Font.AllUppercase fontCapitalization: Font.AllUppercase
toolTipText: qsTr("Login to account manager") toolTipText: JamiStrings.createFromJAMS
source: "qrc:/images/icons/router-24px.svg" source: "qrc:/images/icons/router-24px.svg"
color: JamiTheme.buttonTintedBlue color: JamiTheme.buttonTintedBlue
hoveredColor: JamiTheme.buttonTintedBlueHovered hoveredColor: JamiTheme.buttonTintedBlueHovered
@ -208,7 +208,7 @@ Rectangle {
visible: false visible: false
text: qsTr("Create a sip account") text: JamiStrings.addSIPAccount
fontCapitalization: Font.AllUppercase fontCapitalization: Font.AllUppercase
toolTipText: qsTr("Create new SIP account") toolTipText: qsTr("Create new SIP account")
source: "qrc:/images/default_avatar_overlay.svg" source: "qrc:/images/default_avatar_overlay.svg"
@ -247,7 +247,7 @@ Rectangle {
onExitColor: root.color onExitColor: root.color
source: "qrc:/images/icons/ic_arrow_back_24px.svg" source: "qrc:/images/icons/ic_arrow_back_24px.svg"
toolTipText: qsTr("Back") toolTipText: JamiStrings.back
onClicked: leavePage() onClicked: leavePage()
} }

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

Some files were not shown because too many files have changed in this diff Show more