From 1d3c181b85d67efa9e2f74423a762b80c2044572 Mon Sep 17 00:00:00 2001 From: William Casarin Date: Wed, 7 Jun 2023 06:16:05 +0200 Subject: [PATCH] Translations Translate Localizable.strings in ja Translate Localizable.strings in de Translate Localizable.strings in vi Translate Localizable.strings in zh_TW Translate Localizable.strings in zh_HK Translate Localizable.strings in zh_CN Translate Localizable.strings in ru Localizable.strings in cs Closes: #1253 --- damus/Components/GradientButtonStyle.swift | 8 +- damus/Util/Hashtags.swift | 2 +- damus/Views/CreateAccountView.swift | 4 +- damus/Views/EULAView.swift | 2 +- damus/Views/Profile/EditMetadataView.swift | 6 +- damus/Views/SetupView.swift | 29 +-- damus/Views/Wallet/NWCScannerView.swift | 2 +- damus/cs.lproj/Localizable.strings | Bin 86554 -> 90434 bytes damus/de.lproj/Localizable.strings | Bin 88262 -> 92130 bytes .../Localized Contents/en-US.xliff | 234 ++++++++++++------ .../damus/en-US.lproj/Localizable.strings | Bin 85106 -> 88962 bytes damus/en-US.xcloc/contents.json | 4 +- damus/ja.lproj/Localizable.strings | Bin 79976 -> 83404 bytes damus/ru.lproj/Localizable.strings | Bin 84426 -> 91976 bytes damus/vi.lproj/Localizable.strings | Bin 84546 -> 91084 bytes damus/zh-CN.lproj/Localizable.strings | Bin 77056 -> 80324 bytes damus/zh-HK.lproj/Localizable.strings | Bin 76984 -> 80270 bytes damus/zh-TW.lproj/Localizable.strings | Bin 76950 -> 80236 bytes 18 files changed, 188 insertions(+), 103 deletions(-) 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 6d5ca1b0adcdcede21ba93a9755b389c0b09ed9a..51d681335026ab884bc0341ef23c26bbb5fc7428 100644 GIT binary patch delta 3923 zcmbVPZ%|a%6~EWGx~vN>>~0VdT&Sc-Bbo|U5|KYT)uATfm}+WL%L2;+yX>N{QfLD< z*cnGNsqwV)G)-p=lMmEsJ2I~`bTW=sbUK--AGBZ6rkw^;KD1RPw&RzY#`O1lk7XZi z(>5LE?R)p$bI(2JcYf!b%WH4Crl(yO(QdQ!iK->i`a-#!Kj)TrH`nVn zDXiKdH#>cjxRWCTn=578^Byy=>X3FdsD2fbZ#4$x&$W5MxH_UDDy%xxkP4|Td>vI0 zxl&TFH>nbsNvI^`2Ot$v6>6jMs8ZFS7Vr9J$vVh{R4txT)r8&M_)4h}DLEe0b!NEw zRE18++}H9Y@%(BDwO+vJm#u}evprz`y|qy$gA(? z%aiTJ#z2u?CC7dkFka5lIdcB{>x|-EI$-{&W9t$*e`1xa?()go*K(wBHXz=pSFT_4 zotf~+M6?``?8Y$9MZX5+2hlPYeH@bTlYaAN^!^e#c5a(F9ec^WJOM0vRm8aB)%m#* z2+hHb9!&iS-(e$MqiZBScwA;uZnH9VVRI2&Cys2$0@ZVJ&?V0eS1a965R4 zXUtUVWoFNd546!&qf2GWc%Hoe?SNdKcAJ+*Pb`(6*Lr04*vX=hDu?q)T7ut%r7i;e z3CMc6HC70;y71jAAB>er@tDV4cYM~*$Qy}9?Jh~GKCC7n&lvRKH;iWxb8Q%fRa92~ zwm`h6@Dvo}^GU`RJiOo5~y|2nAqWb$u**?ulZd`*GE5(n`ZgKV9Eaza-k zS3AqhU!5(_vIye-jhEywN5+5VksCkB1I+UrTcm+!g>|nj6$jtYs_=b_F_*Q?{+)`s14jf zriJlKo!v_z(l5DPh1HA}3C7L+5b4I&4HkW^N&97{*<)_G^!t@r^w&xp zxw>ORwH+WbHi~^VKNx}p{vyyrRO|$1QUVtmXG}h#{mqOYb8#o8do6lqA~cM-K0xb? zd<*96!!xMvhdTO=7)ryfvhTgCx5~X6%gmM=$Nh4zf0@+(rC7c>b6#FK?v_0>wh|O2LV4V2An*^CD;={AHm*kc?cn_8Y%z)|(0)vyfS|OLT2eMo4H3-Kb5>~vreal2}dnV`#GN^kYgWA`^wm{Y%tT~miIBd=T!Enwo4kb zZ5WJAY8uoA@m{N<^guXk#UVy^vrK0DI&0kVToCdWzIO9 zr(d;*tn90y*P!HHzx0O z70SH|&(n6*byfnqwx_i|3%luL6i#kH7>H80YKAq7$=nW9x+Q$wzd1v2hN>I8?Gl}? zr%rI@b;;ptk*W7r=?ku@nt`Xzv|HY962K${R;(zrYx+^FrdP7sFg*#nAnlpd9#TT0;Z=r9T@}G$vG`834oTt)FA`|NjQ}!dJ zxI1&Lbasc-)Vb~Yur?;PYwrrjLB@tUy=(IjPGS?Yn-A~vY;B*cn^#<HLu(z1SC4+W0(}4&+ohI}q|3N7E1Z_JSh!@P`Logtu)TwqDeDHo;*NbD zEZDuFPOd)utX%w#PbOx)^2&k0)Gr$Jbq!+82cKj)Y0{l46Es>T5mYj>r5k)+ CqpS-6 delta 1455 zcmZ`(ZA_C_6uyU0DP4IfrF_VTwy<^1K*vN(#PA`SNN{$Tp>yG5Eoq@GwQcBYbuJUK zY=mD+!*RI=f7ng3EXFDBW~m`&GGewrY%_)|`$3kmET}{bGy61-?A*77u`K)Xrsv-C zobx>A<9237H$I`84A$W7Dl@u%EyUjzOxV}?G@mU3BhGei!PU+(O!$oaVGHQRaLvvP zTydK4%)EjlwGN$uS(z2D?TCsmYL5cCE@q0Ax>MV;oGi>#=EY@qHIBP3<)zPrZeuUA zmzWbTblHUJZUN}vc{`y1uXLHkeD5VFIKraL%LWPB&Q7piHbAG>aj5%woW5!mPdt$f zT=JQ)oiu48n|(&S(_eyp9SSCT3h{wY!CN--np45}Trtk~ZxadMFBw?Vkclh13w03| zVO9M60XWHBoVeCpp9HB*A5}Q%uG8WBKCj&`74liPm?n=c9RiR>aQRv$1Ew z!l#PBg2NMfd~(Q)j%z0VVG-;Qa}(DM+P=7tX`eVz(lnLZ*WDN6W={0;-4?& ziqM_ue94UO>h$RP(}0V28?oaL3py5W;pKV*I_@bK2k!#kVg!YMy$g!*!6!zWtcIqf zN%W;HFAHgc2kGqL-FC2Xy_uGZGL#A$(2EU$qW2O|h>!g>l~KB*l!Wjx{|2%R_qZ4G zKYbhYnY6p6W84e6k!$_-Bn^=9V(pKQ?Me{#XXXI(iC9vbho- z>A1xXFYfLmF1fgJUj4)vBHK^wR?;EuFnK(znr>8TR!}QhdOUof4s5vik&^9aeOi$E zPsez$3QR-)pCP1GsA|lqF*qp2E0q0Nx|3~{2$g=Lv}&oFbsEB?^jYaatUouxrYeaL z-cQTx#;@MU8v9@q#%D6OwrkSe6queF72BUKM`b=dd?CM}mwan$n<66*f6WeCdCxOY zvFG2S*WQF|jGHL$)4;+cLbgfDk_9;_V}Ll15v zS3%-K>@PZp=-f-YwLD`Z^L2KkFS3 zsnkBq&dfjOe$IE!*|#nyFTI;QS6yWv$eGF7VRi-MG zR~4z7bAx6VJJ zbEV|N;DfZX1=ftfg0PB+p30KnJQuVp`(~5m{j+(pC+wHLmontDxq#FTdZp#KM|Vo{ z?~Bvu#OGk^lTfUbbknU!xjxlsS5KED z;iO33naz~N?*-)N|46leefoEvna91>1+5$8kKf(5A*f2E?%(;kR6^g+PYc4J0mvMZ zC(djMF*sqo595T-YZ9f##+AR^GKy71Pi`sLn@ zd^!4q%=QS*IuSsM9ReTgfz(}i9)}U`+S!J;c%2>m?|f2sCbyI{luU^X*#O>x>MmsS z+$C8~|Ku;}%t08`$cvnq%0fU!t%U-eCD&fbkl6!)ijXVj2Vr8=N#8hF=w<{4NAcUs zEZ{68mj@n^8y}_EU9W6Qb4qA($}7urIdy@_)f-tCmmgQk62d^=uOiJw5+w9}kIU_)$;N8jzvl_!05jF;sf_P?@qmCn;Y6H5H6)M!(GS%R-U%uMl zmyfUdq^GGY-Q<@3_sh@P3kHdLLY2ZPp7Dui%v38g&S*7)X2_}F1jQuIMxoYSD=j#q z7I)8Tq6`V`D3$sakNw`e8G)JGo8^TMF3K0JsdDs#66vYRw9akTDe^`nQ-sj8<*=Ao^p2|Si^VrMxJRUa0LLxP+ zPC6lC_pg9eruiV-vM`cm-KoTIJojf$F4M;nsDOJeCi%1mUAfY0eVn9yJ1f*P?vJbd zYXc(%P)j?0nRq9n)}<=_m{h-=Iv@1t_aAZqUw=47hA;bNX?DAHBS(8><7-=dSG#;LSJPu+v^bPiiEMkk7JMwKP6e5e7O$+RC-kf1Bp|53y3?i9N(^lA~2O)=g zSOceI;hzOFnd46(DM;ET~W22>j@39H&%fg)WW<{O%830U1tVr?V_5z$eY7qdpT=q=K+bEDOm ztDk1o`6XDJb6{<0S76b)4;JW&f}QYBOystelSEopPUO>F`SY*l>KBvKTA`AW9kfn- zMHg5X3xMw{H@(yDR$@vzKIflyK*Wwdf?jWmG>nz64Vv9R=tewEnq#X9!$kF<^R3IF zL8F89W<4~`ul!;4q>DW<934dxYAKX&A4!#MFW1k%P^h=2$hq=N`6MgT`g$3n^~)un z)2QaJZP8b~p2INB)XOInm8Js!Lxj@uK{5Wq&wisL9_TX(Bxb*?oakwrp?n-dKrUz2lZ1+p`m z`i_tOAeL@!ZLHHV$Ta)33=gEp(ykKAcSvuR=l|ugj@9WmWwCjib+#Ux^4&SF^+qxt zULW^bcat^ycG-Mwy)H>kr$(acTPh~MjZ9ddH0d0v9|~9x@6~|^*bsmS>#00lFyGOn zBih2R&&_51wMp;IK85n(K;&M+h|{o$_0V3u$?Djnw?Ak$mH6}?w|=}w7s|fm46MlW z*Z1f#EoI;FOW&2I>@V@|9N(baio7?aR*pve7jD#X0Yv zKfX`j^veF}N~`)Ay-^yv0`ks@3@K_2q`Q^~Nk3h%sRM$|e*x1+x%`>+g6SBNO|7|4 zx_F?Ps~G-`A;%nSiJCN$%GD94&bU9(+#mpj^je**I{Q)6$Qfn#9>Y?OI4#|*MiG4P zH=7Y$NaOf(Rv6jcl^ypZwAv=VF>&3v591e|+zPen+fAiWUKMsPWjh;CM--M2{E|iU^5O5fKCU`RZO-=7XZ*7#*bOpozW- zI!ueRnrcdOGT-}g9-8`nJNA&u5n6l1QSy@_wH`4j24#%_%1ObFhijcOR0me9?zcfB zUXPa-Y-u4J+m1KqO4MxsVjg+}23cYx&4+%AF)5OwN;-lt?rIicF+>Pb6l61)ycL9E z%ud&-b3;>RdAAFkxUg(hyT|&>n8`T7k6&kwmMdg6L^d%I7g5niyD)J%t4SFqb4&=o z{H+`6)wYQhpn_QOL6;(@BVci`%CHzGGiG&0q~%BX;8Ndt^E(48s_(tK;llG*zgJDu zPZ!|ECxsZxIMMc+1sCo)Wv~RA)a0kXTX6o~PWATO&V0@Lw@?a~jWTNlH!2@ArC8jdT#M5b zF+uw{MbnF^kdzDQAxWCjF-UOrlbD=%7D{)FY53!!SIZTD**yJdc4T5d*eAF({@+_d zW1H4c=t-|8&6mk>xt3~$EQcw&LKsFjC0l_=N5`sAM{6@ic3d`{Rg(1MVoZeb@kK{V zNW&i{3ueJtK249#DNXriX@tC_wKK*WA=$rOs>dWfthryzrI$W0?3N84Fh3UD;^4vX zhps3mfk#76Pndjg!JKJmP^v z+n6ZN8JDm}#HGUrE*xBPPv})l3-;ec-k6ilk8v!~iW7I1@c8m~l%nbg^&5oq!D#rb zT^n$nM=!Bi(*F5mT+?D!`h`Xy$V!nd9`NK72>j)7Jl$4L<$i933S;h%AarXAxmR9<5s=w!P=ww~_T1GD OShHx|eJ%pM#(w~FRH$eG 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 9b9750543083d749a9bf8bced27b68c11d5559ed..2c408aee53ae7a8aee0499079094dbd40ba88670 100644 GIT binary patch delta 3703 zcmd5~ zB0-X4;P9Xw%Ib^|CWpb090_*W442+BLxnsWBJr`xmLSd5b{Lc$v_B2k3O8~axb{S; z=Gwy;>6e$PLk)W+nAajH=hHaGxWz&XwX0>h1S4A)1D%|)O$va%?0DGF8wSlgt?I7l zcLhSxA|w2GV>#4xu0qvG(0kRv=Rp5XN3av4TaUgp!nd7s(N*!SUhjN6T+iFz1)q4 zx1%E-bWrb{-?hR?IP`@&DG&7L%~E3y^@PC4a3uU$Yl6h%mX1O^OzR7M4E! zTH&u6$D>YU(u#w`Tal>&h3AX3lPWT@5)UE4I#k+(g;2>{%CamT+u`ri|IBhSTzG@Y zf*?8cfgAutH|0nQH>pFPzCQ!ZpP8WhspJqXF;swc&{-Ni4Ofd-|9nqwu# zp%F`z%<%<(E7F>gqEBiO(nzDMgEc{eC*?=filf`ZpAoLfl?EG$G~t(n9>)` zr^AJmWOcz0(>X$oRW<$ep+qw^hVt=8fJzg^%nU2+H7_6 z^`p}eOOj`{p~VdZ%_7G#0x`iKwRttGR}Lib6;N>^&@o29?Fj;KYNJhgIFU;$O8j!j zRyskizaZ|yr~D!zE?T~K!aJ|w6uP-C6lW4*U9Sc9?pqjJf|gQQYjM_V6m&QdXanb< z1qyFkl~EJF=Ig7~?O41th4eE=>muqA>JobNsVTv7rXIn9M!80@Pb)FWVAJC8IIXuR z;Tk;9-bUo3bJ~$}3#6TnE~yob(Jo4XVn|5o7G0^~G4WD+xyH_?uxTaZ5uDVQGVW@f zO42QGfQQSiliJscyjoFd{XnM@PFIQ3$wIfT-2Uf&WJyy z(09I8U_O0o#P}toY(fmxN~VFWMmxrrWi=+dK_tneOVbpkB{WEg!&k?`@p5MNUJB>K z1~`&u!bnKo3o(4JbarG!M7=d92>iEDubCk&$dOt0nJ%T z0$qi1hzkwMa3)`H=Y7as3eEX-)sE+%?(6wWzOZQ1ST0>f$5lnwgngX}?_iSzmfsAdb%FnBK z6r`40@p3A`j>4$N336Scdgwkn5)8V~F1kgi>GJt7r!9n$zI_Kgak&m-=t%3pd@ zQDwWMRmuT7PC4`Z(<}qtqbS&V`10@#|bZ**IlKTSFYOo-lVVmB@J+17YRagdz5~l)o0g8xP|f2a&jC51iimhljEkpP zd)^4%^)CBXy;9oX9NLPZimcct_x96K_aPA%&v5y?sAnME{MXC1e%g&I$u8}y)EOJM zl*$F=;vjjoVy?r6*XCSw5Z}(-Tb5+-G3wQhyl{z_Yz2M4H@nBVk+hf=M>$*J1_z%M z+*cAO%sosGxnrvEyMgq!+zwzMZPL zp=t4ruWdXZU0B(C0NG6!Vw)Y>z*Uz67wRqeFrn-;NHy*^gLo;7Qlh;v&tw;vn7l}e z)GfkU|A$?Bv{c13z3xOh@6qRp#;b2?@~oS#GlOk%#79GLK5N(S@zbmoV_!t|ivfDW zDkDL91S@a3_NZJT&yB^oF_mkk#e`^OOM%->Gp@2{LY{7?pl`+mni5kc7shTJFKqK5 z1C8W->AzED%%%$FFq>m6+Bm~7XWhd#qnHs<;62Z?R<>+c;g~W|mB(`XA#m)pnJ>$0 zO3a8jZeOh49WlYj`Gk?xATz-qHzeAZ2>IrHbQ#55i=6Kwuiny4*DZSG{nTfAv2~(S?>I~u i!q&-VScX-sK2fKiIYMvSjnnL}m)R<6&_|-wV*MK$d5YHn 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 ba6d59bfe02b59437b1d12ee60cc89c33bffdd51..c489ac47d6bff761a856bae7301e8b112e0e7a24 100644 GIT binary patch delta 3409 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 delta 3989 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 delta 3950 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 P56^}1Q0Rww@PX-nxtwyv diff --git a/damus/zh-CN.lproj/Localizable.strings b/damus/zh-CN.lproj/Localizable.strings index 4c5f0f1c460ef508ad4b3f73c53d7322d7061bb7..7824772f253a1229012255672ef7008bc27dd280 100644 GIT binary patch delta 3376 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 diff --git a/damus/zh-HK.lproj/Localizable.strings b/damus/zh-HK.lproj/Localizable.strings index fddd8b88f389adde65260aa8db1317924b6db379..2514a874cac100863748c0cfb18387b3f8f32f94 100644 GIT binary patch delta 3293 zcmb7GeQZJYp5hltgS+@*rsq^6k7Yu>ec@A0p)x;l! zuLKbR4G{~RrH?W|UA2k|N`?B=rbCRS6Pg$>%0kDqHA3q)rcTN<#3)*6Rd&vMF@A(0 zwThhg?!D*S`#b0S&hNhW|D-$cAKjTNb~xW`1Y=w;?_6w2180*BR=uc)`}JmNWeGQc z@p=(BEA{aHQWN+q1!$WnhBHem;j1+U*;%=S&#q;?tQ&USupU}wnipU_Ol0k>gY_|i zZN|4a)OzxvIcByB%+4Ilz{*%H)7U{%Y+l)OI4iJkqON z9!NJ0e1SaT*t3v_z}osN9+Lmq`Ye}zGMAg>1@6NlytSw}R=CL7sf^zZ~A{ z%Y$!uOmML=3vQpXz?bWcaG}uzMxOzOJ-INxZZ(e07CI`S0daY2uS*{G45z`#3oB&P z#&hX#)UTI6^4s-b4i~_ee=dgCcGt;=!&^DDttf-vjF>@)TVVZZz5Jt>%5`u+G{DK| z(0qZ}5LlQ65nLEU5-~^-6F^`WL3^|?J&K7ESr8LZlBW$?Uz^(q*B70d#{y-@U;sO#FVq6 zcrxJ%BVd{pSOgCKbzUZ&7-bboc%ATJaZY}zrbMtm+ne3EfAsR&iWUyPzw|T&F6-s( z`?B;@^^Awx!M{#f<*b9D44C?$T`DK3j5wcQp=GlZqf!GG*ctJMUTISS^0@fefB_CH$b-Y{jr|FwQK+6>N~kFp zZTeHQNjs`_1Tz{|Ao}nbU`ueW17Y>zUY(dq5k~^^<5~|sX*P&H0et%K7sWPRV!;KX zph~HB#iSP;p8RD38maUm_g=K=Lg%IUt{y;f5vK@xr&2#Jjsw!^LS9mzqJS2;!_S;^ z8+_C2SZL}tN|LM8aIT+vEG%LEY@8`~UcC_!1M^41E z;Qk3C++At!SJO#E=~SQ-c_{jj60c8zqxKZ_0s_K6B2p?3s#H)OiEQ6Rn;=q=x+s~c ztvDCK8Epj`aSqSU#?4Z}of|ed<-fdZF-uiCJ_mMQJP+sV^bojcgYpZe(KB2RM?bT} zTbC@b?za=zy%zcIrSWvqPq0s9LCy85hoU<*@dFr|Fv)e-_hdp|n@Jw{WOx>;i+z3! zfp)Pto=kNRQAg=Nb+M0ahLW1+Vc?g#{OK{S&aj7ulk?%)lny5Ut}l16))~8{qABVq z+u>k)J+FFT)s<)Ds$1hvDV=g<8H)E3oVJ0R4)=HTBnhEjZkgKhf+YDO}ahctW=;9j()pi$Hx zo=O_)RZb_6Aq|6wTiy^1hq(ECd>%QNjLg+ zzy}LUq4=vg{o1Bd3!mJxMY--sF~X=NYVo>Q17dlUE@eald)*jnT#gK02@P9zZRHamJ<#}-blz}Ip)}JHU^SGG=TF_{_;MB{YkN<%bc#96u9IT)v-+tCww*2q$B|+fCX^-tZvL+#8+`>37DXz*DNhx z%uOJSmp7(#LaPbxhu2b4JCbVhq$}3pA9tQRUh)9y0>#=B3i`j98qvv$k|@JZ^V3J`G#QZ=cKCef;;}>X`Lzr%d~CvRM?tDuggG&b7MT2ASmX55fm8aKp7Pm{ygfl>p=K=%sy}8^>O+;JLH^2fSNNYXATM delta 1160 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