From dd59f921d567e5283b63c880bf87a2951c7bb121 Mon Sep 17 00:00:00 2001 From: Ilya Laktyushin Date: Fri, 30 Nov 2018 20:13:50 +0400 Subject: [PATCH] Various UI fixes --- .../Components/Volume/Contents.json | 9 + .../Volume/VolumeFull.imageset/Contents.json | 22 + .../VolumeFull.imageset/vol_full@2x.png | Bin 0 -> 841 bytes .../VolumeFull.imageset/vol_full@3x.png | Bin 0 -> 1016 bytes .../Volume/VolumeHalf.imageset/Contents.json | 22 + .../VolumeHalf.imageset/vol_half@2x.png | Bin 0 -> 859 bytes .../VolumeHalf.imageset/vol_half@3x.png | Bin 0 -> 1234 bytes .../Volume/VolumeOff.imageset/Contents.json | 22 + .../Volume/VolumeOff.imageset/vol_off@2x.png | Bin 0 -> 727 bytes .../Volume/VolumeOff.imageset/vol_off@3x.png | Bin 0 -> 790 bytes .../Permissions/Siri.imageset/Contents.json | 22 + .../Permissions/Siri.imageset/Siri@2x.png | Bin 0 -> 90992 bytes .../Permissions/Siri.imageset/Siri@3x.png | Bin 0 -> 193228 bytes TelegramUI.xcodeproj/project.pbxproj | 12 +- TelegramUI/CallControllerNode.swift | 128 +- TelegramUI/CallControllerStatusNode.swift | 83 +- TelegramUI/CallDebugNode.swift | 127 + TelegramUI/ChatController.swift | 4 +- TelegramUI/ChatControllerInteraction.swift | 4 +- .../ChatInterfaceStateContextMenus.swift | 10 +- TelegramUI/ChatMessageBubbleItemNode.swift | 5 +- .../ChatMessageInstantVideoItemNode.swift | 2 +- .../ChatMessageInteractiveFileNode.swift | 4 + ...atMessageInteractiveInstantVideoNode.swift | 6 +- TelegramUI/ChatMessageStickerItemNode.swift | 2 +- .../ChatRecentActionsControllerNode.swift | 6 +- TelegramUI/ContactListActionItem.swift | 66 +- TelegramUI/ContactListNode.swift | 194 +- TelegramUI/ContactsController.swift | 3 +- TelegramUI/ContactsPeerItem.swift | 4 + TelegramUI/GenericEmbedImplementation.swift | 6 + TelegramUI/GridMessageItem.swift | 2 +- TelegramUI/InstantPageArticleItem.swift | 12 +- TelegramUI/InstantPageLayout.swift | 9 +- TelegramUI/InviteContactsControllerNode.swift | 2 +- TelegramUI/ListMessageFileItemNode.swift | 2 +- TelegramUI/ListMessageSnippetItemNode.swift | 2 +- TelegramUI/NetworkStatusTitleView.swift | 3 +- TelegramUI/NotificationsAndSounds.swift | 32 +- TelegramUI/OngoingCallContext.swift | 8 + TelegramUI/OngoingCallThreadLocalContext.h | 1 + TelegramUI/OngoingCallThreadLocalContext.mm | 22 +- TelegramUI/OverlayPlayerControllerNode.swift | 2 +- TelegramUI/OverlayPlayerControlsNode.swift | 4 +- .../PeerMediaCollectionController.swift | 2 +- TelegramUI/PermissionContentNode.swift | 51 +- TelegramUI/PermissionControllerNode.swift | 146 +- ...nfoItem.swift => PermissionInfoItem.swift} | 113 +- TelegramUI/PresentationCall.swift | 29 +- TelegramUI/PresentationData.swift | 16 +- TelegramUI/PresentationStrings.swift | 5975 +++++++++-------- .../Resources/PresentationStrings.mapping | Bin 89696 -> 90702 bytes TelegramUI/SettingsController.swift | 3 +- TelegramUI/SolidRoundedButtonNode.swift | 106 + TelegramUI/ThemeSettingsChatPreviewItem.swift | 2 +- TelegramUI/WebEmbedVideoContent.swift | 2 +- 56 files changed, 3978 insertions(+), 3331 deletions(-) create mode 100644 Images.xcassets/Components/Volume/Contents.json create mode 100644 Images.xcassets/Components/Volume/VolumeFull.imageset/Contents.json create mode 100644 Images.xcassets/Components/Volume/VolumeFull.imageset/vol_full@2x.png create mode 100644 Images.xcassets/Components/Volume/VolumeFull.imageset/vol_full@3x.png create mode 100644 Images.xcassets/Components/Volume/VolumeHalf.imageset/Contents.json create mode 100644 Images.xcassets/Components/Volume/VolumeHalf.imageset/vol_half@2x.png create mode 100644 Images.xcassets/Components/Volume/VolumeHalf.imageset/vol_half@3x.png create mode 100644 Images.xcassets/Components/Volume/VolumeOff.imageset/Contents.json create mode 100644 Images.xcassets/Components/Volume/VolumeOff.imageset/vol_off@2x.png create mode 100644 Images.xcassets/Components/Volume/VolumeOff.imageset/vol_off@3x.png create mode 100644 Images.xcassets/Settings/Permissions/Siri.imageset/Contents.json create mode 100644 Images.xcassets/Settings/Permissions/Siri.imageset/Siri@2x.png create mode 100644 Images.xcassets/Settings/Permissions/Siri.imageset/Siri@3x.png create mode 100644 TelegramUI/CallDebugNode.swift rename TelegramUI/{NotificationPermissionInfoItem.swift => PermissionInfoItem.swift} (66%) diff --git a/Images.xcassets/Components/Volume/Contents.json b/Images.xcassets/Components/Volume/Contents.json new file mode 100644 index 0000000000..38f0c81fc2 --- /dev/null +++ b/Images.xcassets/Components/Volume/Contents.json @@ -0,0 +1,9 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + }, + "properties" : { + "provides-namespace" : true + } +} \ No newline at end of file diff --git a/Images.xcassets/Components/Volume/VolumeFull.imageset/Contents.json b/Images.xcassets/Components/Volume/VolumeFull.imageset/Contents.json new file mode 100644 index 0000000000..4cb7985a7b --- /dev/null +++ b/Images.xcassets/Components/Volume/VolumeFull.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "vol_full@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "vol_full@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Images.xcassets/Components/Volume/VolumeFull.imageset/vol_full@2x.png b/Images.xcassets/Components/Volume/VolumeFull.imageset/vol_full@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0eb8650f98bac185e38f4d86c30609b28483854e GIT binary patch literal 841 zcmV-P1GfB$P)Px&14%?dR9Fecm`kWlVHk$D`z?{{A(w#xIW8HUi83)D17)a0CNdypKr(O!%ndM- zIw!`I0f&)La!u;gArz8g;F4TUc;2(uxBJeYf9-#*v-aL^z5Dyte|f)mueJWQ{=I9p z>M*@Jsn#hSL;452*}4*AQ=Y=~KKR#hVWQ*&#`VC-iQ`KTo6pSK(3@1gC{gi3HunK> zZsMH6!@8OA5{4#=7`^D`KO^sgm0}BOpW**Z7BM;xjYm#rh&=UbFf<0MRhSTK>vXJDQ|>nnOzW}y4TY40L01%2xQXhxdFn9;pxJcs*Xi1jr5g3|s3 z7r;W;!018P%$)C!8NHS1{2}gyAx_X>I!D4z9qWvphwtH6$M57eu}F*=-Hx72O6wN_m&&pL~k$r~Fps(OcAEiIyPYIN|AthKIvB>lo?Ug4sBc}7+6hO4(j z4G!DLt=_21Kc0@6ZeTmoL$1hfmn(hfj+eQ7B(-l)Rcv-fRrDTIJ*@)|oj6;2w5Ww8^-%xRH|PX@yP}g^u2gS6K`)sGI%RZq=0Jw+44SFMS@PBz z6gy#5mvmERLXRk2ZiBXaQ?rA2)~G0>+L^Z#Cn=^)v(Q%$jn6fWtX3O!M%8`|R<+`# zleg;i+_YLl(DFQCnXO-?l)GwR<+$I%V3j|Qu8D(p--UcsP2Ct_l;7&F?7hF1A$7-A_6_Nzf_ zMm0-8XL|s~%=z}1Q5Ciot=ymmeI1&{QR^rh^#DHW1Wh=Mc}Bz9(!As}?~~gTAsk!y z_#iWeVQA2fQ;llH>wRwXw6nJt0ckbZij3V;R>)$iQQfOH=L31Tk*>xmD&6oEv|<)h zjb6#-z9FuJErtFqxdY9lVye+OjNJpfU|XPjtslzd3)qSM17*{(ilO>}))M>!h{tAl Twbc`z00000NkvXXu0mjf!DgAi literal 0 HcmV?d00001 diff --git a/Images.xcassets/Components/Volume/VolumeFull.imageset/vol_full@3x.png b/Images.xcassets/Components/Volume/VolumeFull.imageset/vol_full@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..f1fb7ecd8d68623ae7aac48b30d8c30746c4a512 GIT binary patch literal 1016 zcmVPx&vPnciRA>e5T0LkKK@?6z0tN&TE&PE~ga|<_v`hq}LiErkLO_HxR@z&HfQ=9k zL@T3$7B*U?5L9dgAs{w3B7&fz37SF_Q6dJ7`hCm2@OaGr+|KQvn+Naay_xs(z1g|h zoxSVoTA^HKpn)t`!BgO^xnwL!l0o431peFNCndp^IgBx6SZoz7#V=)^wcrHZ$UkX{ zmg3p^P!rB`;92mfPoOM(dl7URtc$g>PhJ)+@%})b@CnvQ-^~d23@qTnTA!S}>Nf5* z^l`NnMthL?1K0v{={_Kj!uh8o&t;#WKE5MxUT^?%70y0i8bAPj2a!DEzJc5IXF`7W z1VECu-5f6aK6K8Tyu6bPxr{sA*Moq!z)6a=Hl4z<3xPfx44jaSol4+}vjLqmU|UpD z-4!!!-vK!CitF4r(gut3>xaP`lT0U0BFE+6_z^I7cJeWB6rIDM&dbT*2Ha5^MzpVB zohXf*1eCs|ad+Pr;j|iKFTfhhy$JiZhPJ@^Joq1~l%AVTSBy;dZyw&RNM(nDp3L zC>Fy7ZD8b+#-4jqDDjHh;CbkwfE)vSbk&%CLFX;bMQhOc1FY>szbbhybq&Y`Jgkq) z{H-bIZkRFp9~j%yF56Y;+~gW4Ss$-{^r_rQ!+rrYYi}(M5eFLaS{UJy5Gw{ER7Lo6$x6B0{TOYxHGRZ$f#>%K+LC z*1=X|5@B4u*i=WqCC6#-DYsz4| z51lVCU9{hH@|^FaS|4m`eWc}b-~@05g_(sCG9Z)0000Px&6-h)vR9Fecn7M0JK@`U0z8l4TBZeSuC@zJdg^hv;B3Pyo>qnRDl+r>A|k zxP4TeW4a>h@4}wVe;w8(QqI!2CBp2)@!7-HDDsKmMdEKrWZbH82Zf!& zT%p!-|C-%meJ&iSWv}mKMKSjFc3~csnB@pPA+l#ee~dJ-{k_Ib7GoExtQFg=&izh3_^(9rq98gR5RzMYQdrl8BH|@KGWOxxhWGymk-v(1DMfW-MbTkm@JoVdD6DkQ zx+T=o4}wXH-c0yU-`EYInXbhna`wM*JO5I7zrl!xwEvQ zjC&xkiQ9#`JWAfQdEUt9#^kL}70aVbeFr|BJOU$VwTuZpq&fU+`Ize7c;x#8gzgb+ z3&<_o3RT%Z2L6CS;gise_?Xa9$8%MFXnfk(YHkWUQ|bd6)XWVkCiI$kI3PDFCMCJs zh2((za7$E#R5!8O4~3MKjR}RBPma)d#M=a0&C)yG2B)T{&k8sx+_J#TGR!cD>=*3Q zhCTeTiaS*(u~Wj3a8ck^-l{P-+iGP&6yEep{LKipz+pM3gb8cNEIBY->o699bTvt( z%5sFlb6+?tj0?GD2ZjSSCip8}E@w23l=4*Yhpg@}c_Lnys|9`KMP$>>p)K__azkv6lb<002ovPDHLkV1nVNou>c* literal 0 HcmV?d00001 diff --git a/Images.xcassets/Components/Volume/VolumeHalf.imageset/vol_half@3x.png b/Images.xcassets/Components/Volume/VolumeHalf.imageset/vol_half@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..82df9e4888f68ee81525d7bf0a365060fa1511a4 GIT binary patch literal 1234 zcmV;@1TFiCP)Px(j7da6RA>e5T3d)sQ5c>v806LrYQ`|`VDCisEWtq!w+a@cQE zL7U*2y3iyvUhbhPuA-4~8|G;@4&|LdbDnx}i|f&Fl-GDR(n{d1$45@m2)-89F9Rzg zd*NP@Hb(<5fylFJguC4w4Gj1WkapmoW3OV_iU;z;4)eQGziQKsb5ye$a5MU2Ce|SVHKMy zVelfr^=%_|5<5#0{bajPszd1+;0<7UI_)&nA+N9n=^y3OQ}AKac@fIx=rcAeRY1zZ z`@kw7(h-4rNzkDPN*I0nPrYDI=^u!n;l2}K!A@N zP#wI!?hZArL+&GBdwHcP8*(5|X0OG!qakgoQPv=^ETryW5j%iS+c!X(0ZZM3hV%Ss zL3wH)GxFHZDK?+6IOSvzaq~IK1DIZAi!(InGZs}$1mvhQANU!oklp?@6deRM1D}Cn zQy&a&1^7dSjmjaMp$h0H+gYiQ;EjT7$gBpQ89|EaF6e&cVH;BYu#u)~!0026%Q%qO zTXBg$T3i4cV=8d5txa;e&sRb&krzsq!^RnTqu>KFO~7d*7^ajTD&{EL+?TjaL&+t0 zD(1Cu2e2RD##e0OG+zKzD8pQm{Ky$fNlv|HSn33L8;e4&w#UQBTtGi!xXvTpT3sE` zLGoz11k~yR3-4l^-{m>gwT^d?^;&FMMXu9cE4>TBO5mO@NSL1qeL8UNK|C2EQ_{iH zFsB{g-RH>^iD<3%8X`xg&2z|h3$!+hC`{yE(IVP%s@96uyk*G_7;w^Px%kx4{BR9FekmpzP4K@`Uykq`(zfQ~RrOZEiDJkzcK!aV8ztsO{9AW620g!@i4CoGE zCIXO+0X+ubR0MM9pmTt`R025kHM$VMu|&w&j2Kq;x(@=|0jyR1o?m*G5+?_o&yfPUo4S5a zJ;ePj$I`}Mg?j8ecfL?vzYKII^(I}-6Vo)s)93}ymreI|n%i9K!ujzr&~4Q6C*Elf zg0J)aKC*mI@E4*dwS!dlg1iG0T{%|?hsosClk^Tr7$3uL*K-U)GXPx%&`Cr=RA>e5T0Kt`K^O)J6x38`LPDn<(h)ifVgV%l02_aRwV^b*_yhQ8p|LU7 z+h0O#>}d!I1R7&vp++O3&ja^fUf-LYo!w*S?q+zC_vYjMd}elUXJ&U|;+~?6zyhM| zgZIFXqC^~#AgjpZGx%?pk47Y~#?yF#2*0|Z1^l1JqYgR1B;vOWXaUbMS(*j1HduqT z^(4X11J$Pz;7QK>Q-Hn*0G=H9Er9+W2s|n9uL1hH0`Mfj&j9dYMbHF3_Tc9LqEi$2 zSc888&?f@`4+Z}mG0wZZiEl>9-cG!RjkmF5kLkNN^@A{(qys9%AIsp&jkT z7yVYEhtPflz5oHz*-?j{Wf~}?@OrI$0%>Rr4m!h?d?fF^w%TKcnq*M zMlXSY$}2~X+#)|Nuw}pALQ8D=`Hx~=>XHP@s9s+pZ-x?fb|&jMeT- zB%tFhbZma7=;N(RV#&7Ep`DYgVyw0^nSjn+=-3>O(Z{t1ODm&(Az9^E?ZSjg1Uw`; z0NXr&IQpnZ{X()%Vzmns3J^>|=RMe$E9KPllFvbtGH+4=!fEJy0K0NzKjmI};FXTP zkicD3)ZeG;8o3yKeTh`)$o8_&`VVghSBSkbeUCco7m{@pt6i9oM{wthoUE6(y-p~ousNc!a zwZxr6r30?JE)YLsTh1W!EMHgY8O!oTr5=E6Us1~-ETiH&Id%Onh)q&uwx6ZQEY70R z2D@fl`b0O$l7|j0&j2I|+JegRBSbw2t7zyg=0`2ep}qi+e0#!=kGV;@r(ur3KbP$L Ub)S)3wg3PC07*qoM6N<$f;9no?EnA( literal 0 HcmV?d00001 diff --git a/Images.xcassets/Settings/Permissions/Siri.imageset/Contents.json b/Images.xcassets/Settings/Permissions/Siri.imageset/Contents.json new file mode 100644 index 0000000000..5842000dfb --- /dev/null +++ b/Images.xcassets/Settings/Permissions/Siri.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "Siri@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "Siri@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Images.xcassets/Settings/Permissions/Siri.imageset/Siri@2x.png b/Images.xcassets/Settings/Permissions/Siri.imageset/Siri@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..bdf9d3ac2027c74859b1d236e27c56002ec07ec8 GIT binary patch literal 90992 zcmV(;K-<5GP)Pyg07*naRCoc@y?LzdS$5y`JNMlA%{9HMSM|Dv9?Cse*-hLb@zC9l37%r4KuADD za(j|33lakV7@STBK?oFxf*}ba5<$W;jxokjq(s570+x(qyN9&nl${=`+*5URRad?7 z&X>>UyY~K_-?{fz4|Lky+4r8ar?uC#*V@x>IJ4nj!tlQLy>I3J`CHFDc62m6IUEm9 z9u34tM~}@`W*3i#;R0nBX0zi9!!WyWbbP#iQp95bX8ie|aBRsWSZ={2J_cqM_}O53 zskz{(pEPI)M$8@G5-gb(I?kRy8IL?u(Qy_((iVC`V8TY{J22sY%Ikv42uD$GzNlSp z(|L^!Ls{Ar`jdvmchxS68*Jmprc*fOii%rY3<1;x?z|SK)%I1$3$iym9&TbIH=%!X zWp;e?_;_|>m>qwd{4>LB{>*p(z#Be}T>C)k~tI_ohkp}5g7kvEG?$EI*}k~m`AuYNn2&>d@bl#Dl}%p?l7$U z)^I%gN3)gTmp3-g|KGp*%-_=Kzplen?5`_Ezw`Qg-*Rv?{0TbjJC2Wz-@%BvI_;|% zh8;!WQs+?74Xnd23$_609UAx`6mn4?qp>7LY+X5V$3I$nL(oz5`jNgBW)c>e7;5+r z)l>DYAcmLbAnp#eF!IiCmqz&)aAJo21^r37;|RQRTW1(~t!$@hPAa3LSM~VaIq3ay z3QoMQMn6n8RA<2TL1e*8lglQZU+uxH9WWuZ;A<1>n(KAzb^QC&*MLM^>}ailf&`RzsJ(|>4hOS#ZNka!SJH6cgUj7RIhKH zOK+Qs;LXqj-}^k720L+tZtQ8;Q3iJUWyJ|zC$Qc4M*58x+bof{pz&R>rwuG1(?&@{ z>@1lYTyRZfDk{bE6jgBRP!rf_WFkvoUgayWXV!HDErw`xB5db-%1E#8bp|omI|ItY`2BU2xZ21?qj9x*+Jai~3e9idMMXQH$As;s{gNvXaqw;w%uKI`NW` zhyPX&htmO}cy9EeF_o$FA?ZZ`_6+*s8J##t8yr#BK*wjC(hfo#<#%G_qf8C9lkKtXyF9_w@;$wXo6^#- zcnKeYFV-42Mbd^RV9ig8I`;}x2pTc*j6XfYx@L4M?=@l8Hx8jBs}l;@Ft<3%Y9 z`d_Cr!nDFpz98FoN8SmZVSF(}d5qBuXtHLbq{DxTi|k*cU@TYcKx`Bp< zWheD-MOd5g-NW_4Sk+D>tHxL#jzZ&&0~)_Eb*Wn1QXB41#eju*-*)Wfh( z&42U2<#T`WAAIP4x!nuDT5*^BtA&4f*CRjpU7RZa_2Fo^9(CC<6QN7NRU{Lw-xi(K zU|ZLq(^CG~3^%I`i8kYjlaDnC$()2+;4J#BvpQ_!Iju;`vq*b&5+a|<1;x&5;EMXG z?`|wp`NS6*OV9<;om!j)w**v7QPd508mCEcS6lOAy&6)i)&ZR#VS1SI8u~DB7My%V z7p=bQK|G!R;OuZG^lM$@PrZ#SNT~=$o>S8L!gOGO9l=wy=m$ZjyqI5vre9n0ANsv= ziZE%JS->^+16}G1g5Nt{S^3cqJp1#1ucP^D#PhEPQgQz9H~sM1rP)*eu%5|Gm}?uuJ=1M5*a1UcGGNv6Id?Qy^snR0}}G_qxN=ZV54=WOjGzRiHG`pVc; zJiXrh$xvKYX_wF3sK050FopB9xWkPOFM%Zmg0b-|Z)w+L30mQU%h>;tuct?tBo<%A zb4j(#voMW-xP!6xnWRz}T4ySy^J+_B1^3f=o@w*Pf9l%hH=n=ux^MZFPk;J1zAATl zH7+6iFED(^wI6=X;c)n~bkIAMEsoL@(v7Mlm1s9K;gYRHgBPM3T6KdZCqp$Xhp0~I z5TjAFf(}#kVXpBv!l{udp=rGpMXIB(xRrI;O5UoP8rl-@1Vea2-n5&PC)w#Y>zJ~Z zB7x4LZ#ivG(a(&fkc%+oJN>n&N~+gOsEgnE5L41gRBb_pJYTOOmzWzH9se{A;S=?i zjWAHH>gw+z4}IxP>e8m=JI}#A`I_o~>g0k%AERNG284;!VW8wII2%}1dRWLe{Mzc; z>YwpMn85$&NVsh+KSEABEINz*ZxXmY#Au0w&RoMq*Q_&VIL%z=>@> zA68aK@U^l69RRuao4iz4qKkYr7Gh*AU214jNsofk4e?Q>jk$Sd7!Hs4XR_c^En2%K zTk+GJczfdNql-G*O~v%*NfRTeib zGa=H;`#>&hDH|)QP4$0w+S0?wLgR7DN9kEnXP;l0ul(uX{MgU`(zO07O`k#X|3Aw2 zT>GIP<3^0XhSD@O0@C+RGS`*fW9wDW5*M^?&3Y_A?+CF@gXJ;SR(K|y_(Q67dZ#Y| z!q{16I$WbUI&M`IuQqEucbRNz2>nUDWsQ9576!VIsn-jrqt55JBM}F4iEVp4F|->2YldT+*tKBJ5mWE)6(yO;p51#Irr{Eg0uIn+Dc4uZJ z2+k8_OY{S`0FZ;SAIjiqng0gYgbi$iS;A?34-ii)%H%^a)mBQ6XGiqqPki9n|NX!3 z;9qGxCH)oQde^o0{slPxsr2kgOrs>FkWyOdUQn5c;!4^Rt(!uG>97-s;F>5txUBDz z*~m~th)IN>M!zZ9qJ-YAWsS;U&Zgf>i~mN3HXThzJEH4+05Q{1*O*yXb<}zCBiz?< zLdQNlI2ev_<^y9L9R-%m5wP@(3}v_^TJchBz3nFb*N~i$UM-dr^a1b$K&SM#w@|+1N`t_sDCnFV++USPFaji0BjtteR$j@q-`#g+D)nd}?%M=1<{ zm2I}Q#DJL&EFNLZFG53Y)g&|+;oATeECTiB!dGE%F7cZ3#&$~w`SI{=*Dk&Bp&$J- z|MuVem0$Ulj%h;oOHVGb`=vK4NS*f||Bs*e8P-|oG^8xgiL`#CeLPRi#iSqg7& ztPl5WUmPxPpBpZ$Zw;HPIL{0xTAdFYIMW)>z^(8A4O`h^mA&y?ql1s*7#qu8_}jN6 z@t(y+S?soxqWAN`S#7>&hCDb;>(X*cJG7laDRU|;3FR} z5ZaY=z%x}nkiHYBcZgMEsEV#%LC&LE1#EFy zBY(lypu!FB%(5%%tC?NX5S(91aP+>ieSWy_+=byjob{f~bHgQ^bqfdOw$m(I58aOr zhvB&no@)8Z5md@NdODgN@${wH($+B<`S&YgCWc!l%oP@49*j{rTRF;7e$H&_;n>dp z!SKrd?(p)RyTgmOZx1isyd4KW%PC$>K2>{ous7`E$omWm;Rq&199^+tuwe<`^4j3! zm%q~ZX-XyK0>LtzeG>#I#Qz%nmthL0x)J&;xRDp@B^AJ)CKJV4Su|4L;f!18^c&QG zrTmTeKlcki+UvjEc!K)NYx&E*G%ht6FY?%g~;TwLE6W`{VSd(13_L(^;)-{hw6K9Fa z;S$IFwOqxa2^=5-QROR1F__?-N@GpfBFd}`iz_S6DoBYZ`&{)3v8tGPct(8O4%5Uj zXQp?le@w-V{k`GycXoysZr&O``Ql5%?%u(x%D7y?Dqs&s?lbeK{{}U2+$BBBI{}tj zDp}IK{8gNLY#^M1(H16Wm`BpYLHD z8lHXO#o^O0z0AQDJbjViC98dw?0dVrZ4g>CsNRdejr^r{?29o$@gm*ZEijp?`d-)V z$C}YDVoW1wl#*7X{iMhyjj0x=VDZ&yEJ{eJV0Ek3lUxioQ(jQB>%8#tf549Bu+Vatl;6n+7v&YU5~0$5cOw&l={7))EktMW7=plpg#yO9v;rV) zpg$rjl@@Eu?Lxo7E$B~qS%zQG!p@mx=ghY5Yrj~yw6#4vdCw!mwR4w;`_|91C-ek& zKg;0*oc8GGAWnM3o>4Ilan2+5r~I=}Hr?`6I`MLS-BffIM{c^aw4|-?Afu#WWudJ) z%ojP;h1IxcPP)}O3lA*87tRbV2P%O2Nx9ddosD&9<5dPGS0Jma3}l#D^39pI$Su6*TsE8pe7c@+8Wkxji8;>dY)pjHT3090`uhsR@Y!}X2J!{P41u-8svT^jG< zv`2@W%x2bQZuO2Q9TCUP(pZ<%(AWcKhUHs+babBLG6zcqV}S=#!!i5h7?Le?cD)Tq zBB5O$Sei^?4G&m8@l%}?8sgUxRg?!=(P!Y z&u$wdya-x2X+IQ0ON7$|x-s%?o+>mjJftHCvpQYci5NGdytN%JAlUUNbzpb?-38_V@PoaNPaj zXdfrVfxS%Qt%*53CVh0w42sk0td=>O)_zy?Rc=fTaJnB18pZM8gRCqwZ&S_y5Jv-N zDV`dNT>=B7lX~c6#`F=6sKY9>PHs&kv&;i38?PKzncu0Tr+l3t)3p8IN-xu}$;{F? zGJ9cX@wqD#_;HWyV7E%S%j+C~p-W~LbP6hF?B`$E89wr<7lxN!xh2&zgM-}8?%iRJ zLo@X>wV7@c(}vamFv5S?WpnaoKU3JqrYcJ6o=w}(Q77O@bz<{12v|PyqSCB4q|KP2 zpbs(?2c~_gO2La~3p*@&oz4I24?Oz||Irlw)zY2XtJSC6M*?R@$A1^4$ajU2*{KA@ zP#0Rza@gLewY8kTQ3>P&+p2q=g=uenSDr8(cpCS%@@1ed)gzx(+`rSo;taD3l-AET zFuJX^%q|^%8q4<^?t5hT1NXmv*gjevc6V{wLob!=<<2AzahyeTTyH%*fQLA#4y-rA zqV<+JlODQ!ZsoN+R&L;QbZT@C`90>;xY(r>Csi~D0%z6ySpaXNOie!98=~(9>!cbQ zRA`j!g_|k7< zi`P>VLQQyShFRlkS9~vwC>0crMg^yfbau=z9F8_g3!-o_ z;fN7Or3lE_Y$Ylmt+dNYg)2>>AHN)6;_RYy=`0%!cV6^MJ?@!FS+cc1Hcwj}mzj74 zhj*5)d%SUIX7n{LOL2O?#-+419C@E5!ACyx((sW_d@d`L#>GUu2?dimx>qU3vTf}g|l?w z_`~nbE?<1(hrY;50o=8G!SLApjem(g`>p^*xCTBEq$@4TIf<<_lBzPP(v<0@vnaBf zMY}~x{G=8o3P(X2k>Eed7rN6(nFWLn+v-wuBAreHPGeiWxWPV`8yF@q!Nb=o2Ke@? zuN%Je+S9}JHTJhVhZxeG;m!`1LA(^wZc;epfXeH)?sGk1&V9l^sxFfwGGc+H&$bR17G3C^1W~$iZwjYinb*r!hF0RuD=BQPXB} z_r5Ar*x)3WVFF%k=0GEl;!sz|G;sgyz!Sb4jBqM(j1rJh!0%e8eV(-ejI#lc=^VikteDWlxJ<7+fb=@dy)ain#f@kNs^7DS!JEV z7#duqfmJArd!Kh$;|4pet2Aw>D_t(ZtLP9W4`N157&vxAnFY1QecqJ8l^@yg!r z>hmu@^AD%RC(~1uC+h~^VRd|Xz^U^Q>&XI*)11&sm7ynj5623*Kt0xm0&7^}y?fH(j_sta7BV z%M#h^wwZC6d3`#^6Xo30k8>V)D(oSYGcd|v+mVARolk?7zoamH*)Zn`5)Y}A?&26F zkF%c6;*8hLAO}p8&vaBpA7zV}!I`DC_xIppxEnJ#m?Xwm4!){1^rUZDoDrukJ*$79 zZDxY{L?qoq8)ojY!L#UMILtW#`{D2fpa~-TFU#xfjh&%gQrG1t_tx&4b4{7k>s6d{ z-IIP!ua7y&e(p0jhTr|Y7ucFOl${7Lcb9{%-JLt(zuSq9RU8+5*OB}htP{pm7vQx0 zG>NN8^b-8G>BWD^p&0qs%nwYE#$>rCig6r-9Y1(F7WWN+pm@fkof8 zg|EW}Q-e)ytk9HHs&lQLaSeC%+}ZnFPgmb@?G3|Q&%cIKspDby*8Xr8=iTR)zyt0i za&~nVJ>*om_OduZW)xfj+s@1dUFRt(;LurzZ!010Q9?N~X`H*9L^(M8Q66FV<2*O3 zgBduYJ-ljEEzXgN)UVb~QE`WolvRV*bZIJ)?B}^rG6!77Qt(bL-FJmS!~q7z;-tEZ zdUo&0PJtSEFFfHb?F0}xur8NrloM|AoaW6A;8;bwzeaXXsq=UwZL)mpkA3>(;hB$oHaeDG0?4;Ew}uUFB)N0ZcL z2T&X-G9HfC_Vf45O3~J92p8I#b zj(gw%l`|{GmSr-A*!Q{NIT3@QOTs>Lb+^_N& zi?eVXnOgjWyQ7ZztPC4$NH-X0)+t|O7V{U}bbssI5;#jbQ)hOkTwQTC9v=3o+e4Oo zpuGn#dob!%>3x^^(2*xUha6y$Nc#iY9rB?hGAIX4VO&A@C=h$w1nT4`r`qrtyMZ?! zvdBHxmN6U0shx#MuF%$pGu*P|DJ`x5Y;f4MzO^|V0Px}8`ONT{=Wi7L6W<;n-r2dG zW%-G!QmpLpw`9NaYk!QXL!3Rt&U&WDtxf3L7ZW}LGR4{HcQ|5f z_TS_NkH6E=P2&aSX({P z$Be7P9<*z?x%A_583)MW6EYw2G>=YO9}JxOGHCs^oY3WTmayv55WaOX=S&^W56yH0 zf^M*hk)O+FZ8(p^ZeiFPelX@W+vBL5>&D4-o(v4m$l?hajRhKAU@j5q!U9;W?!Dxc z{WtA*xJhIOx$dwvxXsq!HkZ8aAo~u^U5_EOHo@wT2Z;eEk5hvYe#D*-SsEiw_{wJl z%skB10T-i92Gu+pjclvl(FM#3+ZUbK+f>*5Y;NR|-Ya(wh7bR<&kT2N?-iZNx4d{Z z;iac8a;g;;;@#Q0Jw!#VPW=T)CYOR(7s2Xj-dZK=P$%mbEltr9J%s+WO?X>|l;0k} z{lO1E`%6#t{4}0`EsFDt2}g(A($!e)L>r-uV%Ax`grN$$Fdd^H4O1^lNpD_pDWQ*$ z1=t`$S4B0Fjh_j!;=@kpyf#>2oRQ||nRU;&^-+57c<{;Lsf$kx`#bx&H#axjevhHbXfzg%=m3mdiabM5dgb@<|^4a6BIg zytuM9TwYn_jcDt`IZkdjNYCM4K38I7qBXCqrJtZqT`iF<7sjw~;DWb>_f@mWO#6b$ z0$QdrW6P%{`>Znd7{l45Zn6Toi(@;RyYP^Y-2MsP1JXLM{J3(6LXfit z7Ai>V!2aR4C5M-&lnv)~xm|l=R}s$23~h|JK6ku|6YI`~)Q#bzAK}uI zTaXjMt%-j}+%Vux80~h)1MgS%L|Mn(ho&kg~wed(sqmU0y zqgFTtQsJ_9#Fxw6i=;2FYz+6#)`ttsI$HzA>WrnNC`RLVmKLWD?<}4}EGt~z8i)c% z!fUb`wU>OP4PjA*hYTe)1JiL`4}ylgMys^0**ZN496#j6ZIMSANFJazOKj-h;+pr% zIP&LNw%#Cp2S0Jx^5F+>3l$C*M0b=c3uT@WIAl>pVAWy_4Hpb{%@MMgK0cb$4u0am zwLkY3%oX;`s|Tx`L+lS5(0$~gjp4zo*N5MJ=EdQq7nWbY>L5=H{yxWQMnT(~5}5?l$W5M9(t6;S9&Ky-~z_%N$7HONZF zHY>yTGWij1b(>M!CG&}}$!X`i9)5awbnSuRE;ruqb0dZ)%yxDjb;~~2+15iU4A+xp zW?x-ZGuDZnX>(af-0p|r%~_{QmX)k}!@=ixld@Siqhbp~zRXPfz;GLb+GEb}wGOUAyXjXD*F)wV+> zhy^Cadkk_d4{*)COUeFOKG2D)_VmDNzal454IXHeOhnz zIrE;$_yzxBaS(T`G{ z2A0&EQs3b-+OpM6=0GML1&j@q*#8kum=>&q8*+gfL9CwA=x`OMaQK*nKJ@G_{qnTjae65{cHybN23K#88AIYGOiK8w8Y=D8Uf2Xu@YZwz7fkh4;C_!- zM)-p02&ng8BWuu0Jf*ocR+532mP^O4UEuy@PBKr1M|l4B-+0Zp4i^u$hC4hd;~hTP z^X3*voD(C=K^0EyEUfdo|BKsl@3AwCw6Z)S9pi4xIB!$*qf%wbc#S2nhRJz17xq?% zM_11cuiZG$_2l!zW$sM!5kv26Qc7o{+*3>gm(Aui_AD<`uTfKgpgzkx4bFJ@0zs$L zy$N`acr`d34|EJNRsaa1Xf_C|%)!MLX=@w*;$$xItC=frF)F#s-A!b;!b$K|2F3gM zY$8i8O`#M0RT*4Sh}v@hoQsokAV8h+gxW|LclU>V2POwcpmW3q&O>l`=h`8CQC9+v zhV9Lj;rip3hg)|TKyFWFThgG?ri?imiiWwt^Q@AVpJ+JF#wv7>KOtoCjH)YujgFD=kRR#kS zMh=(ssI?gej^kcibGBWL!3!4WAfbU{$7x(;I-d{*k&2(15J7XqJ~5QZOpug|#EcPj z%@H;Hcw>|+E=z#mFv}1eabP3@vHQ;Bc}oYA2*Du_d}K3EK$#Z-bX)=V5AuiE{i!e$J=wrWdYkCjTsf@jxI+;&oSnd z=LHIEIlN}P&TPESzIgrI=J2Uc+#Npp+b_x8Qg8`>>&}hbI1=VTe=;D+$)b`;UZ_*N zno!ElRm_=fTB-eMeUDEeFSMdb7=5j?F|AJ-hY$0WM?U<66T&8QU8OdX`IHO+n*UYzq1fXRan;)`Rty(k@9 z?{cy13D|ait%!rZS%-t`j(+e z{y^?6qi#XesRLyGoQ)-Ej&ueKI>r93JazP!XAc={87MB^%hu%K%fm~by+fZ)Wt-)i zv66ZB*V*<h{nSMi)sKc2tZLm$$BK;{X$>!sxV)*3q zFaOT3r2${d4t()x-w5zf2}cX?j)#~W4Z`L2q;us za1p8_l>h~4FN-a$>WP)ERheq zOoXHE>#W@%Fos+n!coVkhVs@6c!E{Ab*7Y^GD>pHNUNy$>gvYu+O>1TV|*@h5Tu2x zDQ7?rkaTbzw)`amrA&vjFw0gfSG<A6Q=dfQ3=gI!!8$)~6~bS7HiL##qX%f(C-R>4vUsT3X5hMq)8hvjM9;D0_V8-g z8b$>NF!4pkj4?H%J6Ltcjr-EaV#{iXl<;xpRw7Oh6P;y`>Ce@Tqv4?^E)92Y@>t^S z>Fa)KN$pC*f!omSrxd0P7V;q;>!jJrnwHg+%_}5X0Hggk?qaz%-_|EI^eaqg#(LV{25C<_(o$=ma8jG|9kz(jft6N!z zDJCLdkT%c|AuXSjhas3Q<(;5E3bugH<%V-y4LxyVhJ3yA;kOKL-F|%7yTi3iZ-V#I z5VP(6!7ih79ZY!;bHq|_*AX5As2SEdm%mmfFWN5Oe3cXCh6MSAVI57zFL5CC@apF9 z&}?g1XV!_a(@KZcF^f`B(xXwQ153-9J%K6p742v&#?O~a zT3ONhb3zSl<4u|}Yn8l47VD7Tf|?02YH$csV8S~ePTE-GKcC=IH&kcY-kdQ!=uBzo zlHA!4K)Kn^6r#8 zLtr1CM;G&YBeqanGv4HYYi)aLc=3}*!^i%~i?Jug=wXkS_1$DiZGckb4Z9tn#Z@OG z9nM}l3$p5kv$sy+6ot)toUDD=3usdcTfk6Nejv<(KG(?K`k{~f!iOyzXW&OKJoOW_ z|JL9O6{`u=mPAnx5z1uJs%23+hc;ZK+9;b8-7dYBXC*RP)&?wxNmhm9}9(4A;>=2)Gbq0$Zeguz6^Z1z5N1J1T}xC+@!rRC3*Vz!hLJQeGgw8KL44!OH1mx2Z(Fy*u+lw zf;A8|K`X-Av?*+1JLo6BR3Y0*&)30 z%s&!nbl}G>e$!tD_>s`@t2Z8n3M%NPdm_*&#*5sdu9}3Ia^fV5t45;;6|s{rBYyET zT*4^4#XK_THgo|6}hClw;dxq`3^g9$fVbu4c&0N_m_{c=-n2 z*nL}NlSw-I#OPvs5ru(Ccre8}ZA|ELcb()C3(gS3iqSh@XzW7U1`Ik}Mi28MrPBJu zx*853PdcAv5H23YBW&R-w-kntJht-OfkjyjP!@|581RM;zRF2kq&wV*leS^LP|=2j^zBe`sl$lYE^XHJ!cLm_e%|!>{ahkixjP%~ z;=Fy<&GlU!*L`jrm^-UnI@9qwa@~xf(=v+N@ohxcpmo^d2Oju$Wy%{9SR!+?J@0IO zf|+;QK?ELkU)!j}@Cu&Hq~^griXx)OWEpai^$@3DhANSin|eV>3X{&aILND$BG=8 z>ug#uWd-m=nY=s0%4?s+rMwPvSGdM|mAkE6QQh&HyRgpO;)bB~oOz)}P+#pMGknCC zB()AIHA}mCqFtODp6Ix%kDnWEy~K=v*KI=uw_xjQn{ndwQTQy*<+=Ss_3RMY0Wvm} zd`dP6W?@hW>oX}N-C$C`NOu@xL(f-+{PFPM>mU4v|MvG@d}c2We0}p9{|IC8zbmt+ zLPKJC1nP{2>66f%6Ct}2RC$G<8Z*jd#}Y4FO@gB?=j;#`^JGa5HAn;(Rp=NIz7v1JDYTzF2rR(b1Va7 zvCfD$A1<)(dfnRg@X&md*%k@-7fJ*4aHce6htXb-;S)K*kXfNI6?XVC?$@1dyUqY`AG5K}?BVep`X`zME<75C zU+ETZzDX+^Jo4?V8#2JwV63B3F0b&REcZRO$;ym_v|EeAE&1D6-{fq>LrmMiU!*MA z#BY%2F@&G0k^fVn7a2DMQ@H4BEC)uo4ojSR8ur+_u{~zCdp!Hq&wl=y-;D!5cH!wC zp&IM&NJvbWiqVlTRRMDr6Rz=8`!+HoMJ%B`K znq(~npl7lCRg2{P%I($?FBT{ghqExU!>1_3Q8P1qFgToNW%H2xV;uSx%imr4Bzl%d zJsJ#|Wh0?{i!*4fB&}Zgghz6;tIJHp)Czsiqg%tl&dPB2mBmdT>S}|TI1jBb$oJ5D zwdd7eFEjQpWwbvts2khJPezvslui6Z03zy_;HV3&R-cyQ02lwCW*Pktngc)eUr_vz z$i!!D4-&8PVz!qXFTjLXuqrf`k)@Erpi09oRB^w6OtS_n!Y*{)I~?a-z?yn1Z_4=A zD^D@1?($q{-4^L(qFt`#?s50co-?m^?O+T(zgv#$46H%BV1|aXu&1UFEN3E*G0CmZ z25V|-#E-CFy1sIb-z2hxI+u;<6k&_k7$}%5DI<4QsQNNME1Di?A9{f`z0glfK?Sa; zP@h?vs}taCMmZciFc!A4bmXz5u0~3tOqBuf`(vA>b1rh5z zRpiVJKbAXKcs@X*lF>qDI^fm7N^>MQPgxu*$Xy3`Z+GDoe+B?zYh2ZMm)b)-N+{3` zS55LDJ^1yZi3B1C;bcQoRwDuYAeXF>wahj>it4R_lXYE<7&|Hsgr^gMQa{hg|`S$zWKr{zwDsmee%d`xi6(UH467kt^VU*?_whO-yE=`NcGvM+fw2M5D5JU?u zzWI^24)3_|My~g9naCS6a#)4)@_s6p%)V%@F7V^H+)ALkdNV;zDKV}%m`@jh(&eIj zX@Xj?f6i!rblAr@q`JDgZE2KZxxt4F^00yW3V+;6=${r2VvVZ~iHNI3@W=Qya6?s; zL%~#*@y_^E(G$!}q_p4$J~}$(8D7#!N}-Vh$G_#P%*sl2D64)Noc)^lkNlC2t1RKy zdD?w12>32J;iB`*!2nztC}^A00yf-`=@K?b0p`-=fQ;4Ez7;SUf_HX@P`k&{Gd!jprwe-7T4 z9_H??t*zlEhg&^pWA2H4?^d@@&?eYU8i}Q=A_*ib7)xskXNw7JaM^4MD}sik9KY{adOXOV-tZK&H^^l60*IBn_UY5^}+RU)I z*iSkJsS!B?gTD?)#IJ&?(_NZ)K;#dLJ-&K=xQC~ODh4bF zD+;zzaU`;d1SxG}$R>rVf9lQYJmRu27=R+sJbfZlDX%DdOY0?#qI?J-aJ0|T7sH?P z0Dw3hv{a_ei+>Z)QV$JBJg0JTpq$w0yp5)8(Wv+jPiAo?>yfVx#Ylove&kE|9+IN0 z>aC(gT{ZlwC<6ica&)TE?>+2`AM}1^@ZO-$auZ18alk1?U^9BkQ&x^}lrt2_Eq?{) ziXdPPjx=x;w*BCI*uJzi-1y{4C*I%}8z)XIyL`fP(#cuUi;_-WNdF_>MBc!*c18sj z1l@6an^ZT@j=1Zo)HPfEXTSZ)zddLF%Zu8Ff2X)myb`%LG8T_D%b_}6V>1<_1E3RG zf(1c3t;51WXLy7QvruVup~;tfUf*mu4exy9ZE@b68(iOI=GA$3a9U54YtQR7-dZvn z`_vEwDWd~%WcPv!q~qqV6)1`O+}xx=-Fa@zcw+TpZqU%UoOEKCz~%B4?b1h#0&(2< zuDY1=D^`Mlp%X!&PaLbWvN1&5^_V52H&y%Z-~~#5Y>ZTWEJH8V5{lHviFF(cZD)Ie zZ@F-0)_nc5E`ykrq^m6wm=F)Jwhi4lCU6WM-MAdEhO{@HBIe$fSx}STgH`j+-pIJQckd+sA)b%%D+D7ds)<*eT3Zk>@j5_re9>WJo-Fi9IjRq2`r0J_^X*_lTe5aMpF7>z_AjU@+P1 z(or5@J*b0hmveq)$sZF)Q|>xff@I4o*42Pr6A3hsCA|RMgxci*&5trE%vY{ zf%;1EjVyUvq$MdV9+Ck*O~Qv3O=wYng2;TT!5L@EOxt=&$1#A!`NmxJAPJb(5arkX zqfa%(uz}KnGh>Gq?KnL0Ak6Y&5=mXh#A>FYM1xE@U|B|cObeW?$}?$AGhH!>IHx-FLlMQ@A${4L9qO%xSuWcSgOlI9 zh+W5}y&r#^%(^xBcV_i^arVmA%eOGZo)P4rh`jtLa`-L6m6msBU}-x$11m23O0Ygi zrk%~f8$7IpKuX@W=tO=≈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⋙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 +$x0ix=6HNk11$= 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 NSAttributedString { - guard !info.isEmpty else { - return NSAttributedString(string: "") - } - - var string = info - string = "libtgvoip v\(version)\n" + string - string = string.replacingOccurrences(of: "Remote endpoints: \n", with: "") - string = string.replacingOccurrences(of: "Jitter ", with: "\nJitter ") - string = string.replacingOccurrences(of: "Key fingerprint:\n", with: "Key fingerprint: ") - - let attributedString = NSMutableAttributedString(string: string, attributes: [NSAttributedStringKey.font: Font.monospace(10), NSAttributedStringKey.foregroundColor: UIColor.white]) - - let titleStyle = NSMutableParagraphStyle() - titleStyle.alignment = .center - titleStyle.lineSpacing = 7.0 - - let style = NSMutableParagraphStyle() - style.lineHeightMultiple = 1.15 - - let secondaryColor = UIColor(rgb: 0xa6a9a8) - let activeColor = UIColor(rgb: 0xa0d875) - - let titleAttributes = [NSAttributedStringKey.font: Font.semiboldMonospace(15), NSAttributedStringKey.paragraphStyle: titleStyle] - let nameAttributes = [NSAttributedStringKey.font: Font.semiboldMonospace(10), NSAttributedStringKey.foregroundColor: secondaryColor] - let styleAttributes = [NSAttributedStringKey.paragraphStyle: style] - let typeAttributes = [NSAttributedStringKey.foregroundColor: secondaryColor] - let activeAttributes = [NSAttributedStringKey.font: Font.semiboldMonospace(10), NSAttributedStringKey.foregroundColor: activeColor] - - let range = string.startIndex ..< string.endIndex - string.enumerateSubstrings(in: range, options: NSString.EnumerationOptions.byLines) { (line, range, _, _) in - guard let line = line else { - return - } - if range.lowerBound == string.startIndex { - attributedString.addAttributes(titleAttributes, range: NSRange(range, in: string)) - } - else { - if let semicolonRange = line.range(of: ":") { - if let bracketRange = line.range(of: "[") { - if let _ = line.range(of: "IN_USE") { - attributedString.addAttributes(activeAttributes, range: NSRange(range, in: string)) - } else { - let offset = line.distance(from: line.startIndex, to: bracketRange.lowerBound) - let distance = line.distance(from: line.startIndex, to: line.endIndex) - attributedString.addAttributes(typeAttributes, range: NSRange(string.index(range.lowerBound, offsetBy: offset) ..< string.index(range.lowerBound, offsetBy: distance), in: string)) - } - } else { - attributedString.addAttributes(styleAttributes, range: NSRange(range, in: string)) - - let offset = line.distance(from: line.startIndex, to: semicolonRange.upperBound) - attributedString.addAttributes(nameAttributes, range: NSRange(range.lowerBound ..< string.index(range.lowerBound, offsetBy: offset), in: string)) - } - } - } - } - - return attributedString -} - -final private class CallDebugNode: ASDisplayNode { - private let disposable = MetaDisposable() - - private let dimNode: ASDisplayNode - private let textNode: ASTextNode - - private let timestamp = CACurrentMediaTime() - - public var dismiss: (() -> Void)? - - init(signal: Signal<(String, String), NoError>) { - self.dimNode = ASDisplayNode() - self.dimNode.isLayerBacked = true - self.dimNode.backgroundColor = UIColor(rgb: 0x26282c, alpha: 0.95) - self.dimNode.isUserInteractionEnabled = false - - self.textNode = ASTextNode() - self.textNode.isUserInteractionEnabled = false - - super.init() - - self.addSubnode(self.dimNode) - self.addSubnode(self.textNode) - - self.disposable.set((signal - |> deliverOnMainQueue).start(next: { [weak self] (version, info) in - self?.update(info, version: version) - })) - } - - deinit { - self.disposable.dispose() - } - - override func didLoad() { - super.didLoad() - - let tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.tapGesture(_:))) - self.view.addGestureRecognizer(tapRecognizer) - } - - private func update(_ info: String, version: String) { - self.textNode.attributedText = attributedStringForDebugInfo(info, version: version) - self.setNeedsLayout() - } - - @objc func tapGesture(_ recognizer: UITapGestureRecognizer) { - if CACurrentMediaTime() - self.timestamp > 1.0 { - self.dismiss?() - } - } - - override func layout() { - super.layout() - - let size = self.bounds.size - self.dimNode.frame = CGRect(origin: CGPoint(), size: CGSize(width: size.width, height: size.height)) - - let textSize = textNode.measure(CGSize(width: size.width - 20.0, height: size.height)) - self.textNode.frame = CGRect(origin: CGPoint(x: floorToScreenPixels((size.width - textSize.width) / 2.0), y: floorToScreenPixels((size.height - textSize.height) / 2.0)), size: textSize) - } -} diff --git a/TelegramUI/CallControllerStatusNode.swift b/TelegramUI/CallControllerStatusNode.swift index fea7234fba..ecca1a419a 100644 --- a/TelegramUI/CallControllerStatusNode.swift +++ b/TelegramUI/CallControllerStatusNode.swift @@ -35,6 +35,7 @@ final class CallControllerStatusNode: ASDisplayNode { private let titleNode: TextNode private let statusNode: TextNode private let statusMeasureNode: TextNode + private let receptionNode: CallControllerReceptionNode var title: String = "" var status: CallControllerStatusValue = .text("") { @@ -57,6 +58,23 @@ final class CallControllerStatusNode: ASDisplayNode { } } } + var reception: Int32? { + didSet { + if self.reception != oldValue { + if let reception = self.reception { + self.receptionNode.reception = reception + + if oldValue == nil { + let transition = ContainedViewLayoutTransition.animated(duration: 0.3, curve: .spring) + transition.updateAlpha(node: self.receptionNode, alpha: 1.0) + } + } else if self.reception == nil, oldValue != nil { + let transition = ContainedViewLayoutTransition.animated(duration: 0.3, curve: .spring) + transition.updateAlpha(node: self.receptionNode, alpha: 0.0) + } + } + } + } private var statusTimer: SwiftSignalKit.Timer? private var validLayoutWidth: CGFloat? @@ -66,6 +84,9 @@ final class CallControllerStatusNode: ASDisplayNode { self.statusNode = TextNode() self.statusNode.displaysAsynchronously = false self.statusMeasureNode = TextNode() + + self.receptionNode = CallControllerReceptionNode() + self.receptionNode.alpha = 0.0 super.init() @@ -73,6 +94,7 @@ final class CallControllerStatusNode: ASDisplayNode { self.addSubnode(self.titleNode) self.addSubnode(self.statusNode) + self.addSubnode(self.receptionNode) } deinit { @@ -92,6 +114,7 @@ final class CallControllerStatusNode: ASDisplayNode { statusFont = regularStatusFont } + var statusOffset: CGFloat = 0.0 let statusText: String let statusMeasureText: String switch self.status { @@ -111,6 +134,7 @@ final class CallControllerStatusNode: ASDisplayNode { } statusText = format(durationString) statusMeasureText = format(measureDurationString) + statusOffset += 8.0 } let spacing: CGFloat = 4.0 @@ -123,8 +147,65 @@ final class CallControllerStatusNode: ASDisplayNode { let _ = statusMeasureApply() self.titleNode.frame = CGRect(origin: CGPoint(x: floor((constrainedWidth - titleLayout.size.width) / 2.0), y: 0.0), size: titleLayout.size) - self.statusNode.frame = CGRect(origin: CGPoint(x: floor((constrainedWidth - statusMeasureLayout.size.width) / 2.0), y: titleLayout.size.height + spacing), size: statusLayout.size) + self.statusNode.frame = CGRect(origin: CGPoint(x: floor((constrainedWidth - statusMeasureLayout.size.width) / 2.0) + statusOffset, y: titleLayout.size.height + spacing), size: statusLayout.size) + self.receptionNode.frame = CGRect(origin: CGPoint(x: self.statusNode.frame.minX - receptionNodeSize.width, y: titleLayout.size.height + spacing + 9.0), size: receptionNodeSize) return titleLayout.size.height + spacing + statusLayout.size.height } } + + +private final class CallControllerReceptionNodeParameters: NSObject { + let reception: Int32 + + init(reception: Int32) { + self.reception = reception + } +} + +private let receptionNodeSize = CGSize(width: 24.0, height: 10.0) + +final class CallControllerReceptionNode : ASDisplayNode { + var reception: Int32 = 4 { + didSet { + self.setNeedsDisplay() + } + } + + override init() { + super.init() + + self.isOpaque = false + self.isLayerBacked = true + } + + override func drawParameters(forAsyncLayer layer: _ASDisplayLayer) -> NSObjectProtocol? { + return CallControllerReceptionNodeParameters(reception: self.reception) + } + + @objc override class func draw(_ bounds: CGRect, withParameters parameters: Any?, isCancelled: () -> Bool, isRasterizing: Bool) { + let context = UIGraphicsGetCurrentContext()! + context.setFillColor(UIColor.white.cgColor) + + if let parameters = parameters as? CallControllerReceptionNodeParameters{ + let width: CGFloat = 3.0 + var spacing: CGFloat = 1.5 + if UIScreenScale > 2 { + spacing = 4.0 / 3.0 + } + + for i in 0 ..< 4 { + let height = 4.0 + 2.0 * CGFloat(i) + let rect = CGRect(x: bounds.minX + CGFloat(i) * (width + spacing), y: receptionNodeSize.height - height, width: width, height: height) + + if i >= parameters.reception { + context.setAlpha(0.4) + } + + let path = UIBezierPath(roundedRect: rect, cornerRadius: 1.0) + context.addPath(path.cgPath) + context.fillPath() + } + } + } +} diff --git a/TelegramUI/CallDebugNode.swift b/TelegramUI/CallDebugNode.swift new file mode 100644 index 0000000000..d06efd98e5 --- /dev/null +++ b/TelegramUI/CallDebugNode.swift @@ -0,0 +1,127 @@ +import Foundation +import AsyncDisplayKit +import Display +import SwiftSignalKit + +private func attributedStringForDebugInfo(_ info: String, version: String) -> NSAttributedString { + guard !info.isEmpty else { + return NSAttributedString(string: "") + } + + var string = info + string = "libtgvoip v\(version)\n" + string + string = string.replacingOccurrences(of: "Remote endpoints: \n", with: "") + string = string.replacingOccurrences(of: "Jitter ", with: "\nJitter ") + string = string.replacingOccurrences(of: "Key fingerprint:\n", with: "Key fingerprint: ") + + let attributedString = NSMutableAttributedString(string: string, attributes: [NSAttributedStringKey.font: Font.monospace(10), NSAttributedStringKey.foregroundColor: UIColor.white]) + + let titleStyle = NSMutableParagraphStyle() + titleStyle.alignment = .center + titleStyle.lineSpacing = 7.0 + + let style = NSMutableParagraphStyle() + style.lineHeightMultiple = 1.15 + + let secondaryColor = UIColor(rgb: 0xa6a9a8) + let activeColor = UIColor(rgb: 0xa0d875) + + let titleAttributes = [NSAttributedStringKey.font: Font.semiboldMonospace(15), NSAttributedStringKey.paragraphStyle: titleStyle] + let nameAttributes = [NSAttributedStringKey.font: Font.semiboldMonospace(10), NSAttributedStringKey.foregroundColor: secondaryColor] + let styleAttributes = [NSAttributedStringKey.paragraphStyle: style] + let typeAttributes = [NSAttributedStringKey.foregroundColor: secondaryColor] + let activeAttributes = [NSAttributedStringKey.font: Font.semiboldMonospace(10), NSAttributedStringKey.foregroundColor: activeColor] + + let range = string.startIndex ..< string.endIndex + string.enumerateSubstrings(in: range, options: NSString.EnumerationOptions.byLines) { (line, range, _, _) in + guard let line = line else { + return + } + if range.lowerBound == string.startIndex { + attributedString.addAttributes(titleAttributes, range: NSRange(range, in: string)) + } + else { + if let semicolonRange = line.range(of: ":") { + if let bracketRange = line.range(of: "[") { + if let _ = line.range(of: "IN_USE") { + attributedString.addAttributes(activeAttributes, range: NSRange(range, in: string)) + } else { + let offset = line.distance(from: line.startIndex, to: bracketRange.lowerBound) + let distance = line.distance(from: line.startIndex, to: line.endIndex) + attributedString.addAttributes(typeAttributes, range: NSRange(string.index(range.lowerBound, offsetBy: offset) ..< string.index(range.lowerBound, offsetBy: distance), in: string)) + } + } else { + attributedString.addAttributes(styleAttributes, range: NSRange(range, in: string)) + + let offset = line.distance(from: line.startIndex, to: semicolonRange.upperBound) + attributedString.addAttributes(nameAttributes, range: NSRange(range.lowerBound ..< string.index(range.lowerBound, offsetBy: offset), in: string)) + } + } + } + } + + return attributedString +} + +final class CallDebugNode: ASDisplayNode { + private let disposable = MetaDisposable() + + private let dimNode: ASDisplayNode + private let textNode: ASTextNode + + private let timestamp = CACurrentMediaTime() + + public var dismiss: (() -> Void)? + + init(signal: Signal<(String, String), NoError>) { + self.dimNode = ASDisplayNode() + self.dimNode.isLayerBacked = true + self.dimNode.backgroundColor = UIColor(rgb: 0x26282c, alpha: 0.95) + self.dimNode.isUserInteractionEnabled = false + + self.textNode = ASTextNode() + self.textNode.isUserInteractionEnabled = false + + super.init() + + self.addSubnode(self.dimNode) + self.addSubnode(self.textNode) + + self.disposable.set((signal + |> deliverOnMainQueue).start(next: { [weak self] (version, info) in + self?.update(info, version: version) + })) + } + + deinit { + self.disposable.dispose() + } + + override func didLoad() { + super.didLoad() + + let tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.tapGesture(_:))) + self.view.addGestureRecognizer(tapRecognizer) + } + + private func update(_ info: String, version: String) { + self.textNode.attributedText = attributedStringForDebugInfo(info, version: version) + self.setNeedsLayout() + } + + @objc func tapGesture(_ recognizer: UITapGestureRecognizer) { + if CACurrentMediaTime() - self.timestamp > 1.0 { + self.dismiss?() + } + } + + override func layout() { + super.layout() + + let size = self.bounds.size + self.dimNode.frame = CGRect(origin: CGPoint(), size: CGSize(width: size.width, height: size.height)) + + let textSize = textNode.measure(CGSize(width: size.width - 20.0, height: size.height)) + self.textNode.frame = CGRect(origin: CGPoint(x: floorToScreenPixels((size.width - textSize.width) / 2.0), y: floorToScreenPixels((size.height - textSize.height) / 2.0)), size: textSize) + } +} diff --git a/TelegramUI/ChatController.swift b/TelegramUI/ChatController.swift index 2185d29fa3..d74f76121d 100644 --- a/TelegramUI/ChatController.swift +++ b/TelegramUI/ChatController.swift @@ -402,7 +402,7 @@ public final class ChatController: TelegramController, KeyShortcutResponder, UID self?.openPeer(peerId: id, navigation: navigation, fromMessage: fromMessage) }, openPeerMention: { [weak self] name in self?.openPeerMention(name) - }, openMessageContextMenu: { [weak self] message, node, frame in + }, openMessageContextMenu: { [weak self] message, selectAll, node, frame in guard let strongSelf = self, strongSelf.isNodeLoaded else { return } @@ -415,7 +415,7 @@ public final class ChatController: TelegramController, KeyShortcutResponder, UID break } } - let _ = contextMenuForChatPresentationIntefaceState(chatPresentationInterfaceState: strongSelf.presentationInterfaceState, account: strongSelf.account, messages: updatedMessages, controllerInteraction: strongSelf.controllerInteraction, interfaceInteraction: strongSelf.interfaceInteraction).start(next: { actions in + let _ = contextMenuForChatPresentationIntefaceState(chatPresentationInterfaceState: strongSelf.presentationInterfaceState, account: strongSelf.account, messages: updatedMessages, controllerInteraction: strongSelf.controllerInteraction, selectAll: selectAll, interfaceInteraction: strongSelf.interfaceInteraction).start(next: { actions in guard let strongSelf = self, !actions.isEmpty else { return } diff --git a/TelegramUI/ChatControllerInteraction.swift b/TelegramUI/ChatControllerInteraction.swift index 12444a7d06..8a7e7c4197 100644 --- a/TelegramUI/ChatControllerInteraction.swift +++ b/TelegramUI/ChatControllerInteraction.swift @@ -47,7 +47,7 @@ public final class ChatControllerInteraction { let openMessage: (Message, ChatControllerInteractionOpenMessageMode) -> Bool let openPeer: (PeerId?, ChatControllerInteractionNavigateToPeer, Message?) -> Void let openPeerMention: (String) -> Void - let openMessageContextMenu: (Message, ASDisplayNode, CGRect) -> Void + let openMessageContextMenu: (Message, Bool, ASDisplayNode, CGRect) -> Void let navigateToMessage: (MessageId, MessageId) -> Void let clickThroughMessage: () -> Void let toggleMessagesSelection: ([MessageId], Bool) -> Void @@ -87,7 +87,7 @@ public final class ChatControllerInteraction { var contextHighlightedState: ChatInterfaceHighlightedState? var automaticMediaDownloadSettings: AutomaticMediaDownloadSettings - init(openMessage: @escaping (Message, ChatControllerInteractionOpenMessageMode) -> Bool, openPeer: @escaping (PeerId?, ChatControllerInteractionNavigateToPeer, Message?) -> Void, openPeerMention: @escaping (String) -> Void, openMessageContextMenu: @escaping (Message, ASDisplayNode, CGRect) -> Void, navigateToMessage: @escaping (MessageId, MessageId) -> Void, clickThroughMessage: @escaping () -> Void, toggleMessagesSelection: @escaping ([MessageId], Bool) -> Void, sendMessage: @escaping (String) -> Void, sendSticker: @escaping (FileMediaReference, Bool) -> Void, sendGif: @escaping (FileMediaReference) -> Void, requestMessageActionCallback: @escaping (MessageId, MemoryBuffer?, Bool) -> Void, activateSwitchInline: @escaping (PeerId?, String) -> Void, openUrl: @escaping (String, Bool, Bool?) -> Void, shareCurrentLocation: @escaping () -> Void, shareAccountContact: @escaping () -> Void, sendBotCommand: @escaping (MessageId?, String) -> Void, openInstantPage: @escaping (Message) -> Void, openHashtag: @escaping (String?, String) -> Void, updateInputState: @escaping ((ChatTextInputState) -> ChatTextInputState) -> Void, updateInputMode: @escaping ((ChatInputMode) -> ChatInputMode) -> Void, openMessageShareMenu: @escaping (MessageId) -> Void, presentController: @escaping (ViewController, Any?) -> Void, navigationController: @escaping () -> NavigationController?, presentGlobalOverlayController: @escaping (ViewController, Any?) -> Void, callPeer: @escaping (PeerId) -> Void, longTap: @escaping (ChatControllerInteractionLongTapAction) -> Void, openCheckoutOrReceipt: @escaping (MessageId) -> Void, openSearch: @escaping () -> Void, setupReply: @escaping (MessageId) -> Void, canSetupReply: @escaping (Message) -> Bool, navigateToFirstDateMessage: @escaping(Int32) ->Void, requestRedeliveryOfFailedMessages: @escaping (MessageId) -> Void, addContact: @escaping (String) -> Void, requestMessageUpdate: @escaping (MessageId) -> Void, cancelInteractiveKeyboardGestures: @escaping () -> Void, automaticMediaDownloadSettings: AutomaticMediaDownloadSettings) { + init(openMessage: @escaping (Message, ChatControllerInteractionOpenMessageMode) -> Bool, openPeer: @escaping (PeerId?, ChatControllerInteractionNavigateToPeer, Message?) -> Void, openPeerMention: @escaping (String) -> Void, openMessageContextMenu: @escaping (Message, Bool, ASDisplayNode, CGRect) -> Void, navigateToMessage: @escaping (MessageId, MessageId) -> Void, clickThroughMessage: @escaping () -> Void, toggleMessagesSelection: @escaping ([MessageId], Bool) -> Void, sendMessage: @escaping (String) -> Void, sendSticker: @escaping (FileMediaReference, Bool) -> Void, sendGif: @escaping (FileMediaReference) -> Void, requestMessageActionCallback: @escaping (MessageId, MemoryBuffer?, Bool) -> Void, activateSwitchInline: @escaping (PeerId?, String) -> Void, openUrl: @escaping (String, Bool, Bool?) -> Void, shareCurrentLocation: @escaping () -> Void, shareAccountContact: @escaping () -> Void, sendBotCommand: @escaping (MessageId?, String) -> Void, openInstantPage: @escaping (Message) -> Void, openHashtag: @escaping (String?, String) -> Void, updateInputState: @escaping ((ChatTextInputState) -> ChatTextInputState) -> Void, updateInputMode: @escaping ((ChatInputMode) -> ChatInputMode) -> Void, openMessageShareMenu: @escaping (MessageId) -> Void, presentController: @escaping (ViewController, Any?) -> Void, navigationController: @escaping () -> NavigationController?, presentGlobalOverlayController: @escaping (ViewController, Any?) -> Void, callPeer: @escaping (PeerId) -> Void, longTap: @escaping (ChatControllerInteractionLongTapAction) -> Void, openCheckoutOrReceipt: @escaping (MessageId) -> Void, openSearch: @escaping () -> Void, setupReply: @escaping (MessageId) -> Void, canSetupReply: @escaping (Message) -> Bool, navigateToFirstDateMessage: @escaping(Int32) ->Void, requestRedeliveryOfFailedMessages: @escaping (MessageId) -> Void, addContact: @escaping (String) -> Void, requestMessageUpdate: @escaping (MessageId) -> Void, cancelInteractiveKeyboardGestures: @escaping () -> Void, automaticMediaDownloadSettings: AutomaticMediaDownloadSettings) { self.openMessage = openMessage self.openPeer = openPeer self.openPeerMention = openPeerMention diff --git a/TelegramUI/ChatInterfaceStateContextMenus.swift b/TelegramUI/ChatInterfaceStateContextMenus.swift index 064f6037e8..618d77f44a 100644 --- a/TelegramUI/ChatInterfaceStateContextMenus.swift +++ b/TelegramUI/ChatInterfaceStateContextMenus.swift @@ -149,7 +149,7 @@ func updatedChatEditInterfaceMessagetState(state: ChatPresentationInterfaceState return updated } -func contextMenuForChatPresentationIntefaceState(chatPresentationInterfaceState: ChatPresentationInterfaceState, account: Account, messages: [Message], controllerInteraction: ChatControllerInteraction?, interfaceInteraction: ChatPanelInterfaceInteraction?) -> Signal<[ChatMessageContextMenuAction], NoError> { +func contextMenuForChatPresentationIntefaceState(chatPresentationInterfaceState: ChatPresentationInterfaceState, account: Account, messages: [Message], controllerInteraction: ChatControllerInteraction?, selectAll: Bool, interfaceInteraction: ChatPanelInterfaceInteraction?) -> Signal<[ChatMessageContextMenuAction], NoError> { guard let interfaceInteraction = interfaceInteraction, let controllerInteraction = controllerInteraction else { return .single([]) } @@ -444,7 +444,7 @@ func contextMenuForChatPresentationIntefaceState(chatPresentationInterfaceState: } if data.canSelect { actions.append(.context(ContextMenuAction(content: .text(chatPresentationInterfaceState.strings.Conversation_ContextMenuMore), action: { - interfaceInteraction.beginMessageSelection([message.id]) + interfaceInteraction.beginMessageSelection(selectAll ? messages.map { $0.id } : [message.id]) }))) } if !data.messageActions.options.intersection([.deleteLocally, .deleteGlobally]).isEmpty && isAction { @@ -461,19 +461,19 @@ func contextMenuForChatPresentationIntefaceState(chatPresentationInterfaceState: if data.messageActions.options.contains(.forward) { actions.append(.sheet(ChatMessageContextMenuSheetAction(color: .accent, title: chatPresentationInterfaceState.strings.Conversation_ContextMenuForward, action: { - interfaceInteraction.forwardMessages([message]) + interfaceInteraction.forwardMessages(selectAll ? messages : [message]) }))) } if data.messageActions.options.contains(.report) { actions.append(.sheet(ChatMessageContextMenuSheetAction(color: .accent, title: chatPresentationInterfaceState.strings.Conversation_ContextMenuReport, action: { - interfaceInteraction.reportMessages([message]) + interfaceInteraction.reportMessages(selectAll ? messages : [message]) }))) } if !data.messageActions.options.intersection([.deleteLocally, .deleteGlobally]).isEmpty { actions.append(.sheet(ChatMessageContextMenuSheetAction(color: .destructive, title: chatPresentationInterfaceState.strings.Conversation_ContextMenuDelete, action: { - interfaceInteraction.deleteMessages([message]) + interfaceInteraction.deleteMessages(selectAll ? messages : [message]) }))) } diff --git a/TelegramUI/ChatMessageBubbleItemNode.swift b/TelegramUI/ChatMessageBubbleItemNode.swift index cc873da459..6723835879 100644 --- a/TelegramUI/ChatMessageBubbleItemNode.swift +++ b/TelegramUI/ChatMessageBubbleItemNode.swift @@ -1619,9 +1619,12 @@ class ChatMessageBubbleItemNode: ChatMessageItemView { if let item = self.item, self.backgroundNode.frame.contains(location) { var foundTapAction = false var tapMessage: Message? = item.content.firstMessage + var selectAll = false loop: for contentNode in self.contentNodes { if !contentNode.frame.contains(location) { continue loop + } else if contentNode is ChatMessageTextBubbleContentNode { + selectAll = true } tapMessage = contentNode.item?.message let tapAction = contentNode.tapActionAtPoint(CGPoint(x: location.x - contentNode.frame.minX, y: location.y - contentNode.frame.minY)) @@ -1667,7 +1670,7 @@ class ChatMessageBubbleItemNode: ChatMessageItemView { } } } - item.controllerInteraction.openMessageContextMenu(tapMessage, self, subFrame) + item.controllerInteraction.openMessageContextMenu(tapMessage, selectAll, self, subFrame) } } default: diff --git a/TelegramUI/ChatMessageInstantVideoItemNode.swift b/TelegramUI/ChatMessageInstantVideoItemNode.swift index fd5cb6f29e..3c456e6c5f 100644 --- a/TelegramUI/ChatMessageInstantVideoItemNode.swift +++ b/TelegramUI/ChatMessageInstantVideoItemNode.swift @@ -362,7 +362,7 @@ class ChatMessageInstantVideoItemNode: ChatMessageItemView { self.item?.controllerInteraction.clickThroughMessage() case .longTap, .doubleTap: if let item = self.item, let videoContentNode = self.interactiveVideoNode.videoContentNode(at: self.view.convert(location, to: self.interactiveVideoNode.view)) { - item.controllerInteraction.openMessageContextMenu(item.message, videoContentNode, videoContentNode.bounds) + item.controllerInteraction.openMessageContextMenu(item.message, false, videoContentNode, videoContentNode.bounds) } case .hold: break diff --git a/TelegramUI/ChatMessageInteractiveFileNode.swift b/TelegramUI/ChatMessageInteractiveFileNode.swift index afa58d89bc..6c14d04ad7 100644 --- a/TelegramUI/ChatMessageInteractiveFileNode.swift +++ b/TelegramUI/ChatMessageInteractiveFileNode.swift @@ -524,6 +524,10 @@ final class ChatMessageInteractiveFileNode: ASDisplayNode { strongSelf.iconNode = nil } + if let streamingStatusNode = strongSelf.streamingStatusNode { + streamingStatusNode.frame = streamingCacheStatusFrame + } + if let updatedStatusSignal = updatedStatusSignal { strongSelf.statusDisposable.set((updatedStatusSignal |> deliverOnMainQueue).start(next: { [weak strongSelf] status in displayLinkDispatcher.dispatch { diff --git a/TelegramUI/ChatMessageInteractiveInstantVideoNode.swift b/TelegramUI/ChatMessageInteractiveInstantVideoNode.swift index d7aad8bdcb..4673555cf8 100644 --- a/TelegramUI/ChatMessageInteractiveInstantVideoNode.swift +++ b/TelegramUI/ChatMessageInteractiveInstantVideoNode.swift @@ -574,7 +574,7 @@ class ChatMessageInteractiveInstantVideoNode: ASDisplayNode { self.item?.controllerInteraction.clickThroughMessage() case .longTap, .doubleTap: if let item = self.item, let videoNode = self.videoNode, videoNode.frame.contains(location) { - item.controllerInteraction.openMessageContextMenu(item.message, self, videoNode.frame) + item.controllerInteraction.openMessageContextMenu(item.message, false, self, videoNode.frame) } case .hold: break @@ -610,7 +610,7 @@ class ChatMessageInteractiveInstantVideoNode: ASDisplayNode { } private func progressPressed() { - guard let item = self.item, let _ = self.telegramFile else { + guard let item = self.item, let file = self.telegramFile else { return } if let status = self.status { @@ -624,7 +624,7 @@ class ChatMessageInteractiveInstantVideoNode: ASDisplayNode { deleteMessages(transaction: transaction, mediaBox: item.account.postbox.mediaBox, ids: [messageId]) }).start() } else { - self.videoNode?.fetchControl(.cancel) + messageMediaFileCancelInteractiveFetch(account: item.account, messageId: item.message.id, file: file) } case .Remote: self.videoNode?.fetchControl(.fetch) diff --git a/TelegramUI/ChatMessageStickerItemNode.swift b/TelegramUI/ChatMessageStickerItemNode.swift index b87e525a0f..782cded2be 100644 --- a/TelegramUI/ChatMessageStickerItemNode.swift +++ b/TelegramUI/ChatMessageStickerItemNode.swift @@ -377,7 +377,7 @@ class ChatMessageStickerItemNode: ChatMessageItemView { self.item?.controllerInteraction.clickThroughMessage() case .longTap, .doubleTap: if let item = self.item, self.imageNode.frame.contains(location) { - item.controllerInteraction.openMessageContextMenu(item.message, self, self.imageNode.frame) + item.controllerInteraction.openMessageContextMenu(item.message, false, self, self.imageNode.frame) } case .hold: break diff --git a/TelegramUI/ChatRecentActionsControllerNode.swift b/TelegramUI/ChatRecentActionsControllerNode.swift index 821e6a6a12..fbe4076e11 100644 --- a/TelegramUI/ChatRecentActionsControllerNode.swift +++ b/TelegramUI/ChatRecentActionsControllerNode.swift @@ -176,8 +176,8 @@ final class ChatRecentActionsControllerNode: ViewControllerTracingNode { } }, openPeerMention: { [weak self] name in self?.openPeerMention(name) - }, openMessageContextMenu: { [weak self] message, node, frame in - self?.openMessageContextMenu(message: message, node: node, frame: frame) + }, openMessageContextMenu: { [weak self] message, selectAll, node, frame in + self?.openMessageContextMenu(message: message, selectAll: selectAll, node: node, frame: frame) }, navigateToMessage: { _, _ in }, clickThroughMessage: { }, toggleMessagesSelection: { _, _ in }, sendMessage: { _ in }, sendSticker: { _, _ in }, sendGif: { _ in }, requestMessageActionCallback: { _, _, _ in }, activateSwitchInline: { _, _ in }, openUrl: { [weak self] url, _, _ in self?.openUrl(url) }, shareCurrentLocation: {}, shareAccountContact: {}, sendBotCommand: { _, _ in }, openInstantPage: { [weak self] message in @@ -622,7 +622,7 @@ final class ChatRecentActionsControllerNode: ViewControllerTracingNode { })) } - private func openMessageContextMenu(message: Message, node: ASDisplayNode, frame: CGRect) { + private func openMessageContextMenu(message: Message, selectAll: Bool, node: ASDisplayNode, frame: CGRect) { var actions: [ContextMenuAction] = [] if !message.text.isEmpty { actions.append(ContextMenuAction(content: .text(self.presentationData.strings.Conversation_ContextMenuCopy), action: { diff --git a/TelegramUI/ContactListActionItem.swift b/TelegramUI/ContactListActionItem.swift index d5713f83f0..2d35c631ca 100644 --- a/TelegramUI/ContactListActionItem.swift +++ b/TelegramUI/ContactListActionItem.swift @@ -8,18 +8,21 @@ class ContactListActionItem: ListViewItem { let title: String let icon: UIImage? let action: () -> Void + let header: ListViewItemHeader? - init(theme: PresentationTheme, title: String, icon: UIImage?, action: @escaping () -> Void) { + init(theme: PresentationTheme, title: String, icon: UIImage?, header: ListViewItemHeader?, action: @escaping () -> Void) { self.theme = theme self.title = title self.icon = icon + self.header = header self.action = action } func nodeConfiguredForParams(async: @escaping (@escaping () -> Void) -> Void, params: ListViewItemLayoutParams, previousItem: ListViewItem?, nextItem: ListViewItem?, completion: @escaping (ListViewItemNode, @escaping () -> (Signal?, () -> Void)) -> Void) { async { let node = ContactListActionItemNode() - let (layout, apply) = node.asyncLayout()(self, params) + let (_, _, firstWithHeader) = ContactListActionItem.mergeType(item: self, previousItem: previousItem, nextItem: nextItem) + let (layout, apply) = node.asyncLayout()(self, params, firstWithHeader) node.contentSize = layout.contentSize node.insets = layout.insets @@ -38,7 +41,8 @@ class ContactListActionItem: ListViewItem { let makeLayout = nodeValue.asyncLayout() async { - let (layout, apply) = makeLayout(self, params) + let (_, _, firstWithHeader) = ContactListActionItem.mergeType(item: self, previousItem: previousItem, nextItem: nextItem) + let (layout, apply) = makeLayout(self, params, firstWithHeader) Queue.mainQueue().async { completion(layout, { apply() @@ -55,6 +59,40 @@ class ContactListActionItem: ListViewItem { listView.clearHighlightAnimated(true) self.action() } + + static func mergeType(item: ContactListActionItem, previousItem: ListViewItem?, nextItem: ListViewItem?) -> (first: Bool, last: Bool, firstWithHeader: Bool) { + var first = false + var last = false + var firstWithHeader = false + if let previousItem = previousItem { + if let header = item.header { + if let previousItem = previousItem as? ContactsPeerItem { + firstWithHeader = header.id != previousItem.header?.id + } else if let previousItem = previousItem as? ContactListActionItem { + firstWithHeader = header.id != previousItem.header?.id + } else { + firstWithHeader = true + } + } + } else { + first = true + firstWithHeader = item.header != nil + } + if let nextItem = nextItem { + if let header = item.header { + if let nextItem = nextItem as? ContactsPeerItem { + last = header.id != nextItem.header?.id + } else if let nextItem = nextItem as? ContactListActionItem { + last = header.id != nextItem.header?.id + } else { + last = true + } + } + } else { + last = true + } + return (first, last, firstWithHeader) + } } private let titleFont = Font.regular(17.0) @@ -70,6 +108,8 @@ class ContactListActionItemNode: ListViewItemNode { private var theme: PresentationTheme? + private var item: ContactListActionItem? + init() { self.backgroundNode = ASDisplayNode() self.backgroundNode.isLayerBacked = true @@ -100,29 +140,33 @@ class ContactListActionItemNode: ListViewItemNode { self.addSubnode(self.titleNode) } - func asyncLayout() -> (_ item: ContactListActionItem, _ params: ListViewItemLayoutParams) -> (ListViewItemNodeLayout, () -> Void) { + func asyncLayout() -> (_ item: ContactListActionItem, _ params: ListViewItemLayoutParams, _ firstWithHeader: Bool) -> (ListViewItemNodeLayout, () -> Void) { let makeTitleLayout = TextNode.asyncLayout(self.titleNode) let currentTheme = self.theme - return { item, params in + return { item, params, firstWithHeader in var updatedTheme: PresentationTheme? if currentTheme !== item.theme { updatedTheme = item.theme } - let leftInset: CGFloat = 65.0 + params.leftInset + var leftInset: CGFloat = 16.0 + params.leftInset + if item.icon != nil { + leftInset += 49.0 + } let (titleLayout, titleApply) = makeTitleLayout(TextNodeLayoutArguments(attributedString: NSAttributedString(string: item.title, font: titleFont, textColor: item.theme.list.itemAccentColor), backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: params.width - 10.0 - leftInset - params.rightInset, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets())) let contentSize = CGSize(width: params.width, height: 48.0) - let insets = UIEdgeInsets() + let insets = UIEdgeInsets(top: firstWithHeader ? 29.0 : 0.0, left: 0.0, bottom: 0.0, right: 0.0) let separatorHeight = UIScreenPixel let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets) return (layout, { [weak self] in if let strongSelf = self { + strongSelf.item = item strongSelf.theme = item.theme if let _ = updatedTheme { @@ -207,4 +251,12 @@ class ContactListActionItemNode: ListViewItemNode { override func animateRemoved(_ currentTimestamp: Double, duration: Double) { self.layer.animateAlpha(from: 1.0, to: 0.0, duration: 0.15, removeOnCompletion: false) } + + override public func header() -> ListViewItemHeader? { + if let item = self.item { + return item.header + } else { + return nil + } + } } diff --git a/TelegramUI/ContactListNode.swift b/TelegramUI/ContactListNode.swift index e0ada2e2ef..f465c07144 100644 --- a/TelegramUI/ContactListNode.swift +++ b/TelegramUI/ContactListNode.swift @@ -7,6 +7,7 @@ import TelegramCore private enum ContactListNodeEntryId: Hashable { case search + case permission(action: Bool) case option(index: Int) case peerId(Int64) case deviceContact(DeviceContactStableId) @@ -15,8 +16,10 @@ private enum ContactListNodeEntryId: Hashable { switch self { case .search: return 0 + case let .permission(action): + return (action ? 3 : 2).hashValue case let .option(index): - return (index + 2).hashValue + return (index + 4).hashValue case let .peerId(peerId): return peerId.hashValue case let .deviceContact(id): @@ -37,6 +40,12 @@ private enum ContactListNodeEntryId: Hashable { default: return false } + case let .permission(action): + if case .permission(action) = rhs { + return true + } else { + return false + } case let .option(index): if case .option(index) = rhs { return true @@ -62,10 +71,12 @@ private enum ContactListNodeEntryId: Hashable { private final class ContactListNodeInteraction { let activateSearch: () -> Void + let authorize: () -> Void let openPeer: (ContactListPeer) -> Void - init(activateSearch: @escaping () -> Void, openPeer: @escaping (ContactListPeer) -> Void) { + init(activateSearch: @escaping () -> Void, authorize: @escaping () -> Void, openPeer: @escaping (ContactListPeer) -> Void) { self.activateSearch = activateSearch + self.authorize = authorize self.openPeer = openPeer } } @@ -117,14 +128,20 @@ enum ContactListPeer: Equatable { private enum ContactListNodeEntry: Comparable, Identifiable { case search(PresentationTheme, PresentationStrings) - case option(Int, ContactListAdditionalOption, PresentationTheme, PresentationStrings) + case permissionInfo(PresentationTheme, PresentationStrings) + case permissionEnable(PresentationTheme, String) + case option(Int, ContactListAdditionalOption, ListViewItemHeader?, PresentationTheme, PresentationStrings) case peer(Int, ContactListPeer, PeerPresence?, ListViewItemHeader?, ContactsPeerItemSelection, PresentationTheme, PresentationStrings, PresentationDateTimeFormat, PresentationPersonNameOrder, PresentationPersonNameOrder, Bool) var stableId: ContactListNodeEntryId { switch self { case .search: return .search - case let .option(index, _, _, _): + case .permissionInfo: + return .permission(action: false) + case .permissionEnable: + return .permission(action: true) + case let .option(index, _, _, _, _): return .option(index: index) case let .peer(_, peer, _, _, _, _, _, _, _, _, _): switch peer { @@ -142,8 +159,14 @@ private enum ContactListNodeEntry: Comparable, Identifiable { return ChatListSearchItem(theme: theme, placeholder: strings.Contacts_SearchLabel, activate: { interaction.activateSearch() }) - case let .option(_, option, theme, _): - return ContactListActionItem(theme: theme, title: option.title, icon: option.icon, action: option.action) + case let .permissionInfo(theme, strings): + return PermissionInfoItem(theme: theme, strings: strings, subject: .contacts) + case let .permissionEnable(theme, text): + return ContactListActionItem(theme: theme, title: text, icon: nil, header: nil, action: { + interaction.authorize() + }) + case let .option(_, option, header, theme, _): + return ContactListActionItem(theme: theme, title: option.title, icon: option.icon, header: header, action: option.action) case let .peer(_, peer, presence, header, selection, theme, strings, dateTimeFormat, nameSortOrder, nameDisplayOrder, enabled): let status: ContactsPeerItemStatus let itemPeer: ContactsPeerItemPeer @@ -174,8 +197,20 @@ private enum ContactListNodeEntry: Comparable, Identifiable { } else { return false } - case let .option(lhsIndex, lhsOption, lhsTheme, lhsStrings): - if case let .option(rhsIndex, rhsOption, rhsTheme, rhsStrings) = rhs, lhsIndex == rhsIndex, lhsOption == rhsOption, lhsTheme === rhsTheme, lhsStrings === rhsStrings { + case let .permissionInfo(lhsTheme, lhsStrings): + if case let .permissionInfo(rhsTheme, rhsStrings) = rhs, lhsTheme === rhsTheme, lhsStrings === rhsStrings { + return true + } else { + return false + } + case let .permissionEnable(lhsTheme, lhsText): + if case let .permissionEnable(rhsTheme, rhsText) = rhs, lhsTheme === rhsTheme, lhsText == rhsText { + return true + } else { + return false + } + case let .option(lhsIndex, lhsOption, lhsHeader, lhsTheme, lhsStrings): + if case let .option(rhsIndex, rhsOption, rhsHeader, rhsTheme, rhsStrings) = rhs, lhsIndex == rhsIndex, lhsOption == rhsOption, lhsHeader?.id == rhsHeader?.id, lhsTheme === rhsTheme, lhsStrings === rhsStrings { return true } else { return false @@ -231,18 +266,32 @@ private enum ContactListNodeEntry: Comparable, Identifiable { switch lhs { case .search: return true - case let .option(lhsIndex, _, _, _): + case .permissionInfo: switch rhs { case .search: return false - case let .option(rhsIndex, _, _, _): - return lhsIndex < rhsIndex - case .peer: + default: return true } + case .permissionEnable: + switch rhs { + case .search, .permissionInfo: + return false + default: + return true + } + case let .option(lhsIndex, _, _, _, _): + switch rhs { + case .search, .permissionInfo, .permissionEnable: + return false + case let .option(rhsIndex, _, _, _, _): + return lhsIndex < rhsIndex + case .peer: + return true + } case let .peer(lhsIndex, _, _, _, _, _, _, _, _, _, _): switch rhs { - case .search, .option: + case .search, .permissionInfo, .permissionEnable, .option: return false case let .peer(rhsIndex, _, _, _, _, _, _, _, _, _, _): return lhsIndex < rhsIndex @@ -297,15 +346,38 @@ private extension PeerIndexNameRepresentation { } } -private func contactListNodeEntries(accountPeer: Peer?, peers: [ContactListPeer], presences: [PeerId: PeerPresence], presentation: ContactListPresentation, selectionState: ContactListNodeGroupSelectionState?, theme: PresentationTheme, strings: PresentationStrings, dateTimeFormat: PresentationDateTimeFormat, sortOrder: PresentationPersonNameOrder, displayOrder: PresentationPersonNameOrder, disabledPeerIds:Set) -> [ContactListNodeEntry] { +private func contactListNodeEntries(accountPeer: Peer?, peers: [ContactListPeer], presences: [PeerId: PeerPresence], presentation: ContactListPresentation, selectionState: ContactListNodeGroupSelectionState?, theme: PresentationTheme, strings: PresentationStrings, dateTimeFormat: PresentationDateTimeFormat, sortOrder: PresentationPersonNameOrder, displayOrder: PresentationPersonNameOrder, disabledPeerIds:Set, authorizationStatus: AccessType) -> [ContactListNodeEntry] { var entries: [ContactListNodeEntry] = [] + var commonHeader: ListViewItemHeader? var orderedPeers: [ContactListPeer] var headers: [ContactListPeerId: ContactListNameIndexHeader] = [:] switch presentation { case let .orderedByPresence(options): entries.append(.search(theme, strings)) + + var addHeader: Bool + if !orderedPeers.isEmpty { + switch authorizationStatus { + case .denied: + entries.append(.permissionInfo(theme, strings)) + entries.append(.permissionEnable(theme, strings.Permissions_ContactsAllowInSettings)) + addHeader = true + case .notDetermined: + entries.append(.permissionInfo(theme, strings)) + entries.append(.permissionEnable(theme, strings.Permissions_ContactsAllow)) + addHeader = true + default: + addHeader = false + break + } + } + + if addHeader { + commonHeader = ChatListSearchItemHeader(type: .contacts, theme: theme, strings: strings, actionTitle: nil, action: nil) + } + orderedPeers = peers.sorted(by: { lhs, rhs in if case let .peer(lhsPeer, _) = lhs, case let .peer(rhsPeer, _) = rhs { let lhsPresence = presences[lhsPeer.id] @@ -329,7 +401,7 @@ private func contactListNodeEntries(accountPeer: Peer?, peers: [ContactListPeer] } }) for i in 0 ..< options.count { - entries.append(.option(i, options[i], theme, strings)) + entries.append(.option(i, options[i], commonHeader, theme, strings)) } case let .natural(displaySearch, options): orderedPeers = peers.sorted(by: { lhs, rhs in @@ -385,7 +457,7 @@ private func contactListNodeEntries(accountPeer: Peer?, peers: [ContactListPeer] entries.append(.search(theme, strings)) } for i in 0 ..< options.count { - entries.append(.option(i, options[i], theme, strings)) + entries.append(.option(i, options[i], commonHeader, theme, strings)) } case .search: orderedPeers = peers @@ -410,14 +482,6 @@ private func contactListNodeEntries(accountPeer: Peer?, peers: [ContactListPeer] } } - var commonHeader: ListViewItemHeader? - switch presentation { - case .orderedByPresence: - commonHeader = nil //ChatListSearchItemHeader(type: .contacts, theme: theme, strings: strings, actionTitle: nil, action: nil) - default: - break - } - for i in 0 ..< orderedPeers.count { let selection: ContactsPeerItemSelection if let selectionState = selectionState { @@ -568,7 +632,10 @@ final class ContactListNode: ASDisplayNode { private var presentationDataDisposable: Disposable? private let themeAndStringsPromise: Promise<(PresentationTheme, PresentationStrings, PresentationDateTimeFormat, PresentationPersonNameOrder, PresentationPersonNameOrder, Bool)> - private var authorizationNode: PermissionContentNode? + private let authorizationPromise: Promise + private var authorizationDisposable: Disposable? + + private var authorizationNode: PermissionContentNode init(account: Account, presentation: ContactListPresentation, filters: [ContactListFilter] = [.excludeSelf], selectionState: ContactListNodeGroupSelectionState? = nil) { self.account = account @@ -582,7 +649,17 @@ final class ContactListNode: ASDisplayNode { self.themeAndStringsPromise = Promise((self.presentationData.theme, self.presentationData.strings, self.presentationData.dateTimeFormat, self.presentationData.nameSortOrder, self.presentationData.nameDisplayOrder, self.presentationData.disableAnimations)) - //self.authorizationNode = //PermissionContentNode(theme: self.presentationData.theme, strings: self.presentationData.strings) + self.authorizationPromise = Promise(AccessType.allowed) + + var authorizeImpl: (() -> Void)? + var openPrivacyPolicyImpl: (() -> Void)? + + self.authorizationNode = PermissionContentNode(theme: self.presentationData.theme, strings: self.presentationData.strings, kind: .contacts, icon: UIImage(bundleImageName: "Settings/Permissions/Contacts"), title: self.presentationData.strings.Permissions_ContactsTitle, text: self.presentationData.strings.Permissions_ContactsText, buttonTitle: self.presentationData.strings.Contacts_PermissionsAllow, buttonAction: { + authorizeImpl?() + }, openPrivacyPolicy: { + openPrivacyPolicyImpl?() + }) + self.authorizationNode.isHidden = true super.init() @@ -592,12 +669,15 @@ final class ContactListNode: ASDisplayNode { self.selectionStatePromise.set(.single(selectionState)) self.addSubnode(self.listNode) - + self.addSubnode(self.authorizationNode) + let processingQueue = Queue() let previousEntries = Atomic<[ContactListNodeEntry]?>(value: nil) let interaction = ContactListNodeInteraction(activateSearch: { [weak self] in self?.activateSearch?() + }, authorize: { + authorizeImpl?() }, openPeer: { [weak self] peer in self?.openPeer?(peer) }) @@ -607,6 +687,7 @@ final class ContactListNode: ASDisplayNode { let selectionStateSignal = self.selectionStatePromise.get() let transition: Signal let themeAndStringsPromise = self.themeAndStringsPromise + let authorizationsPromise = self.authorizationPromise if case let .search(query, searchChatList, searchDeviceContacts) = presentation { transition = query |> mapToSignal { query in @@ -711,7 +792,7 @@ final class ContactListNode: ASDisplayNode { peers.append(.deviceContact(stableId, contact)) } - let entries = contactListNodeEntries(accountPeer: nil, peers: peers, presences: localPeersAndStatuses.1, presentation: presentation, selectionState: selectionState, theme: themeAndStrings.0, strings: themeAndStrings.1, dateTimeFormat: themeAndStrings.2, sortOrder: themeAndStrings.3, displayOrder: themeAndStrings.4, disabledPeerIds: disabledPeerIds) + let entries = contactListNodeEntries(accountPeer: nil, peers: peers, presences: localPeersAndStatuses.1, presentation: presentation, selectionState: selectionState, theme: themeAndStrings.0, strings: themeAndStrings.1, dateTimeFormat: themeAndStrings.2, sortOrder: themeAndStrings.3, displayOrder: themeAndStrings.4, disabledPeerIds: disabledPeerIds, authorizationStatus: .allowed) let previous = previousEntries.swap(entries) return .single(preparedContactListNodeTransition(account: account, from: previous ?? [], to: entries, interaction: interaction, firstTime: previous == nil, animated: false)) } @@ -724,10 +805,9 @@ final class ContactListNode: ASDisplayNode { } } } else { - transition = (combineLatest(self.contactPeersViewPromise.get(), selectionStateSignal, themeAndStringsPromise.get()) - |> mapToQueue { view, selectionState, themeAndStrings -> Signal in + transition = (combineLatest(self.contactPeersViewPromise.get(), selectionStateSignal, themeAndStringsPromise.get(), authorizationsPromise.get()) + |> mapToQueue { view, selectionState, themeAndStrings, authorizationStatus -> Signal in let signal = deferred { () -> Signal in - var peers = view.peers.map({ ContactListPeer.peer(peer: $0, isGlobal: false) }) var existingPeerIds = Set() var disabledPeerIds = Set() @@ -751,7 +831,7 @@ final class ContactListNode: ASDisplayNode { } } - let entries = contactListNodeEntries(accountPeer: view.accountPeer, peers: peers, presences: view.peerPresences, presentation: presentation, selectionState: selectionState, theme: themeAndStrings.0, strings: themeAndStrings.1, dateTimeFormat: themeAndStrings.2, sortOrder: themeAndStrings.3, displayOrder: themeAndStrings.4, disabledPeerIds: disabledPeerIds) + let entries = contactListNodeEntries(accountPeer: view.accountPeer, peers: peers, presences: view.peerPresences, presentation: presentation, selectionState: selectionState, theme: themeAndStrings.0, strings: themeAndStrings.1, dateTimeFormat: themeAndStrings.2, sortOrder: themeAndStrings.3, displayOrder: themeAndStrings.4, disabledPeerIds: disabledPeerIds, authorizationStatus: authorizationStatus) let previous = previousEntries.swap(entries) let animated: Bool if let previous = previous, !themeAndStrings.5 { @@ -787,6 +867,16 @@ final class ContactListNode: ASDisplayNode { strongSelf.backgroundColor = presentationData.theme.chatList.backgroundColor strongSelf.themeAndStringsPromise.set(.single((presentationData.theme, presentationData.strings, presentationData.dateTimeFormat, presentationData.nameSortOrder, presentationData.nameDisplayOrder, presentationData.disableAnimations))) + let authorizationPreviousHidden = strongSelf.authorizationNode.isHidden + strongSelf.authorizationNode.removeFromSupernode() + strongSelf.authorizationNode = PermissionContentNode(theme: strongSelf.presentationData.theme, strings: strongSelf.presentationData.strings, kind: .contacts, icon: UIImage(bundleImageName: "Settings/Permissions/Contacts"), title: strongSelf.presentationData.strings.Permissions_ContactsTitle, text: strongSelf.presentationData.strings.Permissions_ContactsText, buttonTitle: strongSelf.presentationData.strings.Contacts_PermissionsAllow, buttonAction: { + authorizeImpl?() + }, openPrivacyPolicy: { + openPrivacyPolicyImpl?() + }) + strongSelf.authorizationNode.isHidden = authorizationPreviousHidden + strongSelf.addSubnode(strongSelf.authorizationNode) + strongSelf.listNode.dynamicBounceEnabled = !presentationData.disableAnimations strongSelf.listNode.forEachAccessoryItemNode({ accessoryItemNode in @@ -806,6 +896,13 @@ final class ContactListNode: ASDisplayNode { } }) + self.authorizationDisposable = (DeviceAccess.authorizationStatus(account: account, subject: .contacts) + |> deliverOnMainQueue).start(next: { [weak self] status in + if let strongSelf = self { + strongSelf.authorizationPromise.set(.single(status)) + } + }) + self.listNode.didEndScrolling = { [weak self] in guard let strongSelf = self else { return @@ -813,12 +910,24 @@ final class ContactListNode: ASDisplayNode { fixSearchableListNodeScrolling(strongSelf.listNode) } -// self.authorizationNode.allow = { [weak self] in -// self?.account.telegramApplicationContext.applicationBindings.openSettings() -// } -// self.authorizationNode.openPrivacyPolicy = { [weak self] in -// self?.openPrivacyPolicy?() -// } + authorizeImpl = { + let _ = (DeviceAccess.authorizationStatus(account: account, subject: .contacts) + |> take(1) + |> deliverOnMainQueue).start(next: { status in + switch status { + case .notDetermined: + account.telegramApplicationContext.applicationBindings.registerForNotifications() + case .denied, .restricted: + account.telegramApplicationContext.applicationBindings.openSettings() + default: + break + } + }) + } + + openPrivacyPolicyImpl = { [weak self] in + self?.openPrivacyPolicy?() + } self.enableUpdates = true } @@ -869,10 +978,11 @@ final class ContactListNode: ASDisplayNode { self.listNode.transaction(deleteIndices: [], insertIndicesAndItems: [], updateIndicesAndItems: [], options: [.Synchronous, .LowLatency], scrollToItem: nil, updateSizeAndInsets: updateSizeAndInsets, stationaryItemRange: nil, updateOpaqueState: nil, completion: { _ in }) - //let sublayout = layout.addedInsets(insets: UIEdgeInsetsMake(0.0, 0.0, 40.0, 0.0)) - //transition.updateFrame(node: self.authorizationNode, frame: self.bounds) - //self.authorizationNode.containerLayoutUpdated(sublayout, navigationBarHeight: 0.0, transition: transition) - + //if let authorizationNode = self.authorizationNode { + authorizationNode.updateLayout(size: layout.size, insets: insets, transition: transition) + transition.updateFrame(node: authorizationNode, frame: self.bounds) + //} + if !self.hasValidLayout { self.hasValidLayout = true self.dequeueTransitions() diff --git a/TelegramUI/ContactsController.swift b/TelegramUI/ContactsController.swift index 81e5502bbf..010972c2f8 100644 --- a/TelegramUI/ContactsController.swift +++ b/TelegramUI/ContactsController.swift @@ -65,8 +65,7 @@ public class ContactsController: ViewController { self.authorizationDisposable = (DeviceAccess.authorizationStatus(account: account, subject: .contacts) |> deliverOnMainQueue).start(next: { [weak self] status in if let strongSelf = self { - strongSelf.tabBarItem.badgeValue = nil - //strongSelf.tabBarItem.badgeValue = status != .allowed ? "!" : nil + strongSelf.tabBarItem.badgeValue = status != .allowed ? "!" : nil } }) } diff --git a/TelegramUI/ContactsPeerItem.swift b/TelegramUI/ContactsPeerItem.swift index 8016cb8ee6..e3c21897d6 100644 --- a/TelegramUI/ContactsPeerItem.swift +++ b/TelegramUI/ContactsPeerItem.swift @@ -245,6 +245,8 @@ class ContactsPeerItem: ListViewItem { if let header = item.header { if let previousItem = previousItem as? ContactsPeerItem { firstWithHeader = header.id != previousItem.header?.id + } else if let previousItem = previousItem as? ContactListActionItem { + firstWithHeader = header.id != previousItem.header?.id } else { firstWithHeader = true } @@ -257,6 +259,8 @@ class ContactsPeerItem: ListViewItem { if let header = item.header { if let nextItem = nextItem as? ContactsPeerItem { last = header.id != nextItem.header?.id + } else if let nextItem = nextItem as? ContactListActionItem { + last = header.id != nextItem.header?.id } else { last = true } diff --git a/TelegramUI/GenericEmbedImplementation.swift b/TelegramUI/GenericEmbedImplementation.swift index cde7c45932..04a6a0eccb 100644 --- a/TelegramUI/GenericEmbedImplementation.swift +++ b/TelegramUI/GenericEmbedImplementation.swift @@ -45,6 +45,12 @@ final class GenericEmbedImplementation: WebEmbedImplementation { webView.loadHTMLString(html, baseURL: URL(string: "about:blank")) userContentController.addUserScript(WKUserScript(source: userScript, injectionTime: .atDocumentEnd, forMainFrameOnly: false)) + + if self.url.hasSuffix(".mp4") || self.url.hasSuffix(".mov") { + if let onPlaybackStarted = self.onPlaybackStarted { + onPlaybackStarted() + } + } } func play() { diff --git a/TelegramUI/GridMessageItem.swift b/TelegramUI/GridMessageItem.swift index a1d1f7e10f..8baa83f73a 100644 --- a/TelegramUI/GridMessageItem.swift +++ b/TelegramUI/GridMessageItem.swift @@ -403,7 +403,7 @@ final class GridMessageItemNode: GridItemNode { } } case .longTap: - controllerInteraction.openMessageContextMenu(message, self, self.bounds) + controllerInteraction.openMessageContextMenu(message, false, self, self.bounds) default: break } diff --git a/TelegramUI/InstantPageArticleItem.swift b/TelegramUI/InstantPageArticleItem.swift index ffb14b8005..cf0f8f1940 100644 --- a/TelegramUI/InstantPageArticleItem.swift +++ b/TelegramUI/InstantPageArticleItem.swift @@ -66,10 +66,11 @@ final class InstantPageArticleItem: InstantPageItem { func layoutArticleItem(theme: InstantPageTheme, webPage: TelegramMediaWebpage, title: NSAttributedString, description: NSAttributedString, cover: TelegramMediaImage?, url: String, webpageId: MediaId, boundingWidth: CGFloat, rtl: Bool) -> InstantPageArticleItem { let inset: CGFloat = 17.0 + let imageSpacing: CGFloat = 10.0 var sideInset = inset let imageSize = CGSize(width: 44.0, height: 44.0) if cover != nil { - sideInset += imageSize.width + 10.0 + sideInset += imageSize.width + imageSpacing } var availableLines: Int = 3 @@ -87,9 +88,16 @@ func layoutArticleItem(theme: InstantPageTheme, webPage: TelegramMediaWebpage, t hasRTL = true } } + var descriptionInset = inset + if hasRTL && cover != nil { + descriptionInset += imageSize.width + imageSpacing + for var item in titleItems { + item.frame = item.frame.offsetBy(dx: imageSize.width + imageSpacing, dy: 0.0) + } + } if availableLines > 0 { - let (descriptionTextItem, descriptionItems, descriptionSize) = layoutTextItemWithString(description, boundingWidth: boundingWidth - inset - sideInset, alignment: hasRTL ? .right : .natural, offset: CGPoint(x: inset, y: 15.0 + titleSize.height + 14.0), maxNumberOfLines: availableLines) + let (descriptionTextItem, descriptionItems, descriptionSize) = layoutTextItemWithString(description, boundingWidth: boundingWidth - inset - sideInset, alignment: hasRTL ? .right : .natural, offset: CGPoint(x: descriptionInset, y: 15.0 + titleSize.height + 14.0), maxNumberOfLines: availableLines) contentItems.append(contentsOf: descriptionItems) if let textItem = descriptionTextItem { diff --git a/TelegramUI/InstantPageLayout.swift b/TelegramUI/InstantPageLayout.swift index abdb178ba8..ce11c1d28f 100644 --- a/TelegramUI/InstantPageLayout.swift +++ b/TelegramUI/InstantPageLayout.swift @@ -49,16 +49,19 @@ func layoutInstantPageBlock(webpage: TelegramMediaWebpage, rtl: Bool, block: Ins var items: [InstantPageItem] = [] var offset = contentSize.height var contentSize = CGSize() + var rtl = rtl if case .empty = caption.text { } else { contentSize.height += 14.0 offset += 14.0 let styleStack = InstantPageTextStyleStack() setupStyleStack(styleStack, theme: theme, category: .caption, link: false) - let (_, captionItems, captionContentSize) = layoutTextItemWithString(attributedStringForRichText(caption.text, styleStack: styleStack), boundingWidth: boundingWidth - horizontalInset * 2.0, offset: CGPoint(x: horizontalInset, y: offset), media: media, webpage: webpage) + let (textItem, captionItems, captionContentSize) = layoutTextItemWithString(attributedStringForRichText(caption.text, styleStack: styleStack), boundingWidth: boundingWidth - horizontalInset * 2.0, offset: CGPoint(x: horizontalInset, y: offset), media: media, webpage: webpage) contentSize.height += captionContentSize.height offset += captionContentSize.height items.append(contentsOf: captionItems) + + rtl = textItem?.containsRTL ?? rtl } if case .empty = caption.credit { @@ -72,7 +75,7 @@ func layoutInstantPageBlock(webpage: TelegramMediaWebpage, rtl: Bool, block: Ins } let styleStack = InstantPageTextStyleStack() setupStyleStack(styleStack, theme: theme, category: .credit, link: false) - let (_, captionItems, captionContentSize) = layoutTextItemWithString(attributedStringForRichText(caption.credit, styleStack: styleStack), boundingWidth: boundingWidth - horizontalInset * 2.0, offset: CGPoint(x: horizontalInset, y: offset), media: media, webpage: webpage) + let (_, captionItems, captionContentSize) = layoutTextItemWithString(attributedStringForRichText(caption.credit, styleStack: styleStack), boundingWidth: boundingWidth - horizontalInset * 2.0, alignment: rtl ? .right : .natural, offset: CGPoint(x: horizontalInset, y: offset), media: media, webpage: webpage) contentSize.height += captionContentSize.height offset += captionContentSize.height items.append(contentsOf: captionItems) @@ -786,7 +789,7 @@ func layoutInstantPageBlock(webpage: TelegramMediaWebpage, rtl: Bool, block: Ins let inset: CGFloat = i == articles.count - 1 ? 0.0 : 17.0 let lineSize = CGSize(width: boundingWidth - inset, height: UIScreenPixel) - let shapeItem = InstantPageShapeItem(frame: CGRect(origin: CGPoint(x: rtl ? 0.0 : inset, y: contentSize.height - lineSize.height), size: lineSize), shapeFrame: CGRect(origin: CGPoint(), size: lineSize), shape: .rect, color: theme.controlColor) + let shapeItem = InstantPageShapeItem(frame: CGRect(origin: CGPoint(x: rtl || item.rtl ? 0.0 : inset, y: contentSize.height - lineSize.height), size: lineSize), shapeFrame: CGRect(origin: CGPoint(), size: lineSize), shape: .rect, color: theme.controlColor) items.append(shapeItem) } return InstantPageLayout(origin: CGPoint(), contentSize: contentSize, items: items) diff --git a/TelegramUI/InviteContactsControllerNode.swift b/TelegramUI/InviteContactsControllerNode.swift index 31105d73e9..dc915ccc72 100644 --- a/TelegramUI/InviteContactsControllerNode.swift +++ b/TelegramUI/InviteContactsControllerNode.swift @@ -86,7 +86,7 @@ private enum InviteContactsEntry: Comparable, Identifiable { interaction.activateSearch() }) case let .option(_, option, theme, _): - return ContactListActionItem(theme: theme, title: option.title, icon: option.icon, action: option.action) + return ContactListActionItem(theme: theme, title: option.title, icon: option.icon, header: nil, action: option.action) case let .peer(_, id, contact, count, selection, theme, strings, nameSortOrder, nameDisplayOrder): let status: ContactsPeerItemStatus if count != 0 { diff --git a/TelegramUI/ListMessageFileItemNode.swift b/TelegramUI/ListMessageFileItemNode.swift index fdc08dd3f9..577b76ca12 100644 --- a/TelegramUI/ListMessageFileItemNode.swift +++ b/TelegramUI/ListMessageFileItemNode.swift @@ -849,7 +849,7 @@ final class ListMessageFileItemNode: ListMessageNode { override func longTapped() { if let item = self.item { - item.controllerInteraction.openMessageContextMenu(item.message, self, self.bounds) + item.controllerInteraction.openMessageContextMenu(item.message, false, self, self.bounds) } } diff --git a/TelegramUI/ListMessageSnippetItemNode.swift b/TelegramUI/ListMessageSnippetItemNode.swift index a08c889b8e..522688f85d 100644 --- a/TelegramUI/ListMessageSnippetItemNode.swift +++ b/TelegramUI/ListMessageSnippetItemNode.swift @@ -603,7 +603,7 @@ final class ListMessageSnippetItemNode: ListMessageNode { override func longTapped() { if let item = self.item { - item.controllerInteraction.openMessageContextMenu(item.message, self, self.bounds) + item.controllerInteraction.openMessageContextMenu(item.message, false, self, self.bounds) } } } diff --git a/TelegramUI/NetworkStatusTitleView.swift b/TelegramUI/NetworkStatusTitleView.swift index d0e9f6f138..f3fb05719f 100644 --- a/TelegramUI/NetworkStatusTitleView.swift +++ b/TelegramUI/NetworkStatusTitleView.swift @@ -35,12 +35,11 @@ final class NetworkStatusTitleView: UIView, NavigationBarTitleView, NavigationBa self.proxyNode.isHidden = !self.title.hasProxy self.proxyButton.isHidden = !self.title.hasProxy + self.buttonView.isHidden = !self.title.isPasscodeSet if self.title.isPasscodeSet && !self.title.activity { - self.buttonView.isHidden = false self.lockView.isHidden = false self.lockView.setIsLocked(self.title.isManuallyLocked, theme: self.theme, animated: !self.bounds.size.width.isZero) } else { - self.buttonView.isHidden = true self.lockView.isHidden = true self.lockView.setIsLocked(false, theme: self.theme, animated: false) } diff --git a/TelegramUI/NotificationsAndSounds.swift b/TelegramUI/NotificationsAndSounds.swift index e409539faf..0366b2de81 100644 --- a/TelegramUI/NotificationsAndSounds.swift +++ b/TelegramUI/NotificationsAndSounds.swift @@ -10,7 +10,7 @@ private final class NotificationsAndSoundsArguments { let pushController: (ViewController) -> Void let soundSelectionDisposable: MetaDisposable - let enableNotifications: () -> Void + let authorizeNotifications: () -> Void let updateMessageAlerts: (Bool) -> Void let updateMessagePreviews: (Bool) -> Void @@ -39,12 +39,12 @@ private final class NotificationsAndSoundsArguments { let openAppSettings: () -> Void - init(account: Account, presentController: @escaping (ViewController, ViewControllerPresentationArguments?) -> Void, pushController: @escaping(ViewController)->Void, soundSelectionDisposable: MetaDisposable, enableNotifications: @escaping () -> Void, updateMessageAlerts: @escaping (Bool) -> Void, updateMessagePreviews: @escaping (Bool) -> Void, updateMessageSound: @escaping (PeerMessageSound) -> Void, updateGroupAlerts: @escaping (Bool) -> Void, updateGroupPreviews: @escaping (Bool) -> Void, updateGroupSound: @escaping (PeerMessageSound) -> Void, updateChannelAlerts: @escaping (Bool) -> Void, updateChannelPreviews: @escaping (Bool) -> Void, updateChannelSound: @escaping (PeerMessageSound) -> Void, updateInAppSounds: @escaping (Bool) -> Void, updateInAppVibration: @escaping (Bool) -> Void, updateInAppPreviews: @escaping (Bool) -> Void, updateDisplayNameOnLockscreen: @escaping (Bool) -> Void, updateTotalUnreadCountStyle: @escaping (Bool) -> Void, updateIncludeTag: @escaping (PeerSummaryCounterTags, Bool) -> Void, updateTotalUnreadCountCategory: @escaping (Bool) -> Void, resetNotifications: @escaping () -> Void, updatedExceptionMode: @escaping(NotificationExceptionMode) -> Void, openAppSettings: @escaping () -> Void) { + init(account: Account, presentController: @escaping (ViewController, ViewControllerPresentationArguments?) -> Void, pushController: @escaping(ViewController)->Void, soundSelectionDisposable: MetaDisposable, authorizeNotifications: @escaping () -> Void, updateMessageAlerts: @escaping (Bool) -> Void, updateMessagePreviews: @escaping (Bool) -> Void, updateMessageSound: @escaping (PeerMessageSound) -> Void, updateGroupAlerts: @escaping (Bool) -> Void, updateGroupPreviews: @escaping (Bool) -> Void, updateGroupSound: @escaping (PeerMessageSound) -> Void, updateChannelAlerts: @escaping (Bool) -> Void, updateChannelPreviews: @escaping (Bool) -> Void, updateChannelSound: @escaping (PeerMessageSound) -> Void, updateInAppSounds: @escaping (Bool) -> Void, updateInAppVibration: @escaping (Bool) -> Void, updateInAppPreviews: @escaping (Bool) -> Void, updateDisplayNameOnLockscreen: @escaping (Bool) -> Void, updateTotalUnreadCountStyle: @escaping (Bool) -> Void, updateIncludeTag: @escaping (PeerSummaryCounterTags, Bool) -> Void, updateTotalUnreadCountCategory: @escaping (Bool) -> Void, resetNotifications: @escaping () -> Void, updatedExceptionMode: @escaping(NotificationExceptionMode) -> Void, openAppSettings: @escaping () -> Void) { self.account = account self.presentController = presentController self.pushController = pushController self.soundSelectionDisposable = soundSelectionDisposable - self.enableNotifications = enableNotifications + self.authorizeNotifications = authorizeNotifications self.updateMessageAlerts = updateMessageAlerts self.updateMessagePreviews = updateMessagePreviews self.updateMessageSound = updateMessageSound @@ -432,10 +432,10 @@ private enum NotificationsAndSoundsEntry: ItemListNodeEntry { func item(_ arguments: NotificationsAndSoundsArguments) -> ListViewItem { switch self { case let .permissionInfo(theme, strings): - return NotificationPermissionInfoItem(theme: theme, strings: strings, sectionId: self.section) + return PermissionInfoItemListItem(theme: theme, strings: strings, subject: .notifications, sectionId: self.section) case let .permissionEnable(theme, text): return ItemListActionItem(theme: theme, title: text, kind: .generic, alignment: .natural, sectionId: self.section, style: .blocks, action: { - arguments.enableNotifications() + arguments.authorizeNotifications() }) case let .messageHeader(theme, text): return ItemListSectionHeaderItem(theme: theme, text: text, sectionId: self.section) @@ -572,16 +572,16 @@ private func filteredGlobalSound(_ sound: PeerMessageSound) -> PeerMessageSound private func notificationsAndSoundsEntries(authorizationStatus: AccessType, globalSettings: GlobalNotificationSettingsSet, inAppSettings: InAppNotificationSettings, exceptions: (users: NotificationExceptionMode, groups: NotificationExceptionMode, channels: NotificationExceptionMode), presentationData: PresentationData) -> [NotificationsAndSoundsEntry] { var entries: [NotificationsAndSoundsEntry] = [] -// switch authorizationStatus { -// case .denied: -// entries.append(.permissionInfo(presentationData.theme, presentationData.strings)) -// entries.append(.permissionEnable(presentationData.theme, "Turn ON in Settings")) -// case .notDetermined: -// entries.append(.permissionInfo(presentationData.theme, presentationData.strings)) -// entries.append(.permissionEnable(presentationData.theme, "Turn Notifications ON")) -// default: -// break -// } + switch authorizationStatus { + case .denied: + entries.append(.permissionInfo(presentationData.theme, presentationData.strings)) + entries.append(.permissionEnable(presentationData.theme, presentationData.strings.Permissions_NotificationsAllowInSettings)) + case .notDetermined: + entries.append(.permissionInfo(presentationData.theme, presentationData.strings)) + entries.append(.permissionEnable(presentationData.theme, presentationData.strings.Permissions_NotificationsAllow)) + default: + break + } entries.append(.messageHeader(presentationData.theme, presentationData.strings.Notifications_MessageNotifications)) entries.append(.messageAlerts(presentationData.theme, presentationData.strings.Notifications_MessageNotificationsAlert, globalSettings.privateChats.enabled)) @@ -652,7 +652,7 @@ public func notificationsAndSoundsController(account: Account, exceptionsList: N presentControllerImpl?(controller, arguments) }, pushController: { controller in pushControllerImpl?(controller) - }, soundSelectionDisposable: MetaDisposable(), enableNotifications: { + }, soundSelectionDisposable: MetaDisposable(), authorizeNotifications: { let _ = (DeviceAccess.authorizationStatus(account: account, subject: .notifications) |> take(1) |> deliverOnMainQueue).start(next: { status in diff --git a/TelegramUI/OngoingCallContext.swift b/TelegramUI/OngoingCallContext.swift index 455b28d890..c376a1f5d7 100644 --- a/TelegramUI/OngoingCallContext.swift +++ b/TelegramUI/OngoingCallContext.swift @@ -133,6 +133,11 @@ final class OngoingCallContext { } } + private let receptionPromise = Promise(nil) + var reception: Signal { + return self.receptionPromise.get() + } + private let audioSessionDisposable = MetaDisposable() private var networkTypeDisposable: Disposable? @@ -163,6 +168,9 @@ final class OngoingCallContext { context.stateChanged = { [weak self] state in self?.contextState.set(.single(state)) } + context.signalBarsChanged = { [weak self] signalBars in + self?.receptionPromise.set(.single(signalBars)) + } context.callEnded = { debugLog, bytesSentWifi, bytesReceivedWifi, bytesSentMobile, bytesReceivedMobile in let delta = NetworkUsageStatsConnectionsEntry( cellular: NetworkUsageStatsDirectionsEntry( diff --git a/TelegramUI/OngoingCallThreadLocalContext.h b/TelegramUI/OngoingCallThreadLocalContext.h index 4d1efb9a8c..901e828b91 100644 --- a/TelegramUI/OngoingCallThreadLocalContext.h +++ b/TelegramUI/OngoingCallThreadLocalContext.h @@ -60,6 +60,7 @@ typedef NS_ENUM(int32_t, OngoingCallDataSaving) { + (int32_t)maxLayer; @property (nonatomic, copy) void (^ _Nullable stateChanged)(OngoingCallState); +@property (nonatomic, copy) void (^ _Nullable signalBarsChanged)(int32_t); @property (nonatomic, copy) void (^ _Nullable callEnded)(NSString * _Nullable debugLog, int64_t bytesSentWifi, int64_t bytesReceivedWifi, int64_t bytesSentMobile, int64_t bytesReceivedMobile); - (instancetype _Nonnull)initWithQueue:(id _Nonnull)queue proxy:(VoipProxyServer * _Nullable)proxy networkType:(OngoingCallNetworkType)networkType dataSaving:(OngoingCallDataSaving)dataSaving; diff --git a/TelegramUI/OngoingCallThreadLocalContext.mm b/TelegramUI/OngoingCallThreadLocalContext.mm index 94710fb71b..c5a1d2f092 100644 --- a/TelegramUI/OngoingCallThreadLocalContext.mm +++ b/TelegramUI/OngoingCallThreadLocalContext.mm @@ -132,9 +132,11 @@ static void withContext(int32_t contextId, void (^f)(OngoingCallThreadLocalConte tgvoip::VoIPController *_controller; OngoingCallState _state; + int32_t _signalBars; } - (void)controllerStateChanged:(int)state; +- (void)signalBarsChanged:(int32_t)signalBars; @end @@ -145,6 +147,13 @@ static void controllerStateCallback(tgvoip::VoIPController *controller, int stat }); } +static void signalBarsCallback(tgvoip::VoIPController *controller, int signalBars) { + int32_t contextId = (int32_t)((intptr_t)controller->implData); + withContext(contextId, ^(OngoingCallThreadLocalContext *context) { + [context signalBarsChanged:(int32_t)signalBars]; + }); +} + @implementation VoipProxyServer - (instancetype _Nonnull)initWithHost:(NSString * _Nonnull)host port:(int32_t)port username:(NSString * _Nullable)username password:(NSString * _Nullable)password { @@ -254,7 +263,7 @@ static int callControllerDataSavingForType(OngoingCallDataSaving type) { callbacks.connectionStateChanged = &controllerStateCallback; callbacks.groupCallKeyReceived = NULL; callbacks.groupCallKeySent = NULL; - callbacks.signalBarCountChanged = NULL; + callbacks.signalBarCountChanged = &signalBarsCallback; callbacks.upgradeToGroupCallRequested = NULL; _controller->SetCallbacks(callbacks); @@ -266,6 +275,7 @@ static int callControllerDataSavingForType(OngoingCallDataSaving type) { tgvoip::VoIPController::crypto.aes_ctr_encrypt = &TGCallAesCtrEncrypt; _state = OngoingCallStateInitializing; + _signalBars = -1; } return self; } @@ -372,6 +382,16 @@ static int callControllerDataSavingForType(OngoingCallDataSaving type) { } } +- (void)signalBarsChanged:(int32_t)signalBars { + if (signalBars != _signalBars) { + _signalBars = signalBars; + + if (_signalBarsChanged) { + _signalBarsChanged(signalBars); + } + } +} + - (void)setIsMuted:(bool)isMuted { if (_controller != nil) { _controller->SetMicMute(isMuted); diff --git a/TelegramUI/OverlayPlayerControllerNode.swift b/TelegramUI/OverlayPlayerControllerNode.swift index 2cc96e9d7f..002f39eea5 100644 --- a/TelegramUI/OverlayPlayerControllerNode.swift +++ b/TelegramUI/OverlayPlayerControllerNode.swift @@ -54,7 +54,7 @@ final class OverlayPlayerControllerNode: ViewControllerTracingNode, UIGestureRec } else { return false } - }, openPeer: { _, _, _ in }, openPeerMention: { _ in }, openMessageContextMenu: { _, _, _ in }, navigateToMessage: { _, _ in }, clickThroughMessage: { }, toggleMessagesSelection: { _, _ in }, sendMessage: { _ in }, sendSticker: { _, _ in }, sendGif: { _ in }, requestMessageActionCallback: { _, _, _ in }, activateSwitchInline: { _, _ in }, openUrl: { _, _, _ in }, shareCurrentLocation: {}, shareAccountContact: {}, sendBotCommand: { _, _ in }, openInstantPage: { _ in }, openHashtag: { _, _ in }, updateInputState: { _ in }, updateInputMode: { _ in }, openMessageShareMenu: { _ in + }, openPeer: { _, _, _ in }, openPeerMention: { _ in }, openMessageContextMenu: { _, _, _, _ in }, navigateToMessage: { _, _ in }, clickThroughMessage: { }, toggleMessagesSelection: { _, _ in }, sendMessage: { _ in }, sendSticker: { _, _ in }, sendGif: { _ in }, requestMessageActionCallback: { _, _, _ in }, activateSwitchInline: { _, _ in }, openUrl: { _, _, _ in }, shareCurrentLocation: {}, shareAccountContact: {}, sendBotCommand: { _, _ in }, openInstantPage: { _ in }, openHashtag: { _, _ in }, updateInputState: { _ in }, updateInputMode: { _ in }, openMessageShareMenu: { _ in }, presentController: { _, _ in }, navigationController: { return nil }, presentGlobalOverlayController: { _, _ in diff --git a/TelegramUI/OverlayPlayerControlsNode.swift b/TelegramUI/OverlayPlayerControlsNode.swift index 73796c0373..52625f5d01 100644 --- a/TelegramUI/OverlayPlayerControlsNode.swift +++ b/TelegramUI/OverlayPlayerControlsNode.swift @@ -474,8 +474,8 @@ final class OverlayPlayerControlsNode: ASDisplayNode { let scrubberVerticalOrigin: CGFloat = infoVerticalOrigin + 64.0 transition.updateFrame(node: self.scrubberNode, frame: CGRect(origin: CGPoint(x: leftInset + sideInset, y: scrubberVerticalOrigin - 8.0), size: CGSize(width: width - sideInset * 2.0 - leftInset - rightInset, height: 10.0 + 8.0 * 2.0))) - transition.updateFrame(node: self.leftDurationLabel, frame: CGRect(origin: CGPoint(x: leftInset + sideInset, y: scrubberVerticalOrigin + 12.0), size: CGSize(width: 40.0, height: 20.0))) - transition.updateFrame(node: self.rightDurationLabel, frame: CGRect(origin: CGPoint(x: width - sideInset - rightInset - 40.0, y: scrubberVerticalOrigin + 12.0), size: CGSize(width: 40.0, height: 20.0))) + transition.updateFrame(node: self.leftDurationLabel, frame: CGRect(origin: CGPoint(x: leftInset + sideInset, y: scrubberVerticalOrigin + 12.0), size: CGSize(width: 64.0, height: 20.0))) + transition.updateFrame(node: self.rightDurationLabel, frame: CGRect(origin: CGPoint(x: width - sideInset - rightInset - 64.0, y: scrubberVerticalOrigin + 12.0), size: CGSize(width: 64.0, height: 20.0))) transition.updateFrame(node: self.backgroundNode, frame: CGRect(origin: CGPoint(x: 0.0, y: -8.0), size: CGSize(width: width, height: panelHeight + 8.0))) diff --git a/TelegramUI/PeerMediaCollectionController.swift b/TelegramUI/PeerMediaCollectionController.swift index 70fc0dcc08..9cfb3df951 100644 --- a/TelegramUI/PeerMediaCollectionController.swift +++ b/TelegramUI/PeerMediaCollectionController.swift @@ -114,7 +114,7 @@ public class PeerMediaCollectionController: TelegramController { } } }, openPeerMention: { _ in - }, openMessageContextMenu: { [weak self] message, _, _ in + }, openMessageContextMenu: { [weak self] message, _, _, _ in if let strongSelf = self, strongSelf.isNodeLoaded { if let message = strongSelf.mediaCollectionDisplayNode.messageForGallery(message.id)?.message { let actionSheet = ActionSheetController(presentationTheme: strongSelf.presentationData.theme) diff --git a/TelegramUI/PermissionContentNode.swift b/TelegramUI/PermissionContentNode.swift index 92687e6ec5..461f906130 100644 --- a/TelegramUI/PermissionContentNode.swift +++ b/TelegramUI/PermissionContentNode.swift @@ -3,19 +3,22 @@ import Display import AsyncDisplayKit final class PermissionContentNode: ASDisplayNode { + private var theme: PresentationTheme + let kind: PermissionStateKind + private let iconNode: ASImageNode private let titleNode: ImmediateTextNode private let textNode: ImmediateTextNode private let actionButton: SolidRoundedButtonNode private let privacyPolicyButton: HighlightableButtonNode - var kind: PermissionStateKind private var title: String var buttonAction: (() -> Void)? var openPrivacyPolicy: (() -> Void)? init(theme: PresentationTheme, strings: PresentationStrings, kind: PermissionStateKind, icon: UIImage?, title: String, text: String, buttonTitle: String, buttonAction: @escaping () -> Void, openPrivacyPolicy: (() -> Void)?) { + self.theme = theme self.kind = kind self.buttonAction = buttonAction @@ -42,7 +45,7 @@ final class PermissionContentNode: ASDisplayNode { self.actionButton = SolidRoundedButtonNode(theme: theme, height: 48.0, cornerRadius: 9.0) self.privacyPolicyButton = HighlightableButtonNode() - //self.privacyPolicyButton.setTitle(strings.Permissions_PrivacyPolicy, with: Font.regular(16.0), with: theme.list.itemAccentColor, for: .normal) + self.privacyPolicyButton.setTitle(strings.Permissions_PrivacyPolicy, with: Font.regular(16.0), with: theme.list.itemAccentColor, for: .normal) super.init() @@ -74,23 +77,43 @@ final class PermissionContentNode: ASDisplayNode { } func updateLayout(size: CGSize, insets: UIEdgeInsets, transition: ContainedViewLayoutTransition) { - let sidePadding: CGFloat = 20.0 - //let sideButtonInset: CGFloat = 16.0 + let sidePadding: CGFloat + let fontSize: CGFloat + if size.width > 330.0 { + fontSize = 24.0 + sidePadding = 38.0 + } else { + fontSize = 20.0 + sidePadding = 20.0 + } + + self.titleNode.attributedText = NSAttributedString(string: self.title, font: Font.semibold(fontSize), textColor: self.theme.list.itemPrimaryTextColor) + let titleSize = self.titleNode.updateLayout(CGSize(width: size.width - sidePadding * 2.0, height: .greatestFiniteMagnitude)) let textSize = self.textNode.updateLayout(CGSize(width: size.width - sidePadding * 2.0, height: .greatestFiniteMagnitude)) let buttonHeight = self.actionButton.updateLayout(width: size.width, transition: transition) - - let titleSubtitleSpacing: CGFloat = 12.0 - - let textHeight = titleSize.height + titleSubtitleSpacing + textSize.height - - let minContentHeight = textHeight - let contentHeight = min(215.0, max(size.height - insets.top - insets.bottom - 40.0, minContentHeight)) + let titleSubtitleSpacing: CGFloat = 26.0 + let buttonSpacing: CGFloat = 36.0 + var contentHeight = titleSize.height + titleSubtitleSpacing + textSize.height + buttonHeight + buttonSpacing + + var imageSize = CGSize() + var imageSpacing: CGFloat = 0.0 + if let icon = self.iconNode.image { + imageSpacing = 60.0 + imageSize = icon.size + contentHeight += imageSize.height + imageSpacing + } + let contentOrigin = insets.top + floor((size.height - insets.top - insets.bottom - contentHeight) / 2.0) - let titleFrame = CGRect(origin: CGPoint(x: floor((size.width - titleSize.width) / 2.0), y: contentOrigin), size: titleSize) + let iconFrame = CGRect(origin: CGPoint(x: floor((size.width - imageSize.width) / 2.0), y: contentOrigin), size: imageSize) + let titleFrame = CGRect(origin: CGPoint(x: floor((size.width - titleSize.width) / 2.0), y: iconFrame.maxY + imageSpacing), size: titleSize) + let textFrame = CGRect(origin: CGPoint(x: floor((size.width - textSize.width) / 2.0), y: titleFrame.maxY + titleSubtitleSpacing), size: textSize) + let buttonFrame = CGRect(origin: CGPoint(x: 0.0, y: textFrame.maxY + buttonSpacing), size: CGSize(width: size.width, height: buttonHeight)) + + transition.updateFrame(node: self.iconNode, frame: iconFrame) transition.updateFrame(node: self.titleNode, frame: titleFrame) - transition.updateFrame(node: self.textNode, frame: CGRect(origin: CGPoint(x: floor((size.width - textSize.width) / 2.0), y: titleFrame.maxY + titleSubtitleSpacing), size: textSize)) - transition.updateFrame(node: self.actionButton, frame: CGRect(x: 0.0, y: 0.0, width: size.width, height: buttonHeight)) + transition.updateFrame(node: self.textNode, frame: textFrame) + transition.updateFrame(node: self.actionButton, frame: buttonFrame) } } diff --git a/TelegramUI/PermissionControllerNode.swift b/TelegramUI/PermissionControllerNode.swift index 7d46cc8fb7..88c9ba5e3a 100644 --- a/TelegramUI/PermissionControllerNode.swift +++ b/TelegramUI/PermissionControllerNode.swift @@ -126,79 +126,79 @@ final class PermissionControllerNode: ASDisplayNode { } private func transition(state: PermissionControllerState, transition: ContainedViewLayoutTransition) { -// let insets = state.layout.layout.insets(options: [.statusBar]) -// let contentFrame = CGRect(origin: CGPoint(x: 0.0, y: 0.0), size: CGSize(width: state.layout.layout.size.width, height: state.layout.layout.size.height)) -// -// if state.data.state?.kind != self.contentNode?.kind { -// if let dataState = state.data.state { -// let icon: UIImage? -// let title: String -// let text: String -// let buttonTitle: String -// let hasPrivacyPolicy: Bool -// -// switch dataState { -// case let .contacts(status): -// icon = UIImage(bundleImageName: "Settings/Permissions/Contacts") -// title = self.presentationData.strings.Permissions_ContactsTitle -// text = self.presentationData.strings.Permissions_ContactsText -// if status == .denied { -// buttonTitle = self.presentationData.strings.Permissions_ContactsAllowInSettings -// } else { -// buttonTitle = self.presentationData.strings.Permissions_ContactsAllow -// } -// hasPrivacyPolicy = true -// case let .notifications(status): -// icon = UIImage(bundleImageName: "Settings/Permissions/Notifications") -// title = self.presentationData.strings.Permissions_NotificationsTitle -// text = self.presentationData.strings.Permissions_NotificationsText -// if status == .denied { -// buttonTitle = self.presentationData.strings.Permissions_NotificationsAllowInSettings -// } else { -// buttonTitle = self.presentationData.strings.Permissions_NotificationsAllow -// } -// hasPrivacyPolicy = false -// case let .siri(status): -// icon = UIImage(bundleImageName: "Settings/Permissions/CellularData") -// title = self.presentationData.strings.Permissions_SiriTitle -// text = self.presentationData.strings.Permissions_SiriText -// if status == .denied { -// buttonTitle = self.presentationData.strings.Permissions_SiriAllowInSettings -// } else { -// buttonTitle = self.presentationData.strings.Permissions_SiriAllow -// } -// hasPrivacyPolicy = false -// case .cellularData: -// icon = UIImage(bundleImageName: "Settings/Permissions/CellularData") -// title = self.presentationData.strings.Permissions_CellularDataTitle -// text = self.presentationData.strings.Permissions_CellularDataText -// buttonTitle = self.presentationData.strings.Permissions_CellularDataAllowInSettings -// hasPrivacyPolicy = false -// } -// -// let contentNode = PermissionContentNode(theme: self.presentationData.theme, strings: self.presentationData.strings, kind: dataState.kind, icon: icon, title: title, text: text, buttonTitle: buttonTitle, buttonAction: {}, openPrivacyPolicy: hasPrivacyPolicy ? self.openPrivacyPolicy : nil) -// self.insertSubnode(contentNode, at: 0) -// contentNode.updateLayout(size: contentFrame.size, insets: insets, transition: .immediate) -// contentNode.frame = contentFrame -// if let currentContentNode = self.contentNode { -// transition.updatePosition(node: currentContentNode, position: CGPoint(x: -contentFrame.size.width / 2.0, y: contentFrame.midY), completion: { [weak currentContentNode] _ in -// currentContentNode?.removeFromSupernode() -// }) -// transition.animateHorizontalOffsetAdditive(node: contentNode, offset: -contentFrame.width) -// } else if transition.isAnimated { -// contentNode.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.3) -// } -// self.contentNode = contentNode -// } else if let currentContentNode = self.contentNode { -// transition.updateAlpha(node: currentContentNode, alpha: 0.0, completion: { [weak currentContentNode] _ in -// currentContentNode?.removeFromSupernode() -// }) -// self.contentNode = nil -// } -// } else if let contentNode = self.contentNode { -// transition.updateFrame(node: contentNode, frame: contentFrame) -// contentNode.updateLayout(size: contentFrame.size, insets: insets, transition: transition) -// } + let insets = state.layout.layout.insets(options: [.statusBar]) + let contentFrame = CGRect(origin: CGPoint(x: 0.0, y: 0.0), size: CGSize(width: state.layout.layout.size.width, height: state.layout.layout.size.height)) + + if state.data.state?.kind != self.contentNode?.kind { + if let dataState = state.data.state { + let icon: UIImage? + let title: String + let text: String + let buttonTitle: String + let hasPrivacyPolicy: Bool + + switch dataState { + case let .contacts(status): + icon = UIImage(bundleImageName: "Settings/Permissions/Contacts") + title = self.presentationData.strings.Permissions_ContactsTitle + text = self.presentationData.strings.Permissions_ContactsText + if status == .denied { + buttonTitle = self.presentationData.strings.Permissions_ContactsAllowInSettings + } else { + buttonTitle = self.presentationData.strings.Permissions_ContactsAllow + } + hasPrivacyPolicy = true + case let .notifications(status): + icon = UIImage(bundleImageName: "Settings/Permissions/Notifications") + title = self.presentationData.strings.Permissions_NotificationsTitle + text = self.presentationData.strings.Permissions_NotificationsText + if status == .denied { + buttonTitle = self.presentationData.strings.Permissions_NotificationsAllowInSettings + } else { + buttonTitle = self.presentationData.strings.Permissions_NotificationsAllow + } + hasPrivacyPolicy = false + case let .siri(status): + icon = UIImage(bundleImageName: "Settings/Permissions/Siri") + title = self.presentationData.strings.Permissions_SiriTitle + text = self.presentationData.strings.Permissions_SiriText + if status == .denied { + buttonTitle = self.presentationData.strings.Permissions_SiriAllowInSettings + } else { + buttonTitle = self.presentationData.strings.Permissions_SiriAllow + } + hasPrivacyPolicy = false + case .cellularData: + icon = UIImage(bundleImageName: "Settings/Permissions/CellularData") + title = self.presentationData.strings.Permissions_CellularDataTitle + text = self.presentationData.strings.Permissions_CellularDataText + buttonTitle = self.presentationData.strings.Permissions_CellularDataAllowInSettings + hasPrivacyPolicy = false + } + + let contentNode = PermissionContentNode(theme: self.presentationData.theme, strings: self.presentationData.strings, kind: dataState.kind, icon: icon, title: title, text: text, buttonTitle: buttonTitle, buttonAction: {}, openPrivacyPolicy: hasPrivacyPolicy ? self.openPrivacyPolicy : nil) + self.insertSubnode(contentNode, at: 0) + contentNode.updateLayout(size: contentFrame.size, insets: insets, transition: .immediate) + contentNode.frame = contentFrame + if let currentContentNode = self.contentNode { + transition.updatePosition(node: currentContentNode, position: CGPoint(x: -contentFrame.size.width / 2.0, y: contentFrame.midY), completion: { [weak currentContentNode] _ in + currentContentNode?.removeFromSupernode() + }) + transition.animateHorizontalOffsetAdditive(node: contentNode, offset: -contentFrame.width) + } else if transition.isAnimated { + contentNode.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.3) + } + self.contentNode = contentNode + } else if let currentContentNode = self.contentNode { + transition.updateAlpha(node: currentContentNode, alpha: 0.0, completion: { [weak currentContentNode] _ in + currentContentNode?.removeFromSupernode() + }) + self.contentNode = nil + } + } else if let contentNode = self.contentNode { + transition.updateFrame(node: contentNode, frame: contentFrame) + contentNode.updateLayout(size: contentFrame.size, insets: insets, transition: transition) + } } func containerLayoutUpdated(_ layout: ContainerViewLayout, navigationBarHeight: CGFloat, transition: ContainedViewLayoutTransition) { diff --git a/TelegramUI/NotificationPermissionInfoItem.swift b/TelegramUI/PermissionInfoItem.swift similarity index 66% rename from TelegramUI/NotificationPermissionInfoItem.swift rename to TelegramUI/PermissionInfoItem.swift index 7a420bd1d1..c8cb36d150 100644 --- a/TelegramUI/NotificationPermissionInfoItem.swift +++ b/TelegramUI/PermissionInfoItem.swift @@ -3,23 +3,23 @@ import Display import AsyncDisplayKit import SwiftSignalKit -class NotificationPermissionInfoItem: ListViewItem, ItemListItem { +class PermissionInfoItem: ListViewItem { let selectable: Bool = false - let sectionId: ItemListSectionId let theme: PresentationTheme let strings: PresentationStrings + let subject: DeviceAccessSubject - init(theme: PresentationTheme, strings: PresentationStrings, sectionId: ItemListSectionId) { + init(theme: PresentationTheme, strings: PresentationStrings, subject: DeviceAccessSubject) { self.theme = theme self.strings = strings - self.sectionId = sectionId + self.subject = subject } func nodeConfiguredForParams(async: @escaping (@escaping () -> Void) -> Void, params: ListViewItemLayoutParams, previousItem: ListViewItem?, nextItem: ListViewItem?, completion: @escaping (ListViewItemNode, @escaping () -> (Signal?, () -> Void)) -> Void) { async { - let node = NotificationPermissionInfoItemNode() - let (layout, apply) = node.asyncLayout()(self, params, itemListNeighbors(item: self, topItem: previousItem as? ItemListItem, bottomItem: nextItem as? ItemListItem)) + let node = PermissionInfoItemNode() + let (layout, apply) = node.asyncLayout()(self, params, nil) node.contentSize = layout.contentSize node.insets = layout.insets @@ -34,7 +34,49 @@ class NotificationPermissionInfoItem: ListViewItem, ItemListItem { func updateNode(async: @escaping (@escaping () -> Void) -> Void, node: @escaping () -> ListViewItemNode, params: ListViewItemLayoutParams, previousItem: ListViewItem?, nextItem: ListViewItem?, animation: ListViewItemUpdateAnimation, completion: @escaping (ListViewItemNodeLayout, @escaping () -> Void) -> Void) { Queue.mainQueue().async { - if let nodeValue = node() as? NotificationPermissionInfoItemNode { + if let nodeValue = node() as? PermissionInfoItemNode { + let makeLayout = nodeValue.asyncLayout() + + async { + let (layout, apply) = makeLayout(self, params, nil) + Queue.mainQueue().async { + completion(layout, { + apply() + }) + } + } + } + } + } +} + +class PermissionInfoItemListItem: PermissionInfoItem, ItemListItem { + let sectionId: ItemListSectionId + + init(theme: PresentationTheme, strings: PresentationStrings, subject: DeviceAccessSubject, sectionId: ItemListSectionId) { + self.sectionId = sectionId + super.init(theme: theme, strings: strings, subject: subject) + } + + override func nodeConfiguredForParams(async: @escaping (@escaping () -> Void) -> Void, params: ListViewItemLayoutParams, previousItem: ListViewItem?, nextItem: ListViewItem?, completion: @escaping (ListViewItemNode, @escaping () -> (Signal?, () -> Void)) -> Void) { + async { + let node = PermissionInfoItemNode() + let (layout, apply) = node.asyncLayout()(self, params, itemListNeighbors(item: self, topItem: previousItem as? ItemListItem, bottomItem: nextItem as? ItemListItem)) + + node.contentSize = layout.contentSize + node.insets = layout.insets + + Queue.mainQueue().async { + completion(node, { + return (nil, { apply() }) + }) + } + } + } + + override func updateNode(async: @escaping (@escaping () -> Void) -> Void, node: @escaping () -> ListViewItemNode, params: ListViewItemLayoutParams, previousItem: ListViewItem?, nextItem: ListViewItem?, animation: ListViewItemUpdateAnimation, completion: @escaping (ListViewItemNodeLayout, @escaping () -> Void) -> Void) { + Queue.mainQueue().async { + if let nodeValue = node() as? PermissionInfoItemNode { let makeLayout = nodeValue.asyncLayout() async { @@ -54,7 +96,7 @@ private let titleFont = Font.semibold(17.0) private let textFont = Font.regular(16.0) private let badgeFont = Font.regular(15.0) -class NotificationPermissionInfoItemNode: ListViewItemNode { +class PermissionInfoItemNode: ListViewItemNode { private let backgroundNode: ASDisplayNode private let topStripeNode: ASDisplayNode private let bottomStripeNode: ASDisplayNode @@ -64,7 +106,7 @@ class NotificationPermissionInfoItemNode: ListViewItemNode { let titleNode: TextNode let textNode: TextNode - private var item: NotificationPermissionInfoItem? + private var item: PermissionInfoItem? override var canBeSelected: Bool { return false @@ -103,7 +145,7 @@ class NotificationPermissionInfoItemNode: ListViewItemNode { self.addSubnode(self.textNode) } - func asyncLayout() -> (_ item: NotificationPermissionInfoItem, _ params: ListViewItemLayoutParams, _ insets: ItemListNeighbors) -> (ListViewItemNodeLayout, () -> Void) { + func asyncLayout() -> (_ item: PermissionInfoItem, _ params: ListViewItemLayoutParams, _ insets: ItemListNeighbors?) -> (ListViewItemNodeLayout, () -> Void) { let makeLabelLayout = TextNode.asyncLayout(self.labelNode) let makeTitleLayout = TextNode.asyncLayout(self.titleNode) let makeTextLayout = TextNode.asyncLayout(self.textNode) @@ -123,14 +165,33 @@ class NotificationPermissionInfoItemNode: ListViewItemNode { updatedBadgeImage = generateStretchableFilledCircleImage(diameter: badgeDiameter, color: item.theme.list.itemDestructiveColor) } - let insets = itemListNeighborsGroupedInsets(neighbors) + let insets: UIEdgeInsets + if let neighbors = neighbors { + insets = itemListNeighborsGroupedInsets(neighbors) + } else { + insets = UIEdgeInsets() + } let separatorHeight = UIScreenPixel let itemBackgroundColor = item.theme.list.itemBlocksBackgroundColor let itemSeparatorColor = item.theme.list.itemBlocksSeparatorColor + let title: String + let text: String + switch item.subject { + case .contacts: + title = item.strings.Contacts_PermissionsTitle + text = item.strings.Contacts_PermissionsText + case .notifications: + title = item.strings.Notifications_PermissionsTitle + text = item.strings.Notifications_PermissionsText + default: + title = "" + text = "" + } + let (labelLayout, labelApply) = makeLabelLayout(TextNodeLayoutArguments(attributedString: NSAttributedString(string: "!", font: badgeFont, textColor: item.theme.list.itemCheckColors.foregroundColor), backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: badgeDiameter, height: badgeDiameter), alignment: .natural, cutout: nil, insets: UIEdgeInsets())) - let (titleLayout, titleApply) = makeTitleLayout(TextNodeLayoutArguments(attributedString: NSAttributedString(string: "Turn ON Notifications", font: titleFont, textColor: item.theme.list.itemPrimaryTextColor), backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: params.width - leftInset - rightInset - badgeDiameter - 8.0, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets())) - let (textLayout, textApply) = makeTextLayout(TextNodeLayoutArguments(attributedString: NSAttributedString(string: "Don't miss important messages from your friends and coworkers.", font: textFont, textColor: item.theme.list.itemPrimaryTextColor), backgroundColor: nil, maximumNumberOfLines: 3, truncationType: .end, constrainedSize: CGSize(width: params.width - leftInset - rightInset, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets())) + let (titleLayout, titleApply) = makeTitleLayout(TextNodeLayoutArguments(attributedString: NSAttributedString(string: title, font: titleFont, textColor: item.theme.list.itemPrimaryTextColor), backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: params.width - leftInset - rightInset - badgeDiameter - 8.0, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets())) + let (textLayout, textApply) = makeTextLayout(TextNodeLayoutArguments(attributedString: NSAttributedString(string: text, font: textFont, textColor: item.theme.list.itemPrimaryTextColor), backgroundColor: nil, maximumNumberOfLines: 3, truncationType: .end, constrainedSize: CGSize(width: params.width - leftInset - rightInset, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets())) let contentSize = CGSize(width: params.width, height: titleLayout.size.height + textLayout.size.height + 36.0) return (ListViewItemNodeLayout(contentSize: contentSize, insets: insets), { [weak self] in @@ -156,18 +217,24 @@ class NotificationPermissionInfoItemNode: ListViewItemNode { if strongSelf.bottomStripeNode.supernode == nil { strongSelf.insertSubnode(strongSelf.bottomStripeNode, at: 2) } - switch neighbors.top { - case .sameSection(false): - strongSelf.topStripeNode.isHidden = true - default: - strongSelf.topStripeNode.isHidden = false + if let neighbors = neighbors { + switch neighbors.top { + case .sameSection(false): + strongSelf.topStripeNode.isHidden = true + default: + strongSelf.topStripeNode.isHidden = false + } } let bottomStripeInset: CGFloat - switch neighbors.bottom { - case .sameSection(false): - bottomStripeInset = leftInset - default: - bottomStripeInset = 0.0 + if let neighbors = neighbors { + switch neighbors.bottom { + case .sameSection(false): + bottomStripeInset = leftInset + default: + bottomStripeInset = 0.0 + } + } else { + bottomStripeInset = leftInset } strongSelf.backgroundNode.frame = CGRect(origin: CGPoint(x: 0.0, y: -min(insets.top, separatorHeight)), size: CGSize(width: params.width, height: contentSize.height + min(insets.top, separatorHeight) + min(insets.bottom, separatorHeight))) diff --git a/TelegramUI/PresentationCall.swift b/TelegramUI/PresentationCall.swift index 15e3e9f22c..4ef8a08f6d 100644 --- a/TelegramUI/PresentationCall.swift +++ b/TelegramUI/PresentationCall.swift @@ -10,7 +10,7 @@ public enum PresentationCallState: Equatable { case ringing case requesting(Bool) case connecting(Data?) - case active(Double, Data) + case active(Double, Int32?, Data) case terminating case terminated(CallSessionTerminationReason?) } @@ -173,6 +173,8 @@ public final class PresentationCall { private var callContextState: OngoingCallContextState? private var ongoingContext: OngoingCallContext private var ongoingContextStateDisposable: Disposable? + private var reception: Int32? + private var receptionDisposable: Disposable? private var reportedIncomingCall = false private var sessionStateDisposable: Disposable? @@ -236,7 +238,7 @@ public final class PresentationCall { self.sessionStateDisposable = (callSessionManager.callState(internalId: internalId) |> deliverOnMainQueue).start(next: { [weak self] sessionState in if let strongSelf = self { - strongSelf.updateSessionState(sessionState: sessionState, callContextState: strongSelf.callContextState, audioSessionControl: strongSelf.audioSessionControl) + strongSelf.updateSessionState(sessionState: sessionState, callContextState: strongSelf.callContextState, reception: strongSelf.reception, audioSessionControl: strongSelf.audioSessionControl) } }) @@ -244,18 +246,29 @@ public final class PresentationCall { |> deliverOnMainQueue).start(next: { [weak self] contextState in if let strongSelf = self { if let sessionState = strongSelf.sessionState { - strongSelf.updateSessionState(sessionState: sessionState, callContextState: contextState, audioSessionControl: strongSelf.audioSessionControl) + strongSelf.updateSessionState(sessionState: sessionState, callContextState: contextState, reception: strongSelf.reception, audioSessionControl: strongSelf.audioSessionControl) } else { strongSelf.callContextState = contextState } } }) + self.receptionDisposable = (self.ongoingContext.reception + |> deliverOnMainQueue).start(next: { [weak self] reception in + if let strongSelf = self { + if let sessionState = strongSelf.sessionState { + strongSelf.updateSessionState(sessionState: sessionState, callContextState: strongSelf.callContextState, reception: reception, audioSessionControl: strongSelf.audioSessionControl) + } else { + strongSelf.reception = reception + } + } + }) + self.audioSessionDisposable = audioSession.push(audioSessionType: .voiceCall, manualActivate: { [weak self] control in Queue.mainQueue().async { if let strongSelf = self { if let sessionState = strongSelf.sessionState { - strongSelf.updateSessionState(sessionState: sessionState, callContextState: strongSelf.callContextState, audioSessionControl: control) + strongSelf.updateSessionState(sessionState: sessionState, callContextState: strongSelf.callContextState, reception: strongSelf.reception, audioSessionControl: control) } else { strongSelf.audioSessionControl = control } @@ -267,7 +280,7 @@ public final class PresentationCall { if let strongSelf = self { strongSelf.updateIsAudioSessionActive(false) if let sessionState = strongSelf.sessionState { - strongSelf.updateSessionState(sessionState: sessionState, callContextState: strongSelf.callContextState, audioSessionControl: nil) + strongSelf.updateSessionState(sessionState: sessionState, callContextState: strongSelf.callContextState, reception: strongSelf.reception, audioSessionControl: nil) } else { strongSelf.audioSessionControl = nil } @@ -342,6 +355,7 @@ public final class PresentationCall { self.audioSessionActiveDisposable?.dispose() self.sessionStateDisposable?.dispose() self.ongoingContextStateDisposable?.dispose() + self.receptionDisposable?.dispose() self.audioSessionDisposable?.dispose() if let dropCallKitCallTimer = self.dropCallKitCallTimer { @@ -352,11 +366,12 @@ public final class PresentationCall { } } - private func updateSessionState(sessionState: CallSession, callContextState: OngoingCallContextState?, audioSessionControl: ManagedAudioSessionControl?) { + private func updateSessionState(sessionState: CallSession, callContextState: OngoingCallContextState?, reception: Int32?, audioSessionControl: ManagedAudioSessionControl?) { let previous = self.sessionState let previousControl = self.audioSessionControl self.sessionState = sessionState self.callContextState = callContextState + self.reception = reception self.audioSessionControl = audioSessionControl if previousControl != nil && audioSessionControl == nil { @@ -429,7 +444,7 @@ public final class PresentationCall { timestamp = CFAbsoluteTimeGetCurrent() self.activeTimestamp = timestamp } - presentationState = .active(timestamp, keyVisualHash) + presentationState = .active(timestamp, reception, keyVisualHash) } } else { presentationState = .connecting(keyVisualHash) diff --git a/TelegramUI/PresentationData.swift b/TelegramUI/PresentationData.swift index 7b8c86a1e2..5d088c5556 100644 --- a/TelegramUI/PresentationData.swift +++ b/TelegramUI/PresentationData.swift @@ -42,16 +42,18 @@ public final class PresentationData: Equatable { public let strings: PresentationStrings public let theme: PresentationTheme public let chatWallpaper: TelegramWallpaper + public let volumeControlStatusBarIcons: (UIImage, UIImage, UIImage) public let fontSize: PresentationFontSize public let dateTimeFormat: PresentationDateTimeFormat public let nameDisplayOrder: PresentationPersonNameOrder public let nameSortOrder: PresentationPersonNameOrder public let disableAnimations: Bool - public init(strings: PresentationStrings, theme: PresentationTheme, chatWallpaper: TelegramWallpaper, fontSize: PresentationFontSize, dateTimeFormat: PresentationDateTimeFormat, nameDisplayOrder: PresentationPersonNameOrder, nameSortOrder: PresentationPersonNameOrder, disableAnimations: Bool) { + public init(strings: PresentationStrings, theme: PresentationTheme, chatWallpaper: TelegramWallpaper, volumeControlStatusBarIcons: (UIImage, UIImage, UIImage), fontSize: PresentationFontSize, dateTimeFormat: PresentationDateTimeFormat, nameDisplayOrder: PresentationPersonNameOrder, nameSortOrder: PresentationPersonNameOrder, disableAnimations: Bool) { self.strings = strings self.theme = theme self.chatWallpaper = chatWallpaper + self.volumeControlStatusBarIcons = volumeControlStatusBarIcons self.fontSize = fontSize self.dateTimeFormat = dateTimeFormat self.nameDisplayOrder = nameDisplayOrder @@ -60,7 +62,7 @@ public final class PresentationData: Equatable { } public static func ==(lhs: PresentationData, rhs: PresentationData) -> Bool { - return lhs.strings === rhs.strings && lhs.theme === rhs.theme && lhs.chatWallpaper == rhs.chatWallpaper && lhs.fontSize == rhs.fontSize && lhs.dateTimeFormat == rhs.dateTimeFormat && lhs.disableAnimations == rhs.disableAnimations + return lhs.strings === rhs.strings && lhs.theme === rhs.theme && lhs.chatWallpaper == rhs.chatWallpaper && lhs.volumeControlStatusBarIcons == rhs.volumeControlStatusBarIcons && lhs.fontSize == rhs.fontSize && lhs.dateTimeFormat == rhs.dateTimeFormat && lhs.disableAnimations == rhs.disableAnimations } } @@ -92,6 +94,10 @@ func dictFromLocalization(_ value: Localization) -> [String: String] { return dict } +private func volumeControlStatusBarIcons() -> (UIImage, UIImage, UIImage) { + return (UIImage(bundleImageName: "Components/Volume/VolumeOff")!, UIImage(bundleImageName: "Components/Volume/VolumeHalf")!, UIImage(bundleImageName: "Components/Volume/VolumeFull")!) +} + private func currentDateTimeFormat() -> PresentationDateTimeFormat { let locale = Locale.current let dateFormatter = DateFormatter() @@ -281,7 +287,7 @@ public func currentPresentationDataAndSettings(postbox: Postbox) -> Signal Signal PresentationData { let nameSortOrder = currentPersonNameSortOrder() let themeSettings = PresentationThemeSettings.defaultSettings - return PresentationData(strings: defaultPresentationStrings, theme: defaultPresentationTheme, chatWallpaper: .builtin, fontSize: themeSettings.fontSize, dateTimeFormat: dateTimeFormat, nameDisplayOrder: nameDisplayOrder, nameSortOrder: nameSortOrder, disableAnimations: themeSettings.disableAnimations) + return PresentationData(strings: defaultPresentationStrings, theme: defaultPresentationTheme, chatWallpaper: .builtin, volumeControlStatusBarIcons: volumeControlStatusBarIcons(), fontSize: themeSettings.fontSize, dateTimeFormat: dateTimeFormat, nameDisplayOrder: nameDisplayOrder, nameSortOrder: nameSortOrder, disableAnimations: themeSettings.disableAnimations) } diff --git a/TelegramUI/PresentationStrings.swift b/TelegramUI/PresentationStrings.swift index b94467d9bd..13e6035dee 100644 --- a/TelegramUI/PresentationStrings.swift +++ b/TelegramUI/PresentationStrings.swift @@ -184,3298 +184,3323 @@ public final class PresentationStrings { private let _s: [Int: String] private let _r: [Int: [(Int, NSRange)]] private let _ps: [Int: String] - public var Channel_BanUser_Title: String { return self._s[0]! } - public var Notification_SecretChatMessageScreenshotSelf: String { return self._s[1]! } - public var Preview_SaveGif: String { return self._s[2]! } - public var Passport_ScanPassportHelp: String { return self._s[3]! } - public var EnterPasscode_EnterNewPasscodeNew: String { return self._s[4]! } - public var Passport_Identity_TypeInternalPassport: String { return self._s[5]! } - public var Privacy_Calls_WhoCanCallMe: String { return self._s[6]! } - public var Passport_DeletePassport: String { return self._s[7]! } - public var Watch_NoConnection: String { return self._s[8]! } - public var Activity_UploadingPhoto: String { return self._s[9]! } - public var PrivacySettings_PrivacyTitle: String { return self._s[10]! } - public func DialogList_PinLimitError(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[11]!, self._r[11]!, [_0]) + public var StickerPack_ShowStickers: String { return self._s[0]! } + public var Map_PullUpForPlaces: String { return self._s[1]! } + public var Channel_Status: String { return self._s[2]! } + public var TwoStepAuth_ChangePassword: String { return self._s[3]! } + public var Map_LiveLocationFor1Hour: String { return self._s[4]! } + public var CheckoutInfo_ShippingInfoAddress2Placeholder: String { return self._s[5]! } + public var Settings_AppleWatch: String { return self._s[6]! } + public var Login_InvalidCountryCode: String { return self._s[7]! } + public var WebSearch_RecentSectionTitle: String { return self._s[8]! } + public var UserInfo_DeleteContact: String { return self._s[9]! } + public var ShareFileTip_CloseTip: String { return self._s[10]! } + public var UserInfo_Invite: String { return self._s[11]! } + public var Passport_Identity_MiddleName: String { return self._s[12]! } + public var Passport_Identity_FrontSideHelp: String { return self._s[13]! } + public var Month_GenDecember: String { return self._s[15]! } + public var Common_Yes: String { return self._s[16]! } + public func EncryptionKey_Description(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[17]!, self._r[17]!, [_1, _2]) } - public var FastTwoStepSetup_PasswordSection: String { return self._s[12]! } - public var FastTwoStepSetup_EmailSection: String { return self._s[13]! } - public var Notifications_Badge_IncludeChannels: String { return self._s[14]! } - public var Cache_ClearCache: String { return self._s[15]! } - public var Common_Close: String { return self._s[16]! } - public var Passport_PasswordDescription: String { return self._s[17]! } - public var ChangePhoneNumberCode_Called: String { return self._s[20]! } - public var Login_PhoneTitle: String { return self._s[21]! } - public func Cache_Clear(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[22]!, self._r[22]!, [_0]) + public var Channel_AdminLogFilter_EventsLeaving: String { return self._s[18]! } + public func Notification_PinnedStickerMessage(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[19]!, self._r[19]!, [_0]) } - public var EnterPasscode_EnterNewPasscodeChange: String { return self._s[23]! } - public var Watch_ChatList_Compose: String { return self._s[24]! } - public var DialogList_SearchSectionDialogs: String { return self._s[26]! } - public var Contacts_TabTitle: String { return self._s[27]! } - public var NotificationsSound_Pulse: String { return self._s[28]! } - public var Passport_Language_el: String { return self._s[29]! } - public var Passport_Identity_DateOfBirth: String { return self._s[30]! } - public var TwoStepAuth_SetupPasswordConfirmPassword: String { return self._s[31]! } - public var SocksProxySetup_PasteFromClipboard: String { return self._s[32]! } - public var ChannelIntro_Text: String { return self._s[33]! } - public var PrivacySettings_SecurityTitle: String { return self._s[34]! } - public var DialogList_SavedMessages: String { return self._s[35]! } - public var Update_Skip: String { return self._s[36]! } - public func Call_StatusOngoing(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[37]!, self._r[37]!, [_0]) + public var Passport_Address_ScansHelp: String { return self._s[20]! } + public var FastTwoStepSetup_PasswordHelp: String { return self._s[21]! } + public var LastSeen_Lately: String { return self._s[26]! } + public var Channel_EditAdmin_PermissinAddAdminOff: String { return self._s[27]! } + public var Camera_Discard: String { return self._s[28]! } + public var Login_InvalidPhoneError: String { return self._s[29]! } + public var Conversation_Moderate_Delete: String { return self._s[31]! } + public var Conversation_DeleteMessagesForEveryone: String { return self._s[32]! } + public var WatchRemote_AlertOpen: String { return self._s[33]! } + public func MediaPicker_Nof(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[34]!, self._r[34]!, [_0]) } - public var Settings_LogoutConfirmationText: String { return self._s[38]! } - public var Passport_Identity_ResidenceCountry: String { return self._s[40]! } - public var AutoNightTheme_ScheduledTo: String { return self._s[41]! } - public var SocksProxySetup_RequiredCredentials: String { return self._s[42]! } - public var BlockedUsers_Info: String { return self._s[43]! } - public var ChatSettings_AutomaticAudioDownload: String { return self._s[44]! } - public var Settings_SetUsername: String { return self._s[45]! } - public var Privacy_Calls_CustomShareHelp: String { return self._s[46]! } - public var Group_MessagePhotoUpdated: String { return self._s[47]! } - public var Message_PinnedInvoice: String { return self._s[48]! } - public var Login_InfoAvatarAdd: String { return self._s[49]! } - public var Conversation_RestrictedMedia: String { return self._s[51]! } - public var AutoDownloadSettings_LimitBySize: String { return self._s[52]! } - public var WebSearch_RecentSectionTitle: String { return self._s[53]! } - public func CHAT_MESSAGE_TEXT(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[54]!, self._r[54]!, [_1, _2, _3]) + public var Watch_GroupInfo_Title: String { return self._s[36]! } + public var Passport_Identity_AddPersonalDetails: String { return self._s[37]! } + public var Channel_Info_Members: String { return self._s[38]! } + public var LoginPassword_InvalidPasswordError: String { return self._s[40]! } + public var Conversation_LiveLocation: String { return self._s[41]! } + public var PrivacyLastSeenSettings_CustomShareSettingsHelp: String { return self._s[42]! } + public var NetworkUsageSettings_BytesReceived: String { return self._s[44]! } + public var Stickers_Search: String { return self._s[46]! } + public var NotificationsSound_Synth: String { return self._s[47]! } + public var NetworkUsageSettings_MediaAudioDataSection: String { return self._s[48]! } + public var AutoNightTheme_UseSunsetSunrise: String { return self._s[49]! } + public var FastTwoStepSetup_Title: String { return self._s[50]! } + public var Channel_Info_BlackList: String { return self._s[51]! } + public var Channel_AdminLog_InfoPanelTitle: String { return self._s[52]! } + public var Conversation_OpenFile: String { return self._s[53]! } + public var SecretTimer_ImageDescription: String { return self._s[54]! } + public var StickerSettings_ContextInfo: String { return self._s[55]! } + public var TwoStepAuth_GenericHelp: String { return self._s[57]! } + public var AutoDownloadSettings_Unlimited: String { return self._s[58]! } + public var PrivacyLastSeenSettings_NeverShareWith_Title: String { return self._s[59]! } + public func CHAT_MESSAGE_NOTEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[60]!, self._r[60]!, [_1, _2]) } - public var Message_Sticker: String { return self._s[55]! } - public var Paint_Regular: String { return self._s[56]! } - public var Channel_Username_Help: String { return self._s[57]! } - public func Profile_CreateEncryptedChatOutdatedError(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[58]!, self._r[58]!, [_0, _1]) + public var Notifications_AddExceptionTitle: String { return self._s[61]! } + public var Watch_MessageView_Reply: String { return self._s[62]! } + public var Tour_Text6: String { return self._s[63]! } + public var TwoStepAuth_SetupPasswordEnterPasswordChange: String { return self._s[64]! } + public func Notification_PinnedAnimationMessage(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[65]!, self._r[65]!, [_0]) } - public var PrivacyPolicy_DeclineLastWarning: String { return self._s[59]! } - public var Passport_FieldEmail: String { return self._s[60]! } - public var ContactInfo_PhoneLabelPager: String { return self._s[62]! } - public func PINNED_STICKER(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[63]!, self._r[63]!, [_1, _2]) - } - public var AutoDownloadSettings_Title: String { return self._s[64]! } - public var Conversation_ShareInlineBotLocationConfirmation: String { return self._s[65]! } - public func Channel_AdminLog_MessageEdited(_ _0: String) -> (String, [(Int, NSRange)]) { + public func ShareFileTip_Text(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[66]!, self._r[66]!, [_0]) } - public var Group_Setup_HistoryHidden: String { return self._s[67]! } - public var Watch_Message_Game: String { return self._s[68]! } - public func PHONE_CALL_REQUEST(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[70]!, self._r[70]!, [_1]) - } - public var AccessDenied_MicrophoneRestricted: String { return self._s[71]! } - public func Notification_Exceptions_MutedUntil(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[72]!, self._r[72]!, [_0]) - } - public var Your_cards_expiration_year_is_invalid: String { return self._s[73]! } - public var GroupInfo_InviteByLink: String { return self._s[75]! } - public func Notification_LeftChat(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[76]!, self._r[76]!, [_0]) - } - public var Appearance_AutoNightThemeDisabled: String { return self._s[77]! } - public func Channel_AdminLog_MessageAdmin(_ _0: String, _ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[78]!, self._r[78]!, [_0, _1, _2]) - } - public var PrivacyLastSeenSettings_NeverShareWith_Placeholder: String { return self._s[79]! } - public var Notifications_ExceptionsMessagePlaceholder: String { return self._s[84]! } - public var NotificationsSound_Alert: String { return self._s[85]! } - public var TwoStepAuth_SetupEmail: String { return self._s[86]! } - public var Checkout_PayWithFaceId: String { return self._s[87]! } - public var Login_ResetAccountProtected_Reset: String { return self._s[90]! } - public var SocksProxySetup_Hostname: String { return self._s[91]! } - public func PrivacyPolicy_AgeVerificationMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[92]!, self._r[92]!, [_0]) - } - public var NotificationsSound_None: String { return self._s[93]! } - public var Channel_AdminLog_CanEditMessages: String { return self._s[95]! } - public func MESSAGE_CONTACT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[96]!, self._r[96]!, [_1]) - } - public var MediaPicker_MomentsDateRangeSameMonthYearFormat: String { return self._s[97]! } - public var Notification_MessageLifetime1w: String { return self._s[99]! } - public var PasscodeSettings_AutoLock_IfAwayFor_5minutes: String { return self._s[100]! } - public var ChatSettings_Groups: String { return self._s[102]! } - public var State_Connecting: String { return self._s[103]! } - public func Message_ForwardedMessageShort(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[104]!, self._r[104]!, [_0]) - } - public var Watch_ConnectionDescription: String { return self._s[105]! } - public var TwoStepAuth_ReEnterPasswordDescription: String { return self._s[106]! } - public func Notification_CallTimeFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[107]!, self._r[107]!, [_1, _2]) - } - public var Passport_Identity_Selfie: String { return self._s[108]! } - public var Passport_Identity_GenderMale: String { return self._s[109]! } - public var Paint_Delete: String { return self._s[110]! } - public var Group_Username_RevokeExistingUsernamesInfo: String { return self._s[111]! } - public var Passport_Identity_AddDriversLicense: String { return self._s[112]! } - public var Passport_Language_ne: String { return self._s[113]! } - public var Channel_MessagePhotoUpdated: String { return self._s[114]! } - public var Passport_Address_OneOfTypePassportRegistration: String { return self._s[115]! } - public var Cache_Help: String { return self._s[116]! } - public var SocksProxySetup_ProxyStatusConnected: String { return self._s[118]! } - public func Login_EmailPhoneBody(_ _0: String, _ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[119]!, self._r[119]!, [_0, _1, _2]) - } - public var Checkout_ShippingAddress: String { return self._s[121]! } - public var Channel_BanList_RestrictedTitle: String { return self._s[122]! } - public var Checkout_TotalAmount: String { return self._s[123]! } - public var Appearance_TextSize: String { return self._s[124]! } - public var Passport_Address_TypeResidentialAddress: String { return self._s[125]! } - public var Notification_Exceptions_AlwaysOff: String { return self._s[126]! } - public var Conversation_MessageEditedLabel: String { return self._s[127]! } - public var SharedMedia_EmptyLinksText: String { return self._s[128]! } - public func Conversation_RestrictedTextTimed(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[129]!, self._r[129]!, [_0]) - } - public var Passport_Address_AddResidentialAddress: String { return self._s[130]! } - public var Calls_NoCallsPlaceholder: String { return self._s[131]! } - public var Passport_Address_AddPassportRegistration: String { return self._s[132]! } - public var Conversation_PinMessageAlert_OnlyPin: String { return self._s[133]! } - public var PasscodeSettings_UnlockWithFaceId: String { return self._s[134]! } - public var ContactInfo_Title: String { return self._s[135]! } - public var ReportPeer_ReasonOther_Send: String { return self._s[137]! } - public var Notifications_Badge: String { return self._s[139]! } - public var Conversation_InstantPagePreview: String { return self._s[140]! } - public var PasscodeSettings_SimplePasscodeHelp: String { return self._s[141]! } - public func Time_PreciseDate_m9(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[142]!, self._r[142]!, [_1, _2, _3]) - } - public var GroupInfo_Title: String { return self._s[144]! } - public var State_Updating: String { return self._s[146]! } - public var PrivacyPolicy_AgeVerificationAgree: String { return self._s[147]! } - public var Map_GetDirections: String { return self._s[148]! } - public func TwoStepAuth_PendingEmailHelp(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[149]!, self._r[149]!, [_0]) - } - public var UserInfo_PhoneCall: String { return self._s[151]! } - public var Passport_Language_bn: String { return self._s[153]! } - public var MusicPlayer_VoiceNote: String { return self._s[154]! } - public var Paint_Duplicate: String { return self._s[155]! } - public var Channel_Username_InvalidTaken: String { return self._s[156]! } - public var Conversation_ClearGroupHistory: String { return self._s[157]! } - public var Passport_Address_OneOfTypeRentalAgreement: String { return self._s[158]! } - public var Stickers_GroupStickersHelp: String { return self._s[161]! } - public var SecretChat_Title: String { return self._s[162]! } - public var Group_UpgradeConfirmation: String { return self._s[163]! } - public var Checkout_LiabilityAlertTitle: String { return self._s[164]! } - public var GroupInfo_GroupNamePlaceholder: String { return self._s[166]! } - public func Time_PreciseDate_m11(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[168]!, self._r[168]!, [_1, _2, _3]) - } - public var Passport_DeletePersonalDetailsConfirmation: String { return self._s[169]! } - public func UserInfo_NotificationsDefaultSound(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[170]!, self._r[170]!, [_0]) - } - public var Passport_Email_Help: String { return self._s[171]! } - public func MESSAGE_GEOLIVE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[173]!, self._r[173]!, [_1]) - } - public func Notification_JoinedGroupByLink(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[174]!, self._r[174]!, [_0]) - } - public var LoginPassword_Title: String { return self._s[175]! } - public var Login_HaveNotReceivedCodeInternal: String { return self._s[176]! } - public var PasscodeSettings_SimplePasscode: String { return self._s[178]! } - public var NewContact_Title: String { return self._s[179]! } - public var Username_CheckingUsername: String { return self._s[180]! } - public var Login_ResetAccountProtected_TimerTitle: String { return self._s[181]! } - public var Checkout_Email: String { return self._s[182]! } - public var CheckoutInfo_SaveInfo: String { return self._s[183]! } - public var UserInfo_InviteBotToGroup: String { return self._s[184]! } - public func ChangePhoneNumberCode_CallTimer(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[185]!, self._r[185]!, [_0]) - } - public var TwoStepAuth_SetupPasswordEnterPasswordNew: String { return self._s[186]! } - public var Weekday_Wednesday: String { return self._s[187]! } - public func Channel_AdminLog_MessageToggleSignaturesOff(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[188]!, self._r[188]!, [_0]) - } - public var Month_ShortDecember: String { return self._s[189]! } - public var Channel_SignMessages: String { return self._s[190]! } - public var Appearance_Title: String { return self._s[191]! } - public var ReportPeer_ReasonCopyright: String { return self._s[192]! } - public var Conversation_Moderate_Delete: String { return self._s[193]! } - public var Conversation_CloudStorage_ChatStatus: String { return self._s[194]! } - public var Login_InfoTitle: String { return self._s[196]! } - public var Privacy_GroupsAndChannels_NeverAllow_Placeholder: String { return self._s[197]! } - public var Message_Video: String { return self._s[198]! } - public var Notification_ChannelInviterSelf: String { return self._s[199]! } - public var Channel_AdminLog_BanEmbedLinks: String { return self._s[200]! } - public var Conversation_SecretLinkPreviewAlert: String { return self._s[201]! } - public func CHANNEL_MESSAGE_GEOLIVE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[203]!, self._r[203]!, [_1]) - } - public var Cache_Videos: String { return self._s[204]! } - public var Call_ReportSkip: String { return self._s[205]! } - public var NetworkUsageSettings_MediaImageDataSection: String { return self._s[206]! } - public var Group_Setup_HistoryTitle: String { return self._s[207]! } - public var TwoStepAuth_GenericHelp: String { return self._s[208]! } - public func DialogList_SingleRecordingAudioSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[209]!, self._r[209]!, [_0]) - } - public var Privacy_TopPeersDelete: String { return self._s[210]! } - public var Checkout_NewCard_CardholderNameTitle: String { return self._s[212]! } - public var Settings_FAQ_Button: String { return self._s[213]! } - public func GroupInfo_AddParticipantConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[214]!, self._r[214]!, [_0]) - } - public func Notification_PinnedLiveLocationMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[217]!, self._r[217]!, [_0]) - } - public var AccessDenied_PhotosRestricted: String { return self._s[218]! } - public var Map_Locating: String { return self._s[219]! } - public var AutoDownloadSettings_Unlimited: String { return self._s[220]! } - public var Passport_Language_km: String { return self._s[221]! } - public var MediaPicker_LivePhotoDescription: String { return self._s[222]! } - public var Passport_DiscardMessageDescription: String { return self._s[223]! } - public var SocksProxySetup_Title: String { return self._s[226]! } - public var SharedMedia_EmptyMusicText: String { return self._s[227]! } - public var Cache_ByPeerHeader: String { return self._s[229]! } - public var Bot_GroupStatusReadsHistory: String { return self._s[230]! } - public var TwoStepAuth_ResetAccountConfirmation: String { return self._s[231]! } - public var CallSettings_Always: String { return self._s[232]! } - public var Message_ImageExpired: String { return self._s[233]! } - public var Channel_BanUser_Unban: String { return self._s[235]! } - public var Stickers_GroupChooseStickerPack: String { return self._s[236]! } - public var Group_Setup_TypePrivate: String { return self._s[237]! } - public var Passport_Language_cs: String { return self._s[238]! } - public var Settings_LogoutConfirmationTitle: String { return self._s[239]! } - public var UserInfo_FirstNamePlaceholder: String { return self._s[240]! } - public var Passport_Identity_SurnamePlaceholder: String { return self._s[241]! } - public var Passport_Identity_FilesView: String { return self._s[242]! } - public var LoginPassword_ResetAccount: String { return self._s[243]! } - public var Privacy_GroupsAndChannels_AlwaysAllow: String { return self._s[244]! } - public func Notification_JoinedChat(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[246]!, self._r[246]!, [_0]) - } - public var Notifications_ExceptionsUnmuted: String { return self._s[247]! } - public var ChannelInfo_DeleteChannel: String { return self._s[248]! } - public var Passport_Title: String { return self._s[250]! } - public var NetworkUsageSettings_BytesReceived: String { return self._s[251]! } - public var BlockedUsers_BlockTitle: String { return self._s[252]! } - public var Update_Title: String { return self._s[254]! } - public var AccessDenied_PhotosAndVideos: String { return self._s[255]! } - public var Channel_Username_Title: String { return self._s[256]! } - public func Channel_AdminLog_MessageToggleSignaturesOn(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[257]!, self._r[257]!, [_0]) - } - public var Map_PullUpForPlaces: String { return self._s[258]! } - public func Conversation_EncryptionWaiting(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[259]!, self._r[259]!, [_0]) - } - public var Passport_Language_ka: String { return self._s[260]! } - public var InfoPlist_NSSiriUsageDescription: String { return self._s[261]! } - public var Calls_NotNow: String { return self._s[262]! } - public var Conversation_Report: String { return self._s[263]! } - public func CHANNEL_MESSAGE_DOC(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[264]!, self._r[264]!, [_1]) - } - public var Channel_AdminLogFilter_EventsAll: String { return self._s[265]! } - public var InfoPlist_NSLocationWhenInUseUsageDescription: String { return self._s[266]! } - public var Passport_Address_TypeTemporaryRegistration: String { return self._s[267]! } - public var TwoStepAuth_EmailChangeSuccess: String { return self._s[270]! } - public var Call_ConnectionErrorTitle: String { return self._s[271]! } - public var Passport_Language_tr: String { return self._s[272]! } - public var Settings_ApplyProxyAlertEnable: String { return self._s[275]! } - public var Settings_ChatSettings: String { return self._s[276]! } - public var Group_About_Help: String { return self._s[277]! } - public func CHANNEL_MESSAGE_NOTEXT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[278]!, self._r[278]!, [_1]) - } - public var Month_GenSeptember: String { return self._s[279]! } - public var PrivacySettings_LastSeenEverybody: String { return self._s[280]! } - public var Contacts_NotRegisteredSection: String { return self._s[281]! } - public var PhotoEditor_BlurToolRadial: String { return self._s[282]! } - public var TwoStepAuth_PasswordRemoveConfirmation: String { return self._s[283]! } - public var Channel_EditAdmin_PermissionEditMessages: String { return self._s[286]! } - public var TwoStepAuth_ChangePassword: String { return self._s[287]! } - public var Watch_MessageView_Title: String { return self._s[288]! } - public func Notification_PinnedRoundMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[289]!, self._r[289]!, [_0]) - } - public var Conversation_ViewMessage: String { return self._s[290]! } - public var Passport_FieldEmailHelp: String { return self._s[291]! } - public var Settings_SaveEditedPhotos: String { return self._s[292]! } - public var Channel_Management_LabelCreator: String { return self._s[293]! } - public func Notification_PinnedStickerMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[294]!, self._r[294]!, [_0]) - } - public func AutoNightTheme_AutomaticHelp(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[295]!, self._r[295]!, [_0]) - } - public var Passport_Address_EditPassportRegistration: String { return self._s[297]! } - public var PhotoEditor_QualityTool: String { return self._s[298]! } - public var Login_NetworkError: String { return self._s[299]! } - public var TwoStepAuth_EnterPasswordForgot: String { return self._s[300]! } - public var Compose_ChannelMembers: String { return self._s[302]! } - public func Channel_AdminLog_CaptionEdited(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[303]!, self._r[303]!, [_0]) - } - public var Common_Yes: String { return self._s[304]! } - public var KeyCommand_JumpToPreviousUnreadChat: String { return self._s[305]! } - public var CheckoutInfo_ReceiverInfoPhone: String { return self._s[306]! } - public var SocksProxySetup_TypeNone: String { return self._s[307]! } - public var GroupInfo_AddParticipantTitle: String { return self._s[309]! } - public var Map_LiveLocationShowAll: String { return self._s[310]! } - public var Settings_SavedMessages: String { return self._s[311]! } - public var Passport_FieldIdentitySelfieHelp: String { return self._s[312]! } - public func CHANNEL_MESSAGE_TEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[314]!, self._r[314]!, [_1, _2]) - } - public var Checkout_PayNone: String { return self._s[315]! } - public var CheckoutInfo_ErrorNameInvalid: String { return self._s[316]! } - public var Notification_PaymentSent: String { return self._s[317]! } - public var Settings_Username: String { return self._s[318]! } - public var Notification_CallMissedShort: String { return self._s[319]! } - public var Call_CallInProgressTitle: String { return self._s[320]! } - public var Passport_Scans: String { return self._s[322]! } - public var PhotoEditor_Skip: String { return self._s[324]! } - public var AuthSessions_TerminateOtherSessionsHelp: String { return self._s[325]! } - public var Call_AudioRouteHeadphones: String { return self._s[326]! } - public var SocksProxySetup_UseForCalls: String { return self._s[327]! } - public var Contacts_InviteFriends: String { return self._s[328]! } - public var Channel_BanUser_PermissionSendMessages: String { return self._s[329]! } - public var Notifications_InAppNotificationsVibrate: String { return self._s[330]! } - public var StickerPack_Share: String { return self._s[331]! } - public var Watch_MessageView_Reply: String { return self._s[332]! } - public var Call_AudioRouteSpeaker: String { return self._s[333]! } - public var Checkout_Title: String { return self._s[337]! } - public func MESSAGE_GEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[338]!, self._r[338]!, [_1]) - } - public var Privacy_Calls: String { return self._s[339]! } - public var DialogList_AdLabel: String { return self._s[340]! } - public var Passport_Identity_ScansHelp: String { return self._s[341]! } - public var Channel_AdminLogFilter_EventsInfo: String { return self._s[342]! } - public var Passport_Language_hu: String { return self._s[343]! } - public func Channel_AdminLog_MessagePinned(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[344]!, self._r[344]!, [_0]) - } - public func Channel_AdminLog_MessageToggleInvitesOn(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[345]!, self._r[345]!, [_0]) - } - public var KeyCommand_ScrollDown: String { return self._s[347]! } - public var Conversation_LinkDialogSave: String { return self._s[348]! } - public var CheckoutInfo_ErrorShippingNotAvailable: String { return self._s[350]! } - public var Conversation_SendMessageErrorFlood: String { return self._s[352]! } - public func Checkout_SavePasswordTimeoutAndTouchId(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[353]!, self._r[353]!, [_0]) - } - public var HashtagSearch_AllChats: String { return self._s[354]! } - public var InfoPlist_NSPhotoLibraryAddUsageDescription: String { return self._s[355]! } - public func Date_ChatDateHeaderYear(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[358]!, self._r[358]!, [_1, _2, _3]) - } - public var Privacy_Calls_P2PContacts: String { return self._s[359]! } - public var Passport_Email_Delete: String { return self._s[360]! } - public var CheckoutInfo_ShippingInfoCountry: String { return self._s[361]! } - public var Map_ShowPlaces: String { return self._s[362]! } - public var Passport_Identity_GenderFemale: String { return self._s[363]! } - public var ApplyLanguage_ChangeLanguageAction: String { return self._s[364]! } - public var Camera_VideoMode: String { return self._s[365]! } - public func Watch_Time_ShortFullAt(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[366]!, self._r[366]!, [_1, _2]) - } - public var UserInfo_TelegramCall: String { return self._s[369]! } - public var PrivacyLastSeenSettings_CustomShareSettingsHelp: String { return self._s[370]! } - public var Passport_UpdateRequiredError: String { return self._s[372]! } - public var Channel_AdminLog_InfoPanelAlertText: String { return self._s[375]! } - public func Channel_AdminLog_MessageUnpinned(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[377]!, self._r[377]!, [_0]) - } - public var Cache_Photos: String { return self._s[378]! } - public var Message_PinnedStickerMessage: String { return self._s[379]! } - public var PhotoEditor_QualityMedium: String { return self._s[380]! } - public var Privacy_PaymentsClearInfo: String { return self._s[381]! } - public var PhotoEditor_CurvesRed: String { return self._s[383]! } - public var Passport_Identity_AddPersonalDetails: String { return self._s[384]! } - public func Login_WillCallYou(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[386]!, self._r[386]!, [_0]) - } - public var Privacy_PaymentsTitle: String { return self._s[387]! } - public var SocksProxySetup_ProxyType: String { return self._s[388]! } - public func Time_PreciseDate_m8(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[389]!, self._r[389]!, [_1, _2, _3]) - } - public var Login_PhoneNumberHelp: String { return self._s[390]! } - public var User_DeletedAccount: String { return self._s[392]! } - public var Call_StatusFailed: String { return self._s[393]! } - public func Notification_GroupInviter(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[394]!, self._r[394]!, [_0]) - } - public var Localization_ChooseLanguage: String { return self._s[395]! } - public var CheckoutInfo_ShippingInfoAddress2Placeholder: String { return self._s[396]! } - public func Notification_SecretChatMessageScreenshot(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[397]!, self._r[397]!, [_0]) - } - public func DialogList_SingleUploadingPhotoSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[398]!, self._r[398]!, [_0]) - } - public var Channel_LeaveChannel: String { return self._s[399]! } - public var Compose_NewGroup: String { return self._s[401]! } - public var TwoStepAuth_EmailPlaceholder: String { return self._s[402]! } - public var PhotoEditor_ExposureTool: String { return self._s[403]! } - public var Conversation_ViewChannel: String { return self._s[404]! } - public var ChatAdmins_AdminLabel: String { return self._s[407]! } - public var Contacts_FailedToSendInvitesMessage: String { return self._s[408]! } - public var Login_Code: String { return self._s[409]! } - public var Passport_Identity_ExpiryDateNone: String { return self._s[410]! } - public var ContactInfo_PhoneLabelWorkFax: String { return self._s[411]! } - public var AuthSessions_IncompleteAttemptsInfo: String { return self._s[412]! } - public var Channel_Username_InvalidCharacters: String { return self._s[415]! } - public var FeatureDisabled_Oops: String { return self._s[416]! } - public var Calls_CallTabTitle: String { return self._s[417]! } - public var ShareMenu_Send: String { return self._s[418]! } - public var WatchRemote_AlertTitle: String { return self._s[419]! } - public var Channel_Members_AddBannedErrorAdmin: String { return self._s[420]! } - public var Conversation_InfoGroup: String { return self._s[421]! } - public var Passport_Identity_TypePersonalDetails: String { return self._s[422]! } - public var Passport_Identity_OneOfTypePassport: String { return self._s[423]! } - public var Checkout_Phone: String { return self._s[424]! } - public var Channel_SignMessages_Help: String { return self._s[426]! } - public var Passport_PasswordNext: String { return self._s[427]! } - public var Calls_SubmitRating: String { return self._s[428]! } - public var Camera_FlashOn: String { return self._s[429]! } - public var Watch_MessageView_Forward: String { return self._s[430]! } - public var Passport_DiscardMessageTitle: String { return self._s[432]! } - public var Passport_Language_uk: String { return self._s[433]! } - public var GroupInfo_ActionPromote: String { return self._s[434]! } - public var DialogList_You: String { return self._s[435]! } - public var Weekday_Monday: String { return self._s[436]! } - public var Passport_Identity_SelfieHelp: String { return self._s[437]! } - public var Passport_Identity_MiddleName: String { return self._s[439]! } - public var AccessDenied_Camera: String { return self._s[440]! } - public var WatchRemote_NotificationText: String { return self._s[441]! } - public var SharedMedia_ViewInChat: String { return self._s[442]! } - public var Passcode_AppLockedAlert: String { return self._s[443]! } - public var Activity_RecordingAudio: String { return self._s[446]! } - public var Watch_Stickers_StickerPacks: String { return self._s[447]! } - public func Target_ShareGameConfirmationPrivate(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[448]!, self._r[448]!, [_0]) - } - public var Checkout_NewCard_PostcodePlaceholder: String { return self._s[449]! } - public var Passport_Identity_OneOfTypeInternalPassport: String { return self._s[450]! } - public var DialogList_DeleteConversationConfirmation: String { return self._s[451]! } - public var AttachmentMenu_SendAsFile: String { return self._s[452]! } - public var Watch_Conversation_Unblock: String { return self._s[455]! } - public var Channel_AdminLog_MessagePreviousLink: String { return self._s[456]! } - public var TextFormat_Monospace: String { return self._s[457]! } - public var Conversation_ContextMenuCopy: String { return self._s[458]! } - public var GroupInfo_UpgradeButton: String { return self._s[459]! } - public var PrivacyLastSeenSettings_NeverShareWith: String { return self._s[461]! } - public var ConvertToSupergroup_HelpText: String { return self._s[463]! } - public var MediaPicker_VideoMuteDescription: String { return self._s[464]! } - public var Passport_Address_TypeRentalAgreement: String { return self._s[465]! } - public var Passport_Language_it: String { return self._s[467]! } - public var UserInfo_ShareMyContactInfo: String { return self._s[468]! } - public var Channel_Info_Stickers: String { return self._s[469]! } - public var Appearance_ColorTheme: String { return self._s[470]! } - public func FileSize_GB(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[472]!, self._r[472]!, [_0]) - } - public func Passport_FieldOneOf_Or(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[474]!, self._r[474]!, [_1, _2]) - } - public var Month_ShortJanuary: String { return self._s[476]! } - public var Channel_BanUser_PermissionsHeader: String { return self._s[477]! } - public var PhotoEditor_QualityVeryHigh: String { return self._s[478]! } - public var Passport_Language_mk: String { return self._s[479]! } - public var AuthSessions_IncompleteAttempts: String { return self._s[480]! } - public var Login_TermsOfServiceLabel: String { return self._s[481]! } - public func InstantPage_RelatedArticleAuthorAndDateTitle(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[482]!, self._r[482]!, [_1, _2]) - } - public func MESSAGE_TEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[484]!, self._r[484]!, [_1, _2]) - } - public var DialogList_NoMessagesTitle: String { return self._s[485]! } - public var Passport_DeletePassportConfirmation: String { return self._s[486]! } - public var Passport_Language_az: String { return self._s[488]! } - public var AccessDenied_Contacts: String { return self._s[489]! } - public var Your_cards_security_code_is_invalid: String { return self._s[490]! } - public var Contacts_InviteSearchLabel: String { return self._s[491]! } - public var Tour_StartButton: String { return self._s[492]! } - public var CheckoutInfo_Title: String { return self._s[494]! } - public var Conversation_Admin: String { return self._s[495]! } - public func Channel_AdminLog_MessageRestrictedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[497]!, self._r[497]!, [_1, _2]) - } - public var ChangePhoneNumberCode_Help: String { return self._s[498]! } - public var Web_Error: String { return self._s[499]! } - public var ShareFileTip_Title: String { return self._s[500]! } - public var Privacy_SecretChatsLinkPreviews: String { return self._s[501]! } - public var Username_InvalidStartsWithNumber: String { return self._s[502]! } - public func DialogList_EncryptedChatStartedIncoming(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[504]!, self._r[504]!, [_0]) - } - public var Calls_AddTab: String { return self._s[506]! } - public var DialogList_AdNoticeAlert: String { return self._s[507]! } - public var PhotoEditor_TiltShift: String { return self._s[510]! } - public var Passport_Identity_TypeDriversLicenseUploadScan: String { return self._s[511]! } - public var ChannelMembers_WhoCanAddMembers_Admins: String { return self._s[512]! } - public var Tour_Text5: String { return self._s[513]! } - public var Notifications_ExceptionsGroupPlaceholder: String { return self._s[514]! } - public var Watch_Stickers_RecentPlaceholder: String { return self._s[515]! } - public var Common_Select: String { return self._s[516]! } - public func Notification_MessageLifetimeRemoved(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[517]!, self._r[517]!, [_1]) - } - public func PINNED_INVOICE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[518]!, self._r[518]!, [_1]) - } - public var Month_GenFebruary: String { return self._s[519]! } - public var Contacts_SelectAll: String { return self._s[520]! } - public var FastTwoStepSetup_EmailHelp: String { return self._s[521]! } - public var Month_GenOctober: String { return self._s[522]! } - public var CheckoutInfo_ErrorPhoneInvalid: String { return self._s[523]! } - public var Passport_Identity_DocumentNumberPlaceholder: String { return self._s[524]! } - public var AutoNightTheme_UpdateLocation: String { return self._s[525]! } - public var Group_Setup_TypePublic: String { return self._s[527]! } - public var Checkout_PaymentMethod_New: String { return self._s[528]! } - public var ShareMenu_Comment: String { return self._s[529]! } - public var Passport_FloodError: String { return self._s[530]! } - public var Channel_Management_LabelEditor: String { return self._s[531]! } - public var TwoStepAuth_SetPasswordHelp: String { return self._s[532]! } - public var Channel_AdminLogFilter_EventsTitle: String { return self._s[533]! } - public var NotificationSettings_ContactJoined: String { return self._s[535]! } - public var ChatSettings_AutoDownloadVideos: String { return self._s[536]! } - public var Passport_Identity_TypeIdentityCard: String { return self._s[538]! } - public var Username_LinkCopied: String { return self._s[540]! } - public func Time_MonthOfYear_m9(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[541]!, self._r[541]!, [_0]) - } - public var Channel_EditAdmin_PermissionAddAdmins: String { return self._s[543]! } - public var Passport_FieldPhoneHelp: String { return self._s[544]! } - public var Conversation_SendMessage: String { return self._s[545]! } - public var Notification_CallIncoming: String { return self._s[546]! } - public func MESSAGE_FWDS(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[547]!, self._r[547]!, [_1, _2]) - } - public var Map_OpenInYandexMaps: String { return self._s[550]! } - public var FastTwoStepSetup_PasswordHelp: String { return self._s[551]! } - public var GroupInfo_GroupHistoryHidden: String { return self._s[552]! } - public var AutoNightTheme_UseSunsetSunrise: String { return self._s[553]! } - public var Month_ShortNovember: String { return self._s[554]! } - public var AccessDenied_Settings: String { return self._s[557]! } - public var EncryptionKey_Title: String { return self._s[558]! } - public var Profile_MessageLifetime1h: String { return self._s[559]! } - public func Map_DistanceAway(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[560]!, self._r[560]!, [_0]) - } - public var Checkout_ErrorPaymentFailed: String { return self._s[561]! } - public var Compose_NewMessage: String { return self._s[562]! } - public var Conversation_LiveLocationYou: String { return self._s[563]! } - public var Privacy_TopPeersHelp: String { return self._s[564]! } - public var Map_OpenInWaze: String { return self._s[565]! } - public var Checkout_ShippingMethod: String { return self._s[566]! } - public var Login_InfoFirstNamePlaceholder: String { return self._s[567]! } - public var Checkout_ErrorProviderAccountInvalid: String { return self._s[568]! } - public func Notification_Exceptions_Sound(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[569]!, self._r[569]!, [_0]) - } - public var CallSettings_TabIconDescription: String { return self._s[571]! } - public var ChatSettings_AutoDownloadReset: String { return self._s[572]! } - public var Checkout_WebConfirmation_Title: String { return self._s[573]! } - public var PasscodeSettings_AutoLock: String { return self._s[574]! } - public var Notifications_MessageNotificationsPreview: String { return self._s[577]! } - public var Conversation_BlockUser: String { return self._s[578]! } - public func TwoStepAuth_SetupPendingEmail(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[579]!, self._r[579]!, [_0]) - } - public var Passport_Identity_EditPassport: String { return self._s[580]! } - public var MessageTimer_Custom: String { return self._s[581]! } - public var Conversation_SilentBroadcastTooltipOff: String { return self._s[583]! } - public var Conversation_Mute: String { return self._s[584]! } - public var CreateGroup_SoftUserLimitAlert: String { return self._s[585]! } - public var AccessDenied_LocationDenied: String { return self._s[586]! } - public var Tour_Title6: String { return self._s[587]! } - public var Settings_UsernameEmpty: String { return self._s[588]! } - public var PrivacySettings_TwoStepAuth: String { return self._s[589]! } - public var Conversation_FileICloudDrive: String { return self._s[590]! } - public var KeyCommand_SendMessage: String { return self._s[592]! } - public func Channel_AdminLog_MessageDeleted(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[594]!, self._r[594]!, [_0]) - } - public var DialogList_DeleteBotConfirmation: String { return self._s[595]! } - public var EditProfile_Title: String { return self._s[596]! } - public var PasscodeSettings_HelpTop: String { return self._s[597]! } - public var SocksProxySetup_ProxySocks5: String { return self._s[598]! } - public var Common_TakePhotoOrVideo: String { return self._s[599]! } - public var Notification_MessageLifetime2s: String { return self._s[600]! } - public var Checkout_ErrorGeneric: String { return self._s[601]! } - public var DialogList_Unread: String { return self._s[603]! } - public var AutoNightTheme_Automatic: String { return self._s[604]! } - public var Passport_Identity_Name: String { return self._s[605]! } - public var Channel_AdminLog_CanBanUsers: String { return self._s[607]! } - public var Cache_Indexing: String { return self._s[608]! } - public func ENCRYPTION_REQUEST(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[610]!, self._r[610]!, [_1]) - } - public var StickerSettings_ContextInfo: String { return self._s[611]! } - public var Channel_BanUser_PermissionEmbedLinks: String { return self._s[612]! } - public var Map_Location: String { return self._s[613]! } - public var GroupInfo_InviteLink_LinkSection: String { return self._s[614]! } - public func Passport_Identity_UploadOneOfScan(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[615]!, self._r[615]!, [_0]) - } - public var Notification_PassportValuePhone: String { return self._s[616]! } - public var TwoStepAuth_PasswordChangeSuccess: String { return self._s[617]! } - public var Privacy_Calls_AlwaysAllow_Placeholder: String { return self._s[618]! } - public var CheckoutInfo_ShippingInfoPostcode: String { return self._s[619]! } - public var Group_Setup_HistoryVisibleHelp: String { return self._s[620]! } - public func Time_PreciseDate_m7(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[622]!, self._r[622]!, [_1, _2, _3]) - } - public var PasscodeSettings_EncryptDataHelp: String { return self._s[623]! } - public var Passport_Language_ja: String { return self._s[625]! } - public var KeyCommand_FocusOnInputField: String { return self._s[626]! } - public var Channel_Members_AddAdminErrorBlacklisted: String { return self._s[627]! } - public var Cache_KeepMedia: String { return self._s[628]! } - public var SocksProxySetup_ProxyTelegram: String { return self._s[630]! } - public var WebPreview_GettingLinkInfo: String { return self._s[631]! } - public var Group_Setup_TypePublicHelp: String { return self._s[632]! } - public var Map_Satellite: String { return self._s[633]! } - public var Username_InvalidTaken: String { return self._s[634]! } - public func Notification_PinnedAudioMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[635]!, self._r[635]!, [_0]) - } - public var Notification_MessageLifetime1d: String { return self._s[636]! } - public var Profile_MessageLifetime2s: String { return self._s[637]! } - public func TwoStepAuth_RecoveryEmailUnavailable(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[638]!, self._r[638]!, [_0]) - } - public var Calls_RatingFeedback: String { return self._s[639]! } - public var Profile_EncryptionKey: String { return self._s[640]! } - public var Watch_Suggestion_WhatsUp: String { return self._s[641]! } - public var LoginPassword_PasswordPlaceholder: String { return self._s[642]! } - public var TwoStepAuth_EnterPasswordPassword: String { return self._s[643]! } - public func Time_PreciseDate_m10(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[645]!, self._r[645]!, [_1, _2, _3]) - } - public func CHANNEL_MESSAGE_CONTACT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[646]!, self._r[646]!, [_1]) - } - public var Passport_Language_bg: String { return self._s[647]! } - public var PrivacySettings_DeleteAccountHelp: String { return self._s[649]! } - public var Notifications_MessageNotificationsExceptionsHelp: String { return self._s[652]! } - public var Channel_Info_Banned: String { return self._s[653]! } - public var Conversation_ShareBotContactConfirmationTitle: String { return self._s[654]! } - public var ConversationProfile_UsersTooMuchError: String { return self._s[655]! } - public var ChatAdmins_AllMembersAreAdminsOffHelp: String { return self._s[656]! } - public var Privacy_GroupsAndChannels_WhoCanAddMe: String { return self._s[657]! } - public var Login_CodeExpiredError: String { return self._s[659]! } - public var Settings_PhoneNumber: String { return self._s[660]! } - public var FastTwoStepSetup_EmailPlaceholder: String { return self._s[661]! } - public func DialogList_MultipleTypingSuffix(_ _0: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[662]!, self._r[662]!, ["\(_0)"]) - } - public var Passport_Phone_Help: String { return self._s[663]! } - public var Passport_Language_sl: String { return self._s[664]! } - public var Bot_GenericBotStatus: String { return self._s[666]! } - public var PrivacySettings_PasscodeAndTouchId: String { return self._s[667]! } - public var Common_edit: String { return self._s[669]! } - public var Settings_AppLanguage: String { return self._s[671]! } - public var PrivacyLastSeenSettings_WhoCanSeeMyTimestamp: String { return self._s[672]! } - public func Notification_Kicked(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[676]!, self._r[676]!, [_0, _1]) - } - public var Channel_AdminLog_MessageRestrictedForever: String { return self._s[678]! } - public var Passport_DeleteDocument: String { return self._s[679]! } - public var Notifications_ExceptionsResetToDefaults: String { return self._s[681]! } - public var ChannelInfo_DeleteChannelConfirmation: String { return self._s[682]! } - public var Passport_Address_OneOfTypeBankStatement: String { return self._s[684]! } - public var Weekday_ShortSaturday: String { return self._s[685]! } - public var Settings_Passport: String { return self._s[686]! } - public var Share_AuthTitle: String { return self._s[687]! } - public var Map_SendThisLocation: String { return self._s[688]! } - public func Notification_PinnedDocumentMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[689]!, self._r[689]!, [_0]) - } - public var Passport_Identity_Surname: String { return self._s[690]! } - public var Conversation_ContextMenuReply: String { return self._s[691]! } - public var Channel_BanUser_PermissionSendMedia: String { return self._s[692]! } - public var NetworkUsageSettings_Wifi: String { return self._s[694]! } - public var Call_Accept: String { return self._s[695]! } - public var Notification_Exceptions_NewException: String { return self._s[697]! } - public var GroupInfo_SetGroupPhotoDelete: String { return self._s[698]! } - public var Login_PhoneBannedError: String { return self._s[700]! } - public var PhotoEditor_CropAuto: String { return self._s[702]! } - public var PhotoEditor_ContrastTool: String { return self._s[703]! } - public var CheckoutInfo_ReceiverInfoNamePlaceholder: String { return self._s[704]! } - public var Passport_InfoLearnMore: String { return self._s[705]! } - public var Channel_AdminLog_MessagePreviousCaption: String { return self._s[706]! } - public var Passport_Identity_DocumentDetails: String { return self._s[707]! } - public var Privacy_PaymentsClear_ShippingInfo: String { return self._s[709]! } - public func Passport_Email_UseTelegramEmail(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[710]!, self._r[710]!, [_0]) - } - public var Passport_Email_UseTelegramEmailHelp: String { return self._s[711]! } - public var UserInfo_NotificationsDefaultDisabled: String { return self._s[712]! } - public var Date_DialogDateFormat: String { return self._s[714]! } - public var Passport_Address_EditTemporaryRegistration: String { return self._s[715]! } - public var ReportPeer_ReasonSpam: String { return self._s[716]! } - public var Privacy_Calls_P2P: String { return self._s[717]! } - public var Compose_TokenListPlaceholder: String { return self._s[718]! } - public func PINNED_VIDEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[719]!, self._r[719]!, [_1]) - } - public var StickerPacksSettings_Title: String { return self._s[721]! } - public var Privacy_PaymentsClearInfoDoneHelp: String { return self._s[722]! } - public var Privacy_Calls_NeverAllow_Placeholder: String { return self._s[723]! } - public var Passport_PassportInformation: String { return self._s[724]! } - public var Passport_Identity_OneOfTypeDriversLicense: String { return self._s[725]! } - public var Settings_Support: String { return self._s[726]! } - public var Notification_GroupInviterSelf: String { return self._s[728]! } - public var TwoStepAuth_EmailAddSuccess: String { return self._s[729]! } - public func SecretImage_NotViewedYet(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[730]!, self._r[730]!, [_0]) - } - public var MaskStickerSettings_Title: String { return self._s[732]! } - public var TwoStepAuth_SetPassword: String { return self._s[735]! } - public func Passport_AcceptHelp(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[737]!, self._r[737]!, [_1, _2]) - } - public var SocksProxySetup_SavedProxies: String { return self._s[738]! } - public var GroupInfo_InviteLink_ShareLink: String { return self._s[739]! } - public var Common_Cancel: String { return self._s[740]! } - public var UserInfo_About_Placeholder: String { return self._s[742]! } - public var Passport_Identity_NativeNameGenericTitle: String { return self._s[746]! } - public var ApplyLanguage_ApplySuccess: String { return self._s[747]! } - public var Notifications_ChannelNotificationsPreview: String { return self._s[748]! } - public var Camera_Discard: String { return self._s[749]! } - public var TextFormat_Italic: String { return self._s[750]! } - public var ChangePhoneNumberCode_RequestingACall: String { return self._s[751]! } - public var PrivacyLastSeenSettings_NeverShareWith_Title: String { return self._s[752]! } - public var KeyCommand_JumpToNextChat: String { return self._s[754]! } - public func Time_MonthOfYear_m8(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[758]!, self._r[758]!, [_0]) - } - public var Tour_Text1: String { return self._s[759]! } - public var Privacy_SecretChatsTitle: String { return self._s[760]! } - public var Conversation_HoldForVideo: String { return self._s[761]! } - public var Passport_Language_pt: String { return self._s[762]! } - public var Checkout_NewCard_Title: String { return self._s[763]! } - public var Channel_TitleInfo: String { return self._s[764]! } - public var State_ConnectingToProxy: String { return self._s[765]! } - public var Settings_About_Help: String { return self._s[766]! } - public var AutoNightTheme_ScheduledFrom: String { return self._s[768]! } - public var Passport_Language_tk: String { return self._s[769]! } - public var Watch_Conversation_Reply: String { return self._s[770]! } - public var ShareMenu_CopyShareLink: String { return self._s[771]! } - public var Stickers_Search: String { return self._s[772]! } - public var Notifications_GroupNotificationsExceptions: String { return self._s[773]! } - public var Channel_Setup_TypePrivateHelp: String { return self._s[774]! } - public var PhotoEditor_GrainTool: String { return self._s[775]! } - public var Conversation_SearchByName_Placeholder: String { return self._s[776]! } - public var Watch_Suggestion_TalkLater: String { return self._s[777]! } - public var TwoStepAuth_ChangeEmail: String { return self._s[778]! } - public var Passport_Identity_EditPersonalDetails: String { return self._s[779]! } - public var Passport_FieldPhone: String { return self._s[781]! } - public func ENCRYPTION_ACCEPT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[782]!, self._r[782]!, [_1]) - } - public var NetworkUsageSettings_BytesSent: String { return self._s[783]! } - public var Conversation_ShareBotLocationConfirmationTitle: String { return self._s[784]! } - public var Conversation_ForwardContacts: String { return self._s[786]! } - public func Notification_ChangedGroupName(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[787]!, self._r[787]!, [_0, _1]) - } - public func MESSAGE_VIDEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[788]!, self._r[788]!, [_1]) - } - public func Checkout_PayPrice(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[789]!, self._r[789]!, [_0]) - } - public func Notification_PinnedTextMessage(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[790]!, self._r[790]!, [_0, _1]) - } - public var GroupInfo_InvitationLinkDoesNotExist: String { return self._s[792]! } - public var ReportPeer_ReasonOther_Placeholder: String { return self._s[793]! } - public var Wallpaper_Title: String { return self._s[795]! } - public var PasscodeSettings_AutoLock_Disabled: String { return self._s[796]! } - public var Watch_Compose_CreateMessage: String { return self._s[797]! } - public var ChatSettings_ConnectionType_UseProxy: String { return self._s[798]! } - public var Message_Audio: String { return self._s[800]! } - public var Conversation_SearchNoResults: String { return self._s[802]! } - public var PrivacyPolicy_Accept: String { return self._s[803]! } - public var ReportPeer_ReasonViolence: String { return self._s[804]! } - public var Group_Username_RemoveExistingUsernamesInfo: String { return self._s[805]! } - public var Message_InvoiceLabel: String { return self._s[806]! } - public var Channel_AdminLogFilter_Title: String { return self._s[807]! } - public var Contacts_SearchLabel: String { return self._s[808]! } - public var Group_Username_InvalidStartsWithNumber: String { return self._s[809]! } - public var ChatAdmins_AllMembersAreAdminsOnHelp: String { return self._s[811]! } - public var Month_ShortSeptember: String { return self._s[813]! } - public var Group_Username_CreatePublicLinkHelp: String { return self._s[814]! } - public var Login_CallRequestState2: String { return self._s[815]! } - public var TwoStepAuth_RecoveryUnavailable: String { return self._s[817]! } - public var Bot_Unblock: String { return self._s[818]! } - public var SharedMedia_CategoryMedia: String { return self._s[819]! } - public var Conversation_HoldForAudio: String { return self._s[820]! } - public var Conversation_ClousStorageInfo_Description1: String { return self._s[822]! } - public var Channel_Members_InviteLink: String { return self._s[823]! } - public var Core_ServiceUserStatus: String { return self._s[824]! } - public var WebSearch_RecentClearConfirmation: String { return self._s[825]! } - public var Notification_ChannelMigratedFrom: String { return self._s[826]! } - public var Settings_Title: String { return self._s[828]! } - public var Call_StatusBusy: String { return self._s[829]! } - public var ArchivedPacksAlert_Title: String { return self._s[830]! } - public var ConversationMedia_Title: String { return self._s[831]! } - public func Conversation_MessageViaUser(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[832]!, self._r[832]!, [_0]) - } - public var Notification_PassportValueAddress: String { return self._s[833]! } - public var Tour_Title4: String { return self._s[835]! } - public var Call_StatusEnded: String { return self._s[836]! } - public var Notifications_ChannelNotificationsAlert: String { return self._s[837]! } - public var LiveLocationUpdated_JustNow: String { return self._s[838]! } - public func Login_BannedPhoneSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[839]!, self._r[839]!, [_0]) - } - public var Passport_Address_EditResidentialAddress: String { return self._s[841]! } - public func Channel_Management_RestrictedBy(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[842]!, self._r[842]!, [_0]) - } - public var Conversation_UnpinMessageAlert: String { return self._s[843]! } - public var NotificationsSound_Glass: String { return self._s[844]! } - public var Passport_Address_Street1Placeholder: String { return self._s[846]! } - public func Conversation_MessageDialogRetryAll(_ _1: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[847]!, self._r[847]!, ["\(_1)"]) - } - public func Checkout_PasswordEntry_Text(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[850]!, self._r[850]!, [_0]) - } - public var Call_Message: String { return self._s[851]! } - public var Contacts_MemberSearchSectionTitleGroup: String { return self._s[852]! } - public func Conversation_BotInteractiveUrlAlert(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[853]!, self._r[853]!, [_0]) - } - public var TwoStepAuth_SetupResendEmailCodeAlert: String { return self._s[854]! } - public var GroupInfo_SharedMedia: String { return self._s[855]! } - public func Time_PreciseDate_m6(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[856]!, self._r[856]!, [_1, _2, _3]) - } - public var Channel_Username_InvalidStartsWithNumber: String { return self._s[857]! } - public var KeyCommand_JumpToPreviousChat: String { return self._s[858]! } - public var Conversation_Call: String { return self._s[859]! } - public var KeyCommand_ScrollUp: String { return self._s[860]! } - public func Privacy_GroupsAndChannels_InviteToChannelError(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[861]!, self._r[861]!, [_0, _1]) - } - public var AuthSessions_Sessions: String { return self._s[864]! } - public var Document_TargetConfirmationFormat: String { return self._s[865]! } - public var Group_Setup_TypeHeader: String { return self._s[866]! } - public func DialogList_SinglePlayingGameSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[867]!, self._r[867]!, [_0]) - } - public var AttachmentMenu_SendAsFiles: String { return self._s[868]! } - public var Profile_MessageLifetime1m: String { return self._s[870]! } - public var Passport_PasswordReset: String { return self._s[872]! } - public var Settings_AppleWatch: String { return self._s[873]! } - public var Passport_PasswordCompleteSetup: String { return self._s[875]! } - public var Notifications_ExceptionsTitle: String { return self._s[876]! } - public var Passport_Language_de: String { return self._s[877]! } - public var Channel_AdminLog_MessagePreviousDescription: String { return self._s[878]! } - public var Your_card_was_declined: String { return self._s[879]! } - public var Notifications_DisplayNamesOnLockScreen: String { return self._s[880]! } - public var PhoneNumberHelp_ChangeNumber: String { return self._s[882]! } - public var ReportPeer_ReasonPornography: String { return self._s[883]! } - public var Notification_CreatedChannel: String { return self._s[884]! } - public var PhotoEditor_Original: String { return self._s[885]! } - public var NotificationsSound_Chord: String { return self._s[886]! } - public var Target_SelectGroup: String { return self._s[887]! } - public var Stickers_SuggestAdded: String { return self._s[889]! } - public var Channel_AdminLog_InfoPanelAlertTitle: String { return self._s[890]! } - public var Notifications_GroupNotificationsPreview: String { return self._s[892]! } - public var ChatSettings_AutoDownloadPhotos: String { return self._s[893]! } - public var Message_PinnedLocationMessage: String { return self._s[895]! } - public var Appearance_PreviewReplyText: String { return self._s[896]! } - public var Passport_Address_Street2Placeholder: String { return self._s[897]! } - public var Settings_Logout: String { return self._s[898]! } - public func UserInfo_BlockConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[899]!, self._r[899]!, [_0]) - } - public var Profile_Username: String { return self._s[901]! } - public var Group_Username_InvalidTooShort: String { return self._s[902]! } - public var Appearance_AutoNightTheme: String { return self._s[903]! } - public var AuthSessions_TerminateOtherSessions: String { return self._s[906]! } - public var PasscodeSettings_TryAgainIn1Minute: String { return self._s[907]! } - public var Privacy_TopPeers: String { return self._s[908]! } - public var Passport_Phone_EnterOtherNumber: String { return self._s[909]! } - public var NotificationsSound_Hello: String { return self._s[910]! } - public var Notifications_InAppNotifications: String { return self._s[911]! } - public func Notification_PassportValuesSentMessage(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[912]!, self._r[912]!, [_1, _2]) - } - public var Passport_Language_is: String { return self._s[914]! } - public var StickerPack_ViewPack: String { return self._s[915]! } - public var EnterPasscode_ChangeTitle: String { return self._s[916]! } - public var Call_Decline: String { return self._s[917]! } - public var UserInfo_AddPhone: String { return self._s[919]! } - public var AutoNightTheme_Title: String { return self._s[920]! } - public var Activity_PlayingGame: String { return self._s[922]! } - public var CheckoutInfo_ShippingInfoStatePlaceholder: String { return self._s[923]! } - public var SaveIncomingPhotosSettings_From: String { return self._s[925]! } - public var Passport_Address_TypeBankStatementUploadScan: String { return self._s[927]! } - public var Notifications_MessageNotificationsSound: String { return self._s[928]! } - public var Call_StatusWaiting: String { return self._s[929]! } - public var Passport_Identity_MainPageHelp: String { return self._s[930]! } - public var Weekday_ShortWednesday: String { return self._s[931]! } - public var Notifications_Title: String { return self._s[932]! } - public var PasscodeSettings_AutoLock_IfAwayFor_5hours: String { return self._s[933]! } - public var Conversation_PinnedMessage: String { return self._s[935]! } - public var Notifications_ChannelNotificationsHelp: String { return self._s[936]! } - public func Time_MonthOfYear_m12(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[938]!, self._r[938]!, [_0]) - } - public var ConversationProfile_LeaveDeleteAndExit: String { return self._s[939]! } - public var State_connecting: String { return self._s[940]! } - public var Channel_AdminLog_MessagePreviousMessage: String { return self._s[941]! } - public var Passport_Scans_Upload: String { return self._s[943]! } - public var AutoDownloadSettings_PhotosTitle: String { return self._s[944]! } - public var Map_OpenInHereMaps: String { return self._s[945]! } - public var Stickers_FavoriteStickers: String { return self._s[947]! } - public var CheckoutInfo_Pay: String { return self._s[948]! } - public var Passport_Identity_FrontSideHelp: String { return self._s[949]! } - public var Update_UpdateApp: String { return self._s[950]! } - public var Login_CountryCode: String { return self._s[951]! } - public var PasscodeSettings_AutoLock_IfAwayFor_1hour: String { return self._s[952]! } - public var CheckoutInfo_ShippingInfoState: String { return self._s[953]! } - public func CHAT_MESSAGE_AUDIO(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[954]!, self._r[954]!, [_1, _2]) - } - public var Login_SmsRequestState2: String { return self._s[955]! } - public var Preview_SaveToCameraRoll: String { return self._s[956]! } - public var SocksProxySetup_ProxyStatusConnecting: String { return self._s[957]! } - public var Broadcast_AdminLog_EmptyText: String { return self._s[958]! } - public var PasscodeSettings_ChangePasscode: String { return self._s[959]! } - public var TwoStepAuth_RecoveryCodeInvalid: String { return self._s[960]! } - public func Message_PaymentSent(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[961]!, self._r[961]!, [_0]) - } - public var TwoStepAuth_RecoveryEmailChangeDescription: String { return self._s[963]! } - public var Message_PinnedAudioMessage: String { return self._s[964]! } - public var ChatSettings_ConnectionType_Title: String { return self._s[967]! } - public func Conversation_RestrictedMediaTimed(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[969]!, self._r[969]!, [_0]) - } - public var NotificationsSound_Complete: String { return self._s[970]! } - public var NotificationsSound_Chime: String { return self._s[971]! } - public var Login_InfoDeletePhoto: String { return self._s[972]! } - public var ContactInfo_BirthdayLabel: String { return self._s[975]! } - public var TwoStepAuth_RecoveryCodeExpired: String { return self._s[976]! } - public var AutoDownloadSettings_Channels: String { return self._s[977]! } - public var AutoDownloadSettings_Contacts: String { return self._s[979]! } - public var TwoStepAuth_EmailTitle: String { return self._s[980]! } - public var Passport_Email_EmailPlaceholder: String { return self._s[981]! } - public var Channel_AdminLog_ChannelEmptyText: String { return self._s[982]! } - public var Passport_Address_EditUtilityBill: String { return self._s[983]! } - public var Privacy_GroupsAndChannels_NeverAllow: String { return self._s[984]! } - public var Conversation_RestrictedStickers: String { return self._s[985]! } - public var Conversation_AddContact: String { return self._s[986]! } - public var Login_CancelPhoneVerificationContinue: String { return self._s[987]! } - public func Time_MonthOfYear_m7(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[988]!, self._r[988]!, [_0]) - } - public var PhotoEditor_QualityLow: String { return self._s[989]! } - public var Paint_Outlined: String { return self._s[990]! } - public var State_ConnectingToProxyInfo: String { return self._s[992]! } - public var Checkout_PasswordEntry_Title: String { return self._s[993]! } - public var Conversation_InputTextCaptionPlaceholder: String { return self._s[995]! } - public var Common_Done: String { return self._s[996]! } - public var Passport_Identity_FilesUploadNew: String { return self._s[997]! } - public var PrivacySettings_LastSeenContacts: String { return self._s[999]! } - public var Passport_Language_vi: String { return self._s[1000]! } - public var CheckoutInfo_ShippingInfoAddress1: String { return self._s[1001]! } - public var UserInfo_LastNamePlaceholder: String { return self._s[1002]! } - public var Conversation_StatusKickedFromChannel: String { return self._s[1004]! } - public var CheckoutInfo_ShippingInfoAddress2: String { return self._s[1005]! } - public func DialogList_SingleTypingSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1006]!, self._r[1006]!, [_0]) - } - public var LastSeen_JustNow: String { return self._s[1007]! } - public var GroupInfo_InviteLink_RevokeAlert_Text: String { return self._s[1008]! } - public var BroadcastListInfo_AddRecipient: String { return self._s[1009]! } - public func Channel_Management_ErrorNotMember(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1010]!, self._r[1010]!, [_0]) - } - public var Privacy_Calls_NeverAllow: String { return self._s[1011]! } - public var Settings_About_Title: String { return self._s[1012]! } - public var PhoneNumberHelp_Help: String { return self._s[1013]! } - public var Channel_LinkItem: String { return self._s[1015]! } - public var ChatList_Read: String { return self._s[1016]! } - public var Camera_Retake: String { return self._s[1017]! } - public var StickerPack_ShowStickers: String { return self._s[1018]! } - public var Conversation_RestrictedText: String { return self._s[1019]! } - public var Channel_Stickers_YourStickers: String { return self._s[1020]! } - public func CHAT_CREATED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1024]!, self._r[1024]!, [_1, _2]) - } - public var LastSeen_WithinAMonth: String { return self._s[1025]! } - public func PrivacySettings_LastSeenContactsPlus(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1026]!, self._r[1026]!, [_0]) - } - public var ApplyLanguage_UnsufficientDataTitle: String { return self._s[1027]! } - public var ChangePhoneNumberNumber_NewNumber: String { return self._s[1029]! } - public var Compose_NewChannel: String { return self._s[1030]! } - public var NotificationsSound_Circles: String { return self._s[1031]! } - public var Login_TermsOfServiceAgree: String { return self._s[1033]! } - public var Channel_AdminLog_CanChangeInviteLink: String { return self._s[1034]! } - public func Passport_RequestHeader(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1035]!, self._r[1035]!, [_0]) - } - public func Call_CallInProgressMessage(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1036]!, self._r[1036]!, [_1, _2]) - } - public var Conversation_InputTextBroadcastPlaceholder: String { return self._s[1038]! } - public func ShareFileTip_Text(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1040]!, self._r[1040]!, [_0]) - } - public func CancelResetAccount_TextSMS(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1041]!, self._r[1041]!, [_0]) - } - public var Channel_EditAdmin_PermissionInviteUsers: String { return self._s[1042]! } - public var Privacy_Calls_P2PNever: String { return self._s[1043]! } - public var GroupInfo_DeleteAndExit: String { return self._s[1044]! } - public var GroupInfo_InviteLink_CopyLink: String { return self._s[1045]! } - public var Weekday_Friday: String { return self._s[1047]! } - public var Login_ResetAccountProtected_Title: String { return self._s[1048]! } - public var Settings_SetProfilePhoto: String { return self._s[1049]! } - public var Compose_ChannelTokenListPlaceholder: String { return self._s[1050]! } - public var Channel_EditAdmin_PermissionPinMessages: String { return self._s[1051]! } - public var Your_card_has_expired: String { return self._s[1052]! } - public func CHAT_MESSAGE_INVOICE(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1055]!, self._r[1055]!, [_1, _2, _3]) - } - public var ChannelInfo_ConfirmLeave: String { return self._s[1056]! } - public var ShareMenu_CopyShareLinkGame: String { return self._s[1057]! } - public var ReportPeer_ReasonOther: String { return self._s[1059]! } - public func Username_UsernameIsAvailable(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1060]!, self._r[1060]!, [_0]) - } - public var KeyCommand_JumpToNextUnreadChat: String { return self._s[1062]! } - public var InfoPlist_NSContactsUsageDescription: String { return self._s[1063]! } - public func SocksProxySetup_ProxyStatusPing(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1065]!, self._r[1065]!, [_0]) - } - public func Date_ChatDateHeader(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1066]!, self._r[1066]!, [_1, _2]) - } - public var Conversation_EncryptedDescriptionTitle: String { return self._s[1068]! } - public var DialogList_Pin: String { return self._s[1069]! } - public func Notification_RemovedGroupPhoto(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1070]!, self._r[1070]!, [_0]) - } - public var Channel_ErrorAddTooMuch: String { return self._s[1071]! } - public var GroupInfo_SharedMediaNone: String { return self._s[1072]! } - public var ChatSettings_TextSizeUnits: String { return self._s[1073]! } - public var ChatSettings_AutoPlayAnimations: String { return self._s[1074]! } - public var Conversation_FileOpenIn: String { return self._s[1075]! } - public var Channel_Setup_TypePublic: String { return self._s[1076]! } - public func ChangePhone_ErrorOccupied(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1077]!, self._r[1077]!, [_0]) - } - public var ContactInfo_PhoneLabelMain: String { return self._s[1078]! } - public var Clipboard_SendPhoto: String { return self._s[1079]! } - public var Privacy_GroupsAndChannels_CustomShareHelp: String { return self._s[1080]! } - public var KeyCommand_ChatInfo: String { return self._s[1081]! } - public var Channel_AdminLog_EmptyFilterTitle: String { return self._s[1082]! } - public var PhotoEditor_HighlightsTint: String { return self._s[1083]! } - public var Passport_Address_Region: String { return self._s[1085]! } - public var Watch_Compose_AddContact: String { return self._s[1086]! } - public func Time_PreciseDate_m5(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1087]!, self._r[1087]!, [_1, _2, _3]) + public var AccessDenied_LocationDenied: String { return self._s[67]! } + public var CallSettings_RecentCalls: String { return self._s[68]! } + public var ConversationProfile_LeaveDeleteAndExit: String { return self._s[69]! } + public var Channel_Members_AddAdminErrorBlacklisted: String { return self._s[70]! } + public var Passport_Authorize: String { return self._s[71]! } + public var StickerPacksSettings_ArchivedMasks_Info: String { return self._s[72]! } + public var TwoStepAuth_ReEnterPasswordTitle: String { return self._s[73]! } + public var Tour_StartButton: String { return self._s[74]! } + public var Watch_AppName: String { return self._s[76]! } + public var StickerPack_ErrorNotFound: String { return self._s[77]! } + public var Channel_Info_Subscribers: String { return self._s[78]! } + public func Channel_AdminLog_MessageGroupPreHistoryVisible(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[79]!, self._r[79]!, [_0]) + } + public func DialogList_PinLimitError(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[80]!, self._r[80]!, [_0]) + } + public var Permissions_ContactsTitle: String { return self._s[82]! } + public var Conversation_StopLiveLocation: String { return self._s[83]! } + public var Channel_AdminLogFilter_EventsAll: String { return self._s[84]! } + public var GroupInfo_InviteLink_CopyAlert_Success: String { return self._s[86]! } + public var Username_LinkCopied: String { return self._s[88]! } + public var SecretVideo_Title: String { return self._s[89]! } + public var AccessDenied_PhotosAndVideos: String { return self._s[90]! } + public var Map_OpenInGoogleMaps: String { return self._s[91]! } + public func Time_PreciseDate_m12(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[92]!, self._r[92]!, [_1, _2, _3]) } public func Channel_AdminLog_MessageKickedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1088]!, self._r[1088]!, [_1, _2]) + return formatWithArgumentRanges(self._s[93]!, self._r[93]!, [_1, _2]) } - public func Login_WillSendSms(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1089]!, self._r[1089]!, [_0]) - } - public var Coub_TapForSound: String { return self._s[1090]! } - public func AuthCode_Alert(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1092]!, self._r[1092]!, [_0]) - } - public var Compose_NewEncryptedChat: String { return self._s[1094]! } - public var PhotoEditor_CropReset: String { return self._s[1095]! } - public var Privacy_Calls_P2PAlways: String { return self._s[1097]! } - public var Passport_Address_TypeTemporaryRegistrationUploadScan: String { return self._s[1098]! } - public var Login_InvalidLastNameError: String { return self._s[1099]! } - public var Channel_Members_AddMembers: String { return self._s[1100]! } - public var Tour_Title2: String { return self._s[1101]! } - public var Login_TermsOfServiceHeader: String { return self._s[1103]! } - public var Channel_AdminLog_BanSendGifs: String { return self._s[1104]! } - public var Login_TermsOfServiceSignupDecline: String { return self._s[1106]! } - public var InfoPlist_NSMicrophoneUsageDescription: String { return self._s[1107]! } - public var AuthSessions_OtherSessions: String { return self._s[1108]! } - public var Watch_UserInfo_Title: String { return self._s[1109]! } - public var InstantPage_FeedbackButton: String { return self._s[1110]! } - public func Generic_OpenHiddenLinkAlert(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1111]!, self._r[1111]!, [_0]) - } - public var Conversation_Contact: String { return self._s[1112]! } - public var NetworkUsageSettings_GeneralDataSection: String { return self._s[1113]! } - public var EnterPasscode_RepeatNewPasscode: String { return self._s[1116]! } - public var Conversation_ContextMenuCopyLink: String { return self._s[1117]! } - public var Passport_Language_sk: String { return self._s[1118]! } - public var InstantPage_AutoNightTheme: String { return self._s[1119]! } - public var CloudStorage_Title: String { return self._s[1120]! } - public var Month_ShortOctober: String { return self._s[1121]! } - public var Settings_FAQ: String { return self._s[1123]! } - public var PrivacySettings_LastSeen: String { return self._s[1124]! } - public var DialogList_SearchSectionRecent: String { return self._s[1125]! } - public var ChatSettings_AutomaticVideoMessageDownload: String { return self._s[1126]! } - public var Conversation_ContextMenuDelete: String { return self._s[1127]! } - public var Tour_Text6: String { return self._s[1128]! } - public var PhotoEditor_WarmthTool: String { return self._s[1129]! } - public var Passport_Address_TypePassportRegistrationUploadScan: String { return self._s[1131]! } - public var Common_TakePhoto: String { return self._s[1132]! } - public var SocksProxySetup_AdNoticeHelp: String { return self._s[1133]! } - public var UserInfo_CreateNewContact: String { return self._s[1135]! } - public var NetworkUsageSettings_MediaDocumentDataSection: String { return self._s[1136]! } - public var Login_CodeSentCall: String { return self._s[1137]! } - public var Watch_PhotoView_Title: String { return self._s[1138]! } - public func PrivacySettings_LastSeenContactsMinus(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1139]!, self._r[1139]!, [_0]) - } - public var ShareMenu_SelectChats: String { return self._s[1141]! } - public var Group_ErrorSendRestrictedMedia: String { return self._s[1142]! } - public var Group_Setup_HistoryVisible: String { return self._s[1143]! } - public var Channel_EditAdmin_PermissinAddAdminOff: String { return self._s[1144]! } - public var DialogList_ProxyConnectionIssuesTooltip: String { return self._s[1146]! } - public var Cache_Files: String { return self._s[1147]! } - public var PhotoEditor_EnhanceTool: String { return self._s[1149]! } - public var Conversation_SearchPlaceholder: String { return self._s[1150]! } - public var Channel_Stickers_NotFound: String { return self._s[1151]! } - public var UserInfo_NotificationsDefaultEnabled: String { return self._s[1155]! } - public var Login_CodeExpired: String { return self._s[1156]! } - public var WatchRemote_AlertText: String { return self._s[1157]! } - public var Channel_AdminLog_CanInviteUsers: String { return self._s[1159]! } - public var Channel_BanUser_PermissionReadMessages: String { return self._s[1161]! } - public var AttachmentMenu_PhotoOrVideo: String { return self._s[1162]! } - public var Passport_Identity_GenderPlaceholder: String { return self._s[1163]! } - public var Month_ShortMarch: String { return self._s[1164]! } - public var GroupInfo_InviteLink_Title: String { return self._s[1165]! } - public var Watch_LastSeen_JustNow: String { return self._s[1166]! } - public var PhoneLabel_Title: String { return self._s[1167]! } - public var PrivacySettings_Passcode: String { return self._s[1169]! } - public var Paint_ClearConfirm: String { return self._s[1171]! } - public var SocksProxySetup_Secret: String { return self._s[1172]! } - public func Checkout_SavePasswordTimeout(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1173]!, self._r[1173]!, [_0]) - } - public var PhotoEditor_BlurToolOff: String { return self._s[1174]! } - public var AccessDenied_VideoMicrophone: String { return self._s[1175]! } - public var Weekday_ShortThursday: String { return self._s[1176]! } - public var UserInfo_ShareContact: String { return self._s[1177]! } - public var LoginPassword_InvalidPasswordError: String { return self._s[1178]! } - public var NotificationsSound_Calypso: String { return self._s[1180]! } - public func MESSAGE_PHOTO_SECRET(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1181]!, self._r[1181]!, [_1]) - } - public var Login_PhoneAndCountryHelp: String { return self._s[1182]! } - public var CheckoutInfo_ReceiverInfoName: String { return self._s[1183]! } - public var NotificationsSound_Popcorn: String { return self._s[1185]! } - public func Time_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1186]!, self._r[1186]!, [_0]) - } - public var Weekday_Yesterday: String { return self._s[1187]! } - public var Conversation_InputTextSilentBroadcastPlaceholder: String { return self._s[1188]! } - public var Embed_PlayingInPIP: String { return self._s[1189]! } - public var Localization_EnglishLanguageName: String { return self._s[1190]! } - public var Call_StatusIncoming: String { return self._s[1191]! } - public var Settings_Appearance: String { return self._s[1192]! } - public func ApplyLanguage_ChangeLanguageAlreadyActive(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1194]!, self._r[1194]!, [_1]) - } - public var Settings_PrivacySettings: String { return self._s[1195]! } - public var Conversation_SilentBroadcastTooltipOn: String { return self._s[1196]! } - public func SecretVideo_NotViewedYet(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1197]!, self._r[1197]!, [_0]) - } - public func CHAT_MESSAGE_GEO(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1198]!, self._r[1198]!, [_1, _2]) - } - public var DialogList_SearchLabel: String { return self._s[1200]! } - public var InfoPlist_NSLocationAlwaysAndWhenInUseUsageDescription: String { return self._s[1201]! } - public var Login_CodeSentInternal: String { return self._s[1202]! } - public var Channel_AdminLog_BanSendMessages: String { return self._s[1204]! } - public var Channel_MessagePhotoRemoved: String { return self._s[1205]! } - public var Conversation_StatusKickedFromGroup: String { return self._s[1206]! } - public var GroupInfo_ChatAdmins: String { return self._s[1207]! } - public var PhotoEditor_CurvesAll: String { return self._s[1208]! } - public func Notification_LeftChannel(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1209]!, self._r[1209]!, [_0]) - } - public var Compose_Create: String { return self._s[1210]! } - public func Passport_Identity_NativeNameGenericHelp(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1211]!, self._r[1211]!, [_0]) - } - public func LOCKED_MESSAGE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1212]!, self._r[1212]!, [_1]) - } - public var Conversation_ClearPrivateHistory: String { return self._s[1213]! } - public var Conversation_ContextMenuShare: String { return self._s[1214]! } - public var Notifications_ExceptionsNone: String { return self._s[1215]! } - public func Time_MonthOfYear_m6(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1216]!, self._r[1216]!, [_0]) - } - public var Conversation_ContextMenuReport: String { return self._s[1217]! } - public func Call_GroupFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1219]!, self._r[1219]!, [_1, _2]) - } - public var Forward_ChannelReadOnly: String { return self._s[1220]! } - public var Passport_InfoText: String { return self._s[1222]! } - public var Privacy_GroupsAndChannels_NeverAllow_Title: String { return self._s[1223]! } - public func Passport_Address_UploadOneOfScan(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1224]!, self._r[1224]!, [_0]) - } - public var AutoDownloadSettings_Reset: String { return self._s[1225]! } - public var NotificationsSound_Synth: String { return self._s[1226]! } - public var TextFormat_Bold: String { return self._s[1227]! } - public func Channel_AdminLog_MessageInvitedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1228]!, self._r[1228]!, [_1]) - } - public var Conversation_Moderate_Ban: String { return self._s[1231]! } - public var Group_Status: String { return self._s[1233]! } - public var SocksProxySetup_ShareProxyList: String { return self._s[1236]! } - public var Passport_Phone_Delete: String { return self._s[1237]! } - public var Conversation_InputTextPlaceholder: String { return self._s[1238]! } - public var ContactInfo_PhoneLabelOther: String { return self._s[1239]! } - public var Passport_Language_lv: String { return self._s[1241]! } - public var TwoStepAuth_RecoveryCode: String { return self._s[1242]! } - public var Conversation_EditingMessageMediaEditCurrentPhoto: String { return self._s[1243]! } - public var Passport_DeleteDocumentConfirmation: String { return self._s[1244]! } - public var Passport_Language_hy: String { return self._s[1245]! } - public var SharedMedia_CategoryDocs: String { return self._s[1248]! } - public var Channel_AdminLog_CanChangeInfo: String { return self._s[1250]! } - public var Channel_AdminLogFilter_EventsAdmins: String { return self._s[1251]! } - public var Group_Setup_HistoryHiddenHelp: String { return self._s[1252]! } - public func AuthSessions_AppUnofficial(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1253]!, self._r[1253]!, [_0]) - } - public var NotificationsSound_Telegraph: String { return self._s[1254]! } - public var AutoNightTheme_Disabled: String { return self._s[1255]! } - public var Conversation_ContextMenuBan: String { return self._s[1256]! } - public var Channel_EditAdmin_PermissionsHeader: String { return self._s[1257]! } - public var SocksProxySetup_PortPlaceholder: String { return self._s[1258]! } - public func DialogList_SingleUploadingVideoSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1260]!, self._r[1260]!, [_0]) - } - public var Group_UpgradeNoticeHeader: String { return self._s[1261]! } - public func CHAT_DELETE_YOU(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1262]!, self._r[1262]!, [_1, _2]) - } - public func MESSAGE_NOTEXT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1263]!, self._r[1263]!, [_1]) - } - public func ApplyLanguage_ChangeLanguageUnofficialText(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1264]!, self._r[1264]!, [_1, _2]) - } - public func CHAT_MESSAGE_GIF(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1266]!, self._r[1266]!, [_1, _2]) - } - public var GroupInfo_InviteLink_CopyAlert_Success: String { return self._s[1267]! } - public var Channel_Info_Members: String { return self._s[1268]! } - public var ShareFileTip_CloseTip: String { return self._s[1269]! } - public var KeyCommand_Find: String { return self._s[1270]! } - public var SecretVideo_Title: String { return self._s[1271]! } - public var Passport_DeleteAddressConfirmation: String { return self._s[1272]! } - public var Passport_DiscardMessageAction: String { return self._s[1273]! } - public var Passport_Language_dv: String { return self._s[1274]! } - public var Checkout_NewCard_PostcodeTitle: String { return self._s[1275]! } - public var Notifications_Badge_CountUnreadMessages_InfoOn: String { return self._s[1277]! } - public func Channel_AdminLog_MessageRestricted(_ _0: String, _ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1278]!, self._r[1278]!, [_0, _1, _2]) - } - public var SocksProxySetup_SecretPlaceholder: String { return self._s[1279]! } - public var Channel_EditAdmin_PermissinAddAdminOn: String { return self._s[1280]! } - public var WebSearch_GIFs: String { return self._s[1281]! } - public var Privacy_ChatsTitle: String { return self._s[1282]! } - public var Conversation_SavedMessages: String { return self._s[1283]! } - public var TwoStepAuth_EnterPasswordTitle: String { return self._s[1284]! } - public func CHANNEL_MESSAGE_GAME(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1285]!, self._r[1285]!, [_1, _2]) - } - public var Channel_Subscribers_Title: String { return self._s[1286]! } - public var AccessDenied_CallMicrophone: String { return self._s[1287]! } - public var Conversation_DeleteMessagesForEveryone: String { return self._s[1288]! } - public var AuthSessions_Terminate: String { return self._s[1289]! } - public var UserInfo_TapToCall: String { return self._s[1290]! } - public var Common_Edit: String { return self._s[1291]! } - public var TwoStepAuth_AddHintDescription: String { return self._s[1293]! } - public var Conversation_OpenFile: String { return self._s[1294]! } - public var PrivacyPolicy_Decline: String { return self._s[1296]! } - public var Passport_Identity_ResidenceCountryPlaceholder: String { return self._s[1297]! } - public var Message_PinnedDocumentMessage: String { return self._s[1298]! } - public var AuthSessions_LogOut: String { return self._s[1300]! } - public var Settings_AppLanguage_Unofficial: String { return self._s[1302]! } - public var AutoDownloadSettings_PrivateChats: String { return self._s[1303]! } - public var Checkout_TotalPaidAmount: String { return self._s[1304]! } - public var Conversation_UnsupportedMedia: String { return self._s[1305]! } - public var Passport_InvalidPasswordError: String { return self._s[1306]! } - public func Message_ForwardedMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1308]!, self._r[1308]!, [_0]) - } - public func Time_PreciseDate_m4(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1309]!, self._r[1309]!, [_1, _2, _3]) - } - public var Checkout_NewCard_SaveInfoEnableHelp: String { return self._s[1310]! } - public var Call_AudioRouteHide: String { return self._s[1311]! } - public var CallSettings_OnMobile: String { return self._s[1313]! } - public var Conversation_GifTooltip: String { return self._s[1314]! } - public var Passport_Address_EditBankStatement: String { return self._s[1315]! } - public var CheckoutInfo_ErrorCityInvalid: String { return self._s[1317]! } - public func CHANNEL_MESSAGE_PHOTOS(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1318]!, self._r[1318]!, [_1, _2]) - } - public var Profile_CreateEncryptedChatError: String { return self._s[1319]! } - public var Map_LocationTitle: String { return self._s[1320]! } - public var Call_RateCall: String { return self._s[1321]! } - public var Login_CancelPhoneVerificationStop: String { return self._s[1322]! } - public var Passport_Address_City: String { return self._s[1323]! } - public var SocksProxySetup_PasswordPlaceholder: String { return self._s[1324]! } - public var Message_ReplyActionButtonShowReceipt: String { return self._s[1326]! } - public var PhotoEditor_ShadowsTool: String { return self._s[1327]! } - public var Checkout_NewCard_CardholderNamePlaceholder: String { return self._s[1329]! } - public var Cache_Title: String { return self._s[1331]! } - public var Passport_Email_Title: String { return self._s[1332]! } - public var Month_GenMay: String { return self._s[1333]! } - public var PasscodeSettings_HelpBottom: String { return self._s[1334]! } - public func Notification_CreatedChat(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1335]!, self._r[1335]!, [_0]) - } - public var Calls_NoMissedCallsPlacehoder: String { return self._s[1336]! } - public var Passport_Address_RegionPlaceholder: String { return self._s[1337]! } - public var Channel_Stickers_NotFoundHelp: String { return self._s[1338]! } - public var Watch_UserInfo_Block: String { return self._s[1339]! } - public var Watch_LastSeen_ALongTimeAgo: String { return self._s[1340]! } - public var StickerPacksSettings_ManagingHelp: String { return self._s[1341]! } - public var Privacy_GroupsAndChannels_InviteToChannelMultipleError: String { return self._s[1342]! } - public var SearchImages_Title: String { return self._s[1343]! } - public var Channel_BlackList_Title: String { return self._s[1344]! } - public func Conversation_LiveLocationYouAnd(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1346]!, self._r[1346]!, [_0]) - } - public var TwoStepAuth_PasswordRemovePassportConfirmation: String { return self._s[1347]! } - public var Checkout_NewCard_SaveInfo: String { return self._s[1348]! } - public var Notification_CallMissed: String { return self._s[1349]! } - public var Profile_ShareContactButton: String { return self._s[1350]! } - public var Group_ErrorSendRestrictedStickers: String { return self._s[1351]! } - public var Bot_GroupStatusDoesNotReadHistory: String { return self._s[1352]! } - public var Notification_Mute1h: String { return self._s[1353]! } - public func Channel_AdminLog_MessageUnkickedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1354]!, self._r[1354]!, [_1]) - } - public var Passport_Identity_ExpiryDatePlaceholder: String { return self._s[1356]! } - public var NetworkUsageSettings_MediaAudioDataSection: String { return self._s[1357]! } - public var GroupInfo_DeactivatedStatus: String { return self._s[1358]! } - public func CHAT_PHOTO_EDITED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1359]!, self._r[1359]!, [_1, _2]) - } - public var Conversation_ContextMenuMore: String { return self._s[1360]! } - public func PrivacySettings_LastSeenEverybodyMinus(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1361]!, self._r[1361]!, [_0]) - } - public var Map_ShareLiveLocation: String { return self._s[1362]! } - public var Weekday_Today: String { return self._s[1363]! } - public func PINNED_GEOLIVE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1364]!, self._r[1364]!, [_1]) - } - public func Conversation_RestrictedStickersTimed(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1365]!, self._r[1365]!, [_0]) - } - public var Login_InvalidFirstNameError: String { return self._s[1366]! } - public func Channel_AdminLog_MessageUnkickedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1367]!, self._r[1367]!, [_1, _2]) - } - public func Notification_Joined(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1368]!, self._r[1368]!, [_0]) - } - public func ApplyLanguage_UnsufficientDataText(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1369]!, self._r[1369]!, [_1]) - } - public var Paint_Clear: String { return self._s[1370]! } - public var TwoStepAuth_RecoveryFailed: String { return self._s[1372]! } - public func MESSAGE_AUDIO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1373]!, self._r[1373]!, [_1]) - } - public var Checkout_PasswordEntry_Pay: String { return self._s[1374]! } - public var Conversation_EditingMessagePanelMedia: String { return self._s[1375]! } - public var Notifications_MessageNotificationsHelp: String { return self._s[1376]! } - public var EnterPasscode_EnterCurrentPasscode: String { return self._s[1377]! } - public var Conversation_EditingMessageMediaEditCurrentVideo: String { return self._s[1378]! } - public func MESSAGE_GAME(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1379]!, self._r[1379]!, [_1, _2]) - } - public var Conversation_Moderate_Report: String { return self._s[1380]! } - public var MessageTimer_Forever: String { return self._s[1381]! } - public var DialogList_SavedMessagesHelp: String { return self._s[1382]! } - public func Conversation_EncryptedPlaceholderTitleIncoming(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1383]!, self._r[1383]!, [_0]) - } - public func Map_AccurateTo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1385]!, self._r[1385]!, [_0]) - } - public func Call_ParticipantVersionOutdatedError(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1386]!, self._r[1386]!, [_0]) - } - public var Passport_Identity_ReverseSideHelp: String { return self._s[1387]! } - public var Tour_Text2: String { return self._s[1388]! } - public var Call_StatusNoAnswer: String { return self._s[1390]! } - public func Passport_Phone_UseTelegramNumber(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1391]!, self._r[1391]!, [_0]) - } - public var Channel_AdminLogFilter_EventsLeavingSubscribers: String { return self._s[1392]! } - public var Conversation_MessageDialogDelete: String { return self._s[1395]! } - public var Appearance_PreviewOutgoingText: String { return self._s[1396]! } - public var Login_CheckOtherSessionMessages: String { return self._s[1397]! } - public var Username_Placeholder: String { return self._s[1398]! } - public func Notification_PinnedDeletedMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1399]!, self._r[1399]!, [_0]) - } - public func Time_MonthOfYear_m11(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1400]!, self._r[1400]!, [_0]) - } - public var TwoStepAuth_ReEnterPasswordTitle: String { return self._s[1401]! } - public var UserInfo_BotHelp: String { return self._s[1402]! } - public var TwoStepAuth_PasswordSet: String { return self._s[1403]! } - public func CHANNEL_MESSAGE_VIDEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1404]!, self._r[1404]!, [_1]) - } - public var EnterPasscode_TouchId: String { return self._s[1405]! } - public var AuthSessions_LoggedInWithTelegram: String { return self._s[1406]! } - public var Checkout_ErrorInvoiceAlreadyPaid: String { return self._s[1409]! } - public var ChatAdmins_Title: String { return self._s[1410]! } - public var ChannelMembers_WhoCanAddMembers: String { return self._s[1411]! } - public var Passport_Language_ar: String { return self._s[1412]! } - public var PasscodeSettings_Help: String { return self._s[1413]! } - public var Conversation_EditingMessagePanelTitle: String { return self._s[1414]! } - public var Settings_AboutEmpty: String { return self._s[1415]! } - public func NetworkUsageSettings_CellularUsageSince(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1416]!, self._r[1416]!, [_0]) - } - public var GroupInfo_ConvertToSupergroup: String { return self._s[1417]! } - public func Notification_PinnedContactMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1418]!, self._r[1418]!, [_0]) - } - public var CallSettings_UseLessDataLongDescription: String { return self._s[1419]! } - public var FastTwoStepSetup_PasswordPlaceholder: String { return self._s[1420]! } - public var Conversation_SecretChatContextBotAlert: String { return self._s[1421]! } - public var Channel_Moderator_AccessLevelRevoke: String { return self._s[1422]! } - public var CheckoutInfo_ReceiverInfoTitle: String { return self._s[1423]! } - public var Channel_AdminLogFilter_EventsRestrictions: String { return self._s[1424]! } - public var GroupInfo_InviteLink_RevokeLink: String { return self._s[1426]! } - public var Checkout_PaymentMethod_Title: String { return self._s[1427]! } - public var Conversation_Unmute: String { return self._s[1428]! } - public var AutoDownloadSettings_DocumentsTitle: String { return self._s[1429]! } - public var Passport_FieldOneOf_FinalDelimeter: String { return self._s[1431]! } - public var Notifications_MessageNotifications: String { return self._s[1432]! } - public var Passport_ForgottenPassword: String { return self._s[1434]! } - public var ChannelMembers_WhoCanAddMembersAdminsHelp: String { return self._s[1435]! } - public var DialogList_DeleteBotConversationConfirmation: String { return self._s[1436]! } - public var Passport_Identity_TranslationHelp: String { return self._s[1437]! } - public func Update_AppVersion(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1438]!, self._r[1438]!, [_0]) - } - public func DialogList_MultipleTyping(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1439]!, self._r[1439]!, [_0, _1]) - } - public var Passport_Identity_OneOfTypeIdentityCard: String { return self._s[1440]! } - public var Conversation_ClousStorageInfo_Description2: String { return self._s[1441]! } - public func Time_MonthOfYear_m5(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1442]!, self._r[1442]!, [_0]) - } - public var Map_Hybrid: String { return self._s[1443]! } - public var Channel_Setup_Title: String { return self._s[1444]! } - public var MediaPicker_TimerTooltip: String { return self._s[1445]! } - public var Activity_UploadingVideo: String { return self._s[1446]! } - public var Channel_Info_Management: String { return self._s[1447]! } - public func Login_TermsOfService_ProceedBot(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1448]!, self._r[1448]!, [_0]) - } - public var TwoStepAuth_ConfirmEmailCodePlaceholder: String { return self._s[1449]! } - public func Notification_MessageLifetimeChangedOutgoing(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1450]!, self._r[1450]!, [_1]) - } - public var PhotoEditor_QualityVeryLow: String { return self._s[1451]! } - public var Stickers_AddToFavorites: String { return self._s[1452]! } - public var Month_ShortFebruary: String { return self._s[1453]! } - public var Notifications_AddExceptionTitle: String { return self._s[1454]! } - public var Conversation_ForwardTitle: String { return self._s[1455]! } - public var Settings_FAQ_URL: String { return self._s[1456]! } - public var Activity_RecordingVideoMessage: String { return self._s[1457]! } - public var SharedMedia_EmptyFilesText: String { return self._s[1458]! } - public func Contacts_AccessDeniedHelpLandscape(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1459]!, self._r[1459]!, [_0]) - } - public var PasscodeSettings_UnlockWithTouchId: String { return self._s[1460]! } - public var Contacts_AccessDeniedHelpON: String { return self._s[1461]! } - public var Passport_Identity_AddInternalPassport: String { return self._s[1462]! } - public var NetworkUsageSettings_ResetStats: String { return self._s[1463]! } - public var Share_AuthDescription: String { return self._s[1464]! } - public func CHAT_MESSAGE_PHOTOS(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1465]!, self._r[1465]!, [_1, _2, _3]) - } - public func PrivacySettings_LastSeenContactsMinusPlus(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1466]!, self._r[1466]!, [_0, _1]) - } - public var Channel_AdminLog_EmptyMessageText: String { return self._s[1467]! } - public func Notification_ChannelInviter(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1468]!, self._r[1468]!, [_0]) - } - public var SocksProxySetup_TypeSocks: String { return self._s[1469]! } - public var Profile_MessageLifetimeForever: String { return self._s[1470]! } - public var MediaPicker_UngroupDescription: String { return self._s[1471]! } - public func Checkout_SavePasswordTimeoutAndFaceId(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1472]!, self._r[1472]!, [_0]) - } - public var SocksProxySetup_Username: String { return self._s[1473]! } - public var Conversation_Edit: String { return self._s[1474]! } - public var TwoStepAuth_ResetAccountHelp: String { return self._s[1475]! } - public var Month_GenDecember: String { return self._s[1476]! } - public func Watch_LastSeen_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1478]!, self._r[1478]!, [_0]) - } - public var Channel_ErrorAddBlocked: String { return self._s[1479]! } - public var Conversation_Unpin: String { return self._s[1480]! } - public var Call_RecordingDisabledMessage: String { return self._s[1482]! } - public var Passport_Address_TypeUtilityBill: String { return self._s[1483]! } - public var Conversation_UnblockUser: String { return self._s[1484]! } - public var Conversation_Unblock: String { return self._s[1485]! } - public func CHANNEL_MESSAGE_GIF(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1486]!, self._r[1486]!, [_1]) - } - public var Channel_AdminLogFilter_EventsEditedMessages: String { return self._s[1489]! } - public var AutoNightTheme_ScheduleSection: String { return self._s[1490]! } - public var Appearance_ThemeNightBlue: String { return self._s[1491]! } - public func Passport_Scans_ScanIndex(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1492]!, self._r[1492]!, [_0]) - } - public var Channel_Username_InvalidTooShort: String { return self._s[1493]! } - public var Conversation_ViewGroup: String { return self._s[1494]! } - public var Watch_LastSeen_WithinAWeek: String { return self._s[1495]! } - public var BlockedUsers_SelectUserTitle: String { return self._s[1496]! } - public var Profile_MessageLifetime1w: String { return self._s[1497]! } - public var Passport_Address_TypeRentalAgreementUploadScan: String { return self._s[1500]! } - public var DialogList_TabTitle: String { return self._s[1501]! } - public var UserInfo_GenericPhoneLabel: String { return self._s[1502]! } - public func Channel_AdminLog_MessagePromotedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1503]!, self._r[1503]!, [_1]) - } - public var Group_Members_AddMemberBotErrorNotAllowed: String { return self._s[1504]! } - public func Username_LinkHint(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1505]!, self._r[1505]!, [_0]) - } - public var Map_StopLiveLocation: String { return self._s[1506]! } - public var Message_LiveLocation: String { return self._s[1507]! } - public var NetworkUsageSettings_Title: String { return self._s[1509]! } - public var CheckoutInfo_ShippingInfoPostcodePlaceholder: String { return self._s[1510]! } - public var InfoPlist_NSPhotoLibraryUsageDescription: String { return self._s[1511]! } - public var Wallpaper_Wallpaper: String { return self._s[1512]! } - public var GroupInfo_InviteLink_RevokeAlert_Revoke: String { return self._s[1513]! } - public var SharedMedia_TitleLink: String { return self._s[1515]! } - public func Channel_AdminLog_MessageRestrictedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1517]!, self._r[1517]!, [_1]) - } - public func Channel_AdminLog_MessageGroupPreHistoryHidden(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1518]!, self._r[1518]!, [_0]) - } - public var Channel_JoinChannel: String { return self._s[1519]! } - public var StickerPack_Add: String { return self._s[1520]! } - public var Group_ErrorNotMutualContact: String { return self._s[1522]! } - public var AccessDenied_LocationDisabled: String { return self._s[1525]! } - public var Login_UnknownError: String { return self._s[1526]! } - public var Presence_online: String { return self._s[1527]! } - public var DialogList_Title: String { return self._s[1529]! } - public var Stickers_Install: String { return self._s[1532]! } - public var SearchImages_NoImagesFound: String { return self._s[1535]! } - public func Watch_Time_ShortTodayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1537]!, self._r[1537]!, [_0]) - } - public var Channel_AdminLogFilter_EventsNewSubscribers: String { return self._s[1538]! } - public var Passport_Identity_ExpiryDate: String { return self._s[1539]! } - public var UserInfo_GroupsInCommon: String { return self._s[1540]! } - public var Message_PinnedContactMessage: String { return self._s[1541]! } - public var AccessDenied_CameraDisabled: String { return self._s[1542]! } - public func Time_PreciseDate_m3(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1543]!, self._r[1543]!, [_1, _2, _3]) - } - public var Passport_Email_EnterOtherEmail: String { return self._s[1544]! } - public func LiveLocationUpdated_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1545]!, self._r[1545]!, [_0]) - } - public var NotificationsSound_Note: String { return self._s[1547]! } - public var Passport_Identity_MiddleNamePlaceholder: String { return self._s[1549]! } - public var PrivacyPolicy_Title: String { return self._s[1552]! } - public var Month_GenMarch: String { return self._s[1553]! } - public var Watch_UserInfo_Unmute: String { return self._s[1554]! } - public var CheckoutInfo_ErrorPostcodeInvalid: String { return self._s[1555]! } - public var Common_Delete: String { return self._s[1556]! } - public var Username_Title: String { return self._s[1557]! } - public var Login_PhoneFloodError: String { return self._s[1558]! } - public var Channel_AdminLog_InfoPanelTitle: String { return self._s[1559]! } - public func CHANNEL_MESSAGE_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1560]!, self._r[1560]!, [_1]) - } - public func Channel_AdminLog_MessageToggleInvitesOff(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1561]!, self._r[1561]!, [_0]) - } - public var Group_ErrorAddTooMuchBots: String { return self._s[1562]! } - public func Notification_CallFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1563]!, self._r[1563]!, [_1, _2]) - } - public func CHAT_MESSAGE_PHOTO(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1564]!, self._r[1564]!, [_1, _2]) - } - public func UserInfo_UnblockConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1566]!, self._r[1566]!, [_0]) - } - public var Appearance_PickAccentColor: String { return self._s[1567]! } - public var Passport_Identity_EditDriversLicense: String { return self._s[1568]! } - public var Passport_Identity_AddPassport: String { return self._s[1569]! } - public var UserInfo_ShareBot: String { return self._s[1570]! } - public var Settings_ProxyConnected: String { return self._s[1571]! } - public var TwoStepAuth_RecoveryEmailAddDescription: String { return self._s[1572]! } - public var ChatSettings_AutoDownloadVoiceMessages: String { return self._s[1573]! } - public var TwoStepAuth_EmailSkip: String { return self._s[1575]! } - public var Conversation_ViewContactDetails: String { return self._s[1576]! } - public var Notifications_Badge_CountUnreadMessages_InfoOff: String { return self._s[1577]! } - public var Conversation_JumpToDate: String { return self._s[1578]! } - public var AutoDownloadSettings_VideoMessagesTitle: String { return self._s[1579]! } - public var Passport_Address_OneOfTypeUtilityBill: String { return self._s[1581]! } - public var CheckoutInfo_ReceiverInfoEmailPlaceholder: String { return self._s[1582]! } - public var Message_Photo: String { return self._s[1584]! } - public var Conversation_ReportSpam: String { return self._s[1585]! } - public var Camera_FlashAuto: String { return self._s[1586]! } - public var Passport_Identity_TypePassportUploadScan: String { return self._s[1588]! } - public var Call_ConnectionErrorMessage: String { return self._s[1589]! } - public var Stickers_FrequentlyUsed: String { return self._s[1590]! } - public var LastSeen_ALongTimeAgo: String { return self._s[1592]! } - public var Passport_Identity_ReverseSide: String { return self._s[1593]! } - public var DialogList_SearchSectionGlobal: String { return self._s[1594]! } - public var ChangePhoneNumberNumber_NumberPlaceholder: String { return self._s[1595]! } - public var GroupInfo_AddUserLeftError: String { return self._s[1596]! } - public var Appearance_ThemeDay: String { return self._s[1597]! } - public var GroupInfo_GroupType: String { return self._s[1598]! } - public var Watch_Suggestion_OnMyWay: String { return self._s[1599]! } - public var Checkout_NewCard_PaymentCard: String { return self._s[1600]! } - public func DialogList_SearchSubtitleFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1601]!, self._r[1601]!, [_1, _2]) - } - public var PhotoEditor_CropAspectRatioOriginal: String { return self._s[1602]! } - public func Conversation_RestrictedInlineTimed(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1603]!, self._r[1603]!, [_0]) - } - public var UserInfo_NotificationsDisabled: String { return self._s[1604]! } - public func CONTACT_JOINED(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1605]!, self._r[1605]!, [_1]) - } - public var NotificationsSound_Bamboo: String { return self._s[1607]! } - public var PrivacyLastSeenSettings_AlwaysShareWith_Title: String { return self._s[1608]! } - public func Channel_AdminLog_MessageGroupPreHistoryVisible(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1609]!, self._r[1609]!, [_0]) - } - public var BlockedUsers_LeavePrefix: String { return self._s[1611]! } - public var NetworkUsageSettings_ResetStatsConfirmation: String { return self._s[1612]! } - public var Group_Setup_HistoryHeader: String { return self._s[1613]! } - public var Channel_EditAdmin_PermissionPostMessages: String { return self._s[1616]! } - public func Contacts_AddPhoneNumber(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1617]!, self._r[1617]!, [_0]) - } - public func MESSAGE_SCREENSHOT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1618]!, self._r[1618]!, [_1]) - } - public var DialogList_EncryptionProcessing: String { return self._s[1619]! } - public var GroupInfo_GroupHistory: String { return self._s[1621]! } - public var Conversation_ApplyLocalization: String { return self._s[1622]! } - public var FastTwoStepSetup_Title: String { return self._s[1623]! } - public var SocksProxySetup_ProxyStatusUnavailable: String { return self._s[1624]! } - public var Passport_Address_EditRentalAgreement: String { return self._s[1625]! } - public var Conversation_DeleteManyMessages: String { return self._s[1627]! } - public var CancelResetAccount_Title: String { return self._s[1628]! } - public var ReportPeer_ReasonChildAbuse: String { return self._s[1629]! } - public var Notification_CallOutgoingShort: String { return self._s[1630]! } - public var SharedMedia_TitleAll: String { return self._s[1632]! } - public var Conversation_SlideToCancel: String { return self._s[1633]! } - public var AuthSessions_TerminateSession: String { return self._s[1634]! } - public var Channel_AdminLogFilter_EventsDeletedMessages: String { return self._s[1635]! } - public var PrivacyLastSeenSettings_AlwaysShareWith_Placeholder: String { return self._s[1636]! } - public var Channel_Members_Title: String { return self._s[1637]! } - public var Channel_AdminLog_CanDeleteMessages: String { return self._s[1638]! } - public var Privacy_DeleteDrafts: String { return self._s[1639]! } - public var Group_Setup_TypePrivateHelp: String { return self._s[1640]! } + public var Call_StatusRinging: String { return self._s[94]! } + public var Group_Username_InvalidStartsWithNumber: String { return self._s[95]! } + public var UserInfo_NotificationsEnabled: String { return self._s[96]! } + public var Map_Search: String { return self._s[97]! } + public var Login_TermsOfServiceHeader: String { return self._s[99]! } public func Notification_PinnedVideoMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1641]!, self._r[1641]!, [_0]) + return formatWithArgumentRanges(self._s[100]!, self._r[100]!, [_0]) } - public var Conversation_ContextMenuStickerPackAdd: String { return self._s[1642]! } - public var Channel_AdminLogFilter_EventsNewMembers: String { return self._s[1643]! } - public var Channel_AdminLogFilter_EventsPinned: String { return self._s[1645]! } - public func Conversation_Moderate_DeleteAllMessages(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1647]!, self._r[1647]!, [_0]) + public func Channel_AdminLog_MessageToggleSignaturesOn(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[101]!, self._r[101]!, [_0]) } - public var SharedMedia_CategoryOther: String { return self._s[1648]! } - public var Passport_Address_Address: String { return self._s[1649]! } - public var DialogList_SavedMessagesTooltip: String { return self._s[1650]! } - public var Preview_DeletePhoto: String { return self._s[1653]! } - public var GroupInfo_ChannelListNamePlaceholder: String { return self._s[1654]! } - public var PasscodeSettings_TurnPasscodeOn: String { return self._s[1655]! } - public var AuthSessions_LogOutApplicationsHelp: String { return self._s[1656]! } - public var Notification_Exceptions_AddException: String { return self._s[1658]! } - public var Passport_FieldOneOf_Delimeter: String { return self._s[1659]! } - public func Channel_AdminLog_MessageChangedGroupStickerPack(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1660]!, self._r[1660]!, [_0]) - } - public var DialogList_Unpin: String { return self._s[1661]! } - public var GroupInfo_SetGroupPhoto: String { return self._s[1663]! } - public var StickerPacksSettings_ArchivedPacks_Info: String { return self._s[1664]! } - public var ConvertToSupergroup_Title: String { return self._s[1666]! } - public func CHAT_MESSAGE_NOTEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1667]!, self._r[1667]!, [_1, _2]) - } - public var Notification_CallCanceledShort: String { return self._s[1668]! } - public var Channel_Setup_TypeHeader: String { return self._s[1669]! } - public func Notification_NewAuthDetected(_ _1: String, _ _2: String, _ _3: String, _ _4: String, _ _5: String, _ _6: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1670]!, self._r[1670]!, [_1, _2, _3, _4, _5, _6]) - } - public func Channel_AdminLog_MessageRemovedGroupStickerPack(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1671]!, self._r[1671]!, [_0]) - } - public var PrivacyPolicy_DeclineTitle: String { return self._s[1674]! } - public var AccessDenied_VideoMessageCamera: String { return self._s[1675]! } - public var Privacy_ContactsSyncHelp: String { return self._s[1676]! } - public var Conversation_Search: String { return self._s[1678]! } - public func Channel_Management_PromotedBy(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1679]!, self._r[1679]!, [_0]) - } - public func PrivacySettings_LastSeenNobodyPlus(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1680]!, self._r[1680]!, [_0]) - } - public func Time_MonthOfYear_m4(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1681]!, self._r[1681]!, [_0]) - } - public var SecretImage_Title: String { return self._s[1682]! } - public var Notifications_InAppNotificationsSounds: String { return self._s[1683]! } - public var Call_StatusRequesting: String { return self._s[1684]! } - public func Channel_AdminLog_MessageRestrictedUntil(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1685]!, self._r[1685]!, [_0]) - } - public func CHAT_MESSAGE_CONTACT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1686]!, self._r[1686]!, [_1, _2]) - } - public var SocksProxySetup_UseProxy: String { return self._s[1687]! } - public var Group_UpgradeNoticeText1: String { return self._s[1688]! } - public var ChatSettings_Other: String { return self._s[1689]! } - public func Channel_AdminLog_MessageChangedChannelAbout(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1690]!, self._r[1690]!, [_0]) - } - public var Channel_Stickers_CreateYourOwn: String { return self._s[1691]! } - public func Call_EmojiDescription(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1693]!, self._r[1693]!, [_0]) - } - public var Settings_SaveIncomingPhotos: String { return self._s[1694]! } - public var TwoStepAuth_EnterEmailCode: String { return self._s[1695]! } - public func Conversation_Bytes(_ _0: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1696]!, self._r[1696]!, ["\(_0)"]) - } - public var GroupInfo_InviteLink_Help: String { return self._s[1697]! } - public var Calls_Missed: String { return self._s[1698]! } - public var Conversation_ContextMenuForward: String { return self._s[1701]! } - public var AutoDownloadSettings_ResetHelp: String { return self._s[1702]! } - public var Passport_Identity_NativeNameHelp: String { return self._s[1703]! } - public var Call_StatusRinging: String { return self._s[1704]! } - public var Passport_Language_pl: String { return self._s[1705]! } - public var Invitation_JoinGroup: String { return self._s[1706]! } - public var Notification_PinnedMessage: String { return self._s[1707]! } - public var AutoDownloadSettings_WiFi: String { return self._s[1709]! } - public var Conversation_ClearSelfHistory: String { return self._s[1710]! } - public var Message_Location: String { return self._s[1711]! } - public func Notification_MessageLifetimeChanged(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1712]!, self._r[1712]!, [_1, _2]) - } - public var Message_Contact: String { return self._s[1713]! } - public var Passport_Language_lo: String { return self._s[1715]! } - public var UserInfo_BotPrivacy: String { return self._s[1716]! } - public var PasscodeSettings_AutoLock_IfAwayFor_1minute: String { return self._s[1717]! } - public var Common_More: String { return self._s[1720]! } - public var Preview_OpenInInstagram: String { return self._s[1721]! } - public var PhotoEditor_HighlightsTool: String { return self._s[1724]! } - public func Channel_Username_UsernameIsAvailable(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1725]!, self._r[1725]!, [_0]) - } - public func PINNED_GAME(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1726]!, self._r[1726]!, [_1]) - } - public var Invite_LargeRecipientsCountWarning: String { return self._s[1727]! } - public var Passport_Language_hr: String { return self._s[1728]! } - public var GroupInfo_BroadcastListNamePlaceholder: String { return self._s[1729]! } - public var Activity_UploadingVideoMessage: String { return self._s[1730]! } - public var Conversation_ShareBotContactConfirmation: String { return self._s[1731]! } - public var Login_CodeSentSms: String { return self._s[1734]! } - public func CHANNEL_MESSAGES(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1735]!, self._r[1735]!, [_1, _2]) - } - public var Conversation_ReportSpamConfirmation: String { return self._s[1736]! } - public var ChannelMembers_ChannelAdminsTitle: String { return self._s[1737]! } - public var SocksProxySetup_Credentials: String { return self._s[1738]! } - public var CallSettings_UseLessData: String { return self._s[1739]! } - public var MediaPicker_GroupDescription: String { return self._s[1740]! } - public var Conversation_SendMessageErrorGroupRestricted: String { return self._s[1741]! } - public func TwoStepAuth_EnterPasswordHint(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1742]!, self._r[1742]!, [_0]) - } - public var CallSettings_TabIcon: String { return self._s[1743]! } - public var ConversationProfile_UnknownAddMemberError: String { return self._s[1745]! } - public func Conversation_FileHowToText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1748]!, self._r[1748]!, [_0]) - } - public var Channel_AdminLog_BanSendMedia: String { return self._s[1749]! } - public var Passport_Language_uz: String { return self._s[1750]! } - public var Watch_UserInfo_Unblock: String { return self._s[1751]! } - public var ChatSettings_AutoDownloadVideoMessages: String { return self._s[1753]! } - public var PrivacyPolicy_AgeVerificationTitle: String { return self._s[1754]! } - public var StickerPacksSettings_ArchivedMasks: String { return self._s[1756]! } - public var Message_Animation: String { return self._s[1758]! } - public var Checkout_PaymentMethod: String { return self._s[1759]! } - public var Channel_AdminLog_TitleSelectedEvents: String { return self._s[1760]! } - public var PrivacyPolicy_DeclineDeleteNow: String { return self._s[1761]! } - public var Privacy_Calls_NeverAllow_Title: String { return self._s[1762]! } - public var Cache_Music: String { return self._s[1763]! } - public var Settings_ProxyDisabled: String { return self._s[1767]! } - public var SocksProxySetup_Connecting: String { return self._s[1768]! } - public var Channel_Username_CreatePrivateLinkHelp: String { return self._s[1769]! } - public func Time_PreciseDate_m2(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1770]!, self._r[1770]!, [_1, _2, _3]) - } - public func FileSize_B(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1772]!, self._r[1772]!, [_0]) - } - public func Target_ShareGameConfirmationGroup(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1775]!, self._r[1775]!, [_0]) - } - public var PhotoEditor_SaturationTool: String { return self._s[1777]! } - public var Channel_BanUser_BlockFor: String { return self._s[1778]! } - public var Call_StatusConnecting: String { return self._s[1779]! } - public var AutoNightTheme_NotAvailable: String { return self._s[1780]! } - public var PrivateDataSettings_Title: String { return self._s[1781]! } - public var Bot_Start: String { return self._s[1783]! } - public func Channel_AdminLog_MessageChangedGroupAbout(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1784]!, self._r[1784]!, [_0]) - } - public var Appearance_PreviewReplyAuthor: String { return self._s[1785]! } - public var Notifications_TextTone: String { return self._s[1786]! } - public var Settings_CallSettings: String { return self._s[1787]! } - public func Watch_Time_ShortYesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1788]!, self._r[1788]!, [_0]) - } - public var Contacts_InviteToTelegram: String { return self._s[1789]! } - public func PINNED_DOC(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1790]!, self._r[1790]!, [_1]) - } - public var ChatSettings_PrivateChats: String { return self._s[1791]! } - public var DialogList_Draft: String { return self._s[1792]! } - public var Channel_EditAdmin_PermissionDeleteMessages: String { return self._s[1793]! } - public var Channel_BanUser_PermissionSendStickersAndGifs: String { return self._s[1794]! } - public var Conversation_CloudStorageInfo_Title: String { return self._s[1795]! } - public var Conversation_ClearSecretHistory: String { return self._s[1796]! } - public var Passport_Identity_EditIdentityCard: String { return self._s[1797]! } - public var Notification_RenamedChannel: String { return self._s[1798]! } - public var BlockedUsers_BlockUser: String { return self._s[1799]! } - public var ChatSettings_TextSize: String { return self._s[1800]! } - public var ChannelInfo_DeleteGroup: String { return self._s[1801]! } - public var PhoneNumberHelp_Alert: String { return self._s[1802]! } - public func PINNED_TEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1803]!, self._r[1803]!, [_1, _2]) - } - public var Watch_ChannelInfo_Title: String { return self._s[1804]! } - public var WebSearch_RecentSectionClear: String { return self._s[1805]! } - public var Channel_AdminLogFilter_AdminsAll: String { return self._s[1806]! } - public var Channel_Setup_TypePrivate: String { return self._s[1807]! } - public var PhotoEditor_TintTool: String { return self._s[1808]! } - public var Watch_Suggestion_CantTalk: String { return self._s[1809]! } - public var PhotoEditor_QualityHigh: String { return self._s[1810]! } - public var SocksProxySetup_AddProxyTitle: String { return self._s[1812]! } - public func CHAT_MESSAGE_STICKER(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1814]!, self._r[1814]!, [_1, _2, _3]) - } - public var Map_ChooseAPlace: String { return self._s[1815]! } - public var Passport_Identity_NamePlaceholder: String { return self._s[1817]! } - public var Passport_ScanPassport: String { return self._s[1818]! } - public var ApplyLanguage_ChangeLanguageTitle: String { return self._s[1819]! } - public var Map_ShareLiveLocationHelp: String { return self._s[1820]! } - public var Watch_Bot_Restart: String { return self._s[1822]! } - public var Passport_RequestedInformation: String { return self._s[1823]! } - public var Channel_About_Help: String { return self._s[1824]! } - public var Web_OpenExternal: String { return self._s[1825]! } - public var Passport_Language_mn: String { return self._s[1826]! } - public var UserInfo_AddContact: String { return self._s[1828]! } - public var Privacy_ContactsSync: String { return self._s[1829]! } - public var SocksProxySetup_Connection: String { return self._s[1831]! } - public var Passport_NotLoggedInMessage: String { return self._s[1832]! } - public var Passport_PasswordPlaceholder: String { return self._s[1833]! } - public var Passport_PasswordCreate: String { return self._s[1834]! } - public var SocksProxySetup_ProxyStatusChecking: String { return self._s[1836]! } - public var Call_EncryptionKey_Title: String { return self._s[1838]! } - public var PhotoEditor_BlurToolLinear: String { return self._s[1840]! } - public var AuthSessions_EmptyText: String { return self._s[1841]! } - public var Notification_MessageLifetime1m: String { return self._s[1842]! } - public func Call_StatusBar(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1843]!, self._r[1843]!, [_0]) - } - public var EditProfile_NameAndPhotoHelp: String { return self._s[1844]! } - public var NotificationsSound_Tritone: String { return self._s[1845]! } - public var Passport_FieldAddressUploadHelp: String { return self._s[1846]! } - public var Month_ShortJuly: String { return self._s[1847]! } - public var CheckoutInfo_ShippingInfoAddress1Placeholder: String { return self._s[1848]! } - public var Watch_MessageView_ViewOnPhone: String { return self._s[1849]! } - public var CallSettings_Never: String { return self._s[1850]! } - public var Passport_Identity_TypeInternalPassportUploadScan: String { return self._s[1853]! } - public var TwoStepAuth_EmailSent: String { return self._s[1854]! } - public func Notification_PinnedAnimationMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1855]!, self._r[1855]!, [_0]) - } - public var TwoStepAuth_RecoveryTitle: String { return self._s[1858]! } - public var Notifications_MessageNotificationsExceptions: String { return self._s[1859]! } - public var WatchRemote_AlertOpen: String { return self._s[1861]! } - public var ExplicitContent_AlertChannel: String { return self._s[1862]! } - public var Notification_PassportValueEmail: String { return self._s[1863]! } - public var ContactInfo_PhoneLabelMobile: String { return self._s[1865]! } - public var Widget_AuthRequired: String { return self._s[1867]! } - public func ForwardedAuthors2(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1868]!, self._r[1868]!, [_0, _1]) - } - public var ChannelInfo_DeleteGroupConfirmation: String { return self._s[1869]! } - public var TwoStepAuth_ConfirmationText: String { return self._s[1870]! } - public var Login_SmsRequestState3: String { return self._s[1871]! } - public var Notifications_AlertTones: String { return self._s[1872]! } - public func Time_MonthOfYear_m10(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1873]!, self._r[1873]!, [_0]) - } - public var Login_InfoAvatarPhoto: String { return self._s[1875]! } - public var Calls_TabTitle: String { return self._s[1878]! } - public var Map_YouAreHere: String { return self._s[1879]! } - public var PhotoEditor_CurvesTool: String { return self._s[1880]! } - public var Map_LiveLocationFor1Hour: String { return self._s[1881]! } - public var AutoNightTheme_AutomaticSection: String { return self._s[1882]! } - public var Stickers_NoStickersFound: String { return self._s[1883]! } - public var Passport_Identity_AddIdentityCard: String { return self._s[1885]! } - public func Notification_JoinedChannel(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1886]!, self._r[1886]!, [_0]) - } - public var Passport_Language_et: String { return self._s[1887]! } - public var Passport_Language_en: String { return self._s[1888]! } - public var Login_CancelPhoneVerification: String { return self._s[1889]! } - public var GroupInfo_ActionRestrict: String { return self._s[1892]! } - public var Checkout_ShippingOption_Title: String { return self._s[1893]! } - public var Stickers_SuggestStickers: String { return self._s[1895]! } - public func Channel_AdminLog_MessageKickedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1899]!, self._r[1899]!, [_1]) - } - public var Conversation_EncryptionProcessing: String { return self._s[1900]! } - public var TwoStepAuth_EmailCodeExpired: String { return self._s[1901]! } - public func CHAT_ADD_MEMBER(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1904]!, self._r[1904]!, [_1, _2, _3]) - } - public var Weekday_ShortSunday: String { return self._s[1907]! } - public var Privacy_ContactsResetConfirmation: String { return self._s[1908]! } - public var Month_ShortJune: String { return self._s[1909]! } - public var Privacy_Calls_Integration: String { return self._s[1910]! } - public var Channel_TypeSetup_Title: String { return self._s[1911]! } - public var Month_GenApril: String { return self._s[1912]! } - public var StickerPacksSettings_ShowStickersButton: String { return self._s[1913]! } - public var CheckoutInfo_ShippingInfoTitle: String { return self._s[1914]! } - public var Notification_PassportValueProofOfAddress: String { return self._s[1915]! } - public var Weekday_Tuesday: String { return self._s[1916]! } - public var StickerPacksSettings_ShowStickersButtonHelp: String { return self._s[1917]! } - public func Compatibility_SecretMediaVersionTooLow(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1918]!, self._r[1918]!, [_0, _1]) - } - public var CallSettings_RecentCalls: String { return self._s[1919]! } - public func Conversation_Megabytes(_ _0: Float) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1924]!, self._r[1924]!, ["\(_0)"]) - } - public var Conversation_SearchByName_Prefix: String { return self._s[1927]! } - public var TwoStepAuth_FloodError: String { return self._s[1928]! } - public var Paint_Stickers: String { return self._s[1929]! } - public var Login_InvalidCountryCode: String { return self._s[1930]! } - public var Privacy_Calls_AlwaysAllow_Title: String { return self._s[1931]! } - public var Username_InvalidTooShort: String { return self._s[1932]! } - public func Settings_ApplyProxyAlert(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1933]!, self._r[1933]!, [_1, _2]) - } - public var Weekday_ShortFriday: String { return self._s[1934]! } - public func Login_BannedPhoneBody(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1935]!, self._r[1935]!, [_0]) - } - public var Conversation_ClearAll: String { return self._s[1936]! } - public var Conversation_EditingMessageMediaChange: String { return self._s[1937]! } - public var Passport_FieldIdentityTranslationHelp: String { return self._s[1938]! } - public var Call_ReportIncludeLog: String { return self._s[1939]! } - public func Time_MonthOfYear_m3(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1940]!, self._r[1940]!, [_0]) - } - public var SharedMedia_EmptyTitle: String { return self._s[1941]! } - public var Call_PhoneCallInProgressMessage: String { return self._s[1942]! } - public var Notification_GroupActivated: String { return self._s[1943]! } - public var Checkout_Name: String { return self._s[1944]! } - public var Passport_Address_PostcodePlaceholder: String { return self._s[1945]! } - public func AUTH_REGION(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1946]!, self._r[1946]!, [_1, _2]) - } - public var Settings_NotificationsAndSounds: String { return self._s[1947]! } - public var Conversation_EncryptionCanceled: String { return self._s[1948]! } - public func GroupInfo_InvitationLinkAcceptChannel(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1949]!, self._r[1949]!, [_0]) - } - public var AccessDenied_SaveMedia: String { return self._s[1950]! } - public var InviteText_URL: String { return self._s[1951]! } - public var Passport_CorrectErrors: String { return self._s[1952]! } - public func Channel_AdminLog_MessageInvitedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1953]!, self._r[1953]!, [_1, _2]) - } - public var Notifications_Badge_CountUnreadMessages: String { return self._s[1954]! } - public var Appearance_ReduceMotion: String { return self._s[1955]! } - public var Compose_GroupTokenListPlaceholder: String { return self._s[1956]! } - public var Passport_Address_CityPlaceholder: String { return self._s[1957]! } - public var Passport_InfoFAQ_URL: String { return self._s[1958]! } - public var Conversation_MessageDeliveryFailed: String { return self._s[1961]! } - public var InstantPage_TapToOpenLink: String { return self._s[1962]! } - public var Privacy_PaymentsClear_PaymentInfo: String { return self._s[1963]! } - public var Notifications_GroupNotifications: String { return self._s[1964]! } - public var CheckoutInfo_SaveInfoHelp: String { return self._s[1965]! } - public var Notification_Mute1hMin: String { return self._s[1966]! } - public var Privacy_TopPeersWarning: String { return self._s[1967]! } - public var StickerPacksSettings_ArchivedMasks_Info: String { return self._s[1969]! } - public var ChannelMembers_WhoCanAddMembers_AllMembers: String { return self._s[1971]! } - public var Channel_Edit_PrivatePublicLinkAlert: String { return self._s[1972]! } - public var Watch_Conversation_UserInfo: String { return self._s[1973]! } - public var Application_Name: String { return self._s[1974]! } - public var Conversation_AddToReadingList: String { return self._s[1975]! } - public var Conversation_FileDropbox: String { return self._s[1976]! } - public var Login_PhonePlaceholder: String { return self._s[1977]! } - public var SocksProxySetup_ProxyEnabled: String { return self._s[1978]! } - public var Profile_MessageLifetime1d: String { return self._s[1979]! } - public var CheckoutInfo_ShippingInfoCityPlaceholder: String { return self._s[1980]! } - public var Notifications_ChannelNotificationsSound: String { return self._s[1981]! } - public var Calls_CallTabDescription: String { return self._s[1982]! } - public var Passport_DeletePersonalDetails: String { return self._s[1983]! } - public var Passport_Address_AddBankStatement: String { return self._s[1984]! } - public var Resolve_ErrorNotFound: String { return self._s[1985]! } - public var Watch_Message_Call: String { return self._s[1986]! } - public var PhotoEditor_FadeTool: String { return self._s[1987]! } - public var Channel_Setup_TypePublicHelp: String { return self._s[1989]! } - public var GroupInfo_InviteLink_RevokeAlert_Success: String { return self._s[1992]! } - public var Channel_Setup_PublicNoLink: String { return self._s[1993]! } - public var Privacy_Calls_P2PHelp: String { return self._s[1994]! } - public var Conversation_Info: String { return self._s[1995]! } - public func Time_TodayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1997]!, self._r[1997]!, [_0]) - } - public var AutoDownloadSettings_VideosTitle: String { return self._s[1998]! } - public var Conversation_Processing: String { return self._s[1999]! } - public var Conversation_RestrictedInline: String { return self._s[2000]! } + public var TwoStepAuth_SetupPasswordConfirmPassword: String { return self._s[102]! } + public var Weekday_Today: String { return self._s[103]! } + public var Permissions_ContactsAllow: String { return self._s[104]! } public func InstantPage_AuthorAndDateTitle(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2004]!, self._r[2004]!, [_1, _2]) + return formatWithArgumentRanges(self._s[106]!, self._r[106]!, [_1, _2]) } - public func Watch_LastSeen_AtDate(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2005]!, self._r[2005]!, [_0]) + public func Conversation_MessageDialogRetryAll(_ _1: Int) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[107]!, self._r[107]!, ["\(_1)"]) } - public var Conversation_Location: String { return self._s[2006]! } - public var DialogList_PasscodeLockHelp: String { return self._s[2007]! } - public var Channel_Management_Title: String { return self._s[2008]! } - public var Notifications_InAppNotificationsPreview: String { return self._s[2009]! } - public var EnterPasscode_EnterTitle: String { return self._s[2011]! } - public var ReportPeer_ReasonOther_Title: String { return self._s[2012]! } - public var Month_GenJanuary: String { return self._s[2013]! } - public var Conversation_ForwardChats: String { return self._s[2014]! } - public var Channel_UpdatePhotoItem: String { return self._s[2016]! } - public var UserInfo_StartSecretChat: String { return self._s[2017]! } - public var PrivacySettings_LastSeenNobody: String { return self._s[2018]! } - public func FileSize_MB(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2019]!, self._r[2019]!, [_0]) + public var Notification_PassportValuePersonalDetails: String { return self._s[109]! } + public var Channel_AdminLog_MessagePreviousLink: String { return self._s[110]! } + public var ChangePhoneNumberNumber_NewNumber: String { return self._s[111]! } + public var ApplyLanguage_LanguageNotSupportedError: String { return self._s[112]! } + public var TwoStepAuth_ChangePasswordDescription: String { return self._s[113]! } + public var PhotoEditor_BlurToolLinear: String { return self._s[114]! } + public var Contacts_PermissionsAllowInSettings: String { return self._s[115]! } + public var Weekday_ShortMonday: String { return self._s[116]! } + public var Cache_KeepMedia: String { return self._s[117]! } + public var Passport_FieldIdentitySelfieHelp: String { return self._s[118]! } + public var Conversation_ClousStorageInfo_Description4: String { return self._s[119]! } + public var Passport_Language_ru: String { return self._s[120]! } + public func Notification_CreatedChatWithTitle(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[121]!, self._r[121]!, [_0, _1]) } - public var ChatSearch_SearchPlaceholder: String { return self._s[2022]! } - public var TwoStepAuth_ConfirmationAbort: String { return self._s[2023]! } - public var FastTwoStepSetup_HintSection: String { return self._s[2024]! } - public var TwoStepAuth_SetupPasswordDescription: String { return self._s[2027]! } - public var TwoStepAuth_SetupPasswordConfirmFailed: String { return self._s[2029]! } - public func LastSeen_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2030]!, self._r[2030]!, [_0]) - } - public var GroupInfo_GroupHistoryVisible: String { return self._s[2032]! } - public var AppleWatch_ReplyPresetsHelp: String { return self._s[2033]! } - public var Localization_LanguageName: String { return self._s[2034]! } - public var Map_OpenIn: String { return self._s[2035]! } - public var Message_File: String { return self._s[2036]! } - public var Call_ReportSend: String { return self._s[2037]! } - public func Channel_AdminLog_MessageChangedGroupUsername(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2038]!, self._r[2038]!, [_0]) - } - public func CHAT_MESSAGE_GAME(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2039]!, self._r[2039]!, [_1, _2, _3]) - } - public func Time_PreciseDate_m1(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2040]!, self._r[2040]!, [_1, _2, _3]) - } - public var Month_ShortMay: String { return self._s[2043]! } - public var Tour_Text3: String { return self._s[2044]! } - public var Notification_Exceptions_NewException_NotificationHeader: String { return self._s[2045]! } - public var Contacts_GlobalSearch: String { return self._s[2046]! } - public var DialogList_LanguageTooltip: String { return self._s[2047]! } - public var AuthSessions_LogOutApplications: String { return self._s[2048]! } - public var Map_LoadError: String { return self._s[2049]! } - public var Notifications_DisplayNamesOnLockScreenInfoWithLink: String { return self._s[2050]! } - public var Settings_ProxyConnecting: String { return self._s[2051]! } - public var Passport_Language_fa: String { return self._s[2053]! } - public var AccessDenied_VoiceMicrophone: String { return self._s[2054]! } - public func CHANNEL_MESSAGE_STICKER(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2057]!, self._r[2057]!, [_1, _2]) - } - public var Passport_Address_TypeUtilityBillUploadScan: String { return self._s[2058]! } - public var PrivacySettings_Title: String { return self._s[2059]! } - public var PasscodeSettings_TurnPasscodeOff: String { return self._s[2062]! } - public var MediaPicker_AddCaption: String { return self._s[2063]! } - public var Channel_AdminLog_BanReadMessages: String { return self._s[2064]! } - public var Channel_Status: String { return self._s[2065]! } - public var Map_ChooseLocationTitle: String { return self._s[2066]! } - public var Notifications_ChannelNotifications: String { return self._s[2067]! } - public var Map_OpenInYandexNavigator: String { return self._s[2068]! } - public func TwoStepAuth_ConfirmEmailDescription(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2069]!, self._r[2069]!, [_1]) - } - public var AutoNightTheme_PreferredTheme: String { return self._s[2070]! } - public var State_WaitingForNetwork: String { return self._s[2071]! } - public var TwoStepAuth_EmailHelp: String { return self._s[2072]! } - public var Conversation_StopLiveLocation: String { return self._s[2073]! } - public var Username_TooManyPublicUsernamesError: String { return self._s[2074]! } - public var Privacy_SecretChatsLinkPreviewsHelp: String { return self._s[2075]! } - public var PhotoEditor_SharpenTool: String { return self._s[2076]! } - public var Common_of: String { return self._s[2077]! } - public var AuthSessions_Title: String { return self._s[2078]! } - public var Passport_Scans_UploadNew: String { return self._s[2079]! } - public var Message_PinnedLiveLocationMessage: String { return self._s[2080]! } - public var Passport_FieldIdentityDetailsHelp: String { return self._s[2081]! } - public var PrivacyLastSeenSettings_AlwaysShareWith: String { return self._s[2082]! } - public var EnterPasscode_EnterPasscode: String { return self._s[2083]! } - public var Notifications_Reset: String { return self._s[2084]! } - public func Map_LiveLocationPrivateDescription(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2085]!, self._r[2085]!, [_0]) - } - public var GroupInfo_InvitationLinkGroupFull: String { return self._s[2086]! } - public func Channel_AdminLog_MessageChangedChannelUsername(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2088]!, self._r[2088]!, [_0]) - } - public func CHAT_MESSAGE_DOC(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2089]!, self._r[2089]!, [_1, _2]) - } - public var Watch_AppName: String { return self._s[2090]! } - public var ConvertToSupergroup_HelpTitle: String { return self._s[2091]! } - public var Conversation_TapAndHoldToRecord: String { return self._s[2092]! } - public func MESSAGE_GIF(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2094]!, self._r[2094]!, [_1]) - } - public func DialogList_EncryptedChatStartedOutgoing(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2095]!, self._r[2095]!, [_0]) - } - public var Checkout_PayWithTouchId: String { return self._s[2096]! } - public var Passport_Language_ko: String { return self._s[2097]! } - public var Conversation_DiscardVoiceMessageTitle: String { return self._s[2098]! } - public func CHAT_ADD_YOU(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2099]!, self._r[2099]!, [_1, _2]) - } - public var CheckoutInfo_ShippingInfoCity: String { return self._s[2100]! } - public var Group_AdminLog_EmptyText: String { return self._s[2101]! } - public var AutoDownloadSettings_GroupChats: String { return self._s[2102]! } - public var TwoStepAuth_AddHintTitle: String { return self._s[2103]! } - public var Conversation_ClousStorageInfo_Description3: String { return self._s[2105]! } - public var Notifications_ExceptionsMuted: String { return self._s[2106]! } - public var Conversation_PinMessageAlertGroup: String { return self._s[2107]! } - public var TwoStepAuth_RecoveryEmailTitle: String { return self._s[2109]! } - public var Settings_FAQ_Intro: String { return self._s[2110]! } - public var PrivacySettings_AuthSessions: String { return self._s[2111]! } - public func CHAT_MESSAGE_GEOLIVE(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2112]!, self._r[2112]!, [_1, _2]) - } - public var Passport_Address_Postcode: String { return self._s[2114]! } - public var Tour_Title5: String { return self._s[2115]! } - public var ChatAdmins_AllMembersAreAdmins: String { return self._s[2116]! } - public var Group_Management_AddModeratorHelp: String { return self._s[2117]! } - public var Channel_Username_CheckingUsername: String { return self._s[2118]! } - public func DialogList_SingleRecordingVideoMessageSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2120]!, self._r[2120]!, [_0]) - } - public func Contacts_AccessDeniedHelpPortrait(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2124]!, self._r[2124]!, [_0]) - } - public func Checkout_LiabilityAlert(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2125]!, self._r[2125]!, [_1, _1, _1, _2]) - } - public var Channel_Info_BlackList: String { return self._s[2126]! } - public var Profile_BotInfo: String { return self._s[2127]! } - public var Stickers_SuggestAll: String { return self._s[2128]! } - public var Compose_NewChannel_Members: String { return self._s[2129]! } - public var Notification_Reply: String { return self._s[2130]! } - public var Watch_Stickers_Recents: String { return self._s[2132]! } - public var GroupInfo_SetGroupPhotoStop: String { return self._s[2133]! } - public var Channel_Stickers_Placeholder: String { return self._s[2134]! } - public var AttachmentMenu_File: String { return self._s[2135]! } - public func MESSAGE_STICKER(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2136]!, self._r[2136]!, [_1, _2]) - } - public var Profile_MessageLifetime5s: String { return self._s[2137]! } - public var Privacy_ContactsReset: String { return self._s[2139]! } - public var TwoStepAuth_ChangePasswordDescription: String { return self._s[2140]! } - public func PINNED_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2141]!, self._r[2141]!, [_1]) - } - public var Channel_AdminLog_CanAddAdmins: String { return self._s[2144]! } - public var TwoStepAuth_SetupHint: String { return self._s[2145]! } - public var Conversation_StatusLeftGroup: String { return self._s[2146]! } - public var Settings_CopyUsername: String { return self._s[2147]! } - public var Passport_Identity_CountryPlaceholder: String { return self._s[2148]! } - public var ChatSettings_AutoDownloadDocuments: String { return self._s[2149]! } - public var MediaPicker_TapToUngroupDescription: String { return self._s[2150]! } - public var Conversation_ShareBotLocationConfirmation: String { return self._s[2151]! } - public var Conversation_DeleteMessagesForMe: String { return self._s[2152]! } - public var Notification_PassportValuePersonalDetails: String { return self._s[2153]! } - public var Message_PinnedAnimationMessage: String { return self._s[2154]! } - public var Passport_FieldIdentityUploadHelp: String { return self._s[2155]! } - public var SocksProxySetup_ConnectAndSave: String { return self._s[2156]! } - public var SocksProxySetup_FailedToConnect: String { return self._s[2157]! } - public var Checkout_ErrorPrecheckoutFailed: String { return self._s[2158]! } - public var Camera_PhotoMode: String { return self._s[2160]! } - public func Time_MonthOfYear_m2(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2162]!, self._r[2162]!, [_0]) - } - public var Channel_About_Placeholder: String { return self._s[2163]! } - public var Map_Directions: String { return self._s[2165]! } - public var Channel_About_Title: String { return self._s[2166]! } - public func MESSAGE_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2167]!, self._r[2167]!, [_1]) - } - public var Calls_RatingTitle: String { return self._s[2168]! } - public var SharedMedia_EmptyText: String { return self._s[2169]! } - public var Channel_Stickers_Searching: String { return self._s[2170]! } - public var Passport_Address_AddUtilityBill: String { return self._s[2171]! } - public var Login_PadPhoneHelp: String { return self._s[2172]! } - public var StickerPacksSettings_ArchivedPacks: String { return self._s[2174]! } - public var Passport_Language_th: String { return self._s[2175]! } - public var Channel_ErrorAccessDenied: String { return self._s[2176]! } - public var Generic_ErrorMoreInfo: String { return self._s[2178]! } - public var Channel_AdminLog_TitleAllEvents: String { return self._s[2179]! } - public var Settings_Proxy: String { return self._s[2180]! } - public var Passport_Language_lt: String { return self._s[2181]! } - public var TwoStepAuth_ConfirmEmailResendCode: String { return self._s[2182]! } - public var Channel_Username_RevokeExistingUsernamesInfo: String { return self._s[2184]! } - public var ChannelMembers_WhoCanAddMembersAllHelp: String { return self._s[2185]! } - public var Passport_Address_CountryPlaceholder: String { return self._s[2186]! } - public var ChangePhoneNumberCode_CodePlaceholder: String { return self._s[2187]! } - public var Camera_SquareMode: String { return self._s[2188]! } - public func Conversation_EncryptedPlaceholderTitleOutgoing(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2189]!, self._r[2189]!, [_0]) - } - public var NetworkUsageSettings_CallDataSection: String { return self._s[2190]! } - public var Login_PadPhoneHelpTitle: String { return self._s[2191]! } - public var Profile_CreateNewContact: String { return self._s[2192]! } - public var AccessDenied_VideoMessageMicrophone: String { return self._s[2193]! } - public var AutoDownloadSettings_VoiceMessagesTitle: String { return self._s[2194]! } - public var PhotoEditor_VignetteTool: String { return self._s[2195]! } - public var LastSeen_WithinAWeek: String { return self._s[2196]! } - public var Widget_NoUsers: String { return self._s[2197]! } - public var Passport_Identity_DocumentNumber: String { return self._s[2199]! } - public var Application_Update: String { return self._s[2200]! } - public var Calls_NewCall: String { return self._s[2201]! } - public func CHANNEL_MESSAGE_AUDIO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2202]!, self._r[2202]!, [_1]) - } - public var DialogList_NoMessagesText: String { return self._s[2203]! } - public var MaskStickerSettings_Info: String { return self._s[2204]! } - public var ChatSettings_AutoDownloadTitle: String { return self._s[2205]! } - public var Passport_FieldAddressHelp: String { return self._s[2206]! } - public var Passport_Language_dz: String { return self._s[2207]! } - public var Conversation_FilePhotoOrVideo: String { return self._s[2208]! } - public var Channel_AdminLog_BanSendStickers: String { return self._s[2209]! } - public var Common_Next: String { return self._s[2210]! } - public var Stickers_RemoveFromFavorites: String { return self._s[2211]! } - public var Watch_Notification_Joined: String { return self._s[2212]! } - public func Channel_AdminLog_MessageRestrictedNewSetting(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2213]!, self._r[2213]!, [_0]) - } - public var Passport_DeleteAddress: String { return self._s[2214]! } - public var ContactInfo_PhoneLabelHome: String { return self._s[2215]! } - public var GroupInfo_DeleteAndExitConfirmation: String { return self._s[2216]! } - public var NotificationsSound_Tremolo: String { return self._s[2217]! } - public var TwoStepAuth_EmailInvalid: String { return self._s[2218]! } - public var Privacy_ContactsTitle: String { return self._s[2219]! } - public var Passport_Address_TypeBankStatement: String { return self._s[2221]! } - public func CHAT_MESSAGE_VIDEO(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2222]!, self._r[2222]!, [_1, _2]) - } - public var Month_GenJune: String { return self._s[2223]! } - public var Map_LiveLocationFor15Minutes: String { return self._s[2224]! } - public func Login_EmailCodeSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2225]!, self._r[2225]!, [_0]) - } - public func CHAT_TITLE_EDITED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2226]!, self._r[2226]!, [_1, _2]) - } - public var ContactInfo_PhoneLabelHomeFax: String { return self._s[2227]! } - public func NetworkUsageSettings_WifiUsageSince(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2228]!, self._r[2228]!, [_0]) - } - public var Watch_LastSeen_Lately: String { return self._s[2229]! } - public var Watch_Compose_CurrentLocation: String { return self._s[2230]! } - public var DialogList_RecentTitlePeople: String { return self._s[2232]! } - public var GroupInfo_Notifications: String { return self._s[2233]! } - public var Call_ReportPlaceholder: String { return self._s[2234]! } - public func AuthSessions_Message(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2235]!, self._r[2235]!, [_0]) - } - public func MESSAGE_DOC(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2236]!, self._r[2236]!, [_1]) - } - public var Group_Username_CreatePrivateLinkHelp: String { return self._s[2237]! } - public var Notifications_GroupNotificationsSound: String { return self._s[2238]! } - public var AuthSessions_EmptyTitle: String { return self._s[2239]! } - public var Privacy_GroupsAndChannels_AlwaysAllow_Title: String { return self._s[2241]! } - public var InstantPage_Reference: String { return self._s[2242]! } - public var Passport_Language_he: String { return self._s[2243]! } - public func MediaPicker_Nof(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2244]!, self._r[2244]!, [_0]) - } - public var Common_Create: String { return self._s[2245]! } - public var Contacts_TopSection: String { return self._s[2246]! } - public func Map_DirectionsDriveEta(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2247]!, self._r[2247]!, [_0]) - } - public var PrivacyPolicy_DeclineMessage: String { return self._s[2248]! } - public var Your_cards_number_is_invalid: String { return self._s[2249]! } - public func MESSAGE_INVOICE(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2250]!, self._r[2250]!, [_1, _2]) - } - public var Localization_LanguageCustom: String { return self._s[2251]! } - public func Channel_AdminLog_MessageRemovedChannelUsername(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2252]!, self._r[2252]!, [_0]) - } - public var Group_MessagePhotoRemoved: String { return self._s[2253]! } - public var Appearance_Animations: String { return self._s[2254]! } - public var UserInfo_AddToExisting: String { return self._s[2255]! } - public var NotificationsSound_Aurora: String { return self._s[2256]! } - public func LastSeen_AtDate(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2259]!, self._r[2259]!, [_0]) - } - public var Conversation_MessageDialogRetry: String { return self._s[2260]! } - public var Watch_ChatList_NoConversationsTitle: String { return self._s[2261]! } - public var Passport_Language_my: String { return self._s[2262]! } - public var Stickers_GroupStickers: String { return self._s[2264]! } - public var BlockedUsers_Title: String { return self._s[2266]! } - public func LiveLocationUpdated_TodayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2267]!, self._r[2267]!, [_0]) - } - public var ContactInfo_PhoneLabelWork: String { return self._s[2268]! } - public var ChatSettings_ConnectionType_UseSocks5: String { return self._s[2269]! } - public var Passport_FieldAddressTranslationHelp: String { return self._s[2270]! } - public var Cache_ClearNone: String { return self._s[2271]! } - public var SecretTimer_VideoDescription: String { return self._s[2273]! } - public var Login_InvalidCodeError: String { return self._s[2274]! } - public var Channel_BanList_BlockedTitle: String { return self._s[2276]! } - public var Passport_PasswordHelp: String { return self._s[2277]! } - public var NetworkUsageSettings_Cellular: String { return self._s[2278]! } - public var Watch_Location_Access: String { return self._s[2279]! } - public var PrivacySettings_DeleteAccountIfAwayFor: String { return self._s[2281]! } - public var Channel_AdminLog_EmptyFilterText: String { return self._s[2282]! } - public var Channel_AdminLog_EmptyText: String { return self._s[2283]! } - public var PrivacySettings_DeleteAccountTitle: String { return self._s[2284]! } - public var Passport_Language_ms: String { return self._s[2285]! } - public var PrivacyLastSeenSettings_CustomShareSettings_Delete: String { return self._s[2286]! } - public func ENCRYPTED_MESSAGE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2287]!, self._r[2287]!, [_1]) - } - public var Watch_LastSeen_WithinAMonth: String { return self._s[2288]! } - public var PrivacyLastSeenSettings_CustomHelp: String { return self._s[2289]! } - public var TwoStepAuth_EnterPasswordHelp: String { return self._s[2290]! } - public var TwoStepAuth_SetupResendEmailCode: String { return self._s[2291]! } - public var Bot_Stop: String { return self._s[2292]! } - public var Privacy_GroupsAndChannels_AlwaysAllow_Placeholder: String { return self._s[2293]! } - public var UserInfo_BotSettings: String { return self._s[2294]! } - public var Your_cards_expiration_month_is_invalid: String { return self._s[2295]! } - public var Passport_FieldIdentity: String { return self._s[2296]! } - public var PrivacyLastSeenSettings_EmpryUsersPlaceholder: String { return self._s[2297]! } - public var Passport_Identity_EditInternalPassport: String { return self._s[2298]! } - public func CHANNEL_MESSAGE_ROUND(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2300]!, self._r[2300]!, [_1]) - } - public var Passport_Identity_LatinNameHelp: String { return self._s[2301]! } - public var ApplyLanguage_LanguageNotSupportedError: String { return self._s[2302]! } - public var SocksProxySetup_Port: String { return self._s[2303]! } - public var Message_VideoMessage: String { return self._s[2305]! } - public var Conversation_ContextMenuStickerPackInfo: String { return self._s[2306]! } - public var Login_ResetAccountProtected_LimitExceeded: String { return self._s[2307]! } - public func CHAT_DELETE_MEMBER(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2308]!, self._r[2308]!, [_1, _2, _3]) - } - public var Conversation_DiscardVoiceMessageAction: String { return self._s[2309]! } - public var Camera_Title: String { return self._s[2310]! } - public var Passport_Identity_IssueDate: String { return self._s[2311]! } - public var PhotoEditor_CurvesBlue: String { return self._s[2313]! } - public var Message_PinnedVideoMessage: String { return self._s[2314]! } - public func Login_EmailPhoneSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2315]!, self._r[2315]!, [_0]) - } - public var Passport_Phone_UseTelegramNumberHelp: String { return self._s[2317]! } - public var Group_EditAdmin_PermissionChangeInfo: String { return self._s[2318]! } - public var TwoStepAuth_Email: String { return self._s[2319]! } - public var Stickers_SuggestNone: String { return self._s[2320]! } - public var Map_SendMyCurrentLocation: String { return self._s[2322]! } - public func MESSAGE_ROUND(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2323]!, self._r[2323]!, [_1]) - } - public var Passport_Identity_IssueDatePlaceholder: String { return self._s[2324]! } - public var Watch_Message_Invoice: String { return self._s[2325]! } - public var Map_Unknown: String { return self._s[2327]! } - public var Wallpaper_Set: String { return self._s[2329]! } - public var AccessDenied_Title: String { return self._s[2330]! } - public var SharedMedia_CategoryLinks: String { return self._s[2331]! } - public var Localization_LanguageOther: String { return self._s[2332]! } public func CHAT_MESSAGES(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2333]!, self._r[2333]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[122]!, self._r[122]!, [_1, _2, _3]) } - public var SaveIncomingPhotosSettings_Title: String { return self._s[2334]! } - public var Passport_Identity_TypeDriversLicense: String { return self._s[2335]! } - public var FastTwoStepSetup_HintHelp: String { return self._s[2336]! } - public var Notifications_ExceptionsDefaultSound: String { return self._s[2337]! } - public var TwoStepAuth_EmailSkipAlert: String { return self._s[2338]! } - public var ChatSettings_Stickers: String { return self._s[2339]! } - public var Camera_FlashOff: String { return self._s[2340]! } - public var TwoStepAuth_Title: String { return self._s[2342]! } - public var Passport_Identity_Translation: String { return self._s[2343]! } - public var Checkout_ErrorProviderAccountTimeout: String { return self._s[2344]! } - public var TwoStepAuth_SetupPasswordEnterPasswordChange: String { return self._s[2345]! } - public var WebSearch_Images: String { return self._s[2346]! } - public var Conversation_typing: String { return self._s[2347]! } - public var Common_Back: String { return self._s[2348]! } - public var PrivacySettings_DataSettingsHelp: String { return self._s[2350]! } - public var Passport_Language_es: String { return self._s[2351]! } - public var Common_Search: String { return self._s[2352]! } - public func CancelResetAccount_Success(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2353]!, self._r[2353]!, [_0]) + public var TwoStepAuth_RecoveryUnavailable: String { return self._s[123]! } + public var EnterPasscode_TouchId: String { return self._s[124]! } + public var PhotoEditor_QualityVeryHigh: String { return self._s[127]! } + public var Checkout_NewCard_SaveInfo: String { return self._s[129]! } + public var ChatSettings_AutoDownloadEnabled: String { return self._s[132]! } + public var NetworkUsageSettings_BytesSent: String { return self._s[133]! } + public var Checkout_PasswordEntry_Pay: String { return self._s[134]! } + public var AuthSessions_TerminateSession: String { return self._s[135]! } + public var Message_File: String { return self._s[136]! } + public var MediaPicker_VideoMuteDescription: String { return self._s[137]! } + public var SocksProxySetup_ProxyStatusConnected: String { return self._s[138]! } + public var TwoStepAuth_RecoveryCode: String { return self._s[139]! } + public var EnterPasscode_EnterCurrentPasscode: String { return self._s[140]! } + public func TwoStepAuth_EnterPasswordHint(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[141]!, self._r[141]!, [_0]) + } + public var Conversation_Moderate_Report: String { return self._s[143]! } + public var TwoStepAuth_EmailInvalid: String { return self._s[144]! } + public var Passport_Language_ms: String { return self._s[145]! } + public var Channel_Edit_AboutItem: String { return self._s[147]! } + public var DialogList_SearchSectionGlobal: String { return self._s[151]! } + public var PasscodeSettings_TurnPasscodeOn: String { return self._s[152]! } + public var Channel_BanUser_Title: String { return self._s[153]! } + public var ChatSearch_SearchPlaceholder: String { return self._s[155]! } + public var Passport_FieldAddressTranslationHelp: String { return self._s[156]! } + public var NotificationsSound_Aurora: String { return self._s[157]! } + public func FileSize_GB(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[158]!, self._r[158]!, [_0]) + } + public var AuthSessions_LoggedInWithTelegram: String { return self._s[161]! } + public func Privacy_GroupsAndChannels_InviteToGroupError(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[162]!, self._r[162]!, [_0, _1]) + } + public var Passport_PasswordNext: String { return self._s[163]! } + public var Bot_GroupStatusReadsHistory: String { return self._s[164]! } + public var Settings_FAQ_Intro: String { return self._s[166]! } + public var PrivacySettings_PasscodeAndTouchId: String { return self._s[168]! } + public var FeaturedStickerPacks_Title: String { return self._s[169]! } + public var TwoStepAuth_PasswordRemoveConfirmation: String { return self._s[170]! } + public var Username_Title: String { return self._s[171]! } + public var Localization_LanguageOther: String { return self._s[172]! } + public var Stickers_SuggestStickers: String { return self._s[173]! } + public func Channel_AdminLog_MessageRemovedGroupUsername(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[174]!, self._r[174]!, [_0]) + } + public var Channel_AdminLogFilter_EventsAdmins: String { return self._s[175]! } + public func Notification_PinnedDeletedMessage(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[176]!, self._r[176]!, [_0]) + } + public var Group_UpgradeConfirmation: String { return self._s[177]! } + public var DialogList_Unpin: String { return self._s[178]! } + public var Passport_Identity_DateOfBirth: String { return self._s[179]! } + public var Month_ShortOctober: String { return self._s[180]! } + public var Notification_CallCanceledShort: String { return self._s[181]! } + public var Passport_Phone_Help: String { return self._s[182]! } + public var Passport_Language_az: String { return self._s[183]! } + public var Passport_Identity_DocumentNumber: String { return self._s[185]! } + public var PhotoEditor_CurvesRed: String { return self._s[186]! } + public var PhoneNumberHelp_Alert: String { return self._s[188]! } + public var SocksProxySetup_Port: String { return self._s[189]! } + public var Checkout_PayNone: String { return self._s[190]! } + public var AutoDownloadSettings_WiFi: String { return self._s[191]! } + public var GroupInfo_GroupType: String { return self._s[192]! } + public var StickerSettings_ContextHide: String { return self._s[193]! } + public var Passport_Address_OneOfTypeTemporaryRegistration: String { return self._s[194]! } + public func CHAT_RETURNED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[195]!, self._r[195]!, [_1, _2]) + } + public var Group_Setup_HistoryTitle: String { return self._s[197]! } + public var Passport_Identity_FilesUploadNew: String { return self._s[198]! } + public var PasscodeSettings_AutoLock: String { return self._s[199]! } + public var Passport_Title: String { return self._s[200]! } + public var Channel_AdminLogFilter_EventsNewSubscribers: String { return self._s[201]! } + public var State_WaitingForNetwork: String { return self._s[203]! } + public func Notification_Invited(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[204]!, self._r[204]!, [_0, _1]) + } + public var Calls_NotNow: String { return self._s[206]! } + public var UserInfo_SendMessage: String { return self._s[207]! } + public var TwoStepAuth_PasswordSet: String { return self._s[208]! } + public var Passport_DeleteDocument: String { return self._s[209]! } + public var SocksProxySetup_AddProxyTitle: String { return self._s[210]! } + public var Passport_FieldIdentity: String { return self._s[211]! } + public func CHAT_MESSAGE_FWDS(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[212]!, self._r[212]!, [_1, _2, _3]) + } + public var Group_Setup_TypePrivateHelp: String { return self._s[213]! } + public var Conversation_Processing: String { return self._s[215]! } + public func MESSAGE_CONTACT(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[216]!, self._r[216]!, [_1]) + } + public func MESSAGE_ROUND(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[218]!, self._r[218]!, [_1]) + } + public var ChatSettings_AutoPlayAnimations: String { return self._s[219]! } + public var AuthSessions_LogOutApplicationsHelp: String { return self._s[222]! } + public var Month_GenFebruary: String { return self._s[223]! } + public var Passport_Identity_TypeIdentityCard: String { return self._s[225]! } + public var GroupInfo_AddParticipant: String { return self._s[227]! } + public var KeyCommand_SendMessage: String { return self._s[228]! } + public var Map_LiveLocationShowAll: String { return self._s[230]! } + public var Checkout_Receipt_Title: String { return self._s[232]! } + public var Message_Contact: String { return self._s[233]! } + public var Call_StatusIncoming: String { return self._s[234]! } + public func Channel_AdminLog_MessageKickedName(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[235]!, self._r[235]!, [_1]) + } + public var Passport_FieldIdentityDetailsHelp: String { return self._s[237]! } + public var Conversation_ViewChannel: String { return self._s[238]! } + public func Time_TodayAt(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[239]!, self._r[239]!, [_0]) + } + public var Passport_Language_nl: String { return self._s[241]! } + public var Camera_Retake: String { return self._s[242]! } + public var ApplyLanguage_ApplySuccess: String { return self._s[243]! } + public var AuthSessions_LogOutApplications: String { return self._s[244]! } + public var Tour_Title6: String { return self._s[245]! } + public var Map_ChooseAPlace: String { return self._s[246]! } + public var CallSettings_Never: String { return self._s[248]! } + public func Notification_ChangedGroupPhoto(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[249]!, self._r[249]!, [_0]) + } + public var GroupInfo_InviteLink_Title: String { return self._s[250]! } + public func Channel_AdminLog_MessageUnkickedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[251]!, self._r[251]!, [_1, _2]) + } + public var KeyCommand_ScrollUp: String { return self._s[252]! } + public var ContactInfo_URLLabelHomepage: String { return self._s[253]! } + public func Conversation_EncryptedPlaceholderTitleOutgoing(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[254]!, self._r[254]!, [_0]) + } + public var Watch_LastSeen_WithinAWeek: String { return self._s[255]! } + public var Weekday_Tuesday: String { return self._s[256]! } + public var UserInfo_StartSecretChat: String { return self._s[257]! } + public var Passport_Identity_FilesTitle: String { return self._s[258]! } + public var DialogList_DeleteConversationConfirmation: String { return self._s[259]! } + public var AuthSessions_Sessions: String { return self._s[260]! } + public var TwoStepAuth_RecoveryEmailChangeDescription: String { return self._s[262]! } + public var Call_StatusWaiting: String { return self._s[263]! } + public var CreateGroup_SoftUserLimitAlert: String { return self._s[264]! } + public var FastTwoStepSetup_HintHelp: String { return self._s[265]! } + public func MESSAGE_VIDEO(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[266]!, self._r[266]!, [_1]) + } + public var Settings_LogoutConfirmationText: String { return self._s[267]! } + public var Passport_Identity_TypePassport: String { return self._s[269]! } + public var SocksProxySetup_SaveProxy: String { return self._s[272]! } + public var AccessDenied_SaveMedia: String { return self._s[273]! } + public var Checkout_ErrorInvoiceAlreadyPaid: String { return self._s[275]! } + public var Settings_Title: String { return self._s[277]! } + public var Contacts_InviteSearchLabel: String { return self._s[279]! } + public var ConvertToSupergroup_Title: String { return self._s[280]! } + public func Channel_AdminLog_CaptionEdited(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[281]!, self._r[281]!, [_0]) + } + public var InfoPlist_NSSiriUsageDescription: String { return self._s[282]! } + public var ChatSettings_AutomaticPhotoDownload: String { return self._s[283]! } + public var UserInfo_BotHelp: String { return self._s[284]! } + public var PrivacySettings_LastSeenEverybody: String { return self._s[285]! } + public var Checkout_Name: String { return self._s[286]! } + public var Channel_BanUser_BlockFor: String { return self._s[287]! } + public var Checkout_ShippingAddress: String { return self._s[288]! } + public var Privacy_PaymentsClearInfoDoneHelp: String { return self._s[289]! } + public func SecretVideo_NotViewedYet(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[292]!, self._r[292]!, [_0]) + } + public var Settings_UsernameEmpty: String { return self._s[293]! } + public func TwoStepAuth_ConfirmEmailDescription(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[294]!, self._r[294]!, [_1]) + } + public var Message_ImageExpired: String { return self._s[295]! } + public var TwoStepAuth_RecoveryFailed: String { return self._s[297]! } + public var UserInfo_AddToExisting: String { return self._s[298]! } + public var TwoStepAuth_EnabledSuccess: String { return self._s[299]! } + public var Notifications_GroupNotificationsAlert: String { return self._s[300]! } + public var Passport_Language_km: String { return self._s[301]! } + public var SocksProxySetup_AdNoticeHelp: String { return self._s[303]! } + public var Notification_CallMissedShort: String { return self._s[304]! } + public var ReportPeer_ReasonOther_Send: String { return self._s[305]! } + public var Watch_Compose_Send: String { return self._s[306]! } + public var Passport_Identity_TypeInternalPassportUploadScan: String { return self._s[309]! } + public var Conversation_HoldForVideo: String { return self._s[310]! } + public var CheckoutInfo_ErrorCityInvalid: String { return self._s[312]! } + public var Appearance_AutoNightThemeDisabled: String { return self._s[314]! } + public var Channel_LinkItem: String { return self._s[315]! } + public func PrivacySettings_LastSeenContactsMinusPlus(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[316]!, self._r[316]!, [_0, _1]) } - public var Common_No: String { return self._s[2354]! } - public var Login_EmailNotConfiguredError: String { return self._s[2355]! } - public var Watch_Suggestion_OK: String { return self._s[2356]! } - public var Profile_AddToExisting: String { return self._s[2357]! } public func Passport_Identity_NativeNameTitle(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2359]!, self._r[2359]!, [_0]) + return formatWithArgumentRanges(self._s[319]!, self._r[319]!, [_0]) + } + public var Passport_Language_dv: String { return self._s[320]! } + public var Notifications_ExceptionsMuted: String { return self._s[321]! } + public var Conversation_ContextMenuShare: String { return self._s[322]! } + public var Conversation_ContextMenuStickerPackInfo: String { return self._s[323]! } + public var ShareFileTip_Title: String { return self._s[324]! } + public var NotificationsSound_Chord: String { return self._s[325]! } + public var Passport_Address_EditTemporaryRegistration: String { return self._s[326]! } + public func Notification_Joined(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[327]!, self._r[327]!, [_0]) + } + public var Notification_CallOutgoingShort: String { return self._s[329]! } + public func Watch_Time_ShortFullAt(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[330]!, self._r[330]!, [_1, _2]) + } + public var Passport_Address_TypeUtilityBill: String { return self._s[331]! } + public func MESSAGE_VIDEO_SECRET(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[332]!, self._r[332]!, [_1]) + } + public var ReportPeer_Report: String { return self._s[333]! } + public var GroupInfo_DeactivatedStatus: String { return self._s[334]! } + public var StickerPack_Send: String { return self._s[335]! } + public var Login_CodeSentInternal: String { return self._s[336]! } + public var GroupInfo_InviteLink_LinkSection: String { return self._s[337]! } + public func Channel_AdminLog_MessageDeleted(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[338]!, self._r[338]!, [_0]) + } + public func Conversation_EncryptionWaiting(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[340]!, self._r[340]!, [_0]) + } + public var Channel_BanUser_PermissionSendStickersAndGifs: String { return self._s[341]! } + public var ReportPeer_ReasonViolence: String { return self._s[343]! } + public var Map_Locating: String { return self._s[344]! } + public var AutoDownloadSettings_GroupChats: String { return self._s[346]! } + public var CheckoutInfo_SaveInfo: String { return self._s[347]! } + public var SharedMedia_EmptyLinksText: String { return self._s[349]! } + public var Passport_Address_CityPlaceholder: String { return self._s[350]! } + public var CheckoutInfo_ErrorStateInvalid: String { return self._s[351]! } + public var Channel_AdminLog_CanAddAdmins: String { return self._s[353]! } + public var GroupInfo_InviteLink_RevokeAlert_Success: String { return self._s[354]! } + public func Time_MonthOfYear_m8(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[355]!, self._r[355]!, [_0]) + } + public var InfoPlist_NSLocationWhenInUseUsageDescription: String { return self._s[356]! } + public func PINNED_VIDEO(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[357]!, self._r[357]!, [_1]) + } + public var ChangePhoneNumberCode_Code: String { return self._s[358]! } + public func UserInfo_NotificationsDefaultSound(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[359]!, self._r[359]!, [_0]) + } + public var TwoStepAuth_SetupEmail: String { return self._s[360]! } + public var HashtagSearch_AllChats: String { return self._s[361]! } + public func CHANNEL_MESSAGE_GIF(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[362]!, self._r[362]!, [_1]) + } + public var Permissions_NotificationsTitle: String { return self._s[364]! } + public func Passport_Phone_UseTelegramNumber(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[365]!, self._r[365]!, [_0]) + } + public var PhotoEditor_QualityHigh: String { return self._s[366]! } + public var ApplyLanguage_ApplyLanguageAction: String { return self._s[367]! } + public var Message_LiveLocation: String { return self._s[368]! } + public var Conversation_SendMessage: String { return self._s[369]! } + public var AuthSessions_EmptyTitle: String { return self._s[370]! } + public var Permissions_NotificationsAllowInSettings: String { return self._s[371]! } + public var CallSettings_UseLessData: String { return self._s[372]! } + public var NetworkUsageSettings_MediaDocumentDataSection: String { return self._s[373]! } + public var Stickers_AddToFavorites: String { return self._s[374]! } + public var PhotoEditor_QualityLow: String { return self._s[375]! } + public var Watch_UserInfo_Unblock: String { return self._s[376]! } + public var Settings_Logout: String { return self._s[377]! } + public var ContactInfo_PhoneLabelWork: String { return self._s[378]! } + public func Date_ChatDateHeader(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[379]!, self._r[379]!, [_1, _2]) + } + public func Message_ForwardedMessage(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[380]!, self._r[380]!, [_0]) + } + public var Watch_Notification_Joined: String { return self._s[381]! } + public var Group_Setup_TypePublicHelp: String { return self._s[382]! } + public var Passport_Scans_UploadNew: String { return self._s[383]! } + public var Checkout_LiabilityAlertTitle: String { return self._s[384]! } + public var DialogList_Title: String { return self._s[385]! } + public var NotificationSettings_ContactJoined: String { return self._s[386]! } + public var GroupInfo_LabelAdmin: String { return self._s[387]! } + public var KeyCommand_ChatInfo: String { return self._s[388]! } + public var Conversation_EditingCaptionPanelTitle: String { return self._s[389]! } + public var Call_ReportIncludeLog: String { return self._s[390]! } + public func Notifications_ExceptionsChangeSound(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[393]!, self._r[393]!, [_0]) + } + public var ChatAdmins_AllMembersAreAdmins: String { return self._s[394]! } + public var Message_Sticker: String { return self._s[395]! } + public var LastSeen_JustNow: String { return self._s[397]! } + public var Passport_Email_EmailPlaceholder: String { return self._s[399]! } + public var Channel_AdminLogFilter_EventsEditedMessages: String { return self._s[400]! } + public var Channel_EditAdmin_PermissionsHeader: String { return self._s[401]! } + public var TwoStepAuth_Email: String { return self._s[402]! } + public var PhotoEditor_BlurToolOff: String { return self._s[403]! } + public var Message_PinnedStickerMessage: String { return self._s[404]! } + public var ContactInfo_PhoneLabelPager: String { return self._s[405]! } + public var Passport_DiscardMessageTitle: String { return self._s[406]! } + public var Privacy_PaymentsTitle: String { return self._s[407]! } + public func MESSAGE_FWDS(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[409]!, self._r[409]!, [_1, _2]) + } + public var Appearance_ColorTheme: String { return self._s[410]! } + public var UserInfo_ShareContact: String { return self._s[411]! } + public var Watch_Message_Call: String { return self._s[412]! } + public var Common_More: String { return self._s[413]! } + public var Passport_Address_TypePassportRegistration: String { return self._s[414]! } + public var Profile_EncryptionKey: String { return self._s[417]! } + public var Privacy_TopPeers: String { return self._s[418]! } + public func CHANNEL_MESSAGE_TEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[419]!, self._r[419]!, [_1, _2]) + } + public var Privacy_TopPeersWarning: String { return self._s[421]! } + public var DialogList_SearchSectionMessages: String { return self._s[424]! } + public var Notifications_ChannelNotifications: String { return self._s[425]! } + public var CheckoutInfo_ShippingInfoAddress1Placeholder: String { return self._s[426]! } + public var Passport_Language_sk: String { return self._s[427]! } + public var Notification_MessageLifetime1h: String { return self._s[428]! } + public var Call_ReportSkip: String { return self._s[430]! } + public var Group_ErrorAddTooMuchAdmins: String { return self._s[431]! } + public var Map_Hybrid: String { return self._s[432]! } + public var ChatSettings_AutoDownloadVideos: String { return self._s[435]! } + public var Channel_BanUser_PermissionEmbedLinks: String { return self._s[436]! } + public var InfoPlist_NSLocationAlwaysAndWhenInUseUsageDescription: String { return self._s[437]! } + public var SocksProxySetup_ProxyTelegram: String { return self._s[440]! } + public var Channel_Username_CreatePrivateLinkHelp: String { return self._s[442]! } + public var Conversation_LiveLocationYou: String { return self._s[443]! } + public var UserInfo_ShareBot: String { return self._s[446]! } + public var PhotoEditor_ShadowsTint: String { return self._s[447]! } + public var Message_Audio: String { return self._s[448]! } + public var Passport_Language_lt: String { return self._s[449]! } + public func Message_PinnedTextMessage(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[450]!, self._r[450]!, [_0]) + } + public var Conversation_FileICloudDrive: String { return self._s[451]! } + public var Notifications_Badge_IncludeMutedChats: String { return self._s[452]! } + public func Notification_NewAuthDetected(_ _1: String, _ _2: String, _ _3: String, _ _4: String, _ _5: String, _ _6: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[453]!, self._r[453]!, [_1, _2, _3, _4, _5, _6]) + } + public var DialogList_ProxyConnectionIssuesTooltip: String { return self._s[454]! } + public func Time_MonthOfYear_m5(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[455]!, self._r[455]!, [_0]) + } + public var Channel_SignMessages: String { return self._s[456]! } + public var Compose_ChannelTokenListPlaceholder: String { return self._s[457]! } + public var Passport_ScanPassport: String { return self._s[458]! } + public var Watch_Message_Invoice: String { return self._s[459]! } + public var Watch_Suggestion_Thanks: String { return self._s[460]! } + public var BlockedUsers_AddNew: String { return self._s[461]! } + public var Month_GenJuly: String { return self._s[462]! } + public var SocksProxySetup_ProxySocks5: String { return self._s[463]! } + public func CHAT_MESSAGE_PHOTO(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[464]!, self._r[464]!, [_1, _2]) + } + public var Notification_ChannelInviterSelf: String { return self._s[466]! } + public var CheckoutInfo_ReceiverInfoEmail: String { return self._s[467]! } + public func ApplyLanguage_ChangeLanguageUnofficialText(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[468]!, self._r[468]!, [_1, _2]) + } + public var CheckoutInfo_Title: String { return self._s[469]! } + public var Watch_Stickers_RecentPlaceholder: String { return self._s[470]! } + public func Map_DistanceAway(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[471]!, self._r[471]!, [_0]) + } + public var TwoStepAuth_ConfirmEmailResendCode: String { return self._s[472]! } + public var Passport_Identity_MainPage: String { return self._s[473]! } + public var Passport_Language_de: String { return self._s[474]! } + public var Update_Title: String { return self._s[475]! } + public var ContactInfo_PhoneLabelWorkFax: String { return self._s[476]! } + public var Channel_AdminLog_BanEmbedLinks: String { return self._s[477]! } + public var Passport_Email_UseTelegramEmailHelp: String { return self._s[478]! } + public var Notifications_ChannelNotificationsPreview: String { return self._s[479]! } + public var NotificationsSound_Telegraph: String { return self._s[480]! } + public var Watch_LastSeen_ALongTimeAgo: String { return self._s[481]! } + public var ChannelMembers_WhoCanAddMembers: String { return self._s[482]! } + public func AutoDownloadSettings_UpTo(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[483]!, self._r[483]!, [_0]) + } + public var Stickers_SuggestAll: String { return self._s[484]! } + public var Conversation_ForwardTitle: String { return self._s[485]! } + public func Notification_JoinedChannel(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[486]!, self._r[486]!, [_0]) + } + public var Calls_NewCall: String { return self._s[487]! } + public var Call_StatusEnded: String { return self._s[488]! } + public var Settings_ProxyConnected: String { return self._s[489]! } + public var Channel_AdminLogFilter_EventsPinned: String { return self._s[490]! } + public var PhotoEditor_QualityVeryLow: String { return self._s[491]! } + public var Channel_AdminLogFilter_EventsDeletedMessages: String { return self._s[492]! } + public var Passport_PasswordPlaceholder: String { return self._s[493]! } + public var Message_PinnedInvoice: String { return self._s[494]! } + public var Passport_Identity_IssueDate: String { return self._s[495]! } + public var Passport_Language_pl: String { return self._s[496]! } + public func ChannelInfo_ChannelForbidden(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[497]!, self._r[497]!, [_0]) + } + public var SocksProxySetup_PasteFromClipboard: String { return self._s[498]! } + public var Call_StatusConnecting: String { return self._s[499]! } + public func Username_UsernameIsAvailable(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[500]!, self._r[500]!, [_0]) + } + public var ChatSettings_ConnectionType_UseProxy: String { return self._s[502]! } + public var Common_Edit: String { return self._s[503]! } + public var PrivacySettings_LastSeenNobody: String { return self._s[504]! } + public func Notification_LeftChat(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[505]!, self._r[505]!, [_0]) + } + public var GroupInfo_ChatAdmins: String { return self._s[506]! } + public var PrivateDataSettings_Title: String { return self._s[507]! } + public var ChatList_Read: String { return self._s[508]! } + public var Login_CancelPhoneVerificationStop: String { return self._s[509]! } + public var Checkout_ErrorPaymentFailed: String { return self._s[511]! } + public var Update_UpdateApp: String { return self._s[512]! } + public var Group_Username_RevokeExistingUsernamesInfo: String { return self._s[513]! } + public var Settings_Appearance: String { return self._s[514]! } + public var Watch_Location_Access: String { return self._s[515]! } + public var ShareMenu_CopyShareLink: String { return self._s[517]! } + public var TwoStepAuth_SetupHintTitle: String { return self._s[518]! } + public func PHONE_CALL_MISSED(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[520]!, self._r[520]!, [_1]) + } + public func CHAT_MESSAGE_PHOTOS(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[521]!, self._r[521]!, [_1, _2, _3]) + } + public func DialogList_SingleRecordingVideoMessageSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[522]!, self._r[522]!, [_0]) + } + public var Notifications_ClassicTones: String { return self._s[523]! } + public var Weekday_ShortWednesday: String { return self._s[524]! } + public var Conversation_LinkDialogCopy: String { return self._s[527]! } + public var KeyCommand_FocusOnInputField: String { return self._s[528]! } + public var Contacts_SelectAll: String { return self._s[529]! } + public var Preview_SaveToCameraRoll: String { return self._s[530]! } + public func CHANNEL_MESSAGE_GAME(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[531]!, self._r[531]!, [_1, _2]) + } + public var Wallpaper_Title: String { return self._s[532]! } + public var Conversation_FilePhotoOrVideo: String { return self._s[533]! } + public var AccessDenied_Camera: String { return self._s[534]! } + public var Watch_Compose_CurrentLocation: String { return self._s[535]! } + public func SecretImage_NotViewedYet(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[537]!, self._r[537]!, [_0]) + } + public var GroupInfo_InvitationLinkDoesNotExist: String { return self._s[538]! } + public var Passport_Language_ro: String { return self._s[539]! } + public var CheckoutInfo_SaveInfoHelp: String { return self._s[540]! } + public func Notification_SecretChatMessageScreenshot(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[541]!, self._r[541]!, [_0]) + } + public var Login_CancelPhoneVerification: String { return self._s[542]! } + public var State_ConnectingToProxy: String { return self._s[543]! } + public var Calls_RatingTitle: String { return self._s[544]! } + public var Generic_ErrorMoreInfo: String { return self._s[545]! } + public var Appearance_PreviewReplyText: String { return self._s[546]! } + public var CheckoutInfo_ShippingInfoPostcodePlaceholder: String { return self._s[547]! } + public var SharedMedia_CategoryLinks: String { return self._s[548]! } + public var Calls_Missed: String { return self._s[549]! } + public var Cache_Photos: String { return self._s[553]! } + public func Channel_AdminLog_MessageUnpinned(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[554]!, self._r[554]!, [_0]) + } + public var Conversation_ShareBotLocationConfirmationTitle: String { return self._s[555]! } + public var Settings_ProxyDisabled: String { return self._s[556]! } + public func Settings_ApplyProxyAlertCredentials(_ _1: String, _ _2: String, _ _3: String, _ _4: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[557]!, self._r[557]!, [_1, _2, _3, _4]) + } + public func Conversation_RestrictedMediaTimed(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[558]!, self._r[558]!, [_0]) + } + public var Appearance_Title: String { return self._s[559]! } + public func Time_MonthOfYear_m2(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[561]!, self._r[561]!, [_0]) + } + public func CHANNEL_MESSAGE_DOC(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[562]!, self._r[562]!, [_1]) + } + public func PINNED_DOC(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[563]!, self._r[563]!, [_1]) + } + public var StickerPacksSettings_ShowStickersButtonHelp: String { return self._s[564]! } + public var Channel_EditMessageErrorGeneric: String { return self._s[565]! } + public var Privacy_Calls_IntegrationHelp: String { return self._s[566]! } + public var Preview_DeletePhoto: String { return self._s[567]! } + public var PrivacySettings_PrivacyTitle: String { return self._s[568]! } + public func Conversation_BotInteractiveUrlAlert(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[569]!, self._r[569]!, [_0]) + } + public var Coub_TapForSound: String { return self._s[571]! } + public var Map_LocatingError: String { return self._s[572]! } + public func CHAT_MESSAGE_TEXT(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[574]!, self._r[574]!, [_1, _2, _3]) + } + public var TwoStepAuth_EmailChangeSuccess: String { return self._s[575]! } + public var Passport_ForgottenPassword: String { return self._s[576]! } + public var GroupInfo_InviteLink_RevokeLink: String { return self._s[577]! } + public var StickerPacksSettings_ArchivedPacks: String { return self._s[578]! } + public func PINNED_STICKER(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[580]!, self._r[580]!, [_1, _2]) + } + public var Login_TermsOfServiceSignupDecline: String { return self._s[581]! } + public var Channel_Moderator_AccessLevelRevoke: String { return self._s[582]! } + public var Message_Location: String { return self._s[583]! } + public var Passport_Identity_NamePlaceholder: String { return self._s[584]! } + public var Channel_Management_Title: String { return self._s[585]! } + public var DialogList_SearchSectionDialogs: String { return self._s[587]! } + public var Compose_NewChannel_Members: String { return self._s[588]! } + public func DialogList_SingleUploadingFileSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[589]!, self._r[589]!, [_0]) + } + public var AutoNightTheme_ScheduledFrom: String { return self._s[590]! } + public var PhotoEditor_WarmthTool: String { return self._s[591]! } + public var Passport_Language_tr: String { return self._s[592]! } + public var Login_ResetAccountProtected_Reset: String { return self._s[594]! } + public var Watch_PhotoView_Title: String { return self._s[595]! } + public func MESSAGES(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[596]!, self._r[596]!, [_1, _2]) + } + public var Passport_Phone_Delete: String { return self._s[597]! } + public var Conversation_EditingMessageMediaEditCurrentPhoto: String { return self._s[598]! } + public var PasscodeSettings_TurnPasscodeOff: String { return self._s[599]! } + public var Profile_ShareContactButton: String { return self._s[600]! } + public var ChatSettings_Other: String { return self._s[601]! } + public var UserInfo_NotificationsDisabled: String { return self._s[602]! } + public var CheckoutInfo_ShippingInfoCity: String { return self._s[603]! } + public var LastSeen_WithinAMonth: String { return self._s[604]! } + public var Channel_AdminLog_BanSendStickers: String { return self._s[605]! } + public var Conversation_EncryptionCanceled: String { return self._s[606]! } + public var MediaPicker_GroupDescription: String { return self._s[607]! } + public var WebSearch_Images: String { return self._s[608]! } + public func Channel_Management_PromotedBy(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[609]!, self._r[609]!, [_0]) + } + public var Message_Photo: String { return self._s[610]! } + public var PasscodeSettings_HelpBottom: String { return self._s[611]! } + public var AutoDownloadSettings_VideosTitle: String { return self._s[612]! } + public var Passport_Identity_AddDriversLicense: String { return self._s[613]! } + public var TwoStepAuth_EnterPasswordPassword: String { return self._s[614]! } + public var NotificationsSound_Calypso: String { return self._s[615]! } + public var Map_Map: String { return self._s[616]! } + public var CheckoutInfo_ReceiverInfoTitle: String { return self._s[618]! } + public var ChatSettings_TextSizeUnits: String { return self._s[619]! } + public var Common_of: String { return self._s[620]! } + public var Conversation_ForwardContacts: String { return self._s[622]! } + public var Passport_Language_hy: String { return self._s[623]! } + public var Notifications_MessageNotificationsHelp: String { return self._s[624]! } + public var AutoDownloadSettings_Reset: String { return self._s[625]! } + public var Permissions_CellularDataText: String { return self._s[626]! } + public var Paint_ClearConfirm: String { return self._s[627]! } + public var Camera_VideoMode: String { return self._s[628]! } + public func MESSAGE_NOTEXT(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[629]!, self._r[629]!, [_1]) + } + public var Privacy_Calls_AlwaysAllow_Placeholder: String { return self._s[630]! } + public func Conversation_RestrictedStickersTimed(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[631]!, self._r[631]!, [_0]) + } + public var Passport_Language_el: String { return self._s[632]! } + public var PhotoEditor_Original: String { return self._s[633]! } + public var Settings_FAQ_Button: String { return self._s[634]! } + public var Channel_Setup_PublicNoLink: String { return self._s[636]! } + public var Conversation_UnsupportedMedia: String { return self._s[637]! } + public var Conversation_SlideToCancel: String { return self._s[638]! } + public var Passport_Identity_OneOfTypeInternalPassport: String { return self._s[639]! } + public var CheckoutInfo_ShippingInfoPostcode: String { return self._s[640]! } + public var AutoNightTheme_NotAvailable: String { return self._s[641]! } + public var Common_Create: String { return self._s[642]! } + public var Settings_ApplyProxyAlertEnable: String { return self._s[643]! } + public var Localization_ChooseLanguage: String { return self._s[645]! } + public var Settings_Proxy: String { return self._s[648]! } + public var Privacy_TopPeersHelp: String { return self._s[649]! } + public var CheckoutInfo_ShippingInfoCountryPlaceholder: String { return self._s[650]! } + public var TwoStepAuth_ConfirmationAbort: String { return self._s[651]! } + public func Contacts_AccessDeniedHelpPortrait(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[653]!, self._r[653]!, [_0]) + } + public var Passport_Identity_SurnamePlaceholder: String { return self._s[654]! } + public var Cache_Title: String { return self._s[655]! } + public var TwoStepAuth_EmailCodeExpired: String { return self._s[656]! } + public var Channel_Moderator_Title: String { return self._s[657]! } + public var InstantPage_AutoNightTheme: String { return self._s[659]! } + public var Passport_Scans_Upload: String { return self._s[663]! } + public var Contacts_AccessDeniedHelpON: String { return self._s[664]! } + public var TwoStepAuth_RemovePassword: String { return self._s[665]! } + public var Common_Delete: String { return self._s[666]! } + public var Conversation_ContextMenuDelete: String { return self._s[668]! } + public var SocksProxySetup_Credentials: String { return self._s[669]! } + public var PasscodeSettings_AutoLock_Disabled: String { return self._s[671]! } + public var Passport_Address_OneOfTypeRentalAgreement: String { return self._s[674]! } + public var Conversation_ShareBotContactConfirmationTitle: String { return self._s[675]! } + public var Passport_Language_id: String { return self._s[677]! } + public var ChannelIntro_Title: String { return self._s[678]! } + public func Channel_AdminLog_MessageToggleSignaturesOff(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[679]!, self._r[679]!, [_0]) } public func PINNED_NOTEXT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2360]!, self._r[2360]!, [_1]) + return formatWithArgumentRanges(self._s[681]!, self._r[681]!, [_1]) } - public func Login_EmailCodeBody(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2361]!, self._r[2361]!, [_0]) + public var Channel_Info_Description: String { return self._s[682]! } + public var Stickers_FavoriteStickers: String { return self._s[683]! } + public var Notifications_DisplayNamesOnLockScreen: String { return self._s[684]! } + public var Calls_NoMissedCallsPlacehoder: String { return self._s[685]! } + public var Notifications_ExceptionsDefaultSound: String { return self._s[686]! } + public func DialogList_SearchSubtitleFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[687]!, self._r[687]!, [_1, _2]) } - public var NotificationsSound_Keys: String { return self._s[2362]! } - public var Passport_Phone_Title: String { return self._s[2364]! } - public var Profile_About: String { return self._s[2365]! } - public func EncryptionKey_Description(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2366]!, self._r[2366]!, [_1, _2]) + public func Channel_AdminLog_MessageRemovedGroupStickerPack(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[688]!, self._r[688]!, [_0]) } - public var Conversation_UnreadMessages: String { return self._s[2367]! } - public func DialogList_LiveLocationSharingTo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2368]!, self._r[2368]!, [_0]) + public var Passport_Language_uk: String { return self._s[689]! } + public var StickerPack_HideStickers: String { return self._s[691]! } + public var ChangePhoneNumberNumber_NumberPlaceholder: String { return self._s[692]! } + public var Activity_UploadingVideoMessage: String { return self._s[693]! } + public var Channel_TitleInfo: String { return self._s[694]! } + public var StickerPacksSettings_ArchivedPacks_Info: String { return self._s[695]! } + public var Settings_CallSettings: String { return self._s[696]! } + public var Camera_SquareMode: String { return self._s[697]! } + public var GroupInfo_SharedMediaNone: String { return self._s[698]! } + public var Bot_GenericBotStatus: String { return self._s[699]! } + public var Application_Update: String { return self._s[701]! } + public var Month_ShortJanuary: String { return self._s[702]! } + public var Channel_AdminLog_BanReadMessages: String { return self._s[703]! } + public var Settings_AppLanguage_Unofficial: String { return self._s[704]! } + public var Passport_Address_Street2Placeholder: String { return self._s[705]! } + public func Map_LiveLocationShortHour(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[706]!, self._r[706]!, [_0]) } - public var Tour_Title3: String { return self._s[2369]! } - public var Passport_Identity_FrontSide: String { return self._s[2370]! } - public var PrivacyLastSeenSettings_GroupsAndChannelsHelp: String { return self._s[2371]! } - public var Watch_Contacts_NoResults: String { return self._s[2372]! } - public var Passport_Language_id: String { return self._s[2373]! } - public var Passport_Identity_TypeIdentityCardUploadScan: String { return self._s[2374]! } - public var Watch_UserInfo_MuteTitle: String { return self._s[2375]! } - public func Privacy_GroupsAndChannels_InviteToGroupError(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2378]!, self._r[2378]!, [_0, _1]) + public var NetworkUsageSettings_Cellular: String { return self._s[707]! } + public var Appearance_PreviewOutgoingText: String { return self._s[708]! } + public var Notifications_PermissionsAllowInSettings: String { return self._s[709]! } + public var Map_Directions: String { return self._s[710]! } + public var Passport_FieldIdentityTranslationHelp: String { return self._s[712]! } + public var Appearance_ThemeDay: String { return self._s[713]! } + public var Passport_Identity_AddPassport: String { return self._s[714]! } + public var Call_Message: String { return self._s[715]! } + public var PhotoEditor_ExposureTool: String { return self._s[716]! } + public var Passport_FieldOneOf_Delimeter: String { return self._s[718]! } + public var Channel_AdminLog_CanBanUsers: String { return self._s[720]! } + public func PINNED_CONTACT(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[721]!, self._r[721]!, [_1]) } - public func Message_PinnedTextMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2380]!, self._r[2380]!, [_0]) + public var Appearance_Preview: String { return self._s[722]! } + public var Compose_ChannelMembers: String { return self._s[723]! } + public var Conversation_DeleteManyMessages: String { return self._s[724]! } + public var ReportPeer_ReasonOther_Title: String { return self._s[725]! } + public var Checkout_ErrorProviderAccountTimeout: String { return self._s[726]! } + public var TwoStepAuth_ResetAccountConfirmation: String { return self._s[727]! } + public var Channel_Stickers_CreateYourOwn: String { return self._s[729]! } + public func Notification_PinnedPhotoMessage(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[730]!, self._r[730]!, [_0]) + } + public func MESSAGE_GAME(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[731]!, self._r[731]!, [_1, _2]) + } + public func PrivacySettings_LastSeenNobodyPlus(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[732]!, self._r[732]!, [_0]) + } + public var Tour_Title3: String { return self._s[733]! } + public var Clipboard_SendPhoto: String { return self._s[737]! } + public var MediaPicker_Videos: String { return self._s[738]! } + public var Passport_Email_Title: String { return self._s[739]! } + public func PrivacySettings_LastSeenEverybodyMinus(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[740]!, self._r[740]!, [_0]) + } + public var StickerPacksSettings_Title: String { return self._s[741]! } + public var Conversation_MessageDialogDelete: String { return self._s[742]! } + public var Privacy_Calls_CustomHelp: String { return self._s[744]! } + public var Core_ServiceUserStatus: String { return self._s[745]! } + public var LiveLocationUpdated_JustNow: String { return self._s[746]! } + public func CHAT_DELETE_YOU(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[747]!, self._r[747]!, [_1, _2]) + } + public var Call_StatusFailed: String { return self._s[748]! } + public var TwoStepAuth_SetupPasswordDescription: String { return self._s[749]! } + public var TwoStepAuth_SetPassword: String { return self._s[750]! } + public func SocksProxySetup_ProxyStatusPing(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[752]!, self._r[752]!, [_0]) + } + public var Calls_SubmitRating: String { return self._s[753]! } + public var Profile_Username: String { return self._s[754]! } + public var Bot_DescriptionTitle: String { return self._s[755]! } + public var MaskStickerSettings_Title: String { return self._s[756]! } + public var SharedMedia_CategoryOther: String { return self._s[757]! } + public var GroupInfo_SetGroupPhoto: String { return self._s[758]! } + public var Common_NotNow: String { return self._s[759]! } + public var Map_Location: String { return self._s[760]! } + public var Invitation_JoinGroup: String { return self._s[761]! } + public var AutoDownloadSettings_Title: String { return self._s[762]! } + public var Conversation_DiscardVoiceMessageDescription: String { return self._s[763]! } + public var Channel_ErrorAddBlocked: String { return self._s[764]! } + public var Conversation_UnblockUser: String { return self._s[765]! } + public var Watch_Bot_Restart: String { return self._s[766]! } + public var TwoStepAuth_Title: String { return self._s[767]! } + public var Channel_AdminLog_BanSendMessages: String { return self._s[768]! } + public var Checkout_ShippingMethod: String { return self._s[769]! } + public var Passport_Identity_OneOfTypeIdentityCard: String { return self._s[770]! } + public func Channel_Username_LinkHint(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[772]!, self._r[772]!, [_0]) + } + public var AuthSessions_TerminateOtherSessions: String { return self._s[773]! } + public var Contacts_FailedToSendInvitesMessage: String { return self._s[774]! } + public var PrivacySettings_TwoStepAuth: String { return self._s[775]! } + public var Conversation_EditingMessagePanelMedia: String { return self._s[776]! } + public var Checkout_PaymentMethod_Title: String { return self._s[777]! } + public var SocksProxySetup_Connection: String { return self._s[778]! } + public var Group_MessagePhotoRemoved: String { return self._s[779]! } + public var Channel_Stickers_NotFound: String { return self._s[781]! } + public var Group_About_Help: String { return self._s[782]! } + public var Notification_PassportValueProofOfIdentity: String { return self._s[784]! } + public func ApplyLanguage_ChangeLanguageOfficialText(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[785]!, self._r[785]!, [_1]) + } + public var CheckoutInfo_ShippingInfoStatePlaceholder: String { return self._s[787]! } + public var Notifications_GroupNotificationsExceptionsHelp: String { return self._s[788]! } + public var SocksProxySetup_Password: String { return self._s[789]! } + public var TwoStepAuth_ChangeEmail: String { return self._s[791]! } + public func MESSAGE_TEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[792]!, self._r[792]!, [_1, _2]) + } + public func Channel_AdminLog_MessageInvitedName(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[793]!, self._r[793]!, [_1]) + } + public func Time_MonthOfYear_m10(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[795]!, self._r[795]!, [_0]) + } + public var Passport_Identity_TypeDriversLicense: String { return self._s[796]! } + public var ArchivedPacksAlert_Title: String { return self._s[797]! } + public func Time_PreciseDate_m7(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[798]!, self._r[798]!, [_1, _2, _3]) + } + public var PrivacyLastSeenSettings_GroupsAndChannelsHelp: String { return self._s[799]! } + public var Privacy_Calls_NeverAllow_Placeholder: String { return self._s[800]! } + public var Conversation_StatusTyping: String { return self._s[801]! } + public var Broadcast_AdminLog_EmptyText: String { return self._s[802]! } + public var Notification_PassportValueProofOfAddress: String { return self._s[803]! } + public var UserInfo_CreateNewContact: String { return self._s[804]! } + public var Passport_Identity_FrontSide: String { return self._s[805]! } + public var Calls_CallTabTitle: String { return self._s[806]! } + public var Channel_AdminLog_ChannelEmptyText: String { return self._s[807]! } + public func Login_BannedPhoneBody(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[808]!, self._r[808]!, [_0]) + } + public var Watch_UserInfo_MuteTitle: String { return self._s[809]! } + public var SharedMedia_EmptyMusicText: String { return self._s[810]! } + public var PasscodeSettings_AutoLock_IfAwayFor_1minute: String { return self._s[811]! } + public var Paint_Stickers: String { return self._s[812]! } + public var Privacy_GroupsAndChannels: String { return self._s[813]! } + public var UserInfo_AddContact: String { return self._s[815]! } + public func Conversation_MessageViaUser(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[816]!, self._r[816]!, [_0]) + } + public var PhoneNumberHelp_ChangeNumber: String { return self._s[818]! } + public var DialogList_NoMessagesTitle: String { return self._s[820]! } + public var EditProfile_NameAndPhotoHelp: String { return self._s[821]! } + public var BlockedUsers_BlockUser: String { return self._s[822]! } + public var MediaPicker_UngroupDescription: String { return self._s[823]! } + public var Watch_NoConnection: String { return self._s[824]! } + public var Month_GenSeptember: String { return self._s[825]! } + public var Conversation_ViewGroup: String { return self._s[826]! } + public var Channel_AdminLogFilter_EventsLeavingSubscribers: String { return self._s[829]! } + public var Passport_FieldOneOf_FinalDelimeter: String { return self._s[830]! } + public var MediaPicker_CameraRoll: String { return self._s[832]! } + public var Month_GenAugust: String { return self._s[833]! } + public var AccessDenied_VideoMessageMicrophone: String { return self._s[834]! } + public var SharedMedia_EmptyText: String { return self._s[835]! } + public var Map_ShareLiveLocation: String { return self._s[836]! } + public var Calls_All: String { return self._s[837]! } + public var Appearance_ThemeNight: String { return self._s[840]! } + public var Conversation_HoldForAudio: String { return self._s[841]! } + public var GroupInfo_GroupHistoryHidden: String { return self._s[844]! } + public var SocksProxySetup_Secret: String { return self._s[845]! } + public var Channel_BanList_RestrictedTitle: String { return self._s[847]! } + public var Conversation_Location: String { return self._s[848]! } + public var ChatSettings_AutoDownloadPhotos: String { return self._s[850]! } + public var Notifications_PermissionsText: String { return self._s[851]! } + public var SocksProxySetup_ProxyStatusConnecting: String { return self._s[852]! } + public var Channel_EditAdmin_PermissionPinMessages: String { return self._s[854]! } + public var TwoStepAuth_ReEnterPasswordDescription: String { return self._s[855]! } + public var Passport_DeletePassportConfirmation: String { return self._s[858]! } + public var Login_InvalidCodeError: String { return self._s[859]! } + public var StickerPacksSettings_FeaturedPacks: String { return self._s[860]! } + public func GroupInfo_InvitationLinkAcceptChannel(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[861]!, self._r[861]!, [_0]) + } + public var Call_CallInProgressTitle: String { return self._s[862]! } + public var Month_ShortSeptember: String { return self._s[863]! } + public var Watch_ChannelInfo_Title: String { return self._s[864]! } + public var DialogList_PasscodeLockHelp: String { return self._s[867]! } + public var Notifications_Badge_IncludePublicGroups: String { return self._s[868]! } + public var Channel_AdminLogFilter_EventsTitle: String { return self._s[869]! } + public var PhotoEditor_CropReset: String { return self._s[870]! } + public var Group_Username_CreatePrivateLinkHelp: String { return self._s[872]! } + public var Channel_Management_LabelEditor: String { return self._s[873]! } + public var Passport_Identity_LatinNameHelp: String { return self._s[875]! } + public var PhotoEditor_HighlightsTool: String { return self._s[876]! } + public var UserInfo_Title: String { return self._s[877]! } + public var AccessDenied_Title: String { return self._s[878]! } + public var DialogList_SearchLabel: String { return self._s[879]! } + public var Group_Setup_HistoryHidden: String { return self._s[880]! } + public var TwoStepAuth_PasswordChangeSuccess: String { return self._s[881]! } + public var State_Updating: String { return self._s[883]! } + public var Contacts_TabTitle: String { return self._s[884]! } + public var Notifications_Badge_CountUnreadMessages: String { return self._s[886]! } + public var GroupInfo_GroupHistory: String { return self._s[887]! } + public var CheckoutInfo_ShippingInfoCountry: String { return self._s[888]! } + public var Passport_Identity_OneOfTypeDriversLicense: String { return self._s[889]! } + public var Contacts_NotRegisteredSection: String { return self._s[890]! } + public func Time_PreciseDate_m4(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[891]!, self._r[891]!, [_1, _2, _3]) + } + public var Paint_Clear: String { return self._s[892]! } + public var StickerPacksSettings_ArchivedMasks: String { return self._s[893]! } + public var SocksProxySetup_Connecting: String { return self._s[894]! } + public var ExplicitContent_AlertChannel: String { return self._s[895]! } + public var Conversation_Contact: String { return self._s[896]! } + public var Login_CodeExpired: String { return self._s[897]! } + public var Passport_DiscardMessageAction: String { return self._s[898]! } + public var Channel_AdminLog_MessagePreviousDescription: String { return self._s[899]! } + public var Channel_AdminLog_EmptyMessageText: String { return self._s[900]! } + public var Month_ShortApril: String { return self._s[901]! } + public var AuthSessions_CurrentSession: String { return self._s[902]! } + public var PrivacySettings_DeleteAccountIfAwayFor: String { return self._s[906]! } + public var CheckoutInfo_ShippingInfoTitle: String { return self._s[907]! } + public var Channel_Setup_TypePrivate: String { return self._s[909]! } + public var Forward_ChannelReadOnly: String { return self._s[912]! } + public var PhotoEditor_CurvesBlue: String { return self._s[913]! } + public var UserInfo_BotPrivacy: String { return self._s[914]! } + public var Notification_PassportValueEmail: String { return self._s[915]! } + public var Channel_SignMessages_Help: String { return self._s[917]! } + public func CHAT_LEFT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[919]!, self._r[919]!, [_1, _2]) + } + public var ChannelMembers_WhoCanAddMembers_Admins: String { return self._s[920]! } + public var FastTwoStepSetup_EmailPlaceholder: String { return self._s[921]! } + public var Passport_Language_pt: String { return self._s[922]! } + public var NotificationsSound_Popcorn: String { return self._s[925]! } + public var AutoNightTheme_Disabled: String { return self._s[926]! } + public var BlockedUsers_LeavePrefix: String { return self._s[927]! } + public func CancelResetAccount_TextSMS(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[928]!, self._r[928]!, [_0]) + } + public var CheckoutInfo_ErrorNameInvalid: String { return self._s[929]! } + public var SocksProxySetup_UseForCalls: String { return self._s[930]! } + public var Passport_DeleteDocumentConfirmation: String { return self._s[931]! } + public func Conversation_Megabytes(_ _0: Float) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[932]!, self._r[932]!, ["\(_0)"]) + } + public var SocksProxySetup_Hostname: String { return self._s[934]! } + public var Compose_NewEncryptedChat: String { return self._s[935]! } + public var Login_CodeFloodError: String { return self._s[936]! } + public var Calls_TabTitle: String { return self._s[937]! } + public var Passport_Language_he: String { return self._s[938]! } + public func Channel_AdminLog_MessageGroupPreHistoryHidden(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[939]!, self._r[939]!, [_0]) + } + public var Tour_Text1: String { return self._s[940]! } + public var Month_ShortFebruary: String { return self._s[941]! } + public var TwoStepAuth_EmailSkip: String { return self._s[942]! } + public var NotificationsSound_Glass: String { return self._s[943]! } + public var Appearance_ThemeNightBlue: String { return self._s[944]! } + public var CheckoutInfo_Pay: String { return self._s[945]! } + public var Invite_LargeRecipientsCountWarning: String { return self._s[947]! } + public var Call_CallAgain: String { return self._s[949]! } + public var AttachmentMenu_SendAsFile: String { return self._s[950]! } + public var Watch_Message_Game: String { return self._s[951]! } + public var AccessDenied_MicrophoneRestricted: String { return self._s[952]! } + public var Passport_InvalidPasswordError: String { return self._s[953]! } + public func PINNED_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[954]!, self._r[954]!, [_1]) + } + public var Stickers_Install: String { return self._s[955]! } + public var PrivacyLastSeenSettings_NeverShareWith: String { return self._s[956]! } + public var Passport_Identity_ResidenceCountry: String { return self._s[958]! } + public var Notifications_GroupNotificationsHelp: String { return self._s[959]! } + public var AuthSessions_OtherSessions: String { return self._s[960]! } + public var Channel_Username_Help: String { return self._s[961]! } + public var Camera_Title: String { return self._s[962]! } + public var GroupInfo_SetGroupPhotoDelete: String { return self._s[964]! } + public var Channel_AdminLog_TitleAllEvents: String { return self._s[965]! } + public var Contacts_MemberSearchSectionTitleGroup: String { return self._s[966]! } + public var Conversation_RestrictedStickers: String { return self._s[967]! } + public var Notifications_ExceptionsResetToDefaults: String { return self._s[969]! } + public var UserInfo_TelegramCall: String { return self._s[971]! } + public var TwoStepAuth_SetupResendEmailCode: String { return self._s[972]! } + public var Privacy_GroupsAndChannels_AlwaysAllow_Title: String { return self._s[973]! } + public var Passport_Identity_EditPersonalDetails: String { return self._s[974]! } + public func Time_PreciseDate_m1(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[975]!, self._r[975]!, [_1, _2, _3]) + } + public var Settings_SaveEditedPhotos: String { return self._s[976]! } + public var TwoStepAuth_ConfirmationTitle: String { return self._s[977]! } + public var Privacy_GroupsAndChannels_NeverAllow_Title: String { return self._s[978]! } + public var Conversation_MessageDialogRetry: String { return self._s[979]! } + public var Conversation_DiscardVoiceMessageAction: String { return self._s[980]! } + public var Group_Setup_TypeHeader: String { return self._s[981]! } + public var Paint_RecentStickers: String { return self._s[982]! } + public var PhotoEditor_GrainTool: String { return self._s[983]! } + public var CheckoutInfo_ShippingInfoState: String { return self._s[984]! } + public var Watch_AuthRequired: String { return self._s[986]! } + public func Passport_Email_UseTelegramEmail(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[987]!, self._r[987]!, [_0]) + } + public func CHANNEL_MESSAGE_PHOTOS(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[988]!, self._r[988]!, [_1, _2]) + } + public var Conversation_EncryptedDescriptionTitle: String { return self._s[989]! } + public var ChannelIntro_Text: String { return self._s[990]! } + public var DialogList_DeleteBotConfirmation: String { return self._s[991]! } + public var Calls_AddTab: String { return self._s[992]! } + public var Message_ReplyActionButtonShowReceipt: String { return self._s[993]! } + public var Channel_AdminLog_EmptyFilterText: String { return self._s[994]! } + public var Notification_MessageLifetime1d: String { return self._s[995]! } + public var Notifications_ChannelNotificationsExceptionsHelp: String { return self._s[996]! } + public var Channel_BanUser_PermissionsHeader: String { return self._s[997]! } + public var Passport_Identity_GenderFemale: String { return self._s[998]! } + public var BlockedUsers_BlockTitle: String { return self._s[999]! } + public func MESSAGE_AUDIO(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1000]!, self._r[1000]!, [_1]) + } + public var Weekday_Yesterday: String { return self._s[1001]! } + public var AutoNightTheme_Scheduled: String { return self._s[1002]! } + public var PrivacyPolicy_DeclineDeleteNow: String { return self._s[1003]! } + public var Permissions_SiriText: String { return self._s[1004]! } + public var Channel_Members_AddBannedErrorAdmin: String { return self._s[1005]! } + public func Notification_CallFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1006]!, self._r[1006]!, [_1, _2]) + } + public var Checkout_ErrorProviderAccountInvalid: String { return self._s[1007]! } + public var Notifications_InAppNotificationsSounds: String { return self._s[1008]! } + public var Preview_OpenInInstagram: String { return self._s[1009]! } + public var Notification_MessageLifetimeRemovedOutgoing: String { return self._s[1010]! } + public var Permissions_NotificationsAllow: String { return self._s[1011]! } + public func Passport_PrivacyPolicy(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1012]!, self._r[1012]!, [_1, _2]) + } + public var Channel_AdminLog_InfoPanelAlertTitle: String { return self._s[1013]! } + public var NetworkUsageSettings_TotalSection: String { return self._s[1014]! } + public var Channel_Setup_TypePrivateHelp: String { return self._s[1015]! } + public var Wallpaper_PhotoLibrary: String { return self._s[1017]! } + public var Privacy_GroupsAndChannels_NeverAllow_Placeholder: String { return self._s[1018]! } + public var FastTwoStepSetup_HintSection: String { return self._s[1019]! } + public var TwoStepAuth_SetupResendEmailCodeAlert: String { return self._s[1020]! } + public var Watch_LastSeen_WithinAMonth: String { return self._s[1021]! } + public var GroupInfo_ActionPromote: String { return self._s[1022]! } + public var PasscodeSettings_SimplePasscode: String { return self._s[1023]! } + public var PrivacySettings_DataSettingsHelp: String { return self._s[1026]! } + public var Passport_FieldEmailHelp: String { return self._s[1027]! } + public var Passport_Identity_GenderPlaceholder: String { return self._s[1028]! } + public var Weekday_ShortSaturday: String { return self._s[1029]! } + public var ContactInfo_PhoneLabelMain: String { return self._s[1030]! } + public var Watch_Conversation_UserInfo: String { return self._s[1031]! } + public var CheckoutInfo_ShippingInfoCityPlaceholder: String { return self._s[1032]! } + public var PrivacyLastSeenSettings_Title: String { return self._s[1033]! } + public var Conversation_ShareBotLocationConfirmation: String { return self._s[1034]! } + public var PhotoEditor_VignetteTool: String { return self._s[1035]! } + public var Passport_Address_Street1Placeholder: String { return self._s[1036]! } + public var Passport_Language_et: String { return self._s[1037]! } + public var Passport_Language_bg: String { return self._s[1038]! } + public var Stickers_NoStickersFound: String { return self._s[1040]! } + public var Settings_About: String { return self._s[1041]! } + public func Channel_AdminLog_MessageRestricted(_ _0: String, _ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1042]!, self._r[1042]!, [_0, _1, _2]) + } + public var KeyCommand_NewMessage: String { return self._s[1044]! } + public var Group_ErrorAddBlocked: String { return self._s[1045]! } + public func Message_PaymentSent(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1046]!, self._r[1046]!, [_0]) + } + public var Map_LocationTitle: String { return self._s[1047]! } + public var CallSettings_UseLessDataLongDescription: String { return self._s[1048]! } + public var Cache_ClearProgress: String { return self._s[1049]! } + public func Channel_Management_ErrorNotMember(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1050]!, self._r[1050]!, [_0]) + } + public var Passport_UpdateRequiredError: String { return self._s[1051]! } + public var Passport_Identity_MainPageHelp: String { return self._s[1053]! } + public var Conversation_StatusKickedFromGroup: String { return self._s[1054]! } + public var Passport_Language_ka: String { return self._s[1055]! } + public var Permissions_SiriAllowInSettings: String { return self._s[1056]! } + public var Call_Decline: String { return self._s[1057]! } + public var SocksProxySetup_ProxyEnabled: String { return self._s[1058]! } + public func AuthCode_Alert(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1061]!, self._r[1061]!, [_0]) + } + public func Channel_AdminLog_MessagePromotedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1062]!, self._r[1062]!, [_1, _2]) + } + public var Passport_Phone_UseTelegramNumberHelp: String { return self._s[1063]! } + public var Passport_DeletePassport: String { return self._s[1065]! } + public var Privacy_Calls_P2PAlways: String { return self._s[1066]! } + public var Month_ShortDecember: String { return self._s[1067]! } + public var Channel_AdminLog_CanEditMessages: String { return self._s[1069]! } + public func Contacts_AccessDeniedHelpLandscape(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1070]!, self._r[1070]!, [_0]) + } + public var Channel_Stickers_Searching: String { return self._s[1071]! } + public var Conversation_EncryptedDescription1: String { return self._s[1072]! } + public var Conversation_EncryptedDescription2: String { return self._s[1073]! } + public var Conversation_EncryptedDescription3: String { return self._s[1074]! } + public var PhotoEditor_SharpenTool: String { return self._s[1075]! } + public func ENCRYPTED_MESSAGE(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1076]!, self._r[1076]!, [_1]) + } + public var Conversation_EncryptedDescription4: String { return self._s[1078]! } + public var Channel_Members_AddMembers: String { return self._s[1079]! } + public var Weekday_Friday: String { return self._s[1080]! } + public var Privacy_ContactsSync: String { return self._s[1081]! } + public var ApplyLanguage_ChangeLanguageAction: String { return self._s[1082]! } + public func Channel_Management_RestrictedBy(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1083]!, self._r[1083]!, [_0]) + } + public var Passport_Identity_GenderMale: String { return self._s[1084]! } + public func Call_StatusBar(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1085]!, self._r[1085]!, [_0]) + } + public var Conversation_JumpToDate: String { return self._s[1086]! } + public var Contacts_GlobalSearch: String { return self._s[1087]! } + public var AutoDownloadSettings_ResetHelp: String { return self._s[1088]! } + public var Profile_MessageLifetime1d: String { return self._s[1089]! } + public var Permissions_CellularDataAllowInSettings: String { return self._s[1090]! } + public func MESSAGE_INVOICE(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1091]!, self._r[1091]!, [_1, _2]) + } + public var StickerPack_BuiltinPackName: String { return self._s[1094]! } + public var Passport_InfoTitle: String { return self._s[1096]! } + public var Permissions_NotificationsText: String { return self._s[1100]! } + public func NetworkUsageSettings_CellularUsageSince(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1101]!, self._r[1101]!, [_0]) + } + public var Passport_Address_TypePassportRegistrationUploadScan: String { return self._s[1102]! } + public var Profile_BotInfo: String { return self._s[1103]! } + public var Watch_Compose_CreateMessage: String { return self._s[1104]! } + public var Month_ShortNovember: String { return self._s[1105]! } + public func PHONE_CALL_REQUEST(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1106]!, self._r[1106]!, [_1]) + } + public func ENCRYPTION_REQUEST(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1107]!, self._r[1107]!, [_1]) + } + public var Passport_Identity_TranslationsHelp: String { return self._s[1108]! } + public var NotificationsSound_Chime: String { return self._s[1109]! } + public var Passport_Language_ko: String { return self._s[1111]! } + public var InviteText_URL: String { return self._s[1112]! } + public var TextFormat_Monospace: String { return self._s[1113]! } + public func Time_PreciseDate_m11(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1114]!, self._r[1114]!, [_1, _2, _3]) + } + public func Login_WillSendSms(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1115]!, self._r[1115]!, [_0]) } public func Watch_Time_ShortWeekdayAt(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2381]!, self._r[2381]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1116]!, self._r[1116]!, [_1, _2]) } - public var Conversation_EmptyGifPanelPlaceholder: String { return self._s[2382]! } - public var DialogList_Typing: String { return self._s[2383]! } - public var Notification_CallBack: String { return self._s[2384]! } - public var Passport_Language_ru: String { return self._s[2385]! } - public var Login_CancelSignUpConfirmation: String { return self._s[2386]! } - public var Map_LocatingError: String { return self._s[2387]! } - public var InfoPlist_NSFaceIDUsageDescription: String { return self._s[2389]! } - public var MediaPicker_Send: String { return self._s[2390]! } - public var ChannelIntro_Title: String { return self._s[2391]! } - public var AccessDenied_LocationAlwaysDenied: String { return self._s[2393]! } - public func PINNED_GIF(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2394]!, self._r[2394]!, [_1]) + public var Passport_InfoLearnMore: String { return self._s[1118]! } + public var TwoStepAuth_EmailPlaceholder: String { return self._s[1119]! } + public var Passport_Identity_AddIdentityCard: String { return self._s[1120]! } + public var Your_card_has_expired: String { return self._s[1121]! } + public var StickerPacksSettings_StickerPacksSection: String { return self._s[1122]! } + public var GroupInfo_InviteLink_Help: String { return self._s[1123]! } + public var Conversation_Report: String { return self._s[1126]! } + public var Notifications_MessageNotificationsSound: String { return self._s[1127]! } + public var Notification_MessageLifetime1m: String { return self._s[1128]! } + public var Privacy_ContactsTitle: String { return self._s[1129]! } + public var Conversation_ShareMyContactInfo: String { return self._s[1130]! } + public var ChannelMembers_WhoCanAddMembersAdminsHelp: String { return self._s[1131]! } + public var Channel_Members_Title: String { return self._s[1132]! } + public var Map_OpenInWaze: String { return self._s[1133]! } + public var Login_PhoneBannedError: String { return self._s[1134]! } + public func LiveLocationUpdated_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1135]!, self._r[1135]!, [_0]) } - public func InviteText_SingleContact(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2395]!, self._r[2395]!, [_0]) + public func MESSAGE_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1136]!, self._r[1136]!, [_1]) } - public var Passport_Address_TypePassportRegistration: String { return self._s[2396]! } - public var Channel_EditAdmin_CannotEdit: String { return self._s[2399]! } - public var LoginPassword_PasswordHelp: String { return self._s[2401]! } - public var BlockedUsers_Unblock: String { return self._s[2402]! } - public var AutoDownloadSettings_Cellular: String { return self._s[2403]! } - public var Passport_Language_ro: String { return self._s[2404]! } - public func Time_MonthOfYear_m1(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2405]!, self._r[2405]!, [_0]) + public var Group_Management_AddModeratorHelp: String { return self._s[1137]! } + public var Common_OK: String { return self._s[1138]! } + public var Passport_Address_TypeBankStatementUploadScan: String { return self._s[1139]! } + public var Cache_Music: String { return self._s[1140]! } + public var PasscodeSettings_UnlockWithTouchId: String { return self._s[1141]! } + public var TwoStepAuth_HintPlaceholder: String { return self._s[1142]! } + public func Passport_RequestHeader(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1143]!, self._r[1143]!, [_0]) } - public var Appearance_PreviewIncomingText: String { return self._s[2406]! } - public var Passport_Identity_DateOfBirthPlaceholder: String { return self._s[2407]! } - public var Notifications_ChannelNotificationsExceptionsHelp: String { return self._s[2408]! } - public var Notifications_GroupNotificationsAlert: String { return self._s[2409]! } - public var Paint_Masks: String { return self._s[2410]! } - public var Appearance_ThemeDayClassic: String { return self._s[2412]! } - public var StickerPack_ErrorNotFound: String { return self._s[2413]! } - public var Appearance_ThemeNight: String { return self._s[2414]! } - public var SecretTimer_ImageDescription: String { return self._s[2415]! } - public func PINNED_CONTACT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2416]!, self._r[2416]!, [_1]) + public var Watch_MessageView_ViewOnPhone: String { return self._s[1145]! } + public var Privacy_Calls_CustomShareHelp: String { return self._s[1146]! } + public var ChangePhoneNumberNumber_Title: String { return self._s[1148]! } + public var State_ConnectingToProxyInfo: String { return self._s[1149]! } + public var Message_VideoMessage: String { return self._s[1151]! } + public var ChannelInfo_DeleteChannel: String { return self._s[1152]! } + public var ContactInfo_PhoneLabelOther: String { return self._s[1153]! } + public var Channel_EditAdmin_CannotEdit: String { return self._s[1154]! } + public var Passport_DeleteAddressConfirmation: String { return self._s[1155]! } + public var Activity_RecordingAudio: String { return self._s[1156]! } + public var PasscodeSettings_TryAgainIn1Minute: String { return self._s[1157]! } + public func Notification_ChangedGroupName(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1159]!, self._r[1159]!, [_0, _1]) } - public func FileSize_KB(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2417]!, self._r[2417]!, [_0]) + public var Conversation_ApplyLocalization: String { return self._s[1162]! } + public var UserInfo_AddPhone: String { return self._s[1163]! } + public var Map_ShareLiveLocationHelp: String { return self._s[1164]! } + public func Passport_Identity_NativeNameGenericHelp(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1165]!, self._r[1165]!, [_0]) } - public var Map_LiveLocationTitle: String { return self._s[2418]! } - public var Watch_GroupInfo_Title: String { return self._s[2419]! } - public var Channel_AdminLog_EmptyTitle: String { return self._s[2420]! } - public var PhotoEditor_Set: String { return self._s[2422]! } - public var LiveLocation_MenuStopAll: String { return self._s[2423]! } - public var SocksProxySetup_AddProxy: String { return self._s[2424]! } - public func Notification_Invited(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2425]!, self._r[2425]!, [_0, _1]) + public var Passport_Scans: String { return self._s[1167]! } + public var BlockedUsers_Unblock: String { return self._s[1168]! } + public var Channel_Management_LabelCreator: String { return self._s[1169]! } + public var Passport_Identity_NativeNameGenericTitle: String { return self._s[1170]! } + public func Login_EmailPhoneBody(_ _0: String, _ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1171]!, self._r[1171]!, [_0, _1, _2]) } - public var Watch_AuthRequired: String { return self._s[2426]! } - public var Conversation_EncryptedDescription1: String { return self._s[2427]! } - public var AppleWatch_ReplyPresets: String { return self._s[2428]! } - public var Channel_Members_AddAdminErrorNotAMember: String { return self._s[2429]! } - public var Conversation_EncryptedDescription2: String { return self._s[2430]! } - public var SocksProxySetup_HostnamePlaceholder: String { return self._s[2431]! } - public var NetworkUsageSettings_MediaVideoDataSection: String { return self._s[2432]! } - public var Paint_Edit: String { return self._s[2433]! } - public var Passport_Language_nl: String { return self._s[2434]! } - public var LastSeen_Offline: String { return self._s[2435]! } - public var Login_CodeFloodError: String { return self._s[2436]! } - public var Conversation_EncryptedDescription3: String { return self._s[2437]! } - public var Notifications_Badge_IncludePublicGroups: String { return self._s[2439]! } - public var Conversation_EncryptedDescription4: String { return self._s[2440]! } - public var AppleWatch_Title: String { return self._s[2442]! } - public var Contacts_AccessDeniedError: String { return self._s[2443]! } - public var Conversation_StatusTyping: String { return self._s[2444]! } - public var Share_Title: String { return self._s[2446]! } - public var TwoStepAuth_ConfirmationTitle: String { return self._s[2447]! } - public var Passport_Identity_FilesTitle: String { return self._s[2448]! } - public var ChatSettings_Title: String { return self._s[2449]! } - public var AuthSessions_CurrentSession: String { return self._s[2450]! } - public var Notifications_GroupNotificationsExceptionsHelp: String { return self._s[2451]! } - public func Notification_RenamedChat(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2452]!, self._r[2452]!, [_0]) - } - public var Watch_Microphone_Access: String { return self._s[2453]! } - public var Watch_Conversation_GroupInfo: String { return self._s[2454]! } - public var Conversation_LiveLocation: String { return self._s[2455]! } - public var UserInfo_Title: String { return self._s[2457]! } - public var Passport_Language_fr: String { return self._s[2458]! } - public var Passport_Identity_DoesNotExpire: String { return self._s[2459]! } - public var Map_LiveLocationGroupDescription: String { return self._s[2460]! } - public var Login_InfoHelp: String { return self._s[2461]! } - public var ShareMenu_ShareTo: String { return self._s[2463]! } - public var Message_PinnedGame: String { return self._s[2467]! } - public var Channel_AdminLog_CanSendMessages: String { return self._s[2468]! } - public func AutoNightTheme_LocationHelp(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2469]!, self._r[2469]!, [_0, _1]) - } - public var Notification_RenamedGroup: String { return self._s[2470]! } - public func Call_PrivacyErrorMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2471]!, self._r[2471]!, [_0]) - } - public var Passport_Address_Street: String { return self._s[2472]! } - public var Weekday_Thursday: String { return self._s[2473]! } - public var FastTwoStepSetup_HintPlaceholder: String { return self._s[2474]! } - public var PrivacySettings_DataSettings: String { return self._s[2475]! } - public var ChangePhoneNumberNumber_Title: String { return self._s[2476]! } - public var NotificationsSound_Bell: String { return self._s[2477]! } - public var Notifications_Badge_IncludeMutedChats: String { return self._s[2479]! } - public var TwoStepAuth_EnterPasswordInvalid: String { return self._s[2481]! } - public var DialogList_SearchSectionMessages: String { return self._s[2482]! } - public var Media_ShareThisVideo: String { return self._s[2483]! } - public var Call_ReportIncludeLogDescription: String { return self._s[2484]! } - public var Preview_DeleteGif: String { return self._s[2485]! } - public var Passport_Address_OneOfTypeTemporaryRegistration: String { return self._s[2486]! } - public var Weekday_Saturday: String { return self._s[2487]! } - public var UserInfo_DeleteContact: String { return self._s[2488]! } - public var Notifications_ResetAllNotifications: String { return self._s[2489]! } - public var SocksProxySetup_SaveProxy: String { return self._s[2490]! } - public var Passport_Identity_Country: String { return self._s[2491]! } - public var Notification_MessageLifetimeRemovedOutgoing: String { return self._s[2492]! } - public var Login_ContinueWithLocalization: String { return self._s[2493]! } - public var GroupInfo_AddParticipant: String { return self._s[2494]! } - public var Watch_Location_Current: String { return self._s[2495]! } - public var Checkout_NewCard_SaveInfoHelp: String { return self._s[2496]! } - public func Settings_ApplyProxyAlertCredentials(_ _1: String, _ _2: String, _ _3: String, _ _4: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2499]!, self._r[2499]!, [_1, _2, _3, _4]) - } - public var MediaPicker_CameraRoll: String { return self._s[2500]! } - public var Channel_AdminLog_CanPinMessages: String { return self._s[2501]! } - public var KeyCommand_NewMessage: String { return self._s[2502]! } - public func ChannelInfo_AddParticipantConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2504]!, self._r[2504]!, [_0]) - } - public var NetworkUsageSettings_TotalSection: String { return self._s[2505]! } - public func PINNED_AUDIO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2506]!, self._r[2506]!, [_1]) - } - public var Privacy_GroupsAndChannels: String { return self._s[2507]! } - public func Time_PreciseDate_m12(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2509]!, self._r[2509]!, [_1, _2, _3]) - } - public var Conversation_DiscardVoiceMessageDescription: String { return self._s[2512]! } - public var Passport_Address_ScansHelp: String { return self._s[2513]! } - public func Notification_ChangedGroupPhoto(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2514]!, self._r[2514]!, [_0]) - } - public var TwoStepAuth_RemovePassword: String { return self._s[2516]! } - public var Privacy_GroupsAndChannels_CustomHelp: String { return self._s[2519]! } - public var Passport_Identity_Gender: String { return self._s[2520]! } - public var UserInfo_NotificationsDisable: String { return self._s[2521]! } - public var Watch_UserInfo_Service: String { return self._s[2522]! } - public var Privacy_Calls_CustomHelp: String { return self._s[2524]! } - public var ChangePhoneNumberCode_Code: String { return self._s[2525]! } - public var UserInfo_Invite: String { return self._s[2526]! } - public var CheckoutInfo_ErrorStateInvalid: String { return self._s[2527]! } - public var DialogList_ClearHistoryConfirmation: String { return self._s[2529]! } - public var CheckoutInfo_ErrorEmailInvalid: String { return self._s[2531]! } - public var Month_GenNovember: String { return self._s[2532]! } - public var UserInfo_NotificationsEnable: String { return self._s[2533]! } - public func Target_InviteToGroupConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2535]!, self._r[2535]!, [_0]) - } - public var Map_Map: String { return self._s[2536]! } - public var ChatList_ReadAll: String { return self._s[2537]! } - public var Map_OpenInMaps: String { return self._s[2538]! } - public var Common_OK: String { return self._s[2539]! } - public var TwoStepAuth_SetupHintTitle: String { return self._s[2540]! } - public var GroupInfo_LeftStatus: String { return self._s[2541]! } - public var Cache_ClearProgress: String { return self._s[2542]! } - public var Login_InvalidPhoneError: String { return self._s[2543]! } - public var Passport_Authorize: String { return self._s[2544]! } - public var Cache_ClearEmpty: String { return self._s[2545]! } - public var Map_Search: String { return self._s[2546]! } - public var Passport_Identity_Translations: String { return self._s[2547]! } - public var ChannelMembers_GroupAdminsTitle: String { return self._s[2549]! } - public func Channel_AdminLog_MessageRemovedGroupUsername(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2550]!, self._r[2550]!, [_0]) - } - public func ApplyLanguage_ChangeLanguageOfficialText(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2551]!, self._r[2551]!, [_1]) - } - public var ChatSettings_AutomaticPhotoDownload: String { return self._s[2552]! } - public var Group_ErrorAddTooMuchAdmins: String { return self._s[2554]! } - public var SocksProxySetup_Password: String { return self._s[2556]! } - public var Login_SelectCountry_Title: String { return self._s[2557]! } - public func MESSAGE_PHOTOS(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2558]!, self._r[2558]!, [_1, _2]) - } - public var Notifications_GroupNotificationsHelp: String { return self._s[2559]! } - public var PhotoEditor_CropAspectRatioSquare: String { return self._s[2560]! } - public var Notification_CallOutgoing: String { return self._s[2561]! } - public var UserInfo_NotificationsDefault: String { return self._s[2562]! } - public var Weekday_ShortMonday: String { return self._s[2563]! } - public var Channel_Edit_AboutItem: String { return self._s[2564]! } - public var Checkout_Receipt_Title: String { return self._s[2565]! } - public var Login_InfoLastNamePlaceholder: String { return self._s[2566]! } - public var Channel_Members_AddMembersHelp: String { return self._s[2568]! } - public func MESSAGE_VIDEO_SECRET(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2569]!, self._r[2569]!, [_1]) - } - public var Settings_CopyPhoneNumber: String { return self._s[2570]! } - public var ReportPeer_Report: String { return self._s[2571]! } - public var Channel_EditMessageErrorGeneric: String { return self._s[2572]! } - public var Passport_Identity_TranslationsHelp: String { return self._s[2573]! } - public var LoginPassword_FloodError: String { return self._s[2574]! } - public var TwoStepAuth_SetupPasswordTitle: String { return self._s[2576]! } - public var PhotoEditor_DiscardChanges: String { return self._s[2577]! } - public var Group_UpgradeNoticeText2: String { return self._s[2578]! } - public func PINNED_ROUND(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2579]!, self._r[2579]!, [_1]) - } - public func ChannelInfo_ChannelForbidden(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2580]!, self._r[2580]!, [_0]) - } - public var Conversation_ShareMyContactInfo: String { return self._s[2581]! } - public var SocksProxySetup_UsernamePlaceholder: String { return self._s[2582]! } - public func CHANNEL_MESSAGE_GEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2583]!, self._r[2583]!, [_1]) - } - public var Contacts_PhoneNumber: String { return self._s[2584]! } - public var Group_Info_AdminLog: String { return self._s[2585]! } - public var Channel_AdminLogFilter_ChannelEventsInfo: String { return self._s[2586]! } - public var ChatSettings_AutoDownloadEnabled: String { return self._s[2587]! } - public var StickerPacksSettings_FeaturedPacks: String { return self._s[2588]! } - public var AuthSessions_LoggedIn: String { return self._s[2589]! } - public var Month_GenAugust: String { return self._s[2590]! } - public var Notification_CallCanceled: String { return self._s[2591]! } - public var Channel_Username_CreatePublicLinkHelp: String { return self._s[2592]! } - public var StickerPack_Send: String { return self._s[2593]! } - public var StickerSettings_MaskContextInfo: String { return self._s[2594]! } - public var Watch_Suggestion_HoldOn: String { return self._s[2595]! } - public func PINNED_GEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2596]!, self._r[2596]!, [_1]) - } - public var PasscodeSettings_EncryptData: String { return self._s[2597]! } - public var Common_NotNow: String { return self._s[2598]! } - public var FastTwoStepSetup_PasswordConfirmationPlaceholder: String { return self._s[2600]! } - public var PasscodeSettings_Title: String { return self._s[2601]! } - public var StickerPack_BuiltinPackName: String { return self._s[2603]! } - public var Appearance_AccentColor: String { return self._s[2605]! } - public var Watch_Suggestion_BRB: String { return self._s[2606]! } - public func CHAT_MESSAGE_ROUND(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2607]!, self._r[2607]!, [_1, _2]) - } - public var Notifications_MessageNotificationsAlert: String { return self._s[2608]! } - public var Username_InvalidCharacters: String { return self._s[2609]! } - public var GroupInfo_LabelAdmin: String { return self._s[2610]! } - public var GroupInfo_Sound: String { return self._s[2611]! } - public var Channel_EditAdmin_PermissionBanUsers: String { return self._s[2612]! } - public var InfoPlist_NSCameraUsageDescription: String { return self._s[2613]! } - public var Passport_Address_AddRentalAgreement: String { return self._s[2614]! } - public var Wallpaper_PhotoLibrary: String { return self._s[2615]! } - public var Settings_About: String { return self._s[2616]! } - public var Privacy_Calls_IntegrationHelp: String { return self._s[2617]! } - public var ContactInfo_Job: String { return self._s[2618]! } - public func CHAT_LEFT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2619]!, self._r[2619]!, [_1, _2]) - } - public var LoginPassword_ForgotPassword: String { return self._s[2620]! } - public var Passport_Address_AddTemporaryRegistration: String { return self._s[2622]! } - public func Map_LiveLocationShortHour(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2623]!, self._r[2623]!, [_0]) - } - public var Appearance_Preview: String { return self._s[2624]! } - public func DialogList_AwaitingEncryption(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2625]!, self._r[2625]!, [_0]) - } - public var Passport_Identity_TypePassport: String { return self._s[2626]! } - public var ChatSettings_Appearance: String { return self._s[2627]! } - public var Tour_Title1: String { return self._s[2628]! } - public var Conversation_EditingCaptionPanelTitle: String { return self._s[2630]! } - public func Notifications_ExceptionsChangeSound(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2631]!, self._r[2631]!, [_0]) - } - public var Conversation_LinkDialogCopy: String { return self._s[2632]! } - public func Notification_PinnedLocationMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2633]!, self._r[2633]!, [_0]) - } - public func Notification_PinnedPhotoMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2634]!, self._r[2634]!, [_0]) + public var Login_PhoneNumberHelp: String { return self._s[1172]! } + public var LastSeen_ALongTimeAgo: String { return self._s[1173]! } + public var Channel_AdminLog_CanPinMessages: String { return self._s[1174]! } + public var ChannelIntro_CreateChannel: String { return self._s[1175]! } + public var Conversation_UnreadMessages: String { return self._s[1176]! } + public var Channel_AdminLog_EmptyText: String { return self._s[1177]! } + public var Notification_GroupActivated: String { return self._s[1178]! } + public func Notification_PinnedContactMessage(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1179]!, self._r[1179]!, [_0]) } public func DownloadingStatus(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2635]!, self._r[2635]!, [_0, _1]) + return formatWithArgumentRanges(self._s[1180]!, self._r[1180]!, [_0, _1]) } - public var Calls_All: String { return self._s[2636]! } - public func Channel_MessageTitleUpdated(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2637]!, self._r[2637]!, [_0]) + public var GroupInfo_ConvertToSupergroup: String { return self._s[1182]! } + public func PrivacyPolicy_AgeVerificationMessage(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1183]!, self._r[1183]!, [_0]) } - public var Call_CallAgain: String { return self._s[2638]! } - public var Message_VideoExpired: String { return self._s[2639]! } - public var TwoStepAuth_RecoveryCodeHelp: String { return self._s[2640]! } - public func Channel_AdminLog_MessagePromotedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2641]!, self._r[2641]!, [_1, _2]) + public var Document_TargetConfirmationFormat: String { return self._s[1184]! } + public func Call_StatusOngoing(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1185]!, self._r[1185]!, [_0]) } - public var UserInfo_SendMessage: String { return self._s[2642]! } - public func Channel_Username_LinkHint(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2643]!, self._r[2643]!, [_0]) + public func CHAT_MESSAGE_INVOICE(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1187]!, self._r[1187]!, [_1, _2, _3]) } - public func AutoDownloadSettings_UpTo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2644]!, self._r[2644]!, [_0]) + public var Conversation_ClearSelfHistory: String { return self._s[1188]! } + public var Checkout_NewCard_PostcodePlaceholder: String { return self._s[1189]! } + public var Stickers_SuggestNone: String { return self._s[1190]! } + public var Settings_SaveIncomingPhotos: String { return self._s[1191]! } + public var Media_ShareThisPhoto: String { return self._s[1192]! } + public var InfoPlist_NSContactsUsageDescription: String { return self._s[1193]! } + public var Conversation_ContextMenuCopyLink: String { return self._s[1194]! } + public var PrivacyPolicy_AgeVerificationTitle: String { return self._s[1195]! } + public var TwoStepAuth_SetupPasswordEnterPasswordNew: String { return self._s[1196]! } + public var Map_OpenIn: String { return self._s[1197]! } + public func ChannelInfo_AddParticipantConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1200]!, self._r[1200]!, [_0]) } - public var Settings_ViewPhoto: String { return self._s[2645]! } - public var Paint_RecentStickers: String { return self._s[2646]! } - public var TwoStepAuth_HintPlaceholder: String { return self._s[2647]! } - public func Passport_PrivacyPolicy(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2648]!, self._r[2648]!, [_1, _2]) + public var Passport_Identity_MiddleNamePlaceholder: String { return self._s[1202]! } + public var UserInfo_FirstNamePlaceholder: String { return self._s[1203]! } + public var PrivacyLastSeenSettings_WhoCanSeeMyTimestamp: String { return self._s[1204]! } + public var Login_SelectCountry_Title: String { return self._s[1205]! } + public var Channel_EditAdmin_PermissionBanUsers: String { return self._s[1206]! } + public var Watch_Suggestion_BRB: String { return self._s[1207]! } + public var Contacts_PermissionsTitle: String { return self._s[1208]! } + public var Passport_Identity_EditIdentityCard: String { return self._s[1209]! } + public var Conversation_RestrictedInline: String { return self._s[1210]! } + public var StickerPack_ViewPack: String { return self._s[1212]! } + public func Update_AppVersion(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1213]!, self._r[1213]!, [_0]) } - public var ApplyLanguage_ApplyLanguageAction: String { return self._s[2649]! } - public var TwoStepAuth_EnabledSuccess: String { return self._s[2650]! } - public var Login_CallRequestState3: String { return self._s[2651]! } - public var Channel_Edit_LinkItem: String { return self._s[2652]! } - public var CallSettings_Title: String { return self._s[2654]! } - public var ChangePhoneNumberNumber_Help: String { return self._s[2655]! } - public var Passport_InfoTitle: String { return self._s[2656]! } - public var Watch_Suggestion_Thanks: String { return self._s[2657]! } - public var Channel_Moderator_Title: String { return self._s[2658]! } - public var Message_PinnedPhotoMessage: String { return self._s[2659]! } - public var Notification_SecretChatScreenshot: String { return self._s[2660]! } - public func Conversation_DeleteMessagesFor(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2661]!, self._r[2661]!, [_0]) + public var Compose_NewChannel: String { return self._s[1215]! } + public var Channel_Info_Stickers: String { return self._s[1219]! } + public var AutoNightTheme_PreferredTheme: String { return self._s[1220]! } + public var PrivacyPolicy_AgeVerificationAgree: String { return self._s[1221]! } + public var Passport_DeletePersonalDetails: String { return self._s[1222]! } + public var Conversation_SearchNoResults: String { return self._s[1224]! } + public var Channel_Members_AddAdminErrorNotAMember: String { return self._s[1225]! } + public var Login_Code: String { return self._s[1226]! } + public var Watch_Suggestion_WhatsUp: String { return self._s[1227]! } + public var Weekday_ShortThursday: String { return self._s[1228]! } + public var Resolve_ErrorNotFound: String { return self._s[1229]! } + public var LastSeen_Offline: String { return self._s[1230]! } + public var Privacy_Calls_AlwaysAllow_Title: String { return self._s[1231]! } + public var Channel_AdminLog_CanChangeInviteLink: String { return self._s[1232]! } + public var GroupInfo_Title: String { return self._s[1233]! } + public var NotificationsSound_Note: String { return self._s[1234]! } + public var Conversation_EditingMessagePanelTitle: String { return self._s[1235]! } + public var Privacy_Calls: String { return self._s[1236]! } + public var Month_ShortAugust: String { return self._s[1237]! } + public var TwoStepAuth_SetPasswordHelp: String { return self._s[1238]! } + public var Notifications_Reset: String { return self._s[1239]! } + public var Conversation_Pin: String { return self._s[1240]! } + public var Passport_Language_lv: String { return self._s[1241]! } + public var BlockedUsers_Info: String { return self._s[1242]! } + public var Watch_Conversation_Unblock: String { return self._s[1245]! } + public func Time_MonthOfYear_m9(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1246]!, self._r[1246]!, [_0]) } - public var Activity_UploadingDocument: String { return self._s[2662]! } - public var Watch_ChatList_NoConversationsText: String { return self._s[2663]! } - public var ReportPeer_AlertSuccess: String { return self._s[2664]! } - public var Tour_Text4: String { return self._s[2665]! } - public var Channel_Info_Description: String { return self._s[2666]! } - public var AccessDenied_LocationTracking: String { return self._s[2668]! } - public var Watch_Compose_Send: String { return self._s[2669]! } - public var SocksProxySetup_UseForCallsHelp: String { return self._s[2670]! } - public var Preview_CopyAddress: String { return self._s[2671]! } - public var Settings_BlockedUsers: String { return self._s[2672]! } - public var Month_ShortAugust: String { return self._s[2673]! } - public var Passport_Identity_MainPage: String { return self._s[2674]! } - public var Passport_FieldAddress: String { return self._s[2676]! } - public var Channel_AdminLogFilter_AdminsTitle: String { return self._s[2677]! } - public var Channel_EditAdmin_PermissionChangeInfo: String { return self._s[2678]! } - public var Notifications_ResetAllNotificationsHelp: String { return self._s[2679]! } - public var DialogList_EncryptionRejected: String { return self._s[2680]! } - public var Target_InviteToGroupErrorAlreadyInvited: String { return self._s[2682]! } - public var AccessDenied_CameraRestricted: String { return self._s[2683]! } - public var Watch_Message_ForwardedFrom: String { return self._s[2684]! } - public var CheckoutInfo_ShippingInfoCountryPlaceholder: String { return self._s[2686]! } - public var Channel_AboutItem: String { return self._s[2687]! } - public var PhotoEditor_CurvesGreen: String { return self._s[2688]! } - public var Month_GenJuly: String { return self._s[2689]! } - public var ContactInfo_URLLabelHomepage: String { return self._s[2690]! } - public var PrivacyPolicy_DeclineDeclineAndDelete: String { return self._s[2691]! } - public func DialogList_SingleUploadingFileSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2693]!, self._r[2693]!, [_0]) + public var CloudStorage_Title: String { return self._s[1247]! } + public var GroupInfo_DeleteAndExitConfirmation: String { return self._s[1248]! } + public var TwoStepAuth_RecoveryEmailTitle: String { return self._s[1249]! } + public func NetworkUsageSettings_WifiUsageSince(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1250]!, self._r[1250]!, [_0]) } - public var ChannelIntro_CreateChannel: String { return self._s[2695]! } - public var Channel_Management_AddModerator: String { return self._s[2696]! } - public var Common_ChoosePhoto: String { return self._s[2697]! } - public var Conversation_Pin: String { return self._s[2698]! } - public func Login_ResetAccountProtected_Text(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2700]!, self._r[2700]!, [_0]) + public var Watch_Suggestion_OnMyWay: String { return self._s[1251]! } + public var Channel_AdminLogFilter_AdminsTitle: String { return self._s[1252]! } + public var Passport_Address_EditBankStatement: String { return self._s[1253]! } + public var ShareMenu_Comment: String { return self._s[1254]! } + public var Notifications_PermissionsTitle: String { return self._s[1255]! } + public var Settings_Support: String { return self._s[1256]! } + public var Notifications_ChannelNotificationsSound: String { return self._s[1257]! } + public var Channel_AdminLog_BanSendGifs: String { return self._s[1258]! } + public var Watch_Stickers_StickerPacks: String { return self._s[1259]! } + public var Common_Select: String { return self._s[1261]! } + public var CheckoutInfo_ErrorEmailInvalid: String { return self._s[1262]! } + public var ChatAdmins_AllMembersAreAdminsOffHelp: String { return self._s[1264]! } + public var PasscodeSettings_AutoLock_IfAwayFor_5hours: String { return self._s[1265]! } + public var Appearance_PreviewReplyAuthor: String { return self._s[1266]! } + public var TwoStepAuth_RecoveryTitle: String { return self._s[1267]! } + public var Widget_AuthRequired: String { return self._s[1268]! } + public var Camera_FlashOn: String { return self._s[1269]! } + public var Channel_Stickers_NotFoundHelp: String { return self._s[1270]! } + public var Watch_Suggestion_OK: String { return self._s[1271]! } + public func Username_LinkHint(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1273]!, self._r[1273]!, [_0]) } + public func Notification_PinnedLiveLocationMessage(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1274]!, self._r[1274]!, [_0]) + } + public var DialogList_AdLabel: String { return self._s[1275]! } + public var WatchRemote_NotificationText: String { return self._s[1276]! } + public var Conversation_ReportSpam: String { return self._s[1277]! } + public var Settings_LogoutConfirmationTitle: String { return self._s[1279]! } + public var PhoneLabel_Title: String { return self._s[1280]! } + public var Passport_Address_EditRentalAgreement: String { return self._s[1281]! } + public var Notifications_ExceptionsTitle: String { return self._s[1282]! } + public func CHANNEL_MESSAGE_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1283]!, self._r[1283]!, [_1]) + } + public var Notifications_AlertTones: String { return self._s[1284]! } + public var Call_ReportIncludeLogDescription: String { return self._s[1285]! } + public func CHAT_ADD_MEMBER(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1286]!, self._r[1286]!, [_1, _2, _3]) + } + public var AutoDownloadSettings_PrivateChats: String { return self._s[1287]! } + public var TwoStepAuth_AddHintTitle: String { return self._s[1289]! } + public var ReportPeer_ReasonOther: String { return self._s[1290]! } + public var KeyCommand_ScrollDown: String { return self._s[1292]! } + public func Login_BannedPhoneSubject(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1293]!, self._r[1293]!, [_0]) + } + public var NetworkUsageSettings_MediaVideoDataSection: String { return self._s[1294]! } + public var ChannelInfo_DeleteGroupConfirmation: String { return self._s[1295]! } + public var AuthSessions_LogOut: String { return self._s[1296]! } + public var Passport_Identity_TypeInternalPassport: String { return self._s[1297]! } + public var ChatSettings_AutoDownloadVoiceMessages: String { return self._s[1298]! } + public func CHAT_MESSAGE_DOC(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1299]!, self._r[1299]!, [_1, _2]) + } + public var Passport_Phone_Title: String { return self._s[1300]! } + public var Settings_PhoneNumber: String { return self._s[1301]! } + public var NotificationsSound_Alert: String { return self._s[1302]! } + public var PhotoEditor_CurvesTool: String { return self._s[1304]! } + public var Checkout_PaymentMethod: String { return self._s[1306]! } + public var Contacts_AccessDeniedError: String { return self._s[1307]! } + public var Camera_PhotoMode: String { return self._s[1310]! } + public var Passport_Address_AddUtilityBill: String { return self._s[1311]! } + public var CallSettings_OnMobile: String { return self._s[1312]! } + public var Tour_Text2: String { return self._s[1313]! } + public var Permissions_Skip: String { return self._s[1315]! } + public var DialogList_EncryptionProcessing: String { return self._s[1316]! } + public var SecretImage_Title: String { return self._s[1317]! } + public var Watch_MessageView_Title: String { return self._s[1318]! } + public func Notification_GroupInviter(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1319]!, self._r[1319]!, [_0]) + } + public var Notification_CallCanceled: String { return self._s[1320]! } + public var Privacy_PaymentsClear_PaymentInfo: String { return self._s[1321]! } + public func MESSAGE_SCREENSHOT(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1322]!, self._r[1322]!, [_1]) + } + public var Settings_ProxyConnecting: String { return self._s[1323]! } + public var Profile_MessageLifetime5s: String { return self._s[1325]! } + public var Username_InvalidCharacters: String { return self._s[1326]! } + public var AutoDownloadSettings_LimitBySize: String { return self._s[1327]! } + public var Notification_CreatedChannel: String { return self._s[1329]! } + public var Passcode_AppLockedAlert: String { return self._s[1331]! } + public var Contacts_TopSection: String { return self._s[1332]! } + public func Time_MonthOfYear_m6(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1333]!, self._r[1333]!, [_0]) + } + public var ReportPeer_ReasonSpam: String { return self._s[1334]! } + public var UserInfo_TapToCall: String { return self._s[1335]! } + public var Common_Search: String { return self._s[1337]! } + public var AuthSessions_IncompleteAttemptsInfo: String { return self._s[1338]! } + public var Message_InvoiceLabel: String { return self._s[1339]! } + public var Conversation_InputTextPlaceholder: String { return self._s[1340]! } + public var NetworkUsageSettings_MediaImageDataSection: String { return self._s[1341]! } + public func Passport_Address_UploadOneOfScan(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1342]!, self._r[1342]!, [_0]) + } + public func MESSAGE_DOC(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1343]!, self._r[1343]!, [_1]) + } + public var Conversation_Info: String { return self._s[1344]! } + public var Login_InfoDeletePhoto: String { return self._s[1345]! } + public var Passport_Language_vi: String { return self._s[1347]! } + public var Conversation_Search: String { return self._s[1348]! } + public var DialogList_DeleteBotConversationConfirmation: String { return self._s[1349]! } + public var ReportPeer_ReasonPornography: String { return self._s[1350]! } + public var AutoDownloadSettings_PhotosTitle: String { return self._s[1351]! } + public var Conversation_SendMessageErrorGroupRestricted: String { return self._s[1352]! } + public var Map_LiveLocationGroupDescription: String { return self._s[1353]! } + public var Channel_Setup_TypeHeader: String { return self._s[1354]! } + public var AuthSessions_LoggedIn: String { return self._s[1355]! } + public var Login_SmsRequestState3: String { return self._s[1356]! } + public var Passport_Address_EditUtilityBill: String { return self._s[1357]! } + public var Appearance_ReduceMotionInfo: String { return self._s[1358]! } + public var Channel_Edit_LinkItem: String { return self._s[1359]! } + public var Privacy_Calls_P2PNever: String { return self._s[1360]! } + public var Conversation_AddToReadingList: String { return self._s[1362]! } + public func MESSAGE_GEO(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1363]!, self._r[1363]!, [_1]) + } + public var Message_Animation: String { return self._s[1364]! } + public var Map_Unknown: String { return self._s[1365]! } + public var Call_StatusRequesting: String { return self._s[1366]! } + public func Passport_FieldOneOf_Or(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1367]!, self._r[1367]!, [_1, _2]) + } + public var Conversation_SecretChatContextBotAlert: String { return self._s[1368]! } + public var SocksProxySetup_ProxyStatusChecking: String { return self._s[1369]! } + public func MESSAGE_PHOTO_SECRET(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1370]!, self._r[1370]!, [_1]) + } + public var Weekday_Monday: String { return self._s[1371]! } + public var Update_Skip: String { return self._s[1372]! } + public var Group_Username_RemoveExistingUsernamesInfo: String { return self._s[1373]! } + public var Permissions_SiriTitle: String { return self._s[1374]! } + public var BlockedUsers_Title: String { return self._s[1375]! } + public func Notification_PinnedLocationMessage(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1376]!, self._r[1376]!, [_0]) + } + public var Username_CheckingUsername: String { return self._s[1377]! } + public var NotificationsSound_Bell: String { return self._s[1378]! } + public var Conversation_SendMessageErrorFlood: String { return self._s[1379]! } + public var ChannelMembers_ChannelAdminsTitle: String { return self._s[1380]! } + public var ChatSettings_Groups: String { return self._s[1381]! } + public var Your_card_was_declined: String { return self._s[1382]! } + public var TwoStepAuth_EnterPasswordHelp: String { return self._s[1384]! } + public func PINNED_GEO(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1385]!, self._r[1385]!, [_1]) + } + public var Permissions_CellularDataTitle: String { return self._s[1386]! } + public var PhotoEditor_CurvesAll: String { return self._s[1387]! } + public var Weekday_ShortTuesday: String { return self._s[1388]! } + public var DialogList_Read: String { return self._s[1389]! } + public func PINNED_TEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1390]!, self._r[1390]!, [_1, _2]) + } + public var ChannelMembers_WhoCanAddMembers_AllMembers: String { return self._s[1391]! } + public var Passport_Identity_Gender: String { return self._s[1392]! } + public func Target_ShareGameConfirmationPrivate(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1393]!, self._r[1393]!, [_0]) + } + public var Target_SelectGroup: String { return self._s[1394]! } + public func DialogList_EncryptedChatStartedIncoming(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1396]!, self._r[1396]!, [_0]) + } + public var Passport_Language_en: String { return self._s[1397]! } + public var Channel_Username_CreatePublicLinkHelp: String { return self._s[1398]! } + public var Login_CancelPhoneVerificationContinue: String { return self._s[1399]! } + public func AUTH_REGION(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1400]!, self._r[1400]!, [_1, _2]) + } + public var Checkout_NewCard_PaymentCard: String { return self._s[1402]! } + public var Login_InfoHelp: String { return self._s[1403]! } + public var SocksProxySetup_AddProxy: String { return self._s[1406]! } + public var PasscodeSettings_SimplePasscodeHelp: String { return self._s[1407]! } + public var UserInfo_GroupsInCommon: String { return self._s[1408]! } + public var Call_AudioRouteHide: String { return self._s[1409]! } + public var ContactInfo_PhoneLabelMobile: String { return self._s[1411]! } + public var TextFormat_Bold: String { return self._s[1412]! } + public var FastTwoStepSetup_EmailSection: String { return self._s[1413]! } + public var Notifications_Title: String { return self._s[1414]! } + public var Group_Username_InvalidTooShort: String { return self._s[1415]! } + public var Channel_ErrorAddTooMuch: String { return self._s[1416]! } + public func DialogList_MultipleTypingSuffix(_ _0: Int) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1417]!, self._r[1417]!, ["\(_0)"]) + } + public var Stickers_SuggestAdded: String { return self._s[1419]! } + public var Login_CountryCode: String { return self._s[1420]! } + public var Map_GetDirections: String { return self._s[1421]! } + public var Login_PhoneFloodError: String { return self._s[1422]! } + public func Time_MonthOfYear_m3(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1423]!, self._r[1423]!, [_0]) + } + public var Settings_SetUsername: String { return self._s[1425]! } + public var Notification_GroupInviterSelf: String { return self._s[1426]! } + public var InstantPage_TapToOpenLink: String { return self._s[1427]! } + public func Notification_ChannelInviter(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1428]!, self._r[1428]!, [_0]) + } + public var Watch_Suggestion_TalkLater: String { return self._s[1429]! } + public var SecretChat_Title: String { return self._s[1430]! } + public var Group_UpgradeNoticeText1: String { return self._s[1431]! } + public var AuthSessions_Title: String { return self._s[1432]! } + public var PhotoEditor_CropAuto: String { return self._s[1433]! } + public var Channel_About_Title: String { return self._s[1434]! } + public var FastTwoStepSetup_EmailHelp: String { return self._s[1435]! } + public func CHAT_ADD_YOU(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1436]!, self._r[1436]!, [_1, _2]) + } + public func Conversation_Bytes(_ _0: Int) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1437]!, self._r[1437]!, ["\(_0)"]) + } + public var Conversation_PinMessageAlert_OnlyPin: String { return self._s[1440]! } + public var Group_Setup_HistoryVisibleHelp: String { return self._s[1441]! } + public func TwoStepAuth_RecoveryEmailUnavailable(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1443]!, self._r[1443]!, [_0]) + } + public var Privacy_PaymentsClearInfoHelp: String { return self._s[1444]! } + public var Presence_online: String { return self._s[1446]! } + public var PasscodeSettings_Title: String { return self._s[1447]! } + public var Passport_Identity_ExpiryDatePlaceholder: String { return self._s[1448]! } + public var Web_OpenExternal: String { return self._s[1449]! } + public func AutoNightTheme_AutomaticHelp(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1450]!, self._r[1450]!, [_0]) + } + public var FastTwoStepSetup_PasswordConfirmationPlaceholder: String { return self._s[1451]! } + public var Map_YouAreHere: String { return self._s[1452]! } + public func MESSAGE_GIF(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1453]!, self._r[1453]!, [_1]) + } + public func AuthSessions_Message(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1454]!, self._r[1454]!, [_0]) + } + public var PrivacyLastSeenSettings_AlwaysShareWith: String { return self._s[1455]! } + public var Target_InviteToGroupErrorAlreadyInvited: String { return self._s[1456]! } + public func AuthSessions_AppUnofficial(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1457]!, self._r[1457]!, [_0]) + } + public func DialogList_LiveLocationSharingTo(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1458]!, self._r[1458]!, [_0]) + } + public var SocksProxySetup_Username: String { return self._s[1459]! } + public var Bot_Start: String { return self._s[1460]! } public func Channel_AdminLog_EmptyFilterQueryText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2701]!, self._r[2701]!, [_0]) + return formatWithArgumentRanges(self._s[1461]!, self._r[1461]!, [_0]) } - public var Camera_TapAndHoldForVideo: String { return self._s[2702]! } - public var Notification_Exceptions_AlwaysOn: String { return self._s[2703]! } - public var Bot_DescriptionTitle: String { return self._s[2704]! } - public var FeaturedStickerPacks_Title: String { return self._s[2705]! } - public var Map_OpenInGoogleMaps: String { return self._s[2707]! } - public var Notification_MessageLifetime5s: String { return self._s[2708]! } - public var Contacts_Title: String { return self._s[2711]! } - public var TwoStepAuth_DisableSuccess: String { return self._s[2712]! } - public func MESSAGES(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2713]!, self._r[2713]!, [_1, _2]) + public func Channel_AdminLog_MessagePinned(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1462]!, self._r[1462]!, [_0]) } - public var Channel_Management_AddModeratorHelp: String { return self._s[2716]! } - public func CHAT_MESSAGE_FWDS(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2717]!, self._r[2717]!, [_1, _2, _3]) + public func PINNED_GEOLIVE(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1464]!, self._r[1464]!, [_1]) } - public var Conversation_MessageDialogEdit: String { return self._s[2718]! } - public var PrivacyLastSeenSettings_Title: String { return self._s[2719]! } - public var Notifications_ClassicTones: String { return self._s[2721]! } - public var Conversation_LinkDialogOpen: String { return self._s[2722]! } - public var Channel_Info_Subscribers: String { return self._s[2723]! } - public var NotificationsSound_Input: String { return self._s[2724]! } - public var Conversation_ClousStorageInfo_Description4: String { return self._s[2725]! } - public var Privacy_Calls_AlwaysAllow: String { return self._s[2726]! } - public var Privacy_PaymentsClearInfoHelp: String { return self._s[2728]! } - public var Notification_MessageLifetime1h: String { return self._s[2729]! } - public func Notification_CreatedChatWithTitle(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2730]!, self._r[2730]!, [_0, _1]) + public var Conversation_DiscardVoiceMessageTitle: String { return self._s[1465]! } + public func PrivacySettings_LastSeenContactsMinus(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1466]!, self._r[1466]!, [_0]) } - public var CheckoutInfo_ReceiverInfoEmail: String { return self._s[2731]! } - public var LastSeen_Lately: String { return self._s[2732]! } - public var Month_ShortApril: String { return self._s[2733]! } - public var ConversationProfile_ErrorCreatingConversation: String { return self._s[2734]! } - public func PHONE_CALL_MISSED(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2735]!, self._r[2735]!, [_1]) + public var Passport_Email_EnterOtherEmail: String { return self._s[1467]! } + public var Login_InfoAvatarPhoto: String { return self._s[1468]! } + public var Privacy_PaymentsClear_ShippingInfo: String { return self._s[1469]! } + public var Tour_Title4: String { return self._s[1470]! } + public var Passport_Identity_Translation: String { return self._s[1471]! } + public var Login_TermsOfServiceLabel: String { return self._s[1473]! } + public var Passport_Language_it: String { return self._s[1474]! } + public var KeyCommand_JumpToNextUnreadChat: String { return self._s[1475]! } + public var Passport_Identity_SelfieHelp: String { return self._s[1476]! } + public var Conversation_ClearAll: String { return self._s[1478]! } + public func MESSAGE_PHOTOS(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1480]!, self._r[1480]!, [_1, _2]) } + public var TwoStepAuth_FloodError: String { return self._s[1481]! } + public var Paint_Delete: String { return self._s[1482]! } + public func Passport_AcceptHelp(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1483]!, self._r[1483]!, [_1, _2]) + } + public var Message_PinnedAudioMessage: String { return self._s[1484]! } + public func Watch_Time_ShortTodayAt(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1485]!, self._r[1485]!, [_0]) + } + public var Notification_Mute1hMin: String { return self._s[1486]! } + public var Notifications_GroupNotificationsSound: String { return self._s[1487]! } + public var SocksProxySetup_ShareProxyList: String { return self._s[1488]! } + public var Conversation_MessageEditedLabel: String { return self._s[1489]! } + public var Notification_Exceptions_AlwaysOff: String { return self._s[1490]! } + public func Channel_AdminLog_MessageAdmin(_ _0: String, _ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1491]!, self._r[1491]!, [_0, _1, _2]) + } + public var NetworkUsageSettings_ResetStats: String { return self._s[1492]! } + public var AccessDenied_LocationTracking: String { return self._s[1493]! } + public var Month_GenOctober: String { return self._s[1494]! } + public var GroupInfo_InviteLink_RevokeAlert_Revoke: String { return self._s[1495]! } + public var EnterPasscode_EnterPasscode: String { return self._s[1496]! } + public var MediaPicker_TimerTooltip: String { return self._s[1498]! } + public var SharedMedia_TitleAll: String { return self._s[1499]! } + public var Conversation_RestrictedMedia: String { return self._s[1501]! } + public var AccessDenied_PhotosRestricted: String { return self._s[1502]! } + public var ChangePhoneNumberCode_Called: String { return self._s[1504]! } + public func Notification_PinnedDocumentMessage(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1505]!, self._r[1505]!, [_0]) + } + public var Conversation_SavedMessages: String { return self._s[1508]! } + public var Your_cards_expiration_month_is_invalid: String { return self._s[1510]! } + public var FastTwoStepSetup_PasswordPlaceholder: String { return self._s[1511]! } + public func Target_ShareGameConfirmationGroup(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1513]!, self._r[1513]!, [_0]) + } + public var ReportPeer_AlertSuccess: String { return self._s[1514]! } + public func InstantPage_RelatedArticleAuthorAndDateTitle(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1515]!, self._r[1515]!, [_1, _2]) + } + public var PhotoEditor_CropAspectRatioOriginal: String { return self._s[1516]! } + public var Checkout_PasswordEntry_Title: String { return self._s[1517]! } + public var PhotoEditor_FadeTool: String { return self._s[1518]! } + public var Privacy_ContactsReset: String { return self._s[1519]! } + public func Channel_AdminLog_MessageRestrictedUntil(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1521]!, self._r[1521]!, [_0]) + } + public var Message_PinnedVideoMessage: String { return self._s[1522]! } + public var ShareMenu_SelectChats: String { return self._s[1524]! } + public var MusicPlayer_VoiceNote: String { return self._s[1525]! } + public var Conversation_RestrictedText: String { return self._s[1526]! } + public var TwoStepAuth_DisableSuccess: String { return self._s[1527]! } + public var Cache_Videos: String { return self._s[1528]! } + public var FeatureDisabled_Oops: String { return self._s[1530]! } + public var Passport_Address_PostcodePlaceholder: String { return self._s[1531]! } + public func CHAT_MESSAGE_VIDEO(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1532]!, self._r[1532]!, [_1, _2]) + } + public var Stickers_GroupStickersHelp: String { return self._s[1533]! } + public var Message_VideoExpired: String { return self._s[1535]! } + public var Notifications_Badge: String { return self._s[1536]! } + public var GroupInfo_GroupHistoryVisible: String { return self._s[1537]! } + public var Username_InvalidTooShort: String { return self._s[1538]! } + public var EnterPasscode_EnterNewPasscodeChange: String { return self._s[1539]! } + public func Notification_MessageLifetimeRemoved(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1540]!, self._r[1540]!, [_1]) + } + public var SharedMedia_CategoryDocs: String { return self._s[1543]! } + public func Notification_MessageLifetimeChangedOutgoing(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1545]!, self._r[1545]!, [_1]) + } + public var CheckoutInfo_ErrorShippingNotAvailable: String { return self._s[1546]! } + public func Time_MonthOfYear_m12(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1547]!, self._r[1547]!, [_0]) + } + public var ChatSettings_PrivateChats: String { return self._s[1548]! } + public var Channel_UpdatePhotoItem: String { return self._s[1549]! } + public var GroupInfo_LeftStatus: String { return self._s[1550]! } + public var Watch_MessageView_Forward: String { return self._s[1552]! } + public var ReportPeer_ReasonChildAbuse: String { return self._s[1553]! } + public var Cache_ClearEmpty: String { return self._s[1555]! } + public var Localization_LanguageName: String { return self._s[1556]! } + public var WebSearch_GIFs: String { return self._s[1557]! } + public var Notifications_DisplayNamesOnLockScreenInfoWithLink: String { return self._s[1558]! } + public var Username_InvalidStartsWithNumber: String { return self._s[1559]! } + public var Common_Back: String { return self._s[1560]! } + public var Passport_Identity_DateOfBirthPlaceholder: String { return self._s[1561]! } + public func CHANNEL_MESSAGE_AUDIO(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1562]!, self._r[1562]!, [_1]) + } + public func CHANNEL_MESSAGE_ROUND(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1563]!, self._r[1563]!, [_1]) + } + public var Passport_Email_Help: String { return self._s[1564]! } + public var Watch_Conversation_Reply: String { return self._s[1565]! } + public var Conversation_EditingMessageMediaChange: String { return self._s[1567]! } + public var Passport_Identity_IssueDatePlaceholder: String { return self._s[1568]! } + public var Channel_BanUser_Unban: String { return self._s[1570]! } + public var Channel_EditAdmin_PermissionPostMessages: String { return self._s[1571]! } + public var Group_Username_CreatePublicLinkHelp: String { return self._s[1572]! } + public var TwoStepAuth_ConfirmEmailCodePlaceholder: String { return self._s[1573]! } + public var Passport_Identity_Name: String { return self._s[1575]! } + public var Conversation_BlockUser: String { return self._s[1576]! } + public var Month_GenJanuary: String { return self._s[1577]! } + public var ChatSettings_TextSize: String { return self._s[1578]! } + public var Notification_PassportValuePhone: String { return self._s[1579]! } + public var Passport_Language_ne: String { return self._s[1580]! } + public var Notification_CallBack: String { return self._s[1581]! } + public var TwoStepAuth_EmailHelp: String { return self._s[1582]! } + public func Time_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1583]!, self._r[1583]!, [_0]) + } + public var Channel_Info_Management: String { return self._s[1584]! } + public var Passport_FieldIdentityUploadHelp: String { return self._s[1585]! } + public var Stickers_FrequentlyUsed: String { return self._s[1586]! } + public var Channel_BanUser_PermissionSendMessages: String { return self._s[1587]! } + public var Passport_Address_OneOfTypeUtilityBill: String { return self._s[1589]! } + public var Passport_Address_EditResidentialAddress: String { return self._s[1590]! } + public var PrivacyPolicy_DeclineTitle: String { return self._s[1591]! } + public func Checkout_SavePasswordTimeoutAndTouchId(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1592]!, self._r[1592]!, [_0]) + } + public var PhotoEditor_QualityMedium: String { return self._s[1593]! } + public var InfoPlist_NSMicrophoneUsageDescription: String { return self._s[1594]! } + public func Conversation_RestrictedInlineTimed(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1595]!, self._r[1595]!, [_0]) + } + public var Conversation_StatusKickedFromChannel: String { return self._s[1596]! } + public var CheckoutInfo_ReceiverInfoName: String { return self._s[1597]! } + public var Group_ErrorSendRestrictedStickers: String { return self._s[1598]! } + public var Conversation_LinkDialogOpen: String { return self._s[1600]! } + public var Settings_Username: String { return self._s[1601]! } + public var Wallpaper_Wallpaper: String { return self._s[1603]! } + public func PINNED_GIF(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1605]!, self._r[1605]!, [_1]) + } + public var SocksProxySetup_UseProxy: String { return self._s[1606]! } + public var UserInfo_ShareMyContactInfo: String { return self._s[1607]! } + public var MessageTimer_Forever: String { return self._s[1608]! } + public var Privacy_Calls_WhoCanCallMe: String { return self._s[1609]! } + public var PhotoEditor_DiscardChanges: String { return self._s[1610]! } + public var AuthSessions_TerminateOtherSessionsHelp: String { return self._s[1611]! } + public var Passport_Language_da: String { return self._s[1612]! } + public var SocksProxySetup_PortPlaceholder: String { return self._s[1613]! } + public var Passport_Address_EditPassportRegistration: String { return self._s[1615]! } + public func Channel_AdminLog_MessageChangedGroupAbout(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1616]!, self._r[1616]!, [_0]) + } + public var Passport_Identity_ResidenceCountryPlaceholder: String { return self._s[1618]! } + public var Conversation_SearchByName_Prefix: String { return self._s[1619]! } + public func PINNED_AUDIO(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1620]!, self._r[1620]!, [_1]) + } + public var Conversation_EmptyGifPanelPlaceholder: String { return self._s[1621]! } + public var Cache_ByPeerHeader: String { return self._s[1622]! } + public func Conversation_EncryptedPlaceholderTitleIncoming(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1623]!, self._r[1623]!, [_0]) + } + public var ChatSettings_AutoDownloadDocuments: String { return self._s[1624]! } + public var Notification_PinnedMessage: String { return self._s[1627]! } + public var Call_EncryptionKey_Title: String { return self._s[1630]! } + public var Watch_UserInfo_Service: String { return self._s[1631]! } + public var Conversation_Unpin: String { return self._s[1634]! } + public var CancelResetAccount_Title: String { return self._s[1635]! } + public var Map_LiveLocationFor15Minutes: String { return self._s[1636]! } + public func Time_PreciseDate_m8(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1638]!, self._r[1638]!, [_1, _2, _3]) + } + public var Group_Members_AddMemberBotErrorNotAllowed: String { return self._s[1639]! } + public var CallSettings_Title: String { return self._s[1640]! } + public var PasscodeSettings_EncryptDataHelp: String { return self._s[1642]! } + public var AutoDownloadSettings_Contacts: String { return self._s[1643]! } + public var Passport_Identity_DocumentDetails: String { return self._s[1644]! } + public var LoginPassword_PasswordHelp: String { return self._s[1645]! } + public var PrivacyLastSeenSettings_CustomShareSettings_Delete: String { return self._s[1646]! } + public var Checkout_TotalPaidAmount: String { return self._s[1647]! } + public func FileSize_KB(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1648]!, self._r[1648]!, [_0]) + } + public var PasscodeSettings_ChangePasscode: String { return self._s[1649]! } + public var Conversation_SecretLinkPreviewAlert: String { return self._s[1651]! } + public var Privacy_SecretChatsLinkPreviews: String { return self._s[1652]! } + public var Contacts_InviteFriends: String { return self._s[1654]! } + public var Map_ChooseLocationTitle: String { return self._s[1655]! } + public var Calls_RatingFeedback: String { return self._s[1657]! } + public var GroupInfo_BroadcastListNamePlaceholder: String { return self._s[1658]! } + public var NotificationsSound_Pulse: String { return self._s[1659]! } + public var Watch_LastSeen_Lately: String { return self._s[1660]! } + public var Widget_NoUsers: String { return self._s[1663]! } + public var NotificationsSound_Circles: String { return self._s[1665]! } + public var PrivacyLastSeenSettings_AlwaysShareWith_Title: String { return self._s[1667]! } + public func CHANNEL_MESSAGE_GEOLIVE(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1668]!, self._r[1668]!, [_1]) + } + public var TwoStepAuth_RecoveryCodeExpired: String { return self._s[1669]! } + public func CHAT_MESSAGE_GIF(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1670]!, self._r[1670]!, [_1, _2]) + } + public var Passport_Identity_CountryPlaceholder: String { return self._s[1672]! } + public var Conversation_FileDropbox: String { return self._s[1674]! } + public var Notifications_ExceptionsUnmuted: String { return self._s[1675]! } + public var Tour_Text3: String { return self._s[1677]! } + public var Login_ResetAccountProtected_Title: String { return self._s[1679]! } + public var ChatAdmins_AllMembersAreAdminsOnHelp: String { return self._s[1680]! } + public func Conversation_LiveLocationYouAnd(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1682]!, self._r[1682]!, [_0]) + } + public var GroupInfo_AddParticipantTitle: String { return self._s[1683]! } + public var Checkout_ShippingOption_Title: String { return self._s[1684]! } + public var ChatSettings_AutoDownloadTitle: String { return self._s[1685]! } + public func DialogList_SingleTypingSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1686]!, self._r[1686]!, [_0]) + } + public func CHAT_MESSAGE_ROUND(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1687]!, self._r[1687]!, [_1, _2]) + } + public var PrivacyLastSeenSettings_NeverShareWith_Placeholder: String { return self._s[1688]! } + public var Appearance_PreviewIncomingText: String { return self._s[1690]! } + public var ChannelInfo_ConfirmLeave: String { return self._s[1691]! } + public var MediaPicker_MomentsDateRangeSameMonthYearFormat: String { return self._s[1692]! } + public var Passport_Identity_DocumentNumberPlaceholder: String { return self._s[1693]! } + public var Channel_AdminLogFilter_EventsNewMembers: String { return self._s[1694]! } + public var PasscodeSettings_AutoLock_IfAwayFor_5minutes: String { return self._s[1695]! } + public var GroupInfo_SetGroupPhotoStop: String { return self._s[1696]! } + public var Notification_SecretChatScreenshot: String { return self._s[1697]! } + public var Passport_Address_City: String { return self._s[1699]! } + public var InfoPlist_NSPhotoLibraryAddUsageDescription: String { return self._s[1700]! } + public var SocksProxySetup_SecretPlaceholder: String { return self._s[1701]! } + public var AccessDenied_LocationDisabled: String { return self._s[1702]! } + public var SocksProxySetup_HostnamePlaceholder: String { return self._s[1704]! } + public var GroupInfo_Sound: String { return self._s[1705]! } + public var Stickers_RemoveFromFavorites: String { return self._s[1706]! } + public var Contacts_Title: String { return self._s[1707]! } + public var Passport_Language_fr: String { return self._s[1708]! } + public func CHAT_TITLE_EDITED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1709]!, self._r[1709]!, [_1, _2]) + } + public var Notifications_ResetAllNotifications: String { return self._s[1710]! } + public var PrivacySettings_SecurityTitle: String { return self._s[1713]! } + public var Checkout_NewCard_Title: String { return self._s[1714]! } + public var Login_HaveNotReceivedCodeInternal: String { return self._s[1715]! } + public var Conversation_ForwardChats: String { return self._s[1716]! } + public var Settings_FAQ: String { return self._s[1719]! } + public var AutoDownloadSettings_DocumentsTitle: String { return self._s[1720]! } + public var Conversation_ContextMenuForward: String { return self._s[1721]! } + public var PrivacyPolicy_Title: String { return self._s[1726]! } + public var Notifications_TextTone: String { return self._s[1727]! } + public var Profile_CreateNewContact: String { return self._s[1728]! } + public var AutoNightTheme_AutomaticSection: String { return self._s[1730]! } + public var Channel_Username_InvalidCharacters: String { return self._s[1732]! } + public func Channel_AdminLog_MessageChangedChannelUsername(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1733]!, self._r[1733]!, [_0]) + } + public var Channel_AdminLog_CanInviteUsers: String { return self._s[1734]! } + public var Conversation_MessageDeliveryFailed: String { return self._s[1735]! } + public var TextFormat_Italic: String { return self._s[1736]! } + public var Bot_Unblock: String { return self._s[1737]! } + public var Watch_ChatList_NoConversationsText: String { return self._s[1738]! } + public var Weekday_Wednesday: String { return self._s[1739]! } + public var Settings_About_Help: String { return self._s[1740]! } + public var SearchImages_Title: String { return self._s[1741]! } + public var Conversation_ClousStorageInfo_Description1: String { return self._s[1742]! } + public var ExplicitContent_AlertTitle: String { return self._s[1743]! } + public func Time_PreciseDate_m5(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1744]!, self._r[1744]!, [_1, _2, _3]) + } + public var Weekday_Thursday: String { return self._s[1745]! } + public var Channel_Members_AddMembersHelp: String { return self._s[1746]! } + public func Checkout_SavePasswordTimeout(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1747]!, self._r[1747]!, [_0]) + } + public var Passport_RequestedInformation: String { return self._s[1748]! } + public var Login_PhoneAndCountryHelp: String { return self._s[1749]! } + public func CHAT_MESSAGE_AUDIO(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1750]!, self._r[1750]!, [_1, _2]) + } + public var Conversation_EncryptionProcessing: String { return self._s[1751]! } + public var PhotoEditor_EnhanceTool: String { return self._s[1754]! } + public var Channel_Setup_Title: String { return self._s[1755]! } + public var Conversation_SearchPlaceholder: String { return self._s[1756]! } + public var AccessDenied_LocationAlwaysDenied: String { return self._s[1757]! } + public var Checkout_ErrorGeneric: String { return self._s[1758]! } + public var Passport_Language_hu: String { return self._s[1759]! } + public func Passport_Identity_UploadOneOfScan(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1761]!, self._r[1761]!, [_0]) + } + public var Conversation_CloudStorageInfo_Title: String { return self._s[1764]! } + public var PhotoEditor_CropAspectRatioSquare: String { return self._s[1765]! } + public func Notification_Exceptions_MutedUntil(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1766]!, self._r[1766]!, [_0]) + } + public var Conversation_ClearPrivateHistory: String { return self._s[1767]! } + public var ContactInfo_PhoneLabelHome: String { return self._s[1768]! } + public var PrivacySettings_LastSeenContacts: String { return self._s[1769]! } + public func ChangePhone_ErrorOccupied(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1770]!, self._r[1770]!, [_0]) + } + public var Passport_Language_cs: String { return self._s[1771]! } + public var Message_PinnedAnimationMessage: String { return self._s[1772]! } + public var Passport_Identity_ReverseSideHelp: String { return self._s[1774]! } + public var Embed_PlayingInPIP: String { return self._s[1776]! } + public var AutoNightTheme_ScheduleSection: String { return self._s[1777]! } + public func Call_EmojiDescription(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1778]!, self._r[1778]!, [_0]) + } + public var MediaPicker_LivePhotoDescription: String { return self._s[1779]! } + public func Channel_AdminLog_MessageRestrictedName(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1780]!, self._r[1780]!, [_1]) + } + public var Notification_PaymentSent: String { return self._s[1781]! } + public var PhotoEditor_CurvesGreen: String { return self._s[1782]! } + public var SaveIncomingPhotosSettings_Title: String { return self._s[1783]! } + public func ApplyLanguage_UnsufficientDataText(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1784]!, self._r[1784]!, [_1]) + } + public func CHAT_MESSAGE_GEOLIVE(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1785]!, self._r[1785]!, [_1, _2]) + } + public var NetworkUsageSettings_CallDataSection: String { return self._s[1786]! } + public var PasscodeSettings_HelpTop: String { return self._s[1787]! } + public var Passport_Address_TypeRentalAgreement: String { return self._s[1788]! } + public var ReportPeer_ReasonOther_Placeholder: String { return self._s[1789]! } + public var CheckoutInfo_ErrorPhoneInvalid: String { return self._s[1790]! } + public var Call_Accept: String { return self._s[1792]! } + public var Month_GenMarch: String { return self._s[1793]! } + public var PhotoEditor_ShadowsTool: String { return self._s[1794]! } + public var LoginPassword_Title: String { return self._s[1795]! } + public var Watch_Conversation_GroupInfo: String { return self._s[1796]! } + public var CallSettings_Always: String { return self._s[1797]! } + public var TwoStepAuth_SetupHint: String { return self._s[1798]! } + public var ConversationProfile_UsersTooMuchError: String { return self._s[1799]! } + public var Login_PhoneTitle: String { return self._s[1800]! } + public var Passport_FieldPhoneHelp: String { return self._s[1801]! } + public var Weekday_ShortSunday: String { return self._s[1802]! } + public var Passport_InfoFAQ_URL: String { return self._s[1803]! } + public var ContactInfo_Job: String { return self._s[1805]! } + public var UserInfo_InviteBotToGroup: String { return self._s[1806]! } + public var TwoStepAuth_PasswordRemovePassportConfirmation: String { return self._s[1807]! } + public var Passport_DeletePersonalDetailsConfirmation: String { return self._s[1808]! } + public var Passport_Identity_AddInternalPassport: String { return self._s[1810]! } + public var MediaPicker_AddCaption: String { return self._s[1811]! } + public var CallSettings_TabIconDescription: String { return self._s[1812]! } + public var Privacy_GroupsAndChannels_AlwaysAllow: String { return self._s[1813]! } + public var Passport_Identity_TypePersonalDetails: String { return self._s[1814]! } + public var DialogList_SearchSectionRecent: String { return self._s[1815]! } + public var PrivacyPolicy_DeclineMessage: String { return self._s[1816]! } + public var LastSeen_WithinAWeek: String { return self._s[1818]! } + public var ChannelMembers_GroupAdminsTitle: String { return self._s[1819]! } + public var Conversation_CloudStorage_ChatStatus: String { return self._s[1821]! } + public var Passport_Address_TypeResidentialAddress: String { return self._s[1822]! } + public var Conversation_StatusLeftGroup: String { return self._s[1823]! } + public var SocksProxySetup_ProxyDetailsTitle: String { return self._s[1824]! } + public var PhotoEditor_BlurToolRadial: String { return self._s[1827]! } + public var Conversation_ContextMenuCopy: String { return self._s[1828]! } + public var AccessDenied_CallMicrophone: String { return self._s[1829]! } + public func Time_PreciseDate_m2(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1830]!, self._r[1830]!, [_1, _2, _3]) + } + public var Login_InvalidFirstNameError: String { return self._s[1831]! } + public var Notifications_Badge_CountUnreadMessages_InfoOn: String { return self._s[1832]! } + public var Checkout_PaymentMethod_New: String { return self._s[1833]! } + public var ShareMenu_CopyShareLinkGame: String { return self._s[1834]! } + public var PhotoEditor_QualityTool: String { return self._s[1835]! } + public var Login_SendCodeViaSms: String { return self._s[1836]! } + public func CHAT_MESSAGE_CONTACT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1837]!, self._r[1837]!, [_1, _2]) + } + public var Login_EmailNotConfiguredError: String { return self._s[1838]! } + public var PrivacyPolicy_Accept: String { return self._s[1839]! } + public var Notifications_ExceptionsMessagePlaceholder: String { return self._s[1840]! } + public var InfoPlist_NSLocationAlwaysUsageDescription: String { return self._s[1841]! } + public var AutoNightTheme_Automatic: String { return self._s[1842]! } + public var Channel_Username_InvalidStartsWithNumber: String { return self._s[1843]! } + public var Privacy_ContactsSyncHelp: String { return self._s[1844]! } + public var Cache_Help: String { return self._s[1845]! } + public var Passport_Language_fa: String { return self._s[1846]! } + public var Login_ResetAccountProtected_TimerTitle: String { return self._s[1847]! } + public var PrivacySettings_LastSeen: String { return self._s[1848]! } + public func DialogList_MultipleTyping(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1849]!, self._r[1849]!, [_0, _1]) + } + public var Channel_EditAdmin_PermissionInviteUsers: String { return self._s[1850]! } + public var Preview_SaveGif: String { return self._s[1852]! } + public var Profile_About: String { return self._s[1853]! } + public var Channel_About_Placeholder: String { return self._s[1854]! } + public var Login_InfoTitle: String { return self._s[1855]! } + public func TwoStepAuth_SetupPendingEmail(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1856]!, self._r[1856]!, [_0]) + } + public var Watch_Suggestion_CantTalk: String { return self._s[1858]! } + public var ContactInfo_Title: String { return self._s[1859]! } + public var Media_ShareThisVideo: String { return self._s[1860]! } + public var Weekday_ShortFriday: String { return self._s[1861]! } + public var AccessDenied_Contacts: String { return self._s[1862]! } + public var Notification_CallIncomingShort: String { return self._s[1863]! } + public var Group_Setup_TypePublic: String { return self._s[1864]! } + public var Notifications_MessageNotificationsExceptions: String { return self._s[1865]! } + public var Notifications_Badge_IncludeChannels: String { return self._s[1866]! } + public var Notifications_MessageNotificationsPreview: String { return self._s[1869]! } + public var ConversationProfile_ErrorCreatingConversation: String { return self._s[1870]! } + public var Group_ErrorAddTooMuchBots: String { return self._s[1871]! } + public var Privacy_GroupsAndChannels_CustomShareHelp: String { return self._s[1872]! } + public var DialogList_Typing: String { return self._s[1873]! } + public var Checkout_Phone: String { return self._s[1876]! } + public var Login_InfoFirstNamePlaceholder: String { return self._s[1879]! } + public var Privacy_Calls_Integration: String { return self._s[1880]! } + public var Notifications_PermissionsAllow: String { return self._s[1881]! } + public var TwoStepAuth_AddHintDescription: String { return self._s[1885]! } + public var Settings_ChatSettings: String { return self._s[1886]! } + public func Channel_AdminLog_MessageInvitedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1887]!, self._r[1887]!, [_1, _2]) + } + public var Login_ContinueWithLocalization: String { return self._s[1889]! } + public var Watch_Message_ForwardedFrom: String { return self._s[1890]! } + public var TwoStepAuth_EnterEmailCode: String { return self._s[1892]! } + public var Conversation_Unblock: String { return self._s[1893]! } + public var PrivacySettings_DataSettings: String { return self._s[1894]! } + public var Notifications_InAppNotificationsVibrate: String { return self._s[1895]! } + public func Privacy_GroupsAndChannels_InviteToChannelError(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1896]!, self._r[1896]!, [_0, _1]) + } + public var PrivacySettings_Passcode: String { return self._s[1899]! } + public func ENCRYPTION_ACCEPT(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1900]!, self._r[1900]!, [_1]) + } + public var Passport_Language_dz: String { return self._s[1901]! } + public var Passport_Language_tk: String { return self._s[1902]! } + public func Login_EmailCodeSubject(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1903]!, self._r[1903]!, [_0]) + } + public var InfoPlist_NSPhotoLibraryUsageDescription: String { return self._s[1904]! } + public var Conversation_ContextMenuReply: String { return self._s[1905]! } + public var Tour_Title1: String { return self._s[1906]! } + public func MESSAGE_STICKER(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1907]!, self._r[1907]!, [_1, _2]) + } + public var Conversation_ClearGroupHistory: String { return self._s[1909]! } + public func Checkout_PasswordEntry_Text(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1910]!, self._r[1910]!, [_0]) + } + public var Call_RateCall: String { return self._s[1911]! } + public var Passport_PasswordCompleteSetup: String { return self._s[1912]! } + public var Conversation_InputTextSilentBroadcastPlaceholder: String { return self._s[1913]! } + public var UserInfo_LastNamePlaceholder: String { return self._s[1915]! } + public func Login_WillCallYou(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1917]!, self._r[1917]!, [_0]) + } + public var Compose_Create: String { return self._s[1918]! } + public var Contacts_InviteToTelegram: String { return self._s[1919]! } + public var GroupInfo_Notifications: String { return self._s[1920]! } + public var Message_PinnedLiveLocationMessage: String { return self._s[1922]! } + public var Month_GenApril: String { return self._s[1923]! } + public var Appearance_AutoNightTheme: String { return self._s[1924]! } + public var ChatSettings_AutomaticAudioDownload: String { return self._s[1926]! } + public var Login_CodeSentSms: String { return self._s[1928]! } + public func UserInfo_UnblockConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1929]!, self._r[1929]!, [_0]) + } + public var Passport_Language_hr: String { return self._s[1930]! } + public func Channel_AdminLog_MessageRestrictedNewSetting(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1931]!, self._r[1931]!, [_0]) + } + public var GroupInfo_InviteLink_CopyLink: String { return self._s[1932]! } + public var Conversation_InputTextBroadcastPlaceholder: String { return self._s[1933]! } + public var Privacy_SecretChatsTitle: String { return self._s[1934]! } + public var Notification_SecretChatMessageScreenshotSelf: String { return self._s[1936]! } + public var GroupInfo_AddUserLeftError: String { return self._s[1937]! } + public var Preview_DeleteGif: String { return self._s[1938]! } + public var Permissions_ContactsText: String { return self._s[1939]! } + public var Group_ErrorNotMutualContact: String { return self._s[1940]! } + public var Notification_MessageLifetime5s: String { return self._s[1941]! } + public func Watch_LastSeen_AtDate(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1942]!, self._r[1942]!, [_0]) + } + public var Passport_Address_AddBankStatement: String { return self._s[1944]! } + public var Notification_CallIncoming: String { return self._s[1945]! } + public var TwoStepAuth_RecoveryCodeHelp: String { return self._s[1947]! } + public var Passport_Address_Postcode: String { return self._s[1949]! } + public func LastSeen_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1950]!, self._r[1950]!, [_0]) + } + public var Checkout_NewCard_SaveInfoHelp: String { return self._s[1951]! } + public func Cache_Clear(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1952]!, self._r[1952]!, [_0]) + } + public var Bot_GroupStatusDoesNotReadHistory: String { return self._s[1953]! } + public var Username_Placeholder: String { return self._s[1954]! } + public var Passport_FieldAddressUploadHelp: String { return self._s[1955]! } + public var Passport_PasswordDescription: String { return self._s[1957]! } + public var Channel_MessagePhotoUpdated: String { return self._s[1958]! } + public var MediaPicker_TapToUngroupDescription: String { return self._s[1959]! } + public var AttachmentMenu_PhotoOrVideo: String { return self._s[1960]! } + public var Conversation_ContextMenuMore: String { return self._s[1961]! } + public var Privacy_PaymentsClearInfo: String { return self._s[1962]! } + public var CallSettings_TabIcon: String { return self._s[1963]! } + public var KeyCommand_Find: String { return self._s[1964]! } + public var Message_PinnedGame: String { return self._s[1965]! } + public var Notifications_Badge_CountUnreadMessages_InfoOff: String { return self._s[1966]! } + public var Login_CallRequestState2: String { return self._s[1968]! } + public var CheckoutInfo_ReceiverInfoNamePlaceholder: String { return self._s[1970]! } + public func Checkout_PayPrice(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1972]!, self._r[1972]!, [_0]) + } + public var Conversation_InstantPagePreview: String { return self._s[1973]! } + public func DialogList_SingleUploadingVideoSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1974]!, self._r[1974]!, [_0]) + } + public var SecretTimer_VideoDescription: String { return self._s[1977]! } + public var Passport_Language_es: String { return self._s[1978]! } + public var Conversation_EditingMessageMediaEditCurrentVideo: String { return self._s[1980]! } + public var WebPreview_GettingLinkInfo: String { return self._s[1981]! } + public var Watch_UserInfo_Unmute: String { return self._s[1982]! } + public var GroupInfo_ChannelListNamePlaceholder: String { return self._s[1983]! } + public var ChatList_ReadAll: String { return self._s[1985]! } + public var AccessDenied_CameraRestricted: String { return self._s[1986]! } public func Conversation_Kilobytes(_ _0: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2736]!, self._r[2736]!, ["\(_0)"]) + return formatWithArgumentRanges(self._s[1988]!, self._r[1988]!, ["\(_0)"]) } - public var Group_ErrorAddBlocked: String { return self._s[2737]! } - public var TwoStepAuth_AdditionalPassword: String { return self._s[2739]! } - public var MediaPicker_Videos: String { return self._s[2740]! } - public var Notification_PassportValueProofOfIdentity: String { return self._s[2741]! } - public var BlockedUsers_AddNew: String { return self._s[2742]! } - public var StickerPacksSettings_StickerPacksSection: String { return self._s[2743]! } - public var Channel_NotificationLoading: String { return self._s[2744]! } - public var Passport_Language_da: String { return self._s[2746]! } - public var Passport_Address_Country: String { return self._s[2747]! } - public func CHAT_RETURNED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + public var Contacts_SearchLabel: String { return self._s[1990]! } + public var Settings_CopyUsername: String { return self._s[1991]! } + public func MESSAGE_GEOLIVE(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1992]!, self._r[1992]!, [_1]) + } + public var Map_OpenInYandexNavigator: String { return self._s[1993]! } + public var PasscodeSettings_EncryptData: String { return self._s[1994]! } + public var Notifications_GroupNotificationsPreview: String { return self._s[1995]! } + public var DialogList_AdNoticeAlert: String { return self._s[1996]! } + public func CHAT_DELETE_MEMBER(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1998]!, self._r[1998]!, [_1, _2, _3]) + } + public var CheckoutInfo_ShippingInfoAddress1: String { return self._s[1999]! } + public var CheckoutInfo_ShippingInfoAddress2: String { return self._s[2000]! } + public var Localization_LanguageCustom: String { return self._s[2001]! } + public var Passport_Identity_TypeDriversLicenseUploadScan: String { return self._s[2002]! } + public func CHAT_CREATED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2003]!, self._r[2003]!, [_1, _2]) + } + public var Passport_Address_OneOfTypePassportRegistration: String { return self._s[2005]! } + public var Conversation_InfoGroup: String { return self._s[2006]! } + public var Compose_NewMessage: String { return self._s[2007]! } + public var FastTwoStepSetup_HintPlaceholder: String { return self._s[2008]! } + public var ChatSettings_AutoDownloadVideoMessages: String { return self._s[2009]! } + public func Passport_Scans_ScanIndex(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2010]!, self._r[2010]!, [_0]) + } + public var Channel_AdminLog_CanDeleteMessages: String { return self._s[2011]! } + public var Login_CancelSignUpConfirmation: String { return self._s[2012]! } + public var ChangePhoneNumberCode_Help: String { return self._s[2013]! } + public var PrivacySettings_DeleteAccountHelp: String { return self._s[2014]! } + public var Channel_BlackList_Title: String { return self._s[2015]! } + public var UserInfo_PhoneCall: String { return self._s[2016]! } + public var Passport_Address_OneOfTypeBankStatement: String { return self._s[2018]! } + public var State_connecting: String { return self._s[2019]! } + public func DialogList_SingleRecordingAudioSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2020]!, self._r[2020]!, [_0]) + } + public var Notifications_GroupNotifications: String { return self._s[2021]! } + public var Passport_Identity_EditPassport: String { return self._s[2022]! } + public var EnterPasscode_RepeatNewPasscode: String { return self._s[2024]! } + public var Localization_EnglishLanguageName: String { return self._s[2025]! } + public var Share_AuthDescription: String { return self._s[2026]! } + public var Passport_Identity_Surname: String { return self._s[2027]! } + public var Compose_TokenListPlaceholder: String { return self._s[2028]! } + public var Passport_Identity_OneOfTypePassport: String { return self._s[2029]! } + public var Settings_AboutEmpty: String { return self._s[2030]! } + public var Conversation_Unmute: String { return self._s[2031]! } + public var Login_CodeSentCall: String { return self._s[2034]! } + public var ContactInfo_PhoneLabelHomeFax: String { return self._s[2035]! } + public var ChatSettings_Appearance: String { return self._s[2036]! } + public var Appearance_PickAccentColor: String { return self._s[2037]! } + public var Notification_CallMissed: String { return self._s[2038]! } + public var Channel_AdminLogFilter_EventsInfo: String { return self._s[2039]! } + public var ChatAdmins_AdminLabel: String { return self._s[2041]! } + public var KeyCommand_JumpToNextChat: String { return self._s[2042]! } + public var ChangePhoneNumberCode_CodePlaceholder: String { return self._s[2044]! } + public var Month_GenJune: String { return self._s[2045]! } + public var Watch_Location_Current: String { return self._s[2046]! } + public func PINNED_ROUND(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2047]!, self._r[2047]!, [_1]) + } + public var GroupInfo_DeleteAndExit: String { return self._s[2048]! } + public func Conversation_Moderate_DeleteAllMessages(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2049]!, self._r[2049]!, [_0]) + } + public var Call_ReportPlaceholder: String { return self._s[2050]! } + public var MaskStickerSettings_Info: String { return self._s[2051]! } + public func GroupInfo_AddParticipantConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2052]!, self._r[2052]!, [_0]) + } + public var Checkout_NewCard_PostcodeTitle: String { return self._s[2053]! } + public var Passport_Address_RegionPlaceholder: String { return self._s[2055]! } + public var Contacts_ShareTelegram: String { return self._s[2056]! } + public var EnterPasscode_EnterNewPasscodeNew: String { return self._s[2057]! } + public var Channel_ErrorAccessDenied: String { return self._s[2058]! } + public var Stickers_GroupChooseStickerPack: String { return self._s[2060]! } + public var Call_ConnectionErrorTitle: String { return self._s[2061]! } + public var UserInfo_NotificationsEnable: String { return self._s[2062]! } + public var Tour_Text4: String { return self._s[2065]! } + public func CHANNEL_MESSAGE_NOTEXT(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2067]!, self._r[2067]!, [_1]) + } + public var Profile_MessageLifetime2s: String { return self._s[2068]! } + public var Notification_MessageLifetime2s: String { return self._s[2069]! } + public func Time_PreciseDate_m10(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2070]!, self._r[2070]!, [_1, _2, _3]) + } + public var Cache_ClearCache: String { return self._s[2071]! } + public var AutoNightTheme_UpdateLocation: String { return self._s[2072]! } + public func Channel_AdminLog_MessageChangedGroupUsername(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2074]!, self._r[2074]!, [_0]) + } + public var Channel_AdminLog_EmptyFilterTitle: String { return self._s[2076]! } + public var SocksProxySetup_TypeSocks: String { return self._s[2077]! } + public var AutoNightTheme_Title: String { return self._s[2078]! } + public var InstantPage_FeedbackButton: String { return self._s[2079]! } + public var Passport_FieldAddress: String { return self._s[2080]! } + public var Month_ShortMarch: String { return self._s[2081]! } + public var SocksProxySetup_UsernamePlaceholder: String { return self._s[2082]! } + public var Conversation_ShareInlineBotLocationConfirmation: String { return self._s[2083]! } + public var Passport_FloodError: String { return self._s[2084]! } + public var Passport_Language_th: String { return self._s[2086]! } + public var Passport_Address_Address: String { return self._s[2087]! } + public var Login_InvalidLastNameError: String { return self._s[2088]! } + public var Notifications_InAppNotificationsPreview: String { return self._s[2089]! } + public var ShareMenu_Send: String { return self._s[2090]! } + public var Month_GenNovember: String { return self._s[2093]! } + public var Checkout_Email: String { return self._s[2095]! } + public var NotificationsSound_Tritone: String { return self._s[2096]! } + public var StickerPacksSettings_ManagingHelp: String { return self._s[2098]! } + public var ChangePhoneNumberNumber_Help: String { return self._s[2101]! } + public func Checkout_LiabilityAlert(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2102]!, self._r[2102]!, [_1, _1, _1, _2]) + } + public var DialogList_You: String { return self._s[2103]! } + public var MediaPicker_Send: String { return self._s[2106]! } + public var Call_AudioRouteSpeaker: String { return self._s[2107]! } + public var Watch_UserInfo_Title: String { return self._s[2108]! } + public var Appearance_AccentColor: String { return self._s[2109]! } + public func Login_EmailPhoneSubject(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2110]!, self._r[2110]!, [_0]) + } + public var Conversation_ClousStorageInfo_Description2: String { return self._s[2111]! } + public var WebSearch_RecentClearConfirmation: String { return self._s[2112]! } + public var Notification_CallOutgoing: String { return self._s[2113]! } + public var PrivacySettings_PasscodeAndFaceId: String { return self._s[2114]! } + public var Call_RecordingDisabledMessage: String { return self._s[2115]! } + public var PrivacyLastSeenSettings_CustomHelp: String { return self._s[2116]! } + public var Channel_EditAdmin_PermissionAddAdmins: String { return self._s[2117]! } + public var Date_DialogDateFormat: String { return self._s[2118]! } + public var Notifications_InAppNotifications: String { return self._s[2119]! } + public func Settings_ApplyProxyAlert(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2120]!, self._r[2120]!, [_1, _2]) + } + public var NewContact_Title: String { return self._s[2121]! } + public var Conversation_ViewContactDetails: String { return self._s[2122]! } + public var Checkout_NewCard_CardholderNameTitle: String { return self._s[2123]! } + public var Passport_Identity_ExpiryDateNone: String { return self._s[2124]! } + public var PrivacySettings_Title: String { return self._s[2125]! } + public var Conversation_SilentBroadcastTooltipOff: String { return self._s[2128]! } + public func CHANNEL_MESSAGE_CONTACT(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2129]!, self._r[2129]!, [_1]) + } + public var Contacts_PhoneNumber: String { return self._s[2130]! } + public var Map_ShowPlaces: String { return self._s[2132]! } + public var ChatAdmins_Title: String { return self._s[2133]! } + public var InstantPage_Reference: String { return self._s[2135]! } + public var Camera_FlashOff: String { return self._s[2136]! } + public var Watch_UserInfo_Block: String { return self._s[2137]! } + public var ChatSettings_Stickers: String { return self._s[2138]! } + public func UserInfo_BlockConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2139]!, self._r[2139]!, [_0]) + } + public var Login_CheckOtherSessionMessages: String { return self._s[2140]! } + public var Settings_ViewPhoto: String { return self._s[2141]! } + public var AutoDownloadSettings_Cellular: String { return self._s[2142]! } + public func Target_InviteToGroupConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2144]!, self._r[2144]!, [_0]) + } + public var Privacy_DeleteDrafts: String { return self._s[2145]! } + public func LastSeen_AtDate(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2146]!, self._r[2146]!, [_0]) + } + public var DialogList_SavedMessagesHelp: String { return self._s[2147]! } + public var DialogList_SavedMessages: String { return self._s[2148]! } + public var GroupInfo_UpgradeButton: String { return self._s[2149]! } + public func CHAT_MESSAGE_GAME(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2150]!, self._r[2150]!, [_1, _2, _3]) + } + public var DialogList_Pin: String { return self._s[2151]! } + public func ForwardedAuthors2(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2152]!, self._r[2152]!, [_0, _1]) + } + public var Notification_Exceptions_AlwaysOn: String { return self._s[2153]! } + public var UserInfo_NotificationsDisable: String { return self._s[2154]! } + public var Paint_Outlined: String { return self._s[2155]! } + public var Activity_PlayingGame: String { return self._s[2156]! } + public var SearchImages_NoImagesFound: String { return self._s[2157]! } + public var SocksProxySetup_ProxyType: String { return self._s[2158]! } + public var AppleWatch_ReplyPresetsHelp: String { return self._s[2160]! } + public var Settings_AppLanguage: String { return self._s[2161]! } + public var TwoStepAuth_ResetAccountHelp: String { return self._s[2162]! } + public var Common_ChoosePhoto: String { return self._s[2163]! } + public var Privacy_Calls_AlwaysAllow: String { return self._s[2164]! } + public var Activity_UploadingVideo: String { return self._s[2165]! } + public var ChannelInfo_DeleteChannelConfirmation: String { return self._s[2166]! } + public var NetworkUsageSettings_Wifi: String { return self._s[2167]! } + public var Channel_BanUser_PermissionReadMessages: String { return self._s[2168]! } + public var Checkout_PayWithTouchId: String { return self._s[2169]! } + public var Notifications_ExceptionsNone: String { return self._s[2171]! } + public func Message_ForwardedMessageShort(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2172]!, self._r[2172]!, [_0]) + } + public var AuthSessions_IncompleteAttempts: String { return self._s[2173]! } + public var Passport_Address_Region: String { return self._s[2177]! } + public var PhotoEditor_TiltShift: String { return self._s[2178]! } + public var Settings_FAQ_URL: String { return self._s[2179]! } + public var Passport_Language_sl: String { return self._s[2180]! } + public var Settings_PrivacySettings: String { return self._s[2182]! } + public var SharedMedia_TitleLink: String { return self._s[2183]! } + public var Passport_Identity_TypePassportUploadScan: String { return self._s[2184]! } + public var Settings_SetProfilePhoto: String { return self._s[2185]! } + public var Channel_About_Help: String { return self._s[2186]! } + public var AttachmentMenu_SendAsFiles: String { return self._s[2187]! } + public var Passport_Address_AddTemporaryRegistration: String { return self._s[2189]! } + public var PrivacySettings_DeleteAccountTitle: String { return self._s[2190]! } + public var AccessDenied_VideoMessageCamera: String { return self._s[2192]! } + public var Map_OpenInYandexMaps: String { return self._s[2194]! } + public var PhotoEditor_SaturationTool: String { return self._s[2195]! } + public var Notification_Exceptions_NewException_NotificationHeader: String { return self._s[2196]! } + public var Appearance_TextSize: String { return self._s[2197]! } + public var Channel_Username_InvalidTooShort: String { return self._s[2199]! } + public var Passport_PassportInformation: String { return self._s[2202]! } + public var WatchRemote_AlertTitle: String { return self._s[2203]! } + public var Privacy_GroupsAndChannels_NeverAllow: String { return self._s[2204]! } + public var ConvertToSupergroup_HelpText: String { return self._s[2206]! } + public func Time_MonthOfYear_m7(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2207]!, self._r[2207]!, [_0]) + } + public var Privacy_GroupsAndChannels_CustomHelp: String { return self._s[2208]! } + public var TwoStepAuth_RecoveryCodeInvalid: String { return self._s[2210]! } + public var AccessDenied_CameraDisabled: String { return self._s[2211]! } + public func Channel_Username_UsernameIsAvailable(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2212]!, self._r[2212]!, [_0]) + } + public var PhotoEditor_ContrastTool: String { return self._s[2215]! } + public var DialogList_Draft: String { return self._s[2216]! } + public var Privacy_TopPeersDelete: String { return self._s[2218]! } + public var LoginPassword_PasswordPlaceholder: String { return self._s[2219]! } + public var Passport_Identity_TypeIdentityCardUploadScan: String { return self._s[2220]! } + public var WebSearch_RecentSectionClear: String { return self._s[2221]! } + public var Watch_ChatList_NoConversationsTitle: String { return self._s[2223]! } + public var Common_Done: String { return self._s[2224]! } + public var AuthSessions_EmptyText: String { return self._s[2225]! } + public var Conversation_ShareBotContactConfirmation: String { return self._s[2226]! } + public var Tour_Title5: String { return self._s[2227]! } + public func Map_DirectionsDriveEta(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2228]!, self._r[2228]!, [_0]) + } + public var ApplyLanguage_UnsufficientDataTitle: String { return self._s[2229]! } + public var Conversation_LinkDialogSave: String { return self._s[2230]! } + public var GroupInfo_ActionRestrict: String { return self._s[2231]! } + public var Checkout_Title: String { return self._s[2232]! } + public var Channel_AdminLog_CanChangeInfo: String { return self._s[2235]! } + public var Notification_RenamedGroup: String { return self._s[2236]! } + public var Checkout_PayWithFaceId: String { return self._s[2237]! } + public var Channel_BanList_BlockedTitle: String { return self._s[2238]! } + public var Checkout_WebConfirmation_Title: String { return self._s[2240]! } + public var Notifications_MessageNotificationsAlert: String { return self._s[2241]! } + public var Profile_AddToExisting: String { return self._s[2243]! } + public func Profile_CreateEncryptedChatOutdatedError(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2244]!, self._r[2244]!, [_0, _1]) + } + public var Cache_Files: String { return self._s[2245]! } + public var Permissions_PrivacyPolicy: String { return self._s[2246]! } + public var SocksProxySetup_ConnectAndSave: String { return self._s[2247]! } + public var UserInfo_NotificationsDefaultDisabled: String { return self._s[2248]! } + public var Calls_NoCallsPlaceholder: String { return self._s[2251]! } + public var Channel_Username_RevokeExistingUsernamesInfo: String { return self._s[2252]! } + public var Notifications_ExceptionsGroupPlaceholder: String { return self._s[2254]! } + public var Passport_FieldAddressHelp: String { return self._s[2255]! } + public var Privacy_GroupsAndChannels_InviteToChannelMultipleError: String { return self._s[2256]! } + public func Login_TermsOfService_ProceedBot(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2257]!, self._r[2257]!, [_0]) + } + public var Channel_AdminLog_EmptyTitle: String { return self._s[2258]! } + public var Privacy_Calls_NeverAllow_Title: String { return self._s[2260]! } + public var Login_UnknownError: String { return self._s[2261]! } + public var Group_UpgradeNoticeText2: String { return self._s[2263]! } + public var Watch_Compose_AddContact: String { return self._s[2264]! } + public var Web_Error: String { return self._s[2265]! } + public var Profile_MessageLifetime1h: String { return self._s[2266]! } + public var CheckoutInfo_ReceiverInfoEmailPlaceholder: String { return self._s[2267]! } + public var Channel_Username_CheckingUsername: String { return self._s[2268]! } + public func PINNED_GAME(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2269]!, self._r[2269]!, [_1]) + } + public var Channel_AboutItem: String { return self._s[2270]! } + public var Privacy_GroupsAndChannels_AlwaysAllow_Placeholder: String { return self._s[2272]! } + public var GroupInfo_SharedMedia: String { return self._s[2273]! } + public func Channel_AdminLog_MessagePromotedName(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2274]!, self._r[2274]!, [_1]) + } + public var Call_PhoneCallInProgressMessage: String { return self._s[2275]! } + public var GroupInfo_InviteLink_RevokeAlert_Text: String { return self._s[2276]! } + public var Conversation_SearchByName_Placeholder: String { return self._s[2277]! } + public var Group_UpgradeNoticeHeader: String { return self._s[2278]! } + public var Channel_Management_AddModerator: String { return self._s[2279]! } + public var StickerPacksSettings_ShowStickersButton: String { return self._s[2280]! } + public var NotificationsSound_Hello: String { return self._s[2281]! } + public func CHAT_MESSAGE_GEO(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2282]!, self._r[2282]!, [_1, _2]) + } + public var SocksProxySetup_SavedProxies: String { return self._s[2283]! } + public var Channel_Stickers_Placeholder: String { return self._s[2285]! } + public func Login_EmailCodeBody(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2286]!, self._r[2286]!, [_0]) + } + public var PrivacyPolicy_DeclineDeclineAndDelete: String { return self._s[2287]! } + public var Channel_Management_AddModeratorHelp: String { return self._s[2288]! } + public var ContactInfo_BirthdayLabel: String { return self._s[2289]! } + public var ChangePhoneNumberCode_RequestingACall: String { return self._s[2290]! } + public var AutoDownloadSettings_Channels: String { return self._s[2291]! } + public var Passport_Language_mn: String { return self._s[2292]! } + public var Notifications_ResetAllNotificationsHelp: String { return self._s[2295]! } + public var Passport_Language_ja: String { return self._s[2297]! } + public var Settings_About_Title: String { return self._s[2298]! } + public var Settings_NotificationsAndSounds: String { return self._s[2299]! } + public var ChannelInfo_DeleteGroup: String { return self._s[2300]! } + public var Settings_BlockedUsers: String { return self._s[2301]! } + public func Time_MonthOfYear_m4(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2302]!, self._r[2302]!, [_0]) + } + public var Passport_Address_AddResidentialAddress: String { return self._s[2303]! } + public var Channel_Username_Title: String { return self._s[2304]! } + public func Notification_RemovedGroupPhoto(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2305]!, self._r[2305]!, [_0]) + } + public var AttachmentMenu_File: String { return self._s[2307]! } + public var AppleWatch_Title: String { return self._s[2308]! } + public var Activity_RecordingVideoMessage: String { return self._s[2309]! } + public var Weekday_Saturday: String { return self._s[2310]! } + public var Profile_CreateEncryptedChatError: String { return self._s[2311]! } + public var Common_Next: String { return self._s[2313]! } + public var Channel_Stickers_YourStickers: String { return self._s[2315]! } + public var Call_AudioRouteHeadphones: String { return self._s[2316]! } + public var TwoStepAuth_EnterPasswordForgot: String { return self._s[2318]! } + public var Watch_Contacts_NoResults: String { return self._s[2320]! } + public var PhotoEditor_TintTool: String { return self._s[2322]! } + public var LoginPassword_ResetAccount: String { return self._s[2324]! } + public var Settings_SavedMessages: String { return self._s[2325]! } + public var StickerPack_Add: String { return self._s[2326]! } + public var Your_cards_number_is_invalid: String { return self._s[2327]! } + public var Checkout_TotalAmount: String { return self._s[2328]! } + public func ChangePhoneNumberCode_CallTimer(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2329]!, self._r[2329]!, [_0]) + } + public var ChatSettings_ConnectionType_UseSocks5: String { return self._s[2330]! } + public func CHANNEL_MESSAGE_STICKER(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2332]!, self._r[2332]!, [_1, _2]) + } + public func Conversation_RestrictedTextTimed(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2333]!, self._r[2333]!, [_0]) + } + public var GroupInfo_InviteLink_ShareLink: String { return self._s[2334]! } + public var StickerPack_Share: String { return self._s[2335]! } + public var Passport_DeleteAddress: String { return self._s[2336]! } + public var Settings_Passport: String { return self._s[2337]! } + public var SharedMedia_EmptyFilesText: String { return self._s[2338]! } + public var Conversation_DeleteMessagesForMe: String { return self._s[2339]! } + public var PasscodeSettings_AutoLock_IfAwayFor_1hour: String { return self._s[2340]! } + public var Contacts_PermissionsText: String { return self._s[2341]! } + public var Group_Setup_HistoryVisible: String { return self._s[2342]! } + public var Permissions_SiriAllow: String { return self._s[2344]! } + public var Passport_Address_AddRentalAgreement: String { return self._s[2345]! } + public var SocksProxySetup_Title: String { return self._s[2346]! } + public var Notification_Mute1h: String { return self._s[2347]! } + public func Passport_Email_CodeHelp(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2348]!, self._r[2348]!, [_0]) + } + public var FastTwoStepSetup_PasswordSection: String { return self._s[2349]! } + public var NetworkUsageSettings_ResetStatsConfirmation: String { return self._s[2352]! } + public var InfoPlist_NSFaceIDUsageDescription: String { return self._s[2354]! } + public var DialogList_NoMessagesText: String { return self._s[2355]! } + public var Privacy_ContactsResetConfirmation: String { return self._s[2356]! } + public var Privacy_Calls_P2PHelp: String { return self._s[2357]! } + public var Your_cards_expiration_year_is_invalid: String { return self._s[2359]! } + public var Common_TakePhotoOrVideo: String { return self._s[2360]! } + public var Call_StatusBusy: String { return self._s[2361]! } + public var Conversation_PinnedMessage: String { return self._s[2362]! } + public var AutoDownloadSettings_VoiceMessagesTitle: String { return self._s[2363]! } + public var TwoStepAuth_SetupPasswordConfirmFailed: String { return self._s[2364]! } + public var AppleWatch_ReplyPresets: String { return self._s[2365]! } + public var Passport_DiscardMessageDescription: String { return self._s[2367]! } + public var Login_NetworkError: String { return self._s[2368]! } + public func Notification_PinnedRoundMessage(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2369]!, self._r[2369]!, [_0]) + } + public func Channel_AdminLog_MessageRemovedChannelUsername(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2370]!, self._r[2370]!, [_0]) + } + public var SocksProxySetup_PasswordPlaceholder: String { return self._s[2371]! } + public func CONTACT_JOINED(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2373]!, self._r[2373]!, [_1]) + } + public var Login_ResetAccountProtected_LimitExceeded: String { return self._s[2374]! } + public func Watch_LastSeen_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2376]!, self._r[2376]!, [_0]) + } + public var Call_ConnectionErrorMessage: String { return self._s[2377]! } + public var Compose_GroupTokenListPlaceholder: String { return self._s[2379]! } + public var ConversationMedia_Title: String { return self._s[2380]! } + public var EncryptionKey_Title: String { return self._s[2382]! } + public var TwoStepAuth_EnterPasswordTitle: String { return self._s[2383]! } + public var Notification_Exceptions_AddException: String { return self._s[2384]! } + public var Profile_MessageLifetime1m: String { return self._s[2385]! } + public func Channel_AdminLog_MessageUnkickedName(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2386]!, self._r[2386]!, [_1]) + } + public var Month_GenMay: String { return self._s[2387]! } + public func LiveLocationUpdated_TodayAt(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2388]!, self._r[2388]!, [_0]) + } + public var ChannelMembers_WhoCanAddMembersAllHelp: String { return self._s[2389]! } + public var Conversation_EmptyPlaceholder: String { return self._s[2391]! } + public var Passport_Address_AddPassportRegistration: String { return self._s[2392]! } + public var Notifications_ChannelNotificationsAlert: String { return self._s[2393]! } + public var Camera_TapAndHoldForVideo: String { return self._s[2394]! } + public var Channel_JoinChannel: String { return self._s[2396]! } + public var Appearance_Animations: String { return self._s[2399]! } + public func Notification_MessageLifetimeChanged(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2400]!, self._r[2400]!, [_1, _2]) + } + public var Stickers_GroupStickers: String { return self._s[2402]! } + public var ConvertToSupergroup_HelpTitle: String { return self._s[2404]! } + public var Passport_Address_Street: String { return self._s[2405]! } + public var Conversation_AddContact: String { return self._s[2406]! } + public var Login_PhonePlaceholder: String { return self._s[2407]! } + public var Channel_Members_InviteLink: String { return self._s[2409]! } + public var Bot_Stop: String { return self._s[2410]! } + public var Notification_PassportValueAddress: String { return self._s[2412]! } + public var Month_ShortJuly: String { return self._s[2413]! } + public var Passport_Address_TypeTemporaryRegistrationUploadScan: String { return self._s[2414]! } + public var Channel_AdminLog_BanSendMedia: String { return self._s[2415]! } + public var Passport_Identity_ReverseSide: String { return self._s[2416]! } + public var Watch_Stickers_Recents: String { return self._s[2419]! } + public var PrivacyLastSeenSettings_EmpryUsersPlaceholder: String { return self._s[2421]! } + public var Map_SendThisLocation: String { return self._s[2422]! } + public func Time_MonthOfYear_m1(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2423]!, self._r[2423]!, [_0]) + } + public func InviteText_SingleContact(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2424]!, self._r[2424]!, [_0]) + } + public var ConvertToSupergroup_Note: String { return self._s[2425]! } + public func FileSize_MB(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2426]!, self._r[2426]!, [_0]) + } + public var NetworkUsageSettings_GeneralDataSection: String { return self._s[2427]! } + public func Compatibility_SecretMediaVersionTooLow(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2428]!, self._r[2428]!, [_0, _1]) + } + public var Login_CallRequestState3: String { return self._s[2430]! } + public func CHANNEL_MESSAGE_GEO(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2432]!, self._r[2432]!, [_1]) + } + public var PasscodeSettings_UnlockWithFaceId: String { return self._s[2433]! } + public var Channel_AdminLogFilter_Title: String { return self._s[2434]! } + public var Notifications_GroupNotificationsExceptions: String { return self._s[2438]! } + public func FileSize_B(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2439]!, self._r[2439]!, [_0]) + } + public var Passport_CorrectErrors: String { return self._s[2440]! } + public func Channel_MessageTitleUpdated(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2441]!, self._r[2441]!, [_0]) + } + public var Map_SendMyCurrentLocation: String { return self._s[2442]! } + public var LoginPassword_FloodError: String { return self._s[2443]! } + public var Group_Setup_HistoryHiddenHelp: String { return self._s[2445]! } + public func TwoStepAuth_PendingEmailHelp(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2446]!, self._r[2446]!, [_0]) + } + public var Passport_Language_bn: String { return self._s[2447]! } + public func DialogList_SingleUploadingPhotoSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2448]!, self._r[2448]!, [_0]) + } + public func Notification_PinnedAudioMessage(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2449]!, self._r[2449]!, [_0]) + } + public func Channel_AdminLog_MessageChangedGroupStickerPack(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2450]!, self._r[2450]!, [_0]) + } + public var GroupInfo_InvitationLinkGroupFull: String { return self._s[2453]! } + public var Group_EditAdmin_PermissionChangeInfo: String { return self._s[2455]! } + public var Contacts_PermissionsAllow: String { return self._s[2456]! } + public var ReportPeer_ReasonCopyright: String { return self._s[2457]! } + public var Channel_EditAdmin_PermissinAddAdminOn: String { return self._s[2458]! } + public var Paint_Duplicate: String { return self._s[2459]! } + public var Notification_ChannelMigratedFrom: String { return self._s[2460]! } + public var Passport_Address_Country: String { return self._s[2461]! } + public var Notification_RenamedChannel: String { return self._s[2462]! } + public var CheckoutInfo_ErrorPostcodeInvalid: String { return self._s[2463]! } + public var Group_MessagePhotoUpdated: String { return self._s[2464]! } + public var Channel_BanUser_PermissionSendMedia: String { return self._s[2465]! } + public var Conversation_ContextMenuBan: String { return self._s[2466]! } + public var TwoStepAuth_EmailSent: String { return self._s[2467]! } + public var Passport_Language_is: String { return self._s[2468]! } + public var Tour_Text5: String { return self._s[2470]! } + public func Call_GroupFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2472]!, self._r[2472]!, [_1, _2]) + } + public var Paint_Edit: String { return self._s[2474]! } + public var LoginPassword_ForgotPassword: String { return self._s[2477]! } + public var GroupInfo_GroupNamePlaceholder: String { return self._s[2478]! } + public func Notification_Kicked(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2479]!, self._r[2479]!, [_0, _1]) + } + public var Conversation_InputTextCaptionPlaceholder: String { return self._s[2480]! } + public var AutoDownloadSettings_VideoMessagesTitle: String { return self._s[2481]! } + public var Passport_Language_uz: String { return self._s[2482]! } + public var Conversation_PinMessageAlertGroup: String { return self._s[2483]! } + public var Map_StopLiveLocation: String { return self._s[2485]! } + public var PasscodeSettings_Help: String { return self._s[2487]! } + public var NotificationsSound_Input: String { return self._s[2488]! } + public var Share_Title: String { return self._s[2490]! } + public var Login_TermsOfServiceAgree: String { return self._s[2491]! } + public var Channel_AdminLog_TitleSelectedEvents: String { return self._s[2492]! } + public var EnterPasscode_EnterTitle: String { return self._s[2493]! } + public var Channel_EditAdmin_PermissionEditMessages: String { return self._s[2494]! } + public func Call_PrivacyErrorMessage(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2495]!, self._r[2495]!, [_0]) + } + public var Settings_CopyPhoneNumber: String { return self._s[2496]! } + public var NotificationsSound_Keys: String { return self._s[2497]! } + public func Call_ParticipantVersionOutdatedError(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2498]!, self._r[2498]!, [_0]) + } + public var Notification_MessageLifetime1w: String { return self._s[2499]! } + public var Message_Video: String { return self._s[2500]! } + public func Notification_JoinedChat(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2503]!, self._r[2503]!, [_0]) + } + public func PrivacySettings_LastSeenContactsPlus(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2504]!, self._r[2504]!, [_0]) + } + public var Passport_Language_mk: String { return self._s[2505]! } + public var Conversation_SilentBroadcastTooltipOn: String { return self._s[2507]! } + public var PrivacyPolicy_Decline: String { return self._s[2508]! } + public var Passport_Identity_DoesNotExpire: String { return self._s[2509]! } + public var Channel_AdminLogFilter_EventsRestrictions: String { return self._s[2510]! } + public func CHAT_MESSAGE_STICKER(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2511]!, self._r[2511]!, [_1, _2, _3]) + } + public func CHANNEL_MESSAGES(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2512]!, self._r[2512]!, [_1, _2]) + } + public func Notification_RenamedChat(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2513]!, self._r[2513]!, [_0]) + } + public var Paint_Regular: String { return self._s[2514]! } + public var ChatSettings_AutoDownloadReset: String { return self._s[2515]! } + public var BlockedUsers_SelectUserTitle: String { return self._s[2516]! } + public var GroupInfo_InviteByLink: String { return self._s[2518]! } + public var MessageTimer_Custom: String { return self._s[2519]! } + public var UserInfo_NotificationsDefaultEnabled: String { return self._s[2520]! } + public var Passport_Address_TypeTemporaryRegistration: String { return self._s[2522]! } + public var Channel_Username_InvalidTaken: String { return self._s[2523]! } + public var Conversation_ClousStorageInfo_Description3: String { return self._s[2524]! } + public func CHANNEL_MESSAGE_VIDEO(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2525]!, self._r[2525]!, [_1]) + } + public var Settings_ChatBackground: String { return self._s[2526]! } + public var Channel_Subscribers_Title: String { return self._s[2527]! } + public var ApplyLanguage_ChangeLanguageTitle: String { return self._s[2528]! } + public var Watch_ConnectionDescription: String { return self._s[2529]! } + public var EditProfile_Title: String { return self._s[2533]! } + public var NotificationsSound_Bamboo: String { return self._s[2535]! } + public var Channel_AdminLog_MessagePreviousMessage: String { return self._s[2536]! } + public var Login_SmsRequestState2: String { return self._s[2537]! } + public var Passport_Language_ar: String { return self._s[2538]! } + public var Conversation_MessageDialogEdit: String { return self._s[2539]! } + public var Common_Close: String { return self._s[2540]! } + public func Channel_AdminLog_MessageToggleInvitesOff(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2544]!, self._r[2544]!, [_0]) + } + public var UserInfo_About_Placeholder: String { return self._s[2545]! } + public func Conversation_FileHowToText(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2546]!, self._r[2546]!, [_0]) + } + public var Channel_Info_Banned: String { return self._s[2548]! } + public func Time_MonthOfYear_m11(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2549]!, self._r[2549]!, [_0]) + } + public var Passport_Language_my: String { return self._s[2550]! } + public func Time_PreciseDate_m9(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2551]!, self._r[2551]!, [_1, _2, _3]) + } + public var Preview_CopyAddress: String { return self._s[2552]! } + public func DialogList_SinglePlayingGameSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2553]!, self._r[2553]!, [_0]) + } + public var KeyCommand_JumpToPreviousChat: String { return self._s[2554]! } + public var UserInfo_BotSettings: String { return self._s[2555]! } + public var Username_TooManyPublicUsernamesError: String { return self._s[2557]! } + public var Passport_PasswordCreate: String { return self._s[2558]! } + public var Permissions_ContactsAllowInSettings: String { return self._s[2559]! } + public var Message_PinnedLocationMessage: String { return self._s[2560]! } + public var Map_Satellite: String { return self._s[2561]! } + public var LiveLocation_MenuStopAll: String { return self._s[2562]! } + public var StickerSettings_MaskContextInfo: String { return self._s[2563]! } + public var TwoStepAuth_EnterPasswordInvalid: String { return self._s[2564]! } + public func Notification_PinnedTextMessage(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2565]!, self._r[2565]!, [_0, _1]) + } + public var Notifications_ChannelNotificationsHelp: String { return self._s[2566]! } + public var Privacy_Calls_P2PContacts: String { return self._s[2567]! } + public var NotificationsSound_None: String { return self._s[2568]! } + public var AccessDenied_VoiceMicrophone: String { return self._s[2570]! } + public func ApplyLanguage_ChangeLanguageAlreadyActive(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2571]!, self._r[2571]!, [_1]) + } + public var Cache_Indexing: String { return self._s[2572]! } + public var DialogList_RecentTitlePeople: String { return self._s[2574]! } + public var DialogList_EncryptionRejected: String { return self._s[2575]! } + public var Passport_ScanPassportHelp: String { return self._s[2576]! } + public var Application_Name: String { return self._s[2577]! } + public var Channel_AdminLogFilter_ChannelEventsInfo: String { return self._s[2578]! } + public var Passport_Identity_TranslationHelp: String { return self._s[2580]! } + public func Notification_JoinedGroupByLink(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2581]!, self._r[2581]!, [_0]) + } + public func DialogList_EncryptedChatStartedOutgoing(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2582]!, self._r[2582]!, [_0]) + } + public var Channel_EditAdmin_PermissionDeleteMessages: String { return self._s[2583]! } + public var Privacy_ChatsTitle: String { return self._s[2584]! } + public var DialogList_ClearHistoryConfirmation: String { return self._s[2585]! } + public var Watch_Suggestion_HoldOn: String { return self._s[2586]! } + public var SocksProxySetup_RequiredCredentials: String { return self._s[2587]! } + public var Passport_Address_TypeRentalAgreementUploadScan: String { return self._s[2588]! } + public var TwoStepAuth_EmailSkipAlert: String { return self._s[2589]! } + public var Channel_Setup_TypePublic: String { return self._s[2592]! } + public func Channel_AdminLog_MessageToggleInvitesOn(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2593]!, self._r[2593]!, [_0]) + } + public var Channel_TypeSetup_Title: String { return self._s[2595]! } + public var Map_OpenInMaps: String { return self._s[2597]! } + public var NotificationsSound_Tremolo: String { return self._s[2599]! } + public func Date_ChatDateHeaderYear(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2600]!, self._r[2600]!, [_1, _2, _3]) + } + public var ConversationProfile_UnknownAddMemberError: String { return self._s[2601]! } + public var Passport_PasswordHelp: String { return self._s[2602]! } + public var Login_CodeExpiredError: String { return self._s[2603]! } + public var Channel_EditAdmin_PermissionChangeInfo: String { return self._s[2604]! } + public var Passport_Identity_ScansHelp: String { return self._s[2605]! } + public var Passport_Language_lo: String { return self._s[2606]! } + public var Camera_FlashAuto: String { return self._s[2607]! } + public var Common_Cancel: String { return self._s[2608]! } + public var DialogList_SavedMessagesTooltip: String { return self._s[2609]! } + public var TwoStepAuth_SetupPasswordTitle: String { return self._s[2610]! } + public var Conversation_ReportSpamConfirmation: String { return self._s[2611]! } + public var ChatSettings_Title: String { return self._s[2613]! } + public var Passport_PasswordReset: String { return self._s[2614]! } + public var SocksProxySetup_TypeNone: String { return self._s[2615]! } + public var PhoneNumberHelp_Help: String { return self._s[2617]! } + public var Checkout_EnterPassword: String { return self._s[2618]! } + public var Share_AuthTitle: String { return self._s[2620]! } + public var Activity_UploadingDocument: String { return self._s[2621]! } + public var State_Connecting: String { return self._s[2622]! } + public var Profile_MessageLifetime1w: String { return self._s[2623]! } + public var Conversation_ContextMenuReport: String { return self._s[2624]! } + public var CheckoutInfo_ReceiverInfoPhone: String { return self._s[2625]! } + public var AutoNightTheme_ScheduledTo: String { return self._s[2626]! } + public var AuthSessions_Terminate: String { return self._s[2627]! } + public var Checkout_NewCard_CardholderNamePlaceholder: String { return self._s[2628]! } + public var KeyCommand_JumpToPreviousUnreadChat: String { return self._s[2629]! } + public var PhotoEditor_Set: String { return self._s[2630]! } + public var Login_PadPhoneHelp: String { return self._s[2631]! } + public var PrivacyPolicy_DeclineLastWarning: String { return self._s[2634]! } + public var NotificationsSound_Complete: String { return self._s[2635]! } + public var Group_Info_AdminLog: String { return self._s[2636]! } + public var Channel_AdminLog_InfoPanelAlertText: String { return self._s[2637]! } + public var Conversation_Admin: String { return self._s[2639]! } + public var Conversation_GifTooltip: String { return self._s[2640]! } + public var Passport_NotLoggedInMessage: String { return self._s[2641]! } + public var Profile_MessageLifetimeForever: String { return self._s[2642]! } + public var SharedMedia_EmptyTitle: String { return self._s[2644]! } + public var Channel_Edit_PrivatePublicLinkAlert: String { return self._s[2645]! } + public var Username_Help: String { return self._s[2646]! } + public var DialogList_LanguageTooltip: String { return self._s[2648]! } + public var Map_LoadError: String { return self._s[2649]! } + public var Notification_Exceptions_NewException: String { return self._s[2650]! } + public var TwoStepAuth_EmailTitle: String { return self._s[2651]! } + public var WatchRemote_AlertText: String { return self._s[2652]! } + public var ChatSettings_ConnectionType_Title: String { return self._s[2654]! } + public func LOCKED_MESSAGE(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2655]!, self._r[2655]!, [_1]) + } + public var Passport_Address_CountryPlaceholder: String { return self._s[2656]! } + public func DialogList_AwaitingEncryption(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2657]!, self._r[2657]!, [_0]) + } + public func Time_PreciseDate_m6(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2658]!, self._r[2658]!, [_1, _2, _3]) + } + public var Group_AdminLog_EmptyText: String { return self._s[2659]! } + public var AccessDenied_VideoMicrophone: String { return self._s[2661]! } + public var Conversation_ContextMenuStickerPackAdd: String { return self._s[2662]! } + public var Cache_ClearNone: String { return self._s[2663]! } + public var SocksProxySetup_FailedToConnect: String { return self._s[2664]! } + public func Channel_AdminLog_MessageEdited(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2665]!, self._r[2665]!, [_0]) + } + public var Passport_Identity_Country: String { return self._s[2666]! } + public func Notification_CreatedChat(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2667]!, self._r[2667]!, [_0]) + } + public var AccessDenied_Settings: String { return self._s[2668]! } + public var Passport_Address_TypeUtilityBillUploadScan: String { return self._s[2669]! } + public var Month_ShortMay: String { return self._s[2670]! } + public var Compose_NewGroup: String { return self._s[2671]! } + public var Group_Setup_TypePrivate: String { return self._s[2673]! } + public var Login_PadPhoneHelpTitle: String { return self._s[2674]! } + public var Appearance_ThemeDayClassic: String { return self._s[2675]! } + public var Channel_AdminLog_MessagePreviousCaption: String { return self._s[2676]! } + public var Privacy_GroupsAndChannels_WhoCanAddMe: String { return self._s[2677]! } + public var Conversation_typing: String { return self._s[2679]! } + public var Paint_Masks: String { return self._s[2680]! } + public var Username_InvalidTaken: String { return self._s[2681]! } + public var TwoStepAuth_EmailAddSuccess: String { return self._s[2682]! } + public func CHAT_PHOTO_EDITED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2683]!, self._r[2683]!, [_1, _2]) + } + public var Call_StatusNoAnswer: String { return self._s[2684]! } + public var Passport_Identity_Selfie: String { return self._s[2685]! } + public var Login_InfoLastNamePlaceholder: String { return self._s[2686]! } + public var Privacy_SecretChatsLinkPreviewsHelp: String { return self._s[2687]! } + public var Conversation_ClearSecretHistory: String { return self._s[2688]! } + public var NetworkUsageSettings_Title: String { return self._s[2690]! } + public var Your_cards_security_code_is_invalid: String { return self._s[2692]! } + public func Notification_LeftChannel(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2694]!, self._r[2694]!, [_0]) + } + public func Call_CallInProgressMessage(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2695]!, self._r[2695]!, [_1, _2]) + } + public var SaveIncomingPhotosSettings_From: String { return self._s[2697]! } + public var Map_LiveLocationTitle: String { return self._s[2698]! } + public var Login_InfoAvatarAdd: String { return self._s[2699]! } + public var Passport_Identity_FilesView: String { return self._s[2700]! } + public var UserInfo_GenericPhoneLabel: String { return self._s[2701]! } + public var Privacy_Calls_NeverAllow: String { return self._s[2702]! } + public func Contacts_AddPhoneNumber(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2703]!, self._r[2703]!, [_0]) + } + public var TwoStepAuth_ConfirmationText: String { return self._s[2704]! } + public var ChatSettings_AutomaticVideoMessageDownload: String { return self._s[2705]! } + public var Channel_AdminLogFilter_AdminsAll: String { return self._s[2706]! } + public var Tour_Title2: String { return self._s[2707]! } + public var Conversation_FileOpenIn: String { return self._s[2708]! } + public var Checkout_ErrorPrecheckoutFailed: String { return self._s[2709]! } + public var Wallpaper_Set: String { return self._s[2710]! } + public var Passport_Identity_Translations: String { return self._s[2712]! } + public func Channel_AdminLog_MessageChangedChannelAbout(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2713]!, self._r[2713]!, [_0]) + } + public var Channel_LeaveChannel: String { return self._s[2714]! } + public func PINNED_INVOICE(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2715]!, self._r[2715]!, [_1]) + } + public var PhotoEditor_HighlightsTint: String { return self._s[2716]! } + public var Passport_Email_Delete: String { return self._s[2717]! } + public var Conversation_Mute: String { return self._s[2719]! } + public var Channel_AdminLog_CanSendMessages: String { return self._s[2721]! } + public func Notification_PassportValuesSentMessage(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2722]!, self._r[2722]!, [_1, _2]) + } + public var Calls_CallTabDescription: String { return self._s[2723]! } + public var Passport_Identity_NativeNameHelp: String { return self._s[2724]! } + public var Common_No: String { return self._s[2725]! } + public var Weekday_Sunday: String { return self._s[2726]! } + public var Notification_Reply: String { return self._s[2727]! } + public var Conversation_ViewMessage: String { return self._s[2728]! } + public func Checkout_SavePasswordTimeoutAndFaceId(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2729]!, self._r[2729]!, [_0]) + } + public func Map_LiveLocationPrivateDescription(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2730]!, self._r[2730]!, [_0]) + } + public var Message_PinnedDocumentMessage: String { return self._s[2731]! } + public var DialogList_TabTitle: String { return self._s[2733]! } + public var Passport_FieldEmail: String { return self._s[2734]! } + public var Conversation_UnpinMessageAlert: String { return self._s[2735]! } + public var Passport_Address_TypeBankStatement: String { return self._s[2736]! } + public var Passport_Identity_ExpiryDate: String { return self._s[2737]! } + public var Privacy_Calls_P2P: String { return self._s[2738]! } + public func CancelResetAccount_Success(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2740]!, self._r[2740]!, [_0]) + } + public var SocksProxySetup_UseForCallsHelp: String { return self._s[2741]! } + public var EnterPasscode_ChangeTitle: String { return self._s[2742]! } + public var Passport_InfoText: String { return self._s[2743]! } + public var Checkout_NewCard_SaveInfoEnableHelp: String { return self._s[2744]! } + public func Time_PreciseDate_m3(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2745]!, self._r[2745]!, [_1, _2, _3]) + } + public var Passport_Identity_EditDriversLicense: String { return self._s[2746]! } + public var Conversation_TapAndHoldToRecord: String { return self._s[2747]! } + public func Notification_CallTimeFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[2748]!, self._r[2748]!, [_1, _2]) } - public var PhotoEditor_ShadowsTint: String { return self._s[2750]! } - public var ExplicitContent_AlertTitle: String { return self._s[2752]! } - public var Channel_AdminLogFilter_EventsLeaving: String { return self._s[2753]! } - public var Map_LiveLocationFor8Hours: String { return self._s[2754]! } - public var StickerPack_HideStickers: String { return self._s[2755]! } - public var Checkout_EnterPassword: String { return self._s[2756]! } - public var UserInfo_NotificationsEnabled: String { return self._s[2757]! } - public var InfoPlist_NSLocationAlwaysUsageDescription: String { return self._s[2758]! } - public var SocksProxySetup_ProxyDetailsTitle: String { return self._s[2759]! } - public var Appearance_ReduceMotionInfo: String { return self._s[2760]! } - public var Weekday_ShortTuesday: String { return self._s[2761]! } - public var Notification_CallIncomingShort: String { return self._s[2762]! } - public var ConvertToSupergroup_Note: String { return self._s[2763]! } - public var Login_SendCodeViaSms: String { return self._s[2764]! } - public var DialogList_Read: String { return self._s[2765]! } - public var Conversation_EmptyPlaceholder: String { return self._s[2766]! } - public func Passport_Email_CodeHelp(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2767]!, self._r[2767]!, [_0]) + public func Generic_OpenHiddenLinkAlert(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2750]!, self._r[2750]!, [_0]) } - public var Username_Help: String { return self._s[2768]! } - public var StickerSettings_ContextHide: String { return self._s[2769]! } - public var Media_ShareThisPhoto: String { return self._s[2772]! } - public var Contacts_ShareTelegram: String { return self._s[2773]! } - public var AutoNightTheme_Scheduled: String { return self._s[2774]! } - public var Weekday_Sunday: String { return self._s[2775]! } - public var PrivacySettings_PasscodeAndFaceId: String { return self._s[2777]! } - public var Settings_ChatBackground: String { return self._s[2778]! } - public var Login_TermsOfServiceDecline: String { return self._s[2780]! } - public func ServiceMessage_GameScoreSelfSimple(_ value: Int32) -> String { + public var DialogList_Unread: String { return self._s[2751]! } + public var User_DeletedAccount: String { return self._s[2752]! } + public func Watch_Time_ShortYesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2753]!, self._r[2753]!, [_0]) + } + public var UserInfo_NotificationsDefault: String { return self._s[2754]! } + public var SharedMedia_CategoryMedia: String { return self._s[2755]! } + public var SocksProxySetup_ProxyStatusUnavailable: String { return self._s[2756]! } + public var Channel_AdminLog_MessageRestrictedForever: String { return self._s[2757]! } + public var Watch_ChatList_Compose: String { return self._s[2758]! } + public var Notifications_MessageNotificationsExceptionsHelp: String { return self._s[2759]! } + public var Watch_Microphone_Access: String { return self._s[2760]! } + public var Group_Setup_HistoryHeader: String { return self._s[2761]! } + public var Activity_UploadingPhoto: String { return self._s[2762]! } + public var Conversation_Edit: String { return self._s[2764]! } + public var Group_ErrorSendRestrictedMedia: String { return self._s[2765]! } + public var Login_TermsOfServiceDecline: String { return self._s[2766]! } + public var Message_PinnedContactMessage: String { return self._s[2767]! } + public func Channel_AdminLog_MessageRestrictedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2768]!, self._r[2768]!, [_1, _2]) + } + public var TwoStepAuth_AdditionalPassword: String { return self._s[2770]! } + public var Passport_Phone_EnterOtherNumber: String { return self._s[2771]! } + public var TwoStepAuth_RecoveryEmailAddDescription: String { return self._s[2772]! } + public var Passport_FieldPhone: String { return self._s[2773]! } + public var Message_PinnedPhotoMessage: String { return self._s[2774]! } + public var InfoPlist_NSCameraUsageDescription: String { return self._s[2776]! } + public var Conversation_Call: String { return self._s[2777]! } + public var Common_TakePhoto: String { return self._s[2779]! } + public var Channel_NotificationLoading: String { return self._s[2780]! } + public func Notification_Exceptions_Sound(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2781]!, self._r[2781]!, [_0]) + } + public func Login_ResetAccountProtected_Text(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2782]!, self._r[2782]!, [_0]) + } + public var Channel_MessagePhotoRemoved: String { return self._s[2783]! } + public var Common_edit: String { return self._s[2784]! } + public var PrivacySettings_AuthSessions: String { return self._s[2785]! } + public var Month_ShortJune: String { return self._s[2786]! } + public var PrivacyLastSeenSettings_AlwaysShareWith_Placeholder: String { return self._s[2787]! } + public var Call_ReportSend: String { return self._s[2788]! } + public var Watch_LastSeen_JustNow: String { return self._s[2789]! } + public var Notifications_MessageNotifications: String { return self._s[2790]! } + public var BroadcastListInfo_AddRecipient: String { return self._s[2792]! } + public var Group_Status: String { return self._s[2793]! } + public func AutoNightTheme_LocationHelp(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2794]!, self._r[2794]!, [_0, _1]) + } + public var ShareMenu_ShareTo: String { return self._s[2795]! } + public var Conversation_Moderate_Ban: String { return self._s[2796]! } + public func Conversation_DeleteMessagesFor(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2797]!, self._r[2797]!, [_0]) + } + public var SharedMedia_ViewInChat: String { return self._s[2798]! } + public var Map_LiveLocationFor8Hours: String { return self._s[2799]! } + public func Map_AccurateTo(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2801]!, self._r[2801]!, [_0]) + } + public var Appearance_ReduceMotion: String { return self._s[2802]! } + public var Map_OpenInHereMaps: String { return self._s[2803]! } + public var Channel_Setup_TypePublicHelp: String { return self._s[2804]! } + public var Passport_Identity_EditInternalPassport: String { return self._s[2805]! } + public var PhotoEditor_Skip: String { return self._s[2806]! } + public func SharedMedia_DeleteItemsConfirmation(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[0 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Watch_UserInfo_Mute(_ value: Int32) -> String { + public func Contacts_ImportersCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[1 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_ShortSeconds(_ value: Int32) -> String { + public func ForwardedAudios(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[2 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Notification_GameScoreSelfSimple(_ value: Int32) -> String { + public func Notification_GameScoreSimple(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[3 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedAuthorsOthers(_ value: Int32) -> String { + public func StickerPack_StickerCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[4 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Conversation_StatusMembers(_ value: Int32) -> String { + public func Conversation_StatusSubscribers(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[5 * 6 + Int(form.rawValue)]!, "\(value)") } - public func StickerPack_RemoveMaskCount(_ value: Int32) -> String { + public func ServiceMessage_GameScoreSelfExtended(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[6 * 6 + Int(form.rawValue)]!, "\(value)") } - public func AttachmentMenu_SendPhoto(_ value: Int32) -> String { + public func ChatList_DeleteConfirmation(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[7 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Notification_GameScoreExtended(_ value: Int32) -> String { + public func MuteFor_Days(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[8 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Forward_ConfirmMultipleFiles(_ value: Int32) -> String { + public func Notification_GameScoreExtended(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[9 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MuteExpires_Days(_ value: Int32) -> String { + public func ForwardedContacts(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[10 * 6 + Int(form.rawValue)]!, "\(value)") } - public func PasscodeSettings_FailedAttempts(_ value: Int32) -> String { + public func Call_Minutes(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[11 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MuteFor_Days(_ value: Int32) -> String { + public func Invitation_Members(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[12 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MuteExpires_Minutes(_ value: Int32) -> String { + public func Passport_Scans(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[13 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_Hours(_ value: Int32) -> String { + public func ForwardedGifs(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[14 * 6 + Int(form.rawValue)]!, "\(value)") } - public func SharedMedia_DeleteItemsConfirmation(_ value: Int32) -> String { + public func AttachmentMenu_SendVideo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[15 * 6 + Int(form.rawValue)]!, "\(value)") } - public func SharedMedia_Link(_ value: Int32) -> String { + public func MessageTimer_Seconds(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[16 * 6 + Int(form.rawValue)]!, "\(value)") } - public func StickerPack_AddStickerCount(_ value: Int32) -> String { + public func Watch_UserInfo_Mute(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[17 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Call_Seconds(_ value: Int32) -> String { + public func MessageTimer_ShortMinutes(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[18 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedStickers(_ value: Int32) -> String { + public func StickerPack_AddMaskCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[19 * 6 + Int(form.rawValue)]!, "\(value)") } - public func SharedMedia_Generic(_ value: Int32) -> String { + public func ForwardedVideoMessages(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[20 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Map_ETAHours(_ value: Int32) -> String { + public func InviteText_ContactsCountText(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[21 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Watch_LastSeen_MinutesAgo(_ value: Int32) -> String { + public func StickerPack_AddStickerCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[22 * 6 + Int(form.rawValue)]!, "\(value)") } - public func LiveLocation_MenuChatsCount(_ value: Int32) -> String { + public func Notifications_ExceptionMuteExpires_Days(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[23 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedAudios(_ value: Int32) -> String { + public func LastSeen_HoursAgo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[24 * 6 + Int(form.rawValue)]!, "\(value)") } - public func SharedMedia_Video(_ value: Int32) -> String { + public func UserCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[25 * 6 + Int(form.rawValue)]!, "\(value)") } - public func PrivacyLastSeenSettings_AddUsers(_ value: Int32) -> String { + public func MessageTimer_Years(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[26 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Conversation_StatusOnline(_ value: Int32) -> String { + public func ForwardedPhotos(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[27 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_ShortDays(_ value: Int32) -> String { + public func Call_Seconds(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[28 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedVideos(_ value: Int32) -> String { + public func LiveLocationUpdated_MinutesAgo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[29 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_ShortWeeks(_ value: Int32) -> String { + public func ServiceMessage_GameScoreSimple(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[30 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Notifications_ExceptionMuteExpires_Days(_ value: Int32) -> String { + public func Media_SharePhoto(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[31 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedLocations(_ value: Int32) -> String { + public func Map_ETAHours(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[32 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ServiceMessage_GameScoreExtended(_ value: Int32) -> String { + public func Notifications_Exceptions(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[33 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MuteFor_Hours(_ value: Int32) -> String { + public func SharedMedia_Photo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[34 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedContacts(_ value: Int32) -> String { + public func Notifications_ExceptionMuteExpires_Hours(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[35 * 6 + Int(form.rawValue)]!, "\(value)") } - public func AttachmentMenu_SendItem(_ value: Int32) -> String { + public func Conversation_StatusMembers(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[36 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Notifications_ExceptionMuteExpires_Hours(_ value: Int32) -> String { + public func Media_ShareItem(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[37 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Notification_GameScoreSimple(_ value: Int32) -> String { + public func GroupInfo_ParticipantCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[38 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ChatList_DeleteConfirmation(_ value: Int32) -> String { + public func MessageTimer_ShortWeeks(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[39 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Conversation_LiveLocationMembersCount(_ value: Int32) -> String { + public func StickerPack_RemoveMaskCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[40 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_Months(_ value: Int32) -> String { + public func Call_ShortSeconds(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[41 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Notification_GameScoreSelfExtended(_ value: Int32) -> String { + public func MuteExpires_Days(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[42 * 6 + Int(form.rawValue)]!, "\(value)") } - public func UserCount(_ value: Int32) -> String { + public func MessageTimer_Months(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[43 * 6 + Int(form.rawValue)]!, "\(value)") } - public func StickerPack_StickerCount(_ value: Int32) -> String { + public func ForwardedAuthorsOthers(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[44 * 6 + Int(form.rawValue)]!, "\(value)") } - public func GroupInfo_ParticipantCount(_ value: Int32) -> String { + public func LiveLocation_MenuChatsCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[45 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Conversation_StatusSubscribers(_ value: Int32) -> String { + public func SharedMedia_Link(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[46 * 6 + Int(form.rawValue)]!, "\(value)") } - public func LiveLocationUpdated_MinutesAgo(_ value: Int32) -> String { + public func Watch_LastSeen_MinutesAgo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[47 * 6 + Int(form.rawValue)]!, "\(value)") } - public func AttachmentMenu_SendVideo(_ value: Int32) -> String { + public func PrivacyLastSeenSettings_AddUsers(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[48 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_Seconds(_ value: Int32) -> String { + public func Conversation_StatusOnline(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[49 * 6 + Int(form.rawValue)]!, "\(value)") } - public func InviteText_ContactsCountText(_ value: Int32) -> String { + public func StickerPack_RemoveStickerCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[50 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Invitation_Members(_ value: Int32) -> String { + public func ForwardedMessages(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[51 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Call_Minutes(_ value: Int32) -> String { + public func MuteExpires_Minutes(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[52 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedFiles(_ value: Int32) -> String { + public func PasscodeSettings_FailedAttempts(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[53 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Watch_LastSeen_HoursAgo(_ value: Int32) -> String { + public func MessageTimer_ShortSeconds(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[54 * 6 + Int(form.rawValue)]!, "\(value)") } - public func StickerPack_RemoveStickerCount(_ value: Int32) -> String { + public func MessageTimer_ShortHours(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[55 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_Minutes(_ value: Int32) -> String { + public func MessageTimer_Weeks(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[56 * 6 + Int(form.rawValue)]!, "\(value)") } - public func SharedMedia_Photo(_ value: Int32) -> String { + public func ForwardedStickers(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[57 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedMessages(_ value: Int32) -> String { + public func LastSeen_MinutesAgo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[58 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_Days(_ value: Int32) -> String { + public func AttachmentMenu_SendPhoto(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[59 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedVideoMessages(_ value: Int32) -> String { + public func Call_ShortMinutes(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[60 * 6 + Int(form.rawValue)]!, "\(value)") } - public func LastSeen_MinutesAgo(_ value: Int32) -> String { + public func Forward_ConfirmMultipleFiles(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[61 * 6 + Int(form.rawValue)]!, "\(value)") } - public func SharedMedia_File(_ value: Int32) -> String { + public func ServiceMessage_GameScoreSelfSimple(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[62 * 6 + Int(form.rawValue)]!, "\(value)") } - public func AttachmentMenu_SendGif(_ value: Int32) -> String { + public func SharedMedia_Video(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[63 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedPhotos(_ value: Int32) -> String { + public func ForwardedLocations(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[64 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ServiceMessage_GameScoreSelfExtended(_ value: Int32) -> String { + public func MessageTimer_ShortDays(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[65 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Media_ShareItem(_ value: Int32) -> String { + public func QuickSend_Photos(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[66 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Notifications_Exceptions(_ value: Int32) -> String { + public func Watch_LastSeen_HoursAgo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[67 * 6 + Int(form.rawValue)]!, "\(value)") } - public func LastSeen_HoursAgo(_ value: Int32) -> String { + public func SharedMedia_File(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[68 * 6 + Int(form.rawValue)]!, "\(value)") } - public func StickerPack_AddMaskCount(_ value: Int32) -> String { + public func Notification_GameScoreSelfSimple(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[69 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Media_ShareVideo(_ value: Int32) -> String { + public func ServiceMessage_GameScoreExtended(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[70 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Call_ShortMinutes(_ value: Int32) -> String { + public func MessageTimer_Minutes(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[71 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Media_SharePhoto(_ value: Int32) -> String { + public func DialogList_LiveLocationChatsCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[72 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ServiceMessage_GameScoreSimple(_ value: Int32) -> String { + public func Map_ETAMinutes(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[73 * 6 + Int(form.rawValue)]!, "\(value)") } - public func QuickSend_Photos(_ value: Int32) -> String { + public func MuteExpires_Hours(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[74 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MuteExpires_Hours(_ value: Int32) -> String { + public func ForwardedVideos(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[75 * 6 + Int(form.rawValue)]!, "\(value)") } - public func DialogList_LiveLocationChatsCount(_ value: Int32) -> String { + public func Conversation_LiveLocationMembersCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[76 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_ShortHours(_ value: Int32) -> String { + public func Notifications_ExceptionMuteExpires_Minutes(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[77 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_Weeks(_ value: Int32) -> String { + public func Notification_GameScoreSelfExtended(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[78 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_Years(_ value: Int32) -> String { + public func AttachmentMenu_SendItem(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[79 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Contacts_ImportersCount(_ value: Int32) -> String { + public func SharedMedia_Generic(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[80 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Map_ETAMinutes(_ value: Int32) -> String { + public func AttachmentMenu_SendGif(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[81 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Passport_Scans(_ value: Int32) -> String { + public func MuteFor_Hours(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[82 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedGifs(_ value: Int32) -> String { + public func ForwardedFiles(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[83 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Notifications_ExceptionMuteExpires_Minutes(_ value: Int32) -> String { + public func MessageTimer_Days(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[84 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_ShortMinutes(_ value: Int32) -> String { + public func Media_ShareVideo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[85 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Call_ShortSeconds(_ value: Int32) -> String { + public func MessageTimer_Hours(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[86 * 6 + Int(form.rawValue)]!, "\(value)") } diff --git a/TelegramUI/Resources/PresentationStrings.mapping b/TelegramUI/Resources/PresentationStrings.mapping index 0d58ba1f3ad116ae8c074c33123bc4956edf768a..960618d7a840e7b203fb9428ebab24b2b73f8895 100644 GIT binary patch delta 31339 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 delta 30668 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 diff --git a/TelegramUI/SettingsController.swift b/TelegramUI/SettingsController.swift index 2ec0da8f80..25e4419462 100644 --- a/TelegramUI/SettingsController.swift +++ b/TelegramUI/SettingsController.swift @@ -720,8 +720,7 @@ public func settingsController(account: Account, accountManager: AccountManager) let icon = UIImage(bundleImageName: "Chat List/Tabs/IconSettings") let controller = ItemListController(account: account, state: signal, tabBarItem: combineLatest((account.applicationContext as! TelegramApplicationContext).presentationData, notificationAuthorizationStatus.get()) |> map { presentationData, status in - return ItemListControllerTabBarItem(title: presentationData.strings.Settings_Title, image: icon, selectedImage: icon, badgeValue: nil) - //return ItemListControllerTabBarItem(title: presentationData.strings.Settings_Title, image: icon, selectedImage: icon, badgeValue: status != .allowed ? "!" : nil) + return ItemListControllerTabBarItem(title: presentationData.strings.Settings_Title, image: icon, selectedImage: icon, badgeValue: status != .allowed ? "!" : nil) }) pushControllerImpl = { [weak controller] value in (controller?.navigationController as? NavigationController)?.replaceAllButRootController(value, animated: true) diff --git a/TelegramUI/SolidRoundedButtonNode.swift b/TelegramUI/SolidRoundedButtonNode.swift index 1f45992815..efa5afd056 100644 --- a/TelegramUI/SolidRoundedButtonNode.swift +++ b/TelegramUI/SolidRoundedButtonNode.swift @@ -8,6 +8,7 @@ final class SolidRoundedButtonNode: ASDisplayNode { private var theme: PresentationTheme private let buttonBackgroundNode: ASImageNode + private let buttonGlossNode: SolidRoundedButtonGlossNode private let buttonNode: HighlightTrackingButtonNode private let labelNode: ImmediateTextNode @@ -37,6 +38,8 @@ final class SolidRoundedButtonNode: ASDisplayNode { self.buttonBackgroundNode.displaysAsynchronously = false self.buttonBackgroundNode.image = generateStretchableFilledCircleImage(radius: cornerRadius, color: theme.list.itemCheckColors.fillColor) + self.buttonGlossNode = SolidRoundedButtonGlossNode(color: theme.list.itemCheckColors.foregroundColor, cornerRadius: cornerRadius) + self.buttonNode = HighlightTrackingButtonNode() self.labelNode = ImmediateTextNode() @@ -45,6 +48,7 @@ final class SolidRoundedButtonNode: ASDisplayNode { super.init() self.addSubnode(self.buttonBackgroundNode) + self.addSubnode(self.buttonGlossNode) self.addSubnode(self.buttonNode) self.addSubnode(self.labelNode) @@ -69,6 +73,7 @@ final class SolidRoundedButtonNode: ASDisplayNode { let buttonSize = CGSize(width: width - inset * 2.0, height: self.buttonHeight) let buttonFrame = CGRect(origin: CGPoint(x: inset, y: 0.0), size: buttonSize) transition.updateFrame(node: self.buttonBackgroundNode, frame: buttonFrame) + transition.updateFrame(node: self.buttonGlossNode, frame: buttonFrame) transition.updateFrame(node: self.buttonNode, frame: buttonFrame) if self.title != self.labelNode.attributedText?.string { @@ -86,3 +91,104 @@ final class SolidRoundedButtonNode: ASDisplayNode { self.pressed?() } } + +private final class SolidRoundedButtonGlossNodeParameters: NSObject { + let gradientColors: NSArray? + let cornerRadius: CGFloat + let progress: CGFloat + + init(gradientColors: NSArray?, cornerRadius: CGFloat, progress: CGFloat) { + self.gradientColors = gradientColors + self.cornerRadius = cornerRadius + self.progress = progress + } +} + +final class SolidRoundedButtonGlossNode : ASDisplayNode { + var color: UIColor { + didSet { + self.updateGradientColors() + self.setNeedsDisplay() + } + } + private var progress: CGFloat = 0.0 + private var displayLink: CADisplayLink? + private let buttonCornerRadius: CGFloat + private var gradientColors: NSArray? + + init(color: UIColor, cornerRadius: CGFloat) { + self.color = color + self.buttonCornerRadius = cornerRadius + + super.init() + + self.isOpaque = false + self.isLayerBacked = true + + class DisplayLinkProxy: NSObject { + weak var target: SolidRoundedButtonGlossNode? + init(target: SolidRoundedButtonGlossNode) { + self.target = target + } + + @objc func displayLinkEvent() { + self.target?.displayLinkEvent() + } + } + + self.displayLink = CADisplayLink(target: DisplayLinkProxy(target: self), selector: #selector(DisplayLinkProxy.displayLinkEvent)) + self.displayLink?.isPaused = true + self.displayLink?.add(to: RunLoop.main, forMode: RunLoopMode.commonModes) + + self.updateGradientColors() + } + + deinit { + self.displayLink?.invalidate() + } + + private func updateGradientColors() { + let transparentColor = self.color.withAlphaComponent(0.0).cgColor + self.gradientColors = [transparentColor, transparentColor, self.color.withAlphaComponent(0.12).cgColor, transparentColor, transparentColor] + } + + override func willEnterHierarchy() { + super.willEnterHierarchy() + self.displayLink?.isPaused = false + } + + override func didExitHierarchy() { + super.didExitHierarchy() + self.displayLink?.isPaused = true + } + + private func displayLinkEvent() { + var newProgress = self.progress + 0.009 + if newProgress > 1.0 { + newProgress = 0.0 + } + self.progress = newProgress + self.setNeedsDisplay() + } + + override func drawParameters(forAsyncLayer layer: _ASDisplayLayer) -> NSObjectProtocol? { + return SolidRoundedButtonGlossNodeParameters(gradientColors: self.gradientColors, cornerRadius: self.buttonCornerRadius, progress: self.progress) + } + + @objc override class func draw(_ bounds: CGRect, withParameters parameters: Any?, isCancelled: () -> Bool, isRasterizing: Bool) { + let context = UIGraphicsGetCurrentContext()! + + if let parameters = parameters as? SolidRoundedButtonGlossNodeParameters, let gradientColors = parameters.gradientColors { + let path = UIBezierPath(roundedRect: bounds, cornerRadius: parameters.cornerRadius) + context.addPath(path.cgPath) + context.clip() + + var locations: [CGFloat] = [0.0, 0.15, 0.5, 0.85, 1.0] + let colorSpace = CGColorSpaceCreateDeviceRGB() + let gradient = CGGradient(colorsSpace: colorSpace, colors: gradientColors, locations: &locations)! + + let x = -4.0 * bounds.size.width + 8.0 * bounds.size.width * parameters.progress + context.drawLinearGradient(gradient, start: CGPoint(x: x, y: 0.0), end: CGPoint(x: x + bounds.size.width, y: 0.0), options: CGGradientDrawingOptions()) + } + } +} diff --git a/TelegramUI/ThemeSettingsChatPreviewItem.swift b/TelegramUI/ThemeSettingsChatPreviewItem.swift index 1927dba543..1b53aa0adf 100644 --- a/TelegramUI/ThemeSettingsChatPreviewItem.swift +++ b/TelegramUI/ThemeSettingsChatPreviewItem.swift @@ -91,7 +91,7 @@ class ThemeSettingsChatPreviewItemNode: ListViewItemNode { self.containerNode.subnodeTransform = CATransform3DMakeRotation(CGFloat.pi, 0.0, 0.0, 1.0) self.controllerInteraction = ChatControllerInteraction(openMessage: { _, _ in - return false }, openPeer: { _, _, _ in }, openPeerMention: { _ in }, openMessageContextMenu: { _, _, _ in }, navigateToMessage: { _, _ in }, clickThroughMessage: { }, toggleMessagesSelection: { _, _ in }, sendMessage: { _ in }, sendSticker: { _, _ in }, sendGif: { _ in }, requestMessageActionCallback: { _, _, _ in }, activateSwitchInline: { _, _ in }, openUrl: { _, _, _ in }, shareCurrentLocation: {}, shareAccountContact: {}, sendBotCommand: { _, _ in }, openInstantPage: { _ in }, openHashtag: { _, _ in }, updateInputState: { _ in }, updateInputMode: { _ in }, openMessageShareMenu: { _ in + return false }, openPeer: { _, _, _ in }, openPeerMention: { _ in }, openMessageContextMenu: { _, _, _, _ in }, navigateToMessage: { _, _ in }, clickThroughMessage: { }, toggleMessagesSelection: { _, _ in }, sendMessage: { _ in }, sendSticker: { _, _ in }, sendGif: { _ in }, requestMessageActionCallback: { _, _, _ in }, activateSwitchInline: { _, _ in }, openUrl: { _, _, _ in }, shareCurrentLocation: {}, shareAccountContact: {}, sendBotCommand: { _, _ in }, openInstantPage: { _ in }, openHashtag: { _, _ in }, updateInputState: { _ in }, updateInputMode: { _ in }, openMessageShareMenu: { _ in }, presentController: { _, _ in }, navigationController: { return nil }, presentGlobalOverlayController: { _, _ in }, callPeer: { _ in }, longTap: { _ in }, openCheckoutOrReceipt: { _ in }, openSearch: { }, setupReply: { _ in diff --git a/TelegramUI/WebEmbedVideoContent.swift b/TelegramUI/WebEmbedVideoContent.swift index ca57511539..d6dd64b912 100644 --- a/TelegramUI/WebEmbedVideoContent.swift +++ b/TelegramUI/WebEmbedVideoContent.swift @@ -77,7 +77,7 @@ private final class WebEmbedVideoContentNode: ASDisplayNode, UniversalVideoConte super.init() self.addSubnode(self.playerNode) - self.addSubnode(self.imageNode) + //self.addSubnode(self.imageNode) if let image = webpageContent.image { self.imageNode.setSignal(chatMessagePhoto(postbox: postbox, photoReference: .webPage(webPage: WebpageReference(webPage), media: image)))