diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index ab0aede4..cfe97fc8 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -10,9 +10,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Set up Python 3.11
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Install toml python lib
diff --git a/README.md b/README.md
index 7bfd625e..5311c829 100644
--- a/README.md
+++ b/README.md
@@ -2,20 +2,20 @@
-This repository contains the default YunoHost app catalog, as well as tools
-that can be run manually or automatically.
+This repository contains the default YunoHost app catalog, as well as related
+tools that can be run manually or automatically.
The catalog is stored in [**`apps.toml`**](./apps.toml) and is browsable here:
-
+
-It contains refences to the apps' repositories, along with a few metadata about
-them such as its category or maintenance state. This file is regularly read by
+It contains references to the apps' repositories, along with a few metadata about
+them such as their category or maintenance state. This file is regularly read by
`tools/list_builder.py` which publish the results on .
## Where can I learn about app packaging in YunoHost?
- 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)
+- 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!
## How to add your app to the application catalog
@@ -65,7 +65,7 @@ url = "https://github.com/YunoHost-Apps/your_app_ynh"
## Updating apps levels in the catalog
App packagers should *not* manually set their apps' level. The levels of all
-the apps are automatically updated once per week on Friday, according to the
+the apps are automatically updated once a week on Friday, according to the
results from the official app CI.
## Apps flagged as not-maintained
diff --git a/apps.toml b/apps.toml
index 30db142e..db3e7b69 100644
--- a/apps.toml
+++ b/apps.toml
@@ -35,7 +35,7 @@ url = "https://github.com/YunoHost-Apps/abantecart_ynh"
category = "social_media"
level = 6
state = "working"
-subtags = [ "microblogging", "pictures", "forum" ]
+subtags = [ "microblogging", "pictures" ]
url = "https://github.com/YunoHost-Apps/acropolis_ynh"
[actual]
@@ -124,7 +124,6 @@ url = "https://github.com/YunoHost-Apps/anarchism_ynh"
category = "small_utilities"
level = 8
state = "working"
-subtags = [ "archiving" ]
url = "https://github.com/YunoHost-Apps/archivebox_ynh"
[archivist]
@@ -139,7 +138,6 @@ antifeatures = [ "alpha-software" ]
category = "small_utilities"
level = 7
state = "working"
-subtags = [ "remoteStorage", "unhosted" ]
url = "https://github.com/YunoHost-Apps/armadietto_ynh"
[audiobookshelf]
@@ -186,7 +184,6 @@ url = "https://github.com/YunoHost-Apps/bazarr_ynh"
category = "iot"
level = 8
state = "working"
-subtags = [ "automation" ]
url = "https://github.com/YunoHost-Apps/beehive_ynh"
[biboumi]
@@ -305,10 +302,9 @@ url = "https://github.com/YunoHost-Apps/calibreweb_ynh"
[castopod]
category = "multimedia"
-level = 8
+level = 6
potential_alternative_to = [ "Anchor", "Deezer", "SoundCloud", "Spotify", "Audible", "Apple Podcasts" ]
state = "working"
-subtags = [ "podcasts" ]
url = "https://github.com/YunoHost-Apps/castopod_ynh"
[cesium]
@@ -425,7 +421,7 @@ url = "https://github.com/YunoHost-Apps/coin_ynh"
[collabora]
category = "office"
-level = 8
+level = 6
potential_alternative_to = [ "Google Docs", "G Suite", "Microsoft Word", "Microsoft Excel", "Microsoft Office", "Apple Pages" ]
state = "working"
subtags = [ "text", "spreadsheet", "impress" ]
@@ -663,7 +659,7 @@ url = "https://github.com/YunoHost-Apps/distbin_ynh"
[django-fmd]
category = "iot"
-level = 6
+level = 8
potential_alternative_to = [ "Googles FindMyDevice" ]
state = "working"
url = "https://github.com/YunoHost-Apps/django-fmd_ynh"
@@ -799,7 +795,7 @@ url = "https://github.com/YunoHost-Apps/element_ynh"
[element-call]
category = "communication"
-level = 7
+level = 6
potential_alternative_to = [ "Skype", "Zoom" ]
state = "working"
subtags = [ "meeting" ]
@@ -822,7 +818,7 @@ url = "https://github.com/YunoHost-Apps/emailpoubelle_ynh"
[emoncms]
category = "iot"
-level = 8
+level = 6
state = "working"
url = "https://github.com/YunoHost-Apps/emoncms_ynh"
@@ -851,7 +847,7 @@ url = "https://github.com/Yunohost-Apps/endi_ynh"
category = "social_media"
level = 8
state = "working"
-subtags = [ "blog" ]
+subtags = [ "microblogging" ]
url = "https://github.com/YunoHost-Apps/epicyon_ynh"
[ergo]
@@ -916,7 +912,7 @@ url = "https://github.com/YunoHost-Apps/facilmap_ynh"
category = "publishing"
level = 7
state = "working"
-subtags = [ "website", "api" ]
+subtags = [ "website" ]
url = "https://github.com/YunoHost-Apps/fastapi_ynh"
[ffsync]
@@ -927,10 +923,10 @@ state = "working"
url = "https://github.com/YunoHost-Apps/ffsync_ynh"
[fider]
-category = "communication"
+category = "productivity_and_management"
+subtags = [ "poll" ]
level = 3
state = "working"
-subtags = [ "other" ]
url = "https://github.com/YunoHost-Apps/fider_ynh"
[filebrowser]
@@ -970,11 +966,10 @@ subtags = [ "accounting" ]
url = "https://github.com/YunoHost-Apps/firefly-iii-di_ynh"
[fittrackee]
-category = "social_media"
+category = "small_utilities"
level = 8
potential_alternative_to = [ "Strava" ]
state = "working"
-subtags = [ "sport" ]
url = "https://github.com/Yunohost-Apps/fittrackee_ynh"
[flarum]
@@ -1025,7 +1020,7 @@ url = "https://github.com/YunoHost-Apps/forgejo_ynh"
[framaforms]
category = "productivity_and_management"
-level = 6
+level = 0
potential_alternative_to = [ "Google Forms" ]
state = "working"
subtags = [ "poll" ]
@@ -1138,7 +1133,7 @@ url = "https://github.com/YunoHost-Apps/ghost_ynh"
[gitea]
category = "dev"
-level = 6
+level = 8
potential_alternative_to = [ "GitHub" ]
state = "working"
subtags = [ "forge" ]
@@ -1244,7 +1239,7 @@ category = "office"
level = 7
potential_alternative_to = [ "Airtable" ]
state = "working"
-subtags = [ "db", "spreadsheet" ]
+subtags = [ "spreadsheet" ]
url = "https://github.com/YunoHost-Apps/grist_ynh"
[grocy]
@@ -1335,7 +1330,7 @@ url = "https://github.com/YunoHost-Apps/homarr_ynh"
[homeassistant]
category = "iot"
-level = 8
+level = 6
state = "working"
url = "https://github.com/YunoHost-Apps/homeassistant_ynh"
@@ -1387,8 +1382,8 @@ subtags = [ "chat" ]
url = "https://github.com/YunoHost-Apps/hydrogen_ynh"
[icecoder]
-category = "dev"
antifeatures = [ "deprecated-software" ]
+category = "dev"
level = 7
state = "working"
subtags = [ "programming" ]
@@ -1494,7 +1489,7 @@ url = "https://github.com/YunoHost-Apps/jeedom_ynh"
[jellyfin]
category = "multimedia"
-level = 0
+level = 6
potential_alternative_to = [ "Plex", "Netflix" ]
state = "working"
subtags = [ "music", "mediacenter" ]
@@ -1523,7 +1518,7 @@ url = "https://github.com/YunoHost-Apps/jenkins_ynh"
[jirafeau]
category = "synchronization"
-level = 8
+level = 6
potential_alternative_to = [ "ImageShack", "Imgur" ]
state = "working"
subtags = [ "files" ]
@@ -1674,10 +1669,9 @@ url = "https://github.com/YunoHost-Apps/leed_ynh"
[lemmy]
category = "social_media"
-level = 8
+level = 6
potential_alternative_to = [ "Hacker News", "Lobste.rs", "Reddit" ]
state = "working"
-subtags = [ "website" ]
url = "https://github.com/YunoHost-Apps/lemmy_ynh"
[librarian]
@@ -1781,7 +1775,7 @@ url = "https://github.com/YunoHost-Apps/linuxdash_ynh"
[lionwiki-t2t]
category = "publishing"
-level = 6
+level = 8
state = "working"
subtags = [ "wiki" ]
url = "https://github.com/YunoHost-Apps/lionwiki-t2t_ynh"
@@ -1863,7 +1857,7 @@ url = "https://github.com/YunoHost-Apps/mailman3_ynh"
[mantis]
category = "productivity_and_management"
-level = 6
+level = 8
state = "working"
subtags = [ "task" ]
url = "https://github.com/YunoHost-Apps/mantis_ynh"
@@ -1924,11 +1918,11 @@ url = "https://github.com/YunoHost-Apps/mautic_ynh"
[mautrix_discord]
category = "communication"
+level = 7
potential_alternative_to = [ "Discord" ]
state = "working"
subtags = [ "chat" ]
url = "https://github.com/YunoHost-Apps/mautrix_discord_ynh"
-level = 7
[mautrix_facebook]
category = "communication"
@@ -2140,7 +2134,6 @@ url = "https://github.com/YunoHost-Apps/my-mind_ynh"
category = "publishing"
level = 6
state = "working"
-subtags = [ "gemini" ]
url = "https://github.com/YunoHost-Apps/my_capsule_ynh"
[my_webapp]
@@ -2267,12 +2260,11 @@ url = "https://github.com/YunoHost-Apps/nullboard_ynh"
category = "iot"
level = 0
state = "notworking"
-subtags = [ "fablab" ]
url = "https://github.com/YunoHost-Apps/octoprint_ynh"
[ofbiz]
category = "productivity_and_management"
-level = 0
+level = 6
state = "working"
subtags = [ "business_and_ngos" ]
url = "https://github.com/YunoHost-Apps/ofbiz_ynh"
@@ -2294,7 +2286,7 @@ url = "https://github.com/YunoHost-Apps/omeka-s_ynh"
[onlyoffice]
category = "office"
-level = 7
+level = 6
potential_alternative_to = [ "Google Docs", "Microsoft Excel", "Microsoft Office", "Microsoft PowerPoint", "Microsoft Word" ]
state = "working"
subtags = [ "text", "spreadsheet", "impress" ]
@@ -2302,15 +2294,15 @@ url = "https://github.com/YunoHost-Apps/onlyoffice_ynh"
[open-web-calendar]
category = "synchronization"
+level = 7
potential_alternative_to = [ "Google Agenda", "Microsoft Outlook" ]
state = "working"
subtags = [ "calendar" ]
url = "https://github.com/YunoHost-Apps/open-web-calendar_ynh"
-level = 7
[opennote]
-category = "office"
antifeatures = [ "deprecated-software" ]
+category = "office"
level = 8
state = "working"
subtags = [ "text" ]
@@ -2333,7 +2325,7 @@ url = "https://github.com/YunoHost-Apps/opensearch_ynh"
[opensondage]
category = "productivity_and_management"
-level = 8
+level = 6
potential_alternative_to = [ "Doodle" ]
state = "working"
subtags = [ "poll" ]
@@ -2468,9 +2460,10 @@ url = "https://github.com/YunoHost-Apps/pelican_ynh"
[penpot]
category = "dev"
-subtags = [ "design" ]
state = "working"
+subtags = [ "design" ]
url = "https://github.com/YunoHost-Apps/penpot_ynh"
+level = 7
[pepettes]
category = "publishing"
@@ -2491,7 +2484,7 @@ category = "reading"
level = 8
potential_alternative_to = [ "Netvibes" ]
state = "working"
-subtags = [ "others" ]
+subtags = [ "rssreader" ]
url = "https://github.com/YunoHost-Apps/petrolette_ynh"
[pgadmin]
@@ -2531,7 +2524,7 @@ url = "https://github.com/YunoHost-Apps/phpback_ynh"
[phpbb]
category = "communication"
-level = 8
+level = 6
state = "working"
subtags = [ "forum" ]
url = "https://github.com/YunoHost-Apps/phpbb_ynh"
@@ -2621,7 +2614,7 @@ url = "https://github.com/YunoHost-Apps/piwigo_ynh"
[pixelfed]
category = "social_media"
-level = 8
+level = 6
potential_alternative_to = [ "Instagram" ]
state = "working"
subtags = [ "pictures" ]
@@ -2831,11 +2824,11 @@ url = "https://github.com/YunoHost-Apps/rainloop_ynh"
[rallly]
category = "productivity_and_management"
+level = 7
potential_alternative_to = [ "Doodle" ]
state = "working"
subtags = [ "poll" ]
url = "https://github.com/YunoHost-Apps/rallly_ynh"
-level = 7
[readarr]
category = "reading"
@@ -2846,9 +2839,9 @@ url = "https://github.com/YunoHost-Apps/readarr_ynh"
[readeck]
category = "small_utilities"
+level = 6
state = "working"
url = "https://github.com/YunoHost-Apps/readeck_ynh"
-level = 6
[redirect]
category = "publishing"
@@ -2977,7 +2970,7 @@ url = "https://github.com/YunoHost-Apps/scrumblr_ynh"
[scrutiny]
category = "system_tools"
-level = 8
+level = 6
state = "working"
subtags = [ "monitoring" ]
url = "https://github.com/YunoHost-Apps/scrutiny_ynh"
@@ -3070,7 +3063,7 @@ url = "https://github.com/YunoHost-Apps/signaturepdf_ynh"
[simple-file-manager]
category = "small_utilities"
-level = 7
+level = 6
state = "working"
url = "https://github.com/YunoHost-Apps/simple-file-manager_ynh"
@@ -3142,7 +3135,7 @@ url = "https://github.com/YunoHost-Apps/snserver_ynh"
[snweb]
antifeatures = [ "package-not-maintained" ]
category = "office"
-level = 7
+level = 6
state = "working"
subtags = [ "text" ]
url = "https://github.com/YunoHost-Apps/snweb_ynh"
@@ -3196,7 +3189,6 @@ url = "https://github.com/YunoHost-Apps/squid3_ynh"
category = "communication"
level = 7
state = "working"
-subtags = [ "scuttlebutt" ]
url = "https://github.com/YunoHost-Apps/ssbroom_ynh"
[ssh_chroot_dir]
@@ -3313,9 +3305,9 @@ subtags = [ "network" ]
url = "https://github.com/YunoHost-Apps/technitium-dns_ynh"
[teddit]
-category = "social_media"
antifeatures = [ "deprecated-software" ]
-level = 8
+category = "social_media"
+level = 7
potential_alternative_to = [ "Reddit" ]
state = "working"
url = "https://github.com/YunoHost-Apps/teddit_ynh"
@@ -3398,7 +3390,7 @@ url = "https://github.com/YunoHost-Apps/traccar_ynh"
[tracim]
category = "office"
-level = 7
+level = 6
potential_alternative_to = [ "Dropbox", "Google Drive", "Slack", "Trello" ]
state = "working"
url = "https://github.com/YunoHost-Apps/tracim_ynh"
@@ -3645,7 +3637,7 @@ url = "https://github.com/YunoHost-Apps/woodpecker_ynh"
[wordpress]
antifeatures = [ "non-free-addons", "paid-content" ]
category = "publishing"
-level = 8
+level = 6
potential_alternative_to = [ "Blogger", "Blogspot", "Wix" ]
state = "working"
subtags = [ "website", "blog" ]
@@ -3690,7 +3682,7 @@ url = "https://github.com/YunoHost-Apps/yacy_ynh"
[yellow]
category = "publishing"
-level = 8
+level = 6
state = "working"
subtags = [ "website" ]
url = "https://github.com/YunoHost-Apps/yellow_ynh"
diff --git a/categories.toml b/categories.toml
index f6b4f5f9..e8b4c8db 100644
--- a/categories.toml
+++ b/categories.toml
@@ -49,25 +49,25 @@ description.it = "Siti web, blog, wiki, CMS…"
title.es = "Paginas web"
title.fr = "Site web"
title.it = "Siti web"
-
+
[publishing.subtags.blog]
title.en = "Blog"
title.es = "blog"
title.fr = "Blog"
title.it = "Blog"
-
+
[publishing.subtags.wiki]
title.en = "Wiki"
title.es = "Wiki"
title.fr = "Wiki"
title.it = "Wiki"
-
+
[publishing.subtags.ecommerce]
title.en = "E-commerce"
title.es = "Comercio eletronico"
title.fr = "Vente en ligne"
title.it = "Vendite online"
-
+
[publishing.subtags.analytics]
title.en = "Analytics"
title.es = "Estadisticas"
@@ -90,19 +90,19 @@ description.it = "Messaggistica, posta elettronica, forum, riunioni…"
title.es = "Mensajeria Instantanea"
title.fr = "Messagerie instantannée"
title.it = "Messaggistica istantanea"
-
+
[communication.subtags.forum]
title.en = "Forum"
title.es = "Foro"
title.fr = "Forum"
title.it = "Forum"
-
+
[communication.subtags.email]
title.en = "Email"
title.es = "Email"
title.fr = "Email"
title.it = "Posta elettronica"
-
+
[communication.subtags.meeting]
title.en = "Meetings"
title.es = "Reuniones"
@@ -250,6 +250,11 @@ description.it = "Librerie musicali, gallerie d’immagini, P2P, serie TV…"
title.fr = "Images"
title.it = "Immagini"
+ [multimedia.subtags.videos]
+ title.en = "Videos"
+ title.fr = "Vidéos"
+ title.it = "Video"
+
[social_media]
icon = "users"
title.en = "Social media"
diff --git a/rebuild.sh b/rebuild.sh
index a048fd94..4417a728 100644
--- a/rebuild.sh
+++ b/rebuild.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-workdir=$(dirname "$0")
+workdir=$(realpath $(dirname "$0"))
log=$workdir/app_list_auto_update.log
cd $workdir
diff --git a/sourcesautoupdate.sh b/sourcesautoupdate.sh
index e431f89b..99d14565 100644
--- a/sourcesautoupdate.sh
+++ b/sourcesautoupdate.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-workdir=$(dirname "$0")
+workdir=$(realpath $(dirname "$0"))
log=$workdir/app_sources_auto_update.log
cd $workdir
diff --git a/store/.gitignore b/store/.gitignore
index 54539b10..43c9a261 100644
--- a/store/.gitignore
+++ b/store/.gitignore
@@ -1,3 +1,2 @@
config.toml
.stars
-messages.pot
diff --git a/store/app.py b/store/app.py
index d54ed06d..dc1d395f 100644
--- a/store/app.py
+++ b/store/app.py
@@ -224,7 +224,7 @@ def add_to_wishlist():
checks = [
(
- check_wishlist_submit_ratelimit(session['user']['username']) is True,
+ check_wishlist_submit_ratelimit(session['user']['username']) is True and session['user']['bypass_ratelimit'] is False,
_("Proposing wishlist additions is limited to once every 15 days per user. Please try again in a few days.")
),
(len(name) >= 3, _("App name should be at least 3 characters")),
@@ -264,7 +264,7 @@ def add_to_wishlist():
),
(
description.lower().split()[0] != name and (len(description.split()) == 1 or description.lower().split()[1] not in ["is", "est"]),
- _("No need to repeat '{app} is'. Focus on what the app does.")
+ _("No need to repeat the name of the app. Focus on what the app does.")
)
]
@@ -319,11 +319,11 @@ def add_to_wishlist():
commit_sha = repo.get_branch(repo.default_branch).commit.sha
repo.create_git_ref(ref=f"refs/heads/{new_branch}", sha=commit_sha)
except exception as e:
- print("... Failed to create branch ?")
+ print("… Failed to create branch ?")
print(e)
url = "https://github.com/YunoHost/apps/pulls?q=is%3Apr+is%3Aopen+wishlist"
errormsg = _(
- "Failed to create the pull request to add the app to the wishlist... Maybe there's already a waiting PR for this app? Else, please report the issue to the YunoHost team.",
+ "Failed to create the pull request to add the app to the wishlist… Maybe there's already a waiting PR for this app? Else, please report the issue to the YunoHost team.",
url=url
)
return render_template(
@@ -360,7 +360,7 @@ Description: {description}
- [ ] Confirm app is self-hostable and generally makes sense to possibly integrate in YunoHost
- [ ] Confirm app's license is opensource/free software (or not-totally-free, case by case TBD)
-- [ ] Description describes concisely what the app is/does
+- [ ] Description describes clearly and concisely what the app is/does
"""
# Open the PR
@@ -448,11 +448,17 @@ def sso_login_callback():
if "trust_level_1" not in user_data['groups'][0].split(','):
return _("Unfortunately, login was denied.") + "
" + _("Note that, due to various abuses, we restricted login on the app store to 'trust level 1' users.
'Trust level 1' is obtained after interacting a minimum with the forum, and more specifically: entering at least 5 topics, reading at least 30 posts, and spending at least 10 minutes reading posts."), 403
+ if "staff" in user_data['groups'][0].split(','):
+ bypass_ratelimit = True
+ else:
+ bypass_ratelimit = False
+
session.clear()
session["user"] = {
"id": user_data["external_id"][0],
"username": user_data["username"][0],
"avatar_url": user_data["avatar_url"][0] if "avatar_url" in user_data else "",
+ "bypass_ratelimit": bypass_ratelimit,
}
if uri_to_redirect_to_after_login:
diff --git a/store/messages.pot b/store/messages.pot
new file mode 100644
index 00000000..16d62a61
--- /dev/null
+++ b/store/messages.pot
@@ -0,0 +1,445 @@
+# Translations template for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to"
+" 'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 "
+"minutes reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, "
+"or repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, "
+"you can add a star to the app to show your "
+"interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be "
+"validated by the YunoHost team. You can track progress here: %(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid "This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with "
+"using Flask and TailwindCSS - Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote "
+"for apps that they would like to see packaged and made available in "
+"YunoHost's official apps catalog. Nevertheless, the fact that apps are "
+"listed here should by no mean be interpreted as a fact that the YunoHost "
+"project plans to integrate it, and is merely a source of inspiration for "
+"packaging volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-"
+"send every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-"
+"source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
+"Avoid marketing stuff like 'the most', or vague properties like 'easy', "
+"'simple', 'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project "
+"has no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
+
diff --git a/store/templates/catalog.html b/store/templates/catalog.html
index 27114a2c..c94aacf7 100644
--- a/store/templates/catalog.html
+++ b/store/templates/catalog.html
@@ -88,7 +88,7 @@
diff --git a/store/templates/wishlist.html b/store/templates/wishlist.html
index 4da05a08..7fcfd223 100644
--- a/store/templates/wishlist.html
+++ b/store/templates/wishlist.html
@@ -18,7 +18,7 @@
diff --git a/store/templates/wishlist_add.html b/store/templates/wishlist_add.html
index 11770b20..b0fb4513 100644
--- a/store/templates/wishlist_add.html
+++ b/store/templates/wishlist_add.html
@@ -63,7 +63,7 @@
- {{ _("Please be concise and focus on what the app does.") }} {{ _("No need to repeat '[App] is ...'. No need to state that it is free/open-source or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid marketing stuff like 'the most', or vague properties like 'easy', 'simple', 'lightweight'.") }}
+ {{ _("Please be concise and focus on what the app does.") }} {{ _("No need to repeat '[App] is …'. No need to state that it is free/open-source or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid marketing stuff like 'the most', or vague properties like 'easy', 'simple', 'lightweight'.") }}
diff --git a/store/translations/ar/LC_MESSAGES/messages.mo b/store/translations/ar/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..0a4845f9
Binary files /dev/null and b/store/translations/ar/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/ar/LC_MESSAGES/messages.po b/store/translations/ar/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..6f91ee05
--- /dev/null
+++ b/store/translations/ar/LC_MESSAGES/messages.po
@@ -0,0 +1,444 @@
+# Arabic translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:04+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: ar \n"
+"Language: ar\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
+"&& n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/bn_BD/LC_MESSAGES/messages.mo b/store/translations/bn_BD/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..f9d52bba
Binary files /dev/null and b/store/translations/bn_BD/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/bn_BD/LC_MESSAGES/messages.po b/store/translations/bn_BD/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..6845867e
--- /dev/null
+++ b/store/translations/bn_BD/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Bangla (Bangladesh) translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:05+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: bn_BD \n"
+"Language: bn_BD\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/br/LC_MESSAGES/messages.mo b/store/translations/br/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..7f873e94
Binary files /dev/null and b/store/translations/br/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/br/LC_MESSAGES/messages.po b/store/translations/br/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..5d848ec8
--- /dev/null
+++ b/store/translations/br/LC_MESSAGES/messages.po
@@ -0,0 +1,447 @@
+# Breton translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:05+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: br \n"
+"Language: br\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=6; plural=(n==1 ? 0 : n%10==1 && n%100!=11 && n%100!"
+"=71 && n%100!=91 ? 1 : n%10==2 && n%100!=12 && n%100!=72 && n%100!=92 ? 2 : "
+"(n%10==3 || n%10==4 || n%10==9) && n%100!=13 && n%100!=14 && n%100!=19 && n"
+"%100!=73 && n%100!=74 && n%100!=79 && n%100!=93 && n%100!=94 && n%100!=99 ? "
+"3 : n%1000000==0 ? 4 : 5);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/ca/LC_MESSAGES/messages.mo b/store/translations/ca/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..9eee3fe9
Binary files /dev/null and b/store/translations/ca/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/ca/LC_MESSAGES/messages.po b/store/translations/ca/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..c69deaf7
--- /dev/null
+++ b/store/translations/ca/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Catalan translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:05+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: ca \n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/ckb/LC_MESSAGES/messages.mo b/store/translations/ckb/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..d9de35d3
Binary files /dev/null and b/store/translations/ckb/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/ckb/LC_MESSAGES/messages.po b/store/translations/ckb/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..1ea049f3
--- /dev/null
+++ b/store/translations/ckb/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Central Kurdish translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:08+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: ckb \n"
+"Language: ckb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/cs/LC_MESSAGES/messages.mo b/store/translations/cs/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..9e9fa1c9
Binary files /dev/null and b/store/translations/cs/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/cs/LC_MESSAGES/messages.po b/store/translations/cs/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..c5dde666
--- /dev/null
+++ b/store/translations/cs/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Czech translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:09+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: cs \n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/da/LC_MESSAGES/messages.mo b/store/translations/da/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..1a406319
Binary files /dev/null and b/store/translations/da/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/da/LC_MESSAGES/messages.po b/store/translations/da/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..875657b6
--- /dev/null
+++ b/store/translations/da/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Danish translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:05+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: da \n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/de/LC_MESSAGES/messages.mo b/store/translations/de/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..bf83f969
Binary files /dev/null and b/store/translations/de/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/de/LC_MESSAGES/messages.po b/store/translations/de/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..9a9b892a
--- /dev/null
+++ b/store/translations/de/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# German translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:04+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: de \n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/el/LC_MESSAGES/messages.mo b/store/translations/el/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..dbcdb509
Binary files /dev/null and b/store/translations/el/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/el/LC_MESSAGES/messages.po b/store/translations/el/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..b3700e1e
--- /dev/null
+++ b/store/translations/el/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Greek translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:06+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: el \n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/eo/LC_MESSAGES/messages.mo b/store/translations/eo/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..09b9b285
Binary files /dev/null and b/store/translations/eo/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/eo/LC_MESSAGES/messages.po b/store/translations/eo/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..12c8056a
--- /dev/null
+++ b/store/translations/eo/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Esperanto translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:06+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: eo \n"
+"Language: eo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/es/LC_MESSAGES/messages.mo b/store/translations/es/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..1337f3af
Binary files /dev/null and b/store/translations/es/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/es/LC_MESSAGES/messages.po b/store/translations/es/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..8f275f1a
--- /dev/null
+++ b/store/translations/es/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Spanish translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:05+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: es \n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/eu/LC_MESSAGES/messages.mo b/store/translations/eu/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..0cdec954
Binary files /dev/null and b/store/translations/eu/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/eu/LC_MESSAGES/messages.po b/store/translations/eu/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..ff64009c
--- /dev/null
+++ b/store/translations/eu/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Basque translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:05+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: eu \n"
+"Language: eu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/fa/LC_MESSAGES/messages.mo b/store/translations/fa/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..4cb07435
Binary files /dev/null and b/store/translations/fa/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/fa/LC_MESSAGES/messages.po b/store/translations/fa/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..bba9d4c5
--- /dev/null
+++ b/store/translations/fa/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Persian translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:08+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: fa \n"
+"Language: fa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/fi/LC_MESSAGES/messages.mo b/store/translations/fi/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..4ee54156
Binary files /dev/null and b/store/translations/fi/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/fi/LC_MESSAGES/messages.po b/store/translations/fi/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..b3d21e5b
--- /dev/null
+++ b/store/translations/fi/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Finnish translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:06+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: fi \n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/fr/LC_MESSAGES/messages.po b/store/translations/fr/LC_MESSAGES/messages.po
index 5f3af348..913e0617 100644
--- a/store/translations/fr/LC_MESSAGES/messages.po
+++ b/store/translations/fr/LC_MESSAGES/messages.po
@@ -7,15 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2024-02-25 03:45+0100\n"
-"PO-Revision-Date: 2023-09-05 19:50+0200\n"
-"Last-Translator: FULL NAME \n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-27 05:53+0000\n"
+"Last-Translator: OniriCorpe \n"
+"Language-Team: French \n"
"Language: fr\n"
-"Language-Team: fr \n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 5.3.1\n"
"Generated-By: Babel 2.14.0\n"
#: app.py:150
@@ -28,24 +30,24 @@ msgstr "Vous devez être connecté·e pour mettre une app en favoris"
#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
msgid ""
-"Note that, due to various abuses, we restricted login on the app store to"
-" 'trust level 1' users.
'Trust level 1' is obtained after "
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at "
-"least 5 topics, reading at least 30 posts, and spending at least 10 "
-"minutes reading posts."
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
msgstr ""
"Notez que, suite à divers abus, la connexion nécessite maintenant d'être "
-"'trust level 1' sur le forum.
Le 'trust level 1' est obtenu "
-"après avoir intéragit un minimum avec le forum, et plus précisémment: "
-"ouvrir au moins 5 fils de discussion, lire au moins 30 messages, et "
-"passer au moins 10 minutes à lire des messages."
+"'trust level 1' sur le forum.
Le 'trust level 1' est obtenu après "
+"avoir intéragit un minimum avec le forum, et plus précisémment : ouvrir au "
+"moins 5 fils de discussion, lire au moins 30 messages, et passer au moins 10 "
+"minutes à lire des messages."
#: app.py:195
msgid "You must be logged in to submit an app to the wishlist"
-msgstr "Vous devez être connecté·e pour proposer une app pour la liste de souhaits"
+msgstr ""
+"Vous devez être connecté·e pour proposer une app pour la liste de souhaits"
#: app.py:207
-#, fuzzy
msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "Jeton CSRF invalide, prière de rafraîchir la page et de réessayer"
@@ -54,8 +56,8 @@ msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days."
msgstr ""
-"Proposer une app dans la liste de souhaits est limité à une fois tous les"
-" 15 jours et par personne. Merci de réessayer dans quelques jours."
+"Proposer une app dans la liste de souhaits est limité à une fois tous les 15 "
+"jours et par personne. Merci de réessayer dans quelques jours."
#: app.py:230
msgid "App name should be at least 3 characters"
@@ -82,12 +84,10 @@ msgid "Upstream code repo URL should be less than 150 characters"
msgstr "L'URL du dépôt de code devrait contenir moins de 150 caractères"
#: app.py:250
-#, fuzzy
msgid "License URL should be at least 10 characters"
msgstr "L'URL du site web devrait contenir au moins de 10 caractères"
#: app.py:254
-#, fuzzy
msgid "License URL should be less than 250 characters"
msgstr "L'URL du site web devrait contenir moins de 250 caractères"
@@ -101,53 +101,49 @@ msgstr "Le nom de l'app contient des caractères spéciaux"
#: app.py:263
msgid ""
-"Please focus on what the app does, without using marketing, fuzzy terms, "
-"or repeating that the app is 'free' and 'self-hostable'."
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
msgstr ""
-"S'il vous plaît décrivez ce que fait l'application sans utiliser de "
-"termes marketing nébuleux ou répéter que l'app est 'libre' ou 'auto-"
-"hébergeable'."
+"S'il vous plaît décrivez ce que fait l'application sans utiliser de termes "
+"marketing nébuleux ou répéter que l'app est 'libre' ou 'auto-hébergeable'."
#: app.py:267
-#, fuzzy
-msgid "No need to repeat '{app} is'. Focus on what the app does."
+msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr ""
-"Pas besoin de répéter le nom de l'application. Prière de rester concis et"
-" de se concentrer sur ce que l'app fait."
+"Pas besoin de répéter le nom de l'application. Prière de rester concis et de "
+"se concentrer sur ce que l'app fait."
#: app.py:301
-#, fuzzy, python-format
+#, python-format
msgid ""
-"An entry with the name %(slug)s already exists in the wishlist, instead, "
-"you can add a star to the app to show your "
-"interest."
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
msgstr ""
"Une entrée nommée %(slug)s existe déjà dans la liste de souhaits, vous "
"pouvez l'ajouter en favori afin de montrer votre "
"intérêt."
#: app.py:325
-#, fuzzy, python-format
+#, python-format
msgid ""
-"Failed to create the pull request to add the app to the wishlist... Maybe"
-" there's already a waiting PR for this app? Else, "
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
"please report the issue to the YunoHost team."
msgstr ""
-"Échec de la création de la demande d'intégration de l'app dans la liste "
-"de souhaits... Peut-être qu'il y a déjà une PR en "
-"attente pour cette app ? Sinon, merci de signaler le problème à "
-"l'équipe YunoHost."
+"Échec de la création de la demande d'intégration de l'app dans la liste de "
+"souhaits… Peut-être qu'il y a déjà une PR en attente pour "
+"cette app ? Sinon, merci de signaler le problème à l'équipe YunoHost."
#: app.py:376
#, python-format
msgid ""
-"Your proposed app has succesfully been submitted. It must now be "
-"validated by the YunoHost team. You can track progress here: %(url)s"
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
msgstr ""
-"Un demande d'intégration à la liste de souhaits a bien été créée pour "
-"cette app. Elle doit maintenant être validée par l'équipe YunoHost. Vous "
-"pouvez suivre cette demande ici: %(url)s"
+"Un demande d'intégration à la liste de souhaits a bien été créée pour cette "
+"app. Elle doit maintenant être validée par l'équipe YunoHost. Vous pouvez "
+"suivre cette demande ici : %(url)s"
#: app.py:449
msgid "Unfortunately, login was denied."
@@ -164,8 +160,8 @@ msgid ""
"This app is currently flagged as broken because it failed our automatic "
"tests."
msgstr ""
-"Cette app est actuellement marquée comme cassée ou de mauvaise qualité "
-"car elle ne passe pas nos tests automatisés."
+"Cette app est actuellement marquée comme cassée ou de mauvaise qualité car "
+"elle ne passe pas nos tests automatisés."
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:169
@@ -182,8 +178,8 @@ msgid ""
"This app has been good quality according to our automatic tests over at "
"least one year."
msgstr ""
-"Cette app est de bonne qualité d'après nos tests automatisés depuis au "
-"moins un an."
+"Cette app est de bonne qualité d'après nos tests automatisés depuis au moins "
+"un an."
#: templates/app.html:81
msgid "Try the demo"
@@ -200,7 +196,7 @@ msgstr "Installer avec YunoHost"
#: templates/app.html:93
#, python-format
msgid "Current version: %(version)s"
-msgstr "Version actuelle: %(version)s"
+msgstr "Version actuelle : %(version)s"
#: templates/app.html:95
#, python-format
@@ -214,7 +210,8 @@ msgstr "Capture d'écran pour %(app)s"
#: templates/app.html:106
#, python-format
-msgid "This app is only compatible with these specific architectures: %(archs)s"
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
msgstr ""
"Cette app est uniquement compatible avec les architectures suivantes : "
"%(archs)s"
@@ -223,8 +220,8 @@ msgstr ""
#, python-format
msgid "This app requires an unusual amount of RAM to install: %(ram)s"
msgstr ""
-"Cette app requiert une quantité inhabituelle de RAM pour être installée :"
-" %(ram)s"
+"Cette app requiert une quantité inhabituelle de RAM pour être installée : "
+"%(ram)s"
#: templates/app.html:118
msgid "Important infos before installing"
@@ -243,13 +240,13 @@ msgid "Useful links"
msgstr "Liens utiles"
#: templates/app.html:139
-#, fuzzy, python-format
-msgid "App license: %(license)s"
-msgstr "Licence de l'app : %(license)s"
+#, python-format
+msgid "License: %(license)s"
+msgstr "Licence : %(license)s"
#: templates/app.html:140
msgid " Official website"
-msgstr "Site officiel"
+msgstr " Site officiel"
#: templates/app.html:141
msgid "Official admin documentation"
@@ -306,21 +303,18 @@ msgstr "Afficher le menu"
#: templates/base.html:197
msgid ""
-"Made with "
-"using Flask and TailwindCSS - Source"
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
msgstr ""
-"Fait avec à"
-" l'aide de Flask et TailwindCSS - Source"
+"Fait avec à "
+"l'aide de Flask et TailwindCSS - Source"
#: templates/catalog.html:75 templates/catalog.html:80
msgid "Application Catalog"
@@ -331,8 +325,8 @@ msgid "Search"
msgstr "Recherche"
#: templates/catalog.html:91 templates/wishlist.html:21
-msgid "Search for..."
-msgstr "Rechercher..."
+msgid "Search for…"
+msgstr "Rechercher…"
#: templates/catalog.html:107
msgid "All apps"
@@ -398,19 +392,19 @@ msgstr "Liste de souhaits d'applications"
#: templates/wishlist.html:10
msgid ""
-"The wishlist is the place where people can collectively suggest and vote "
-"for apps that they would like to see packaged and made available in "
-"YunoHost's official apps catalog. Nevertheless, the fact that apps are "
-"listed here should by no mean be interpreted as a fact that the YunoHost "
-"project plans to integrate it, and is merely a source of inspiration for "
-"packaging volunteers."
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
msgstr ""
"La liste de souhaits est l'endroit où il est possible de collectivement "
-"suggérer et voter pour des applications que vous aimeriez voir packagée "
-"et intégrée dans le catalogue officiel de YunoHost. Néanmoins, le fait "
-"que des apps soient listées ici ne devrait en aucun cas être interprété "
-"comme le fait que le projet YunoHost prévoit leur intégration, et est "
-"uniquement une source d'inspiration pour les packageur·euse·s bénévoles."
+"suggérer et voter pour des applications que vous aimeriez voir packagée et "
+"intégrée dans le catalogue officiel de YunoHost. Néanmoins, le fait que des "
+"apps soient listées ici ne devrait en aucun cas être interprété comme le "
+"fait que le projet YunoHost prévoit leur intégration, et est uniquement une "
+"source d'inspiration pour les packageur·euse·s bénévoles."
#: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app"
@@ -442,22 +436,22 @@ msgstr "Suggérer une application à ajouter dans le catalogue de YunoHost"
#: templates/wishlist_add.html:29
msgid "You must first login to be allowed to submit an app to the wishlist"
-msgstr "Vous devez être connecté·e pour proposer une app pour la liste de souhaits"
+msgstr ""
+"Vous devez être connecté·e pour proposer une app pour la liste de souhaits"
#: templates/wishlist_add.html:40
msgid "Due to abuses, only one proposal every 15 days per user is allowed."
msgstr ""
-"En raison d'abus, la proposition d'app est limitée à une tous les 15 "
-"jours par utilisateur·ice."
+"En raison d'abus, la proposition d'app est limitée à une tous les 15 jours "
+"par utilisateur·ice."
#: templates/wishlist_add.html:43
msgid ""
-"Reviewing those proposals is tiring for volunteers, please don't yolo-"
-"send every random nerdy stuff you find on the Internet."
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
msgstr ""
-"La vérification des propositions est éreintante pour les bénévoles, merci"
-" de ne pas bêtement proposer n'importe quelle app un peu nerd que vous "
-"trouvez."
+"La vérification des propositions est éreintante pour les bénévoles, merci de "
+"ne pas bêtement proposer n'importe quelle app un peu nerd que vous trouvez."
#: templates/wishlist_add.html:64
msgid "App's description"
@@ -469,15 +463,15 @@ msgstr "Prière de rester concis et de se concentrer sur ce que l'app fait."
#: templates/wishlist_add.html:66
msgid ""
-"No need to repeat '[App] is ...'. No need to state that it is free/open-"
-"source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
-"Avoid marketing stuff like 'the most', or vague properties like 'easy', "
-"'simple', 'lightweight'."
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
msgstr ""
-"Il n'est pas nécessaire de répéter '[App] est ...', ni que l'app est "
-"libre/open-source (sinon, elle ne serait pas intégrable au catalogue). "
-"Évitez les formulations marketing type 'le meilleur', ou les propriétés "
-"vagues telles que 'facile', 'simple', 'léger'."
+"Il n'est pas nécessaire de répéter '[App] est …', ni que l'app est libre/"
+"open-source (sinon, elle ne serait pas intégrable au catalogue). Évitez les "
+"formulations marketing type 'le meilleur', ou les propriétés vagues telles "
+"que 'facile', 'simple', 'léger'."
#: templates/wishlist_add.html:68
msgid "Project code repository"
@@ -493,8 +487,8 @@ msgid ""
"possible case-by-case exceptions for apps which are not-totally-free)"
msgstr ""
"Le projet YunoHost intègrera uniquement des logiciels libre/open-source "
-"(avec quelques possibles exceptions au cas-par-cas pour des apps qui ne "
-"sont pas entièrement libres)"
+"(avec quelques possibles exceptions au cas-par-cas pour des apps qui ne sont "
+"pas entièrement libres)"
#: templates/wishlist_add.html:75
msgid "Project website"
@@ -502,11 +496,11 @@ msgstr "Site officiel"
#: templates/wishlist_add.html:77
msgid ""
-"Please *do not* just copy-paste the code repository URL. If the project "
-"has no proper website, then leave the field empty."
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
msgstr ""
-"Prière de *ne pas* juste copier-coller l'URL du dépôt de code. Si le "
-"projet n'a pas de site web dédié, laissez le champ vide."
+"Prière de *ne pas* juste copier-coller l'URL du dépôt de code. Si le projet "
+"n'a pas de site web dédié, laissez le champ vide."
#: templates/wishlist_add.html:84
msgid "Submit"
@@ -514,4 +508,3 @@ msgstr "Envoyer"
#~ msgid "Please check the license of the app your are proposing"
#~ msgstr "Merci de vérifier la licence de l'app que vous proposez"
-
diff --git a/store/translations/gl/LC_MESSAGES/messages.mo b/store/translations/gl/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..0a9cae10
Binary files /dev/null and b/store/translations/gl/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/gl/LC_MESSAGES/messages.po b/store/translations/gl/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..130e260e
--- /dev/null
+++ b/store/translations/gl/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Galician translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:06+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: gl \n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/he/LC_MESSAGES/messages.mo b/store/translations/he/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..87f99676
Binary files /dev/null and b/store/translations/he/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/he/LC_MESSAGES/messages.po b/store/translations/he/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..3f3a26ce
--- /dev/null
+++ b/store/translations/he/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Hebrew translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:06+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: he \n"
+"Language: he\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/hi/LC_MESSAGES/messages.mo b/store/translations/hi/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..560af773
Binary files /dev/null and b/store/translations/hi/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/hi/LC_MESSAGES/messages.po b/store/translations/hi/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..1886a70c
--- /dev/null
+++ b/store/translations/hi/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Hindi translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:06+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: hi \n"
+"Language: hi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/hu/LC_MESSAGES/messages.mo b/store/translations/hu/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..0981cdc2
Binary files /dev/null and b/store/translations/hu/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/hu/LC_MESSAGES/messages.po b/store/translations/hu/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..6d0df156
--- /dev/null
+++ b/store/translations/hu/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Hungarian translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:06+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: hu \n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/id/LC_MESSAGES/messages.mo b/store/translations/id/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..9450fa42
Binary files /dev/null and b/store/translations/id/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/id/LC_MESSAGES/messages.po b/store/translations/id/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..3f0451fe
--- /dev/null
+++ b/store/translations/id/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Indonesian translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:06+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: id \n"
+"Language: id\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/it/LC_MESSAGES/messages.mo b/store/translations/it/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..d3a40e13
Binary files /dev/null and b/store/translations/it/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/it/LC_MESSAGES/messages.po b/store/translations/it/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..0a06cda4
--- /dev/null
+++ b/store/translations/it/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Italian translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:07+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: it \n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/ja/LC_MESSAGES/messages.mo b/store/translations/ja/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..f8989461
Binary files /dev/null and b/store/translations/ja/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/ja/LC_MESSAGES/messages.po b/store/translations/ja/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..e01c631c
--- /dev/null
+++ b/store/translations/ja/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Japanese translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:07+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: ja \n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/kab/LC_MESSAGES/messages.mo b/store/translations/kab/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..196d1d8b
Binary files /dev/null and b/store/translations/kab/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/kab/LC_MESSAGES/messages.po b/store/translations/kab/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..2c8164f2
--- /dev/null
+++ b/store/translations/kab/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Kabyle translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:07+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: kab \n"
+"Language: kab\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/ko/LC_MESSAGES/messages.mo b/store/translations/ko/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..214273e9
Binary files /dev/null and b/store/translations/ko/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/ko/LC_MESSAGES/messages.po b/store/translations/ko/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..96f30edc
--- /dev/null
+++ b/store/translations/ko/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Korean translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:05+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: ko \n"
+"Language: ko\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/lt/LC_MESSAGES/messages.mo b/store/translations/lt/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..ba448fe6
Binary files /dev/null and b/store/translations/lt/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/lt/LC_MESSAGES/messages.po b/store/translations/lt/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..c2f78fe3
--- /dev/null
+++ b/store/translations/lt/LC_MESSAGES/messages.po
@@ -0,0 +1,444 @@
+# Lithuanian translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:07+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: lt \n"
+"Language: lt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
+"%100<10 || n%100>=20) ? 1 : 2);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/mk/LC_MESSAGES/messages.mo b/store/translations/mk/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..101a50a3
Binary files /dev/null and b/store/translations/mk/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/mk/LC_MESSAGES/messages.po b/store/translations/mk/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..1ccbd31c
--- /dev/null
+++ b/store/translations/mk/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Macedonian translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:07+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: mk \n"
+"Language: mk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/nb_NO/LC_MESSAGES/messages.mo b/store/translations/nb_NO/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..9e5a8718
Binary files /dev/null and b/store/translations/nb_NO/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/nb_NO/LC_MESSAGES/messages.po b/store/translations/nb_NO/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..9fefe2c1
--- /dev/null
+++ b/store/translations/nb_NO/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Norwegian Bokmål (Norway) translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:07+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: nb_NO \n"
+"Language: nb_NO\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/ne/LC_MESSAGES/messages.mo b/store/translations/ne/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..76a0ab20
Binary files /dev/null and b/store/translations/ne/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/ne/LC_MESSAGES/messages.po b/store/translations/ne/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..bd144c48
--- /dev/null
+++ b/store/translations/ne/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Nepali translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:07+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: ne \n"
+"Language: ne\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/nl/LC_MESSAGES/messages.mo b/store/translations/nl/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..4bd45341
Binary files /dev/null and b/store/translations/nl/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/nl/LC_MESSAGES/messages.po b/store/translations/nl/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..1721c3b4
--- /dev/null
+++ b/store/translations/nl/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Dutch translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:07+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: nl \n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/oc/LC_MESSAGES/messages.mo b/store/translations/oc/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..9fffee7b
Binary files /dev/null and b/store/translations/oc/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/oc/LC_MESSAGES/messages.po b/store/translations/oc/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..1be6ad5c
--- /dev/null
+++ b/store/translations/oc/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Occitan translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:08+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: oc \n"
+"Language: oc\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/pl/LC_MESSAGES/messages.mo b/store/translations/pl/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..d2e3f5e4
Binary files /dev/null and b/store/translations/pl/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/pl/LC_MESSAGES/messages.po b/store/translations/pl/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..333a0443
--- /dev/null
+++ b/store/translations/pl/LC_MESSAGES/messages.po
@@ -0,0 +1,444 @@
+# Polish translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:08+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: pl \n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/pt/LC_MESSAGES/messages.mo b/store/translations/pt/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..caf9cd98
Binary files /dev/null and b/store/translations/pt/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/pt/LC_MESSAGES/messages.po b/store/translations/pt/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..e02551fc
--- /dev/null
+++ b/store/translations/pt/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Portuguese translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:08+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: pt \n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/pt_BR/LC_MESSAGES/messages.mo b/store/translations/pt_BR/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..b491e04e
Binary files /dev/null and b/store/translations/pt_BR/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/pt_BR/LC_MESSAGES/messages.po b/store/translations/pt_BR/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..d400c141
--- /dev/null
+++ b/store/translations/pt_BR/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Portuguese (Brazil) translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:08+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: pt_BR \n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/ru/LC_MESSAGES/messages.mo b/store/translations/ru/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..4fc78439
Binary files /dev/null and b/store/translations/ru/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/ru/LC_MESSAGES/messages.po b/store/translations/ru/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..dd41ebd8
--- /dev/null
+++ b/store/translations/ru/LC_MESSAGES/messages.po
@@ -0,0 +1,444 @@
+# Russian translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:08+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: ru \n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/sk/LC_MESSAGES/messages.mo b/store/translations/sk/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..2467c371
Binary files /dev/null and b/store/translations/sk/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/sk/LC_MESSAGES/messages.po b/store/translations/sk/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..ef25f06b
--- /dev/null
+++ b/store/translations/sk/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Slovak translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:08+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: sk \n"
+"Language: sk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/sl/LC_MESSAGES/messages.mo b/store/translations/sl/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..d63605bc
Binary files /dev/null and b/store/translations/sl/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/sl/LC_MESSAGES/messages.po b/store/translations/sl/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..2aaa3874
--- /dev/null
+++ b/store/translations/sl/LC_MESSAGES/messages.po
@@ -0,0 +1,444 @@
+# Slovenian translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:08+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: sl \n"
+"Language: sl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
+"%100==4 ? 2 : 3);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/sv/LC_MESSAGES/messages.mo b/store/translations/sv/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..c196a079
Binary files /dev/null and b/store/translations/sv/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/sv/LC_MESSAGES/messages.po b/store/translations/sv/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..4dec453f
--- /dev/null
+++ b/store/translations/sv/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Swedish translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:09+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: sv \n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/te/LC_MESSAGES/messages.mo b/store/translations/te/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..3e63ebc0
Binary files /dev/null and b/store/translations/te/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/te/LC_MESSAGES/messages.po b/store/translations/te/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..07135ff3
--- /dev/null
+++ b/store/translations/te/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Telugu translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:09+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: te \n"
+"Language: te\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/tr/LC_MESSAGES/messages.mo b/store/translations/tr/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..de5a70d0
Binary files /dev/null and b/store/translations/tr/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/tr/LC_MESSAGES/messages.po b/store/translations/tr/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..9dfd562f
--- /dev/null
+++ b/store/translations/tr/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Turkish translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:09+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: tr \n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/uk/LC_MESSAGES/messages.mo b/store/translations/uk/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..7748d41a
Binary files /dev/null and b/store/translations/uk/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/uk/LC_MESSAGES/messages.po b/store/translations/uk/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..1abad2f6
--- /dev/null
+++ b/store/translations/uk/LC_MESSAGES/messages.po
@@ -0,0 +1,444 @@
+# Ukrainian translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:09+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: uk \n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/store/translations/zh_Hans/LC_MESSAGES/messages.mo b/store/translations/zh_Hans/LC_MESSAGES/messages.mo
new file mode 100644
index 00000000..6dc9d95f
Binary files /dev/null and b/store/translations/zh_Hans/LC_MESSAGES/messages.mo differ
diff --git a/store/translations/zh_Hans/LC_MESSAGES/messages.po b/store/translations/zh_Hans/LC_MESSAGES/messages.po
new file mode 100644
index 00000000..652cc83c
--- /dev/null
+++ b/store/translations/zh_Hans/LC_MESSAGES/messages.po
@@ -0,0 +1,443 @@
+# Chinese (Simplified) translations for PROJECT.
+# Copyright (C) 2024 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2024-02-26 22:14+0100\n"
+"PO-Revision-Date: 2024-02-21 06:05+0100\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: zh_Hans \n"
+"Language: zh_Hans\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Generated-By: Babel 2.14.0\n"
+
+#: app.py:150
+msgid "App %(app_id) not found"
+msgstr ""
+
+#: app.py:152
+msgid "You must be logged in to be able to star an app"
+msgstr ""
+
+#: app.py:152 app.py:195 app.py:449 templates/wishlist_add.html:33
+msgid ""
+"Note that, due to various abuses, we restricted login on the app store to "
+"'trust level 1' users.
'Trust level 1' is obtained after "
+"interacting a minimum with the forum, and more specifically: entering at "
+"least 5 topics, reading at least 30 posts, and spending at least 10 minutes "
+"reading posts."
+msgstr ""
+
+#: app.py:195
+msgid "You must be logged in to submit an app to the wishlist"
+msgstr ""
+
+#: app.py:207
+msgid "Invalid CSRF token, please refresh the page and try again"
+msgstr ""
+
+#: app.py:228
+msgid ""
+"Proposing wishlist additions is limited to once every 15 days per user. "
+"Please try again in a few days."
+msgstr ""
+
+#: app.py:230
+msgid "App name should be at least 3 characters"
+msgstr ""
+
+#: app.py:231
+msgid "App name should be less than 30 characters"
+msgstr ""
+
+#: app.py:234
+msgid "App description should be at least 5 characters"
+msgstr ""
+
+#: app.py:238
+msgid "App description should be less than 100 characters"
+msgstr ""
+
+#: app.py:242
+msgid "Upstream code repo URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:246
+msgid "Upstream code repo URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:250
+msgid "License URL should be at least 10 characters"
+msgstr ""
+
+#: app.py:254
+msgid "License URL should be less than 250 characters"
+msgstr ""
+
+#: app.py:256
+msgid "Website URL should be less than 150 characters"
+msgstr ""
+
+#: app.py:259
+msgid "App name contains special characters"
+msgstr ""
+
+#: app.py:263
+msgid ""
+"Please focus on what the app does, without using marketing, fuzzy terms, or "
+"repeating that the app is 'free' and 'self-hostable'."
+msgstr ""
+
+#: app.py:267
+msgid "No need to repeat the name of the app. Focus on what the app does."
+msgstr ""
+
+#: app.py:301
+#, python-format
+msgid ""
+"An entry with the name %(slug)s already exists in the wishlist, instead, you "
+"can add a star to the app to show your interest."
+msgstr ""
+
+#: app.py:325
+#, python-format
+msgid ""
+"Failed to create the pull request to add the app to the wishlist… Maybe "
+"there's already a waiting PR for this app? Else, "
+"please report the issue to the YunoHost team."
+msgstr ""
+
+#: app.py:376
+#, python-format
+msgid ""
+"Your proposed app has succesfully been submitted. It must now be validated "
+"by the YunoHost team. You can track progress here: "
+"%(url)s"
+msgstr ""
+
+#: app.py:449
+msgid "Unfortunately, login was denied."
+msgstr ""
+
+#: templates/app.html:10 templates/catalog.html:23
+#, python-format
+msgid "Logo for %(app)s"
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42
+msgid ""
+"This app is currently flagged as broken because it failed our automatic "
+"tests."
+msgstr ""
+
+#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
+#: templates/catalog.html:42 templates/catalog.html:169
+msgid ""
+"This is usually a temporary situation which requires packagers to fix "
+"something in the app."
+msgstr ""
+
+#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
+#: templates/catalog.html:47
+msgid ""
+"This app has been good quality according to our automatic tests over at "
+"least one year."
+msgstr ""
+
+#: templates/app.html:81
+msgid "Try the demo"
+msgstr ""
+
+#: templates/app.html:82
+msgid "Demo"
+msgstr ""
+
+#: templates/app.html:85
+msgid "Install with YunoHost"
+msgstr ""
+
+#: templates/app.html:93
+#, python-format
+msgid "Current version: %(version)s"
+msgstr ""
+
+#: templates/app.html:95
+#, python-format
+msgid "Potential alternative to: %(alternatives)s"
+msgstr ""
+
+#: templates/app.html:101
+#, python-format
+msgid "Screenshot for %(app)s"
+msgstr ""
+
+#: templates/app.html:106
+#, python-format
+msgid ""
+"This app is only compatible with these specific architectures: %(archs)s"
+msgstr ""
+
+#: templates/app.html:112
+#, python-format
+msgid "This app requires an unusual amount of RAM to install: %(ram)s"
+msgstr ""
+
+#: templates/app.html:118
+msgid "Important infos before installing"
+msgstr ""
+
+#: templates/app.html:124
+msgid "Anti-features"
+msgstr ""
+
+#: templates/app.html:125
+msgid "(This app has features you may not like)"
+msgstr ""
+
+#: templates/app.html:136
+msgid "Useful links"
+msgstr ""
+
+#: templates/app.html:139
+#, python-format
+msgid "License: %(license)s"
+msgstr ""
+
+#: templates/app.html:140
+msgid " Official website"
+msgstr ""
+
+#: templates/app.html:141
+msgid "Official admin documentation"
+msgstr ""
+
+#: templates/app.html:142
+msgid "Official user documentation"
+msgstr ""
+
+#: templates/app.html:143
+msgid "Official code repository"
+msgstr ""
+
+#: templates/app.html:144
+msgid "YunoHost package repository"
+msgstr ""
+
+#: templates/base.html:5
+msgid "YunoHost app store"
+msgstr ""
+
+#: templates/base.html:18 templates/base.html:113 templates/index.html:3
+msgid "Home"
+msgstr ""
+
+#: templates/base.html:27 templates/base.html:122
+msgid "Catalog"
+msgstr ""
+
+#: templates/base.html:33 templates/base.html:131
+msgid "Wishlist"
+msgstr ""
+
+#: templates/base.html:46 templates/base.html:141
+msgid "YunoHost documentation"
+msgstr ""
+
+#: templates/base.html:54 templates/base.html:151
+msgid "Login using YunoHost's forum"
+msgstr ""
+
+#: templates/base.html:86 templates/base.html:179
+msgid "Logout"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Toggle menu"
+msgstr ""
+
+#: templates/base.html:197
+msgid ""
+"Made with using "
+"Flask "
+"and TailwindCSS "
+"- Source"
+msgstr ""
+
+#: templates/catalog.html:75 templates/catalog.html:80
+msgid "Application Catalog"
+msgstr ""
+
+#: templates/catalog.html:86 templates/wishlist.html:16
+msgid "Search"
+msgstr ""
+
+#: templates/catalog.html:91 templates/wishlist.html:21
+msgid "Search for…"
+msgstr ""
+
+#: templates/catalog.html:107
+msgid "All apps"
+msgstr ""
+
+#: templates/catalog.html:117 templates/wishlist.html:39
+msgid "Sort by"
+msgstr ""
+
+#: templates/catalog.html:123 templates/wishlist.html:45
+#: templates/wishlist.html:78
+msgid "Popularity"
+msgstr ""
+
+#: templates/catalog.html:124
+msgid "Newest"
+msgstr ""
+
+#: templates/catalog.html:125 templates/wishlist.html:46
+msgid "Alphabetical"
+msgstr ""
+
+#: templates/catalog.html:128 templates/wishlist.html:49
+msgid "Requires to be logged-in"
+msgstr ""
+
+#: templates/catalog.html:130 templates/catalog.html:139
+#: templates/wishlist.html:51 templates/wishlist.html:60
+msgid "Show only apps you starred"
+msgstr ""
+
+#: templates/catalog.html:155 templates/wishlist.html:154
+msgid "No results found."
+msgstr ""
+
+#: templates/catalog.html:158
+msgid "Not finding what you are looking for?"
+msgstr ""
+
+#: templates/catalog.html:159
+msgid "Checkout the wishlist!"
+msgstr ""
+
+#: templates/catalog.html:165
+msgid "Applications currently flagged as broken"
+msgstr ""
+
+#: templates/catalog.html:168
+msgid "These are apps which failed our automatic tests."
+msgstr ""
+
+#: templates/index.html:10
+msgid "Application Store"
+msgstr ""
+
+#: templates/index.html:21
+msgid "Browse all applications"
+msgstr ""
+
+#: templates/wishlist.html:3 templates/wishlist.html:8
+msgid "Application Wishlist"
+msgstr ""
+
+#: templates/wishlist.html:10
+msgid ""
+"The wishlist is the place where people can collectively suggest and vote for "
+"apps that they would like to see packaged and made available in YunoHost's "
+"official apps catalog. Nevertheless, the fact that apps are listed here "
+"should by no mean be interpreted as a fact that the YunoHost project plans "
+"to integrate it, and is merely a source of inspiration for packaging "
+"volunteers."
+msgstr ""
+
+#: templates/wishlist.html:33 templates/wishlist_add.html:3
+msgid "Suggest an app"
+msgstr ""
+
+#: templates/wishlist.html:71 templates/wishlist_add.html:61
+msgid "Name"
+msgstr ""
+
+#: templates/wishlist.html:74
+msgid "Description"
+msgstr ""
+
+#: templates/wishlist.html:102 templates/wishlist.html:103
+msgid "Official website"
+msgstr ""
+
+#: templates/wishlist.html:115 templates/wishlist.html:116
+msgid "Code repository"
+msgstr ""
+
+#: templates/wishlist.html:129 templates/wishlist.html:130
+msgid "Star this app"
+msgstr ""
+
+#: templates/wishlist_add.html:8
+msgid "Suggest an application to be added to YunoHost's catalog"
+msgstr ""
+
+#: templates/wishlist_add.html:29
+msgid "You must first login to be allowed to submit an app to the wishlist"
+msgstr ""
+
+#: templates/wishlist_add.html:40
+msgid "Due to abuses, only one proposal every 15 days per user is allowed."
+msgstr ""
+
+#: templates/wishlist_add.html:43
+msgid ""
+"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
+"every random nerdy stuff you find on the Internet."
+msgstr ""
+
+#: templates/wishlist_add.html:64
+msgid "App's description"
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid "Please be concise and focus on what the app does."
+msgstr ""
+
+#: templates/wishlist_add.html:66
+msgid ""
+"No need to repeat '[App] is …'. No need to state that it is free/open-source "
+"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid "
+"marketing stuff like 'the most', or vague properties like 'easy', 'simple', "
+"'lightweight'."
+msgstr ""
+
+#: templates/wishlist_add.html:68
+msgid "Project code repository"
+msgstr ""
+
+#: templates/wishlist_add.html:71
+msgid "Link to the project's LICENSE"
+msgstr ""
+
+#: templates/wishlist_add.html:73
+msgid ""
+"The YunoHost project will only package free/open-source software (with "
+"possible case-by-case exceptions for apps which are not-totally-free)"
+msgstr ""
+
+#: templates/wishlist_add.html:75
+msgid "Project website"
+msgstr ""
+
+#: templates/wishlist_add.html:77
+msgid ""
+"Please *do not* just copy-paste the code repository URL. If the project has "
+"no proper website, then leave the field empty."
+msgstr ""
+
+#: templates/wishlist_add.html:84
+msgid "Submit"
+msgstr ""
diff --git a/wishlist.toml b/wishlist.toml
index bc314e57..aa81bc04 100644
--- a/wishlist.toml
+++ b/wishlist.toml
@@ -734,6 +734,12 @@ description = "Inventory management system using Django/python with a nice inter
upstream = "https://github.com/inventree/inventree"
website = "https://inventree.org/"
+[invidious-router]
+name = "Invidious Router"
+description = "Routes requests to different Invidious instances"
+upstream = "https://gitlab.com/gaincoder/invidious-router"
+website = "https://gnulinux.ch/das-youtube-problem-meine-loesung"
+
[invoiceplane]
name = "InvoicePlane"
description = "Manage invoices, clients and payments."
@@ -940,6 +946,12 @@ description = "Simple self-hosted music scrobble database to create personal lis
upstream = "https://github.com/krateng/maloja"
website = "https://maloja.krateng.ch/"
+[mautrix-meta]
+name = "mautrix-meta"
+description = "A Matrix-Facebook Messenger and Instagram DM puppeting bridge."
+upstream = "https://github.com/mautrix/meta"
+website = "https://docs.mau.fi/"
+
[mayan-edms]
name = "Mayan-EDMS"
description = "Document management system"