chore(translations): transform qsTrId to qsTr

issue: #4544
This commit is contained in:
Patryk Osmaczko 2022-04-04 13:26:30 +02:00 committed by osmaczko
parent 757a05900f
commit e0a5afebee
180 changed files with 865 additions and 1732 deletions

View File

@ -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();

View File

@ -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)
}

View File

@ -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

View File

@ -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";
}

View File

@ -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

View File

@ -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
}
}

View File

@ -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: {

View File

@ -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();

View File

@ -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()
}

View File

@ -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")
}
}

View File

@ -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()

View File

@ -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

View File

@ -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();

View File

@ -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;

View File

@ -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

View File

@ -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();
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)
}

View File

@ -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"

View File

@ -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:") */

View File

@ -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

View File

@ -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

View File

@ -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()

View File

@ -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
}
}

View File

@ -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()
}

View File

@ -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()
}
]

View File

@ -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: {

View File

@ -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
}

View File

@ -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")
}
}

View File

@ -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) }
}
]

View File

@ -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()

View File

@ -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
}

View File

@ -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

View File

@ -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 wont 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 wont 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
}

View File

@ -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
}

View File

@ -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)
}

View File

@ -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 {

View File

@ -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;

View File

@ -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);
// }

View File

@ -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};`+

View File

@ -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

View File

@ -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

View File

@ -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 ?

View File

@ -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
}
}

View File

@ -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) {

View File

@ -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 wont 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 wont 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
}

View File

@ -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)

View File

@ -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

View File

@ -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()
}

View File

@ -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()

View File

@ -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()

View File

@ -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: {

View File

@ -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: {

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -52,7 +52,6 @@ Page {
StyledText {
id: txtTitle1
//% "Get your keys"
text: qsTr("Welcome to Status")
anchors.topMargin: Style.current.padding
font.bold: true

View File

@ -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

View File

@ -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)
}

View File

@ -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,

View File

@ -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

View File

@ -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: {

View File

@ -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: {

View File

@ -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]

View File

@ -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 wont 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 wont 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

View File

@ -12,8 +12,7 @@ import "../controls"
// TODO: replace with StatusModal
ModalPopup {
id: popup
//% "Fleet"
title: qsTrId("fleet")
title: qsTr("Fleet")
property var advancedStore

View File

@ -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

View File

@ -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

View File

@ -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: {

View File

@ -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();
}

View File

@ -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

View File

@ -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

View File

@ -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 = ""

View File

@ -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) {

View File

@ -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()

View File

@ -143,8 +143,7 @@ SettingsContentBase {
NoFriendsRectangle {
anchors.centerIn: parent
visible: root.contactsStore.myContactsModel.count === 0
//% "You dont have any contacts yet"
text: qsTrId("you-don-t-have-any-contacts-yet")
text: qsTr("You dont 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);

View File

@ -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;

View File

@ -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()
}
}

View File

@ -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()
}
}

View File

@ -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()
}
}

View File

@ -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
//% "Youre displaying your ENS username in chats"
text: qsTrId("you-re-displaying-your-ens-username-in-chats")
text: qsTr("Youre displaying your ENS username in chats")
font.pixelSize: 14
color: Theme.palette.baseColor1
}

View File

@ -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()
}
}

View File

@ -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()
}
}

View File

@ -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

View File

@ -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()
}

View File

@ -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);

View File

@ -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()
}
}

View File

@ -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 {

View File

@ -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

View File

@ -15,7 +15,7 @@ ColumnLayout {
spacing: 0
StatusBaseText {
text: qsTrId("homepage")
text: qsTr("homepage")
font.pixelSize: 15
color: Theme.palette.directColor1
}

View File

@ -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

View File

@ -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 {

View File

@ -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

View File

@ -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

View File

@ -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