From a325a3c064fb9e7de51b6ba20da9b89a58201445 Mon Sep 17 00:00:00 2001 From: Terry Yiu <963907+tyiu@users.noreply.github.com> Date: Sun, 5 Mar 2023 11:45:02 +1300 Subject: [PATCH] Translations (#722) * Add missing comments to localizable strings and change zap type picker style * Apply translations in nl translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings' on the 'nl' language. * Apply translations in ja translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings' on the 'ja' language. * Apply translations in de translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings' on the 'de' language. * Apply translations in de translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings' on the 'de' language. * Apply translations in ar translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings' on the 'ar' language. * Apply translations in ar translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings' on the 'ar' language. * Apply translations in pl_PL translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings' on the 'pl_PL' language. * Apply translations in fr_FR translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings' on the 'fr_FR' language. * Apply translations in es_419 translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.stringsdict' on the 'es_419' language. * Apply translations in pl_PL translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.stringsdict' on the 'pl_PL' language. * Apply translations in es_419 translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings' on the 'es_419' language. * Apply translations in es_419 translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings' on the 'es_419' language. * Apply translations in el_GR translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings' on the 'el_GR' language. * Apply translations in cs translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings' on the 'cs' language. * Apply translations in uk translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings' on the 'uk' language. * Apply translations in ru translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings' on the 'ru' language. * Apply translations in ar translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.stringsdict' on the 'ar' language. * Apply translations in ar translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.stringsdict' on the 'ar' language. * Apply translations in ar translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.stringsdict' on the 'ar' language. * Apply translations in ar translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.stringsdict' on the 'ar' language. * Apply translations in ar translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.stringsdict' on the 'ar' language. * Apply translations in ar translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.stringsdict' on the 'ar' language. * Apply translations in ar translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.stringsdict' on the 'ar' language. * Apply translations in ar translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.stringsdict' on the 'ar' language. * Apply translations in ar translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.stringsdict' on the 'ar' language. * Apply translations in ar translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.stringsdict' on the 'ar' language. * Apply translations in ar translated for the source file 'damus/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.stringsdict' on the 'ar' language. --------- Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com> --- damus/Views/Events/ZapEvent.swift | 2 +- .../Views/Notifications/EventGroupView.swift | 2 +- damus/Views/Zaps/CustomizeZapView.swift | 17 +- damus/ar.lproj/Localizable.strings | Bin 67854 -> 70696 bytes damus/ar.lproj/Localizable.stringsdict | 36 ++-- damus/cs.lproj/Localizable.strings | Bin 70140 -> 73094 bytes damus/de.lproj/Localizable.strings | Bin 71350 -> 74398 bytes damus/el-GR.lproj/Localizable.strings | Bin 71950 -> 74928 bytes .../Localized Contents/en-US.xliff | 51 ++++- .../damus/en-US.lproj/Localizable.strings | Bin 68846 -> 71778 bytes damus/es-419.lproj/Localizable.strings | Bin 63340 -> 74108 bytes damus/es-419.lproj/Localizable.stringsdict | 180 ++++++++++++++-- damus/fr-FR.lproj/Localizable.strings | Bin 71594 -> 74702 bytes damus/ja.lproj/Localizable.strings | Bin 65248 -> 67998 bytes damus/nl.lproj/Localizable.strings | Bin 70518 -> 73552 bytes damus/pl-PL.lproj/Localizable.strings | Bin 62592 -> 73292 bytes damus/pl-PL.lproj/Localizable.stringsdict | 200 ++++++++++++++++-- damus/ru.lproj/Localizable.strings | Bin 33480 -> 74068 bytes damus/uk.lproj/Localizable.strings | Bin 0 -> 74138 bytes 19 files changed, 411 insertions(+), 77 deletions(-) create mode 100644 damus/uk.lproj/Localizable.strings diff --git a/damus/Views/Events/ZapEvent.swift b/damus/Views/Events/ZapEvent.swift index 9829feca..3c2fea68 100644 --- a/damus/Views/Events/ZapEvent.swift +++ b/damus/Views/Events/ZapEvent.swift @@ -21,7 +21,7 @@ struct ZapEvent: View { if zap.private_request != nil { Image(systemName: "lock.fill") .foregroundColor(Color("DamusGreen")) - .help("Only you can see this message and who sent it.") + .help(NSLocalizedString("Only you can see this message and who sent it.", comment: "Help text on green lock icon that explains that only the current user can see the message of a zap event and who sent the zap.")) } } diff --git a/damus/Views/Notifications/EventGroupView.swift b/damus/Views/Notifications/EventGroupView.swift index 35511d72..9aa583bc 100644 --- a/damus/Views/Notifications/EventGroupView.swift +++ b/damus/Views/Notifications/EventGroupView.swift @@ -128,7 +128,7 @@ func reacting_to_text(profiles: Profiles, our_pubkey: String, group: EventGroupT switch group.events.count { case 0: - return NSLocalizedString("??", comment: "") + return "??" case 1: let display_name = event_group_author_name(profiles: profiles, ind: 0, group: group) diff --git a/damus/Views/Zaps/CustomizeZapView.swift b/damus/Views/Zaps/CustomizeZapView.swift index e7748254..70cbbfac 100644 --- a/damus/Views/Zaps/CustomizeZapView.swift +++ b/damus/Views/Zaps/CustomizeZapView.swift @@ -84,17 +84,16 @@ struct CustomizeZapView: View { var zap_type_desc: String { switch zap_type { case .pub: - return "Everyone on can see that you zapped" + return NSLocalizedString("Everyone on can see that you zapped", comment: "Description of public zap type where the zap is sent publicly and identifies the user who sent it.") case .anon: - return "Noone can see that you zapped" + return NSLocalizedString("No one can see that you zapped", comment: "Description of anonymous zap type where the zap is sent anonymously and does not identify the user who sent it.") case .priv: let pk = event.pubkey let prof = state.profiles.lookup(id: pk) let name = Profile.displayName(profile: prof, pubkey: pk) - return String(format: "Only '%@' can see that you zapped them", - name) + return NSLocalizedString("Only '\(name)' can see that you zapped them", comment: "Description of private zap type where the zap is sent privately and does not identify the user to the public.") case .non_zap: - return "No zaps are sent, only a lightning payment." + return NSLocalizedString("No zaps are sent, only a lightning payment.", comment: "Description of non-zap type where sats are sent to the user's wallet as a regular Lightning payment, not as a zap.") } } @@ -102,10 +101,10 @@ struct CustomizeZapView: View { Picker(NSLocalizedString("Zap Type", comment: "Header text to indicate that the picker below it is to choose the type of zap to send."), selection: $zap_type) { Text("Public", comment: "Picker option to indicate that a zap should be sent publicly and identify the user as who sent it.").tag(ZapType.pub) Text("Private", comment: "Picker option to indicate that a zap should be sent privately and not identify the user to the public.").tag(ZapType.priv) - Text("Anon", comment: "Picker option to indicate that a zap should be sent anonymously and not identify the user as who sent it.").tag(ZapType.anon) + Text("Anonymous", comment: "Picker option to indicate that a zap should be sent anonymously and not identify the user as who sent it.").tag(ZapType.anon) Text("None", comment: "Picker option to indicate that sats should be sent to the user's wallet as a regular Lightning payment, not as a zap.").tag(ZapType.non_zap) } - .pickerStyle(.segmented) + .pickerStyle(.menu) } var AmountPicker: some View { @@ -139,9 +138,9 @@ struct CustomizeZapView: View { case .failed(let err): switch err { case .fetching_invoice: - self.error = "Error fetching lightning invoice" + self.error = NSLocalizedString("Error fetching lightning invoice", comment: "Message to display when there was an error fetching a lightning invoice while attempting to zap.") case .bad_lnurl: - self.error = "Invalid lightning address" + self.error = NSLocalizedString("Invalid lightning address", comment: "Message to display when there was an error attempting to zap due to an invalid lightning address.") } break case .got_zap_invoice(let inv): diff --git a/damus/ar.lproj/Localizable.strings b/damus/ar.lproj/Localizable.strings index f4f8d698bb9b28c1555a0a35d2c0204f1fe68c7c..a9a296b96b9207de0d5761f71b268589b097b8a4 100644 GIT binary patch delta 1804 zcmbVMUu;ul6hBwCkJ*v3+AfpI+-*DQ+N|w5ETbSMgWKU|a3<;l&;;sQwV|xob{qJx zL4rJJG`cgg7ZioN6s1 z$|?sw?c_J!Z{y%~|6GQqF;~H!GUApT#hN(L&asL)nH3ar_?mj<6s&zVZlXK|@xKpm zkirP_EtOHbR0KiqR$+BeCH2^Xryrg%l~zI8OD;SK9v^7sfqr*=wRFM5D>pm%a!LsS zvHwH>r!V$+on-TX#SXd5kHg!H65re7<=-FqJ)=l%8fge*d4#JyksQW(Kmcg)tf!Jz zBSmWmzZ;Bg&11D(W9t1i{%bkxFu}im zqvjkA{xABL4t7lK)~K75Q7M%`=;l+rSP)hWo;4mQikK`O+R>e|GmAZ~C-`kj>`JI= zHQ2R)8TQ=rE@lm*jom|S^EVV9=jnu_k+oGgL-aHW9ra@@*_MEz)Kh~DzQpds@eL$6 z8AYKS$s(zCf)Wd3M`dyB-3e9wb440^EOgN|8 zC?S>eT^(DSka)nELlNOBCjk>hR)LO0PcU$)r{!b4-^l?e4`R@loF7CkjB>_ z2ve5&@Rx(63KXF*R{e_%_|fW=mcibd${~ZY;%K4KIaZ~H4nVN#+TlG zWpqlLZwJtO3HyjXt0=!~pmCQVCPQ8S#R<>A6PDb?mj7IEc9 zsX6EgI?*+B#vr&TP!;q{N~+$5pd2BJxc=Vsq-R*_brnbPnJ;VS05%EivdKbihE<&J zM_%FCw|nbL-!E*@V*FzHo%Rii;-3fiaziuh{=x5A?@VzVkWvv&<^tSN>E+)JyZFwJ zQC_{~WB(0b-F59@l+R{;eEhcSMZ4aLRAJAdZJXcI$jtwo %2$@ و %1$d مستخدمان آخران نشروا منشورا تمت الإشارة لك فيه few - %2$@ و %1$d مستخدم آخر نشر منشورا تمت الإشارة لك فيه + %2$@ و %1$d مستخدمون آخرون نشروا منشورا تمت الإشارة لك فيه many - %2$@ و %1$d مستخدمون آخرون نشروا منشورا تمت الإشارة لك فيه + %2$@ و %1$d مستخدم آخر نشروا منشورا تمت الإشارة لك فيه other - %2$@ و %1$d مستخدمون آخرون نشروا منشورا تمت الإشارة لك فيه + %2$@ و %1$d مستخدم آخر نشروا منشورا تمت الإشارة لك فيه reposted_your_post_3 @@ -235,11 +235,11 @@ two %2$@ و %1$d مستخدمان آخران نشروا منشورك few - %2$@ و %1$d مستخدم آخر نشروا منشورك + %2$@ و %1$d مستخدمون آخرون نشروا منشورك many - %2$@ و %1$d مستخدمون آخرون نشروا منشورك + %2$@ و %1$d مستخدم آخر نشروا منشورك other - %2$@ و %1$d مستخدمون آخرون نشروا منشورك + %2$@ و %1$d مستخدم آخر نشروا منشورك reposted_your_profile_3 @@ -259,11 +259,11 @@ two %2$@ و %1$d مستخدمان آخران نشروا حسابك few - %2$@ و %1$d مستخدم آخر نشر حسابك + %2$@ و %1$d مستخدمون آخرون نشروا حسابك many - %2$@ و %1$d مستخدمون آخرون نشروا حسابك + %2$@ و %1$d مستخدم آخر نشروا حسابك other - %2$@ و %1$d مستخدمون آخرون نشروا حسابك + %2$@ و %1$d مستخدم آخر نشروا حسابك reposts_count @@ -331,11 +331,11 @@ two %2$@ و %1$d مستخدمان آخران ومّضوا منشورا تمت الإشارة لك فيه few - %2$@ و %1$d مستخدم آخر ومّض منشورا تمت الإشارة لك فيه + %2$@ و %1$d مستخدم آخر ومّضوا منشورا تمت الإشارة لك فيه many - %2$@ و %1$d مستخدمون آخرون ومّضوا منشورا تمت الإشارة لك فيه + %2$@ و %1$d مستخدم آخر ومّضوا منشورا تمت الإشارة لك فيه other - %2$@ و %1$d مستخدمون آخرون ومّضوا منشورا تمت الإشارة لك فيه + %2$@ و %1$d مستخدم آخر ومّضوا منشورا تمت الإشارة لك فيه zapped_your_post_3 @@ -355,11 +355,11 @@ two %2$@ و %1$d مستخدمان آخران ومّضوا منشورك few - %2$@ و %1$d مستخدم آخر ومّض منشورك + %2$@ و %1$d مستخدمون آخرون ومّضوا منشورك many - %2$@ و %1$d مستخدمون آخرون ومّضوا منشورك + %2$@ و %1$d مستخدم آخر ومّضوا منشورك other - %2$@ و %1$d مستخدمون آخرون ومّضوا منشورك + %2$@ و %1$d مستخدم آخر ومّضوا منشورك zapped_your_profile_3 @@ -379,11 +379,11 @@ two %2$@ و %1$d مستخدمان آخران ومّضوا حسابك few - %2$@ و %1$d مستخدم آخر ومّض حسابك + %2$@ و %1$d مستخدمون آخرون ومّضوا حسابك many - %2$@ و %1$d مستخدمون آخرون ومّضوا حسابك + %2$@ و %1$d مستخدم آخر ومّضوا حسابك other - %2$@ و %1$d مستخدمون آخرون ومّضوا حسابك + %2$@ و %1$d مستخدم آخر ومّضوا حسابك zaps_count diff --git a/damus/cs.lproj/Localizable.strings b/damus/cs.lproj/Localizable.strings index a96bfce87766f23721a68be62294be9a3b647334..2be49d04273b993b01004ad8f346de1736abe3c5 100644 GIT binary patch delta 1868 zcmbVMTWm~G6y2B6sn*n>MJv_YK~&9XO2tP*h=^w?X}lvwXWCAUnK6%Q1&vAsi6*)w zr61z)FSzkVBK7GYy;i$fmSQyuN+YYZ=@FIABJybn7(_>AqTKC6~&4(rRK0vL+&qr$k(L;xj+@=KWu_9Pw zc=K4JNS(#=D0bAB1Lvn$J?!aQ<9v=Eu=rff+{y%H@NE=DwBpope3!tQ24aH3eDT7p zVzU>a6i;-P^GJ=0m)M2xT!;Wdl8e_$c}De997}PLM5;y|jj!3z4o1z)>FVuH@_WB~IJX zYtzOg3;dI0{C21+U^)(g8(n!E*>pD|qe`c$%JDjQd4g5J5Bt29qS+Hf!68r*MxiNw z)>l3$3jh@>mY9wNrQ(6jg}nOo0jK-Slrj-yo}>{1d*}$(jPjK!=y$RVHw4@voJKzW z)KJGQj*m;O6!aQF{#S~vX!0=XmG(v2zes^|ni?N9QV|vL>6!)0bT@%ttp!9ajGmyB zvWA|acWNHF8qFT22!N&mnb;&q7TVHCWg3a0U|SJyBrVxfz@fU*jZ3g!OLd^vN85h3 zzL54)4c>wJ(-tLs`)3>-em7iR>*yOs(ms`vEYj&Ao!JpGR=E4?W zq=6*4MD#4`5mc#B2ov9RsCXR0OE=n&+7`M;Er9HpYf(fH6ODPb3*KI0sOLb1n-3=Z z+^W=sWqs?y$;ut4SNafqS zr+AIvhLe diff --git a/damus/de.lproj/Localizable.strings b/damus/de.lproj/Localizable.strings index 2b70e178d3050daab81f9af035cf6686307f68c1..1a5a02193276d9b206dd2f3927b151d5bc3325dd 100644 GIT binary patch delta 1851 zcmb7FOGs2v7(N4&FH%Rx2Wr;U1XIRWHX(*api(qhiwLs_uQQWQj^lJ^)NGLj1|?Sns{D zPM&i_J~>JosQ#^uE}e{{nLW0=e$gqsA|NyomNNrin&=n02+@@fnb~LY9Tslv`EaTO zdpaIJRSg#;@;P4j)5Lhe$Pb$(eMh4(@aw^&iT_QdSydtS>hKhbCOGdDe!Tg7J4T=A z#_Ry*hUkR{O?ZTtChla@_^=lF8=SG+F4?|6h`n~$`H+|lM(JUHoNucO-Zeye9lQsj$J|MmDs3C$b#}L-oH~Z7^))1`+d6=F# zvWLF8GV8j;Z&M2TtPD2G%uPl% z#Rc?b>Z}<^FeaR<2diCjwgGl*G3i0s)vD;SbxI9MsW2qEFlb_QqQV4cX-yKr5($6~ z2hMS+et@~sXLd>$OR<#G;+VaTX={bApoF;}b_NPkLSr#0PrRbM1waV57B^Oa(jMic zvNg9{FXD8Fa_VV2OwY#3De5btW@jN?8;wR5##-Z1BOSkM(>F~eqM7w*$kRaNK8b>N zxh_S*YP#p|$5DD^#-Vapmx>CJ1oDn9BT+0)i(UBAL7`Wah+>>tM+)?FYxZFG8VM*Q zV)@#b970k=%n;+tsQQ2;izr4L1B39$bgCt_`XCPb0R;D(S6skbk<4a%Ln-q7aO;LH z*{PdeeJ_h&5&{(@?97f`u9t4r*r~8KJ2Jq6;Mb-9QRGb#0k=p+*GsNL-k6O*A7s|5q^UJn}y8m=_?cjvG)Zm-o0a z6@sg^tHDC2s(L$VvyMpL!?TVs+M}$?5XF$lP=KVjoBU@V z*X9e064)m@9MYK_;LoyIYF!BLWUFSb$v%5jIE#TMWiUKpD4L$g!>GJ@!X7!@&3dm2 FEC6t-H?#l% diff --git a/damus/el-GR.lproj/Localizable.strings b/damus/el-GR.lproj/Localizable.strings index f3cfdad97fe0e76bab3a958db8399e927f68f49e..8c2fd2665b620f5254af9766fa254b6ea972f1d5 100644 GIT binary patch delta 1862 zcmbVM(Qi{#82@fgw?WxvN83y$TP|Z}0&A-h8_Y)B9*BV$km!S17Fp>oW1+O9?S}B+ zo*aoW3*j@Vn4+jrUj){5%{I1WgKYsL{0GL&Xp|=)zL^-}?>o15ZLmf#&F#78obR6V z{l4Gt`;AY!Ccbw~bOrL?1iJQd*AE_E>#gQJzj$6hO~=WiIGL2zZ%NEdI!zHuVT|Y< zi<0;y@R)QA`)P_Ib_jceI>w|JAMW;Ye{^$|tjG9^&$eZnyvAmJBjxs2`pEuZ;@fBW zc&fI`q-C|DrqzNnX--{LxAAV$ids~w7?&_E*yrOaNG^dCM0gHM|Hd4L12qGPMi#sf4)Gu1R=$6+deq_V z|1$O|2v`s<)J=`5pn0;{o6_qhJ;qu&X)X~Q-(3pqwjl)`2Lfm|b9SGlw2bUdOJ@G` z7|mS!pq_7LM?y{wikq4k(O(?&b>J958bi&bNu36Kl&v>{{PSgRyC~{AWHtjPu4_!C z^W^J!bqB~6x#xFp!#{Z9!>_%>JBXyJaW_!3}x?@wBpg0%q'%@' is an invalid NIP-05 identifier. It should look like an email. Description of why the nip05 identifier is invalid. - - ?? - ?? - No comment provided by engineer. - API Key (optional) API Key (optional) @@ -483,11 +478,21 @@ Sentence composed of 2 variables to describe how many people are following a use Enter your account key to login: Prompt for user to enter an account key to login. + + Error fetching lightning invoice + Error fetching lightning invoice + Message to display when there was an error fetching a lightning invoice while attempting to zap. + Error: %@ Error: %@ Error message indicating why saving keys failed. + + Everyone on can see that you zapped + Everyone on can see that you zapped + Description of public zap type where the zap is sent publicly and identifies the user who sent it. + Filter Filter @@ -574,6 +579,11 @@ Sentence composed of 2 variables to describe how many people are following a use Invalid key Error message indicating that an invalid account key was entered for login. + + Invalid lightning address + Invalid lightning address + Message to display when there was an error attempting to zap due to an invalid lightning address. + It's spam It's spam @@ -667,10 +677,15 @@ Sentence composed of 2 variables to describe how many people are following a use No block list found, create a new one? This will overwrite any previous block lists. Alert message prompt that asks if the user wants to create a new block list, overwriting previous block lists. - - Non-Zap - Non-Zap - Picker option to indicate that sats should be sent to the user's wallet as a regular Lightning payment, not as a zap. + + No one can see that you zapped + No one can see that you zapped + Description of anonymous zap type where the zap is sent anonymously and does not identify the user who sent it. + + + No zaps are sent, only a lightning payment. + No zaps are sent, only a lightning payment. + Description of non-zap type where sats are sent to the user's wallet as a regular Lightning payment, not as a zap. None @@ -697,6 +712,16 @@ Sentence composed of 2 variables to describe how many people are following a use Nudity or explicit content Button for user to report that the account or content has nudity or explicit content. + + Only '(name)' can see that you zapped them + Only '(name)' can see that you zapped them + Description of private zap type where the zap is sent privately and does not identify the user to the public. + + + Only you can see this message and who sent it. + Only you can see this message and who sent it. + Help text on green lock icon that explains that only the current user can see the message of a zap event and who sent the zap. +