1
0
Fork 0
mirror of https://github.com/YunoHost/apps.git synced 2024-09-03 20:06:07 +02:00

store: add new semi-hidden packaging dashboard (#2315)

* store: add new semi-hidden packaging dashboard

* store/dashboard: be able to filter only favorited apps
This commit is contained in:
Alexandre Aubin 2024-05-09 23:24:43 +02:00 committed by GitHub
parent 96b24db28e
commit 45970d478f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
95 changed files with 14730 additions and 4802 deletions

0
store/.cache/.gitkeep Normal file
View file

9
store/.gitignore vendored
View file

@ -1,9 +1,6 @@
config.toml config.toml
.stars .stars
.wishlist_ratelimit .wishlist_ratelimit
.cache
assets/fork-awesome.* .tmp
assets/forkawesome-webfont.* assets/*
assets/tailwind.css
assets/tailwindcss-linux-x64
assets/ynh_logo_*

View file

@ -42,7 +42,7 @@ It's based on Flask-Babel : <https://python-babel.github.io/flask-babel/>
source venv/bin/activate source venv/bin/activate
# Extract the english sentences from the code, needed if you modified it # Extract the english sentences from the code, needed if you modified it
pybabel extract --ignore-dirs venv -F babel.cfg -o messages.pot . pybabel extract -F babel.cfg -o messages.pot *.py templates/*.html
# If working on a new locale: initialize it (in this example: fr) # If working on a new locale: initialize it (in this example: fr)
pybabel init -i messages.pot -d translations -l fr pybabel init -i messages.pot -d translations -l fr

View file

@ -1,15 +1,16 @@
import time import os
import sys
import re import re
import time
import json
import toml import toml
import tomlkit import tomlkit
import base64 import base64
import hashlib import hashlib
import hmac import hmac
import os
import string import string
import random import random
import urllib import urllib
import sys
from slugify import slugify from slugify import slugify
from flask import ( from flask import (
Flask, Flask,
@ -30,6 +31,7 @@ from utils import (
get_catalog, get_catalog,
get_wishlist, get_wishlist,
get_stars, get_stars,
get_dashboard_data,
get_app_md_and_screenshots, get_app_md_and_screenshots,
save_wishlist_submit_for_ratelimit, save_wishlist_submit_for_ratelimit,
check_wishlist_submit_ratelimit, check_wishlist_submit_ratelimit,
@ -82,6 +84,11 @@ def localize(d):
return d["en"] return d["en"]
@app.template_filter("days_ago")
def days_ago(timestamp):
return int((time.time() - timestamp) / (60 * 60 * 24))
@app.context_processor @app.context_processor
def utils(): def utils():
d = { d = {
@ -446,6 +453,32 @@ Description: {description}
) )
@app.route("/dash")
def dash():
return render_template(
"dash.html",
data=get_dashboard_data(),
stars=get_stars()
)
@app.route("/charts")
def charts():
dashboard_data = get_dashboard_data()
level_summary = {}
for i in range(0,9):
level_summary[i] = len([infos for infos in dashboard_data.values() if infos.get("ci_results", {}).get("main").get("level") == i])
level_summary["unknown"] = len([infos for infos in dashboard_data.values() if infos.get("ci_results", {}).get("main").get("level") in [None, "?"]])
return render_template(
"charts.html",
level_summary=level_summary,
history=json.loads(open(".cache/history.json").read()),
news_per_date=json.loads(open(".cache/news.json").read())
)
############################################################################### ###############################################################################
# Session / SSO using Discourse # # Session / SSO using Discourse #
############################################################################### ###############################################################################
@ -519,6 +552,22 @@ def sso_login_callback():
return redirect("/") return redirect("/")
@app.route("/toggle_packaging")
def toggle_packaging():
if session and "user" in session:
user = session["user"]
if not session["user"].get("packaging_enabled"):
# Use this trick to force the change to be registered
# because this session["user"]["foobar"] = value doesn't actually change the state ? idk
user["packaging_enabled"] = True
session["user"] = user
return redirect("/dash")
else:
user["packaging_enabled"] = False
session["user"] = user
return redirect("/")
@app.route("/logout") @app.route("/logout")
def logout(): def logout():
session.clear() session.clear()

View file

@ -7,7 +7,10 @@ chmod +x tailwindcss-linux-x64
# Development -> we use the JS magic thingy # Development -> we use the JS magic thingy
curl -L https://cdn.tailwindcss.com?plugins=forms > tailwind-css.js curl -L https://cdn.tailwindcss.com?plugins=forms > tailwind-css.js
# Forkawesome # Canvasjs (for the chart page only)
curl -L https://cdn.canvasjs.com/ga/canvasjs.min.js > canvasjs.min.js
# Icons / Forkawesome
curl https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css > fork-awesome.min.css curl https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css > fork-awesome.min.css
sed -i 's@../fonts/@@g' ./fork-awesome.min.css sed -i 's@../fonts/@@g' ./fork-awesome.min.css
curl https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/fonts/forkawesome-webfont.woff2?v=1.2.0 > forkawesome-webfont.woff2 curl https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/fonts/forkawesome-webfont.woff2?v=1.2.0 > forkawesome-webfont.woff2

View file

@ -1,5 +1,7 @@
COOKIE_SECRET = "abcdefghijklmnopqrstuvwxyz1234567890" COOKIE_SECRET = "abcdefghijklmnopqrstuvwxyz1234567890"
# This secret is configured in Discourse # This secret is configured in Discourse, "discourse connect provider secret"
# For development, a secret for "localhost" exists.
# But then be sure to access your dev server using localhost:5000, not 127.0.0.1:5000
DISCOURSE_SSO_SECRET = "abcdefghijklmnopqrstuvwxyz1234567890" DISCOURSE_SSO_SECRET = "abcdefghijklmnopqrstuvwxyz1234567890"
DISCOURSE_SSO_ENDPOINT = "https://forum.yunohost.org/session/sso_provider" DISCOURSE_SSO_ENDPOINT = "https://forum.yunohost.org/session/sso_provider"
CALLBACK_URL_AFTER_LOGIN_ON_DISCOURSE = "http://localhost:5000/sso_login_callback" CALLBACK_URL_AFTER_LOGIN_ON_DISCOURSE = "http://localhost:5000/sso_login_callback"

View file

@ -0,0 +1,200 @@
import toml
import json
import os
from datetime import datetime
def _time_points_until_today():
year = 2017
month = 1
day = 1
today = datetime.today()
date = datetime(year, month, day)
while date < today:
yield date
day += 14
if day > 15:
day = 1
month += 1
if month > 12:
month = 1
year += 1
date = datetime(year, month, day)
time_points_until_today = list(_time_points_until_today())
def get_lists_history():
os.system("rm -rf ./.tmp")
os.system("git clone https://github.com/YunoHost/apps ./.tmp/apps")
for t in time_points_until_today:
print(t.strftime("%b %d %Y"))
# Fetch repo at this date
cmd = 'cd ./.tmp/apps; git checkout `git rev-list -1 --before="%s" master`'
os.system(cmd % t.strftime("%b %d %Y"))
if t < datetime(2019, 4, 4):
# Merge community and official
community = json.loads(open("./.tmp/apps/community.json").read())
official = json.loads(open("./.tmp/apps/official.json").read())
for key in official:
official[key]["state"] = "official"
merged = {}
merged.update(community)
merged.update(official)
else:
try:
merged = toml.loads(open("./.tmp/apps/apps.toml").read())
except Exception:
try:
merged = json.loads(open("./.tmp/apps/apps.json").read())
except Exception:
pass
# Save it
json.dump(
merged, open("./.tmp/merged_lists.json.%s" % t.strftime("%y-%m-%d"), "w")
)
def make_count_summary():
history = []
last_time_point = time_points_until_today[-1]
json_at_last_time_point = json.loads(
open(
"./.tmp/merged_lists.json.%s" % last_time_point.strftime("%y-%m-%d")
).read()
)
relevant_apps_to_track = [
app
for app, infos in json_at_last_time_point.items()
if infos.get("state") in ["working", "official"]
]
for d in time_points_until_today:
print("Analyzing %s ..." % d.strftime("%y-%m-%d"))
# Load corresponding json
j = json.loads(
open("./.tmp/merged_lists.json.%s" % d.strftime("%y-%m-%d")).read()
)
d_label = d.strftime("%b %d %Y")
summary = {}
summary["date"] = d_label
for level in range(0, 10):
summary["level-%s" % level] = len(
[
k
for k, infos in j.items()
if infos.get("state") in ["working", "official"]
and infos.get("level", None) == level
]
)
history.append(summary)
for app in relevant_apps_to_track:
infos = j.get(app, {})
if not infos or infos.get("state") not in ["working", "official"]:
level = -1
else:
level = infos.get("level", -1)
try:
level = int(level)
except Exception:
level = -1
json.dump(history, open(".cache/history.json", "w"))
def make_news():
news_per_date = {
d.strftime("%b %d %Y"): {
"broke": [],
"repaired": [],
"removed": [],
"added": [],
}
for d in time_points_until_today
}
previous_j = {}
def level(infos):
lev = infos.get("level")
if lev is None or (isinstance(lev, str) and not lev.isdigit()):
return -1
else:
return int(lev)
for d in time_points_until_today:
d_label = d.strftime("%b %d %Y")
print("Analyzing %s ..." % d.strftime("%y-%m-%d"))
# Load corresponding json
j = json.loads(
open("./.tmp/merged_lists.json.%s" % d.strftime("%y-%m-%d")).read()
)
apps_current = set(
k
for k, infos in j.items()
if infos.get("state") in ["working", "official"] and level(infos) != -1
)
apps_current_good = set(
k for k, infos in j.items() if k in apps_current and level(infos) > 4
)
apps_current_broken = set(
k for k, infos in j.items() if k in apps_current and level(infos) <= 4
)
apps_previous = set(
k
for k, infos in previous_j.items()
if infos.get("state") in ["working", "official"] and level(infos) != -1
)
apps_previous_good = set(
k
for k, infos in previous_j.items()
if k in apps_previous and level(infos) > 4
)
apps_previous_broken = set(
k
for k, infos in previous_j.items()
if k in apps_previous and level(infos) <= 4
)
news = news_per_date[d_label]
for app in set(apps_previous_good & apps_current_broken):
news["broke"].append((app, j[app]["url"]))
for app in set(apps_previous_broken & apps_current_good):
news["repaired"].append((app, j[app]["url"]))
for app in set(apps_current - apps_previous):
news["added"].append((app, j[app]["url"]))
for app in set(apps_previous - apps_current):
news["removed"].append((app, previous_j[app]["url"]))
previous_j = j
json.dump(news_per_date, open(".cache/news.json", "w"))
get_lists_history()
make_count_summary()
make_news()

View file

@ -0,0 +1,125 @@
import os
import sys
import requests
import json
import toml
from github import Github
sys.path = [os.path.dirname(__file__)] + sys.path
from utils import get_catalog
try:
config = toml.loads(open("config.toml").read())
except Exception:
print(
"You should create a config.toml with the appropriate key/values, cf config.toml.example"
)
sys.exit(1)
github_token = config.get("GITHUB_TOKEN")
if github_token is None:
print("You should add a GITHUB_TOKEN to config.toml")
sys.exit(1)
g = Github(github_token)
catalog = get_catalog()
main_ci_apps_results = requests.get(
"https://ci-apps.yunohost.org/ci/api/results"
).json()
nextdebian_ci_apps_results = requests.get(
"https://ci-apps-bookworm.yunohost.org/ci/api/results"
).json()
def get_github_infos(github_orga_and_repo):
repo = g.get_repo(github_orga_and_repo)
infos = {}
pulls = [p for p in repo.get_pulls()]
infos["nb_prs"] = len(pulls)
infos["nb_issues"] = repo.open_issues_count - infos["nb_prs"]
testings = [p for p in pulls if p.head.ref == "testing"]
testing = testings[0] if testings else None
ci_auto_updates = [p for p in pulls if p.head.ref.startswith("ci-auto-update")]
ci_auto_update = (
sorted(ci_auto_updates, key=lambda p: p.created_at, reverse=True)[0]
if ci_auto_updates
else None
)
for p in ([testing] if testing else []) + (
[ci_auto_update] if ci_auto_update else []
):
if p.head.label != "YunoHost-Apps:testing" and not (
p.user.login == "yunohost-bot" and p.head.ref.startswith("ci-auto-update-")
):
continue
infos["testing" if p.head.ref == "testing" else "ci-auto-update"] = {
"branch": p.head.ref,
"url": p.html_url,
"timestamp_created": int(p.created_at.timestamp()),
"timestamp_updated": int(p.updated_at.timestamp()),
"statuses": [
{
"state": s.state,
"context": s.context,
"url": s.target_url,
"timestamp": int(s.updated_at.timestamp()),
}
for s in repo.get_commit(p.head.sha).get_combined_status().statuses
],
}
return infos
consolidated_infos = {}
for app, infos in catalog["apps"].items():
if infos["state"] != "working":
continue
print(app)
consolidated_infos[app] = {
"public_level": infos["level"],
"url": infos["git"]["url"],
"timestamp_latest_commit": infos["lastUpdate"],
"maintainers": infos["manifest"]["maintainers"],
"antifeatures": infos["antifeatures"],
"packaging_format": infos["manifest"]["packaging_format"],
"ci_results": {
"main": (
{
"level": main_ci_apps_results[app]["level"],
"timestamp": main_ci_apps_results[app]["timestamp"],
}
if app in main_ci_apps_results
else None
),
"nextdebian": (
{
"level": nextdebian_ci_apps_results[app]["level"],
"timestamp": nextdebian_ci_apps_results[app]["timestamp"],
}
if app in nextdebian_ci_apps_results
else None
),
},
}
if infos["git"]["url"].lower().startswith("https://github.com/"):
consolidated_infos[app].update(
get_github_infos(
infos["git"]["url"].lower().replace("https://github.com/", "")
)
)
open(".cache/dashboard.json", "w").write(json.dumps(consolidated_infos))

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,16 +17,16 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.14.0\n" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to" "Note that, due to various abuses, we restricted login on the app store to"
" 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
@ -35,71 +35,71 @@ msgid ""
"minutes reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, " "Please focus on what the app does, without using marketing, fuzzy terms, "
"or repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, " "An entry with the name %(slug)s already exists in the wishlist, instead, "
@ -107,14 +107,14 @@ msgid ""
"interest</a>." "interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,7 +122,7 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be " "Your proposed app has succesfully been submitted. It must now be "
@ -130,7 +130,7 @@ msgid ""
"href='%(url)s'>%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -242,39 +242,52 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"using <a class='text-blue-800' " "using <a class='text-blue-800' "
@ -282,11 +295,11 @@ msgid ""
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +319,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +332,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -366,6 +379,204 @@ msgid ""
"advise against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr "" msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr ""
#: templates/index.html:10 #: templates/index.html:10
msgid "Application Store" msgid "Application Store"
msgstr "" msgstr ""
@ -374,44 +585,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -430,6 +607,10 @@ msgid ""
"send every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr "" msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
msgid "App's description" msgid "App's description"
msgstr "" msgstr ""
@ -474,3 +655,33 @@ msgstr ""
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -1,3 +1,9 @@
{% if user and user.get('packaging_enabled') or request.endpoint in ["dash", "charts"] %}
{% set packaging_enabled = True %}
{% else %}
{% set packaging_enabled = False %}
{% endif %}
<!DOCTYPE html> <!DOCTYPE html>
<html lang="{{ locale }}"> <html lang="{{ locale }}">
@ -40,6 +46,18 @@
{{ _("Wishlist") }} {{ _("Wishlist") }}
</a> </a>
</li> </li>
{% if packaging_enabled %}
<li>
<a class="font-bold transition hover:text-gray-500/75" href="{{ url_for('dash') }}">
{{ _("Packaging dashboard") }}
</a>
</li>
<li>
<a class="font-bold transition hover:text-gray-500/75" href="{{ url_for('charts') }}">
{{ _("Charts & history") }}
</a>
</li>
{% endif %}
</ul> </ul>
</nav> </nav>
@ -85,6 +103,22 @@
role="menu" role="menu"
> >
<div class="p-2"> <div class="p-2">
<a href="/toggle_packaging"
class="block rounded-md px-4 py-2 text-sm hover:bg-gray-50 hover:text-gray-700"
role="menuitem"
>
<label for="toggle_packaging" class="inline-block relative mr-1 h-3 w-6 cursor-pointer">
<span class="sr-only">{{ _("Packaging boards") }} {{ user }}</span>
<input type="checkbox" id="toggle_packaging" class="peer sr-only" {% if user and user.get('packaging_enabled') %}checked{% endif %} disabled>
<span class="absolute inset-0 rounded-full bg-gray-300 transition peer-checked:bg-green-500">
</span>
<span class="absolute inset-y-0 start-0 my-0.5 ml-1 h-2 w-2 rounded-full bg-white transition-all peer-checked:start-2">
</span>
</label>
{{ _("Packaging boards") }}
</a>
<a <a
href="/logout" href="/logout"
class="block rounded-md px-4 py-2 text-sm hover:bg-gray-50 hover:text-gray-700" class="block rounded-md px-4 py-2 text-sm hover:bg-gray-50 hover:text-gray-700"
@ -178,6 +212,23 @@
</span> </span>
</div> </div>
<div class="px-2 py-0.5"> <div class="px-2 py-0.5">
<a href="/toggle_packaging"
class="block rounded-md px-4 py-3 text-sm hover:bg-gray-100"
role="menuitem"
>
<label for="toggle_packaging" class="inline-block relative mr-1 h-3 w-6 cursor-pointer">
<span class="sr-only">{{ _("Packaging boards") }}</span>
<input type="checkbox" id="toggle_packaging" class="peer sr-only" {% if user and user.get('packaging_enabled') %}checked{% endif%} disabled>
<span class="absolute inset-0 rounded-full bg-gray-300 transition peer-checked:bg-green-500">
</span>
<span class="absolute inset-y-0 start-0 my-0.5 ml-1 h-2 w-2 rounded-full bg-white transition-all peer-checked:start-2">
</span>
</label>
{{ _("Packaging boards") }}
</a>
<a <a
href="/logout" href="/logout"
class="block rounded-md px-4 py-3 text-sm hover:bg-gray-100" class="block rounded-md px-4 py-3 text-sm hover:bg-gray-100"
@ -194,7 +245,7 @@
</div> </div>
</header> </header>
<main> <main class="mx-auto max-w-screen-lg">
{% block main %} {% block main %}
{% endblock %} {% endblock %}
</main> </main>

125
store/templates/charts.html Normal file
View file

@ -0,0 +1,125 @@
{% extends "base.html" %}
{% block main %}
<div class="w-full">
<h1 class="text-center font-medium text-2xl py-2">{{ _("Apps quality level from automatic tests") }}</h1>
<div id="levelRing" class="h-80"></div>
</div>
<div class="w-full">
<h1 class="text-center font-medium text-2xl py-2">{{ _("Apps quality level history") }}</h1>
<div id="levelHistory" class="h-80"></div>
</div>
<div class="mx-auto w-80">
<h1 class="text-center font-medium text-2xl py-2">{{ _("History") }}</h1>
<div>
{% for date, news in news_per_date.items()|reverse %}
<h2 class="text-center font-medium text-xl py-4">{{ date }}</h2>
<ul>
{% for app, url in news["added"] %}
<li>
<span class="text-sm text-center inline-block w-24 rounded border border-blue-600 text-blue-600 mr-1"><i class="fa fa-plus" aria-hidden="true"></i> {{ _("Added") }}</span>
<a href="{{url}}">{{app}}</a>
</li>
{% endfor %}
{% for app, url in news["repaired"] %}
<li>
<span class="text-sm text-center inline-block w-24 rounded border border-green-600 text-green-600 mr-1"><i class="fa fa-check" aria-hidden="true"></i> {{ _("Repaired") }}</span>
<a href="{{url}}">{{app}}</a>
</li>
{% endfor %}
{% for app, url in news["broke"] %}
<li>
<span class="text-sm text-center inline-block w-24 rounded border border-amber-600 text-amber-600 mr-1"><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> {{ _("Broke") }}</span>
<a href="{{url}}">{{app}}</a>
</li>
{% endfor %}
{% for app, url in news["removed"] %}
<li>
<span class="text-sm text-center inline-block w-24 rounded border border-red-600 text-red-600 mr-1"><i class="fa fa-times" aria-hidden="true"></i> {{ _("Removed") }}</span>
<a href="{{url}}">{{app}}</a>
</li>
{% endfor %}
</ul>
{% endfor %}
</div>
</div>
<script src="{{ url_for('static', filename='canvasjs.min.js') }}"></script>
<script>
window.onload = function () {
var colors_per_level = [
"#d9534f",
"#E26D4F",
"#E98D4E",
"#f0ad4e",
"#CBB052",
"#A6B255",
"#7AB659",
"#5cb85c",
"#4695d5",
"#8960b3"
];
new CanvasJS.Chart("levelRing", {
animationEnabled: false,
data: [{
type: "doughnut",
startAngle: -90,
//innerRadius: 60,
indexLabelFontSize: 17,
indexLabel: "{label} - {y}",
toolTipContent: "<b>{label}:</b> {y}",
dataPoints: [
{ y: {{ level_summary["unknown"] }}, label: "{{ _("Unknown") }}", color: "#cccccc" },
{ y: {{ level_summary[0] }}, label: "{{ _("Level 0") }}", color: colors_per_level[0] },
{ y: {{ level_summary[1] }}, label: "{{ _("Level 1") }}", color: colors_per_level[1] },
{ y: {{ level_summary[2] }}, label: "{{ _("Level 2") }}", color: colors_per_level[2] },
{ y: {{ level_summary[3] }}, label: "{{ _("Level 3") }}", color: colors_per_level[3] },
{ y: {{ level_summary[4] }}, label: "{{ _("Level 4") }}", color: colors_per_level[4] },
{ y: {{ level_summary[5] }}, label: "{{ _("Level 5") }}", color: colors_per_level[5] },
{ y: {{ level_summary[6] }}, label: "{{ _("Level 6") }}", color: colors_per_level[6] },
{ y: {{ level_summary[7] }}, label: "{{ _("Level 7") }}", color: colors_per_level[7] },
{ y: {{ level_summary[8] }}, label: "{{ _("Level 8") }}", color: colors_per_level[8] },
]
}]
}).render();
new CanvasJS.Chart("levelHistory", {
animationEnabled: false,
toolTip: {
reversed: true,
shared: true
},
data: [
{% for level in range(8,-1,-1) %}
{
color: colors_per_level[{{ level }}],
type: "stackedArea",
showInLegend: true,
toolTipContent: "<span style=\"color:"+colors_per_level[{{ level }}]+"\"><strong>{{ _("Level %(level)s:", level=level) }}</strong></span> {y}{% if loop.first %}<br><b>{{ _("Total:") }} #total</b> @ {label}{% endif %}",
name: "{{ _("Level %(level)s", level=level) }}",
dataPoints: [
{% for d in history %}
{ label: "{{ d.date }}", y: {{ d["level-"+level|string] }} },
{% endfor %}
]
},
{% endfor %}
]
}).render();
}
</script>
{% endblock %}

404
store/templates/dash.html Normal file
View file

@ -0,0 +1,404 @@
{% extends "base.html" %}
{% block title %}
{{ _("App packaging dashboard") }}
{% endblock %}
{% block main %}
<div class="mx-auto w-full text-center p-8">
<h1 class="text-2xl font-bold">
{{ _("App packaging dashboard") }}
</h1>
<p class="text-sm text-gray-700 mx-10 mt-2">{{ _("This is where packagers can monitor the status of automatic tests (CI) and ongoing major pull requests accross all apps. If you want to get started with app packaging in YunoHost, please check out the <a class='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging documentation</a> and come say hi to us on the <a class='text-blue-500' href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!") }}</p>
</div>
<div class="mx-auto text-center py-4">
<div class="inline-block w-5/12">
{{ _("Filter") }}
<select
name="selectfilter"
id="selectfilter"
class="rounded-md border-gray-200 text-sm h-8 py-0"
>
<option {% if request.args.get("filter") in [None, "none"] %}selected{% endif %} value="none">{{ _("(None)") }}</option>
<option {% if request.args.get("filter") == "regressions_main_ci" %}selected{% endif %} value="regressions_main_ci">{{ _("Regressions on main CI") }}</option>
<option {% if request.args.get("filter") == "broken_low_quality" %}selected{% endif %} value="broken_low_quality">{{ _("Broken / low quality apps") }}</option>
<option {% if request.args.get("filter") == "outdated" %}selected{% endif %} value="outdated">{{ _("Outdated tests on main CI") }}</option>
<option {% if request.args.get("filter") == "regressions_bookworm" %}selected{% endif %} value="regressions_bookworm">{{ _("Major regressions on Bookworm CI") }}</option>
<option {% if request.args.get("filter") == "testings" %}selected{% endif %} value="testings">{{ _("Apps with testings PRs") }}</option>
<option {% if request.args.get("filter") == "autoupdate" %}selected{% endif %} value="autoupdate">{{ _("Apps with autoupdate PRs") }}</option>
<option {% if request.args.get("filter") == "packagingv1" %}selected{% endif %} value="packagingv1">{{ _("Packaging v1 apps") }}</option>
</select>
</div>
<div class="inline-block w-5/12">
{{ _("Sort by") }}
<select
name="selectsort"
id="selectsort"
class="rounded-md border-gray-200 text-sm h-8 py-0"
>
<option {% if request.args.get("sort") in [None, "alpha"] %}selected{% endif %} value="alpha">{{ _("Alphabetical") }}</option>
<option {% if request.args.get("sort") == "level" %}selected{% endif %} value="level">{{ _("Quality level") }}</option>
<option {% if request.args.get("sort") == "stars" %}selected{% endif %} value="stars">{{ _("Popularity stars") }}</option>
<option {% if request.args.get("sort") == "main_branch_update" %}selected{% endif %} value="main_branch_update">{{ _("Last update on main/master branch") }}</option>
<option {% if request.args.get("sort") == "testing_branch_update" %}selected{% endif %} value="testing_branch_update">{{ _("Last update on testing branch") }}</option>
</select>
</div>
<div class="block w-fit mx-auto flex items-center px-2 pt-2 {% if not user %}text-gray-500{% endif %}" {% if not user %}title="{{ _('Requires to be logged-in') }}" aria-label="{{ _('Requires to be logged-in') }}"{% endif %}>
<label for="starsonly" class="inline-block relative mr-2 h-4 w-7 cursor-pointer">
<span class="sr-only">{{ _("Show only apps you starred") }}</span>
<input type="checkbox" id="starsonly" class="peer sr-only" {% if user and request.args.get("starsonly") %}checked{% endif %} {% if not user%}disabled{% endif %} >
<span class="absolute inset-0 rounded-full bg-gray-300 transition peer-checked:bg-green-500">
</span>
<span class="absolute inset-y-0 start-0 m-1 h-2 w-2 rounded-full bg-white transition-all peer-checked:start-3">
</span>
</label>
{{ _("Show only apps you starred") }}
</div>
</div>
<table id="appTable" class="mx-auto">
<tr class="h-20">
<th class="w-32">{{ _("App") }}</th>
<th class="-rotate-45 w-16 text-left">{{ _("Catalog") }}</th>
<th class="-rotate-45 w-16 text-left">{{ _("Main CI") }}</th>
<th class="-rotate-45 w-16 text-left">{{ _("Bookworm CI") }}</th>
<th class="-rotate-45 w-16 text-left">{{ _("Testing PR") }}</th>
<th class="-rotate-45 w-16 text-left">{{ _("Autoupdate PR") }}</th>
<th></th>
</tr>
{% for app, infos in data.items() %}
{% set this_app_stars = stars.get(app, {})|length %}
{% if user %}
{% set user_starred_this_app = user['id'] in stars.get(app, {}) %}
{% else %}
{% set user_starred_this_app = False %}
{% endif %}
<tr
class="app h-8 hover:bg-gray-100"
data-app="{{ app }}"
data-popularity-stars="{{ this_app_stars }}"
data-starred="{{ user_starred_this_app }}"
data-public-level="{{ infos["public_level"] if infos["public_level"] != "?" else -1 }}"
data-main-ci-level="{% if infos["ci_results"]["main"] %}{{ infos["ci_results"]["main"]["level"] }}{% else %}-1{% endif %}"
data-main-ci-daysago="{% if infos["ci_results"]["main"] %}{{ infos["ci_results"]["main"]["timestamp"] | days_ago }}{% else %}-9999{% endif %}"
data-nextdebian-ci-level="{% if infos["ci_results"]["nextdebian"] %}{{ infos["ci_results"]["nextdebian"]["level"] }}{% else %}-1{% endif %}"
data-last-update-master-daysago="{{ infos["ci_results"]["main"]["timestamp"] | days_ago }}"
data-last-update-testing-daysago="{% if infos["testing"] %}{{ infos["testing"]["timestamp_updated"] | days_ago }}{% endif %}"
data-last-update-autoupdate-daysago="{% if infos["ci-auto-update"] %}{{ infos["ci-auto-update"]["timestamp_updated"] | days_ago }}{% endif %}"
data-packaging-format="{{ infos["packaging_format"] }}"
>
<td class="text-center text-blue-600 font-medium"><a href="{{ infos["url"] }}">{{ app }}</a></td>
<td class="font-bold">
<a href="https://apps.yunohost.org/app/{{ app }}">
{{ infos["public_level"] }}
{% if infos["public_level"] == "?" %}
{% elif infos["public_level"] == 0 %}
<i class="fa fa-exclamation-circle text-red-500" title="{{ _("Broken") }}"></i>
{% elif infos["public_level"] <= 4 %}
<i class="fa fa-exclamation-triangle text-amber-500" title="{{ _("Low quality") }}"></i>
{% endif %}
</a>
</td>
<td>
<a class="{% if infos["ci_results"]["main"]["timestamp"] | days_ago > 30 %}opacity-50{% endif %}" href="https://ci-apps.yunohost.org/ci/apps/{{ app }}/">
{{ infos["ci_results"]["main"]["level"] }}
{% if infos["ci_results"]["main"]["timestamp"] | days_ago > 30 %}
<i class="fa fa-hourglass-o" title="{{ _("Outdated test (%(days)s days ago)", days=infos["ci_results"]["main"]["timestamp"] | days_ago) }}"></i>
{% endif %}
{% if infos["public_level"] == "?" %}
{% elif infos["ci_results"]["main"]["level"] < infos["public_level"] and infos["ci_results"]["main"]["level"] == 0 %}
<i class="fa fa-exclamation-circle text-red-500" title="{{ _("Broken") }}"></i>
{% elif infos["ci_results"]["main"]["level"] < infos["public_level"] and infos["ci_results"]["main"]["level"] <= 4 %}
<i class="fa fa-exclamation-triangle text-amber-500" title="{{ _("Low quality") }}"></i>
{% endif %}
</a>
</td>
<td>
<a class="{% if infos["ci_results"]["nextdebian"] and infos["ci_results"]["nextdebian"]["timestamp"] | days_ago > 30 %}opacity-50{% endif %}" href="https://ci-apps-bookworm.yunohost.org/ci/apps/{{ app }}/">
{% if infos["ci_results"]["nextdebian"] %}
{{ infos["ci_results"]["nextdebian"]["level"] }}
{% if infos["ci_results"]["nextdebian"]["timestamp"] | days_ago > 30 %}
<i class="fa fa-hourglass-o" title="{{ _("Outdated test (%(days)s days ago)", days=infos["ci_results"]["nextdebian"]["timestamp"] | days_ago) }}"></i>
{% endif %}
{% if infos["public_level"] == "?" %}
{% elif infos["ci_results"]["nextdebian"]["level"] < infos["public_level"] and infos["ci_results"]["nextdebian"]["level"] == 0 %}
<i class="fa fa-exclamation-circle text-red-500" title="{{ _("Broken") }}"></i>
{% elif infos["ci_results"]["nextdebian"]["level"] < infos["public_level"] and infos["ci_results"]["nextdebian"]["level"] <= 4 %}
<i class="fa fa-exclamation-triangle text-amber-500" title="{{ _("Low quality") }}"></i>
{% endif %}
{% else %}
?
{% endif %}
</a>
</td>
<td>
{% if "testing" in infos %}
<a href="{{ infos["testing"]["url"] }}">
<i class="fa fa-flask"></i>
{% for s in infos["testing"]["statuses"] %}
{% if s["context"] == "ci-apps-dev" %}
<i class="fa fa-{% if s["state"] == "success" %}check-circle text-green-600{% else %}times-circle text-red-600{% endif %}"></i>
{% endif %}
{% endfor %}
{% if infos["testing"]["timestamp_updated"] | days_ago > 30 %}
<i class="text-gray-500 fa fa-clock-o" title="{{ _("Inactive (%(days)s days ago)", days=infos["testing"]["timestamp_updated"] | days_ago) }}"></i>
{% endif %}
</a>
{% endif %}
</td>
<td>
{% if "ci-auto-update" in infos %}
<a href="{{ infos["ci-auto-update"]["url"] }}">
<i class="fa fa-arrow-up"></i>
{% for s in infos["ci-auto-update"]["statuses"] %}
{% if s["context"] == "ci-apps-dev" %}
<i class="fa fa-{% if s["state"] == "success" %}check-circle text-green-600{% else %}times-circle text-red-600{% endif %}"></i>
{% endif %}
{% endfor %}
{% if infos["ci-auto-update"]["timestamp_updated"] | days_ago > 30 %}
<i class="text-gray-500 fa fa-clock-o" title="{{ _("Inactive (%(days)s days ago)", days=infos["ci-auto-update"]["timestamp_updated"] | days_ago) }}"></i>
{% endif %}
</a>
{% endif %}
</td>
<td class="text-sm">
{% if this_app_stars > 0 %}
<span class="text-xs border-purple-400 text-purple-600 px-1 py-0 border rounded">{{ this_app_stars }}
<i class="fa {% if not user_starred_this_app %}fa-star-o{% else %}fa-star{% endif %}" aria-hidden="true" title="{{ _("Popularity stars") }}"></i>
</span>
{% endif %}
{% if infos["packaging_format"] == 1 %}
<span class="text-xs border-gray-400 px-1 py-0 border rounded"><i class="fa fa-meh-o"></i> {{ _("Packaging v1") }}</span>
{% endif %}
{% if "deprecated-software" in infos["antifeatures"] or "replaced-by-another-app" in infos["antifeatures"] %}
<span class="text-xs border-gray-400 px-1 py-0 border rounded"><i class="fa fa-flag-o"></i> {{ _("Deprecated") }}</span>
{% endif %}
{% if "package-not-maintained" in infos["antifeatures"] %}
<span class="text-xs border-gray-400 px-1 py-0 border rounded"><i class="fa fa-flag-o"></i> {{ _("Not maintained") }}</span>
{% endif %}
<!--
Maintainers
NB issues, PRs
Autoupdate enabled?
-->
</td>
</tr>
{% endfor %}
</table>
<div id="nbEntriesFound" class="text-center text-gray-600 text-sm py-3"></div>
<script type="text/javascript">
function updateFilter() {
// Locate the card elements
let entries = document.getElementsByClassName('app')
let filterName = selectFilter.value.trim();
let nb_found = 0;
let starsOnly = toggleStarsonly.checked;
// Loop through the entries
for (var i = 0; i < entries.length; i++) {
if ((starsOnly) && (entries[i].dataset.starred != "True"))
{
entries[i].classList.add("hidden");
continue;
}
if (filterName == "none")
{
entries[i].classList.remove("hidden");
nb_found++;
}
else if (filterName == "regressions_main_ci")
{
if (entries[i].dataset.publicLevel > entries[i].dataset.mainCiLevel)
{
entries[i].classList.remove("hidden");
nb_found++;
}
else
{
entries[i].classList.add("hidden");
}
}
else if (filterName == "broken_low_quality")
{
if (entries[i].dataset.publicLevel <= 4)
{
entries[i].classList.remove("hidden");
nb_found++;
}
else
{
entries[i].classList.add("hidden");
}
}
else if (filterName == "outdated")
{
if (entries[i].dataset.mainCiDaysago >= 30)
{
entries[i].classList.remove("hidden");
nb_found++;
}
else
{
entries[i].classList.add("hidden");
}
}
else if (filterName == "regressions_bookworm")
{
if ((entries[i].dataset.publicLevel >= 6) && (entries[i].dataset.nextdebianCiLevel < 6))
{
entries[i].classList.remove("hidden");
nb_found++;
}
else
{
entries[i].classList.add("hidden");
}
}
else if (filterName == "testings")
{
if (entries[i].dataset.lastUpdateTestingDaysago)
{
entries[i].classList.remove("hidden");
nb_found++;
}
else
{
entries[i].classList.add("hidden");
}
}
else if (filterName == "autoupdate")
{
if (entries[i].dataset.lastUpdateAutoupdateDaysago)
{
entries[i].classList.remove("hidden");
nb_found++;
}
else
{
entries[i].classList.add("hidden");
}
}
else if (filterName == "packagingv1")
{
if (entries[i].dataset.packagingFormat == "1")
{
entries[i].classList.remove("hidden");
nb_found++;
}
else
{
entries[i].classList.add("hidden");
}
}
}
document.getElementById('nbEntriesFound').innerHTML = "(" + nb_found + " apps)";
updateQueryArgsInURL()
}
function updateSort() {
let table = document.getElementById('appTable')
let toSort = document.getElementsByClassName('app')
let sortBy = selectSort.value.trim();
toSort = Array.prototype.slice.call(toSort, 0);
if (sortBy === "level") {
toSort.sort(function(a, b) {
return a.dataset.publicLevel - b.dataset.publicLevel;
});
}
else if (sortBy === "stars") {
toSort.sort(function(a, b) {
return parseInt(a.dataset.popularityStars) < parseInt(b.dataset.popularityStars) ? 1 : -1;
});
}
else if (sortBy === "main_branch_update") {
toSort.sort(function(a, b) {
return parseInt(a.dataset.lastUpdateMasterDaysago) < parseInt(b.dataset.lastUpdateMasterDaysago) ? 1 : -1;
});
}
else if (sortBy === "testing_branch_update") {
toSort.sort(function(a, b) {
return parseInt(a.dataset.lastUpdateTestingDaysago) < parseInt(b.dataset.lastUpdateTestingDaysago) ? 1 : -1;
});
}
else if (sortBy === "alpha") {
toSort.sort(function(a, b) {
return a.dataset.app > b.dataset.app ? 1 : -1;
});
}
for(var i = 0, l = toSort.length; i < l; i++) {
toSort[i].remove()
table.appendChild(toSort[i]);
}
updateQueryArgsInURL()
}
function updateQueryArgsInURL() {
let sortBy = selectSort.value.trim();
let filterName = selectFilter.value.trim();
let starsOnly = toggleStarsonly.checked;
if ('URLSearchParams' in window) {
var queryArgs = new URLSearchParams(window.location.search)
if (filterName != "none") { queryArgs.set("filter", filterName) } else { queryArgs.delete("filter"); };
if (sortBy != "alpha") { queryArgs.set("sort", sortBy) } else { queryArgs.delete("sort"); };
if (starsOnly) { queryArgs.set("starsonly", true) } else { queryArgs.delete("starsonly"); };
let newUrl;
if (queryArgs.toString())
{
newUrl = window.location.pathname + '?' + queryArgs.toString();
}
else
{
newUrl = window.location.pathname;
}
if (newUrl != window.location.pathname + window.location.search)
{
history.pushState(null, '', newUrl);
}
}
}
let selectFilter = document.getElementById('selectfilter');
let selectSort = document.getElementById('selectsort');
let toggleStarsonly = document.getElementById('starsonly');
selectFilter.addEventListener('change', () => {
updateFilter();
});
selectSort.addEventListener('change', () => {
updateSort();
});
toggleStarsonly.addEventListener('change', () => {
updateFilter();
});
updateFilter();
updateSort();
</script>
{% endblock %}

View file

@ -7,115 +7,116 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:04+0100\n" "PO-Revision-Date: 2024-02-21 06:04+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: ar <LL@li.org>\n"
"Language: ar\n" "Language: ar\n"
"Language-Team: ar <LL@li.org>\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"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -123,15 +124,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -190,8 +191,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -244,50 +244,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -307,7 +321,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -320,16 +334,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -363,8 +377,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -375,44 +587,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -427,8 +605,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -441,10 +623,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -467,10 +649,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:05+0100\n" "PO-Revision-Date: 2024-02-21 06:05+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: bn_BD <LL@li.org>\n"
"Language: bn_BD\n" "Language: bn_BD\n"
"MIME-Version: 1.0\n" "Language-Team: bn_BD <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,118 +7,119 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:05+0100\n" "PO-Revision-Date: 2024-02-21 06:05+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: br <LL@li.org>\n"
"Language: br\n" "Language: br\n"
"Language-Team: br <LL@li.org>\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"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -126,15 +127,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -193,8 +194,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -247,50 +247,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -310,7 +324,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -323,16 +337,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -366,8 +380,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -378,44 +590,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -430,8 +608,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -444,10 +626,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -470,10 +652,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,124 +7,123 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-03-23 19:04+0000\n" "PO-Revision-Date: 2024-03-23 19:04+0000\n"
"Last-Translator: OniriCorpe <oniricorpe@disroot.org>\n" "Last-Translator: OniriCorpe <oniricorpe@disroot.org>\n"
"Language-Team: Catalan <https://translate.yunohost.org/projects/yunohost/"
"apps/ca/>\n"
"Language: ca\n" "Language: ca\n"
"MIME-Version: 1.0\n" "Language-Team: Catalan "
"Content-Type: text/plain; charset=UTF-8\n" "<https://translate.yunohost.org/projects/yunohost/apps/ca/>\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.3.1\n" "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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "No es troba l'aplicació %(app_id)s" msgstr "No es troba l'aplicació %(app_id)s"
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "Heu d'iniciar sessió per poder destacar una aplicació" msgstr "Heu d'iniciar sessió per poder destacar una aplicació"
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
"Tingueu en compte que, a causa de diversos abusos, vam restringir l'inici de " "Tingueu en compte que, a causa de diversos abusos, vam restringir l'inici"
"sessió a la botiga d'aplicacions als usuaris del «nivell de confiança 1».<br/" " de sessió a la botiga d'aplicacions als usuaris del «nivell de confiança"
"><br/>El «nivell de confiança 1» s'obté després d'interaccionar com a mínim " " 1».<br/><br/>El «nivell de confiança 1» s'obté després d'interaccionar "
"amb el fòrum, i més concretament: introduir almenys 5 temes, llegir almenys " "com a mínim amb el fòrum, i més concretament: introduir almenys 5 temes, "
"30 publicacions i dedicar almenys 10 minuts llegint publicacions." "llegir almenys 30 publicacions i dedicar almenys 10 minuts llegint "
"publicacions."
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "Heu d'iniciar sessió per enviar una aplicació a la llista de desitjos" msgstr "Heu d'iniciar sessió per enviar una aplicació a la llista de desitjos"
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr "El testimoni CSRF no és vàlid; actualitzeu la pàgina i torneu-ho a provar"
"El testimoni CSRF no és vàlid; actualitzeu la pàgina i torneu-ho a provar"
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
"La proposta d'addicions a la llista de desitjos està limitada a un cop cada " "La proposta d'addicions a la llista de desitjos està limitada a un cop "
"15 dies per usuari. Si us plau, torna-ho a provar d'aquí a uns dies." "cada 15 dies per usuari. Si us plau, torna-ho a provar d'aquí a uns dies."
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "El nom de l'aplicació ha de tenir com a mínim 3 caràcters" msgstr "El nom de l'aplicació ha de tenir com a mínim 3 caràcters"
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "El nom de l'aplicació ha de tenir menys de 30 caràcters" msgstr "El nom de l'aplicació ha de tenir menys de 30 caràcters"
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "La descripció de l'aplicació ha de tenir almenys 5 caràcters" msgstr "La descripció de l'aplicació ha de tenir almenys 5 caràcters"
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "La descripció de l'aplicació ha de tenir menys de 100 caràcters" msgstr "La descripció de l'aplicació ha de tenir menys de 100 caràcters"
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "L'URL del dipòsit de codi amunt ha de tenir com a mínim 10 caràcters" msgstr "L'URL del dipòsit de codi amunt ha de tenir com a mínim 10 caràcters"
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "L'URL del dipòsit de codi amunt ha de tenir menys de 150 caràcters" msgstr "L'URL del dipòsit de codi amunt ha de tenir menys de 150 caràcters"
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "L'URL de la llicència ha de tenir com a mínim 10 caràcters" msgstr "L'URL de la llicència ha de tenir com a mínim 10 caràcters"
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "L'URL de la llicència ha de tenir menys de 250 caràcters" msgstr "L'URL de la llicència ha de tenir menys de 250 caràcters"
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "L'URL del lloc web ha de tenir menys de 150 caràcters" msgstr "L'URL del lloc web ha de tenir menys de 150 caràcters"
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "El nom de l'aplicació conté caràcters especials" msgstr "El nom de l'aplicació conté caràcters especials"
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
"Si us plau, centreu-vos en el que fa l'aplicació, sense fer servir " "Si us plau, centreu-vos en el que fa l'aplicació, sense fer servir "
"màrqueting, termes difusos ni repetir que l'aplicació és «gratuïta» i " "màrqueting, termes difusos ni repetir que l'aplicació és «gratuïta» i "
"«autohostatjada»." "«autohostatjada»."
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr "No cal repetir el nom de l'aplicació. Centra't en el que fa l'aplicació."
"No cal repetir el nom de l'aplicació. Centra't en el que fa l'aplicació."
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
"Una entrada amb el nom %(slug)s ja existeix a la llista de desitjos; en " "Una entrada amb el nom %(slug)s ja existeix a la llista de desitjos; en "
"canvi, podeu <a href='%(url)s'>afegir una estrella a l'aplicació per mostrar " "canvi, podeu <a href='%(url)s'>afegir una estrella a l'aplicació per "
"el vostre interès</a>." "mostrar el vostre interès</a>."
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
@ -133,30 +132,30 @@ msgstr ""
"Una aplicació amb el nom %(slug)s ja existeix al catàleg, <a " "Una aplicació amb el nom %(slug)s ja existeix al catàleg, <a "
"href='%(url)s'>podeu veure la seva pàgina aquí</a>." "href='%(url)s'>podeu veure la seva pàgina aquí</a>."
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
"there's already <a href='%(url)s'>a waiting PR for this app</a>? Else, " "there's already <a href='%(url)s'>a waiting PR for this app</a>? Else, "
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
"No s'ha pogut crear la sol·licitud d'extracció per afegir l'aplicació a la " "No s'ha pogut crear la sol·licitud d'extracció per afegir l'aplicació a "
"llista de desitjos… Potser ja hi ha <a href='%(url)s'>un PR esperant per a " "la llista de desitjos… Potser ja hi ha <a href='%(url)s'>un PR esperant "
"aquesta aplicació</a>? En cas contrari, si us plau, informeu el problema a " "per a aquesta aplicació</a>? En cas contrari, si us plau, informeu el "
"l'equip de YunoHost." "problema a l'equip de YunoHost."
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
"La vostra aplicació proposada s'ha enviat correctament. Ara ha de ser " "La vostra aplicació proposada s'ha enviat correctament. Ara ha de ser "
"validat per l'equip de YunoHost. Podeu fer un seguiment del progrés aquí: <a " "validat per l'equip de YunoHost. Podeu fer un seguiment del progrés aquí:"
"href='%(url)s'>%(url)s</a>" " <a href='%(url)s'>%(url)s</a>"
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "Malauradament s'ha denegat l'inici de sessió." msgstr "Malauradament s'ha denegat l'inici de sessió."
@ -171,8 +170,8 @@ msgid ""
"This app is currently flagged as broken because it failed our automatic " "This app is currently flagged as broken because it failed our automatic "
"tests." "tests."
msgstr "" msgstr ""
"Actualment aquesta aplicació està marcada com a trencada perquè no ha passat " "Actualment aquesta aplicació està marcada com a trencada perquè no ha "
"les nostres proves automàtiques." "passat les nostres proves automàtiques."
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41 #: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170 #: templates/catalog.html:42 templates/catalog.html:170
@ -221,8 +220,7 @@ msgstr "Captura de pantalla de %(app)s"
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
"Aquesta aplicació només és compatible amb aquestes arquitectures " "Aquesta aplicació només és compatible amb aquestes arquitectures "
"específiques: %(archs)s" "específiques: %(archs)s"
@ -231,16 +229,16 @@ msgstr ""
#, python-format #, python-format
msgid "This app requires an unusual amount of RAM to install: %(ram)s" msgid "This app requires an unusual amount of RAM to install: %(ram)s"
msgstr "" msgstr ""
"Aquesta aplicació requereix una quantitat inusual de RAM per instal·lar-se: " "Aquesta aplicació requereix una quantitat inusual de RAM per instal·lar-"
"%(ram)s" "se: %(ram)s"
#: templates/app.html:118 #: templates/app.html:118
msgid "Important infos before installing" msgid "Important infos before installing"
msgstr "Informació important abans d'instal·lar" msgstr "Informació important abans d'instal·lar"
# | msgid "Anti-features"
#: templates/app.html:124 #: templates/app.html:124
#, fuzzy #, fuzzy
#| msgid "Anti-features"
msgid "Antifeatures" msgid "Antifeatures"
msgstr "Anticaracterístiques" msgstr "Anticaracterístiques"
@ -281,54 +279,68 @@ msgstr "Repositori de paquets YunoHost"
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "Llicència del paquet YunoHost" msgstr "Llicència del paquet YunoHost"
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "Botiga d'aplicacions YunoHost" msgstr "Botiga d'aplicacions YunoHost"
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "Inici" msgstr "Inici"
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "Catàleg" msgstr "Catàleg"
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "Llista de desitjos" msgstr "Llista de desitjos"
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "Documentació de YunoHost" msgstr "Documentació de YunoHost"
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "Inicieu sessió mitjançant el fòrum de YunoHost" msgstr "Inicieu sessió mitjançant el fòrum de YunoHost"
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "Tancar sessió" msgstr "Tancar sessió"
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "Canvia el menú" msgstr "Canvia el menú"
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
"Fet amb <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> fent " "Fet amb <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> fent"
"servir <a class='text-blue-800' href='https://flask.palletsprojects." " servir <a class='text-blue-800' "
"com'>Flask</a> i <a class='text-blue-800' href='https://tailwindcss." "href='https://flask.palletsprojects.com'>Flask</a> i <a class='text-"
"com/'>TailwindCSS</a>" "blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "Font" msgstr "Font"
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "Condicions dels serveis" msgstr "Condicions dels serveis"
@ -348,7 +360,7 @@ msgstr "Buscar…"
msgid "All apps" msgid "All apps"
msgstr "Totes les aplicacions" msgstr "Totes les aplicacions"
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "Ordenar per" msgstr "Ordenar per"
@ -361,16 +373,16 @@ msgstr "Popularitat"
msgid "Newest" msgid "Newest"
msgstr "Novetat" msgstr "Novetat"
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "Alfabèticament" msgstr "Alfabèticament"
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "Requereix estar connectat" msgstr "Requereix estar connectat"
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "Mostra només les aplicacions que has destacat" msgstr "Mostra només les aplicacions que has destacat"
@ -393,7 +405,8 @@ msgstr "Aplicacions marcades actualment com a trencades"
#: templates/catalog.html:169 #: templates/catalog.html:169
msgid "These are apps which failed our automatic tests." msgid "These are apps which failed our automatic tests."
msgstr "" msgstr ""
"Aquestes són aplicacions que no han passat les nostres proves automàtiques." "Aquestes són aplicacions que no han passat les nostres proves "
"automàtiques."
#: templates/catalog.html:184 #: templates/catalog.html:184
msgid "Deprecated applications" msgid "Deprecated applications"
@ -405,13 +418,213 @@ msgstr "Aquestes són aplicacions que ja no es mantenen."
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr "" msgstr ""
"Això vol dir que el desenvolupador ja no els actualitzarà. Desaconsellem " "Això vol dir que el desenvolupador ja no els actualitzarà. Desaconsellem "
"fermament la seva instal·lació i aconsellem als usuaris que trobin " "fermament la seva instal·lació i aconsellem als usuaris que trobin "
"alternatives." "alternatives."
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
#, fuzzy
msgid "Popularity stars"
msgstr "Popularitat"
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
#, fuzzy
msgid "Deprecated"
msgstr "Aplicacions obsoletes"
#: templates/dash.html:183
msgid "Not maintained"
msgstr ""
#: templates/index.html:10 #: templates/index.html:10
msgid "Application Store" msgid "Application Store"
msgstr "Botiga d'aplicacions" msgstr "Botiga d'aplicacions"
@ -420,33 +633,109 @@ msgstr "Botiga d'aplicacions"
msgid "Browse all applications" msgid "Browse all applications"
msgstr "Exploreu totes les aplicacions" msgstr "Exploreu totes les aplicacions"
#: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app"
msgstr "Suggerir una aplicació"
#: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "Suggerir una aplicació per afegir al catàleg de YunoHost"
#: templates/wishlist_add.html:29
msgid "You must first login to be allowed to submit an app to the wishlist"
msgstr ""
"Primer heu d'iniciar sessió per poder enviar una aplicació a la llista de"
" desitjos"
#: templates/wishlist_add.html:40
msgid "Due to abuses, only one proposal every 15 days per user is allowed."
msgstr "A causa dels abusos, només es permet una proposta cada 15 dies per usuari."
#: 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 ""
"Revisar aquestes propostes és cansador per als voluntaris, si us plau, no"
" envieu a la babalà totes les coses frikis a l'atzar que trobeu a "
"Internet."
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "Nom"
#: templates/wishlist_add.html:64
msgid "App's description"
msgstr "Descripció de l'aplicació"
#: templates/wishlist_add.html:66
msgid "Please be concise and focus on what the app does."
msgstr "Sigues concís/a i centra't en el que fa l'aplicació."
#: 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 ""
"No cal repetir «[L'aplicació] és…». No cal indicar que és gratuït/de codi"
" obert o que és autoallotjat (en cas contrari, no s'empaquetaria per a "
"YunoHost). Eviteu coses de màrqueting com «el més» o propietats vagues "
"com «fàcil», «simple», «lleuger»."
#: templates/wishlist_add.html:68
msgid "Project code repository"
msgstr "Repositori de codi del projecte"
#: templates/wishlist_add.html:71
msgid "Link to the project's LICENSE"
msgstr "Vincle a la LLICÈNCIA del projecte (arxiu LICENSE)"
#: 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 ""
"El projecte YunoHost només empaquetarà programari gratuït/de codi obert "
"(amb possibles excepcions cas per cas per a aplicacions que no són "
"totalment gratuïtes)"
#: templates/wishlist_add.html:75
msgid "Project website"
msgstr "Web del projecte"
#: 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 ""
"Si us plau, *no* només copieu i enganxeu l'URL del dipòsit de codi. Si el"
" projecte no té un lloc web adequat, deixeu el camp buit."
#: templates/wishlist_add.html:84
msgid "Submit"
msgstr "Enviar"
#: templates/wishlist.html:3 templates/wishlist.html:8 #: templates/wishlist.html:3 templates/wishlist.html:8
msgid "Application Wishlist" msgid "Application Wishlist"
msgstr "Llista de desitjos d'aplicacions" msgstr "Llista de desitjos d'aplicacions"
#: templates/wishlist.html:10 #: templates/wishlist.html:10
msgid "" msgid ""
"The wishlist is the place where people can collectively suggest and vote for " "The wishlist is the place where people can collectively suggest and vote "
"apps that they would like to see packaged and made available in YunoHost's " "for apps that they would like to see packaged and made available in "
"official apps catalog. Nevertheless, the fact that apps are listed here " "YunoHost's official apps catalog. Nevertheless, the fact that apps are "
"should by no mean be interpreted as a fact that the YunoHost project plans " "listed here should by no mean be interpreted as a fact that the YunoHost "
"to integrate it, and is merely a source of inspiration for packaging " "project plans to integrate it, and is merely a source of inspiration for "
"volunteers." "packaging volunteers."
msgstr "" msgstr ""
"La llista de desitjos és el lloc on les persones poden suggerir i votar " "La llista de desitjos és el lloc on les persones poden suggerir i votar "
"col·lectivament les aplicacions que els agradaria veure empaquetades i " "col·lectivament les aplicacions que els agradaria veure empaquetades i "
"disponibles al catàleg oficial d'aplicacions de YunoHost. No obstant això, " "disponibles al catàleg oficial d'aplicacions de YunoHost. No obstant "
"el fet que les aplicacions s'enumeren aquí no s'ha d'interpretar de cap " "això, el fet que les aplicacions s'enumeren aquí no s'ha d'interpretar de"
"manera com un fet que el projecte YunoHost té previst integrar-lo, i és " " cap manera com un fet que el projecte YunoHost té previst integrar-lo, i"
"només una font d'inspiració per als voluntaris d'embalatge." " és només una font d'inspiració per als voluntaris d'embalatge."
#: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app"
msgstr "Suggerir una aplicació"
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "Nom"
#: templates/wishlist.html:74 #: templates/wishlist.html:74
msgid "Description" msgid "Description"
@ -464,78 +753,3 @@ msgstr "Repositori de codi"
msgid "Star this app" msgid "Star this app"
msgstr "Destaca aquesta aplicació" msgstr "Destaca aquesta aplicació"
#: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "Suggerir una aplicació per afegir al catàleg de YunoHost"
#: templates/wishlist_add.html:29
msgid "You must first login to be allowed to submit an app to the wishlist"
msgstr ""
"Primer heu d'iniciar sessió per poder enviar una aplicació a la llista de "
"desitjos"
#: templates/wishlist_add.html:40
msgid "Due to abuses, only one proposal every 15 days per user is allowed."
msgstr ""
"A causa dels abusos, només es permet una proposta cada 15 dies per usuari."
#: 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 ""
"Revisar aquestes propostes és cansador per als voluntaris, si us plau, no "
"envieu a la babalà totes les coses frikis a l'atzar que trobeu a Internet."
#: templates/wishlist_add.html:64
msgid "App's description"
msgstr "Descripció de l'aplicació"
#: templates/wishlist_add.html:66
msgid "Please be concise and focus on what the app does."
msgstr "Sigues concís/a i centra't en el que fa l'aplicació."
#: 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 ""
"No cal repetir «[L'aplicació] és…». No cal indicar que és gratuït/de codi "
"obert o que és autoallotjat (en cas contrari, no s'empaquetaria per a "
"YunoHost). Eviteu coses de màrqueting com «el més» o propietats vagues com "
"«fàcil», «simple», «lleuger»."
#: templates/wishlist_add.html:68
msgid "Project code repository"
msgstr "Repositori de codi del projecte"
#: templates/wishlist_add.html:71
msgid "Link to the project's LICENSE"
msgstr "Vincle a la LLICÈNCIA del projecte (arxiu LICENSE)"
#: 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 ""
"El projecte YunoHost només empaquetarà programari gratuït/de codi obert (amb "
"possibles excepcions cas per cas per a aplicacions que no són totalment "
"gratuïtes)"
#: templates/wishlist_add.html:75
msgid "Project website"
msgstr "Web del projecte"
#: 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 ""
"Si us plau, *no* només copieu i enganxeu l'URL del dipòsit de codi. Si el "
"projecte no té un lloc web adequat, deixeu el camp buit."
#: templates/wishlist_add.html:84
msgid "Submit"
msgstr "Enviar"

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:08+0100\n" "PO-Revision-Date: 2024-02-21 06:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: ckb <LL@li.org>\n"
"Language: ckb\n" "Language: ckb\n"
"MIME-Version: 1.0\n" "Language-Team: ckb <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:09+0100\n" "PO-Revision-Date: 2024-02-21 06:09+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: cs <LL@li.org>\n"
"Language: cs\n" "Language: cs\n"
"MIME-Version: 1.0\n" "Language-Team: cs <LL@li.org>\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" "Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:05+0100\n" "PO-Revision-Date: 2024-02-21 06:05+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: da <LL@li.org>\n"
"Language: da\n" "Language: da\n"
"MIME-Version: 1.0\n" "Language-Team: da <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,165 +7,166 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-03-23 19:04+0000\n" "PO-Revision-Date: 2024-03-23 19:04+0000\n"
"Last-Translator: OniriCorpe <oniricorpe@disroot.org>\n" "Last-Translator: OniriCorpe <oniricorpe@disroot.org>\n"
"Language-Team: German <https://translate.yunohost.org/projects/yunohost/apps/"
"de/>\n"
"Language: de\n" "Language: de\n"
"MIME-Version: 1.0\n" "Language-Team: German "
"Content-Type: text/plain; charset=UTF-8\n" "<https://translate.yunohost.org/projects/yunohost/apps/de/>\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.3.1\n" "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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "App %(app_id)s nicht gefunden" msgstr "App %(app_id)s nicht gefunden"
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "Sie müssen angemeldet sein, um eine App markieren zu können" msgstr "Sie müssen angemeldet sein, um eine App markieren zu können"
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
"Beachten Sie, dass wir aufgrund verschiedener Missbräuche die Anmeldung im " "Beachten Sie, dass wir aufgrund verschiedener Missbräuche die Anmeldung "
"App-Store auf Benutzer der „Vertrauensstufe 1“ beschränkt haben.<br/><br/" "im App-Store auf Benutzer der „Vertrauensstufe 1“ beschränkt "
">„Vertrauensstufe 1“ wird erreicht, wenn man mindestens mit dem Forum " "haben.<br/><br/>„Vertrauensstufe 1“ wird erreicht, wenn man mindestens "
"interagiert hat, spezifisch: Mindestens 5 Themen geöffnet, mindestens 30 " "mit dem Forum interagiert hat, spezifisch: Mindestens 5 Themen geöffnet, "
"Beiträge gelesen und mindestens 10 Minuten damit verbracht haben, Beiträge " "mindestens 30 Beiträge gelesen und mindestens 10 Minuten damit verbracht "
"zu lesen." "haben, Beiträge zu lesen."
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "Sie müssen angemeldet sein, um eine App auf die Wunschliste zu setzen" msgstr "Sie müssen angemeldet sein, um eine App auf die Wunschliste zu setzen"
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
"Ungültiges CSRF-Token. Bitte aktualisieren Sie die Seite und versuchen Sie " "Ungültiges CSRF-Token. Bitte aktualisieren Sie die Seite und versuchen "
"es erneut" "Sie es erneut"
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
"Das Vorschlagen von Einträgen zur Wunschliste ist auf einmal alle 15 Tage " "Das Vorschlagen von Einträgen zur Wunschliste ist auf einmal alle 15 Tage"
"pro Benutzer beschränkt. Bitte versuchen Sie es in ein paar Tagen noch " " pro Benutzer beschränkt. Bitte versuchen Sie es in ein paar Tagen noch "
"einmal." "einmal."
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "Der App-Name sollte mindestens 3 Zeichen lang sein" msgstr "Der App-Name sollte mindestens 3 Zeichen lang sein"
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "Der App-Name sollte weniger als 30 Zeichen lang sein" msgstr "Der App-Name sollte weniger als 30 Zeichen lang sein"
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "Die App-Beschreibung sollte mindestens 5 Zeichen lang sein" msgstr "Die App-Beschreibung sollte mindestens 5 Zeichen lang sein"
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "Die App-Beschreibung sollte weniger als 100 Zeichen umfassen" msgstr "Die App-Beschreibung sollte weniger als 100 Zeichen umfassen"
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr "Die Upstream-Code-Repository-URL sollte mindestens 10 Zeichen lang sein"
"Die Upstream-Code-Repository-URL sollte mindestens 10 Zeichen lang sein"
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr "Die Upstream-Code-Repository-URL sollte weniger als 150 Zeichen lang sein"
"Die Upstream-Code-Repository-URL sollte weniger als 150 Zeichen lang sein"
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "Die Lizenz-URL sollte mindestens 10 Zeichen lang sein" msgstr "Die Lizenz-URL sollte mindestens 10 Zeichen lang sein"
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "Die Lizenz-URL sollte weniger als 250 Zeichen lang sein" msgstr "Die Lizenz-URL sollte weniger als 250 Zeichen lang sein"
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "Die Website-URL sollte weniger als 150 Zeichen lang sein" msgstr "Die Website-URL sollte weniger als 150 Zeichen lang sein"
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "Der App-Name enthält Sonderzeichen" msgstr "Der App-Name enthält Sonderzeichen"
#: app.py:293
msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or "
"repeating that the app is 'free' and 'self-hostable'."
msgstr ""
"Konzentrieren Sie sich bitte darauf, was die App tut, ohne Marketing oder "
"unpräzise Begriffe zu verwenden oder zu wiederholen, dass die App 'frei' und "
"'selbsthostbar' ist."
#: app.py:303 #: app.py:303
msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, "
"or repeating that the app is 'free' and 'self-hostable'."
msgstr ""
"Konzentrieren Sie sich bitte darauf, was die App tut, ohne Marketing oder"
" unpräzise Begriffe zu verwenden oder zu wiederholen, dass die App 'frei'"
" und 'selbsthostbar' ist."
#: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
"Bitte wiederholen Sie den Namen der Anwendung nicht. Es geht darum, was die " "Bitte wiederholen Sie den Namen der Anwendung nicht. Es geht darum, was "
"App tut." "die App tut."
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
"In der Wunschliste ist bereits ein Eintrag mit dem Namen %(slug)s vorhanden. " "In der Wunschliste ist bereits ein Eintrag mit dem Namen %(slug)s "
"Sie können stattdessen der App <a href='%(url)s'>einen Stern hinzufügen</a>, " "vorhanden. Sie können stattdessen der App <a href='%(url)s'>einen Stern "
"um Ihr Interesse zu zeigen." "hinzufügen</a>, um Ihr Interesse zu zeigen."
#: app.py:348 # | msgid ""
# | "An entry with the name %(slug)s already exists in the wishlist, instead,
# "
# | "you can <a href='%(url)s'>add a star to the app to show your
# interest</a>."
#: app.py:358
#, fuzzy, python-format #, fuzzy, python-format
#| msgid ""
#| "An entry with the name %(slug)s already exists in the wishlist, instead, "
#| "you can <a href='%(url)s'>add a star to the app to show your interest</a>."
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
"In der Wunschliste ist bereits ein Eintrag mit dem Namen %(slug)s vorhanden. " "In der Wunschliste ist bereits ein Eintrag mit dem Namen %(slug)s "
"Sie können stattdessen der App <a href='%(url)s'>einen Stern hinzufügen</a>, " "vorhanden. Sie können stattdessen der App <a href='%(url)s'>einen Stern "
"um Ihr Interesse zu zeigen." "hinzufügen</a>, um Ihr Interesse zu zeigen."
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
"there's already <a href='%(url)s'>a waiting PR for this app</a>? Else, " "there's already <a href='%(url)s'>a waiting PR for this app</a>? Else, "
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
"Pull-Request zum Hinzufügen der App zur Wunschliste konnte nicht erstellt " "Pull-Request zum Hinzufügen der App zur Wunschliste konnte nicht erstellt"
"werden… Vielleicht gibt es bereits <a href='%(url)s'>einen wartenden PR für " " werden… Vielleicht gibt es bereits <a href='%(url)s'>einen wartenden PR "
"diese App</a>? Andernfalls melden Sie das Problem bitte dem YunoHost-Team." "für diese App</a>? Andernfalls melden Sie das Problem bitte dem YunoHost-"
"Team."
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
"Ihre vorgeschlagene App wurde erfolgreich eingereicht. Sie muss nun vom " "Ihre vorgeschlagene App wurde erfolgreich eingereicht. Sie muss nun vom "
"YunoHost-Team validiert werden. Sie können den Fortschritt hier verfolgen: " "YunoHost-Team validiert werden. Sie können den Fortschritt hier "
"<a href='%(url)s'>%(url)s</a>" "verfolgen: <a href='%(url)s'>%(url)s</a>"
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "Leider wurde die Anmeldung verweigert." msgstr "Leider wurde die Anmeldung verweigert."
@ -180,8 +181,8 @@ msgid ""
"This app is currently flagged as broken because it failed our automatic " "This app is currently flagged as broken because it failed our automatic "
"tests." "tests."
msgstr "" msgstr ""
"Diese App ist derzeit als defekt gekennzeichnet, da sie unsere automatischen " "Diese App ist derzeit als defekt gekennzeichnet, da sie unsere "
"Tests nicht bestanden hat." "automatischen Tests nicht bestanden hat."
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41 #: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170 #: templates/catalog.html:42 templates/catalog.html:170
@ -189,8 +190,8 @@ msgid ""
"This is usually a temporary situation which requires packagers to fix " "This is usually a temporary situation which requires packagers to fix "
"something in the app." "something in the app."
msgstr "" msgstr ""
"Dies ist in der Regel eine vorübergehende Situation, die von den Paketierer:" "Dies ist in der Regel eine vorübergehende Situation, die von den "
"innen erfordert, etwas in der App zu reparieren." "Paketierer:innen erfordert, etwas in der App zu reparieren."
#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46 #: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
#: templates/catalog.html:47 #: templates/catalog.html:47
@ -198,8 +199,8 @@ msgid ""
"This app has been good quality according to our automatic tests over at " "This app has been good quality according to our automatic tests over at "
"least one year." "least one year."
msgstr "" msgstr ""
"Diese App weist laut unseren automatischen Tests seit mindestens einem Jahr " "Diese App weist laut unseren automatischen Tests seit mindestens einem "
"eine gute Qualität auf." "Jahr eine gute Qualität auf."
#: templates/app.html:81 #: templates/app.html:81
msgid "Try the demo" msgid "Try the demo"
@ -230,8 +231,7 @@ msgstr "Screenshot für %(app)s"
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
"Diese App ist ausschliesslich mit diesen spezifischen Architekturen " "Diese App ist ausschliesslich mit diesen spezifischen Architekturen "
"kompatibel: %(archs)s" "kompatibel: %(archs)s"
@ -247,16 +247,17 @@ msgstr ""
msgid "Important infos before installing" msgid "Important infos before installing"
msgstr "Wichtige Informationen vor der Installation" msgstr "Wichtige Informationen vor der Installation"
# | msgid "Anti-features"
#: templates/app.html:124 #: templates/app.html:124
#, fuzzy #, fuzzy
#| msgid "Anti-features"
msgid "Antifeatures" msgid "Antifeatures"
msgstr "Anti-Funktionen" msgstr "Anti-Funktionen"
#: templates/app.html:125 #: templates/app.html:125
msgid "(This app has features you may not like)" msgid "(This app has features you may not like)"
msgstr "" msgstr ""
"(Diese App verfügt über Funktionen, die Ihnen möglicherweise nicht gefallen)" "(Diese App verfügt über Funktionen, die Ihnen möglicherweise nicht "
"gefallen)"
#: templates/app.html:136 #: templates/app.html:136
msgid "Useful links" msgid "Useful links"
@ -291,54 +292,68 @@ msgstr "YunoHost Paket-Repository"
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "YunoHost Paket-Lizenz" msgstr "YunoHost Paket-Lizenz"
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "YunoHost App-Store" msgstr "YunoHost App-Store"
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "Home" msgstr "Home"
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "Katalog" msgstr "Katalog"
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "Wunschliste" msgstr "Wunschliste"
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "YunoHost-Dokumentation" msgstr "YunoHost-Dokumentation"
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "Login über YunoHost-Forum" msgstr "Login über YunoHost-Forum"
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "Ausloggen" msgstr "Ausloggen"
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "Menu umschalten" msgstr "Menu umschalten"
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
"Hergestellt mit <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> " "Hergestellt mit <i class='text-red-500 fa fa-heart-o' aria-"
"mit Hilfe von <a class='text-blue-800' href='https://flask.palletsprojects." "label='love'></i> mit Hilfe von <a class='text-blue-800' "
"com'>Flask</a> und <a class='text-blue-800' href='https://tailwindcss." "href='https://flask.palletsprojects.com'>Flask</a> und <a class='text-"
"com/'>TailwindCSS</a>" "blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "Quelle" msgstr "Quelle"
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "Nutzungsbedingungen" msgstr "Nutzungsbedingungen"
@ -358,7 +373,7 @@ msgstr "Suchen nach…"
msgid "All apps" msgid "All apps"
msgstr "Alle Apps" msgstr "Alle Apps"
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "Sortieren nach" msgstr "Sortieren nach"
@ -371,16 +386,16 @@ msgstr "Popularität"
msgid "Newest" msgid "Newest"
msgstr "Neueste" msgstr "Neueste"
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "Alphabetisch" msgstr "Alphabetisch"
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "Erfordert eingeloggt zu sein" msgstr "Erfordert eingeloggt zu sein"
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "Zeige nur meine Favoriten" msgstr "Zeige nur meine Favoriten"
@ -414,12 +429,212 @@ msgstr "Dies sind Apps, die nicht mehr betreut werden."
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
"Das bedeutet, dass der/die Entwickler:in sie nicht mehr aktualisieren "
"wird. Wir raten dringend von deren Installation ab und empfehlen "
"Benutzer:innen, nach Alternativen zu suchen."
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
#, fuzzy
msgid "Popularity stars"
msgstr "Popularität"
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
#, fuzzy
msgid "Deprecated"
msgstr "Veraltete Applikationen"
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
"Das bedeutet, dass der/die Entwickler:in sie nicht mehr aktualisieren wird. "
"Wir raten dringend von deren Installation ab und empfehlen Benutzer:innen, "
"nach Alternativen zu suchen."
#: templates/index.html:10 #: templates/index.html:10
msgid "Application Store" msgid "Application Store"
@ -429,33 +644,117 @@ msgstr "Applikations-Store"
msgid "Browse all applications" msgid "Browse all applications"
msgstr "Alle Applikationen" msgstr "Alle Applikationen"
#: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app"
msgstr "Eine App vorschlagen"
#: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog"
msgstr ""
"Schlagen Sie eine Applikation vor, die zum YunoHost-Katalog hinzugefügt "
"werden soll"
#: templates/wishlist_add.html:29
msgid "You must first login to be allowed to submit an app to the wishlist"
msgstr ""
"Um eine App auf die Wunschliste setzen zu können, müssen Sie sich zuerst "
"einloggen"
#: templates/wishlist_add.html:40
msgid "Due to abuses, only one proposal every 15 days per user is allowed."
msgstr ""
"Aufgrund von Missbräuchen ist nur ein Vorschlag alle 15 Tage pro Benutzer"
" zulässig."
#: 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 ""
"Die Prüfung dieser Vorschläge ist für Freiwillige ermüdend. Bitte "
"verschicken Sie nicht jedes beliebige nerdige Zeug, das Sie im Internet "
"finden."
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "Name"
#: templates/wishlist_add.html:64
msgid "App's description"
msgstr "App Beschreibung"
#: templates/wishlist_add.html:66
msgid "Please be concise and focus on what the app does."
msgstr ""
"Seien Sie bitte prägnant und konzentrieren Sie sich auf die Funktion der "
"App."
#: 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 ""
"Es ist nicht nötig, '[App] ist…' zu wiederholen. Es muss nicht angegeben "
"werden, dass sie kostenlos/Open-Source oder selbst gehostet ist "
"(andernfalls wäre es nicht für YunoHost paketiert). Vermeiden Sie es, "
"Dinge zu vermarkten mit 'am meisten' oder vage Eigenschaften wie "
"'einfach', 'simpel', 'leicht'."
#: templates/wishlist_add.html:68
msgid "Project code repository"
msgstr "Projekt-Code-Repository"
#: templates/wishlist_add.html:71
msgid "Link to the project's LICENSE"
msgstr "Link zur LIZENZ des Projekts"
#: 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 ""
"Das YunoHost-Projekt paketiert nur kostenlose/Open-Source-Software (mit "
"möglichen Ausnahmen von Fall zu Fall für Apps, die nicht völlig frei "
"sind)"
#: templates/wishlist_add.html:75
msgid "Project website"
msgstr "Projekt-Website"
#: 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 ""
"Bitte *nicht* einfach die Code-Repository-URL kopieren und einfügen. Wenn"
" das Projekt keine richtige Website hat, lassen Sie das Feld leer."
#: templates/wishlist_add.html:84
msgid "Submit"
msgstr "Einreichen"
#: templates/wishlist.html:3 templates/wishlist.html:8 #: templates/wishlist.html:3 templates/wishlist.html:8
msgid "Application Wishlist" msgid "Application Wishlist"
msgstr "Wunschliste für Applikationen" msgstr "Wunschliste für Applikationen"
#: templates/wishlist.html:10 #: templates/wishlist.html:10
msgid "" msgid ""
"The wishlist is the place where people can collectively suggest and vote for " "The wishlist is the place where people can collectively suggest and vote "
"apps that they would like to see packaged and made available in YunoHost's " "for apps that they would like to see packaged and made available in "
"official apps catalog. Nevertheless, the fact that apps are listed here " "YunoHost's official apps catalog. Nevertheless, the fact that apps are "
"should by no mean be interpreted as a fact that the YunoHost project plans " "listed here should by no mean be interpreted as a fact that the YunoHost "
"to integrate it, and is merely a source of inspiration for packaging " "project plans to integrate it, and is merely a source of inspiration for "
"volunteers." "packaging volunteers."
msgstr "" msgstr ""
"Die Wunschliste ist der Ort, an dem Menschen gemeinsam Apps, die ihrer " "Die Wunschliste ist der Ort, an dem Menschen gemeinsam Apps, die ihrer "
"Meinung nach paketiert und im offiziellen App-Katalog von YunoHost verfügbar " "Meinung nach paketiert und im offiziellen App-Katalog von YunoHost "
"gemacht werden sollen, vorschlagen und für sie stimmen können. Trotzdem ist " "verfügbar gemacht werden sollen, vorschlagen und für sie stimmen können. "
"die Tatsache, dass Apps hier aufgeführt sind, keineswegs so zu " "Trotzdem ist die Tatsache, dass Apps hier aufgeführt sind, keineswegs so "
"interpretieren, dass das YunoHost-Projekt eine Integration plant, sondern " "zu interpretieren, dass das YunoHost-Projekt eine Integration plant, "
"lediglich eine Inspirationsquelle für ehrenamtliche Paketierer:innen." "sondern lediglich eine Inspirationsquelle für ehrenamtliche "
"Paketierer:innen."
#: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app"
msgstr "Eine App vorschlagen"
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "Name"
#: templates/wishlist.html:74 #: templates/wishlist.html:74
msgid "Description" msgid "Description"
@ -473,82 +772,3 @@ msgstr "Code-Repository"
msgid "Star this app" msgid "Star this app"
msgstr "Dieser App einen Stern geben" msgstr "Dieser App einen Stern geben"
#: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog"
msgstr ""
"Schlagen Sie eine Applikation vor, die zum YunoHost-Katalog hinzugefügt "
"werden soll"
#: templates/wishlist_add.html:29
msgid "You must first login to be allowed to submit an app to the wishlist"
msgstr ""
"Um eine App auf die Wunschliste setzen zu können, müssen Sie sich zuerst "
"einloggen"
#: templates/wishlist_add.html:40
msgid "Due to abuses, only one proposal every 15 days per user is allowed."
msgstr ""
"Aufgrund von Missbräuchen ist nur ein Vorschlag alle 15 Tage pro Benutzer "
"zulässig."
#: 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 ""
"Die Prüfung dieser Vorschläge ist für Freiwillige ermüdend. Bitte "
"verschicken Sie nicht jedes beliebige nerdige Zeug, das Sie im Internet "
"finden."
#: templates/wishlist_add.html:64
msgid "App's description"
msgstr "App Beschreibung"
#: templates/wishlist_add.html:66
msgid "Please be concise and focus on what the app does."
msgstr ""
"Seien Sie bitte prägnant und konzentrieren Sie sich auf die Funktion der App."
#: 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 ""
"Es ist nicht nötig, '[App] ist…' zu wiederholen. Es muss nicht angegeben "
"werden, dass sie kostenlos/Open-Source oder selbst gehostet ist (andernfalls "
"wäre es nicht für YunoHost paketiert). Vermeiden Sie es, Dinge zu vermarkten "
"mit 'am meisten' oder vage Eigenschaften wie 'einfach', 'simpel', 'leicht'."
#: templates/wishlist_add.html:68
msgid "Project code repository"
msgstr "Projekt-Code-Repository"
#: templates/wishlist_add.html:71
msgid "Link to the project's LICENSE"
msgstr "Link zur LIZENZ des Projekts"
#: 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 ""
"Das YunoHost-Projekt paketiert nur kostenlose/Open-Source-Software (mit "
"möglichen Ausnahmen von Fall zu Fall für Apps, die nicht völlig frei sind)"
#: templates/wishlist_add.html:75
msgid "Project website"
msgstr "Projekt-Website"
#: 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 ""
"Bitte *nicht* einfach die Code-Repository-URL kopieren und einfügen. Wenn "
"das Projekt keine richtige Website hat, lassen Sie das Feld leer."
#: templates/wishlist_add.html:84
msgid "Submit"
msgstr "Einreichen"

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:06+0100\n" "PO-Revision-Date: 2024-02-21 06:06+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: el <LL@li.org>\n"
"Language: el\n" "Language: el\n"
"MIME-Version: 1.0\n" "Language-Team: el <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:06+0100\n" "PO-Revision-Date: 2024-02-21 06:06+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: eo <LL@li.org>\n"
"Language: eo\n" "Language: eo\n"
"MIME-Version: 1.0\n" "Language-Team: eo <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,116 +7,116 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-03-23 00:54+0000\n" "PO-Revision-Date: 2024-03-23 00:54+0000\n"
"Last-Translator: OniriCorpe <oniricorpe@disroot.org>\n" "Last-Translator: OniriCorpe <oniricorpe@disroot.org>\n"
"Language-Team: Spanish <https://translate.yunohost.org/projects/yunohost/"
"apps/es/>\n"
"Language: es\n" "Language: es\n"
"MIME-Version: 1.0\n" "Language-Team: Spanish "
"Content-Type: text/plain; charset=UTF-8\n" "<https://translate.yunohost.org/projects/yunohost/apps/es/>\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.3.1\n" "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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "App %(app_id)s no encontrada" msgstr "App %(app_id)s no encontrada"
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -124,15 +124,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -191,8 +191,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -245,50 +244,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -308,7 +321,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -321,16 +334,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -364,8 +377,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -376,44 +587,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -428,8 +605,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -442,10 +623,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -468,10 +649,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,127 +7,126 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-03-23 13:39+0000\n" "PO-Revision-Date: 2024-03-23 13:39+0000\n"
"Last-Translator: xabirequejo <xabi.rn@gmail.com>\n" "Last-Translator: xabirequejo <xabi.rn@gmail.com>\n"
"Language-Team: Basque <https://translate.yunohost.org/projects/yunohost/apps/"
"eu/>\n"
"Language: eu\n" "Language: eu\n"
"MIME-Version: 1.0\n" "Language-Team: Basque "
"Content-Type: text/plain; charset=UTF-8\n" "<https://translate.yunohost.org/projects/yunohost/apps/eu/>\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.3.1\n" "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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "Ez da %(app_id)s aplikazioa aurkitu" msgstr "Ez da %(app_id)s aplikazioa aurkitu"
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "Saioa hasi behar duzu aplikazioei izarra jarri ahal izateko" msgstr "Saioa hasi behar duzu aplikazioei izarra jarri ahal izateko"
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
"Izan kontuan, gehiegikeriak ekiditeko, saioa hasteko aukera ezgaitu dugula " "Izan kontuan, gehiegikeriak ekiditeko, saioa hasteko aukera ezgaitu "
"'fidagarritasun 1 maila' duten erabiltzaileei.<br/><br/>'Fidagarritasun 1 " "dugula 'fidagarritasun 1 maila' duten "
"maila' lortzeko foroan gutxieneko partehartzea izan behar da eta, zehazki: " "erabiltzaileei.<br/><br/>'Fidagarritasun 1 maila' lortzeko foroan "
"bost gai sartu, 30 publikazio irakurri gutxienez, eta publikazioak " "gutxieneko partehartzea izan behar da eta, zehazki: bost gai sartu, 30 "
"irakurtzen 10 minutu gutxienez ematen." "publikazio irakurri gutxienez, eta publikazioak irakurtzen 10 minutu "
"gutxienez ematen."
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "Saioa hasi behar duzu deria-zerrendan aplikazio bat gehitzeko" msgstr "Saioa hasi behar duzu deria-zerrendan aplikazio bat gehitzeko"
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "CSRF token baliogabea; freskatu orrialdea eta saiatu berriro" msgstr "CSRF token baliogabea; freskatu orrialdea eta saiatu berriro"
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
"Desira-zerrendan gehitzeko proposamenak mugatuta daude eta erabiltzaile " "Desira-zerrendan gehitzeko proposamenak mugatuta daude eta erabiltzaile "
"bakoitzak aplikazio bat proposa dezake hamabostean behin. Saiatu egun batzuk " "bakoitzak aplikazio bat proposa dezake hamabostean behin. Saiatu egun "
"barru." "batzuk barru."
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "Aplikazioaren izenak hiru karaktere izan behar ditu gutxienez" msgstr "Aplikazioaren izenak hiru karaktere izan behar ditu gutxienez"
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "Aplikazioaren izenak 30 karaktere izan ditzazke gehienez" msgstr "Aplikazioaren izenak 30 karaktere izan ditzazke gehienez"
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "Aplikazioaren deskribapenak bost karaktere izan behar ditu gutxienez" msgstr "Aplikazioaren deskribapenak bost karaktere izan behar ditu gutxienez"
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "Aplikazioaren deskribapenak 100 karaktere izan ditzazke gehienez" msgstr "Aplikazioaren deskribapenak 100 karaktere izan ditzazke gehienez"
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr "Jatorrizko kode-gordailuaren URLak 10 karaktere izan behar ditu gutxienez"
"Jatorrizko kode-gordailuaren URLak 10 karaktere izan behar ditu gutxienez"
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr "Jatorrizko kode-gordailuaren URLak 150 karaktere izan ditzazke gehienez"
"Jatorrizko kode-gordailuaren URLak 150 karaktere izan ditzazke gehienez"
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "Lizentziaren URLak 10 karaktere izan behar ditu gutxienez" msgstr "Lizentziaren URLak 10 karaktere izan behar ditu gutxienez"
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "Lizentziaren URLak 250 karaktere izan ditzazke gehienez" msgstr "Lizentziaren URLak 250 karaktere izan ditzazke gehienez"
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "Webgunearen URLak 150 karaktere izan ditzazke gehienez" msgstr "Webgunearen URLak 150 karaktere izan ditzazke gehienez"
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "Aplikazioaren izenak karaktere bereziak dauzka" msgstr "Aplikazioaren izenak karaktere bereziak dauzka"
#: app.py:293
msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or "
"repeating that the app is 'free' and 'self-hostable'."
msgstr ""
"Azpimarratu aplikazioak zer egiten duen, marketin edo hitz lausoak erabili "
"gabe, eta ez errepikatu aplikazioa \"librea\" eta \"norberak ostatatzekoa\" "
"dela."
#: app.py:303 #: app.py:303
msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, "
"or repeating that the app is 'free' and 'self-hostable'."
msgstr ""
"Azpimarratu aplikazioak zer egiten duen, marketin edo hitz lausoak "
"erabili gabe, eta ez errepikatu aplikazioa \"librea\" eta \"norberak "
"ostatatzekoa\" dela."
#: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
"Ez dago aplikazioaren izena errepikatu beharrik. Azpimarratu aplikazioak zer " "Ez dago aplikazioaren izena errepikatu beharrik. Azpimarratu aplikazioak "
"egiten duen." "zer egiten duen."
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
"Lehendik ere dago %(slug)s izena duen sarrera bat desira-zerrendan. Berriro " "Lehendik ere dago %(slug)s izena duen sarrera bat desira-zerrendan. "
"gehitu ordez, <a href='%(url)s'>jarri izar bat aplikazioari zure interesa " "Berriro gehitu ordez, <a href='%(url)s'>jarri izar bat aplikazioari zure "
"erakusteko</a>." "interesa erakusteko</a>."
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
@ -136,29 +135,29 @@ msgstr ""
"Lehendik ere dago %(slug)s izena duen aplikazioa katalogoan, <a " "Lehendik ere dago %(slug)s izena duen aplikazioa katalogoan, <a "
"href='%(url)s'>hemen ikus dezakezu</a>." "href='%(url)s'>hemen ikus dezakezu</a>."
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
"there's already <a href='%(url)s'>a waiting PR for this app</a>? Else, " "there's already <a href='%(url)s'>a waiting PR for this app</a>? Else, "
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
"Aplikazioa desira-zerrendan gehitzeko eskariak huts egin du… Agian eskaera " "Aplikazioa desira-zerrendan gehitzeko eskariak huts egin du… Agian "
"lehendik ere <a href='%(url)s'>egina dago onespenaren zain</a>? Bestela " "eskaera lehendik ere <a href='%(url)s'>egina dago onespenaren zain</a>? "
"jakinarazi arazoa YunoHost taldeari." "Bestela jakinarazi arazoa YunoHost taldeari."
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
"Proposatutako aplikazioa behar bezala bidali da. YunoHosten taldeak " "Proposatutako aplikazioa behar bezala bidali da. YunoHosten taldeak "
"baliozkotu behar du orain. Egoera hemen ikusi dezakezu: <a href='%(url)s'>" "baliozkotu behar du orain. Egoera hemen ikusi dezakezu: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "Zoritxarrez saio hasiera ukatu da." msgstr "Zoritxarrez saio hasiera ukatu da."
@ -173,7 +172,8 @@ msgid ""
"This app is currently flagged as broken because it failed our automatic " "This app is currently flagged as broken because it failed our automatic "
"tests." "tests."
msgstr "" msgstr ""
"Aplikazioa ez dabilela ageri da ez dituelako gure test automatikoak gainditu." "Aplikazioa ez dabilela ageri da ez dituelako gure test automatikoak "
"gainditu."
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41 #: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170 #: templates/catalog.html:42 templates/catalog.html:170
@ -190,8 +190,8 @@ msgid ""
"This app has been good quality according to our automatic tests over at " "This app has been good quality according to our automatic tests over at "
"least one year." "least one year."
msgstr "" msgstr ""
"Aplikazio hau kalitate onekoa dela ageri da gure test automatikoak gutxienez " "Aplikazio hau kalitate onekoa dela ageri da gure test automatikoak "
"urtebetez gainditu dituelako." "gutxienez urtebetez gainditu dituelako."
#: templates/app.html:81 #: templates/app.html:81
msgid "Try the demo" msgid "Try the demo"
@ -222,8 +222,7 @@ msgstr "%(app)s(r)en pantaila-argazkia"
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "Aplikazio hau honako akitekturekin soilik da bateragarria: %(archs)s" msgstr "Aplikazio hau honako akitekturekin soilik da bateragarria: %(archs)s"
#: templates/app.html:112 #: templates/app.html:112
@ -235,9 +234,9 @@ msgstr "Aplikazio honek ezohiko RAM kopurua behar du instalatzeko: %(ram)s"
msgid "Important infos before installing" msgid "Important infos before installing"
msgstr "Informazio garrantzitsua instalatu baino lehen" msgstr "Informazio garrantzitsua instalatu baino lehen"
# | msgid "Anti-features"
#: templates/app.html:124 #: templates/app.html:124
#, fuzzy #, fuzzy
#| msgid "Anti-features"
msgid "Antifeatures" msgid "Antifeatures"
msgstr "Ezaugarri zalantzagarriak" msgstr "Ezaugarri zalantzagarriak"
@ -278,54 +277,68 @@ msgstr "Yunohost paketearen-gordailua"
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "YunoHost paketearen lizentzia" msgstr "YunoHost paketearen lizentzia"
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "YunoHost aplikazio denda" msgstr "YunoHost aplikazio denda"
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "Hasiera" msgstr "Hasiera"
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "Katalogoa" msgstr "Katalogoa"
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "Desira-zerrenda" msgstr "Desira-zerrenda"
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "YunoHost dokumentazioa" msgstr "YunoHost dokumentazioa"
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "Hasi saioa YunoHosten foroa erabiliz" msgstr "Hasi saioa YunoHosten foroa erabiliz"
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "Amaitu saioa" msgstr "Amaitu saioa"
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "Menua bai/ez" msgstr "Menua bai/ez"
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
"<i class='text-red-500 fa fa-heart-o' aria-label='Maitasun'></i>ez egina <a " "<i class='text-red-500 fa fa-heart-o' aria-label='Maitasun'></i>ez egina "
"class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> eta " "<a class='text-blue-800' "
"<a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a> " "href='https://flask.palletsprojects.com'>Flask</a> eta <a class='text-"
"erabiliz" "blue-800' href='https://tailwindcss.com/'>TailwindCSS</a> erabiliz"
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "Iturburua" msgstr "Iturburua"
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "Zerbitzuen baldintzak" msgstr "Zerbitzuen baldintzak"
@ -345,7 +358,7 @@ msgstr "Bilatu…"
msgid "All apps" msgid "All apps"
msgstr "Aplikazio guztiak" msgstr "Aplikazio guztiak"
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "Ordenatu…" msgstr "Ordenatu…"
@ -358,16 +371,16 @@ msgstr "Ospea"
msgid "Newest" msgid "Newest"
msgstr "Berritasuna" msgstr "Berritasuna"
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "Alfabetikoa" msgstr "Alfabetikoa"
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "Saioa hasita izan behar da" msgstr "Saioa hasita izan behar da"
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "Erakutsi izarra jarritako aplikazioak soilik" msgstr "Erakutsi izarra jarritako aplikazioak soilik"
@ -401,11 +414,211 @@ msgstr "Aplikazio hauek ez dute mantenduko dituenik."
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
"Honek esan nahi du garatzaileek ez dituztela aurrerantzean eguneratuko. "
"Gure gomendioa ez instalatzea eta beraien ordez alternatibak bilatzea da."
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
#, fuzzy
msgid "Popularity stars"
msgstr "Ospea"
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
#, fuzzy
msgid "Deprecated"
msgstr "Utzitako aplikazioak"
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
"Honek esan nahi du garatzaileek ez dituztela aurrerantzean eguneratuko. Gure "
"gomendioa ez instalatzea eta beraien ordez alternatibak bilatzea da."
#: templates/index.html:10 #: templates/index.html:10
msgid "Application Store" msgid "Application Store"
@ -415,33 +628,108 @@ msgstr "Aplikazio denda"
msgid "Browse all applications" msgid "Browse all applications"
msgstr "Arakatu aplikazio guztiak" msgstr "Arakatu aplikazio guztiak"
#: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app"
msgstr "Iradoki aplikazio bat"
#: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "Iradoki YunoHosten katalogoan gehitzeko aplikazio bat"
#: templates/wishlist_add.html:29
msgid "You must first login to be allowed to submit an app to the wishlist"
msgstr "Desira-zerrendan aplikazio bat gehitzeko saioa hasi behar duzu"
#: templates/wishlist_add.html:40
msgid "Due to abuses, only one proposal every 15 days per user is allowed."
msgstr ""
"Gehiegikeriak ekiditeko, erabiltzaile bakoitzak proposamen bat egin "
"dezake 15 egunean behin."
#: 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 ""
"Proposamenak aztertzea nekagarria da boluntarioentzat; ez bidali "
"interneten ikusten duzun nerd software bakoitza."
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "Izena"
#: templates/wishlist_add.html:64
msgid "App's description"
msgstr "Aplikazioaren deskribapena"
#: templates/wishlist_add.html:66
msgid "Please be concise and focus on what the app does."
msgstr "Labur eta aplikazioak egiten duenean azpimarra jarriz."
#: 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 ""
"Ez dago zertan '[Aplikazioa]… da'- Ez dago zertan aipatu librea/kode "
"irekikoa edo norberak ostatzekoa dela (bestela ez litzateke "
"YunoHostentzat paketatuko). Ekidin marketin terminoak eta 'erraz', "
"'xume', 'arin', 'onena' bezalako orokortasunak."
#: templates/wishlist_add.html:68
msgid "Project code repository"
msgstr "Proiektuaren kode-gordailua"
#: templates/wishlist_add.html:71
msgid "Link to the project's LICENSE"
msgstr "Proiektuaren LIZENTZIAra esteka"
#: 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 ""
"YunoHost proiektuak aplikazio libre/kode-irekiko softwarea soilik "
"paketatuko du (salbuespenak egon litezke erabat libre ez diren "
"aplikazioekin)"
#: templates/wishlist_add.html:75
msgid "Project website"
msgstr "Proiektuaren webgunea"
#: 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 ""
"*Ez* kopiatu-itsatsi kode-gordailuaren URLa. Proiektuak benetako "
"webgunerik ez badu, utzi eremua hutsik."
#: templates/wishlist_add.html:84
msgid "Submit"
msgstr "Bidali"
#: templates/wishlist.html:3 templates/wishlist.html:8 #: templates/wishlist.html:3 templates/wishlist.html:8
msgid "Application Wishlist" msgid "Application Wishlist"
msgstr "Aplikazioen desira-zerrenda" msgstr "Aplikazioen desira-zerrenda"
#: templates/wishlist.html:10 #: templates/wishlist.html:10
msgid "" msgid ""
"The wishlist is the place where people can collectively suggest and vote for " "The wishlist is the place where people can collectively suggest and vote "
"apps that they would like to see packaged and made available in YunoHost's " "for apps that they would like to see packaged and made available in "
"official apps catalog. Nevertheless, the fact that apps are listed here " "YunoHost's official apps catalog. Nevertheless, the fact that apps are "
"should by no mean be interpreted as a fact that the YunoHost project plans " "listed here should by no mean be interpreted as a fact that the YunoHost "
"to integrate it, and is merely a source of inspiration for packaging " "project plans to integrate it, and is merely a source of inspiration for "
"volunteers." "packaging volunteers."
msgstr "" msgstr ""
"Desira-zerrenda jendeak, kolektiboki, aplikazioak iradoki eta bozkatu " "Desira-zerrenda jendeak, kolektiboki, aplikazioak iradoki eta bozkatu "
"ditzakeen tokia da, YunoHosten aplikazioen catalogo ofizialean ikustea " "ditzakeen tokia da, YunoHosten aplikazioen catalogo ofizialean ikustea "
"gustatuko litzaizkiekeenak. Hala ere, zerrendan ageri arren, ez da pentsatu " "gustatuko litzaizkiekeenak. Hala ere, zerrendan ageri arren, ez da "
"behar YunoHostek barneratzeko asmorik duenik; pakete-arduradun " "pentsatu behar YunoHostek barneratzeko asmorik duenik; pakete-arduradun "
"boluntarioentzako inspirazio iturri gisa ulertu behar da." "boluntarioentzako inspirazio iturri gisa ulertu behar da."
#: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app"
msgstr "Iradoki aplikazio bat"
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "Izena"
#: templates/wishlist.html:74 #: templates/wishlist.html:74
msgid "Description" msgid "Description"
msgstr "Deskribapena" msgstr "Deskribapena"
@ -458,76 +746,3 @@ msgstr "Kode-gordailua"
msgid "Star this app" msgid "Star this app"
msgstr "Jarri izarra aplikazioari" msgstr "Jarri izarra aplikazioari"
#: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "Iradoki YunoHosten katalogoan gehitzeko aplikazio bat"
#: templates/wishlist_add.html:29
msgid "You must first login to be allowed to submit an app to the wishlist"
msgstr "Desira-zerrendan aplikazio bat gehitzeko saioa hasi behar duzu"
#: templates/wishlist_add.html:40
msgid "Due to abuses, only one proposal every 15 days per user is allowed."
msgstr ""
"Gehiegikeriak ekiditeko, erabiltzaile bakoitzak proposamen bat egin dezake "
"15 egunean behin."
#: 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 ""
"Proposamenak aztertzea nekagarria da boluntarioentzat; ez bidali interneten "
"ikusten duzun nerd software bakoitza."
#: templates/wishlist_add.html:64
msgid "App's description"
msgstr "Aplikazioaren deskribapena"
#: templates/wishlist_add.html:66
msgid "Please be concise and focus on what the app does."
msgstr "Labur eta aplikazioak egiten duenean azpimarra jarriz."
#: 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 ""
"Ez dago zertan '[Aplikazioa]… da'- Ez dago zertan aipatu librea/kode "
"irekikoa edo norberak ostatzekoa dela (bestela ez litzateke YunoHostentzat "
"paketatuko). Ekidin marketin terminoak eta 'erraz', 'xume', 'arin', 'onena' "
"bezalako orokortasunak."
#: templates/wishlist_add.html:68
msgid "Project code repository"
msgstr "Proiektuaren kode-gordailua"
#: templates/wishlist_add.html:71
msgid "Link to the project's LICENSE"
msgstr "Proiektuaren LIZENTZIAra esteka"
#: 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 ""
"YunoHost proiektuak aplikazio libre/kode-irekiko softwarea soilik paketatuko "
"du (salbuespenak egon litezke erabat libre ez diren aplikazioekin)"
#: templates/wishlist_add.html:75
msgid "Project website"
msgstr "Proiektuaren webgunea"
#: 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 ""
"*Ez* kopiatu-itsatsi kode-gordailuaren URLa. Proiektuak benetako webgunerik "
"ez badu, utzi eremua hutsik."
#: templates/wishlist_add.html:84
msgid "Submit"
msgstr "Bidali"

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:08+0100\n" "PO-Revision-Date: 2024-02-21 06:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: fa <LL@li.org>\n"
"Language: fa\n" "Language: fa\n"
"MIME-Version: 1.0\n" "Language-Team: fa <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:06+0100\n" "PO-Revision-Date: 2024-02-21 06:06+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: fi <LL@li.org>\n"
"Language: fi\n" "Language: fi\n"
"MIME-Version: 1.0\n" "Language-Team: fi <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,124 +7,124 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-05-07 23:11+0000\n" "PO-Revision-Date: 2024-05-07 23:11+0000\n"
"Last-Translator: OniriCorpe <oniricorpe@disroot.org>\n" "Last-Translator: OniriCorpe <oniricorpe@disroot.org>\n"
"Language-Team: French <https://translate.yunohost.org/projects/yunohost/apps/"
"fr/>\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "Language-Team: French "
"Content-Type: text/plain; charset=UTF-8\n" "<https://translate.yunohost.org/projects/yunohost/apps/fr/>\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n" "Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.3.1\n" "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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "L'app %(app_id)s n'a pas été trouvée" msgstr "L'app %(app_id)s n'a pas été trouvée"
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "Veuillez vous connecter pour mettre une app en favoris" msgstr "Veuillez vous connecter pour mettre une app en favoris"
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
"Notez que, suite à divers abus, la connexion nécessite maintenant d'être " "Notez que, suite à divers abus, la connexion nécessite maintenant d'être "
"'trust level 1' sur le forum.<br/><br/>Le 'trust level 1' est obtenu après " "'trust level 1' sur le forum.<br/><br/>Le 'trust level 1' est obtenu "
"avoir intéragit un minimum avec le forum, et plus précisémment: ouvrir au " "après avoir intéragit un minimum avec le forum, et plus précisémment: "
"moins 5 fils de discussion, lire au moins 30 messages, et passer au moins 10 " "ouvrir au moins 5 fils de discussion, lire au moins 30 messages, et "
"minutes à lire des messages." "passer au moins 10 minutes à lire des messages."
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr "Veuillez vous connecter pour proposer une app pour la liste de souhaits"
"Veuillez vous connecter pour proposer une app pour la liste de souhaits"
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" 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" msgstr "Jeton CSRF invalide, prière de rafraîchir la page et de réessayer"
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
"Proposer une app dans la liste de souhaits est limité à une fois tous les 15 " "Proposer une app dans la liste de souhaits est limité à une fois tous les"
"jours et par personne. Merci de réessayer dans quelques jours." " 15 jours et par personne. Merci de réessayer dans quelques jours."
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "Le nom d'app devrait contenir au moins 3 caractères" msgstr "Le nom d'app devrait contenir au moins 3 caractères"
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "Le nom d'app devrait contenir moins de 30 caractères" msgstr "Le nom d'app devrait contenir moins de 30 caractères"
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "La description de l'app devrait contenir au moins 5 caractères" msgstr "La description de l'app devrait contenir au moins 5 caractères"
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "La description de l'app devrait contenir moins de 100 caractères" msgstr "La description de l'app devrait contenir moins de 100 caractères"
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "L'URL du dépôt de code devrait contenir au moins 10 caractères" msgstr "L'URL du dépôt de code devrait contenir au moins 10 caractères"
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "L'URL du dépôt de code devrait contenir moins de 150 caractères" msgstr "L'URL du dépôt de code devrait contenir moins de 150 caractères"
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "L'URL de la licence devrait contenir au moins de 10 caractères" msgstr "L'URL de la licence devrait contenir au moins de 10 caractères"
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "L'URL de la licence devrait contenir moins de 250 caractères" msgstr "L'URL de la licence devrait contenir moins de 250 caractères"
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "L'URL du site web devrait contenir moins de 150 caractères" msgstr "L'URL du site web devrait contenir moins de 150 caractères"
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "Le nom de l'app contient des caractères spéciaux" msgstr "Le nom de l'app contient des caractères spéciaux"
#: app.py:293
msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or "
"repeating that the app is 'free' and 'self-hostable'."
msgstr ""
"S'il vous plaît décrivez ce que fait l'application sans utiliser de termes "
"marketing nébuleux ou répéter que l'app est 'libre' ou 'auto-hébergeable'."
#: app.py:303 #: app.py:303
msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, "
"or repeating that the app is 'free' and 'self-hostable'."
msgstr ""
"S'il vous plaît décrivez ce que fait l'application sans utiliser de "
"termes marketing nébuleux ou répéter que l'app est 'libre' ou 'auto-"
"hébergeable'."
#: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
"Pas besoin de répéter le nom de l'application. Prière de rester concis et de " "Pas besoin de répéter le nom de l'application. Prière de rester concis et"
"se concentrer sur ce que l'app fait." " de se concentrer sur ce que l'app fait."
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
"Une entrée nommée %(slug)s existe déjà dans la liste de souhaits, vous " "Une entrée nommée %(slug)s existe déjà dans la liste de souhaits, vous "
"pouvez <a href='%(url)s'>l'ajouter en favori</a> afin de montrer votre " "pouvez <a href='%(url)s'>l'ajouter en favori</a> afin de montrer votre "
"intérêt." "intérêt."
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
@ -133,29 +133,30 @@ msgstr ""
"Une app nommée %(slug)s existe déjà dans le catalogue, <a " "Une app nommée %(slug)s existe déjà dans le catalogue, <a "
"href='%(url)s'>vous pouvez voir sa page ici</a>." "href='%(url)s'>vous pouvez voir sa page ici</a>."
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
"there's already <a href='%(url)s'>a waiting PR for this app</a>? Else, " "there's already <a href='%(url)s'>a waiting PR for this app</a>? Else, "
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
"Échec de la création de la demande d'intégration de l'app dans la liste de " "Échec de la création de la demande d'intégration de l'app dans la liste "
"souhaits… Peut-être qu'il y a <a href='%(url)s'>déjà une PR en attente pour " "de souhaits… Peut-être qu'il y a <a href='%(url)s'>déjà une PR en attente"
"cette app</a>? Sinon, merci de signaler le problème à l'équipe YunoHost." " pour cette app</a>? Sinon, merci de signaler le problème à l'équipe "
"YunoHost."
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
"Un demande d'intégration à la liste de souhaits a bien été créée pour cette " "Un demande d'intégration à la liste de souhaits a bien été créée pour "
"app. Elle doit maintenant être validée par l'équipe YunoHost. Vous pouvez " "cette app. Elle doit maintenant être validée par l'équipe YunoHost. Vous "
"suivre cette demande ici: <a href='%(url)s'>%(url)s</a>" "pouvez suivre cette demande ici: <a href='%(url)s'>%(url)s</a>"
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "Malheureusement, la connexion a été refusée." msgstr "Malheureusement, la connexion a été refusée."
@ -170,8 +171,8 @@ msgid ""
"This app is currently flagged as broken because it failed our automatic " "This app is currently flagged as broken because it failed our automatic "
"tests." "tests."
msgstr "" msgstr ""
"Cette app est actuellement marquée comme cassée ou de mauvaise qualité car " "Cette app est actuellement marquée comme cassée ou de mauvaise qualité "
"elle ne passe pas nos tests automatisés." "car elle ne passe pas nos tests automatisés."
#: templates/app.html:30 templates/app.html:31 templates/catalog.html:41 #: templates/app.html:30 templates/app.html:31 templates/catalog.html:41
#: templates/catalog.html:42 templates/catalog.html:170 #: templates/catalog.html:42 templates/catalog.html:170
@ -188,8 +189,8 @@ msgid ""
"This app has been good quality according to our automatic tests over at " "This app has been good quality according to our automatic tests over at "
"least one year." "least one year."
msgstr "" msgstr ""
"Cette app est de bonne qualité d'après nos tests automatisés depuis au moins " "Cette app est de bonne qualité d'après nos tests automatisés depuis au "
"un an." "moins un an."
#: templates/app.html:81 #: templates/app.html:81
msgid "Try the demo" msgid "Try the demo"
@ -220,8 +221,7 @@ msgstr "Capture d'écran pour %(app)s"
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
"Cette app est uniquement compatible avec les architectures suivantes : " "Cette app est uniquement compatible avec les architectures suivantes : "
"%(archs)s" "%(archs)s"
@ -230,8 +230,8 @@ msgstr ""
#, python-format #, python-format
msgid "This app requires an unusual amount of RAM to install: %(ram)s" msgid "This app requires an unusual amount of RAM to install: %(ram)s"
msgstr "" msgstr ""
"Cette app requiert une quantité inhabituelle de RAM pour être installée : " "Cette app requiert une quantité inhabituelle de RAM pour être installée :"
"%(ram)s" " %(ram)s"
#: templates/app.html:118 #: templates/app.html:118
msgid "Important infos before installing" msgid "Important infos before installing"
@ -278,54 +278,68 @@ msgstr "Dépôt de code du paquet YunoHost"
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "Licence du paquet YunoHost" msgstr "Licence du paquet YunoHost"
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "Store d'apps de YunoHost" msgstr "Store d'apps de YunoHost"
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "Accueil" msgstr "Accueil"
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "Catalogue" msgstr "Catalogue"
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "Liste de souhaits" msgstr "Liste de souhaits"
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr "Tableau de bord du packaging"
#: templates/base.html:57
msgid "Charts & history"
msgstr "Graphes & historique"
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "Documentation YunoHost" msgstr "Documentation YunoHost"
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "Se connecter via le forum YunoHost" msgstr "Se connecter via le forum YunoHost"
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr "Tableaux de bord du packaging"
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "Se déconnecter" msgstr "Se déconnecter"
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "Afficher le menu" msgstr "Afficher le menu"
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
"Fait avec <i class='text-red-500 fa fa-heart-o' aria-label='amour'></i> à " "Fait avec <i class='text-red-500 fa fa-heart-o' aria-label='amour'></i> à"
"l'aide de <a class='text-blue-800' href='https://flask.palletsprojects." " l'aide de <a class='text-blue-800' "
"com'>Flask</a> et <a class='text-blue-800' href='https://tailwindcss." "href='https://flask.palletsprojects.com'>Flask</a> et <a class='text-"
"com/'>TailwindCSS</a>" "blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "Source" msgstr "Source"
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "Conditions des Services" msgstr "Conditions des Services"
@ -345,7 +359,7 @@ msgstr "Rechercher…"
msgid "All apps" msgid "All apps"
msgstr "Toutes les apps" msgstr "Toutes les apps"
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "Trier par" msgstr "Trier par"
@ -358,16 +372,16 @@ msgstr "Popularité"
msgid "Newest" msgid "Newest"
msgstr "Nouveauté" msgstr "Nouveauté"
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "Alphabétique" msgstr "Alphabétique"
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "Nécessite une connexion à votre compte du forum YunoHost" msgstr "Nécessite une connexion à votre compte du forum YunoHost"
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "Montrer uniquement mes favoris" msgstr "Montrer uniquement mes favoris"
@ -401,12 +415,210 @@ msgstr "Il s'agit des applications qui ne sont plus maintenues."
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr "" msgstr ""
"Cela signifie que le développeur ne les mettra plus à jour. Nous " "Cela signifie que le développeur ne les mettra plus à jour. Nous "
"décourageons fortement leur installation et vous conseillons de vous tourner " "décourageons fortement leur installation et vous conseillons de vous "
"vers des alternatives." "tourner vers des alternatives."
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr "Niveau de qualité des apps dans les tests automatiques"
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr "Historique du niveau de qualité des apps"
#: templates/charts.html:14
msgid "History"
msgstr "Historique"
#: templates/charts.html:22
msgid "Added"
msgstr "Ajoutée"
#: templates/charts.html:28
msgid "Repaired"
msgstr "Réparée"
#: templates/charts.html:34
msgid "Broke"
msgstr "Cassée"
#: templates/charts.html:40
msgid "Removed"
msgstr "Retirée"
#: templates/charts.html:80
msgid "Unknown"
msgstr "Inconnu"
#: templates/charts.html:81
msgid "Level 0"
msgstr "Niveau 0"
#: templates/charts.html:82
msgid "Level 1"
msgstr "Niveau 1"
#: templates/charts.html:83
msgid "Level 2"
msgstr "Niveau 2"
#: templates/charts.html:84
msgid "Level 3"
msgstr "Niveau 3"
#: templates/charts.html:85
msgid "Level 4"
msgstr "Niveau 4"
#: templates/charts.html:86
msgid "Level 5"
msgstr "Niveau 5"
#: templates/charts.html:87
msgid "Level 6"
msgstr "Niveau 6"
#: templates/charts.html:88
msgid "Level 7"
msgstr "Niveau 7"
#: templates/charts.html:89
msgid "Level 8"
msgstr "Niveau 8"
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr "Niveau %(level)s:"
#: templates/charts.html:107
msgid "Total:"
msgstr "Total :"
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr "Niveau %(level)s"
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr "Tableau de bord du packaging d'apps"
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr "Il s'agit de l'endroit où les packageur⋅euse⋅s peuvent surveiller le status des tests automatiques (CI) et PR en cours sur toutes les apps. Si vous souhaitez débuter avec le packaging dans YunoHost, merci de jeter un oeil à la <a class='text-blue-500' href='https://yunohost.org/packaging_apps'>documentation du packaging</a> et passez dire salut sur <a class='text-blue-500' href='https://yunohost.org/chat_rooms'>le chat du packaging d'apps</a> !"
#: templates/dash.html:17
msgid "Filter"
msgstr "Filtrer"
#: templates/dash.html:23
msgid "(None)"
msgstr "(Aucun)"
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr "Régressions sur la CI principale"
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr "Apps cassées / mauvaise qualité"
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr "Tests périmés sur la CI principale"
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr "Régressions importantes sur la CI bookworm"
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr "Apps avec une PR de testing"
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr "Apps avec une PR d'autoupdate"
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr "Apps en packaging v1"
#: templates/dash.html:41
msgid "Quality level"
msgstr "Niveau de qualité"
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr "Popularité"
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr "Dernière maj sur la branche principale/master"
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr "Dernière maj sur la branche testing"
#: templates/dash.html:65
msgid "App"
msgstr "App"
#: templates/dash.html:67
msgid "Main CI"
msgstr "CI principale"
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr "CI bookworm"
#: templates/dash.html:69
msgid "Testing PR"
msgstr "PR testing"
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr "PR autoupdate"
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr "Cassée"
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr "Mauvaise qualité"
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr "Test périmé (%(days)s jours)"
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr "Inactif (%(days)s jours)"
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr "Dépréciée"
#: templates/dash.html:183
msgid "Not maintained"
msgstr "Non maintenue"
#: templates/index.html:10 #: templates/index.html:10
msgid "Application Store" msgid "Application Store"
@ -416,33 +628,112 @@ msgstr "Store d'application"
msgid "Browse all applications" msgid "Browse all applications"
msgstr "Toutes les applications" msgstr "Toutes les applications"
#: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app"
msgstr "Suggérer une app"
#: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog"
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 ""
"Veuillez d'abord vous connecter 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 personne."
#: templates/wishlist_add.html:43
msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-"
"send every random nerdy stuff you find on the Internet."
msgstr ""
"La vérification des propositions est éreintante pour les bénévoles, merci"
" de ne pas bêtement proposer n'importe quelle app un peu nerd que vous "
"trouvez."
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "Nom"
#: templates/wishlist_add.html:64
msgid "App's description"
msgstr "Description de l'app"
#: templates/wishlist_add.html:66
msgid "Please be concise and focus on what the app does."
msgstr "Prière de rester concis et de se concentrer sur ce que l'app fait."
#: templates/wishlist_add.html: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 ""
"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"
msgstr "Dépôt de code officiel"
#: templates/wishlist_add.html:71
msgid "Link to the project's LICENSE"
msgstr "Lien vers le fichier LICENSE du projet"
#: templates/wishlist_add.html:73
msgid ""
"The YunoHost project will only package free/open-source software (with "
"possible case-by-case exceptions for apps which are not-totally-free)"
msgstr ""
"Le projet YunoHost intègrera uniquement des logiciels libre/open-source "
"(avec quelques possibles exceptions au cas-par-cas pour des apps qui ne "
"sont pas entièrement libres)"
#: templates/wishlist_add.html:75
msgid "Project website"
msgstr "Site officiel"
#: templates/wishlist_add.html: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 ""
"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"
msgstr "Envoyer"
#: templates/wishlist.html:3 templates/wishlist.html:8 #: templates/wishlist.html:3 templates/wishlist.html:8
msgid "Application Wishlist" msgid "Application Wishlist"
msgstr "Liste de souhaits d'applications" msgstr "Liste de souhaits d'applications"
#: templates/wishlist.html:10 #: templates/wishlist.html:10
msgid "" msgid ""
"The wishlist is the place where people can collectively suggest and vote for " "The wishlist is the place where people can collectively suggest and vote "
"apps that they would like to see packaged and made available in YunoHost's " "for apps that they would like to see packaged and made available in "
"official apps catalog. Nevertheless, the fact that apps are listed here " "YunoHost's official apps catalog. Nevertheless, the fact that apps are "
"should by no mean be interpreted as a fact that the YunoHost project plans " "listed here should by no mean be interpreted as a fact that the YunoHost "
"to integrate it, and is merely a source of inspiration for packaging " "project plans to integrate it, and is merely a source of inspiration for "
"volunteers." "packaging volunteers."
msgstr "" msgstr ""
"La liste de souhaits est l'endroit où il est possible de collectivement " "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 " "suggérer et voter pour des applications que vous aimeriez voir packagée "
"intégrée dans le catalogue officiel de YunoHost. Néanmoins, le fait que des " "et intégrée dans le catalogue officiel de YunoHost. Néanmoins, le fait "
"apps soient listées ici ne devrait en aucun cas être interprété comme le " "que des apps soient listées ici ne devrait en aucun cas être interprété "
"fait que le projet YunoHost prévoit leur intégration, et est uniquement une " "comme le fait que le projet YunoHost prévoit leur intégration, et est "
"source d'inspiration pour les bénévoles s'occupant des packages." "uniquement une source d'inspiration pour les bénévoles s'occupant des "
"packages."
#: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app"
msgstr "Suggérer une app"
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "Nom"
#: templates/wishlist.html:74 #: templates/wishlist.html:74
msgid "Description" msgid "Description"
@ -460,82 +751,3 @@ msgstr "Dépôt de code officiel"
msgid "Star this app" msgid "Star this app"
msgstr "Étoiler cette app" msgstr "Étoiler cette app"
#: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog"
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 ""
"Veuillez d'abord vous connecter 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 personne."
#: templates/wishlist_add.html:43
msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send "
"every random nerdy stuff you find on the Internet."
msgstr ""
"La vérification des propositions est éreintante pour les bénévoles, merci de "
"ne pas bêtement proposer n'importe quelle app un peu nerd que vous trouvez."
#: templates/wishlist_add.html:64
msgid "App's description"
msgstr "Description de l'app"
#: templates/wishlist_add.html:66
msgid "Please be concise and focus on what the app does."
msgstr "Prière de rester concis et de se concentrer sur ce que l'app fait."
#: templates/wishlist_add.html: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 ""
"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"
msgstr "Dépôt de code officiel"
#: templates/wishlist_add.html:71
msgid "Link to the project's LICENSE"
msgstr "Lien vers le fichier LICENSE du projet"
#: templates/wishlist_add.html:73
msgid ""
"The YunoHost project will only package free/open-source software (with "
"possible case-by-case exceptions for apps which are not-totally-free)"
msgstr ""
"Le projet YunoHost intègrera uniquement des logiciels libre/open-source "
"(avec quelques possibles exceptions au cas-par-cas pour des apps qui ne sont "
"pas entièrement libres)"
#: templates/wishlist_add.html:75
msgid "Project website"
msgstr "Site officiel"
#: templates/wishlist_add.html: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 ""
"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"
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"

View file

@ -7,153 +7,156 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-05-08 10:13+0000\n" "PO-Revision-Date: 2024-05-08 10:13+0000\n"
"Last-Translator: \"José M.\" <correo@xmgz.eu>\n" "Last-Translator: \"José M.\" <correo@xmgz.eu>\n"
"Language-Team: Galician <https://translate.yunohost.org/projects/yunohost/"
"apps/gl/>\n"
"Language: gl\n" "Language: gl\n"
"MIME-Version: 1.0\n" "Language-Team: Galician "
"Content-Type: text/plain; charset=UTF-8\n" "<https://translate.yunohost.org/projects/yunohost/apps/gl/>\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.3.1\n" "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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "Non se atopa a app %(app_id)s" msgstr "Non se atopa a app %(app_id)s"
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "Tes que iniciar sesión para poder poñerlle estrela á app" msgstr "Tes que iniciar sesión para poder poñerlle estrela á app"
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
"Ten en conta que, debido aos abusos sobre o sistema, restrinximos o acceso " "Ten en conta que, debido aos abusos sobre o sistema, restrinximos o "
"ás usuarias de 'nivel 1 de confianza'.<br/><br/>O 'nivel 1 de confianza' " "acceso ás usuarias de 'nivel 1 de confianza'.<br/><br/>O 'nivel 1 de "
"obtense despois de ter un mínimo de interaccións no foro, concretamente: " "confianza' obtense despois de ter un mínimo de interaccións no foro, "
"entrar polo menos en 5 temas, ler polo menos 30 publicacións e ter estado " "concretamente: entrar polo menos en 5 temas, ler polo menos 30 "
"lendo publicacións durante 10 minutos polo menos." "publicacións e ter estado lendo publicacións durante 10 minutos polo "
"menos."
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "Tes que iniciar sesión para poder enviar unha app á lista de desexos" msgstr "Tes que iniciar sesión para poder enviar unha app á lista de desexos"
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "Token CSRF non válido, actualiza a páxina e volve intentalo" msgstr "Token CSRF non válido, actualiza a páxina e volve intentalo"
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
"As propostas de adicións á lista de desexos están limitadas a unha vez cada " "As propostas de adicións á lista de desexos están limitadas a unha vez "
"15 días por usuaria. Inténtao outra vez nuns días." "cada 15 días por usuaria. Inténtao outra vez nuns días."
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "O nome ten que ter 3 caracteres como mínimo" msgstr "O nome ten que ter 3 caracteres como mínimo"
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "O nome da app ten que ter menos de 30 caracteres" msgstr "O nome da app ten que ter menos de 30 caracteres"
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "A descrición da app ten que ter 5 caracteres como mínimo" msgstr "A descrición da app ten que ter 5 caracteres como mínimo"
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "A descrición da app ten que ter menos de 100 caracteres" msgstr "A descrición da app ten que ter menos de 100 caracteres"
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
"O URL do repositorio de orixe do código ten que ter 10 caracteres como mínimo" "O URL do repositorio de orixe do código ten que ter 10 caracteres como "
"mínimo"
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
"O URL do repositorio de orixe do código ten que ter menos de 150 caracteres" "O URL do repositorio de orixe do código ten que ter menos de 150 "
"caracteres"
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "O URL da licenza ten que ter 10 caracteres como mínimo" msgstr "O URL da licenza ten que ter 10 caracteres como mínimo"
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "O URL da licenza ten que ter menos de 250 caracteres" msgstr "O URL da licenza ten que ter menos de 250 caracteres"
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "O URL da páxina web ten que ter menos de 150 caracteres" msgstr "O URL da páxina web ten que ter menos de 150 caracteres"
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "O nome da app contén caracteres especiais" msgstr "O nome da app contén caracteres especiais"
#: app.py:293
msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or "
"repeating that the app is 'free' and 'self-hostable'."
msgstr ""
"Céntrate no que fai a app, se usar termos pouco concretos de márquetin ou "
"repetindo que a app é 'libre' e 'auto-hospedable'."
#: app.py:303 #: app.py:303
msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, "
"or repeating that the app is 'free' and 'self-hostable'."
msgstr ""
"Céntrate no que fai a app, se usar termos pouco concretos de márquetin ou"
" repetindo que a app é 'libre' e 'auto-hospedable'."
#: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "Non é preciso repetir o nome da app. Céntrate no que fai." msgstr "Non é preciso repetir o nome da app. Céntrate no que fai."
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
"Xa existe unha entrada co nome %(slug)s, así que podes <a " "Xa existe unha entrada co nome %(slug)s, así que podes <a "
"href='%(url)s'>engadirlle unha estrela para mostrar interese</a>." "href='%(url)s'>engadirlle unha estrela para mostrar interese</a>."
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
"Xa hai unha app no catálogo co nome %(slug)s, <a href='%(url)s'>aquí podes " "Xa hai unha app no catálogo co nome %(slug)s, <a href='%(url)s'>aquí "
"ver a súa páxina</a>." "podes ver a súa páxina</a>."
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
"there's already <a href='%(url)s'>a waiting PR for this app</a>? Else, " "there's already <a href='%(url)s'>a waiting PR for this app</a>? Else, "
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
"Fallou a creación da solicitude de engadir a app á lista de desexos… Podería " "Fallou a creación da solicitude de engadir a app á lista de desexos… "
"estar en <a href='%(url)s'>agarda unha petición para esta app</a>? Se non, " "Podería estar en <a href='%(url)s'>agarda unha petición para esta "
"informa da incidencia ao equipo YunoHost." "app</a>? Se non, informa da incidencia ao equipo YunoHost."
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
"Foi enviada correctamente a solicitude para a app. Agora vai ser validada " "Foi enviada correctamente a solicitude para a app. Agora vai ser validada"
"polo equipo de YunoHost. Podes ver aquí o proceso: <a href='%(url)s'>" " polo equipo de YunoHost. Podes ver aquí o proceso: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "É unha mágoa, pero rexeitouse o acceso." msgstr "É unha mágoa, pero rexeitouse o acceso."
@ -177,8 +180,8 @@ msgid ""
"This is usually a temporary situation which requires packagers to fix " "This is usually a temporary situation which requires packagers to fix "
"something in the app." "something in the app."
msgstr "" msgstr ""
"Normalmente esta é unha situación temporal que require a intervención das " "Normalmente esta é unha situación temporal que require a intervención das"
"persoas que a empaquetan para arranxala." " persoas que a empaquetan para arranxala."
#: templates/app.html:37 templates/app.html:38 templates/catalog.html:46 #: templates/app.html:37 templates/app.html:38 templates/catalog.html:46
#: templates/catalog.html:47 #: templates/catalog.html:47
@ -218,17 +221,15 @@ msgstr "Captura de pantalla de %(app)s"
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s" msgstr "Esta app só é compatible con estas arquitecturas específicas: %(archs)s"
msgstr ""
"Esta app só é compatible con estas arquitecturas específicas: %(archs)s"
#: templates/app.html:112 #: templates/app.html:112
#, python-format #, python-format
msgid "This app requires an unusual amount of RAM to install: %(ram)s" msgid "This app requires an unusual amount of RAM to install: %(ram)s"
msgstr "" msgstr ""
"Esta app require unha cantidade de RAM superior á habitual para instalala: " "Esta app require unha cantidade de RAM superior á habitual para "
"%(ram)s" "instalala: %(ram)s"
#: templates/app.html:118 #: templates/app.html:118
msgid "Important infos before installing" msgid "Important infos before installing"
@ -275,54 +276,68 @@ msgstr "Repositorio do paquete YunoHost"
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "Licenza do paquete YunoHost" msgstr "Licenza do paquete YunoHost"
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "Tenda de apps de YunoHost" msgstr "Tenda de apps de YunoHost"
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "Inicio" msgstr "Inicio"
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "Catálogo" msgstr "Catálogo"
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "Lista de desexos" msgstr "Lista de desexos"
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "Documentación YunoHost" msgstr "Documentación YunoHost"
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "Accede usando o foro de YunoHost" msgstr "Accede usando o foro de YunoHost"
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "Pechar sesión" msgstr "Pechar sesión"
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "Mostrar menú" msgstr "Mostrar menú"
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
"Creada con <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> " "Creada con <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"usando <a class='text-blue-800' href='https://flask.palletsprojects." "usando <a class='text-blue-800' "
"com'>Flask</a> e <a class='text-blue-800' href='https://tailwindcss." "href='https://flask.palletsprojects.com'>Flask</a> e <a class='text-"
"com/'>TailwindCSS</a>" "blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "Fonte" msgstr "Fonte"
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "Termos dos Servizos" msgstr "Termos dos Servizos"
@ -342,7 +357,7 @@ msgstr "Buscar…"
msgid "All apps" msgid "All apps"
msgstr "Todas as apps" msgstr "Todas as apps"
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "Orde por" msgstr "Orde por"
@ -355,16 +370,16 @@ msgstr "Popularidade"
msgid "Newest" msgid "Newest"
msgstr "Máis recente" msgstr "Máis recente"
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "Alfabético" msgstr "Alfabético"
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "Require iniciar sesión" msgstr "Require iniciar sesión"
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "Mostrar só apps que lle puxeches estrela" msgstr "Mostrar só apps que lle puxeches estrela"
@ -398,11 +413,212 @@ msgstr "Estas son as apps que xa non teñen mantemento."
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr "" msgstr ""
"Isto significa que a desenvolvedora non a vai actualizar. Recomendamos " "Isto significa que a desenvolvedora non a vai actualizar. Recomendamos "
"vivamente non instalala e aconsellamos ás usuarias a buscar unha alternativa." "vivamente non instalala e aconsellamos ás usuarias a buscar unha "
"alternativa."
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
#, fuzzy
msgid "Popularity stars"
msgstr "Popularidade"
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
#, fuzzy
msgid "Deprecated"
msgstr "Aplicacións abandonadas"
#: templates/dash.html:183
msgid "Not maintained"
msgstr ""
#: templates/index.html:10 #: templates/index.html:10
msgid "Application Store" msgid "Application Store"
@ -412,34 +628,109 @@ msgstr "Tenda de Aplicacións"
msgid "Browse all applications" msgid "Browse all applications"
msgstr "Ver todas as aplicacións" msgstr "Ver todas as aplicacións"
#: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app"
msgstr "Suxire unha app"
#: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "Suxire unha aplicación para engadila ao catálogo de YunoHost"
#: templates/wishlist_add.html:29
msgid "You must first login to be allowed to submit an app to the wishlist"
msgstr "Tes que iniciar sesión para poder enviar unha app á lista de desexos"
#: templates/wishlist_add.html:40
msgid "Due to abuses, only one proposal every 15 days per user is allowed."
msgstr ""
"Debido aos abusos recibidos, só se permite unha proposta cada 15 días por"
" persoa."
#: 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 ""
"A revisión destas propostas esgota ás persoas voluntarias, por favor non "
"envíes sen pensalo toda app ao chou que vises por aí en Internet."
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "Nome"
#: templates/wishlist_add.html:64
msgid "App's description"
msgstr "Descrición da app"
#: templates/wishlist_add.html:66
msgid "Please be concise and focus on what the app does."
msgstr "Por favor sé breve e céntrate no que fai a app."
#: 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 ""
"Non precisas repetir '[App] é …'. Tampouco hai que insistir en que é "
"libre/código-aberto ou auto-hospedable (se non fose así tampouco a "
"incluiríamos en YunoHost). Evita usar xerga do eido do márquetin como 'a "
"mellor', ou termos xenéricos como 'fácil', 'simple', 'lixeira'."
#: templates/wishlist_add.html:68
msgid "Project code repository"
msgstr "Repositorio do código do proxecto"
#: templates/wishlist_add.html:71
msgid "Link to the project's LICENSE"
msgstr "Ligazón á LICENZA do proxecto"
#: 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 ""
"O proxecto YunoHost só empaqueta software libre/código-aberto (con "
"excepcións examinadas de xeito particular caso a caso se non son "
"totalmente-libres)"
#: templates/wishlist_add.html:75
msgid "Project website"
msgstr "Páxina web do proxecto"
#: 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 ""
"*Non* copies-pegues o URL do repositorio do código. Se o proxecto non ten"
" unha web propia, deixa o campo baleiro."
#: templates/wishlist_add.html:84
msgid "Submit"
msgstr "Enviar"
#: templates/wishlist.html:3 templates/wishlist.html:8 #: templates/wishlist.html:3 templates/wishlist.html:8
msgid "Application Wishlist" msgid "Application Wishlist"
msgstr "Lista de Aplicacións desexadas" msgstr "Lista de Aplicacións desexadas"
#: templates/wishlist.html:10 #: templates/wishlist.html:10
msgid "" msgid ""
"The wishlist is the place where people can collectively suggest and vote for " "The wishlist is the place where people can collectively suggest and vote "
"apps that they would like to see packaged and made available in YunoHost's " "for apps that they would like to see packaged and made available in "
"official apps catalog. Nevertheless, the fact that apps are listed here " "YunoHost's official apps catalog. Nevertheless, the fact that apps are "
"should by no mean be interpreted as a fact that the YunoHost project plans " "listed here should by no mean be interpreted as a fact that the YunoHost "
"to integrate it, and is merely a source of inspiration for packaging " "project plans to integrate it, and is merely a source of inspiration for "
"volunteers." "packaging volunteers."
msgstr "" msgstr ""
"A lista de desexos é o lugar onde as persoas suxiren de xeito colectivo e " "A lista de desexos é o lugar onde as persoas suxiren de xeito colectivo e"
"votan por aquelas apps que lles gustaría ver empaquetadas para usar en " " votan por aquelas apps que lles gustaría ver empaquetadas para usar en "
"YunoHost dentro do catálogo oficial. Emporiso, o feito de que as apps " "YunoHost dentro do catálogo oficial. Emporiso, o feito de que as apps "
"aparezan aquí non debe ser interpretado como que YunoHost ten previsto " "aparezan aquí non debe ser interpretado como que YunoHost ten previsto "
"integralas, é simplemente unha fonte de inspiración para as persoas que " "integralas, é simplemente unha fonte de inspiración para as persoas que "
"crean os paquetes das aplicacións." "crean os paquetes das aplicacións."
#: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app"
msgstr "Suxire unha app"
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "Nome"
#: templates/wishlist.html:74 #: templates/wishlist.html:74
msgid "Description" msgid "Description"
msgstr "Descrición" msgstr "Descrición"
@ -456,77 +747,3 @@ msgstr "Repositorio do código"
msgid "Star this app" msgid "Star this app"
msgstr "Marca cunha estrela" msgstr "Marca cunha estrela"
#: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "Suxire unha aplicación para engadila ao catálogo de YunoHost"
#: templates/wishlist_add.html:29
msgid "You must first login to be allowed to submit an app to the wishlist"
msgstr "Tes que iniciar sesión para poder enviar unha app á lista de desexos"
#: templates/wishlist_add.html:40
msgid "Due to abuses, only one proposal every 15 days per user is allowed."
msgstr ""
"Debido aos abusos recibidos, só se permite unha proposta cada 15 días por "
"persoa."
#: 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 ""
"A revisión destas propostas esgota ás persoas voluntarias, por favor non "
"envíes sen pensalo toda app ao chou que vises por aí en Internet."
#: templates/wishlist_add.html:64
msgid "App's description"
msgstr "Descrición da app"
#: templates/wishlist_add.html:66
msgid "Please be concise and focus on what the app does."
msgstr "Por favor sé breve e céntrate no que fai a app."
#: 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 ""
"Non precisas repetir '[App] é …'. Tampouco hai que insistir en que é libre/"
"código-aberto ou auto-hospedable (se non fose así tampouco a incluiríamos en "
"YunoHost). Evita usar xerga do eido do márquetin como 'a mellor', ou termos "
"xenéricos como 'fácil', 'simple', 'lixeira'."
#: templates/wishlist_add.html:68
msgid "Project code repository"
msgstr "Repositorio do código do proxecto"
#: templates/wishlist_add.html:71
msgid "Link to the project's LICENSE"
msgstr "Ligazón á LICENZA do proxecto"
#: 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 ""
"O proxecto YunoHost só empaqueta software libre/código-aberto (con "
"excepcións examinadas de xeito particular caso a caso se non son totalmente-"
"libres)"
#: templates/wishlist_add.html:75
msgid "Project website"
msgstr "Páxina web do proxecto"
#: 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 ""
"*Non* copies-pegues o URL do repositorio do código. Se o proxecto non ten "
"unha web propia, deixa o campo baleiro."
#: templates/wishlist_add.html:84
msgid "Submit"
msgstr "Enviar"

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:06+0100\n" "PO-Revision-Date: 2024-02-21 06:06+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: he <LL@li.org>\n"
"Language: he\n" "Language: he\n"
"MIME-Version: 1.0\n" "Language-Team: he <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:06+0100\n" "PO-Revision-Date: 2024-02-21 06:06+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: hi <LL@li.org>\n"
"Language: hi\n" "Language: hi\n"
"MIME-Version: 1.0\n" "Language-Team: hi <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:06+0100\n" "PO-Revision-Date: 2024-02-21 06:06+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: hu <LL@li.org>\n"
"Language: hu\n" "Language: hu\n"
"MIME-Version: 1.0\n" "Language-Team: hu <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:06+0100\n" "PO-Revision-Date: 2024-02-21 06:06+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: id <LL@li.org>\n"
"Language: id\n" "Language: id\n"
"MIME-Version: 1.0\n" "Language-Team: id <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:07+0100\n" "PO-Revision-Date: 2024-02-21 06:07+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: it <LL@li.org>\n"
"Language: it\n" "Language: it\n"
"MIME-Version: 1.0\n" "Language-Team: it <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:07+0100\n" "PO-Revision-Date: 2024-02-21 06:07+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: ja <LL@li.org>\n"
"Language: ja\n" "Language: ja\n"
"MIME-Version: 1.0\n" "Language-Team: ja <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:07+0100\n" "PO-Revision-Date: 2024-02-21 06:07+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: kab <LL@li.org>\n"
"Language: kab\n" "Language: kab\n"
"MIME-Version: 1.0\n" "Language-Team: kab <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:05+0100\n" "PO-Revision-Date: 2024-02-21 06:05+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: ko <LL@li.org>\n"
"Language: ko\n" "Language: ko\n"
"MIME-Version: 1.0\n" "Language-Team: ko <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,115 +7,116 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:07+0100\n" "PO-Revision-Date: 2024-02-21 06:07+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: lt <LL@li.org>\n"
"Language: lt\n" "Language: lt\n"
"Language-Team: lt <LL@li.org>\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"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -123,15 +124,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -190,8 +191,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -244,50 +244,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -307,7 +321,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -320,16 +334,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -363,8 +377,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -375,44 +587,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -427,8 +605,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -441,10 +623,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -467,10 +649,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:07+0100\n" "PO-Revision-Date: 2024-02-21 06:07+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: mk <LL@li.org>\n"
"Language: mk\n" "Language: mk\n"
"MIME-Version: 1.0\n" "Language-Team: mk <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:07+0100\n" "PO-Revision-Date: 2024-02-21 06:07+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: nb_NO <LL@li.org>\n"
"Language: nb_NO\n" "Language: nb_NO\n"
"MIME-Version: 1.0\n" "Language-Team: nb_NO <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:07+0100\n" "PO-Revision-Date: 2024-02-21 06:07+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: ne <LL@li.org>\n"
"Language: ne\n" "Language: ne\n"
"MIME-Version: 1.0\n" "Language-Team: ne <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:07+0100\n" "PO-Revision-Date: 2024-02-21 06:07+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: nl <LL@li.org>\n"
"Language: nl\n" "Language: nl\n"
"MIME-Version: 1.0\n" "Language-Team: nl <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:08+0100\n" "PO-Revision-Date: 2024-02-21 06:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: oc <LL@li.org>\n"
"Language: oc\n" "Language: oc\n"
"MIME-Version: 1.0\n" "Language-Team: oc <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,115 +7,116 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:08+0100\n" "PO-Revision-Date: 2024-02-21 06:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: pl <LL@li.org>\n"
"Language: pl\n" "Language: pl\n"
"Language-Team: pl <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -123,15 +124,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -190,8 +191,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -244,50 +244,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -307,7 +321,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -320,16 +334,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -363,8 +377,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -375,44 +587,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -427,8 +605,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -441,10 +623,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -467,10 +649,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:08+0100\n" "PO-Revision-Date: 2024-02-21 06:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: pt <LL@li.org>\n"
"Language: pt\n" "Language: pt\n"
"MIME-Version: 1.0\n" "Language-Team: pt <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:08+0100\n" "PO-Revision-Date: 2024-02-21 06:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: pt_BR <LL@li.org>\n"
"Language: pt_BR\n" "Language: pt_BR\n"
"MIME-Version: 1.0\n" "Language-Team: pt_BR <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,115 +7,116 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:08+0100\n" "PO-Revision-Date: 2024-02-21 06:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: ru <LL@li.org>\n"
"Language: ru\n" "Language: ru\n"
"Language-Team: ru <LL@li.org>\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"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -123,15 +124,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -190,8 +191,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -244,50 +244,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -307,7 +321,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -320,16 +334,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -363,8 +377,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -375,44 +587,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -427,8 +605,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -441,10 +623,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -467,10 +649,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:08+0100\n" "PO-Revision-Date: 2024-02-21 06:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: sk <LL@li.org>\n"
"Language: sk\n" "Language: sk\n"
"MIME-Version: 1.0\n" "Language-Team: sk <LL@li.org>\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" "Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,115 +7,116 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:08+0100\n" "PO-Revision-Date: 2024-02-21 06:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: sl <LL@li.org>\n"
"Language: sl\n" "Language: sl\n"
"Language-Team: sl <LL@li.org>\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 "
"|| n%100==4 ? 2 : 3);\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -123,15 +124,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -190,8 +191,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -244,50 +244,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -307,7 +321,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -320,16 +334,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -363,8 +377,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -375,44 +587,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -427,8 +605,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -441,10 +623,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -467,10 +649,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:09+0100\n" "PO-Revision-Date: 2024-02-21 06:09+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: sv <LL@li.org>\n"
"Language: sv\n" "Language: sv\n"
"MIME-Version: 1.0\n" "Language-Team: sv <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:09+0100\n" "PO-Revision-Date: 2024-02-21 06:09+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: te <LL@li.org>\n"
"Language: te\n" "Language: te\n"
"MIME-Version: 1.0\n" "Language-Team: te <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:09+0100\n" "PO-Revision-Date: 2024-02-21 06:09+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: tr <LL@li.org>\n"
"Language: tr\n" "Language: tr\n"
"MIME-Version: 1.0\n" "Language-Team: tr <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,115 +7,116 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:09+0100\n" "PO-Revision-Date: 2024-02-21 06:09+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: uk <LL@li.org>\n"
"Language: uk\n" "Language: uk\n"
"Language-Team: uk <LL@li.org>\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"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -123,15 +124,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -190,8 +191,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -244,50 +244,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -307,7 +321,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -320,16 +334,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -363,8 +377,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -375,44 +587,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -427,8 +605,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -441,10 +623,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -467,10 +649,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -7,114 +7,115 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-05-07 23:07+0200\n" "POT-Creation-Date: 2024-05-09 23:14+0200\n"
"PO-Revision-Date: 2024-02-21 06:05+0100\n" "PO-Revision-Date: 2024-02-21 06:05+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: zh_Hans <LL@li.org>\n"
"Language: zh_Hans\n" "Language: zh_Hans\n"
"MIME-Version: 1.0\n" "Language-Team: zh_Hans <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\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" "Generated-By: Babel 2.14.0\n"
#: app.py:152 #: app.py:162
#, python-format #, python-format
msgid "App %(app_id)s not found" msgid "App %(app_id)s not found"
msgstr "" msgstr ""
#: app.py:155 #: app.py:165
msgid "You must be logged in to be able to star an app" msgid "You must be logged in to be able to star an app"
msgstr "" msgstr ""
#: app.py:157 app.py:202 app.py:494 templates/wishlist_add.html:33 #: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33
msgid "" msgid ""
"Note that, due to various abuses, we restricted login on the app store to " "Note that, due to various abuses, we restricted login on the app store to"
"'trust level 1' users.<br/><br/>'Trust level 1' is obtained after " " 'trust level 1' users.<br/><br/>'Trust level 1' is obtained after "
"interacting a minimum with the forum, and more specifically: entering at " "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 " "least 5 topics, reading at least 30 posts, and spending at least 10 "
"reading posts." "minutes reading posts."
msgstr "" msgstr ""
#: app.py:200 #: app.py:210
msgid "You must be logged in to submit an app to the wishlist" msgid "You must be logged in to submit an app to the wishlist"
msgstr "" msgstr ""
#: app.py:215 #: app.py:225
msgid "Invalid CSRF token, please refresh the page and try again" msgid "Invalid CSRF token, please refresh the page and try again"
msgstr "" msgstr ""
#: app.py:253 #: app.py:263
msgid "" msgid ""
"Proposing wishlist additions is limited to once every 15 days per user. " "Proposing wishlist additions is limited to once every 15 days per user. "
"Please try again in a few days." "Please try again in a few days."
msgstr "" msgstr ""
#: app.py:257 #: app.py:267
msgid "App name should be at least 3 characters" msgid "App name should be at least 3 characters"
msgstr "" msgstr ""
#: app.py:258 #: app.py:268
msgid "App name should be less than 30 characters" msgid "App name should be less than 30 characters"
msgstr "" msgstr ""
#: app.py:261 #: app.py:271
msgid "App description should be at least 5 characters" msgid "App description should be at least 5 characters"
msgstr "" msgstr ""
#: app.py:265 #: app.py:275
msgid "App description should be less than 100 characters" msgid "App description should be less than 100 characters"
msgstr "" msgstr ""
#: app.py:269 #: app.py:279
msgid "Upstream code repo URL should be at least 10 characters" msgid "Upstream code repo URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:273 #: app.py:283
msgid "Upstream code repo URL should be less than 150 characters" msgid "Upstream code repo URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:277 #: app.py:287
msgid "License URL should be at least 10 characters" msgid "License URL should be at least 10 characters"
msgstr "" msgstr ""
#: app.py:281 #: app.py:291
msgid "License URL should be less than 250 characters" msgid "License URL should be less than 250 characters"
msgstr "" msgstr ""
#: app.py:283 #: app.py:293
msgid "Website URL should be less than 150 characters" msgid "Website URL should be less than 150 characters"
msgstr "" msgstr ""
#: app.py:286 #: app.py:296
msgid "App name contains special characters" msgid "App name contains special characters"
msgstr "" msgstr ""
#: app.py:293 #: app.py:303
msgid "" msgid ""
"Please focus on what the app does, without using marketing, fuzzy terms, or " "Please focus on what the app does, without using marketing, fuzzy terms, "
"repeating that the app is 'free' and 'self-hostable'." "or repeating that the app is 'free' and 'self-hostable'."
msgstr "" msgstr ""
#: app.py:303 #: app.py:313
msgid "No need to repeat the name of the app. Focus on what the app does." msgid "No need to repeat the name of the app. Focus on what the app does."
msgstr "" msgstr ""
#: app.py:333 #: app.py:343
#, python-format #, python-format
msgid "" msgid ""
"An entry with the name %(slug)s already exists in the wishlist, instead, you " "An entry with the name %(slug)s already exists in the wishlist, instead, "
"can <a href='%(url)s'>add a star to the app to show your interest</a>." "you can <a href='%(url)s'>add a star to the app to show your "
"interest</a>."
msgstr "" msgstr ""
#: app.py:348 #: app.py:358
#, python-format #, python-format
msgid "" msgid ""
"An app with the name %(slug)s already exists in the catalog, <a " "An app with the name %(slug)s already exists in the catalog, <a "
"href='%(url)s'>you can see its page here</a>." "href='%(url)s'>you can see its page here</a>."
msgstr "" msgstr ""
#: app.py:373 #: app.py:383
#, python-format #, python-format
msgid "" msgid ""
"Failed to create the pull request to add the app to the wishlist… Maybe " "Failed to create the pull request to add the app to the wishlist… Maybe "
@ -122,15 +123,15 @@ msgid ""
"please report the issue to the YunoHost team." "please report the issue to the YunoHost team."
msgstr "" msgstr ""
#: app.py:423 #: app.py:433
#, python-format #, python-format
msgid "" msgid ""
"Your proposed app has succesfully been submitted. It must now be validated " "Your proposed app has succesfully been submitted. It must now be "
"by the YunoHost team. You can track progress here: <a href='%(url)s'>" "validated by the YunoHost team. You can track progress here: <a "
"%(url)s</a>" "href='%(url)s'>%(url)s</a>"
msgstr "" msgstr ""
#: app.py:492 #: app.py:528
msgid "Unfortunately, login was denied." msgid "Unfortunately, login was denied."
msgstr "" msgstr ""
@ -189,8 +190,7 @@ msgstr ""
#: templates/app.html:106 #: templates/app.html:106
#, python-format #, python-format
msgid "" msgid "This app is only compatible with these specific architectures: %(archs)s"
"This app is only compatible with these specific architectures: %(archs)s"
msgstr "" msgstr ""
#: templates/app.html:112 #: templates/app.html:112
@ -243,50 +243,64 @@ msgstr ""
msgid "YunoHost package license" msgid "YunoHost package license"
msgstr "" msgstr ""
#: templates/base.html:5 #: templates/base.html:11
msgid "YunoHost app store" msgid "YunoHost app store"
msgstr "" msgstr ""
#: templates/base.html:18 templates/base.html:113 templates/index.html:3 #: templates/base.html:31 templates/base.html:154 templates/index.html:3
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/base.html:27 templates/base.html:122 #: templates/base.html:40 templates/base.html:163 templates/dash.html:66
msgid "Catalog" msgid "Catalog"
msgstr "" msgstr ""
#: templates/base.html:33 templates/base.html:131 #: templates/base.html:46 templates/base.html:172
msgid "Wishlist" msgid "Wishlist"
msgstr "" msgstr ""
#: templates/base.html:46 templates/base.html:141 #: templates/base.html:52
msgid "Packaging dashboard"
msgstr ""
#: templates/base.html:57
msgid "Charts & history"
msgstr ""
#: templates/base.html:71 templates/base.html:182
msgid "YunoHost documentation" msgid "YunoHost documentation"
msgstr "" msgstr ""
#: templates/base.html:54 templates/base.html:151 #: templates/base.html:79 templates/base.html:192
msgid "Login using YunoHost's forum" msgid "Login using YunoHost's forum"
msgstr "" msgstr ""
#: templates/base.html:86 templates/base.html:179 #: templates/base.html:111 templates/base.html:120 templates/base.html:220
#: templates/base.html:229
msgid "Packaging boards"
msgstr ""
#: templates/base.html:127 templates/base.html:237
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: templates/base.html:99 #: templates/base.html:140
msgid "Toggle menu" msgid "Toggle menu"
msgstr "" msgstr ""
#: templates/base.html:197 #: templates/base.html:255
msgid "" msgid ""
"Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> using " "Made with <i class='text-red-500 fa fa-heart-o' aria-label='love'></i> "
"<a class='text-blue-800' href='https://flask.palletsprojects.com'>Flask</a> " "using <a class='text-blue-800' "
"and <a class='text-blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>" "href='https://flask.palletsprojects.com'>Flask</a> and <a class='text-"
"blue-800' href='https://tailwindcss.com/'>TailwindCSS</a>"
msgstr "" msgstr ""
#: templates/base.html:198 #: templates/base.html:256
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: templates/base.html:199 #: templates/base.html:257
msgid "Terms of Services" msgid "Terms of Services"
msgstr "" msgstr ""
@ -306,7 +320,7 @@ msgstr ""
msgid "All apps" msgid "All apps"
msgstr "" msgstr ""
#: templates/catalog.html:117 templates/wishlist.html:39 #: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39
msgid "Sort by" msgid "Sort by"
msgstr "" msgstr ""
@ -319,16 +333,16 @@ msgstr ""
msgid "Newest" msgid "Newest"
msgstr "" msgstr ""
#: templates/catalog.html:125 templates/wishlist.html:46 #: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46
msgid "Alphabetical" msgid "Alphabetical"
msgstr "" msgstr ""
#: templates/catalog.html:128 templates/wishlist.html:49 #: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49
msgid "Requires to be logged-in" msgid "Requires to be logged-in"
msgstr "" msgstr ""
#: templates/catalog.html:130 templates/catalog.html:139 #: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49
#: templates/wishlist.html:51 templates/wishlist.html:60 #: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60
msgid "Show only apps you starred" msgid "Show only apps you starred"
msgstr "" msgstr ""
@ -362,8 +376,206 @@ msgstr ""
#: templates/catalog.html:188 #: templates/catalog.html:188
msgid "" msgid ""
"This means that the developer will no longer update them. We strongly advise " "This means that the developer will no longer update them. We strongly "
"against their installation and advise users to find alternatives." "advise against their installation and advise users to find alternatives."
msgstr ""
#: templates/charts.html:5
msgid "Apps quality level from automatic tests"
msgstr ""
#: templates/charts.html:9
msgid "Apps quality level history"
msgstr ""
#: templates/charts.html:14
msgid "History"
msgstr ""
#: templates/charts.html:22
msgid "Added"
msgstr ""
#: templates/charts.html:28
msgid "Repaired"
msgstr ""
#: templates/charts.html:34
msgid "Broke"
msgstr ""
#: templates/charts.html:40
msgid "Removed"
msgstr ""
#: templates/charts.html:80
msgid "Unknown"
msgstr ""
#: templates/charts.html:81
msgid "Level 0"
msgstr ""
#: templates/charts.html:82
msgid "Level 1"
msgstr ""
#: templates/charts.html:83
msgid "Level 2"
msgstr ""
#: templates/charts.html:84
msgid "Level 3"
msgstr ""
#: templates/charts.html:85
msgid "Level 4"
msgstr ""
#: templates/charts.html:86
msgid "Level 5"
msgstr ""
#: templates/charts.html:87
msgid "Level 6"
msgstr ""
#: templates/charts.html:88
msgid "Level 7"
msgstr ""
#: templates/charts.html:89
msgid "Level 8"
msgstr ""
#: templates/charts.html:107
#, python-format
msgid "Level %(level)s:"
msgstr ""
#: templates/charts.html:107
msgid "Total:"
msgstr ""
#: templates/charts.html:108
#, python-format
msgid "Level %(level)s"
msgstr ""
#: templates/dash.html:3 templates/dash.html:9
msgid "App packaging dashboard"
msgstr ""
#: templates/dash.html:11
msgid ""
"This is where packagers can monitor the status of automatic tests (CI) "
"and ongoing major pull requests accross all apps. If you want to get "
"started with app packaging in YunoHost, please check out the <a class"
"='text-blue-500' href='https://yunohost.org/packaging_apps'>packaging "
"documentation</a> and come say hi to us on the <a class='text-blue-500' "
"href='https://yunohost.org/chat_rooms'>app packaging chatroom</a>!"
msgstr ""
#: templates/dash.html:17
msgid "Filter"
msgstr ""
#: templates/dash.html:23
msgid "(None)"
msgstr ""
#: templates/dash.html:24
msgid "Regressions on main CI"
msgstr ""
#: templates/dash.html:25
msgid "Broken / low quality apps"
msgstr ""
#: templates/dash.html:26
msgid "Outdated tests on main CI"
msgstr ""
#: templates/dash.html:27
msgid "Major regressions on Bookworm CI"
msgstr ""
#: templates/dash.html:28
msgid "Apps with testings PRs"
msgstr ""
#: templates/dash.html:29
msgid "Apps with autoupdate PRs"
msgstr ""
#: templates/dash.html:30
msgid "Packaging v1 apps"
msgstr ""
#: templates/dash.html:41
msgid "Quality level"
msgstr ""
#: templates/dash.html:42 templates/dash.html:173
msgid "Popularity stars"
msgstr ""
#: templates/dash.html:43
msgid "Last update on main/master branch"
msgstr ""
#: templates/dash.html:44
msgid "Last update on testing branch"
msgstr ""
#: templates/dash.html:65
msgid "App"
msgstr ""
#: templates/dash.html:67
msgid "Main CI"
msgstr ""
#: templates/dash.html:68
msgid "Bookworm CI"
msgstr ""
#: templates/dash.html:69
msgid "Testing PR"
msgstr ""
#: templates/dash.html:70
msgid "Autoupdate PR"
msgstr ""
#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131
msgid "Broken"
msgstr ""
#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133
msgid "Low quality"
msgstr ""
#: templates/dash.html:112 templates/dash.html:127
#, python-format
msgid "Outdated test (%(days)s days ago)"
msgstr ""
#: templates/dash.html:150 templates/dash.html:165
#, python-format
msgid "Inactive (%(days)s days ago)"
msgstr ""
#: templates/dash.html:177
msgid "Packaging v1"
msgstr ""
#: templates/dash.html:180
msgid "Deprecated"
msgstr ""
#: templates/dash.html:183
msgid "Not maintained"
msgstr "" msgstr ""
#: templates/index.html:10 #: templates/index.html:10
@ -374,44 +586,10 @@ msgstr ""
msgid "Browse all applications" msgid "Browse all applications"
msgstr "" 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 #: templates/wishlist.html:33 templates/wishlist_add.html:3
msgid "Suggest an app" msgid "Suggest an app"
msgstr "" 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 #: templates/wishlist_add.html:8
msgid "Suggest an application to be added to YunoHost's catalog" msgid "Suggest an application to be added to YunoHost's catalog"
msgstr "" msgstr ""
@ -426,8 +604,12 @@ msgstr ""
#: templates/wishlist_add.html:43 #: templates/wishlist_add.html:43
msgid "" msgid ""
"Reviewing those proposals is tiring for volunteers, please don't yolo-send " "Reviewing those proposals is tiring for volunteers, please don't yolo-"
"every random nerdy stuff you find on the Internet." "send every random nerdy stuff you find on the Internet."
msgstr ""
#: templates/wishlist.html:71 templates/wishlist_add.html:61
msgid "Name"
msgstr "" msgstr ""
#: templates/wishlist_add.html:64 #: templates/wishlist_add.html:64
@ -440,10 +622,10 @@ msgstr ""
#: templates/wishlist_add.html:66 #: templates/wishlist_add.html:66
msgid "" msgid ""
"No need to repeat '[App] is …'. No need to state that it is free/open-source " "No need to repeat '[App] is …'. No need to state that it is free/open-"
"or self-hosted (otherwise it wouldn't be packaged for YunoHost). Avoid " "source or self-hosted (otherwise it wouldn't be packaged for YunoHost). "
"marketing stuff like 'the most', or vague properties like 'easy', 'simple', " "Avoid marketing stuff like 'the most', or vague properties like 'easy', "
"'lightweight'." "'simple', 'lightweight'."
msgstr "" msgstr ""
#: templates/wishlist_add.html:68 #: templates/wishlist_add.html:68
@ -466,10 +648,41 @@ msgstr ""
#: templates/wishlist_add.html:77 #: templates/wishlist_add.html:77
msgid "" msgid ""
"Please *do not* just copy-paste the code repository URL. If the project has " "Please *do not* just copy-paste the code repository URL. If the project "
"no proper website, then leave the field empty." "has no proper website, then leave the field empty."
msgstr "" msgstr ""
#: templates/wishlist_add.html:84 #: templates/wishlist_add.html:84
msgid "Submit" msgid "Submit"
msgstr "" 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: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 ""

View file

@ -94,6 +94,22 @@ get_stars.cache_checksum = None
get_stars() get_stars()
def get_dashboard_data():
path = ".cache/dashboard.json"
mtime = os.path.getmtime(path)
if get_dashboard_data.mtime != mtime:
get_dashboard_data.mtime = mtime
dashboard_data = json.load(open(path))
get_dashboard_data.cache = dashboard_data
return get_dashboard_data.cache
get_dashboard_data.mtime = None
# We don't load this at launch to avoid miserably crashing if it doesn't exists yet
# get_dashboard_data()
def check_wishlist_submit_ratelimit(user): def check_wishlist_submit_ratelimit(user):
dir_ = os.path.join(".wishlist_ratelimit") dir_ = os.path.join(".wishlist_ratelimit")