damus

nostr ios client
git clone git://jb55.com/damus
Log | Files | Refs | README | LICENSE

commit b6ea17a0eb6f1f6708b719dc7a262eedb61935cf
parent a9e9f0dc8f5ec13533b08b6ce7e109cf0033b2e3
Author: William Casarin <jb55@jb55.com>
Date:   Fri, 27 Jan 2023 12:49:21 -0800

Merge remote-tracking branches 'tyiu/tyiu/string-comments' and 'tyiu/tyiu/remove-it-CH'

Changelog-Fixed: Localization fixes
Changelog-Fixed: Don't allow blocking yourself

Diffstat:
Mdamus Localizations/en-US.xcloc/Localized Contents/en-US.xliff | 168+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
Mdamus Localizations/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings | 0
Ddamus Localizations/it_CH.xcloc/Localized Contents/it_CH.xliff | 1254-------------------------------------------------------------------------------
Mdamus.xcodeproj/project.pbxproj | 7-------
Mdamus/ContentView.swift | 43+++++++++++++++++++++----------------------
Mdamus/Views/ChatroomView.swift | 2+-
Mdamus/Views/ConfigView.swift | 4++--
Mdamus/Views/DMChatView.swift | 2+-
Mdamus/Views/EULAView.swift | 8++++----
Mdamus/Views/EventView.swift | 6+++---
Mdamus/Views/Events/EmbeddedEventView.swift | 2+-
Mdamus/Views/Events/EventMenu.swift | 36+++++++++++++++++++-----------------
Mdamus/Views/Events/SelectedEventView.swift | 2+-
Mdamus/Views/Muting/MutelistView.swift | 2+-
Mdamus/Views/ProfileView.swift | 23+++++++++++++----------
Mdamus/Views/ReportView.swift | 22+++++++++++-----------
Mdamus/Views/SideMenuView.swift | 4++--
Ddamus/it-CH.lproj/InfoPlist.strings | 9---------
Ddamus/it-CH.lproj/Localizable.strings | 503-------------------------------------------------------------------------------
Ddamus/it-CH.lproj/Localizable.stringsdict | 154-------------------------------------------------------------------------------
20 files changed, 240 insertions(+), 2011 deletions(-)

diff --git a/damus Localizations/en-US.xcloc/Localized Contents/en-US.xliff b/damus Localizations/en-US.xcloc/Localized Contents/en-US.xliff @@ -41,9 +41,14 @@ Abbreviated version of a nostr public key.</note> <trans-unit id="%@ %@" xml:space="preserve"> <source>%@ %@</source> <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> </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"> <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> @@ -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"> <source>%lld</source> <target>%lld</target> - <note>Number of reposts. + <note>Number of tip payments on a post. Number of profiles a user is following.</note> </trans-unit> <trans-unit id="%lld/%lld" xml:space="preserve"> @@ -115,11 +120,21 @@ Number of profiles a user is following.</note> <target>Absolute Boss</target> <note>Placeholder text for About Me description.</note> </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"> <source>Account ID</source> <target>Account ID</target> <note>Label to indicate the public ID of the account.</note> </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"> <source>Add</source> <target>Add</target> @@ -171,6 +186,33 @@ Number of profiles a user is following.</note> <target>Blixt Wallet</target> <note>Dropdown option label for Lightning wallet, Blixt Wallet</note> </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> + </trans-unit> + <trans-unit id="Block User" xml:space="preserve"> + <source>Block User</source> + <target>Block User</target> + <note>Title of alert for blocking a user.</note> + </trans-unit> + <trans-unit id="Blocked" xml:space="preserve"> + <source>Blocked</source> + <target>Blocked</target> + <note>Sidebar menu label for Profile view.</note> + </trans-unit> + <trans-unit id="Blocked Users" xml:space="preserve"> + <source>Blocked Users</source> + <target>Blocked Users</target> + <note>Navigation title of view to see list of blocked users.</note> + </trans-unit> <trans-unit id="Blue Wallet" xml:space="preserve"> <source>Blue Wallet</source> <target>Blue Wallet</target> @@ -189,7 +231,9 @@ Number of profiles a user is following.</note> <trans-unit id="Cancel" xml:space="preserve"> <source>Cancel</source> <target>Cancel</target> - <note>Button to cancel out of posting a note. + <note>Alert button to cancel out of alert for blocking a user. + Button to cancel out of alert that creates a new mutelist. + Button to cancel out of posting a note. Button to cancel out of reposting a post. Button to cancel out of view adding user inputted relay. Cancel out of logging out the user.</note> @@ -255,14 +299,19 @@ Number of profiles a user is following.</note> <target>Copy Note JSON</target> <note>Context menu option for copying the JSON text from the note.</note> </trans-unit> + <trans-unit id="Copy Report ID" xml:space="preserve"> + <source>Copy Report ID</source> + <target>Copy Report ID</target> + <note>Button to copy report ID.</note> + </trans-unit> <trans-unit id="Copy Text" xml:space="preserve"> <source>Copy Text</source> <target>Copy Text</target> <note>Context menu option for copying the text from an note.</note> </trans-unit> - <trans-unit id="Copy User ID" xml:space="preserve"> - <source>Copy User ID</source> - <target>Copy User ID</target> + <trans-unit id="Copy User Pubkey" xml:space="preserve"> + <source>Copy User Pubkey</source> + <target>Copy User Pubkey</target> <note>Context menu option for copying the ID of the user who created the note.</note> </trans-unit> <trans-unit id="Copy invoice" xml:space="preserve"> @@ -270,6 +319,11 @@ Number of profiles a user is following.</note> <target>Copy invoice</target> <note>Title of section for copying a Lightning invoice identifier.</note> </trans-unit> + <trans-unit id="Could not find user to block..." xml:space="preserve"> + <source>Could not find user to block...</source> + <target>Could not find user to block...</target> + <note>Alert message to indicate that the blocked user could not be found.</note> + </trans-unit> <trans-unit id="Create" xml:space="preserve"> <source>Create</source> <target>Create</target> @@ -280,6 +334,11 @@ Number of profiles a user is following.</note> <target>Create Account</target> <note>Button to create an account.</note> </trans-unit> + <trans-unit id="Create new mutelist" xml:space="preserve"> + <source>Create new mutelist</source> + <target>Create new mutelist</target> + <note>Title of alert prompting the user to create a new mutelist.</note> + </trans-unit> <trans-unit id="Creator(s) of Bitcoin. Absolute legend." xml:space="preserve"> <source>Creator(s) of Bitcoin. Absolute legend.</source> <target>Creator(s) of Bitcoin. Absolute legend.</target> @@ -309,7 +368,8 @@ Number of profiles a user is following.</note> <trans-unit id="Delete" xml:space="preserve"> <source>Delete</source> <target>Delete</target> - <note>Button to delete a relay server that the user connects to.</note> + <note>Button to delete a relay server that the user connects to. + Button to remove a user from their blocklist.</note> </trans-unit> <trans-unit id="Dismiss" xml:space="preserve"> <source>Dismiss</source> @@ -326,6 +386,11 @@ Number of profiles a user is following.</note> <target>Done</target> <note>Button to dismiss wallet selection view for paying Lightning invoice.</note> </trans-unit> + <trans-unit id="EULA" xml:space="preserve"> + <source>EULA</source> + <target>EULA</target> + <note>Label indicating that the below text is the EULA, an acronym for End User License Agreement.</note> + </trans-unit> <trans-unit id="Earn Money" xml:space="preserve"> <source>Earn Money</source> <target>Earn Money</target> @@ -407,11 +472,21 @@ Part of a larger sentence to describe how many profiles a user is following.</no <target>Home</target> <note>Navigation bar title for Home view where posts and replies appear from those who the user is following.</note> </trans-unit> + <trans-unit id="Illegal content" xml:space="preserve"> + <source>Illegal content</source> + <target>Illegal content</target> + <note>Button for user to report that the account or content has illegal content.</note> + </trans-unit> <trans-unit id="Invalid key" xml:space="preserve"> <source>Invalid key</source> <target>Invalid key</target> <note>Error message indicating that an invalid account key was entered for login.</note> </trans-unit> + <trans-unit id="It's spam" xml:space="preserve"> + <source>It's spam</source> + <target>It's spam</target> + <note>Button for user to report that the account or content has spam.</note> + </trans-unit> <trans-unit id="LNLink" xml:space="preserve"> <source>LNLink</source> <target>LNLink</target> @@ -470,6 +545,11 @@ Part of a larger sentence to describe how many profiles a user is following.</no <target>NIP-05 Verification</target> <note>Label for NIP-05 Verification section of user profile form.</note> </trans-unit> + <trans-unit id="No block list found, create a new one? This will overwrite any previous block lists." xml:space="preserve"> + <source>No block list found, create a new one? This will overwrite any previous block lists.</source> + <target>No block list found, create a new one? This will overwrite any previous block lists.</target> + <note>Alert message prompt that asks if the user wants to create a new block list, overwriting previous block lists.</note> + </trans-unit> <trans-unit id="Nothing to see here. Check back later!" xml:space="preserve"> <source>Nothing to see here. Check back later!</source> <target>Nothing to see here. Check back later!</target> @@ -480,6 +560,11 @@ Part of a larger sentence to describe how many profiles a user is following.</no <target>Notifications</target> <note>Navigation title for notifications.</note> </trans-unit> + <trans-unit id="Nudity or explicit content" xml:space="preserve"> + <source>Nudity or explicit content</source> + <target>Nudity or explicit content</target> + <note>Button for user to report that the account or content has nudity or explicit content.</note> + </trans-unit> <trans-unit id="Pay" xml:space="preserve"> <source>Pay</source> <target>Pay</target> @@ -560,6 +645,11 @@ Part of a larger sentence to describe how many profiles a user is following.</no <target>Recommended Relays</target> <note>Section title for recommend relay servers that could be added as part of configuration</note> </trans-unit> + <trans-unit id="Reject" xml:space="preserve"> + <source>Reject</source> + <target>Reject</target> + <note>Button to reject the end user license agreement, which disallows the user from being let into the app.</note> + </trans-unit> <trans-unit id="Relay" xml:space="preserve"> <source>Relay</source> <target>Relay</target> @@ -570,6 +660,11 @@ Part of a larger sentence to describe how many profiles a user is following.</no <target>Relays</target> <note>Sidebar menu label for Relay servers view</note> </trans-unit> + <trans-unit id="Relays have been notified and clients will be able to use this information to filter content. Thank you!" xml:space="preserve"> + <source>Relays have been notified and clients will be able to use this information to filter content. Thank you!</source> + <target>Relays have been notified and clients will be able to use this information to filter content. Thank you!</target> + <note>Description of what was done as a result of sending a report to relay servers.</note> + </trans-unit> <trans-unit id="Remove all" xml:space="preserve"> <source>Remove all</source> <target>Remove all</target> @@ -590,6 +685,22 @@ Part of a larger sentence to describe how many profiles a user is following.</no <target>Replying to:</target> <note>Indicating that the user is replying to the following listed people.</note> </trans-unit> + <trans-unit id="Report" xml:space="preserve"> + <source>Report</source> + <target>Report</target> + <note>Button to report a profile. + Context menu option for reporting content.</note> + </trans-unit> + <trans-unit id="Report ID:" xml:space="preserve"> + <source>Report ID:</source> + <target>Report ID:</target> + <note>Label indicating that the text underneath is the identifier of the report that was sent to relay servers.</note> + </trans-unit> + <trans-unit id="Report sent!" xml:space="preserve"> + <source>Report sent!</source> + <target>Report sent!</target> + <note>Message indicating that a report was successfully sent to relay servers.</note> + </trans-unit> <trans-unit id="Repost" xml:space="preserve"> <source>Repost</source> <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> <note>Text indicating that the post was reposted (i.e. re-shared).</note> </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"> <source>Requests</source> <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"> <source>Share</source> <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 id="Show" xml:space="preserve"> <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> <note>Dropdown option label for Lightning wallet, Strike.</note> </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"> <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> @@ -748,6 +875,16 @@ Part of a larger sentence to describe how many profiles a user is following.</no <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> </trans-unit> + <trans-unit id="User blocked" xml:space="preserve"> + <source>User blocked</source> + <target>User blocked</target> + <note>Alert message to indicate</note> + </trans-unit> + <trans-unit id="User has been blocked" xml:space="preserve"> + <source>User has been blocked</source> + <target>User has been blocked</target> + <note>Alert message that informs a user was blocked.</note> + </trans-unit> <trans-unit id="Username" xml:space="preserve"> <source>Username</source> <target>Username</target> @@ -784,11 +921,26 @@ Part of a larger sentence to describe how many profiles a user is following.</no <target>Welcome, %@!</target> <note>Text to welcome user.</note> </trans-unit> + <trans-unit id="What do you want to report?" xml:space="preserve"> + <source>What do you want to report?</source> + <target>What do you want to report?</target> + <note>Header text to prompt user what issue they want to report.</note> + </trans-unit> + <trans-unit id="Yes, Overwrite" xml:space="preserve"> + <source>Yes, Overwrite</source> + <target>Yes, Overwrite</target> + <note>Text of button that confirms to overwrite the existing mutelist.</note> + </trans-unit> <trans-unit id="Your Name" xml:space="preserve"> <source>Your Name</source> <target>Your Name</target> <note>Label for Your Name section of user profile form.</note> </trans-unit> + <trans-unit id="Your report will be sent to the relays you are connected to" xml:space="preserve"> + <source>Your report will be sent to the relays you are connected to</source> + <target>Your report will be sent to the relays you are connected to</target> + <note>Footer text to inform user what will happen when the report is submitted.</note> + </trans-unit> <trans-unit id="Zebedee" xml:space="preserve"> <source>Zebedee</source> <target>Zebedee</target> diff --git a/damus Localizations/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings b/damus Localizations/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings Binary files differ. diff --git a/damus Localizations/it_CH.xcloc/Localized Contents/it_CH.xliff b/damus Localizations/it_CH.xcloc/Localized Contents/it_CH.xliff @@ -1,1253 +0,0 @@ -<?xml version="1.0" ?><xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd"> - <file original="damus/en-US.lproj/InfoPlist.strings" source-language="en-US" target-language="it-CH" datatype="plaintext"> - <header> - <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="14.2" build-num="14C18"/> - </header> - <body> - <trans-unit id="CFBundleDisplayName" xml:space="preserve"> - <source>Damus</source> - <target>Damus</target> - - <note>Bundle display name</note> - </trans-unit> - <trans-unit id="CFBundleName" xml:space="preserve"> - <source>damus</source> - <target>damus</target> - - <note>Bundle name</note> - </trans-unit> - <trans-unit id="NSPhotoLibraryAddUsageDescription" xml:space="preserve"> - <source>Granting Damus access to your photos allows you to save images.</source> - <target>Dai il permesso a Damus di accedere alle tue Foto per salvare immagini</target> - - <note>Privacy - Photo Library Additions Usage Description</note> - </trans-unit> - </body> - </file> - <file original="damus/en-US.lproj/Localizable.strings" source-language="en-US" target-language="it-CH" datatype="plaintext"> - <header> - <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="14.2" build-num="14C18"/> - </header> - <body> - <trans-unit id=" " xml:space="preserve"> - <source> </source> - <target>61b6edf1108e6f396680a33b02486a70_tr</target> - <note>Blank space to separate profile picture from profile editor form.</note> - </trans-unit> - <trans-unit id="%@" xml:space="preserve"> - <source>%@</source> - <target>%@</target> - - <note>Amount of time that has passed since reply quote event occurred. -Abbreviated version of a nostr public key.</note> - </trans-unit> - <trans-unit id="%@ %@" xml:space="preserve"> - <source>%@ %@</source> - <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'. -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 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> - <target>%@. Per creare un account non hai bisogno di un numero di telefono, un indirizzo email o del tuo nome. Inizia ora senza impegni.</target> - - <note>Explanation of what is done to keep personally identifiable information private. There is a heading that precedes this explanation which is a variable to this string.</note> - </trans-unit> - <trans-unit id="%@. End-to-End encrypted private messaging. Keep Big Tech out of your DMs" xml:space="preserve"> - <source>%@. End-to-End encrypted private messaging. Keep Big Tech out of your DMs</source> - <target>%@. I messaggi sono criptati utilizzando la crittografia end-to-end. Mantieni i colossi della tecnologia lontani dai tuoi messaggi</target> - - <note>Explanation of what is done to keep private data encrypted. There is a heading that precedes this explanation which is a variable to this string.</note> - </trans-unit> - <trans-unit id="%@. Tip your friend's posts and stack sats with Bitcoin⚡️, the native currency of the internet." xml:space="preserve"> - <source>%@. Tip your friend's posts and stack sats with Bitcoin⚡️, the native currency of the internet.</source> - <target>%@. Paga i tuoi amici e accumula sats con Bitcoin⚡️, la moneta di internet.</target> - - <note>Explanation of what can be done by users to earn money. There is a heading that precedes this explanation which is a variable to this string.</note> - </trans-unit> - <trans-unit id="%lld" xml:space="preserve"> - <source>%lld</source> - <target>%lld</target> - - <note>Number of reposts. -Number of profiles a user is following.</note> - </trans-unit> - <trans-unit id="%lld/%lld" xml:space="preserve"> - <source>%lld/%lld</source> - <target>%lld/%lld</target> - - <note>Fraction of how many of the user's relay servers that are operational.</note> - </trans-unit> - <trans-unit id="'%@' at '%@' will be used for verification" xml:space="preserve"> - <source>'%@' at '%@' will be used for verification</source> - <target>'%@' at '%@' sarà usato per la verifica</target> - - <note>Description of how the nip05 identifier would be used for verification.</note> - </trans-unit> - <trans-unit id="'%@' is an invalid nip05 identifier. It should look like an email." xml:space="preserve"> - <source>'%@' is an invalid nip05 identifier. It should look like an email.</source> - <target>'%@' non è valido. Dovrebbe essere simile ad un indirizzo email.</target> - - <note>Description of why the nip05 identifier is invalid.</note> - </trans-unit> - <trans-unit id="(Profile.displayName(profile: profile, pubkey: whos))'s Followers" xml:space="preserve"> - <source>(Profile.displayName(profile: profile, pubkey: whos))'s Followers</source> - <target>Seguaci di (Profile.displayName(profile: profile, pubkey: whos))'</target> - - <note>Navigation bar title for view that shows who is following a user.</note> - </trans-unit> - <trans-unit id="(who) following" xml:space="preserve"> - <source>(who) following</source> - <target>(who) segui già</target> - - <note>Navigation bar title for view that shows who a user is following.</note> - </trans-unit> - <trans-unit id="&lt; e &gt;" xml:space="preserve"> - <source>&lt; e &gt;</source> - <target>&lt; e &gt;</target> - - <note>Placeholder for event mention.</note> - </trans-unit> - <trans-unit id="@" xml:space="preserve"> - <source>@</source> - <target>@</target> - - <note>Prefix character to username.</note> - </trans-unit> - <trans-unit id="About" xml:space="preserve"> - <source>About</source> - <target>Informazioni</target> - - <note>Label to prompt for about text entry for user to describe about themself.</note> - </trans-unit> - <trans-unit id="About Me" xml:space="preserve"> - <source>About Me</source> - <target>Io</target> - - <note>Label for About Me section of user profile form.</note> - </trans-unit> - <trans-unit id="Absolute Boss" xml:space="preserve"> - <source>Absolute Boss</source> - <target>Capo supremo</target> - - <note>Placeholder text for About Me description.</note> - </trans-unit> - <trans-unit id="Account ID" xml:space="preserve"> - <source>Account ID</source> - <target>ID dell'account</target> - - <note>Label to indicate the public ID of the account.</note> - </trans-unit> - <trans-unit id="Add" xml:space="preserve"> - <source>Add</source> - <target>Aggiungi</target> - - <note>Button to add recommended relay server. - Button to confirm adding user inputted relay.</note> - </trans-unit> - <trans-unit id="Add Relay" xml:space="preserve"> - <source>Add Relay</source> - <target>Aggiungi relè</target> - - <note>Label for section for adding a relay server.</note> - </trans-unit> - <trans-unit id="Add all" xml:space="preserve"> - <source>Add all</source> - <target>Aggiungi tutto</target> - - <note>Button label to re-add all original participants as profiles to reply to in a note</note> - </trans-unit> - <trans-unit id="Any" xml:space="preserve"> - <source>Any</source> - <target>Qualsiasi</target> - - <note>Any amount of sats</note> - </trans-unit> - <trans-unit id="Are you sure you want to repost this?" xml:space="preserve"> - <source>Are you sure you want to repost this?</source> - <target>Sei sicuro di voler segnalare questo post?</target> - - <note>Alert message to ask if user wants to repost a post.</note> - </trans-unit> - <trans-unit id="Banner Image" xml:space="preserve"> - <source>Banner Image</source> - <target>Immagine banner</target> - - <note>Label for Banner Image section of user profile form.</note> - </trans-unit> - <trans-unit id="Before we get started, you'll need to save your account info, otherwise you won't be able to login in the future if you ever uninstall Damus." xml:space="preserve"> - <source>Before we get started, you'll need to save your account info, otherwise you won't be able to login in the future if you ever uninstall Damus.</source> - <target>Prima di iniziare, dovrai salvare le informazioni del tuo account altrimenti non sarai in grado di accedere in futuro se dovessi disinstallare Damus.</target> - - <note>Reminder to user that they should save their account information.</note> - </trans-unit> - <trans-unit id="Bitcoin Beach" xml:space="preserve"> - <source>Bitcoin Beach</source> - <target>Bitcoin Beach</target> - - <note>Dropdown option label for Lightning wallet, Bitcoin Beach.</note> - </trans-unit> - <trans-unit id="Bitcoin Lightning Tips" xml:space="preserve"> - <source>Bitcoin Lightning Tips</source> - <target>Mancia con Bitcoin Lightning</target> - - <note>Label for Bitcoin Lightning Tips section of user profile form.</note> - </trans-unit> - <trans-unit id="Blixt Wallet" xml:space="preserve"> - <source>Blixt Wallet</source> - <target>Blixt Wallet</target> - - <note>Dropdown option label for Lightning wallet, Blixt Wallet</note> - </trans-unit> - <trans-unit id="Blue Wallet" xml:space="preserve"> - <source>Blue Wallet</source> - <target>Blue Wallet</target> - - <note>Dropdown option label for Lightning wallet, Blue Wallet.</note> - </trans-unit> - <trans-unit id="Breez" xml:space="preserve"> - <source>Breez</source> - <target>Breez</target> - - <note>Dropdown option label for Lightning wallet, Breez.</note> - </trans-unit> - <trans-unit id="Broadcast" xml:space="preserve"> - <source>Broadcast</source> - <target>Trasmetti</target> - - <note>Context menu option for broadcasting the user's note to all of the user's connected relay servers.</note> - </trans-unit> - <trans-unit id="Cancel" xml:space="preserve"> - <source>Cancel</source> - <target>Annulla</target> - - <note>Button to cancel out of posting a note. - Button to cancel out of reposting a post. - Button to cancel out of view adding user inputted relay. - Cancel out of logging out the user.</note> - </trans-unit> - <trans-unit id="Cash App" xml:space="preserve"> - <source>Cash App</source> - <target>Cash App</target> - - <note>Dropdown option label for Lightning wallet, Cash App.</note> - </trans-unit> - <trans-unit id="Chat" xml:space="preserve"> - <source>Chat</source> - <target>Chat</target> - - <note>Navigation bar title for Chatroom view.</note> - </trans-unit> - <trans-unit id="Clear" xml:space="preserve"> - <source>Clear</source> - <target>Cancella</target> - - <note>Button for clearing cached data.</note> - </trans-unit> - <trans-unit id="Clear Cache" xml:space="preserve"> - <source>Clear Cache</source> - <target>Cancella cache</target> - - <note>Section title for clearing cached data.</note> - </trans-unit> - <trans-unit id="Copied" xml:space="preserve"> - <source>Copied</source> - <target>Copiato</target> - - <note>Label indicating that a user's key was copied.</note> - </trans-unit> - <trans-unit id="Copy" xml:space="preserve"> - <source>Copy</source> - <target>Copia</target> - - <note>Button to copy a relay server address.</note> - </trans-unit> - <trans-unit id="Copy Account ID" xml:space="preserve"> - <source>Copy Account ID</source> - <target>Copia ID dell'Account</target> - - <note>Context menu option for copying the ID of the account that created the note.</note> - </trans-unit> - <trans-unit id="Copy Image" xml:space="preserve"> - <source>Copy Image</source> - <target>Copia Immagine</target> - - <note>Context menu option to copy an image into clipboard. - Context menu option to copy an image to clipboard.</note> - </trans-unit> - <trans-unit id="Copy Image URL" xml:space="preserve"> - <source>Copy Image URL</source> - <target>Copia URL dell'Immagine</target> - - <note>Context menu option to copy the URL of an image into clipboard.</note> - </trans-unit> - <trans-unit id="Copy LNURL" xml:space="preserve"> - <source>Copy LNURL</source> - <target>Copia LNURL</target> - - <note>Context menu option for copying a user's Lightning URL.</note> - </trans-unit> - <trans-unit id="Copy Note ID" xml:space="preserve"> - <source>Copy Note ID</source> - <target>Copia ID della Nota</target> - - <note>Context menu option for copying the ID of the note.</note> - </trans-unit> - <trans-unit id="Copy Note JSON" xml:space="preserve"> - <source>Copy Note JSON</source> - <target>Copia JSON della Nota</target> - - <note>Context menu option for copying the JSON text from the note.</note> - </trans-unit> - <trans-unit id="Copy Text" xml:space="preserve"> - <source>Copy Text</source> - <target>Copia Testo</target> - - <note>Context menu option for copying the text from an note.</note> - </trans-unit> - <trans-unit id="Copy User ID" xml:space="preserve"> - <source>Copy User ID</source> - <target>Copia ID dell'Utente</target> - - <note>Context menu option for copying the ID of the user who created the note.</note> - </trans-unit> - <trans-unit id="Copy invoice" xml:space="preserve"> - <source>Copy invoice</source> - <target>Copia fattura</target> - - <note>Title of section for copying a Lightning invoice identifier.</note> - </trans-unit> - <trans-unit id="Create" xml:space="preserve"> - <source>Create</source> - <target>Crea</target> - - <note>Button to create account.</note> - </trans-unit> - <trans-unit id="Create Account" xml:space="preserve"> - <source>Create Account</source> - <target>Crea Account</target> - - <note>Button to create an account.</note> - </trans-unit> - <trans-unit id="Creator(s) of Bitcoin. Absolute legend." xml:space="preserve"> - <source>Creator(s) of Bitcoin. Absolute legend.</source> - <target>Creatore/i di Bitcoin. Leggenda assoluta</target> - - <note>Example description about Bitcoin creator(s), Satoshi Nakamoto.</note> - </trans-unit> - <trans-unit id="DM Type" xml:space="preserve"> - <source>DM Type</source> - <target>Tipo DM</target> - - <note>DM selector for seeing either DMs or message requests, which are messages that have not been responded to yet. DM is the English abbreviation for Direct Message.</note> - </trans-unit> - <trans-unit id="DMs" xml:space="preserve"> - <source>DMs</source> - <target>DM</target> - - <note>Navigation title for DMs view, where DM is the English abbreviation for Direct Message. - Navigation title for view of DMs, where DM is an English abbreviation for Direct Message.</note> - </trans-unit> - <trans-unit id="Damus" xml:space="preserve"> - <source>Damus</source> - <target>Damus</target> - - <note>Name of the app, shown on the first screen when user is not logged in.</note> - </trans-unit> - <trans-unit id="Default Wallet" xml:space="preserve"> - <source>Default Wallet</source> - <target>Portafoglio Principale</target> - - <note>Button to pay a Lightning invoice with the user's default Lightning wallet.</note> - </trans-unit> - <trans-unit id="Delete" xml:space="preserve"> - <source>Delete</source> - <target>Cancella</target> - - <note>Button to delete a relay server that the user connects to.</note> - </trans-unit> - <trans-unit id="Dismiss" xml:space="preserve"> - <source>Dismiss</source> - <target>Lascia stare</target> - - <note>Button to dismiss a text field alert.</note> - </trans-unit> - <trans-unit id="Display Name" xml:space="preserve"> - <source>Display Name</source> - <target>Nome visualizzato</target> - - <note>Label to prompt display name entry.</note> - </trans-unit> - <trans-unit id="Done" xml:space="preserve"> - <source>Done</source> - <target>Finito</target> - - <note>Button to dismiss wallet selection view for paying Lightning invoice.</note> - </trans-unit> - <trans-unit id="Earn Money" xml:space="preserve"> - <source>Earn Money</source> - <target>Guadagna Soldi</target> - - <note>Heading indicating that this application allows users to earn money.</note> - </trans-unit> - <trans-unit id="Edit" xml:space="preserve"> - <source>Edit</source> - <target>Modifica</target> - - <note>Button to edit user's profile.</note> - </trans-unit> - <trans-unit id="Edit participants" xml:space="preserve"> - <source>Edit participants</source> - <target>Modifica partecipanti</target> - - <note>Text indicating that the view is used for editing which participants are replied to in a note.</note> - </trans-unit> - <trans-unit id="Encrypted" xml:space="preserve"> - <source>Encrypted</source> - <target>Criptato</target> - - <note>Heading indicating that this application keeps private messaging end-to-end encrypted.</note> - </trans-unit> - <trans-unit id="Enter your account key to login:" xml:space="preserve"> - <source>Enter your account key to login:</source> - <target>Inserisci la chiave del tuo account per accedere</target> - - <note>Prompt for user to enter an account key to login.</note> - </trans-unit> - <trans-unit id="Error: %@" xml:space="preserve"> - <source>Error: %@</source> - <target>Errore: %@</target> - - <note>Error message indicating why saving keys failed.</note> - </trans-unit> - <trans-unit id="Filter State" xml:space="preserve"> - <source>Filter State</source> - <target>Filtra</target> - - <note>Filter state for seeing either only posts, or posts &amp; replies.</note> - </trans-unit> - <trans-unit id="Follow" xml:space="preserve"> - <source>Follow</source> - <target>Segui</target> - - <note>Button to follow a user.</note> - </trans-unit> - <trans-unit id="Followers" xml:space="preserve"> - <source>Followers</source> - <target>Seguaci</target> - - <note>Label describing followers of a user.</note> - </trans-unit> - <trans-unit id="Following" xml:space="preserve"> - <source>Following</source> - <target>Seguiti</target> - - <note>Text to indicate that the button next to it is in a state that indicates that it is in the process of following a profile. -Part of a larger sentence to describe how many profiles a user is following.</note> - </trans-unit> - <trans-unit id="Following..." xml:space="preserve"> - <source>Following...</source> - <target>Segui già...</target> - - <note>Label to indicate that the user is in the process of following another user.</note> - </trans-unit> - <trans-unit id="Follows" xml:space="preserve"> - <source>Follows</source> - <target>Segui</target> - - <note>Text to indicate that button next to it is in a state that will follow a profile when tapped.</note> - </trans-unit> - <trans-unit id="Global" xml:space="preserve"> - <source>Global</source> - <target>Globale</target> - - <note>Navigation bar title for Global view where posts from all connected relay servers appear.</note> - </trans-unit> - <trans-unit id="Goto post %@" xml:space="preserve"> - <source>Goto post %@</source> - <target>Vai al post %@</target> - - <note>Navigation link to go to post referenced by hex code.</note> - </trans-unit> - <trans-unit id="Goto profile %@" xml:space="preserve"> - <source>Goto profile %@</source> - <target>Vai al profilo %@</target> - - <note>Navigation link to go to profile.</note> - </trans-unit> - <trans-unit id="Home" xml:space="preserve"> - <source>Home</source> - <target>Home</target> - - <note>Navigation bar title for Home view where posts and replies appear from those who the user is following.</note> - </trans-unit> - <trans-unit id="Invalid key" xml:space="preserve"> - <source>Invalid key</source> - <target>Chiave non valida</target> - - <note>Error message indicating that an invalid account key was entered for login.</note> - </trans-unit> - <trans-unit id="LNLink" xml:space="preserve"> - <source>LNLink</source> - <target>LNLink</target> - - <note>Dropdown option label for Lightning wallet, LNLink.</note> - </trans-unit> - <trans-unit id="Left Handed" xml:space="preserve"> - <source>Left Handed</source> - <target>Mancino</target> - - <note>Moves the post button to the left side of the screen</note> - </trans-unit> - <trans-unit id="Let's go!" xml:space="preserve"> - <source>Let's go!</source> - <target>Andiamo!</target> - - <note>Button to complete account creation and start using the app.</note> - </trans-unit> - <trans-unit id="Lightning Address or LNURL" xml:space="preserve"> - <source>Lightning Address or LNURL</source> - <target>Indirizzo Lightning o LNURL</target> - - <note>Placeholder text for entry of Lightning Address or LNURL.</note> - </trans-unit> - <trans-unit id="Lightning Invoice" xml:space="preserve"> - <source>Lightning Invoice</source> - <target>Fattura Lightning</target> - - <note>Indicates that the view is for paying a Lightning invoice.</note> - </trans-unit> - <trans-unit id="Local default" xml:space="preserve"> - <source>Local default</source> - <target>Predefinito</target> - - <note>Dropdown option label for system default for Lightning wallet.</note> - </trans-unit> - <trans-unit id="Login" xml:space="preserve"> - <source>Login</source> - <target>Entra</target> - - <note>Button to log into account. - Button to log into an account.</note> - </trans-unit> - <trans-unit id="Logout" xml:space="preserve"> - <source>Logout</source> - <target>Esci</target> - - <note>Alert for logging out the user. - Button for logging out the user. - Button to logout the user.</note> - </trans-unit> - <trans-unit id="Make sure your nsec account key is saved before you logout or you will lose access to this account" xml:space="preserve"> - <source>Make sure your nsec account key is saved before you logout or you will lose access to this account</source> - <target>Assicurati di aver salvato la chiave privata (nSEC) prima di uscire o perderai l'accesso a questo account</target> - - <note>Reminder message in alert to get customer to verify that their private security account key is saved saved before logging out.</note> - </trans-unit> - <trans-unit id="Muun" xml:space="preserve"> - <source>Muun</source> - <target>Muun</target> - - <note>Dropdown option label for Lightning wallet, Muun.</note> - </trans-unit> - <trans-unit id="NIP-05 Verification" xml:space="preserve"> - <source>NIP-05 Verification</source> - <target>Verifica NIP-05</target> - - <note>Label for NIP-05 Verification section of user profile form.</note> - </trans-unit> - <trans-unit id="Nothing to see here. Check back later!" xml:space="preserve"> - <source>Nothing to see here. Check back later!</source> - <target>Niente da vedere qui. Controlla dopo!</target> - - <note>Indicates that there are no notes in the timeline to view.</note> - </trans-unit> - <trans-unit id="Notifications" xml:space="preserve"> - <source>Notifications</source> - <target>Notifiche</target> - - <note>Navigation title for notifications.</note> - </trans-unit> - <trans-unit id="Pay" xml:space="preserve"> - <source>Pay</source> - <target>Paga</target> - - <note>Button to pay a Lightning invoice.</note> - </trans-unit> - <trans-unit id="Pay the Lightning invoice" xml:space="preserve"> - <source>Pay the Lightning invoice</source> - <target>Paga la fattura Lightning</target> - - <note>Navigation bar title for view to pay Lightning invoice.</note> - </trans-unit> - <trans-unit id="Phoenix" xml:space="preserve"> - <source>Phoenix</source> - <target>Phoenix</target> - - <note>Dropdown option label for Lightning wallet, Phoenix.</note> - </trans-unit> - <trans-unit id="Post" xml:space="preserve"> - <source>Post</source> - <target>Post</target> - - <note>Button to post a note.</note> - </trans-unit> - <trans-unit id="Posts" xml:space="preserve"> - <source>Posts</source> - <target>Post</target> - - <note>Label for filter for seeing only posts (instead of posts and replies).</note> - </trans-unit> - <trans-unit id="Posts &amp; Replies" xml:space="preserve"> - <source>Posts &amp; Replies</source> - <target>Post &amp; Risposte</target> - - <note>Label for filter for seeing posts and replies (instead of only posts).</note> - </trans-unit> - <trans-unit id="Private" xml:space="preserve"> - <source>Private</source> - <target>Privato</target> - - <note>Heading indicating that this application keeps personally identifiable information private. A sentence describing what is done to keep data private comes after this heading.</note> - </trans-unit> - <trans-unit id="Private Key" xml:space="preserve"> - <source>Private Key</source> - <target>Chiave Privata</target> - - <note>Title of the secure field that holds the user's private key.</note> - </trans-unit> - <trans-unit id="Profile" xml:space="preserve"> - <source>Profile</source> - <target>Profilo1</target> - - <note>Sidebar menu label for Profile view.</note> - </trans-unit> - <trans-unit id="Profile Picture" xml:space="preserve"> - <source>Profile Picture</source> - <target>Foto Profilo</target> - - <note>Label for Profile Picture section of user profile form.</note> - </trans-unit> - <trans-unit id="Public Account ID" xml:space="preserve"> - <source>Public Account ID</source> - <target>ID Pubblico dell'Account</target> - - <note>Section title for the user's public account ID.</note> - </trans-unit> - <trans-unit id="Public Key" xml:space="preserve"> - <source>Public Key</source> - <target>Chiave Pubblica</target> - - <note>Label indicating that the text is a user's public account key.</note> - </trans-unit> - <trans-unit id="Public Key?" xml:space="preserve"> - <source>Public Key?</source> - <target>È la chiave pubblica?</target> - - <note>Prompt to ask user if the key they entered is a public key.</note> - </trans-unit> - <trans-unit id="Public key" xml:space="preserve"> - <source>Public key</source> - <target>Chiave Pubblica</target> - - <note>Label indicating that the text is a user's public account key.</note> - </trans-unit> - <trans-unit id="Reactions" xml:space="preserve"> - <source>Reactions</source> - <target>Reazioni</target> - - <note>Navigation bar title for Reactions view.</note> - </trans-unit> - <trans-unit id="Recommended Relays" xml:space="preserve"> - <source>Recommended Relays</source> - <target>Relè consigliati</target> - - <note>Section title for recommend relay servers that could be added as part of configuration</note> - </trans-unit> - <trans-unit id="Relay" xml:space="preserve"> - <source>Relay</source> - <target>Relè</target> - - <note>Text field for relay server. Used for testing purposes.</note> - </trans-unit> - <trans-unit id="Relays" xml:space="preserve"> - <source>Relays</source> - <target>Relè</target> - - <note>Sidebar menu label for Relay servers view</note> - </trans-unit> - <trans-unit id="Remove all" xml:space="preserve"> - <source>Remove all</source> - <target>Rimuovi tutto</target> - - <note>Button label to remove all participants from a note reply.</note> - </trans-unit> - <trans-unit id="Reply to self" xml:space="preserve"> - <source>Reply to self</source> - <target>Rispondi a te stesso</target> - - <note>Label to indicate that the user is replying to themself.</note> - </trans-unit> - <trans-unit id="Replying to %@ &amp; %@" xml:space="preserve"> - <source>Replying to %1$@ &amp; %2$@</source> - <target>Rispondi a %1$@ e %2$@</target> - - <note>Label to indicate that the user is replying to 2 users.</note> - </trans-unit> - <trans-unit id="Replying to:" xml:space="preserve"> - <source>Replying to:</source> - <target>Rispondi a:</target> - - <note>Indicating that the user is replying to the following listed people.</note> - </trans-unit> - <trans-unit id="Repost" xml:space="preserve"> - <source>Repost</source> - <target>Reposta</target> - - <note>Button to confirm reposting a post. - Title of alert for confirming to repost a post.</note> - </trans-unit> - <trans-unit id="Reposted" xml:space="preserve"> - <source>Reposted</source> - <target>Repostato</target> - - <note>Text indicating that the post was reposted (i.e. re-shared).</note> - </trans-unit> - <trans-unit id="Requests" xml:space="preserve"> - <source>Requests</source> - <target>Richiesta</target> - - <note>Picker option for DM selector for seeing only message requests (DMs that someone else sent the user which has not been responded to yet). DM is the English abbreviation for Direct Message.</note> - </trans-unit> - <trans-unit id="Reset" xml:space="preserve"> - <source>Reset</source> - <target>Ricomincia</target> - - <note>Section title for resetting the user</note> - </trans-unit> - <trans-unit id="Retry" xml:space="preserve"> - <source>Retry</source> - <target>Riprova</target> - - <note>Button to retry completing account creation after an error occurred.</note> - </trans-unit> - <trans-unit id="River" xml:space="preserve"> - <source>River</source> - <target>River</target> - - <note>Dropdown option label for Lightning wallet, River</note> - </trans-unit> - <trans-unit id="Satoshi Nakamoto" xml:space="preserve"> - <source>Satoshi Nakamoto</source> - <target>Satoshi Nakamoto</target> - - <note>Name of Bitcoin creator(s).</note> - </trans-unit> - <trans-unit id="Save" xml:space="preserve"> - <source>Save</source> - <target>Salva</target> - - <note>Button for saving profile.</note> - </trans-unit> - <trans-unit id="Save Image" xml:space="preserve"> - <source>Save Image</source> - <target>Salva Immagine</target> - - <note>Context menu option to save an image.</note> - </trans-unit> - <trans-unit id="Search hashtag: #%@" xml:space="preserve"> - <source>Search hashtag: #%@</source> - <target>Cerca hashtag: #%@</target> - - <note>Navigation link to search hashtag.</note> - </trans-unit> - <trans-unit id="Search..." xml:space="preserve"> - <source>Search...</source> - <target>Cerca...</target> - - <note>Placeholder text to prompt entry of search query.</note> - </trans-unit> - <trans-unit id="Secret Account Login Key" xml:space="preserve"> - <source>Secret Account Login Key</source> - <target>Chiave login segreta dell'Account</target> - - <note>Section title for user's secret account login key.</note> - </trans-unit> - <trans-unit id="Select a Lightning wallet" xml:space="preserve"> - <source>Select a Lightning wallet</source> - <target>Seleziona un portafoglio Lightning</target> - - <note>Title of section for selecting a Lightning wallet to pay a Lightning invoice.</note> - </trans-unit> - <trans-unit id="Select default wallet" xml:space="preserve"> - <source>Select default wallet</source> - <target>Seleziona un wallet predefinito</target> - - <note>Prompt selection of user's default wallet</note> - </trans-unit> - <trans-unit id="Send a message to start the conversation..." xml:space="preserve"> - <source>Send a message to start the conversation...</source> - <target>Invia un messaggio e inizia la conversazione...</target> - - <note>Text prompt for user to send a message to the other user.</note> - </trans-unit> - <trans-unit id="Settings" xml:space="preserve"> - <source>Settings</source> - <target>Impostazioni</target> - - <note>Navigation title for Settings view. - Sidebar menu label for accessing the app settings</note> - </trans-unit> - <trans-unit id="Share" xml:space="preserve"> - <source>Share</source> - <target>Condividi</target> - - <note>Button to share an image.</note> - </trans-unit> - <trans-unit id="Show" xml:space="preserve"> - <source>Show</source> - <target>Mostra</target> - - <note>Toggle to show or hide user's secret account login key.</note> - </trans-unit> - <trans-unit id="Show wallet selector" xml:space="preserve"> - <source>Show wallet selector</source> - <target>Mostra wallet disponibili</target> - - <note>Toggle to show or hide selection of wallet.</note> - </trans-unit> - <trans-unit id="Sign out" xml:space="preserve"> - <source>Sign out</source> - <target>Esci</target> - - <note>Sidebar menu label to sign out of the account.</note> - </trans-unit> - <trans-unit id="Strike" xml:space="preserve"> - <source>Strike</source> - <target>Strike</target> - - <note>Dropdown option label for Lightning wallet, Strike.</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"> - <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>Questa è una chiave pubblica, non potrai postare o interagire in alcun modo. Puoi utilizzarla solo per vedere gli account</target> - - <note>Warning that the inputted account key is a public key and the result of what happens because of it.</note> - </trans-unit> - <trans-unit id="This is an old-style nostr key. We're not sure if it's a pubkey or private key. Please toggle the button below if this a public key." xml:space="preserve"> - <source>This is an old-style nostr key. We're not sure if it's a pubkey or private key. Please toggle the button below if this a public key.</source> - <target>Questa è una chiave di vecchio tipo. Non siamo sicuri se si tratti di una chiave pubblica o privata. Utilizza il pulsante sottostante se si tratta di una chiave pubblica.</target> - - <note>Warning that the inputted account key for login is an old-style and asking user to verify if it is a public key.</note> - </trans-unit> - <trans-unit id="This is your account ID, you can give this to your friends so that they can follow you. Click to copy." xml:space="preserve"> - <source>This is your account ID, you can give this to your friends so that they can follow you. Click to copy.</source> - <target>Questo è l'ID del tuo account. Condividilo con i tuoi amici per farti seguire. Clicca per copiare</target> - - <note>Label to describe that a public key is the user's account ID and what they can do with it.</note> - </trans-unit> - <trans-unit id="This is your secret account key. You need this to access your account. Don't share this with anyone! Save it in a password manager and keep it safe!" xml:space="preserve"> - <source>This is your secret account key. You need this to access your account. Don't share this with anyone! Save it in a password manager and keep it safe!</source> - <target>Questa è la tua chiave privata. Ti serve ad accedere al tuo account. Non condividerla con nessuno! Salvala in un gestore password e tienila al sicuro</target> - - <note>Label to describe that a private key is the user's secret account key and what they should do with it.</note> - </trans-unit> - <trans-unit id="Thread" xml:space="preserve"> - <source>Thread</source> - <target>Thread</target> - - <note>Navigation bar title for note thread. - Navigation bar title for threaded event detail view.</note> - </trans-unit> - <trans-unit id="Type your post here..." xml:space="preserve"> - <source>Type your post here...</source> - <target>Scrivi il tuo post qui...</target> - - <note>Text box prompt to ask user to type their post.</note> - </trans-unit> - <trans-unit id="Unfollow" xml:space="preserve"> - <source>Unfollow</source> - <target>Smetti di seguire</target> - - <note>Button to unfollow a user.</note> - </trans-unit> - <trans-unit id="Unfollowing" xml:space="preserve"> - <source>Unfollowing</source> - <target>Smetti di seguire</target> - - <note>Text to indicate that the button next to it is in a state that indicates that it is in the process of unfollowing a profile.</note> - </trans-unit> - <trans-unit id="Unfollowing..." xml:space="preserve"> - <source>Unfollowing...</source> - <target>Togliendo il segui...</target> - - <note>Label to indicate that the user is in the process of unfollowing another user.</note> - </trans-unit> - <trans-unit id="Unfollows" xml:space="preserve"> - <source>Unfollows</source> - <target>Smetti di seguire</target> - - <note>Text to indicate that the button next to it is in a state that will unfollow a profile when tapped.</note> - </trans-unit> - <trans-unit id="Username" xml:space="preserve"> - <source>Username</source> - <target>Nome utente</target> - - <note>Label for Username section of user profile form. - Label to prompt username entry.</note> - </trans-unit> - <trans-unit id="Wallet" xml:space="preserve"> - <source>Wallet</source> - <target>Portafoglio</target> - - <note>Sidebar menu label for Wallet view.</note> - </trans-unit> - <trans-unit id="Wallet Of Satoshi" xml:space="preserve"> - <source>Wallet Of Satoshi</source> - <target>Wallet Of Satoshi</target> - - <note>Dropdown option label for Lightning wallet, Wallet Of Satoshi.</note> - </trans-unit> - <trans-unit id="Wallet Selector" xml:space="preserve"> - <source>Wallet Selector</source> - <target>Seleziona un portafoglio</target> - - <note>Section title for selection of wallet.</note> - </trans-unit> - <trans-unit id="Website" xml:space="preserve"> - <source>Website</source> - <target>Sito web</target> - - <note>Label for Website section of user profile form.</note> - </trans-unit> - <trans-unit id="Welcome to the social network %@ control." xml:space="preserve"> - <source>Welcome to the social network %@ control.</source> - <target>Benvenuto nel social network %@ controlla.</target> - - <note>Welcoming message to the reader. The variable is 'you', the reader.</note> - </trans-unit> - <trans-unit id="Welcome, %@!" xml:space="preserve"> - <source>Welcome, %@!</source> - <target>Benvenuto, %@!</target> - - <note>Text to welcome user.</note> - </trans-unit> - <trans-unit id="Your Name" xml:space="preserve"> - <source>Your Name</source> - <target>Nome</target> - - <note>Label for Your Name section of user profile form.</note> - </trans-unit> - <trans-unit id="Zebedee" xml:space="preserve"> - <source>Zebedee</source> - <target>Zebedee</target> - - <note>Dropdown option label for Lightning wallet, Zebedee.</note> - </trans-unit> - <trans-unit id="Zeus LN" xml:space="preserve"> - <source>Zeus LN</source> - <target>Zeus LN</target> - - <note>Dropdown option label for Lightning wallet, Zeus LN.</note> - </trans-unit> - <trans-unit id="collapsed_event_view_other_notes" translate="no" xml:space="preserve"> - <source>collapsed_event_view_other_notes</source> - <target>evento compresso, visualizza altre note</target> - - <note>Text to indicate that the thread was collapsed and that there are other notes to view if tapped. (Key in .stringsdict)</note> - </trans-unit> - <trans-unit id="followers_count" translate="no" xml:space="preserve"> - <source>followers_count</source> - <target>contatore seguaci</target> - - <note>Part of a larger sentence to describe how many people are following a user. (Key in .stringsdict)</note> - </trans-unit> - <trans-unit id="https://example.com/pic.jpg" xml:space="preserve"> - <source>https://example.com/pic.jpg</source> - <target>https://esempio.com/foto.jpg</target> - - <note>Placeholder example text for profile picture URL.</note> - </trans-unit> - <trans-unit id="https://jb55.com" xml:space="preserve"> - <source>https://jb55.com</source> - <target>https://jb55.com</target> - - <note>Placeholder example text for website URL for user profile.</note> - </trans-unit> - <trans-unit id="jb55@jb55.com" xml:space="preserve"> - <source>jb55@jb55.com</source> - <target>jb55@jb55.com</target> - - <note>Placeholder example text for identifier used for NIP-05 verification.</note> - </trans-unit> - <trans-unit id="none" xml:space="preserve"> - <source>none</source> - <target>Nessun risultato</target> - - <note>No search results.</note> - </trans-unit> - <trans-unit id="now" xml:space="preserve"> - <source>now</source> - <target>ora</target> - - <note>String indicating that a given timestamp just occurred</note> - </trans-unit> - <trans-unit id="nsec1..." xml:space="preserve"> - <source>nsec1...</source> - <target>nsec1...</target> - - <note>Prompt for user to enter in an account key to login. This text shows the characters the key could start with if it was a private key.</note> - </trans-unit> - <trans-unit id="optional" xml:space="preserve"> - <source>optional</source> - <target>opzione1</target> - - <note>Label indicating that a form input is optional.</note> - </trans-unit> - <trans-unit id="reactions_count" translate="no" xml:space="preserve"> - <source>reactions_count</source> - <target>contatore reazioni</target> - - <note>Part of a larger sentence to describe how many reactions there are on a post. (Key in .stringsdict)</note> - </trans-unit> - <trans-unit id="relays_count" translate="no" xml:space="preserve"> - <source>relays_count</source> - <target>contatore relè</target> - - <note>Part of a larger sentence to describe how many relay servers a user is connected. (Key in .stringsdict)</note> - </trans-unit> - <trans-unit id="replying_to_one_and_others" translate="no" xml:space="preserve"> - <source>replying_to_one_and_others</source> - <target>Rispondi ad uno e ad altri</target> - - <note>Label to indicate that the user is replying to 1 user and others. (Key in .stringsdict)</note> - </trans-unit> - <trans-unit id="replying_to_two_and_others" translate="no" xml:space="preserve"> - <source>replying_to_two_and_others</source> - <target>Rispondi a due e ad altri</target> - - <note>Label to indicate that the user is replying to 2 users and others. (Key in .stringsdict)</note> - </trans-unit> - <trans-unit id="reposts_count" translate="no" xml:space="preserve"> - <source>reposts_count</source> - <target>contatore repost</target> - - <note>Part of a larger sentence to describe how many reposts there are. (Key in .stringsdict)</note> - </trans-unit> - <trans-unit id="satoshi" xml:space="preserve"> - <source>satoshi</source> - <target>satoshi</target> - - <note>Example username of Bitcoin creator(s), Satoshi Nakamoto.</note> - </trans-unit> - <trans-unit id="sats_count" translate="no" xml:space="preserve"> - <source>sats_count</source> - <target>contatore sats</target> - - <note>Amount of sats. (Key in .stringsdict)</note> - </trans-unit> - <trans-unit id="tips_count" translate="no" xml:space="preserve"> - <source>tips_count</source> - <target>contatore mance</target> - - <note>Part of a larger sentence to describe how many tip payments there are on a post. (Key in .stringsdict)</note> - </trans-unit> - <trans-unit id="u{00A0}" xml:space="preserve"> - <source>u{00A0}</source> - <target>u{00A0}</target> - - <note>Non-breaking space character to fill in blank space next to event action button icons.</note> - </trans-unit> - <trans-unit id="wss://some.relay.com" xml:space="preserve"> - <source>wss://some.relay.com</source> - <target>wss://un.relè.com</target> - - <note>Placeholder example for relay server address.</note> - </trans-unit> - <trans-unit id="you" xml:space="preserve"> - <source>you</source> - <target>tu</target> - - <note>You, in this context, is the person who controls their own social network. You is used in the context of a larger sentence that welcomes the reader to the social network that they control themself.</note> - </trans-unit> - </body> - </file> - <file original="damus/en-US.lproj/Localizable.stringsdict" source-language="en-US" target-language="it-CH" datatype="plaintext"> - <header> - <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="14.2" build-num="14C18"/> - </header> - <body> - <trans-unit id="/collapsed_event_view_other_notes:dict/NOTES:dict/one:dict/:string" xml:space="preserve"> - <source>%d other note</source> - <target>%d other note</target> - - <note>Text to indicate that the thread was collapsed and that there are other notes to view if tapped.</note> - </trans-unit> - <trans-unit id="/collapsed_event_view_other_notes:dict/NOTES:dict/other:dict/:string" xml:space="preserve"> - <source>%d other notes</source> - <target>%d other notes</target> - - <note>Text to indicate that the thread was collapsed and that there are other notes to view if tapped.</note> - </trans-unit> - <trans-unit id="/collapsed_event_view_other_notes:dict/NSStringLocalizedFormatKey:dict/:string" xml:space="preserve"> - <source>··· %#@NOTES@ ···</source> - <target>··· %#@NOTES@ ···</target> - - <note>Text to indicate that the thread was collapsed and that there are other notes to view if tapped.</note> - </trans-unit> - <trans-unit id="/followers_count:dict/FOLLOWERS:dict/one:dict/:string" xml:space="preserve"> - <source>Follower</source> - <target>Follower</target> - - <note>Part of a larger sentence to describe how many people are following a user.</note> - </trans-unit> - <trans-unit id="/followers_count:dict/FOLLOWERS:dict/other:dict/:string" xml:space="preserve"> - <source>Followers</source> - <target>Followers</target> - - <note>Part of a larger sentence to describe how many people are following a user.</note> - </trans-unit> - <trans-unit id="/followers_count:dict/NSStringLocalizedFormatKey:dict/:string" xml:space="preserve"> - <source>%#@FOLLOWERS@</source> - <target>%#@FOLLOWERS@</target> - - <note>Part of a larger sentence to describe how many people are following a user.</note> - </trans-unit> - <trans-unit id="/reactions_count:dict/NSStringLocalizedFormatKey:dict/:string" xml:space="preserve"> - <source>%#@REACTIONS@</source> - <target>%#@REACTIONS@</target> - - <note>Part of a larger sentence to describe how many reactions there are on a post.</note> - </trans-unit> - <trans-unit id="/reactions_count:dict/REACTIONS:dict/one:dict/:string" xml:space="preserve"> - <source>Reaction</source> - <target>Reaction</target> - - <note>Part of a larger sentence to describe how many reactions there are on a post.</note> - </trans-unit> - <trans-unit id="/reactions_count:dict/REACTIONS:dict/other:dict/:string" xml:space="preserve"> - <source>Reactions</source> - <target>Reactions</target> - - <note>Part of a larger sentence to describe how many reactions there are on a post.</note> - </trans-unit> - <trans-unit id="/relays_count:dict/NSStringLocalizedFormatKey:dict/:string" xml:space="preserve"> - <source>%#@RELAYS@</source> - <target>%#@RELAYS@</target> - - <note>Part of a larger sentence to describe how many relay servers a user is connected.</note> - </trans-unit> - <trans-unit id="/relays_count:dict/RELAYS:dict/one:dict/:string" xml:space="preserve"> - <source>Relay</source> - <target>Relay</target> - - <note>Part of a larger sentence to describe how many relay servers a user is connected.</note> - </trans-unit> - <trans-unit id="/relays_count:dict/RELAYS:dict/other:dict/:string" xml:space="preserve"> - <source>Relays</source> - <target>Relays</target> - - <note>Part of a larger sentence to describe how many relay servers a user is connected.</note> - </trans-unit> - <trans-unit id="/replying_to_one_and_others:dict/NSStringLocalizedFormatKey:dict/:string" xml:space="preserve"> - <source>Replying to %@%#@OTHERS@</source> - <target>Replying to %@%#@OTHERS@</target> - - <note>Label to indicate that the user is replying to 1 user and others.</note> - </trans-unit> - <trans-unit id="/replying_to_one_and_others:dict/OTHERS:dict/one:dict/:string" xml:space="preserve"> - <source> &amp; %d other</source> - <target> &amp; %d other</target> - - <note>Label to indicate that the user is replying to 1 user and others.</note> - </trans-unit> - <trans-unit id="/replying_to_one_and_others:dict/OTHERS:dict/other:dict/:string" xml:space="preserve"> - <source> &amp; %d others</source> - <target> &amp; %d others</target> - - <note>Label to indicate that the user is replying to 1 user and others.</note> - </trans-unit> - <trans-unit id="/replying_to_one_and_others:dict/OTHERS:dict/zero:dict/:string" xml:space="preserve"> - <source/> - <note>Label to indicate that the user is replying to 1 user and others.</note> - </trans-unit> - <trans-unit id="/replying_to_two_and_others:dict/NSStringLocalizedFormatKey:dict/:string" xml:space="preserve"> - <source>Replying to %@, %@%#@OTHERS@</source> - <target>Replying to %@, %@%#@OTHERS@</target> - - <note>Label to indicate that the user is replying to 2 users and others.</note> - </trans-unit> - <trans-unit id="/replying_to_two_and_others:dict/OTHERS:dict/one:dict/:string" xml:space="preserve"> - <source> &amp; %d other</source> - <target> &amp; %d other</target> - - <note>Label to indicate that the user is replying to 2 users and others.</note> - </trans-unit> - <trans-unit id="/replying_to_two_and_others:dict/OTHERS:dict/other:dict/:string" xml:space="preserve"> - <source> &amp; %d others</source> - <target> &amp; %d others</target> - - <note>Label to indicate that the user is replying to 2 users and others.</note> - </trans-unit> - <trans-unit id="/replying_to_two_and_others:dict/OTHERS:dict/zero:dict/:string" xml:space="preserve"> - <source/> - <note>Label to indicate that the user is replying to 2 users and others.</note> - </trans-unit> - <trans-unit id="/reposts_count:dict/NSStringLocalizedFormatKey:dict/:string" xml:space="preserve"> - <source>%#@REPOSTS@</source> - <target>%#@REPOSTS@</target> - - <note>Part of a larger sentence to describe how many reposts there are.</note> - </trans-unit> - <trans-unit id="/reposts_count:dict/REPOSTS:dict/one:dict/:string" xml:space="preserve"> - <source>Repost</source> - <target>Repost</target> - - <note>Part of a larger sentence to describe how many reposts there are.</note> - </trans-unit> - <trans-unit id="/reposts_count:dict/REPOSTS:dict/other:dict/:string" xml:space="preserve"> - <source>Reposts</source> - <target>Reposts</target> - - <note>Part of a larger sentence to describe how many reposts there are.</note> - </trans-unit> - <trans-unit id="/sats_count:dict/NSStringLocalizedFormatKey:dict/:string" xml:space="preserve"> - <source>%1$#@SATS@</source> - <target>%1$#@SATS@</target> - - <note>Amount of sats.</note> - </trans-unit> - <trans-unit id="/sats_count:dict/SATS:dict/one:dict/:string" xml:space="preserve"> - <source>%2$@ sat</source> - <target>%2$@ sat</target> - - <note>Amount of sats.</note> - </trans-unit> - <trans-unit id="/sats_count:dict/SATS:dict/other:dict/:string" xml:space="preserve"> - <source>%2$@ sats</source> - <target>%2$@ sats</target> - - <note>Amount of sats.</note> - </trans-unit> - <trans-unit id="/tips_count:dict/NSStringLocalizedFormatKey:dict/:string" xml:space="preserve"> - <source>%#@TIPS@</source> - <target>%#@TIPS@</target> - - <note>Part of a larger sentence to describe how many tip payments there are on a post.</note> - </trans-unit> - <trans-unit id="/tips_count:dict/TIPS:dict/one:dict/:string" xml:space="preserve"> - <source>Tip</source> - <target>Tip</target> - - <note>Part of a larger sentence to describe how many tip payments there are on a post.</note> - </trans-unit> - <trans-unit id="/tips_count:dict/TIPS:dict/other:dict/:string" xml:space="preserve"> - <source>Tips</source> - <target>Tips</target> - - <note>Part of a larger sentence to describe how many tip payments there are on a post.</note> - </trans-unit> - </body> - </file> -</xliff>- \ No newline at end of file diff --git a/damus.xcodeproj/project.pbxproj b/damus.xcodeproj/project.pbxproj @@ -231,9 +231,6 @@ 3ACB685B297633BC00C46468 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/InfoPlist.strings"; sourceTree = "<group>"; }; 3ACB685E297633BC00C46468 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = "<group>"; }; 3ACBCB77295FE5C70037388A /* TimeAgoTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimeAgoTests.swift; sourceTree = "<group>"; }; - 3ACD32D0297F2D1E002F68B9 /* it-CH */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "it-CH"; path = "it-CH.lproj/InfoPlist.strings"; sourceTree = "<group>"; }; - 3ACD32D1297F2D1E002F68B9 /* it-CH */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "it-CH"; path = "it-CH.lproj/Localizable.strings"; sourceTree = "<group>"; }; - 3ACD32D2297F2D1E002F68B9 /* it-CH */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "it-CH"; path = "it-CH.lproj/Localizable.stringsdict"; sourceTree = "<group>"; }; 3AEABD20297CCFA8003F2975 /* de-DE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "de-DE"; path = "de-DE.lproj/InfoPlist.strings"; sourceTree = "<group>"; }; 3AEABD21297CCFA8003F2975 /* de-DE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "de-DE"; path = "de-DE.lproj/Localizable.strings"; sourceTree = "<group>"; }; 3AEABD22297CCFA8003F2975 /* de-DE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "de-DE"; path = "de-DE.lproj/Localizable.stringsdict"; sourceTree = "<group>"; }; @@ -953,7 +950,6 @@ "tr-TR", "fr-FR", "lv-LV", - "it-CH", "it-IT", ); mainGroup = 4CE6DEDA27F7A08100C66700; @@ -1221,7 +1217,6 @@ 3AEB8005297CCEA900713A25 /* tr-TR */, 3A4F3322297CCFEE004B5F72 /* fr-FR */, 3A185A06297F2C3800F4BDC0 /* lv-LV */, - 3ACD32D2297F2D1E002F68B9 /* it-CH */, 3A929C22297F2CF80090925E /* it-IT */, ); name = Localizable.stringsdict; @@ -1236,7 +1231,6 @@ 3AEB8003297CCEA800713A25 /* tr-TR */, 3A4F3320297CCFEE004B5F72 /* fr-FR */, 3A185A04297F2C3800F4BDC0 /* lv-LV */, - 3ACD32D0297F2D1E002F68B9 /* it-CH */, 3A929C20297F2CF80090925E /* it-IT */, ); name = InfoPlist.strings; @@ -1251,7 +1245,6 @@ 3AEB8004297CCEA800713A25 /* tr-TR */, 3A4F3321297CCFEE004B5F72 /* fr-FR */, 3A185A05297F2C3800F4BDC0 /* lv-LV */, - 3ACD32D1297F2D1E002F68B9 /* it-CH */, 3A929C21297F2CF80090925E /* it-IT */, ); name = Localizable.strings; diff --git a/damus/ContentView.swift b/damus/ContentView.swift @@ -434,21 +434,26 @@ struct ContentView: View { .onReceive(handle_notify(.new_mutes)) { notif in home.filter_muted() } - .alert("User blocked", isPresented: $user_blocked_confirm, actions: { - Button("Thanks!") { + .alert(NSLocalizedString("User blocked", comment: "Alert message to indicate "), isPresented: $user_blocked_confirm, actions: { + Button(NSLocalizedString("Thanks!", comment: "Button to close out of alert that informs that the action to block a user was successful.")) { user_blocked_confirm = false } }, message: { if let pubkey = self.blocking { let profile = damus_state!.profiles.lookup(id: pubkey) let name = Profile.displayName(profile: profile, pubkey: pubkey) - Text("\(name) has been blocked") + Text("\(name) has been blocked", comment: "Alert message that informs a user was blocked.") } 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: { - Button("Yes, Overwrite") { + .alert(NSLocalizedString("Create new mutelist", comment: "Title of alert prompting the user to create a new mutelist."), isPresented: $confirm_overwrite_mutelist, actions: { + 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.")) { guard let ds = damus_state else { return } @@ -472,20 +477,18 @@ struct ContentView: View { confirm_block = false user_blocked_confirm = true } - - Button("Cancel") { - confirm_overwrite_mutelist = false - confirm_block = false - } }, 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.") }) - .alert("Block User", isPresented: $confirm_block, actions: { - Button("Block") { + .alert(NSLocalizedString("Block User", comment: "Title of alert for blocking a user."), isPresented: $confirm_block, actions: { + Button(NSLocalizedString("Cancel", comment: "Alert button to cancel out of alert for blocking a user."), role: .cancel) { + confirm_block = false + } + Button(NSLocalizedString("Block", comment: "Alert button to block a user."), role: .destructive) { guard let ds = damus_state else { return } - + if ds.contacts.mutelist == nil { confirm_overwrite_mutelist = true } else { @@ -495,7 +498,7 @@ struct ContentView: View { guard let pubkey = blocking else { return } - + guard let ev = create_or_update_mutelist(keypair: keypair, mprev: ds.contacts.mutelist, to_add: pubkey) else { return } @@ -503,17 +506,13 @@ struct ContentView: View { ds.pool.send(.event(ev)) } } - - Button("Cancel") { - confirm_block = false - } }, message: { if let pubkey = blocking { let profile = damus_state?.profiles.lookup(id: pubkey) let name = Profile.displayName(profile: profile, pubkey: pubkey) - Text("Block \(name)?") + Text("Block \(name)?", comment: "Alert message prompt to ask if a user should be blocked.") } else { - Text("Could not find user to block...") + Text("Could not find user to block...", comment: "Alert message to indicate that the blocked user could not be found.") } }) } diff --git a/damus/Views/ChatroomView.swift b/damus/Views/ChatroomView.swift @@ -24,7 +24,7 @@ struct ChatroomView: View { next_ev: ind == count-1 ? nil : thread.events[ind+1], damus_state: damus ) - .event_context_menu(ev, pubkey: ev.pubkey, privkey: damus.keypair.privkey) + .event_context_menu(ev, keypair: damus.keypair) .onTapGesture { if thread.initial_event.id == ev.id { //dismiss() diff --git a/damus/Views/ConfigView.swift b/damus/Views/ConfigView.swift @@ -139,10 +139,10 @@ struct ConfigView: View { .navigationTitle(NSLocalizedString("Settings", comment: "Navigation title for Settings view.")) .navigationBarTitleDisplayMode(.large) .alert(NSLocalizedString("Logout", comment: "Alert for logging out the user."), isPresented: $confirm_logout) { - Button(NSLocalizedString("Cancel", comment: "Cancel out of logging out the user.")) { + Button(NSLocalizedString("Cancel", comment: "Cancel out of logging out the user."), role: .cancel) { confirm_logout = false } - Button(NSLocalizedString("Logout", comment: "Button for logging out the user.")) { + Button(NSLocalizedString("Logout", comment: "Button for logging out the user."), role: .destructive) { notify(.logout, ()) } } message: { diff --git a/damus/Views/DMChatView.swift b/damus/Views/DMChatView.swift @@ -19,7 +19,7 @@ struct DMChatView: View { VStack(alignment: .leading) { ForEach(Array(zip(dms.events, dms.events.indices)), id: \.0.id) { (ev, ind) in DMView(event: dms.events[ind], damus_state: damus_state) - .event_context_menu(ev, pubkey: ev.pubkey, privkey: damus_state.keypair.privkey) + .event_context_menu(ev, keypair: damus_state.keypair) } EndBlock(height: 80) } diff --git a/damus/Views/EULAView.swift b/damus/Views/EULAView.swift @@ -16,7 +16,7 @@ struct EULAView: View { DamusGradient() ScrollView { - Text("EULA") + Text("EULA", comment: "Label indicating that the below text is the EULA, an acronym for End User License Agreement.") .font(.title.bold()) .foregroundColor(.white) @@ -72,11 +72,11 @@ By using our Application, you signify your acceptance of this EULA. If you do no NavigationLink(destination: CreateAccountView(), isActive: $creating_account) { EmptyView() } - DamusWhiteButton("Accept") { + DamusWhiteButton(NSLocalizedString("Accept", comment: "Button to accept the end user license agreement before being allowed into the app.")) { 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.")) { dismiss() } } diff --git a/damus/Views/EventView.swift b/damus/Views/EventView.swift @@ -129,7 +129,7 @@ struct EventView: View { .id(event.id) .frame(maxWidth: .infinity, minHeight: PFP_SIZE) .padding([.bottom], 2) - .event_context_menu(event, pubkey: pubkey, privkey: damus.keypair.privkey) + .event_context_menu(event, keypair: damus.keypair) } } @@ -171,9 +171,9 @@ extension View { } } - func event_context_menu(_ event: NostrEvent, pubkey: String, privkey: String?) -> some View { + func event_context_menu(_ event: NostrEvent, keypair: Keypair) -> some View { return self.contextMenu { - EventMenuContext(event: event, privkey: privkey, pubkey: pubkey) + EventMenuContext(event: event, keypair: keypair) } } diff --git a/damus/Views/Events/EmbeddedEventView.swift b/damus/Views/Events/EmbeddedEventView.swift @@ -23,7 +23,7 @@ struct EmbeddedEventView: View { EventBody(damus_state: damus_state, event: event, size: .small) } - .event_context_menu(event, pubkey: pubkey, privkey: damus_state.keypair.privkey) + .event_context_menu(event, keypair: damus_state.keypair) } } diff --git a/damus/Views/Events/EventMenu.swift b/damus/Views/Events/EventMenu.swift @@ -9,19 +9,18 @@ import SwiftUI struct EventMenuContext: View { let event: NostrEvent - let privkey: String? - let pubkey: String + let keypair: Keypair var body: some View { Button { - UIPasteboard.general.string = event.get_content(privkey) + UIPasteboard.general.string = event.get_content(keypair.privkey) } label: { Label(NSLocalizedString("Copy Text", comment: "Context menu option for copying the text from an note."), systemImage: "doc.on.doc") } Button { - UIPasteboard.general.string = bech32_pubkey(pubkey) ?? pubkey + UIPasteboard.general.string = keypair.pubkey_bech32 } label: { Label(NSLocalizedString("Copy User Pubkey", comment: "Context menu option for copying the ID of the user who created the note."), systemImage: "person") } @@ -37,25 +36,28 @@ struct EventMenuContext: View { } label: { Label(NSLocalizedString("Copy Note JSON", comment: "Context menu option for copying the JSON text from the note."), systemImage: "square.on.square") } - - Button { - let target: ReportTarget = .note(ReportNoteTarget(pubkey: event.pubkey, note_id: event.id)) - notify(.report, target) - } label: { - Label(NSLocalizedString("Report", comment: "Context menu option for reporting content."), systemImage: "exclamationmark.bubble") - } - - Button { - notify(.block, event.pubkey) - } label: { - Label(NSLocalizedString("Block", comment: "Context menu option for blocking users."), systemImage: "exclamationmark.octagon") - } Button { NotificationCenter.default.post(name: .broadcast_event, object: event) } label: { Label(NSLocalizedString("Broadcast", comment: "Context menu option for broadcasting the user's note to all of the user's connected relay servers."), systemImage: "globe") } + + // Only allow reporting if logged in with private key and the currently viewed profile is not the logged in profile. + if keypair.pubkey != event.pubkey && keypair.privkey != nil { + Button(role: .destructive) { + let target: ReportTarget = .note(ReportNoteTarget(pubkey: event.pubkey, note_id: event.id)) + notify(.report, target) + } label: { + Label(NSLocalizedString("Report", comment: "Context menu option for reporting content."), systemImage: "exclamationmark.bubble") + } + + Button(role: .destructive) { + notify(.block, event.pubkey) + } label: { + Label(NSLocalizedString("Block", comment: "Context menu option for blocking users."), systemImage: "exclamationmark.octagon") + } + } } } diff --git a/damus/Views/Events/SelectedEventView.swift b/damus/Views/Events/SelectedEventView.swift @@ -49,7 +49,7 @@ struct SelectedEventView: View { .padding([.top], 4) } .padding([.leading], 2) - .event_context_menu(event, pubkey: pubkey, privkey: damus.keypair.privkey) + .event_context_menu(event, keypair: damus.keypair) } } } diff --git a/damus/Views/Muting/MutelistView.swift b/damus/Views/Muting/MutelistView.swift @@ -43,7 +43,7 @@ struct MutelistView: View { RemoveAction(pubkey: pubkey) } } - .navigationTitle("Blocked Users") + .navigationTitle(NSLocalizedString("Blocked Users", comment: "Navigation title of view to see list of blocked users.")) } } diff --git a/damus/Views/ProfileView.swift b/damus/Views/ProfileView.swift @@ -374,18 +374,21 @@ struct ProfileView: View { } } } - .confirmationDialog("Actions", isPresented: $action_sheet_presented) { - Button("Share") { + .confirmationDialog(NSLocalizedString("Actions", comment: "Title for confirmation dialog to either share, report, or block a profile."), isPresented: $action_sheet_presented) { + Button(NSLocalizedString("Share", comment: "Button to share the link to a profile.")) { show_share_sheet = true } - - Button("Report") { - let target: ReportTarget = .user(profile.pubkey) - notify(.report, target) - } - - Button("Block") { - notify(.block, profile.pubkey) + + // Only allow reporting if logged in with private key and the currently viewed profile is not the logged in profile. + if profile.pubkey != damus_state.pubkey && damus_state.is_privkey_user { + Button(NSLocalizedString("Report", comment: "Button to report a profile."), role: .destructive) { + let target: ReportTarget = .user(profile.pubkey) + notify(.report, target) + } + + Button(NSLocalizedString("Block", comment: "Button to block a profile."), role: .destructive) { + notify(.block, profile.pubkey) + } } } .ignoresSafeArea() diff --git a/damus/Views/ReportView.swift b/damus/Views/ReportView.swift @@ -25,16 +25,16 @@ struct ReportView: View { var Success: some View { VStack(alignment: .center, spacing: 20) { - Text("Report sent!") + Text("Report sent!", comment: "Message indicating that a report was successfully sent to relay servers.") .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) - Button("Copy Report ID") { + Button(NSLocalizedString("Copy Report ID", comment: "Button to copy report ID.")) { UIPasteboard.general.string = report_id let g = UIImpactFeedbackGenerator(style: .medium) g.impactOccurred() @@ -59,33 +59,33 @@ struct ReportView: View { var MainForm: some View { VStack { - Text("Report") + Text("Report", comment: "Label indicating that the current view is for the user to report content.") .font(.headline) .padding() Form { 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) } - 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) } - 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) } if case .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) } } }, 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: { - 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.") }) } } diff --git a/damus/Views/SideMenuView.swift b/damus/Views/SideMenuView.swift @@ -148,10 +148,10 @@ struct SideMenuView: View { isSidebarVisible.toggle() } .alert("Logout", isPresented: $confirm_logout) { - Button(NSLocalizedString("Cancel", comment: "Cancel out of logging out the user.")) { + Button(NSLocalizedString("Cancel", comment: "Cancel out of logging out the user."), role: .cancel) { confirm_logout = false } - Button(NSLocalizedString("Logout", comment: "Button for logging out the user.")) { + Button(NSLocalizedString("Logout", comment: "Button for logging out the user."), role: .destructive) { notify(.logout, ()) } } message: { diff --git a/damus/it-CH.lproj/InfoPlist.strings b/damus/it-CH.lproj/InfoPlist.strings @@ -1,9 +0,0 @@ -/* Bundle display name */ -"CFBundleDisplayName" = "Damus"; - -/* Bundle name */ -"CFBundleName" = "damus"; - -/* Privacy - Photo Library Additions Usage Description */ -"NSPhotoLibraryAddUsageDescription" = "Dai il permesso a Damus di accedere alle tue Foto per salvare immagini"; - diff --git a/damus/it-CH.lproj/Localizable.strings b/damus/it-CH.lproj/Localizable.strings @@ -1,503 +0,0 @@ -/* Blank space to separate profile picture from profile editor form. */ -" " = "61b6edf1108e6f396680a33b02486a70_tr"; - -/* Description of how the nip05 identifier would be used for verification. */ -"'%@' at '%@' will be used for verification" = "'%@' at '%@' sarà usato per la verifica"; - -/* Description of why the nip05 identifier is invalid. */ -"'%@' is an invalid nip05 identifier. It should look like an email." = "'%@' non è valido. Dovrebbe essere simile ad un indirizzo email."; - -/* Navigation bar title for view that shows who is following a user. */ -"(Profile.displayName(profile: profile, pubkey: whos))'s Followers" = "Seguaci di (Profile.displayName(profile: profile, pubkey: whos))'"; - -/* Navigation bar title for view that shows who a user is following. */ -"(who) following" = "(who) segui già"; - -/* Prefix character to username. */ -"@" = "@"; - -/* Amount of time that has passed since reply quote event occurred. -Abbreviated version of a nostr public key. */ -"%@" = "%@"; - -/* 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'. -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'. */ -"%@ %@" = "%@ %@"; - -/* Explanation of what is done to keep personally identifiable information private. There is a heading that precedes this explanation which is a variable to this string. */ -"%@. Creating an account doesn't require a phone number, email or name. Get started right away with zero friction." = "%@. Per creare un account non hai bisogno di un numero di telefono, un indirizzo email o del tuo nome. Inizia ora senza impegni."; - -/* Explanation of what is done to keep private data encrypted. There is a heading that precedes this explanation which is a variable to this string. */ -"%@. End-to-End encrypted private messaging. Keep Big Tech out of your DMs" = "%@. I messaggi sono criptati utilizzando la crittografia end-to-end. Mantieni i colossi della tecnologia lontani dai tuoi messaggi"; - -/* Explanation of what can be done by users to earn money. There is a heading that precedes this explanation which is a variable to this string. */ -"%@. Tip your friend's posts and stack sats with Bitcoin⚡️, the native currency of the internet." = "%@. Paga i tuoi amici e accumula sats con Bitcoin⚡️, la moneta di internet."; - -/* Number of reposts. -Number of profiles a user is following. */ -"%lld" = "%lld"; - -/* Fraction of how many of the user's relay servers that are operational. */ -"%lld/%lld" = "%lld/%lld"; - -/* Placeholder for event mention. */ -"< e >" = "< e >"; - -/* Label to prompt for about text entry for user to describe about themself. */ -"About" = "Informazioni"; - -/* Label for About Me section of user profile form. */ -"About Me" = "Io"; - -/* Placeholder text for About Me description. */ -"Absolute Boss" = "Capo supremo"; - -/* Label to indicate the public ID of the account. */ -"Account ID" = "ID dell'account"; - -/* Button to add recommended relay server. - Button to confirm adding user inputted relay. */ -"Add" = "Aggiungi"; - -/* Button label to re-add all original participants as profiles to reply to in a note */ -"Add all" = "Aggiungi tutto"; - -/* Label for section for adding a relay server. */ -"Add Relay" = "Aggiungi relè"; - -/* Any amount of sats */ -"Any" = "Qualsiasi"; - -/* Alert message to ask if user wants to repost a post. */ -"Are you sure you want to repost this?" = "Sei sicuro di voler segnalare questo post?"; - -/* Label for Banner Image section of user profile form. */ -"Banner Image" = "Immagine banner"; - -/* Reminder to user that they should save their account information. */ -"Before we get started, you'll need to save your account info, otherwise you won't be able to login in the future if you ever uninstall Damus." = "Prima di iniziare, dovrai salvare le informazioni del tuo account altrimenti non sarai in grado di accedere in futuro se dovessi disinstallare Damus."; - -/* Dropdown option label for Lightning wallet, Bitcoin Beach. */ -"Bitcoin Beach" = "Bitcoin Beach"; - -/* Label for Bitcoin Lightning Tips section of user profile form. */ -"Bitcoin Lightning Tips" = "Mancia con Bitcoin Lightning"; - -/* Dropdown option label for Lightning wallet, Blixt Wallet */ -"Blixt Wallet" = "Blixt Wallet"; - -/* Dropdown option label for Lightning wallet, Blue Wallet. */ -"Blue Wallet" = "Blue Wallet"; - -/* Dropdown option label for Lightning wallet, Breez. */ -"Breez" = "Breez"; - -/* Context menu option for broadcasting the user's note to all of the user's connected relay servers. */ -"Broadcast" = "Trasmetti"; - -/* Button to cancel out of posting a note. - Button to cancel out of reposting a post. - Button to cancel out of view adding user inputted relay. - Cancel out of logging out the user. */ -"Cancel" = "Annulla"; - -/* Dropdown option label for Lightning wallet, Cash App. */ -"Cash App" = "Cash App"; - -/* Navigation bar title for Chatroom view. */ -"Chat" = "Chat"; - -/* Button for clearing cached data. */ -"Clear" = "Cancella"; - -/* Section title for clearing cached data. */ -"Clear Cache" = "Cancella cache"; - -/* Label indicating that a user's key was copied. */ -"Copied" = "Copiato"; - -/* Button to copy a relay server address. */ -"Copy" = "Copia"; - -/* Context menu option for copying the ID of the account that created the note. */ -"Copy Account ID" = "Copia ID dell'Account"; - -/* Context menu option to copy an image into clipboard. - Context menu option to copy an image to clipboard. */ -"Copy Image" = "Copia Immagine"; - -/* Context menu option to copy the URL of an image into clipboard. */ -"Copy Image URL" = "Copia URL dell'Immagine"; - -/* Title of section for copying a Lightning invoice identifier. */ -"Copy invoice" = "Copia fattura"; - -/* Context menu option for copying a user's Lightning URL. */ -"Copy LNURL" = "Copia LNURL"; - -/* Context menu option for copying the ID of the note. */ -"Copy Note ID" = "Copia ID della Nota"; - -/* Context menu option for copying the JSON text from the note. */ -"Copy Note JSON" = "Copia JSON della Nota"; - -/* Context menu option for copying the text from an note. */ -"Copy Text" = "Copia Testo"; - -/* Context menu option for copying the ID of the user who created the note. */ -"Copy User ID" = "Copia ID dell'Utente"; - -/* Button to create account. */ -"Create" = "Crea"; - -/* Button to create an account. */ -"Create Account" = "Crea Account"; - -/* Example description about Bitcoin creator(s), Satoshi Nakamoto. */ -"Creator(s) of Bitcoin. Absolute legend." = "Creatore/i di Bitcoin. Leggenda assoluta"; - -/* Name of the app, shown on the first screen when user is not logged in. */ -"Damus" = "Damus"; - -/* Button to pay a Lightning invoice with the user's default Lightning wallet. */ -"Default Wallet" = "Portafoglio Principale"; - -/* Button to delete a relay server that the user connects to. */ -"Delete" = "Cancella"; - -/* Button to dismiss a text field alert. */ -"Dismiss" = "Lascia stare"; - -/* Label to prompt display name entry. */ -"Display Name" = "Nome visualizzato"; - -/* DM selector for seeing either DMs or message requests, which are messages that have not been responded to yet. DM is the English abbreviation for Direct Message. */ -"DM Type" = "Tipo DM"; - -/* Navigation title for DMs view, where DM is the English abbreviation for Direct Message. - Navigation title for view of DMs, where DM is an English abbreviation for Direct Message. */ -"DMs" = "DM"; - -/* Button to dismiss wallet selection view for paying Lightning invoice. */ -"Done" = "Finito"; - -/* Heading indicating that this application allows users to earn money. */ -"Earn Money" = "Guadagna Soldi"; - -/* Button to edit user's profile. */ -"Edit" = "Modifica"; - -/* Text indicating that the view is used for editing which participants are replied to in a note. */ -"Edit participants" = "Modifica partecipanti"; - -/* Heading indicating that this application keeps private messaging end-to-end encrypted. */ -"Encrypted" = "Criptato"; - -/* Prompt for user to enter an account key to login. */ -"Enter your account key to login:" = "Inserisci la chiave del tuo account per accedere"; - -/* Error message indicating why saving keys failed. */ -"Error: %@" = "Errore: %@"; - -/* Filter state for seeing either only posts, or posts & replies. */ -"Filter State" = "Filtra"; - -/* Button to follow a user. */ -"Follow" = "Segui"; - -/* Label describing followers of a user. */ -"Followers" = "Seguaci"; - -/* Text to indicate that the button next to it is in a state that indicates that it is in the process of following a profile. -Part of a larger sentence to describe how many profiles a user is following. */ -"Following" = "Seguiti"; - -/* Label to indicate that the user is in the process of following another user. */ -"Following..." = "Segui già..."; - -/* Text to indicate that button next to it is in a state that will follow a profile when tapped. */ -"Follows" = "Segui"; - -/* Navigation bar title for Global view where posts from all connected relay servers appear. */ -"Global" = "Globale"; - -/* Navigation link to go to post referenced by hex code. */ -"Goto post %@" = "Vai al post %@"; - -/* Navigation link to go to profile. */ -"Goto profile %@" = "Vai al profilo %@"; - -/* Navigation bar title for Home view where posts and replies appear from those who the user is following. */ -"Home" = "Home"; - -/* Placeholder example text for profile picture URL. */ -"https://example.com/pic.jpg" = "https://esempio.com/foto.jpg"; - -/* Placeholder example text for website URL for user profile. */ -"https://jb55.com" = "https://jb55.com"; - -/* Error message indicating that an invalid account key was entered for login. */ -"Invalid key" = "Chiave non valida"; - -/* Placeholder example text for identifier used for NIP-05 verification. */ -"jb55@jb55.com" = "jb55@jb55.com"; - -/* Moves the post button to the left side of the screen */ -"Left Handed" = "Mancino"; - -/* Button to complete account creation and start using the app. */ -"Let's go!" = "Andiamo!"; - -/* Placeholder text for entry of Lightning Address or LNURL. */ -"Lightning Address or LNURL" = "Indirizzo Lightning o LNURL"; - -/* Indicates that the view is for paying a Lightning invoice. */ -"Lightning Invoice" = "Fattura Lightning"; - -/* Dropdown option label for Lightning wallet, LNLink. */ -"LNLink" = "LNLink"; - -/* Dropdown option label for system default for Lightning wallet. */ -"Local default" = "Predefinito"; - -/* Button to log into account. - Button to log into an account. */ -"Login" = "Entra"; - -/* Alert for logging out the user. - Button for logging out the user. - Button to logout the user. */ -"Logout" = "Esci"; - -/* Reminder message in alert to get customer to verify that their private security account key is saved saved before logging out. */ -"Make sure your nsec account key is saved before you logout or you will lose access to this account" = "Assicurati di aver salvato la chiave privata (nSEC) prima di uscire o perderai l'accesso a questo account"; - -/* Dropdown option label for Lightning wallet, Muun. */ -"Muun" = "Muun"; - -/* Label for NIP-05 Verification section of user profile form. */ -"NIP-05 Verification" = "Verifica NIP-05"; - -/* No search results. */ -"none" = "Nessun risultato"; - -/* Indicates that there are no notes in the timeline to view. */ -"Nothing to see here. Check back later!" = "Niente da vedere qui. Controlla dopo!"; - -/* Navigation title for notifications. */ -"Notifications" = "Notifiche"; - -/* String indicating that a given timestamp just occurred */ -"now" = "ora"; - -/* Prompt for user to enter in an account key to login. This text shows the characters the key could start with if it was a private key. */ -"nsec1..." = "nsec1..."; - -/* Label indicating that a form input is optional. */ -"optional" = "opzione1"; - -/* Button to pay a Lightning invoice. */ -"Pay" = "Paga"; - -/* Navigation bar title for view to pay Lightning invoice. */ -"Pay the Lightning invoice" = "Paga la fattura Lightning"; - -/* Dropdown option label for Lightning wallet, Phoenix. */ -"Phoenix" = "Phoenix"; - -/* Button to post a note. */ -"Post" = "Post"; - -/* Label for filter for seeing only posts (instead of posts and replies). */ -"Posts" = "Post"; - -/* Label for filter for seeing posts and replies (instead of only posts). */ -"Posts & Replies" = "Post & Risposte"; - -/* Heading indicating that this application keeps personally identifiable information private. A sentence describing what is done to keep data private comes after this heading. */ -"Private" = "Privato"; - -/* Title of the secure field that holds the user's private key. */ -"Private Key" = "Chiave Privata"; - -/* Sidebar menu label for Profile view. */ -"Profile" = "Profilo1"; - -/* Label for Profile Picture section of user profile form. */ -"Profile Picture" = "Foto Profilo"; - -/* Section title for the user's public account ID. */ -"Public Account ID" = "ID Pubblico dell'Account"; - -/* Label indicating that the text is a user's public account key. */ -"Public key" = "Chiave Pubblica"; - -/* Label indicating that the text is a user's public account key. */ -"Public Key" = "Chiave Pubblica"; - -/* Prompt to ask user if the key they entered is a public key. */ -"Public Key?" = "È la chiave pubblica?"; - -/* Navigation bar title for Reactions view. */ -"Reactions" = "Reazioni"; - -/* Section title for recommend relay servers that could be added as part of configuration */ -"Recommended Relays" = "Relè consigliati"; - -/* Text field for relay server. Used for testing purposes. */ -"Relay" = "Relè"; - -/* Sidebar menu label for Relay servers view */ -"Relays" = "Relè"; - -/* Button label to remove all participants from a note reply. */ -"Remove all" = "Rimuovi tutto"; - -/* Label to indicate that the user is replying to themself. */ -"Reply to self" = "Rispondi a te stesso"; - -/* Label to indicate that the user is replying to 2 users. */ -"Replying to %@ & %@" = "Rispondi a %1$@ e %2$@"; - -/* Indicating that the user is replying to the following listed people. */ -"Replying to:" = "Rispondi a:"; - -/* Button to confirm reposting a post. - Title of alert for confirming to repost a post. */ -"Repost" = "Reposta"; - -/* Text indicating that the post was reposted (i.e. re-shared). */ -"Reposted" = "Repostato"; - -/* Picker option for DM selector for seeing only message requests (DMs that someone else sent the user which has not been responded to yet). DM is the English abbreviation for Direct Message. */ -"Requests" = "Richiesta"; - -/* Section title for resetting the user */ -"Reset" = "Ricomincia"; - -/* Button to retry completing account creation after an error occurred. */ -"Retry" = "Riprova"; - -/* Dropdown option label for Lightning wallet, River */ -"River" = "River"; - -/* Example username of Bitcoin creator(s), Satoshi Nakamoto. */ -"satoshi" = "satoshi"; - -/* Name of Bitcoin creator(s). */ -"Satoshi Nakamoto" = "Satoshi Nakamoto"; - -/* Button for saving profile. */ -"Save" = "Salva"; - -/* Context menu option to save an image. */ -"Save Image" = "Salva Immagine"; - -/* Navigation link to search hashtag. */ -"Search hashtag: #%@" = "Cerca hashtag: #%@"; - -/* Placeholder text to prompt entry of search query. */ -"Search..." = "Cerca..."; - -/* Section title for user's secret account login key. */ -"Secret Account Login Key" = "Chiave login segreta dell'Account"; - -/* Title of section for selecting a Lightning wallet to pay a Lightning invoice. */ -"Select a Lightning wallet" = "Seleziona un portafoglio Lightning"; - -/* Prompt selection of user's default wallet */ -"Select default wallet" = "Seleziona un wallet predefinito"; - -/* Text prompt for user to send a message to the other user. */ -"Send a message to start the conversation..." = "Invia un messaggio e inizia la conversazione..."; - -/* Navigation title for Settings view. - Sidebar menu label for accessing the app settings */ -"Settings" = "Impostazioni"; - -/* Button to share an image. */ -"Share" = "Condividi"; - -/* Toggle to show or hide user's secret account login key. */ -"Show" = "Mostra"; - -/* Toggle to show or hide selection of wallet. */ -"Show wallet selector" = "Mostra wallet disponibili"; - -/* Sidebar menu label to sign out of the account. */ -"Sign out" = "Esci"; - -/* Dropdown option label for Lightning wallet, Strike. */ -"Strike" = "Strike"; - -/* Warning that the inputted account key is a public key and the result of what happens because of it. */ -"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." = "Questa è una chiave pubblica, non potrai postare o interagire in alcun modo. Puoi utilizzarla solo per vedere gli account"; - -/* Warning that the inputted account key for login is an old-style and asking user to verify if it is a public key. */ -"This is an old-style nostr key. We're not sure if it's a pubkey or private key. Please toggle the button below if this a public key." = "Questa è una chiave di vecchio tipo. Non siamo sicuri se si tratti di una chiave pubblica o privata. Utilizza il pulsante sottostante se si tratta di una chiave pubblica."; - -/* Label to describe that a public key is the user's account ID and what they can do with it. */ -"This is your account ID, you can give this to your friends so that they can follow you. Click to copy." = "Questo è l'ID del tuo account. Condividilo con i tuoi amici per farti seguire. Clicca per copiare"; - -/* Label to describe that a private key is the user's secret account key and what they should do with it. */ -"This is your secret account key. You need this to access your account. Don't share this with anyone! Save it in a password manager and keep it safe!" = "Questa è la tua chiave privata. Ti serve ad accedere al tuo account. Non condividerla con nessuno! Salvala in un gestore password e tienila al sicuro"; - -/* Navigation bar title for note thread. - Navigation bar title for threaded event detail view. */ -"Thread" = "Thread"; - -/* Text box prompt to ask user to type their post. */ -"Type your post here..." = "Scrivi il tuo post qui..."; - -/* Non-breaking space character to fill in blank space next to event action button icons. */ -"u{00A0}" = "u{00A0}"; - -/* Button to unfollow a user. */ -"Unfollow" = "Smetti di seguire"; - -/* Text to indicate that the button next to it is in a state that indicates that it is in the process of unfollowing a profile. */ -"Unfollowing" = "Smetti di seguire"; - -/* Label to indicate that the user is in the process of unfollowing another user. */ -"Unfollowing..." = "Togliendo il segui..."; - -/* Text to indicate that the button next to it is in a state that will unfollow a profile when tapped. */ -"Unfollows" = "Smetti di seguire"; - -/* Label for Username section of user profile form. - Label to prompt username entry. */ -"Username" = "Nome utente"; - -/* Sidebar menu label for Wallet view. */ -"Wallet" = "Portafoglio"; - -/* Dropdown option label for Lightning wallet, Wallet Of Satoshi. */ -"Wallet Of Satoshi" = "Wallet Of Satoshi"; - -/* Section title for selection of wallet. */ -"Wallet Selector" = "Seleziona un portafoglio"; - -/* Label for Website section of user profile form. */ -"Website" = "Sito web"; - -/* Welcoming message to the reader. The variable is 'you', the reader. */ -"Welcome to the social network %@ control." = "Benvenuto nel social network %@ controlla."; - -/* Text to welcome user. */ -"Welcome, %@!" = "Benvenuto, %@!"; - -/* Placeholder example for relay server address. */ -"wss://some.relay.com" = "wss://un.relè.com"; - -/* You, in this context, is the person who controls their own social network. You is used in the context of a larger sentence that welcomes the reader to the social network that they control themself. */ -"you" = "tu"; - -/* Label for Your Name section of user profile form. */ -"Your Name" = "Nome"; - -/* Dropdown option label for Lightning wallet, Zebedee. */ -"Zebedee" = "Zebedee"; - -/* Dropdown option label for Lightning wallet, Zeus LN. */ -"Zeus LN" = "Zeus LN"; - diff --git a/damus/it-CH.lproj/Localizable.stringsdict b/damus/it-CH.lproj/Localizable.stringsdict @@ -1,154 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>collapsed_event_view_other_notes</key> - <dict> - <key>NOTES</key> - <dict> - <key>NSStringFormatSpecTypeKey</key> - <string>NSStringPluralRuleType</string> - <key>NSStringFormatValueTypeKey</key> - <string>d</string> - <key>one</key> - <string>%d other note</string> - <key>other</key> - <string>%d other notes</string> - </dict> - <key>NSStringLocalizedFormatKey</key> - <string>··· %#@NOTES@ ···</string> - </dict> - <key>followers_count</key> - <dict> - <key>FOLLOWERS</key> - <dict> - <key>NSStringFormatSpecTypeKey</key> - <string>NSStringPluralRuleType</string> - <key>NSStringFormatValueTypeKey</key> - <string>d</string> - <key>one</key> - <string>Follower</string> - <key>other</key> - <string>Followers</string> - </dict> - <key>NSStringLocalizedFormatKey</key> - <string>%#@FOLLOWERS@</string> - </dict> - <key>reactions_count</key> - <dict> - <key>NSStringLocalizedFormatKey</key> - <string>%#@REACTIONS@</string> - <key>REACTIONS</key> - <dict> - <key>NSStringFormatSpecTypeKey</key> - <string>NSStringPluralRuleType</string> - <key>NSStringFormatValueTypeKey</key> - <string>d</string> - <key>one</key> - <string>Reaction</string> - <key>other</key> - <string>Reactions</string> - </dict> - </dict> - <key>relays_count</key> - <dict> - <key>NSStringLocalizedFormatKey</key> - <string>%#@RELAYS@</string> - <key>RELAYS</key> - <dict> - <key>NSStringFormatSpecTypeKey</key> - <string>NSStringPluralRuleType</string> - <key>NSStringFormatValueTypeKey</key> - <string>d</string> - <key>one</key> - <string>Relay</string> - <key>other</key> - <string>Relays</string> - </dict> - </dict> - <key>replying_to_one_and_others</key> - <dict> - <key>NSStringLocalizedFormatKey</key> - <string>Replying to %@%#@OTHERS@</string> - <key>OTHERS</key> - <dict> - <key>NSStringFormatSpecTypeKey</key> - <string>NSStringPluralRuleType</string> - <key>NSStringFormatValueTypeKey</key> - <string>d</string> - <key>one</key> - <string> &amp; %d other</string> - <key>other</key> - <string> &amp; %d others</string> - <key>zero</key> - <string></string> - </dict> - </dict> - <key>replying_to_two_and_others</key> - <dict> - <key>NSStringLocalizedFormatKey</key> - <string>Replying to %@, %@%#@OTHERS@</string> - <key>OTHERS</key> - <dict> - <key>NSStringFormatSpecTypeKey</key> - <string>NSStringPluralRuleType</string> - <key>NSStringFormatValueTypeKey</key> - <string>d</string> - <key>one</key> - <string> &amp; %d other</string> - <key>other</key> - <string> &amp; %d others</string> - <key>zero</key> - <string></string> - </dict> - </dict> - <key>reposts_count</key> - <dict> - <key>NSStringLocalizedFormatKey</key> - <string>%#@REPOSTS@</string> - <key>REPOSTS</key> - <dict> - <key>NSStringFormatSpecTypeKey</key> - <string>NSStringPluralRuleType</string> - <key>NSStringFormatValueTypeKey</key> - <string>d</string> - <key>one</key> - <string>Repost</string> - <key>other</key> - <string>Reposts</string> - </dict> - </dict> - <key>sats_count</key> - <dict> - <key>NSStringLocalizedFormatKey</key> - <string>%1$#@SATS@</string> - <key>SATS</key> - <dict> - <key>NSStringFormatSpecTypeKey</key> - <string>NSStringPluralRuleType</string> - <key>NSStringFormatValueTypeKey</key> - <string>@</string> - <key>one</key> - <string>%2$@ sat</string> - <key>other</key> - <string>%2$@ sats</string> - </dict> - </dict> - <key>tips_count</key> - <dict> - <key>NSStringLocalizedFormatKey</key> - <string>%#@TIPS@</string> - <key>TIPS</key> - <dict> - <key>NSStringFormatSpecTypeKey</key> - <string>NSStringPluralRuleType</string> - <key>NSStringFormatValueTypeKey</key> - <string>d</string> - <key>one</key> - <string>Tip</string> - <key>other</key> - <string>Tips</string> - </dict> - </dict> -</dict> -</plist>