1 Commits

Author SHA1 Message Date
2c1cbe133f yolo refresh_store.sh 2024-03-05 23:12:34 +01:00
60 changed files with 267 additions and 1220 deletions

View File

@ -1,35 +0,0 @@
name: Check / auto apply Black
on:
push:
branches:
- master
jobs:
black:
name: Check / auto apply black
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check files using the black formatter
uses: psf/black@stable
id: black
with:
options: "."
continue-on-error: true
- shell: pwsh
id: check_files_changed
run: |
# Diff HEAD with the previous commit
$diff = git diff
$HasDiff = $diff.Length -gt 0
Write-Host "::set-output name=files_changed::$HasDiff"
- name: Create Pull Request
if: steps.check_files_changed.outputs.files_changed == 'true'
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
title: "Format Python code with Black"
commit-message: ":art: Format Python code with Black"
body: |
This pull request uses the [psf/black](https://github.com/psf/black) formatter.
base: ${{ github.head_ref }} # Creates pull request onto pull request or commit branch
branch: actions/black

View File

@ -1,30 +0,0 @@
name: Find deprecated softwares
on:
schedule:
- cron: '0 20 * * 1'
jobs:
black:
name: Find deprecated softwares
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Install toml python lib
run: |
pip3 install toml tomlkit gitpython
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
title: "Flag deprecated apps in the catalog"
commit-message: ":coffin: Flag deprecated apps in the catalog"
body: |
This was done with tools/find_deprecated.py
base: ${{ github.head_ref }} # Creates pull request onto pull request or commit branch
branch: actions/deprecated

View File

@ -1,6 +1,6 @@
# YunoHost application catalog
<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>
<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>
This repository contains the default YunoHost app catalog, as well as related
tools that can be run manually or automatically.
@ -16,7 +16,7 @@ them such as their category or maintenance state. This file is regularly read by
- You can browse [the contributor documentation](https://yunohost.org/contributordoc)
- If you are not familiar with Git/GitHub, you can have a look at our [homemade guide](https://yunohost.org/packaging_apps_git)
- Don't hesitate to reach for help on the dedicated [application packaging chatroom](https://yunohost.org/chat_rooms)... we can even schedule an audio meeting to help you get started!
- Don't hesitate to reach for help on the dedicated [application packaging chatroom](https://yunohost.org/chat_rooms) ... we can even schedule an audio meeting to help you get started!
## How to add your app to the application catalog
@ -46,9 +46,9 @@ App example addition:
```toml
[your_app]
antifeatures = [ "deprecated-software" ] # Replace with the appropriate category id found in antifeatures.toml, remove if no relevant antifeature applies
antifeatures = [ "deprecated-software" ] # 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)
category = "foobar" # Replace with the appropriate category id found in categories.toml, don't invent a category
category = "foobar" # Replace with the appropriate category id found in categories.toml
state = "working"
url = "https://github.com/YunoHost-Apps/your_app_ynh"
```

View File

@ -1,151 +1,123 @@
[tracking]
icon = "user-secret"
title.en = "Tracking"
title.eu = "Jarraipena"
title.fr = "Pistage"
title.it = "Tracciamento"
description.en = "Tracks you and/or reports your activity to upstream maintainer or third parties, either without your permission or by default."
description.eu = "Zure jardueraren jarraipena egiten du eta/edo jardueraren berri ematen die aplikazioaren arduradunari edo hirugarrenei, baimenik gabe edo defektuz."
description.fr = "Vous piste et/ou rapporte vos activités au mainteneur source ou à des tiers, sans votre permission ou par défaut."
description.it = "Ti traccia e/o riporta la tua attività a chi mantiene il codice sorgente o a terze parti, facendolo senza il tuo permesso o di default."
[non-free-network]
icon = "sitemap"
title.en = "Non-free Network Services"
title.eu = "Libreak ez diren sareko zerbitzuak"
title.fr = "Services réseau non libres"
title.it = "Servizi di rete non liberi"
description.en = "Promotes or depends entirely on a non-free network service."
description.eu = "Librea ez den sare-zerbitzu bat sustatzen du edo horren mende dago erabat."
description.fr = "Promeut ou utilise des services réseau non libres."
description.it = "Promuove o dipende interamente da servizi di rete non liberi."
[non-free-addons]
icon = "puzzle-piece"
title.en = "Non-free Addons"
title.eu = "Libreak ez diren gehigarriak"
title.fr = "Extensions non libres"
title.it = "Estensioni non libere"
description.en = "Promotes other non-free applications or plugins."
description.eu = "Libreak ez diren beste aplikazio edo gehigarri batzuk sustatzen ditu."
description.fr = "Promeut d'autres applications ou plugins non libres."
description.it = "Promoove altre applicazioni o plugin non liberi"
[non-free-dependencies]
icon = "book"
title.en = "Non-free dependencies"
title.eu = "Libreak ez diren dependentziak"
title.fr = "Dépendances non libres"
title.it = "Dipendenze non libere"
description.en = "Relies on software dependencies that are not free in order to run."
description.eu = "Libreak ez diren dependentzien mende dago exekutatu ahal izateko."
description.fr = "Dépend pour fonctionner de dépendances logicielles non libres."
description.it = "Per funzionare, si basa su dipendenze software non libere."
[non-free-assets]
icon = "file-image-o"
title.en = "Non-free assets"
title.eu = "Libreak ez diren baliabideak"
title.fr = "Ressources non libres"
title.it = "Risorse non libere"
description.en = "Contains and makes use of non-free assets. The most common case is apps using artwork - images, sounds, music, etc. - under a commercial license."
description.eu = "Libreak ez diren baliabideak ditu eta erabiltzen ditu. Kasurik ohikoena artelanak (irudiak, soinuak, musika, etab.) erabiltzen dituzten aplikazioak dira. - jabedun-lizentziapean."
description.fr = "Contient ou utilise des médias non libres. Le cas le plus fréquent concerne des applications utilisant des œuvres (images, sons, musiques, etc.) sous une licence commerciale."
description.it = "Contiene ed utilizza risorse mediatiche non libere. Il caso più comune è lutilizzo da parte dellapp di contenuti artistici (immagini, suoni, musica, ecc.) coperti da licenza commerciale."
[bad-security-reputation]
icon = "bug"
title.en = "Bad security reputation"
title.eu = "Segurtasun txarreko ospea"
title.fr = "Mauvaise réputation en matière de sécurité"
title.it = "Cattiva reputazione di sicurezza"
description.en = "Has a bad security reputation, such as deprecated addons."
description.eu = "Segurtasun ospe txarra du, utzitako gehigarriak esaterako."
description.fr = "A une mauvaise réputation en matière de sécurité, en utilisant des plugins dépréciés par exemple."
description.it = "Ha una cattiva reputazione in termini di sicurezza (per esempio, potrebbe utilizzare addon obsoleti)."
[deprecated-software]
icon = "trash-o"
title.en = "Upstream not maintained"
title.eu = "Jatorrizko garapena utzita"
title.fr = "Application non maintenue"
title.it = "Applicazione non mantenuta"
description.en = "This software is not maintained anymore. Expect it to break down over time, be exposed to unfixed security breaches, etc."
description.eu = "Software honek ez du arduradunik. Denborak aurrera egin ahala funtzionatzeari utziko dio, konpondu gabeko segurtasun arazoak izango ditu, etab."
description.fr = "Ce logiciel n'est plus maintenu. Attendez-vous à ce qu'il ne fonctionne plus avec le temps, et que l'on découvre des failles de sécurité qui ne seront pas corrigées, etc."
description.it = "Questo software non è più mantenuto. Ci si può aspettare che con il passare del tempo smetta di funzionare, sia esposto a falle di sicurezza, ecc."
[package-not-maintained]
icon = "user-times"
title.en = "Package not maintained"
title.eu = "Mantendu gabeko paketea"
title.fr = "Paquet non maintenu"
title.it = "Pacchetto non mantenuto"
description.en = "This YunoHost package is not maintained and needs adoption."
description.eu = "Pakete honek ez du mantenduko duenik, boluntario baten beharra dauka."
description.fr = "Ce package YunoHost n'est plus maintenu et doit être adopté."
description.it = "Questo pacchetto di YunoHost non è più mantenuto e necessita di essere adottato."
[paid-content]
icon = "money"
title.en = "Paid content"
title.eu = "Ordainpeko edukia"
title.fr = "Contenu payant"
title.it = "Contenuti a pagamento"
description.en = "Promotes or depends, entirely or partially, on a paid service."
description.eu = "Ordainpeko zerbitzu bat sustatzen du edo bere mende dago, osorik edo neurri batean."
description.fr = "Promeut ou dépend, entièrement ou partiellement, d'un service payant."
description.it = "Promuove o dipende, interamente o parzialmente, da un servizio a pagamento."
[arbitrary-limitations]
icon = "star-half-empty"
title.en = "Arbitrary limitations"
title.eu = "Muga arbitrarioak"
title.fr = "Limitations arbitraires"
title.it = "Limitazioni arbitrarie"
description.en = "Features arbitrary limitations. Please refer to the README."
description.eu = "Muga arbitrarioak ditu. Irakurri README fitxategia."
description.fr = "Contient des limitations arbitraires. Se référer au fichier README."
description.it = "Contiene limitazioni arbitrarie. Fare riferimento al file “README”."
[replaced-by-another-app]
icon = "repeat"
title.en = "Replaced by another app"
title.eu = "Beste aplikazio batek ordeztu du"
title.fr = "Remplacé par une autre application"
title.it = "Sostituita da unaltra app"
description.en = "Was replaced by another app. Please refer to the README."
description.eu = "Beste aplikazio batek ordeztu du. Irakurri README fitxategia."
description.fr = "A été remplacé par une autre application. Se référer au fichier README."
description.it = "Questapp è stata sostituita da unaltra app. Fare riferimento al file “README”."
[alpha-software]
icon = "flask"
title.en = "Alpha software"
title.eu = "Alfa softwarea"
title.fr = "Logiciel en version alpha"
title.it = "Software in versione alpha"
description.en = "Early development stage. May contain changing or unstable features, bugs, and security vulnerability."
description.eu = "Garapenaren hasierako fasean dago. Ezaugarri aldakor edo ezegonkorrak, erroreak eta segurtasuneko arazoak izan ditzazke."
description.fr = "Le logiciel est au tout début de son développement. Il pourrait contenir des fonctionnalités changeantes ou instables, des bugs, et des failles de sécurité."
description.it = "Questo software è allinizio della sua fase di sviluppo. Potrebbe dunque essere instabile, contenere bug e vulnerabilità di sicurezza."
[not-totally-free-upstream]
icon = "lock"
title.en = "Not totally free upstream"
title.eu = "Jatorrizkoa ez da erabat librea"
title.fr = "Application sous licence libre restreinte"
title.it = "Applicazione con licenza parzialmente libera"
description.en = "The packaged app is under an overall free licence, but with clauses that restrict its use."
description.eu = "Aplikazioak lizentzia librea du orokorrean, baina bere erabilera mugatzen duten klausulekin."
description.fr = "L'application packagée est sous une licence globalement libre, mais avec des clauses qui pourraient restreindre son utilisation."
description.it = "Questapplicazione è protetta da licenza generalmente libera, ma con delle clausole che potrebbero limitare il suo utilizzo."
[not-totally-free-package]
icon = "archive"
title.en = "Not totally free package"
title.eu = "Paketea ez da erabat librea"
title.fr = "Package sous licence libre restreinte"
description.en = "The YunoHost package of this app is under an overall free licence, but with clauses that restrict its use."
description.eu = "Aplikazio honen YunoHost paketeak lizentzia librea du orokorrean, baina bere erabilera mugatzen duten klausulekin."
description.fr = "Le package YunoHost de cette application est sous une licence globalement libre, mais avec des clauses qui pourraient restreindre son utilisation."

View File

@ -37,7 +37,6 @@ level = 6
state = "working"
subtags = [ "microblogging", "pictures" ]
url = "https://github.com/YunoHost-Apps/acropolis_ynh"
antifeatures = ["deprecated-software"]
[actual]
category = "productivity_and_management"
@ -60,7 +59,6 @@ level = 8
state = "working"
subtags = [ "db" ]
url = "https://github.com/YunoHost-Apps/adminer_ynh"
antifeatures = ["deprecated-software"]
[aeneria]
category = "iot"
@ -75,7 +73,6 @@ potential_alternative_to = [ "Google Agenda", "Microsoft Outlook" ]
state = "working"
subtags = [ "calendar" ]
url = "https://github.com/YunoHost-Apps/agendav_ynh"
antifeatures = ["deprecated-software"]
[agora]
category = "wat"
@ -188,7 +185,6 @@ category = "iot"
level = 8
state = "working"
url = "https://github.com/YunoHost-Apps/beehive_ynh"
antifeatures = ["deprecated-software"]
[biboumi]
category = "communication"
@ -203,7 +199,6 @@ level = 7
state = "working"
subtags = [ "books" ]
url = "https://github.com/YunoHost-Apps/bicbucstriim_ynh"
antifeatures = ["deprecated-software"]
[blogotext]
category = "publishing"
@ -212,7 +207,6 @@ potential_alternative_to = [ "Blogger", "Coldfusion", "Wix" ]
state = "working"
subtags = [ "blog" ]
url = "https://github.com/YunoHost-Apps/blogotext_ynh"
antifeatures = ["deprecated-software"]
[bludit]
category = "publishing"
@ -337,7 +331,6 @@ category = "small_utilities"
level = 8
state = "working"
url = "https://github.com/YunoHost-Apps/cheky_ynh"
antifeatures = ["deprecated-software"]
[chitchatter]
category = "communication"
@ -441,7 +434,6 @@ potential_alternative_to = [ "Disqus" ]
state = "working"
subtags = [ "website" ]
url = "https://github.com/YunoHost-Apps/commento_ynh"
antifeatures = ["deprecated-software"]
[compteur_du_gase]
category = "office"
@ -495,7 +487,7 @@ subtags = [ "db" ]
url = "https://github.com/YunoHost-Apps/couchdb_ynh"
[couchpotato]
antifeatures = [ "package-not-maintained", "deprecated-software" ]
antifeatures = [ "package-not-maintained" ]
category = "multimedia"
level = 0
potential_alternative_to = [ "Netflix" ]
@ -665,7 +657,6 @@ level = 6
state = "working"
subtags = [ "pastebin" ]
url = "https://github.com/YunoHost-Apps/distbin_ynh"
antifeatures = ["deprecated-software"]
[django-fmd]
category = "iot"
@ -845,7 +836,6 @@ category = "small_utilities"
level = 8
state = "working"
url = "https://github.com/YunoHost-Apps/encryptor-decryptor_ynh"
antifeatures = ["deprecated-software"]
[endi]
category = "productivity_and_management"
@ -875,7 +865,6 @@ potential_alternative_to = [ "Google Sheets", "G Suite", "Microsoft Excel", "Off
state = "working"
subtags = [ "spreadsheet" ]
url = "https://github.com/YunoHost-Apps/ethercalc_ynh"
antifeatures = ["deprecated-software"]
[etherpad]
category = "office"
@ -913,7 +902,6 @@ level = 8
state = "working"
subtags = [ "monitoring" ]
url = "https://github.com/YunoHost-Apps/facette_ynh"
antifeatures = ["deprecated-software"]
[facilmap]
category = "productivity_and_management"
@ -955,7 +943,6 @@ potential_alternative_to = [ "WeTransfer" ]
state = "working"
subtags = [ "files" ]
url = "https://github.com/YunoHost-Apps/filepizza_ynh"
antifeatures = ["deprecated-software"]
[firefish]
category = "social_media"
@ -1015,7 +1002,6 @@ potential_alternative_to = [ "Invision Community", "Vanilla", "vBulletin", "XenF
state = "working"
subtags = [ "forum" ]
url = "https://github.com/YunoHost-Apps/fluxbb_ynh"
antifeatures = ["deprecated-software"]
[focalboard]
category = "productivity_and_management"
@ -1137,7 +1123,6 @@ level = 8
state = "working"
subtags = [ "website", "blog" ]
url = "https://github.com/YunoHost-Apps/getsimple_ynh"
antifeatures = ["deprecated-software"]
[ghost]
antifeatures = [ "arbitrary-limitations" ]
@ -1369,7 +1354,6 @@ category = "system_tools"
level = 7
state = "working"
url = "https://github.com/Yunohost-Apps/httpsh_ynh"
antifeatures = ["deprecated-software"]
[hubzilla]
category = "social_media"
@ -1458,6 +1442,7 @@ subtags = [ "videos" ]
url = "https://github.com/YunoHost-Apps/invidious_ynh"
[invoiceninja]
antifeatures = [ "deprecated-software" ]
category = "productivity_and_management"
level = 7
state = "working"
@ -1490,7 +1475,7 @@ state = "working"
url = "https://github.com/YunoHost-Apps/jackett_ynh"
[jappix]
antifeatures = [ "package-not-maintained", "deprecated-software" ]
antifeatures = [ "package-not-maintained" ]
category = "communication"
level = 7
state = "working"
@ -1580,7 +1565,6 @@ url = "https://github.com/YunoHost-Apps/kanboard_ynh"
[kavita]
category = "reading"
antifeatures = [ "paid-content" ]
level = 8
state = "working"
subtags = [ "books" ]
@ -1661,7 +1645,7 @@ subtags = [ "text" ]
url = "https://github.com/YunoHost-Apps/languagetool_ynh"
[laverna]
antifeatures = [ "package-not-maintained", "deprecated-software" ]
antifeatures = [ "package-not-maintained" ]
category = "office"
level = 7
state = "working"
@ -1742,7 +1726,6 @@ level = 7
state = "working"
subtags = [ "wiki" ]
url = "https://github.com/YunoHost-Apps/libreto_ynh"
antifeatures = ["deprecated-software"]
[libretranslate]
category = "small_utilities"
@ -1790,7 +1773,6 @@ level = 6
state = "working"
subtags = [ "monitoring" ]
url = "https://github.com/YunoHost-Apps/linuxdash_ynh"
antifeatures = ["deprecated-software"]
[lionwiki-t2t]
category = "publishing"
@ -1829,7 +1811,6 @@ potential_alternative_to = [ "Google Docs", "Microsoft Excel" ]
state = "working"
subtags = [ "spreadsheet" ]
url = "https://github.com/YunoHost-Apps/luckysheet_ynh"
antifeatures = ["deprecated-software"]
[lufi]
category = "synchronization"
@ -2004,7 +1985,6 @@ level = 8
state = "working"
subtags = [ "chat" ]
url = "https://github.com/YunoHost-Apps/minchat_ynh"
antifeatures = ["deprecated-software"]
[mindmaps]
category = "office"
@ -2012,7 +1992,6 @@ level = 8
state = "working"
subtags = [ "mindmap" ]
url = "https://github.com/YunoHost-Apps/mindmaps_ynh"
antifeatures = ["deprecated-software"]
[minetest]
category = "games"
@ -2026,7 +2005,6 @@ category = "publishing"
level = 8
state = "working"
url = "https://github.com/YunoHost-Apps/mineweb_ynh"
antifeatures = ["deprecated-software"]
[minidlna]
category = "multimedia"
@ -2139,7 +2117,6 @@ level = 8
state = "working"
subtags = [ "meeting" ]
url = "https://github.com/YunoHost-Apps/mumble-web_ynh"
antifeatures = ["deprecated-software"]
[mumbleserver]
category = "communication"
@ -2375,7 +2352,6 @@ category = "wat"
level = 8
state = "working"
url = "https://github.com/YunoHost-Apps/osjs_ynh"
antifeatures = ["deprecated-software"]
[osticket]
category = "productivity_and_management"
@ -2613,7 +2589,6 @@ level = 8
state = "working"
subtags = [ "website", "blog" ]
url = "https://github.com/YunoHost-Apps/pico_ynh"
antifeatures = ["deprecated-software"]
[pihole]
category = "system_tools"
@ -2726,7 +2701,7 @@ url = "https://github.com/YunoHost-Apps/privatebin_ynh"
category = "publishing"
level = 8
potential_alternative_to = [ "Blogger", "Blogspot", "Wix" ]
state = "notworking"
state = "working"
subtags = [ "website", "blog" ]
url = "https://github.com/YunoHost-Apps/processwire_ynh"
@ -3059,7 +3034,6 @@ category = "system_tools"
level = 6
state = "working"
url = "https://github.com/YunoHost-Apps/shellinabox_ynh"
antifeatures = ["deprecated-software"]
[shiori]
category = "small_utilities"
@ -3082,7 +3056,6 @@ potential_alternative_to = [ "bitly" ]
state = "working"
subtags = [ "url_shortener" ]
url = "https://github.com/YunoHost-Apps/shuri_ynh"
antifeatures = ["deprecated-software"]
[signaturepdf]
category = "small_utilities"
@ -3095,14 +3068,12 @@ category = "small_utilities"
level = 6
state = "working"
url = "https://github.com/YunoHost-Apps/simple-file-manager_ynh"
antifeatures = ["deprecated-software"]
[simple-hash-generator]
category = "small_utilities"
level = 8
state = "working"
url = "https://github.com/YunoHost-Apps/simple-hash-generator_ynh"
antifeatures = ["deprecated-software"]
[simple-torrent]
antifeatures = [ "deprecated-software" ]
@ -3120,7 +3091,7 @@ subtags = [ "chat" ]
url = "https://github.com/YunoHost-Apps/simplex_ynh"
[simplytranslate]
antifeatures = [ "non-free-network", "deprecated-software" ]
antifeatures = [ "non-free-network" ]
category = "small_utilities"
level = 7
state = "working"
@ -3132,7 +3103,6 @@ level = 8
state = "working"
subtags = [ "website" ]
url = "https://github.com/YunoHost-Apps/sitemagiccms_ynh"
antifeatures = ["deprecated-software"]
[slingcode]
category = "dev"
@ -3140,7 +3110,6 @@ level = 8
state = "working"
subtags = [ "programming" ]
url = "https://github.com/YunoHost-Apps/slingcode_ynh"
antifeatures = ["deprecated-software"]
[snappymail]
category = "communication"
@ -3229,7 +3198,6 @@ category = "system_tools"
level = 8
state = "working"
url = "https://github.com/YunoHost-Apps/ssh_chroot_dir_ynh"
antifeatures = ["deprecated-software"]
[statpingng]
category = "system_tools"
@ -3259,7 +3227,6 @@ potential_alternative_to = [ "Google Slides", "Office 365", "Prezi", "SoZi" ]
state = "working"
subtags = [ "impress" ]
url = "https://github.com/YunoHost-Apps/strut_ynh"
antifeatures = ["deprecated-software"]
[superset]
category = "wat"
@ -3316,7 +3283,7 @@ state = "working"
url = "https://github.com/YunoHost-Apps/tandoor_ynh"
[taskboard]
antifeatures = [ "package-not-maintained", "deprecated-software" ]
antifeatures = [ "package-not-maintained" ]
category = "productivity_and_management"
level = 7
potential_alternative_to = [ "Trello" ]
@ -3502,7 +3469,6 @@ level = 8
state = "working"
subtags = [ "task" ]
url = "https://github.com/YunoHost-Apps/tyto_ynh"
antifeatures = ["deprecated-software"]
[ulogger]
category = "small_utilities"
@ -3788,7 +3754,6 @@ level = 6
potential_alternative_to = [ "Mullvad" ]
state = "working"
url = "https://github.com/YunoHost-Apps/zeronet_ynh"
antifeatures = ["deprecated-software"]
[zerotier]
antifeatures = [ "not-totally-free-upstream", "non-free-network" ]

View File

@ -2,40 +2,34 @@
icon = "cloud"
title.en = "Synchronization"
title.es = "Sincronización"
title.eu = "Sinkronizazioa"
title.fr = "Synchronisation"
title.it = "Sincronizzazione"
description.en = "Files sync, contact, calendar, password managers..."
description.es = "Sincronización, contactos, calendario, gestor de contraseñas..."
description.eu = "Sinkronizazioa, kontaktuak, egutegia, pasahitzen kudeaketa..."
description.fr = "Fichiers, contacts, calendrier, mots de passe..."
description.it = "Sincronizzazione di file, contatti, calendari, gestione password…"
[synchronization.subtags.files]
title.en = "Files"
title.es = "Archivos"
title.eu = "Fitxategiak"
title.fr = "Fichiers"
title.it = "File"
[synchronization.subtags.calendar]
title.en = "Calendar"
title.es = "Calendario"
title.eu = "Egutegia"
title.fr = "Calendrier"
title.it = "Calendario"
[synchronization.subtags.contacts]
title.en = "Contacts"
title.es = "Contactos"
title.eu = "Kontaktuak"
title.fr = "Contacts"
title.it = "Contatti"
[synchronization.subtags.password]
title.en = "Passwords"
title.es = "Contraseñas"
title.eu = "Pasahitzak"
title.fr = "Mots de passe"
title.it = "Password"
@ -43,47 +37,40 @@ description.it = "Sincronizzazione di file, contatti, calendari, gestione passwo
icon = "globe"
title.en = "Publishing"
title.es = "Publicaciones"
title.eu = "Argitalpenak"
title.fr = "Publication"
title.it = "Pubblicazione"
description.en = "Websites, blog, wiki, CMS..."
description.es = "Paginas Web, blog, wiki, CMS..."
description.eu = "Web orriak, blogak, wikiak, CMSak..."
description.fr = "Site web, blog, wiki, CMS..."
description.it = "Siti web, blog, wiki, CMS…"
[publishing.subtags.website]
title.en = "Website"
title.es = "Paginas web"
title.eu = "Web orriak"
title.fr = "Site web"
title.it = "Siti web"
[publishing.subtags.blog]
title.en = "Blog"
title.es = "blog"
title.eu = "Blogak"
title.fr = "Blog"
title.it = "Blog"
[publishing.subtags.wiki]
title.en = "Wiki"
title.es = "Wiki"
title.eu = "Wikiak"
title.fr = "Wiki"
title.it = "Wiki"
[publishing.subtags.ecommerce]
title.en = "E-commerce"
title.es = "Comercio eletronico"
title.eu = "Merkataritza elektronikoa"
title.fr = "Vente en ligne"
title.it = "Vendite online"
[publishing.subtags.analytics]
title.en = "Analytics"
title.es = "Estadisticas"
title.eu = "Estatistikak"
title.fr = "Statistiques"
title.it = "Analisi del traffico"
@ -91,40 +78,34 @@ description.it = "Siti web, blog, wiki, CMS…"
icon = "comments-o"
title.en = "Communication"
title.es = "Comunicacion"
title.eu = "Komunikazioa"
title.fr = "Communication"
title.it = "Comunicazione"
description.en = "Chat, email, forum, meetings..."
description.es = "Chat, email, foro, reuniones en grupo..."
description.eu = "Txata, ePosta, foroak, talde-bilerak..."
description.fr = "Chat, email, forum, meetings..."
description.it = "Messaggistica, posta elettronica, forum, riunioni…"
[communication.subtags.chat]
title.en = "Instant messaging"
title.es = "Mensajeria Instantanea"
title.eu = "Bat-bateko mezularitza"
title.fr = "Messagerie instantannée"
title.it = "Messaggistica istantanea"
[communication.subtags.forum]
title.en = "Forum"
title.es = "Foro"
title.eu = "Foroak"
title.fr = "Forum"
title.it = "Forum"
[communication.subtags.email]
title.en = "Email"
title.es = "Email"
title.eu = "ePosta"
title.fr = "Email"
title.it = "Posta elettronica"
[communication.subtags.meeting]
title.en = "Meetings"
title.es = "Reuniones"
title.eu = "Bilerak"
title.fr = "Meetings"
title.it = "Riunioni"
@ -132,323 +113,268 @@ description.it = "Messaggistica, posta elettronica, forum, riunioni…"
icon = "file-text-o"
title.en = "Office"
title.es = "Ofimatica"
title.eu = "Bulegoa"
title.fr = "Bureautique"
title.it = "Burocrazia"
description.en = "Collaborative text editing, spreadsheets..."
description.es = "Edición de texto colaborativo, hojas de cálculo..."
description.eu = "Testu eta kalkulu-orrien edizioa..."
description.fr = "Édition de texte collaborative, tableurs..."
description.it = "Modifica di testo collaborativa, tabelle…"
[office.subtags.text]
title.en = "Text"
title.es = "Texto"
title.eu = "Testua"
title.fr = "Texte"
title.it = "Testo"
[office.subtags.spreadsheet]
title.en = "Spreadsheet"
title.es = "Hoja de cálculo"
title.eu = "Kalkulu-orriak"
title.fr = "Tableur"
title.it = "Tabelle"
[office.subtags.impress]
title.en = "Slide show"
title.es = "Diapositivas"
title.eu = "Diapositiba-aurkezpenak"
title.fr = "Diaporama"
title.it = "Diapositive"
[office.subtags.draw]
title.en = "Graphism"
title.es = "Graficos"
title.eu = "Grafikoak"
title.fr = "Graphisme"
title.it = "Grafica"
[office.subtags.mindmap]
title.en = "Mindmap"
title.eu = "Ideia-zuhaitzak"
title.fr = "Cartes mentale"
title.it = "Mappe mentali"
[productivity_and_management]
icon = "area-chart"
title.en = "Productivity & management"
title.eu = "Produktibitatea eta kudeaketa"
title.fr = "Productivité & gestion"
title.it = "Produttività & gestionale"
description.en = "Tasks, polls, accounting, ERP..."
description.eu = "Zereginak, inkestak, kontabilitatea, enpresa-baliabideen plangintza (ERP)..."
description.fr = "Tâches, sondages, comptabilité, ERP..."
description.it = "Gestione attività, sondaggi, contabilità, ERP…"
[productivity_and_management.subtags.task]
title.en = "Task"
title.eu = "Zereginak"
title.fr = "Tâches"
title.it = "Gestione attività"
[productivity_and_management.subtags.poll]
title.en = "Poll"
title.eu = "Inkestak"
title.fr = "Sondage"
title.it = "Sondaggi"
[productivity_and_management.subtags.accounting]
title.en = "Accounting"
title.eu = "Kontabilitatea"
title.fr = "Comptabilité"
title.it = "Contabilità"
[productivity_and_management.subtags.business_and_ngos]
title.en = "Business and NGOs"
title.eu = "Korporazio eta GKEak"
title.fr = "Entreprises et associations"
title.it = "Imprese e associazioni"
[small_utilities]
icon = "umbrella"
title.en = "Small utilities"
title.eu = "Tresna txikiak"
title.fr = "Petits utilitaires"
title.it = "Piccoli strumenti"
description.en = "Pastebins, URL shortener, proxies..."
description.eu = "Pastebinak, URL laburtzaileak, proxyak..."
description.fr = "Pastebins, raccourcisseurs d'URL, proxys..."
description.it = "Pastebin, accorciamento di URL, proxy…"
[small_utilities.subtags.pastebin]
title.en = "Pastebin"
title.eu = "Pastebinak"
title.fr = "Pastebin"
title.it = "Pastebin"
[small_utilities.subtags.url_shortener]
title.en = "URL shortener"
title.eu = "URL laburtzaileak"
title.fr = "Raccourcisseurs d'URL"
title.it = "Accorciatore di URL"
[small_utilities.subtags.proxy]
title.en = "Proxy"
title.eu = "Proxyak"
title.fr = "Proxy (Intermédiaire)"
title.it = "Proxy"
[reading]
icon = "newspaper-o"
title.en = "Reading"
title.eu = "Irakurketa"
title.fr = "Lecture"
title.it = "Lettura"
description.en = "Newsfeed readers, books library..."
description.eu = "Albiste-jarioak, liburutegiak..."
description.fr = "Fils d'actualité, livres..."
description.it = "Notizie, libri…"
[reading.subtags.rssreader]
title.en = "RSS readers"
title.eu = "RSS irakurleak"
title.fr = "Lecteurs RSS"
title.it = "Lettore RSS"
[reading.subtags.books]
title.en = "Books"
title.eu = "Liburuak"
title.fr = "Livres"
title.it = "Libri"
[multimedia]
icon = "music"
title.en = "Multimedia"
title.eu = "Multimedia"
title.fr = "Multimédia"
title.it = "Multimedia"
description.en = "Music library, pictures gallery, P2P, TV shows..."
description.eu = "Musika liburutegiak, argazki-bildumak, P2P, TB saioak..."
description.fr = "Bibliothèque de musique, d'images, P2P, séries..."
description.it = "Librerie musicali, gallerie dimmagini, P2P, serie TV…"
[multimedia.subtags.mediacenter]
title.en = "Media center"
title.eu = "Multimedia"
title.fr = "Centre multimédia"
title.it = "Centro multimediale"
[multimedia.subtags.download]
title.en = "Download"
title.eu = "Deskargak"
title.fr = "Téléchargement"
title.it = "Download"
[multimedia.subtags.music]
title.en = "Music"
title.eu = "Musika"
title.fr = "Musique"
title.it = "Musica"
[multimedia.subtags.pictures]
title.en = "Pictures"
title.eu = "Irudiak"
title.fr = "Images"
title.it = "Immagini"
[multimedia.subtags.videos]
title.en = "Videos"
title.eu = "Bideoak"
title.fr = "Vidéos"
title.it = "Video"
[social_media]
icon = "users"
title.en = "Social media"
title.eu = "Sare sozialak"
title.fr = "Médias sociaux"
title.it = "Social media"
description.en = "Microblogging, federated media"
description.eu = "Mikroblogak, federatutako media"
description.fr = "Microblogging, médias fédérés"
description.it = "Microblogging, media federati"
[social_media.subtags.microblogging]
title.en = "Microblogging"
title.eu = "Mikroblogintza"
title.fr = "Microblogging"
title.it = "Microblogging"
[social_media.subtags.blogging]
title.en = "Blogging"
title.eu = "Blogintza"
title.fr = "Blogging"
title.it = "Blogging"
[social_media.subtags.events]
title.en = "Events"
title.eu = "Gertaerak"
title.fr = "Événements"
title.it = "Eventi"
[social_media.subtags.videos]
title.en = "Videos"
title.eu = "Bideoak"
title.fr = "Vidéos"
title.it = "Video"
[social_media.subtags.pictures]
title.en = "Pictures"
title.eu = "Irudiak"
title.fr = "Images"
title.it = "Immagini"
[social_media.subtags.music]
title.en = "Music"
title.eu = "Musika"
title.fr = "Musique"
title.it = "Musica"
[games]
icon = "gamepad"
title.en = "Games"
title.eu = "Jolasak"
title.fr = "Jeux"
title.it = "Giochi"
description.en = "Wanna have some fun? ;)"
description.eu = "Dibertitu nahi duzu? ;)"
description.fr = "Envie de s'amuser ? ;)"
description.it = "Voglia di divertirti? ;)"
[dev]
icon = "flask"
title.en = "Development"
title.eu = "Garapena"
title.fr = "Développement"
title.it = "Sviluppo"
description.en = "Git forges, apps skeleton, CI, translation..."
description.eu = "Forge Git, aplikazioen eskematizazioa, CI, itzulpengintza..."
description.fr = "Forges Git, squelette d'apps, CI, traduction..."
description.it = "Forge Git, schematizzazione di applicazioni, CI, traduzioni…"
[dev.subtags.forge]
title.en = "Forge"
title.eu = "Forge"
title.fr = "Forge"
title.it = "Forgia"
[dev.subtags.skeleton]
title.en = "Skeleton"
title.eu = "Eskematizazioa"
title.fr = "Squelettes"
title.it = "Schematizzazione"
[dev.subtags.programming]
title.en = "Programming"
title.eu = "Programazioa"
title.fr = "Programmation"
title.it = "Programmazione"
[dev.subtags.design]
title.en = "Design"
title.eu = "Diseinua"
title.fr = "Design"
title.it = "Progettazione"
[system_tools]
icon = "wrench"
title.en = "System tools"
title.eu = "Sistemaren tresnak"
title.fr = "Outils système"
title.it = "Strumenti di sistema"
description.en = "Monitoring, backup, network, DB tools..."
description.eu = "Monitorizazioa, babeskopiak, sarea, datu-baseen tresnak..."
description.fr = "Monitoring, sauvegardes, outils réseau, bases de données..."
description.it = "Monitoraggio, backup, servizi di rete, database…"
[system_tools.subtags.backup]
title.en = "Backup"
title.eu = "Babeskopiak"
title.fr = "Sauvegardes"
title.it = "Backup"
[system_tools.subtags.monitoring]
title.en = "Monitoring"
title.eu = "Monitorizazioa"
title.fr = "Monitoring"
title.it = "Monitoraggio"
[system_tools.subtags.network]
title.en = "Network"
title.eu = "Sarea"
title.fr = "Réseau"
title.it = "Rete"
[system_tools.subtags.db]
title.en = "Databases"
title.eu = "Datu-baseak"
title.fr = "Bases de données"
title.it = "Database"
[iot]
icon = "home"
title.en = "Internet of Things (IoT)"
title.eu = "Gauzen internet (IoT)"
title.fr = "Internet des objets (IoT)"
title.it = "Interned delle Cose (IoT)"
description.en = "Home automation, energy dashboard..."
description.eu = "Domotika, automatizazioa, energiaren kudeaketa..."
description.fr = "Domotique, énergie..."
description.it = "Domotica, controllo energia…"
[wat]
icon = "tree"
title.en = "Wat"
title.eu = "Wat"
title.fr = "Wat"
title.it = "Wat"
description.en = "Weird experimental or very-custom stuff"
description.eu = "Esperimentuak, kontu arraroak edo gauza oso bereziak"
description.fr = "Trucs expérimentaux et autres projets spécifiques"
description.it = "Esperimenti e altri progetti particolari"

15
store/refresh_store.sh Normal file
View File

@ -0,0 +1,15 @@
#!/usr/bin/env bash
workdir=$(realpath "$(dirname "$0")")
log=$workdir/refresh_store.log
cd "$workdir"
date >> "$log"
git pull &>/dev/null
cat cron | sed "s@__BASEDIR__@$workdir@g" > /etc/cron.d/refresh_store
systemctl restart appstore.service 2>&1 | tee "$log"
if systemctl --quiet is-failed appstore.service; then
sendxmpppy "[refresh_store] Restarting appstore.service failed miserably :scream:"
fi

View File

@ -185,7 +185,7 @@
</h2>
<p class="text-sm">
{{ _("These are apps who are not maintained anymore.") }}<br/>
{{ _("This means that the developer will no longer update them. We strongly advise against their installation and advise users to find alternatives.") }}
{{ _("This means that the developer will no longer update them. We strongly advise against their installation and advise users to find alternatives.") }}
</p>
</div>

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:04+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: ar <LL@li.org>\n"
@ -140,7 +140,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -331,28 +331,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:05+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: bn_BD <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:05+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: br <LL@li.org>\n"
@ -143,7 +143,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -334,28 +334,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:05+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: ca <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: ckb <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:09+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: cs <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:05+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: da <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"PO-Revision-Date: 2024-03-06 17:37+0000\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-03-04 19:26+0000\n"
"Last-Translator: Christian Wehrli <christian@chw.onl>\n"
"Language-Team: German <https://translate.yunohost.org/projects/yunohost/apps/"
"de/>\n"
@ -37,8 +37,8 @@ msgid ""
"reading posts."
msgstr ""
"Beachten Sie, dass wir aufgrund verschiedener Missbräuche die Anmeldung im "
"App-Store auf Benutzer der „Vertrauensstufe 1“ beschränkt haben.<br/><br/"
">„Vertrauensstufe 1“ wird erreicht, wenn man mindestens mit dem Forum "
"App-Store auf Benutzer der „Vertrauensstufe 1“ beschränkt haben.<br/><br/>„"
"Vertrauensstufe 1“ wird erreicht, wenn man mindestens mit dem Forum "
"interagiert hat, spezifisch: Mindestens 5 Themen geöffnet, mindestens 30 "
"Beiträge gelesen und mindestens 10 Minuten damit verbracht haben, Beiträge "
"zu lesen."
@ -80,8 +80,7 @@ msgstr "Die App-Beschreibung sollte weniger als 100 Zeichen umfassen"
#: app.py:242
msgid "Upstream code repo URL should be at least 10 characters"
msgstr ""
"Die Upstream-Code-Repository-URL sollte mindestens 10 Zeichen lang sein"
msgstr "Die Upstream-Code-Repository-URL sollte mindestens 10 Zeichen lang sein"
#: app.py:246
msgid "Upstream code repo URL should be less than 150 characters"
@ -171,7 +170,7 @@ msgstr ""
"Tests nicht bestanden hat."
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -318,8 +317,8 @@ msgid ""
msgstr ""
"Hergestellt mit <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"mit Hilfe von <a class='text-blue-800' href='https://flask.palletsprojects."
"com'>Flask</a> und <a class='text-blue-800' href='https://tailwindcss."
"com/'>TailwindCSS</a> - <a class='text-blue-800' href='https://github.com/"
"com'>Flask</a> und <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>"
@ -377,35 +376,14 @@ msgstr "Finden Sie nicht, wonach Sie suchen?"
msgid "Checkout the wishlist!"
msgstr "Schauen Sie sich die Wunschliste an!"
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr "Applikationen, die gegenwärtig als defekt markiert sind"
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr "Das sind Apps, welche die automatischen Tests nicht bestanden haben."
#: templates/catalog.html:184
#, fuzzy
#| msgid "Browse all applications"
msgid "Deprecated applications"
msgstr "Alle Applikationen"
#: templates/catalog.html:187
#, fuzzy
#| msgid "These are apps which failed our automatic tests."
msgid "These are apps who are not maintained anymore."
msgstr "Das sind Apps, welche die automatischen Tests nicht bestanden haben."
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
"Das bedeutet, dass der Entwickler sie nicht mehr aktualisieren wird. Wir "
"raten dringend von deren Installation ab und empfehlen Benutzern, nach "
"Alternativen zu suchen."
#: templates/index.html:10
msgid "Application Store"
msgstr "Applikations-Store"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:06+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: el <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:06+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: eo <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:05+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: es <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"PO-Revision-Date: 2024-03-06 18:13+0000\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-03-04 19:26+0000\n"
"Last-Translator: xabirequejo <xabi.rn@gmail.com>\n"
"Language-Team: Basque <https://translate.yunohost.org/projects/yunohost/apps/"
"eu/>\n"
@ -82,8 +82,7 @@ msgstr ""
#: app.py:246
msgid "Upstream code repo URL should be less than 150 characters"
msgstr ""
"Jatorrizko kode-gordailuaren URLak 150 karaktere izan ditzazke gehienez"
msgstr "Jatorrizko kode-gordailuaren URLak 150 karaktere izan ditzazke gehienez"
#: app.py:250
msgid "License URL should be at least 10 characters"
@ -145,8 +144,8 @@ msgid ""
"%(url)s</a>"
msgstr ""
"Proposatutako aplikazioa behar bezala bidali da. YunoHosten taldeak "
"baliozkotu behar du orain. Egoera hemen ikusi dezakezu: <a href='%(url)s'>"
"%(url)s</a>"
"baliozkotu behar du orain. Egoera hemen ikusi dezakezu: <a "
"href='%(url)s'>%(url)s</a>"
#: app.py:449
msgid "Unfortunately, login was denied."
@ -166,7 +165,7 @@ msgstr ""
"Aplikazioa ez dabilela ageri da ez dituelako gure test automatikoak gainditu."
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -367,30 +366,14 @@ msgstr "Ez duzu bilatzen ari zarena aurkitzen?"
msgid "Checkout the wishlist!"
msgstr "Begiratu desira-zerrenda!"
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr "Aplikazioa hondatuta gisa ageri da"
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr "Gure test automatikoak gainditu ez dituzten aplikazioak dira hauek."
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr "Utzitako aplikazioak"
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr "Aplikazio hauek ez dute mantenduko dituenik."
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
"Honek esan nahi du garatzaileek ez dituztela aurrerantzean eguneratuko. Gure "
"gomendioa ez instalatzea da eta beraien ordez alternatibak bilatzea."
#: templates/index.html:10
msgid "Application Store"
msgstr "Aplikazio denda"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: fa <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:06+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: fi <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -390,7 +390,7 @@ msgstr "Il s'agit des applications qui ne sont plus maintenues."
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
"Cela signifie que le développeur ne les mettra plus à jour. Nous "

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"PO-Revision-Date: 2024-03-06 17:37+0000\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-29 20:27+0000\n"
"Last-Translator: \"José M.\" <correo@xmgz.eu>\n"
"Language-Team: Galician <https://translate.yunohost.org/projects/yunohost/"
"apps/gl/>\n"
@ -118,8 +118,8 @@ msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you "
"can <a href='%(url)s'>add a star to the app to show your interest</a>."
msgstr ""
"Xa existe unha entrada co nome %(slug)s, así que podes <a "
"href='%(url)s'>engadirlle unha estrela para mostrar interese</a>."
"Xa existe unha entrada co nome %(slug)s, así que podes <a href='%(url)"
"s'>engadirlle unha estrela para mostrar interese</a>."
#: app.py:325
#, python-format
@ -140,8 +140,8 @@ msgid ""
"%(url)s</a>"
msgstr ""
"Foi enviada correctamente a solicitude para a app. Agora vai ser validada "
"polo equipo de YunoHost. Podes ver aquí o proceso: <a href='%(url)s'>"
"%(url)s</a>"
"polo equipo de YunoHost. Podes ver aquí o proceso: <a "
"href='%(url)s'>%(url)s</a>"
#: app.py:449
msgid "Unfortunately, login was denied."
@ -162,7 +162,7 @@ msgstr ""
"probas automatizadas."
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -210,8 +210,7 @@ msgstr "Captura de pantalla de %(app)s"
#, python-format
msgid ""
"This app is only compatible with these specific architectures: %(archs)s"
msgstr ""
"Esta app só é compatible con estas arquitecturas específicas: %(archs)s"
msgstr "Esta app só é compatible con estas arquitecturas específicas: %(archs)s"
#: templates/app.html:112
#, python-format
@ -307,8 +306,8 @@ msgid ""
msgstr ""
"Creada con <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"usando <a class='text-blue-800' href='https://flask.palletsprojects."
"com'>Flask</a> e <a class='text-blue-800' href='https://tailwindcss."
"com/'>TailwindCSS</a> - <a class='text-blue-800' href='https://github.com/"
"com'>Flask</a> e <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> Fonte</a>"
@ -366,37 +365,21 @@ msgstr "Non atopas o que buscabas?"
msgid "Checkout the wishlist!"
msgstr "Mira na lista de desexos!"
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr "Aplicacións marcadas actualmente como estragadas"
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr "Estas son as apps que non superaron as nosas probas automatizadas."
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr "Aplicacións abandonadas"
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr "Estas son as apps que xa non teñen mantemento."
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
"Isto significa que a desenvolvedora non a vai actualizar. Recomendamos "
"vivamente non instalala e aconsellamos ás usuarias a buscar unha alternativa."
#: templates/index.html:10
msgid "Application Store"
msgstr "Tenda de Aplicacións"
#: templates/index.html:21
msgid "Browse all applications"
msgstr "Ver todas as aplicacións"
msgstr "Ve todas as aplicacións"
#: templates/wishlist.html:3 templates/wishlist.html:8
msgid "Application Wishlist"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:06+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: he <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:06+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: hi <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:06+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: hu <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:06+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: id <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:07+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: it <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:07+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: ja <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:07+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: kab <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:05+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: ko <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:07+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: lt <LL@li.org>\n"
@ -140,7 +140,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -331,28 +331,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:07+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: mk <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:07+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: nb_NO <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:07+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: ne <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:07+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: nl <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: oc <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: pl <LL@li.org>\n"
@ -140,7 +140,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -331,28 +331,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: pt <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: pt_BR <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: ru <LL@li.org>\n"
@ -140,7 +140,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -331,28 +331,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: sk <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: sl <LL@li.org>\n"
@ -140,7 +140,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -331,28 +331,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:09+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: sv <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:09+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: te <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:09+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: tr <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:09+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: uk <LL@li.org>\n"
@ -140,7 +140,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -331,28 +331,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-05 19:36+0100\n"
"POT-Creation-Date: 2024-02-27 19:41+0100\n"
"PO-Revision-Date: 2024-02-21 06:05+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: zh_Hans <LL@li.org>\n"
@ -139,7 +139,7 @@ msgid ""
msgstr ""
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170
#: templates/catalog.html:42 templates/catalog.html:169
msgid ""
"This is usually a temporary situation which requires packagers to fix "
"something in the app."
@ -330,28 +330,14 @@ msgstr ""
msgid "Checkout the wishlist!"
msgstr ""
#: templates/catalog.html:166
#: templates/catalog.html:165
msgid "Applications currently flagged as broken"
msgstr ""
#: templates/catalog.html:169
#: templates/catalog.html:168
msgid "These are apps which failed our automatic tests."
msgstr ""
#: templates/catalog.html:184
msgid "Deprecated applications"
msgstr ""
#: templates/catalog.html:187
msgid "These are apps who are not maintained anymore."
msgstr ""
#: templates/catalog.html:188
msgid ""
"This means that the developer will no longer update them. We strongly "
"advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/index.html:10
msgid "Application Store"
msgstr ""

View File

@ -274,7 +274,7 @@ class AppAutoUpdater:
elif tag.startswith("release-"):
t_to_check = tag.split("-", 1)[-1].replace("-", ".")
if re.match(r"^v?\d+(\.\d+)*(\-\d+)?$", t_to_check):
if re.match(r"^v?[\d\.]*\-?\d$", t_to_check):
return AppAutoUpdater.tag_to_int_tuple(t_to_check)
print(f"Ignoring tag {t_to_check}, doesn't look like a version number")
return None
@ -300,7 +300,7 @@ class AppAutoUpdater:
@staticmethod
def tag_to_int_tuple(tag: str) -> tuple[int, ...]:
tag = tag.lstrip("v").replace("-", ".").rstrip(".")
tag = tag.strip("v").replace("-", ".").strip(".")
int_tuple = tag.split(".")
assert all(i.isdigit() for i in int_tuple), f"Cant convert {tag} to int tuple :/"
return tuple(int(i) for i in int_tuple)
@ -480,7 +480,7 @@ class AppAutoUpdater:
if is_main:
def repl(m: re.Match) -> str:
return m.group(1) + new_version + '~ynh1"'
content = re.sub(r"(\s*version\s*=\s*[\"\'])([^~\"\']+)(\~ynh\d+[\"\'])", repl, content)
content = re.sub(r"(\s*version\s*=\s*[\"\'])([\d\.]+)(\~ynh\d+[\"\'])", repl, content)
for old, new in replacements:
content = content.replace(old, new)

View File

@ -40,10 +40,6 @@ class GithubAPI:
"""Get a list of releases for project."""
return self.internal_api(f"repos/{self.upstream_repo}/releases")
def archived(self) -> bool:
"""Return the archival status for the repository"""
return self.internal_api(f"repos/{self.upstream_repo}")["archived"]
def url_for_ref(self, ref: str, ref_type: RefType) -> str:
"""Get a URL for a ref."""
if ref_type == RefType.tags:
@ -57,7 +53,6 @@ class GithubAPI:
class GitlabAPI:
def __init__(self, upstream: str):
# Find gitlab api root...
upstream = upstream.rstrip("/")
self.forge_root = self.get_forge_root(upstream).rstrip("/")
self.project_path = upstream.replace(self.forge_root, "").lstrip("/")
self.project_id = self.find_project_id(self.project_path)
@ -133,10 +128,6 @@ class GitlabAPI:
return retval
def archived(self) -> bool:
"""Return the archival status for the repository"""
return self.internal_api(f"projects/{self.project_id}").get("archived", False)
def url_for_ref(self, ref: str, ref_type: RefType) -> str:
name = self.project_path.split("/")[-1]
clean_ref = ref.replace("/", "-")
@ -175,10 +166,6 @@ class GiteaForgejoAPI:
"""Get a list of releases for project."""
return self.internal_api(f"repos/{self.project_path}/releases")
def archived(self) -> bool:
"""Return the archival status for the repository"""
return self.internal_api(f"repos/{self.project_path}")["archived"]
def url_for_ref(self, ref: str, ref_type: RefType) -> str:
"""Get a URL for a ref."""
return f"{self.forge_root}/{self.project_path}/archive/{ref}.tar.gz"

View File

@ -1,152 +0,0 @@
#!/usr/bin/env python3
import traceback
import argparse
import tomlkit
import multiprocessing
import datetime
import json
import sys
from functools import cache
import logging
from pathlib import Path
from typing import Optional
import toml
import tqdm
import github
# add apps/tools to sys.path
sys.path.insert(0, str(Path(__file__).parent.parent))
from appslib.utils import REPO_APPS_ROOT, get_catalog # noqa: E402 pylint: disable=import-error,wrong-import-position
from app_caches import app_cache_folder # noqa: E402 pylint: disable=import-error,wrong-import-position
from autoupdate_app_sources.rest_api import GithubAPI, GitlabAPI, GiteaForgejoAPI, RefType # noqa: E402,E501 pylint: disable=import-error,wrong-import-position
@cache
def get_github() -> tuple[Optional[tuple[str, str]], Optional[github.Github], Optional[github.InputGitAuthor]]:
try:
github_login = (REPO_APPS_ROOT / ".github_login").open("r", encoding="utf-8").read().strip()
github_token = (REPO_APPS_ROOT / ".github_token").open("r", encoding="utf-8").read().strip()
github_email = (REPO_APPS_ROOT / ".github_email").open("r", encoding="utf-8").read().strip()
auth = (github_login, github_token)
github_api = github.Github(github_token)
author = github.InputGitAuthor(github_login, github_email)
return auth, github_api, author
except Exception as e:
logging.warning(f"Could not get github: {e}")
return None, None, None
def upstream_last_update_ago(app: str) -> tuple[str, int | None]:
manifest_toml = app_cache_folder(app) / "manifest.toml"
manifest_json = app_cache_folder(app) / "manifest.json"
if manifest_toml.exists():
manifest = toml.load(manifest_toml.open("r", encoding="utf-8"))
upstream = manifest.get("upstream", {}).get("code")
elif manifest_json.exists():
manifest = json.load(manifest_json.open("r", encoding="utf-8"))
upstream = manifest.get("upstream", {}).get("code")
else:
raise RuntimeError(f"App {app} doesn't have a manifest!")
if upstream is None:
raise RuntimeError(f"App {app} doesn't have an upstream code link!")
api = None
try:
if upstream.startswith("https://github.com/"):
try:
api = GithubAPI(upstream, auth=get_github()[0])
except AssertionError as e:
logging.error(f"Exception while handling {app}: {e}")
return app, None
if upstream.startswith("https://gitlab.") or upstream.startswith("https://framagit.org"):
api = GitlabAPI(upstream)
if upstream.startswith("https://codeberg.org"):
api = GiteaForgejoAPI(upstream)
if not api:
autoupdate = manifest.get("resources", {}).get("sources", {}).get("main", {}).get("autoupdate")
if autoupdate:
strat = autoupdate["strategy"]
if "gitea" in strat or "forgejo" in strat:
api = GiteaForgejoAPI(upstream)
if api:
if api.archived():
# A stupid value that we know to be higher than the trigger value
return app, 1000
last_commit = api.commits()[0]
date = last_commit["commit"]["author"]["date"]
date = datetime.datetime.fromisoformat(date)
ago: datetime.timedelta = datetime.datetime.now() - date.replace(tzinfo=None)
return app, ago.days
except Exception:
logging.error(f"Exception while handling {app}", traceback.format_exc())
raise
raise RuntimeError(f"App {app} not handled (not github, gitlab or gitea with autoupdate). Upstream is {upstream}")
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument("apps", nargs="*", type=str,
help="If not passed, the script will run on the catalog. Github keys required.")
parser.add_argument("-j", "--processes", type=int, default=multiprocessing.cpu_count())
args = parser.parse_args()
apps_dict = get_catalog()
if args.apps:
apps_dict = {app: info for app, info in apps_dict.items() if app in args.apps}
deprecated: list[str] = []
not_deprecated: list[str] = []
# for app, info in apps_dict.items():
with multiprocessing.Pool(processes=args.processes) as pool:
tasks = pool.imap_unordered(upstream_last_update_ago, apps_dict.keys())
for _ in tqdm.tqdm(range(len(apps_dict)), ascii=" ·#"):
try:
app, result = next(tasks)
except Exception as e:
print(f"Exception found: {e}")
continue
if result is None:
continue
if result > 365:
deprecated.append(app)
else:
not_deprecated.append(app)
catalog = tomlkit.load(open("apps.toml"))
for app, info in catalog.items():
antifeatures = info.get("antifeatures", [])
if app in deprecated:
if "deprecated-software" not in antifeatures:
antifeatures.append("deprecated-software")
elif app in not_deprecated:
if "deprecated-software" in antifeatures:
antifeatures.remove("deprecated-software")
else:
continue
# unique the keys
if antifeatures:
info["antifeatures"] = antifeatures
else:
if "antifeatures" in info.keys():
info.pop("antifeatures")
tomlkit.dump(catalog, open("apps.toml", "w"))
if __name__ == "__main__":
main()

View File

@ -1,23 +1,23 @@
# Auto-README generation
## Initial install
### Initial install
```bash
```
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
## Use on a single app
### Use on a single app
```bash
```
source venv/bin/activate
./make_readme.py /path/to/app
```
Then the README.md in the app folder will be updated
## Launch webhook service for auto update
### Launch webhook service for auto update
Configure the webhook on github

View File

@ -4,26 +4,25 @@ import argparse
import json
import os
from pathlib import Path
from copy import deepcopy
from typing import Dict, Optional, List, Tuple
import toml
from jinja2 import Environment, FileSystemLoader
def value_for_lang(values: Dict, lang: str):
if not isinstance(values, dict):
return values
if lang in values:
return values[lang]
elif "en" in values:
return values["en"]
else:
return list(values.values())[0]
def value_for_lang(values, lang):
if not isinstance(values, dict):
return values
if lang in values:
return values[lang]
elif "en" in values:
return values["en"]
else:
return list(values.values())[0]
def generate_READMEs(app_path: str):
app_path = Path(app_path)
def generate_READMEs(app_path: Path):
if not app_path.exists():
raise Exception("App path provided doesn't exists ?!")
@ -34,14 +33,10 @@ def generate_READMEs(app_path: Path):
upstream = manifest.get("upstream", {})
catalog = toml.load(
open(Path(os.path.abspath(__file__)).parent.parent.parent / "apps.toml")
)
from_catalog = catalog.get(manifest["id"], {})
catalog = toml.load(open(Path(os.path.abspath(__file__)).parent.parent.parent / "apps.toml"))
from_catalog = catalog.get(manifest['id'], {})
antifeatures_list = toml.load(
open(Path(os.path.abspath(__file__)).parent.parent.parent / "antifeatures.toml")
)
antifeatures_list = toml.load(open(Path(os.path.abspath(__file__)).parent.parent.parent / "antifeatures.toml"))
if not upstream and not (app_path / "doc" / "DISCLAIMER.md").exists():
print(
@ -51,35 +46,18 @@ def generate_READMEs(app_path: Path):
env = Environment(loader=FileSystemLoader(Path(__file__).parent / "templates"))
# 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
for lang, lang_suffix in [("en", ""), ("fr", "_fr")]:
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")
if (app_path / "doc" / f"DESCRIPTION{lang_suffix}.md").exists():
description = (
app_path / "doc" / f"DESCRIPTION{lang_suffix}.md"
).read_text()
description = (app_path / "doc" / f"DESCRIPTION{lang_suffix}.md").read_text()
# Fallback to english if maintainer too lazy to translate the description
elif (app_path / "doc" / "DESCRIPTION.md").exists():
description = (app_path / "doc" / "DESCRIPTION.md").read_text()
else:
description = None
screenshots: List[str]
if (app_path / "doc" / "screenshots").exists():
screenshots = os.listdir(os.path.join(app_path, "doc", "screenshots"))
if ".gitkeep" in screenshots:
@ -87,7 +65,6 @@ def generate_READMEs(app_path: Path):
else:
screenshots = []
disclaimer: Optional[str]
if (app_path / "doc" / f"DISCLAIMER{lang_suffix}.md").exists():
disclaimer = (app_path / "doc" / f"DISCLAIMER{lang_suffix}.md").read_text()
# Fallback to english if maintainer too lazy to translate the disclaimer idk
@ -97,22 +74,15 @@ def generate_READMEs(app_path: Path):
disclaimer = None
# TODO: Add url to the documentation... and actually create that documentation :D
antifeatures = {
a: deepcopy(antifeatures_list[a])
for a in from_catalog.get("antifeatures", [])
}
antifeatures = { a: antifeatures_list[a] for a in from_catalog.get('antifeatures', [])}
for k, v in antifeatures.items():
antifeatures[k]["title"] = value_for_lang(v["title"], lang)
antifeatures[k]['title'] = value_for_lang(v['title'], lang)
if manifest.get("antifeatures", {}).get(k, None):
antifeatures[k]["description"] = value_for_lang(
manifest.get("antifeatures", {}).get(k, None), lang
)
antifeatures[k]['description'] = value_for_lang(manifest.get("antifeatures", {}).get(k, None), lang)
else:
antifeatures[k]["description"] = value_for_lang(
antifeatures[k]["description"], lang
)
antifeatures[k]['description'] = value_for_lang(antifeatures[k]['description'], lang)
out: str = template.render(
out = template.render(
lang=lang,
upstream=upstream,
description=description,
@ -133,4 +103,4 @@ if __name__ == "__main__":
)
args = parser.parse_args()
generate_READMEs(Path(args.app_path))
generate_READMEs(args.app_path)

View File

@ -31,11 +31,12 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in
## Overview
{% if description %}{{description}}{% else %}{{manifest.description[lang]}}{% endif %}
**Shipped version:** {% if upstream.version %}{{upstream.version}}{% else %}{{manifest.version}}
{% endif -%}
{% if upstream.demo %}
**Demo:** <{{upstream.demo}}>
**Demo:** {{upstream.demo}}
{% endif -%}
{% if screenshots %}
@ -57,21 +58,22 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in
{% for antifeature in antifeatures.values() -%}
- **{{ antifeature.title }}**: {{ antifeature.description }}
{% endfor %}
{% endfor -%}
{% endif -%}
## Documentation and resources
{% if upstream.website -%}- Official app website: <{{ upstream.website }}>
{% if upstream.website -%}* Official app website: <{{ upstream.website }}>
{% endif -%}
{% if upstream.userdoc -%}- Official user documentation: <{{ upstream.userdoc }}>
{% if upstream.userdoc -%}* Official user documentation: <{{ upstream.userdoc }}>
{% endif -%}
{% if upstream.admindoc -%}- Official admin documentation: <{{ upstream.admindoc }}>
{% if upstream.admindoc -%}* Official admin documentation: <{{ upstream.admindoc }}>
{% endif -%}
{% if upstream.code -%}- Upstream app code repository: <{{ upstream.code }}>
{% if upstream.code -%}* Upstream app code repository: <{{ upstream.code }}>
{% endif -%}
- YunoHost Store: <https://apps.yunohost.org/app/{{manifest.id}}>
- Report a bug: <https://github.com/YunoHost-Apps/{{manifest.id}}_ynh/issues>
* YunoHost Store: <https://apps.yunohost.org/app/{{manifest.id}}>
* Report a bug: <https://github.com/YunoHost-Apps/{{manifest.id}}_ynh/issues>
## Developer info
@ -86,4 +88,3 @@ sudo yunohost app upgrade {{manifest.id}} -u https://github.com/YunoHost-Apps/{{
```
**More info regarding app packaging:** <https://yunohost.org/packaging_apps>

View File

@ -17,11 +17,12 @@ Si vous navez pas YunoHost, regardez [ici](https://yunohost.org/#/install) po
## Vue densemble
{% if description %}{{description}}{% else %}{{manifest.description[lang]}}{% endif %}
**Version incluse :** {% if upstream.version %}{{upstream.version}}{% else %}{{manifest.version}}
{% endif -%}
{% if upstream.demo %}
**Démo :** <{{upstream.demo}}>
**Démo :** {{upstream.demo}}
{% endif -%}
{% if screenshots %}
@ -39,25 +40,27 @@ Si vous navez pas YunoHost, regardez [ici](https://yunohost.org/#/install) po
{% endif -%}
{% if antifeatures -%}
## :red_circle: Anti-fonctionnalités
## :red_circle: Fonctions indésirables
{% for antifeature in antifeatures.values() -%}
- **{{ antifeature.title }}** : {{ antifeature.description }}
{% endfor %}
- **{{ antifeature.title }}**: {{ antifeature.description }}
{% endfor -%}
{% endif -%}
## Documentations et ressources
{% if upstream.website -%}- Site officiel de lapp : <{{ upstream.website }}>
{% if upstream.website -%}* Site officiel de lapp : <{{ upstream.website }}>
{% endif -%}
{% if upstream.userdoc -%}- Documentation officielle utilisateur : <{{ upstream.userdoc }}>
{% if upstream.userdoc -%}* Documentation officielle utilisateur : <{{ upstream.userdoc }}>
{% endif -%}
{% if upstream.admindoc -%}- Documentation officielle de ladmin : <{{ upstream.admindoc }}>
{% if upstream.admindoc -%}* Documentation officielle de ladmin : <{{ upstream.admindoc }}>
{% endif -%}
{% if upstream.code -%}- Dépôt de code officiel de lapp : <{{ upstream.code }}>
{% if upstream.code -%}* Dépôt de code officiel de lapp : <{{ upstream.code }}>
{% endif -%}
- YunoHost Store : <https://apps.yunohost.org/app/{{manifest.id}}>
- Signaler un bug : <https://github.com/YunoHost-Apps/{{manifest.id}}_ynh/issues>
* YunoHost Store: <https://apps.yunohost.org/app/{{manifest.id}}>
* Signaler un bug : <https://github.com/YunoHost-Apps/{{manifest.id}}_ynh/issues>
## Informations pour les développeurs
@ -72,4 +75,3 @@ sudo yunohost app upgrade {{manifest.id}} -u https://github.com/YunoHost-Apps/{{
```
**Plus dinfos sur le packaging dapplications :** <https://yunohost.org/packaging_apps>

View File

@ -874,6 +874,12 @@ description = "Read and manage your e-books on any device."
upstream = "https://github.com/Librum-Reader/Librum"
website = "https://librumreader.com/"
[lichen]
name = "Lichen"
description = "Gemtext to HTML translator"
upstream = "https://git.sensorstation.co/lichen.git"
website = ""
[lila]
name = "Lila"
description = "Online chess game server"
@ -1711,12 +1717,6 @@ upstream = ""
website = "https://umap.openstreetmap.fr/"
draft = "https://github.com/YunoHost-Apps/umap_ynh"
[univer]
name = "Univer"
description = "Replacement of Luckysheet (deprecated, in yunohost packages)"
upstream = "https://github.com/dream-num/univer"
website = "https://univer.ai/"
[upmpdcli]
name = "upmpdcli"
description = ""