Compare commits

...

9 Commits

Author SHA1 Message Date
eric_G
318a1f6a93
Merge pull request #2111 from limaanto/master
Add crabfit
2024-03-10 13:17:12 +01:00
Antoine Lima
9c82874638
Add crabfit logo 2024-03-10 12:41:04 +01:00
Antoine Lima
468ea5229d
Add crabfit to apps.toml 2024-03-10 10:53:47 +01:00
cri
17fe791c6d Translated using Weblate (Spanish)
Currently translated at 1.0% (1 of 95 strings)

Translation: YunoHost/store
Translate-URL: https://translate.yunohost.org/projects/yunohost/apps/es/
2024-03-09 22:10:57 +01:00
OniriCorpe
c39c97c15b Translated using Weblate (French)
Currently translated at 100.0% (95 of 95 strings)

Translation: YunoHost/store
Translate-URL: https://translate.yunohost.org/projects/yunohost/apps/fr/
2024-03-09 22:10:57 +01:00
Bram
48ca810d12
Merge pull request #2109 from YunoHost/OniriCorpe-patch-1
Readme: add alt text and edit 'antifeatures' and 'category' comments
2024-03-09 12:53:26 +01:00
OniriCorpe
31f92a1bd1
Readme: add alt text and edit 'antifeatures' and 'category' comments 2024-03-09 06:11:43 +01:00
Alexandre Aubin
68741582d0
Merge pull request #2105 from YunoHost/readme_generator_generic_lang_list
feat(readme_generator): don't hardcode the list of languages, extract it from the README templates
2024-03-08 21:08:48 +01:00
Laurent Peuch
a14b644665 feat(readme_generator): don't hardcode the list of languages, extract it from the README templates 2024-03-08 04:16:36 +01:00
8 changed files with 45 additions and 21 deletions

View File

@ -1,6 +1,6 @@
# YunoHost application catalog # YunoHost application catalog
<img src="https://avatars.githubusercontent.com/u/1519495?s=200&v=4" width=80><img src="https://yunohost.org/user/images/yunohost_package.png" width=80> <img alt="YunoHost logo" src="https://avatars.githubusercontent.com/u/1519495?s=200&v=4" width=80><img alt="Package logo" src="https://yunohost.org/user/images/yunohost_package.png" width=80>
This repository contains the default YunoHost app catalog, as well as related This repository contains the default YunoHost app catalog, as well as related
tools that can be run manually or automatically. tools that can be run manually or automatically.
@ -46,9 +46,9 @@ App example addition:
```toml ```toml
[your_app] [your_app]
antifeatures = [ "deprecated-software" ] # Remove if no relevant antifeature applies antifeatures = [ "deprecated-software" ] # Replace with the appropriate category id found in antifeatures.toml, remove if no relevant antifeature applies
potential_alternative_to = [ "YouTube" ] # Indicate if your app can be thought of as an alternative to popular proprietary services (or remove if none applies) potential_alternative_to = [ "YouTube" ] # Indicate if your app can be thought of as an alternative to popular proprietary services (or remove if none applies)
category = "foobar" # Replace with the appropriate category id found in categories.toml category = "foobar" # Replace with the appropriate category id found in categories.toml, don't invent a category
state = "working" state = "working"
url = "https://github.com/YunoHost-Apps/your_app_ynh" url = "https://github.com/YunoHost-Apps/your_app_ynh"
``` ```

View File

@ -502,6 +502,13 @@ state = "working"
subtags = [ "wiki" ] subtags = [ "wiki" ]
url = "https://github.com/YunoHost-Apps/cowyo_ynh" url = "https://github.com/YunoHost-Apps/cowyo_ynh"
[crabfit]
category = "productivity_and_management"
potential_alternative_to = [ "Doodle", "OpenSondage" ]
state = "working"
subtags = [ "poll" ]
url = "https://github.com/YunoHost-Apps/crabfit_ynh"
[cryptpad] [cryptpad]
category = "office" category = "office"
level = 8 level = 8

BIN
logos/crabfit.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -8,19 +8,21 @@ 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: 2024-03-05 19:36+0100\n" "POT-Creation-Date: 2024-03-05 19:36+0100\n"
"PO-Revision-Date: 2024-02-21 06:05+0100\n" "PO-Revision-Date: 2024-03-09 17:32+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: cri <cri@cri.cl>\n"
"Language-Team: es <LL@li.org>\n" "Language-Team: Spanish <https://translate.yunohost.org/projects/yunohost/"
"apps/es/>\n"
"Language: es\n" "Language: es\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.3.1\n"
"Generated-By: Babel 2.14.0\n" "Generated-By: Babel 2.14.0\n"
#: app.py:150 #: app.py:150
msgid "App %(app_id) not found" msgid "App %(app_id) not found"
msgstr "" msgstr "App %(app_id) no encontrada"
#: app.py:152 #: app.py:152
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"

View File

@ -8,15 +8,16 @@ 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: 2024-03-05 19:36+0100\n" "POT-Creation-Date: 2024-03-05 19:36+0100\n"
"PO-Revision-Date: 2024-02-27 19:19+0000\n" "PO-Revision-Date: 2024-03-09 04:14+0000\n"
"Last-Translator: OniriCorpe <oniricorpe@disroot.org>\n" "Last-Translator: OniriCorpe <oniricorpe@disroot.org>\n"
"Language-Team: French <https://translate.yunohost.org/projects/yunohost/apps/"
"fr/>\n"
"Language: fr\n" "Language: fr\n"
"Language-Team: French "
"<https://translate.yunohost.org/projects/yunohost/apps/fr/>\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.3.1\n"
"Generated-By: Babel 2.14.0\n" "Generated-By: Babel 2.14.0\n"
#: app.py:150 #: app.py:150
@ -254,7 +255,7 @@ msgstr "Documentation officielle pour les admins"
#: templates/app.html:142 #: templates/app.html:142
msgid "Official user documentation" msgid "Official user documentation"
msgstr "Documentation officielle pour les utilisateur·ice·s" msgstr "Documentation officielle d'utilisation"
#: templates/app.html:143 #: templates/app.html:143
msgid "Official code repository" msgid "Official code repository"
@ -394,8 +395,8 @@ msgid ""
"advise against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr "" msgstr ""
"Cela signifie que le développeur ne les mettra plus à jour. Nous " "Cela signifie que le développeur ne les mettra plus à jour. Nous "
"décourageons fortement leur installation et conseillons aux utilisateurs " "décourageons fortement leur installation et vous conseillons de vous tourner "
"de se tourner vers des alternatives." "vers des alternatives."
#: templates/index.html:10 #: templates/index.html:10
msgid "Application Store" msgid "Application Store"
@ -460,8 +461,8 @@ msgstr "Vous devez être connecté·e pour proposer une app pour la liste de sou
#: templates/wishlist_add.html:40 #: templates/wishlist_add.html:40
msgid "Due to abuses, only one proposal every 15 days per user is allowed." msgid "Due to abuses, only one proposal every 15 days per user is allowed."
msgstr "" msgstr ""
"En raison d'abus, la proposition d'app est limitée à une tous les 15 " "En raison d'abus, la proposition d'app est limitée à une tous les 15 jours "
"jours par utilisateur·ice." "par personne."
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
@ -527,4 +528,3 @@ msgstr "Envoyer"
#~ 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"

View File

@ -6,7 +6,7 @@ import os
from pathlib import Path from pathlib import Path
from copy import deepcopy from copy import deepcopy
from typing import Dict, Optional, List from typing import Dict, Optional, List, Tuple
import toml import toml
from jinja2 import Environment, FileSystemLoader from jinja2 import Environment, FileSystemLoader
@ -51,7 +51,22 @@ def generate_READMEs(app_path: Path):
env = Environment(loader=FileSystemLoader(Path(__file__).parent / "templates")) env = Environment(loader=FileSystemLoader(Path(__file__).parent / "templates"))
for lang, lang_suffix in [("en", ""), ("fr", "_fr")]: # parse available README template and generate a list in the form of:
# > [("en", ""), ("fr", "_fr"), ...]
available_langs: List[Tuple[str, str]] = [("en", "")]
for README_template in (Path(__file__).parent / "templates").iterdir():
# we only want README_{lang}.md.j2 files
if README_template.name == "README.md.j2":
continue
if not README_template.name.endswith(".j2") or not README_template.name.startswith("README_"):
continue
language_code = README_template.name.split("_")[1].split(".")[0]
available_langs.append((language_code, "_" + language_code))
for lang, lang_suffix in available_langs:
template = env.get_template(f"README{lang_suffix}.md.j2") template = env.get_template(f"README{lang_suffix}.md.j2")
if (app_path / "doc" / f"DESCRIPTION{lang_suffix}.md").exists(): if (app_path / "doc" / f"DESCRIPTION{lang_suffix}.md").exists():