@ -41,9 +41,14 @@ Abbreviated version of a nostr public key.</note>
<trans-unit id="%@ %@" xml:space="preserve">
<trans-unit id="%@ %@" xml:space="preserve">
<source>%@ %@</source>
<source>%@ %@</source>
<target>%@ %@</target>
<target>%@ %@</target>
<note>Sentence composed of 2 variables to describe how many reposts. In source English, the first variable is the number of reposts, and the second variable is 'Repost' or 'Reposts'.
<note>Sentence composed of 2 variables to describe how many tip payments there are on a post. In source English, the first variable is the number of tip payments, and the second variable is 'Tip' or 'Tips'.
Sentence composed of 2 variables to describe how many profiles a user is following. In source English, the first variable is the number of profiles being followed, and the second variable is 'Following'.</note>
Sentence composed of 2 variables to describe how many profiles a user is following. In source English, the first variable is the number of profiles being followed, and the second variable is 'Following'.</note>
</trans-unit>
</trans-unit>
<trans-unit id="%@ has been blocked" xml:space="preserve">
<source>%@ has been blocked</source>
<target>%@ has been blocked</target>
<note>Alert message that informs a user was blocked.</note>
</trans-unit>
<trans-unit id="%@. Creating an account doesn't require a phone number, email or name. Get started right away with zero friction." xml:space="preserve">
<trans-unit id="%@. Creating an account doesn't require a phone number, email or name. Get started right away with zero friction." xml:space="preserve">
<source>%@. Creating an account doesn't require a phone number, email or name. Get started right away with zero friction.</source>
<source>%@. Creating an account doesn't require a phone number, email or name. Get started right away with zero friction.</source>
<target>%@. Creating an account doesn't require a phone number, email or name. Get started right away with zero friction.</target>
<target>%@. Creating an account doesn't require a phone number, email or name. Get started right away with zero friction.</target>
@ -62,7 +67,7 @@ Sentence composed of 2 variables to describe how many profiles a user is followi
<trans-unit id="%lld" xml:space="preserve">
<trans-unit id="%lld" xml:space="preserve">
<source>%lld</source>
<source>%lld</source>
<target>%lld</target>
<target>%lld</target>
<note>Number of reposts.
<note>Number of tip payments on a post.
Number of profiles a user is following.</note>
Number of profiles a user is following.</note>
</trans-unit>
</trans-unit>
<trans-unit id="%lld/%lld" xml:space="preserve">
<trans-unit id="%lld/%lld" xml:space="preserve">
@ -115,11 +120,21 @@ Number of profiles a user is following.</note>
<target>Absolute Boss</target>
<target>Absolute Boss</target>
<note>Placeholder text for About Me description.</note>
<note>Placeholder text for About Me description.</note>
</trans-unit>
</trans-unit>
<trans-unit id="Accept" xml:space="preserve">
<source>Accept</source>
<target>Accept</target>
<note>Button to accept the end user license agreement before being allowed into the app.</note>
</trans-unit>
<trans-unit id="Account ID" xml:space="preserve">
<trans-unit id="Account ID" xml:space="preserve">
<source>Account ID</source>
<source>Account ID</source>
<target>Account ID</target>
<target>Account ID</target>
<note>Label to indicate the public ID of the account.</note>
<note>Label to indicate the public ID of the account.</note>
</trans-unit>
</trans-unit>
<trans-unit id="Actions" xml:space="preserve">
<source>Actions</source>
<target>Actions</target>
<note>Title for confirmation dialog to either share, report, or block a profile.</note>
</trans-unit>
<trans-unit id="Add" xml:space="preserve">
<trans-unit id="Add" xml:space="preserve">
<source>Add</source>
<source>Add</source>
<target>Add</target>
<target>Add</target>
@ -171,6 +186,33 @@ Number of profiles a user is following.</note>
<target>Blixt Wallet</target>
<target>Blixt Wallet</target>
<note>Dropdown option label for Lightning wallet, Blixt Wallet</note>
<note>Dropdown option label for Lightning wallet, Blixt Wallet</note>
</trans-unit>
</trans-unit>
<trans-unit id="Block" xml:space="preserve">
<source>Block</source>
<target>Block</target>
<note>Alert button to block a user.
Button to block a profile.
Context menu option for blocking users.</note>
</trans-unit>
<trans-unit id="Block %@?" xml:space="preserve">
<source>Block %@?</source>
<target>Block %@?</target>
<note>Alert message prompt to ask if a user should be blocked.</note>
<note>Message indicating that a report was successfully sent to relay servers.</note>
</trans-unit>
<trans-unit id="Repost" xml:space="preserve">
<trans-unit id="Repost" xml:space="preserve">
<source>Repost</source>
<source>Repost</source>
<target>Repost</target>
<target>Repost</target>
@ -601,6 +712,11 @@ Part of a larger sentence to describe how many profiles a user is following.</no
<target>Reposted</target>
<target>Reposted</target>
<note>Text indicating that the post was reposted (i.e. re-shared).</note>
<note>Text indicating that the post was reposted (i.e. re-shared).</note>
</trans-unit>
</trans-unit>
<trans-unit id="Reposts" xml:space="preserve">
<source>Reposts</source>
<target>Reposts</target>
<note>Navigation bar title for Reposts view.</note>
</trans-unit>
<trans-unit id="Requests" xml:space="preserve">
<trans-unit id="Requests" xml:space="preserve">
<source>Requests</source>
<source>Requests</source>
<target>Requests</target>
<target>Requests</target>
@ -675,7 +791,8 @@ Part of a larger sentence to describe how many profiles a user is following.</no
<trans-unit id="Share" xml:space="preserve">
<trans-unit id="Share" xml:space="preserve">
<source>Share</source>
<source>Share</source>
<target>Share</target>
<target>Share</target>
<note>Button to share an image.</note>
<note>Button to share an image.
Button to share the link to a profile.</note>
</trans-unit>
</trans-unit>
<trans-unit id="Show" xml:space="preserve">
<trans-unit id="Show" xml:space="preserve">
<source>Show</source>
<source>Show</source>
@ -697,6 +814,16 @@ Part of a larger sentence to describe how many profiles a user is following.</no
<target>Strike</target>
<target>Strike</target>
<note>Dropdown option label for Lightning wallet, Strike.</note>
<note>Dropdown option label for Lightning wallet, Strike.</note>
</trans-unit>
</trans-unit>
<trans-unit id="Thanks!" xml:space="preserve">
<source>Thanks!</source>
<target>Thanks!</target>
<note>Button to close out of alert that informs that the action to block a user was successful.</note>
</trans-unit>
<trans-unit id="They are impersonating someone" xml:space="preserve">
<source>They are impersonating someone</source>
<target>They are impersonating someone</target>
<note>Button for user to report that the account is impersonating someone.</note>
</trans-unit>
<trans-unit id="This is a public key, you will not be able to make posts or interact in any way. This is used for viewing accounts from their perspective." xml:space="preserve">
<trans-unit id="This is a public key, you will not be able to make posts or interact in any way. This is used for viewing accounts from their perspective." xml:space="preserve">
<source>This is a public key, you will not be able to make posts or interact in any way. This is used for viewing accounts from their perspective.</source>
<source>This is a public key, you will not be able to make posts or interact in any way. This is used for viewing accounts from their perspective.</source>
<target>This is a public key, you will not be able to make posts or interact in any way. This is used for viewing accounts from their perspective.</target>
<target>This is a public key, you will not be able to make posts or interact in any way. This is used for viewing accounts from their perspective.</target>
@ -748,6 +875,16 @@ Part of a larger sentence to describe how many profiles a user is following.</no
<target>Unfollows</target>
<target>Unfollows</target>
<note>Text to indicate that the button next to it is in a state that will unfollow a profile when tapped.</note>
<note>Text to indicate that the button next to it is in a state that will unfollow a profile when tapped.</note>
Text("\(name) has been blocked",comment:"Alert message that informs a user was blocked.")
}else{
}else{
Text("User has been blocked")
Text("User has been blocked",comment:"Alert message that informs a user was blocked.")
}
}
})
})
.alert("Create new mutelist",isPresented:$confirm_overwrite_mutelist,actions:{
.alert(NSLocalizedString("Create new mutelist",comment:"Title of alert prompting the user to create a new mutelist."),isPresented:$confirm_overwrite_mutelist,actions:{
Button("Yes, Overwrite"){
Button(NSLocalizedString("Cancel",comment:"Button to cancel out of alert that creates a new mutelist.")){
confirm_overwrite_mutelist=false
confirm_block=false
}
Button(NSLocalizedString("Yes, Overwrite",comment:"Text of button that confirms to overwrite the existing mutelist.")){
guardletds=damus_stateelse{
guardletds=damus_stateelse{
return
return
}
}
@ -472,16 +477,14 @@ struct ContentView: View {
confirm_block=false
confirm_block=false
user_blocked_confirm=true
user_blocked_confirm=true
}
}
Button("Cancel"){
confirm_overwrite_mutelist=false
confirm_block=false
}
},message:{
},message:{
Text("No block list found, create a new one? This will overwrite any previous block lists.")
Text("No block list found, create a new one? This will overwrite any previous block lists.",comment:"Alert message prompt that asks if the user wants to create a new block list, overwriting previous block lists.")
DamusWhiteButton(NSLocalizedString("Accept",comment:"Button to accept the end user license agreement before being allowed into the app.")){
creating_account=true
creating_account=true
}
}
DamusWhiteButton("Reject"){
DamusWhiteButton(NSLocalizedString("Reject",comment:"Button to reject the end user license agreement, which disallows the user from being let into the app.")){
.confirmationDialog(NSLocalizedString("Actions",comment:"Title for confirmation dialog to either share, report, or block a profile."),isPresented:$action_sheet_presented){
Button("Share"){
Button(NSLocalizedString("Share",comment:"Button to share the link to a profile.")){
show_share_sheet=true
show_share_sheet=true
}
}
Button("Report"){
Button(NSLocalizedString("Report",comment:"Button to report a profile."),role:.destructive){
lettarget:ReportTarget=.user(profile.pubkey)
lettarget:ReportTarget=.user(profile.pubkey)
notify(.report,target)
notify(.report,target)
}
}
Button("Block"){
Button(NSLocalizedString("Block",comment:"Button to block a profile."),role:.destructive){
Text("Report sent!",comment:"Message indicating that a report was successfully sent to relay servers.")
.font(.headline)
.font(.headline)
Text("Relays have been notified and clients will be able to use this information to filter content. Thank you!")
Text("Relays have been notified and clients will be able to use this information to filter content. Thank you!",comment:"Description of what was done as a result of sending a report to relay servers.")
Text("Report ID:")
Text("Report ID:",comment:"Label indicating that the text underneath is the identifier of the report that was sent to relay servers.")
Text(report_id)
Text(report_id)
Button("Copy Report ID"){
Button(NSLocalizedString("Copy Report ID",comment:"Button to copy report ID.")){
UIPasteboard.general.string=report_id
UIPasteboard.general.string=report_id
letg=UIImpactFeedbackGenerator(style:.medium)
letg=UIImpactFeedbackGenerator(style:.medium)
g.impactOccurred()
g.impactOccurred()
@ -59,33 +59,33 @@ struct ReportView: View {
varMainForm:someView{
varMainForm:someView{
VStack{
VStack{
Text("Report")
Text("Report",comment:"Label indicating that the current view is for the user to report content.")
.font(.headline)
.font(.headline)
.padding()
.padding()
Form{
Form{
Section(content:{
Section(content:{
Button("It's spam"){
Button(NSLocalizedString("It's spam",comment:"Button for user to report that the account or content has spam.")){
do_send_report(type:.spam)
do_send_report(type:.spam)
}
}
Button("Nudity or explicit content"){
Button(NSLocalizedString("Nudity or explicit content",comment:"Button for user to report that the account or content has nudity or explicit content.")){
do_send_report(type:.explicit)
do_send_report(type:.explicit)
}
}
Button("Illegal content"){
Button(NSLocalizedString("Illegal content",comment:"Button for user to report that the account or content has illegal content.")){
do_send_report(type:.illegal)
do_send_report(type:.illegal)
}
}
ifcase.user=target{
ifcase.user=target{
Button("They are impersonating someone"){
Button(NSLocalizedString("They are impersonating someone",comment:"Button for user to report that the account is impersonating someone.")){
do_send_report(type:.impersonation)
do_send_report(type:.impersonation)
}
}
}
}
},header:{
},header:{
Text("What do you want to report?")
Text("What do you want to report?",comment:"Header text to prompt user what issue they want to report.")
},footer:{
},footer:{
Text("Your report will be sent to the relays you are connected to")
Text("Your report will be sent to the relays you are connected to",comment:"Footer text to inform user what will happen when the report is submitted.")