fix(@desktop/translation): update translation

fixes #2993
This commit is contained in:
Anthony Laibe 2021-07-22 17:03:59 +02:00 committed by Iuri Matias
parent 7a4ced53c5
commit 54570bce6e
51 changed files with 5577 additions and 5488 deletions

View File

@ -42,7 +42,8 @@ Item {
StatusToolTip { StatusToolTip {
visible: markReadBtn.hovered visible: markReadBtn.hovered
text: qsTr("Mark as Read") //% "Mark as Read"
text: qsTrId("mark-as-read")
orientation: "left" orientation: "left"
x: - width - Style.current.padding x: - width - Style.current.padding
y: markReadBtn.height / 2 - height / 2 + 4 y: markReadBtn.height / 2 - height / 2 + 4

View File

@ -18,9 +18,12 @@ Item {
StyledText { StyledText {
id: contactText1 id: contactText1
text: qsTr("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 ? qsTr("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")
// qsTr("Waiting for %1 to accept your request").arg(Utils.removeStatusEns(chatsModel.channelView.activeChannel.name)) //% "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))
anchors.top: waveImg.bottom anchors.top: waveImg.bottom
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
wrapMode: Text.WordWrap wrapMode: Text.WordWrap

View File

@ -21,7 +21,8 @@ StatusModal {
searchBox.forceActiveFocus(Qt.MouseFocusReason) searchBox.forceActiveFocus(Qt.MouseFocusReason)
} }
header.title: qsTr("Communities") //% "Communities"
header.title: qsTrId("communities")
headerActionButton: StatusFlatRoundButton { headerActionButton: StatusFlatRoundButton {
type: StatusFlatRoundButton.Type.Secondary type: StatusFlatRoundButton.Type.Secondary
width: 32 width: 32
@ -34,7 +35,8 @@ StatusModal {
id: contextMenu id: contextMenu
StatusMenuItem { StatusMenuItem {
icon.name: "download" icon.name: "download"
text: qsTr("Access existing community") //% "Access existing community"
text: qsTrId("access-existing-community")
onTriggered: openPopup(importCommunitiesPopupComponent) onTriggered: openPopup(importCommunitiesPopupComponent)
} }
} }
@ -113,7 +115,8 @@ StatusModal {
height: visible ? implicitHeight : 0 height: visible ? implicitHeight : 0
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
title: name title: name
subTitle: qsTr("%1 members").arg(nbMembers) //% "%1 members"
subTitle: qsTrId("-1-members").arg(nbMembers)
image.source: thumbnailImage image.source: thumbnailImage
icon.isLetterIdenticon: !!!thumbnailImage icon.isLetterIdenticon: !!!thumbnailImage
icon.background.color: communityColor icon.background.color: communityColor
@ -134,7 +137,8 @@ StatusModal {
rightButtons: [ rightButtons: [
StatusButton { StatusButton {
text: qsTr("Create a community") //% "Create a community"
text: qsTrId("create-community")
onClicked: { onClicked: {
openPopup(createCommunitiesPopupComponent) openPopup(createCommunitiesPopupComponent)
popup.close() popup.close()

View File

@ -32,20 +32,24 @@ StatusModal {
let subTitle = "" let subTitle = ""
switch(access) { switch(access) {
case Constants.communityChatPublicAccess: case Constants.communityChatPublicAccess:
subTitle = qsTr("Public community"); //% "Public community"
subTitle = qsTrId("public-community");
break; break;
case Constants.communityChatInvitationOnlyAccess: case Constants.communityChatInvitationOnlyAccess:
subTitle = qsTr("Invitation only community"); //% "Invitation only community"
subTitle = qsTrId("invitation-only-community");
break; break;
case Constants.communityChatOnRequestAccess: case Constants.communityChatOnRequestAccess:
subTitle = qsTr("On request community"); //% "On request community"
subTitle = qsTrId("on-request-community");
break; break;
default: default:
subTitle = qsTrId("Unknown community"); subTitle = qsTrId("Unknown community");
break; break;
} }
if (ensOnly) { if (ensOnly) {
subTitle += qsTr(" - ENS only") //% " - ENS only"
subTitle += qsTrId("---ens-only")
} }
return subTitle return subTitle
} }
@ -79,7 +83,8 @@ StatusModal {
} }
StatusBaseText { StatusBaseText {
text: qsTr("%1 members").arg(nbMembers) //% "%1 members"
text: qsTrId("-1-members").arg(nbMembers)
font.pixelSize: 15 font.pixelSize: 15
font.weight: Font.Medium font.weight: Font.Medium
color: Theme.palette.directColor1 color: Theme.palette.directColor1
@ -99,7 +104,8 @@ StatusModal {
width: parent.width - 32 width: parent.width - 32
height: 34 height: 34
StatusBaseText { StatusBaseText {
text: qsTr("Channels") //% "Channels"
text: qsTrId("channels")
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.bottomMargin: 4 anchors.bottomMargin: 4
font.pixelSize: 15 font.pixelSize: 15
@ -154,20 +160,26 @@ StatusModal {
} }
text: { text: {
if (popup.ensOnly && !profileModel.profile.ensVerified) { if (popup.ensOnly && !profileModel.profile.ensVerified) {
return qsTr("Membership requires an ENS username") //% "Membership requires an ENS username"
return qsTrId("membership-requires-an-ens-username")
} }
if (popup.canJoin) { if (popup.canJoin) {
return qsTr("Join %1").arg(popup.name); //% "Join %1"
return qsTrId("join---1-").arg(popup.name);
} }
if (isPendingRequest) { if (isPendingRequest) {
//% "Pending" //% "Pending"
return qsTrId("invite-chat-pending") return qsTrId("invite-chat-pending")
} }
switch(popup.access) { switch(popup.access) {
case Constants.communityChatPublicAccess: return qsTr("Join %1").arg(popup.name); //% "Join %1"
case Constants.communityChatInvitationOnlyAccess: return qsTr("You need to be invited"); case Constants.communityChatPublicAccess: return qsTrId("join---1-").arg(popup.name);
case Constants.communityChatOnRequestAccess: return qsTr("Request to join %1").arg(popup.name); //% "You need to be invited"
default: return qsTr("Unknown community"); case Constants.communityChatInvitationOnlyAccess: return qsTrId("you-need-to-be-invited");
//% "Request to join %1"
case Constants.communityChatOnRequestAccess: return qsTrId("request-to-join---1-").arg(popup.name);
//% "Unknown community"
default: return qsTrId("unknown-community");
} }
} }
enabled: { enabled: {

View File

@ -83,7 +83,8 @@ StatusModal {
id: membersList id: membersList
CommunityProfilePopupMembersList { CommunityProfilePopupMembersList {
width: stack.width width: stack.width
headerTitle: qsTr("Members") //% "Members"
headerTitle: qsTrId("members-label")
headerSubtitle: popup.community.nbMembers.toString() headerSubtitle: popup.community.nbMembers.toString()
community: popup.community community: popup.community
onInviteButtonClicked: popup.contentComponent.push(inviteFriendsView) onInviteButtonClicked: popup.contentComponent.push(inviteFriendsView)
@ -94,7 +95,8 @@ StatusModal {
id: inviteFriendsView id: inviteFriendsView
CommunityProfilePopupInviteFriendsView { CommunityProfilePopupInviteFriendsView {
width: stack.width width: stack.width
headerTitle: qsTr("Invite friends") //% "Invite friends"
headerTitle: qsTrId("invite-friends")
community: popup.community community: popup.community
contactListSearch.chatKey.text: "" contactListSearch.chatKey.text: ""
@ -124,7 +126,8 @@ StatusModal {
rightButtons: [ rightButtons: [
StatusButton { StatusButton {
text: qsTr("Invite") //% "Invite"
text: qsTrId("community-invite-title")
visible: popup.contentComponent.depth > 2 visible: popup.contentComponent.depth > 2
height: !visible ? 0 : implicitHeight height: !visible ? 0 : implicitHeight
enabled: popup.contentComponent.currentItem.contactListSearch !== undefined && popup.contentComponent.currentItem.contactListSearch.pubKeys.length > 0 enabled: popup.contentComponent.currentItem.contactListSearch !== undefined && popup.contentComponent.currentItem.contactListSearch.pubKeys.length > 0

View File

@ -30,9 +30,11 @@ Column {
} }
StatusDescriptionListItem { StatusDescriptionListItem {
title: qsTr("Share community") //% "Share community"
title: qsTrId("share-community")
subTitle: `${Constants.communityLinkPrefix}${root.community && root.community.id.substring(0, 4)}...${root.community && root.community.id.substring(root.community.id.length -2)}` 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("Copy to clipboard") //% "Copy to clipboard"
tooltip.text: qsTrId("copy-to-clipboard")
icon.name: "copy" icon.name: "copy"
iconButton.onClicked: { iconButton.onClicked: {
let link = `${Constants.communityLinkPrefix}${root.community.id}` let link = `${Constants.communityLinkPrefix}${root.community.id}`

View File

@ -46,7 +46,8 @@ Item {
id: inviteButton id: inviteButton
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
visible: root.community.admin || root.community.isAdmin visible: root.community.admin || root.community.isAdmin
title: qsTr("Invite People") //% "Invite People"
title: qsTrId("invite-people")
icon.name: "share-ios" icon.name: "share-ios"
type: StatusListItem.Type.Secondary type: StatusListItem.Type.Secondary
sensor.onClicked: root.inviteButtonClicked() sensor.onClicked: root.inviteButtonClicked()

View File

@ -46,9 +46,11 @@ Column {
} }
StatusDescriptionListItem { StatusDescriptionListItem {
title: qsTr("Share community") //% "Share community"
title: qsTrId("share-community")
subTitle: `${Constants.communityLinkPrefix}${root.community.id.substring(0, 4)}...${root.community.id.substring(root.community.id.length -2)}` subTitle: `${Constants.communityLinkPrefix}${root.community.id.substring(0, 4)}...${root.community.id.substring(root.community.id.length -2)}`
tooltip.text: qsTr("Copy to clipboard") //% "Copy to clipboard"
tooltip.text: qsTrId("copy-to-clipboard")
icon.name: "copy" icon.name: "copy"
iconButton.onClicked: { iconButton.onClicked: {
let link = `${Constants.communityLinkPrefix}${root.community.id}` let link = `${Constants.communityLinkPrefix}${root.community.id}`
@ -111,7 +113,8 @@ Column {
StatusListItem { StatusListItem {
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
visible: root.community.isAdmin || root.community.admin visible: root.community.isAdmin || root.community.admin
title: qsTr("Edit community") //% "Edit community"
title: qsTrId("edit-community")
icon.name: "edit" icon.name: "edit"
type: StatusListItem.Type.Secondary type: StatusListItem.Type.Secondary
sensor.onClicked: root.editButtonClicked() sensor.onClicked: root.editButtonClicked()
@ -120,7 +123,8 @@ Column {
StatusListItem { StatusListItem {
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
visible: root.community.isAdmin || root.community.admin visible: root.community.isAdmin || root.community.admin
title: qsTr("Transfer ownership") //% "Transfer ownership"
title: qsTrId("transfer-ownership")
icon.name: "exchange" icon.name: "exchange"
type: StatusListItem.Type.Secondary type: StatusListItem.Type.Secondary
sensor.onClicked: root.transferOwnershipButtonClicked() sensor.onClicked: root.transferOwnershipButtonClicked()

View File

@ -31,7 +31,8 @@ StatusModal {
property Component pinnedMessagesPopupComponent property Component pinnedMessagesPopupComponent
header.title: qsTr("New channel") //% "New channel"
header.title: qsTrId("create-channel-title")
onOpened: { onOpened: {
contentComponent.channelName.text = "" contentComponent.channelName.text = ""

View File

@ -110,7 +110,8 @@ StatusModal {
onTextEdited: { onTextEdited: {
validationError = Utils.validateAndReturnError(text, validationError = Utils.validateAndReturnError(text,
communityNameValidator, communityNameValidator,
qsTr("community name"), //% "community name"
qsTrId("community-name"),
maxCommunityNameLength) maxCommunityNameLength)
} }
} }
@ -126,7 +127,8 @@ StatusModal {
StyledTextArea { StyledTextArea {
id: descriptionTextArea id: descriptionTextArea
label: qsTr("Description") //% "Description"
label: qsTrId("description")
//% "What your community is about" //% "What your community is about"
placeholderText: qsTrId("what-your-community-is-about") placeholderText: qsTrId("what-your-community-is-about")
@ -142,7 +144,8 @@ StatusModal {
validationError = Utils.validateAndReturnError(text, validationError = Utils.validateAndReturnError(text,
communityDescValidator, communityDescValidator,
qsTr("community decription"), //% "community decription"
qsTrId("community-decription"),
maxCommunityDescLength) maxCommunityDescLength)
} }
} }
@ -273,7 +276,8 @@ StatusModal {
} }
StatusBaseText { StatusBaseText {
text: qsTr("Community colour") //% "Community colour"
text: qsTrId("community-color")
font.pixelSize: 13 font.pixelSize: 13
color: Theme.palette.directColor1 color: Theme.palette.directColor1
anchors.left: parent.left anchors.left: parent.left
@ -297,7 +301,8 @@ StatusModal {
contentColor: colorDialog.colorSelected ? Theme.palette.indirectColor1 : Theme.palette.baseColor1 contentColor: colorDialog.colorSelected ? Theme.palette.indirectColor1 : Theme.palette.baseColor1
text: colorDialog.colorSelected ? text: colorDialog.colorSelected ?
colorDialog.color.toString().toUpperCase() : colorDialog.color.toString().toUpperCase() :
qsTr("Pick a color") //% "Pick a color"
qsTrId("pick-a-color")
onClicked: colorDialog.open(); onClicked: colorDialog.open();
onTextChanged: { onTextChanged: {
@ -333,7 +338,8 @@ StatusModal {
StatusListItem { StatusListItem {
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
visible: !isEdit visible: !isEdit
title: qsTr("Membership requirement") //% "Membership requirement"
title: qsTrId("membership-title")
label: { label: {
switch (membershipRequirementSettingPopup.checkedMembership) { switch (membershipRequirementSettingPopup.checkedMembership) {
//% "Require invite from another member" //% "Require invite from another member"
@ -361,7 +367,8 @@ StatusModal {
font.pixelSize: 13 font.pixelSize: 13
color: Theme.palette.baseColor1 color: Theme.palette.baseColor1
width: parent.width * 0.78 width: parent.width * 0.78
text: qsTr("You can require new members to meet certain criteria before they can join. This can be changed at any time") //% "You can require new members to meet certain criteria before they can join. This can be changed at any time"
text: qsTrId("membership-none-placeholder")
anchors.left: parent.left anchors.left: parent.left
anchors.leftMargin: 16 anchors.leftMargin: 16
} }

View File

@ -17,7 +17,8 @@ StatusModal {
contentComponent.errorText.text = "" contentComponent.errorText.text = ""
} }
header.title: qsTr("Membership requests") //% "Membership requests"
header.title: qsTrId("membership-requests")
header.subTitle: contentComponent.membershipRequestList.count header.subTitle: contentComponent.membershipRequestList.count
content: Column { content: Column {

View File

@ -14,7 +14,8 @@ StatusModal {
id: popup id: popup
header.title: qsTr("Membership requirement") //% "Membership requirement"
header.title: qsTrId("membership-title")
ButtonGroup { ButtonGroup {
id: membershipRequirementGroup id: membershipRequirementGroup
@ -31,7 +32,8 @@ StatusModal {
StatusListItem { StatusListItem {
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
title: qsTr("Require approval") //% "Require approval"
title: qsTrId("membership-approval")
sensor.onClicked: requestAccessRadio.checked = true sensor.onClicked: requestAccessRadio.checked = true
components: [ components: [
StatusRadioButton { StatusRadioButton {
@ -52,14 +54,16 @@ StatusModal {
font.pixelSize: 13 font.pixelSize: 13
color: Theme.palette.baseColor1 color: Theme.palette.baseColor1
width: parent.width * 0.78 width: parent.width * 0.78
text: qsTr("Your community is free to join, but new members are required to be approved by the community creator first") //% "Your community is free to join, but new members are required to be approved by the community creator first"
text: qsTrId("membership-approval-description")
anchors.left: parent.left anchors.left: parent.left
anchors.leftMargin: 32 anchors.leftMargin: 32
} }
StatusListItem { StatusListItem {
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
title: qsTr("Require invite from another member") //% "Require invite from another member"
title: qsTrId("membership-invite")
sensor.onClicked: inviteOnlyRadio.checked = true sensor.onClicked: inviteOnlyRadio.checked = true
components: [ components: [
StatusRadioButton { StatusRadioButton {
@ -80,7 +84,8 @@ StatusModal {
font.pixelSize: 13 font.pixelSize: 13
color: Theme.palette.baseColor1 color: Theme.palette.baseColor1
width: parent.width * 0.78 width: parent.width * 0.78
text: qsTr("Your community can only be joined by an invitation from existing community members") //% "Your community can only be joined by an invitation from existing community members"
text: qsTrId("membership-invite-description")
anchors.left: parent.left anchors.left: parent.left
anchors.leftMargin: 32 anchors.leftMargin: 32
} }
@ -88,7 +93,8 @@ StatusModal {
/* TODO: add functionality to configure this setting */ /* TODO: add functionality to configure this setting */
/* StatusListItem { */ /* StatusListItem { */
/* anchors.horizontalCenter: parent.horizontalCenter */ /* anchors.horizontalCenter: parent.horizontalCenter */
/* title: qsTr("Require ENS username") */ //% "Require ENS username"
/* title: qsTrId("membership-ens") */
/* components: [ */ /* components: [ */
/* StatusRadioButton { */ /* StatusRadioButton { */
/* checked: //... */ /* checked: //... */
@ -104,14 +110,16 @@ StatusModal {
/* font.pixelSize: 13 */ /* font.pixelSize: 13 */
/* color: Theme.palette.baseColor1 */ /* color: Theme.palette.baseColor1 */
/* width: parent.width * 0.78 */ /* width: parent.width * 0.78 */
/* text: qsTr("Your community requires an ENS username to be able to join") */ //% "Your community requires an ENS username to be able to join"
/* text: qsTrId("membership-ens-description") */
/* anchors.left: parent.left */ /* anchors.left: parent.left */
/* anchors.leftMargin: 32 */ /* anchors.leftMargin: 32 */
/* } */ /* } */
StatusListItem { StatusListItem {
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
title: qsTr("No requirement") //% "No requirement"
title: qsTrId("membership-free")
sensor.onClicked: publicRadio.checked = true sensor.onClicked: publicRadio.checked = true
components: [ components: [
StatusRadioButton { StatusRadioButton {
@ -132,7 +140,8 @@ StatusModal {
font.pixelSize: 13 font.pixelSize: 13
color: Theme.palette.baseColor1 color: Theme.palette.baseColor1
width: parent.width * 0.78 width: parent.width * 0.78
text: qsTr("Your community is free for anyone to join") //% "Your community is free for anyone to join"
text: qsTrId("membership-free-description")
anchors.left: parent.left anchors.left: parent.left
anchors.leftMargin: 32 anchors.leftMargin: 32
} }

View File

@ -14,7 +14,8 @@ StatusModal {
property string privateKey property string privateKey
header.title: qsTr("Transfer ownership") //% "Transfer ownership"
header.title: qsTrId("transfer-ownership")
onClosed: { onClosed: {
popup.destroy(); popup.destroy();
@ -38,7 +39,8 @@ StatusModal {
id: pKeyInput id: pKeyInput
width: parent.width width: parent.width
label: qsTr("Community private key") //% "Community private key"
label: qsTrId("community-key")
text: elidedPkey text: elidedPkey
textField.onFocusChanged: { textField.onFocusChanged: {
if (textField.focus) { if (textField.focus) {
@ -54,7 +56,8 @@ StatusModal {
StatusBaseText { StatusBaseText {
id: infoText1 id: infoText1
text: qsTr("You should keep it safe and only share it with people you trust to take ownership of your community") //% "You should keep it safe and only share it with people you trust to take ownership of your community"
text: qsTrId("you-should-keep-it-safe-and-only-share-it-with-people-you-trust-to-take-ownership-of-your-community")
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
width: parent.width width: parent.width
font.pixelSize: 13 font.pixelSize: 13
@ -63,7 +66,8 @@ StatusModal {
StatusBaseText { StatusBaseText {
id: infoText2 id: infoText2
text: qsTr("You can also use this key to import your community on another device") //% "You can also use this key to import your community on another device"
text: qsTrId("you-can-also-use-this-key-to-import-your-community-on-another-device")
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
width: parent.width width: parent.width
font.pixelSize: 13 font.pixelSize: 13

View File

@ -56,7 +56,8 @@ StatusPopupMenu {
Action { Action {
enabled: profileModel.fleets.fleet == Constants.waku_prod || profileModel.fleets.fleet == Constants.waku_test enabled: profileModel.fleets.fleet == Constants.waku_prod || profileModel.fleets.fleet == Constants.waku_test
text: qsTr("Test WakuV2 - requestAllHistoricMessages") //% "Test WakuV2 - requestAllHistoricMessages"
text: qsTrId("test-wakuv2---requestallhistoricmessages")
onTriggered: chatsModel.requestAllHistoricMessages() onTriggered: chatsModel.requestAllHistoricMessages()
} }

View File

@ -152,7 +152,8 @@ Item {
} }
StatusSectionHeadline { StatusSectionHeadline {
text: qsTr("Bloom filter level") //% "Bloom filter level"
text: qsTrId("bloom-filter-level")
topPadding: Style.current.bigPadding topPadding: Style.current.bigPadding
bottomPadding: Style.current.padding bottomPadding: Style.current.padding
} }
@ -168,7 +169,8 @@ Item {
id: confirmDialog id: confirmDialog
//% "Warning!" //% "Warning!"
title: qsTrId("close-app-title") title: qsTrId("close-app-title")
confirmationText: qsTr("The account will be logged out. When you login again, the selected mode will be enabled") //% "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")
onConfirmButtonClicked: { onConfirmButtonClicked: {
nodeModel.setBloomLevel(mode) nodeModel.setBloomLevel(mode)
} }
@ -191,7 +193,8 @@ Item {
id: btnBloomLight id: btnBloomLight
buttonGroup: bloomGroup buttonGroup: bloomGroup
checkedByDefault: nodeModel.bloomLevel == "light" checkedByDefault: nodeModel.bloomLevel == "light"
btnText: qsTr("Light Node") //% "Light Node"
btnText: qsTrId("light-node")
onToggled: { onToggled: {
if (nodeModel.bloomLevel != "light") { if (nodeModel.bloomLevel != "light") {
openPopup(bloomConfirmationDialogComponent, {mode: "light"}) openPopup(bloomConfirmationDialogComponent, {mode: "light"})
@ -205,7 +208,8 @@ Item {
id: btnBloomNormal id: btnBloomNormal
buttonGroup: bloomGroup buttonGroup: bloomGroup
checkedByDefault: nodeModel.bloomLevel == "normal" checkedByDefault: nodeModel.bloomLevel == "normal"
btnText: qsTr("Normal") //% "Normal"
btnText: qsTrId("normal")
onToggled: { onToggled: {
if (nodeModel.bloomLevel != "normal") { if (nodeModel.bloomLevel != "normal") {
openPopup(bloomConfirmationDialogComponent, {mode: "normal"}) openPopup(bloomConfirmationDialogComponent, {mode: "normal"})
@ -219,7 +223,8 @@ Item {
id: btnBloomFull id: btnBloomFull
buttonGroup: bloomGroup buttonGroup: bloomGroup
checkedByDefault: nodeModel.bloomLevel == "full" checkedByDefault: nodeModel.bloomLevel == "full"
btnText: qsTr("Full Node") //% "Full Node"
btnText: qsTrId("full-node")
onToggled: { onToggled: {
if (nodeModel.bloomLevel != "full") { if (nodeModel.bloomLevel != "full") {
openPopup(bloomConfirmationDialogComponent, {mode: "full"}) openPopup(bloomConfirmationDialogComponent, {mode: "full"})

View File

@ -8,7 +8,8 @@ import "../../../../shared/status"
Rectangle { Rectangle {
property var buttonGroup property var buttonGroup
property string btnText: qsTr("TODO") //% "TODO"
property string btnText: qsTrId("todo")
property bool hovered: false property bool hovered: false
property bool checkedByDefault: false property bool checkedByDefault: false

View File

@ -179,7 +179,8 @@ StatusAppLayout {
StatusMenuItem { StatusMenuItem {
enabled: chatsModel.communities.observedCommunity.admin enabled: chatsModel.communities.observedCommunity.admin
text: qsTr("Edit Community") //% "Edit Community"
text: qsTrId("edit-community")
icon.name: "edit" icon.name: "edit"
onTriggered: openPopup(editCommunityPopup, {community: chatsModel.communities.observedCommunity}) onTriggered: openPopup(editCommunityPopup, {community: chatsModel.communities.observedCommunity})
} }

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -251,17 +251,21 @@ QtObject {
const diffMs = now - messageDate const diffMs = now - messageDate
const diffMin = Math.floor(diffMs / 60000) const diffMin = Math.floor(diffMs / 60000)
if (diffMin < 1) { if (diffMin < 1) {
return qsTr("NOW") //% "NOW"
return qsTrId("now")
} }
const diffHour = Math.floor(diffMin / 60) const diffHour = Math.floor(diffMin / 60)
if (diffHour < 1) { if (diffHour < 1) {
return qsTr("%1M").arg(diffMin) //% "%1M"
return qsTrId("-1m").arg(diffMin)
} }
const diffDay = Math.floor(diffHour / 24) const diffDay = Math.floor(diffHour / 24)
if (diffDay < 1) { if (diffDay < 1) {
return qsTr("%1H").arg(diffHour) //% "%1H"
return qsTrId("-1h").arg(diffHour)
} }
return qsTr("%1D").arg(diffDay) //% "%1D"
return qsTrId("-1d").arg(diffDay)
} }
function formatShortDateStr(longStr) { function formatShortDateStr(longStr) {
@ -426,7 +430,8 @@ QtObject {
const pubKey = link.substring(indexAdminPk + 2, indexChatName - 1) const pubKey = link.substring(indexAdminPk + 2, indexChatName - 1)
const chatName = link.substring(indexChatName + 3, indexChatId - 1) const chatName = link.substring(indexChatName + 3, indexChatId - 1)
const chatId = link.substring(indexChatId + 3, link.length) const chatId = link.substring(indexChatId + 3, link.length)
result.title = qsTr("Join the %1 group chat").arg(chatName) //% "Join the %1 group chat"
result.title = qsTrId("join-the--1-group-chat").arg(chatName)
result.callback = function () { result.callback = function () {
chatsModel.groups.joinGroupChatFromInvitation(chatName, chatId, pubKey); chatsModel.groups.joinGroupChatFromInvitation(chatName, chatId, pubKey);
} }
@ -439,7 +444,8 @@ QtObject {
index = link.lastIndexOf("/") index = link.lastIndexOf("/")
if (index > -1) { if (index > -1) {
const chatId = link.substring(index + 1) const chatId = link.substring(index + 1)
result.title = qsTr("Join the %1 public channel").arg(chatId) //% "Join the %1 public channel"
result.title = qsTrId("join-the--1-public-channel").arg(chatId)
result.callback = function () { result.callback = function () {
chatsModel.channelView.joinPublicChat(chatId); chatsModel.channelView.joinPublicChat(chatId);
} }
@ -590,7 +596,8 @@ QtObject {
let errMsg = "" let errMsg = ""
if(validation & Utils.Validate.NoEmpty && str === "") { if(validation & Utils.Validate.NoEmpty && str === "") {
errMsg = qsTr("You need to enter a %1").arg(fieldName) //% "You need to enter a %1"
errMsg = qsTrId("you-need-to-enter-a--1").arg(fieldName)
} }
if(validation & Utils.Validate.TextLength && str.length > limit) { if(validation & Utils.Validate.TextLength && str.length > limit) {

View File

@ -95,9 +95,9 @@ Item {
id: buttonAdvanced id: buttonAdvanced
anchors.verticalCenter: prioritytext.verticalCenter anchors.verticalCenter: prioritytext.verticalCenter
anchors.right: parent.right anchors.right: parent.right
text: advancedMode ? text: advancedMode ?
//% "Use suggestions" //% "Use suggestions"
qsTrId("use-suggestions") : qsTrId("use-suggestions") :
//% "Use custom" //% "Use custom"
qsTrId("use-custom") qsTrId("use-custom")
flat: true flat: true