From 5a872c8ca583d2ae0c657dcdf8bd4399cd85fdc8 Mon Sep 17 00:00:00 2001 From: alwx Date: Wed, 28 Dec 2016 13:00:21 +0300 Subject: [PATCH] Translations for DApps (#334) --- images/contacts/auction-house.png | Bin 2068 -> 8960 bytes resources/default_contacts.json | 40 ++++++++++++------ src/status_im/chat/views/message.cljs | 6 ++- src/status_im/chat/views/toolbar_content.cljs | 7 ++- .../chats_list/views/inner_item.cljs | 5 ++- src/status_im/commands/handlers/jail.cljs | 3 +- src/status_im/commands/handlers/loading.cljs | 12 +++--- .../contacts/views/contact_inner.cljs | 6 +-- src/status_im/i18n.cljs | 12 +++++- src/status_im/profile/screen.cljs | 12 ++++-- src/status_im/utils/js_resources.cljs | 6 ++- 11 files changed, 74 insertions(+), 35 deletions(-) diff --git a/images/contacts/auction-house.png b/images/contacts/auction-house.png index 59eebce4046ac12c32046997ca173afae8e56f68..fee9fdf9f00a292a1b5de8427e180720de4bb0de 100644 GIT binary patch literal 8960 zcmeHtWmH_v65tFj!8PdM5ZnR*22F5xg1fsza2YhX1Ro%11b2s^!3pjXB>3PAWaoSD z?c3cy`)hyhJ*RJX*R3wQReifo-B@*1IUFnsEC2w2qagoQ6Vdnl(=gBwcgS4>x`{vCXZXP~vK0Zza2B)XL ziyG+w{Z3L0@Ks~!|1=)zvc9@xA|Y3Ts;4y z7D7Spf1Ysja`ABgmo{Rl*gsGaH4l4h1m}O~i}Q;83-kYg{fCbj_dm@4H(~y*>A#=| zRmHKyxc_T5aV+IN76Sl)PEz5ml(rx6#2DSnL@uN2X#8EO^HS;_eRE5*@DBwyEEbeh zzzXg@2M16ylXSDD=6J-w$KbURZhLNjT_lP$)i%Y90tA&16qQZf+`=3!+{7@lmdRAD z6xjW^4!{1@efW1H*SGX+gx5`Tp;&XMf|Si3=dny(^ZqReYp3Sbto?y5?xVT7T5N% zpln`fqbO`${MGkw>H7@HdFpbNn8`cakaN9{)G89h{uNyC6-d zhb6_u#Z%kqV+nsqL2`C7chwF<_>m#=kLzlM9e*C@gm0;iP7jJI$1-PFg73f%+5BlA zk3T>R!yVRGhBaF4kahtFTTpY-=jktJ-Ks?UTqSC&_h1SkZ>(!yUnO+%eFaaO*=xs; zpOtLIT4z*caT+-&Z&)d2P=@(N@q-htit5`pWoV(?Vs#%WCO^qMfx+6^PCZGUA+Fpi z6232=cG%Ulrqy|=H(&)zyz?b8OC0nnp&Z5WP!)`jm5(R%aN57UCju#s4_)M2debud zXJ?0>?Z4m#?fkN}d#GZP4p*#@QKk>FLJy;V${0QdunS5g9W|V-DiPUC7ITBI0V>(N z`44S@6^mc)zgozeLcdhSt*_Lkxflm?>F5e-I4dDv7aaa3mGMpZ%A>UZ$pttgH95!~ z*=^w^i2c`4z@A_wY~G^JHB>`LhR$tedLMfLh{ z8(6Gr@6C!^)!^EImHs+%8eo+d@&a380e(GOHj`Bt6vJHiFbkQcL2qQCkcMYyLU3JH zR5#w7eR##4FMsWsqfaeT{R`?>q1iRdDLFdzBanED))C_`alvBSeP!YFfB`>s6m7oM zH7#w9d-)vn_YdsDOqJXUa}8|jwd-#cdNFFWhluD%7LT^*3Uz;OqBgXfAR(Kzr8Oeb z2t0NO#^6cVR2&^G^{(NMCi0e-g=9{tQ0mU^l6bbN0le+fU*`@>F4-fMVis53^G-;( zEQ>v?{C#p2SF5Eu($>JKJ{c>;MOE0Uhp2N zfFser3X|&(&J7z&$-nk381U4GQqlw-Q{yWn+TH|;UiYNX@5?xA$G(pKZS@~+zU*+uKKMfil7bZ2`4N!As zILfh@V-1yfY%Gw+Tg*^9z0S~%&W=87;53SPRT(06|ER>=B;x(FwTElB@^M_?ZX?_jEuPifJT5mM+}e82{%q{BDk;_!IG`Otn0}+b^!7C0!0e>OSO`&Vb1yBH%N_ zr~$coenu7P@TL9rS}nD4Fu?i~$>_9g4nTv0<2wjG$hcth-tWY8s$B1HvaO%(k0lsO z0C8h^Dn!KK#Nf7-d-gZvv>YMoRl(tn_ff!C*M@dOvq|yGv$I<&cT8`{Vf&e8Mq|p$us^2iv`MhZwgc&Pg+2pnP0rqQ zruc)X!Y`lsS09EcER!X3H4QTxm_wO3%9a^Qz=oB3eL7yq+#37f${-RNDI_&GpVW+d` zc+^cBQ%#>KQ4bQy-1aX-Aj6{l^^A$W-gD}Du$|SGfNz73>KmS79nE4kvj4@L7*~^Ri0^Ni0I_GiORy$9lF!+9%>Wx zM)XKFHtwwHf4qTh=^t1_ff3;MUw(b0OnM!xKB-n=pg%2C~i==)R;J0 z401cYawg~B>Lm3)hV2#CjhzBz_Ia;!dBT37n1SYAaO--gm~>=+Glf}FOtQBb{h}$@ z6uC@n;dZJ0LSU zI^OOm^#_eJg!$5H31T;9IjKGrW+_lr`*8%n>ly{hAlc9#KV5JO;~NZodxuUnc+Ze# zBsSL??HGKpo`{{98|}=nlBjv4zD6uVE#h90Z&SDQwlM*BiTk_29MtChPnpuQuGXmK z=Hs2cjE*`EE5mw796<5Jexp_G%GS#-W7$#pl~ zJ<>KIi%%I72UwhD)L!X7BK@$+;P|=!kH{Qm+V6fjE8rvT!iKHuByCc_#MxWwqwo`T z>=VBmObV)3#cWQBCv6qX7NS??%eO;%6+uHQ9Thefy`MD4Fvyhz$C}{P*sGLycafUC zNh9cHq*zFjcNq$>Rd)Xd+wrwiK?%|tgq?^W>m`kaPpR1g@!$}OCUB2LE<_VzCK{Px z%d(Q>uGCXD$JMU#;u>BsD+A(>=RMS8g!79p zr8GGwA&DE>zC)^z3G{=4L*g|v^)mh6+u^N1e_Zt)J=$eAJ5)xWsH>TKCE$eFj_ij4 z2wdUk-n*Mh9YAquB$!SSCa475(Jf9|Gr2oSXueS}*xKQWN13&B2)E-Lt$uZA<;ZS+ z8=a-MLH%;SnUW?kG>?Uhb+@a2P&)7@(F?MSnJbcxl}L2twt&~U`d%mK2lt|7gwo;6Gqt?pIX+z%<&gflJIhd!!<&)16(@4Giuv_o+dO9ad zbn4|%r@^22^LB;qFx`|&W+@pgDq!hvTNqjexMsgQ79wK(vLs%IrHMUKWt_kHiLCRv z{<_Xpt@+m}&PT#52zP7pG~pa$uS$kizIB-`*_^SKDuSXaq7(3_imrsMj@*SNhpoUw^o$=AcUQ81D`b z5b^s%SQ2mnbSx0vgTJ`BSO%>7VsJ{aP@at&c-OM5K$iz)@BKE|CH%9S{oh#NrhNQ) zkPN*c&tF7jf7)>h6ff+hkYn|{p;42BQg;lGH^P__k8FECIBXYdPVCp4(b-$A zhF&*i;N_jOyW||HQ@i%J7&<}Xz$>`sgMQDyvSv>AgXQGb*L(Sg6YKC?NcBuCGj{awAi%o zUVD;4y`pKa22*SUGovwX20_de6Em!B{bRgvUB^v$N6k0rNVA~8b&sfD&??@NLz36@ zUv|dZJz6hF!AUQl?9X$TkZl5j=lU;rD?nXx);l$(%atFF7(D$?SZBIV0!hL7E)w((&>W*U z>|g1E`YGG>stn$tD0j_7!3@TBbW>{b%or%NYD_Q0$;5yOFNmOK$Ko77A;5roAnpvf zup`B!3u5bM9q-{}ocbaiOK8}3_wo2bYv%U;gnDD2^x}_K)z^GQMJ4A1H$7+{4!KV`2Pa%iC^6u8F}uEUzL*;W(hW~ zmDebF7J<|aZa&C9x3{9^)xo8g2ZO?gy6&CtZC;9RW^u@48K7fcQPqb)X8u~cnpny` z>=**?w4DLM_yCe&tU<<5atsdLkjFiVVZOmbG86iCp-AI95+D8P`5&CUkxTJ*uqQRx z6mOSIo&*UpS>fCw{X<;Ds|#LRnMG=q- z*(}1Disfga4Mw-Tu?JV`t1K%P1HV4OH@+s*A>Q#4yi2-X$vi(N+@7bzuxs8$D2D>8 zH2X>_R%%RYlidpeB{KfLk{0(HH7B>9L~P!6P*^<(y#q0#@bD#$;03kN0qn;L`&s!9 zPCjG@iB-=@4W~VF=yH`z;u}?9;E%U;DUyU4>CqkBQRJI;$@6*yTDWcS=zuPlOyh+2 zJTv?9Usp)j)0z2esbdRT=8ah@fF zGKcbuUp6KA8iqF7OHn1Ot2(&b^PZ83c3HC4>hd?9!@xZ zE2)a6Q1x`zougyuU3%0}&z8B#Bry1Ol!@z1gO&<-?SFkuzKM5Tw?#GyN~-!^uCa4J z_Nqf!9b=QdbX7!F3lB+q;n$2A-kEba@+Y>Qi26PSU)>P6)tDj<79#z#K1QcfY8K-~ znNo-K6O+gP_yo*Uh3(PJ#B-W%cTuD*TI?!W7|)tBuG*85->d9nAar6bW^R)GIti^i z-w(t#tFVw~AD{N&E! z>?&W?$h-8EWM^c8R`RfCc`kM`k}L;gr{42>q_5HR$;_dYepSTBtF^miwQTN~zG6~H z!b#x%+<<6DZ+)=V+400E-URtR?QfM2;L5IZ^<+rO`OidTrU-m_BvzpEgbS7$e)f1+ z4hsAD^3Cz*Tc2b461w{&vZDTD%FJ{Wr-d=YvnI9rniVQW+OQ5$+8}UToJsKA%bQN^H3nbNj3p6Ya*}aBLqrA6H+IMI|5*Y8rx6hwDz6?istBj?4<)gW0*smE!ZUWY%m%2 zo~=h-cfWk`iVauh$$Tk6At03jf-aw%HZQ=@Um^=oRGL9?18AFA*AJ|1H+?7!_bT1| z!RHX1-CLAeve~0W5}d&`eUT=k>W8Ek!%_4q8Hs^zp>oYepk^)=pV_o#VF>DA7vgW* z+f-Sjy-xwfRuD#NzzA~!I`N!CKKp?AFiQ2e1~UCE*y*LhHC{RSfFd^^B?%?>JgpRY zR%!=Hy_~b=8)3?u!%eck0a6u1S(41mSiNu=XFz9!gO# z0;3?|=KGcyP8OV}k(D5%jA-t2ZqH$No)H=Tm;>wqGI=E7u)Rm)^^ueXly}(6z6ElN z5fv;4*x4NCsYJ*mEmj*I5iVRCFz+uR7(vHSmOhK=;bCvFo|l+>Nk}6;r|AwzxwLb; zXfLTO5;I&j8IfGXtz2uHWMcd9_HzJ|y@&EBiz8n00pORFydl&Cy^G>9 zTorN-zPM5(VInIi#X2BLv&-9BS6LeY_BZj=nu(-6Q?^u>W?1dLE~U5VOL&sFOgU*vG*@$q@xU@Mb zqxu6FJr$t1T8ASthkrb=iYR+HnD9u@pBf}(F_2SHal|CuSX0J(^&>ucGpIk3Lg;`Y zV2_&blS$22Ykc>z#k9%Qqf9}e9Z^M?n>Z|Tdh{{=@3+Ljr@a_U&S*22tvSfxCC zX+Mi%?QGO*v6+%lhV9m}rhAU#=+Y*2!s}&FNCKF(#8S=eNro|l(qE4e=#q?#(&y!` z?)Qo+(3Pn$K|hf#e3(s#Z))?jAZdc7J!bLC_@Jd z4U=kKy$_}x18)?-rXrX_A<|(YrFh6;ANIR9Jg|1fLQU}-9?$6!WxVw|HMaftsEU|P zs{w?9i*$;-D^i99B#-%2G4i^_W|DQ`5E-f6-fGDkVCt1NEG%c>)mPSX50lOeFG;ji znn7_MYJJ|HM+RROS{(QFxAU0STS^JidPZbaF~junF{+p2l;SHJ>iBxy;m#CnNqDSk zrwCtXbQ(vZJrGpRymbv=8;K3Ze`l6$+tWWo5g87sxUY5F%Tv;umgu~qpFGNZH;z)g zH$hTv4`Y~AUtrS9;Co5>hvj0qB7Cp%@~eYNYm$HAfzBEO?w%YtjeozNE!d7HyY=+! zurXtUj)q2uM9OF}hT!7TNY3BeXW{kGkZ7GR6a*+WkI_?4%$-ptdS51ro$}6~5vxu( zEOM|b#;BU?=*2?IAc4Eps_g0bN{py?Vc(}HVd>OGMi47Z{BoVyPn$GbuEru|G%Rr; zJdjErsVF&pxROwcou`MrnRS7^SsUr{Frln(OFf7Qoh8hlL>_68fr7iR_tNL^T zQKx!hUoLqPQET1xJUnQyrVf*=lss6i3`wvn^)0IP#Xzn~51{^|Z9G&k zt0cdEH$m0ppZ0n480Wo_rnGejK1#e)bTnEk(F;uFlVs~CRg;WO(bkIxF6Uwj0y>2_ z&sq&baD33&Q;x>gJ@89Hze9Zy73v1kup70G`t2dE!^$IRMrMZRo@+fI($V>+Uz>)^ z%|rS`U4AL-*1DF~Za~E%CR$i_Z7~*`+tg~i*wck1jd0!W;AnKPF~FHDKg&U?uLc*R zr8pHhFZ|-znSniq?4L^Xd#C|^tX^y+0Otm0s&c;hSBb!+zI^y;ilD$%!>cSk-}uV$c16H+iBPEF@m z2yJvMPVLxViwM^XqmS``TDxq;8DGd*zhi*y|N)0HnijVCKkEf8>_^4Nf8tV zs*o5~c0;7v1Pokk#aYe-XX9LK-sc=GIQU{Ppdjw~pYAh#}Nrb&_d$_Nq~LJHX; zf{axrU0(PHu`FZMn+P*d3yiMhD=!pY%IxAa=mHTH(;*YV3A?D%=l>!d-saqPwzG5E z2LyLHzvp|tJLfsK-}8GYgaE_C!{qz-?-&>uK!1Nfj7B5OW;5(|JM4BlY&ILl#>T+1 zEaY-IIF19yafpeDfl{eNe0)6O>Vm;wfWctEpFe+i zi=B{=0F_DwwOWm|v@}FTMFo8wgVvzK;UJxzooH%m!rQlR;dD9!-X_B^NJ~pYPEHQe z)6*f7$%3-J0dHh@c$hqT^axL$Jb~3}4RmvEQ79D1%gcjCqX~Ey5wPH9vzgS@)#2sK zmlzux3sf^+!?G+69z2MGf&#?E!~|shc@H`i7sJ z2!(}(IC0_xFIz3+ZveB|OirCTg}%N%e?tjMZEY?3`ubotn~A@DtzQfG_V$v}(o&3! zjQA5Kq*%3T6)Gz$p;D=Q_J;O#!S?ocQe0dtDMJBZWMl-z#l`68=peqv@aflRY-}VI z6&0A8n)0>XkS8J{0v9h{L~d@b*B*Jjz~je{NmW&qw~L9El9CeS<>h(hlUKWcb8|Df zdGn@sszgpzRTWxWTfOQEmi-HKcXyMsXU_)ZnmyED7zTR19w{j)%kpbkU;6Rm2hnP^ zu-onasS`0A$Dz8q8k;t4^5~hz^Hi(VN(u`L|7k-3z;3tW(xpqVTCGH(P%LR|gr{IM zO_v!A2L9BE7>mUMlgWhk_V)jl`reWUs%Ouhk(QPgewBGaQBe`zy?eLduc)Xz3Qk7d5rJyPLdv^(tVZq(Dnc3qE}KuxK~1VE3Pznj-o6`GHp@0rYx3rlzI{P1AF_ zfdyM?TU#4`{rVL=Wg_P1&!6b%=veUn0#j>iYl9+4DlF#L98=%Fe^0)B`xZ1oQsB#% zFAMtCIi|jN@glg2B*J{(T&7yBR?^wo8FWEXprfM$R;$&uwYp4w{rYuCJ)aj7V`F1z zYio18cA47T+$@M7sWAI;o(BFVK=k(Z3MNPj^z`(=>2wlc+SIRKzlL{xKXEu5m^pKz z0U&&9j~`}yqygab=g)$QkqR>jB{Tq0yZSLlam-690YALnS|CNDFy}xK#z`&3avv@jE;_i;p>q}QBe`JS}iZJJfYQU zd2g$_x*9b#HGapj+wGu3IfYz|*lae?|9X-H-`MST-}6($xQFIAPG}91g5x;QGMP+h z9g;#WmxGbZ<-7!|sj1=R=s6pAXB2!LsRIGWaiF83qJ-8VDWamHK*zF^y;V!^OSe8X*W~S@4%T$FzL8Ygs3nEJF zWMpJu_JFlH_froYIuv|G5@5b>b4*Q1NuiRGl7cEo>}=Vx1v_`{TzViyVPRqL6iI-^ z{90gYW@cvivUQnk+_(`L85s-SUtlUt)09r93yLVQqtodye+(7iX2f4=YAUsV|Ng+M z5-|r39B^Ay!R^yjolb}FL&3$7%jGz8=8W6V-I^K`6GNRoeL5hb#7=Q>@shF z_pcns;p)|^9t{PSS(j?_=FQZ#YuEnS2ZRj6pt7=ZS(SbOFN%GorlwM5Wo14K6Dt%& zp{%S7yLRnbb`3AD64bJ@v#Imv&wH;-#GE^K4p~`QUX`T_7f^IVPzxx|(AL&Qu3Wi- z@$qqALxe0W%c8uz9DDcf^~oQepjNA?`ucjwKYsj3Zrr#bs$rQ42?;1E zDZ!2%J3^}@{cI*CCdk8w4{`tg{g58+E|bY{?AS5n=jXeg*Yicdrui5g93*vhb!cpC z45>2&mSvHfn~Q>i0<2xTRvgoO%x8Fbm^3sr;OWz+f=@_u`0!z9G#ac~vqqc~(#*%< zaFF))b~H6Lp{uJaD1(d{hQaRLyOEQVgN%#}=}eup7#53#ym|8mJv}|>?d|3DwxUw0 zgj%hJTCK*OJ$tZn (:messages chat))) last-message) - name (or name (generate-gfy))] + name (or (get-contact-translated chat-id :name name) + (generate-gfy))] [view st/chat-container [view st/chat-icon-container [chat-icon-view-chat-list chat-id group-chat name color online]] diff --git a/src/status_im/commands/handlers/jail.cljs b/src/status_im/commands/handlers/jail.cljs index 624c556224..151012900f 100644 --- a/src/status_im/commands/handlers/jail.cljs +++ b/src/status_im/commands/handlers/jail.cljs @@ -9,6 +9,7 @@ [status-im.components.react :as r] [status-im.models.commands :as cm] [status-im.constants :refer [console-chat-id]] + [status-im.i18n :refer [get-contact-translated]] [taoensso.timbre :as log])) (defn render-command @@ -47,7 +48,7 @@ {:keys [dapp? dapp-url]} (get contacts chat-id) hiccup (generate-hiccup markup) web-view-url (if (and (= webViewUrl "dapp-url") dapp? dapp-url) - dapp-url + (get-contact-translated chat-id :dapp-url dapp-url) webViewUrl)] (-> db (assoc-in [:suggestions chat-id] hiccup) diff --git a/src/status_im/commands/handlers/loading.cljs b/src/status_im/commands/handlers/loading.cljs index fd8a85d2d8..aae6f215e6 100644 --- a/src/status_im/commands/handlers/loading.cljs +++ b/src/status_im/commands/handlers/loading.cljs @@ -167,16 +167,16 @@ (reg-handler :load-default-contacts! (u/side-effect! (fn [{:keys [chats]}] - (let [contacts (json->clj js-res/default-contacts-js)] - (doseq [{:keys [id name photo-path public-key add-chat? - dapp? dapp-url dapp-hash] :as contact} contacts] + (doseq [[id {:keys [name photo-path public-key add-chat? + dapp? dapp-url dapp-hash] :as contact}] js-res/default-contacts] + (let [id (clojure.core/name id)] (when-not (chats id) (when add-chat? - (dispatch [:add-chat id {:name name}])) + (dispatch [:add-chat id {:name (:en name)}])) (dispatch [:add-contacts [{:whisper-identity id - :name name + :name (:en name) :photo-path photo-path :public-key public-key :dapp? dapp? - :dapp-url dapp-url + :dapp-url (:en dapp-url) :dapp-hash dapp-hash}]]))))))) diff --git a/src/status_im/contacts/views/contact_inner.cljs b/src/status_im/contacts/views/contact_inner.cljs index eccee6d939..38af0e85c6 100644 --- a/src/status_im/contacts/views/contact_inner.cljs +++ b/src/status_im/contacts/views/contact_inner.cljs @@ -4,7 +4,7 @@ [status-im.components.chat-icon.screen :refer [contact-icon-contacts-tab]] [status-im.contacts.styles :as st] [status-im.utils.gfycat.core :refer [generate-gfy]] - [status-im.i18n :refer [label]])) + [status-im.i18n :refer [get-contact-translated label]])) (defn contact-photo [contact] [view st/contact-photo-container @@ -13,14 +13,14 @@ (defn contact-inner-view ([contact] (contact-inner-view contact nil)) - ([{:keys [name] :as contact} info] + ([{:keys [whisper-identity name] :as contact} info] [view st/contact-inner-container [contact-photo contact] [view st/info-container [text {:style st/name-text :number-of-lines 1} (if (pos? (count (:name contact))) - name + (get-contact-translated whisper-identity :name name) ;; todo is this correct behaviour? (generate-gfy))] (when info diff --git a/src/status_im/i18n.cljs b/src/status_im/i18n.cljs index c270375c81..5070abe0e1 100644 --- a/src/status_im/i18n.cljs +++ b/src/status_im/i18n.cljs @@ -33,7 +33,8 @@ [status-im.translations.zh-hant :as zh-hant] [status-im.translations.zh-wuu :as zh-wuu] [status-im.translations.zh-yue :as zh-yue] - [status-im.utils.utils :as u])) + [status-im.utils.utils :as u] + [status-im.utils.js-resources :refer [default-contacts]])) (def i18n (js/require "react-native-i18n")) (set! (.-fallbacks i18n) true) @@ -91,3 +92,12 @@ (str "t/status-") (keyword) (label))) + +(def locale + (.-locale i18n)) + +(defn get-contact-translated [contact-id key fallback] + (let [translation #(get-in default-contacts [(keyword contact-id) key (keyword %)])] + (or (translation locale) + (translation (subs locale 0 2)) + fallback))) diff --git a/src/status_im/profile/screen.cljs b/src/status_im/profile/screen.cljs index 2fc5a8ea52..b1e208635b 100644 --- a/src/status_im/profile/screen.cljs +++ b/src/status_im/profile/screen.cljs @@ -32,7 +32,8 @@ [status-im.utils.random :refer [id]] [status-im.utils.utils :refer [clean-text]] [status-im.components.image-button.view :refer [show-qr-button]] - [status-im.i18n :refer [label]])) + [status-im.i18n :refer [label + get-contact-translated]])) (defn share [text dialog-title] (let [list-selection-fn (:list-selection-fn platform-specific)] @@ -72,8 +73,11 @@ (r/set-state component {:height height}))] (r/create-class {:reagent-render - (fn [{{:keys [name status photo-path]} :account - edit? :edit?}] + (fn [{{:keys [whisper-identity + name + status + photo-path]} :account + edit? :edit?}] [view st/status-block [view st/user-photo-container @@ -94,7 +98,7 @@ :editable edit? :input-style (st/username-input edit? (s/valid? ::v/name name)) :wrapper-style st/username-wrapper - :value name + :value (get-contact-translated whisper-identity :name name) :on-change-text #(dispatch [:set-in [:profile-edit :name] %])}] (if (or edit? @just-opened?) [text-input {:ref #(reset! input-ref %) diff --git a/src/status_im/utils/js_resources.cljs b/src/status_im/utils/js_resources.cljs index ec162d86ef..9a9b1621e0 100644 --- a/src/status_im/utils/js_resources.cljs +++ b/src/status_im/utils/js_resources.cljs @@ -1,7 +1,9 @@ (ns ^:figwheel-always status-im.utils.js-resources - (:require-macros [status-im.utils.slurp :refer [slurp]])) + (:require-macros [status-im.utils.slurp :refer [slurp]]) + (:require [status-im.utils.types :refer [json->clj]])) -(def default-contacts-js (slurp "resources/default_contacts.json")) +(def default-contacts (-> (slurp "resources/default_contacts.json") + (json->clj))) (def commands-js (slurp "resources/commands.js")) (def console-js (slurp "resources/console.js"))