1
0
Fork 0
mirror of https://git.jami.net/savoirfairelinux/jami-client-qt.git synced 2025-08-03 14:25:38 +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>
<qresource prefix="/">
<file>src/constant/JamiStrings.qml</file>
<file>src/settingsview/SettingsView.qml</file>
<file>src/settingsview/components/IconButton.qml</file>
<file>src/settingsview/components/LeftPanelView.qml</file>

View file

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

View file

@ -89,7 +89,7 @@ Dialog {
font.kerning: true
horizontalAlignment: Text.AlignHCenter
wrapMode: Text.Wrap
text:qsTr("Do you really want to delete the following account?")
text: JamiStrings.confirmDeleteQuestion
}
Label {
@ -133,7 +133,7 @@ Dialog {
visible: ! isSIP
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.kerning: true
horizontalAlignment: Text.AlignHCenter

View file

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

View file

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

View file

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

View file

@ -77,7 +77,7 @@ ItemDelegate {
FileDialog {
id: preferenceFilePathDialog
title: qsTr("Please choose a file")
title: JamiStrings.selectFile
folder: "file://" + currentPath
onAccepted: {
@ -140,7 +140,7 @@ ItemDelegate {
model: pluginListPreferenceModel
currentIndex: pluginListPreferenceModel.getCurrentSettingIndex()
textRole: qsTr("PreferenceValue")
textRole: "PreferenceValue"
tooltipText: qsTr("Choose the preference")
onActivated: {
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 preferredMarginSize: 16
// Place holder text.
property string contactSearchBarPlaceHolderConversationText: qsTr("Find or start a conversation")
property string contactSearchBarPlaceHolderInivitionText: qsTr("Search your invitations")
// Jami theme colors
function rgb256(r, g, b) {
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 "../../commoncomponents"
import "../../constant"
Dialog {
id: aboutPopUp
@ -83,7 +84,7 @@ Dialog {
TextMetrics {
id: textMetricsjamiVersionText
font: jamiVersionText.font
text: qsTr("version") + ": " + UtilsAdapter.getVersionStr()
text: JamiStrings.version + ": " + UtilsAdapter.getVersionStr()
}
}
@ -106,7 +107,7 @@ Dialog {
TextMetrics {
id: textMetricsjamiSlogansText
font: jamiSlogansText.font
text: qsTr("Together")
text: JamiStrings.slogan
}
}
@ -126,7 +127,7 @@ Dialog {
// 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 {
@ -223,7 +224,7 @@ Dialog {
Layout.alignment: Qt.AlignCenter
Layout.preferredWidth: aboutPopUpContentRect.width
Layout.preferredHeight: 30
Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.bottomMargin: 10
RowLayout {
@ -233,7 +234,8 @@ Dialog {
MaterialButton {
id: changeLogButton
text: qsTr("Changelog")
Layout.preferredHeight: JamiTheme.preferredFieldHeight
text: JamiStrings.changelog
color: projectCreditsScrollView.visible? JamiTheme.buttonTintedGreyInactive : JamiTheme.buttonTintedGrey
hoveredColor: JamiTheme.buttonTintedGreyHovered
pressedColor: JamiTheme.buttonTintedGreyPressed
@ -248,7 +250,8 @@ Dialog {
MaterialButton {
id: creditsButton
text: qsTr("Credit")
Layout.preferredHeight: JamiTheme.preferredFieldHeight
text: JamiStrings.credits
color: projectCreditsScrollView.visible? JamiTheme.buttonTintedGrey : JamiTheme.buttonTintedGreyInactive
hoveredColor: JamiTheme.buttonTintedGreyHovered
pressedColor: JamiTheme.buttonTintedGreyPressed

View file

@ -164,7 +164,7 @@ ComboBox {
width: 24
height: 24
toolTipText: qsTr("Press to display QR code")
toolTipText: JamiStrings.displayQRCode
hoverEnabled: true
source: "qrc:/images/qrcode.png"
@ -189,7 +189,7 @@ ComboBox {
source: !mainViewWindow.inSettingsView ? "qrc:/images/icons/round-settings-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
backgroundColor: "white"

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -70,7 +70,7 @@ Rectangle {
horizontalAlignment: Text.AlignHCenter
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 {
@ -88,7 +88,7 @@ Rectangle {
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
}

View file

@ -142,6 +142,7 @@ registerTypes()
*/
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/JamiStrings.qml", JamiStrings, 1, 0);
/*
* C++ singletons

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -29,7 +29,7 @@ Dialog {
id: root
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()
root.open()
if(AccountAdapter.hasPassword()) {
@ -85,7 +85,7 @@ Dialog {
infoLabel.isSucessState = true
yourPinLabel.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
} else {
infoLabel.isSucessState = false
@ -134,7 +134,7 @@ Dialog {
anchors.leftMargin: JamiTheme.preferredMarginSize
anchors.topMargin: JamiTheme.preferredMarginSize
text: qsTr("Link another device")
text: JamiStrings.linkAnotherDevice
font.pointSize: JamiTheme.headerFontSize
wrapMode: Text.Wrap
}
@ -349,7 +349,7 @@ Dialog {
Layout.preferredWidth: parent.width - JamiTheme.preferredMarginSize * 2
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.kerning: true
@ -375,7 +375,7 @@ Dialog {
id: btnCloseExportDialog
contentItem: Text {
text: qsTr("CLOSE")
text: JamiStrings.close
color: JamiTheme.buttonTintedBlue
}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -45,7 +45,7 @@ Dialog {
anchors.leftMargin: 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
font.pointSize: JamiTheme.headerFontSize
}

View file

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

View file

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

View file

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

View file

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

View file

@ -65,9 +65,9 @@ VideoInputDeviceModel::data(const QModelIndex& index, int role) const
if (deviceList.size() == 0 && index.row() == 0) {
switch (role) {
case Role::DeviceName:
return QVariant(QObject::tr("No Device"));
return QVariant(QObject::tr("No device"));
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
function onReportFailure() {
var errorMessage = qsTr("Error when creating your account. Check your credentials")
var errorMessage = JamiStrings.errorCreateAccount
switch(controlPanelStackView.currentIndex) {
case WizardView.WizardViewPageIndex.IMPORTFROMDEVICEPAGE:
@ -156,8 +156,7 @@ Rectangle {
var success = (code === successCode)
var title = success ? qsTr("Success") : qsTr("Error")
var info = success ? qsTr("Export Successful") : qsTr(
"Export Failed")
var info = success ? JamiStrings.backupSuccessful : JamiStrings.backupFailed
AccountAdapter.passwordSetStatusMessageBox(success,
title, info)

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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