diff --git a/damus/Components/GradientButtonStyle.swift b/damus/Components/GradientButtonStyle.swift index 55fd6b0e..8cd4ede1 100644 --- a/damus/Components/GradientButtonStyle.swift +++ b/damus/Components/GradientButtonStyle.swift @@ -24,9 +24,11 @@ struct GradientButtonStyle: ButtonStyle { struct GradientButtonStyle_Previews: PreviewProvider { static var previews: some View { VStack { - Button("Dynamic Size", action: { + Button(action: { print("dynamic size") - }) + }) { + Text(verbatim: "Dynamic Size") + } .buttonStyle(GradientButtonStyle()) @@ -34,7 +36,7 @@ struct GradientButtonStyle_Previews: PreviewProvider { print("infinite width") }) { HStack { - Text("Infinite Width") + Text(verbatim: "Infinite Width") } .frame(minWidth: 300, maxWidth: .infinity, alignment: .center) } diff --git a/damus/Util/Hashtags.swift b/damus/Util/Hashtags.swift index 05e84aa9..be13b131 100644 --- a/damus/Util/Hashtags.swift +++ b/damus/Util/Hashtags.swift @@ -60,7 +60,7 @@ func hashtag_str(_ htag: String) -> CompatibleText { } text = Text(attributedString) let img = Image("\(name)-hashtag") - text = text + Text("\(img)").baselineOffset(custom_hashtag.offset ?? 0.0) + text = text + Text(img).baselineOffset(custom_hashtag.offset ?? 0.0) } else { attributedString.foregroundColor = DamusColors.purple } diff --git a/damus/Views/CreateAccountView.swift b/damus/Views/CreateAccountView.swift index dd4a33c3..0804f4e9 100644 --- a/damus/Views/CreateAccountView.swift +++ b/damus/Views/CreateAccountView.swift @@ -66,7 +66,7 @@ struct CreateAccountView: View { self.is_done = true }) { HStack { - Text("Create account now", comment: "Button to create account.") + Text("Create account now", comment: "Button to create account.") .fontWeight(.semibold) } .frame(minWidth: 300, maxWidth: .infinity, maxHeight: 12, alignment: .center) @@ -167,7 +167,7 @@ func FormLabel(_ title: String, optional: Bool = false) -> some View { Text(title) .bold() if optional { - Text("- optional", comment: "Label indicating that a form input is optional.") + Text("optional", comment: "Label indicating that a form input is optional.") .font(.callout) .foregroundColor(DamusColors.mediumGrey) } diff --git a/damus/Views/EULAView.swift b/damus/Views/EULAView.swift index eb6f1d5f..f4d4b26d 100644 --- a/damus/Views/EULAView.swift +++ b/damus/Views/EULAView.swift @@ -117,7 +117,7 @@ struct EULAView: View { .ignoresSafeArea(), alignment: .top ) - .navigationTitle("EULA") + .navigationTitle(NSLocalizedString("EULA", comment: "Navigation title of view that shows the EULA, an acronym for End User License Agreement.")) .navigationBarTitleDisplayMode(.inline) .navigationBarBackButtonHidden(true) .navigationBarItems(leading: BackNav()) diff --git a/damus/Views/Profile/EditMetadataView.swift b/damus/Views/Profile/EditMetadataView.swift index cff82b4c..ebad598d 100644 --- a/damus/Views/Profile/EditMetadataView.swift +++ b/damus/Views/Profile/EditMetadataView.swift @@ -103,13 +103,15 @@ struct EditMetadataView: View { TopSection Form { Section(NSLocalizedString("Your Name", comment: "Label for Your Name section of user profile form.")) { - TextField("Satoshi Nakamoto", text: $display_name) + let display_name_placeholder = "Satoshi Nakamoto" + TextField(display_name_placeholder, text: $display_name) .autocorrectionDisabled(true) .textInputAutocapitalization(.never) } Section(NSLocalizedString("Username", comment: "Label for Username section of user profile form.")) { - TextField("satoshi", text: $name) + let username_placeholder = "satoshi" + TextField(username_placeholder, text: $name) .autocorrectionDisabled(true) .textInputAutocapitalization(.never) diff --git a/damus/Views/SetupView.swift b/damus/Views/SetupView.swift index 89b9422c..1989493c 100644 --- a/damus/Views/SetupView.swift +++ b/damus/Views/SetupView.swift @@ -34,17 +34,12 @@ struct SetupView: View { .shadow(color: DamusColors.purple, radius: 2) .frame(width: 56, height: 56, alignment: .center) .padding(.top, 20.0) - - HStack { - Text("Welcome to", comment: "Welcome text shown on the first screen when user is not logged in.") - .font(.title) - .fontWeight(.heavy) - Text("Damus") - .font(.title) - .fontWeight(.heavy) - .foregroundStyle(DamusLogoGradient.gradient) - } - + + Text("Welcome to Damus", comment: "Welcome text shown on the first screen when user is not logged in.") + .font(.title) + .fontWeight(.heavy) + .foregroundStyle(DamusLogoGradient.gradient) + Text("The go-to iOS nostr client", comment: "Quick description of what Damus is") .foregroundColor(DamusColors.mediumGrey) .padding(.top, 10) @@ -61,7 +56,7 @@ struct SetupView: View { eula.toggle() }) { HStack { - Text("Let's get started!", comment: "Button to continue to login page.") + Text("Let's get started!", comment: "Button to continue to login page.") .fontWeight(.semibold) } .frame(minWidth: 300, maxWidth: .infinity, maxHeight: 12, alignment: .center) @@ -90,7 +85,7 @@ struct LearnAboutNostrLink: View { Button(action: { openURL(URL(string: "https://nostr.com")!) }, label: { - Text("Learn more about nostr") + Text("Learn more about nostr", comment: "Button that opens up a webpage where the user can learn more about nostr.") .foregroundColor(.accentColor) }) @@ -106,11 +101,11 @@ struct WhatIsNostr: View { HStack(alignment: .top) { Image("nostr-logo") VStack(alignment: .leading) { - Text("What is nostr?") + Text("What is nostr?", comment: "Heading text for section describing what is nostr.") .fontWeight(.bold) .padding(.vertical, 10) - Text("Nostr is a protocol, designed for simplicity, that aims to create a censorship-resistant global social network") + Text("Nostr is a protocol, designed for simplicity, that aims to create a censorship-resistant global social network", comment: "Description about what is Nostr.") .foregroundColor(DamusColors.mediumGrey) LearnAboutNostrLink() @@ -125,11 +120,11 @@ struct WhyWeNeedNostr: View { HStack(alignment: .top) { Image("lightbulb") VStack(alignment: .leading) { - Text("Why we need nostr?") + Text("Why we need nostr?", comment: "Heading text for section describing why nostr is needed.") .fontWeight(.bold) .padding(.vertical, 10) - Text("Social media has developed into a key way information flows around the world. Unfortunately, our current social media systems are broken") + Text("Social media has developed into a key way information flows around the world. Unfortunately, our current social media systems are broken", comment: "Description about why nostr is needed.") .foregroundColor(DamusColors.mediumGrey) } } diff --git a/damus/Views/Wallet/NWCScannerView.swift b/damus/Views/Wallet/NWCScannerView.swift index 9f3617f7..76043cb9 100644 --- a/damus/Views/Wallet/NWCScannerView.swift +++ b/damus/Views/Wallet/NWCScannerView.swift @@ -67,7 +67,7 @@ struct NWCPaste: View { }) { HStack { Image(systemName: "doc.on.clipboard") - Text("Paste") + Text("Paste", comment: "Button to paste a Nostr Wallet Connect string to connect the wallet for use in Damus for zaps.") } .frame(minWidth: 300, maxWidth: .infinity, minHeight: 50, maxHeight: 50, alignment: .center) .foregroundColor(colorScheme == .light ? DamusColors.black : DamusColors.white) diff --git a/damus/cs.lproj/Localizable.strings b/damus/cs.lproj/Localizable.strings index 6d5ca1b0..51d68133 100644 Binary files a/damus/cs.lproj/Localizable.strings and b/damus/cs.lproj/Localizable.strings differ diff --git a/damus/de.lproj/Localizable.strings b/damus/de.lproj/Localizable.strings index 9beeb069..249248d3 100644 Binary files a/damus/de.lproj/Localizable.strings and b/damus/de.lproj/Localizable.strings differ diff --git a/damus/en-US.xcloc/Localized Contents/en-US.xliff b/damus/en-US.xcloc/Localized Contents/en-US.xliff index 1222dc7e..70741434 100644 --- a/damus/en-US.xcloc/Localized Contents/en-US.xliff +++ b/damus/en-US.xcloc/Localized Contents/en-US.xliff @@ -2,7 +2,7 @@
- +
@@ -39,7 +39,7 @@
- +
@@ -133,11 +133,6 @@ Sentence composed of 2 variables to describe how many people are following a use Accessibility Section header for accessibility settings - - Account ID - Account ID - Label to indicate the public ID of the account. - Actions Actions @@ -151,14 +146,18 @@ Sentence composed of 2 variables to describe how many people are following a use Add Bookmark Add Bookmark - Button text to add bookmark to a note. - Context menu option for adding a note bookmark. + Button text to add bookmark to a note. Add all Add all Button label to re-add all original participants as profiles to reply to in a note + + Add bookmark + Add bookmark + Context menu option for adding a note bookmark. + Admin Admin @@ -169,6 +168,11 @@ Sentence composed of 2 variables to describe how many people are following a use All Label for filter for all notifications. + + Already on nostr? + Already on nostr? + Ask the user if they already have an account on nostr + Always show images Always show images @@ -373,41 +377,41 @@ Sentence composed of 2 variables to describe how many people are following a use Copy Link Button to copy link to note - - Copy Note ID - Copy Note ID - Context menu option for copying the ID of the note. - - - Copy Note JSON - Copy Note JSON - Context menu option for copying the JSON text from the note. - Copy Report ID Copy Report ID Button to copy report ID. - - Copy Text - Copy Text - Context menu option for copying the text from an note. - Copy URL Copy URL Label for button in context menu to copy URL of the selected uploaded media asset. - - Copy User Pubkey - Copy User Pubkey - Context menu option for copying the ID of the user who created the note. - Copy invoice Copy invoice Title of section for copying a Lightning invoice identifier. + + Copy note ID + Copy note ID + Context menu option for copying the ID of the note. + + + Copy note JSON + Copy note JSON + Context menu option for copying the JSON text from the note. + + + Copy text + Copy text + Context menu option for copying the text from an note. + + + Copy user public key + Copy user public key + Context menu option for copying the ID of the user who created the note. + Could not find the user you're looking for Could not find the user you're looking for @@ -418,15 +422,15 @@ Sentence composed of 2 variables to describe how many people are following a use Could not find user to mute... Alert message to indicate that the muted user could not be found. - - Create - Create - Button to create account. + + Create account + Create account + Button to navigate to create account view. - - Create Account - Create Account - Button to create an account. + + Create account now + Create account now + Button to create account. Create new mutelist @@ -451,11 +455,6 @@ Sentence composed of 2 variables to describe how many people are following a use Setting to enable DM Local Notification Toolbar label for DMs view, where DM is the English abbreviation for Direct Message. - - Damus - Damus - Name of the app, shown on the first screen when user is not logged in. - DeepL (Proprietary, Higher Accuracy) DeepL (Proprietary, Higher Accuracy) @@ -507,9 +506,9 @@ Sentence composed of 2 variables to describe how many people are following a use Disconnect Wallet Text for button to disconnect from Nostr Wallet Connect lightning wallet. - - Display Name - Display Name + + Display name + Display name Label to prompt display name entry. @@ -520,7 +519,7 @@ Sentence composed of 2 variables to describe how many people are following a use EULA EULA - Label indicating that the below text is the EULA, an acronym for End User License Agreement. + Navigation title of view that shows the EULA, an acronym for End User License Agreement. Earn Money @@ -537,9 +536,9 @@ Sentence composed of 2 variables to describe how many people are following a use Encrypted Heading indicating that this application keeps private messaging end-to-end encrypted. - - Enter your account key to login: - Enter your account key to login: + + Enter your account key + Enter your account key Prompt for user to enter an account key to login. @@ -577,6 +576,11 @@ Sentence composed of 2 variables to describe how many people are following a use Follow me on nostr Text on QR code view to prompt viewer looking at screen to follow the user. + + Follow them on nostr + Follow them on nostr + Text on QR code view to prompt viewer looking at screen to follow the user (someone else). + Followers Followers @@ -673,11 +677,21 @@ Sentence composed of 2 variables to describe how many people are following a use Navigation title for managing keys. Settings section for managing keys + + Learn more about nostr + Learn more about nostr + Button that opens up a webpage where the user can learn more about nostr. + Left Handed Left Handed Moves the post button to the left side of the screen + + Let's get started! + Let's get started! + Button to continue to login page. + Let's go! Let's go! @@ -731,8 +745,7 @@ Sentence composed of 2 variables to describe how many people are following a use Login Login - Button to log into account. - Button to log into an account. + Button to navigate to login view. Logout @@ -780,14 +793,18 @@ Sentence composed of 2 variables to describe how many people are following a use Mute User Mute User - Context menu option for muting users. - Title of alert for muting a user. + Title of alert for muting a user. Mute conversation Mute conversation Context menu option for muting a conversation. + + Mute user + Mute user + Context menu option for muting users. + Muted Muted @@ -808,6 +825,11 @@ Sentence composed of 2 variables to describe how many people are following a use New encrypted direct message Notification that the user has received a new direct message + + New to nostr? + New to nostr? + Ask the user if they are new to nostr + No No @@ -843,6 +865,11 @@ Sentence composed of 2 variables to describe how many people are following a use None Button text to indicate that the zap type is a private zap. + + Nostr is a protocol, designed for simplicity, that aims to create a censorship-resistant global social network + Nostr is a protocol, designed for simplicity, that aims to create a censorship-resistant global social network + Description about what is Nostr. + Note contains "nsec1" private key. Are you sure? Note contains "nsec1" private key. Are you sure? @@ -904,6 +931,11 @@ Sentence composed of 2 variables to describe how many people are following a use Paid Relay Section header that indicates the relay server requires payment. + + Paste + Paste + Button to paste a Nostr Wallet Connect string to connect the wallet for use in Damus for zaps. + Pay Pay @@ -996,12 +1028,7 @@ Button text to indicate that the zap type is a private zap. Public Key Public Key - Label indicating that the text is a user's public account key. - - - Public Key? - Public Key? - Prompt to ask user if the key they entered is a public key. + Label to indicate the public key of the account. Public key @@ -1053,14 +1080,18 @@ Button text to indicate that the zap type is a private zap. Remove Bookmark Remove Bookmark - Button text to remove bookmark from a note. - Context menu option for removing a note bookmark. + Button text to remove bookmark from a note. Remove all Remove all Button label to remove all participants from a note reply. + + Remove bookmark + Remove bookmark + Context menu option for removing a note bookmark. + Reply Reply @@ -1163,6 +1194,12 @@ Button text to indicate that the zap type is a private zap. Search... Placeholder text to prompt entry of search query. + + Search/Universe + Search/Universe + Navigation title for universe/search settings. + Section header for search/universe settings + Secret Account Login Key Secret Account Login Key @@ -1257,16 +1294,31 @@ Button text to indicate that the zap type is a private zap. Sign Out Section title for signing out + + Sign in + Sign in + Title of view to log into an account. + Sign out Sign out Sidebar menu label to sign out of the account. + + Social media has developed into a key way information flows around the world. Unfortunately, our current social media systems are broken + Social media has developed into a key way information flows around the world. Unfortunately, our current social media systems are broken + Description about why nostr is needed. + Software Software Label to display relay software. + + Spam + Spam + Section header for Universe/Search spam + Support Damus Support Damus @@ -1297,6 +1349,11 @@ Button text to indicate that the zap type is a private zap. The address should either begin with LNURL or should look like an email address. Giving the description of the alert message. + + The go-to iOS nostr client + The go-to iOS nostr client + Quick description of what Damus is + They are impersonating someone They are impersonating someone @@ -1312,11 +1369,6 @@ Button text to indicate that the zap type is a private zap. 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. Warning that the inputted account key is a public key and the result of what happens because of it. - - 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. - 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. - 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 your account ID, you can give this to your friends so that they can follow you. Tap to copy. This is your account ID, you can give this to your friends so that they can follow you. Tap to copy. @@ -1426,8 +1478,7 @@ Button text to indicate that the zap type is a private zap. Username Username - Label for Username section of user profile form. - Label to prompt username entry. + Label for Username section of user profile form. Version @@ -1435,6 +1486,11 @@ Button text to indicate that the zap type is a private zap. Label to display relay software version. Section title for displaying the version number of the Damus app. + + View multiple events per user + View multiple events per user + Setting to only see 1 event per user (npub) in the search/universe + WARNING: @@ -1469,11 +1525,21 @@ YOU WILL NO LONGER BE ABLE TO LOG INTO DAMUS USING THIS ACCOUNT KEY. Website Label for Website section of user profile form. + + Welcome to Damus + Welcome to Damus + Welcome text shown on the first screen when user is not logged in. + Welcome to the social network %@ control. Welcome to the social network %@ control. Welcoming message to the reader. The variable is 'you', the reader. + + Welcome to the social network you control + Welcome to the social network you control + Welcome text + Welcome, %@! Welcome, %@! @@ -1484,6 +1550,16 @@ YOU WILL NO LONGER BE ABLE TO LOG INTO DAMUS USING THIS ACCOUNT KEY. What do you want to report? Header text to prompt user what issue they want to report. + + What is nostr? + What is nostr? + Heading text for section describing what is nostr. + + + Why we need nostr? + Why we need nostr? + Heading text for section describing why nostr is needed. + Yes, Overwrite Yes, Overwrite @@ -1526,6 +1602,16 @@ YOU WILL NO LONGER BE ABLE TO LOG INTO DAMUS USING THIS ACCOUNT KEY. Zap Vibration Setting to enable vibration on zap + + Zap attempt from connected wallet failed. + Zap attempt from connected wallet failed. + Message to display when sending a zap from the user's connected wallet failed. + + + Zap attempt from connected wallet was canceled. + Zap attempt from connected wallet was canceled. + Message to display when a zap from the user's connected wallet was canceled. + Zap type Zap type @@ -1650,16 +1736,16 @@ YOU WILL NO LONGER BE ABLE TO LOG INTO DAMUS USING THIS ACCOUNT KEY. %@ and %@ reposted your profile Notification that 2 users reposted the current user's profile - - satoshi - satoshi - Example username of Bitcoin creator(s), Satoshi Nakamoto. - self self Part of a larger sentence 'Replying to self' in US English. 'self' indicates that the user is replying to themself and no one else. + + wallet + wallet + Sidebar menu label for Wallet view. + wss://some.relay.com wss://some.relay.com @@ -1709,7 +1795,7 @@ YOU WILL NO LONGER BE ABLE TO LOG INTO DAMUS USING THIS ACCOUNT KEY.
- +
diff --git a/damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings b/damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings index 9b975054..2c408aee 100644 Binary files a/damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings and b/damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings differ diff --git a/damus/en-US.xcloc/contents.json b/damus/en-US.xcloc/contents.json index eede7b93..cb06d8fd 100644 --- a/damus/en-US.xcloc/contents.json +++ b/damus/en-US.xcloc/contents.json @@ -3,10 +3,10 @@ "project" : "damus.xcodeproj", "targetLocale" : "en-US", "toolInfo" : { - "toolBuildNumber" : "14E222b", + "toolBuildNumber" : "14E300c", "toolID" : "com.apple.dt.xcode", "toolName" : "Xcode", - "toolVersion" : "14.3" + "toolVersion" : "14.3.1" }, "version" : "1.0" } \ No newline at end of file diff --git a/damus/ja.lproj/Localizable.strings b/damus/ja.lproj/Localizable.strings index ba6d59bf..c489ac47 100644 Binary files a/damus/ja.lproj/Localizable.strings and b/damus/ja.lproj/Localizable.strings differ diff --git a/damus/ru.lproj/Localizable.strings b/damus/ru.lproj/Localizable.strings index ab47e261..cffcf70a 100644 Binary files a/damus/ru.lproj/Localizable.strings and b/damus/ru.lproj/Localizable.strings differ diff --git a/damus/vi.lproj/Localizable.strings b/damus/vi.lproj/Localizable.strings index 90ce8a26..4803d323 100644 Binary files a/damus/vi.lproj/Localizable.strings and b/damus/vi.lproj/Localizable.strings differ diff --git a/damus/zh-CN.lproj/Localizable.strings b/damus/zh-CN.lproj/Localizable.strings index 4c5f0f1c..7824772f 100644 Binary files a/damus/zh-CN.lproj/Localizable.strings and b/damus/zh-CN.lproj/Localizable.strings differ diff --git a/damus/zh-HK.lproj/Localizable.strings b/damus/zh-HK.lproj/Localizable.strings index fddd8b88..2514a874 100644 Binary files a/damus/zh-HK.lproj/Localizable.strings and b/damus/zh-HK.lproj/Localizable.strings differ diff --git a/damus/zh-TW.lproj/Localizable.strings b/damus/zh-TW.lproj/Localizable.strings index 9ef5d142..3db0b17b 100644 Binary files a/damus/zh-TW.lproj/Localizable.strings and b/damus/zh-TW.lproj/Localizable.strings differ