mirror of
https://github.com/status-im/status-desktop.git
synced 2025-01-21 20:09:37 +00:00
parent
7a4ced53c5
commit
54570bce6e
@ -42,7 +42,8 @@ Item {
|
||||
|
||||
StatusToolTip {
|
||||
visible: markReadBtn.hovered
|
||||
text: qsTr("Mark as Read")
|
||||
//% "Mark as Read"
|
||||
text: qsTrId("mark-as-read")
|
||||
orientation: "left"
|
||||
x: - width - Style.current.padding
|
||||
y: markReadBtn.height / 2 - height / 2 + 4
|
||||
|
@ -18,9 +18,12 @@ Item {
|
||||
|
||||
StyledText {
|
||||
id: contactText1
|
||||
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))
|
||||
//% "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))
|
||||
anchors.top: waveImg.bottom
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
wrapMode: Text.WordWrap
|
||||
|
@ -21,7 +21,8 @@ StatusModal {
|
||||
searchBox.forceActiveFocus(Qt.MouseFocusReason)
|
||||
}
|
||||
|
||||
header.title: qsTr("Communities")
|
||||
//% "Communities"
|
||||
header.title: qsTrId("communities")
|
||||
headerActionButton: StatusFlatRoundButton {
|
||||
type: StatusFlatRoundButton.Type.Secondary
|
||||
width: 32
|
||||
@ -34,7 +35,8 @@ StatusModal {
|
||||
id: contextMenu
|
||||
StatusMenuItem {
|
||||
icon.name: "download"
|
||||
text: qsTr("Access existing community")
|
||||
//% "Access existing community"
|
||||
text: qsTrId("access-existing-community")
|
||||
onTriggered: openPopup(importCommunitiesPopupComponent)
|
||||
}
|
||||
}
|
||||
@ -113,7 +115,8 @@ StatusModal {
|
||||
height: visible ? implicitHeight : 0
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
title: name
|
||||
subTitle: qsTr("%1 members").arg(nbMembers)
|
||||
//% "%1 members"
|
||||
subTitle: qsTrId("-1-members").arg(nbMembers)
|
||||
image.source: thumbnailImage
|
||||
icon.isLetterIdenticon: !!!thumbnailImage
|
||||
icon.background.color: communityColor
|
||||
@ -134,7 +137,8 @@ StatusModal {
|
||||
|
||||
rightButtons: [
|
||||
StatusButton {
|
||||
text: qsTr("Create a community")
|
||||
//% "Create a community"
|
||||
text: qsTrId("create-community")
|
||||
onClicked: {
|
||||
openPopup(createCommunitiesPopupComponent)
|
||||
popup.close()
|
||||
|
@ -32,20 +32,24 @@ StatusModal {
|
||||
let subTitle = ""
|
||||
switch(access) {
|
||||
case Constants.communityChatPublicAccess:
|
||||
subTitle = qsTr("Public community");
|
||||
//% "Public community"
|
||||
subTitle = qsTrId("public-community");
|
||||
break;
|
||||
case Constants.communityChatInvitationOnlyAccess:
|
||||
subTitle = qsTr("Invitation only community");
|
||||
//% "Invitation only community"
|
||||
subTitle = qsTrId("invitation-only-community");
|
||||
break;
|
||||
case Constants.communityChatOnRequestAccess:
|
||||
subTitle = qsTr("On request community");
|
||||
//% "On request community"
|
||||
subTitle = qsTrId("on-request-community");
|
||||
break;
|
||||
default:
|
||||
subTitle = qsTrId("Unknown community");
|
||||
break;
|
||||
}
|
||||
if (ensOnly) {
|
||||
subTitle += qsTr(" - ENS only")
|
||||
//% " - ENS only"
|
||||
subTitle += qsTrId("---ens-only")
|
||||
}
|
||||
return subTitle
|
||||
}
|
||||
@ -79,7 +83,8 @@ StatusModal {
|
||||
}
|
||||
|
||||
StatusBaseText {
|
||||
text: qsTr("%1 members").arg(nbMembers)
|
||||
//% "%1 members"
|
||||
text: qsTrId("-1-members").arg(nbMembers)
|
||||
font.pixelSize: 15
|
||||
font.weight: Font.Medium
|
||||
color: Theme.palette.directColor1
|
||||
@ -99,7 +104,8 @@ StatusModal {
|
||||
width: parent.width - 32
|
||||
height: 34
|
||||
StatusBaseText {
|
||||
text: qsTr("Channels")
|
||||
//% "Channels"
|
||||
text: qsTrId("channels")
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 4
|
||||
font.pixelSize: 15
|
||||
@ -154,20 +160,26 @@ StatusModal {
|
||||
}
|
||||
text: {
|
||||
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) {
|
||||
return qsTr("Join ‘%1’").arg(popup.name);
|
||||
//% "Join ‘%1’"
|
||||
return qsTrId("join---1-").arg(popup.name);
|
||||
}
|
||||
if (isPendingRequest) {
|
||||
//% "Pending"
|
||||
return qsTrId("invite-chat-pending")
|
||||
}
|
||||
switch(popup.access) {
|
||||
case Constants.communityChatPublicAccess: return qsTr("Join ‘%1’").arg(popup.name);
|
||||
case Constants.communityChatInvitationOnlyAccess: return qsTr("You need to be invited");
|
||||
case Constants.communityChatOnRequestAccess: return qsTr("Request to join ‘%1’").arg(popup.name);
|
||||
default: return qsTr("Unknown community");
|
||||
//% "Join ‘%1’"
|
||||
case Constants.communityChatPublicAccess: return qsTrId("join---1-").arg(popup.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(popup.name);
|
||||
//% "Unknown community"
|
||||
default: return qsTrId("unknown-community");
|
||||
}
|
||||
}
|
||||
enabled: {
|
||||
|
@ -83,7 +83,8 @@ StatusModal {
|
||||
id: membersList
|
||||
CommunityProfilePopupMembersList {
|
||||
width: stack.width
|
||||
headerTitle: qsTr("Members")
|
||||
//% "Members"
|
||||
headerTitle: qsTrId("members-label")
|
||||
headerSubtitle: popup.community.nbMembers.toString()
|
||||
community: popup.community
|
||||
onInviteButtonClicked: popup.contentComponent.push(inviteFriendsView)
|
||||
@ -94,7 +95,8 @@ StatusModal {
|
||||
id: inviteFriendsView
|
||||
CommunityProfilePopupInviteFriendsView {
|
||||
width: stack.width
|
||||
headerTitle: qsTr("Invite friends")
|
||||
//% "Invite friends"
|
||||
headerTitle: qsTrId("invite-friends")
|
||||
community: popup.community
|
||||
|
||||
contactListSearch.chatKey.text: ""
|
||||
@ -124,7 +126,8 @@ StatusModal {
|
||||
|
||||
rightButtons: [
|
||||
StatusButton {
|
||||
text: qsTr("Invite")
|
||||
//% "Invite"
|
||||
text: qsTrId("community-invite-title")
|
||||
visible: popup.contentComponent.depth > 2
|
||||
height: !visible ? 0 : implicitHeight
|
||||
enabled: popup.contentComponent.currentItem.contactListSearch !== undefined && popup.contentComponent.currentItem.contactListSearch.pubKeys.length > 0
|
||||
|
@ -30,9 +30,11 @@ Column {
|
||||
}
|
||||
|
||||
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)}`
|
||||
tooltip.text: qsTr("Copy to clipboard")
|
||||
//% "Copy to clipboard"
|
||||
tooltip.text: qsTrId("copy-to-clipboard")
|
||||
icon.name: "copy"
|
||||
iconButton.onClicked: {
|
||||
let link = `${Constants.communityLinkPrefix}${root.community.id}`
|
||||
|
@ -46,7 +46,8 @@ Item {
|
||||
id: inviteButton
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
visible: root.community.admin || root.community.isAdmin
|
||||
title: qsTr("Invite People")
|
||||
//% "Invite People"
|
||||
title: qsTrId("invite-people")
|
||||
icon.name: "share-ios"
|
||||
type: StatusListItem.Type.Secondary
|
||||
sensor.onClicked: root.inviteButtonClicked()
|
||||
|
@ -46,9 +46,11 @@ Column {
|
||||
}
|
||||
|
||||
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)}`
|
||||
tooltip.text: qsTr("Copy to clipboard")
|
||||
//% "Copy to clipboard"
|
||||
tooltip.text: qsTrId("copy-to-clipboard")
|
||||
icon.name: "copy"
|
||||
iconButton.onClicked: {
|
||||
let link = `${Constants.communityLinkPrefix}${root.community.id}`
|
||||
@ -111,7 +113,8 @@ Column {
|
||||
StatusListItem {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
visible: root.community.isAdmin || root.community.admin
|
||||
title: qsTr("Edit community")
|
||||
//% "Edit community"
|
||||
title: qsTrId("edit-community")
|
||||
icon.name: "edit"
|
||||
type: StatusListItem.Type.Secondary
|
||||
sensor.onClicked: root.editButtonClicked()
|
||||
@ -120,7 +123,8 @@ Column {
|
||||
StatusListItem {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
visible: root.community.isAdmin || root.community.admin
|
||||
title: qsTr("Transfer ownership")
|
||||
//% "Transfer ownership"
|
||||
title: qsTrId("transfer-ownership")
|
||||
icon.name: "exchange"
|
||||
type: StatusListItem.Type.Secondary
|
||||
sensor.onClicked: root.transferOwnershipButtonClicked()
|
||||
|
@ -31,7 +31,8 @@ StatusModal {
|
||||
|
||||
property Component pinnedMessagesPopupComponent
|
||||
|
||||
header.title: qsTr("New channel")
|
||||
//% "New channel"
|
||||
header.title: qsTrId("create-channel-title")
|
||||
|
||||
onOpened: {
|
||||
contentComponent.channelName.text = ""
|
||||
|
@ -110,7 +110,8 @@ StatusModal {
|
||||
onTextEdited: {
|
||||
validationError = Utils.validateAndReturnError(text,
|
||||
communityNameValidator,
|
||||
qsTr("community name"),
|
||||
//% "community name"
|
||||
qsTrId("community-name"),
|
||||
maxCommunityNameLength)
|
||||
}
|
||||
}
|
||||
@ -126,7 +127,8 @@ StatusModal {
|
||||
|
||||
StyledTextArea {
|
||||
id: descriptionTextArea
|
||||
label: qsTr("Description")
|
||||
//% "Description"
|
||||
label: qsTrId("description")
|
||||
//% "What your community is about"
|
||||
placeholderText: qsTrId("what-your-community-is-about")
|
||||
|
||||
@ -142,7 +144,8 @@ StatusModal {
|
||||
|
||||
validationError = Utils.validateAndReturnError(text,
|
||||
communityDescValidator,
|
||||
qsTr("community decription"),
|
||||
//% "community decription"
|
||||
qsTrId("community-decription"),
|
||||
maxCommunityDescLength)
|
||||
}
|
||||
}
|
||||
@ -273,7 +276,8 @@ StatusModal {
|
||||
}
|
||||
|
||||
StatusBaseText {
|
||||
text: qsTr("Community colour")
|
||||
//% "Community colour"
|
||||
text: qsTrId("community-color")
|
||||
font.pixelSize: 13
|
||||
color: Theme.palette.directColor1
|
||||
anchors.left: parent.left
|
||||
@ -297,7 +301,8 @@ StatusModal {
|
||||
contentColor: colorDialog.colorSelected ? Theme.palette.indirectColor1 : Theme.palette.baseColor1
|
||||
text: colorDialog.colorSelected ?
|
||||
colorDialog.color.toString().toUpperCase() :
|
||||
qsTr("Pick a color")
|
||||
//% "Pick a color"
|
||||
qsTrId("pick-a-color")
|
||||
|
||||
onClicked: colorDialog.open();
|
||||
onTextChanged: {
|
||||
@ -333,7 +338,8 @@ StatusModal {
|
||||
StatusListItem {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
visible: !isEdit
|
||||
title: qsTr("Membership requirement")
|
||||
//% "Membership requirement"
|
||||
title: qsTrId("membership-title")
|
||||
label: {
|
||||
switch (membershipRequirementSettingPopup.checkedMembership) {
|
||||
//% "Require invite from another member"
|
||||
@ -361,7 +367,8 @@ StatusModal {
|
||||
font.pixelSize: 13
|
||||
color: Theme.palette.baseColor1
|
||||
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.leftMargin: 16
|
||||
}
|
||||
|
@ -17,7 +17,8 @@ StatusModal {
|
||||
contentComponent.errorText.text = ""
|
||||
}
|
||||
|
||||
header.title: qsTr("Membership requests")
|
||||
//% "Membership requests"
|
||||
header.title: qsTrId("membership-requests")
|
||||
header.subTitle: contentComponent.membershipRequestList.count
|
||||
|
||||
content: Column {
|
||||
|
@ -14,7 +14,8 @@ StatusModal {
|
||||
|
||||
id: popup
|
||||
|
||||
header.title: qsTr("Membership requirement")
|
||||
//% "Membership requirement"
|
||||
header.title: qsTrId("membership-title")
|
||||
|
||||
ButtonGroup {
|
||||
id: membershipRequirementGroup
|
||||
@ -31,7 +32,8 @@ StatusModal {
|
||||
|
||||
StatusListItem {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
title: qsTr("Require approval")
|
||||
//% "Require approval"
|
||||
title: qsTrId("membership-approval")
|
||||
sensor.onClicked: requestAccessRadio.checked = true
|
||||
components: [
|
||||
StatusRadioButton {
|
||||
@ -52,14 +54,16 @@ StatusModal {
|
||||
font.pixelSize: 13
|
||||
color: Theme.palette.baseColor1
|
||||
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.leftMargin: 32
|
||||
}
|
||||
|
||||
StatusListItem {
|
||||
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
|
||||
components: [
|
||||
StatusRadioButton {
|
||||
@ -80,7 +84,8 @@ StatusModal {
|
||||
font.pixelSize: 13
|
||||
color: Theme.palette.baseColor1
|
||||
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.leftMargin: 32
|
||||
}
|
||||
@ -88,7 +93,8 @@ StatusModal {
|
||||
/* TODO: add functionality to configure this setting */
|
||||
/* StatusListItem { */
|
||||
/* anchors.horizontalCenter: parent.horizontalCenter */
|
||||
/* title: qsTr("Require ENS username") */
|
||||
//% "Require ENS username"
|
||||
/* title: qsTrId("membership-ens") */
|
||||
/* components: [ */
|
||||
/* StatusRadioButton { */
|
||||
/* checked: //... */
|
||||
@ -104,14 +110,16 @@ StatusModal {
|
||||
/* font.pixelSize: 13 */
|
||||
/* color: Theme.palette.baseColor1 */
|
||||
/* 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.leftMargin: 32 */
|
||||
/* } */
|
||||
|
||||
StatusListItem {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
title: qsTr("No requirement")
|
||||
//% "No requirement"
|
||||
title: qsTrId("membership-free")
|
||||
sensor.onClicked: publicRadio.checked = true
|
||||
components: [
|
||||
StatusRadioButton {
|
||||
@ -132,7 +140,8 @@ StatusModal {
|
||||
font.pixelSize: 13
|
||||
color: Theme.palette.baseColor1
|
||||
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.leftMargin: 32
|
||||
}
|
||||
|
@ -14,7 +14,8 @@ StatusModal {
|
||||
|
||||
property string privateKey
|
||||
|
||||
header.title: qsTr("Transfer ownership")
|
||||
//% "Transfer ownership"
|
||||
header.title: qsTrId("transfer-ownership")
|
||||
|
||||
onClosed: {
|
||||
popup.destroy();
|
||||
@ -38,7 +39,8 @@ StatusModal {
|
||||
id: pKeyInput
|
||||
width: parent.width
|
||||
|
||||
label: qsTr("Community private key")
|
||||
//% "Community private key"
|
||||
label: qsTrId("community-key")
|
||||
text: elidedPkey
|
||||
textField.onFocusChanged: {
|
||||
if (textField.focus) {
|
||||
@ -54,7 +56,8 @@ StatusModal {
|
||||
|
||||
StatusBaseText {
|
||||
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
|
||||
width: parent.width
|
||||
font.pixelSize: 13
|
||||
@ -63,7 +66,8 @@ StatusModal {
|
||||
|
||||
StatusBaseText {
|
||||
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
|
||||
width: parent.width
|
||||
font.pixelSize: 13
|
||||
|
@ -56,7 +56,8 @@ StatusPopupMenu {
|
||||
|
||||
Action {
|
||||
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()
|
||||
}
|
||||
|
||||
|
@ -152,7 +152,8 @@ Item {
|
||||
}
|
||||
|
||||
StatusSectionHeadline {
|
||||
text: qsTr("Bloom filter level")
|
||||
//% "Bloom filter level"
|
||||
text: qsTrId("bloom-filter-level")
|
||||
topPadding: Style.current.bigPadding
|
||||
bottomPadding: Style.current.padding
|
||||
}
|
||||
@ -168,7 +169,8 @@ Item {
|
||||
id: confirmDialog
|
||||
//% "Warning!"
|
||||
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: {
|
||||
nodeModel.setBloomLevel(mode)
|
||||
}
|
||||
@ -191,7 +193,8 @@ Item {
|
||||
id: btnBloomLight
|
||||
buttonGroup: bloomGroup
|
||||
checkedByDefault: nodeModel.bloomLevel == "light"
|
||||
btnText: qsTr("Light Node")
|
||||
//% "Light Node"
|
||||
btnText: qsTrId("light-node")
|
||||
onToggled: {
|
||||
if (nodeModel.bloomLevel != "light") {
|
||||
openPopup(bloomConfirmationDialogComponent, {mode: "light"})
|
||||
@ -205,7 +208,8 @@ Item {
|
||||
id: btnBloomNormal
|
||||
buttonGroup: bloomGroup
|
||||
checkedByDefault: nodeModel.bloomLevel == "normal"
|
||||
btnText: qsTr("Normal")
|
||||
//% "Normal"
|
||||
btnText: qsTrId("normal")
|
||||
onToggled: {
|
||||
if (nodeModel.bloomLevel != "normal") {
|
||||
openPopup(bloomConfirmationDialogComponent, {mode: "normal"})
|
||||
@ -219,7 +223,8 @@ Item {
|
||||
id: btnBloomFull
|
||||
buttonGroup: bloomGroup
|
||||
checkedByDefault: nodeModel.bloomLevel == "full"
|
||||
btnText: qsTr("Full Node")
|
||||
//% "Full Node"
|
||||
btnText: qsTrId("full-node")
|
||||
onToggled: {
|
||||
if (nodeModel.bloomLevel != "full") {
|
||||
openPopup(bloomConfirmationDialogComponent, {mode: "full"})
|
||||
|
@ -8,7 +8,8 @@ import "../../../../shared/status"
|
||||
|
||||
Rectangle {
|
||||
property var buttonGroup
|
||||
property string btnText: qsTr("TODO")
|
||||
//% "TODO"
|
||||
property string btnText: qsTrId("todo")
|
||||
property bool hovered: false
|
||||
property bool checkedByDefault: false
|
||||
|
||||
|
@ -179,7 +179,8 @@ StatusAppLayout {
|
||||
|
||||
StatusMenuItem {
|
||||
enabled: chatsModel.communities.observedCommunity.admin
|
||||
text: qsTr("Edit Community")
|
||||
//% "Edit Community"
|
||||
text: qsTrId("edit-community")
|
||||
icon.name: "edit"
|
||||
onTriggered: openPopup(editCommunityPopup, {community: chatsModel.communities.observedCommunity})
|
||||
}
|
||||
|
BIN
ui/i18n/base.qm
BIN
ui/i18n/base.qm
Binary file not shown.
696
ui/i18n/base.ts
696
ui/i18n/base.ts
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
@ -251,17 +251,21 @@ QtObject {
|
||||
const diffMs = now - messageDate
|
||||
const diffMin = Math.floor(diffMs / 60000)
|
||||
if (diffMin < 1) {
|
||||
return qsTr("NOW")
|
||||
//% "NOW"
|
||||
return qsTrId("now")
|
||||
}
|
||||
const diffHour = Math.floor(diffMin / 60)
|
||||
if (diffHour < 1) {
|
||||
return qsTr("%1M").arg(diffMin)
|
||||
//% "%1M"
|
||||
return qsTrId("-1m").arg(diffMin)
|
||||
}
|
||||
const diffDay = Math.floor(diffHour / 24)
|
||||
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) {
|
||||
@ -426,7 +430,8 @@ 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)
|
||||
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 () {
|
||||
chatsModel.groups.joinGroupChatFromInvitation(chatName, chatId, pubKey);
|
||||
}
|
||||
@ -439,7 +444,8 @@ QtObject {
|
||||
index = link.lastIndexOf("/")
|
||||
if (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 () {
|
||||
chatsModel.channelView.joinPublicChat(chatId);
|
||||
}
|
||||
@ -590,7 +596,8 @@ QtObject {
|
||||
let errMsg = ""
|
||||
|
||||
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) {
|
||||
|
@ -95,9 +95,9 @@ Item {
|
||||
id: buttonAdvanced
|
||||
anchors.verticalCenter: prioritytext.verticalCenter
|
||||
anchors.right: parent.right
|
||||
text: advancedMode ?
|
||||
text: advancedMode ?
|
||||
//% "Use suggestions"
|
||||
qsTrId("use-suggestions") :
|
||||
qsTrId("use-suggestions") :
|
||||
//% "Use custom"
|
||||
qsTrId("use-custom")
|
||||
flat: true
|
||||
|
Loading…
x
Reference in New Issue
Block a user