From 1ce14086cb8edf10a47e5423e386bf504f1c3e9d Mon Sep 17 00:00:00 2001
From: Alexandre Aubin <4533074+alexAubin@users.noreply.github.com>
Date: Tue, 30 Apr 2024 23:09:12 +0200
Subject: [PATCH] appgenerator : Readme + compile .po/.mo (#2276)
* appgenerator: add README.md
* appgenerator: compile .po/.mo
---
tools/app_generator/README.md | 42 ++++++++++++++++++
.../translations/en/LC_MESSAGES/messages.mo | Bin 445 -> 445 bytes
.../translations/es/LC_MESSAGES/messages.mo | Bin 445 -> 445 bytes
.../translations/fr/LC_MESSAGES/messages.mo | Bin 17924 -> 17671 bytes
4 files changed, 42 insertions(+)
create mode 100644 tools/app_generator/README.md
diff --git a/tools/app_generator/README.md b/tools/app_generator/README.md
new file mode 100644
index 00000000..c2667693
--- /dev/null
+++ b/tools/app_generator/README.md
@@ -0,0 +1,42 @@
+# YunoHost app generator
+
+This is a Flask app generating a draft .zip of a YunoHost application after filling a form
+
+## Developement
+
+```bash
+python3 -m venv venv
+source venv/bin/activate
+pip3 install -r requirements.txt
+
+# you need to manually download the assets to have access to the css and the javascript files
+(cd assets && bash fetch_assets)
+```
+
+And then start the dev server:
+
+```bash
+source venv/bin/activate
+FLASK_APP=app.py FLASK_ENV=development flask --debug run
+```
+
+## Translation
+
+It's based on Flask-Babel :
+
+```bash
+source venv/bin/activate
+
+# Extract the english sentences from the code, needed if you modified it
+pybabel extract --ignore-dirs venv -F babel.cfg -o messages.pot .
+
+# If working on a new locale: initialize it (in this example: fr)
+pybabel init -i messages.pot -d translations -l fr
+# Otherwise, update the existing .po:
+pybabel update -i messages.pot -d translations
+
+# ... translate stuff in translations//LC_MESSAGES/messages.po
+# re-run the 'update' command to let Babel properly format the text
+# then compile:
+pybabel compile -d translations
+```
diff --git a/tools/app_generator/translations/en/LC_MESSAGES/messages.mo b/tools/app_generator/translations/en/LC_MESSAGES/messages.mo
index bb9daa4aa9194a35bc7f19ba45df3b4f6be2646e..a7421a92e6666e2bf30a17ad3399a3c84d7dd3a2 100644
GIT binary patch
delta 27
icmdnXyq9@GAD4-)k(q*_sg<$i#u*BXtR{K}Tnqqi;RdMy
delta 27
icmdnXyq9@GAD6MNv7v&Ik(G(r#u*BXtOk0+qIRrN&|tj>eTZ3Af`YrFzt3d>FxvAL4CzB>#o_9TG#G#|pfF
zld-r=sdB8x&De}9aUa&>d6WbP-;%cmYq)O3LAVp;eGlg_zWN3q?&QXClu}&Asrcj&
zr3T_LT#mm+Nw8#SKH+K{!1Ziw#rY@$Jc0-C2^@pf!}67CMu`{0)wmOfF}^xp_~I>`
z$@OXcDHf6D20Vnn#DC!o{P}Q#%)!Vyk0FmDO9wWYk$?lIpK0rTzrj2I@a3&y}*Xmf%>F1h!x|
z?m|iI1C+J?1o@{**_pCAHUBNZJI7If*(^cfixB0-BPa=F3-{kBT)&GKxqlf~;(4Y!
z1*b5J`M41^ejk(g3hu=U*5MvJj5QG^fQz}V>7nOjh6&`JdJtvc5M_pkP}b^IoP%dj
z1}Y=r^Z1~vl=?m1hZ}L~
z?fK33D9ZKO!gWKnQr}^~M^O?RPEYcRnvNRR;dFFSmgFZW6+VUJuKt8lv40~)>``?z
zr_6jY$}YVRCGZ}U&D4txcnT%pC1gLT^4k2slTbEe8%i7(J^VJV#Rxn14qT6nslJ7T
zP)Biw^#2(?4B|!!y(61t2rk7+lr`RtFXK^MfcKOBKs?wP
zi%{Z+coLsQ9#!}9(iFy5kMW@tU&d{C9A$b6O>Dzrc
z6njwu{R-u|cW?my8Kr`M!(n(CWeJOD8HwM9&)`m!=Zoj&yR39B^=B8VTe%_5#x=MK
z7CW&8n|MpxX1Qn~hKV&OrQc0Gd=v7A=B7pEgbt37i5
zuH!=)PjwPtE4Fd{8+MuuG?0at8H__oXaUO1HzV6X?Lb1P{U}Rt26LtVD))(3g$KF6
zmAV(>Kk)=!!6SJ0@x}Q+Ch?a10GCiQzhy~&)3xAO0`=fl?*D+g-jA1Y3$AOWW${RB
zIAw5k`NoXryQY!WmK}H8bhu;i=21@IMomxq4mT~|GE&y=@a*8Ok*=8tQiiL|2Q#ke
zd6r{mcb9D|%8nX3AW~x5Q7fz%RzE80q|=5r?AUb2)n3LRROk+yzr^TFnc4_^CvEsv
zR0o-u;hWltYp*a~UEo=ELL0i%@wFS+wp^KArn^hqRwC)whc6Dh5N>ZAm_1PbOr#>{
z&)jq3ez)P8+VXVL@q9BDwvCvwff;06Cu6$WHB+YHaZN(Lk?agIxymu&N27l<#Fm+nO_yQ&;Ui;C78zD{(b%0u3%D2cb;__4fsrs(N78Y99W%YC
zYh`>2t?Nv?{>Iyg*u4(!xY1*FE
zWwKXI&$Rvg#OVszbtKWCGY+lRnVP&yrwA+)lCRPR(~7fk1Kzv(kQu&Sx@d^mm}t~=
zgfviCRaTixeeIf#4PRTax?@92dwXsMRytP-+ouR|meFUn1rfIY0=$W(U-O-#~Fll0>xT$eQxNUNC>D7J=Uz_|<_>0={uhf+k
zXYZc+-AMRB!@BT|+PM|FuFEoXK)*P08aMwoF-9@TsCO#Q2CgR4O-2_T18sBNfa0dhNbm>DIv2vE0D@XGQq-vbi0fZF)VAofYHklC#OviNdS7
zDN)aSyGZZL*(0I8pzn#1?X4+_v`OI4wPY@S+~Gv*?@TJfT+-A?Vj97N`7z`e&J`!c
zJ{WhcyRYr-FA>VnY0EQZyd5%`7;ANP4r{OL$3pP_G;g>4o98Ki=yWd4t+^Rr*Ma{}
Kmia(8OY*(}^Xd>6m+;^QT#6@gG5#23;M0@O
z|ALIEKE_p8HeadrSc8kO7q7&_xF3IjjrcK2!0Rq78O1v8ufaJguhgwv$N+a?2R?|M
z_&RRG$^}YEiu!Q_zKs{){Dn$gj!W=j{31%gKFR_@oQ;p*9DEGFjs?632bi>p`Bj1o
zvZC(B0X%`cquxcC=pVQlKf#A_Qzfg!*YSC5Vzy0q25-kzOUNcZj8CH`t@q%sQMM>W
z{v|UvV_s7DI2Wz>8uC{~2v1g0g_4O&QC5&e*@Ek_1#iLzd;**C4U`PcX2a$E%_!q+
zN6FBY*pA0=48L1N{^bKr#gyT8l$Gy5iF7|oO_<1Ts4--b>Q-d&>H(A#kE3Mp36%Fv
z;T}AVYj7@;jAA27VBbb!P~#Vq{~cVszym3ge<9ydtC(G0Y(oj43+4IXxv6
zC|h-W(vv7%b9&PEP$sBkxf1XOEjG*1*Gw(xDkJg%%SGfW0KJg$Qo5YHsJ_LChx&Wg#91q
zLRR`%eW~3}qZH$(C=<0(VeE=Jh|M^HGC_z^tOX=y^)r;>JA*P_6(#QBW*ovtunj*#
zVpL5;Qz!jD#D%oaD9*u0kxo-jVh_H6eK?EJWv}<)llV23~KT|g1HBFPRhWe@_yWL86)f1iDC$z
zGvbdLF7HY}W{$xFBdvKP-|}?$O6{e!mS0a~e9mZblW|O9a%|!kOecLOUu8OIJ6Rj;emM$$Ez
z$nsO#@^x3?C-dh;$_+anp1!cL)zHTRhp!oSVx!|~FH2Bfqv|!ixNBu4$*eMPee=bW
z4I^$?wxBD#dBHn#413~xhUFEmTX-UJ(bT%N#fIbzD{aKmW>{0%lwuWW)9}~}#`XeN;4UwnQY?hO=5)$XsLW>J3EjsbgH!92W
z2`fHX73`0faz-^pUvgos@{@8|ifMtId;xH|q>JFTU%P
zvYp6Swl?DA!uDJBRZgG-kIhYw>4am~`#NQ`=NQ@1BN8nelxbD{Q^iNvdiaV1nhi2y
zq+{lj@S!D*5ifjs$$I`>xb*4p?WI4An1#ES9W7gya$H|0&f16u(=K!@zoEP$$a=nO
z8kz8!mFo-due>jkkM
z`~J&Yhx-1Hp?E3(KZlx3iFQVGZ{Kjwq5h%6{e#mPYt=hq?oQq7Xq$pdTC$b2=yYM*
zMut5s9S|`yY1z`y)TbvMMSWh9)-jVx^39}M>`BVBelTacIm;Za*Ip3I8g6*c>alR3
zx_!Qs3Gvuw+z%h9PUWLRL(+fxs=#(q4#_^y8yzB2l1u{~3oH(R>C*BXLSZx_@=ccj
z>{5Ydvohw0l?;eLPKz%TH!ouv9FxVUQ-XCBwdiE(>k+%?i>hDKvx
zkNWcHHJLHZ^sdQ|nB}&H%eU+dpWB=Y_iuSE>}vaSBwkq4ex@v}-g^5)QNk0s+JTRTqo+Md%l$~)-F1)&1as?
zbfP?4ICM@6Pd_^Mt^BzyIoXW^^|BYF^ms7=tlYOa_B5GJJ4q{UnQ2WL6BFaHfFFxE
zKbBOUXS#+I>BM-_ofzlHrTha*m0wA(g}(7E^Q_iXy-qyHgwgJM3$;5tBYEABb1awN
z=75?u+(e`5sb_;*CQh~_XhV`yFN4iA2^%}zwnRe9I|07{?2>WTTZB0ka