mirror of
https://github.com/status-im/status-desktop.git
synced 2025-02-11 06:06:30 +00:00
parent
757a05900f
commit
e0a5afebee
@ -65,15 +65,13 @@ Rectangle {
|
||||
property Component signMessageModalComponent: SignMessageModal {}
|
||||
|
||||
property MessageDialog sendingError: MessageDialog {
|
||||
//% "Error sending the transaction"
|
||||
title: qsTrId("error-sending-the-transaction")
|
||||
title: qsTr("Error sending the transaction")
|
||||
icon: StandardIcon.Critical
|
||||
standardButtons: StandardButton.Ok
|
||||
}
|
||||
|
||||
property MessageDialog signingError: MessageDialog {
|
||||
//% "Error signing message"
|
||||
title: qsTrId("error-signing-message")
|
||||
title: qsTr("Error signing message")
|
||||
icon: StandardIcon.Critical
|
||||
standardButtons: StandardButton.Ok
|
||||
}
|
||||
@ -344,12 +342,9 @@ Rectangle {
|
||||
property var certErrors: []
|
||||
icon: StandardIcon.Warning
|
||||
standardButtons: StandardButton.No | StandardButton.Yes
|
||||
//% "Server's certificate not trusted"
|
||||
title: qsTrId("server-s-certificate-not-trusted")
|
||||
//% "Do you wish to continue?"
|
||||
text: qsTrId("do-you-wish-to-continue-")
|
||||
//% "If you wish so, you may continue with an unverified certificate. Accepting an unverified certificate means you may not be connected with the host you tried to connect to.\nDo you wish to override the security check and continue?"
|
||||
detailedText: qsTrId("if-you-wish-so--you-may-continue-with-an-unverified-certificate--accepting-an-unverified-certificate-means-you-may-not-be-connected-with-the-host-you-tried-to-connect-to--ndo-you-wish-to-override-the-security-check-and-continue-")
|
||||
title: qsTr("Server's certificate not trusted")
|
||||
text: qsTr("Do you wish to continue?")
|
||||
detailedText: qsTr("If you wish so, you may continue with an unverified certificate. Accepting an unverified certificate means you may not be connected with the host you tried to connect to.\nDo you wish to override the security check and continue?")
|
||||
onYes: {
|
||||
certErrors.shift().ignoreCertificateError();
|
||||
presentError();
|
||||
|
@ -75,8 +75,7 @@ TabViewStyle {
|
||||
anchors.rightMargin: Style.current.halfPadding
|
||||
icon.name: "close"
|
||||
type: StatusFlatRoundButton.Type.Quaternary
|
||||
//% "Start Page"
|
||||
visible: control.count > 1 || styleData.title !== qsTrId("start-page")
|
||||
visible: control.count > 1 || styleData.title !== qsTr("Start Page")
|
||||
enabled: visible
|
||||
onClicked: control.closeButtonClicked(styleData.index)
|
||||
}
|
||||
|
@ -105,8 +105,7 @@ Rectangle {
|
||||
}
|
||||
leftPadding: Style.current.padding
|
||||
rightPadding: addFavoriteBtn.width + reloadBtn.width + Style.current.bigPadding
|
||||
//% "Enter URL"
|
||||
placeholderText: qsTrId("enter-url")
|
||||
placeholderText: qsTr("Enter URL")
|
||||
focus: true
|
||||
text: ""
|
||||
color: Style.current.textColor
|
||||
|
@ -26,12 +26,10 @@ QQC1.TabView {
|
||||
tabTitle = tab.item.title
|
||||
}
|
||||
else if (createAsStartPage) {
|
||||
//% "Start Page"
|
||||
tabTitle = qsTrId("start-page")
|
||||
tabTitle = qsTr("Start Page")
|
||||
}
|
||||
else {
|
||||
//% "New Tab"
|
||||
tabTitle = qsTrId("new-tab")
|
||||
tabTitle = qsTr("New Tab")
|
||||
}
|
||||
|
||||
return Utils.escapeHtml(tabTitle);
|
||||
@ -51,8 +49,7 @@ QQC1.TabView {
|
||||
function createDownloadTab(profile) {
|
||||
var tab = addTab("", tabComponent);
|
||||
tab.active = true;
|
||||
//% "Downloads Page"
|
||||
tab.title = qsTrId("downloads-page")
|
||||
tab.title = qsTr("Downloads Page")
|
||||
tab.item.profile = profile
|
||||
tab.item.url = "status://downloads";
|
||||
}
|
||||
|
@ -59,12 +59,10 @@ Rectangle {
|
||||
primaryText: downloadFileName
|
||||
downloadText: {
|
||||
if (isCanceled) {
|
||||
//% "Cancelled"
|
||||
return qsTrId("cancelled")
|
||||
return qsTr("Cancelled")
|
||||
}
|
||||
if (isPaused) {
|
||||
//% "Paused"
|
||||
return qsTrId("paused")
|
||||
return qsTr("Paused")
|
||||
}
|
||||
return `${downloadsModel.downloads[index] ? (downloadsModel.downloads[index].receivedBytes / 1000000).toFixed(2) : 0}/${downloadsModel.downloads[index] ? (downloadsModel.downloads[index].totalBytes / 1000000).toFixed(2) : 0} MB` //"14.4/109 MB, 26 sec left"
|
||||
}
|
||||
@ -97,8 +95,7 @@ Rectangle {
|
||||
StatusButton {
|
||||
id: showAllBtn
|
||||
size: StatusBaseButton.Size.Small
|
||||
//% "Show All"
|
||||
text: qsTrId("show-all")
|
||||
text: qsTr("Show All")
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.right: closeBtn.left
|
||||
anchors.rightMargin: Style.current.padding
|
||||
|
@ -34,12 +34,10 @@ import "../controls"
|
||||
primaryText: downloadFileName
|
||||
downloadText: {
|
||||
if (isCanceled) {
|
||||
//% "Cancelled"
|
||||
return qsTrId("cancelled")
|
||||
return qsTr("Cancelled")
|
||||
}
|
||||
if (isPaused) {
|
||||
//% "Paused"
|
||||
return qsTrId("paused")
|
||||
return qsTr("Paused")
|
||||
}
|
||||
return `${downloadsModel.downloads[index] ? (downloadsModel.downloads[index].receivedBytes / 1000000).toFixed(2) : 0}/${downloadsModel.downloads[index] ? (downloadsModel.downloads[index].totalBytes / 1000000).toFixed(2) : 0} MB` //"14.4/109 MB, 26 sec left"
|
||||
}
|
||||
@ -73,8 +71,7 @@ import "../controls"
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
font.pixelSize: 15
|
||||
//% "Downloaded files will appear here."
|
||||
text: qsTrId("downloaded-files-will-appear-here-")
|
||||
text: qsTr("Downloaded files will appear here.")
|
||||
color: Style.current.secondaryText
|
||||
}
|
||||
}
|
||||
|
@ -67,12 +67,9 @@ ModalPopup {
|
||||
|
||||
title: modifiyModal ?
|
||||
toolbarMode ?
|
||||
//% "Favorite added"
|
||||
qsTrId("favorite-added") :
|
||||
//% "Edit"
|
||||
qsTrId("edit")
|
||||
//% "Add favorite"
|
||||
: qsTrId("add-favorite")
|
||||
qsTr("Favorite added") :
|
||||
qsTr("Edit")
|
||||
: qsTr("Add favorite")
|
||||
|
||||
Column {
|
||||
width: parent.width
|
||||
@ -132,8 +129,7 @@ ModalPopup {
|
||||
anchors.right: addBtn.left
|
||||
anchors.rightMargin: Style.current.padding
|
||||
visible: popup.modifiyModal
|
||||
//% "Remove"
|
||||
text: qsTrId("remove")
|
||||
text: qsTr("Remove")
|
||||
anchors.bottom: parent.bottom
|
||||
type: StatusBaseButton.Type.Danger
|
||||
onClicked: {
|
||||
@ -147,10 +143,8 @@ ModalPopup {
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: Style.current.smallPadding
|
||||
text: popup.modifiyModal ?
|
||||
//% "Done"
|
||||
qsTrId("done") :
|
||||
//% "Add"
|
||||
qsTrId("add")
|
||||
qsTr("Done") :
|
||||
qsTr("Add")
|
||||
anchors.bottom: parent.bottom
|
||||
enabled: nameInput.valid && !!nameInput.text && urlInput.valid && !!urlInput.text
|
||||
onClicked: {
|
||||
|
@ -94,8 +94,7 @@ StatusModal {
|
||||
|
||||
StatusBaseText {
|
||||
id: titleText
|
||||
//% "'%1' would like to connect to"
|
||||
text: qsTrId("--1--would-like-to-connect-to").arg(request.title)
|
||||
text: qsTr("'%1' would like to connect to").arg(request.title)
|
||||
wrapMode: Text.WordWrap
|
||||
font.weight: Font.Bold
|
||||
font.pixelSize: 17
|
||||
@ -140,10 +139,8 @@ StatusModal {
|
||||
id: infoText
|
||||
text: {
|
||||
switch(request.permission){
|
||||
//% "Allowing authorizes this DApp to retrieve your wallet address and enable Web3"
|
||||
case Constants.permission_web3: return qsTrId("allowing-authorizes-this-dapp");
|
||||
//% "Granting access authorizes this DApp to retrieve your chat key"
|
||||
case Constants.permission_contactCode: return qsTrId("your-contact-code");
|
||||
case Constants.permission_web3: return qsTr("Allowing authorizes this DApp to retrieve your wallet address and enable Web3");
|
||||
case Constants.permission_contactCode: return qsTr("Granting access authorizes this DApp to retrieve your chat key");
|
||||
default: return qsTr("Unknown permission: " + request.permission);
|
||||
}
|
||||
}
|
||||
@ -163,8 +160,7 @@ StatusModal {
|
||||
StatusButton {
|
||||
type: StatusBaseButton.Type.Danger
|
||||
width: 151
|
||||
//% "Deny"
|
||||
text: qsTrId("deny")
|
||||
text: qsTr("Deny")
|
||||
onClicked: {
|
||||
postMessage(false);
|
||||
browserConnectionModal.close();
|
||||
@ -175,8 +171,7 @@ StatusModal {
|
||||
normalColor: Utils.setColorAlpha(Style.current.success, 0.1)
|
||||
textColor: Style.current.success
|
||||
width: 151
|
||||
//% "Allow"
|
||||
text: qsTrId("allow")
|
||||
text: qsTr("Allow")
|
||||
onClicked: {
|
||||
postMessage(true);
|
||||
browserConnectionModal.close();
|
||||
|
@ -27,8 +27,7 @@ PopupMenu {
|
||||
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
|
||||
|
||||
Action {
|
||||
//% "New Tab"
|
||||
text: qsTrId("new-tab")
|
||||
text: qsTr("New Tab")
|
||||
shortcut: StandardKey.AddTab
|
||||
onTriggered: addNewTab()
|
||||
}
|
||||
@ -37,10 +36,8 @@ PopupMenu {
|
||||
id: offTheRecordEnabled
|
||||
// TODO show an indicator on the browser or tab?
|
||||
text: checked ?
|
||||
//% "Exit Incognito mode"
|
||||
qsTrId("exit-incognito-mode") :
|
||||
//% "Go Incognito"
|
||||
qsTrId("go-incognito")
|
||||
qsTr("Exit Incognito mode") :
|
||||
qsTr("Go Incognito")
|
||||
checkable: true
|
||||
checked: isIncognito
|
||||
onToggled: goIncognito(checked)
|
||||
@ -50,15 +47,13 @@ PopupMenu {
|
||||
|
||||
// TODO find a way to put both in one button
|
||||
Action {
|
||||
//% "Zoom In"
|
||||
text: qsTrId("zoom-in")
|
||||
text: qsTr("Zoom In")
|
||||
shortcut: StandardKey.ZoomIn
|
||||
onTriggered: zoomIn()
|
||||
}
|
||||
|
||||
Action {
|
||||
//% "Zoom Out"
|
||||
text: qsTrId("zoom-out")
|
||||
text: qsTr("Zoom Out")
|
||||
shortcut: StandardKey.ZoomOut
|
||||
onTriggered: zoomOut()
|
||||
}
|
||||
@ -71,23 +66,20 @@ PopupMenu {
|
||||
Separator {}
|
||||
|
||||
Action {
|
||||
//% "Find"
|
||||
text: qsTrId("find")
|
||||
text: qsTr("Find")
|
||||
shortcut: StandardKey.Find
|
||||
onTriggered: launchFindBar()
|
||||
}
|
||||
|
||||
Action {
|
||||
//% "Compatibility mode"
|
||||
text: qsTrId("compatibility-mode")
|
||||
text: qsTr("Compatibility mode")
|
||||
checkable: true
|
||||
checked: true
|
||||
onToggled: toggleCompatibilityMode(checked)
|
||||
}
|
||||
|
||||
Action {
|
||||
//% "Developer Tools"
|
||||
text: qsTrId("developer-tools")
|
||||
text: qsTr("Developer Tools")
|
||||
shortcut: "F12"
|
||||
onTriggered: {
|
||||
localAccountSensitiveSettings.devToolsEnabled = !localAccountSensitiveSettings.devToolsEnabled
|
||||
@ -97,8 +89,7 @@ PopupMenu {
|
||||
Separator {}
|
||||
|
||||
Action {
|
||||
//% "Settings"
|
||||
text: qsTrId("settings")
|
||||
text: qsTr("Settings")
|
||||
shortcut: "Ctrl+,"
|
||||
onTriggered: launchBrowserSettings()
|
||||
}
|
||||
|
@ -73,7 +73,7 @@ Popup {
|
||||
switch (Web3ProviderStore.chainName) {
|
||||
case Constants.networkMainnet: return qsTr("Mainnet");
|
||||
case Constants.networkRopsten: return qsTr("Ropsten");
|
||||
default: return qsTrId("Unknown")
|
||||
default: return qsTr("Unknown")
|
||||
}
|
||||
}
|
||||
font.pixelSize: 15
|
||||
@ -190,7 +190,7 @@ Popup {
|
||||
StatusTabButton {
|
||||
id: historyBtn
|
||||
width: implicitWidth
|
||||
text: qsTrId("History")
|
||||
text: qsTr("History")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -23,16 +23,14 @@ PopupMenu {
|
||||
icon.source: Style.svg("browser/file")
|
||||
icon.width: 16
|
||||
icon.height: 16
|
||||
//% "Open"
|
||||
text: qsTrId("open")
|
||||
text: qsTr("Open")
|
||||
onTriggered: DownloadsStore.openFile(index)
|
||||
}
|
||||
Action {
|
||||
icon.source: Style.svg("add_watch_only")
|
||||
icon.width: 13
|
||||
icon.height: 9
|
||||
//% "Show in folder"
|
||||
text: qsTrId("show-in-folder")
|
||||
text: qsTr("Show in folder")
|
||||
onTriggered: DownloadsStore.openDirectory(index)
|
||||
}
|
||||
Action {
|
||||
@ -40,8 +38,7 @@ PopupMenu {
|
||||
icon.source: Style.svg("browser/pause")
|
||||
icon.width: 16
|
||||
icon.height: 16
|
||||
//% "Pause"
|
||||
text: qsTrId("pause")
|
||||
text: qsTr("Pause")
|
||||
onTriggered: {
|
||||
download.pause()
|
||||
}
|
||||
@ -51,8 +48,7 @@ PopupMenu {
|
||||
icon.source: Style.svg("browser/play")
|
||||
icon.width: 16
|
||||
icon.height: 16
|
||||
//% "Resume"
|
||||
text: qsTrId("resume")
|
||||
text: qsTr("Resume")
|
||||
onTriggered: {
|
||||
download.resume()
|
||||
}
|
||||
@ -65,8 +61,7 @@ PopupMenu {
|
||||
icon.source: Style.svg("block-icon")
|
||||
icon.width: 13
|
||||
icon.height: 13
|
||||
//% "Cancel"
|
||||
text: qsTrId("browsing-cancel")
|
||||
text: qsTr("Cancel")
|
||||
onTriggered: {
|
||||
download.cancel()
|
||||
cancelClicked()
|
||||
|
@ -21,8 +21,7 @@ PopupMenu {
|
||||
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutside
|
||||
|
||||
Action {
|
||||
//% "Open in new Tab"
|
||||
text: qsTrId("open-in-new-tab")
|
||||
text: qsTr("Open in new Tab")
|
||||
icon.source: Style.svg("generate_account")
|
||||
icon.width: 16
|
||||
icon.height: 16
|
||||
@ -34,8 +33,7 @@ PopupMenu {
|
||||
Separator {}
|
||||
|
||||
Action {
|
||||
//% "Edit"
|
||||
text: qsTrId("edit")
|
||||
text: qsTr("Edit")
|
||||
icon.source: Style.svg("edit")
|
||||
icon.width: 16
|
||||
icon.height: 16
|
||||
@ -47,8 +45,7 @@ PopupMenu {
|
||||
}
|
||||
|
||||
Action {
|
||||
//% "Remove"
|
||||
text: qsTrId("remove")
|
||||
text: qsTr("Remove")
|
||||
icon.source: Style.svg("remove")
|
||||
icon.color: Style.current.danger
|
||||
icon.width: 16
|
||||
|
@ -63,8 +63,7 @@ ModalPopup {
|
||||
StatusButton {
|
||||
id: okButton
|
||||
anchors.right: parent.right
|
||||
//% "Ok"
|
||||
text: qsTrId("ok")
|
||||
text: qsTr("Ok")
|
||||
anchors.bottom: parent.bottom
|
||||
onClicked: {
|
||||
request.dialogAccept(prompt.text);
|
||||
@ -76,8 +75,7 @@ ModalPopup {
|
||||
id: cancelButton
|
||||
anchors.right: okButton.left
|
||||
anchors.rightMargin: Style.current.smallPadding
|
||||
//% "Cancel"
|
||||
text: qsTrId("browsing-cancel")
|
||||
text: qsTr("Cancel")
|
||||
anchors.bottom: parent.bottom
|
||||
onClicked: {
|
||||
request.dialogReject();
|
||||
|
@ -34,8 +34,7 @@ StatusModal {
|
||||
anchors.centerIn: parent
|
||||
id: root
|
||||
|
||||
//% "Signature request"
|
||||
header.title: qsTrId("signature-request")
|
||||
header.title: qsTr("Signature request")
|
||||
height: 504
|
||||
|
||||
onClosed: {
|
||||
@ -96,8 +95,7 @@ StatusModal {
|
||||
anchors.leftMargin: Style.current.padding
|
||||
|
||||
LabelValueRow {
|
||||
//% "From"
|
||||
label: qsTrId("from")
|
||||
label: qsTr("From")
|
||||
value: Item {
|
||||
id: itmFromValue
|
||||
anchors.fill: parent
|
||||
@ -139,8 +137,7 @@ StatusModal {
|
||||
}
|
||||
|
||||
LabelValueRow {
|
||||
//% "Data"
|
||||
label: qsTrId("data")
|
||||
label: qsTr("Data")
|
||||
value: Item {
|
||||
anchors.fill: parent
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
@ -148,8 +145,7 @@ StatusModal {
|
||||
// TODO; replace with StatusModal
|
||||
ModalPopup {
|
||||
id: messagePopup
|
||||
//% "Message"
|
||||
title: qsTrId("message")
|
||||
title: qsTr("Message")
|
||||
height: 286
|
||||
width: 400
|
||||
Item {
|
||||
@ -212,8 +208,7 @@ StatusModal {
|
||||
leftButtons: [
|
||||
StatusFlatButton {
|
||||
id: btnReject
|
||||
//% "Reject"
|
||||
text: qsTrId("reject")
|
||||
text: qsTr("Reject")
|
||||
type: StatusBaseButton.Type.Danger
|
||||
onClicked: close()
|
||||
}
|
||||
@ -223,10 +218,8 @@ StatusModal {
|
||||
StatusButton {
|
||||
id: btnNext
|
||||
text: showSigningPhrase ?
|
||||
//% "Sign"
|
||||
qsTrId("transactions-sign") :
|
||||
//% "Sign with password"
|
||||
qsTrId("sign-with-password")
|
||||
qsTr("Sign") :
|
||||
qsTr("Sign with password")
|
||||
onClicked: {
|
||||
if(!showSigningPhrase){
|
||||
showSigningPhrase = true;
|
||||
|
@ -79,8 +79,7 @@ Rectangle {
|
||||
|
||||
StyledText {
|
||||
visible: isUser
|
||||
//% "Admin"
|
||||
text: qsTrId("group-chat-admin")
|
||||
text: qsTr("Admin")
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: Style.current.padding
|
||||
font.pixelSize: 15
|
||||
|
@ -37,8 +37,7 @@ Item {
|
||||
|
||||
StatusFlatButton {
|
||||
id: allBtn
|
||||
//% "All"
|
||||
text: qsTrId("all")
|
||||
text: qsTr("All")
|
||||
size: StatusBaseButton.Size.Small
|
||||
highlighted: root.allBtnHighlighted
|
||||
onClicked: root.allBtnClicked();
|
||||
@ -46,8 +45,7 @@ Item {
|
||||
|
||||
StatusFlatButton {
|
||||
id: mentionsBtn
|
||||
//% "Mentions"
|
||||
text: qsTrId("mentions")
|
||||
text: qsTr("Mentions")
|
||||
enabled: hasMentions
|
||||
size: StatusBaseButton.Size.Small
|
||||
highlighted: root.mentionsBtnHighlighted
|
||||
@ -58,8 +56,7 @@ Item {
|
||||
|
||||
StatusFlatButton {
|
||||
id: repliesbtn
|
||||
//% "Replies"
|
||||
text: qsTrId("replies")
|
||||
text: qsTr("Replies")
|
||||
enabled: hasReplies
|
||||
size: StatusBaseButton.Size.Small
|
||||
highlighted: root.repliesBtnHighlighted
|
||||
@ -71,7 +68,7 @@ Item {
|
||||
// StatusFlatButton {
|
||||
// id: contactRequestsBtn
|
||||
// //% "Contact requests"
|
||||
// text: qsTrId("contact-requests")
|
||||
// text: qsTr("Replies")
|
||||
// enabled: hasContactRequests
|
||||
// size: StatusBaseButton.Size.Small
|
||||
// highlighted: activityCenter.currentFilter === ActivityCenter.Filter.ContactRequests
|
||||
@ -96,8 +93,7 @@ Item {
|
||||
|
||||
StatusToolTip {
|
||||
visible: markAllReadBtn.hovered
|
||||
//% "Mark all as Read"
|
||||
text: qsTrId("mark-all-as-read")
|
||||
text: qsTr("Mark all as Read")
|
||||
}
|
||||
}
|
||||
|
||||
@ -118,17 +114,14 @@ Item {
|
||||
StatusMenuItem {
|
||||
icon.name: "hide"
|
||||
text: hideReadNotifications ?
|
||||
//% "Show read notifications"
|
||||
qsTrId("show-read-notifications") :
|
||||
//% "Hide read notifications"
|
||||
qsTrId("hide-read-notifications")
|
||||
qsTr("Show read notifications") :
|
||||
qsTr("Hide read notifications")
|
||||
onTriggered: hideReadNotifications = !hideReadNotifications
|
||||
}
|
||||
|
||||
StatusMenuItem {
|
||||
icon.name: "notification"
|
||||
//% "Notification settings"
|
||||
text: qsTrId("chat-notification-preferences")
|
||||
text: qsTr("Notification settings")
|
||||
onTriggered: {
|
||||
root.preferencesClicked();
|
||||
}
|
||||
|
@ -25,12 +25,9 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: contactText1
|
||||
//% "You need to be mutual contacts with this person for them to receive your messages"
|
||||
text: qsTrId("you-need-to-be-mutual-contacts-with-this-person-for-them-to-receive-your-messages")
|
||||
//% "You need to be mutual contacts with this person for them to receive your messages"
|
||||
// text: !isContact ? qsTrId("you-need-to-be-mutual-contacts-with-this-person-for-them-to-receive-your-messages") :
|
||||
//% "Waiting for %1 to accept your request"
|
||||
// qsTrId("waiting-for--1-to-accept-your-request").arg(Utils.removeStatusEns(chatsModel.channelView.activeChannel.name))
|
||||
text: qsTr("You need to be mutual contacts with this person for them to receive your messages")
|
||||
// text: !isContact ? qsTr("You need to be mutual contacts with this person for them to receive your messages") :
|
||||
// qsTr("Waiting for %1 to accept your request").arg(Utils.removeStatusEns(chatsModel.channelView.activeChannel.name))
|
||||
anchors.top: waveImg.bottom
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
wrapMode: Text.WordWrap
|
||||
@ -43,8 +40,7 @@ Item {
|
||||
StatusBaseText {
|
||||
id: contactText2
|
||||
visible: !isContact
|
||||
//% "Just click this button to add them as contact. They will receive a notification. Once they accept the request, you'll be able to chat"
|
||||
text: qsTrId("just-click-this-button-to-add-them-as-contact--they-will-receive-a-notification--once-they-accept-the-request--you-ll-be-able-to-chat")
|
||||
text: qsTr("Just click this button to add them as contact. They will receive a notification. Once they accept the request, you'll be able to chat")
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
wrapMode: Text.WordWrap
|
||||
anchors.top: contactText1.bottom
|
||||
@ -56,8 +52,7 @@ Item {
|
||||
|
||||
StatusButton {
|
||||
visible: !isContact
|
||||
//% "Add to contacts"
|
||||
text: qsTrId("add-to-contacts")
|
||||
text: qsTr("Add to contacts")
|
||||
anchors.top: contactText2.bottom
|
||||
anchors.topMargin: Style.current.smallPadding
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
|
@ -13,8 +13,7 @@ Item {
|
||||
Layout.fillWidth: true
|
||||
|
||||
StyledText {
|
||||
//% "Your chats will appear here. To start new chats press the button at the top"
|
||||
text: qsTrId("your-chats-will-appear-here--to-start-new-chats-press-the---button-at-the-top")
|
||||
text: qsTr("Your chats will appear here. To start new chats press the button at the top")
|
||||
anchors.verticalCenterOffset: -80
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
wrapMode: Text.WordWrap
|
||||
|
@ -32,8 +32,7 @@ Item {
|
||||
|
||||
StyledText {
|
||||
id: shareKeyLink
|
||||
//% "Share your chat key"
|
||||
text: qsTrId("share-your-chat-key")
|
||||
text: qsTr("Share your chat key")
|
||||
font.pixelSize: 15
|
||||
color: Style.current.blue
|
||||
|
||||
@ -53,8 +52,7 @@ Item {
|
||||
|
||||
StyledText {
|
||||
id: orText
|
||||
//% "or"
|
||||
text: qsTrId("or")
|
||||
text: qsTr("or")
|
||||
font.pixelSize: 15
|
||||
color: Style.current.secondaryText
|
||||
anchors.left: shareKeyLink.right
|
||||
@ -64,8 +62,7 @@ Item {
|
||||
|
||||
StyledText {
|
||||
id: inviteLink
|
||||
//% "invite"
|
||||
text: qsTrId("invite")
|
||||
text: qsTr("invite")
|
||||
font.pixelSize: 15
|
||||
color: Style.current.blue
|
||||
anchors.left: orText.right
|
||||
@ -90,8 +87,7 @@ Item {
|
||||
}
|
||||
|
||||
StyledText {
|
||||
//% "friends to start messaging in Status"
|
||||
text: qsTrId("friends-to-start-messaging-in-status")
|
||||
text: qsTr("friends to start messaging in Status")
|
||||
font.pixelSize: 15
|
||||
color: Style.current.secondaryText
|
||||
anchors.horizontalCenter: walkieTalkieImage.horizontalCenter
|
||||
|
@ -73,8 +73,7 @@ Rectangle {
|
||||
|
||||
StatusBaseText {
|
||||
id: chatAndTransactText
|
||||
//% "Chat and transact privately with your friends"
|
||||
text: qsTrId("chat-and-transact-privately-with-your-friends")
|
||||
text: qsTr("Chat and transact privately with your friends")
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 56
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
@ -88,8 +87,7 @@ Rectangle {
|
||||
}
|
||||
|
||||
StatusQControls.StatusButton {
|
||||
//% "Invite friends"
|
||||
text: qsTrId("invite-friends")
|
||||
text: qsTr("Invite friends")
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: Style.current.xlPadding
|
||||
@ -130,8 +128,7 @@ Rectangle {
|
||||
StatusBaseText {
|
||||
id: suggestionsText
|
||||
width: parent.width
|
||||
//% "Follow your interests in one of the many Public Chats."
|
||||
text: qsTrId("follow-your-interests-in-one-of-the-many-public-chats.")
|
||||
text: qsTr("Follow your interests in one of the many Public Chats.")
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: Style.current.xlPadding
|
||||
font.pointSize: 15
|
||||
|
@ -64,8 +64,7 @@ Rectangle {
|
||||
|
||||
StatusBaseText {
|
||||
id: backUpText
|
||||
//% "Back up community key"
|
||||
text: qsTrId("back-up-community-key")
|
||||
text: qsTr("Back up community key")
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 48
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
@ -80,8 +79,7 @@ Rectangle {
|
||||
|
||||
StatusButton {
|
||||
id: backUpBtn
|
||||
//% "Back up"
|
||||
text: qsTrId("back-up")
|
||||
text: qsTr("Back up")
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.top: backUpText.bottom
|
||||
anchors.topMargin: Style.current.padding
|
||||
|
@ -82,7 +82,7 @@ Rectangle {
|
||||
|
||||
StatusButton {
|
||||
id: addMembersBtn
|
||||
text: qsTrId("Add channels")
|
||||
text: qsTr("Add channels")
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.top: descriptionText.bottom
|
||||
anchors.topMargin: Style.current.padding
|
||||
|
@ -47,8 +47,7 @@ SettingsPageLayout {
|
||||
Layout.fillWidth: true
|
||||
|
||||
visible: root.editable && root.pendingRequests > 0
|
||||
//% "Membership requests"
|
||||
title: qsTrId("membership-requests")
|
||||
title: qsTr("Membership requests")
|
||||
requestsCount: root.pendingRequests
|
||||
sensor.onClicked: root.membershipRequestsClicked()
|
||||
}
|
||||
@ -65,8 +64,7 @@ SettingsPageLayout {
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
|
||||
visible: memberList.count === 0
|
||||
//% "Community members will appear here"
|
||||
text: qsTrId("community-members-will-appear-here")
|
||||
text: qsTr("Community members will appear here")
|
||||
font.pixelSize: 15
|
||||
color: Theme.palette.baseColor1
|
||||
}
|
||||
@ -75,8 +73,7 @@ SettingsPageLayout {
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
|
||||
visible: !!memberSearch.input.text && memberList.height == 0
|
||||
//% "No contacts found"
|
||||
text: qsTrId("no-contacts-found")
|
||||
text: qsTr("No contacts found")
|
||||
font.pixelSize: 15
|
||||
color: Theme.palette.baseColor1
|
||||
}
|
||||
@ -105,8 +102,7 @@ SettingsPageLayout {
|
||||
|
||||
title: {
|
||||
if (memberItem.itsMe) {
|
||||
//% "You"
|
||||
return qsTrId("You")
|
||||
return qsTr("You")
|
||||
}
|
||||
return !model.displayName.endsWith(".eth") ? model.displayName : Utils.removeStatusEns(model.displayName)
|
||||
}
|
||||
|
@ -23,8 +23,7 @@ Column {
|
||||
property alias contactListSearch: contactFieldAndList
|
||||
|
||||
StatusDescriptionListItem {
|
||||
//% "Share community"
|
||||
title: qsTrId("share-community")
|
||||
title: qsTr("Share community")
|
||||
subTitle: `${Constants.communityLinkPrefix}${root.community && root.community.id.substring(0, 4)}...${root.community && root.community.id.substring(root.community.id.length -2)}`
|
||||
tooltip.text: qsTr("Copied!")
|
||||
icon.name: "copy"
|
||||
|
@ -45,8 +45,7 @@ Column {
|
||||
}
|
||||
|
||||
StatusDescriptionListItem {
|
||||
//% "Share community"
|
||||
title: qsTrId("share-community")
|
||||
title: qsTr("Share community")
|
||||
subTitle: `${Constants.communityLinkPrefix}${root.community.id.substring(0, 4)}...${root.community.id.substring(root.community.id.length -2)}`
|
||||
tooltip.text: qsTr("Copied!")
|
||||
icon.name: "copy"
|
||||
@ -66,8 +65,7 @@ Column {
|
||||
StatusListItem {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
visible: root.community.amISectionAdmin
|
||||
//% "Transfer ownership"
|
||||
title: qsTrId("transfer-ownership")
|
||||
title: qsTr("Transfer ownership")
|
||||
icon.name: "exchange"
|
||||
type: StatusListItem.Type.Secondary
|
||||
sensor.onClicked: root.transferOwnershipButtonClicked()
|
||||
@ -75,8 +73,7 @@ Column {
|
||||
|
||||
StatusListItem {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
//% "Leave community"
|
||||
title: qsTrId("leave-community")
|
||||
title: qsTr("Leave community")
|
||||
icon.name: "arrow-right"
|
||||
icon.height: 16
|
||||
icon.width: 20
|
||||
@ -85,13 +82,12 @@ Column {
|
||||
sensor.onClicked: root.leaveButtonClicked()
|
||||
}
|
||||
|
||||
//% "Roles"
|
||||
/* // TODO add this back when roles exist */
|
||||
/* // Loader { */
|
||||
/* // active: root.community.isAdmin */
|
||||
/* // width: parent.width */
|
||||
/* // sourceComponent: CommunityPopupButton { */
|
||||
/* // label: qsTrId("community-roles") */
|
||||
/* // label: qsTr("Roles") */
|
||||
/* // iconName: "roles" */
|
||||
/* // width: parent.width */
|
||||
/* // onClicked: console.log("TODO:") */
|
||||
|
@ -81,8 +81,7 @@ Rectangle {
|
||||
|
||||
StatusBaseText {
|
||||
id: welcomeText
|
||||
//% "Welcome to your community!"
|
||||
text: qsTrId("welcome-to-your-community-")
|
||||
text: qsTr("Welcome to your community!")
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 60
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
@ -97,8 +96,7 @@ Rectangle {
|
||||
|
||||
StatusQControls.StatusButton {
|
||||
id: addMembersBtn
|
||||
//% "Add members"
|
||||
text: qsTrId("add-members")
|
||||
text: qsTr("Add members")
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.bottom: manageBtn.top
|
||||
anchors.bottomMargin: Style.current.halfPadding
|
||||
@ -111,8 +109,7 @@ Rectangle {
|
||||
|
||||
StatusQControls.StatusFlatButton {
|
||||
id: manageBtn
|
||||
//% "Manage community"
|
||||
text: qsTrId("manage-community")
|
||||
text: qsTr("Manage community")
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: Style.current.padding
|
||||
|
@ -241,8 +241,7 @@ Popup {
|
||||
height: visible ? showMoreBtn.height + showMoreBtn.anchors.topMargin : 0
|
||||
StatusButton {
|
||||
id: showMoreBtn
|
||||
//% "Show more"
|
||||
text: qsTrId("show-more")
|
||||
text: qsTr("Show more")
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: Style.current.smallPadding
|
||||
|
@ -48,8 +48,7 @@ StatusModal {
|
||||
TransactionFormGroup {
|
||||
id: group1
|
||||
headerText: root.commandTitle
|
||||
//% "Continue"
|
||||
footerText: qsTrId("continue")
|
||||
footerText: qsTr("Continue")
|
||||
|
||||
StatusAccountSelector {
|
||||
id: selectFromAccount
|
||||
@ -65,10 +64,8 @@ StatusModal {
|
||||
width: stack.width
|
||||
label: {
|
||||
return root.isRequested ?
|
||||
//% "Receive on account"
|
||||
qsTrId("receive-on-account") :
|
||||
//% "From account"
|
||||
qsTrId("from-account")
|
||||
qsTr("Receive on account") :
|
||||
qsTr("From account")
|
||||
}
|
||||
}
|
||||
SeparatorWithIcon {
|
||||
@ -83,8 +80,7 @@ StatusModal {
|
||||
anchors.right: selectRecipient.right
|
||||
anchors.bottom: selectRecipient.top
|
||||
anchors.bottomMargin: -Style.current.padding
|
||||
//% "Address request required"
|
||||
text: qsTrId("address-request-required")
|
||||
text: qsTr("Address request required")
|
||||
color: Theme.palette.dangerColor1
|
||||
visible: addressRequiredValidator.isWarn
|
||||
}
|
||||
@ -94,10 +90,8 @@ StatusModal {
|
||||
accounts: root.store.accounts
|
||||
contactsStore: root.contactsStore
|
||||
label: root.isRequested ?
|
||||
//% "From"
|
||||
qsTrId("from") :
|
||||
//% "To"
|
||||
qsTrId("to")
|
||||
qsTr("From") :
|
||||
qsTr("To")
|
||||
anchors.top: separator.bottom
|
||||
anchors.topMargin: 10
|
||||
width: stack.width
|
||||
@ -109,8 +103,7 @@ StatusModal {
|
||||
TransactionFormGroup {
|
||||
id: group2
|
||||
headerText: root.commandTitle
|
||||
//% "Preview"
|
||||
footerText: qsTrId("preview")
|
||||
footerText: qsTr("Preview")
|
||||
|
||||
AssetAndAmountInput {
|
||||
id: txtAmount
|
||||
@ -126,10 +119,8 @@ StatusModal {
|
||||
TransactionFormGroup {
|
||||
id: group3
|
||||
headerText: root.isRequested ?
|
||||
//% "Preview"
|
||||
qsTrId("preview") :
|
||||
//% "Transaction preview"
|
||||
qsTrId("transaction-preview")
|
||||
qsTr("Preview") :
|
||||
qsTr("Transaction preview")
|
||||
footerText: root.finalButtonLabel
|
||||
|
||||
TransactionPreview {
|
||||
@ -168,8 +159,7 @@ StatusModal {
|
||||
rightButtons: [
|
||||
StatusButton {
|
||||
id: btnNext
|
||||
//% "Next"
|
||||
text: qsTrId("next")
|
||||
text: qsTr("Next")
|
||||
enabled: stack.currentGroup.isValid && !stack.currentGroup.isPending
|
||||
onClicked: {
|
||||
const validity = stack.currentGroup.validate()
|
||||
|
@ -12,8 +12,7 @@ StatusModal {
|
||||
id: popup
|
||||
anchors.centerIn: parent
|
||||
|
||||
//% "Choose browser"
|
||||
header.title: qsTrId("choose-browser")
|
||||
header.title: qsTr("Choose browser")
|
||||
width: 440
|
||||
|
||||
contentItem: Column {
|
||||
@ -29,8 +28,7 @@ StatusModal {
|
||||
}
|
||||
|
||||
StatusButton {
|
||||
//% "Open in Status"
|
||||
text: qsTrId("browsing-open-in-status")
|
||||
text: qsTr("Open in Status")
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
onClicked: {
|
||||
localAccountSensitiveSettings.showBrowserSelector = !rememberChoiceCheckBox.checked
|
||||
@ -44,8 +42,7 @@ StatusModal {
|
||||
}
|
||||
|
||||
StatusFlatButton {
|
||||
//% "Open in my default browser"
|
||||
text: qsTrId("open-in-my-default-browser")
|
||||
text: qsTr("Open in my default browser")
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
onClicked: {
|
||||
localAccountSensitiveSettings.showBrowserSelector = !rememberChoiceCheckBox.checked
|
||||
@ -60,8 +57,7 @@ StatusModal {
|
||||
|
||||
StatusCheckBox {
|
||||
id: rememberChoiceCheckBox
|
||||
//% "Remember my choice. To override it, go to settings."
|
||||
text: qsTrId("remember-my-choice--to-override-it--go-to-settings-")
|
||||
text: qsTr("Remember my choice. To override it, go to settings.")
|
||||
width: parent.width
|
||||
}
|
||||
}
|
||||
|
@ -17,8 +17,7 @@ ModalPopup {
|
||||
|
||||
property var store
|
||||
|
||||
//% "Contact requests"
|
||||
title: qsTrId("contact-requests")
|
||||
title: qsTr("Contact requests")
|
||||
|
||||
ListView {
|
||||
id: contactList
|
||||
@ -66,10 +65,8 @@ ModalPopup {
|
||||
|
||||
ConfirmationDialog {
|
||||
id: declineAllDialog
|
||||
//% "Decline all contacts"
|
||||
header.title: qsTrId("decline-all-contacts")
|
||||
//% "Are you sure you want to decline all these contact requests"
|
||||
confirmationText: qsTrId("are-you-sure-you-want-to-decline-all-these-contact-requests")
|
||||
header.title: qsTr("Decline all contacts")
|
||||
confirmationText: qsTr("Are you sure you want to decline all these contact requests")
|
||||
onConfirmButtonClicked: {
|
||||
popup.store.dismissAllContactRequests()
|
||||
declineAllDialog.close()
|
||||
@ -79,10 +76,8 @@ ModalPopup {
|
||||
|
||||
ConfirmationDialog {
|
||||
id: acceptAllDialog
|
||||
//% "Accept all contacts"
|
||||
header.title: qsTrId("accept-all-contacts")
|
||||
//% "Are you sure you want to accept all these contact requests"
|
||||
confirmationText: qsTrId("are-you-sure-you-want-to-accept-all-these-contact-requests")
|
||||
header.title: qsTr("Accept all contacts")
|
||||
confirmationText: qsTr("Are you sure you want to accept all these contact requests")
|
||||
onConfirmButtonClicked: {
|
||||
popup.store.acceptAllContactRequests()
|
||||
acceptAllDialog.close()
|
||||
@ -97,8 +92,7 @@ ModalPopup {
|
||||
anchors.rightMargin: Style.current.padding
|
||||
anchors.bottom: parent.bottom
|
||||
type: StatusBaseButton.Type.Danger
|
||||
//% "Decline all"
|
||||
text: qsTrId("decline-all")
|
||||
text: qsTr("Decline all")
|
||||
onClicked: declineAllDialog.open()
|
||||
}
|
||||
|
||||
@ -106,8 +100,7 @@ ModalPopup {
|
||||
id: addToContactsButton
|
||||
enabled: contactList.count > 0
|
||||
anchors.right: parent.right
|
||||
//% "Accept all"
|
||||
text: qsTrId("accept-all")
|
||||
text: qsTr("Accept all")
|
||||
anchors.bottom: parent.bottom
|
||||
onClicked: acceptAllDialog.open()
|
||||
}
|
||||
|
@ -55,18 +55,15 @@ StatusModal {
|
||||
height: 504
|
||||
anchors.centerIn: parent
|
||||
|
||||
//% "Add members"
|
||||
header.title: addMembers ? qsTrId("add-members") : (popup.chatDetails ? popup.chatDetails.name : "")
|
||||
header.title: addMembers ? qsTr("Add members") : (popup.chatDetails ? popup.chatDetails.name : "")
|
||||
header.subTitle: {
|
||||
if (addMembers) {
|
||||
return qsTr("%1/%2 members").arg(memberCount).arg(maxMembers)
|
||||
} else {
|
||||
//% "%1 members"
|
||||
if (currMemberCount > 1) {
|
||||
return qsTrId("%1-members").arg(currMemberCount);
|
||||
return qsTr("%1 members").arg(currMemberCount);
|
||||
}
|
||||
//% "1 member"
|
||||
return qsTrId("1-member");
|
||||
return qsTr("1 member");
|
||||
}
|
||||
}
|
||||
header.editable: !addMembers && popup.isAdmin
|
||||
@ -110,8 +107,7 @@ StatusModal {
|
||||
Layout.alignment: Qt.AlignTop
|
||||
|
||||
implicitHeight: 36
|
||||
//% "Search"
|
||||
placeholderText: qsTrId("search")
|
||||
placeholderText: qsTr("Search")
|
||||
placeholderFont.pixelSize: 15
|
||||
|
||||
icon.name: "search"
|
||||
@ -135,8 +131,7 @@ StatusModal {
|
||||
Layout.bottomMargin: childrenRect.height
|
||||
|
||||
visible: chatSectionModule.listOfMyContacts.count === 0
|
||||
//% "All your contacts are already in the group"
|
||||
text: qsTrId("group-chat-all-contacts-invited")
|
||||
text: qsTr("All your contacts are already in the group")
|
||||
textColor: Style.current.textColor
|
||||
}
|
||||
|
||||
@ -175,8 +170,7 @@ StatusModal {
|
||||
|
||||
id: pinnedMessagesBtn
|
||||
visible: pinnedCount > 0
|
||||
//% "Pinned messages"
|
||||
text: qsTrId("pinned-messages")
|
||||
text: qsTr("Pinned messages")
|
||||
currentValue: pinnedCount
|
||||
onClicked: {
|
||||
popup.store.messageStore.messageModule = popup.chatContentModule.messagesModule
|
||||
@ -212,7 +206,7 @@ StatusModal {
|
||||
title: model.displayName
|
||||
statusListItemTitle.font.pixelSize: 17
|
||||
statusListItemTitleAside.font.pixelSize: 17
|
||||
label: model.isAdmin ? qsTrId("group-chat-admin"): ""
|
||||
label: model.isAdmin ? qsTr("Admin"): ""
|
||||
image.source: model.icon
|
||||
ringSettings.ringSpecModel: Utils.getColorHashAsJson(model.pubKey)
|
||||
icon: StatusIconSettings {
|
||||
@ -240,8 +234,7 @@ StatusModal {
|
||||
icon.name: "admin"
|
||||
icon.width: 16
|
||||
icon.height: 16
|
||||
//% "Make Admin"
|
||||
text: qsTrId("make-admin")
|
||||
text: qsTr("Make Admin")
|
||||
onTriggered: popup.chatSectionModule.makeAdmin("", popup.chatDetails.id, model.pubKey)
|
||||
}
|
||||
StatusMenuItem {
|
||||
@ -249,8 +242,7 @@ StatusModal {
|
||||
icon.width: 16
|
||||
icon.height: 16
|
||||
type: StatusMenuItem.Type.Danger
|
||||
//% "Remove From Group"
|
||||
text: qsTrId("remove-from-group")
|
||||
text: qsTr("Remove From Group")
|
||||
onTriggered: popup.chatSectionModule.removeMemberFromGroupChat("", popup.chatDetails.id, model.pubKey)
|
||||
}
|
||||
}
|
||||
@ -280,8 +272,7 @@ StatusModal {
|
||||
rightButtons: [
|
||||
StatusButton {
|
||||
visible: !popup.addMembers && popup.isAdmin
|
||||
//% "Add members"
|
||||
text: qsTrId("add-members")
|
||||
text: qsTr("Add members")
|
||||
onClicked: {
|
||||
popup.addMembers = true;
|
||||
}
|
||||
@ -290,8 +281,7 @@ StatusModal {
|
||||
id: btnSelectMembers
|
||||
visible: popup.addMembers
|
||||
enabled: popup.memberCount >= popup.currMemberCount
|
||||
//% "Add selected"
|
||||
text: qsTrId("add-selected")
|
||||
text: qsTr("Add selected")
|
||||
onClicked: popup.doAddMembers()
|
||||
}
|
||||
]
|
||||
|
@ -32,10 +32,8 @@ ModalPopup {
|
||||
|
||||
StyledText {
|
||||
id: title
|
||||
//% "Pin limit reached"
|
||||
text: !!popup.messageToPin ? qsTrId("pin-limit-reached") :
|
||||
//% "Pinned messages"
|
||||
qsTrId("pinned-messages")
|
||||
text: !!popup.messageToPin ? qsTr("Pin limit reached") :
|
||||
qsTr("Pinned messages")
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
font.bold: true
|
||||
@ -48,14 +46,11 @@ ModalPopup {
|
||||
id: nbPinnedMessages
|
||||
text: {
|
||||
if (!!popup.messageToPin) {
|
||||
//% "Unpin a previous message first"
|
||||
return qsTrId("unpin-a-previous-message-first")
|
||||
return qsTr("Unpin a previous message first")
|
||||
}
|
||||
|
||||
//% "%1 messages"
|
||||
return nbMessages > 1 ? qsTrId("-1-messages").arg(nbMessages) :
|
||||
//% "%1 message"
|
||||
qsTrId("-1-message").arg(nbMessages)
|
||||
return nbMessages > 1 ? qsTr("%1 messages").arg(nbMessages) :
|
||||
qsTr("%1 message").arg(nbMessages)
|
||||
}
|
||||
anchors.left: parent.left
|
||||
anchors.top: title.bottom
|
||||
@ -79,8 +74,7 @@ ModalPopup {
|
||||
|
||||
StyledText {
|
||||
visible: pinnedMessageListView.count === 0
|
||||
//% "Pinned messages will appear here."
|
||||
text: qsTrId("pinned-messages-will-appear-here-")
|
||||
text: qsTr("Pinned messages will appear here.")
|
||||
anchors.centerIn: parent
|
||||
color: Style.current.secondaryText
|
||||
}
|
||||
@ -206,8 +200,7 @@ ModalPopup {
|
||||
id: btnUnpin
|
||||
visible: !!popup.messageToPin
|
||||
enabled: !!popup.messageToUnpin
|
||||
//% "Unpin"
|
||||
text: qsTrId("unpin")
|
||||
text: qsTr("Unpin")
|
||||
type: StatusQControls.StatusBaseButton.Type.Danger
|
||||
anchors.right: parent.right
|
||||
onClicked: {
|
||||
|
@ -13,8 +13,7 @@ import "./"
|
||||
// TODO: replace with StatusModal
|
||||
ModalPopup {
|
||||
id: popup
|
||||
//% "New chat"
|
||||
title: qsTrId("new-chat")
|
||||
title: qsTr("New chat")
|
||||
property var store
|
||||
property var contactsStore
|
||||
|
||||
@ -77,8 +76,7 @@ ModalPopup {
|
||||
anchors.left: dollarEmoji.right
|
||||
anchors.leftMargin: 6
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
//% "My Profile"
|
||||
text: qsTrId("my-profile")
|
||||
text: qsTr("My Profile")
|
||||
font.pixelSize: 15
|
||||
color: Style.current.white
|
||||
}
|
||||
|
@ -19,11 +19,9 @@ ModalPopup {
|
||||
signal suggestedMessageClicked(string channel)
|
||||
function validate() {
|
||||
if (channelName.text === "") {
|
||||
//% "You need to enter a channel name"
|
||||
channelNameValidationError = qsTrId("you-need-to-enter-a-channel-name")
|
||||
channelNameValidationError = qsTr("You need to enter a channel name")
|
||||
} else if (!Utils.isValidChannelName(channelName.text)) {
|
||||
//% "The channel name can only contain lowercase letters, numbers and dashes"
|
||||
channelNameValidationError = qsTrId("the-channel-name-can-only-contain-lowercase-letters--numbers-and-dashes")
|
||||
channelNameValidationError = qsTr("The channel name can only contain lowercase letters, numbers and dashes")
|
||||
} else {
|
||||
channelNameValidationError = ""
|
||||
}
|
||||
@ -40,8 +38,7 @@ ModalPopup {
|
||||
}
|
||||
|
||||
id: popup
|
||||
//% "Join public chat"
|
||||
title: qsTrId("new-public-group-chat")
|
||||
title: qsTr("Join public chat")
|
||||
|
||||
onOpened: {
|
||||
channelName.text = "";
|
||||
@ -57,8 +54,7 @@ ModalPopup {
|
||||
StyledText {
|
||||
width: parent.width
|
||||
font.pixelSize: 15
|
||||
//% "A public chat is where you get to hang out with others, make friends and talk about subjects of your interest."
|
||||
text: qsTrId("a-public-chat-is-where-you-get-to-hang-out-with-others,-make-friends-and-talk-about-subjects-of-your-interest.")
|
||||
text: qsTr("A public chat is where you get to hang out with others, make friends and talk about subjects of your interest.")
|
||||
wrapMode: Text.WordWrap
|
||||
verticalAlignment: Text.AlignTop
|
||||
}
|
||||
@ -68,8 +64,7 @@ ModalPopup {
|
||||
id: channelName
|
||||
anchors.top: description.bottom
|
||||
anchors.topMargin: Style.current.padding
|
||||
//% "chat-name"
|
||||
placeholderText: qsTrId("chat-name")
|
||||
placeholderText: qsTr("chat-name")
|
||||
Keys.onEnterPressed: doJoin()
|
||||
Keys.onReturnPressed: doJoin()
|
||||
icon: Style.svg("hash")
|
||||
@ -111,7 +106,6 @@ ModalPopup {
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.right: parent.right
|
||||
onClicked : doJoin()
|
||||
//% "Start chat"
|
||||
text: qsTrId("start-chat")
|
||||
text: qsTr("Start chat")
|
||||
}
|
||||
}
|
||||
|
@ -14,8 +14,7 @@ StatusModal {
|
||||
height: 210
|
||||
anchors.centerIn: parent
|
||||
|
||||
//% "Group name"
|
||||
header.title: qsTrId("group-name")
|
||||
header.title: qsTr("Group name")
|
||||
|
||||
property string activeChannelName
|
||||
signal doRename(string groupName)
|
||||
@ -36,8 +35,7 @@ StatusModal {
|
||||
anchors.rightMargin: Style.current.padding
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: Style.current.padding
|
||||
//% "Group name"
|
||||
placeholderText: qsTrId("group-name")
|
||||
placeholderText: qsTr("Group name")
|
||||
Keys.onEnterPressed: doRename(groupName.text)
|
||||
Keys.onReturnPressed: doRename(groupName.text)
|
||||
}
|
||||
@ -46,8 +44,7 @@ StatusModal {
|
||||
rightButtons: [
|
||||
StatusButton {
|
||||
id: saveBtn
|
||||
//% "Save"
|
||||
text: qsTrId("save")
|
||||
text: qsTr("Save")
|
||||
onClicked : { doRename(groupName.text) }
|
||||
}
|
||||
]
|
||||
|
@ -24,8 +24,7 @@ StatusModal {
|
||||
contentItem.searchBox.input.forceActiveFocus(Qt.MouseFocusReason)
|
||||
}
|
||||
|
||||
//% "Communities"
|
||||
header.title: qsTrId("communities")
|
||||
header.title: qsTr("Communities")
|
||||
headerActionButton: StatusFlatRoundButton {
|
||||
type: StatusFlatRoundButton.Type.Secondary
|
||||
width: 32
|
||||
@ -39,8 +38,7 @@ StatusModal {
|
||||
width: 230
|
||||
StatusMenuItem {
|
||||
icon.name: "download"
|
||||
//% "Access existing community"
|
||||
text: qsTrId("access-existing-community")
|
||||
text: qsTr("Access existing community")
|
||||
onTriggered: Global.openPopup(importCommunitiesPopupComponent)
|
||||
}
|
||||
}
|
||||
@ -121,8 +119,7 @@ StatusModal {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
title: model.name
|
||||
subTitle: model.description
|
||||
//% "%1 members"
|
||||
tertiaryTitle: qsTrId("-1-members").arg(model.members.count)
|
||||
tertiaryTitle: qsTr("%1 members").arg(model.members.count)
|
||||
statusListItemTitle.font.weight: Font.Bold
|
||||
statusListItemTitle.font.pixelSize: 17
|
||||
image.source: model.image
|
||||
@ -146,8 +143,7 @@ StatusModal {
|
||||
|
||||
rightButtons: [
|
||||
StatusButton {
|
||||
//% "Create a community"
|
||||
text: qsTrId("create-community")
|
||||
text: qsTr("Create a community")
|
||||
onClicked: {
|
||||
Global.openPopup(createCommunitiesPopupComponent)
|
||||
popup.close()
|
||||
|
@ -33,24 +33,20 @@ StatusModal {
|
||||
let subTitle = ""
|
||||
switch(access) {
|
||||
case Constants.communityChatPublicAccess:
|
||||
//% "Public community"
|
||||
subTitle = qsTrId("public-community");
|
||||
subTitle = qsTr("Public community");
|
||||
break;
|
||||
case Constants.communityChatInvitationOnlyAccess:
|
||||
//% "Invitation only community"
|
||||
subTitle = qsTrId("invitation-only-community");
|
||||
subTitle = qsTr("Invitation only community");
|
||||
break;
|
||||
case Constants.communityChatOnRequestAccess:
|
||||
//% "On request community"
|
||||
subTitle = qsTrId("on-request-community");
|
||||
subTitle = qsTr("On request community");
|
||||
break;
|
||||
default:
|
||||
subTitle = qsTr("Unknown community");
|
||||
break;
|
||||
}
|
||||
if (ensOnly) {
|
||||
//% " - ENS only"
|
||||
subTitle += qsTrId("---ens-only")
|
||||
subTitle += qsTr(" - ENS only")
|
||||
}
|
||||
return subTitle
|
||||
}
|
||||
@ -86,8 +82,7 @@ StatusModal {
|
||||
}
|
||||
|
||||
StatusBaseText {
|
||||
//% "%1 members"
|
||||
text: qsTrId("-1-members").arg(nbMembers)
|
||||
text: qsTr("%1 members").arg(nbMembers)
|
||||
font.pixelSize: 15
|
||||
font.weight: Font.Medium
|
||||
color: Theme.palette.directColor1
|
||||
@ -107,8 +102,7 @@ StatusModal {
|
||||
width: parent.width - 32
|
||||
height: 34
|
||||
StatusBaseText {
|
||||
//% "Channels"
|
||||
text: qsTrId("channels")
|
||||
text: qsTr("Channels")
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 4
|
||||
font.pixelSize: 15
|
||||
@ -166,26 +160,19 @@ StatusModal {
|
||||
text: {
|
||||
// Not Refactored Yet
|
||||
// if (root.ensOnly && !root.store.profileModelInst.profile.ensVerified) {
|
||||
// //% "Membership requires an ENS username"
|
||||
// return qsTrId("membership-requires-an-ens-username")
|
||||
// return qsTr("Membership requires an ENS username")
|
||||
// }
|
||||
if (root.canJoin) {
|
||||
//% "Join ‘%1’"
|
||||
return qsTrId("join---1-").arg(root.name);
|
||||
return qsTr("Join ‘%1’").arg(root.name);
|
||||
}
|
||||
if (isPendingRequest) {
|
||||
//% "Pending"
|
||||
return qsTrId("invite-chat-pending")
|
||||
return qsTr("Pending")
|
||||
}
|
||||
switch(root.access) {
|
||||
//% "Join ‘%1’"
|
||||
case Constants.communityChatPublicAccess: return qsTrId("join---1-").arg(root.name);
|
||||
//% "You need to be invited"
|
||||
case Constants.communityChatInvitationOnlyAccess: return qsTrId("you-need-to-be-invited");
|
||||
//% "Request to join ‘%1’"
|
||||
case Constants.communityChatOnRequestAccess: return qsTrId("request-to-join---1-").arg(root.name);
|
||||
//% "Unknown community"
|
||||
default: return qsTrId("unknown-community");
|
||||
case Constants.communityChatPublicAccess: return qsTr("Join ‘%1’").arg(root.name);
|
||||
case Constants.communityChatInvitationOnlyAccess: return qsTr("You need to be invited");
|
||||
case Constants.communityChatOnRequestAccess: return qsTr("Request to join ‘%1’").arg(root.name);
|
||||
default: return qsTr("Unknown community");
|
||||
}
|
||||
}
|
||||
enabled: {
|
||||
@ -212,8 +199,7 @@ StatusModal {
|
||||
// error = root.store.chatsModelInst.communities.requestToJoinCommunity(root.communityId, userProfile.name)
|
||||
// if (!error) {
|
||||
// enabled = false
|
||||
// //% "Pending"
|
||||
// text = qsTrId("invite-chat-pending")
|
||||
// text = qsTr("Pending")
|
||||
// }
|
||||
} else {
|
||||
error = root.store.communitiesModuleInst.joinCommunity(root.communityId)
|
||||
@ -231,8 +217,7 @@ StatusModal {
|
||||
|
||||
MessageDialog {
|
||||
id: joiningError
|
||||
//% "Error joining the community"
|
||||
title: qsTrId("error-joining-the-community")
|
||||
title: qsTr("Error joining the community")
|
||||
icon: StandardIcon.Critical
|
||||
standardButtons: StandardButton.Ok
|
||||
}
|
||||
|
@ -49,14 +49,10 @@ StatusModal {
|
||||
headerTitle: root.community.name
|
||||
headerSubtitle: {
|
||||
switch(root.community.access) {
|
||||
//% "Public community"
|
||||
case Constants.communityChatPublicAccess: return qsTrId("public-community");
|
||||
//% "Invitation only community"
|
||||
case Constants.communityChatInvitationOnlyAccess: return qsTrId("invitation-only-community");
|
||||
//% "On request community"
|
||||
case Constants.communityChatOnRequestAccess: return qsTrId("on-request-community");
|
||||
//% "Unknown community"
|
||||
default: return qsTrId("unknown-community");
|
||||
case Constants.communityChatPublicAccess: return qsTr("Public community");
|
||||
case Constants.communityChatInvitationOnlyAccess: return qsTr("Invitation only community");
|
||||
case Constants.communityChatOnRequestAccess: return qsTr("On request community");
|
||||
default: return qsTr("Unknown community");
|
||||
}
|
||||
}
|
||||
headerImageSource: root.community.image
|
||||
@ -90,8 +86,7 @@ StatusModal {
|
||||
id: inviteFriendsView
|
||||
CommunityProfilePopupInviteFriendsPanel {
|
||||
width: stack.width
|
||||
//% "Invite friends"
|
||||
headerTitle: qsTrId("invite-friends")
|
||||
headerTitle: qsTr("Invite friends")
|
||||
community: root.community
|
||||
contactsStore: root.contactsStore
|
||||
rootStore: root.store
|
||||
@ -123,8 +118,7 @@ StatusModal {
|
||||
|
||||
rightButtons: [
|
||||
StatusButton {
|
||||
//% "Invite"
|
||||
text: qsTrId("community-invite-title")
|
||||
text: qsTr("Invite")
|
||||
visible: root.contentItem.depth > 2
|
||||
height: !visible ? 0 : implicitHeight
|
||||
enabled: root.contentItem.currentItem.contactListSearch !== undefined && root.contentItem.currentItem.contactListSearch.pubKeys.length > 0
|
||||
|
@ -42,10 +42,8 @@ StatusModal {
|
||||
}
|
||||
|
||||
header.title: isEdit ?
|
||||
//% "Edit category"
|
||||
qsTrId("edit-category") :
|
||||
//% "New category"
|
||||
qsTrId("new-category")
|
||||
qsTr("Edit category") :
|
||||
qsTr("New category")
|
||||
|
||||
contentItem: Column {
|
||||
property alias categoryName: nameInput
|
||||
@ -101,8 +99,7 @@ StatusModal {
|
||||
width: parent.width - 32
|
||||
height: 34
|
||||
StatusBaseText {
|
||||
//% "Channels"
|
||||
text: qsTrId("channels")
|
||||
text: qsTr("Channels")
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 4
|
||||
font.pixelSize: 15
|
||||
@ -166,16 +163,13 @@ StatusModal {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
visible: isEdit
|
||||
|
||||
//% "Delete category"
|
||||
title: qsTrId("delete-category")
|
||||
title: qsTr("Delete category")
|
||||
icon.name: "delete"
|
||||
type: StatusListItem.Type.Danger
|
||||
sensor.onClicked: {
|
||||
Global.openPopup(deleteCategoryConfirmationDialogComponent, {
|
||||
//% "Delete %1 category"
|
||||
title: qsTrId("delete--1-category").arg(root.contentItem.categoryName.input.text),
|
||||
//% "Are you sure you want to delete %1 category? Channels inside the category won’t be deleted."
|
||||
confirmationText: qsTrId("are-you-sure-you-want-to-delete--1-category--channels-inside-the-category-won-t-be-deleted-").arg(root.contentItem.categoryName.input.text)
|
||||
title: qsTr("Delete %1 category").arg(root.contentItem.categoryName.input.text),
|
||||
confirmationText: qsTr("Are you sure you want to delete %1 category? Channels inside the category won’t be deleted.").arg(root.contentItem.categoryName.input.text)
|
||||
|
||||
})
|
||||
}
|
||||
@ -214,10 +208,8 @@ StatusModal {
|
||||
StatusButton {
|
||||
enabled: isFormValid()
|
||||
text: isEdit ?
|
||||
//% "Save"
|
||||
qsTrId("save") :
|
||||
//% "Create"
|
||||
qsTrId("create")
|
||||
qsTr("Save") :
|
||||
qsTr("Create")
|
||||
onClicked: {
|
||||
if (!isFormValid()) {
|
||||
scrollView.scrollBackUp()
|
||||
@ -244,10 +236,8 @@ StatusModal {
|
||||
MessageDialog {
|
||||
id: categoryError
|
||||
title: isEdit ?
|
||||
//% "Error editing the category"
|
||||
qsTrId("error-editing-the-category") :
|
||||
//% "Error creating the category"
|
||||
qsTrId("error-creating-the-category")
|
||||
qsTr("Error editing the category") :
|
||||
qsTr("Error creating the category")
|
||||
icon: StandardIcon.Critical
|
||||
standardButtons: StandardButton.Ok
|
||||
}
|
||||
|
@ -35,16 +35,14 @@ StatusModal {
|
||||
signal editCommunityChannel(string chName, string chDescription, string chEmoji, string chColor,
|
||||
string chCategoryId)
|
||||
|
||||
//% "New channel"
|
||||
header.title: qsTrId("create-channel-title")
|
||||
header.title: qsTr("New channel")
|
||||
|
||||
onOpened: {
|
||||
contentItem.channelName.input.text = ""
|
||||
contentItem.channelName.input.icon.emoji = ""
|
||||
contentItem.channelName.input.edit.forceActiveFocus(Qt.MouseFocusReason)
|
||||
if (isEdit) {
|
||||
//% "Edit #%1"
|
||||
header.title = qsTrId("edit---1").arg(popup.channelName);
|
||||
header.title = qsTr("Edit #%1").arg(popup.channelName);
|
||||
contentItem.channelName.input.text = popup.channelName
|
||||
contentItem.channelDescription.input.text = popup.channelDescription
|
||||
if (popup.channelEmoji) {
|
||||
@ -181,8 +179,7 @@ StatusModal {
|
||||
// contentColor: colorDialog.colorSelected ? Theme.palette.indirectColor1 : Theme.palette.baseColor1
|
||||
text: colorDialog.colorSelected ?
|
||||
colorDialog.color.toString().toUpperCase() :
|
||||
//% "Pick a color"
|
||||
qsTrId("pick-a-color")
|
||||
qsTr("Pick a color")
|
||||
|
||||
onClicked: colorDialog.open();
|
||||
onTextChanged: {
|
||||
@ -235,8 +232,7 @@ StatusModal {
|
||||
/* width: parent.width */
|
||||
/* height: 56 */
|
||||
/* sensor.enabled: false */
|
||||
//% "Private channel"
|
||||
/* title: qsTrId("private-channel") */
|
||||
/* title: qsTr("Private channel") */
|
||||
/* components: [ */
|
||||
/* StatusSwitch { */
|
||||
/* id: privateSwitch */
|
||||
@ -252,8 +248,7 @@ StatusModal {
|
||||
/* anchors.leftMargin: 16 */
|
||||
/* color: Theme.palette.baseColor1 */
|
||||
/* wrapMode: Text.WordWrap */
|
||||
//% "By making a channel private, only members with selected permission will be able to access it"
|
||||
/* text: qsTrId("by-making-a-channel-private--only-members-with-selected-permission-will-be-able-to-access-it") */
|
||||
/* text: qsTr("By making a channel private, only members with selected permission will be able to access it") */
|
||||
/* } */
|
||||
|
||||
/* StatusModalDivider { */
|
||||
@ -265,8 +260,7 @@ StatusModal {
|
||||
/* width: parent.width */
|
||||
/* height: 56 */
|
||||
/* sensor.enabled: false */
|
||||
//% "Message limit"
|
||||
/* title: qsTrId("message-limit") */
|
||||
/* title: qsTr("Message limit") */
|
||||
/* components: [ */
|
||||
/* StatusSwitch {} */
|
||||
/* ] */
|
||||
@ -280,8 +274,7 @@ StatusModal {
|
||||
/* anchors.leftMargin: 16 */
|
||||
/* color: Theme.palette.baseColor1 */
|
||||
/* wrapMode: Text.WordWrap */
|
||||
//% "Limit channel members to sending one message per chose time interval"
|
||||
/* text: qsTrId("limit-channel-members-to-sending-one-message-per-chose-time-interval") */
|
||||
/* text: qsTr("Limit channel members to sending one message per chose time interval") */
|
||||
/* } */
|
||||
|
||||
Item {
|
||||
@ -295,10 +288,8 @@ StatusModal {
|
||||
StatusButton {
|
||||
enabled: isFormValid()
|
||||
text: isEdit ?
|
||||
//% "Save"
|
||||
qsTrId("save") :
|
||||
//% "Create"
|
||||
qsTrId("create")
|
||||
qsTr("Save") :
|
||||
qsTr("Create")
|
||||
onClicked: {
|
||||
if (!isFormValid()) {
|
||||
scrollView.scrollBackUp()
|
||||
@ -336,8 +327,7 @@ StatusModal {
|
||||
|
||||
MessageDialog {
|
||||
id: creatingError
|
||||
//% "Error creating the community"
|
||||
title: qsTrId("error-creating-the-community")
|
||||
title: qsTr("Error creating the community")
|
||||
icon: StandardIcon.Critical
|
||||
standardButtons: StandardButton.Ok
|
||||
}
|
||||
|
@ -38,8 +38,7 @@ StatusModal {
|
||||
margins: 32
|
||||
height: 550
|
||||
|
||||
//% "Invite friends"
|
||||
header.title: qsTrId("invite-friends")
|
||||
header.title: qsTr("Invite friends")
|
||||
|
||||
function processInviteResult(error) {
|
||||
if (error) {
|
||||
@ -47,8 +46,7 @@ StatusModal {
|
||||
contactFieldAndList.validationError = error
|
||||
return
|
||||
}
|
||||
//% "Invite successfully sent"
|
||||
popup.contentItem.contactListSearch.successMessage = qsTrId("invite-successfully-sent")
|
||||
popup.contentItem.contactListSearch.successMessage = qsTr("Invite successfully sent")
|
||||
}
|
||||
|
||||
contentItem: CommunityProfilePopupInviteFriendsPanel {
|
||||
@ -73,8 +71,7 @@ StatusModal {
|
||||
rightButtons: [
|
||||
StatusButton {
|
||||
enabled: popup.contentItem.contactListSearch.pubKeys.length > 0
|
||||
//% "Invite"
|
||||
text: qsTrId("invite-button")
|
||||
text: qsTr("Invite")
|
||||
onClicked : {
|
||||
popup.sendInvites(popup.contentItem.contactListSearch.pubKeys)
|
||||
}
|
||||
|
@ -20,8 +20,7 @@ StatusModal {
|
||||
contentItem.errorText.text = ""
|
||||
}
|
||||
|
||||
//% "Membership requests"
|
||||
header.title: qsTrId("membership-requests")
|
||||
header.title: qsTr("Membership requests")
|
||||
header.subTitle: contentItem.membershipRequestList.count
|
||||
|
||||
contentItem: Column {
|
||||
|
@ -136,8 +136,7 @@ QtObject {
|
||||
}
|
||||
|
||||
function lastTwoItems(nodes) {
|
||||
//% " and "
|
||||
return nodes.join(qsTrId("-and-"));
|
||||
return nodes.join(qsTr(" and "));
|
||||
}
|
||||
|
||||
function showReactionAuthors(jsonArrayOfUsersReactedWithThisEmoji, emojiId) {
|
||||
@ -163,8 +162,7 @@ QtObject {
|
||||
rightNode = listOfUsers.slice(maxReactions, listOfUsers.length);
|
||||
return (rightNode.length === 1) ?
|
||||
lastTwoItems([leftNode.join(", "), rightNode[0]]) :
|
||||
//% "%1 more"
|
||||
lastTwoItems([leftNode.join(", "), qsTrId("-1-more").arg(rightNode.length)]);
|
||||
lastTwoItems([leftNode.join(", "), qsTr("%1 more").arg(rightNode.length)]);
|
||||
}
|
||||
|
||||
leftNode = listOfUsers.slice(0, maximum - 1);
|
||||
@ -172,8 +170,7 @@ QtObject {
|
||||
tooltip = lastTwoItems([leftNode.join(", "), rightNode[0]])
|
||||
}
|
||||
|
||||
//% " reacted with "
|
||||
tooltip += qsTrId("-reacted-with-");
|
||||
tooltip += qsTr(" reacted with ");
|
||||
let emojiHtml = StatusQUtils.Emoji.getEmojiFromId(emojiId);
|
||||
if (emojiHtml) {
|
||||
tooltip += emojiHtml;
|
||||
|
@ -383,8 +383,7 @@ QtObject {
|
||||
}
|
||||
if (index > -1) {
|
||||
const pk = link.substring(index + 3)
|
||||
//% "Start a 1-on-1 chat with %1"
|
||||
result.title = qsTrId("start-a-1-on-1-chat-with--1")
|
||||
result.title = qsTr("Start a 1-on-1 chat with %1")
|
||||
.arg(isChatKey(pk) ? globalUtils.generateAlias(pk) : ("@" + removeStatusEns(pk)))
|
||||
result.callback = function () {
|
||||
if (isChatKey(pk)) {
|
||||
@ -412,8 +411,7 @@ QtObject {
|
||||
return result
|
||||
}
|
||||
|
||||
//% "Join the %1 community"
|
||||
result.title = qsTrId("join-the--1-community").arg(communityName)
|
||||
result.title = qsTr("Join the %1 community").arg(communityName)
|
||||
result.communityId = communityId
|
||||
result.callback = function () {
|
||||
const isUserMemberOfCommunity = isUserMemberOfCommunity(communityId)
|
||||
@ -440,8 +438,7 @@ QtObject {
|
||||
const pubKey = link.substring(indexAdminPk + 2, indexChatName - 1)
|
||||
const chatName = link.substring(indexChatName + 3, indexChatId - 1)
|
||||
const chatId = link.substring(indexChatId + 3, link.length)
|
||||
//% "Join the %1 group chat"
|
||||
result.title = qsTrId("join-the--1-group-chat").arg(chatName)
|
||||
result.title = qsTr("Join the %1 group chat").arg(chatName)
|
||||
result.callback = function () {
|
||||
// Not Refactored Yet
|
||||
// chatsModel.groups.joinGroupChatFromInvitation(chatName, chatId, pubKey);
|
||||
@ -456,8 +453,7 @@ QtObject {
|
||||
// index = link.lastIndexOf("/")
|
||||
// if (index > -1) {
|
||||
// const chatId = link.substring(index + 1)
|
||||
// //% "Join the %1 public channel"
|
||||
// result.title = qsTrId("join-the--1-public-channel").arg(chatId)
|
||||
// result.title = qsTr("Join the %1 public channel").arg(chatId)
|
||||
// result.callback = function () {
|
||||
// chatsModel.channelView.joinPublicChat(chatId);
|
||||
// }
|
||||
|
@ -123,8 +123,7 @@ Item {
|
||||
// name = name.substring(0, 9) + "..." + name.substring(name.length - 10)
|
||||
// }
|
||||
|
||||
// //% "%1 invited you to join the group"
|
||||
// return qsTrId("-1-invited-you-to-join-the-group")
|
||||
// return qsTr("%1 invited you to join the group")
|
||||
// .arg(`<style type="text/css">`+
|
||||
// `a {`+
|
||||
// `color: ${Style.current.primary};`+
|
||||
|
@ -313,11 +313,9 @@ Item {
|
||||
}
|
||||
sendChatCommand: root.requestAddressForTransaction
|
||||
isRequested: false
|
||||
//% "Send"
|
||||
commandTitle: qsTrId("command-button-send")
|
||||
commandTitle: qsTr("Send")
|
||||
header.title: commandTitle
|
||||
//% "Request Address"
|
||||
finalButtonLabel: qsTrId("request-address")
|
||||
finalButtonLabel: qsTr("Request Address")
|
||||
selectRecipient.selectedRecipient: {
|
||||
parentModule.prepareChatContentModuleForChatId(activeChatId)
|
||||
let chatContentModule = parentModule.getChatContentModule()
|
||||
@ -348,11 +346,9 @@ Item {
|
||||
}
|
||||
sendChatCommand: root.requestTransaction
|
||||
isRequested: true
|
||||
//% "Request"
|
||||
commandTitle: qsTrId("wallet-request")
|
||||
commandTitle: qsTr("Request")
|
||||
header.title: commandTitle
|
||||
//% "Request"
|
||||
finalButtonLabel: qsTrId("wallet-request")
|
||||
finalButtonLabel: qsTr("Request")
|
||||
selectRecipient.selectedRecipient: {
|
||||
parentModule.prepareChatContentModuleForChatId(activeChatId)
|
||||
let chatContentModule = parentModule.getChatContentModule()
|
||||
@ -420,11 +416,9 @@ Item {
|
||||
// }
|
||||
// onTransactionCompleted: {
|
||||
// toastMessage.title = !success ?
|
||||
// //% "Could not buy Stickerpack"
|
||||
// qsTrId("could-not-buy-stickerpack")
|
||||
// qsTr("Could not buy Stickerpack")
|
||||
// :
|
||||
// //% "Stickerpack bought successfully"
|
||||
// qsTrId("stickerpack-bought-successfully");
|
||||
// qsTr("Stickerpack bought successfully");
|
||||
// if (success) {
|
||||
// toastMessage.source = Style.svg("check-circle")
|
||||
// toastMessage.iconColor = Style.current.success
|
||||
|
@ -77,19 +77,14 @@ ColumnLayout {
|
||||
switch (chatContentModule.chatDetails.type) {
|
||||
case Constants.chatType.oneToOne:
|
||||
return (chatContentModule.isMyContact(chatContentModule.chatDetails.id) ?
|
||||
//% "Contact"
|
||||
qsTrId("chat-is-a-contact") :
|
||||
//% "Not a contact"
|
||||
qsTrId("chat-is-not-a-contact"))
|
||||
qsTr("Contact") :
|
||||
qsTr("Not a contact"))
|
||||
case Constants.chatType.publicChat:
|
||||
//% "Public chat"
|
||||
return qsTrId("public-chat")
|
||||
return qsTr("Public chat")
|
||||
case Constants.chatType.privateGroupChat:
|
||||
let cnt = chatContentRoot.usersStore.usersModule.model.count
|
||||
//% "%1 members"
|
||||
if(cnt > 1) return qsTrId("-1-members").arg(cnt);
|
||||
//% "1 member"
|
||||
return qsTrId("1-member");
|
||||
if(cnt > 1) return qsTr("%1 members").arg(cnt);
|
||||
return qsTr("1 member");
|
||||
case Constants.chatType.communityChat:
|
||||
return Utils.linkifyAndXSS(chatContentModule.chatDetails.description).trim()
|
||||
default:
|
||||
@ -318,10 +313,8 @@ ColumnLayout {
|
||||
color: Style.current.white
|
||||
id: connectedStatusLbl
|
||||
text: isConnected ?
|
||||
//% "Connected"
|
||||
qsTrId("connected") :
|
||||
//% "Disconnected"
|
||||
qsTrId("disconnected")
|
||||
qsTr("Connected") :
|
||||
qsTr("Disconnected")
|
||||
}
|
||||
|
||||
Connections {
|
||||
@ -488,10 +481,8 @@ ColumnLayout {
|
||||
isContactBlocked: chatContentRoot.isBlocked
|
||||
isActiveChannel: chatContentRoot.isActiveChannel
|
||||
chatInputPlaceholder: chatContentRoot.isBlocked ?
|
||||
//% "This user has been blocked."
|
||||
qsTrId("this-user-has-been-blocked-") :
|
||||
//% "Type a message."
|
||||
qsTrId("type-a-message-")
|
||||
qsTr("This user has been blocked.") :
|
||||
qsTr("Type a message.")
|
||||
anchors.bottom: parent.bottom
|
||||
recentStickers: chatContentRoot.rootStore.stickersModuleInst.recent
|
||||
stickerPackList: chatContentRoot.rootStore.stickersModuleInst.stickerPacks
|
||||
|
@ -78,8 +78,7 @@ StatusPopupMenu {
|
||||
root.currentFleet === Constants.status_test ||
|
||||
root.currentFleet === Constants.status_prod
|
||||
|
||||
//% "Test WakuV2 - requestAllHistoricMessages"
|
||||
text: qsTrId("test-wakuv2---requestallhistoricmessages")
|
||||
text: qsTr("Test WakuV2 - requestAllHistoricMessages")
|
||||
onTriggered: {
|
||||
root.requestAllHistoricMessages(root.chatId)
|
||||
}
|
||||
@ -118,8 +117,7 @@ StatusPopupMenu {
|
||||
}
|
||||
|
||||
StatusMenuItem {
|
||||
//% "Mark as Read"
|
||||
text: qsTrId("mark-as-read")
|
||||
text: qsTr("Mark as Read")
|
||||
icon.name: "checkmark-circle"
|
||||
onTriggered: {
|
||||
root.markAllMessagesRead(root.chatId)
|
||||
@ -161,8 +159,7 @@ StatusPopupMenu {
|
||||
// }
|
||||
|
||||
StatusMenuItem {
|
||||
//% "Clear history"
|
||||
text: qsTrId("clear-history")
|
||||
text: qsTr("Clear history")
|
||||
icon.name: "close-circle"
|
||||
onTriggered: {
|
||||
root.clearChatHistory(root.chatId)
|
||||
@ -170,8 +167,7 @@ StatusPopupMenu {
|
||||
}
|
||||
|
||||
StatusMenuItem {
|
||||
//% "Edit Channel"
|
||||
text: qsTrId("edit-channel")
|
||||
text: qsTr("Edit Channel")
|
||||
icon.name: "edit"
|
||||
enabled: root.isCommunityChat && root.amIChatAdmin
|
||||
onTriggered: {
|
||||
@ -226,10 +222,8 @@ StatusPopupMenu {
|
||||
return qsTr("Leave group")
|
||||
}
|
||||
return root.chatType === Constants.chatType.oneToOne ?
|
||||
//% "Delete chat"
|
||||
qsTrId("delete-chat") :
|
||||
//% "Leave chat"
|
||||
qsTrId("leave-chat")
|
||||
qsTr("Delete chat") :
|
||||
qsTr("Leave chat")
|
||||
}
|
||||
icon.name: root.chatType === Constants.chatType.oneToOne || root.isCommunityChat ? "delete" : "arrow-right"
|
||||
icon.width: root.chatType === Constants.chatType.oneToOne || root.isCommunityChat ? 18 : 14
|
||||
@ -266,10 +260,8 @@ StatusPopupMenu {
|
||||
btnType: "warn"
|
||||
header.title: root.isCommunityChat ? qsTr("Delete #%1").arg(root.chatName) :
|
||||
root.chatType === Constants.chatType.oneToOne ?
|
||||
//% "Delete chat"
|
||||
qsTrId("delete-chat") :
|
||||
//% "Leave chat"
|
||||
qsTrId("leave-chat")
|
||||
qsTr("Delete chat") :
|
||||
qsTr("Leave chat")
|
||||
confirmButtonLabel: root.isCommunityChat ? qsTr("Delete") : header.title
|
||||
confirmationText: root.isCommunityChat ? qsTr("Are you sure you want to delete #%1 channel?").arg(root.chatName) :
|
||||
root.chatType === Constants.chatType.oneToOne ?
|
||||
|
@ -348,8 +348,7 @@ Item {
|
||||
MessageDialog {
|
||||
id: sendingMsgFailedPopup
|
||||
standardButtons: StandardButton.Ok
|
||||
//% "Failed to send message."
|
||||
text: qsTrId("failed-to-send-message-")
|
||||
text: qsTr("Failed to send message.")
|
||||
icon: StandardIcon.Critical
|
||||
}
|
||||
}
|
||||
|
@ -173,9 +173,8 @@ StatusAppThreePanelLayout {
|
||||
ConfirmationDialog {
|
||||
id: removeContactConfirmationDialog
|
||||
// % "Remove contact"
|
||||
header.title: qsTrId("remove-contact")
|
||||
//% "Are you sure you want to remove this contact?"
|
||||
confirmationText: qsTrId("are-you-sure-you-want-to-remove-this-contact-")
|
||||
header.title: qsTr("Remove contact")
|
||||
confirmationText: qsTr("Are you sure you want to remove this contact?")
|
||||
onConfirmButtonClicked: {
|
||||
let pk = chatColumn.contactToRemove
|
||||
if (Utils.getContactDetailsAsJson(pk).isContact) {
|
||||
|
@ -41,10 +41,8 @@ Item {
|
||||
id: communityHeader
|
||||
title: communityData.name
|
||||
subTitle: communityData.members.count <= 1 ?
|
||||
//% "1 Member"
|
||||
qsTrId("1-member") :
|
||||
//% "%1 Members"
|
||||
qsTrId("-1-members").arg(communityData.members.count)
|
||||
qsTr("1 Member") :
|
||||
qsTr("%1 Members").arg(communityData.members.count)
|
||||
image.source: communityData.image
|
||||
icon.color: communityData.color
|
||||
onClicked: root.infoButtonClicked()
|
||||
@ -93,8 +91,7 @@ Item {
|
||||
height: nbRequests > 0 ? 64 : 0
|
||||
sourceComponent: Component {
|
||||
StatusContactRequestsIndicatorListItem {
|
||||
//% "Membership requests"
|
||||
title: qsTrId("membership-requests")
|
||||
title: qsTr("Membership requests")
|
||||
requestsCount: membershipRequests.nbRequests
|
||||
sensor.onClicked: Global.openPopup(root.membershipRequestPopup, {
|
||||
communitySectionModule: root.communitySectionModule
|
||||
@ -188,8 +185,7 @@ Item {
|
||||
|
||||
popupMenu: StatusPopupMenu {
|
||||
StatusMenuItem {
|
||||
//% "Create channel"
|
||||
text: qsTrId("create-channel")
|
||||
text: qsTr("Create channel")
|
||||
icon.name: "channel"
|
||||
// Not Refactored Yet
|
||||
enabled: communityData.amISectionAdmin
|
||||
@ -197,8 +193,7 @@ Item {
|
||||
}
|
||||
|
||||
StatusMenuItem {
|
||||
//% "Create category"
|
||||
text: qsTrId("create-category")
|
||||
text: qsTr("Create category")
|
||||
icon.name: "channel-category"
|
||||
enabled: communityData.amISectionAdmin
|
||||
onTriggered: Global.openPopup(createCategoryPopup)
|
||||
@ -207,8 +202,7 @@ Item {
|
||||
StatusMenuSeparator {}
|
||||
|
||||
StatusMenuItem {
|
||||
//% "Invite people"
|
||||
text: qsTrId("invite-people")
|
||||
text: qsTr("Invite people")
|
||||
icon.name: "share-ios"
|
||||
enabled: communityData.canManageUsers
|
||||
onTriggered: Global.openPopup(inviteFriendsToCommunityPopup, {
|
||||
@ -248,8 +242,7 @@ Item {
|
||||
|
||||
StatusMenuItem {
|
||||
enabled: communityData.amISectionAdmin
|
||||
//% "Edit Category"
|
||||
text: qsTrId("edit-category")
|
||||
text: qsTr("Edit Category")
|
||||
icon.name: "edit"
|
||||
onTriggered: {
|
||||
Global.openPopup(createCategoryPopup, {
|
||||
@ -267,16 +260,13 @@ Item {
|
||||
|
||||
StatusMenuItem {
|
||||
enabled: communityData.amISectionAdmin
|
||||
//% "Delete Category"
|
||||
text: qsTrId("delete-category")
|
||||
text: qsTr("Delete Category")
|
||||
icon.name: "delete"
|
||||
type: StatusMenuItem.Type.Danger
|
||||
onTriggered: {
|
||||
Global.openPopup(deleteCategoryConfirmationDialogComponent, {
|
||||
//% "Delete %1 category"
|
||||
title: qsTrId("delete--1-category").arg(categoryItem.name),
|
||||
//% "Are you sure you want to delete %1 category? Channels inside the category won’t be deleted."
|
||||
confirmationText: qsTrId("are-you-sure-you-want-to-delete--1-category--channels-inside-the-category-won-t-be-deleted-")
|
||||
title: qsTr("Delete %1 category").arg(categoryItem.name),
|
||||
confirmationText: qsTr("Are you sure you want to delete %1 category? Channels inside the category won’t be deleted.")
|
||||
.arg(categoryItem.name),
|
||||
categoryId: categoryItem.categoryId
|
||||
})
|
||||
@ -513,7 +503,7 @@ Item {
|
||||
}
|
||||
|
||||
StatusMenuItem {
|
||||
text: qsTrId("Create category")
|
||||
text: qsTr("Create category")
|
||||
icon.name: "channel-category"
|
||||
onTriggered: Global.openPopup(createCategoryPopup)
|
||||
}
|
||||
@ -574,8 +564,7 @@ Item {
|
||||
|
||||
MessageDialog {
|
||||
id: deleteError
|
||||
//% "Error deleting the category"
|
||||
title: qsTrId("error-deleting-the-category")
|
||||
title: qsTr("Error deleting the category")
|
||||
icon: StandardIcon.Critical
|
||||
standardButtons: StandardButton.Ok
|
||||
}
|
||||
|
@ -55,8 +55,7 @@ Item {
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 16
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
//% "Chat"
|
||||
text: qsTrId("chat")
|
||||
text: qsTr("Chat")
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
@ -73,8 +72,7 @@ Item {
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
implicitHeight: 36
|
||||
topPadding: 9
|
||||
//% "Search"
|
||||
placeholderText: qsTrId("search")
|
||||
placeholderText: qsTr("Search")
|
||||
icon.name: "search"
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
@ -134,8 +132,7 @@ Item {
|
||||
visible: nbRequests > 0
|
||||
height: visible ? implicitHeight : 0
|
||||
|
||||
//% "Contact requests"
|
||||
title: qsTrId("contact-requests")
|
||||
title: qsTr("Contact requests")
|
||||
requestsCount: nbRequests
|
||||
|
||||
sensor.onClicked: Global.openPopup(contactRequestsPopup)
|
||||
@ -337,13 +334,11 @@ Item {
|
||||
|
||||
if (state === Constants.communityImported)
|
||||
{
|
||||
//% "Community imported"
|
||||
title = qsTrId("community-imported")
|
||||
title = qsTr("Community imported")
|
||||
}
|
||||
else if (state === Constants.communityImportingInProgress)
|
||||
{
|
||||
//% "Importing community is in progress"
|
||||
title = qsTrId("importing-community-is-in-progress")
|
||||
title = qsTr("Importing community is in progress")
|
||||
loading = true
|
||||
}
|
||||
else if (state === Constants.communityImportingError)
|
||||
|
@ -236,8 +236,7 @@ Item {
|
||||
leftPadding: 0
|
||||
padding: 0
|
||||
font.pixelSize: 14
|
||||
//% "Type json-rpc message... e.g {\"method\": \"eth_accounts\"}"
|
||||
placeholderText: qsTrId("type-json-rpc-message")
|
||||
placeholderText: qsTr("Type json-rpc message... e.g {\"method\": \"eth_accounts\"}")
|
||||
anchors.right: rpcSendBtn.left
|
||||
anchors.rightMargin: 16
|
||||
anchors.top: parent.top
|
||||
|
@ -13,7 +13,7 @@ StatusModal {
|
||||
id: popup
|
||||
|
||||
anchors.centerIn: parent
|
||||
header.title: qsTrId("before-you-get-started---")
|
||||
header.title: qsTr("Before you get started")
|
||||
hasCloseButton: false
|
||||
closePolicy: Popup.NoAutoClose
|
||||
|
||||
@ -33,7 +33,7 @@ StatusModal {
|
||||
id: acknowledge
|
||||
objectName: "acknowledgeCheckBox"
|
||||
width: parent.width
|
||||
text: qsTrId("i-acknowledge-that-status-desktop-is-in-beta-and-by-using-it--i-take-the-full-responsibility-for-all-risks-concerning-my-data-and-funds-")
|
||||
text: qsTr("I acknowledge that status desktop is in beta and by using it I take the full responsibility for all risks concerning my data and funds")
|
||||
}
|
||||
|
||||
StatusCheckBox {
|
||||
@ -51,7 +51,7 @@ StatusModal {
|
||||
|
||||
StatusBaseText {
|
||||
objectName: "termsOfUseLink"
|
||||
text: qsTrId("terms-of-service")
|
||||
text: qsTr("Terms of service")
|
||||
color: Theme.palette.primaryColor1
|
||||
|
||||
MouseArea {
|
||||
@ -107,7 +107,7 @@ StatusModal {
|
||||
id: getStartedButton
|
||||
objectName: "getStartedStatusButton"
|
||||
enabled: acknowledge.checked && termsOfUse.checked
|
||||
text: qsTrId("get-started")
|
||||
text: qsTr("Get started")
|
||||
onClicked: {
|
||||
popup.close()
|
||||
}
|
||||
|
@ -11,8 +11,7 @@ import shared.popups 1.0
|
||||
// TODO: replace with StatusModal
|
||||
ModalPopup {
|
||||
id: popup
|
||||
//% "Enter seed phrase"
|
||||
title: qsTrId("enter-seed-phrase")
|
||||
title: qsTr("Enter seed phrase")
|
||||
height: 200
|
||||
signal openModalClicked()
|
||||
|
||||
|
@ -15,8 +15,7 @@ ModalPopup {
|
||||
signal accountSelected(int index)
|
||||
signal openModalClicked()
|
||||
id: popup
|
||||
//% "Your keys"
|
||||
title: qsTrId("your-keys")
|
||||
title: qsTr("Your keys")
|
||||
|
||||
AccountListPanel {
|
||||
id: accountList
|
||||
@ -37,8 +36,7 @@ ModalPopup {
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.topMargin: Style.current.padding
|
||||
anchors.right: parent.right
|
||||
//% "Add another existing key"
|
||||
text: qsTrId("add-another-existing-key")
|
||||
text: qsTr("Add another existing key")
|
||||
|
||||
onClicked : {
|
||||
openModalClicked()
|
||||
|
@ -27,8 +27,7 @@ ModalPopup {
|
||||
id: popup
|
||||
title: storingPasswordModal?
|
||||
qsTr("Store password") :
|
||||
//% "Create a password"
|
||||
qsTrId("intro-wizard-title-alt4")
|
||||
qsTr("Create a password")
|
||||
height: 500
|
||||
|
||||
onOpened: {
|
||||
@ -44,8 +43,7 @@ ModalPopup {
|
||||
anchors.topMargin: storingPasswordModal? Style.current.xlPadding : 88
|
||||
placeholderText: storingPasswordModal?
|
||||
qsTr("Current password...") :
|
||||
//% "New password..."
|
||||
qsTrId("new-password...")
|
||||
qsTr("New password...")
|
||||
textField.echoMode: TextInput.Password
|
||||
onTextChanged: {
|
||||
[firstPasswordFieldValid, passwordValidationError] =
|
||||
@ -64,8 +62,7 @@ ModalPopup {
|
||||
anchors.left: firstPasswordField.left
|
||||
anchors.top: firstPasswordField.bottom
|
||||
anchors.topMargin: Style.current.xlPadding
|
||||
//% "Confirm password…"
|
||||
placeholderText: qsTrId("confirm-password…")
|
||||
placeholderText: qsTr("Confirm password…")
|
||||
textField.echoMode: TextInput.Password
|
||||
Keys.onReturnPressed: function(event) {
|
||||
if (submitBtn.enabled) {
|
||||
@ -98,8 +95,7 @@ ModalPopup {
|
||||
|
||||
StyledText {
|
||||
visible: !storingPasswordModal
|
||||
//% "At least 6 characters. You will use this password to unlock status on this device & sign transactions."
|
||||
text: qsTrId("at-least-6-characters-you-will-use-this-password-to-unlock-status-on-this-device-sign-transactions.")
|
||||
text: qsTr("At least 6 characters. You will use this password to unlock status on this device & sign transactions.")
|
||||
wrapMode: Text.WordWrap
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: Style.current.xlPadding
|
||||
@ -125,17 +121,14 @@ ModalPopup {
|
||||
|
||||
text: storingPasswordModal?
|
||||
qsTr("Store password") :
|
||||
//% "Create password"
|
||||
qsTrId("create-password")
|
||||
qsTr("Create password")
|
||||
|
||||
enabled: firstPasswordFieldValid && repeatPasswordFieldValid && !loading
|
||||
|
||||
MessageDialog {
|
||||
id: importError
|
||||
//% "Error importing account"
|
||||
title: qsTrId("error-importing-account")
|
||||
//% "An error occurred while importing your account: "
|
||||
text: qsTrId("an-error-occurred-while-importing-your-account:-")
|
||||
title: qsTr("Error importing account")
|
||||
text: qsTr("An error occurred while importing your account: ")
|
||||
icon: StandardIcon.Critical
|
||||
standardButtons: StandardButton.Ok
|
||||
onVisibilityChanged: {
|
||||
@ -145,10 +138,8 @@ ModalPopup {
|
||||
|
||||
MessageDialog {
|
||||
id: importLoginError
|
||||
//% "Login failed"
|
||||
title: qsTrId("login-failed")
|
||||
//% "Login failed. Please re-enter your password and try again."
|
||||
text: qsTrId("login-failed.-please-re-enter-your-password-and-try-again.")
|
||||
title: qsTr("Login failed")
|
||||
text: qsTr("Login failed. Please re-enter your password and try again.")
|
||||
icon: StandardIcon.Critical
|
||||
standardButtons: StandardButton.Ok
|
||||
onVisibilityChanged: {
|
||||
|
@ -177,10 +177,8 @@ OnboardingBasePage {
|
||||
importLoginError.title = qsTr("Keys for this account already exist")
|
||||
importLoginError.text = qsTr("Keys for this account already exist and can't be added again. If you've lost your password, passcode or Keycard, uninstall the app, reinstall and access your keys by entering your seed phrase")
|
||||
} else {
|
||||
//% "Login failed"
|
||||
importLoginError.title = qsTrId("login-failed")
|
||||
//% "Login failed. Please re-enter your password and try again."
|
||||
importLoginError.text = qsTrId("login-failed.-please-re-enter-your-password-and-try-again.")
|
||||
importLoginError.title = qsTr("Login failed")
|
||||
importLoginError.text = qsTr("Login failed. Please re-enter your password and try again.")
|
||||
}
|
||||
importLoginError.open()
|
||||
}
|
||||
@ -188,10 +186,8 @@ OnboardingBasePage {
|
||||
|
||||
MessageDialog {
|
||||
id: importLoginError
|
||||
//% "Login failed"
|
||||
title: qsTrId("login-failed")
|
||||
//% "Login failed. Please re-enter your password and try again."
|
||||
text: qsTrId("login-failed.-please-re-enter-your-password-and-try-again.")
|
||||
title: qsTr("Login failed")
|
||||
text: qsTr("Login failed. Please re-enter your password and try again.")
|
||||
icon: StandardIcon.Critical
|
||||
standardButtons: StandardButton.Ok
|
||||
onVisibilityChanged: {
|
||||
|
@ -45,7 +45,7 @@ OnboardingBasePage {
|
||||
|
||||
StyledText {
|
||||
id: txtTitle
|
||||
text: qsTrId("intro-wizard-title1")
|
||||
text: qsTr("intro-wizard-title1") // FIXME: translations
|
||||
font.bold: true
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.top: keysImgWrapperItem.bottom
|
||||
@ -62,7 +62,7 @@ OnboardingBasePage {
|
||||
anchors.top: txtTitle.bottom
|
||||
anchors.topMargin: Style.current.padding
|
||||
color: Style.current.secondaryText
|
||||
text: qsTrId("a-set-of-keys-controls-your-account.-your-keys-live-on-your-device,-so-only-you-can-use-them.")
|
||||
text: qsTr("a-set-of-keys-controls-your-account.-your-keys-live-on-your-device,-so-only-you-can-use-them.") // FIXME: translations
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
wrapMode: Text.WordWrap
|
||||
font.pixelSize: 15
|
||||
|
@ -226,10 +226,8 @@ Item {
|
||||
width: 318
|
||||
enabled: !loading
|
||||
placeholderText: loading ?
|
||||
//% "Connecting..."
|
||||
qsTrId("connecting") :
|
||||
//% "Enter password"
|
||||
qsTrId("enter-password")
|
||||
qsTr("Connecting...") :
|
||||
qsTr("Enter password")
|
||||
textField.echoMode: TextInput.Password
|
||||
Keys.onReturnPressed: {
|
||||
doLogin(textField.text)
|
||||
@ -279,8 +277,7 @@ Item {
|
||||
if (error === "file is not a database") {
|
||||
errMsg.text = errMsg.incorrectPasswordMsg
|
||||
} else {
|
||||
//% "Login failed: %1"
|
||||
errMsg.text = qsTrId("login-failed---1").arg(error.toUpperCase())
|
||||
errMsg.text = qsTr("Login failed: %1").arg(error.toUpperCase())
|
||||
}
|
||||
errMsg.visible = true
|
||||
loading = false
|
||||
@ -291,8 +288,7 @@ Item {
|
||||
|
||||
StyledText {
|
||||
id: errMsg
|
||||
//% "Login failed. Please re-enter your password and try again."
|
||||
readonly property string incorrectPasswordMsg: qsTrId("login-failed--please-re-enter-your-password-and-try-again-")
|
||||
readonly property string incorrectPasswordMsg: qsTr("Login failed. Please re-enter your password and try again.")
|
||||
anchors.top: txtPassword.bottom
|
||||
anchors.topMargin: Style.current.padding
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
|
@ -66,7 +66,7 @@ OnboardingBasePage {
|
||||
anchors.top: txtTitle.bottom
|
||||
anchors.topMargin: Style.current.padding
|
||||
color: Style.current.secondaryText
|
||||
text: qsTrId("Would you like to use your Touch ID to login to Status?")
|
||||
text: qsTr("Would you like to use your Touch ID to login to Status?")
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
wrapMode: Text.WordWrap
|
||||
font.pixelSize: 15
|
||||
|
@ -52,7 +52,6 @@ Page {
|
||||
|
||||
StyledText {
|
||||
id: txtTitle1
|
||||
//% "Get your keys"
|
||||
text: qsTr("Welcome to Status")
|
||||
anchors.topMargin: Style.current.padding
|
||||
font.bold: true
|
||||
|
@ -10,8 +10,7 @@ import StatusQ.Controls 0.1
|
||||
|
||||
Rectangle {
|
||||
property var buttonGroup
|
||||
//% "TODO"
|
||||
property string btnText: qsTrId("todo")
|
||||
property string btnText: qsTr("TODO")
|
||||
property bool hovered: false
|
||||
property bool checkedByDefault: false
|
||||
|
||||
|
@ -30,10 +30,8 @@ RadioButtonSelector {
|
||||
Component {
|
||||
id: confirmDialogComponent
|
||||
ConfirmationDialog {
|
||||
//% "Warning!"
|
||||
header.title: qsTrId("close-app-title")
|
||||
//% "Change fleet to %1"
|
||||
confirmationText: qsTrId("change-fleet-to--1").arg(root.newFleet)
|
||||
header.title: qsTr("Warning!")
|
||||
confirmationText: qsTr("Change fleet to %1").arg(root.newFleet)
|
||||
onConfirmButtonClicked: {
|
||||
root.advancedStore.setFleet(root.newFleet)
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ ListView {
|
||||
size: StatusBaseButton.Size.Small
|
||||
type: StatusBaseButton.Type.Danger
|
||||
border.color: "transparent"
|
||||
text: qsTrId("leave-community")
|
||||
text: qsTr("Leave community")
|
||||
onClicked: {
|
||||
Global.openPopup(leaveCommunityPopup, {
|
||||
community: model.name,
|
||||
|
@ -51,8 +51,7 @@ Item {
|
||||
id: contextMenu
|
||||
Action {
|
||||
icon.name: "admin"
|
||||
//% "Token details"
|
||||
text: qsTrId("token-details")
|
||||
text: qsTr("Token details")
|
||||
onTriggered: {
|
||||
modalBody.showTokenDetailsTriggered(chainId, address, name, symbol, decimals);
|
||||
}
|
||||
@ -61,8 +60,7 @@ Item {
|
||||
icon.name: "remove"
|
||||
icon.color: Style.current.red
|
||||
enabled: isCustom
|
||||
//% "Remove token"
|
||||
text: qsTrId("remove-token")
|
||||
text: qsTr("Remove token")
|
||||
onTriggered: removeCustomTokenTriggered(chainId, address)
|
||||
}
|
||||
}
|
||||
@ -106,8 +104,7 @@ Item {
|
||||
|
||||
StyledText {
|
||||
id: customLbl
|
||||
//% "Custom"
|
||||
text: qsTrId("custom")
|
||||
text: qsTr("Custom")
|
||||
font.pixelSize: 13
|
||||
color: Style.current.secondaryText
|
||||
height: 20
|
||||
@ -130,8 +127,7 @@ Item {
|
||||
|
||||
StyledText {
|
||||
id: defaultLbl
|
||||
//% "Default"
|
||||
text: qsTrId("default")
|
||||
text: qsTr("Default")
|
||||
font.pixelSize: 13
|
||||
color: Style.current.secondaryText
|
||||
height: 20
|
||||
|
@ -19,8 +19,7 @@ StatusModal {
|
||||
property WalletStore walletStore
|
||||
|
||||
header.title: editable ?
|
||||
//% "Add custom token"
|
||||
qsTrId("add-custom-token")
|
||||
qsTr("Add custom token")
|
||||
: nameInput.text
|
||||
|
||||
x: Math.round(((parent ? parent.width : 0) - width) / 2)
|
||||
@ -53,8 +52,7 @@ StatusModal {
|
||||
|
||||
function validate() {
|
||||
if (addressInput.text !== "" && !Utils.isAddress(addressInput.text)) {
|
||||
//% "This needs to be a valid address"
|
||||
validationError = qsTrId("this-needs-to-be-a-valid-address");
|
||||
validationError = qsTr("This needs to be a valid address");
|
||||
}
|
||||
return validationError === ""
|
||||
}
|
||||
@ -80,8 +78,7 @@ StatusModal {
|
||||
return
|
||||
}
|
||||
if (jsonObj.name === "" && jsonObj.symbol === "" && jsonObj.decimals === "") {
|
||||
//% "Invalid ERC20 address"
|
||||
validationError = qsTrId("invalid-erc20-address")
|
||||
validationError = qsTr("Invalid ERC20 address")
|
||||
return;
|
||||
}
|
||||
|
||||
@ -102,10 +99,8 @@ StatusModal {
|
||||
id: addressInput
|
||||
readOnly: !editable
|
||||
textField.maximumLength: 42
|
||||
//% "Enter contract address..."
|
||||
placeholderText: qsTrId("enter-contract-address...")
|
||||
//% "Contract address"
|
||||
label: qsTrId("contract-address")
|
||||
placeholderText: qsTr("Enter contract address...")
|
||||
label: qsTr("Contract address")
|
||||
validationError: popup.validationError
|
||||
Keys.onReleased: onKeyReleased()
|
||||
}
|
||||
@ -115,19 +110,15 @@ StatusModal {
|
||||
readOnly: !editable
|
||||
anchors.top: addressInput.bottom
|
||||
anchors.topMargin: marginBetweenInputs
|
||||
//% "The name of your token..."
|
||||
placeholderText: qsTrId("the-name-of-your-token...")
|
||||
//% "Name"
|
||||
label: qsTrId("name")
|
||||
placeholderText: qsTr("The name of your token...")
|
||||
label: qsTr("Name")
|
||||
}
|
||||
|
||||
Input {
|
||||
id: symbolInput
|
||||
readOnly: !editable
|
||||
//% "ABC"
|
||||
placeholderText: qsTrId("abc")
|
||||
//% "Symbol"
|
||||
label: qsTrId("symbol")
|
||||
placeholderText: qsTr("ABC")
|
||||
label: qsTr("Symbol")
|
||||
anchors.top: nameInput.bottom
|
||||
anchors.topMargin: marginBetweenInputs
|
||||
anchors.left: parent.left
|
||||
@ -139,8 +130,7 @@ StatusModal {
|
||||
id: decimalsInput
|
||||
readOnly: !editable
|
||||
placeholderText: "18"
|
||||
//% "Decimals"
|
||||
label: qsTrId("decimals")
|
||||
label: qsTr("Decimals")
|
||||
text: "18"
|
||||
anchors.top: nameInput.bottom
|
||||
anchors.topMargin: marginBetweenInputs
|
||||
@ -159,8 +149,7 @@ StatusModal {
|
||||
|
||||
rightButtons: [
|
||||
StatusButton {
|
||||
//% "Add"
|
||||
text: qsTrId("add")
|
||||
text: qsTr("Add")
|
||||
enabled: validationError === "" && addressInput.text !== "" && nameInput.text !== "" && symbolInput.text !== "" && decimalsInput.text !== ""
|
||||
visible: editable
|
||||
onClicked: {
|
||||
|
@ -35,27 +35,22 @@ StatusModal {
|
||||
|
||||
StatusInput {
|
||||
id: nameInput
|
||||
//% "Name"
|
||||
label: qsTrId("name")
|
||||
//% "Specify a name"
|
||||
input.placeholderText: qsTrId("specify-name")
|
||||
label: qsTr("Name")
|
||||
input.placeholderText: qsTr("Specify a name")
|
||||
validators: [StatusMinLengthValidator {
|
||||
minLength: 1
|
||||
//% "You need to enter a name"
|
||||
errorMessage: qsTrId("you-need-to-enter-a-name")
|
||||
errorMessage: qsTr("You need to enter a name")
|
||||
}]
|
||||
validationMode: StatusInput.ValidationMode.OnlyWhenDirty
|
||||
}
|
||||
|
||||
StatusInput {
|
||||
id: enodeInput
|
||||
//% "History node address"
|
||||
label: qsTrId("history-node-address")
|
||||
label: qsTr("History node address")
|
||||
input.placeholderText: "enode://{enode-id}:{password}@{ip-address}:{port-number}"
|
||||
validators: [StatusMinLengthValidator {
|
||||
minLength: 1
|
||||
//% "You need to enter the enode address"
|
||||
errorMessage: qsTrId("you-need-to-enter-the-enode-address")
|
||||
errorMessage: qsTr("You need to enter the enode address")
|
||||
},
|
||||
StatusRegularExpressionValidator {
|
||||
errorMessage: qsTr("The format must be: enode://{enode-id}:{password}@{ip-address}:{port}")
|
||||
@ -69,8 +64,7 @@ StatusModal {
|
||||
|
||||
rightButtons: [
|
||||
StatusButton {
|
||||
//% "Save"
|
||||
text: qsTrId("save")
|
||||
text: qsTr("Save")
|
||||
enabled: nameInput.valid && enodeInput.valid
|
||||
// enabled: nameInput.text !== "" && enodeInput.text !== ""
|
||||
onClicked: {
|
||||
|
@ -12,8 +12,7 @@ import shared.popups 1.0
|
||||
// TODO: replace with StatusModal
|
||||
ModalPopup {
|
||||
id: popup
|
||||
//% "Profile picture"
|
||||
title: qsTrId("profile-picture")
|
||||
title: qsTr("Profile picture")
|
||||
|
||||
property var profileStore
|
||||
|
||||
@ -81,8 +80,7 @@ ModalPopup {
|
||||
StatusFlatButton {
|
||||
visible: popup.hasIdentityImage
|
||||
type: StatusBaseButton.Type.Danger
|
||||
//% "Remove"
|
||||
text: qsTrId("remove")
|
||||
text: qsTr("Remove")
|
||||
anchors.right: uploadBtn.left
|
||||
anchors.rightMargin: Style.current.padding
|
||||
anchors.bottom: parent.bottom
|
||||
@ -93,8 +91,7 @@ ModalPopup {
|
||||
|
||||
StatusButton {
|
||||
id: uploadBtn
|
||||
//% "Upload"
|
||||
text: qsTrId("upload")
|
||||
text: qsTr("Upload")
|
||||
anchors.right: parent.right
|
||||
anchors.bottom: parent.bottom
|
||||
onClicked: {
|
||||
@ -103,12 +100,10 @@ ModalPopup {
|
||||
|
||||
FileDialog {
|
||||
id: imageDialog
|
||||
//% "Please choose an image"
|
||||
title: qsTrId("please-choose-an-image")
|
||||
title: qsTr("Please choose an image")
|
||||
folder: shortcuts.pictures
|
||||
nameFilters: [
|
||||
//% "Image files (*.jpg *.jpeg *.png)"
|
||||
qsTrId("image-files----jpg---jpeg---png-")
|
||||
qsTr("Image files (*.jpg *.jpeg *.png)")
|
||||
]
|
||||
onAccepted: {
|
||||
selectedImage = imageDialog.fileUrls[0]
|
||||
|
@ -12,8 +12,7 @@ import shared.popups 1.0
|
||||
ModalPopup {
|
||||
id: popup
|
||||
|
||||
//% "Primary username"
|
||||
title: qsTrId("ens-primary-username")
|
||||
title: qsTr("Primary username")
|
||||
|
||||
property var ensUsernamesStore
|
||||
property string newUsername: ""
|
||||
@ -27,11 +26,9 @@ ModalPopup {
|
||||
StyledText {
|
||||
id: lbl1
|
||||
text: popup.ensUsernamesStore.preferredUsername ?
|
||||
//% "Your messages are displayed to others with this username:"
|
||||
qsTrId("your-messages-are-displayed-to-others-with-this-username-")
|
||||
qsTr("Your messages are displayed to others with this username:")
|
||||
:
|
||||
//% "Once you select a username, you won’t be able to disable it afterwards. You will only be able choose a different username to display."
|
||||
qsTrId("once-you-select-a-username--you-won-t-be-able-to-disable-it-afterwards--you-will-only-be-able-choose-a-different-username-to-display-")
|
||||
qsTr("Once you select a username, you won’t be able to disable it afterwards. You will only be able choose a different username to display.")
|
||||
font.pixelSize: 15
|
||||
wrapMode: Text.WordWrap
|
||||
width: parent.width
|
||||
|
@ -12,8 +12,7 @@ import "../controls"
|
||||
// TODO: replace with StatusModal
|
||||
ModalPopup {
|
||||
id: popup
|
||||
//% "Fleet"
|
||||
title: qsTrId("fleet")
|
||||
title: qsTr("Fleet")
|
||||
|
||||
property var advancedStore
|
||||
|
||||
|
@ -17,8 +17,7 @@ import shared.popups 1.0
|
||||
// TODO: replace with StatusModal
|
||||
ModalPopup {
|
||||
id: root
|
||||
//% "Muted chats"
|
||||
title: qsTrId("muted-chats")
|
||||
title: qsTr("Muted chats")
|
||||
|
||||
property var model: []
|
||||
property string noContentText: ""
|
||||
@ -85,8 +84,7 @@ ModalPopup {
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: Style.current.smallPadding
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
//% "Unmute"
|
||||
text: qsTrId("unmute")
|
||||
text: qsTr("Unmute")
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
|
@ -23,7 +23,6 @@ StatusModal {
|
||||
property var currentAccount: walletStore.currentAccount
|
||||
property var emojiPopup
|
||||
|
||||
//% "'%1' would like to connect to"
|
||||
header.title: qsTr("Rename %1").arg(currentAccount.name)
|
||||
|
||||
property int marginBetweenInputs: 30
|
||||
@ -49,9 +48,8 @@ StatusModal {
|
||||
|
||||
StatusInput {
|
||||
id: accountNameInput
|
||||
//% "Enter an account name..."
|
||||
input.isIconSelectable: true
|
||||
input.placeholderText: qsTrId("enter-an-account-name...")
|
||||
input.placeholderText: qsTr("Enter an account name...")
|
||||
input.text: currentAccount.name
|
||||
input.icon.emoji: currentAccount.emoji
|
||||
input.icon.color: currentAccount.color
|
||||
@ -63,8 +61,7 @@ StatusModal {
|
||||
}
|
||||
validators: [
|
||||
StatusMinLengthValidator {
|
||||
//% "You need to enter an account name"
|
||||
errorMessage: qsTrId("you-need-to-enter-an-account-name")
|
||||
errorMessage: qsTr("You need to enter an account name")
|
||||
minLength: 1
|
||||
},
|
||||
StatusRegularExpressionValidator {
|
||||
@ -80,7 +77,6 @@ StatusModal {
|
||||
anchors.top: selectedColor.bottom
|
||||
anchors.topMargin: 10
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
//% "color"
|
||||
titleText: qsTr("color").toUpperCase()
|
||||
selectedColor: currentAccount.color
|
||||
selectedColorIndex: {
|
||||
@ -106,7 +102,6 @@ StatusModal {
|
||||
rightButtons: [
|
||||
StatusButton {
|
||||
id: saveBtn
|
||||
//% "Change Name"
|
||||
text: qsTr("Change Name")
|
||||
|
||||
enabled: accountNameInput.text !== "" && accountNameInput.valid
|
||||
|
@ -9,8 +9,7 @@ import shared.controls 1.0
|
||||
ModalPopup {
|
||||
id: popup
|
||||
|
||||
//% "Search engine"
|
||||
title: qsTrId("search-engine")
|
||||
title: qsTr("Search engine")
|
||||
|
||||
onClosed: {
|
||||
destroy()
|
||||
@ -29,8 +28,7 @@ ModalPopup {
|
||||
}
|
||||
|
||||
RadioButtonSelector {
|
||||
//% "None"
|
||||
title: qsTrId("none")
|
||||
title: qsTr("None")
|
||||
buttonGroup: searchEnginGroup
|
||||
checked: localAccountSensitiveSettings.shouldShowBrowserSearchEngine === Constants.browserSearchEngineNone
|
||||
onCheckedChanged: {
|
||||
|
@ -15,13 +15,11 @@ StatusModal {
|
||||
y: Math.round(((parent ? parent.height : 0) - height) / 2)
|
||||
height: 480
|
||||
property WalletStore walletStore
|
||||
//% "Manage Assets"
|
||||
header.title: qsTrId("manage-assets")
|
||||
header.title: qsTr("Manage Assets")
|
||||
|
||||
rightButtons: [
|
||||
StatusButton {
|
||||
//% "Add custom token"
|
||||
text: qsTrId("add-custom-token")
|
||||
text: qsTr("Add custom token")
|
||||
onClicked: {
|
||||
addShowTokenModal.openEditable();
|
||||
}
|
||||
|
@ -67,12 +67,12 @@ Item {
|
||||
StatusCheckBox {
|
||||
id: havePen
|
||||
width: parent.width
|
||||
text: qsTrId("I have a pen and paper")
|
||||
text: qsTr("I have a pen and paper")
|
||||
}
|
||||
StatusCheckBox {
|
||||
id: writeDown
|
||||
width: parent.width
|
||||
text: qsTrId("I am ready to write down my seed phrase")
|
||||
text: qsTr("I am ready to write down my seed phrase")
|
||||
}
|
||||
StatusCheckBox {
|
||||
id: storeIt
|
||||
|
@ -20,7 +20,7 @@ SettingsContentBase {
|
||||
|
||||
titleRowComponentLoader.sourceComponent: StatusButton {
|
||||
size: StatusBaseButton.Size.Small
|
||||
text: qsTrId("check-for-updates")
|
||||
text: qsTr("Check for updates")
|
||||
onClicked: {
|
||||
root.store.checkForUpdates()
|
||||
}
|
||||
@ -171,7 +171,7 @@ SettingsContentBase {
|
||||
Layout.fillWidth: true
|
||||
leftPadding: Style.current.padding
|
||||
rightPadding: Style.current.padding
|
||||
text: qsTrId("Software License")
|
||||
text: qsTr("Software License")
|
||||
icon.width: 0
|
||||
}
|
||||
} // Column
|
||||
|
@ -34,8 +34,7 @@ SettingsContentBase {
|
||||
StatusSettingsLineButton {
|
||||
anchors.leftMargin: 0
|
||||
anchors.rightMargin: 0
|
||||
//% "Fleet"
|
||||
text: qsTrId("fleet")
|
||||
text: qsTr("Fleet")
|
||||
currentValue: root.advancedStore.fleet
|
||||
onClicked: fleetModal.open()
|
||||
}
|
||||
@ -44,8 +43,7 @@ SettingsContentBase {
|
||||
StatusSettingsLineButton {
|
||||
anchors.leftMargin: 0
|
||||
anchors.rightMargin: 0
|
||||
//% "Minimize on close"
|
||||
text: qsTrId("minimize-on-close")
|
||||
text: qsTr("Minimize on close")
|
||||
isSwitch: true
|
||||
switchChecked: !localAccountSensitiveSettings.quitOnClose
|
||||
onClicked: function (checked) {
|
||||
@ -59,7 +57,6 @@ SettingsContentBase {
|
||||
anchors.right: parent.right
|
||||
anchors.leftMargin: Style.current.padding
|
||||
anchors.rightMargin: Style.current.padding
|
||||
//% "Application Logs"
|
||||
text: qsTr("Application Logs")
|
||||
font.pixelSize: 15
|
||||
font.underline: mouseArea.containsMouse
|
||||
@ -92,8 +89,7 @@ SettingsContentBase {
|
||||
anchors.right: parent.right
|
||||
anchors.leftMargin: Style.current.padding
|
||||
anchors.rightMargin: Style.current.padding
|
||||
//% "Experimental features"
|
||||
text: qsTrId("experimental-features")
|
||||
text: qsTr("Experimental features")
|
||||
topPadding: Style.current.bigPadding
|
||||
bottomPadding: Style.current.padding
|
||||
}
|
||||
@ -102,8 +98,7 @@ SettingsContentBase {
|
||||
StatusSettingsLineButton {
|
||||
anchors.leftMargin: 0
|
||||
anchors.rightMargin: 0
|
||||
//% "Wallet"
|
||||
text: qsTrId("wallet")
|
||||
text: qsTr("Wallet")
|
||||
isSwitch: true
|
||||
switchChecked: localAccountSensitiveSettings.isWalletEnabled
|
||||
onClicked: {
|
||||
@ -120,8 +115,7 @@ SettingsContentBase {
|
||||
StatusSettingsLineButton {
|
||||
anchors.leftMargin: 0
|
||||
anchors.rightMargin: 0
|
||||
//% "Dapp Browser"
|
||||
text: qsTrId("dapp-browser")
|
||||
text: qsTr("Dapp Browser")
|
||||
isSwitch: true
|
||||
switchChecked: localAccountSensitiveSettings.isBrowserEnabled
|
||||
onClicked: {
|
||||
@ -154,8 +148,7 @@ SettingsContentBase {
|
||||
StatusSettingsLineButton {
|
||||
anchors.leftMargin: 0
|
||||
anchors.rightMargin: 0
|
||||
//% "Node Management"
|
||||
text: qsTrId("node-management")
|
||||
text: qsTr("Node Management")
|
||||
isSwitch: true
|
||||
switchChecked: localAccountSensitiveSettings.nodeManagementEnabled
|
||||
onClicked: {
|
||||
@ -172,7 +165,6 @@ SettingsContentBase {
|
||||
StatusSettingsLineButton {
|
||||
anchors.leftMargin: 0
|
||||
anchors.rightMargin: 0
|
||||
//% "Keycard"
|
||||
text: qsTr("Keycard")
|
||||
isSwitch: true
|
||||
switchChecked: localAccountSettings.isKeycardEnabled
|
||||
@ -187,8 +179,7 @@ SettingsContentBase {
|
||||
anchors.leftMargin: Style.current.padding
|
||||
anchors.rightMargin: Style.current.padding
|
||||
visible: !root.advancedStore.isWakuV2
|
||||
//% "Bloom filter level"
|
||||
text: qsTrId("bloom-filter-level")
|
||||
text: qsTr("Bloom filter level")
|
||||
topPadding: Style.current.bigPadding
|
||||
bottomPadding: Style.current.padding
|
||||
}
|
||||
@ -207,10 +198,8 @@ SettingsContentBase {
|
||||
property string mode: "normal"
|
||||
|
||||
id: confirmDialog
|
||||
//% "Warning!"
|
||||
header.title: qsTrId("close-app-title")
|
||||
//% "The account will be logged out. When you login again, the selected mode will be enabled"
|
||||
confirmationText: qsTrId("the-account-will-be-logged-out--when-you-login-again--the-selected-mode-will-be-enabled")
|
||||
header.title: qsTr("Warning!")
|
||||
confirmationText: qsTr("The account will be logged out. When you login again, the selected mode will be enabled")
|
||||
onConfirmButtonClicked: {
|
||||
root.advancedStore.setBloomLevel(mode)
|
||||
}
|
||||
@ -233,8 +222,7 @@ SettingsContentBase {
|
||||
id: btnBloomLight
|
||||
buttonGroup: bloomGroup
|
||||
checkedByDefault: root.advancedStore.bloomLevel == "light"
|
||||
//% "Light Node"
|
||||
btnText: qsTrId("light-node")
|
||||
btnText: qsTr("Light Node")
|
||||
onToggled: {
|
||||
if (root.advancedStore.bloomLevel != "light") {
|
||||
Global.openPopup(bloomConfirmationDialogComponent, {mode: "light"})
|
||||
@ -248,8 +236,7 @@ SettingsContentBase {
|
||||
id: btnBloomNormal
|
||||
buttonGroup: bloomGroup
|
||||
checkedByDefault: root.advancedStore.bloomLevel == "normal"
|
||||
//% "Normal"
|
||||
btnText: qsTrId("normal")
|
||||
btnText: qsTr("Normal")
|
||||
onToggled: {
|
||||
if (root.advancedStore.bloomLevel != "normal") {
|
||||
Global.openPopup(bloomConfirmationDialogComponent, {mode: "normal"})
|
||||
@ -263,8 +250,7 @@ SettingsContentBase {
|
||||
id: btnBloomFull
|
||||
buttonGroup: bloomGroup
|
||||
checkedByDefault: root.advancedStore.bloomLevel == "full"
|
||||
//% "Full Node"
|
||||
btnText: qsTrId("full-node")
|
||||
btnText: qsTr("Full Node")
|
||||
onToggled: {
|
||||
if (root.advancedStore.bloomLevel != "full") {
|
||||
Global.openPopup(bloomConfirmationDialogComponent, {mode: "full"})
|
||||
@ -299,8 +285,7 @@ SettingsContentBase {
|
||||
property bool mode: false
|
||||
|
||||
id: confirmDialog
|
||||
//% "The account will be logged out. When you login again, the selected mode will be enabled"
|
||||
confirmationText: qsTrId("the-account-will-be-logged-out--when-you-login-again--the-selected-mode-will-be-enabled")
|
||||
confirmationText: qsTr("The account will be logged out. When you login again, the selected mode will be enabled")
|
||||
onConfirmButtonClicked: {
|
||||
root.advancedStore.setWakuV2LightClientEnabled(mode)
|
||||
}
|
||||
@ -323,8 +308,7 @@ SettingsContentBase {
|
||||
id: btnWakuV2Light
|
||||
buttonGroup: wakuV2Group
|
||||
checkedByDefault: root.advancedStore.wakuV2LightClientEnabled
|
||||
//% "Light Node"
|
||||
btnText: qsTrId("light-node")
|
||||
btnText: qsTr("Light Node")
|
||||
onToggled: {
|
||||
if (!root.advancedStore.wakuV2LightClientEnabled) {
|
||||
Global.openPopup(wakuV2ModeConfirmationDialogComponent, {mode: true})
|
||||
@ -338,8 +322,7 @@ SettingsContentBase {
|
||||
id: btnWakuV2Full
|
||||
buttonGroup: wakuV2Group
|
||||
checkedByDefault: !root.advancedStore.wakuV2LightClientEnabled
|
||||
//% "Full Node"
|
||||
btnText: qsTrId("full-node")
|
||||
btnText: qsTr("Full Node")
|
||||
onToggled: {
|
||||
if (root.advancedStore.wakuV2LightClientEnabled) {
|
||||
Global.openPopup(wakuV2ModeConfirmationDialogComponent, {mode: false})
|
||||
@ -516,10 +499,8 @@ SettingsContentBase {
|
||||
id: confirmationPopup
|
||||
property string experimentalFeature: ""
|
||||
showCancelButton: true
|
||||
//% "This feature is experimental and is meant for testing purposes by core contributors and the community. It's not meant for real use and makes no claims of security or integrity of funds or data. Use at your own risk."
|
||||
confirmationText: qsTrId("this-feature-is-experimental-and-is-meant-for-testing-purposes-by-core-contributors-and-the-community--it-s-not-meant-for-real-use-and-makes-no-claims-of-security-or-integrity-of-funds-or-data--use-at-your-own-risk-")
|
||||
//% "I understand"
|
||||
confirmButtonLabel: qsTrId("i-understand")
|
||||
confirmationText: qsTr("This feature is experimental and is meant for testing purposes by core contributors and the community. It's not meant for real use and makes no claims of security or integrity of funds or data. Use at your own risk.")
|
||||
confirmButtonLabel: qsTr("I understand")
|
||||
onConfirmButtonClicked: {
|
||||
root.advancedStore.toggleExperimentalFeature(experimentalFeature)
|
||||
experimentalFeature = ""
|
||||
|
@ -59,8 +59,7 @@ SettingsContentBase {
|
||||
|
||||
StatusSectionHeadline {
|
||||
id: sectionHeadlinePreview
|
||||
//% "Preview"
|
||||
text: qsTrId("preview")
|
||||
text: qsTr("Preview")
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
@ -89,8 +88,7 @@ SettingsContentBase {
|
||||
messageTimestamp:Date.now()
|
||||
senderDisplayName: "@vitalik"
|
||||
senderIcon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAb0lEQVR4Ae3UQQqAIBRF0Wj9ba9Bq6l5JBQqfn/ngDMH3YS3AAB/tO3H+XRG3b9bR/+gVoREI2RapVXpfd5+X5oXERKNkHS+rk3tOpWkeREh0QiZVu91ql2zNC8iJBoh0yqtSqt1slpCghICANDPBc0ESPh0bHkHAAAAAElFTkSuQmCC"
|
||||
//% "Blockchains will drop search costs, causing a kind of decomposition that allows you to have markets of entities that are horizontally segregated and vertically segregated."
|
||||
message: qsTrId("blockchains-will-drop-search-costs--causing-a-kind-of-decomposition-that-allows-you-to-have-markets-of-entities-that-are-horizontally-segregated-and-vertically-segregated-")
|
||||
message: qsTr("Blockchains will drop search costs, causing a kind of decomposition that allows you to have markets of entities that are horizontally segregated and vertically segregated.")
|
||||
messageContentType: Constants.messageContentType.messageType
|
||||
placeholderMessage: true
|
||||
}
|
||||
@ -98,8 +96,7 @@ SettingsContentBase {
|
||||
|
||||
StatusSectionHeadline {
|
||||
id: sectionHeadlineFontSize
|
||||
//% "Size"
|
||||
text: qsTrId("size")
|
||||
text: qsTr("Size")
|
||||
anchors.top: preview.bottom
|
||||
anchors.topMargin: Style.current.padding
|
||||
anchors.left: parent.left
|
||||
@ -112,8 +109,7 @@ SettingsContentBase {
|
||||
anchors.topMargin: Style.current.padding
|
||||
anchors.left: parent.left
|
||||
font.pixelSize: 15
|
||||
//% "Change font size"
|
||||
text: qsTrId("change-font-size")
|
||||
text: qsTr("Change font size")
|
||||
color: Theme.palette.directColor1
|
||||
}
|
||||
|
||||
@ -184,8 +180,7 @@ SettingsContentBase {
|
||||
|
||||
StatusSectionHeadline {
|
||||
id: sectionHeadlineAppearance
|
||||
//% "Appearance"
|
||||
text: qsTrId("appearance")
|
||||
text: qsTr("Appearance")
|
||||
// anchors.top: chatModeSection.bottom
|
||||
anchors.top: zoomSlider.bottom
|
||||
anchors.topMargin: Style.current.padding*3
|
||||
@ -206,8 +201,7 @@ SettingsContentBase {
|
||||
height: 184
|
||||
image.source: Style.png("appearance-light")
|
||||
image.height: 128
|
||||
//% "Light"
|
||||
control.text: qsTrId("Light")
|
||||
control.text: qsTr("Light")
|
||||
control.checked: localAppSettings.theme === Universal.Light
|
||||
onRadioCheckedChanged: {
|
||||
if (checked) {
|
||||
@ -222,8 +216,7 @@ SettingsContentBase {
|
||||
height: 184
|
||||
image.source: Style.png("appearance-dark")
|
||||
image.height: 128
|
||||
//% "Dark"
|
||||
control.text: qsTrId("dark")
|
||||
control.text: qsTr("Dark")
|
||||
control.checked: localAppSettings.theme === Universal.Dark
|
||||
onRadioCheckedChanged: {
|
||||
if (checked) {
|
||||
@ -238,8 +231,7 @@ SettingsContentBase {
|
||||
height: 184
|
||||
image.source: Style.png("appearance-system")
|
||||
image.height: 128
|
||||
//% "System"
|
||||
control.text: qsTrId("system")
|
||||
control.text: qsTr("System")
|
||||
control.checked: localAppSettings.theme === Universal.System
|
||||
onRadioCheckedChanged: {
|
||||
if (checked) {
|
||||
|
@ -49,16 +49,14 @@ SettingsContentBase {
|
||||
StatusSettingsLineButton {
|
||||
anchors.leftMargin: 0
|
||||
anchors.rightMargin: 0
|
||||
//% "Search engine used in the address bar"
|
||||
text: qsTrId("search-engine-used-in-the-address-bar")
|
||||
text: qsTr("Search engine used in the address bar")
|
||||
currentValue: {
|
||||
switch (localAccountSensitiveSettings.shouldShowBrowserSearchEngine) {
|
||||
case Constants.browserSearchEngineGoogle: return "Google"
|
||||
case Constants.browserSearchEngineYahoo: return "Yahoo!"
|
||||
case Constants.browserSearchEngineDuckDuckGo: return "DuckDuckGo"
|
||||
case Constants.browserSearchEngineNone:
|
||||
//% "None"
|
||||
default: return qsTrId("none")
|
||||
default: return qsTr("None")
|
||||
}
|
||||
}
|
||||
onClicked: searchEngineModal.createObject(root).open()
|
||||
|
@ -143,8 +143,7 @@ SettingsContentBase {
|
||||
NoFriendsRectangle {
|
||||
anchors.centerIn: parent
|
||||
visible: root.contactsStore.myContactsModel.count === 0
|
||||
//% "You don’t have any contacts yet"
|
||||
text: qsTrId("you-don-t-have-any-contacts-yet")
|
||||
text: qsTr("You don’t have any contacts yet")
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -310,10 +309,8 @@ SettingsContentBase {
|
||||
// TODO: Make ConfirmationDialog a dynamic component on a future refactor
|
||||
ConfirmationDialog {
|
||||
id: removeContactConfirmationDialog
|
||||
//% "Remove contact"
|
||||
header.title: qsTrId("remove-contact")
|
||||
//% "Are you sure you want to remove this contact?"
|
||||
confirmationText: qsTrId("are-you-sure-you-want-to-remove-this-contact-")
|
||||
header.title: qsTr("Remove contact")
|
||||
confirmationText: qsTr("Are you sure you want to remove this contact?")
|
||||
onConfirmButtonClicked: {
|
||||
if (Utils.getContactDetailsAsJson(removeContactConfirmationDialog.value).isContact) {
|
||||
root.contactsStore.removeContact(removeContactConfirmationDialog.value);
|
||||
|
@ -37,16 +37,14 @@ SettingsContentBase {
|
||||
|
||||
StatusBaseText {
|
||||
id: deviceNameLbl
|
||||
//% "Please set a name for your device."
|
||||
text: qsTrId("pairing-please-set-a-name")
|
||||
text: qsTr("Please set a name for your device.")
|
||||
font.pixelSize: 14
|
||||
color: Theme.palette.directColor1
|
||||
}
|
||||
|
||||
Input {
|
||||
id: deviceNameTxt
|
||||
//% "Specify a name"
|
||||
placeholderText: qsTrId("specify-name")
|
||||
placeholderText: qsTr("Specify a name")
|
||||
anchors.top: deviceNameLbl.bottom
|
||||
anchors.topMargin: Style.current.padding
|
||||
}
|
||||
@ -56,8 +54,7 @@ SettingsContentBase {
|
||||
anchors.top: deviceNameTxt.bottom
|
||||
anchors.topMargin: 10
|
||||
anchors.right: deviceNameTxt.right
|
||||
//% "Continue"
|
||||
text: qsTrId("continue")
|
||||
text: qsTr("Continue")
|
||||
enabled: deviceNameTxt.text !== ""
|
||||
onClicked : root.devicesStore.setName(deviceNameTxt.text.trim())
|
||||
}
|
||||
@ -98,8 +95,7 @@ SettingsContentBase {
|
||||
|
||||
StatusBaseText {
|
||||
id: advertiseDeviceTitle
|
||||
//% "Advertise device"
|
||||
text: qsTrId("pair-this-device")
|
||||
text: qsTr("Advertise device")
|
||||
font.pixelSize: 18
|
||||
font.weight: Font.Bold
|
||||
color: Theme.palette.primaryColor1
|
||||
@ -109,8 +105,7 @@ SettingsContentBase {
|
||||
|
||||
StatusBaseText {
|
||||
id: advertiseDeviceDesk
|
||||
//% "Pair your devices to sync contacts and chats between them"
|
||||
text: qsTrId("pair-this-device-description")
|
||||
text: qsTr("Pair your devices to sync contacts and chats between them")
|
||||
font.pixelSize: 14
|
||||
anchors.top: advertiseDeviceTitle.bottom
|
||||
anchors.topMargin: 6
|
||||
@ -129,8 +124,7 @@ SettingsContentBase {
|
||||
StatusBaseText {
|
||||
anchors.top: advertiseDevice.bottom
|
||||
anchors.topMargin: Style.current.padding
|
||||
//% "Learn more"
|
||||
text: qsTrId("learn-more")
|
||||
text: qsTr("Learn more")
|
||||
font.pixelSize: 16
|
||||
color: Theme.palette.primaryColor1
|
||||
anchors.left: parent.left
|
||||
@ -155,8 +149,7 @@ SettingsContentBase {
|
||||
|
||||
StatusBaseText {
|
||||
id: deviceListLbl
|
||||
//% "Paired devices"
|
||||
text: qsTrId("paired-devices")
|
||||
text: qsTr("Paired devices")
|
||||
font.pixelSize: 16
|
||||
font.weight: Font.Bold
|
||||
color: Theme.palette.directColor1
|
||||
@ -188,10 +181,8 @@ SettingsContentBase {
|
||||
id: deviceItemLbl
|
||||
text: {
|
||||
let deviceId = model.installationId.split("-")[0].substr(0, 5)
|
||||
//% "No info"
|
||||
let labelText = `${model.name || qsTrId("pairing-no-info")} ` +
|
||||
//% "you"
|
||||
`(${model.isCurrentDevice ? qsTrId("you") + ", ": ""}${deviceId})`;
|
||||
let labelText = `${model.name || qsTr("No info")} ` +
|
||||
`(${model.isCurrentDevice ? qsTr("you") + ", ": ""}${deviceId})`;
|
||||
return labelText;
|
||||
}
|
||||
elide: Text.ElideRight
|
||||
@ -222,10 +213,8 @@ SettingsContentBase {
|
||||
anchors.horizontalCenter: listView.horizontalCenter
|
||||
|
||||
text: isSyncing ?
|
||||
//% "Syncing..."
|
||||
qsTrId("sync-in-progress") :
|
||||
//% "Sync all devices"
|
||||
qsTrId("sync-all-devices")
|
||||
qsTr("Syncing...") :
|
||||
qsTr("Sync all devices")
|
||||
enabled: !isSyncing
|
||||
onClicked : {
|
||||
isSyncing = true;
|
||||
|
@ -14,8 +14,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: sectionTitle
|
||||
//% "ENS usernames"
|
||||
text: qsTrId("ens-usernames")
|
||||
text: qsTr("ENS usernames")
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 24
|
||||
anchors.top: parent.top
|
||||
@ -50,8 +49,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: title
|
||||
//% "Username added"
|
||||
text: qsTrId("ens-saved-title")
|
||||
text: qsTr("Username added")
|
||||
anchors.top: circle.bottom
|
||||
anchors.topMargin: 24
|
||||
font.weight: Font.Bold
|
||||
@ -65,8 +63,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: subtitle
|
||||
//% "%1 is now connected with your chat key and can be used in Status."
|
||||
text: qsTrId("-1-is-now-connected-with-your-chat-key-and-can-be-used-in-status-").arg(ensUsername)
|
||||
text: qsTr("%1 is now connected with your chat key and can be used in Status.").arg(ensUsername)
|
||||
anchors.top: title.bottom
|
||||
anchors.topMargin: 24
|
||||
font.pixelSize: 14
|
||||
@ -82,8 +79,7 @@ Item {
|
||||
anchors.top: subtitle.bottom
|
||||
anchors.topMargin: Style.current.padding
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
//% "Ok, got it"
|
||||
text: qsTrId("ens-got-it")
|
||||
text: qsTr("Ok, got it")
|
||||
onClicked: okBtnClicked()
|
||||
}
|
||||
}
|
||||
|
@ -14,8 +14,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: sectionTitle
|
||||
//% "ENS usernames"
|
||||
text: qsTrId("ens-usernames")
|
||||
text: qsTr("ENS usernames")
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 24
|
||||
anchors.top: parent.top
|
||||
@ -50,8 +49,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: title
|
||||
//% "Username added"
|
||||
text: qsTrId("ens-saved-title")
|
||||
text: qsTr("Username added")
|
||||
anchors.top: circle.bottom
|
||||
anchors.topMargin: 24
|
||||
font.weight: Font.Bold
|
||||
@ -65,8 +63,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: subtitle
|
||||
//% "%1 will be connected once the transaction is complete."
|
||||
text: qsTrId("-1-will-be-connected-once-the-transaction-is-complete-").arg(ensUsername)
|
||||
text: qsTr("%1 will be connected once the transaction is complete.").arg(ensUsername)
|
||||
anchors.top: title.bottom
|
||||
anchors.topMargin: 24
|
||||
font.pixelSize: 14
|
||||
@ -79,8 +76,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: progress
|
||||
//% "You can follow the progress in the Transaction History section of your wallet."
|
||||
text: qsTrId("ens-username-you-can-follow-progress")
|
||||
text: qsTr("You can follow the progress in the Transaction History section of your wallet.")
|
||||
anchors.top: subtitle.bottom
|
||||
anchors.topMargin: 24
|
||||
font.pixelSize: 12
|
||||
@ -97,8 +93,7 @@ Item {
|
||||
anchors.top: progress.bottom
|
||||
anchors.topMargin: Style.current.padding
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
//% "Ok, got it"
|
||||
text: qsTrId("ens-got-it")
|
||||
text: qsTr("Ok, got it")
|
||||
onClicked: okBtnClicked()
|
||||
}
|
||||
}
|
||||
|
@ -139,7 +139,7 @@ Item {
|
||||
anchors.topMargin: 24
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 24
|
||||
text: qsTrId("Release username")
|
||||
text: qsTr("Release username")
|
||||
onClicked: {
|
||||
Global.openPopup(transactionDialogComponent)
|
||||
}
|
||||
@ -160,8 +160,7 @@ Item {
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: Style.current.padding
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
//% "Back"
|
||||
text: qsTrId("back")
|
||||
text: qsTr("Back")
|
||||
onClicked: backBtnClicked()
|
||||
}
|
||||
}
|
||||
|
@ -29,8 +29,7 @@ Item {
|
||||
property bool isEmoji: false
|
||||
property bool isCurrentUser: false
|
||||
property int contentType: 1
|
||||
//% "Hey"
|
||||
property string message: qsTrId("ens-test-message")
|
||||
property string message: qsTr("Hey")
|
||||
property string authorCurrentMsg: "0"
|
||||
property string authorPrevMsg: "1"
|
||||
property bool isText: true
|
||||
@ -53,8 +52,7 @@ Item {
|
||||
Item {
|
||||
Text {
|
||||
id: usernameTxt
|
||||
//% "(pending)"
|
||||
text: username.substr(0, username.indexOf(".")) + " " + (isPending ? qsTrId("-pending-") : "")
|
||||
text: username.substr(0, username.indexOf(".")) + " " + (isPending ? qsTr("(pending)") : "")
|
||||
color: Style.current.textColor
|
||||
}
|
||||
|
||||
@ -73,8 +71,7 @@ Item {
|
||||
Item {
|
||||
Text {
|
||||
id: usernameTxt
|
||||
//% "(pending)"
|
||||
text: username + " " + (isPending ? qsTrId("-pending-") : "")
|
||||
text: username + " " + (isPending ? qsTr("(pending)") : "")
|
||||
font.pixelSize: 16
|
||||
color: Theme.palette.directColor1
|
||||
anchors.top: parent.top
|
||||
@ -134,8 +131,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: sectionTitle
|
||||
//% "ENS usernames"
|
||||
text: qsTrId("ens-usernames")
|
||||
text: qsTr("ENS usernames")
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 24
|
||||
anchors.top: parent.top
|
||||
@ -163,8 +159,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: usernameText
|
||||
//% "Add username"
|
||||
text: qsTrId("ens-add-username")
|
||||
text: qsTr("Add username")
|
||||
color: Theme.palette.primaryColor1
|
||||
anchors.left: addButton.right
|
||||
anchors.leftMargin: Style.current.padding
|
||||
@ -182,8 +177,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: usernamesLabel
|
||||
//% "Your usernames"
|
||||
text: qsTrId("ens-your-usernames")
|
||||
text: qsTr("Your usernames")
|
||||
anchors.left: parent.left
|
||||
anchors.top: addUsername.bottom
|
||||
anchors.topMargin: 24
|
||||
@ -228,8 +222,7 @@ Item {
|
||||
id: chatSettingsLabel
|
||||
visible: root.ensUsernamesStore.ensUsernamesModel.count > 0 &&
|
||||
root.ensUsernamesStore.numOfPendingEnsUsernames() != root.ensUsernamesStore.ensUsernamesModel.count
|
||||
//% "Chat settings"
|
||||
text: qsTrId("chat-settings")
|
||||
text: qsTr("Chat settings")
|
||||
anchors.left: parent.left
|
||||
anchors.top: ensList.bottom
|
||||
anchors.topMargin: 24
|
||||
@ -249,8 +242,7 @@ Item {
|
||||
StatusBaseText {
|
||||
id: usernameLabel
|
||||
visible: chatSettingsLabel.visible
|
||||
//% "Primary Username"
|
||||
text: qsTrId("primary-username")
|
||||
text: qsTr("Primary Username")
|
||||
font.pixelSize: 14
|
||||
font.weight: Font.Bold
|
||||
color: Theme.palette.directColor1
|
||||
@ -259,8 +251,7 @@ Item {
|
||||
StatusBaseText {
|
||||
id: usernameLabel2
|
||||
visible: chatSettingsLabel.visible
|
||||
//% "None selected"
|
||||
text: root.ensUsernamesStore.preferredUsername || qsTrId("none-selected")
|
||||
text: root.ensUsernamesStore.preferredUsername || qsTr("None selected")
|
||||
anchors.left: usernameLabel.right
|
||||
anchors.leftMargin: Style.current.padding
|
||||
font.pixelSize: 14
|
||||
@ -346,8 +337,7 @@ Item {
|
||||
anchors.top: chatTime.bottom
|
||||
anchors.left: chatImage.left
|
||||
anchors.topMargin: Style.current.padding
|
||||
//% "You’re displaying your ENS username in chats"
|
||||
text: qsTrId("you-re-displaying-your-ens-username-in-chats")
|
||||
text: qsTr("You’re displaying your ENS username in chats")
|
||||
font.pixelSize: 14
|
||||
color: Theme.palette.baseColor1
|
||||
}
|
||||
|
@ -14,8 +14,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: sectionTitle
|
||||
//% "ENS usernames"
|
||||
text: qsTrId("ens-usernames")
|
||||
text: qsTr("ENS usernames")
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: Style.current.bigPadding
|
||||
anchors.top: parent.top
|
||||
@ -50,8 +49,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: title
|
||||
//% "Username added"
|
||||
text: qsTrId("ens-saved-title")
|
||||
text: qsTr("Username added")
|
||||
anchors.top: circle.bottom
|
||||
anchors.topMargin: Style.current.bigPadding
|
||||
font.weight: Font.Bold
|
||||
@ -65,8 +63,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: subtitle
|
||||
//% "Nice! You own %1.stateofus.eth once the transaction is complete."
|
||||
text: qsTrId("nice--you-own--1-stateofus-eth-once-the-transaction-is-complete-").arg(ensUsername)
|
||||
text: qsTr("Nice! You own %1.stateofus.eth once the transaction is complete.").arg(ensUsername)
|
||||
anchors.top: title.bottom
|
||||
anchors.topMargin: 24
|
||||
font.pixelSize: 14
|
||||
@ -79,8 +76,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: progress
|
||||
//% "You can follow the progress in the Transaction History section of your wallet."
|
||||
text: qsTrId("ens-username-you-can-follow-progress")
|
||||
text: qsTr("You can follow the progress in the Transaction History section of your wallet.")
|
||||
anchors.top: subtitle.bottom
|
||||
anchors.topMargin: 24
|
||||
font.pixelSize: 12
|
||||
@ -97,8 +93,7 @@ Item {
|
||||
anchors.top: progress.bottom
|
||||
anchors.topMargin: Style.current.padding
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
//% "Ok, got it"
|
||||
text: qsTrId("ens-got-it")
|
||||
text: qsTr("Ok, got it")
|
||||
onClicked: okBtnClicked()
|
||||
}
|
||||
}
|
||||
|
@ -14,8 +14,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: sectionTitle
|
||||
//% "ENS usernames"
|
||||
text: qsTrId("ens-usernames")
|
||||
text: qsTr("ENS usernames")
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: Style.current.bigPadding
|
||||
anchors.top: parent.top
|
||||
@ -77,8 +76,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: progress
|
||||
//% "You can follow the progress in the Transaction History section of your wallet."
|
||||
text: qsTrId("ens-username-you-can-follow-progress")
|
||||
text: qsTr("You can follow the progress in the Transaction History section of your wallet.")
|
||||
anchors.top: subtitle.bottom
|
||||
anchors.topMargin: 24
|
||||
font.pixelSize: 12
|
||||
@ -95,8 +93,7 @@ Item {
|
||||
anchors.top: progress.bottom
|
||||
anchors.topMargin: Style.current.padding
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
//% "Ok, got it"
|
||||
text: qsTrId("ens-got-it")
|
||||
text: qsTr("Ok, got it")
|
||||
onClicked: okBtnClicked()
|
||||
}
|
||||
}
|
||||
|
@ -38,14 +38,11 @@ Item {
|
||||
valid = false;
|
||||
ensStatus = "";
|
||||
if (ensUsername.length < 4) {
|
||||
//% "At least 4 characters. Latin letters, numbers, and lowercase only."
|
||||
validationMessage = qsTrId("ens-username-hints");
|
||||
validationMessage = qsTr("At least 4 characters. Latin letters, numbers, and lowercase only.");
|
||||
} else if(isStatus && !ensUsername.match(/^[a-z0-9]+$/)){
|
||||
//% "Letters and numbers only."
|
||||
validationMessage = qsTrId("ens-username-invalid");
|
||||
validationMessage = qsTr("Letters and numbers only.");
|
||||
} else if(!isStatus && !ensUsername.endsWith(".eth")){
|
||||
//% "Type the entire username including the custom domain like username.domain.eth"
|
||||
validationMessage = qsTrId("ens-custom-username-hints")
|
||||
validationMessage = qsTr("Type the entire username including the custom domain like username.domain.eth")
|
||||
}
|
||||
return validationMessage === "";
|
||||
}
|
||||
@ -229,8 +226,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
text: !isStatus ?
|
||||
//% "Custom domain"
|
||||
qsTrId("ens-custom-domain")
|
||||
qsTr("Custom domain")
|
||||
:
|
||||
".stateofus.eth"
|
||||
font.weight: Font.Bold
|
||||
@ -241,11 +237,9 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
text: !isStatus ?
|
||||
//% "I want a stateofus.eth domain"
|
||||
qsTrId("ens-want-domain")
|
||||
qsTr("I want a stateofus.eth domain")
|
||||
:
|
||||
//% "I own a name on another domain"
|
||||
qsTrId("ens-want-custom-domain")
|
||||
qsTr("I own a name on another domain")
|
||||
font.pixelSize: 12
|
||||
color: Theme.palette.primaryColor1
|
||||
anchors.right: parent.right
|
||||
|
@ -25,8 +25,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: sectionTitle
|
||||
//% "ENS usernames"
|
||||
text: qsTrId("ens-usernames")
|
||||
text: qsTr("ENS usernames")
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 24
|
||||
anchors.top: parent.top
|
||||
@ -81,8 +80,7 @@ Item {
|
||||
// TODO: Replace with StatusModal
|
||||
ModalPopup {
|
||||
id: popup
|
||||
//% "Terms of name registration"
|
||||
title: qsTrId("ens-terms-header")
|
||||
title: qsTr("Terms of name registration")
|
||||
|
||||
ScrollView {
|
||||
ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
|
||||
@ -98,8 +96,7 @@ Item {
|
||||
|
||||
|
||||
StatusBaseText {
|
||||
//% "Funds are deposited for 1 year. Your SNT will be locked, but not spent."
|
||||
text: qsTrId("ens-terms-point-1")
|
||||
text: qsTr("Funds are deposited for 1 year. Your SNT will be locked, but not spent.")
|
||||
wrapMode: Text.WordWrap
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
@ -107,8 +104,7 @@ Item {
|
||||
}
|
||||
|
||||
StatusBaseText {
|
||||
//% "After 1 year, you can release the name and get your deposit back, or take no action to keep the name."
|
||||
text: qsTrId("ens-terms-point-2")
|
||||
text: qsTr("After 1 year, you can release the name and get your deposit back, or take no action to keep the name.")
|
||||
wrapMode: Text.WordWrap
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
@ -116,8 +112,7 @@ Item {
|
||||
}
|
||||
|
||||
StatusBaseText {
|
||||
//% "If terms of the contract change — e.g. Status makes contract upgrades — user has the right to release the username regardless of time held."
|
||||
text: qsTrId("ens-terms-point-3")
|
||||
text: qsTr("If terms of the contract change — e.g. Status makes contract upgrades — user has the right to release the username regardless of time held.")
|
||||
wrapMode: Text.WordWrap
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
@ -125,8 +120,7 @@ Item {
|
||||
}
|
||||
|
||||
StatusBaseText {
|
||||
//% "The contract controller cannot access your deposited funds. They can only be moved back to the address that sent them."
|
||||
text: qsTrId("ens-terms-point-4")
|
||||
text: qsTr("The contract controller cannot access your deposited funds. They can only be moved back to the address that sent them.")
|
||||
wrapMode: Text.WordWrap
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
@ -134,8 +128,7 @@ Item {
|
||||
}
|
||||
|
||||
StatusBaseText {
|
||||
//% "Your address(es) will be publicly associated with your ENS name."
|
||||
text: qsTrId("ens-terms-point-5")
|
||||
text: qsTr("Your address(es) will be publicly associated with your ENS name.")
|
||||
wrapMode: Text.WordWrap
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
@ -143,8 +136,7 @@ Item {
|
||||
}
|
||||
|
||||
StatusBaseText {
|
||||
//% "Usernames are created as subdomain nodes of stateofus.eth and are subject to the ENS smart contract terms."
|
||||
text: qsTrId("ens-terms-point-6")
|
||||
text: qsTr("Usernames are created as subdomain nodes of stateofus.eth and are subject to the ENS smart contract terms.")
|
||||
wrapMode: Text.WordWrap
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
@ -152,8 +144,7 @@ Item {
|
||||
}
|
||||
|
||||
StatusBaseText {
|
||||
//% "You authorize the contract to transfer SNT on your behalf. This can only occur when you approve a transaction to authorize the transfer."
|
||||
text: qsTrId("ens-terms-point-7")
|
||||
text: qsTr("You authorize the contract to transfer SNT on your behalf. This can only occur when you approve a transaction to authorize the transfer.")
|
||||
wrapMode: Text.WordWrap
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
@ -161,8 +152,7 @@ Item {
|
||||
}
|
||||
|
||||
StatusBaseText {
|
||||
//% "These terms are guaranteed by the smart contract logic at addresses:"
|
||||
text: qsTrId("ens-terms-point-8")
|
||||
text: qsTr("These terms are guaranteed by the smart contract logic at addresses:")
|
||||
wrapMode: Text.WordWrap
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
@ -171,8 +161,7 @@ Item {
|
||||
}
|
||||
|
||||
StatusBaseText {
|
||||
//% "%1 (Status UsernameRegistrar)."
|
||||
text: qsTrId("-1--status-usernameregistrar--").arg(root.ensUsernamesStore.getEnsRegisteredAddress())
|
||||
text: qsTr("%1 (Status UsernameRegistrar).").arg(root.ensUsernamesStore.getEnsRegisteredAddress())
|
||||
wrapMode: Text.WordWrap
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
@ -181,8 +170,7 @@ Item {
|
||||
}
|
||||
|
||||
StatusBaseText {
|
||||
//% "<a href='%1%2'>Look up on Etherscan</a>"
|
||||
text: qsTrId("-a-href---1-2--look-up-on-etherscan--a-")
|
||||
text: qsTr("<a href='%1%2'>Look up on Etherscan</a>")
|
||||
.arg(root.ensUsernamesStore.getEtherscanLink())
|
||||
.arg(root.ensUsernamesStore.getEnsRegisteredAddress())
|
||||
anchors.left: parent.left
|
||||
@ -197,8 +185,7 @@ Item {
|
||||
}
|
||||
|
||||
StatusBaseText {
|
||||
//% "%1 (ENS Registry)."
|
||||
text: qsTrId("-1--ens-registry--").arg(root.ensUsernamesStore.getEnsRegistry())
|
||||
text: qsTr("%1 (ENS Registry).").arg(root.ensUsernamesStore.getEnsRegistry())
|
||||
wrapMode: Text.WordWrap
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
@ -207,8 +194,7 @@ Item {
|
||||
}
|
||||
|
||||
StatusBaseText {
|
||||
//% "<a href='%1%2'>Look up on Etherscan</a>"
|
||||
text: qsTrId("-a-href---1-2--look-up-on-etherscan--a-")
|
||||
text: qsTr("<a href='%1%2'>Look up on Etherscan</a>")
|
||||
.arg(root.ensUsernamesStore.getEtherscanLink())
|
||||
.arg(root.ensUsernamesStore.getEnsRegistry())
|
||||
anchors.left: parent.left
|
||||
@ -279,8 +265,7 @@ Item {
|
||||
|
||||
StatusDescriptionListItem {
|
||||
id: walletAddressLbl
|
||||
//% "Wallet address"
|
||||
title: qsTrId("wallet-address")
|
||||
title: qsTr("Wallet address")
|
||||
subTitle: root.ensUsernamesStore.getWalletDefaultAddress()
|
||||
tooltip.text: qsTr("Copied to clipboard!")
|
||||
icon.name: "copy"
|
||||
@ -294,8 +279,7 @@ Item {
|
||||
|
||||
StatusDescriptionListItem {
|
||||
id: keyLbl
|
||||
//% "Key"
|
||||
title: qsTrId("key")
|
||||
title: qsTr("Key")
|
||||
subTitle: {
|
||||
let pubKey = root.ensUsernamesStore.pubkey;
|
||||
return pubKey.substring(0, 20) + "..." + pubKey.substring(pubKey.length - 20);
|
||||
@ -319,8 +303,7 @@ Item {
|
||||
}
|
||||
|
||||
StatusBaseText {
|
||||
//% "Agree to <a href=\"#\">Terms of name registration.</a> I understand that my wallet address will be publicly connected to my username."
|
||||
text: qsTrId("agree-to--a-href-------terms-of-name-registration---a--i-understand-that-my-wallet-address-will-be-publicly-connected-to-my-username-")
|
||||
text: qsTr("Agree to <a href=\"#\">Terms of name registration.</a> I understand that my wallet address will be publicly connected to my username.")
|
||||
anchors.left: termsAndConditionsCheckbox.right
|
||||
anchors.right: parent.right
|
||||
wrapMode: Text.WordWrap
|
||||
@ -341,8 +324,7 @@ Item {
|
||||
anchors.bottomMargin: Style.current.padding
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: Style.current.padding
|
||||
//% "Back"
|
||||
text: qsTrId("back")
|
||||
text: qsTr("Back")
|
||||
onClicked: backBtnClicked()
|
||||
}
|
||||
|
||||
@ -362,8 +344,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: ensPriceLbl
|
||||
//% "10 SNT"
|
||||
text: qsTrId("ens-10-SNT")
|
||||
text: qsTr("10 SNT")
|
||||
anchors.left: image1.right
|
||||
anchors.leftMargin: 5
|
||||
anchors.top: image1.top
|
||||
@ -372,8 +353,7 @@ Item {
|
||||
}
|
||||
|
||||
StatusBaseText {
|
||||
//% "Deposit"
|
||||
text: qsTrId("ens-deposit")
|
||||
text: qsTr("Deposit")
|
||||
anchors.left: image1.right
|
||||
anchors.leftMargin: 5
|
||||
anchors.topMargin: 5
|
||||
@ -390,10 +370,8 @@ Item {
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: Style.current.padding
|
||||
text: parseFloat(root.ensUsernamesStore.getSntBalance()) < 10 ?
|
||||
//% "Not enough SNT"
|
||||
qsTrId("not-enough-snt") :
|
||||
//% "Register"
|
||||
qsTrId("ens-register")
|
||||
qsTr("Not enough SNT") :
|
||||
qsTr("Register")
|
||||
enabled: parseFloat(root.ensUsernamesStore.getSntBalance()) >= 10 && termsAndConditionsCheckbox.checked
|
||||
onClicked: transactionDialog.open()
|
||||
}
|
||||
|
@ -336,19 +336,15 @@ Item {
|
||||
switch(trxType){
|
||||
case "RegisterENS":
|
||||
title = !success ?
|
||||
//% "ENS Registration failed"
|
||||
qsTrId("ens-registration-failed")
|
||||
qsTr("ENS Registration failed")
|
||||
:
|
||||
//% "ENS Registration completed"
|
||||
qsTrId("ens-registration-completed");
|
||||
qsTr("ENS Registration completed");
|
||||
break;
|
||||
case "SetPubKey":
|
||||
title = !success ?
|
||||
//% "Updating ENS pubkey failed"
|
||||
qsTrId("updating-ens-pubkey-failed")
|
||||
qsTr("Updating ENS pubkey failed")
|
||||
:
|
||||
//% "Updating ENS pubkey completed"
|
||||
qsTrId("updating-ens-pubkey-completed");
|
||||
qsTr("Updating ENS pubkey completed");
|
||||
break;
|
||||
default:
|
||||
console.error("unknown transaction type: ", trxType);
|
||||
|
@ -43,8 +43,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: title
|
||||
//% "Get a universal username"
|
||||
text: qsTrId("ens-get-name")
|
||||
text: qsTr("Get a universal username")
|
||||
anchors.top: image.bottom
|
||||
anchors.topMargin: 24
|
||||
font.weight: Font.Bold
|
||||
@ -58,8 +57,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: subtitle
|
||||
//% "ENS names transform those crazy-long addresses into unique usernames."
|
||||
text: qsTrId("ens-welcome-hints")
|
||||
text: qsTr("ENS names transform those crazy-long addresses into unique usernames.")
|
||||
anchors.top: title.bottom
|
||||
anchors.topMargin: 24
|
||||
font.pixelSize: 14
|
||||
@ -84,8 +82,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: element1Title
|
||||
//% "Customize your chat name"
|
||||
text: qsTrId("ens-welcome-point-customize-title")
|
||||
text: qsTr("Customize your chat name")
|
||||
anchors.left: element1Number.right
|
||||
anchors.leftMargin: 24
|
||||
anchors.top: subtitle.bottom
|
||||
@ -99,8 +96,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: element1Subtitle
|
||||
//% "An ENS name can replace your random 3-word name in chat. Be @yourname instead of %1."
|
||||
text: qsTrId("an-ens-name-can-replace-your-random-3-word-name-in-chat--be--yourname-instead-of--1-").arg(root.username)
|
||||
text: qsTr("An ENS name can replace your random 3-word name in chat. Be @yourname instead of %1.").arg(root.username)
|
||||
anchors.left: element1Number.right
|
||||
anchors.leftMargin: 24
|
||||
anchors.top: element1Title.bottom
|
||||
@ -125,8 +121,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: element2Title
|
||||
//% "Simplify your ETH address"
|
||||
text: qsTrId("ens-welcome-point-simplify-title")
|
||||
text: qsTr("Simplify your ETH address")
|
||||
anchors.left: element2Number.right
|
||||
anchors.leftMargin: 24
|
||||
anchors.top: element1Subtitle.bottom
|
||||
@ -140,8 +135,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: element2Subtitle
|
||||
//% "You can receive funds to your easy-to-share ENS name rather than your hexadecimal hash (0x...)."
|
||||
text: qsTrId("ens-welcome-point-simplify")
|
||||
text: qsTr("You can receive funds to your easy-to-share ENS name rather than your hexadecimal hash (0x...).")
|
||||
anchors.left: element2Number.right
|
||||
anchors.leftMargin: 24
|
||||
anchors.top: element2Title.bottom
|
||||
@ -166,8 +160,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: element3Title
|
||||
//% "Receive transactions in chat"
|
||||
text: qsTrId("ens-welcome-point-receive-title")
|
||||
text: qsTr("Receive transactions in chat")
|
||||
anchors.left: element3Number.right
|
||||
anchors.leftMargin: 24
|
||||
anchors.top: element2Subtitle.bottom
|
||||
@ -181,8 +174,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: element3Subtitle
|
||||
//% "Others can send you funds via chat in one simple step."
|
||||
text: qsTrId("ens-welcome-point-receive")
|
||||
text: qsTr("Others can send you funds via chat in one simple step.")
|
||||
anchors.left: element3Number.right
|
||||
anchors.leftMargin: 24
|
||||
anchors.top: element3Title.bottom
|
||||
@ -207,8 +199,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: element4Title
|
||||
//% "10 SNT to register"
|
||||
text: qsTrId("ens-welcome-point-register-title")
|
||||
text: qsTr("10 SNT to register")
|
||||
anchors.left: element4Number.right
|
||||
anchors.leftMargin: 24
|
||||
anchors.top: element3Subtitle.bottom
|
||||
@ -222,8 +213,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: element4Subtitle
|
||||
//% "Register once to keep the name forever. After 1 year you can release the name and get your SNT back."
|
||||
text: qsTrId("ens-welcome-point-register")
|
||||
text: qsTr("Register once to keep the name forever. After 1 year you can release the name and get your SNT back.")
|
||||
anchors.left: element4Number.right
|
||||
anchors.leftMargin: 24
|
||||
anchors.top: element4Title.bottom
|
||||
@ -249,8 +239,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: element5Title
|
||||
//% "Already own a username?"
|
||||
text: qsTrId("ens-welcome-point-verify-title")
|
||||
text: qsTr("Already own a username?")
|
||||
anchors.left: element5Number.right
|
||||
anchors.leftMargin: 24
|
||||
anchors.top: element4Subtitle.bottom
|
||||
@ -264,8 +253,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: element5Subtitle
|
||||
//% "You can verify and add any usernames you own in the next steps."
|
||||
text: qsTrId("ens-welcome-point-verify")
|
||||
text: qsTr("You can verify and add any usernames you own in the next steps.")
|
||||
anchors.left: element5Number.right
|
||||
anchors.leftMargin: 24
|
||||
anchors.top: element5Title.bottom
|
||||
@ -278,8 +266,7 @@ Item {
|
||||
|
||||
StatusBaseText {
|
||||
id: poweredBy
|
||||
//% "Powered by Ethereum Name Services"
|
||||
text: qsTrId("ens-powered-by")
|
||||
text: qsTr("Powered by Ethereum Name Services")
|
||||
anchors.left: element5Number.right
|
||||
anchors.leftMargin: 24
|
||||
anchors.top: element5Subtitle.bottom
|
||||
@ -297,11 +284,9 @@ Item {
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: Style.current.padding
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
//% "Start"
|
||||
text: enabled ?
|
||||
qsTrId("start") :
|
||||
//% "Only available on Mainnet"
|
||||
qsTrId("ens-network-restriction")
|
||||
qsTr("Start") :
|
||||
qsTr("Only available on Mainnet")
|
||||
onClicked: startBtnClicked()
|
||||
}
|
||||
}
|
||||
|
@ -49,8 +49,7 @@ SettingsContentBase {
|
||||
Layout.fillWidth: true
|
||||
implicitHeight: 64
|
||||
|
||||
//% "Allow new contact requests"
|
||||
title: qsTrId("allow-new-contact-requests")
|
||||
title: qsTr("Allow new contact requests")
|
||||
|
||||
components: [
|
||||
StatusSwitch {
|
||||
|
@ -34,7 +34,7 @@ ColumnLayout {
|
||||
Layout.alignment: Qt.AlignTop
|
||||
Layout.topMargin: 10
|
||||
checked: localAccountSensitiveSettings.useBrowserEthereumExplorer === Constants.browserEthereumExplorerNone
|
||||
text: qsTrId("none")
|
||||
text: qsTr("none")
|
||||
onCheckedChanged: {
|
||||
if (checked) {
|
||||
localAccountSensitiveSettings.useBrowserEthereumExplorer = Constants.browserEthereumExplorerNone
|
||||
|
@ -15,7 +15,7 @@ ColumnLayout {
|
||||
spacing: 0
|
||||
|
||||
StatusBaseText {
|
||||
text: qsTrId("homepage")
|
||||
text: qsTr("homepage")
|
||||
font.pixelSize: 15
|
||||
color: Theme.palette.directColor1
|
||||
}
|
||||
|
@ -42,8 +42,7 @@ Rectangle {
|
||||
|
||||
StyledText {
|
||||
visible: collectiblesQty >= Constants.maxTokens
|
||||
//% "Maximum number of collectibles to display reached"
|
||||
text: qsTrId("maximum-number-of-collectibles-to-display-reached")
|
||||
text: qsTr("Maximum number of collectibles to display reached")
|
||||
font.pixelSize: 17
|
||||
color: Style.current.secondaryText
|
||||
anchors.left: collectibleName.right
|
||||
|
@ -24,7 +24,6 @@ Item {
|
||||
border.width: 1
|
||||
border.color: Theme.palette.baseColor2
|
||||
color: Theme.palette.statusListItem.backgroundColor
|
||||
//% "All networks"
|
||||
title: qsTr("All networks")
|
||||
components:[
|
||||
StatusIcon {
|
||||
|
@ -48,16 +48,14 @@ ScrollView {
|
||||
|
||||
StyledText {
|
||||
id: somethingWentWrongText
|
||||
//% "Something went wrong"
|
||||
text: qsTrId("something-went-wrong")
|
||||
text: qsTr("Something went wrong")
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
color: Style.current.secondaryText
|
||||
font.pixelSize: 13
|
||||
}
|
||||
|
||||
StatusButton {
|
||||
//% "Reload"
|
||||
text: qsTrId("reload")
|
||||
text: qsTr("Reload")
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.top: somethingWentWrongText.bottom
|
||||
anchors.topMargin: Style.current.halfPadding
|
||||
|
@ -26,8 +26,7 @@ Item {
|
||||
|
||||
TextWithLabel {
|
||||
id: idText
|
||||
//% "ID"
|
||||
label: qsTrId("id")
|
||||
label: qsTr("ID")
|
||||
text: root.collectibleId
|
||||
anchors.top: collectibleImage.bottom
|
||||
anchors.topMargin:0
|
||||
@ -37,8 +36,7 @@ Item {
|
||||
TextWithLabel {
|
||||
visible: !!root.collectibleDescription
|
||||
id: descriptionText
|
||||
//% "Description"
|
||||
label: qsTrId("description")
|
||||
label: qsTr("Description")
|
||||
text: root.collectibleDescription
|
||||
anchors.top: idText.bottom
|
||||
anchors.topMargin: 0
|
||||
|
@ -24,11 +24,9 @@ ColumnLayout {
|
||||
|
||||
function validateMe() {
|
||||
if (privateKey.text === "") {
|
||||
//% "You need to enter a private key"
|
||||
_internal.errorString = qsTrId("you-need-to-enter-a-private-key")
|
||||
_internal.errorString = qsTr("You need to enter a private key")
|
||||
} else if (!Utils.isPrivateKey(privateKey.text)) {
|
||||
//% "Enter a valid private key (64 characters hexadecimal string)"
|
||||
_internal.errorString = qsTrId("enter-a-valid-private-key-(64-characters-hexadecimal-string)")
|
||||
_internal.errorString = qsTr("Enter a valid private key (64 characters hexadecimal string)")
|
||||
} else {
|
||||
_internal.errorString = ""
|
||||
}
|
||||
@ -47,27 +45,23 @@ ColumnLayout {
|
||||
StatusInput {
|
||||
id: privateKey
|
||||
|
||||
//% "Private key"
|
||||
label: qsTrId("private-key")
|
||||
label: qsTr("Private key")
|
||||
charLimit: _internal.privateKeyCharLimit
|
||||
input.multiline: true
|
||||
input.minimumHeight: 80
|
||||
input.maximumHeight: 108
|
||||
//% "Paste the contents of your private key"
|
||||
input.placeholderText: qsTrId("paste-the-contents-of-your-private-key")
|
||||
input.placeholderText: qsTr("Paste the contents of your private key")
|
||||
errorMessage: _internal.errorString
|
||||
validators: [
|
||||
StatusMinLengthValidator {
|
||||
minLength: 1
|
||||
//% "You need to enter a private key"
|
||||
errorMessage: qsTrId("you-need-to-enter-a-private-key")
|
||||
errorMessage: qsTr("You need to enter a private key")
|
||||
},
|
||||
StatusValidator {
|
||||
property var validate: function (value) {
|
||||
return Utils.isPrivateKey(value)
|
||||
}
|
||||
//% "Enter a valid private key (64 characters hexadecimal string)"
|
||||
errorMessage: qsTrId("enter-a-valid-private-key-(64-characters-hexadecimal-string)")
|
||||
errorMessage: qsTr("Enter a valid private key (64 characters hexadecimal string)")
|
||||
}
|
||||
]
|
||||
onTextChanged: {
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user