From cb6845bb35542a108e815430fb109d63edbb16d0 Mon Sep 17 00:00:00 2001 From: OniriCorpe Date: Sun, 18 Feb 2024 22:40:21 +0100 Subject: [PATCH 1/9] Many texts improvements, to enhance user understanding --- store/app.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/store/app.py b/store/app.py index f0863b9b..95083b21 100644 --- a/store/app.py +++ b/store/app.py @@ -204,7 +204,7 @@ def add_to_wishlist(): csrf_token = request.form["csrf_token"] if csrf_token != session.get("csrf_token"): - errormsg = _("Invalid CSRF token, please refresh the form and try again") + errormsg = _("Invalid CSRF token, please refresh the page and try again") return render_template( "wishlist_add.html", locale=get_locale(), @@ -220,12 +220,12 @@ def add_to_wishlist(): website = request.form["website"].strip().replace("\n", "") license = request.form["license"].strip().replace("\n", "") - boring_keywords_to_check_for_people_not_reading_the_instructions = ["free", "open source", "open-source", "self-hosted", "simple", "lightweight", "light-weight", "best", "most", "fast", "flexible", "puissante", "powerful", "secure"] + boring_keywords_to_check_for_people_not_reading_the_instructions = ["free", "open source", "open-source", "self-hosted", "simple", "lightweight", "light-weight", "léger", "best", "most", "fast", "rapide", "flexible", "puissante", "puissant", "powerful", "secure"] checks = [ ( check_wishlist_submit_ratelimit(session['user']['username']) is True, - _("Proposing wishlist additions is limited to once every 15 days per user.") + _("Proposing wishlist additions is limited to once every 15 days per user. Please try again in a few days.") ), (len(name) >= 3, _("App name should be at least 3 characters")), (len(name) <= 30, _("App name should be less than 30 characters")), @@ -298,7 +298,7 @@ def add_to_wishlist(): csrf_token=csrf_token, successmsg=None, errormsg=_( - "An entry with the name %(slug) already exists in the wishlist", + "An entry with the name %(slug) already exists in the wishlist, instead, you can add a star to the app to show your interest.", slug=slug, ), ) @@ -321,7 +321,7 @@ def add_to_wishlist(): print("... Failed to create branch ?") print(e) errormsg = _( - "Failed to create the pull request to add the app to the wishlist ... please report the issue to the yunohost team" + "Failed to create the pull request to add the app to the wishlist... Maybe there's already a waiting PR for this app? Else, please report the issue to the YunoHost team." ) return render_template( "wishlist_add.html", From 641d50bf63c808e2dbdbb9be2b4fd1eac8470f8d Mon Sep 17 00:00:00 2001 From: OniriCorpe Date: Sun, 18 Feb 2024 22:42:43 +0100 Subject: [PATCH 2/9] Allow html in errormsg --- store/templates/wishlist_add.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/store/templates/wishlist_add.html b/store/templates/wishlist_add.html index 29e6d54e..11770b20 100644 --- a/store/templates/wishlist_add.html +++ b/store/templates/wishlist_add.html @@ -49,7 +49,7 @@ {% endif %} From 80fff8984daedef02b0a5cadc69ce868c8a2b14e Mon Sep 17 00:00:00 2001 From: OniriCorpe Date: Mon, 19 Feb 2024 01:10:27 +0100 Subject: [PATCH 3/9] =?UTF-8?q?Add=20=E2=80=98pip3=20install=20tqdm=20GitP?= =?UTF-8?q?ython=E2=80=99=20required=20for=20list=5Fbuilder.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- store/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/store/README.md b/store/README.md index 6222f4eb..fdedaa29 100644 --- a/store/README.md +++ b/store/README.md @@ -18,6 +18,7 @@ mkdir -p ../builds/default/v3/ curl https://app.yunohost.org/default/v3/apps.json > ../builds/default/v3/apps.json # You will also want to run list_builder.py to initialize the .apps_cache (at least for a few apps, you can Ctrl+C after a while) +pip3 install tqdm GitPython pushd .. ./tools/list_builder.py popd From 018e9624c789903bc023cec68185231648880197 Mon Sep 17 00:00:00 2001 From: OniriCorpe Date: Mon, 19 Feb 2024 01:23:30 +0100 Subject: [PATCH 4/9] Update app.py --- store/app.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/store/app.py b/store/app.py index 95083b21..30ad54b3 100644 --- a/store/app.py +++ b/store/app.py @@ -298,7 +298,7 @@ def add_to_wishlist(): csrf_token=csrf_token, successmsg=None, errormsg=_( - "An entry with the name %(slug) already exists in the wishlist, instead, you can add a star to the app to show your interest.", + "An entry with the name %(slug) already exists in the wishlist, instead, you can add a star to the app to show your interest.", slug=slug, ), ) @@ -321,7 +321,7 @@ def add_to_wishlist(): print("... Failed to create branch ?") print(e) errormsg = _( - "Failed to create the pull request to add the app to the wishlist... Maybe there's already a waiting PR for this app? Else, please report the issue to the YunoHost team." + "Failed to create the pull request to add the app to the wishlist... Maybe there's already a waiting PR for this app? Else, please report the issue to the YunoHost team." ) return render_template( "wishlist_add.html", From 59fecb7d1dfc57bb939fc837d71ad7f5c513d51d Mon Sep 17 00:00:00 2001 From: OniriCorpe Date: Mon, 19 Feb 2024 01:34:28 +0100 Subject: [PATCH 5/9] Update app.py --- store/app.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/store/app.py b/store/app.py index 30ad54b3..1b260355 100644 --- a/store/app.py +++ b/store/app.py @@ -291,6 +291,7 @@ def add_to_wishlist(): new_wishlist = toml.loads(current_wishlist_rawtoml) if slug in new_wishlist: + url = f"https://apps.yunohost.org/wishlist?search={slug}" return render_template( "wishlist_add.html", locale=get_locale(), @@ -298,8 +299,8 @@ def add_to_wishlist(): csrf_token=csrf_token, successmsg=None, errormsg=_( - "An entry with the name %(slug) already exists in the wishlist, instead, you can add a star to the app to show your interest.", - slug=slug, + "An entry with the name %(slug) already exists in the wishlist, instead, you can add a star to the app to show your interest.", + slug=slug, url=url, ), ) From 4553d2fc2d4c112a32418bca78e131456820b87b Mon Sep 17 00:00:00 2001 From: OniriCorpe Date: Mon, 19 Feb 2024 02:19:21 +0100 Subject: [PATCH 6/9] Update app.py --- store/app.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/store/app.py b/store/app.py index 1b260355..e589d6d5 100644 --- a/store/app.py +++ b/store/app.py @@ -321,8 +321,10 @@ def add_to_wishlist(): except exception as e: print("... Failed to create branch ?") print(e) + url = "https://github.com/YunoHost/apps/pulls?q=is%3Apr+is%3Aopen+wishlist" errormsg = _( - "Failed to create the pull request to add the app to the wishlist... Maybe there's already a waiting PR for this app? Else, please report the issue to the YunoHost team." + "Failed to create the pull request to add the app to the wishlist... Maybe there's already a waiting PR for this app? Else, please report the issue to the YunoHost team.", + url=url ) return render_template( "wishlist_add.html", From 20a6120571c7c1efbb1b2234457cb880676814a8 Mon Sep 17 00:00:00 2001 From: OniriCorpe Date: Mon, 19 Feb 2024 02:31:41 +0100 Subject: [PATCH 7/9] updating translations & smol fixes --- store/app.py | 2 +- store/translations/fr/LC_MESSAGES/messages.mo | Bin 10150 -> 11387 bytes store/translations/fr/LC_MESSAGES/messages.po | 178 ++++++++++++------ 3 files changed, 126 insertions(+), 54 deletions(-) diff --git a/store/app.py b/store/app.py index e589d6d5..d54ed06d 100644 --- a/store/app.py +++ b/store/app.py @@ -299,7 +299,7 @@ def add_to_wishlist(): csrf_token=csrf_token, successmsg=None, errormsg=_( - "An entry with the name %(slug) already exists in the wishlist, instead, you can add a star to the app to show your interest.", + "An entry with the name %(slug)s already exists in the wishlist, instead, you can add a star to the app to show your interest.", slug=slug, url=url, ), ) diff --git a/store/translations/fr/LC_MESSAGES/messages.mo b/store/translations/fr/LC_MESSAGES/messages.mo index 936963d036a7766461e940339d07e17ab247278b..75bd2a0ffac654ee43594fb6de89e8d6d7489e6a 100644 GIT binary patch delta 3422 zcmchYU2Ggz701W5OEz1>%GbB z%z8e&ahkAH6{?E*fml@{Dxf};3b#^%uuzE#56wOR0;PR`APVB42zWq(3JNbpgx}d+ zm!c|C)CX3x`&~m(+|0o1?E&YXaDeB& z>)Q)9LNPo8xtuTXvksQvP4Em9#~+71@Ok(Fcpgr{mpbED;AWnC@O~}a3J2KVnc!w4 z14p13ir|OfV-R1QZ^ET6$9WdY2E*@fk8go*@Vp(0LWAu35txGo=FdT~_b@Wu3ZH?4 z@B$S3zl5jQ-}xgqJD^6#hhPI@(^>n$wp0p=0-u2ru?Od20>$ue;2HQP6lG#2iQ|t# zNzGT`2KX(A2+oDh_{*>^6JOzmwa#UDC;S6^3=ZSwgGBNI9OcYmvdpd)JD-q}U5oxF46F97)ME(Y{eFFX)5|cBDTrxfjr3OBCEBbHcCT2h;o`rki zui+RRT<*NcR$yqWvk9lb&;`DQR$oL49obQ67%zh{l zAAz5Q9y|x1gFhmWd+EhVo^M9?qwsE6gUj$R+)R}BNGLHkUu59NkV1E6?r8HqC`DL? zd*RoiZ1ftGqTRTif`r?lI8uTW@FYA4zu#f^M@cKsN1!OOZKPead*N-8`(q=G2YQdL z{H6ELT~nXRj7lS=i&<^aH9b2w-MHMhtA0@XM%8RuRufivfliV= zZfZ`Zx!Cx*@zGIL(pL_i^iRtDA-9Hu;IL#(Enqi7-S}Q z=jf=b%CRZ!am#61P3|fbN^El?U&UEdPZPotzmmKcRouxLc{fqelS+sFwHi#d4Qe*@ zy`*KO;7;Dt8JU`!YZ=R3#Z>)W&dsAmRupFn_h(_WFG|vau2z#m8XHrn=p;39AxWcH zLVsJbwn|=vn5b2%b%ZKg-!~zO#@VV;b5Rz1Mx1hHb!FwI8?ZD{gRs~OFIfzbbP|3Xg#7z*{M@Y3U4Y>B(aK3)o6Kzfp=J;D%=vT;}L?oi3v)% zGC}ELVBEZOII3oiAKv&t{cx+gWO>ad<-jJX(!Os~8-%|d2llZc_BQ9(36Po>#<$eTrLNTUQ0VPdu3Tid5L zmNz8=U5tV(OpS?&yV~B(k3u(9OHmNz5<{5n4vC34s;JP!{*p@4tW;u3rb<+bh%HUA zA473y()>!kfA;$Row?Dm+>YI9bnLFN@s&phHg$FH%#Su+SQ|DzzwUBZy0Y_@^IgU1 zP{rCNnDAZc(h(Ktj<+qnWSIOJBy6eHTsErtjLPWYG$PRf(bK)hsRY_r)4r)iaGjbg zzWAc`Oun(O{?OMptlfIRno!a0vIf7svZc>E?W_DuHa%|A#=wS|`i!<@Y|(h{p^I;Pj}VlTpLix6hk%8&2y>po6BBo7tJX}Z!Pc-P?CI-iE1^l z9(_%Fq;7h0Wz+7MSd$qR!*ya<#e4oR+K?T#7gt-d)lpTB@2qCVC_^d3Dgl zo)w32$s~zh689w-0uA^k?Ow<`v#7uX5zu#=&vWD|PfU1ev%Y-sMdKXMYO%Q-TY90b ziO=HpLD4y?#7$-x8>X7(R#i&7)p5nozU)_LihkS8BHxy8i>AxLOAQ delta 2156 zcmZA1Uu;uV9Ki8YN5_AV$p&M<4u3aLItB_1P%cA8?Ys&R6EK%eMB)Ehp_?QM430jA=X!4Q)tC*^0@|&BV*NNT#gaS&c{%8 zT1}p1!a9@;w4emkfxJ~0UvuyvvT4;{X+MVY+-aPK1E+8?gw^8GJxE8OYWVoiL+`j`8)DP5P&T!nMV_x;$758z3ZyYW6s>c2p_tUsZ~zfs1`qm!cAgrnyJS-wV5cOrAf~0N~hw&!Lnfdift-v9a2`{1q`VmSXa=;6r7Rjz!hqB}CScQ+F z+@U8#GGrrDtB|zGoq7>FXwP4!&`iTWTvd6Xneb%C?I@`mK$4`MM@eCPK8xWtl)z7* z1Uif|{tC*tYuJc4k)f)JiezK~O8>n`S6;PMI`*TS@nMt<IAl^6h8wB?KDIv3&r^n%PsE2 z4Y(I2kTbXuU&k)|p<;rY^bPf+C>hwzfpd+NgT$hqYbp%I_ifO|4gEnqV25cPrj2&3 zjL}P)11HzJOk0j`tkj@3PuoElXxlA4GGGU3hlb+S_*g98VcCvJ>Cn?j9u7_Ek!;R! zv~T)yCJ3d=O7R4L5{h~&kp8XFYU=x#>%Kp zFJsiUj67<&g((wO?%d|~TaKO5TXsLv!I&e)z3*0W`&TwE3u+zD%n^CumxYDuO|@<=J1N~iXE{@cf(m-Dsd8=dvNtQXjBZ(-)N zCkr>G)ffHgUE`;&UeVgRqP0!8wyj^?R{X54F;=xI(OMXrvG(W%iA$%9b}W(}jaZ@Wxs`g#WY{6& zn`}3XMtc1_olTPc%7k@mCG8pGCv6$%(IXQEblZ$BYinLYxDt*ppzpg zY;EY?v)zO&Sjx6tPQ4-Fz8zg89i{1dd@H(?OxwQ1n6-M@Z^-e6+&1Hvv!484)<19P zD4v~X$0oCG(#mliQl?Pdc)dFGvUV~k{?>Rtwyx`T#Qo8TZ}-@yv_R=}lBK1c(k{7p jy5GwMm9sHJh318a3-yb1adc5OJ}w#B{ly*2TB`m9Pf45{ diff --git a/store/translations/fr/LC_MESSAGES/messages.po b/store/translations/fr/LC_MESSAGES/messages.po index 40338f93..9645fa3c 100644 --- a/store/translations/fr/LC_MESSAGES/messages.po +++ b/store/translations/fr/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-11-19 19:39+0100\n" +"POT-Creation-Date: 2024-02-19 02:25+0100\n" "PO-Revision-Date: 2023-09-05 19:50+0200\n" "Last-Translator: FULL NAME \n" "Language: fr\n" @@ -16,17 +16,17 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.12.1\n" +"Generated-By: Babel 2.14.0\n" -#: app.py:148 +#: app.py:150 msgid "App %(app_id) not found" msgstr "L'app %(app_id) n'a pas été trouvée" -#: app.py:150 +#: app.py:152 msgid "You must be logged in to be able to star an app" msgstr "Vous devez être connecté·e pour mettre une app en favoris" -#: app.py:150 app.py:193 app.py:418 templates/wishlist_add.html:31 +#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33 msgid "" "Note that, due to various abuses, we restricted login on the app store to" " 'trust level 1' users.

'Trust level 1' is obtained after " @@ -34,65 +34,112 @@ msgid "" "least 5 topics, reading at least 30 posts, and spending at least 10 " "minutes reading posts." msgstr "" -"Notez que, suite à divers abus, la connexion nécessite maintenant d'être" -" 'trust level 1' sur le forum.

Le 'trust level 1' est obtenu après" -" avoir intéragit un minimum avec le forum, et plus précisémment: ouvrir au" -" moins 5 fils de discussion, lire au moins 30 messages, et passer au moins" -" 10 minutes à lire des messages." +"Notez que, suite à divers abus, la connexion nécessite maintenant d'être " +"'trust level 1' sur le forum.

Le 'trust level 1' est obtenu " +"après avoir intéragit un minimum avec le forum, et plus précisémment: " +"ouvrir au moins 5 fils de discussion, lire au moins 30 messages, et " +"passer au moins 10 minutes à lire des messages." -#: app.py:193 +#: app.py:195 msgid "You must be logged in to submit an app to the wishlist" msgstr "Vous devez être connecté·e pour proposer une app pour la liste de souhaits" -#: app.py:206 -msgid "Invalid CSRF token, please refresh the form and try again" -msgstr "Jeton CSRF invalide, prière de rafraîchir la page et retenter" +#: app.py:207 +#, fuzzy +msgid "Invalid CSRF token, please refresh the page and try again" +msgstr "Jeton CSRF invalide, prière de rafraîchir la page et de réessayer" -#: app.py:222 +#: app.py:228 +msgid "" +"Proposing wishlist additions is limited to once every 15 days per user. " +"Please try again in a few days." +msgstr "" +"Proposer une app dans la liste de souhaits est limité à une fois tous les" +" 15 jours et par personne. Merci de réessayer dans quelques jours." + +#: app.py:230 msgid "App name should be at least 3 characters" msgstr "Le nom d'app devrait contenir au moins 3 caractères" -#: app.py:223 +#: app.py:231 msgid "App name should be less than 30 characters" msgstr "Le nom d'app devrait contenir moins de 30 caractères" -#: app.py:226 +#: app.py:234 msgid "App description should be at least 5 characters" msgstr "La description de l'app devrait contenir au moins 5 caractères" -#: app.py:230 +#: app.py:238 msgid "App description should be less than 100 characters" msgstr "La description de l'app devrait contenir moins de 100 caractères" -#: app.py:234 +#: app.py:242 msgid "Upstream code repo URL should be at least 10 characters" msgstr "L'URL du dépôt de code devrait contenir au moins 10 caractères" -#: app.py:238 +#: app.py:246 msgid "Upstream code repo URL should be less than 150 characters" msgstr "L'URL du dépôt de code devrait contenir moins de 150 caractères" -#: app.py:240 +#: app.py:250 +#, fuzzy +msgid "License URL should be at least 10 characters" +msgstr "L'URL du site web devrait contenir au moins de 10 caractères" + +#: app.py:254 +#, fuzzy +msgid "License URL should be less than 250 characters" +msgstr "L'URL du site web devrait contenir moins de 250 caractères" + +#: app.py:256 msgid "Website URL should be less than 150 characters" msgstr "L'URL du site web devrait contenir moins de 150 caractères" -#: app.py:243 +#: app.py:259 msgid "App name contains special characters" -msgstr "Le nom de l'app contiens des caractères spéciaux" +msgstr "Le nom de l'app contient des caractères spéciaux" -#: app.py:276 -msgid "An entry with the name %(slug) already exists in the wishlist" -msgstr "Une entrée nommée $(slug) existe déjà dans la liste de souhaits" - -#: app.py:299 +#: app.py:263 msgid "" -"Failed to create the pull request to add the app to the wishlist ... " -"please report the issue to the yunohost team" +"Please focus on what the app does, without using marketing, fuzzy terms, " +"or repeating that the app is 'free' and 'self-hostable'." +msgstr "" +"S'il vous plaît décrivez ce que fait l'application sans utiliser de " +"termes marketing nébuleux ou répéter que l'app est 'libre' ou 'auto-" +"hébergeable'." + +#: app.py:267 +#, fuzzy +msgid "No need to repeat '{app} is'. Focus on what the app does." +msgstr "" +"Pas besoin de répéter le nom de l'application. Prière de rester concis et" +" de se concentrer sur ce que l'app fait." + +#: app.py:301 +#, fuzzy, python-format +msgid "" +"An entry with the name %(slug)s already exists in the wishlist, instead, " +"you can add a star to the app to show your " +"interest." +msgstr "" +"Une entrée nommée %(slug)s existe déjà dans la liste de souhaits, vous " +"pouvez l'ajouter en favori afin de montrer votre " +"intérêt." + +#: app.py:325 +#, fuzzy, python-format +msgid "" +"Failed to create the pull request to add the app to the wishlist... Maybe" +" there's already a waiting PR for this app? Else, " +"please report the issue to the YunoHost team." msgstr "" "Échec de la création de la demande d'intégration de l'app dans la liste " -"de souhaits ... merci de rapport le problème à l'équipe YunoHost" +"de souhaits... Peut-être qu'il y a déjà une PR en " +"attente pour cette app ? Sinon, merci de signaler le problème à " +"l'équipe YunoHost." -#: app.py:348 +#: app.py:376 +#, python-format msgid "" "Your proposed app has succesfully been submitted. It must now be " "validated by the YunoHost team. You can track progress here: %(url)s" -#: app.py:418 +#: app.py:449 msgid "Unfortunately, login was denied." msgstr "Malheureusement, la connexion a été refusée." @@ -250,7 +297,7 @@ msgstr "Se déconnecter" #: templates/base.html:99 msgid "Toggle menu" -msgstr "Activer le menu" +msgstr "Afficher le menu" #: templates/base.html:197 msgid "" @@ -262,6 +309,13 @@ msgid "" "href='https://github.com/YunoHost/apps/tree/master/store'> Source" msgstr "" +"Fait avec à" +" l'aide de Flask et TailwindCSS - Source" #: templates/catalog.html:75 templates/catalog.html:80 msgid "Application Catalog" @@ -357,7 +411,7 @@ msgstr "" msgid "Suggest an app" msgstr "Suggérer une app" -#: templates/wishlist.html:71 templates/wishlist_add.html:59 +#: templates/wishlist.html:71 templates/wishlist_add.html:61 msgid "Name" msgstr "Nom" @@ -385,28 +439,30 @@ msgstr "Suggérer une application à ajouter dans le catalogue de YunoHost" msgid "You must first login to be allowed to submit an app to the wishlist" msgstr "Vous devez être connecté·e pour proposer une app pour la liste de souhaits" -#: templates/wishlist_add.html:39 -msgid "Please check the license of the app your are proposing" -msgstr "Merci de vérifier la licence de l'app que vous proposez" - -#: templates/wishlist_add.html:42 -msgid "" -"The YunoHost project will only package free/open-source software (with " -"possible case-by-case exceptions for apps which are not-totally-free)" +#: templates/wishlist_add.html:40 +msgid "Due to abuses, only one proposal every 15 days per user is allowed." msgstr "" -"Le projet YunoHost intègrera uniquement des logiciels libre/open-source " -"(avec quelques possibles exceptions au cas-par-cas pour des apps qui ne " -"sont pas entièrement libres)" +"En raison d'abus, la proposition d'app est limitée à une tous les 15 " +"jours par utilisateur·ice." -#: templates/wishlist_add.html:62 +#: templates/wishlist_add.html:43 +msgid "" +"Reviewing those proposals is tiring for volunteers, please don't yolo-" +"send every random nerdy stuff you find on the Internet." +msgstr "" +"La vérification des propositions est éreintante pour les bénévoles, merci" +" de ne pas bêtement proposer n'importe quelle app un peu nerd que vous " +"trouvez." + +#: templates/wishlist_add.html:64 msgid "App's description" msgstr "Description de l'app" -#: templates/wishlist_add.html:64 +#: templates/wishlist_add.html:66 msgid "Please be concise and focus on what the app does." msgstr "Prière de rester concis et de se concentrer sur ce que l'app fait." -#: templates/wishlist_add.html:64 +#: templates/wishlist_add.html:66 msgid "" "No need to repeat '[App] is ...'. No need to state that it is free/open-" "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). " @@ -418,15 +474,28 @@ msgstr "" "Évitez les formulations marketing type 'le meilleur', ou les propriétés " "vagues telles que 'facile', 'simple', 'léger'." -#: templates/wishlist_add.html:66 +#: templates/wishlist_add.html:68 msgid "Project code repository" msgstr "Dépôt de code officiel" -#: templates/wishlist_add.html:69 +#: templates/wishlist_add.html:71 +msgid "Link to the project's LICENSE" +msgstr "Lien vers le fichier LICENSE du projet" + +#: templates/wishlist_add.html:73 +msgid "" +"The YunoHost project will only package free/open-source software (with " +"possible case-by-case exceptions for apps which are not-totally-free)" +msgstr "" +"Le projet YunoHost intègrera uniquement des logiciels libre/open-source " +"(avec quelques possibles exceptions au cas-par-cas pour des apps qui ne " +"sont pas entièrement libres)" + +#: templates/wishlist_add.html:75 msgid "Project website" msgstr "Site officiel" -#: templates/wishlist_add.html:71 +#: templates/wishlist_add.html:77 msgid "" "Please *do not* just copy-paste the code repository URL. If the project " "has no proper website, then leave the field empty." @@ -434,7 +503,10 @@ msgstr "" "Prière de *ne pas* juste copier-coller l'URL du dépôt de code. Si le " "projet n'a pas de vrai site web, laissez le champ vide." -#: templates/wishlist_add.html:78 +#: templates/wishlist_add.html:84 msgid "Submit" msgstr "Envoyer" +#~ msgid "Please check the license of the app your are proposing" +#~ msgstr "Merci de vérifier la licence de l'app que vous proposez" + From 0e34a00c1fef53f9498eff8cf24c38ccc6a4e9e7 Mon Sep 17 00:00:00 2001 From: OniriCorpe Date: Mon, 19 Feb 2024 04:51:49 +0100 Subject: [PATCH 8/9] Update README.md --- store/README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/store/README.md b/store/README.md index fdedaa29..004ff307 100644 --- a/store/README.md +++ b/store/README.md @@ -37,14 +37,17 @@ 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) +# 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 ``` From d4adcd9ba3ef254570fac90d0fc8adb055e0f2fb Mon Sep 17 00:00:00 2001 From: OniriCorpe Date: Mon, 19 Feb 2024 05:00:11 +0100 Subject: [PATCH 9/9] smol translation fix --- store/translations/fr/LC_MESSAGES/messages.mo | Bin 11387 -> 11390 bytes store/translations/fr/LC_MESSAGES/messages.po | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/store/translations/fr/LC_MESSAGES/messages.mo b/store/translations/fr/LC_MESSAGES/messages.mo index 75bd2a0ffac654ee43594fb6de89e8d6d7489e6a..e691ce8574019b603cf6de80032c79f6101bf3f1 100644 GIT binary patch delta 370 zcmXZYy-LGi6vpvK@dK$sbP&O>#749xrH+b4XmycRbVw!WCT$@&sss@XxGV0(3y6pa zU0j?xwHM$Zcpriw{lDn+JI~>~yod7>{)VsqP;x7&YfC#=b)*(PUk z1n=<<7jZ5tJz^2(@e{}J8_oQnD=nafreDA*+;o*_l%h&w5(6w_6JIdJ_W>zfmbS^$ zE7B3xFve#*M0b_9c!@XILkstEe;#9je1;`#q50=4cOZ>Z*lW@j=Fuz?VG*x!AK(5R r@uUxOfaW5e&r-OH978AVtKp|v>pZ$>*m2|3u6NRU)JfaxP9@U^7c?+Q delta 367 zcmXZYO-lj+5XSK*EFyHF7lC&-(gtQQI^+yDv4I6__l+$} nU*sZ2A4xmXB)Z5m