From 2efe2935a1b2b6643878dd224807e365f4bc6cce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jer=C3=B4me=20Bakker?= Date: Wed, 18 Oct 2023 11:20:44 +0200 Subject: [PATCH 1/3] chore(i18n): update translations --- docs/locale/fr/LC_MESSAGES/admin.mo | Bin 119976 -> 119976 bytes docs/locale/fr/LC_MESSAGES/admin.po | 2 +- docs/locale/fr/LC_MESSAGES/appendix.mo | Bin 496549 -> 496443 bytes docs/locale/fr/LC_MESSAGES/appendix.po | 30 +- docs/locale/fr/LC_MESSAGES/contribute.mo | Bin 112955 -> 112955 bytes docs/locale/fr/LC_MESSAGES/contribute.po | 2 +- docs/locale/fr/LC_MESSAGES/design.mo | Bin 80906 -> 80906 bytes docs/locale/fr/LC_MESSAGES/design.po | 2 +- docs/locale/fr/LC_MESSAGES/guides.mo | Bin 426205 -> 426205 bytes docs/locale/fr/LC_MESSAGES/guides.po | 2 +- docs/locale/fr/LC_MESSAGES/index.mo | Bin 8212 -> 8212 bytes docs/locale/fr/LC_MESSAGES/index.po | 2 +- docs/locale/fr/LC_MESSAGES/intro.mo | Bin 66554 -> 66554 bytes docs/locale/fr/LC_MESSAGES/intro.po | 2 +- docs/locale/fr/LC_MESSAGES/plugins.mo | Bin 31892 -> 31892 bytes docs/locale/fr/LC_MESSAGES/plugins.po | 2 +- docs/locale/fr/LC_MESSAGES/tutorials.mo | Bin 31619 -> 31619 bytes docs/locale/fr/LC_MESSAGES/tutorials.po | 2 +- docs/locale/pot/admin.pot | 60 +- docs/locale/pot/appendix.pot | 53 +- docs/locale/pot/contribute.pot | 103 +- docs/locale/pot/design.pot | 2 +- docs/locale/pot/guides.pot | 1493 +++++++++++----------- docs/locale/pot/index.pot | 2 +- docs/locale/pot/intro.pot | 8 +- docs/locale/pot/plugins.pot | 6 +- docs/locale/pot/tutorials.pot | 2 +- languages/cmn.php | 11 +- languages/de.php | 12 +- languages/es.php | 11 +- languages/fr.php | 19 +- languages/it.php | 12 +- languages/nl.php | 75 +- languages/zh_hans.php | 11 +- mod/blog/languages/nl.php | 1 + mod/developers/languages/de.php | 30 - mod/developers/languages/es.php | 25 - mod/developers/languages/fr.php | 30 - mod/developers/languages/nl.php | 33 +- mod/developers/languages/ru.php | 114 ++ mod/externalpages/languages/cs.php | 1 + mod/externalpages/languages/de.php | 1 + mod/externalpages/languages/el.php | 1 + mod/externalpages/languages/es.php | 1 + mod/externalpages/languages/fi.php | 1 + mod/externalpages/languages/fr.php | 1 + mod/externalpages/languages/gd.php | 1 + mod/externalpages/languages/gl.php | 1 + mod/externalpages/languages/it.php | 1 + mod/externalpages/languages/ja.php | 1 + mod/externalpages/languages/ko.php | 1 + mod/externalpages/languages/nl.php | 2 + mod/externalpages/languages/pl.php | 1 + mod/externalpages/languages/ro_ro.php | 1 + mod/externalpages/languages/ru.php | 1 + mod/externalpages/languages/sr.php | 1 + mod/externalpages/languages/sv.php | 1 + mod/friends_collections/languages/nl.php | 1 + mod/groups/languages/cs.php | 2 + mod/groups/languages/da.php | 2 + mod/groups/languages/de.php | 2 + mod/groups/languages/el.php | 2 + mod/groups/languages/es.php | 2 + mod/groups/languages/fi.php | 2 + mod/groups/languages/fr.php | 2 + mod/groups/languages/gl.php | 2 + mod/groups/languages/it.php | 2 + mod/groups/languages/ja.php | 2 + mod/groups/languages/nl.php | 4 + mod/groups/languages/pl.php | 2 + mod/groups/languages/ro_ro.php | 2 + mod/groups/languages/ru.php | 2 + mod/groups/languages/sr.php | 2 + mod/groups/languages/sv.php | 2 + mod/members/languages/nl.php | 1 + mod/pages/languages/nl.php | 1 + mod/profile/languages/nl.php | 1 + mod/search/languages/nl.php | 2 + 78 files changed, 1248 insertions(+), 969 deletions(-) create mode 100644 mod/developers/languages/ru.php diff --git a/docs/locale/fr/LC_MESSAGES/admin.mo b/docs/locale/fr/LC_MESSAGES/admin.mo index e6530546e6b72c268b9a1bf42ef9b5d4a00d0b0b..9cc04651dc32bfc008c31651ca32e0f4d934112d 100644 GIT binary patch delta 25 hcmZ3nl6}QW_6_X!xy*D8Efoxntqct}3*Mjp6##dB32guX delta 25 hcmZ3nl6}QW_6_X!xlDD94HXPctxU`|3*Mjp6##c`32*=a diff --git a/docs/locale/fr/LC_MESSAGES/admin.po b/docs/locale/fr/LC_MESSAGES/admin.po index cf808a61b23..5ae437e286e 100644 --- a/docs/locale/fr/LC_MESSAGES/admin.po +++ b/docs/locale/fr/LC_MESSAGES/admin.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Elgg master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-31 15:46+0200\n" +"POT-Creation-Date: 2023-06-19 13:11+0200\n" "PO-Revision-Date: 2023-04-05 07:42+0000\n" "Last-Translator: Florian DANIEL aka Facyla , 2023\n" "Language-Team: French (https://app.transifex.com/elgg/teams/11337/fr/)\n" diff --git a/docs/locale/fr/LC_MESSAGES/appendix.mo b/docs/locale/fr/LC_MESSAGES/appendix.mo index 1e44f831efbee8176b194ea4ccd195ef6584f068..a02d42d961edc63c369319a73136ffd0ed1e406e 100644 GIT binary patch delta 40181 zcmYJ+b(qxF+s5(C?949iu8X_7FYfME7Afvfq{!e7#R~aWD_5o4^FzAO)kJ|g4*zY9={RX{Z*4{Y|6i*Gj#GoM zH8#Q3mhSD0M~L}y?u`J3-SB?Bq$y{ zz{BFGgVcX}HXa^yoH1CBqp|qFA6St1+F{2Tfr+Vx7&sea;Udq~oti< zpYcmv!QB^QtRs%28efabiGM+t%|=vUFR+?Mc*m99xlh&*!r~NB*ZSL0)>XK5nvRHkDsu{ z8GG{TXDulkUMIF9ZL~+z?irM zmBedNHG2j1pwBS{2CmTlIx#I9%Ia*W8yCb17=^`fG#0@<*Z`klZLD6D+Zg9^#{vLA?C%$G+ zRt{AYjZj(M7E53c)aO=VFWilKu$?<}h)VSVDGsANj$U(CpMC>BO?u?4-`YiHBs3bjrnkp7q3S3mV-DK zPhxp&_rYp#1@m6NdpgfC7j6E;@wp3;)PA4aZD%3R>fFKgcs2tf?SX7OUWRBNdFf~@l z=cH$24m*b8HmraJWBc3%#aF1TKZ;7Sr&yS(eS?w2x#QY}YNKx47^~vA`xI5~>a&9GrHpL2%e9g6!LA93LlmP$>-F?x2VrmtL$^Qmov7C&soX-gH`Q8I#%X#_hVU{Ueo8U@6TXC;_S72?h2?S>IPF$L-z67*5>~p>ENWT<8!}1l&R};R&%@& zmSz7(RI-+)-7;gF`XQf_pN%o>(1C4u1TUeI=KBVgR9PEZ@?6Jq>~GwNZpa1aAP?=l zY-~+bqN&gQV(|wm`^z=6ZaBts24>fFF%}*Rv7xd2JSM}tsImT&XN=|+C-O{#PdJ_x zmEFl&_}poF3hHwUym%$*3AduM{x8gcwOjh!6;Utb7EWjs8`$1O%&{6vtt_ki?||wjcL33 zoB%a64^QHvZa$|d`@8h85pfBoBtC#C@Go@N|IgXT&5js7t?G*)WpXN_M!I#qe2%*5 zx!ykKGe-CEx$gm@`&z-aVIuY)MfHZium?WE!`QN)4dvhiR}2cEE9{T=@@6<4aUB78q!=UMW;}9*I$S5U-$b z5dB}>@83a|d8_oX#M%w zB+L5vlkJ9CQ3Wl9TCg1S_J2ZMC-D?3aC%gnA9bVB7$2)+a%^sK$mzp|o@68{E9at; zXbtLvcf9>CFoHOIsx?tOTuYn-BPsCj$f)hSnr1_B)#>IF^M#O}nY=h+iZz%PjBqpJ2T{*4jynVj$j7QwXN z*__c3)kL#!BvxKP4Re3z7#nx-Hs!*i3;M0kfm3z9g!~8(>HyS|>KtJ%*z`IK^`zsyD1hjqS%!O>`TR;#<^( z<1Mj~EfSUGB~jO{gSyd|sDgftI)5GNKKqtX|2p9`J5+!hs3GzxYT*!TsZB1MQ3KKo zEQTqT*^|`6M#P=57Vbk`IM#A2NGjCz^P;X>5tT!&J-=KYva0UEj!qmHiYmx0RGU6W zjcmRZ_C&EzH^|^w05!&!#}YUQm*S5&85^y%f?dNV#Cd-3IXQ6*PQ^_jHW=2OGOO%{ z8&{kAP~GPgs>GMP{nzjs@e?eLXV+Mb#9V8WR(V{^{$W@J)2_27>wrCp2VxxVcL#qW z4!u}!)90!U_N3W1+R7zAYK;F1RrND*5$-_MRO3ySbo)>Ry@KQLKC0<@Z?-2)w#DZh zAYOravBQs+1GDh8=Kqy!oaey8pX>`pFZ$kOO1K~Uv%ki6n?4U1-byQQ<-)YI)1`7}mL)E}0OsDyO?=G^F9hXrTh_lDKQEJcZs0Bk2T#8Ys zS@8xc7v5tS#@=g579Uk3IXsJ?#)0yvIbtAc>Gl9?lYdV1KI_*T_gfWRM9tgb2Yl}9 z_YNrS<2EUjWo}i{48z3i{{_zyU;5Q@Va-XO`#Sz8c4dF{Q&y#0u?OehL4B^#Z#Fk{ zK4ZD^0}kW-cxQbMY2i%4mc(Vw)Blx)^UvGY>e?4<5*qb87v{tds0ByfKkX}2Gn~!- z$csK_A^W#ovh{s~zpQEAV`KI&`rGGx#1~i&pIx>B6!^#7gzA2Iu2BCvVb2w-n)j#$ zLgA}6j}O9$#0mek?}7_Z*`4?r-I9Xr!iL0$u3Hi(y&IsbBZ>(xB;n&0+-`dyr>ln>>W8c}pbLW5VI1qBa zdv6z5k6-eE+aK&rMa_>^)xEG8`;&g6zjA?|*qeCjXX}Qa@E~z=$M4qUCEP-s+UIvi z%F{TIc%$F%{;(=*nBV=DybLpF{$COByZ!NK(C@ypEgkN6Yvdfx;)8i3{7z$Td>C^P zr-68POODAREX`|sgK z?(a-Y=y$&s7f?!^3q*DPu5zog)I4_me%p(jnWyf!+{q9O8YZ@!*Sd3=>b5wFQOzU@t=sUQC zcvm{VJMgqf?|0XN`%z6&G1Bi2#amI+bTEV8T~n697Q{R78%&hZ@4h8lmeC(_2b2fw z7|nqmnf&fT;~8qGjGx)>E*M6krs3JBp?DE8s5z@q153}W*7grk{XZYyXlvkDRPQ;9 z>ek7#`<+N^i92v;_K@GH?x(-!ur?f?%aUbiZodQY7h z?w8O`sQy3O^MvOo%*p;j#mI8}0ux|&FCK>B)YxQHQ_U>yci(_4!0E)-Fa!1};dkGP z%|fQ*kkh)PJ=r(djuRfCZd9+76>JEq%2%NZmbSFteZknkvk#VL|8&&x(>MhEWvq&a zV?N?js3qD5)U;i+tZIh-SA~s)?C6L(aS&?#zS`S=6Ey(6!ZKK=98Zc)n@dF+#&jG4(Uj@JW66#4sE6~77e&+$l ze?(>PqRM{vjc4O3e)r93f~tOgqRA^7{LJwa)vR}%Aj8%Ds@Cwkzp$_jw-fiQN&nXf zm8F*7{T`pVw%_@acn}`Ix^?{SN+*6@OTz4^Co6*WusWv2?=TPUMAgI{jE!;X`Q4Y! zDLhMKRrW_?16*B?{;yT+dv@H$!u1)^c!E?7tnG(3BsYjxV-pN-?05EZUh5`)_oa2J zrgnpUxR3qUaXBt-W=&eLIZ4Rp8lzj#7H-lxJFzI|J!lc~yKA!yE&a|5b~MFVShJPi zeS`5Y>Vx+&8%DJDyFV?@hYN@cV+TBo`LW0se)pwRM{Gp=49j4ZHkRaLPzAh!%CT{w zXuq?H5*|V=p}MrQ0qA0Tzx&#)ZU?^;kNrPme?0%C4YgG}(bimGCkF5`uEJ|L11EI0 zUX!Ye4aL(@i`L_q9q*6D-rL+ zg7^_@WB%@z?ZZ(c;X%~G<^pEG$R6$_6>=)Dp`>ets;WXgZ4B>&%8g^Fs&#rjzQt0w8?)&Cui03SX}+>2 zIf0tR!Uy=>#bqm06>rAe_zJZu&N$GzTP;-F7gORw9E{sh1<60iZd?b|_I)rj&cIM1 zo#-8Sfa!>14K{OlRzuAZolrNJg}>tltcjz(wwn44m1Os^4*G{!0qUc!+Y6iGG+c^z zhS2|2wG)O~e?E^ISiTzOcbC~mQ6KC++-^J>b$lgO#@DE%D@`|64)j9R=z7!ulY4|E za|o3y3sLKVhp1#MG?Ek5#v?}h-Jkg^z)ZxCFcK4vvYaT0%Gye(8t8~waRh#et5C@n zceITY<*+?*CsaJ5V|E(TgjLw}r?A)ba081rOa~Lr+p;f?cQ&_9p%o)oo%-v=5X= zW&e0o$q#tGM>RpQNtXRxQ8ly}ljAPWbC{I)K7N6pk){nfUre^{GYplCTT#h&4~t-u zDP|39PCNotkiSt+oM@_<2bFx)umrY6O-c(eHJ-qhcpH_3<)>*NBU|RPp$pzXC0nX* z>ek&ceZ77T~xdf`{GqBiS_6B-B&hKPy^6Q zRPRVWm)_EXjjn7o!y_1l>Atm^XoD4rhogq(!`KR)d3J%;sNZ^iR|=I=El|lh>pS|tM!HMvP}}5PU{yH@Rb}UK3RYZbU$xGnYM|~STPrR?^?T=g zYtu5=hj0$|!idE-5)Q$;&I?8fs^N%0bOAm=Kx zKdONHQEirZwOz0yswTFhnk2Bs29~y%iFhd{#v|Ai|3aN#V6ER7>!;sgS>jM|gPm9j zbFiZsYSI{mYMLde{`?v>geKT%-6|T@&8DH+^f<;w-zGahF6JlBhNZ9>>Uy(LBj5w% zdLbw0X3OTUJrAN@!-a3Lk|#ygKo3+~A4aw1XH-%S{LyM^8)|X+8P$YUf3n$fHV!8~ zgxVjq)n?VHSV#T;IvaYD{M+oCN>@}izef$hUAFt(pMr12HpC5gSXKUni->(YtqB*S zvj2amCW+ofRpUM!h81`FojrI6yWp@r1E zgVev+x7;zPC%KGDrshYiAgfRVSkj}`E861M#7D3jMjf*PtjBi5agJM!^*T=fSDXCG zj!u~Tgtc`DTND3|^|0WtmVBcz8Sw>FKYxJH*y^NpuYK5rIQ}VXs`#s#}>dsJ`Q5Mo1F`_bD``FA@o2b;71HtI&@{;&d0!iL0;QBP9gPrKm~ z)CGeV?YzdQn%L#V2`<@p#Qvy(DAr##o`hPlp(oyidcugmtxB7q`s)r<0pnh_Cuxkj z@K)3l#{S2uavRSH&lSso?@n~k=!2^2%c%ZZ;hNp} z5bDWdUbp0Ij=JDB)P-W+u%WjLD%&@plJN~{#H@JJ9&j#>CVq@c&c3&_Aff*~Vj~?p z!fxA>WklUzu;*#~f;ht+Yr_#3O?(+ufYNtuHd}~VCtOF3n91(h{`{!%)kFvAJUv zDwmGncbMd>VRc&66ymd zuoK?KDp>oCP200kx$rCMMmgVF(pE=3z9GuPNz~^CVOpGl%KlBLO6GK*trv7e6?h%?#^*>AhFC_0 zxzpqtY|nvwzA$Gb&cdFU)F0*+a182#e_%6A8y4oS3kINu)|03kWDVGPJy12Z4V9c> zK|8N5<|AHnmJCMx4qQq}dH_jU;%pD(Upxd1>G5cSjX4{CkVeSCd2t#VaZEWbmZ&8y&&3IvM z+b%+_)34ze%o5*fXf5hVZ=l-Jmmti2vCtRC63;|EX^MpQ`J$-qIt2CPhfw!@lQ1mg zjz}dF*@b(c+IA%>89$+Jlp=AM`%R`8>Ph>enqm#=Mu)LAUPI+T*(BDaW3dqNS=@(# zq;{Rd*pm2T(omTD3y95=g}J|Oa~`$WY?<7WXEUnGKB3yYW{NQPJzz)F_%IFiWLr@K z(Em^cubKV&j53X5m!b;tAC|=m>8)l*qLO?UR>VMLm^-V6s zsu`?6^H5cN8CBw!s3eP@G0a_{HKd=R^$!aAJWU~S{LY?;m7Qp{d-7al*>-QzG6!ADL zjfYV+^BIe&|Ch~S7Z`wLIIstmrSC8!=F4f>-2jzbeNk1o3)N&FQB@n2%Z^V*)xddF zE~UvG=6>VpgN=!|U{Z|8L$_D|Ps@f%-T-ysF{tc3jzckXUQ3>(sH(h+s>-N*cB59P zC;S16;SJP{Q{@kHUs&`)CFOYRfJ;$L6<&b;-<*x6Y;?yh*o)*!SI`EQX@xAyU!vMR zRbflUBB(YWj;i`|_=wLXD`Ih=m>sWuC$_}mZ?&1zC zRwB$@$vnX?iNj0UNY)(_5Klur(PC7S>_Sb;PARLo&Zutp3uePOrL7wmMm6b3RKZu2 zrvGaIx$m72QN~VagcI365H$e#%G&-&R25f5<;W0k{}voU{5z^3jmw3(uj%%oa->02 zn7bmHgBrkYVHZptDsPj+SRBue16UHPRq* zJ(rH(@n2Mu zWT5h%!=1gH51X$+B`RwBW{Q4Udu2FA7Bd1)yS&85*8$mMm6CqFMf!coYFV8CLYk3 z{;#T?#*P8_5H+y0ZxZJI7=1gcd!9rk-F-}h>6_X#S{l_PKVp5ngBoy(H?tZViK@xV zs4pamnuob>PTFE(;xoox8Q2-z&sM5_U{Nb+g5&e!c-UM!&_WSp5q-?;@(I zAEIs;Y-2-oB&v5*LFL9WFaCfdh?_-QQ~ibNeyQ4qxxbDVie^Jk{tfED9n_GTyIq(Q zjr~wH@H;9wA7WF?+ulaTaj2?Yi5kLRqH3U02W!f?*qQh~s;L`%Y29!$@&F;{C>yak za2=Jsk5EnQ2=OHBf#E%^yY)v^?N-zi26|al7D2arp~m)ysH`s0 z+q!LSRMYiEO=6Q!HMIuaWX4c8c3faXPf)IptpmnkB=HN>WRaw=&3?^L-D?PHTK)x< z)j9jw$Tt-8@I5l6XOX`hQY3wt6T2>UrHe@hvvwc!IC2Dm$Q_ zus^EmCtxdFggNnlSO&8Uu%>8_Er`EE4Op*G-Mh>{d$5)RL)Og}v!fsfo}!v0(;ypY zmSZ8}gBXP`J&O#s^9P`Y(luBKFJLcB@wN4W37C)gZ`6av8e&f#iH(R$gxJtfI}O$E zx1rkF8EW78>Y;|FrXN#1mzl5#6{z>K5p#^X^1*^K=5rgI7760aW< z=Dz9JjhY3I;bcrWmL}o6MR-L0|LwRi_s?qVA8)f(_X#$(uR?XFv=eQpZGr(t$H z;l(2ydSmy4^-1+nr1mQ1l2uHp?X)AZ)}|Dj{4ki%&BCX!$uZ7h+1OZ z@qB|yo*2{ZiHoDMye%s0r=Z6C`>5oqJj0r(B`Rr8U`+gos=0`n-giROI5HC5`Ts{Y zG-m&fYWu9Stc2rGNx2A>l=rY77N2bc$a+*09l);m8k=C-IX3(4M0K~+b8TcTfvVvJ zr~zx!T>8I;+7Ikd73TWZZa5h05&wc3f|Jg(DlCBNW`j`s_n`))zfip><9u7~R>%It z-LN5ELp@;O@9f6oFpBuXcVxekCCLJN!eUsQc)aI9)Ee*|YQ8VJ(AvH?ssMAaJZ`~K z_yRRBm8{6y*)u2&ylF(%TY=55;c^@UThc2 z)~k!E(JrV0&O;5!TTw&q8Ps*|dHX}3*@$FEswH;gQkb5&HR?vgurki^_FqOl z;d|7RBv@)smKDnpx5Fr0hMGHWqRz{<%nDcrm5fc1f`y!!Y$&-lU>y8t2lzJ}wkXYl z>fhB-PdETIf=x$t+n=#B#$I9eM-8o4P;144D=k^;qQ--EsDk!E_uv0*@eVw}C=Pr= zyYM2+M7$eSkgHe*v#z!guLG*eH==6d7-|}hy~et6PRtr& zM`JdW)k9Gu)FD(idWUMudTT8SL#Xbv7d6D5MK#4$Y>zKcpKrR(vi=*?P<<11y=v=i z7F~=9h&N$K{qvx=<0@)l@B~#-{|1Ii#_9~HS#JDBn-jL6j=#i0n0S+YF{z3fhzFy3 z%>vZQ=Mt)>ZlMYsW3$~S?PmJF`elB0)WK1xvH2WEVX-Zi8-q|abQ}j^+#l`h^Em8J z{1mg{mp@t6PenD!MbzY#eyhdfP&xJ+s$iG5hO8>@dIw&ihGPFV8#=S2K2Q+V|I48Y zG8q5H{iv#(zulT)ohs^_5k%Tg7`#;jUXH6P)~jlGg0MbcG^(e zc9-4Y4~)g}I~X6Ip_;(A+mbF4)jPgGCEXy@jc1@n)_bVjDZ0nzfEu2miEL<+IF2ge zd5nR#u>d|sl{9j%9nX%sP$_f=9MlcFc>718YHTiQ{8)}^nmwo-y6G8rpW6#UPBAug zVml1SukkA!i7MC|)EMvEZ(k^C;2z>d7>&&jSX=JKBE&~g*ZY7fXp)0AH)O|T#C1^x z>4@(8|LJV#276I$7CdDAJ2mRW;;13G9p=HGFc)6;j>kQ015`28T+#tG8I4C}{YF$y zo%iCms1Y{J&y0ZT|E1Z;iA_=6XO!m(RQEiJ>NdAfH-3le|5<*q8x%s-TvHr@U!a=s zUo4CFP)VBYh}BeaY)g(+LihdO4@a%aoMTo+DX!h9c8V7P-kyG@44Imp%*(`M(=MjIvBw?N|DN9gcZnEOv8dj4Zi_6arcgk7;osSK)y24GE$f7NESme`57E2^!}qmub1 zszC3sEyn!Uru%NFTnkNMqXioqQ3FcMYjz+zDz1T%*ag)aCSg9@iW;(S;aV(oJ5ewf6w3n;@~|SVvpe0 z#7pjzy(CrY2Vw4Sw`cp$CYfvxDG)d4fCD)``>_p3ah`^`zqXSFH7);wqtX8?%>4^% zVB=7aqRrx$7jP5IG=@C=^0rK+kJ8@h1?jKmpu34g>1IQdhU`;X0&eD+?! zU_}8_SXysoT?P`F@{w2MI!?4 zkUJEW&CgLMri>AA|6#&j)R?|9X231rkN79?1yuK28!O;`5!r-sxNz*)0jCV6h!b!J zq9$?e^KDSM)*Wl(vABVd`%5HA;|1J*!7vgFb0B&Afcp)n7HXthgLQESR_4MH2?Fj= zTsvXF{Y~c~n4aUWFast{6mSQoVyFSDF&4#9I0tv(w^%oE$VzrMvEA?`X68WsBmsBU z8i1NazDKp;kEo$|H+G{SXS}#nvVc>JxE@a8_=MyEcf3fP!mghWwHPgpx?XeC5Zxoh zhMsr;s-LdIcDM)EVY-w7cOL&0l`9!i1>CREOHtEqp49flRZs=&j9P&7#vqQuFbXyS zixW>tLk;2)RPKagr?slefJ(x0r~zaeR>Z}a32&lmCL&$HorH3uo}?M-hTSn94#$=_ z70cp%tcBUr2izABUtv??d&uWQPE@2-bt7!dfuWcM&tnCAi&~hJ%3x1i2Q}$*LKSQ* zs=#YdRlFNjpo^#)y^s3*JB-9Q87+76p!@s(E!ohCgHcZ~5gXw=)CV8oWOOoF)=ohc z>~GZZw3!3$KdH)(1&Pn1vOFw{Rs9#JByN{A;C_4Vjn#>7VL`QN-fRJPz-WuXFosrq z#QxnmtvjvGWjU}dH#J3D#>o?K7aE20TFo`Za6fg4UHII%`~mmN=2O%(ox1={#^;)1 zYvR!b1MZ*SxQ?L;eDFY_fcuBR{6z!KPEP!Yg>ZXuvKb$g2snrN;8&#r?mxRNUfO!W zAE+mLfJ&yfs2Yh^#*Sye^29|^$u|f!j%>l?xW5ejUn`nF*^vSLWvw@4#v#PbQQhqi zRFyx#>zJn;BOS(%qUk7LPE=NxEFW-I;0RO_W~mTxXUUP+p7=B>M+#I7xL-o+R15{& zF9H+Up(mJwnnu^5Zk)JMz@6u_qjIAHs!Ho)9vtc&UyIp@e?dLjL)3YJ$^j<|^Pxu8 z-WUtN#SOSD#D=oIUKJa|f52hHN03x-Dps|&u8JCRyQ2Da`DzwdMfHMo)vf9)psKhr zsu#3F4K)4n1P(*hK-C)d;Gqs|RAfhQ)O)$DI2z;E3b=ozYF2GVI*#Y8L-MeHE~+3e z>sq#-tQT;9ruzv$uzyH>8^8uN2)JKpE@M9Smv3k_(+9sKo{03ikn@BMmH0C%nc_6E zs!oN9b9ff>tnAs)v#n<@&taaEJ?DF_^4#Y6vn&1Y92>2;(Z8s+FWs1dfhS#oHHZ&4 zu}LRx(}4R0qG2;DU{}xxp5L^#2wff|Hi+tVtcEJv>j{? zDT7nkKLrP1$}er?n~qBEK*xYHh#DT%k^ZkC^L-~9!}E5wf|SEA*xwc>;z88(TBA$A zxkWsxYruWY-l-c^?PsjVMeNVt(*~N~a2jz$uYmif*XCjdKL17UfYTF4^a;3sPv}Ws z`u_wju(4mj{X$V}fDN@T@h2`&b6~(-j(^6v#NP}GIQ+wRC+pyVyKGNAB;fqa{{LZb z+&?tnw8ebGtl%?H16k_f?B{deVo7|*eOF=O&`A0r1^8zaC1%IHF#-1vjt(3baAFcy z9v^W3?RMP>OqaxUCfW$sZc@Pg8xRqbt)MTlFE?5}h3=~xPBjXfY??{*jvB@ec9cxwg1m{w>og572U+ zjc`N1qsF+-a#U^VmzoDE@?c;s>}IfB7-s zyultn1)SyhpQlJ0=ZP6ga|LD^4xO@W!%{|x72(%-BqH(>+fU8wm!&KVmy zGh!4F8DLu)$3mm=<6p1-Xs7VEAo&fI7I2xFc$MO?1bS zwIseHZi5ljZ1cM|)VIAK;OB_+|8x(mimRe#yS`WfccO0a9^+!g|E$gHqq^M+YyC*hTYm#za){cFaP2;=SGI32K0f_rYe% zTv(I%$p`wss;bmSYx72^l0~DQIE1>xOA@ z5Juo!%!uFP2|VxqNz>$*3X zoAWay3A){`j^|L+eL`#5&)} z@4Vx&lLg(iWlq%GQVaFD_Q-Yl`!8&0h@9sg*onH)Mb8(g0VIC%pqmqwQ3Z;|3^)K) zfO)94UW5POG1OeKB1O>sx*acN(0#$t3^k;$!olkQC)v=XQ8`u6?bnMiCGn3~98X~` z45s$l8kI~HP{~&VHFvZ}jRW^l1$l#-rjw?z8%CneuY?*uT4Nja|GsRL$Md)clcWv0 zlg(LdN!&GE(EX{`QB?OVmpIMy&rn15^z1?R zd%;3fHw)$nx+|mXs0V9<9WZsyp!?c?M9yHy{oq!1e8Yi*_yFtW3c7DVO63l^FBEg+ z3A$e*i{`Z|?1*|79KxhHIbYCyN4zvY4?vuzK+yg5+s6fi?(d3>E<`Wky6Z6#@8g#k zt8ggjz8L6T*plvdoWOyns3#g+#GYgI=#-ZA@UthcOe&|Uv8EEjZc5Z8$!DfwK1^2&Z{uylo>`~7`8reNeMRMEOit;#|7 zcRJ>x{`!@#O3?k%*|ciV{R1N_urK?IRkaD=bl;+l#Bp4|(w9M}x%&Ufj*MjN$kNF!T(z?$-8Iy-9M&c11UP;J&lBJ6YB{mH zThLu0y~Jkhuio97Xc@jBeu7Q#W)I7Ol0Ad&qV*vvH_G**|7%%XqBnB@H@J$Mh-3F9 zYl-*ZRXo)%=)U1x_Z3Y;Tyucs$hd)wV4QyzTVeh|HYrWTZ;21$HO_A~IOzTvo)Sas zy2FPC-9N$l%`p1EvUuz8pu1krJR<0R;W&tMxWHEMq;ZQ3YpCwj2C~TJ3I_ zV%dIps@Z57Pssi|*b!4sx3(QI!ye!hs(XGnGw3eiV$BM=KWbTz>ZUJe2OU32oN-Rj z`Gq)3=v#(ZF7yB^W1{&?BAn3dJ1aoPg?57>i)_Sthx%Zf?`?sSd9fAvDduGVFH3^% z+VBbLRqnE-LHB1#Etk^-951{g=zj4Sj4Eho%1Wz}4|s?VjQGK()e5U^EboAN8+IDi zZ~t3k7wEh;=)TP!vd#vQCpeblUDi`G_yjj%lMS}832qF!ORm_Pg6=DwKX9Su|2CV0 z?q9$8fZh4Pnk|;y$$qr%Ru45&UB)%o_$QmkKjR|eI$Le-c!=4Fhi15bz zOR$s&>_M6w47zVh!w%Vq*Y+?4rUswlUOrdu7wdi>aJBmX>myde#Yb)7u?|)8BdB@% z3TjSxf>Z1l#P zs9w7)$6eo@m3Yz8Z`kuj(EciR%bP*> z7lj+$qQ7%OqTBY3XULtP`xA=8cZ2Rb+}`(S8jjz^CtUE&eY%t42Tb3@ul}>+^B)G? z_XcYo1>Ns_D<50(9>&C+cLsanP0XnN-{6UjOkbhecsC}+J6H%mplT-nQ>&5As0;jx zs`3)g=#~^@Ag;z;&x7u3_jWH?fDq3{{x~ZCgxgj?{omTUq3JsPm7o7;nHL=eZ?lxsH z+)Z2>`>GqgVM7<{>JN8Exb3L+7TAeaMdV>c|0yAp-- z|9@fQIXl#yN+b?ZQzjWHF@#yYqORg<4kFSAOewi+7~VxuHGPGD6Gq_GRv^6ZLAo(V{I zarUEf<2tG-N~R5W*M!li{e{wnJJC1=Ti_$qBDPw3as_9hM!g6za*pMD1UW8n}M;yy5A~818oKNK}*6Lj7^ej!1z+&b&-k zRnIU5C&bAd?k*~`pb9V+b>ZdsB_77Tm_3U<;cZlRippxo-{U^ww%P1+>9gC7%c6$# zX4n8vV?p)*$Q;%t4N*C;5L;uWoR-ZaQ3KBRsBRiJSGfC4r#Y&P*I_?AimKX@xx<}E z?10Mtv6unB#ay@xHTm4ej@+N0=Tjxv54D0>iJFdoLtUU;-f;IzWPMbxXot$?)mRiC zcxK3Fxzr4m3$w5(K13C)QvPuFWp_{1q?ND${a;B?lnp&eE7TJXMBV6TRPw|u814?q zjZkq{?26k^PZC+klBp_AB<_L5@eS%a`3qaF3_ulptLN*&^nZ1i;zh#U-+~#4N|N=c z0pzIXRn(mD8V6vUqSm&fQQc}8mcV~eRh+U|xVs>!>^TzqvVR{cY4aDi2ku!sWE&IN zq2ybET3GBu4M@HcHo_G~t(59vH#~@1H{>p97aWaB(nF{xyoM@R#!}XO+n^q34wl3X zsQcXuvC)_fUunBhQ&dy*Lw$3Zh70fk>cZp7*aeQGsy3`_xci$?)v+A$d{lP-g?fn#mv}2`ArgqPIMj>{6<{@1!B034E0?z$?ZdB#-=fBWo)yB~g~<%;O#A{nVylWa z(*2C8iA0sGmlQx1Y&5pTpHWGfrLucGyfmIkqd>3`W>{YF*t73KH zvDgC7U^M2eW)CtM)z;T>8aApP?u@{jsG8|e!|t;K%d7vVuW3)v7L{DbQ3FM}TH)@G z$+zNA;zG48-i%)p=c^O$zB^irU5Mk=wb^YDYWz5g!!dI`Yr5rFjQBQc4oO>|f~fz0 z!-m@G4GzLm4QxQ#ifXfusAQ|%(4KS!s+$HI*^|^qeSR0Jia+8P*ru^1>wZ+6vxzY#gINwv8g4~O3Xz3A8M@@znM1@qCPMZ~JmmK@QV{$G$C2iOrCpQAqT2~|}ozOWpqhq~Yl)I#GSMq`0CmP|8I zN%#QcVf|?9J<-^lcrTX3WNpLU*YNeREb(7$Lspe3+F4R{Ky|B)s3G|!j=`+$Et}V2 zGvbe^Zq%fMU1%+CC%%u$p(S71f+cy!aQBUBXH-p>>|{;45WgpW7-FLp8n8V59 zc&KMDJMk}U&yHHXZMNHtO0x8QtmNHLaPQC0U4JLtSYR%1V*mR1P{TlZ^& z>Ln+z4Mu)#Njn1T6JNk&m}Q7f*QK$YinN&xwPoU=R?<$W5%C~uI!-n$+t`UQYdj8X*&muv{37s<~fLU*!snq^4CR!`aYcj`AEU!1g;x#yzIQ~SdsUJ}N`G2SN{ zh$>KynRdPLs3yEJlQvR+FE`7ob}T9x&!L_${cL-}{y3KSH`H9vXpSvN&S5&@yQmrq zpKCX0!P2TLt*Epd@WHgt!su@S|Nm#FSh@FkiLasB`Z;Pg`;6)pCD&U)zrzH?&IU6f zstGe<87zgGYX+kV@F#|n>V%C}^5R&5xFPC;b5TvQ2{j9z#+2A#lT~SVRNL=C?T@$F z;_O(9cnGSdj${!JPRn?zZ7E}FbUo@JdvVH}sH#|g*4@G~n ztX_lTiJzmI>g%oH?)&{~sJ8F0&3efnSc5pnc3VgEM=e6nY!BJMkZp(EU@YpyGpHm? zwbQy)H;g9UhlMfSF6#viQ5OnfX}pMYFv)KF{;(ER16NQr`VN&NiT2p%^Mu$?6*ot< z{XomRV`J9LN*U7*-OyKx^}NIVtQpK~6vfua^h6Gx+}`j8iAJ8Vrd0b8^GJ*vr?|7_7;8|1>#yVk5Q3c)K|8K*Fl4Tg`MvqZ*K&4;pTkK4{Mtl;>;rf%d z5P68Bi0hvUcYhrJJ4O=^J#FL16;yXC_M5f&Y|KWy2{k@k#71hPk8G%I8l16`Z$wq` zaa1?Td)A(K2+kw^8I?q>&e{Hfs4@NkR>2tO!=0m87d7%FyI@KEB{n5DHlv2}7=Mr> z>UL3V=)^Iof#(7$tBd|=FBqm_AL1ie8H-)C*>M=^o6mXF(yR0(tHD{Q_&zG@qyDl2 zH%BFRe^iZ6|BL>w8~OgW4>m_V$tLWEZ&7X9;j-6_@CV{|7>P^%u{q!n<|fW`#hRub zYWm)WFEG|sE9fWG{?7k;-T7bozxsQ+YxbmFP~C0`*2jHV9^+rPk*hwICZ36^>NBV& zN_N9W&i1IG`3KC1*D*Z?Zd#3GMh#>`P!D<}#D)f%c(?3AZBR|I9-HHPRFyZrZB4TP zlM;VI^@b#OtSzgdhT;*}6EEO&tZ>(6#|zkkxa2*n$vN1JIJAWgJz=c-Rs*%LKk;Zx zj&Cs~CU{^~m=pD-bT)RxTd20I`CqtmfaKbX6NraCvMdiiwzkiO>Qz-x1(}W19KZk1 z#x6g}^Tc|=>t{BQGjKJAA5R<;Q0c9$x?TdV{tR8|I>8_#LIN3)V zpvK}l;{B+RuIndD#ucb4zl%!JBA+d{MtPpYP(ltwIuULa7sN>7I;f=Vg{r!Ps3*LE z%G$!d2)7M~VQk_{mIS}FgyzpBrOuPz}wEv)z>?KaYy1@u{a{32VBPGMl3E`m#_l3fr z?5Mzj)Dcz_U!X4dH5SKBsBU);)g+&A09J|-;l4`UgCmKrd2zd#5pJ&rf?+me#gN-z?BiuHsf*O)%p~iuWSPrwsiEw`s(h=1i2crr$3(MmvRFlPv zYgOC^n-ecU75Eh@`AWsJn(2$WPv|roiP%UO-)l3}4U3{~Gyrvcy619Kfw!Y_;~Hi{ ze*(*$teBO!DrUx>s5YO4mGBHU!6XUYg7NP^*+{{TEvSC}D;B^zs0BreL=o<6H2_-@ zZ$!0mti%!S`+$r%gLphP#gs`R++W4&gX*5+P($(x)X@Gf4#f{xT>XD=(g-J-9Y3Oy zBXP0__Z3WARLKvblI{bJ!1~D}+_z)rF%|J0RKa{H?1rsTHyna0=yp^M{)TPvI%=pc zpEAN3&;6a*Z0JI1QrQy}!}i4AV0?Um!!RthCDBOK`6oPYp}N^;RMo~!V{P97|0dp# zNpOBztLcrXnm&f^`~RD4sH$V8vnT0ezO3HK@Bixa3P)7Q{vi4hcs6XGshFCI_RrxgRLwpn4VdKo! z4R@ky;5XC&bRQGqD^yiSWQlP90YWO=OPmRR$7`4jw`GlRS6HXA(*L!iU^eR>)lpAA z!t*MYBrcuZMy!FTs@#I=9Y;|&zJ}`O&rvngJcm{BH1zxU)eO{hyCJ7_*YI3+ooXRA z^u(=E3yUon4-P-#oojRQR75` ze3pd$Fq$}Yfep1?;ry1>qf!0#TU6WaMa^QrqiX5}s)}P3h;YA(rA6h$bnJ)!U>2-b z(0b7T)GYc3stG@$X4~jO5qd!pa!#``oE^mrTbu4cjcn&pH;i4x3X;*YBx<~9fEtp! zq0SrWIS*CvP1qQZp=vU1QG38Vs3t6r9o7Gvu#uk~`%pvWW7J4hxLAaJT}G|h{=~Ex zS=`Pmi|WT?PzAn-BQQY;8)#;ra%Uq(;eF4XB_rII-rX>V`v3QA=!VBpRT#Haggd{F z#3$zr_AHBFdih6&57UTRy_+gl$nZcLLQ5;#aVE04gc>;t;G- z(XMwG^AgvoME_TE46DTK=VvK}8p)nliE!U^I906;xOwy z$yFN5U_;as&p`E>cc|Q`R@ahiChEpN;5T>^+hD(XHZop7HA$xWcHL?rHZ)|mLAB{7 zR8qxkU`^5r2NLf<4K(>0+6T*HKH_GW6DME-{K@kd)IjtH>WO1D`oF5}Hm1rtjN|wL z)H}hMf^IcPU<_?(;t`UCOR<3LY3&RV3=~2U1TifreBj&~#zPRLHp;>^2qtD$<`!xh zma%C|Q)xDf%@@>MYg4z9W$>c!?_BqrUYvdY|N9)y{eQTw>wn{eeJ&LhV{1^c;$Ehq z;98L9_!=<>AII}J8E3AvC5%Va@M3%jKg2}5iWNA9CAco%1~`bC*f6fZc?A|jyHNFG z6j>?PH+hv4`W-I^b&L++T8w?p(#=Kn4`2+271~)b6Eo?TqgJdBb$pLuEY~7F!xspOD7C%22es$Vpz1?0YO8uM0Z*c4`m1+6 zWvxvh+p`=suohGh52GsMU#RbiT1Wn?kx1iSOh@Hq0QG>d6LrjXqDpQ*>WeOV*RNv& z{qQooaT3PU&qm#-3>8cD-t|G$1b;`}_un$|Ka<9^^)|x*Y9%^wIS!*fm|SiHT#Whj z^H2jjf_Zorr{Js#yFM3_=;xpxD^U~d#B}@uwUsw2+|ViHTe87CgqwI{Mx_N`18OE+ zcsHIvZN)iMP))6}IuSr!FG1~fFRsK9{1`Jf+T;CojH91cZ37IrG!&J!sHGY}9jDGF zTk>4g9&bb)!>3XCehn40kuNyD9Q5Ndtiu94i8_>GHrw^5QQ6aus<7Rtt#Ci1QAT4B z6}@w}*pgP@dir0ZzA*VkD=xcHELknP)ph9U4I+3 zHC?F6`Ga@;3NEETf+|o+JDkwJklcdPmH*ZCwl^+nY4@RK+KYc&B= z#w)1c$!f5)DL|!ZA8MvIP<#Im-i1-S?a5~bYM{@e-p@yUPbDfHgS*Lp&Fo$8jiabM z9z+$I%czq12QI{^ubInm5&aredLG6}cm@yQ_o#u@G+OWmQ4{(ZZ(~XmGsom+mP&is z+iZDz6!nESQ6qI)EX`t319}uSkX4w5ZKz*hzCmqS^y`-2_oG%Q8+CZKVhY|w6{Pr9 zTcLnULl2*AsC+(!3dY~O{**SGX)3BTSE3G`{is6n73$}&q8?---|!9@OrT$c%JX{E z=k}t4_6({*x|e8Z>2Bj597pY8d%NZ9J2;L0HPlMo!ovjFIPRd|_m-_#@*Z2EM^L48 z1u8guP&fJrHNXp~EEz*$F4{MHuiYpMKjDqGV=eEOPB?bwgYfXEwD}8sY4iQO7B)n8 zH$``c@e1#c?v4n~iCpxc|KS9GYKGt6|K7QXBBwv{Qbfl8ex|8#D1z4nUK9HZhbBFF F`agiS(~STC delta 40283 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 Ohr@s5=0rf&C;tJA1k#xR diff --git a/docs/locale/fr/LC_MESSAGES/appendix.po b/docs/locale/fr/LC_MESSAGES/appendix.po index 3cba9e1775b..6300b8e7e07 100644 --- a/docs/locale/fr/LC_MESSAGES/appendix.po +++ b/docs/locale/fr/LC_MESSAGES/appendix.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Elgg master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-31 15:46+0200\n" +"POT-Creation-Date: 2023-06-19 13:11+0200\n" "PO-Revision-Date: 2023-04-05 07:42+0000\n" "Last-Translator: Florian DANIEL aka Facyla , 2023\n" "Language-Team: French (https://app.transifex.com/elgg/teams/11337/fr/)\n" @@ -2657,16 +2657,16 @@ msgid "January 2020" msgstr "Janvier 2020" #: ../../appendix/support.rst:69 -msgid "3.3 LTS" -msgstr "3.3 LTS" +msgid "3.3" +msgstr "" #: ../../appendix/support.rst:69 msgid "September 2022" msgstr "Septembre 2022" -#: ../../appendix/support.rst:69 -msgid "**Until 5.0**" -msgstr "**Jusqu'à la 5.0**" +#: ../../appendix/support.rst:69 ../../appendix/support.rst:79 +msgid "June 2023" +msgstr "" #: ../../appendix/support.rst:71 msgid "4.0" @@ -2693,14 +2693,26 @@ msgid "July 2022" msgstr "Juillet 2022" #: ../../appendix/support.rst:77 -msgid "4.3" -msgstr "4.3" +msgid "4.3 LTS" +msgstr "" + +#: ../../appendix/support.rst:77 +msgid "June 2024" +msgstr "" + +#: ../../appendix/support.rst:77 +msgid "**Until 6.0**" +msgstr "" #: ../../appendix/support.rst:79 msgid "5.0" msgstr "5.0" -#: ../../appendix/support.rst:79 +#: ../../appendix/support.rst:81 +msgid "6.0" +msgstr "" + +#: ../../appendix/support.rst:81 msgid "TBD" msgstr "A FAIRE" diff --git a/docs/locale/fr/LC_MESSAGES/contribute.mo b/docs/locale/fr/LC_MESSAGES/contribute.mo index 43dbd5295fdc70918c1530a165cd46a401cc56f8..35d992335d35d8f696f61a5017406492f6afd335 100644 GIT binary patch delta 25 hcmdn}iEZ~MwhgDRa+&EGS}GVCTNxT|zIrw7F#wlA3se9A delta 25 hcmdn}iEZ~MwhgDRa+&HH8!8x@TA7$_zIrw7F#wk_3s(RD diff --git a/docs/locale/fr/LC_MESSAGES/contribute.po b/docs/locale/fr/LC_MESSAGES/contribute.po index 5f0a00a69ce..f100793ca27 100644 --- a/docs/locale/fr/LC_MESSAGES/contribute.po +++ b/docs/locale/fr/LC_MESSAGES/contribute.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Elgg master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-31 15:46+0200\n" +"POT-Creation-Date: 2023-06-19 13:11+0200\n" "PO-Revision-Date: 2023-04-05 07:42+0000\n" "Last-Translator: Florian DANIEL aka Facyla , 2023\n" "Language-Team: French (https://app.transifex.com/elgg/teams/11337/fr/)\n" diff --git a/docs/locale/fr/LC_MESSAGES/design.mo b/docs/locale/fr/LC_MESSAGES/design.mo index 21373da973bcbea47375c30dedd63849404545bb..609c0d9042119ea501ce5d555f064920b2e736cd 100644 GIT binary patch delta 25 hcmeDB!P51EWy9PVTxPn4mI{W(R)&U~m(NIE3;>1v3E=<$ delta 25 hcmeDB!P51EWy9PVT&B9lh6;wJRwibfm(NIE3;>1f3FH6( diff --git a/docs/locale/fr/LC_MESSAGES/design.po b/docs/locale/fr/LC_MESSAGES/design.po index c74ee8f9cd7..eaef8378d15 100644 --- a/docs/locale/fr/LC_MESSAGES/design.po +++ b/docs/locale/fr/LC_MESSAGES/design.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Elgg master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-31 15:46+0200\n" +"POT-Creation-Date: 2023-06-19 13:11+0200\n" "PO-Revision-Date: 2023-04-05 07:42+0000\n" "Last-Translator: Jerôme Bakker, 2023\n" "Language-Team: French (https://app.transifex.com/elgg/teams/11337/fr/)\n" diff --git a/docs/locale/fr/LC_MESSAGES/guides.mo b/docs/locale/fr/LC_MESSAGES/guides.mo index a5368afe3c3b68eba8e6c1bf0252132f2cd8b570..c84780ad00e2167877d62d1c959a370966a7c30a 100644 GIT binary patch delta 44 wcmccHD0R0{s-cCkg=q`3nl_i2uA!xZp|O>rVY`7gGZ3=?G3#~%ZMLr;pPbbJpuqy@dlFs delta 23 ecmbQ@FvVemA3v9=uCbwlp{bRL+2#oTJpuqy;Rcof diff --git a/docs/locale/fr/LC_MESSAGES/index.po b/docs/locale/fr/LC_MESSAGES/index.po index 4f296400cce..f94f900189d 100644 --- a/docs/locale/fr/LC_MESSAGES/index.po +++ b/docs/locale/fr/LC_MESSAGES/index.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Elgg master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-31 15:46+0200\n" +"POT-Creation-Date: 2023-06-19 13:11+0200\n" "PO-Revision-Date: 2023-04-05 07:42+0000\n" "Last-Translator: Florian DANIEL aka Facyla , 2023\n" "Language-Team: French (https://app.transifex.com/elgg/teams/11337/fr/)\n" diff --git a/docs/locale/fr/LC_MESSAGES/intro.mo b/docs/locale/fr/LC_MESSAGES/intro.mo index 72d213d9ed23b583219bf7f8346580257fa3bd80..06cf6f78b1cb90b41bd73b392116f5553cb42783 100644 GIT binary patch delta 25 gcmey>&ho3BWdma^mzl1irGlZcm7(Eg?%MZl0C*+{-~a#s delta 25 gcmey>&ho3BWdma^m#MC?p@N~Qm5JGA?%MZl0C*M%;{X5v diff --git a/docs/locale/fr/LC_MESSAGES/intro.po b/docs/locale/fr/LC_MESSAGES/intro.po index 85fcc9c5d6d..599948ffc3a 100644 --- a/docs/locale/fr/LC_MESSAGES/intro.po +++ b/docs/locale/fr/LC_MESSAGES/intro.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Elgg master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-31 15:46+0200\n" +"POT-Creation-Date: 2023-06-19 13:11+0200\n" "PO-Revision-Date: 2023-04-05 07:42+0000\n" "Last-Translator: Florian DANIEL aka Facyla , 2023\n" "Language-Team: French (https://app.transifex.com/elgg/teams/11337/fr/)\n" diff --git a/docs/locale/fr/LC_MESSAGES/plugins.mo b/docs/locale/fr/LC_MESSAGES/plugins.mo index 277aad6e08fd5f452a4a61ec73dc49d70db0d929..7c61a96903edcc7f2db2bc74ea15ddb02eaaa5f5 100644 GIT binary patch delta 25 hcmbR8lX1#V#tqM{xXg47Efoxntqct}f3#Zc2mpql38w%6 delta 25 hcmbR8lX1#V#tqM{xJ-484HXPctxU`|f3#Zc2mpqV390}9 diff --git a/docs/locale/fr/LC_MESSAGES/plugins.po b/docs/locale/fr/LC_MESSAGES/plugins.po index c23d1863bda..d0fcc3c05fc 100644 --- a/docs/locale/fr/LC_MESSAGES/plugins.po +++ b/docs/locale/fr/LC_MESSAGES/plugins.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Elgg master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-31 15:46+0200\n" +"POT-Creation-Date: 2023-06-19 13:11+0200\n" "PO-Revision-Date: 2023-04-05 07:42+0000\n" "Last-Translator: Florian DANIEL aka Facyla , 2023\n" "Language-Team: French (https://app.transifex.com/elgg/teams/11337/fr/)\n" diff --git a/docs/locale/fr/LC_MESSAGES/tutorials.mo b/docs/locale/fr/LC_MESSAGES/tutorials.mo index 5eca73cfebf87afb9033343810b1d18c2a353fdd..1a0cbe9435b85dc47ccd0a4fcb22b19021c07db4 100644 GIT binary patch delta 25 hcmZqv&e;5&al>kBE;C(2O9ew?D?`K0TdmL80|0(!2{Zrz delta 25 hcmZqv&e;5&al>kBE>m4&Lj^-qD-*NLTdmL80|0(k2{!-$ diff --git a/docs/locale/fr/LC_MESSAGES/tutorials.po b/docs/locale/fr/LC_MESSAGES/tutorials.po index 7d794dd57d5..323a6cd1e95 100644 --- a/docs/locale/fr/LC_MESSAGES/tutorials.po +++ b/docs/locale/fr/LC_MESSAGES/tutorials.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Elgg master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-31 15:46+0200\n" +"POT-Creation-Date: 2023-06-19 13:11+0200\n" "PO-Revision-Date: 2023-04-05 07:42+0000\n" "Last-Translator: Jerôme Bakker, 2023\n" "Language-Team: French (https://app.transifex.com/elgg/teams/11337/fr/)\n" diff --git a/docs/locale/pot/admin.pot b/docs/locale/pot/admin.pot index 8f7e8abb1c7..bbf244a08ed 100644 --- a/docs/locale/pot/admin.pot +++ b/docs/locale/pot/admin.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Elgg master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-19 13:11+0200\n" +"POT-Creation-Date: 2023-10-18 11:20+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1403,119 +1403,119 @@ msgstr "" msgid "Uncomment and populate the following sections in ``settings.php``" msgstr "" -#: ../../admin/performance.rst:195 +#: ../../admin/performance.rst:201 msgid "Optionaly if you run multiple Elgg installations but use ony one Memcache server, you may want to add a namespace prefix. In order to do this, uncomment the following line" msgstr "" -#: ../../admin/performance.rst:203 +#: ../../admin/performance.rst:209 msgid "Squid" msgstr "" -#: ../../admin/performance.rst:205 +#: ../../admin/performance.rst:211 msgid "We have had good results by using `Squid`_ to cache images for us." msgstr "" -#: ../../admin/performance.rst:211 +#: ../../admin/performance.rst:217 msgid "Bytecode caching" msgstr "" -#: ../../admin/performance.rst:213 +#: ../../admin/performance.rst:219 msgid "There are numerous PHP code caches available on the market. These speed up your site by caching the compiled byte code from your script meaning that your server doesn't have to compile the PHP code each time it is executed." msgstr "" -#: ../../admin/performance.rst:219 +#: ../../admin/performance.rst:225 msgid "Direct file serving" msgstr "" -#: ../../admin/performance.rst:221 +#: ../../admin/performance.rst:227 msgid "If your server can be configured to support the X-Sendfile or X-Accel headers, you can configure it to be used in ``settings.php``. This allows your web server to directly stream files to the client instead of using PHP's ``readfile()``." msgstr "" -#: ../../admin/performance.rst:226 +#: ../../admin/performance.rst:232 msgid "Composer Autoloader Optimization" msgstr "" -#: ../../admin/performance.rst:228 +#: ../../admin/performance.rst:234 msgid "The Composer autoloader is responsible for loading classes provided by dependencies of Elgg. The way the autoloader works is it searches for a classname in the installed dependencies. While this is mostly a fast process it can be optimized." msgstr "" -#: ../../admin/performance.rst:231 +#: ../../admin/performance.rst:237 msgid "You can optimize the autoloader 2 different ways. The first is in the commandline, the other is in the ``composer.json`` of your project." msgstr "" -#: ../../admin/performance.rst:233 +#: ../../admin/performance.rst:239 msgid "If you want to optimize the autoloader using the commandline use the ``-o`` flag. The disadvantage is you have to add the ``-o`` flag every time you run Composer." msgstr "" -#: ../../admin/performance.rst:244 +#: ../../admin/performance.rst:250 msgid "The second option is to add the optimization to your ``composer.json`` file, that way you never forget it." msgstr "" -#: ../../admin/performance.rst:257 +#: ../../admin/performance.rst:263 msgid "Check out the `Autoloader Optimization`__ page for more information about how to optimize the Composer autoloader." msgstr "" -#: ../../admin/performance.rst:263 +#: ../../admin/performance.rst:269 msgid "As of Elgg 3.0 all the `downloads`__ of Elgg from the website have the optimized autoloader." msgstr "" -#: ../../admin/performance.rst:268 +#: ../../admin/performance.rst:274 msgid "Hosting" msgstr "" -#: ../../admin/performance.rst:270 +#: ../../admin/performance.rst:276 msgid "Don't expect to run a site catering for millions of users on a cheap shared host. You will need to have your own host hardware and access over the configuration, as well as lots of bandwidth and memory available." msgstr "" -#: ../../admin/performance.rst:275 +#: ../../admin/performance.rst:281 msgid "Memory, CPU and bandwidth" msgstr "" -#: ../../admin/performance.rst:277 +#: ../../admin/performance.rst:283 msgid "Due to the nature of caching, all caching solutions will require memory. It is a fairly cheap return to throw memory and CPU at the problem." msgstr "" -#: ../../admin/performance.rst:280 +#: ../../admin/performance.rst:286 msgid "On advanced hardware it is likely that bandwidth is going to be your bottleneck before the server itself. Ensure that your host can support the load you are suggesting." msgstr "" -#: ../../admin/performance.rst:284 +#: ../../admin/performance.rst:290 msgid "Configuration" msgstr "" -#: ../../admin/performance.rst:286 +#: ../../admin/performance.rst:292 msgid "Lastly, take a look at your configuration as there are a few gotchas that can catch people." msgstr "" -#: ../../admin/performance.rst:288 +#: ../../admin/performance.rst:294 msgid "For example, out of the box, Apache can handle quite a high load. However, most distros of Linux come with mysql configured for small sites. This can result in Apache processes getting stalled waiting to talk to one very overloaded MySQL process." msgstr "" -#: ../../admin/performance.rst:293 +#: ../../admin/performance.rst:299 msgid "Check for poorly-behaved plugins" msgstr "" -#: ../../admin/performance.rst:295 +#: ../../admin/performance.rst:301 msgid "Plugins can be programmed in a very naive way and this can cause your whole site to feel slow." msgstr "" -#: ../../admin/performance.rst:297 +#: ../../admin/performance.rst:303 msgid "Try disabling some plugins to see if that noticeably improves performance. Once you've found a likely offender, go to the original plugin author and report your findings." msgstr "" -#: ../../admin/performance.rst:301 +#: ../../admin/performance.rst:307 msgid "Use client-rendered HTML" msgstr "" -#: ../../admin/performance.rst:303 +#: ../../admin/performance.rst:309 msgid "We've found that at a certain point, much of the time spent on the server is simply building the HTML of the page with Elgg's views system." msgstr "" -#: ../../admin/performance.rst:306 +#: ../../admin/performance.rst:312 msgid "It's very difficult to cache the output of templates since they can generally take arbitrary inputs. Instead of trying to cache the HTML output of certain pages or views, the suggestion is to switch to an HTML-based templating system so that the user's browser can cache the templates themselves. Then have the user's computer do the work of generating the output by applying JSON data to those templates." msgstr "" -#: ../../admin/performance.rst:311 +#: ../../admin/performance.rst:317 msgid "This can be very effective, but has the downside of being significant extra development cost. The Elgg team is looking to integrate this strategy into Elgg directly, since it is so effective especially on pages with repeated or hidden content." msgstr "" diff --git a/docs/locale/pot/appendix.pot b/docs/locale/pot/appendix.pot index 5ba2d8060b1..dfa6c77b7d0 100644 --- a/docs/locale/pot/appendix.pot +++ b/docs/locale/pot/appendix.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Elgg master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-19 13:11+0200\n" +"POT-Creation-Date: 2023-10-18 11:20+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -44,6 +44,7 @@ msgstr "" #: ../../appendix/upgrade-notes/4.1-to-4.2.rst:6 #: ../../appendix/upgrade-notes/4.2-to-4.3.rst:6 #: ../../appendix/upgrade-notes/4.x-to-5.0.rst:6 +#: ../../appendix/upgrade-notes/5.0-to-5.1.rst:6 msgid "Contents" msgstr "" @@ -1364,26 +1365,34 @@ msgid "``upgrade``" msgstr "" #: ../../appendix/releases.rst:116 -msgid "Views" +msgid "Test suite" msgstr "" #: ../../appendix/releases.rst:118 +msgid "The Elgg PHPUnit test suite files are not considered part of the public API and can be changed / removed at any time." +msgstr "" + +#: ../../appendix/releases.rst:121 +msgid "Views" +msgstr "" + +#: ../../appendix/releases.rst:123 msgid "View names are API." msgstr "" -#: ../../appendix/releases.rst:119 +#: ../../appendix/releases.rst:124 msgid "View arguments ($vars array) are API." msgstr "" -#: ../../appendix/releases.rst:120 +#: ../../appendix/releases.rst:125 msgid "Removing views or renaming views follows API deprecation policies." msgstr "" -#: ../../appendix/releases.rst:121 +#: ../../appendix/releases.rst:126 msgid "Adding new views requires a minor version change." msgstr "" -#: ../../appendix/releases.rst:122 +#: ../../appendix/releases.rst:127 msgid "View output is not API and can be changed between patch releases." msgstr "" @@ -3440,6 +3449,7 @@ msgstr "" #: ../../appendix/upgrade-notes/2.1-to-2.2.rst:19 #: ../../appendix/upgrade-notes/2.2-to-2.3.rst:38 +#: ../../appendix/upgrade-notes/5.0-to-5.1.rst:15 msgid "Deprecated Views" msgstr "" @@ -6807,6 +6817,7 @@ msgid "The legacy style hook and event callback arguments are deprecated. You sh msgstr "" #: ../../appendix/upgrade-notes/3.0-to-3.1.rst:76 +#: ../../appendix/upgrade-notes/5.0-to-5.1.rst:22 msgid "Deprecated Routes" msgstr "" @@ -11345,7 +11356,7 @@ msgid "``elgg_register_plugin_hook_handler`` use ``elgg_register_event_handler`` msgstr "" #: ../../appendix/upgrade-notes/4.x-to-5.0.rst:443 -msgid "``elgg_trigger_plugin_hook`` use ``elgg_trigger_event_result``" +msgid "``elgg_trigger_plugin_hook`` use ``elgg_trigger_event_results``" msgstr "" #: ../../appendix/upgrade-notes/4.x-to-5.0.rst:444 @@ -11465,3 +11476,31 @@ msgstr "" #: ../../appendix/upgrade-notes/4.x-to-5.0.rst:495 msgid "The ``REFERRER`` constant has been changed to a string with the value ``__elgg_referrer``" msgstr "" + +#: ../../appendix/upgrade-notes/5.0-to-5.1.rst:2 +msgid "From 5.0 to 5.1" +msgstr "" + +#: ../../appendix/upgrade-notes/5.0-to-5.1.rst:9 +msgid "Changes in the DOM structure" +msgstr "" + +#: ../../appendix/upgrade-notes/5.0-to-5.1.rst:11 +msgid "In order to improve accessibility the HTML DOM structure has been changed slightly. Some sections of the page have been changed from a ``div`` to ``header``, ``main`` or ``footer``. The classes or place in the DOM has not been changed." +msgstr "" + +#: ../../appendix/upgrade-notes/5.0-to-5.1.rst:17 +msgid "``page/elements/
/after`` is deprecated: Extend the correct ``page/elements/
``" +msgstr "" + +#: ../../appendix/upgrade-notes/5.0-to-5.1.rst:18 +msgid "``page/elements/
/before`` is deprecated: Prepend the correct ``page/elements/
``" +msgstr "" + +#: ../../appendix/upgrade-notes/5.0-to-5.1.rst:19 +msgid "``resources/comments/edit`` is deprecated: This resource is no longer in use" +msgstr "" + +#: ../../appendix/upgrade-notes/5.0-to-5.1.rst:24 +msgid "``edit:object:comment`` is deprecated: Editing comments uses an inline form" +msgstr "" diff --git a/docs/locale/pot/contribute.pot b/docs/locale/pot/contribute.pot index b2c9af50e1a..f708042d2e2 100644 --- a/docs/locale/pot/contribute.pot +++ b/docs/locale/pot/contribute.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Elgg master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-19 13:11+0200\n" +"POT-Creation-Date: 2023-10-18 11:20+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1180,12 +1180,11 @@ msgid "Make a PR with translation updates" msgstr "" #: ../../contribute/core/releases.rst:75 -#: ../../contribute/core/releases.rst:113 msgid "Install the prerequisites:" msgstr "" #: ../../contribute/core/releases.rst:85 -#: ../../contribute/core/releases.rst:121 +#: ../../contribute/core/releases.rst:115 msgid "On Windows you need to run these command in a console with admin privileges" msgstr "" @@ -1217,196 +1216,196 @@ msgstr "" msgid "Visit ``https://github.com/Elgg/Elgg/compare/...`` and submit the PR if there is anything that needs to be merged up." msgstr "" -#: ../../contribute/core/releases.rst:123 +#: ../../contribute/core/releases.rst:117 msgid "Run the ``release.php`` script. For example, to release 1.12.5:" msgstr "" -#: ../../contribute/core/releases.rst:130 +#: ../../contribute/core/releases.rst:124 msgid "This creates a ``release-1.12.5`` branch in your local repo." msgstr "" -#: ../../contribute/core/releases.rst:132 +#: ../../contribute/core/releases.rst:126 msgid "Next, submit a pull request via GitHub for automated testing and approval by another developer:" msgstr "" -#: ../../contribute/core/releases.rst:139 +#: ../../contribute/core/releases.rst:133 msgid "Tag the release" msgstr "" -#: ../../contribute/core/releases.rst:141 +#: ../../contribute/core/releases.rst:135 msgid "Once approved and merged, create a release on GitHub:" msgstr "" -#: ../../contribute/core/releases.rst:143 +#: ../../contribute/core/releases.rst:137 msgid "Goto releases" msgstr "" -#: ../../contribute/core/releases.rst:144 +#: ../../contribute/core/releases.rst:138 msgid "Click 'Draft a new release'" msgstr "" -#: ../../contribute/core/releases.rst:145 +#: ../../contribute/core/releases.rst:139 msgid "Enter the version" msgstr "" -#: ../../contribute/core/releases.rst:146 +#: ../../contribute/core/releases.rst:140 msgid "Select the correct branch (eg 1.12 for a 1.12.x release, 2.3 for a 2.3.x release, etc)" msgstr "" -#: ../../contribute/core/releases.rst:147 +#: ../../contribute/core/releases.rst:141 msgid "Set the release title as 'Elgg {version}'" msgstr "" -#: ../../contribute/core/releases.rst:148 +#: ../../contribute/core/releases.rst:142 msgid "Paste the CHANGELOG.md part related to this release in the description" msgstr "" -#: ../../contribute/core/releases.rst:152 +#: ../../contribute/core/releases.rst:146 msgid "GitHub is setup to listen to the creation of a new release to automaticly make the ZIP release of Elgg. After the release was created wait a few minutes and the ZIP should be added to the release." msgstr "" -#: ../../contribute/core/releases.rst:155 +#: ../../contribute/core/releases.rst:149 msgid "Some final administration" msgstr "" -#: ../../contribute/core/releases.rst:157 +#: ../../contribute/core/releases.rst:151 msgid "Mark GitHub release milestones as completed" msgstr "" -#: ../../contribute/core/releases.rst:158 +#: ../../contribute/core/releases.rst:152 msgid "Move unresolved tickets in released milestones to later milestones" msgstr "" -#: ../../contribute/core/releases.rst:161 +#: ../../contribute/core/releases.rst:155 msgid "Additional actions for the first new minor / major" msgstr "" -#: ../../contribute/core/releases.rst:163 +#: ../../contribute/core/releases.rst:157 msgid "Make a new branch on GitHub (for example 3.3)" msgstr "" -#: ../../contribute/core/releases.rst:164 +#: ../../contribute/core/releases.rst:158 msgid "Set the new branch as the default branch (optional, but suggested for stable releases)" msgstr "" -#: ../../contribute/core/releases.rst:165 +#: ../../contribute/core/releases.rst:159 msgid "Configure `Read The Docs`_ to build the new branch (not the new tag)" msgstr "" -#: ../../contribute/core/releases.rst:166 +#: ../../contribute/core/releases.rst:160 msgid "Configure `Scrutinizer`_ to build the new branch" msgstr "" -#: ../../contribute/core/releases.rst:167 +#: ../../contribute/core/releases.rst:161 msgid "Check the Elgg starter project for potential requirement / config changes in the ``composer.json``" msgstr "" -#: ../../contribute/core/releases.rst:168 +#: ../../contribute/core/releases.rst:162 msgid "Add the new minor / major version to the ``Elgg/community_plugins`` repository so developers can upload plugins for the new release" msgstr "" -#: ../../contribute/core/releases.rst:169 +#: ../../contribute/core/releases.rst:163 msgid "Update the build configuration for the `Elgg reference`_ (on the Elgg.org webserver)" msgstr "" -#: ../../contribute/core/releases.rst:179 +#: ../../contribute/core/releases.rst:173 msgid "Additional action for the first new major" msgstr "" -#: ../../contribute/core/releases.rst:181 +#: ../../contribute/core/releases.rst:175 msgid "On GitHub add a branch protection rule (for example ``4.*``)" msgstr "" -#: ../../contribute/core/releases.rst:182 +#: ../../contribute/core/releases.rst:176 msgid "Configure Scrutinizer to track the new major branches (for example ``4.*``)" msgstr "" -#: ../../contribute/core/releases.rst:185 +#: ../../contribute/core/releases.rst:179 msgid "Update the website" msgstr "" -#: ../../contribute/core/releases.rst:188 +#: ../../contribute/core/releases.rst:182 msgid "Update elgg.org download page" msgstr "" -#: ../../contribute/core/releases.rst:190 +#: ../../contribute/core/releases.rst:184 msgid "Clone https://github.com/Elgg/community" msgstr "" -#: ../../contribute/core/releases.rst:191 +#: ../../contribute/core/releases.rst:185 msgid "Add the new version to ``classes/Elgg/Releases.php``" msgstr "" -#: ../../contribute/core/releases.rst:192 -#: ../../contribute/core/releases.rst:212 +#: ../../contribute/core/releases.rst:186 +#: ../../contribute/core/releases.rst:206 msgid "Commit and push the changes" msgstr "" -#: ../../contribute/core/releases.rst:193 +#: ../../contribute/core/releases.rst:187 msgid "Download the ZIP release from GitHub" msgstr "" -#: ../../contribute/core/releases.rst:194 +#: ../../contribute/core/releases.rst:188 msgid "Upload the ZIP to the elgg.org webserver" msgstr "" -#: ../../contribute/core/releases.rst:202 +#: ../../contribute/core/releases.rst:196 msgid "Update elgg.org" msgstr "" -#: ../../contribute/core/releases.rst:204 +#: ../../contribute/core/releases.rst:198 msgid "Clone https://github.com/Elgg/www.elgg.org" msgstr "" -#: ../../contribute/core/releases.rst:205 +#: ../../contribute/core/releases.rst:199 msgid "(optional) Change the required Elgg version in ``composer.json``" msgstr "" -#: ../../contribute/core/releases.rst:206 +#: ../../contribute/core/releases.rst:200 msgid "Update vendors" msgstr "" -#: ../../contribute/core/releases.rst:213 +#: ../../contribute/core/releases.rst:207 msgid "Pull to live site" msgstr "" -#: ../../contribute/core/releases.rst:222 +#: ../../contribute/core/releases.rst:216 msgid "Go to community admin panel" msgstr "" -#: ../../contribute/core/releases.rst:223 +#: ../../contribute/core/releases.rst:217 msgid "Flush APC cache" msgstr "" -#: ../../contribute/core/releases.rst:224 +#: ../../contribute/core/releases.rst:218 msgid "Run upgrade" msgstr "" -#: ../../contribute/core/releases.rst:227 +#: ../../contribute/core/releases.rst:221 msgid "Make the announcement" msgstr "" -#: ../../contribute/core/releases.rst:229 +#: ../../contribute/core/releases.rst:223 msgid "This should be the very last thing you do." msgstr "" -#: ../../contribute/core/releases.rst:231 +#: ../../contribute/core/releases.rst:225 msgid "Open ``https://github.com/Elgg/Elgg/blob//CHANGELOG.md`` and copy the contents for that version" msgstr "" -#: ../../contribute/core/releases.rst:232 +#: ../../contribute/core/releases.rst:226 msgid "Sign in at https://elgg.org/blog and compose a new blog with a summary" msgstr "" -#: ../../contribute/core/releases.rst:233 +#: ../../contribute/core/releases.rst:227 msgid "Copy in the CHANGELOG contents, clear formatting, and manually remove the SVG anchors" msgstr "" -#: ../../contribute/core/releases.rst:234 +#: ../../contribute/core/releases.rst:228 msgid "Add tags ``release`` and ``elgg2.x`` where x is whatever branch is being released" msgstr "" -#: ../../contribute/core/releases.rst:235 +#: ../../contribute/core/releases.rst:229 msgid "Tweet from the elgg `Twitter account`_" msgstr "" diff --git a/docs/locale/pot/design.pot b/docs/locale/pot/design.pot index cd712ec8dc7..37f62427886 100644 --- a/docs/locale/pot/design.pot +++ b/docs/locale/pot/design.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Elgg master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-19 13:11+0200\n" +"POT-Creation-Date: 2023-10-18 11:20+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/docs/locale/pot/guides.pot b/docs/locale/pot/guides.pot index 08770df09fb..c8d3b07f14d 100644 --- a/docs/locale/pot/guides.pot +++ b/docs/locale/pot/guides.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Elgg master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-19 13:11+0200\n" +"POT-Creation-Date: 2023-10-18 11:20+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -565,281 +565,289 @@ msgid "``input/userpicker`` - renders an Elgg user autocomplete" msgstr "" #: ../../guides/actions.rst:381 +msgid "``input/grouppicker`` - renders an Elgg group autocomplete" +msgstr "" + +#: ../../guides/actions.rst:382 +msgid "``input/objectpicker`` - renders an Elgg object autocomplete" +msgstr "" + +#: ../../guides/actions.rst:383 msgid "``input/location`` renders an Elgg location input" msgstr "" -#: ../../guides/actions.rst:384 +#: ../../guides/actions.rst:386 msgid "Files and images" msgstr "" -#: ../../guides/actions.rst:386 +#: ../../guides/actions.rst:388 msgid "Use the ``input/file`` view in your form’s content view." msgstr "" -#: ../../guides/actions.rst:393 +#: ../../guides/actions.rst:395 msgid "If you wish to upload an icon for entity you can use the helper view ``entity/edit/icon``. This view shows a file input for uploading a new icon for the entity, an thumbnail of the current icon and the option to remove the current icon." msgstr "" -#: ../../guides/actions.rst:397 +#: ../../guides/actions.rst:399 msgid "The view supports some variables to control the output" msgstr "" -#: ../../guides/actions.rst:399 +#: ../../guides/actions.rst:401 msgid "``entity`` - the entity to add/remove the icon for. If provided based on this entity the thumbnail and remove option wil be shown" msgstr "" -#: ../../guides/actions.rst:400 +#: ../../guides/actions.rst:402 msgid "``entity_type`` - the entity type for which the icon will be uploaded. Plugins could find this useful, maybe to validate icon sizes" msgstr "" -#: ../../guides/actions.rst:401 +#: ../../guides/actions.rst:403 msgid "``entity_subtype`` - the entity subtype for which the icon will be uploaded. Plugins could find this useful, maybe to validate icon sizes" msgstr "" -#: ../../guides/actions.rst:402 +#: ../../guides/actions.rst:404 msgid "``icon_type`` - the type of the icon (default: icon)" msgstr "" -#: ../../guides/actions.rst:403 +#: ../../guides/actions.rst:405 msgid "``name`` - name of the input/file (default: icon)" msgstr "" -#: ../../guides/actions.rst:404 +#: ../../guides/actions.rst:406 msgid "``remove_name`` - name of the remove icon toggle (default: $vars['name'] . '_remove')" msgstr "" -#: ../../guides/actions.rst:405 +#: ../../guides/actions.rst:407 msgid "``required`` - is icon upload required (default: false)" msgstr "" -#: ../../guides/actions.rst:406 +#: ../../guides/actions.rst:408 msgid "``cropper_enabled`` - is icon cropping allowed (default: true)" msgstr "" -#: ../../guides/actions.rst:407 +#: ../../guides/actions.rst:409 msgid "``show_remove`` - show the remove icon option (default: true)" msgstr "" -#: ../../guides/actions.rst:408 +#: ../../guides/actions.rst:410 msgid "``show_thumb`` - show the thumb of the entity if available (default: true)" msgstr "" -#: ../../guides/actions.rst:409 +#: ../../guides/actions.rst:411 msgid "``thumb_size`` - the icon size to use as the thumb (default: medium)" msgstr "" -#: ../../guides/actions.rst:411 +#: ../../guides/actions.rst:413 msgid "If using the helper view you can use the following code in you action to save the icon to the entity or remove the current icon." msgstr "" -#: ../../guides/actions.rst:421 +#: ../../guides/actions.rst:423 msgid "Set the enctype of the form to ``multipart/form-data``:" msgstr "" -#: ../../guides/actions.rst:431 +#: ../../guides/actions.rst:433 msgid "The ``enctype`` of all forms that use the method ``POST`` defaults to ``multipart/form-data``." msgstr "" -#: ../../guides/actions.rst:433 +#: ../../guides/actions.rst:435 msgid "In your action file, use ``elgg_get_uploaded_file('your-input-name')`` to access the uploaded file:" msgstr "" -#: ../../guides/actions.rst:440 +#: ../../guides/actions.rst:442 msgid "Sticky forms" msgstr "" -#: ../../guides/actions.rst:442 +#: ../../guides/actions.rst:444 msgid "Sticky forms are forms that retain user input if saving fails. They are \"sticky\" because the user's data \"sticks\" in the form after submitting, though it was never saved to the database. This greatly improves the user experience by minimizing data loss. Elgg includes helper functions so you can make any form sticky." msgstr "" -#: ../../guides/actions.rst:447 +#: ../../guides/actions.rst:449 #: ../../guides/helpers.rst:2 msgid "Helper functions" msgstr "" -#: ../../guides/actions.rst:449 +#: ../../guides/actions.rst:451 msgid "Sticky forms are implemented in Elgg by the following functions:" msgstr "" -#: ../../guides/actions.rst:451 +#: ../../guides/actions.rst:453 msgid "``elgg_make_sticky_form($name)`` - Tells the engine to make all input on a form sticky." msgstr "" -#: ../../guides/actions.rst:452 +#: ../../guides/actions.rst:454 msgid "``elgg_clear_sticky_form($name)`` - Tells the engine to discard all sticky input on a form." msgstr "" -#: ../../guides/actions.rst:453 +#: ../../guides/actions.rst:455 msgid "``elgg_is_sticky_form($name)`` - Checks if ``$name`` is a valid sticky form." msgstr "" -#: ../../guides/actions.rst:454 +#: ../../guides/actions.rst:456 msgid "``elgg_get_sticky_values($name)`` - Returns all sticky values saved for ``$name`` by ``elgg_make_sticky_form($name)``." msgstr "" -#: ../../guides/actions.rst:457 +#: ../../guides/actions.rst:459 #: ../../guides/ajax.rst:11 #: ../../guides/i18n.rst:15 #: ../../guides/plugins/dependencies.rst:11 msgid "Overview" msgstr "" -#: ../../guides/actions.rst:459 +#: ../../guides/actions.rst:461 msgid "The basic flow of using sticky forms is:" msgstr "" -#: ../../guides/actions.rst:461 +#: ../../guides/actions.rst:463 msgid "Call ``elgg_make_sticky_form($name)`` at the top of actions for forms you want to be sticky." msgstr "" -#: ../../guides/actions.rst:462 +#: ../../guides/actions.rst:464 msgid "Use ``elgg_is_sticky_form($name)`` and ``elgg_get_sticky_values($name)`` to get sticky values when rendering a form view." msgstr "" -#: ../../guides/actions.rst:463 +#: ../../guides/actions.rst:465 msgid "Call ``elgg_clear_sticky_form($name)`` after the action has completed successfully or after data has been loaded by ``elgg_get_sticky_values($name)``." msgstr "" -#: ../../guides/actions.rst:467 +#: ../../guides/actions.rst:469 msgid "As of Elgg 5.0 forms rendered with ``elgg_view_form()`` can set the ``$form_vars['sticky_enabled'] = true`` flag to automatically get sticky form support. The submitted values to the action will automatically be filled in the ``$body_vars`` when an error occured in the action." msgstr "" -#: ../../guides/actions.rst:470 +#: ../../guides/actions.rst:472 msgid "``elgg_view_form()`` supports the following ``$form_vars`` to help with sticky form support:" msgstr "" -#: ../../guides/actions.rst:472 +#: ../../guides/actions.rst:474 msgid "``sticky_enabled``: a ``bool`` to enable automatic sticky form support" msgstr "" -#: ../../guides/actions.rst:473 +#: ../../guides/actions.rst:475 msgid "``sticky_form_name``: an optional ``string`` to set where the sticky form values are saved. This defaults to the ``$action_name`` and should only be changed if the ``$action_name`` is different from the actual action" msgstr "" -#: ../../guides/actions.rst:474 +#: ../../guides/actions.rst:476 msgid "``sticky_ignored_fields: an ``array`` with the names fo the form fields that should be saved. For example password fields" msgstr "" -#: ../../guides/actions.rst:477 +#: ../../guides/actions.rst:479 msgid "Example: User registration" msgstr "" -#: ../../guides/actions.rst:479 +#: ../../guides/actions.rst:481 msgid "Simple sticky forms require little logic to determine the input values for the form. This logic is placed at the top of the form body view itself." msgstr "" -#: ../../guides/actions.rst:482 +#: ../../guides/actions.rst:484 msgid "The registration form view first sets default values for inputs, then checks if there are sticky values. If so, it loads the sticky values before clearing the sticky form:" msgstr "" -#: ../../guides/actions.rst:498 +#: ../../guides/actions.rst:500 msgid "The registration action sets creates the sticky form and clears it once the action is completed:" msgstr "" -#: ../../guides/actions.rst:516 +#: ../../guides/actions.rst:518 msgid "The function ``elgg_make_sticky_form()`` supports an optional second argument ``$ignored_field_names``. This needs to be an ``array`` of the field names you don't wish to be made sticky. This is usefull for fields which contain sensitive data, like passwords." msgstr "" -#: ../../guides/actions.rst:520 +#: ../../guides/actions.rst:522 msgid "Example: Bookmarks" msgstr "" -#: ../../guides/actions.rst:522 +#: ../../guides/actions.rst:524 msgid "The bundled plugin Bookmarks' save form and action is an example of a complex sticky form." msgstr "" -#: ../../guides/actions.rst:524 +#: ../../guides/actions.rst:526 msgid "The form view for the save bookmark action uses ``elgg_extract()`` to pull values from the ``$vars`` array:" msgstr "" -#: ../../guides/actions.rst:538 +#: ../../guides/actions.rst:540 msgid "The page handler scripts enables sticky form support by passing the correct values to ``elgg_view_form()``:" msgstr "" -#: ../../guides/actions.rst:545 +#: ../../guides/actions.rst:547 msgid "Similarly, ``mod/bookmarks/pages/edit.php`` uses the same sticky support, but passes the entity that is being edited:" msgstr "" -#: ../../guides/actions.rst:556 +#: ../../guides/actions.rst:558 msgid "The plugin has an event listener on the ``'form:prepare:fields', 'bookmarks/save'`` event and the handler does 2 things:" msgstr "" -#: ../../guides/actions.rst:558 +#: ../../guides/actions.rst:560 msgid "Defines the input names and default values for form inputs." msgstr "" -#: ../../guides/actions.rst:559 +#: ../../guides/actions.rst:561 msgid "Extracts the values from a bookmark object if it's passed." msgstr "" -#: ../../guides/actions.rst:606 +#: ../../guides/actions.rst:608 msgid "The save action doesn't need to do anything with sticky form support as this is all handled by the system." msgstr "" -#: ../../guides/actions.rst:609 +#: ../../guides/actions.rst:611 #: ../../guides/ajax.rst:2 -#: ../../guides/events-list.rst:862 +#: ../../guides/events-list.rst:868 msgid "Ajax" msgstr "" -#: ../../guides/actions.rst:611 +#: ../../guides/actions.rst:613 msgid "See the :doc:`Ajax guide` for instructions on calling actions from JavaScript." msgstr "" -#: ../../guides/actions.rst:614 +#: ../../guides/actions.rst:616 #: ../../guides/web-services.rst:27 msgid "Security" msgstr "" -#: ../../guides/actions.rst:616 +#: ../../guides/actions.rst:618 msgid "For enhanced security, all actions require an CSRF token. Calls to action URLs that do not include security tokens will be ignored and a warning will be generated." msgstr "" -#: ../../guides/actions.rst:619 +#: ../../guides/actions.rst:621 msgid "A few views and functions automatically generate security tokens:" msgstr "" -#: ../../guides/actions.rst:628 +#: ../../guides/actions.rst:630 msgid "In rare cases, you may need to generate tokens manually:" msgstr "" -#: ../../guides/actions.rst:635 +#: ../../guides/actions.rst:637 msgid "You can also access the tokens from javascript:" msgstr "" -#: ../../guides/actions.rst:642 +#: ../../guides/actions.rst:644 msgid "These are refreshed periodically so should always be up-to-date." msgstr "" -#: ../../guides/actions.rst:645 +#: ../../guides/actions.rst:647 msgid "Security Tokens" msgstr "" -#: ../../guides/actions.rst:647 +#: ../../guides/actions.rst:649 msgid "On occasion we need to pass data through an untrusted party or generate an \"unguessable token\" based on some data. The industry-standard `HMAC `_ algorithm is the right tool for this. It allows us to verify that received data were generated by our site, and were not tampered with. Note that even strong hash functions like SHA-2 should *not* be used without HMAC for these tasks." msgstr "" -#: ../../guides/actions.rst:652 +#: ../../guides/actions.rst:654 msgid "Elgg provides ``elgg_build_hmac()`` to generate and validate HMAC message authentication codes that are unguessable without the site's private key." msgstr "" -#: ../../guides/actions.rst:676 +#: ../../guides/actions.rst:678 msgid "Note: If you use a non-string as HMAC data, you must use types consistently. Consider the following:" msgstr "" -#: ../../guides/actions.rst:689 +#: ../../guides/actions.rst:691 msgid "Signed URLs" msgstr "" -#: ../../guides/actions.rst:691 +#: ../../guides/actions.rst:693 msgid "Signed URLs offer a limited level of security for situations where action tokens are not suitable, for example when sending a confirmation link via email. URL signatures verify that the URL has been generated by your Elgg installation (using site secret) and that the URL query elements were not tampered with." msgstr "" -#: ../../guides/actions.rst:695 +#: ../../guides/actions.rst:697 msgid "URLs a signed with an unguessable SHA-256 HMAC key. See `Security Tokens`_ for more details." msgstr "" -#: ../../guides/actions.rst:709 +#: ../../guides/actions.rst:711 msgid "Signed URLs do not offer CSRF protection and should not be used instead of action tokens." msgstr "" @@ -2097,7 +2105,7 @@ msgstr "" msgid "Allows plugins to register their own commands executable via ``elgg-cli`` binary. Handlers must return an array of command class names. Commands must extend ``\\Elgg\\Cli\\Command`` to be executable." msgstr "" -#: ../../guides/events-list.rst:42 +#: ../../guides/events-list.rst:48 msgid "**cron, ** |results|" msgstr "" @@ -2105,1971 +2113,1984 @@ msgstr "" msgid "Triggered by cron for each period." msgstr "" -#: ../../guides/events-list.rst:45 +#: ../../guides/events-list.rst:44 +#: ../../guides/events-list.rst:110 +#: ../../guides/events-list.rst:135 +#: ../../guides/events-list.rst:256 +#: ../../guides/events-list.rst:297 +#: ../../guides/events-list.rst:330 +#: ../../guides/events-list.rst:473 +#: ../../guides/events-list.rst:480 +#: ../../guides/events-list.rst:560 +#: ../../guides/events-list.rst:574 +#: ../../guides/events-list.rst:593 +msgid "The ``$params`` array will contain:" +msgstr "" + +#: ../../guides/events-list.rst:46 +msgid "``time`` - the timestamp of when the cron command was started" +msgstr "" + +#: ../../guides/events-list.rst:47 +msgid "``dt`` - the ``\\DateTime`` object of when the cron command was started" +msgstr "" + +#: ../../guides/events-list.rst:48 +msgid "``logger`` - instance of ``\\Elgg\\Logger\\Cron`` to log any information to the cron log" +msgstr "" + +#: ../../guides/events-list.rst:51 msgid "**cron:intervals, system** |results|" msgstr "" -#: ../../guides/events-list.rst:45 +#: ../../guides/events-list.rst:51 msgid "Allow the configuration of custom cron intervals" msgstr "" -#: ../../guides/events-list.rst:48 +#: ../../guides/events-list.rst:54 msgid "**deactivate, plugin**" msgstr "" -#: ../../guides/events-list.rst:48 +#: ../../guides/events-list.rst:54 msgid "Return false to prevent deactivation of the plugin." msgstr "" -#: ../../guides/events-list.rst:51 +#: ../../guides/events-list.rst:57 msgid "**diagnostics:report, system** |results|" msgstr "" -#: ../../guides/events-list.rst:51 +#: ../../guides/events-list.rst:57 msgid "Filter the output for the diagnostics report download." msgstr "" -#: ../../guides/events-list.rst:54 +#: ../../guides/events-list.rst:60 msgid "**elgg.data, page** |results|" msgstr "" -#: ../../guides/events-list.rst:54 +#: ../../guides/events-list.rst:60 msgid "Filters uncached, page-specific configuration data to pass to the client. :ref:`More info `" msgstr "" -#: ../../guides/events-list.rst:57 +#: ../../guides/events-list.rst:63 msgid "**elgg.data, site** |results|" msgstr "" -#: ../../guides/events-list.rst:57 +#: ../../guides/events-list.rst:63 msgid "Filters cached configuration data to pass to the client. :ref:`More info `" msgstr "" -#: ../../guides/events-list.rst:60 +#: ../../guides/events-list.rst:66 msgid "**format, friendly:title** |results|" msgstr "" -#: ../../guides/events-list.rst:60 +#: ../../guides/events-list.rst:66 msgid "Formats the \"friendly\" title for strings. This is used for generating URLs." msgstr "" -#: ../../guides/events-list.rst:63 +#: ../../guides/events-list.rst:69 msgid "**format, friendly:time** |results|" msgstr "" -#: ../../guides/events-list.rst:63 +#: ../../guides/events-list.rst:69 msgid "Formats the \"friendly\" time for the timestamp ``$params['time']``." msgstr "" -#: ../../guides/events-list.rst:67 +#: ../../guides/events-list.rst:73 msgid "**format, strip_tags** |results|" msgstr "" -#: ../../guides/events-list.rst:66 +#: ../../guides/events-list.rst:72 msgid "Filters a string to remove tags. The original string is passed as ``$params['original_string']`` and an optional set of allowed tags is passed as ``$params['allowed_tags']``." msgstr "" -#: ../../guides/events-list.rst:70 +#: ../../guides/events-list.rst:76 msgid "**gc, system** |results|" msgstr "" -#: ../../guides/events-list.rst:70 +#: ../../guides/events-list.rst:76 msgid "Allows plugins to run garbage collection for ``$params['period']``." msgstr "" -#: ../../guides/events-list.rst:73 +#: ../../guides/events-list.rst:79 msgid "**generate, password** |results|" msgstr "" -#: ../../guides/events-list.rst:73 +#: ../../guides/events-list.rst:79 msgid "Allows plugins to generate new random cleartext passwords." msgstr "" -#: ../../guides/events-list.rst:76 +#: ../../guides/events-list.rst:82 msgid "**init:cookie, **" msgstr "" -#: ../../guides/events-list.rst:76 +#: ../../guides/events-list.rst:82 msgid "Return false to override setting a cookie." msgstr "" -#: ../../guides/events-list.rst:79 +#: ../../guides/events-list.rst:85 msgid "**init, system** |sequence|" msgstr "" -#: ../../guides/events-list.rst:79 +#: ../../guides/events-list.rst:85 msgid "Plugins tend to use this event for initialization (extending views, registering callbacks, etc.)" msgstr "" -#: ../../guides/events-list.rst:82 +#: ../../guides/events-list.rst:88 msgid "**languages, translations** |results|" msgstr "" -#: ../../guides/events-list.rst:82 +#: ../../guides/events-list.rst:88 msgid "Allows plugins to add/remove languages from the configurable languages in the system." msgstr "" -#: ../../guides/events-list.rst:86 +#: ../../guides/events-list.rst:92 msgid "**log, systemlog**" msgstr "" -#: ../../guides/events-list.rst:85 +#: ../../guides/events-list.rst:91 msgid "Called for all triggered events by ``system_log`` plugin. Used internally by ``Elgg\\SystemLog\\Logger::log()`` to populate the ``system_log`` table." msgstr "" -#: ../../guides/events-list.rst:91 +#: ../../guides/events-list.rst:97 msgid "**login_url, site** |results|" msgstr "" -#: ../../guides/events-list.rst:89 +#: ../../guides/events-list.rst:95 msgid "Filters site's login URL. ``$params`` array contains an array of query elements added to the login URL by the invoking script. The event must return an absolute URL of the login page." msgstr "" -#: ../../guides/events-list.rst:96 +#: ../../guides/events-list.rst:102 msgid "**output:before, page** |results|" msgstr "" -#: ../../guides/events-list.rst:94 +#: ../../guides/events-list.rst:100 msgid "In ``elgg_view_page()``, this filters ``$vars`` before it's passed to the page shell view (``page/``). To stop sending the X-Frame-Options header, unregister the handler ``Elgg\\Page\\SetXFrameOptionsHeaderHandler::class`` from this event." msgstr "" -#: ../../guides/events-list.rst:99 +#: ../../guides/events-list.rst:105 msgid "**output, page** |results|" msgstr "" -#: ../../guides/events-list.rst:99 +#: ../../guides/events-list.rst:105 msgid "In ``elgg_view_page()``, this filters the output return value." msgstr "" -#: ../../guides/events-list.rst:108 +#: ../../guides/events-list.rst:114 msgid "**parameters, menu:** |results|" msgstr "" -#: ../../guides/events-list.rst:102 +#: ../../guides/events-list.rst:108 msgid "Triggered by ``elgg_view_menu()``. Used to change menu variables (like sort order) before rendering." msgstr "" -#: ../../guides/events-list.rst:104 -#: ../../guides/events-list.rst:129 -#: ../../guides/events-list.rst:250 -#: ../../guides/events-list.rst:291 -#: ../../guides/events-list.rst:324 -#: ../../guides/events-list.rst:467 -#: ../../guides/events-list.rst:474 -#: ../../guides/events-list.rst:554 -#: ../../guides/events-list.rst:568 -#: ../../guides/events-list.rst:587 -msgid "The ``$params`` array will contain:" -msgstr "" - -#: ../../guides/events-list.rst:106 +#: ../../guides/events-list.rst:112 msgid "``name`` - name of the menu" msgstr "" -#: ../../guides/events-list.rst:107 +#: ../../guides/events-list.rst:113 msgid "``sort_by`` - preferring sorting parameter" msgstr "" -#: ../../guides/events-list.rst:108 +#: ../../guides/events-list.rst:114 msgid "other parameters passed to ``elgg_view_menu()``" msgstr "" -#: ../../guides/events-list.rst:111 +#: ../../guides/events-list.rst:117 msgid "**plugins_load, system** |sequence|" msgstr "" -#: ../../guides/events-list.rst:111 +#: ../../guides/events-list.rst:117 msgid "Triggered before the plugins are loaded. Rarely used. init, system is used instead. Can be used to load additional libraries." msgstr "" -#: ../../guides/events-list.rst:114 +#: ../../guides/events-list.rst:120 msgid "**plugins_boot, system** |sequence|" msgstr "" -#: ../../guides/events-list.rst:114 +#: ../../guides/events-list.rst:120 msgid "Triggered just after the plugins are loaded. Rarely used. init, system is used instead." msgstr "" -#: ../../guides/events-list.rst:122 +#: ../../guides/events-list.rst:128 msgid "**prepare, html** |results|" msgstr "" -#: ../../guides/events-list.rst:117 +#: ../../guides/events-list.rst:123 msgid "Triggered by ``elgg_format_html()`` and used to prepare untrusted HTML." msgstr "" -#: ../../guides/events-list.rst:119 +#: ../../guides/events-list.rst:125 msgid "The ``$return`` value is an array:" msgstr "" -#: ../../guides/events-list.rst:121 +#: ../../guides/events-list.rst:127 msgid "``html`` - HTML string being prepared" msgstr "" -#: ../../guides/events-list.rst:122 +#: ../../guides/events-list.rst:128 msgid "``options`` - Preparation options" msgstr "" -#: ../../guides/events-list.rst:134 +#: ../../guides/events-list.rst:140 msgid "**prepare, menu:** |results|" msgstr "" -#: ../../guides/events-list.rst:125 +#: ../../guides/events-list.rst:131 msgid "Filters the array of menu sections before they're displayed. Each section is a string key mapping to an area of menu items. This is a good event to sort, add, remove, and modify menu items. Triggered by ``elgg_view_menu()`` and ``elgg()->menus->prepareMenu()``." msgstr "" -#: ../../guides/events-list.rst:131 +#: ../../guides/events-list.rst:137 msgid "``selected_item`` - ``ElggMenuItem`` selected in the menu, if any" msgstr "" -#: ../../guides/events-list.rst:133 +#: ../../guides/events-list.rst:139 msgid "The return value is an instance of ``\\Elgg\\Menu\\PreparedMenu``. The prepared menu is a collection of ``\\Elgg\\Menu\\MenuSection``, which in turn are collections of ``\\ElggMenuItem`` objects." msgstr "" -#: ../../guides/events-list.rst:142 +#: ../../guides/events-list.rst:148 msgid "**prepare, menu:::** |results|" msgstr "" -#: ../../guides/events-list.rst:137 +#: ../../guides/events-list.rst:143 msgid "More granular version of the menu event triggered before the **prepare, menu:** event." msgstr "" -#: ../../guides/events-list.rst:139 -#: ../../guides/events-list.rst:168 +#: ../../guides/events-list.rst:145 +#: ../../guides/events-list.rst:174 msgid "Only applied if menu params contain - params['entity'] with an ``\\ElggEntity`` (```` is ``\\ElggEntity::type`` and ```` is ``\\ElggEntity::subtype``) or - params['annotation'] with an ``\\ElggAnnotation`` (```` is ``\\ElggAnnotation::getType()`` and ```` is ``\\ElggAnnotation::getSubtype()``) or - params['relationship'] with an ``\\ElggRelationship`` (```` is ``\\ElggRelationship::getType()`` and ```` is ``\\ElggRelationship::getSubtype()``)" msgstr "" -#: ../../guides/events-list.rst:146 +#: ../../guides/events-list.rst:152 msgid "**ready, system** |sequence|" msgstr "" -#: ../../guides/events-list.rst:145 +#: ../../guides/events-list.rst:151 msgid "Triggered after the ``init, system`` event. All plugins are fully loaded and the engine is ready to serve pages." msgstr "" -#: ../../guides/events-list.rst:150 +#: ../../guides/events-list.rst:156 msgid "**regenerate_site_secret:before, system**" msgstr "" -#: ../../guides/events-list.rst:149 +#: ../../guides/events-list.rst:155 msgid "Return false to cancel regenerating the site secret. You should also provide a message to the user." msgstr "" -#: ../../guides/events-list.rst:153 +#: ../../guides/events-list.rst:159 msgid "**regenerate_site_secret:after, system**" msgstr "" -#: ../../guides/events-list.rst:153 +#: ../../guides/events-list.rst:159 msgid "Triggered after the site secret has been regenerated." msgstr "" -#: ../../guides/events-list.rst:163 +#: ../../guides/events-list.rst:169 msgid "**register, menu:** |results|" msgstr "" -#: ../../guides/events-list.rst:156 +#: ../../guides/events-list.rst:162 msgid "Filters the initial list of menu items pulled from configuration, before the menu has been split into sections. Triggered by ``elgg_view_menu()`` and ``elgg()->menus->getMenu()``." msgstr "" -#: ../../guides/events-list.rst:159 +#: ../../guides/events-list.rst:165 msgid "The ``$params`` array will contain parameters returned by ``parameters, menu:`` event." msgstr "" -#: ../../guides/events-list.rst:161 +#: ../../guides/events-list.rst:167 msgid "The return value is an instance of ``\\Elgg\\Menu\\MenuItems`` containing ``\\ElggMenuItem`` objects." msgstr "" -#: ../../guides/events-list.rst:163 +#: ../../guides/events-list.rst:169 msgid "Event handlers can add/remove items to the collection using the collection API, as well as array access operations." msgstr "" -#: ../../guides/events-list.rst:171 +#: ../../guides/events-list.rst:177 msgid "**register, menu:::** |results|" msgstr "" -#: ../../guides/events-list.rst:166 +#: ../../guides/events-list.rst:172 msgid "More granular version of the menu event triggered before the **register, menu:** event." msgstr "" -#: ../../guides/events-list.rst:191 +#: ../../guides/events-list.rst:197 msgid "**register, menu:filter:** |results|" msgstr "" -#: ../../guides/events-list.rst:174 +#: ../../guides/events-list.rst:180 msgid "Allows plugins to modify layout filter tabs on layouts that specify ```` parameter. Parameters and return values are same as in ``register, menu:`` event." msgstr "" -#: ../../guides/events-list.rst:177 +#: ../../guides/events-list.rst:183 msgid "If ``filter_id`` is ``filter`` (the default) then the ``all``, ``mine`` and ``friends`` tabs will be generated base on some provided information or be tried for routes similar to the current route." msgstr "" -#: ../../guides/events-list.rst:180 +#: ../../guides/events-list.rst:186 msgid "params['all_link'] will be used for the ``all`` tab" msgstr "" -#: ../../guides/events-list.rst:181 +#: ../../guides/events-list.rst:187 msgid "params['mine_link'] will be used for the ``mine`` tab" msgstr "" -#: ../../guides/events-list.rst:182 +#: ../../guides/events-list.rst:188 msgid "params['friends_link'] will be used for the ``friend`` tab" msgstr "" -#: ../../guides/events-list.rst:184 +#: ../../guides/events-list.rst:190 msgid "If the above are not provided than a route will be tried based on ``params['entity_type']`` and ``params['entity_subtype']``. If not provided ``entity_type`` and ``entity_subtype`` will be based on route detection of the current route. For example if the current route is ``collection:object:blog:all`` ``entity_type`` will be ``object`` and ``entity_subtype`` will be ``blog``. - The ``all`` tab will be based on the route ``collection:::all`` - The ``mine`` tab will be based on the route ``collection:::owner`` - The ``friend`` tab will be based on the route ``collection:::friends``" msgstr "" -#: ../../guides/events-list.rst:191 +#: ../../guides/events-list.rst:197 msgid "If the routes aren't registered the tabs will not appear." msgstr "" -#: ../../guides/events-list.rst:196 +#: ../../guides/events-list.rst:202 msgid "**registration_url, site** |results|" msgstr "" -#: ../../guides/events-list.rst:194 +#: ../../guides/events-list.rst:200 msgid "Filters site's registration URL. Can be used by plugins to attach invitation codes, referrer codes etc. to the registration URL. ``$params`` array contains an array of query elements added to the registration URL by the invoking script. The event must return an absolute URL to the registration page." msgstr "" -#: ../../guides/events-list.rst:199 +#: ../../guides/events-list.rst:205 msgid "**reload:after, translations**" msgstr "" -#: ../../guides/events-list.rst:199 +#: ../../guides/events-list.rst:205 msgid "Triggered after the translations are (re)loaded." msgstr "" -#: ../../guides/events-list.rst:202 +#: ../../guides/events-list.rst:208 msgid "**sanitize, input** |results|" msgstr "" -#: ../../guides/events-list.rst:202 +#: ../../guides/events-list.rst:208 msgid "Filter GET and POST input. This is used by ``get_input()`` to sanitize user input." msgstr "" -#: ../../guides/events-list.rst:206 +#: ../../guides/events-list.rst:212 msgid "**seeds, database** |results|" msgstr "" -#: ../../guides/events-list.rst:205 +#: ../../guides/events-list.rst:211 msgid "Allows plugins to register their own database seeds. Seeds populate the database with fake entities for testing purposes. Seeds must extend ``\\Elgg\\Database\\Seeds\\Seed`` class to be executable via ``elgg-cli database:seed``." msgstr "" -#: ../../guides/events-list.rst:210 +#: ../../guides/events-list.rst:216 msgid "**send:before, http_response**" msgstr "" -#: ../../guides/events-list.rst:209 +#: ../../guides/events-list.rst:215 msgid "Triggered before an HTTP response is sent. Handlers will receive an instance of `\\Symfony\\Component\\HttpFoundation\\Response` that is to be sent to the requester. Handlers can terminate the event and prevent the response from being sent by returning `false`." msgstr "" -#: ../../guides/events-list.rst:214 +#: ../../guides/events-list.rst:220 msgid "**send:after, http_response**" msgstr "" -#: ../../guides/events-list.rst:213 +#: ../../guides/events-list.rst:219 msgid "Triggered after an HTTP response is sent. Handlers will receive an instance of `\\Symfony\\Component\\HttpFoundation\\Response` that was sent to the requester." msgstr "" -#: ../../guides/events-list.rst:218 +#: ../../guides/events-list.rst:224 msgid "**shutdown, system**" msgstr "" -#: ../../guides/events-list.rst:217 +#: ../../guides/events-list.rst:223 msgid "Triggered after the page has been sent to the user. Expensive operations could be done here and not make the user wait." msgstr "" -#: ../../guides/events-list.rst:220 +#: ../../guides/events-list.rst:226 msgid "Depending upon your server configuration the PHP output might not be shown until after the process is completed. This means that any long-running processes will still delay the page load." msgstr "" -#: ../../guides/events-list.rst:224 +#: ../../guides/events-list.rst:230 msgid "This event is prefered above using ``register_shutdown_function`` as you may not have access to all the Elgg services (eg. database) in the shutdown function but you will in the event." msgstr "" -#: ../../guides/events-list.rst:227 +#: ../../guides/events-list.rst:233 msgid "The Elgg session is already closed before this event. Manipulating session is not possible." msgstr "" -#: ../../guides/events-list.rst:230 +#: ../../guides/events-list.rst:236 msgid "**simplecache:generate, ** |results|" msgstr "" -#: ../../guides/events-list.rst:230 +#: ../../guides/events-list.rst:236 msgid "Filters the view output for a ``/cache`` URL when simplecache is enabled." msgstr "" -#: ../../guides/events-list.rst:234 +#: ../../guides/events-list.rst:240 msgid "**upgrade, system**" msgstr "" -#: ../../guides/events-list.rst:233 +#: ../../guides/events-list.rst:239 msgid "Triggered after a system upgrade has finished. All upgrade scripts have run, but the caches are not cleared." msgstr "" -#: ../../guides/events-list.rst:237 +#: ../../guides/events-list.rst:243 msgid "**upgrade:execute, system** |sequence|" msgstr "" -#: ../../guides/events-list.rst:237 +#: ../../guides/events-list.rst:243 msgid "Triggered when executing an ``ElggUpgrade``. The ``$object`` of the event is the ``ElggUpgrade``." msgstr "" -#: ../../guides/events-list.rst:240 +#: ../../guides/events-list.rst:246 msgid "User events" msgstr "" -#: ../../guides/events-list.rst:243 +#: ../../guides/events-list.rst:249 msgid "**ban, user**" msgstr "" -#: ../../guides/events-list.rst:243 +#: ../../guides/events-list.rst:249 msgid "Triggered before a user is banned. Return false to prevent." msgstr "" -#: ../../guides/events-list.rst:254 +#: ../../guides/events-list.rst:260 msgid "**change:email, user** |results|" msgstr "" -#: ../../guides/events-list.rst:246 +#: ../../guides/events-list.rst:252 msgid "Triggered before the user email is changed. Allows plugins to implement additional logic required to change email, e.g. additional email validation. The event handler must return false to prevent the email from being changed right away." msgstr "" -#: ../../guides/events-list.rst:252 -#: ../../guides/events-list.rst:326 +#: ../../guides/events-list.rst:258 +#: ../../guides/events-list.rst:332 msgid "``user`` - ``\\ElggUser``, whose settings are being saved" msgstr "" -#: ../../guides/events-list.rst:253 +#: ../../guides/events-list.rst:259 msgid "``email`` - Email address that passes sanity checks" msgstr "" -#: ../../guides/events-list.rst:254 -#: ../../guides/events-list.rst:327 +#: ../../guides/events-list.rst:260 +#: ../../guides/events-list.rst:333 msgid "``request`` - ``\\Elgg\\Request`` to the action controller" msgstr "" -#: ../../guides/events-list.rst:257 +#: ../../guides/events-list.rst:263 msgid "**invalidate:after, user**" msgstr "" -#: ../../guides/events-list.rst:257 +#: ../../guides/events-list.rst:263 msgid "Triggered when user's account validation has been revoked." msgstr "" -#: ../../guides/events-list.rst:260 +#: ../../guides/events-list.rst:266 msgid "**login:after, user**" msgstr "" -#: ../../guides/events-list.rst:260 +#: ../../guides/events-list.rst:266 msgid "Triggered after the user logs in." msgstr "" -#: ../../guides/events-list.rst:263 +#: ../../guides/events-list.rst:269 msgid "**login:before, user**" msgstr "" -#: ../../guides/events-list.rst:263 +#: ../../guides/events-list.rst:269 msgid "Triggered during login. Returning false prevents the user from logging" msgstr "" -#: ../../guides/events-list.rst:266 +#: ../../guides/events-list.rst:272 msgid "**login:forward, user** |results|" msgstr "" -#: ../../guides/events-list.rst:266 +#: ../../guides/events-list.rst:272 msgid "Filters the URL to which the user will be forwarded after login." msgstr "" -#: ../../guides/events-list.rst:269 +#: ../../guides/events-list.rst:275 msgid "**login:first, user**" msgstr "" -#: ../../guides/events-list.rst:269 +#: ../../guides/events-list.rst:275 msgid "Triggered after a successful login. Only if there is no previous login." msgstr "" -#: ../../guides/events-list.rst:272 +#: ../../guides/events-list.rst:278 msgid "**logout:after, user**" msgstr "" -#: ../../guides/events-list.rst:272 +#: ../../guides/events-list.rst:278 msgid "Triggered after the user logouts." msgstr "" -#: ../../guides/events-list.rst:275 +#: ../../guides/events-list.rst:281 msgid "**logout:before, user**" msgstr "" -#: ../../guides/events-list.rst:275 +#: ../../guides/events-list.rst:281 msgid "Triggered during logout. Returning false should prevent the user from logging out." msgstr "" -#: ../../guides/events-list.rst:278 +#: ../../guides/events-list.rst:284 msgid "**make_admin, user**" msgstr "" -#: ../../guides/events-list.rst:278 +#: ../../guides/events-list.rst:284 msgid "Triggered before a user is promoted to an admin. Return false to prevent." msgstr "" -#: ../../guides/events-list.rst:281 +#: ../../guides/events-list.rst:287 msgid "**profileiconupdate, user**" msgstr "" -#: ../../guides/events-list.rst:281 +#: ../../guides/events-list.rst:287 msgid "User has changed profile icon" msgstr "" -#: ../../guides/events-list.rst:284 +#: ../../guides/events-list.rst:290 msgid "**profileupdate, user**" msgstr "" -#: ../../guides/events-list.rst:284 +#: ../../guides/events-list.rst:290 msgid "User has changed profile" msgstr "" -#: ../../guides/events-list.rst:294 +#: ../../guides/events-list.rst:300 msgid "**register, user** |results|" msgstr "" -#: ../../guides/events-list.rst:287 +#: ../../guides/events-list.rst:293 msgid "Triggered by the ``register`` action after the user registers. Return ``false`` to delete the user. Note the function ``register_user`` does *not* trigger this event. Event handlers can throw ``\\Elgg\\Exceptions\\Configuration\\RegistrationException`` with an error message to be displayed to the user." msgstr "" -#: ../../guides/events-list.rst:293 +#: ../../guides/events-list.rst:299 msgid "``user`` - Newly registered user entity" msgstr "" -#: ../../guides/events-list.rst:294 +#: ../../guides/events-list.rst:300 msgid "All parameters sent with the request to the action (incl. ``password``, ``friend_guid``, ``invitecode`` etc)" msgstr "" -#: ../../guides/events-list.rst:298 +#: ../../guides/events-list.rst:304 msgid "**registeruser:validate:email, all** |results|" msgstr "" -#: ../../guides/events-list.rst:297 +#: ../../guides/events-list.rst:303 msgid "Return boolean for if the string in ``$params['email']`` is valid for an email address. Event handler can throw ``\\Elgg\\Exceptions\\Configuration\\RegistrationException`` with an error message to be shown to the user." msgstr "" -#: ../../guides/events-list.rst:302 +#: ../../guides/events-list.rst:308 msgid "**registeruser:validate:password, all** |results|" msgstr "" -#: ../../guides/events-list.rst:301 +#: ../../guides/events-list.rst:307 msgid "Return boolean for if the string in ``$params['password']`` is valid for a password. Event handler can throw ``\\Elgg\\Exceptions\\Configuration\\RegistrationException`` with an error message to be shown to the user." msgstr "" -#: ../../guides/events-list.rst:306 +#: ../../guides/events-list.rst:312 msgid "**registeruser:validate:username, all** |results|" msgstr "" -#: ../../guides/events-list.rst:305 +#: ../../guides/events-list.rst:311 msgid "Return boolean for if the string in ``$params['username']`` is valid for a username. Event handler can throw ``\\Elgg\\Exceptions\\Configuration\\RegistrationException`` with an error message to be shown to the user." msgstr "" -#: ../../guides/events-list.rst:309 +#: ../../guides/events-list.rst:315 msgid "**remove_admin, user**" msgstr "" -#: ../../guides/events-list.rst:309 +#: ../../guides/events-list.rst:315 msgid "Triggered before a user is demoted from an admin. Return false to prevent." msgstr "" -#: ../../guides/events-list.rst:312 +#: ../../guides/events-list.rst:318 msgid "**unban, user**" msgstr "" -#: ../../guides/events-list.rst:312 +#: ../../guides/events-list.rst:318 msgid "Triggered before a user is unbanned. Return false to prevent." msgstr "" -#: ../../guides/events-list.rst:317 +#: ../../guides/events-list.rst:323 msgid "**username:character_blacklist, user** |results|" msgstr "" -#: ../../guides/events-list.rst:315 +#: ../../guides/events-list.rst:321 msgid "Filters the string of blacklisted characters used to validate username during registration. The return value should be a string consisting of the disallowed characters. The default string can be found from ``$params['blacklist']``." msgstr "" -#: ../../guides/events-list.rst:327 +#: ../../guides/events-list.rst:333 msgid "**usersettings:save, user** |results|" msgstr "" -#: ../../guides/events-list.rst:320 +#: ../../guides/events-list.rst:326 msgid "Triggered in the aggregate action to save user settings. The event handler must return ``false`` to prevent sticky forms from being cleared (i.e. to indicate that some of the values were not saved). Do not return ``true`` from your event handler, as you will override other events' output, instead return ``null`` to indicate successful operation." msgstr "" -#: ../../guides/events-list.rst:332 +#: ../../guides/events-list.rst:338 msgid "**validate, user**" msgstr "" -#: ../../guides/events-list.rst:330 +#: ../../guides/events-list.rst:336 msgid "When a user registers, the user's account is disabled. This event is triggered to allow a plugin to determine how the user should be validated (for example, through an email with a validation link)." msgstr "" -#: ../../guides/events-list.rst:335 +#: ../../guides/events-list.rst:341 msgid "**validate:after, user**" msgstr "" -#: ../../guides/events-list.rst:335 +#: ../../guides/events-list.rst:341 msgid "Triggered when user's account has been validated." msgstr "" -#: ../../guides/events-list.rst:338 +#: ../../guides/events-list.rst:344 msgid "Relationship events" msgstr "" -#: ../../guides/events-list.rst:342 +#: ../../guides/events-list.rst:348 msgid "**create, relationship**" msgstr "" -#: ../../guides/events-list.rst:341 +#: ../../guides/events-list.rst:347 msgid "Triggered after a relationship has been created. Returning false deletes the relationship that was just created." msgstr "" -#: ../../guides/events-list.rst:346 +#: ../../guides/events-list.rst:352 msgid "**delete, relationship**" msgstr "" -#: ../../guides/events-list.rst:345 +#: ../../guides/events-list.rst:351 msgid "Triggered before a relationship is deleted. Return false to prevent it from being deleted." msgstr "" -#: ../../guides/events-list.rst:349 +#: ../../guides/events-list.rst:355 msgid "**join, group**" msgstr "" -#: ../../guides/events-list.rst:349 +#: ../../guides/events-list.rst:355 msgid "Triggered after the user ``$params['user']`` has joined the group ``$params['group']``." msgstr "" -#: ../../guides/events-list.rst:352 +#: ../../guides/events-list.rst:358 msgid "**leave, group**" msgstr "" -#: ../../guides/events-list.rst:352 +#: ../../guides/events-list.rst:358 msgid "Triggered before the user ``$params['user']`` has left the group ``$params['group']``." msgstr "" -#: ../../guides/events-list.rst:355 +#: ../../guides/events-list.rst:361 msgid "Entity events" msgstr "" -#: ../../guides/events-list.rst:359 +#: ../../guides/events-list.rst:365 msgid "**comments, ** |results|" msgstr "" -#: ../../guides/events-list.rst:358 +#: ../../guides/events-list.rst:364 msgid "Triggered in ``elgg_view_comments()``. If returning content, this overrides the ``page/elements/comments`` view." msgstr "" -#: ../../guides/events-list.rst:362 +#: ../../guides/events-list.rst:368 msgid "**comments:count, ** |results|" msgstr "" -#: ../../guides/events-list.rst:362 +#: ../../guides/events-list.rst:368 msgid "Return the number of comments on ``$params['entity']``." msgstr "" -#: ../../guides/events-list.rst:366 +#: ../../guides/events-list.rst:372 msgid "**create, **" msgstr "" -#: ../../guides/events-list.rst:365 +#: ../../guides/events-list.rst:371 msgid "Triggered for user, group, object, and site entities after creation. Triggered just before the ``create:after`` event, mostly for BC reasons. The use of the ``create:after`` event is preferred." msgstr "" -#: ../../guides/events-list.rst:369 +#: ../../guides/events-list.rst:375 msgid "**create:after, **" msgstr "" -#: ../../guides/events-list.rst:369 +#: ../../guides/events-list.rst:375 msgid "Triggered for user, group, object, and site entities after creation." msgstr "" -#: ../../guides/events-list.rst:372 +#: ../../guides/events-list.rst:378 msgid "**create:before, **" msgstr "" -#: ../../guides/events-list.rst:372 +#: ../../guides/events-list.rst:378 msgid "Triggered for user, group, object, and site entities before creation. Return false to prevent creating the entity." msgstr "" -#: ../../guides/events-list.rst:375 +#: ../../guides/events-list.rst:381 msgid "**delete, **" msgstr "" -#: ../../guides/events-list.rst:375 +#: ../../guides/events-list.rst:381 msgid "Triggered before entity deletion." msgstr "" -#: ../../guides/events-list.rst:378 +#: ../../guides/events-list.rst:384 msgid "**delete:after, **" msgstr "" -#: ../../guides/events-list.rst:378 +#: ../../guides/events-list.rst:384 msgid "Triggered after entity deletion." msgstr "" -#: ../../guides/events-list.rst:381 +#: ../../guides/events-list.rst:387 msgid "**delete:before, **" msgstr "" -#: ../../guides/events-list.rst:381 +#: ../../guides/events-list.rst:387 msgid "Triggered before entity deletion. Return false to prevent deletion." msgstr "" -#: ../../guides/events-list.rst:384 +#: ../../guides/events-list.rst:390 msgid "**disable, **" msgstr "" -#: ../../guides/events-list.rst:384 +#: ../../guides/events-list.rst:390 msgid "Triggered before the entity is disabled. Return false to prevent disabling." msgstr "" -#: ../../guides/events-list.rst:387 +#: ../../guides/events-list.rst:393 msgid "**disable:after, **" msgstr "" -#: ../../guides/events-list.rst:387 +#: ../../guides/events-list.rst:393 msgid "Triggered after the entity is disabled." msgstr "" -#: ../../guides/events-list.rst:390 +#: ../../guides/events-list.rst:396 msgid "**enable, **" msgstr "" -#: ../../guides/events-list.rst:390 +#: ../../guides/events-list.rst:396 msgid "Return false to prevent enabling." msgstr "" -#: ../../guides/events-list.rst:393 +#: ../../guides/events-list.rst:399 msgid "**enable:after, **" msgstr "" -#: ../../guides/events-list.rst:393 +#: ../../guides/events-list.rst:399 msgid "Triggered after the entity is enabled." msgstr "" -#: ../../guides/events-list.rst:396 +#: ../../guides/events-list.rst:402 msgid "**likes:count, ** |results|" msgstr "" -#: ../../guides/events-list.rst:396 +#: ../../guides/events-list.rst:402 msgid "Return the number of likes for ``$params['entity']``." msgstr "" -#: ../../guides/events-list.rst:401 +#: ../../guides/events-list.rst:407 msgid "**update, **" msgstr "" -#: ../../guides/events-list.rst:399 +#: ../../guides/events-list.rst:405 msgid "Triggered before an update for the user, group, object, and site entities. Return false to prevent update. The entity method ``getOriginalAttributes()`` can be used to identify which attributes have changed since the entity was last saved." msgstr "" -#: ../../guides/events-list.rst:406 +#: ../../guides/events-list.rst:412 msgid "**update:after, **" msgstr "" -#: ../../guides/events-list.rst:404 +#: ../../guides/events-list.rst:410 msgid "Triggered after an update for the user, group, object, and site entities. The entity method ``getOriginalAttributes()`` can be used to identify which attributes have changed since the entity was last saved." msgstr "" -#: ../../guides/events-list.rst:409 +#: ../../guides/events-list.rst:415 msgid "Metadata events" msgstr "" -#: ../../guides/events-list.rst:413 +#: ../../guides/events-list.rst:419 msgid "**create, metadata**" msgstr "" -#: ../../guides/events-list.rst:412 +#: ../../guides/events-list.rst:418 msgid "Called after the metadata has been created. Return false to delete the metadata that was just created." msgstr "" -#: ../../guides/events-list.rst:416 +#: ../../guides/events-list.rst:422 msgid "**delete, metadata**" msgstr "" -#: ../../guides/events-list.rst:416 +#: ../../guides/events-list.rst:422 msgid "Called before metadata is deleted. Return false to prevent deletion." msgstr "" -#: ../../guides/events-list.rst:419 +#: ../../guides/events-list.rst:425 msgid "**update, metadata**" msgstr "" -#: ../../guides/events-list.rst:419 +#: ../../guides/events-list.rst:425 msgid "Called after the metadata has been updated. Return false to *delete the metadata.*" msgstr "" -#: ../../guides/events-list.rst:422 +#: ../../guides/events-list.rst:428 msgid "Annotation events" msgstr "" -#: ../../guides/events-list.rst:426 +#: ../../guides/events-list.rst:432 msgid "**annotate, **" msgstr "" -#: ../../guides/events-list.rst:425 +#: ../../guides/events-list.rst:431 msgid "Called before the annotation has been created. Return false to prevent annotation of this entity." msgstr "" -#: ../../guides/events-list.rst:430 +#: ../../guides/events-list.rst:436 msgid "**create, annotation**" msgstr "" -#: ../../guides/events-list.rst:429 +#: ../../guides/events-list.rst:435 msgid "Called after the annotation has been created. Return false to delete the annotation." msgstr "" -#: ../../guides/events-list.rst:433 +#: ../../guides/events-list.rst:439 msgid "**delete, annotation**" msgstr "" -#: ../../guides/events-list.rst:433 +#: ../../guides/events-list.rst:439 msgid "Called before annotation is deleted. Return false to prevent deletion." msgstr "" -#: ../../guides/events-list.rst:436 +#: ../../guides/events-list.rst:442 msgid "**disable, annotations**" msgstr "" -#: ../../guides/events-list.rst:436 +#: ../../guides/events-list.rst:442 msgid "Called when disabling annotations. Return false to prevent disabling." msgstr "" -#: ../../guides/events-list.rst:439 +#: ../../guides/events-list.rst:445 msgid "**enable, annotation**" msgstr "" -#: ../../guides/events-list.rst:439 +#: ../../guides/events-list.rst:445 msgid "Called when enabling annotations. Return false to prevent enabling." msgstr "" -#: ../../guides/events-list.rst:442 +#: ../../guides/events-list.rst:448 msgid "**update, annotation**" msgstr "" -#: ../../guides/events-list.rst:442 +#: ../../guides/events-list.rst:448 msgid "Called after the annotation has been updated. Return false to *delete the annotation.*" msgstr "" -#: ../../guides/events-list.rst:445 +#: ../../guides/events-list.rst:451 msgid "River events" msgstr "" -#: ../../guides/events-list.rst:448 +#: ../../guides/events-list.rst:454 msgid "**create:after, river**" msgstr "" -#: ../../guides/events-list.rst:448 +#: ../../guides/events-list.rst:454 msgid "Called after a river item is created." msgstr "" -#: ../../guides/events-list.rst:451 +#: ../../guides/events-list.rst:457 msgid "**create:before, river**" msgstr "" -#: ../../guides/events-list.rst:451 +#: ../../guides/events-list.rst:457 msgid "Called before the river item is saved to the database. Return ``false`` to prevent the item from being created." msgstr "" -#: ../../guides/events-list.rst:454 +#: ../../guides/events-list.rst:460 msgid "**delete:after, river**" msgstr "" -#: ../../guides/events-list.rst:454 +#: ../../guides/events-list.rst:460 msgid "Triggered after a river item was deleted." msgstr "" -#: ../../guides/events-list.rst:457 +#: ../../guides/events-list.rst:463 msgid "**delete:before, river**" msgstr "" -#: ../../guides/events-list.rst:457 +#: ../../guides/events-list.rst:463 msgid "Triggered before a river item is deleted. Returning false cancels the deletion." msgstr "" -#: ../../guides/events-list.rst:462 +#: ../../guides/events-list.rst:468 msgid "Access events" msgstr "" -#: ../../guides/events-list.rst:469 +#: ../../guides/events-list.rst:475 msgid "**access_collection:url, access_collection** |results|" msgstr "" -#: ../../guides/events-list.rst:465 +#: ../../guides/events-list.rst:471 msgid "Can be used to filter the URL of the access collection." msgstr "" -#: ../../guides/events-list.rst:469 -#: ../../guides/events-list.rst:476 +#: ../../guides/events-list.rst:475 +#: ../../guides/events-list.rst:482 msgid "``access_collection`` - `ElggAccessCollection`" msgstr "" -#: ../../guides/events-list.rst:476 +#: ../../guides/events-list.rst:482 msgid "**access_collection:name, access_collection** |results|" msgstr "" -#: ../../guides/events-list.rst:472 +#: ../../guides/events-list.rst:478 msgid "Can be used to filter the display name (readable access level) of the access collection." msgstr "" -#: ../../guides/events-list.rst:483 +#: ../../guides/events-list.rst:489 msgid "**access:collections:read, user** |results|" msgstr "" -#: ../../guides/events-list.rst:479 +#: ../../guides/events-list.rst:485 msgid "Filters an array of access IDs that the user ``$params['user_id']`` can see." msgstr "" -#: ../../guides/events-list.rst:482 -#: ../../guides/events-list.rst:494 +#: ../../guides/events-list.rst:488 +#: ../../guides/events-list.rst:500 msgid "The handler needs to either not use parts of the API that use the access system (triggering the event again) or to ignore the second call. Otherwise, an infinite loop will be created." msgstr "" -#: ../../guides/events-list.rst:495 +#: ../../guides/events-list.rst:501 msgid "**access:collections:write, user** |results|" msgstr "" -#: ../../guides/events-list.rst:486 +#: ../../guides/events-list.rst:492 msgid "Filters an array of access IDs that the user ``$params['user_id']`` can write to. In ``elgg_get_write_access_array()``, this event filters the return value, so it can be used to alter the available options in the ``input/access`` view. For core plugins, the value \"input_params\" has the keys \"entity\" (ElggEntity|false), \"entity_type\" (string), \"entity_subtype\" (string), \"container_guid\" (int) are provided. An empty entity value generally means the form is to create a new object." msgstr "" -#: ../../guides/events-list.rst:499 +#: ../../guides/events-list.rst:505 msgid "**access:collections:write:subtypes, user** |results|" msgstr "" -#: ../../guides/events-list.rst:498 +#: ../../guides/events-list.rst:504 msgid "Returns an array of access collection subtypes to be used when retrieving access collections owned by a user as part of the ``elgg_get_write_access_array()`` function." msgstr "" -#: ../../guides/events-list.rst:503 +#: ../../guides/events-list.rst:509 msgid "**access:collections:add_user, collection** |results|" msgstr "" -#: ../../guides/events-list.rst:502 +#: ../../guides/events-list.rst:508 msgid "Triggered before adding user ``$params['user_id']`` to collection ``$params['collection_id']``. Return false to prevent adding." msgstr "" -#: ../../guides/events-list.rst:507 +#: ../../guides/events-list.rst:513 msgid "**access:collections:remove_user, collection** |results|" msgstr "" -#: ../../guides/events-list.rst:506 +#: ../../guides/events-list.rst:512 msgid "Triggered before removing user ``$params['user_id']`` to collection ``$params['collection_id']``. Return false to prevent removal." msgstr "" -#: ../../guides/events-list.rst:510 +#: ../../guides/events-list.rst:516 msgid "**create, access_collection** |sequence|" msgstr "" -#: ../../guides/events-list.rst:510 +#: ../../guides/events-list.rst:516 msgid "Triggered during the creation of an ``ElggAccessCollection``." msgstr "" -#: ../../guides/events-list.rst:513 +#: ../../guides/events-list.rst:519 msgid "**delete, access_collection** |sequence|" msgstr "" -#: ../../guides/events-list.rst:513 +#: ../../guides/events-list.rst:519 msgid "Triggered during the deletion of an ``ElggAccessCollection``." msgstr "" -#: ../../guides/events-list.rst:534 +#: ../../guides/events-list.rst:540 msgid "**get_sql, access** |results|" msgstr "" -#: ../../guides/events-list.rst:516 +#: ../../guides/events-list.rst:522 msgid "Filters SQL clauses restricting/allowing access to entities and annotations." msgstr "" -#: ../../guides/events-list.rst:519 +#: ../../guides/events-list.rst:525 msgid "**The event is triggered regardless if the access is ignored**. The handlers may need to check if access is ignored and return early, if appended clauses should only apply to access controlled contexts." msgstr "" -#: ../../guides/events-list.rst:523 +#: ../../guides/events-list.rst:529 msgid "``$return`` value is a nested array of ``ands`` and ``ors``." msgstr "" -#: ../../guides/events-list.rst:525 +#: ../../guides/events-list.rst:531 msgid "``$params`` includes:" msgstr "" -#: ../../guides/events-list.rst:527 +#: ../../guides/events-list.rst:533 msgid "``table_alias`` - alias of the main table used in select clause" msgstr "" -#: ../../guides/events-list.rst:528 +#: ../../guides/events-list.rst:534 msgid "``ignore_access`` - whether ignored access is enabled" msgstr "" -#: ../../guides/events-list.rst:529 +#: ../../guides/events-list.rst:535 msgid "``use_enabled_clause`` - whether disabled entities are shown/hidden" msgstr "" -#: ../../guides/events-list.rst:530 +#: ../../guides/events-list.rst:536 msgid "``access_column`` - column in the main table containing the access collection ID value" msgstr "" -#: ../../guides/events-list.rst:531 +#: ../../guides/events-list.rst:537 msgid "``owner_guid_column`` - column in the main table referencing the GUID of the owner" msgstr "" -#: ../../guides/events-list.rst:532 +#: ../../guides/events-list.rst:538 msgid "``guid_column`` - column in the main table referencing the GUID of the entity" msgstr "" -#: ../../guides/events-list.rst:533 +#: ../../guides/events-list.rst:539 msgid "``enabled_column`` - column in the main table referencing the enabled status of the entity" msgstr "" -#: ../../guides/events-list.rst:534 +#: ../../guides/events-list.rst:540 msgid "``query_builder`` - an instance of the ``QueryBuilder``" msgstr "" -#: ../../guides/events-list.rst:537 +#: ../../guides/events-list.rst:543 msgid "**update, access_collection** |sequence|" msgstr "" -#: ../../guides/events-list.rst:537 +#: ../../guides/events-list.rst:543 msgid "Triggered during the update of an ``ElggAccessCollection``." msgstr "" -#: ../../guides/events-list.rst:542 +#: ../../guides/events-list.rst:548 msgid "Permission events" msgstr "" -#: ../../guides/events-list.rst:558 +#: ../../guides/events-list.rst:564 msgid "**container_logic_check, ** |results|" msgstr "" -#: ../../guides/events-list.rst:545 +#: ../../guides/events-list.rst:551 msgid "Triggered by ``ElggEntity:canWriteToContainer()`` before triggering ``permissions_check`` and ``container_permissions_check`` events. Unlike permissions events, logic check can be used to prevent certain entity types from being contained by other entity types, e.g. discussion replies should only be contained by discussions. This event can also be used to apply status logic, e.g. do disallow new replies for closed discussions." msgstr "" -#: ../../guides/events-list.rst:550 +#: ../../guides/events-list.rst:556 msgid "The handler should return ``false`` to prevent an entity from containing another entity. The default value passed to the event is ``null``, so the handler can check if another event has modified the value by checking if return value is set. Should this event return ``false``, ``container_permissions_check`` and ``permissions_check`` events will not be triggered." msgstr "" -#: ../../guides/events-list.rst:556 -#: ../../guides/events-list.rst:570 +#: ../../guides/events-list.rst:562 +#: ../../guides/events-list.rst:576 msgid "``container`` - An entity that will be used as a container" msgstr "" -#: ../../guides/events-list.rst:557 -#: ../../guides/events-list.rst:571 +#: ../../guides/events-list.rst:563 +#: ../../guides/events-list.rst:577 msgid "``user`` - User who will own the entity to be written to container" msgstr "" -#: ../../guides/events-list.rst:558 -#: ../../guides/events-list.rst:572 +#: ../../guides/events-list.rst:564 +#: ../../guides/events-list.rst:578 msgid "``subtype`` - Subtype of the entity to be written to container (entity type is assumed from event type)" msgstr "" -#: ../../guides/events-list.rst:572 +#: ../../guides/events-list.rst:578 msgid "**container_permissions_check, ** |results|" msgstr "" -#: ../../guides/events-list.rst:561 +#: ../../guides/events-list.rst:567 msgid "Return boolean for if the user ``$params['user']`` can use the entity ``$params['container']`` as a container for an entity of ```` and subtype ``$params['subtype']``." msgstr "" -#: ../../guides/events-list.rst:564 +#: ../../guides/events-list.rst:570 msgid "In the rare case where an entity is created with neither the ``container_guid`` nor the ``owner_guid`` matching the logged in user, this event is called *twice*, and in the first call ``$params['container']`` will be the *owner*, not the entity's real container." msgstr "" -#: ../../guides/events-list.rst:575 +#: ../../guides/events-list.rst:581 msgid "**permissions_check, ** |results|" msgstr "" -#: ../../guides/events-list.rst:575 +#: ../../guides/events-list.rst:581 msgid "Return boolean for if the user ``$params['user']`` can edit the entity ``$params['entity']``." msgstr "" -#: ../../guides/events-list.rst:578 +#: ../../guides/events-list.rst:584 msgid "**permissions_check:delete, ** |results|" msgstr "" -#: ../../guides/events-list.rst:578 +#: ../../guides/events-list.rst:584 msgid "Return boolean for if the user ``$params['user']`` can delete the entity ``$params['entity']``. Defaults to ``$entity->canEdit()``." msgstr "" -#: ../../guides/events-list.rst:582 +#: ../../guides/events-list.rst:588 msgid "**permissions_check:delete, river** |results|" msgstr "" -#: ../../guides/events-list.rst:581 +#: ../../guides/events-list.rst:587 msgid "Return boolean for if the user ``$params['user']`` can delete the river item ``$params['item']``. Defaults to ``true`` for admins and ``false`` for other users." msgstr "" -#: ../../guides/events-list.rst:590 +#: ../../guides/events-list.rst:596 msgid "**permissions_check:download, file** |results|" msgstr "" -#: ../../guides/events-list.rst:585 +#: ../../guides/events-list.rst:591 msgid "Return boolean for if the user ``$params['user']`` can download the file in ``$params['entity']``." msgstr "" -#: ../../guides/events-list.rst:589 +#: ../../guides/events-list.rst:595 msgid "``entity`` - Instance of ``ElggFile``" msgstr "" -#: ../../guides/events-list.rst:590 +#: ../../guides/events-list.rst:596 msgid "``user`` - User who will download the file" msgstr "" -#: ../../guides/events-list.rst:594 +#: ../../guides/events-list.rst:600 msgid "**permissions_check, widget_layout** |results|" msgstr "" -#: ../../guides/events-list.rst:593 +#: ../../guides/events-list.rst:599 msgid "Return boolean for if ``$params['user']`` can edit the widgets in the context passed as ``$params['context']`` and with a page owner of ``$params['page_owner']``." msgstr "" -#: ../../guides/events-list.rst:597 +#: ../../guides/events-list.rst:603 msgid "**permissions_check:comment, ** |results|" msgstr "" -#: ../../guides/events-list.rst:597 +#: ../../guides/events-list.rst:603 msgid "Return boolean for if the user ``$params['user']`` can comment on the entity ``$params['entity']``." msgstr "" -#: ../../guides/events-list.rst:603 +#: ../../guides/events-list.rst:609 msgid "**permissions_check:annotate:, ** |results|" msgstr "" -#: ../../guides/events-list.rst:600 +#: ../../guides/events-list.rst:606 msgid "Return boolean for if the user ``$params['user']`` can create an annotation ```` on the entity ``$params['entity']``. If logged in, the default is true." msgstr "" -#: ../../guides/events-list.rst:603 +#: ../../guides/events-list.rst:609 msgid "This is called before the more general ``permissions_check:annotate`` event, and its return value is that event's initial value." msgstr "" -#: ../../guides/events-list.rst:607 +#: ../../guides/events-list.rst:613 msgid "**permissions_check:annotate, ** |results|" msgstr "" -#: ../../guides/events-list.rst:606 +#: ../../guides/events-list.rst:612 msgid "Return boolean for if the user ``$params['user']`` can create an annotation ``$params['annotation_name']`` on the entity ``$params['entity']``. if logged in, the default is true." msgstr "" -#: ../../guides/events-list.rst:610 +#: ../../guides/events-list.rst:616 msgid "**api_key, use** |results|" msgstr "" -#: ../../guides/events-list.rst:610 +#: ../../guides/events-list.rst:616 msgid "Triggered in the class ``\\Elgg\\WebServices\\PAM\\API\\APIKey``. Returning false prevents the key from being authenticated." msgstr "" -#: ../../guides/events-list.rst:622 +#: ../../guides/events-list.rst:628 msgid "**gatekeeper, :** |results|" msgstr "" -#: ../../guides/events-list.rst:613 +#: ../../guides/events-list.rst:619 msgid "Filters the result of ``elgg_entity_gatekeeper()`` to prevent or allow access to an entity that user would otherwise have or not have access to. A handler can return ``false`` or an instance of ``\\Elgg\\Exceptions\\HttpException`` to prevent access to an entity. A handler can return ``true`` to override the result of the gatekeeper. **Important** that the entity received by this event is fetched with ignored access and including disabled entities, so you have to be careful to not bypass the access system." msgstr "" -#: ../../guides/events-list.rst:619 -#: ../../guides/events-list.rst:640 -#: ../../guides/events-list.rst:654 -#: ../../guides/events-list.rst:674 -#: ../../guides/events-list.rst:729 -#: ../../guides/events-list.rst:737 -#: ../../guides/events-list.rst:790 -#: ../../guides/events-list.rst:800 -#: ../../guides/events-list.rst:823 -#: ../../guides/events-list.rst:842 +#: ../../guides/events-list.rst:625 +#: ../../guides/events-list.rst:646 +#: ../../guides/events-list.rst:660 +#: ../../guides/events-list.rst:680 +#: ../../guides/events-list.rst:735 +#: ../../guides/events-list.rst:743 +#: ../../guides/events-list.rst:796 +#: ../../guides/events-list.rst:806 +#: ../../guides/events-list.rst:829 +#: ../../guides/events-list.rst:848 msgid "``$params`` array includes:" msgstr "" -#: ../../guides/events-list.rst:621 +#: ../../guides/events-list.rst:627 msgid "``entity`` - Entity that is being accessed" msgstr "" -#: ../../guides/events-list.rst:622 +#: ../../guides/events-list.rst:628 msgid "``user`` - User accessing the entity (``null`` implies logged in user)" msgstr "" -#: ../../guides/events-list.rst:625 +#: ../../guides/events-list.rst:631 msgid "Notifications events" msgstr "" -#: ../../guides/events-list.rst:628 +#: ../../guides/events-list.rst:634 msgid "**dequeue, notifications**" msgstr "" -#: ../../guides/events-list.rst:628 +#: ../../guides/events-list.rst:634 msgid "Called when an ElggData object is removed from the notifications queue to be processed" msgstr "" -#: ../../guides/events-list.rst:631 +#: ../../guides/events-list.rst:637 msgid "**enqueue, notifications**" msgstr "" -#: ../../guides/events-list.rst:631 +#: ../../guides/events-list.rst:637 msgid "Called when an ElggData object is being added to the notifications queue" msgstr "" -#: ../../guides/events-list.rst:633 +#: ../../guides/events-list.rst:639 msgid "The following events are listed chronologically in the lifetime of the notification event. Note that not all events apply to instant notifications." msgstr "" -#: ../../guides/events-list.rst:643 +#: ../../guides/events-list.rst:649 msgid "**enqueue, notification** |results|" msgstr "" -#: ../../guides/events-list.rst:637 +#: ../../guides/events-list.rst:643 msgid "Can be used to prevent a notification event from sending **subscription** notifications. Event handler must return ``false`` to prevent a subscription notification event from being enqueued." msgstr "" -#: ../../guides/events-list.rst:642 +#: ../../guides/events-list.rst:648 msgid "``object`` - object of the notification event" msgstr "" -#: ../../guides/events-list.rst:643 +#: ../../guides/events-list.rst:649 msgid "``action`` - action that triggered the notification event. E.g. corresponds to ``publish`` when ``elgg_trigger_event('publish', 'object', $object)`` is called" msgstr "" -#: ../../guides/events-list.rst:660 +#: ../../guides/events-list.rst:666 msgid "**get, subscriptions** |results|" msgstr "" -#: ../../guides/events-list.rst:646 +#: ../../guides/events-list.rst:652 msgid "Filters subscribers of the notification event. Applies to **subscriptions** and **instant** notifications. In case of a subscription event, by default, the subscribers list consists of the users subscribed to the container entity of the event object. In case of an instant notification event, the subscribers list consists of the users passed as recipients to ``notify_user()``" msgstr "" -#: ../../guides/events-list.rst:651 +#: ../../guides/events-list.rst:657 msgid "**IMPORTANT** Always validate the notification event, object and/or action types before adding any new recipients to ensure that you do not accidentally dispatch notifications to unintended recipients. Consider a situation, where a mentions plugin sends out an instant notification to a mentioned user - any event acting on a subject or an object without validating an event or action type (e.g. including an owner of the original wire thread) might end up sending notifications to wrong users." msgstr "" -#: ../../guides/events-list.rst:656 -#: ../../guides/events-list.rst:676 -#: ../../guides/events-list.rst:687 -#: ../../guides/events-list.rst:704 -#: ../../guides/events-list.rst:739 +#: ../../guides/events-list.rst:662 +#: ../../guides/events-list.rst:682 +#: ../../guides/events-list.rst:693 +#: ../../guides/events-list.rst:710 +#: ../../guides/events-list.rst:745 msgid "``event`` - ``\\Elgg\\Notifications\\NotificationEvent`` instance that describes the notification event" msgstr "" -#: ../../guides/events-list.rst:657 -#: ../../guides/events-list.rst:694 -#: ../../guides/events-list.rst:711 +#: ../../guides/events-list.rst:663 +#: ../../guides/events-list.rst:700 +#: ../../guides/events-list.rst:717 msgid "``origin`` - ``subscriptions_service`` or ``instant_notifications``" msgstr "" -#: ../../guides/events-list.rst:658 +#: ../../guides/events-list.rst:664 msgid "``methods_override`` - delivery method preference for instant notifications" msgstr "" -#: ../../guides/events-list.rst:660 +#: ../../guides/events-list.rst:666 msgid "Handlers must return an array in the form:" msgstr "" -#: ../../guides/events-list.rst:677 +#: ../../guides/events-list.rst:683 msgid "**send:before, notifications** |results|" msgstr "" -#: ../../guides/events-list.rst:671 +#: ../../guides/events-list.rst:677 msgid "Triggered before the notification event queue is processed. Can be used to terminate the notification event. Applies to **subscriptions** and **instant** notifications." msgstr "" -#: ../../guides/events-list.rst:677 -#: ../../guides/events-list.rst:740 +#: ../../guides/events-list.rst:683 +#: ../../guides/events-list.rst:746 msgid "``subscriptions`` - a list of subscriptions. See ``'get', 'subscriptions'`` event for details" msgstr "" -#: ../../guides/events-list.rst:694 +#: ../../guides/events-list.rst:700 msgid "**prepare, notification** |results|" msgstr "" -#: ../../guides/events-list.rst:680 +#: ../../guides/events-list.rst:686 msgid "A high level event that can be used to alter an instance of ``\\Elgg\\Notifications\\Notification`` before it is sent to the user. Applies to **subscriptions** and **instant** notifications. This event is triggered before a more granular ``'prepare', 'notification:::'`` and after ``'send:before', 'notifications``. Event handler should return an altered notification object." msgstr "" -#: ../../guides/events-list.rst:685 +#: ../../guides/events-list.rst:691 msgid "``$params`` may vary based on the notification type and may include:" msgstr "" -#: ../../guides/events-list.rst:688 -#: ../../guides/events-list.rst:705 +#: ../../guides/events-list.rst:694 +#: ../../guides/events-list.rst:711 msgid "``object`` - object of the notification ``event``. Can be ``null`` for instant notifications" msgstr "" -#: ../../guides/events-list.rst:689 -#: ../../guides/events-list.rst:706 +#: ../../guides/events-list.rst:695 +#: ../../guides/events-list.rst:712 msgid "``action`` - action that triggered the notification ``event``. May default to ``notify_user`` for instant notifications" msgstr "" -#: ../../guides/events-list.rst:690 -#: ../../guides/events-list.rst:707 +#: ../../guides/events-list.rst:696 +#: ../../guides/events-list.rst:713 msgid "``method`` - delivery method (e.g. ``email``, ``site``)" msgstr "" -#: ../../guides/events-list.rst:691 -#: ../../guides/events-list.rst:708 +#: ../../guides/events-list.rst:697 +#: ../../guides/events-list.rst:714 msgid "``sender`` - sender" msgstr "" -#: ../../guides/events-list.rst:692 -#: ../../guides/events-list.rst:709 +#: ../../guides/events-list.rst:698 +#: ../../guides/events-list.rst:715 msgid "``recipient`` - recipient" msgstr "" -#: ../../guides/events-list.rst:693 -#: ../../guides/events-list.rst:710 +#: ../../guides/events-list.rst:699 +#: ../../guides/events-list.rst:716 msgid "``language`` - language of the notification (recipient's language)" msgstr "" -#: ../../guides/events-list.rst:711 +#: ../../guides/events-list.rst:717 msgid "**prepare, notification:::** |results|" msgstr "" -#: ../../guides/events-list.rst:697 +#: ../../guides/events-list.rst:703 msgid "A granular event that can be used to filter a notification ``\\Elgg\\Notifications\\Notification`` before it is sent to the user. Applies to **subscriptions** and **instant** notifications. In case of instant notifications that have not received an object, the event will be called as ``'prepare', 'notification:'``. In case of instant notifications that have not received an action name, it will default to ``notify_user``." msgstr "" -#: ../../guides/events-list.rst:702 +#: ../../guides/events-list.rst:708 msgid "``$params`` include:" msgstr "" -#: ../../guides/events-list.rst:722 +#: ../../guides/events-list.rst:728 msgid "**format, notification:** |results|" msgstr "" -#: ../../guides/events-list.rst:714 +#: ../../guides/events-list.rst:720 msgid "This event can be used to format a notification before it is passed to the ``'send', 'notification:'`` event. Applies to **subscriptions** and **instant** notifications. The event handler should return an instance of ``\\Elgg\\Notifications\\Notification``. The event does not receive any ``$params``. Some of the use cases include:" msgstr "" -#: ../../guides/events-list.rst:720 +#: ../../guides/events-list.rst:726 msgid "Strip tags from notification title and body for plaintext email notifications" msgstr "" -#: ../../guides/events-list.rst:721 +#: ../../guides/events-list.rst:727 msgid "Inline HTML styles for HTML email notifications" msgstr "" -#: ../../guides/events-list.rst:722 +#: ../../guides/events-list.rst:728 msgid "Wrap notification in a template, add signature etc." msgstr "" -#: ../../guides/events-list.rst:731 +#: ../../guides/events-list.rst:737 msgid "**send, notification:** |results|" msgstr "" -#: ../../guides/events-list.rst:725 +#: ../../guides/events-list.rst:731 msgid "Delivers a notification. Applies to **subscriptions** and **instant** notifications. The handler must return ``true`` or ``false`` indicating the success of the delivery." msgstr "" -#: ../../guides/events-list.rst:731 +#: ../../guides/events-list.rst:737 msgid "``notification`` - a notification object ``\\Elgg\\Notifications\\Notification``" msgstr "" -#: ../../guides/events-list.rst:741 +#: ../../guides/events-list.rst:747 msgid "**send:after, notifications** |results|" msgstr "" -#: ../../guides/events-list.rst:734 +#: ../../guides/events-list.rst:740 msgid "Triggered after all notifications in the queue for the notifications event have been processed. Applies to **subscriptions** and **instant** notifications." msgstr "" -#: ../../guides/events-list.rst:741 +#: ../../guides/events-list.rst:747 msgid "``deliveries`` - a matrix of delivery statuses by user for each delivery method" msgstr "" -#: ../../guides/events-list.rst:744 +#: ../../guides/events-list.rst:750 msgid "Emails" msgstr "" -#: ../../guides/events-list.rst:752 +#: ../../guides/events-list.rst:758 msgid "**prepare, system:email** |results|" msgstr "" -#: ../../guides/events-list.rst:747 +#: ../../guides/events-list.rst:753 msgid "Triggered by ``elgg_send_email()``. Applies to all outgoing system and notification emails. This event allows you to alter an instance of ``\\Elgg\\Email`` before it is passed to the email transport. This event can be used to alter the sender, recipient, subject, body, and/or headers of the email." msgstr "" -#: ../../guides/events-list.rst:752 +#: ../../guides/events-list.rst:758 msgid "``$params`` are empty. The ``$return`` value is an instance of ``\\Elgg\\Email``." msgstr "" -#: ../../guides/events-list.rst:762 +#: ../../guides/events-list.rst:768 msgid "**transport, system:email** |results|" msgstr "" -#: ../../guides/events-list.rst:755 +#: ../../guides/events-list.rst:761 msgid "Triggered by ``elgg_send_email()``. Applies to all outgoing system and notification emails. This event allows you to implement a custom email transport, e.g. delivering emails via a third-party proxy service such as SendGrid or Mailgun. The handler must return ``true`` to indicate that the email was transported." msgstr "" -#: ../../guides/events-list.rst:760 -#: ../../guides/events-list.rst:770 -#: ../../guides/events-list.rst:779 +#: ../../guides/events-list.rst:766 +#: ../../guides/events-list.rst:776 +#: ../../guides/events-list.rst:785 msgid "``$params`` contains:" msgstr "" -#: ../../guides/events-list.rst:762 -#: ../../guides/events-list.rst:772 -#: ../../guides/events-list.rst:781 +#: ../../guides/events-list.rst:768 +#: ../../guides/events-list.rst:778 +#: ../../guides/events-list.rst:787 msgid "``email`` - An instance of ``\\Elgg\\Email``" msgstr "" -#: ../../guides/events-list.rst:772 +#: ../../guides/events-list.rst:778 msgid "**validate, system:email** |results|" msgstr "" -#: ../../guides/events-list.rst:765 +#: ../../guides/events-list.rst:771 msgid "Triggered by ``elgg_send_email()``. Applies to all outgoing system and notification emails. This event allows you to suppress or whitelist outgoing emails, e.g. when the site is in a development mode. The handler must return ``false`` to supress the email delivery." msgstr "" -#: ../../guides/events-list.rst:781 +#: ../../guides/events-list.rst:787 msgid "**zend:message, system:email** |results|" msgstr "" -#: ../../guides/events-list.rst:775 +#: ../../guides/events-list.rst:781 msgid "Triggered by the default email transport handler (Elgg uses ``laminas/laminas-mail``). Applies to all outgoing system and notification emails that were not transported using the **transport, system:email** event. This event allows you to alter an instance of ``\\Laminas\\Mail\\Message`` before it is passed to the Laminas email transport." msgstr "" -#: ../../guides/events-list.rst:784 +#: ../../guides/events-list.rst:790 msgid "File events" msgstr "" -#: ../../guides/events-list.rst:794 +#: ../../guides/events-list.rst:800 msgid "**download:url, file** |results|" msgstr "" -#: ../../guides/events-list.rst:788 +#: ../../guides/events-list.rst:794 msgid "Allows plugins to filter the download URL of the file." msgstr "" -#: ../../guides/events-list.rst:788 +#: ../../guides/events-list.rst:794 msgid "By default, the download URL is generated by the file service." msgstr "" -#: ../../guides/events-list.rst:792 -#: ../../guides/events-list.rst:802 +#: ../../guides/events-list.rst:798 +#: ../../guides/events-list.rst:808 msgid "``entity`` - instance of ``ElggFile``" msgstr "" -#: ../../guides/events-list.rst:793 -#: ../../guides/events-list.rst:803 +#: ../../guides/events-list.rst:799 +#: ../../guides/events-list.rst:809 msgid "``use_cookie`` - whether or not to use a cookie to secure download link" msgstr "" -#: ../../guides/events-list.rst:794 -#: ../../guides/events-list.rst:804 +#: ../../guides/events-list.rst:800 +#: ../../guides/events-list.rst:810 msgid "``expires`` - a string representation of when the download link should expire" msgstr "" -#: ../../guides/events-list.rst:804 +#: ../../guides/events-list.rst:810 msgid "**inline:url, file** |results|" msgstr "" -#: ../../guides/events-list.rst:798 +#: ../../guides/events-list.rst:804 msgid "Allows plugins to filter the inline URL of the image file." msgstr "" -#: ../../guides/events-list.rst:798 +#: ../../guides/events-list.rst:804 msgid "By default, the inline URL is generated by the file service." msgstr "" -#: ../../guides/events-list.rst:808 +#: ../../guides/events-list.rst:814 msgid "**mime_type, file** |results|" msgstr "" -#: ../../guides/events-list.rst:807 +#: ../../guides/events-list.rst:813 msgid "Return the mimetype for the filename ``$params['filename']`` with original filename ``$params['original_filename']`` and with the default detected mimetype of ``$params['default']``." msgstr "" -#: ../../guides/events-list.rst:814 +#: ../../guides/events-list.rst:820 msgid "**simple_type, file** |results|" msgstr "" -#: ../../guides/events-list.rst:811 +#: ../../guides/events-list.rst:817 msgid "The event provides ``$params['mime_type']`` (e.g. ``application/pdf`` or ``image/jpeg``) and determines an overall category like ``document`` or ``image``. The bundled file plugin and other-third party plugins usually store ``simpletype`` metadata on file entities and make use of it when serving icons and constructing ``ege*`` filters and menus." msgstr "" -#: ../../guides/events-list.rst:826 +#: ../../guides/events-list.rst:832 msgid "**upload, file** |results|" msgstr "" -#: ../../guides/events-list.rst:817 +#: ../../guides/events-list.rst:823 msgid "Allows plugins to implement custom logic for moving an uploaded file into an instance of ``ElggFile``. The handler must return ``true`` to indicate that the uploaded file was moved. The handler must return ``false`` to indicate that the uploaded file could not be moved. Other returns will indicate that ``ElggFile::acceptUploadedFile`` should proceed with the default upload logic." msgstr "" -#: ../../guides/events-list.rst:825 +#: ../../guides/events-list.rst:831 msgid "``file`` - instance of ``ElggFile`` to write to" msgstr "" -#: ../../guides/events-list.rst:826 +#: ../../guides/events-list.rst:832 msgid "``upload`` - instance of Symfony's ``UploadedFile``" msgstr "" -#: ../../guides/events-list.rst:831 +#: ../../guides/events-list.rst:837 msgid "**upload:after, file**" msgstr "" -#: ../../guides/events-list.rst:829 +#: ../../guides/events-list.rst:835 msgid "Called after an uploaded file has been written to filestore. Receives an instance of ``ElggFile`` the uploaded file was written to. The ``ElggFile`` may or may not be an entity with a GUID." msgstr "" -#: ../../guides/events-list.rst:834 +#: ../../guides/events-list.rst:840 msgid "Action events" msgstr "" -#: ../../guides/events-list.rst:844 +#: ../../guides/events-list.rst:850 msgid "**action:validate, ** |results|" msgstr "" -#: ../../guides/events-list.rst:837 +#: ../../guides/events-list.rst:843 msgid "Trigger before action script/controller is executed. This event should be used to validate/alter user input, before proceeding with the action. The event handler can throw an instance of ``\\Elgg\\Exceptions\\Http\\ValidationException`` or return ``false`` to terminate further execution." msgstr "" -#: ../../guides/events-list.rst:844 +#: ../../guides/events-list.rst:850 msgid "``request`` - instance of ``\\Elgg\\Request``" msgstr "" -#: ../../guides/events-list.rst:847 +#: ../../guides/events-list.rst:853 msgid "**action_gatekeeper:permissions:check, all** |results|" msgstr "" -#: ../../guides/events-list.rst:847 +#: ../../guides/events-list.rst:853 msgid "Triggered after a CSRF token is validated. Return false to prevent validation." msgstr "" -#: ../../guides/events-list.rst:851 +#: ../../guides/events-list.rst:857 msgid "**forward, ** |results|" msgstr "" -#: ../../guides/events-list.rst:850 +#: ../../guides/events-list.rst:856 msgid "Filter the URL to forward a user to when ``forward($url, $reason)`` is called. In certain cases, the ``params`` array will contain an instance of ``\\Elgg\\Exceptions\\HttpException`` that triggered the error." msgstr "" -#: ../../guides/events-list.rst:857 +#: ../../guides/events-list.rst:863 msgid "**response, action:** |results|" msgstr "" -#: ../../guides/events-list.rst:854 +#: ../../guides/events-list.rst:860 msgid "Filter an instance of ``\\Elgg\\Http\\ResponseBuilder`` before it is sent to the client. This event can be used to modify response content, status code, forward URL, or set additional response headers. Note that the ```` value is parsed from the request URL, therefore you may not be able to filter the responses of `action()` calls if they are nested within the another action script file." msgstr "" -#: ../../guides/events-list.rst:876 +#: ../../guides/events-list.rst:882 msgid "**ajax_response, \\*** |results|" msgstr "" -#: ../../guides/events-list.rst:865 +#: ../../guides/events-list.rst:871 msgid "When the ``elgg/Ajax`` AMD module is used, this event gives access to the response object (``\\Elgg\\Services\\AjaxResponse``) so it can be altered/extended. The event type depends on the method call:" msgstr "" -#: ../../guides/events-list.rst:870 +#: ../../guides/events-list.rst:876 msgid "elgg/Ajax method" msgstr "" -#: ../../guides/events-list.rst:870 +#: ../../guides/events-list.rst:876 msgid "event type" msgstr "" -#: ../../guides/events-list.rst:872 +#: ../../guides/events-list.rst:878 msgid "action()" msgstr "" -#: ../../guides/events-list.rst:872 +#: ../../guides/events-list.rst:878 msgid "action:" msgstr "" -#: ../../guides/events-list.rst:873 +#: ../../guides/events-list.rst:879 msgid "path()" msgstr "" -#: ../../guides/events-list.rst:873 +#: ../../guides/events-list.rst:879 msgid "path:" msgstr "" -#: ../../guides/events-list.rst:874 +#: ../../guides/events-list.rst:880 msgid "view()" msgstr "" -#: ../../guides/events-list.rst:874 +#: ../../guides/events-list.rst:880 msgid "view:" msgstr "" -#: ../../guides/events-list.rst:875 +#: ../../guides/events-list.rst:881 msgid "form()" msgstr "" -#: ../../guides/events-list.rst:875 +#: ../../guides/events-list.rst:881 msgid "form:" msgstr "" -#: ../../guides/events-list.rst:879 +#: ../../guides/events-list.rst:885 msgid "**ajax_response, action:** |results|" msgstr "" -#: ../../guides/events-list.rst:879 +#: ../../guides/events-list.rst:885 msgid "Filters ``action/`` responses before they're sent back to the ``elgg/Ajax`` module." msgstr "" -#: ../../guides/events-list.rst:883 +#: ../../guides/events-list.rst:889 msgid "**ajax_response, path:** |results|" msgstr "" -#: ../../guides/events-list.rst:882 +#: ../../guides/events-list.rst:888 msgid "Filters ajax responses before they're sent back to the ``elgg/Ajax`` module. This event type will only be used if the path did not start with \"action/\" or \"ajax/\"." msgstr "" -#: ../../guides/events-list.rst:886 +#: ../../guides/events-list.rst:892 msgid "**ajax_response, view:** |results|" msgstr "" -#: ../../guides/events-list.rst:886 +#: ../../guides/events-list.rst:892 msgid "Filters ``ajax/view/`` responses before they're sent back to the ``elgg/Ajax`` module." msgstr "" -#: ../../guides/events-list.rst:889 +#: ../../guides/events-list.rst:895 msgid "**ajax_response, form:** |results|" msgstr "" -#: ../../guides/events-list.rst:889 +#: ../../guides/events-list.rst:895 msgid "Filters ``ajax/form/`` responses before they're sent back to the ``elgg/Ajax`` module." msgstr "" -#: ../../guides/events-list.rst:892 +#: ../../guides/events-list.rst:898 #: ../../guides/routing.rst:2 msgid "Routing" msgstr "" -#: ../../guides/events-list.rst:899 +#: ../../guides/events-list.rst:905 msgid "**response, path:** |results|" msgstr "" -#: ../../guides/events-list.rst:895 +#: ../../guides/events-list.rst:901 msgid "Filter an instance of ``\\Elgg\\Http\\ResponseBuilder`` before it is sent to the client. This event type will only be used if the path did not start with \"action/\" or \"ajax/\". This event can be used to modify response content, status code, forward URL, or set additional response headers. Note that the ```` value is parsed from the request URL, therefore plugins using the ``route`` event should use the original ```` to filter the response, or switch to using the ``route:rewrite`` event." msgstr "" -#: ../../guides/events-list.rst:904 +#: ../../guides/events-list.rst:910 msgid "**route:config, ** |results|" msgstr "" -#: ../../guides/events-list.rst:902 +#: ../../guides/events-list.rst:908 msgid "Allows altering the route configuration before it is registered. This event can be used to alter the path, default values, requirements, as well as to set/remove middleware. Please note that the handler for this event should be registered outside of the ``init`` event handler, as core routes are registered during ``plugins_boot`` event." msgstr "" -#: ../../guides/events-list.rst:908 +#: ../../guides/events-list.rst:914 msgid "**route:rewrite, ** |results|" msgstr "" -#: ../../guides/events-list.rst:907 +#: ../../guides/events-list.rst:913 msgid "Allows altering the site-relative URL path for an incoming request. See :doc:`routing` for details. Please note that the handler for this event should be registered outside of the ``init`` event handler, as route rewrites take place after ``plugins_boot`` event has completed." msgstr "" -#: ../../guides/events-list.rst:913 +#: ../../guides/events-list.rst:919 #: ../../guides/plugins/plugin-skeleton.rst:141 #: ../../guides/views.rst:2 msgid "Views" msgstr "" -#: ../../guides/events-list.rst:916 +#: ../../guides/events-list.rst:922 msgid "**attributes, htmlawed** |results|" msgstr "" -#: ../../guides/events-list.rst:916 +#: ../../guides/events-list.rst:922 msgid "Allows changes to individual attributes." msgstr "" -#: ../../guides/events-list.rst:919 +#: ../../guides/events-list.rst:925 msgid "**allowed_styles, htmlawed** |results|" msgstr "" -#: ../../guides/events-list.rst:919 +#: ../../guides/events-list.rst:925 msgid "Configure allowed styles for HTMLawed." msgstr "" -#: ../../guides/events-list.rst:922 +#: ../../guides/events-list.rst:928 msgid "**config, htmlawed** |results|" msgstr "" -#: ../../guides/events-list.rst:922 +#: ../../guides/events-list.rst:928 msgid "Filter the HTMLawed ``$config`` array." msgstr "" -#: ../../guides/events-list.rst:926 +#: ../../guides/events-list.rst:932 msgid "**form:prepare:fields, ** |results|" msgstr "" -#: ../../guides/events-list.rst:925 +#: ../../guides/events-list.rst:931 msgid "Prepare field values for use in the form. Eg. when editing a blog, fill this with the current values of the blog. Sticky form values will automatically be added to the field values (when available)." msgstr "" -#: ../../guides/events-list.rst:934 +#: ../../guides/events-list.rst:940 msgid "**head, page** |results|" msgstr "" -#: ../../guides/events-list.rst:929 +#: ../../guides/events-list.rst:935 msgid "In ``elgg_view_page()``, filters ``$vars['head']`` Return value contains an array with ``title``, ``metas`` and ``links`` keys, where ``metas`` is an array of elements to be formatted as ```` head tags, and ``links`` is an array of elements to be formatted as ```` head tags. Each meta and link element contains a set of key/value pairs that are formatted into html tag attributes, e.g." msgstr "" -#: ../../guides/events-list.rst:968 +#: ../../guides/events-list.rst:974 msgid "**layout, page** |results|" msgstr "" -#: ../../guides/events-list.rst:963 +#: ../../guides/events-list.rst:969 msgid "In ``elgg_view_layout()``, filters the layout name. ``$params`` array includes:" msgstr "" -#: ../../guides/events-list.rst:966 +#: ../../guides/events-list.rst:972 msgid "``identifier`` - ID of the page being rendered" msgstr "" -#: ../../guides/events-list.rst:967 +#: ../../guides/events-list.rst:973 msgid "``segments`` - URL segments of the page being rendered" msgstr "" -#: ../../guides/events-list.rst:968 +#: ../../guides/events-list.rst:974 msgid "other ``$vars`` received by ``elgg_view_layout()``" msgstr "" -#: ../../guides/events-list.rst:973 +#: ../../guides/events-list.rst:979 msgid "**response, form:** |results|" msgstr "" -#: ../../guides/events-list.rst:971 +#: ../../guides/events-list.rst:977 msgid "Filter an instance of ``\\Elgg\\Http\\ResponseBuilder`` before it is sent to the client. Applies to request to ``/ajax/form/``. This event can be used to modify response content, status code, forward URL, or set additional response headers." msgstr "" -#: ../../guides/events-list.rst:978 +#: ../../guides/events-list.rst:984 msgid "**response, view:** |results|" msgstr "" -#: ../../guides/events-list.rst:976 +#: ../../guides/events-list.rst:982 msgid "Filter an instance of ``\\Elgg\\Http\\ResponseBuilder`` before it is sent to the client. Applies to request to ``/ajax/view/``. This event can be used to modify response content, status code, forward URL, or set additional response headers." msgstr "" -#: ../../guides/events-list.rst:981 +#: ../../guides/events-list.rst:987 msgid "**shell, page** |results|" msgstr "" -#: ../../guides/events-list.rst:981 +#: ../../guides/events-list.rst:987 msgid "In ``elgg_view_page()``, filters the page shell name" msgstr "" -#: ../../guides/events-list.rst:984 +#: ../../guides/events-list.rst:990 msgid "**spec, htmlawed** |results|" msgstr "" -#: ../../guides/events-list.rst:984 +#: ../../guides/events-list.rst:990 msgid "Filter the HTMLawed ``$spec`` string (default empty)." msgstr "" -#: ../../guides/events-list.rst:990 +#: ../../guides/events-list.rst:996 msgid "**table_columns:call, ** |results|" msgstr "" -#: ../../guides/events-list.rst:987 +#: ../../guides/events-list.rst:993 msgid "When the method ``elgg()->table_columns->$name()`` is called, this event is called to allow plugins to override or provide an implementation. Handlers receive the method arguments via ``$params['arguments']`` and should return an instance of ``Elgg\\Views\\TableColumn`` if they wish to specify the column directly." msgstr "" -#: ../../guides/events-list.rst:994 +#: ../../guides/events-list.rst:1000 msgid "**vars:compiler, css** |results|" msgstr "" -#: ../../guides/events-list.rst:993 +#: ../../guides/events-list.rst:999 msgid "Allows plugins to alter CSS variables passed to CssCrush during compilation. See `CSS variables <_guides/theming#css-vars>`." msgstr "" -#: ../../guides/events-list.rst:997 +#: ../../guides/events-list.rst:1003 msgid "**view, ** |results|" msgstr "" -#: ../../guides/events-list.rst:997 +#: ../../guides/events-list.rst:1003 msgid "Filters the returned content of the view" msgstr "" -#: ../../guides/events-list.rst:1000 +#: ../../guides/events-list.rst:1006 msgid "**view_vars, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1000 +#: ../../guides/events-list.rst:1006 msgid "Filters the ``$vars`` array passed to the view" msgstr "" -#: ../../guides/events-list.rst:1005 +#: ../../guides/events-list.rst:1011 #: ../../guides/search.rst:2 msgid "Search" msgstr "" -#: ../../guides/events-list.rst:1010 +#: ../../guides/events-list.rst:1016 msgid "**search:config, search_types** |results|" msgstr "" -#: ../../guides/events-list.rst:1008 +#: ../../guides/events-list.rst:1014 msgid "Implemented in the **search** plugin. Filters an array of custom search types. This allows plugins to add custom search types (e.g. tag or location search). Adding a custom search type will extend the search plugin user interface with appropriate links and lists." msgstr "" -#: ../../guides/events-list.rst:1015 +#: ../../guides/events-list.rst:1021 msgid "**search:config, type_subtype_pairs** |results|" msgstr "" -#: ../../guides/events-list.rst:1013 +#: ../../guides/events-list.rst:1019 msgid "Implemented in the **search** plugin. Filters entity type/subtype pairs before entity search is performed. Allows plugins to remove certain entity types/subtypes from search results, group multiple subtypes together, or to reorder search sections." msgstr "" -#: ../../guides/events-list.rst:1020 +#: ../../guides/events-list.rst:1026 msgid "**search:fields, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1018 +#: ../../guides/events-list.rst:1024 msgid "Triggered by ``elgg_search()``. Filters search fields before search clauses are prepared. ``$return`` value contains an array of names for each entity property type, which should be matched against the search query. ``$params`` array contains an array of search params passed to and filtered by ``elgg_search()``." msgstr "" -#: ../../guides/events-list.rst:1031 +#: ../../guides/events-list.rst:1037 msgid "**search:fields, :** |results|" msgstr "" -#: ../../guides/events-list.rst:1031 -#: ../../guides/events-list.rst:1034 +#: ../../guides/events-list.rst:1037 +#: ../../guides/events-list.rst:1040 msgid "See **search:fields, **" msgstr "" -#: ../../guides/events-list.rst:1034 +#: ../../guides/events-list.rst:1040 msgid "**search:fields, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1039 +#: ../../guides/events-list.rst:1045 msgid "**search:format, entity** |results|" msgstr "" -#: ../../guides/events-list.rst:1037 +#: ../../guides/events-list.rst:1043 msgid "Implemented in the **search** plugin. Allows plugins to populate entity's volatile data before it's passed to search view. This is used for highlighting search hit, extracting relevant substrings in long text fields etc." msgstr "" -#: ../../guides/events-list.rst:1042 +#: ../../guides/events-list.rst:1048 msgid "**search:options, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1042 +#: ../../guides/events-list.rst:1048 msgid "Triggered by ``elgg_search()``. Prepares search clauses (options) to be passed to ``elgg_get_entities()``." msgstr "" -#: ../../guides/events-list.rst:1045 +#: ../../guides/events-list.rst:1051 msgid "**search:options, :** |results|" msgstr "" -#: ../../guides/events-list.rst:1045 -#: ../../guides/events-list.rst:1048 +#: ../../guides/events-list.rst:1051 +#: ../../guides/events-list.rst:1054 msgid "See **search:options, **" msgstr "" -#: ../../guides/events-list.rst:1048 +#: ../../guides/events-list.rst:1054 msgid "**search:options, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1052 +#: ../../guides/events-list.rst:1058 msgid "**search:params, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1051 +#: ../../guides/events-list.rst:1057 msgid "Triggered by ``elgg_search()``. Filters search parameters (query, sorting, search fields etc) before search clauses are prepared for a given search type. Elgg core only provides support for ``entities`` search type." msgstr "" -#: ../../guides/events-list.rst:1056 +#: ../../guides/events-list.rst:1062 msgid "**search:results, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1055 +#: ../../guides/events-list.rst:1061 msgid "Triggered by ``elgg_search()``. Receives normalized options suitable for ``elgg_get_entities()`` call and must return an array of entities matching search options. This event is designed for use by plugins integrating third-party indexing services, such as Solr and Elasticsearch." msgstr "" -#: ../../guides/events-list.rst:1061 +#: ../../guides/events-list.rst:1067 msgid "Other" msgstr "" -#: ../../guides/events-list.rst:1065 +#: ../../guides/events-list.rst:1071 msgid "**config, comments_per_page** |results|" msgstr "" -#: ../../guides/events-list.rst:1064 +#: ../../guides/events-list.rst:1070 msgid "Filters the number of comments displayed per page. Default is 25. ``$params['entity']`` will hold the containing entity or null if not provided. Use ``elgg_comments_per_page()`` to get the value." msgstr "" -#: ../../guides/events-list.rst:1069 +#: ../../guides/events-list.rst:1075 msgid "**config, comments_latest_first** |results|" msgstr "" -#: ../../guides/events-list.rst:1068 +#: ../../guides/events-list.rst:1074 msgid "Filters the order of comments. Default is ``true`` for latest first. ``$params['entity']`` will hold the containing entity or null if not provided." msgstr "" -#: ../../guides/events-list.rst:1076 +#: ../../guides/events-list.rst:1082 msgid "**default, access** |results|" msgstr "" -#: ../../guides/events-list.rst:1072 +#: ../../guides/events-list.rst:1078 msgid "In ``elgg_get_default_access()``, this event filters the return value, so it can be used to alter the default value in the input/access view. For core plugins, the value \"input_params\" has the keys \"entity\" (ElggEntity|false), \"entity_type\" (string), \"entity_subtype\" (string), \"container_guid\" (int) are provided. An empty entity value generally means the form is to create a new object." msgstr "" -#: ../../guides/events-list.rst:1080 +#: ../../guides/events-list.rst:1086 msgid "**classes, icon** |results|" msgstr "" -#: ../../guides/events-list.rst:1079 +#: ../../guides/events-list.rst:1085 msgid "Can be used to filter CSS classes applied to icon glyphs. By default, Elgg uses FontAwesome. Plugins can use this event to switch to a different font family and remap icon classes." msgstr "" -#: ../../guides/events-list.rst:1083 +#: ../../guides/events-list.rst:1089 msgid "**config, amd** |results|" msgstr "" -#: ../../guides/events-list.rst:1083 +#: ../../guides/events-list.rst:1089 msgid "Filter the AMD config for the requirejs library." msgstr "" -#: ../../guides/events-list.rst:1087 +#: ../../guides/events-list.rst:1093 msgid "**entity:icon:sizes, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1086 +#: ../../guides/events-list.rst:1092 msgid "Triggered by ``elgg_get_icon_sizes()`` and sets entity type/subtype specific icon sizes. ``entity_subtype`` will be passed with the ``$params`` array to the callback." msgstr "" -#: ../../guides/events-list.rst:1104 +#: ../../guides/events-list.rst:1110 msgid "**entity::sizes, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1090 +#: ../../guides/events-list.rst:1096 msgid "Allows filtering sizes for custom icon types, see ``entity:icon:sizes, ``." msgstr "" -#: ../../guides/events-list.rst:1092 +#: ../../guides/events-list.rst:1098 msgid "The event must return an associative array where keys are the names of the icon sizes (e.g. \"large\"), and the values are arrays with the following keys:" msgstr "" -#: ../../guides/events-list.rst:1095 +#: ../../guides/events-list.rst:1101 msgid "``w`` - Width of the image in pixels" msgstr "" -#: ../../guides/events-list.rst:1096 +#: ../../guides/events-list.rst:1102 msgid "``h`` - Height of the image in pixels" msgstr "" -#: ../../guides/events-list.rst:1097 +#: ../../guides/events-list.rst:1103 msgid "``square`` - Should the aspect ratio be a square (true/false)" msgstr "" -#: ../../guides/events-list.rst:1098 +#: ../../guides/events-list.rst:1104 msgid "``upscale`` - Should the image be upscaled in case it is smaller than the given width and height (true/false)" msgstr "" -#: ../../guides/events-list.rst:1099 +#: ../../guides/events-list.rst:1105 msgid "``crop`` - Is cropping allowed on this image size (true/false, default: true)" msgstr "" -#: ../../guides/events-list.rst:1101 +#: ../../guides/events-list.rst:1107 msgid "If the configuration array for an image size is empty, the image will be saved as an exact copy of the source without resizing or cropping." msgstr "" -#: ../../guides/events-list.rst:1104 +#: ../../guides/events-list.rst:1110 #: ../../guides/i18n.rst:51 #: ../../guides/notifications.rst:24 #: ../../guides/notifications.rst:309 @@ -4078,303 +4099,303 @@ msgstr "" msgid "Example:" msgstr "" -#: ../../guides/events-list.rst:1136 +#: ../../guides/events-list.rst:1142 msgid "**entity:icon:url, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1124 +#: ../../guides/events-list.rst:1130 msgid "Triggered when entity icon URL is requested, see :ref:`entity icons `. Callback should return URL for the icon of size ``$params['size']`` for the entity ``$params['entity']``. Following parameters are available through the ``$params`` array:" msgstr "" -#: ../../guides/events-list.rst:1128 +#: ../../guides/events-list.rst:1134 msgid "entity" msgstr "" -#: ../../guides/events-list.rst:1129 +#: ../../guides/events-list.rst:1135 msgid "Entity for which icon url is requested." msgstr "" -#: ../../guides/events-list.rst:1130 +#: ../../guides/events-list.rst:1136 msgid "viewtype" msgstr "" -#: ../../guides/events-list.rst:1131 +#: ../../guides/events-list.rst:1137 msgid "The type of :ref:`view ` e.g. ``'default'`` or ``'json'``." msgstr "" -#: ../../guides/events-list.rst:1133 +#: ../../guides/events-list.rst:1139 msgid "size" msgstr "" -#: ../../guides/events-list.rst:1133 +#: ../../guides/events-list.rst:1139 msgid "Size requested, see :ref:`entity icons ` for possible values." msgstr "" -#: ../../guides/events-list.rst:1135 +#: ../../guides/events-list.rst:1141 msgid "Example on how one could default to a Gravatar icon for users that have not yet uploaded an avatar:" msgstr "" -#: ../../guides/events-list.rst:1176 +#: ../../guides/events-list.rst:1182 msgid "**entity::url, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1176 +#: ../../guides/events-list.rst:1182 msgid "Allows filtering URLs for custom icon types, see ``entity:icon:url, ``" msgstr "" -#: ../../guides/events-list.rst:1181 +#: ../../guides/events-list.rst:1187 msgid "**entity:icon:file, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1179 +#: ../../guides/events-list.rst:1185 msgid "Triggered by ``ElggEntity::getIcon()`` and allows plugins to provide an alternative ``ElggIcon`` object that points to a custom location of the icon on filestore. The handler must return an instance of ``ElggIcon`` or an exception will be thrown." msgstr "" -#: ../../guides/events-list.rst:1184 +#: ../../guides/events-list.rst:1190 msgid "**entity::file, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1184 +#: ../../guides/events-list.rst:1190 msgid "Allows filtering icon file object for custom icon types, see ``entity:icon:file, ``" msgstr "" -#: ../../guides/events-list.rst:1196 +#: ../../guides/events-list.rst:1202 msgid "**entity::prepare, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1187 +#: ../../guides/events-list.rst:1193 msgid "Triggered by ``ElggEntity::saveIcon*()`` methods and can be used to prepare an image from uploaded/linked file. This event can be used to e.g. rotate the image before it is resized/cropped, or it can be used to extract an image frame if the uploaded file is a video. The handler must return an instance of ``ElggFile`` with a `simpletype` that resolves to `image`. The ``$return`` value passed to the event is an instance of ``ElggFile`` that points to a temporary copy of the uploaded/linked file." msgstr "" -#: ../../guides/events-list.rst:1193 -#: ../../guides/events-list.rst:1289 -#: ../../guides/events-list.rst:1322 +#: ../../guides/events-list.rst:1199 +#: ../../guides/events-list.rst:1295 +#: ../../guides/events-list.rst:1328 msgid "The ``$params`` array contains:" msgstr "" -#: ../../guides/events-list.rst:1195 -#: ../../guides/events-list.rst:1203 -#: ../../guides/events-list.rst:1213 -#: ../../guides/events-list.rst:1221 +#: ../../guides/events-list.rst:1201 +#: ../../guides/events-list.rst:1209 +#: ../../guides/events-list.rst:1219 +#: ../../guides/events-list.rst:1227 msgid "``entity`` - entity that owns the icons" msgstr "" -#: ../../guides/events-list.rst:1196 +#: ../../guides/events-list.rst:1202 msgid "``file`` - original input file before it has been modified by other events" msgstr "" -#: ../../guides/events-list.rst:1205 +#: ../../guides/events-list.rst:1211 msgid "**entity::save, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1199 +#: ../../guides/events-list.rst:1205 msgid "Triggered by ``ElggEntity::saveIcon*()`` methods and can be used to apply custom image manipulation logic to resizing/cropping icons. The handler must return ``true`` to prevent the core APIs from resizing/cropping icons. The ``$params`` array contains:" msgstr "" -#: ../../guides/events-list.rst:1204 +#: ../../guides/events-list.rst:1210 msgid "``file`` - ``ElggFile`` object that points to the image file to be used as source for icons" msgstr "" -#: ../../guides/events-list.rst:1205 -#: ../../guides/events-list.rst:1214 +#: ../../guides/events-list.rst:1211 +#: ../../guides/events-list.rst:1220 msgid "``x1``, ``y1``, ``x2``, ``y2`` - cropping coordinates" msgstr "" -#: ../../guides/events-list.rst:1214 +#: ../../guides/events-list.rst:1220 msgid "**entity::saved, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1208 +#: ../../guides/events-list.rst:1214 msgid "Triggered by ``ElggEntity::saveIcon*()`` methods once icons have been created. This event can be used by plugins to create river items, update cropping coordinates for custom icon types etc. The handler can access the created icons using ``ElggEntity::getIcon()``. The ``$params`` array contains:" msgstr "" -#: ../../guides/events-list.rst:1221 +#: ../../guides/events-list.rst:1227 msgid "**entity::delete, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1217 +#: ../../guides/events-list.rst:1223 msgid "Triggered by ``ElggEntity::deleteIcon()`` method and can be used for clean up operations. This event is triggered before the icons are deleted. The handler can return ``false`` to prevent icons from being deleted. The ``$params`` array contains:" msgstr "" -#: ../../guides/events-list.rst:1226 +#: ../../guides/events-list.rst:1232 msgid "**entity:url, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1224 +#: ../../guides/events-list.rst:1230 msgid "Return the URL for the entity ``$params['entity']``. Note: Generally it is better to override the ``getUrl()`` method of ElggEntity. This event should be used when it's not possible to subclass (like if you want to extend a bundled plugin without overriding many views)." msgstr "" -#: ../../guides/events-list.rst:1229 +#: ../../guides/events-list.rst:1235 msgid "**extender:url, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1229 +#: ../../guides/events-list.rst:1235 msgid "Return the URL for the annotation or metadata ``$params['extender']``." msgstr "" -#: ../../guides/events-list.rst:1233 +#: ../../guides/events-list.rst:1239 msgid "**fields, :** |results|" msgstr "" -#: ../../guides/events-list.rst:1232 +#: ../../guides/events-list.rst:1238 msgid "Return an array of fields usable for ``elgg_view_field()``. The result should be returned as an array of fields. It is required to provide ``name`` and ``#type`` for each field." msgstr "" -#: ../../guides/events-list.rst:1248 +#: ../../guides/events-list.rst:1254 msgid "**get_list, default_widgets** |results|" msgstr "" -#: ../../guides/events-list.rst:1247 +#: ../../guides/events-list.rst:1253 msgid "Filters a list of default widgets to add for newly registered users. The list is an array of arrays in the format:" msgstr "" -#: ../../guides/events-list.rst:1266 +#: ../../guides/events-list.rst:1272 msgid "**handlers, widgets** |results|" msgstr "" -#: ../../guides/events-list.rst:1265 +#: ../../guides/events-list.rst:1271 msgid "Triggered when a list of available widgets is needed. Plugins can conditionally add or remove widgets from this list or modify attributes of existing widgets like ``context`` or ``multiple``." msgstr "" -#: ../../guides/events-list.rst:1270 +#: ../../guides/events-list.rst:1276 msgid "**maintenance:allow, url** |results|" msgstr "" -#: ../../guides/events-list.rst:1270 +#: ../../guides/events-list.rst:1276 msgid "Return boolean if the URL ``$params['current_url']`` and the path ``$params['current_path']``" msgstr "" -#: ../../guides/events-list.rst:1270 +#: ../../guides/events-list.rst:1276 msgid "is allowed during maintenance mode." msgstr "" -#: ../../guides/events-list.rst:1281 +#: ../../guides/events-list.rst:1287 msgid "**plugin_setting, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1273 +#: ../../guides/events-list.rst:1279 msgid "Can be used to change the value of the setting being saved" msgstr "" -#: ../../guides/events-list.rst:1275 +#: ../../guides/events-list.rst:1281 msgid "Params contains: - ``entity`` - The ``ElggEntity`` where the plugin setting is being saved - ``plugin_id`` - The ID of the plugin for which the setting is being saved - ``name`` - The name of the setting being saved - ``value`` - The original value of the setting being saved" msgstr "" -#: ../../guides/events-list.rst:1281 +#: ../../guides/events-list.rst:1287 msgid "Return value should be a scalar in order to be able to save it to the database. An error will be logged if this is not the case." msgstr "" -#: ../../guides/events-list.rst:1291 +#: ../../guides/events-list.rst:1297 msgid "**public_pages, walled_garden** |results|" msgstr "" -#: ../../guides/events-list.rst:1284 +#: ../../guides/events-list.rst:1290 msgid "Filters a list of URLs (paths) that can be seen by logged out users in a walled garden mode. Handlers must return an array of regex strings that will allow access if matched. Please note that system public routes are passed as the default value to the event, and plugins must take care to not accidentally override these values." msgstr "" -#: ../../guides/events-list.rst:1291 +#: ../../guides/events-list.rst:1297 msgid "``url`` - URL of the page being tested for public accessibility" msgstr "" -#: ../../guides/events-list.rst:1294 +#: ../../guides/events-list.rst:1300 msgid "**relationship:url, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1294 +#: ../../guides/events-list.rst:1300 msgid "Filter the URL for the relationship object ``$params['relationship']``." msgstr "" -#: ../../guides/events-list.rst:1297 +#: ../../guides/events-list.rst:1303 msgid "**robots.txt, site** |results|" msgstr "" -#: ../../guides/events-list.rst:1297 +#: ../../guides/events-list.rst:1303 msgid "Filter the robots.txt values for ``$params['site']``." msgstr "" -#: ../../guides/events-list.rst:1305 +#: ../../guides/events-list.rst:1311 msgid "**setting, plugin** |results|" msgstr "" -#: ../../guides/events-list.rst:1300 +#: ../../guides/events-list.rst:1306 msgid "Filter plugin settings. ``$params`` contains:" msgstr "" -#: ../../guides/events-list.rst:1302 +#: ../../guides/events-list.rst:1308 msgid "``plugin`` - An ElggPlugin instance" msgstr "" -#: ../../guides/events-list.rst:1303 +#: ../../guides/events-list.rst:1309 msgid "``plugin_id`` - The plugin ID" msgstr "" -#: ../../guides/events-list.rst:1304 +#: ../../guides/events-list.rst:1310 msgid "``name`` - The name of the setting" msgstr "" -#: ../../guides/events-list.rst:1305 +#: ../../guides/events-list.rst:1311 msgid "``value`` - The value to set" msgstr "" -#: ../../guides/events-list.rst:1309 +#: ../../guides/events-list.rst:1315 msgid "**to:object, **" msgstr "" -#: ../../guides/events-list.rst:1308 +#: ../../guides/events-list.rst:1314 msgid "Converts the entity ``$params['entity']`` to a StdClass object. This is used mostly for exporting entity properties for portable data formats like JSON and XML." msgstr "" -#: ../../guides/events-list.rst:1312 +#: ../../guides/events-list.rst:1318 #: ../../guides/helpers.rst:41 #: ../../guides/plugins.rst:2 msgid "Plugins" msgstr "" -#: ../../guides/events-list.rst:1315 +#: ../../guides/events-list.rst:1321 msgid "Groups" msgstr "" -#: ../../guides/events-list.rst:1324 +#: ../../guides/events-list.rst:1330 msgid "**tool_options, group** |results|" msgstr "" -#: ../../guides/events-list.rst:1318 +#: ../../guides/events-list.rst:1324 msgid "Filters a collection of tools available within a specific group:" msgstr "" -#: ../../guides/events-list.rst:1320 +#: ../../guides/events-list.rst:1326 msgid "The ``$return`` is ``\\Elgg\\Collections\\Collection<\\Elgg\\Groups\\Tool>``, a collection of group tools." msgstr "" -#: ../../guides/events-list.rst:1324 +#: ../../guides/events-list.rst:1330 msgid "``entity`` - ``\\ElggGroup``" msgstr "" -#: ../../guides/events-list.rst:1327 +#: ../../guides/events-list.rst:1333 msgid "Web Services" msgstr "" -#: ../../guides/events-list.rst:1330 +#: ../../guides/events-list.rst:1336 msgid "**register, api_methods``** |results|" msgstr "" -#: ../../guides/events-list.rst:1330 +#: ../../guides/events-list.rst:1336 msgid "Triggered when the ApiRegistrationService is constructed which allows to add/remove/edit webservice configurations" msgstr "" -#: ../../guides/events-list.rst:1334 +#: ../../guides/events-list.rst:1340 msgid "**rest, init** |results|" msgstr "" -#: ../../guides/events-list.rst:1333 +#: ../../guides/events-list.rst:1339 msgid "Triggered by the web services rest handler. Plugins can set up their own authentication handlers, then return ``true`` to prevent the default handlers from being registered." msgstr "" -#: ../../guides/events-list.rst:1338 +#: ../../guides/events-list.rst:1344 msgid "**rest:output, ** |results|" msgstr "" -#: ../../guides/events-list.rst:1337 +#: ../../guides/events-list.rst:1343 msgid "Filter the result (and subsequently the output) of the API method" msgstr "" @@ -5091,7 +5112,7 @@ msgid "Customize Elgg's behavior with plugins." msgstr "" #: ../../guides/javascript.rst:2 -#: ../../guides/menus.rst:280 +#: ../../guides/menus.rst:299 msgid "JavaScript" msgstr "" @@ -5658,7 +5679,7 @@ msgid "You normally want to call them from your plugin's init function." msgstr "" #: ../../guides/menus.rst:25 -#: ../../guides/menus.rst:76 +#: ../../guides/menus.rst:95 msgid "Examples" msgstr "" @@ -5671,7 +5692,7 @@ msgid "You can also register ``page`` menu items to the admin backend menu. When msgstr "" #: ../../guides/menus.rst:47 -msgid "``administer`` for daily tasks, usermanagement and other actionable tasks" +msgid "``administer`` for daily tasks, user management and other actionable tasks" msgstr "" #: ../../guides/menus.rst:48 @@ -5686,111 +5707,131 @@ msgstr "" msgid "Advanced usage" msgstr "" -#: ../../guides/menus.rst:55 -msgid "You can get more control over menus by using :doc:`events ` and the public methods provided by the ``ElggMenuItem`` class." +#: ../../guides/menus.rst:56 +msgid "Headers" +msgstr "" + +#: ../../guides/menus.rst:58 +msgid "For accessibility reasons each menu will get an ``aria-label`` which defaults to the menu name, but can be translated by making sure the language key ``menu::header`` is available." msgstr "" #: ../../guides/menus.rst:61 +msgid "It's also possible to show menu section headers by setting ``show_section_headers`` to ``true`` in ``elgg_view_menu()``" +msgstr "" + +#: ../../guides/menus.rst:69 +msgid "The headers have a magic language key available ``menu::header:
`` in order to be able to translate the headers." +msgstr "" + +#: ../../guides/menus.rst:72 +msgid "Events" +msgstr "" + +#: ../../guides/menus.rst:74 +msgid "You can get more control over menus by using :doc:`events ` and the public methods provided by the ``ElggMenuItem`` class." +msgstr "" + +#: ../../guides/menus.rst:80 msgid "There are three events that can be used to modify a menu:" msgstr "" -#: ../../guides/menus.rst:59 +#: ../../guides/menus.rst:78 msgid "``'parameters', 'menu:'`` to add or modify parameters use for the menu building (eg. sorting)" msgstr "" -#: ../../guides/menus.rst:60 +#: ../../guides/menus.rst:79 msgid "``'register', 'menu:'`` to add or modify items (especially in dynamic menus)" msgstr "" -#: ../../guides/menus.rst:61 +#: ../../guides/menus.rst:80 msgid "``'prepare', 'menu:'`` to modify the structure of the menu before it is displayed" msgstr "" -#: ../../guides/menus.rst:63 +#: ../../guides/menus.rst:82 msgid "When you register an event handler, replace the ```` part with the internal name of the menu." msgstr "" -#: ../../guides/menus.rst:66 +#: ../../guides/menus.rst:85 msgid "The third parameter passed into a menu handler contains all the menu items that have been registered so far by Elgg core and other enabled plugins. In the handler we can loop through the menu items and use the class methods to interact with the properties of the menu item." msgstr "" -#: ../../guides/menus.rst:71 +#: ../../guides/menus.rst:90 msgid "In some cases a more granular version of the ``register`` and ``prepare`` menu events exist with ``menu:::``, this applies when the menu gets provided an ``\\ElggEntity`` in ``$params['entity']`` or an ``\\ElggAnnotation`` in ``$params['annotation']`` or an ``\\ElggRelationship`` in ``$params['relationship']``." msgstr "" -#: ../../guides/menus.rst:78 +#: ../../guides/menus.rst:97 msgid "**Example 1:** Change the URL for menu item called \"albums\" in the ``owner_block`` menu:" msgstr "" -#: ../../guides/menus.rst:117 +#: ../../guides/menus.rst:136 msgid "**Example 2:** Modify the ``entity`` menu for the ``ElggBlog`` objects" msgstr "" -#: ../../guides/menus.rst:116 +#: ../../guides/menus.rst:135 msgid "Remove the thumb icon" msgstr "" -#: ../../guides/menus.rst:117 +#: ../../guides/menus.rst:136 msgid "Change the \"Edit\" text into a custom icon" msgstr "" -#: ../../guides/menus.rst:155 +#: ../../guides/menus.rst:174 msgid "Creating a new menu" msgstr "" -#: ../../guides/menus.rst:157 +#: ../../guides/menus.rst:176 msgid "Elgg provides multiple different menus by default. Sometimes you may however need some menu items that don't fit in any of the existing menus. If this is the case, you can create your very own menu with the ``elgg_view_menu()`` function. You must call the function from the view, where you want to menu to be displayed." msgstr "" -#: ../../guides/menus.rst:163 +#: ../../guides/menus.rst:182 msgid "**Example:** Display a menu called \"my_menu\" that displays it's menu items in alphapetical order:" msgstr "" -#: ../../guides/menus.rst:171 +#: ../../guides/menus.rst:190 msgid "You can now add new items to the menu like this:" msgstr "" -#: ../../guides/menus.rst:182 +#: ../../guides/menus.rst:201 msgid "Furthermore it is now possible to modify the menu using the events ``'register', 'menu:my_menu'`` and ``'prepare', 'menu:my_menu'``." msgstr "" -#: ../../guides/menus.rst:186 +#: ../../guides/menus.rst:205 msgid "Child Dropdown Menus" msgstr "" -#: ../../guides/menus.rst:188 +#: ../../guides/menus.rst:207 msgid "Child menus can be configured using ``child_menu`` factory option on the parent item." msgstr "" -#: ../../guides/menus.rst:190 +#: ../../guides/menus.rst:209 msgid "``child_menu`` options array accepts ``display`` parameter, which can be used to set the child menu to open as ``dropdown`` or be displayed via ``toggle``. All other key value pairs will be passed as attributes to the ``ul`` element." msgstr "" -#: ../../guides/menus.rst:231 +#: ../../guides/menus.rst:250 msgid "Theming" msgstr "" -#: ../../guides/menus.rst:233 +#: ../../guides/menus.rst:252 msgid "The menu name, section names, and item names are all embedded into the HTML as CSS classes (normalized to contain only hyphens, rather that underscores or colons). This increases the size of the markup slightly but provides themers with a high degree of control and flexibility when styling the site." msgstr "" -#: ../../guides/menus.rst:238 +#: ../../guides/menus.rst:257 msgid "**Example:** The following would be the output of the ``foo`` menu with sections ``alt`` and ``default`` containing items ``baz`` and ``bar`` respectively." msgstr "" -#: ../../guides/menus.rst:251 +#: ../../guides/menus.rst:270 msgid "Toggling Menu Items" msgstr "" -#: ../../guides/menus.rst:253 +#: ../../guides/menus.rst:272 msgid "There are situations where you wish to toggle menu items that are actions that are the opposite of each other and ajaxify them. E.g. like/unlike, friend/unfriend, ban/unban, etc. Elgg has built-in support for this kind of actions. When you register a menu item you can provide a name of the menu item (in the same menu) that should be toggled. An ajax call will be made using the href of the menu item." msgstr "" -#: ../../guides/menus.rst:276 +#: ../../guides/menus.rst:295 msgid "The menu items are optimistically toggled. This means the menu items are toggled before the actions finish. If the actions fail, the menu items will be toggled back." msgstr "" -#: ../../guides/menus.rst:282 +#: ../../guides/menus.rst:301 msgid "It is common that menu items rely on JavaScript. You can bind client-side events to menu items by placing your JavaScript into AMD module and defining the requirement during the registration." msgstr "" @@ -6292,7 +6333,7 @@ msgid "Plugins can then use PHP-DI API to autowire and call the service:" msgstr "" #: ../../guides/plugins.rst:277 -msgid "See `PHP-DI documentation `_ for a comprehensive list of definition and invokation possibilities." +msgid "See `PHP-DI documentation `_ for a comprehensive list of definition and invocation possibilities." msgstr "" #: ../../guides/plugins.rst:280 @@ -6344,18 +6385,38 @@ msgid "It's encouraged to create PHPUnit test for your plugin. All tests should msgstr "" #: ../../guides/plugins.rst:311 -msgid "An easy example of adding test is the ``ViewStackTest``, this will test that the views in your plugin are registered correctly and have no syntax errors. To add this test create a file ``ViewStackTest.php`` in the folder ``tests/phpunit/unit///`` with the content:" +msgid "Unit tests should extend the ``Elgg\\UnitTestCase`` class. Integration tests should extend the ``Elgg\\Plugins\\IntegrationTestCase``." +msgstr "" + +#: ../../guides/plugins.rst:313 +msgid "There are a set of global plugin integration tests that run on all active plugins. These tests are:" +msgstr "" + +#: ../../guides/plugins.rst:315 +msgid "``Elgg\\Plugins\\ActionRegistrationIntegrationTest`` will test all registered actions of the plugin without supplying data" +msgstr "" + +#: ../../guides/plugins.rst:316 +msgid "``Elgg\\Plugins\\ComposerIntegrationTest`` will test if the ``composer.json`` is considered valid" +msgstr "" + +#: ../../guides/plugins.rst:317 +msgid "``Elgg\\Plugins\\StaticConfigIntegrationTest`` will test the sections of the ``elgg-plugin.php`` and check for the correct format" +msgstr "" + +#: ../../guides/plugins.rst:318 +msgid "``Elgg\\Plugins\\TranslationsIntegrationTest`` will test all language files for the correct format and encoding" msgstr "" -#: ../../guides/plugins.rst:328 -msgid "If you wish to see a better example, look in any of the Elgg core plugins." +#: ../../guides/plugins.rst:319 +msgid "``Elgg\\Plugins\\ViewStackIntegrationTest`` will test all views of the plugin if there are any PHP parsing errors" msgstr "" -#: ../../guides/plugins.rst:332 +#: ../../guides/plugins.rst:323 msgid ":doc:`/contribute/tests`" msgstr "" -#: ../../guides/plugins.rst:335 +#: ../../guides/plugins.rst:326 #: ../../guides/views.rst:647 #: ../../guides/web-services.rst:398 msgid "Related" @@ -7295,7 +7356,7 @@ msgid "Autocomplete and livesearch endpoint" msgstr "" #: ../../guides/search.rst:186 -msgid "Core provides a JSON endpoint for searching users and groups. These endpoints are used by ``input/autocomplete`` and ``input/userpicker`` views." +msgid "Core provides a JSON endpoint for searching users and groups. These endpoints are used by ``input/autocomplete`` and ``input/entitypicker`` views." msgstr "" #: ../../guides/search.rst:194 diff --git a/docs/locale/pot/index.pot b/docs/locale/pot/index.pot index 43da384daf7..92ad6d92c97 100644 --- a/docs/locale/pot/index.pot +++ b/docs/locale/pot/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Elgg master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-19 13:11+0200\n" +"POT-Creation-Date: 2023-10-18 11:20+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/docs/locale/pot/intro.pot b/docs/locale/pot/intro.pot index d35ce4a172a..3122f702aca 100644 --- a/docs/locale/pot/intro.pot +++ b/docs/locale/pot/intro.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Elgg master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-19 13:11+0200\n" +"POT-Creation-Date: 2023-10-18 11:20+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -149,15 +149,15 @@ msgstr "" msgid "Available commands" msgstr "" -#: ../../intro/elgg-cli.rst:94 +#: ../../intro/elgg-cli.rst:108 msgid "Adding custom commands" msgstr "" -#: ../../intro/elgg-cli.rst:96 +#: ../../intro/elgg-cli.rst:110 msgid "Plugins can add their commands to the CLI application, by adding command class name via a configuration in ``elgg-plugin.php`` or via the ``'commands','cli'`` event. Command class must extend ``\\Elgg\\CLI\\Command``." msgstr "" -#: ../../intro/elgg-cli.rst:114 +#: ../../intro/elgg-cli.rst:128 msgid "Custom commands are based on `Symfony Console Commands`_. Please refer to their documentation for more details." msgstr "" diff --git a/docs/locale/pot/plugins.pot b/docs/locale/pot/plugins.pot index 3f9586de0ba..bf2e4347fc6 100644 --- a/docs/locale/pot/plugins.pot +++ b/docs/locale/pot/plugins.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Elgg master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-19 13:11+0200\n" +"POT-Creation-Date: 2023-10-18 11:20+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -278,6 +278,10 @@ msgid "tagcloud" msgstr "" #: ../../plugins/index.rst:40 +msgid "theme_sandbox" +msgstr "" + +#: ../../plugins/index.rst:41 msgid "web_services" msgstr "" diff --git a/docs/locale/pot/tutorials.pot b/docs/locale/pot/tutorials.pot index 3006add9e3f..b3100dcb04f 100644 --- a/docs/locale/pot/tutorials.pot +++ b/docs/locale/pot/tutorials.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Elgg master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-19 13:11+0200\n" +"POT-Creation-Date: 2023-10-18 11:20+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/languages/cmn.php b/languages/cmn.php index ab4f257383a..04cf9bd4ed0 100644 --- a/languages/cmn.php +++ b/languages/cmn.php @@ -1163,7 +1163,12 @@ /** * Miscellaneous */ - + 'field:required' => "需要的", + +/** + * Accessibility + */ + /** * Cli commands */ @@ -1321,5 +1326,7 @@ "zh_hans" => "简体中文", "zu" => "Zulu", - "field:required" => '需要的', +/** + * Upgrades + */ ); diff --git a/languages/de.php b/languages/de.php index e80ef310556..df91b7af4be 100644 --- a/languages/de.php +++ b/languages/de.php @@ -1592,7 +1592,12 @@ * Miscellaneous */ 'elgg:powered' => "Community-Seite erstellt mit Elgg", - + 'field:required' => "Erforderlich", + +/** + * Accessibility + */ + /** * Cli commands */ @@ -1802,8 +1807,9 @@ "zh_hans" => "Chinesisch (Kurzzeichen)", "zu" => "Zulu", - "field:required" => 'Erforderlich', - +/** + * Upgrades + */ "core:upgrade:2017080900:title" => "Umwandlung des Datenbank-Encodings für Multi-Byte-Support", "core:upgrade:2017080900:description" => "Damit wird das Encoding der Datenbank und der Datenbanktabellen auf UTF8mb4 umgestellt, damit Multi-Byte-Characters wie beispielsweise Emojies gespeichert werden können.", diff --git a/languages/es.php b/languages/es.php index ae92bd771da..313ad1f8946 100644 --- a/languages/es.php +++ b/languages/es.php @@ -1148,7 +1148,12 @@ * Miscellaneous */ 'elgg:powered' => "Creado con Elgg", - + 'field:required' => "Requerido", + +/** + * Accessibility + */ + /** * Cli commands */ @@ -1308,5 +1313,7 @@ "zh_hans" => "Chino Simplificado", "zu" => "Zulu", - "field:required" => 'Requerido', +/** + * Upgrades + */ ); diff --git a/languages/fr.php b/languages/fr.php index 1fe6c8e9e45..3e7d7d0388e 100644 --- a/languages/fr.php +++ b/languages/fr.php @@ -634,13 +634,6 @@ 'admin:widget:admin_welcome:intro' => 'Bienvenue sur Elgg ! Vous êtes actuellement sur le tableau de bord de l\'administration. Il permet de suivre ce qui se passe sur le site.', 'admin:widget:admin_welcome:registration' => "L'inscription de nouveaux utilisateurs est actuellement désactivée ! Vous pouvez l'activer sur la page %s.", - 'admin:widget:admin_welcome:admin_overview' => "La navigation dans la zone d'administration se fait à l'aide du menu de droite. Il est organisé en trois parties : -
-
Administrer
Des tâches de base telles que suivre le contenu signalé et activer des plugins.
-
Configurer
Des tâches occasionnelles comme définir le nom du site ou configurer les paramètres d'un plugin.
-
Information
Des informations à propos de votre site, telles que des statistiques.
-
Développer
Pour les développeurs qui créent des plugins ou conçoivent des thèmes. (Nécessite le plugin developer).
-
", // argh, this is ugly 'admin:widget:admin_welcome:outro' => '
Pensez à consulter les ressources disponibles via les liens de bas de page, et merci d\'utiliser Elgg !', @@ -1743,7 +1736,12 @@ * Miscellaneous */ 'elgg:powered' => "Propulsé par Elgg", - + 'field:required' => "Requis", + +/** + * Accessibility + */ + /** * Cli commands */ @@ -1961,8 +1959,9 @@ "zh_hans" => "Chinois simplifié", "zu" => "Zoulou", - "field:required" => 'Requis', - +/** + * Upgrades + */ "core:upgrade:2017080900:title" => "Modifier l'encodage de la base de données pour le support multi-byte", "core:upgrade:2017080900:description" => "Modifie l'encodage de la base de données et des tables pour utf8mb4, afin de supporter les caractères multi-bytes tels que des emojis", diff --git a/languages/it.php b/languages/it.php index f49b2236a15..fa12a4c91bc 100644 --- a/languages/it.php +++ b/languages/it.php @@ -1105,7 +1105,12 @@ * Miscellaneous */ 'elgg:powered' => "Generato da Elgg", - + 'field:required' => "Richiesto", + +/** + * Accessibility + */ + /** * Cli commands */ @@ -1279,7 +1284,8 @@ "zh_hans" => "Chinese Simplified", "zu" => "Zulu", - "field:required" => 'Richiesto', - +/** + * Upgrades + */ "core:upgrade:2017080900:title" => "Modifica la codifica del database per il supporto multibyte", ); diff --git a/languages/nl.php b/languages/nl.php index 9c075db36ba..49e2e1bd957 100644 --- a/languages/nl.php +++ b/languages/nl.php @@ -476,6 +476,7 @@ */ 'menu:page:header:administer' => 'Beheer', 'menu:page:header:configure' => 'Configureer', + 'menu:page:header:utilities' => 'Hulpmiddelen', 'menu:page:header:develop' => 'Ontwikkel', 'menu:page:header:information' => 'Informatie', 'menu:page:header:default' => 'Andere', @@ -590,6 +591,11 @@ 'admin:site_icons:font_awesome:zip:help' => "Upload hier je Font Awesome iconen. Je kunt deze downloaden van https://fontawesome.com/download. Het webfont wordt dan lokaal geserveerd.", 'admin:site_icons:font_awesome:zip:error' => "De ZIP kon niet worden uitgepakt", 'admin:site_icons:font_awesome:remove_zip' => "Verwijderd geüploade lettertype", + 'admin:theme' => "Theme", + 'admin:theme:info' => "Hier kunnen verschillende theme instellingen worden geconfigureerd. Deze configuratie zal de bestaande configuratie overschrijven.", + 'admin:theme:warning' => "Houdt er rekening mee dat deze wijzigingen je design onbruikbaar kunnen maken.", + 'admin:theme:css_variable:name' => "CSS variabelen", + 'admin:theme:css_variable:value' => "Waarde", 'admin:site_settings' => "Instellingen", 'admin:site:description' => "Via dit beheerpaneel kun je de algemene instellingen van de site beheren. Kies een optie om te beginnen.", 'admin:site:opt:linktext' => "Configureer site", @@ -779,6 +785,28 @@ 'admin:security:settings:min_password_special' => "Minimaal aantal speciale tekens in een wachtwoord", 'admin:security:settings:min_password_special:help' => "Configureer het minimaal aantal speciale tekens (!@$%^&*()<>,.?/[]{}-=_+) welke aanwezig moeten zijn in een wachtwoord. 0 betekent dat het er niet in mag zitten. Laat het leeg voor geen vereisten.", + 'admin:security:security_txt' => "Security.txt", + 'admin:security:security_txt:description' => "Wanneer er een beveiligingsprobleem op uw website wordt gevonden, waar moet dit dan worden gemeld? Security.txt is een standaard die helpt bij het structureren van de informatie die beveiligingsonderzoekers nodig hebben om contact op te kunnen nemen met de sitebeheerders met de gevonden kwetsbaarheid. Meer informatie over de standaard vindt u op %s. De inhoud van uw security.txt kunt u vinden op %s.", + 'admin:security:security_txt:expired' => "De inhoud van je security.txt is verlopen, controleer of alle informatie nog steeds up-to-date is.", + 'admin:security:security_txt:contact' => "Contactgegevens", + 'admin:security:security_txt:contact:help' => "Een link of e-mail adres voor mensen om contact op te kunnen nemen over beveiligingsproblemen. Vergeet niet om 'https://' voor URLs en 'mailto:' voor e-mails op te nemen. Zie %s", + 'admin:security:security_txt:expires' => "Verloopdatum", + 'admin:security:security_txt:expires:help' => "De datum en tijd waarop de inhoud van het security.txt-bestand als verouderd moet worden beschouwd (beveiligingsonderzoekers moeten het dus niet vertrouwen). Zorg ervoor dat u deze waarde regelmatig bijwerkt en uw bestand regelmatig controleert. Zie %s", + 'admin:security:security_txt:encryption' => "Encryptie", + 'admin:security:security_txt:encryption:help' => "Een link naar een beveiligingssleutel welke beveiligingsonderzoekers kunnen gebruiken om beveiligd met jou te kunnen communiceren. Vergeet niet om 'https://' op te nemen. Zie %s", + 'admin:security:security_txt:acknowledgments' => "Dankbetuigingen", + 'admin:security:security_txt:acknowledgments:help' => "Een link naar een webpagina waar de de beveiligingsonderzoekers bedankt voor hun bijdrage. Vergeet niet om 'https://' op te nemen. Zie %s", + 'admin:security:security_txt:language' => "Taal", + 'admin:security:security_txt:language:help' => "Een komma gescheiden lijst van taalcodes welke je beveiligingsteam spreek. Je kunt meer dan één taal opnemen. Zie %s", + 'admin:security:security_txt:canonical' => "Canonical", + 'admin:security:security_txt:canonical:help' => "De URL's voor toegang tot uw security.txt bestand. Het is belangrijk om dit mee te nemen als u het security.txt bestand digitaal ondertekent, zodat de locatie van het security.txt bestand ook digitaal ondertekend kan worden. Zie %s", + 'admin:security:security_txt:policy' => "Beleid", + 'admin:security:security_txt:policy:help' => "Een link naar een beleid waarin wordt beschreven wat beveiligingsonderzoekers moeten doen bij het zoeken naar of melden van beveiligingsproblemen. Vergeet niet 'https://' toe te voegen. Zie %s", + 'admin:security:security_txt:hiring' => "Werken bij", + 'admin:security:security_txt:hiring:help' => "Een link naar eventuele veiligheidsgerelateerde vacatures binnen uw organisatie. Vergeet niet 'https://' toe te voegen. Zie %s", + 'admin:security:security_txt:csaf' => "CSAF", + 'admin:security:security_txt:csaf:help' => "Een link naar de provider-metadata.json van uw CSAF-provider (Common Security Advisory Framework). Vergeet niet 'https://' toe te voegen. Zie %s", + 'admin:site:secret:regenerated' => "Het site secret is geregenereerd", 'admin:site:secret:prevented' => "Het genereren van een nieuw sitegeheim code werd geblokeerd", @@ -1069,6 +1097,7 @@ 'entity:edit:icon:crop_messages:generic' => "De geselecteerde afbeelding voldoet niet aan de aanbevolen afmetingen van de afbeelding. Het resultaat hiervan kan lage kwaliteit iconen zijn.", 'entity:edit:icon:crop_messages:width' => "Het is aanbevolen om een afbeelding met een minimale breedte van tenminste %dpx te gebruiken.", 'entity:edit:icon:crop_messages:height' => "Het is aanbevolen om een afbeelding met een minimale hoogte van tenminste %dpx te gebruiken.", + 'entity:edit:icon:crop:img:alt' => "Geüploade afbeelding", 'entity:edit:icon:file:label' => "Upload een nieuw icoon", 'entity:edit:icon:file:help' => "Laat dit leeg om het huidige icoon te behouden.", 'entity:edit:icon:remove:label' => "Verwijder het icoon", @@ -1194,6 +1223,8 @@ 'list:error:getter:admin' => "De getter '%s' resulteerde in een '%s', echter de viewer '%s' vereist een array", 'link:text' => 'bekijk link', + + 'scroll_to_top' => 'Scroll naar boven', /** * Generic questions @@ -1752,7 +1783,38 @@ * Miscellaneous */ 'elgg:powered' => "Aangedreven door Elgg", - + 'field:required' => "Vereist", + +/** + * Accessibility + */ + 'aria:label:admin:users:search' => "Gebruikers zoeken", + + 'menu:admin_footer:header' => "Beheer footer", + 'menu:admin_header:header' => "Beheer header", + 'menu:admin:users:bulk:header' => "Bulk gebruikers acties", + 'menu:annotation:header' => "Annotatie", + 'menu:breadcrumbs:header' => "Broodkruimelpad", + 'menu:comments:header' => "Reacties", + 'menu:entity:header' => "Entiteit", + 'menu:entity_navigation:header' => "Entiteit navigatie", + 'menu:filter:header' => "Filter", + 'menu:footer:header' => "Footer", + 'menu:login:header' => "Aanmelden", + 'menu:owner_block:header' => "Eigenaar blok", + 'menu:page:header' => "Pagina", + 'menu:relationship:header' => "Relatie", + 'menu:river:header' => "River", + 'menu:site:header' => "Site", + 'menu:social:header' => "Sociaal", + 'menu:title:header' => "Titel", + 'menu:title:widgets:header' => "Widget beheer", + 'menu:topbar:header' => "Topbar", + 'menu:user_hover:header' => "Gebruiker zweef", + 'menu:user:unvalidated:header' => "Niet-gevalideerde gebruiker", + 'menu:walled_garden:header' => "Privénetwerk", + 'menu:widget:header' => "Widget beheer", + /** * Cli commands */ @@ -1780,6 +1842,12 @@ 'cli:database:seed:option:create_until' => "Een PHP time string om de bovengrens van het creatie tijdstip van seeded entities in te stellen", 'cli:database:seed:log:error:faker' => "Dit is een functionaliteit voor ontwikkelaars ten behoeve van testen. Gelieve dit niet voor andere doeleinden te gebruiken.", 'cli:database:seed:log:error:logged_in' => "Het seeden van de database behoort niet uitgevoerd te worden met een aangemelde gebruiker", + 'cli:database:seed:ask:limit' => "Hoeveel items moeten er worden gecreëerd door de '%s' seeder", + + 'cli:database:seeders:description' => "Toon alle beschikbare database seeders met het huidige aantal gecreëerde entiteiten", + 'cli:database:seeders:handler' => "Seed handler", + 'cli:database:seeders:type' => "Seed type", + 'cli:database:seeders:count' => "Gecreëerde aantal", 'cli:database:unseed:description' => "Verwijder de nep entiteiten uit de database", @@ -1970,8 +2038,9 @@ "zh_hans" => "Vereenvoudigd Chinees", "zu" => "Zulu", - "field:required" => 'Vereist', - +/** + * Upgrades + */ "core:upgrade:2017080900:title" => "Wijzig de database codering om multi-byte te ondersteunen", "core:upgrade:2017080900:description" => "Wijzigt de database codering naar utf8mb4 om ondersteuning te bieden voor multi-byte karakters zoals emoji's", diff --git a/languages/zh_hans.php b/languages/zh_hans.php index 8e6cf6ac376..d90d78e02bc 100644 --- a/languages/zh_hans.php +++ b/languages/zh_hans.php @@ -1162,7 +1162,12 @@ /** * Miscellaneous */ - + 'field:required' => "需要的", + +/** + * Accessibility + */ + /** * Cli commands */ @@ -1320,5 +1325,7 @@ "zh_hans" => "简体中文", "zu" => "Zulu", - "field:required" => '需要的', +/** + * Upgrades + */ ); diff --git a/mod/blog/languages/nl.php b/mod/blog/languages/nl.php index 5fe03c2c92c..26c2ba90496 100644 --- a/mod/blog/languages/nl.php +++ b/mod/blog/languages/nl.php @@ -16,6 +16,7 @@ 'edit:object:blog' => 'Bewerk blog', 'notification:object:blog:publish' => "Stuur een notificatie wanneer een blog is gepubliceerd", 'notifications:mute:object:blog' => "over de blog '%s'", + 'menu:blog_archive:header' => "Blog archief", 'blog:revisions' => 'Revisies', 'blog:archives' => 'Archieven', diff --git a/mod/developers/languages/de.php b/mod/developers/languages/de.php index 8dded8a9327..cd3aff6ac99 100644 --- a/mod/developers/languages/de.php +++ b/mod/developers/languages/de.php @@ -9,7 +9,6 @@ 'admin:develop_tools' => 'Entwickler-Werkzeuge', // menu - 'admin:develop_tools:sandbox' => 'Theme-Sandbox', 'admin:develop_tools:inspect' => 'Prüfen', 'admin:inspect' => 'Prüfen', 'admin:develop_tools:unit_tests' => 'Modultests', @@ -37,12 +36,8 @@ 'developers:label:show_modules' => "Geladene AMD-Module in der JavaScript-Konsole anzeigen", 'developers:help:show_modules' => "Zeigt Informationen zu den auf der aktuellen Seite geladenen AMD-Modulen in der JavaScript-Konsole des Browsers an.", 'developers:label:wrap_views' => "Views einkapseln", - 'developers:help:wrap_views' => "Diese Einstellung aktiviert die Einkapselung fast aller Views in HTML-Kommentare. Dies kann hilfreich sein, um den erzeugten HTML-Code einer View zuzuordnen. -Diese Option kann die Ausgabe von nicht-HTML-Views mit Standard-Viewtype stören. Siehe developers_wrap_views() für weitere Informationen.", 'developers:label:log_events' => "Events protokollieren", 'developers:help:log_events' => "Einträge für Events ins Log schreiben. Warnung: es gibt sehr viele davon bei jedem Seitenaufruf.", - 'developers:label:show_gear' => "Verwende %s außerhalb des Admin-Backends", - 'developers:help:show_gear' => "Ein (nur für Admins sichtbares) Icon in der unteren rechten Ecke des Viewports, mit dessen Hilfe Zugriff auf Entwicklungseinstellungen und -links möglich ist.", 'developers:label:block_email' => "Alle ausgehenden Emails blockieren", 'developers:help:block_email' => "Du kannst alle Emails oder an normale Benutzer gehenden Emails blockieren.", 'developers:label:forward_email' => "Alle ausgehenden Emails an eine Email-Adresse umleiten", @@ -50,8 +45,6 @@ 'developers:label:enable_error_log' => "Error-Log aktivieren", 'developers:help:enable_error_log' => "Verwende ein separates Error-Log für Fehler und Meldungen, die von error_log() entsprechend dem eingestellten Log-Level erstellt werden. Du kannst dieses Log im Admin-Bereich einsehen.", - 'developers:label:submit' => "Speichern und Caches zurücksetzen", - 'developers:block_email:forward' => 'Alle Emails umleiten', 'developers:block_email:users' => 'Nur von normalen Benutzern', 'developers:block_email:all' => 'Von Admins und normalen Benutzern', @@ -111,29 +104,6 @@ 'developers:boot_cache_rebuilt' => "Der Boot-Cache wurde für diese Abfrage neu erzeugt.", 'developers:elapsed_time' => "Benötigte Zeit (s)", - // theme sandbox - 'theme_sandbox:intro' => 'Einführung', - 'theme_sandbox:breakout' => 'Theme-Preview in ganzen Browserfenster anzeigen', - 'theme_sandbox:buttons' => 'Knöpfe', - 'theme_sandbox:components' => 'Komponenten', - 'theme_sandbox:email' => 'Email', - 'theme_sandbox:forms' => 'Forms', - 'theme_sandbox:grid' => 'Grid', - 'theme_sandbox:icons' => 'Icons', - 'theme_sandbox:javascript' => 'JavaScript', - 'theme_sandbox:layouts' => 'Layouts', - 'theme_sandbox:modules' => 'Module', - 'theme_sandbox:navigation' => 'Navigation', - 'theme_sandbox:typography' => 'Typographie', - - 'theme_sandbox:icons:blurb' => 'Verwende elgg_view_icon($name) zur Ausgabe von Icons.', - - 'theme_sandbox:test_email:button' => "Sende Test-Email", - 'theme_sandbox:test_email:success' => "Test-Email wurde gesendet an: %s", - - // status messages - 'developers:settings:success' => 'Einstellungen gespeichert und Caches zurückgesetzt.', - 'developers:amd' => 'AMD', 'admin:develop_tools:error_log' => 'Error-Log', diff --git a/mod/developers/languages/es.php b/mod/developers/languages/es.php index 46915974f3b..5265c84b981 100644 --- a/mod/developers/languages/es.php +++ b/mod/developers/languages/es.php @@ -9,7 +9,6 @@ 'admin:develop_tools' => 'Herramientas', // menu - 'admin:develop_tools:sandbox' => 'Sanbox del Tema', 'admin:develop_tools:inspect' => 'Inspecciona', 'admin:inspect' => 'Inspecciona', 'admin:develop_tools:unit_tests' => 'Tests unitarios', @@ -36,10 +35,6 @@ 'developers:label:wrap_views' => "Wrap de vistas", 'developers:label:log_events' => "Eventos de Logs", 'developers:help:log_events' => "Escribir eventos en el log. Precaución: hay varios de estos por página.", - 'developers:label:show_gear' => "Usar %s fuera de la zona de administración", - 'developers:help:show_gear' => "Un icono en la parte inferior derecha de la ventana que permite el acceso de los administradores a la configuración y enlaces de desarrollo.", - - 'developers:label:submit' => "Guardar y liberar cachés", 'developers:debug:off' => 'Apagado', 'developers:debug:error' => 'Error', @@ -79,25 +74,5 @@ 'developers:boot_cache_rebuilt' => "El caché de arranque se reconstruyó para esta solicitud", 'developers:elapsed_time' => "Tiempo transcurrido (s)", - // theme sandbox - 'theme_sandbox:intro' => 'Introducción', - 'theme_sandbox:breakout' => 'Fuera de iframe', - 'theme_sandbox:buttons' => 'Botones', - 'theme_sandbox:components' => 'Componentes', - 'theme_sandbox:email' => 'Correo electrónico', - 'theme_sandbox:forms' => 'Formularios', - 'theme_sandbox:grid' => 'Grilla', - 'theme_sandbox:icons' => 'Iconos', - 'theme_sandbox:javascript' => 'JavaScript', - 'theme_sandbox:layouts' => 'Estructuras', - 'theme_sandbox:modules' => 'Módulos', - 'theme_sandbox:navigation' => 'Navegación', - 'theme_sandbox:typography' => 'Tipografías', - - 'theme_sandbox:icons:blurb' => 'Use elgg_view_icon($name) ola clase elgg-icon-$name para mostrar iconos.', - - // status messages - 'developers:settings:success' => 'Configuraciones almacenadas', - 'developers:amd' => 'AMD', ); diff --git a/mod/developers/languages/fr.php b/mod/developers/languages/fr.php index d0424eb7a47..8635820428f 100644 --- a/mod/developers/languages/fr.php +++ b/mod/developers/languages/fr.php @@ -9,7 +9,6 @@ 'admin:develop_tools' => 'Outils', // menu - 'admin:develop_tools:sandbox' => 'Bac à sable du thème', 'admin:develop_tools:inspect' => 'Inspecter', 'admin:inspect' => 'Inspecter', 'admin:develop_tools:unit_tests' => 'Tests unitaires', @@ -37,10 +36,6 @@ 'developers:label:show_modules' => "Montrer les modules AMD chargés dans la console", 'developers:help:show_modules' => "Envoie les modules chargés et les valeurs dans votre console JavaScript.", 'developers:label:wrap_views' => "Envelopper les Vues", - 'developers:help:wrap_views' => "Ceci enveloppe presque toutes les vues avec des commentaires HTML. Pratique pour identifier la vue responsable d'un bloc HTML particulier. - Ceci peut casser les vues non HTML de l'affichage principal : images, RSS, XML, JSON, etc. Voir developers_wrap_views() pour plus d'informations.", - 'developers:label:show_gear' => "Utiliser %s hors de la zone d'administration", - 'developers:help:show_gear' => "Une icône en bas à droite de l'affichage qui offre aux administrateurs un accès aux paramètres et liens pour développeurs.", 'developers:label:block_email' => "Bloquer tous les e-mails sortants", 'developers:help:block_email' => "Vous pouvez bloquer les e-mails sortants vers les simples membres, ou pour tous les utilisateurs", 'developers:label:forward_email' => "Faire suivre tous les e-mails sortants vers une seule adresse e-mail", @@ -48,8 +43,6 @@ 'developers:label:enable_error_log' => "Activer le journal des erreurs", 'developers:help:enable_error_log' => "Maintenir un journal séparé des erreurs et des messages enregistrés via error_log() sur la base de votre configuration de niveau de journalisation. Le journal peut être affiché via l'interface admin.", - 'developers:label:submit' => "Enregistrer et vider les caches", - 'developers:block_email:forward' => 'Faire suivre tous les e-mails', 'developers:block_email:users' => 'Seulement les membres', 'developers:block_email:all' => 'Admins et membres', @@ -107,29 +100,6 @@ 'developers:boot_cache_rebuilt' => "Le cache de démarrage a été reconstruit pour cette requête", 'developers:elapsed_time' => "Durée écoulée (s)", - // theme sandbox - 'theme_sandbox:intro' => 'Introduction', - 'theme_sandbox:breakout' => 'Sortir de l\'iframe', - 'theme_sandbox:buttons' => 'Boutons', - 'theme_sandbox:components' => 'Composants', - 'theme_sandbox:email' => 'E-mail', - 'theme_sandbox:forms' => 'Formulaires', - 'theme_sandbox:grid' => 'Grille', - 'theme_sandbox:icons' => 'Icônes', - 'theme_sandbox:javascript' => 'JavaScript', - 'theme_sandbox:layouts' => 'Mises en page', - 'theme_sandbox:modules' => 'Modules', - 'theme_sandbox:navigation' => 'Navigation', - 'theme_sandbox:typography' => 'Typographie', - - 'theme_sandbox:icons:blurb' => 'Utilisez elgg_view_icon($name) pour afficher des icônes. ', - - 'theme_sandbox:test_email:button' => "Envoyer un e-mail de test", - 'theme_sandbox:test_email:success' => "E-mail de test envoyé à : %s", - - // status messages - 'developers:settings:success' => 'Paramètres enregistrés et caches vidés', - 'developers:amd' => 'AMD', 'admin:develop_tools:error_log' => 'Journal des erreurs', diff --git a/mod/developers/languages/nl.php b/mod/developers/languages/nl.php index fea42da8c90..6b9ab477ba5 100644 --- a/mod/developers/languages/nl.php +++ b/mod/developers/languages/nl.php @@ -9,13 +9,14 @@ 'admin:develop_tools' => 'Tools', // menu - 'admin:develop_tools:sandbox' => 'Theme Sandbox', 'admin:develop_tools:inspect' => 'Inspecteer', 'admin:inspect' => 'Inspecteer', 'admin:develop_tools:unit_tests' => 'Unittesten', 'admin:develop_tools:entity_explorer' => 'Entiteiten Verkenner', 'admin:developers' => 'Ontwikkelaars', 'admin:developers:settings' => 'Instellingen', + 'menu:entity_explorer:header' => 'Entiteiten Verkenner', + 'menu:developers_inspect_viewtype:header' => 'Inspecteer view types', // settings 'elgg_dev_tools:settings:explanation' => 'Beheer je ontwikkel- en debuginstellingen hieronder. Sommige van de instellingen zijn ook beschikbaar op andere beheerpagina\'s.', @@ -39,11 +40,9 @@ 'developers:label:wrap_views' => "Omcirkel views", 'developers:help:wrap_views' => "Dit omwikkeld alle views met een HTML comment block. Dit kan je helpen indien je wilt weten welke view de HTML heeft gegenereerd. -Dit kan potentieel non-HTML views niet laten functioneren. Bekijk de developers_wrap_views() functie voor meer informatie.", +Dit kan potentieel non-HTML views niet laten functioneren.", 'developers:label:log_events' => "Log events", 'developers:help:log_events' => "Schrijf events naar de log. Waarschuwing: dit zijn er veel per pagina.", - 'developers:label:show_gear' => "Gebruik %s buiten de admin sectie", - 'developers:help:show_gear' => "Een icoon onderaan rechts van het venster dat administrators toegang geeft tot ontwikkelaars instellingen en links.", 'developers:label:block_email' => "Blokkeer alle uitgaande emails", 'developers:help:block_email' => "Het is mogelijk om alle uitgaande emails naar reguliere gebruikers of naar alle gebruikers", 'developers:label:forward_email' => "Stuur alle uitgaande emails naar één adres", @@ -51,8 +50,6 @@ 'developers:label:enable_error_log' => "Schakel error logging in", 'developers:help:enable_error_log' => "Maak een eigen logbestand aan met fouten en berichten welke gelogd worden via error_log() gebaseerd op je loglevel instellingen. Deze log is zichtbaar via de beheer pagina.", - 'developers:label:submit' => "Opslaan en cache wissen", - 'developers:block_email:forward' => 'Stuur alle emails door', 'developers:block_email:users' => 'Enkel voor gewone gebruikers', 'developers:block_email:all' => 'Beheerders en gewone gebruikers', @@ -82,6 +79,7 @@ 'developers:inspect:events' => 'Events', 'developers:inspect:menus' => 'Menu\'s', 'developers:inspect:priority' => 'Prioriteit', + 'developers:inspect:seeders' => 'Seeders', 'developers:inspect:simplecache' => 'Simple Cache', 'developers:inspect:routes' => 'Routes', 'developers:inspect:views' => 'Views', @@ -112,29 +110,6 @@ 'developers:boot_cache_rebuilt' => "De boot cache is herbouwd voor deze pagina", 'developers:elapsed_time' => "Tijd verstreken (s)", - // theme sandbox - 'theme_sandbox:intro' => 'Introductie', - 'theme_sandbox:breakout' => 'Verlaat het iframe', - 'theme_sandbox:buttons' => 'Knoppen', - 'theme_sandbox:components' => 'Componenten', - 'theme_sandbox:email' => 'Email', - 'theme_sandbox:forms' => 'Formulieren', - 'theme_sandbox:grid' => 'Raster', - 'theme_sandbox:icons' => 'Iconen', - 'theme_sandbox:javascript' => 'JavaScript', - 'theme_sandbox:layouts' => 'Lay-outs', - 'theme_sandbox:modules' => 'Modules', - 'theme_sandbox:navigation' => 'Paginanavigatie', - 'theme_sandbox:typography' => 'Typografie', - - 'theme_sandbox:icons:blurb' => 'Gebruik elgg_view_icon($name) of de klasse elgg-icon-$name om iconen weer te geven.', - - 'theme_sandbox:test_email:button' => "Stuur test email", - 'theme_sandbox:test_email:success' => "Test email verzonden naar: %s", - - // status messages - 'developers:settings:success' => 'Instellingen opgeslagen', - 'developers:amd' => 'AMD', 'admin:develop_tools:error_log' => 'Fouten logboek', diff --git a/mod/developers/languages/ru.php b/mod/developers/languages/ru.php new file mode 100644 index 00000000000..988e3198908 --- /dev/null +++ b/mod/developers/languages/ru.php @@ -0,0 +1,114 @@ + 'Инструменты', + + // menu + 'admin:develop_tools:inspect' => 'Проверить', + 'admin:inspect' => 'Проверить', + 'admin:develop_tools:unit_tests' => 'Модульные Тесты', + 'admin:develop_tools:entity_explorer' => 'Исследователь сущностей', + 'admin:developers' => 'Разработчики', + 'admin:developers:settings' => 'Настройки', + + // settings + 'elgg_dev_tools:settings:explanation' => 'Управление настройками разработки и отладки. Некоторые из этих настроек также доступны на других страницах администрирования.', + 'developers:label:simple_cache' => 'Использовать простой кэш', + 'developers:help:simple_cache' => 'Выключайте этот кэш во время разработки. Иначе изменения сделанные вами в CSS и JavaSctipt будут проигнорированы.', + 'developers:label:system_cache' => 'Использовать кэш системы', + 'developers:help:system_cache' => 'Выключайте во время разработки. Иначе изменения в ваших плагинах не будут зарегистрированы.', + 'developers:label:debug_level' => "Уровень отладки", + 'developers:help:debug_level' => "Эта опция управляет количеством информации попадающей в логи. Смотрите документацию по функции elgg_log() для большей информации.", + 'developers:label:display_errors' => 'Отображать критические ошибки PHP', + 'developers:help:display_errors' => "По умолчанию Elgg в .htaccess файле подавляет вывод критических ошибок.", + 'developers:label:screen_log' => "Отладка на экран", + 'developers:help:screen_log' => "Вывод функций elgg_log() и elgg_dump()и подсчет запросов к БД на страницу.", + 'developers:show_strings:default' => "Нормальный перевод", + 'developers:show_strings:key_append' => "Ключ перевода добавлен", + 'developers:show_strings:key_only' => "Показать только ключ перевода", + 'developers:label:show_strings' => "Показывать ключи перевода", + 'developers:help:show_strings' => "Вывод ключей для перевода используемых в функции elgg_echo() вместо самого перевода.", + 'developers:label:show_modules' => "Показать модули AMD, загруженные в консоль", + 'developers:help:show_modules' => "Передает загруженные модули и значения в вашу консоль JavaScript.", + 'developers:label:wrap_views' => "Оборачивать views", + 'developers:help:wrap_views' => "Это оборачивает почти каждое представление комментариями HTML. Полезно для поиска представления, создающего конкретный HTML. + Это может привести к поломке представлений, отличных от HTML, в типе представления по умолчанию.", + 'developers:label:log_events' => "Журнал событий", + 'developers:help:log_events' => "Запись событий в журнал. Предупреждение: их много на странице.", + 'developers:label:block_email' => "Блокировать все исходящие электронные письма", + 'developers:help:block_email' => "Вы можете заблокировать исходящие сообщения электронной почты обычным пользователям или всем пользователям.", + 'developers:label:forward_email' => "Пересылать все исходящие электронные письма на один адрес", + 'developers:help:forward_email' => "Все исходящие электронные письма будут отправляться на настроенный адрес электронной почты.", + 'developers:label:enable_error_log' => "Включить журнал ошибок", + 'developers:help:enable_error_log' => "Ведите отдельный журнал ошибок и сообщений, зарегистрированных в error_log(), в зависимости от настройки уровня трассировки. Журнал доступен для просмотра через интерфейс администратора.", + + 'developers:block_email:forward' => 'Переслать все электронные письма', + 'developers:block_email:users' => 'Только обычные пользователи', + 'developers:block_email:all' => 'Админы и обычные пользователи', + + 'developers:debug:off' => 'Выключено', + 'developers:debug:error' => 'Ошибка', + 'developers:debug:warning' => 'Предупреждение', + 'developers:debug:notice' => 'Замечание', + 'developers:debug:info' => 'Информация', + + // entity explorer + 'developers:entity_explorer:help' => 'Просмотр информации об объектах и выполнение некоторых основных действий над ними.', + 'developers:entity_explorer:guid:label' => 'Введите guid объекта для проверки', + 'developers:entity_explorer:info' => 'Информация об объекте', + 'developers:entity_explorer:info:attributes' => 'Атрибуты', + 'developers:entity_explorer:info:metadata' => 'Метаданные', + 'developers:entity_explorer:info:relationships' => 'Отношения', + 'developers:entity_explorer:info:owned_acls' => 'Коллекции собственного доступа', + 'developers:entity_explorer:info:acl_memberships' => 'Членство в коллекциях доступа', + 'developers:entity_explorer:delete_entity' => 'Удалить этот объект', + 'developers:entity_explorer:inspect_entity' => 'Проверить этот объект', + 'developers:entity_explorer:view_entity' => 'Посмотреть этот объект на сайте', + + // inspection + 'developers:inspect:help' => 'Проверить конфигурацию фреймворка Elgg', + 'developers:inspect:actions' => 'Действия', + 'developers:inspect:events' => 'События', + 'developers:inspect:menus' => 'Меню', + 'developers:inspect:priority' => 'Приоритет', + 'developers:inspect:seeders' => 'Seeders', + 'developers:inspect:simplecache' => 'Простой кэш', + 'developers:inspect:routes' => 'Маршруты', + 'developers:inspect:views' => 'Представления', + 'developers:inspect:views:all_filtered' => "Примечание! Весь ввод/вывод просмотра фильтруется через эти события:", + 'developers:inspect:views:input_filtered' => "(ввод отфильтрован обработчиком событий: %s)", + 'developers:inspect:views:filtered' => "(отфильтровано обработчиком событий: %s)", + 'developers:inspect:widgets' => 'Виджеты', + 'developers:inspect:widgets:context' => 'Контекст', + 'developers:inspect:functions' => 'Функции', + 'developers:inspect:file_location' => 'Путь к файлу из Elgg корня или контроллера', + 'developers:inspect:route' => 'Название маршрута', + 'developers:inspect:path' => 'Шаблон пути', + 'developers:inspect:resource' => 'Представление ресурсов', + 'developers:inspect:handler' => 'Обработчик', + 'developers:inspect:controller' => 'Контроллер', + 'developers:inspect:file' => 'Файл', + 'developers:inspect:middleware' => 'Файл', + 'developers:inspect:handler_type' => 'Обрабатывается', + 'developers:inspect:services' => 'Сервисы', + 'developers:inspect:service:name' => 'Наименование', + 'developers:inspect:service:path' => 'Определение', + 'developers:inspect:service:class' => 'Класс', + + // event logging + 'developers:request_stats' => "Статистика запросов (не включает событие выключения)", + 'developers:event_log_msg' => "%s: '%s, %s' в %s", + 'developers:log_queries' => "Запросы к БД: %s", + 'developers:boot_cache_rebuilt' => "Загрузочный кеш был перестроен для этого запроса", + 'developers:elapsed_time' => "Прошедшее время (сек)", + + 'developers:amd' => 'AMD', + + 'admin:develop_tools:error_log' => 'Журнал ошибок', + 'developers:logs:empty' => 'Журнал ошибок пуст', +); diff --git a/mod/externalpages/languages/cs.php b/mod/externalpages/languages/cs.php index cdfc744970e..6f4eb232188 100644 --- a/mod/externalpages/languages/cs.php +++ b/mod/externalpages/languages/cs.php @@ -10,6 +10,7 @@ /** * Menu items and titles */ + 'expages:edit:viewpage' => "Zobrazit na stránce", 'expages:about' => "O těchto stránkách", 'expages:terms' => "Podmínky", diff --git a/mod/externalpages/languages/de.php b/mod/externalpages/languages/de.php index 095731937c8..973443c003a 100644 --- a/mod/externalpages/languages/de.php +++ b/mod/externalpages/languages/de.php @@ -11,6 +11,7 @@ * Menu items and titles */ 'admin:configure_utilities:expages' => "Externe Seiten", + 'expages:edit:viewpage' => "Diese externe Seite anzeigen", 'expages:about' => "Impressum", 'expages:terms' => "AGBs", diff --git a/mod/externalpages/languages/el.php b/mod/externalpages/languages/el.php index 5795dbb0d22..1f5aa5f15a0 100644 --- a/mod/externalpages/languages/el.php +++ b/mod/externalpages/languages/el.php @@ -10,6 +10,7 @@ /** * Menu items and titles */ + 'expages:edit:viewpage' => "Προβολή σελίδας", 'expages:about' => "Περί", 'expages:terms' => "Όροι Χρήσης", diff --git a/mod/externalpages/languages/es.php b/mod/externalpages/languages/es.php index dcb8ef17197..7f0668b227c 100644 --- a/mod/externalpages/languages/es.php +++ b/mod/externalpages/languages/es.php @@ -10,6 +10,7 @@ /** * Menu items and titles */ + 'expages:edit:viewpage' => "Ver página en el sitio", 'expages:about' => "Acerca de", 'expages:terms' => "Términos", diff --git a/mod/externalpages/languages/fi.php b/mod/externalpages/languages/fi.php index 26945b9c11c..6f39c936f49 100644 --- a/mod/externalpages/languages/fi.php +++ b/mod/externalpages/languages/fi.php @@ -10,6 +10,7 @@ /** * Menu items and titles */ + 'expages:edit:viewpage' => "Näytä sivu", 'expages:about' => "Tietoa", 'expages:terms' => "Käyttöehdot", diff --git a/mod/externalpages/languages/fr.php b/mod/externalpages/languages/fr.php index 82d0ea62efe..921d6aa66e8 100644 --- a/mod/externalpages/languages/fr.php +++ b/mod/externalpages/languages/fr.php @@ -11,6 +11,7 @@ * Menu items and titles */ 'admin:configure_utilities:expages' => "Pages du site", + 'expages:edit:viewpage' => "Voir la page sur le site", 'expages:about' => "À propos", 'expages:terms' => "Mentions légales", diff --git a/mod/externalpages/languages/gd.php b/mod/externalpages/languages/gd.php index 6eedd103cb7..1aa56fa35d2 100644 --- a/mod/externalpages/languages/gd.php +++ b/mod/externalpages/languages/gd.php @@ -11,6 +11,7 @@ * Menu items and titles */ 'admin:configure_utilities:expages' => "Duilleagan na Làraich", + 'expages:edit:viewpage' => "Seall an duilleag air an làrach", 'expages:about' => "Mu dheidhinn", 'expages:terms' => "Cumhaichean", diff --git a/mod/externalpages/languages/gl.php b/mod/externalpages/languages/gl.php index f9d99548e9d..0f3e0d91cea 100644 --- a/mod/externalpages/languages/gl.php +++ b/mod/externalpages/languages/gl.php @@ -10,6 +10,7 @@ /** * Menu items and titles */ + 'expages:edit:viewpage' => "Ver a páxina no sitio", 'expages:about' => "Información", 'expages:terms' => "Condicións", diff --git a/mod/externalpages/languages/it.php b/mod/externalpages/languages/it.php index d3a2a46d81f..4f5faace1bd 100644 --- a/mod/externalpages/languages/it.php +++ b/mod/externalpages/languages/it.php @@ -11,6 +11,7 @@ * Menu items and titles */ 'admin:configure_utilities:expages' => "Pagine del sito", + 'expages:edit:viewpage' => "Visualizza pagina nel sito", 'expages:about' => "Informazioni", 'expages:terms' => "Termini", diff --git a/mod/externalpages/languages/ja.php b/mod/externalpages/languages/ja.php index 51dd9d9e285..dffb6382a37 100644 --- a/mod/externalpages/languages/ja.php +++ b/mod/externalpages/languages/ja.php @@ -11,6 +11,7 @@ * Menu items and titles */ 'admin:configure_utilities:expages' => "サイトページ", + 'expages:edit:viewpage' => "サイトのページを見る", 'expages:about' => "このサイトについて", 'expages:terms' => "利用条件", diff --git a/mod/externalpages/languages/ko.php b/mod/externalpages/languages/ko.php index d625aaecdae..111609b7bc6 100644 --- a/mod/externalpages/languages/ko.php +++ b/mod/externalpages/languages/ko.php @@ -11,6 +11,7 @@ * Menu items and titles */ 'admin:configure_utilities:expages' => "사이트 페이지", + 'expages:edit:viewpage' => "사이트의 페이지 보기", 'expages:about' => "정보", 'expages:terms' => "용어", diff --git a/mod/externalpages/languages/nl.php b/mod/externalpages/languages/nl.php index 4acc7c94d78..30e3e7a15ad 100644 --- a/mod/externalpages/languages/nl.php +++ b/mod/externalpages/languages/nl.php @@ -11,6 +11,8 @@ * Menu items and titles */ 'admin:configure_utilities:expages' => "Externe pagina's", + 'menu:expages:header' => "Externe pagina's", + 'expages:edit:viewpage' => "Bekijk pagina op de site", 'expages:about' => "Over ons", 'expages:terms' => "Algemene voorwaarden", diff --git a/mod/externalpages/languages/pl.php b/mod/externalpages/languages/pl.php index 8b3aa30d93e..a40f257423f 100644 --- a/mod/externalpages/languages/pl.php +++ b/mod/externalpages/languages/pl.php @@ -10,6 +10,7 @@ /** * Menu items and titles */ + 'expages:edit:viewpage' => "Zobacz stronę na portalu", 'expages:about' => "O nas", 'expages:terms' => "Regulamin", diff --git a/mod/externalpages/languages/ro_ro.php b/mod/externalpages/languages/ro_ro.php index bf2ae19f1cb..5dd1dcd9120 100644 --- a/mod/externalpages/languages/ro_ro.php +++ b/mod/externalpages/languages/ro_ro.php @@ -11,6 +11,7 @@ * Menu items and titles */ 'admin:configure_utilities:expages' => "Pagini de Site", + 'expages:edit:viewpage' => "Vezi pagina pe site", 'expages:about' => "Despre", 'expages:terms' => "Termeni", diff --git a/mod/externalpages/languages/ru.php b/mod/externalpages/languages/ru.php index 1860f31fdb8..41ff3539117 100644 --- a/mod/externalpages/languages/ru.php +++ b/mod/externalpages/languages/ru.php @@ -11,6 +11,7 @@ * Menu items and titles */ 'admin:configure_utilities:expages' => "Страницы сайта", + 'expages:edit:viewpage' => "Просмотр страницы на сайте", 'expages:about' => "О сайте", 'expages:terms' => "Правила", diff --git a/mod/externalpages/languages/sr.php b/mod/externalpages/languages/sr.php index f9b7b29b777..596dfeaec4b 100644 --- a/mod/externalpages/languages/sr.php +++ b/mod/externalpages/languages/sr.php @@ -10,6 +10,7 @@ /** * Menu items and titles */ + 'expages:edit:viewpage' => "Погледај страницу на сајту", 'expages:about' => "О сајту", 'expages:terms' => "Услови коришћења", diff --git a/mod/externalpages/languages/sv.php b/mod/externalpages/languages/sv.php index b2fde477b91..0b3a65f6da9 100644 --- a/mod/externalpages/languages/sv.php +++ b/mod/externalpages/languages/sv.php @@ -11,6 +11,7 @@ * Menu items and titles */ 'admin:configure_utilities:expages' => "Webbplatsens Sidor", + 'expages:edit:viewpage' => "Visa sida på webbplatsen", 'expages:about' => "Om", 'expages:terms' => "Villkor", diff --git a/mod/friends_collections/languages/nl.php b/mod/friends_collections/languages/nl.php index fb12a42e151..3a29178df89 100644 --- a/mod/friends_collections/languages/nl.php +++ b/mod/friends_collections/languages/nl.php @@ -6,6 +6,7 @@ */ return array( + 'menu:friends:collection:header' => 'Vriendenlijst', 'friends:collections' => 'Vriendenlijsten', 'friends:collections:no_results' => 'Je hebt nog geen vriendenlijsten aangemaakt', 'friends:collection:members:no_results' => 'Deze vriendenlijst heeft nog geen leden', diff --git a/mod/groups/languages/cs.php b/mod/groups/languages/cs.php index 850eff436c2..aab24e954f8 100644 --- a/mod/groups/languages/cs.php +++ b/mod/groups/languages/cs.php @@ -137,4 +137,6 @@ 'groups:add:alreadymember' => "%s je již členem této skupiny", // Notification settings + + // accessibility ); diff --git a/mod/groups/languages/da.php b/mod/groups/languages/da.php index 9be34cbb885..d18210e3b8c 100644 --- a/mod/groups/languages/da.php +++ b/mod/groups/languages/da.php @@ -126,4 +126,6 @@ 'groups:joinrequestkilled' => 'Anmodningen om tilslutning er blevet slettet.', // Notification settings + + // accessibility ); diff --git a/mod/groups/languages/de.php b/mod/groups/languages/de.php index fb3455b53d2..da960af48bd 100644 --- a/mod/groups/languages/de.php +++ b/mod/groups/languages/de.php @@ -180,4 +180,6 @@ 'groups:usersettings:notifications:title' => 'Gruppen-Benachrichtigungen', 'groups:usersettings:notifications:description' => 'Um Benachrichtigungen zu erhalten, wenn zu einer Gruppe, in der Du Mitglied bist, neue Inhalte hinzugefügt werden, kannst Du individuell für jede Gruppe im Folgenden die Methode(n) festlegen, die verwendet werden soll(en).', + + // accessibility ); diff --git a/mod/groups/languages/el.php b/mod/groups/languages/el.php index f276dbb4543..c3f132dfb39 100644 --- a/mod/groups/languages/el.php +++ b/mod/groups/languages/el.php @@ -133,4 +133,6 @@ 'groups:add:alreadymember' => "Ο/η %s είναι ήδη μέλος της ομάδας", // Notification settings + + // accessibility ); diff --git a/mod/groups/languages/es.php b/mod/groups/languages/es.php index 523cf74a3dc..4aa6e01fbed 100644 --- a/mod/groups/languages/es.php +++ b/mod/groups/languages/es.php @@ -137,4 +137,6 @@ 'groups:add:alreadymember' => "%s ya forma parte del grupo.", // Notification settings + + // accessibility ); diff --git a/mod/groups/languages/fi.php b/mod/groups/languages/fi.php index 14e9c0eaec6..1b1e12c4816 100644 --- a/mod/groups/languages/fi.php +++ b/mod/groups/languages/fi.php @@ -137,4 +137,6 @@ 'groups:add:alreadymember' => "%s on jo tämän ryhmän jäsen", // Notification settings + + // accessibility ); diff --git a/mod/groups/languages/fr.php b/mod/groups/languages/fr.php index b6833795789..fea0787793d 100644 --- a/mod/groups/languages/fr.php +++ b/mod/groups/languages/fr.php @@ -178,4 +178,6 @@ 'groups:usersettings:notifications:title' => 'Notifications du groupe', 'groups:usersettings:notifications:description' => 'Pour recevoir des notifications quand de nouveaux contenus sont publiés dans un groupe dont vous êtes membre, cherchez et choisissez ci-dessous la ou les méthodes de notification que vous souhaitez utiliser.', + + // accessibility ); diff --git a/mod/groups/languages/gl.php b/mod/groups/languages/gl.php index 4f5f4bbb0f1..d54f90ff268 100644 --- a/mod/groups/languages/gl.php +++ b/mod/groups/languages/gl.php @@ -136,4 +136,6 @@ 'groups:add:alreadymember' => "%s xa pertence ao grupo.", // Notification settings + + // accessibility ); diff --git a/mod/groups/languages/it.php b/mod/groups/languages/it.php index 2fda7e745c5..6ec7b4dc30c 100644 --- a/mod/groups/languages/it.php +++ b/mod/groups/languages/it.php @@ -146,4 +146,6 @@ 'groups:add:alreadymember' => "%s è già membro di questo gruppo", // Notification settings + + // accessibility ); diff --git a/mod/groups/languages/ja.php b/mod/groups/languages/ja.php index bb9653ad4cc..76b46e39d16 100644 --- a/mod/groups/languages/ja.php +++ b/mod/groups/languages/ja.php @@ -175,4 +175,6 @@ 'groups:usersettings:notifications:title' => 'グループの通知', 'groups:usersettings:notifications:description' => 'あなたの参加しているグループに新しいコンテンツが追加されたときの通知の受け取り方を、下から選択してください。(複数可)', + + // accessibility ); diff --git a/mod/groups/languages/nl.php b/mod/groups/languages/nl.php index f32d62515e0..2f7ebe3a50f 100644 --- a/mod/groups/languages/nl.php +++ b/mod/groups/languages/nl.php @@ -178,4 +178,8 @@ 'groups:usersettings:notifications:title' => 'Groepsnotificaties', 'groups:usersettings:notifications:description' => 'Om notificaties te ontvangen uit groepen waar je lid van bent kun je in onderstaande lijst aangeven of en hoe je op de hoogte moet worden gebracht', + + // accessibility + 'groups:aria:label:group_search' => "Zoek naar groepen", + 'groups:aria:label:search_in_group' => "Zoek in deze groep", ); diff --git a/mod/groups/languages/pl.php b/mod/groups/languages/pl.php index d9c55837e55..e915fd986ae 100644 --- a/mod/groups/languages/pl.php +++ b/mod/groups/languages/pl.php @@ -136,4 +136,6 @@ 'groups:add:alreadymember' => "%s jest już członkiem tej grupy", // Notification settings + + // accessibility ); diff --git a/mod/groups/languages/ro_ro.php b/mod/groups/languages/ro_ro.php index 8d184662fdf..d6ece19911f 100644 --- a/mod/groups/languages/ro_ro.php +++ b/mod/groups/languages/ro_ro.php @@ -176,4 +176,6 @@ 'groups:usersettings:notifications:title' => 'Notificări de Grup', 'groups:usersettings:notifications:description' => 'Pentru a primii notificări atunci când se adaugă conținut nou pe un grup al cărui membru ești, găsește-l mai jos și selectează metoda(ele) de notificare pe care dorești să o(le) folosești.', + + // accessibility ); diff --git a/mod/groups/languages/ru.php b/mod/groups/languages/ru.php index 40342cc183f..188a7e326d7 100644 --- a/mod/groups/languages/ru.php +++ b/mod/groups/languages/ru.php @@ -178,4 +178,6 @@ 'groups:usersettings:notifications:title' => 'Уведомления группы', 'groups:usersettings:notifications:description' => 'Чтобы получать уведомления, когда новый контент добавляется в группу, членом которой вы являетесь, найдите его ниже и выберите способ(ы) уведомления, который вы хотите использовать.', + + // accessibility ); diff --git a/mod/groups/languages/sr.php b/mod/groups/languages/sr.php index 8797e98cde6..7c023cc2756 100644 --- a/mod/groups/languages/sr.php +++ b/mod/groups/languages/sr.php @@ -135,4 +135,6 @@ 'groups:add:alreadymember' => "%s је већ члан ове групе", // Notification settings + + // accessibility ); diff --git a/mod/groups/languages/sv.php b/mod/groups/languages/sv.php index 071201d0ed7..4c710d1bb64 100644 --- a/mod/groups/languages/sv.php +++ b/mod/groups/languages/sv.php @@ -156,4 +156,6 @@ 'groups:add:alreadymember' => "%s är redan medlem i den här gruppen", // Notification settings + + // accessibility ); diff --git a/mod/members/languages/nl.php b/mod/members/languages/nl.php index f0cf97b4e96..97070beeffb 100644 --- a/mod/members/languages/nl.php +++ b/mod/members/languages/nl.php @@ -9,6 +9,7 @@ 'members:label:online' => 'Online', 'members:label:search' => 'Zoekresultaten', 'members:search' => 'Zoek leden', + 'members:aria:label:member_search' => "Zoeken naar leden", 'members:title:search' => "Leden gezocht op '%s'", 'members:total' => 'Totaal aantal leden: %s', 'members:title:all' => 'Alle leden', diff --git a/mod/pages/languages/nl.php b/mod/pages/languages/nl.php index 5d409794ea6..d766df684de 100644 --- a/mod/pages/languages/nl.php +++ b/mod/pages/languages/nl.php @@ -19,6 +19,7 @@ 'collection:object:page:group' => "Groepspagina's", 'add:object:page' => "Nieuwe pagina", 'edit:object:page' => "Bewerk deze pagina", + 'menu:pages_nav:header' => "Subpagina's", 'notification:object:page:create' => "Stuur een notificatie wanneer een pagina is gemaakt", 'notifications:mute:object:page' => "over de pagina '%s'", diff --git a/mod/profile/languages/nl.php b/mod/profile/languages/nl.php index 51934cd8c57..92a9a4c6d11 100644 --- a/mod/profile/languages/nl.php +++ b/mod/profile/languages/nl.php @@ -10,6 +10,7 @@ 'profile:notfound' => 'Sorry. Het opgegeven profiel kon niet gevonden worden.', 'admin:configure_utilities:profile_fields' => 'Bewerk profielvelden', + 'menu:profile_admin:header' => 'Profielbeheer', 'profile:edit' => 'Bewerk profiel', 'profile:edit:header' => 'Bewerk kopafbeelding profiel', diff --git a/mod/search/languages/nl.php b/mod/search/languages/nl.php index 6233a4f06b0..1edf0bb7a29 100644 --- a/mod/search/languages/nl.php +++ b/mod/search/languages/nl.php @@ -12,4 +12,6 @@ 'search:comment_on' => 'Reacties op "%s"', 'search:unknown_entity' => 'Onbekend Entity type', 'search:empty_query' => 'Voer een geldige zoekopdracht in', + + 'search:aria:label:site_search' => "Zoeken op de site", ); From c11e9f841efdad8c7bbc8ab1cd9dc3a45a5a4de6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jer=C3=B4me=20Bakker?= Date: Wed, 18 Oct 2023 11:47:46 +0200 Subject: [PATCH 2/3] chore(i18n): updated Transifex configuration to include theme_sandbox --- .tx/config | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.tx/config b/.tx/config index f2e9a7ec0ab..ef56337741c 100644 --- a/.tx/config +++ b/.tx/config @@ -164,6 +164,12 @@ source_file = mod/tagcloud/languages/en.php source_lang = en type = PHP_ARRAY +[o:elgg:p:elgg-core-5:r:theme_sandbox] +file_filter = mod/theme_sandbox/languages/.php +source_file = mod/theme_sandbox/languages/en.php +source_lang = en +type = PHP_ARRAY + [o:elgg:p:elgg-core-5:r:thewire] file_filter = mod/thewire/languages/.php source_file = mod/thewire/languages/en.php From 0652d030a390b63aec580483a4f6ac22958d5693 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jer=C3=B4me=20Bakker?= Date: Wed, 18 Oct 2023 11:50:52 +0200 Subject: [PATCH 3/3] chore(i18n): update translations --- mod/theme_sandbox/languages/fr.php | 28 ++++++++++++++++++++++++++++ mod/theme_sandbox/languages/nl.php | 29 +++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 mod/theme_sandbox/languages/fr.php create mode 100644 mod/theme_sandbox/languages/nl.php diff --git a/mod/theme_sandbox/languages/fr.php b/mod/theme_sandbox/languages/fr.php new file mode 100644 index 00000000000..c66f60ac34f --- /dev/null +++ b/mod/theme_sandbox/languages/fr.php @@ -0,0 +1,28 @@ + 'Bac à sable du thème', + + 'theme_sandbox:intro' => 'Introduction', + 'theme_sandbox:breakout' => 'Sortir de l\'iframe', + 'theme_sandbox:buttons' => 'Boutons', + 'theme_sandbox:components' => 'Composants', + 'theme_sandbox:email' => 'E-mail', + 'theme_sandbox:forms' => 'Formulaires', + 'theme_sandbox:grid' => 'Grille', + 'theme_sandbox:icons' => 'Icônes', + 'theme_sandbox:javascript' => 'JavaScript', + 'theme_sandbox:layouts' => 'Mises en page', + 'theme_sandbox:modules' => 'Modules', + 'theme_sandbox:typography' => 'Typographie', + + 'theme_sandbox:icons:blurb' => 'Utilisez elgg_view_icon($name) pour afficher des icônes. ', + + 'theme_sandbox:test_email:button' => "Envoyer un e-mail de test", + 'theme_sandbox:test_email:success' => "E-mail de test envoyé à : %s", +); diff --git a/mod/theme_sandbox/languages/nl.php b/mod/theme_sandbox/languages/nl.php new file mode 100644 index 00000000000..e5846ba1aec --- /dev/null +++ b/mod/theme_sandbox/languages/nl.php @@ -0,0 +1,29 @@ + 'Theme Sandbox', + + 'theme_sandbox:intro' => 'Introductie', + 'theme_sandbox:breakout' => 'Verlaat het iframe', + 'theme_sandbox:buttons' => 'Knoppen', + 'theme_sandbox:components' => 'Componenten', + 'theme_sandbox:email' => 'Email', + 'theme_sandbox:forms' => 'Formulieren', + 'theme_sandbox:grid' => 'Raster', + 'theme_sandbox:icons' => 'Iconen', + 'theme_sandbox:javascript' => 'JavaScript', + 'theme_sandbox:layouts' => 'Lay-outs', + 'theme_sandbox:modules' => 'Modules', + 'theme_sandbox:navigation' => 'Navigatie', + 'theme_sandbox:typography' => 'Typografie', + + 'theme_sandbox:icons:blurb' => 'Gebruik elgg_view_icon($name) om iconen weer te geven.', + + 'theme_sandbox:test_email:button' => "Stuur test email", + 'theme_sandbox:test_email:success' => "Test email verzonden naar: %s", +);