mirror of
https://github.com/YunoHost/apps.git
synced 2024-09-03 20:06:07 +02:00
appstore: require to be level 1 to login ...
This commit is contained in:
parent
02b16214a8
commit
c5a1d90235
4 changed files with 83 additions and 47 deletions
|
@ -147,7 +147,7 @@ def star_app(app_id, action):
|
||||||
if app_id not in get_catalog()["apps"] and app_id not in get_wishlist():
|
if app_id not in get_catalog()["apps"] and app_id not in get_wishlist():
|
||||||
return _("App %(app_id) not found", app_id=app_id), 404
|
return _("App %(app_id) not found", app_id=app_id), 404
|
||||||
if not session.get("user", {}):
|
if not session.get("user", {}):
|
||||||
return _("You must be logged in to be able to star an app"), 401
|
return _("You must be logged in to be able to star an app") + "<br/><br/>" + _("Note that, due to various abuses, we restricted login on the app store to 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after interacting a minimum with the forum, and more specifically: entering at least 5 topics, reading at least 30 posts, and spending at least 10 minutes reading posts."), 401
|
||||||
|
|
||||||
app_star_folder = os.path.join(".stars", app_id)
|
app_star_folder = os.path.join(".stars", app_id)
|
||||||
app_star_for_this_user = os.path.join(
|
app_star_for_this_user = os.path.join(
|
||||||
|
@ -190,7 +190,7 @@ def add_to_wishlist():
|
||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
user = session.get("user", {})
|
user = session.get("user", {})
|
||||||
if not user:
|
if not user:
|
||||||
errormsg = _("You must be logged in to submit an app to the wishlist")
|
errormsg = _("You must be logged in to submit an app to the wishlist") + "<br/><br/>" + _("Note that, due to various abuses, we restricted login on the app store to 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after interacting a minimum with the forum, and more specifically: entering at least 5 topics, reading at least 30 posts, and spending at least 10 minutes reading posts.")
|
||||||
return render_template(
|
return render_template(
|
||||||
"wishlist_add.html",
|
"wishlist_add.html",
|
||||||
locale=get_locale(),
|
locale=get_locale(),
|
||||||
|
@ -414,6 +414,9 @@ def sso_login_callback():
|
||||||
|
|
||||||
uri_to_redirect_to_after_login = session.get("uri_to_redirect_to_after_login")
|
uri_to_redirect_to_after_login = session.get("uri_to_redirect_to_after_login")
|
||||||
|
|
||||||
|
if "trust_level_100" not in user_data['groups'][0].split(','):
|
||||||
|
return _("Unfortunately, login was denied.") + "<br/><br/>" + _("Note that, due to various abuses, we restricted login on the app store to 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after interacting a minimum with the forum, and more specifically: entering at least 5 topics, reading at least 30 posts, and spending at least 10 minutes reading posts."), 403
|
||||||
|
|
||||||
session.clear()
|
session.clear()
|
||||||
session["user"] = {
|
session["user"] = {
|
||||||
"id": user_data["external_id"][0],
|
"id": user_data["external_id"][0],
|
||||||
|
|
|
@ -27,6 +27,8 @@
|
||||||
<p class="mt-2 text-sm text-orange-700 font-bold">
|
<p class="mt-2 text-sm text-orange-700 font-bold">
|
||||||
<i class="fa fa-exclamation-triangle fa-fw" aria-hidden="true"></i>
|
<i class="fa fa-exclamation-triangle fa-fw" aria-hidden="true"></i>
|
||||||
{{ _("You must first login to be allowed to submit an app to the wishlist") }}
|
{{ _("You must first login to be allowed to submit an app to the wishlist") }}
|
||||||
|
<br/><br/>
|
||||||
|
{{ _("Note that, due to various abuses, we restricted login on the app store to 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after interacting a minimum with the forum, and more specifically: entering at least 5 topics, reading at least 30 posts, and spending at least 10 minutes reading posts.") }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
Binary file not shown.
|
@ -7,7 +7,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2023-09-19 17:04+0200\n"
|
"POT-Creation-Date: 2023-11-19 19:39+0100\n"
|
||||||
"PO-Revision-Date: 2023-09-05 19:50+0200\n"
|
"PO-Revision-Date: 2023-09-05 19:50+0200\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language: fr\n"
|
"Language: fr\n"
|
||||||
|
@ -18,59 +18,73 @@ msgstr ""
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Generated-By: Babel 2.12.1\n"
|
"Generated-By: Babel 2.12.1\n"
|
||||||
|
|
||||||
#: app.py:140
|
#: app.py:148
|
||||||
msgid "App %(app_id) not found"
|
msgid "App %(app_id) not found"
|
||||||
msgstr "L'app %(app_id) n'a pas été trouvée"
|
msgstr "L'app %(app_id) n'a pas été trouvée"
|
||||||
|
|
||||||
#: app.py:142
|
#: app.py:150
|
||||||
msgid "You must be logged in to be able to star an app"
|
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"
|
msgstr "Vous devez être connecté·e pour mettre une app en favoris"
|
||||||
|
|
||||||
#: app.py:185
|
#: app.py:150 app.py:193 app.py:418 templates/wishlist_add.html:31
|
||||||
|
msgid ""
|
||||||
|
"Note that, due to various abuses, we restricted login on the app store to"
|
||||||
|
" 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
|
||||||
|
"interacting a minimum with the forum, and more specifically: entering at "
|
||||||
|
"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.<br/><br/>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
|
||||||
msgid "You must be logged in to submit an app to the wishlist"
|
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"
|
msgstr "Vous devez être connecté·e pour proposer une app pour la liste de souhaits"
|
||||||
|
|
||||||
#: app.py:200
|
#: app.py:206
|
||||||
msgid "Invalid CSRF token, please refresh the form and try again"
|
msgid "Invalid CSRF token, please refresh the form and try again"
|
||||||
msgstr "Jeton CSRF invalide, prière de rafraîchir la page et retenter"
|
msgstr "Jeton CSRF invalide, prière de rafraîchir la page et retenter"
|
||||||
|
|
||||||
#: app.py:216
|
#: app.py:222
|
||||||
msgid "App name should be at least 3 characters"
|
msgid "App name should be at least 3 characters"
|
||||||
msgstr "Le nom d'app devrait contenir au moins 3 caractères"
|
msgstr "Le nom d'app devrait contenir au moins 3 caractères"
|
||||||
|
|
||||||
#: app.py:217
|
#: app.py:223
|
||||||
msgid "App name should be less than 30 characters"
|
msgid "App name should be less than 30 characters"
|
||||||
msgstr "Le nom d'app devrait contenir moins de 30 caractères"
|
msgstr "Le nom d'app devrait contenir moins de 30 caractères"
|
||||||
|
|
||||||
#: app.py:220
|
#: app.py:226
|
||||||
msgid "App description should be at least 5 characters"
|
msgid "App description should be at least 5 characters"
|
||||||
msgstr "La description de l'app devrait contenir au moins 5 caractères"
|
msgstr "La description de l'app devrait contenir au moins 5 caractères"
|
||||||
|
|
||||||
#: app.py:224
|
#: app.py:230
|
||||||
msgid "App description should be less than 100 characters"
|
msgid "App description should be less than 100 characters"
|
||||||
msgstr "La description de l'app devrait contenir moins de 100 caractères"
|
msgstr "La description de l'app devrait contenir moins de 100 caractères"
|
||||||
|
|
||||||
#: app.py:228
|
#: app.py:234
|
||||||
msgid "Upstream code repo URL should be at least 10 characters"
|
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"
|
msgstr "L'URL du dépôt de code devrait contenir au moins 10 caractères"
|
||||||
|
|
||||||
#: app.py:232
|
#: app.py:238
|
||||||
msgid "Upstream code repo URL should be less than 150 characters"
|
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"
|
msgstr "L'URL du dépôt de code devrait contenir moins de 150 caractères"
|
||||||
|
|
||||||
#: app.py:234
|
#: app.py:240
|
||||||
msgid "Website URL should be less than 150 characters"
|
msgid "Website URL should be less than 150 characters"
|
||||||
msgstr "L'URL du site web devrait contenir moins de 150 caractères"
|
msgstr "L'URL du site web devrait contenir moins de 150 caractères"
|
||||||
|
|
||||||
#: app.py:237
|
#: app.py:243
|
||||||
msgid "App name contains special characters"
|
msgid "App name contains special characters"
|
||||||
msgstr "Le nom de l'app contiens des caractères spéciaux"
|
msgstr "Le nom de l'app contiens des caractères spéciaux"
|
||||||
|
|
||||||
#: app.py:270
|
#: app.py:276
|
||||||
msgid "An entry with the name %(slug) already exists in the wishlist"
|
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"
|
msgstr "Une entrée nommée $(slug) existe déjà dans la liste de souhaits"
|
||||||
|
|
||||||
#: app.py:295
|
#: app.py:299
|
||||||
msgid ""
|
msgid ""
|
||||||
"Failed to create the pull request to add the app to the wishlist ... "
|
"Failed to create the pull request to add the app to the wishlist ... "
|
||||||
"please report the issue to the yunohost team"
|
"please report the issue to the yunohost team"
|
||||||
|
@ -78,15 +92,19 @@ msgstr ""
|
||||||
"Échec de la création de la demande d'intégration de l'app dans la liste "
|
"É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 ... merci de rapport le problème à l'équipe YunoHost"
|
||||||
|
|
||||||
#: app.py:340
|
#: app.py:348
|
||||||
#, python-format
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Your proposed app has succesfully been submitted. It must now be "
|
"Your proposed app has succesfully been submitted. It must now be "
|
||||||
"validated by the YunoHost team. You can track progress here: %(url)s"
|
"validated by the YunoHost team. You can track progress here: <a "
|
||||||
|
"href='%(url)s'>%(url)s</a>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Un demande d'intégration à la liste de souhaits a bien été créée pour "
|
"Un demande d'intégration à la liste de souhaits a bien été créée pour "
|
||||||
"cette app. Elle doit maintenant être validée par l'équipe YunoHost. Vous "
|
"cette app. Elle doit maintenant être validée par l'équipe YunoHost. Vous "
|
||||||
"pouvez suivre cette demande ici: %(url)s"
|
"pouvez suivre cette demande ici: <a href='%(url)s'>%(url)s</a>"
|
||||||
|
|
||||||
|
#: app.py:418
|
||||||
|
msgid "Unfortunately, login was denied."
|
||||||
|
msgstr "Malheureusement, la connexion a été refusée."
|
||||||
|
|
||||||
#: templates/app.html:10 templates/catalog.html:23
|
#: templates/app.html:10 templates/catalog.html:23
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -116,7 +134,9 @@ msgstr ""
|
||||||
msgid ""
|
msgid ""
|
||||||
"This app has been good quality according to our automatic tests over at "
|
"This app has been good quality according to our automatic tests over at "
|
||||||
"least one year."
|
"least one year."
|
||||||
msgstr "Cette app est de bonne qualité d'après nos tests automatisés depuis au moins un an."
|
msgstr ""
|
||||||
|
"Cette app est de bonne qualité d'après nos tests automatisés depuis au "
|
||||||
|
"moins un an."
|
||||||
|
|
||||||
#: templates/app.html:81
|
#: templates/app.html:81
|
||||||
msgid "Try the demo"
|
msgid "Try the demo"
|
||||||
|
@ -204,34 +224,45 @@ msgstr "Dépôt de code du paquet YunoHost"
|
||||||
msgid "YunoHost app store"
|
msgid "YunoHost app store"
|
||||||
msgstr "Store d'apps de YunoHost"
|
msgstr "Store d'apps de YunoHost"
|
||||||
|
|
||||||
#: templates/base.html:56 templates/base.html:149 templates/index.html:3
|
#: templates/base.html:18 templates/base.html:113 templates/index.html:3
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Accueil"
|
msgstr "Accueil"
|
||||||
|
|
||||||
#: templates/base.html:65 templates/base.html:158
|
#: templates/base.html:27 templates/base.html:122
|
||||||
msgid "Catalog"
|
msgid "Catalog"
|
||||||
msgstr "Catalogue"
|
msgstr "Catalogue"
|
||||||
|
|
||||||
#: templates/base.html:71 templates/base.html:167
|
#: templates/base.html:33 templates/base.html:131
|
||||||
msgid "Wishlist"
|
msgid "Wishlist"
|
||||||
msgstr "Liste de souhaits"
|
msgstr "Liste de souhaits"
|
||||||
|
|
||||||
#: templates/base.html:84 templates/base.html:177
|
#: templates/base.html:46 templates/base.html:141
|
||||||
msgid "YunoHost documentation"
|
msgid "YunoHost documentation"
|
||||||
msgstr "Documentation YunoHost"
|
msgstr "Documentation YunoHost"
|
||||||
|
|
||||||
#: templates/base.html:92 templates/base.html:187
|
#: templates/base.html:54 templates/base.html:151
|
||||||
msgid "Login using YunoHost's forum"
|
msgid "Login using YunoHost's forum"
|
||||||
msgstr "Se connecter via le forum YunoHost"
|
msgstr "Se connecter via le forum YunoHost"
|
||||||
|
|
||||||
#: templates/base.html:122 templates/base.html:213
|
#: templates/base.html:86 templates/base.html:179
|
||||||
msgid "Logout"
|
msgid "Logout"
|
||||||
msgstr "Se déconnecter"
|
msgstr "Se déconnecter"
|
||||||
|
|
||||||
#: templates/base.html:135
|
#: templates/base.html:99
|
||||||
msgid "Toggle menu"
|
msgid "Toggle menu"
|
||||||
msgstr "Activer le menu"
|
msgstr "Activer le menu"
|
||||||
|
|
||||||
|
#: templates/base.html:197
|
||||||
|
msgid ""
|
||||||
|
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
|
||||||
|
"using <a class='text-blue-800' "
|
||||||
|
"href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
|
||||||
|
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a> - <a class"
|
||||||
|
"='text-blue-800' "
|
||||||
|
"href='https://github.com/YunoHost/apps/tree/master/store'><i class='fa "
|
||||||
|
"fa-code fa-fw' aria-hidden='true'></i> Source</a>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: templates/catalog.html:75 templates/catalog.html:80
|
#: templates/catalog.html:75 templates/catalog.html:80
|
||||||
msgid "Application Catalog"
|
msgid "Application Catalog"
|
||||||
msgstr "Catalogue d'applications"
|
msgstr "Catalogue d'applications"
|
||||||
|
@ -253,17 +284,17 @@ msgid "Sort by"
|
||||||
msgstr "Trier par"
|
msgstr "Trier par"
|
||||||
|
|
||||||
#: templates/catalog.html:123 templates/wishlist.html:45
|
#: templates/catalog.html:123 templates/wishlist.html:45
|
||||||
msgid "Alphabetical"
|
#: templates/wishlist.html:78
|
||||||
msgstr "Alphabétique"
|
msgid "Popularity"
|
||||||
|
msgstr "Popularité"
|
||||||
|
|
||||||
#: templates/catalog.html:124
|
#: templates/catalog.html:124
|
||||||
msgid "Newest"
|
msgid "Newest"
|
||||||
msgstr "Nouveauté"
|
msgstr "Nouveauté"
|
||||||
|
|
||||||
#: templates/catalog.html:125 templates/wishlist.html:46
|
#: templates/catalog.html:125 templates/wishlist.html:46
|
||||||
#: templates/wishlist.html:78
|
msgid "Alphabetical"
|
||||||
msgid "Popularity"
|
msgstr "Alphabétique"
|
||||||
msgstr "Popularité"
|
|
||||||
|
|
||||||
#: templates/catalog.html:128 templates/wishlist.html:49
|
#: templates/catalog.html:128 templates/wishlist.html:49
|
||||||
msgid "Requires to be logged-in"
|
msgid "Requires to be logged-in"
|
||||||
|
@ -274,7 +305,7 @@ msgstr "Nécessite d'être connecté·e"
|
||||||
msgid "Show only apps you starred"
|
msgid "Show only apps you starred"
|
||||||
msgstr "Montrer uniquement mes favoris"
|
msgstr "Montrer uniquement mes favoris"
|
||||||
|
|
||||||
#: templates/catalog.html:155 templates/wishlist.html:152
|
#: templates/catalog.html:155 templates/wishlist.html:154
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "Aucun résultat trouvé."
|
msgstr "Aucun résultat trouvé."
|
||||||
|
|
||||||
|
@ -326,7 +357,7 @@ msgstr ""
|
||||||
msgid "Suggest an app"
|
msgid "Suggest an app"
|
||||||
msgstr "Suggérer une app"
|
msgstr "Suggérer une app"
|
||||||
|
|
||||||
#: templates/wishlist.html:71 templates/wishlist_add.html:57
|
#: templates/wishlist.html:71 templates/wishlist_add.html:59
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nom"
|
msgstr "Nom"
|
||||||
|
|
||||||
|
@ -338,11 +369,11 @@ msgstr "Description"
|
||||||
msgid "Official website"
|
msgid "Official website"
|
||||||
msgstr "Site officiel"
|
msgstr "Site officiel"
|
||||||
|
|
||||||
#: templates/wishlist.html:114 templates/wishlist.html:115
|
#: templates/wishlist.html:115 templates/wishlist.html:116
|
||||||
msgid "Code repository"
|
msgid "Code repository"
|
||||||
msgstr "Dépôt de code officiel"
|
msgstr "Dépôt de code officiel"
|
||||||
|
|
||||||
#: templates/wishlist.html:127 templates/wishlist.html:128
|
#: templates/wishlist.html:129 templates/wishlist.html:130
|
||||||
msgid "Star this app"
|
msgid "Star this app"
|
||||||
msgstr "Étoiler cette app"
|
msgstr "Étoiler cette app"
|
||||||
|
|
||||||
|
@ -354,11 +385,11 @@ 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"
|
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"
|
msgstr "Vous devez être connecté·e pour proposer une app pour la liste de souhaits"
|
||||||
|
|
||||||
#: templates/wishlist_add.html:37
|
#: templates/wishlist_add.html:39
|
||||||
msgid "Please check the license of the app your are proposing"
|
msgid "Please check the license of the app your are proposing"
|
||||||
msgstr "Merci de vérifier la licence de l'app que vous proposez"
|
msgstr "Merci de vérifier la licence de l'app que vous proposez"
|
||||||
|
|
||||||
#: templates/wishlist_add.html:40
|
#: templates/wishlist_add.html:42
|
||||||
msgid ""
|
msgid ""
|
||||||
"The YunoHost project will only package free/open-source software (with "
|
"The YunoHost project will only package free/open-source software (with "
|
||||||
"possible case-by-case exceptions for apps which are not-totally-free)"
|
"possible case-by-case exceptions for apps which are not-totally-free)"
|
||||||
|
@ -367,15 +398,15 @@ msgstr ""
|
||||||
"(avec quelques possibles exceptions au cas-par-cas pour des apps qui ne "
|
"(avec quelques possibles exceptions au cas-par-cas pour des apps qui ne "
|
||||||
"sont pas entièrement libres)"
|
"sont pas entièrement libres)"
|
||||||
|
|
||||||
#: templates/wishlist_add.html:60
|
#: templates/wishlist_add.html:62
|
||||||
msgid "App's description"
|
msgid "App's description"
|
||||||
msgstr "Description de l'app"
|
msgstr "Description de l'app"
|
||||||
|
|
||||||
#: templates/wishlist_add.html:62
|
#: templates/wishlist_add.html:64
|
||||||
msgid "Please be concise and focus on what the app does."
|
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."
|
msgstr "Prière de rester concis et de se concentrer sur ce que l'app fait."
|
||||||
|
|
||||||
#: templates/wishlist_add.html:62
|
#: templates/wishlist_add.html:64
|
||||||
msgid ""
|
msgid ""
|
||||||
"No need to repeat '[App] is ...'. No need to state that it is free/open-"
|
"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). "
|
"source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
|
||||||
|
@ -387,15 +418,15 @@ msgstr ""
|
||||||
"Évitez les formulations marketing type 'le meilleur', ou les propriétés "
|
"Évitez les formulations marketing type 'le meilleur', ou les propriétés "
|
||||||
"vagues telles que 'facile', 'simple', 'léger'."
|
"vagues telles que 'facile', 'simple', 'léger'."
|
||||||
|
|
||||||
#: templates/wishlist_add.html:64
|
#: templates/wishlist_add.html:66
|
||||||
msgid "Project code repository"
|
msgid "Project code repository"
|
||||||
msgstr "Dépôt de code officiel"
|
msgstr "Dépôt de code officiel"
|
||||||
|
|
||||||
#: templates/wishlist_add.html:67
|
#: templates/wishlist_add.html:69
|
||||||
msgid "Project website"
|
msgid "Project website"
|
||||||
msgstr "Site officiel"
|
msgstr "Site officiel"
|
||||||
|
|
||||||
#: templates/wishlist_add.html:69
|
#: templates/wishlist_add.html:71
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please *do not* just copy-paste the code repository URL. If the project "
|
"Please *do not* just copy-paste the code repository URL. If the project "
|
||||||
"has no proper website, then leave the field empty."
|
"has no proper website, then leave the field empty."
|
||||||
|
@ -403,7 +434,7 @@ msgstr ""
|
||||||
"Prière de *ne pas* juste copier-coller l'URL du dépôt de code. Si le "
|
"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."
|
"projet n'a pas de vrai site web, laissez le champ vide."
|
||||||
|
|
||||||
#: templates/wishlist_add.html:76
|
#: templates/wishlist_add.html:78
|
||||||
msgid "Submit"
|
msgid "Submit"
|
||||||
msgstr "Envoyer"
|
msgstr "Envoyer"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue