Localization: add templates strings

This commit is contained in:
augustin64 2024-01-25 16:22:04 +01:00
parent 210ab6c0d3
commit 7acb446837
21 changed files with 903 additions and 155 deletions

View File

@ -75,11 +75,11 @@ Modifier le fichier de configuration créé dans `instance/`
# Extraire les données # Extraire les données
pybabel extract -F babel.cfg -k _l -o partitioncloud/translations/messages.pot . pybabel extract -F babel.cfg -k _l -o partitioncloud/translations/messages.pot .
# Créer un nouveau fichier # Créer un nouveau fichier
pybabel init -i partitioncloud/translations/messages.pot -d partitioncloud/translations -l $COUNTRY_CODE pybabel init -i partitioncloud/translations/messages.pot -d partitioncloud/translations/ -l $COUNTRY_CODE
# Modifier translations/$COUNTRY_CODE/LC_MESSAGES/messages.po # Modifier translations/$COUNTRY_CODE/LC_MESSAGES/messages.po
# Ajouter $COUNTRY_CODE dans default_config.py: LANGUAGES # Ajouter $COUNTRY_CODE dans default_config.py: LANGUAGES
# Compiler les nouvelles translations avant de démarrer le serveur # Compiler les nouvelles translations avant de démarrer le serveur
pybabel compile -d partitioncloud/translations pybabel compile -d partitioncloud/translations/
``` ```
### Mettre à jour une traduction ### Mettre à jour une traduction
@ -88,7 +88,7 @@ pybabel compile -d partitioncloud/translations
# Récupérer les données les plus récentes # Récupérer les données les plus récentes
pybabel extract -F babel.cfg -k _l -o partitioncloud/translations/messages.pot . pybabel extract -F babel.cfg -k _l -o partitioncloud/translations/messages.pot .
# Les ajouter aux traductions # Les ajouter aux traductions
pybabel update -i partitioncloud/translations/messages.pot -d partitioncloud/translations pybabel update -i partitioncloud/translations/messages.pot -d partitioncloud/translations/
``` ```
## TODO ## TODO

26
make.sh
View File

@ -25,6 +25,14 @@ init () {
echo "Utilisateur root:root ajouté" echo "Utilisateur root:root ajouté"
} }
translations () {
# Rajouter les chaînes non traduites
pybabel extract -F babel.cfg -k _l -o partitioncloud/translations/messages.pot .
pybabel update -i partitioncloud/translations/messages.pot -d partitioncloud/translations/
# Compiler
pybabel compile -d partitioncloud/translations/
}
start () { start () {
flask run --port=$PORT flask run --port=$PORT
} }
@ -35,20 +43,30 @@ production () {
--bind 0.0.0.0:$PORT --bind 0.0.0.0:$PORT
} }
load_config () {
# Load variables PORT and INSTANCE_PATH
eval $(cat $1 | grep -E "^PORT=")
eval $(cat $1 | grep -E "^INSTANCE_PATH=")
}
usage () { usage () {
echo "Usage:" echo "Usage:"
echo -e "\t$0 init" echo -e "\t$0 init"
echo -e "\t$0 start" echo -e "\t$0 start"
echo -e "\t$0 production"
echo -e "\t$0 translations"
} }
if [[ $1 && $(type "$1") = *"is a"*"function"* || $(type "$1") == *"est une fonction"* ]]; then RESULT=$(type "$1")
if [[ $1 && $RESULT = *"is a"*"function"* || $RESULT == *"est une fonction"* ]]; then
# Import config # Import config
source "default_config.py" load_config "default_config.py"
[[ ! -x "$INSTANCE_PATH/config.py" ]] && source "$INSTANCE_PATH/config.py" [[ ! -x "$INSTANCE_PATH/config.py" ]] && load_config "$INSTANCE_PATH/config.py"
$1 ${*:2} # Call the function $1 ${*:2} # Call the function
else else
usage usage
echo $(type "$1") echo $RESULT
exit 1 exit 1
fi fi

View File

@ -2,27 +2,27 @@
{% block content %} {% block content %}
<h2>{% block title %}Panneau d'administration{% endblock %}</h2> <h2>{% block title %}{{ _("Panneau d'administration") }}{% endblock %}</h2>
<div id="actions-rapides"> <div id="actions-rapides">
<a href="/add-user"> <a href="/add-user">
<div class="button">Nouvel utilisateur</div> <div class="button">{{ _("Nouvel utilisateur") }}</div>
</a> </a>
<a href="/partition"> <a href="/partition">
<div class="button">Voir les partitions</div> <div class="button">{{ _("Voir les partitions") }}</div>
</a> </a>
<a href="/admin/logs"> <a href="/admin/logs">
<div class="button">Voir les logs</div> <div class="button">{{ _("Voir les logs") }}</div>
</a> </a>
</div> </div>
<div class="x-scrollable"> <div class="x-scrollable">
<table> <table>
<thead> <thead>
<tr> <tr>
<th scope="col">Utilisateur</th> <th scope="col">{{ _("Utilisateur") }}</th>
<th scope="col">Albums</th> <th scope="col">{{ _("Albums") }}</th>
<th scope="col">Partitions</th> <th scope="col">{{ _("Partitions") }}</th>
<th scope="col">Privilèges</th> <th scope="col">{{ _("Privilèges") }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>

View File

@ -2,7 +2,7 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% block header %} {% block header %}
<h1>{% block title %}Logs{% endblock %}</h1> <h1>{% block title %}{{ _("Logs") }}{% endblock %}</h1>
{% endblock %} {% endblock %}
{% block content %} {% block content %}

View File

@ -1,7 +1,7 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% block header %} {% block header %}
<h1>{% block title %}Liste des partitions{% endblock %}</h1> <h1>{% block title %}{{ _("Liste des partitions") }}{% endblock %}</h1>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
@ -28,6 +28,6 @@
{% endfor %} {% endfor %}
</div> </div>
{% else %} {% else %}
<div>Aucune partition disponible</div> <div>{{ _("Aucune partition disponible") }}</div>
{% endif %} {% endif %}
{% endblock %} {% endblock %}

View File

@ -1,15 +1,7 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% block title %}Ajout de partition{% endblock %} {% block title %}{{ _("Ajout de partition") }}{% endblock %}
{% block content %} {% block content %}
<h2>Ajouter une partition à {{ album.name }}</h2> {% include 'components/add_partition.html' %}
<form action="/albums/{{ album.uuid }}/add-partition" method="post" enctype="multipart/form-data">
<input name="name" type="text" placeholder="titre" required/><br/>
<input name="author" type="text" placeholder="auteur"/><br/>
<textarea id="paroles" name="body" type="text" placeholder="paroles"></textarea><br/>
<input name="partition-uuid" value="{{ partition_uuid }}" type="hidden">
<input type="submit" value="Ajouter" />
</form>
{% endblock %} {% endblock %}

View File

@ -5,22 +5,15 @@
{% block dialogs %} {% block dialogs %}
<dialog id="add-partition"> <dialog id="add-partition">
<h2>Ajouter une partition à {{ album.name }}</h2> {% include 'components/add_partition.html' %}
<form action="/albums/{{ album.uuid }}/add-partition" method="post" enctype="multipart/form-data">
<input name="name" type="text" required="" placeholder="Titre"><br/>
<input name="author" type="text" placeholder="Auteur"><br/>
<textarea id="paroles" name="body" type="text" placeholder="Paroles"></textarea><br/>
<input name="file" type="file" accept=".pdf" required=""><br/>
<input type="submit" value="Ajouter">
</form>
<a href="#!" class="close-dialog">Close</a> <a href="#!" class="close-dialog">Close</a>
</dialog> </dialog>
<dialog id="delete"> <dialog id="delete">
<h2>Supprimer l'album</h2> <h2>{{ _("Supprimer l'album") }}</h2>
Êtes vous sûr de vouloir supprimer cet album ? {{ _("Êtes vous sûr de vouloir supprimer cet album ?") }}
<br/><br/> <br/><br/>
<form method="post" action="/albums/{{ album.uuid }}/delete"> <form method="post" action="/albums/{{ album.uuid }}/delete">
<input type="submit" style="background-color: var(--color-red);" value="Supprimer"> <input type="submit" style="background-color: var(--color-red);" value="{{ _('Supprimer') }}">
</form> </form>
<a href="#!" class="close-dialog">Close</a> <a href="#!" class="close-dialog">Close</a>
</dialog> </dialog>
@ -55,16 +48,16 @@
+ +
<div class="dropdown-content dp1"> <div class="dropdown-content dp1">
{% if g.user %} {% if g.user %}
<a href="#add-partition">Ajouter une partition</a> <a href="#add-partition">{{ _("Ajouter une partition") }}</a>
{% endif %} {% endif %}
{% if not_participant %} {% if not_participant %}
<a href="/albums/{{ album.uuid }}/join">Rejoindre</a> <a href="/albums/{{ album.uuid }}/join">{{ _("Rejoindre") }}</a>
{% elif album.users | length > 1 %} {% elif album.users | length > 1 %}
<a href="/albums/{{ album.uuid }}/quit">Quitter</a> <a href="/albums/{{ album.uuid }}/quit">{{ _("Quitter") }}</a>
{% endif %} {% endif %}
<a href="#share">Partager</a> <a href="#share">{{ _("Partager") }}</a>
{% if g.user.access_level == 1 or (not not_participant and album.users | length == 1) %} {% if g.user.access_level == 1 or (not not_participant and album.users | length == 1) %}
<a id="delete-album" href="#delete">Supprimer</a> <a id="delete-album" href="#delete">{{ _("Supprimer") }}</a>
{% endif %} {% endif %}
</div> </div>
</div> </div>
@ -98,6 +91,6 @@
</section> </section>
{% else %} {% else %}
<br/> <br/>
<section id="partitions-grid" style="display: inline;">Aucune partition disponible</section> <section id="partitions-grid" style="display: inline;">{{ _("Aucune partition disponible") }}</section>
{% endif %} {% endif %}
{% endblock %} {% endblock %}

View File

@ -1,14 +1,14 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% block title %}Supprimer {{ album.name }}{% endblock %} {% block title %}{{ _("Supprimer %(name)s", name=album.name) }}{% endblock %}
{% block content %} {% block content %}
Êtes vous sûr de vouloir supprimer cet album ? {{ _("Êtes vous sûr de vouloir supprimer cet album ?") }}
<form method="post"> <form method="post">
<input type="submit" value="Supprimer"> <input type="submit" value="{{ _('Supprimer') }}">
</form> </form>
<a class="button-href" href="/albums/{{ album.uuid }}"> <a class="button-href" href="/albums/{{ album.uuid }}">
<button id="cancel-deletion">Annuler</button> <button id="cancel-deletion">{{ _("Annuler") }}</button>
</a> </a>
{% endblock %} {% endblock %}

View File

@ -1,10 +1,13 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% block title %}Home{% endblock %} {% block title %}{{ _("Home") }}{% endblock %}
{% block content %} {% block content %}
<div style="text-align: center;"> <div style="text-align: center;">
Bonjour <i><b>{{ user.username }}</b></i> !<br/> {% set user_name %}
Aucun album sélectionné <i><b>{{ user.username }}</b></i>
{% endset %}
{{ _("Bonjour %(user_name)s !", user_name=user_name) }}<br/>
{{ _("Aucun album sélectionné") }}
</div> </div>
{% endblock %} {% endblock %}

View File

@ -2,9 +2,9 @@
{% block content %} {% block content %}
<h2>{% block title %}Résultats de la recherche "{{ query }}"{% endblock %}</h2> <h2>{% block title %}{{ _('Résultats de la recherche "%(query)s', query=query)}}{% endblock %}</h2>
{% if partitions|length != 0 %} {% if partitions|length != 0 %}
<h3>Résultats dans la bibliothèque locale</h3> <h3>{{ _("Résultats dans la bibliothèque locale") }}</h3>
<div id="partitions-grid"> <div id="partitions-grid">
{% for partition in partitions %} {% for partition in partitions %}
<div class="partition-container"> <div class="partition-container">
@ -35,14 +35,14 @@
</select> </select>
<input type="hidden" value="{{ partition['uuid'] }}" name="partition-uuid"> <input type="hidden" value="{{ partition['uuid'] }}" name="partition-uuid">
<input type="hidden" value="local_file" name="partition-type"> <input type="hidden" value="local_file" name="partition-type">
<input type="submit" value="Ajouter à l'album" class="add-to-album"> <input type="submit" value="{{ _('Ajouter à l'album') }}" class="add-to-album">
</form> </form>
</div> </div>
{% endfor %} {% endfor %}
</div> </div>
{% endif %} {% endif %}
{% if google_results|length != 0 %} {% if google_results|length != 0 %}
<h3>Résultats de la recherche en ligne</h3> <h3>{{ _("Résultats de la recherche en ligne") }}</h3>
<div id="partitions-grid"> <div id="partitions-grid">
{% for partition in google_results %} {% for partition in google_results %}
<div class="partition-container"> <div class="partition-container">
@ -67,13 +67,13 @@
</select> </select>
<input type="hidden" value="{{ partition['uuid'] }}" name="partition-uuid"> <input type="hidden" value="{{ partition['uuid'] }}" name="partition-uuid">
<input type="hidden" value="online_search" name="partition-type"> <input type="hidden" value="online_search" name="partition-type">
<input type="submit" value="Ajouter à l'album"> <input type="submit" value="{{ _('Ajouter à l'album') }}">
</form> </form>
</div> </div>
{% endfor %} {% endfor %}
</div> </div>
{% endif %} {% endif %}
{% if google_results|length == 0 and partitions|length == 0 %} {% if google_results|length == 0 and partitions|length == 0 %}
Aucun résultat. Essayez d'augmenter le nombre de recherches en ligne ou d'affiner votre recherche. {{ _("Aucun résultat. Essayez d'augmenter le nombre de recherches en ligne ou d'affiner votre recherche.") }}
{% endif %} {% endif %}
{% endblock %} {% endblock %}

View File

@ -2,11 +2,11 @@
{% block content %} {% block content %}
<h2>{% block title %}Connexion{% endblock %}</h2> <h2>{% block title %}{{ _("Connexion") }}{% endblock %}</h2>
<form method="post"> <form method="post">
<input type="text" name="username" id="username" placeholder="Nom d'utilisateur" required><br/> <input type="text" name="username" id="username" placeholder="{{ _('Nom d\'utilisateur') }}" required><br/>
<input type="password" name="password" id="password" placeholder="Mot de passe" required><br/> <input type="password" name="password" id="password" placeholder="{{ _('Mot de passe') }}" required><br/>
<input type="submit" value="Se connecter"> <input type="submit" value="{{ _('Se connecter') }}">
</form> </form>
{% endblock %} {% endblock %}

View File

@ -2,21 +2,21 @@
{% block content %} {% block content %}
<h2>{% block title %}Créer un compte{% endblock %}</h2> <h2>{% block title %}{{ _("Créer un compte") }}{% endblock %}</h2>
<form method="post" id="add-user-form"> <form method="post" id="add-user-form">
{% if g.user.access_level == 1 %} {% if g.user.access_level == 1 %}
<!-- Uniquement pour /add-user --> <!-- Uniquement pour /add-user -->
<label for="album_uuid">Ajouter à un album: </label><br/> <label for="album_uuid">{{ _("Ajouter à un album:") }}</label><br/>
<select name="album_uuid" id="album_uuid" form="add-user-form" style="margin-bottom:15px;"> <select name="album_uuid" id="album_uuid" form="add-user-form" style="margin-bottom:15px;">
<option value="">Aucun</option> <option value="">{{ _("Aucun") }}</option>
{% for album in albums %} {% for album in albums %}
<option value="{{ album['uuid'] }}">{{ album["name"] }}</option> <option value="{{ album['uuid'] }}">{{ album["name"] }}</option>
{% endfor %} {% endfor %}
</select><br/> </select><br/>
{% endif %} {% endif %}
<input type="text" name="username" id="username" placeholder="Nom d'utilisateur" required><br/> <input type="text" name="username" id="username" placeholder="{{ _('Nom d\'utilisateur') }}" required><br/>
<input type="password" name="password" id="password" placeholder="Mot de passe" required><br/> <input type="password" name="password" id="password" placeholder="{{ _('Mot de passe') }}" required><br/>
<input type="submit" value="Créer un compte"> <input type="submit" value="{{ _('Créer un compte') }}">
</form> </form>
{% endblock %} {% endblock %}

View File

@ -20,21 +20,21 @@
{% block dialogs %}{% endblock %} {% block dialogs %}{% endblock %}
{% if g.user %} {% if g.user %}
<dialog id="create-album"> <dialog id="create-album">
<h2>Créer un nouvel album</h2> <h2>{{ _("Créer un nouvel album") }}</h2>
<form action="/albums/create-album" method="post"> <form action="/albums/create-album" method="post">
<input type="text" name="name" id="name" placeholder="Nom" required><br/> <input type="text" name="name" id="name" placeholder="{{ _('Nom') }}" required><br/>
<input type="submit" value="Créer"> <input type="submit" value="{{ _('Créer') }}">
</form> </form>
<br/> <br/>
<br/> <br/>
Je souhaite créer plusieurs albums et pouvoir tous les partager avec un seul lien. <a href="#create-groupe">Créer un groupe</a>. {{ _("Je souhaite créer plusieurs albums et pouvoir tous les partager avec un seul lien.") }} <a href="#create-groupe">{{ _("Créer un groupe") }}</a>.
<a href="#!" class="close-dialog">Close</a> <a href="#!" class="close-dialog">Close</a>
</dialog> </dialog>
<dialog id="create-groupe"> <dialog id="create-groupe">
<h2>Créer un nouveau groupe</h2> <h2>{{ _("Créer un nouveau groupe") }}</h2>
<form action="/groupe/create-groupe" method="post"> <form action="/groupe/create-groupe" method="post">
<input type="text" name="name" id="name" placeholder="Nom" required><br/> <input type="text" name="name" id="name" placeholder="{{ _('Nom') }}" required><br/>
<input type="submit" value="Créer"> <input type="submit" value="{{ _('Créer') }}">
</form> </form>
<a href="#!" class="close-dialog">Close</a> <a href="#!" class="close-dialog">Close</a>
</dialog> </dialog>
@ -58,9 +58,9 @@
<div id="sidebar"> <div id="sidebar">
{% if g.user %} {% if g.user %}
<form id="search-form" action="/albums/search" method="post"> <form id="search-form" action="/albums/search" method="post">
<input type="search" id="search-bar" required="" placeholder="Rechercher" name="query"> <input type="search" id="search-bar" required="" placeholder="{{ _('Rechercher') }}" name="query">
<br> <br>
<select id="nb-queries" name="nb-queries" title="Nombre de recherches en ligne"> <select id="nb-queries" name="nb-queries" title="{{ _('Nombre de recherches en ligne') }}">
{% for i in range(0, user.max_queries+1) %} {% for i in range(0, user.max_queries+1) %}
<option value="{{ i }}">{{ i }}</option> <option value="{{ i }}">{{ i }}</option>
{% endfor %} {% endfor %}
@ -68,11 +68,11 @@
<input id="search-submit" type="submit" value="Go"> <input id="search-submit" type="submit" value="Go">
</form> </form>
{% endif %} {% endif %}
<h2>Albums</h2> <h2>{{ _("Albums") }}</h2>
{% if g.user %} {% if g.user %}
<a href="#create-album"> <a href="#create-album">
<div class="create-button"> <div class="create-button">
Créer un album {{ _("Créer un album") }}
</div> </div>
</a> </a>
{% endif %} {% endif %}
@ -108,7 +108,7 @@
<section id="albums"> <section id="albums">
{% if user.get_albums() | length == 0 %} {% if user.get_albums() | length == 0 %}
<div style="text-align: center;"><i>Aucun album disponible</i></div> <div style="text-align: center;"><i>{{ _("Aucun album disponible") }}</i></div>
{% else %} {% else %}
{% for album in user.albums %} {% for album in user.albums %}
<a href="/albums/{{ album['uuid'] }}"> <a href="/albums/{{ album['uuid'] }}">
@ -122,7 +122,7 @@
</section> </section>
{% else %} {% else %}
<section id="sidebar-navigation"> <section id="sidebar-navigation">
<div style="text-align: center;"><i>Connectez vous pour avoir accès à vos albums</i></div> <div style="text-align: center;"><i>{{ _("Connectez vous pour avoir accès à vos albums") }}</i></div>
</section> </section>
{% endif %} {% endif %}
@ -136,7 +136,7 @@
<path d="M9 12h12l-3 -3"></path> <path d="M9 12h12l-3 -3"></path>
<path d="M18 15l3 -3"></path> <path d="M18 15l3 -3"></path>
</svg> </svg>
Déconnexion {{ _("Déconnexion") }}
</button> </button>
</a><br/> </a><br/>
{% if g.user.access_level == 1 %} {% if g.user.access_level == 1 %}
@ -151,7 +151,7 @@
<path d="M17.27 20l-1.3 .75"></path> <path d="M17.27 20l-1.3 .75"></path>
<path d="M15.97 17.25l1.3 .75"></path> <path d="M15.97 17.25l1.3 .75"></path>
<path d="M20.733 20l1.3 .75"></path> <path d="M20.733 20l1.3 .75"></path>
</svg>Panneau admin </svg>{{ _("Panneau admin") }}
</button></a><br/> </button></a><br/>
{% endif %} {% endif %}
<div class="user"> <div class="user">
@ -163,9 +163,9 @@
</div> </div>
{% else %} {% else %}
{% if not config.DISABLE_REGISTER %} {% if not config.DISABLE_REGISTER %}
<a href="{{ url_for('auth.register') }}"><button>Créer un compte</button></a> <a href="{{ url_for('auth.register') }}"><button>{{ _("Créer un compte") }}</button></a>
{% endif %} {% endif %}
<a href="{{ url_for('auth.login') }}"><button>Se connecter</button></a> <a href="{{ url_for('auth.login') }}"><button>{{ _("Se connecter") }}</button></a>
{% endif %} {% endif %}
</div> </div>
</div> </div>

View File

@ -0,0 +1,11 @@
<h2>{{ _("Ajouter une partition à %(name)s", name=album.name) }}</h2>
<form action="/albums/{{ album.uuid }}/add-partition" method="post" enctype="multipart/form-data">
<input name="name" type="text" placeholder="{{ _('titre') }}" required/><br/>
<input name="author" type="text" placeholder="{{ _('auteur') }}"/><br/>
<textarea id="paroles" name="body" type="text" placeholder="{{ _('paroles') }}"></textarea><br/>
{% if partition_uuid %}
<input name="partition-uuid" value="{{ partition_uuid }}" type="hidden">
{% endif %}
<input type="submit" value="{{ _('Ajouter') }}" />
</form>

View File

@ -5,20 +5,20 @@
{% block dialogs %} {% block dialogs %}
<dialog id="create-groupe-album"> <dialog id="create-groupe-album">
<h2>Créer un nouvel album dans le groupe {{ groupe.name }}</h2> <h2>{{ _("Ajouter un album au groupe %(name)s", name=groupe.name) }}</h2>
<form action="/groupe/{{ groupe.uuid }}/create-album" method="post"> <form action="/groupe/{{ groupe.uuid }}/create-album" method="post">
<input type="text" name="name" id="name" placeholder="Nom" required><br/> <input type="text" name="name" id="name" placeholder="{{ _('Nom') }}" required><br/>
<input type="submit" value="Ajouter"> <input type="submit" value="{{ _('Ajouter') }}">
</form> </form>
<a href="#!" class="close-dialog">Close</a> <a href="#!" class="close-dialog">Close</a>
</dialog> </dialog>
<dialog id="delete"> <dialog id="delete">
<h2>Supprimer le groupe</h2> <h2>{{ _("Supprimer le groupe") }}</h2>
Êtes vous sûr de vouloir supprimer ce groupe ? Cela supprimera les albums {{ _("Êtes vous sûr de vouloir supprimer ce groupe ? Cela supprimera les albums
sous-jacents et leurs partitions si personne ne les a rejoints (indépendamment du groupe). sous-jacents et leurs partitions si personne ne les a rejoints (indépendamment du groupe).") }}
<br/><br/> <br/><br/>
<form method="post" action="/groupe/{{ groupe.uuid }}/delete"> <form method="post" action="/groupe/{{ groupe.uuid }}/delete">
<input type="submit" style="background-color: var(--color-red);" value="Supprimer"> <input type="submit" style="background-color: var(--color-red);" value="{{ _('Supprimer') }}">
</form> </form>
<a href="#!" class="close-dialog">Close</a> <a href="#!" class="close-dialog">Close</a>
</dialog> </dialog>
@ -44,14 +44,14 @@
+ +
<div class="dropdown-content dp1"> <div class="dropdown-content dp1">
{% if not_participant %} {% if not_participant %}
<a href="/groupe/{{ groupe.uuid }}/join">Rejoindre</a> <a href="/groupe/{{ groupe.uuid }}/join">{{ _("Rejoindre") }}</a>
{% elif groupe.users | length > 1 %} {% elif groupe.users | length > 1 %}
<a href="/groupe/{{ groupe.uuid }}/quit">Quitter</a> <a href="/groupe/{{ groupe.uuid }}/quit">{{ _("Quitter") }}</a>
{% endif %} {% endif %}
<a href="#share">Partager</a> <a href="#share">{{ _("Partager") }}</a>
{% if g.user.access_level == 1 or user.id in groupe.get_admins() %} {% if g.user.access_level == 1 or user.id in groupe.get_admins() %}
<a href="#create-groupe-album">Ajouter un album</a> <a href="#create-groupe-album">{{ _("Ajouter un album") }}</a>
<a id="delete-album" href="#delete">Supprimer</a> <a id="delete-album" href="#delete">{{ _("Supprimer") }}</a>
{% endif %} {% endif %}
</div> </div>
</div> </div>
@ -71,6 +71,11 @@
</section> </section>
{% else %} {% else %}
<br/> <br/>
<div id="albums-grid" style="display: inline;">Aucun album disponible. <a href="#create-groupe-album">En créer un</a></div> {% set create %}
<a href="#create-groupe-album">{{ _("En créer un") }}</a>
{% endset %}
<div id="albums-grid" style="display: inline;">
{{ _("Aucun album disponible. %(create)s", create=create) }}
</div>
{% endif %} {% endif %}
{% endblock %} {% endblock %}

View File

@ -2,15 +2,15 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% block title %}Attachments de {{ partition.name }}{% endblock %} {% block title %}{{ _("Attachments de %(name)s", name=partition.name) }}{% endblock %}
{% block dialogs %} {% block dialogs %}
<dialog id="create-attachment"> <dialog id="create-attachment">
<h2>Ajouter un attachment à {{ partition.name }}</h2> <h2>{{ _("Ajouter un attachment à %(name)s", name=partition.name) }}</h2>
<form action="/partition/{{ partition.uuid }}/add-attachment" method="post" enctype="multipart/form-data"> <form action="/partition/{{ partition.uuid }}/add-attachment" method="post" enctype="multipart/form-data">
<input type="text" name="name" id="name" placeholder="Nom"><br/> <input type="text" name="name" id="name" placeholder="{{ _('Nom') }}"><br/>
<input name="file" type="file" accept=".mp3,.mid" required=""><br/> <input name="file" type="file" accept=".mp3,.mid" required=""><br/>
<input type="submit" value="Ajouter"> <input type="submit" value="{{ _('Ajouter') }}">
</form> </form>
<a href="#!" class="close-dialog">Close</a> <a href="#!" class="close-dialog">Close</a>
</dialog> </dialog>
@ -19,8 +19,8 @@
{% block content %} {% block content %}
<object id="pdf-embed" width="400" height="500" type="application/pdf" data="/partition/{{ partition.uuid }}"> <object id="pdf-embed" width="400" height="500" type="application/pdf" data="/partition/{{ partition.uuid }}">
<p> <p>
Impossible d'afficher le pdf dans ce navigateur. {{ _("Impossible d'afficher le pdf dans ce navigateur.
Il est conseillé d'utiliser Firefox sur Android. Il est conseillé d'utiliser Firefox sur Android.") }}
</p> </p>
</object> </object>
@ -43,7 +43,7 @@
src="/partition/attachment/{{ attachment.uuid }}.mid" src="/partition/attachment/{{ attachment.uuid }}.mid"
sound-font visualizer="#midi-visualizer" data-js-focus-visible> sound-font visualizer="#midi-visualizer" data-js-focus-visible>
</midi-player> </midi-player>
<noscript>MIDI support needs JavaScript</noscript> <noscript>{{ _("JavaScript est nécessaire pour lire les fichiers MIDI") }}</noscript>
</td> </td>
<td>🎵 {{ attachment.name }}</td> <td>🎵 {{ attachment.name }}</td>
{% endif %} {% endif %}
@ -57,7 +57,7 @@
<br/> <br/>
{% if user %} {% if user %}
<div class="centered"> <div class="centered">
<a href="#create-attachment"><button>Ajouter un attachment</button></a> <a href="#create-attachment"><button>{{ _("Ajouter un attachment") }}</button></a>
</div> </div>
{% endif %} {% endif %}
{% endblock %} {% endblock %}

View File

@ -1,16 +1,16 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% block header %} {% block header %}
<h1>{% block title %}Supprimer {{ partition.name }}{% endblock %}</h1> <h1>{% block title %}{{ _("Supprimer %(name)s", name=partition.name) }}{% endblock %}</h1>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
Êtes vous sûr de vouloir supprimer cette partition ? {{ _("Êtes vous sûr de vouloir supprimer cette partition ?") }}
<form method="post"> <form method="post">
<input type="submit" id="delete-partition" value="Supprimer"> <input type="submit" id="delete-partition" value="{{ _('Supprimer') }}">
</form> </form>
<a class="button-href" href="/partition/{{ partition.uuid }}/edit"> <a class="button-href" href="/partition/{{ partition.uuid }}/edit">
<button id="cancel-deletion">Annuler</button> <button id="cancel-deletion">{{ _("Annuler") }}</button>
</a> </a>
{% endblock %} {% endblock %}

View File

@ -1,7 +1,7 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% block content %} {% block content %}
<h2>{% block title %}Détails "{{ partition.name }}"{% endblock %}</h2> <h2>{% block title %}{{ _('Détails de "%(name)s"', name=partition.name)}}{% endblock %}</h2>
<br/> <br/>
<form action="/partition/{{ partition.uuid }}/edit" method="post" enctype="multipart/form-data"> <form action="/partition/{{ partition.uuid }}/edit" method="post" enctype="multipart/form-data">
@ -9,7 +9,7 @@
<tbody> <tbody>
<tr> <tr>
<td> <td>
Responsable de l'ajout {{ _("Responsable de l'ajout") }}
</td> </td>
<td> <td>
{% if user is not none %} {% if user is not none %}
@ -20,13 +20,13 @@
</div> </div>
</div> </div>
{% else %} {% else %}
inconnu {{ _("Inconnu") }}
{% endif %} {% endif %}
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
Type d'ajout {{ _("Type d'ajout") }}
</td> </td>
<td> <td>
{% if partition.source == "unknown" or partition.source == "upload" %} {% if partition.source == "unknown" or partition.source == "upload" %}
@ -38,7 +38,7 @@
</tr> </tr>
<tr> <tr>
<td> <td>
Albums {{ _("Albums") }}
</td> </td>
<td class="liste"> <td class="liste">
<ul> <ul>
@ -49,40 +49,41 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>Fichier</td> <td>{{ _("Fichier") }}</td>
<td><a href="/partition/{{ partition.uuid }}"> <td><a href="/partition/{{ partition.uuid }}">
<img class="partition-thumbnail" src="/thumbnails/{{ partition.uuid }}.jpg" loading="lazy"> <img class="partition-thumbnail" src="/thumbnails/{{ partition.uuid }}.jpg" loading="lazy">
</a></td> </a></td>
</tr> </tr>
<tr> <tr>
<td>Titre</td> <td>{{ _("Titre") }}</td>
<td><input name="name" type="text" value="{{ partition.name }}" placeholder="Titre" required /><br/></td> <td><input name="name" type="text" value="{{ partition.name }}" placeholder="{{ _('Titre') }}" required /><br/></td>
</tr> </tr>
<tr> <tr>
<td>Auteur</td> <td>{{ _("Auteur") }}</td>
<td><input name="author" type="text" value="{{ partition.author }}" placeholder="Auteur" /><br/></td> <td><input name="author" type="text" value="{{ partition.author }}" placeholder="{{ _('Auteur') }}" /><br/></td>
</tr> </tr>
<tr> <tr>
<td>Paroles</td> <td>{{ _("Paroles") }}</td>
<td><textarea id="paroles" name="body" type="text" placeholder="Paroles">{{ partition.body }}</textarea><br/></td> <td><textarea id="paroles" name="body" type="text" placeholder="{{ _('Paroles') }}">{{ partition.body }}</textarea><br/></td>
</tr> </tr>
<tr> <tr>
<td>Pièces jointes</td> <td>{{ _("Pièces jointes") }}</td>
{% set _ = partition.load_attachments() %} {% set _ = partition.load_attachments() %}
<td><a href="/partition/{{ partition.uuid }}/attachments"> <td><a href="/partition/{{ partition.uuid }}/attachments">
{% if partition.attachments %} {% if partition.attachments %}
Oui, {{ partition.attachments | length }} {% set number=partition.attachments | length %}
{{ _("Oui, %(number)s", number=number) }}
{% else %} {% else %}
En rajouter {{ _("En rajouter") }}
{% endif %} {% endif %}
</a></td> </a></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<input type="submit" value="Mettre à jour" /> <input type="submit" value="{{ _('Mettre à jour') }}" />
</form> </form>
<a href="/partition/{{ partition.uuid }}/delete"> <a href="/partition/{{ partition.uuid }}/delete">
<button id="delete-partition">Supprimer</button> <button id="delete-partition">{{ _("Supprimer") }}</button>
</a> </a>
{% endblock %} {% endblock %}

View File

@ -3,14 +3,14 @@
{% block content %} {% block content %}
<h2>{% block title %}Modifier "{{ partition.name }}"{% endblock %}</h2> <h2>{% block title %}{{ _("Modifier \"%(name)s\"", name=partition.name) }}{% endblock %}</h2>
<br/> <br/>
<form action="/partition/{{ partition.uuid }}/edit" method="post" enctype="multipart/form-data"> <form action="/partition/{{ partition.uuid }}/edit" method="post" enctype="multipart/form-data">
<table> <table>
<tbody> <tbody>
<tr> <tr>
<td>Fichier</td> <td>{{ _("Fichier") }}</td>
<td><a href="/partition/{{ partition.uuid }}"> <td><a href="/partition/{{ partition.uuid }}">
<img class="partition-thumbnail" src="/thumbnails/{{ partition.uuid }}.jpg" loading="lazy"> <img class="partition-thumbnail" src="/thumbnails/{{ partition.uuid }}.jpg" loading="lazy">
</a></td> </a></td>
@ -18,7 +18,7 @@
{% if partition.source != "unknown" and partition.source != "upload" %} {% if partition.source != "unknown" and partition.source != "upload" %}
<tr> <tr>
<td> <td>
Source {{ _("Source") }}
</td> </td>
<td class="partition-source"> <td class="partition-source">
<a href="{{ partition.source }}">{{ partition.source.split("/")[2] }}</a> <a href="{{ partition.source }}">{{ partition.source.split("/")[2] }}</a>
@ -26,34 +26,35 @@
</tr> </tr>
{% endif %} {% endif %}
<tr> <tr>
<td>Titre</td> <td>{{ _("Titre") }}</td>
<td><input name="name" type="text" value="{{ partition.name }}" placeholder="Titre" required /><br/></td> <td><input name="name" type="text" value="{{ partition.name }}" placeholder="{{ _('Titre') }}" required /><br/></td>
</tr> </tr>
<tr> <tr>
<td>Auteur</td> <td>{{ _("Auteur") }}</td>
<td><input name="author" type="text" value="{{ partition.author }}" placeholder="Auteur" /><br/></td> <td><input name="author" type="text" value="{{ partition.author }}" placeholder="{{ _('Auteur') }}" /><br/></td>
</tr> </tr>
<tr> <tr>
<td>Paroles</td> <td>{{ _("Paroles") }}</td>
<td><textarea id="paroles" name="body" type="text" placeholder="Paroles">{{ partition.body }}</textarea><br/></td> <td><textarea id="paroles" name="body" type="text" placeholder="{{ _('Paroles') }}">{{ partition.body }}</textarea><br/></td>
</tr> </tr>
<tr> <tr>
<td>Pièces jointes</td> <td>{{ _("Pièces jointes") }}</td>
{% set _ = partition.load_attachments() %} {% set _ = partition.load_attachments() %}
<td><a href="/partition/{{ partition.uuid }}/attachments"> <td><a href="/partition/{{ partition.uuid }}/attachments">
{% if partition.attachments %} {% if partition.attachments %}
Oui, {{ partition.attachments | length }} {% set number=partition.attachments | length %}
{{ _("Oui, %(number)s", number=number) }}
{% else %} {% else %}
En rajouter {{ _("En rajouter") }}
{% endif %} {% endif %}
</a></td> </a></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<input type="submit" value="Mettre à jour" /> <input type="submit" value="{{ _('Mettre à jour') }}" />
</form> </form>
<a href="/partition/{{ partition.uuid }}/delete"> <a href="/partition/{{ partition.uuid }}/delete">
<button id="delete-partition">Supprimer</button> <button id="delete-partition">{{ _("Supprimer") }}</button>
</a> </a>
{% endblock %} {% endblock %}

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-01-22 16:04+0100\n" "POT-Creation-Date: 2024-01-25 16:19+0100\n"
"PO-Revision-Date: 2024-01-22 15:38+0100\n" "PO-Revision-Date: 2024-01-22 15:38+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@ -16,15 +16,15 @@ msgstr ""
"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"
"Generated-By: Babel 2.12.1\n" "Generated-By: Babel 2.14.0\n"
#: partitioncloud/__init__.py:136 #: partitioncloud/__init__.py:136
#, fuzzy, python-format #, python-format
msgid "Utilisateur %(username)s créé" msgid "Utilisateur %(username)s créé"
msgstr "Created user %(username)s" msgstr "Created user %(username)s"
#: partitioncloud/__init__.py:139 #: partitioncloud/__init__.py:139
#, fuzzy, python-format #, python-format
msgid "Cet album n'existe pas. L'utilisateur %(username)s a été créé" msgid "Cet album n'existe pas. L'utilisateur %(username)s a été créé"
msgstr "This album does not exists, but user %(username)s has been created" msgstr "This album does not exists, but user %(username)s has been created"
@ -83,7 +83,7 @@ msgid "Les résultats de la recherche ont expiré."
msgstr "Search results expired" msgstr "Search results expired"
#: partitioncloud/modules/albums.py:326 #: partitioncloud/modules/albums.py:326
#, fuzzy, python-format #, python-format
msgid "Partition %(partition_name)s ajoutée" msgid "Partition %(partition_name)s ajoutée"
msgstr "Score %(partition_name)s added" msgstr "Score %(partition_name)s added"
@ -222,3 +222,362 @@ msgstr "You are not allowed to delete this score."
msgid "Partition supprimée." msgid "Partition supprimée."
msgstr "Score deleted." msgstr "Score deleted."
#: partitioncloud/templates/base.html:23
msgid "Créer un nouvel album"
msgstr "New Album"
#: partitioncloud/templates/base.html:25 partitioncloud/templates/base.html:36
#: partitioncloud/templates/groupe/index.html:10
#: partitioncloud/templates/partition/attachments.html:11
msgid "Nom"
msgstr "Name"
#: partitioncloud/templates/base.html:26 partitioncloud/templates/base.html:37
msgid "Créer"
msgstr "Create"
#: partitioncloud/templates/base.html:30
msgid ""
"Je souhaite créer plusieurs albums et pouvoir tous les partager avec un "
"seul lien."
msgstr "I want to create a collection of albums."
#: partitioncloud/templates/base.html:30
msgid "Créer un groupe"
msgstr "Create group"
#: partitioncloud/templates/base.html:34
msgid "Créer un nouveau groupe"
msgstr "Create new group"
#: partitioncloud/templates/base.html:61
msgid "Rechercher"
msgstr "Search"
#: partitioncloud/templates/base.html:63
msgid "Nombre de recherches en ligne"
msgstr "Number of online searches"
#: partitioncloud/templates/admin/index.html:23
#: partitioncloud/templates/base.html:71
#: partitioncloud/templates/partition/details.html:41
msgid "Albums"
msgstr "Albums"
#: partitioncloud/templates/base.html:75
msgid "Créer un album"
msgstr "New album"
#: partitioncloud/templates/base.html:111
msgid "Aucun album disponible"
msgstr "No album available"
#: partitioncloud/templates/base.html:125
msgid "Connectez vous pour avoir accès à vos albums"
msgstr "Log in to see your albums"
#: partitioncloud/templates/base.html:139
msgid "Déconnexion"
msgstr "Log out"
#: partitioncloud/templates/base.html:154
msgid "Panneau admin"
msgstr "Admin Panel"
#: partitioncloud/templates/auth/register.html:5
#: partitioncloud/templates/auth/register.html:20
#: partitioncloud/templates/base.html:166
msgid "Créer un compte"
msgstr "Create account"
#: partitioncloud/templates/auth/login.html:10
#: partitioncloud/templates/base.html:168
msgid "Se connecter"
msgstr "Log in"
#: partitioncloud/templates/admin/index.html:5
msgid "Panneau d'administration"
msgstr "Administration Panel"
#: partitioncloud/templates/admin/index.html:9
msgid "Nouvel utilisateur"
msgstr "New user"
#: partitioncloud/templates/admin/index.html:12
msgid "Voir les partitions"
msgstr "See scores"
#: partitioncloud/templates/admin/index.html:15
msgid "Voir les logs"
msgstr "See logs"
#: partitioncloud/templates/admin/index.html:22
msgid "Utilisateur"
msgstr "User"
#: partitioncloud/templates/admin/index.html:24
msgid "Partitions"
msgstr "Scores"
#: partitioncloud/templates/admin/index.html:25
msgid "Privilèges"
msgstr "Admin privileges"
#: partitioncloud/templates/admin/logs.html:5
msgid "Logs"
msgstr "Logs"
#: partitioncloud/templates/admin/partitions.html:4
msgid "Liste des partitions"
msgstr "Scores list"
#: partitioncloud/templates/admin/partitions.html:31
#: partitioncloud/templates/albums/album.html:94
msgid "Aucune partition disponible"
msgstr "No available scores"
#: partitioncloud/templates/albums/add-partition.html:3
msgid "Ajout de partition"
msgstr "New score"
#: partitioncloud/templates/albums/album.html:12
msgid "Supprimer l'album"
msgstr "Delete album"
#: partitioncloud/templates/albums/album.html:13
#: partitioncloud/templates/albums/delete-album.html:6
msgid "Êtes vous sûr de vouloir supprimer cet album ?"
msgstr "Do you really want to delete this album?"
#: partitioncloud/templates/albums/album.html:16
#: partitioncloud/templates/albums/album.html:60
#: partitioncloud/templates/albums/delete-album.html:8
#: partitioncloud/templates/groupe/index.html:21
#: partitioncloud/templates/groupe/index.html:54
#: partitioncloud/templates/partition/delete.html:10
#: partitioncloud/templates/partition/details.html:86
#: partitioncloud/templates/partition/edit.html:57
msgid "Supprimer"
msgstr "Delete"
#: partitioncloud/templates/albums/album.html:51
msgid "Ajouter une partition"
msgstr "Add a score"
#: partitioncloud/templates/albums/album.html:54
#: partitioncloud/templates/groupe/index.html:47
msgid "Rejoindre"
msgstr "Join"
#: partitioncloud/templates/albums/album.html:56
#: partitioncloud/templates/groupe/index.html:49
msgid "Quitter"
msgstr "Quit"
#: partitioncloud/templates/albums/album.html:58
#: partitioncloud/templates/groupe/index.html:51
msgid "Partager"
msgstr "Share"
#: partitioncloud/templates/albums/delete-album.html:3
#: partitioncloud/templates/partition/delete.html:4
#, python-format
msgid "Supprimer %(name)s"
msgstr "Delete %(name)s"
#: partitioncloud/templates/albums/delete-album.html:11
#: partitioncloud/templates/partition/delete.html:13
msgid "Annuler"
msgstr "Cancel"
#: partitioncloud/templates/albums/index.html:3
msgid "Home"
msgstr "Home"
#: partitioncloud/templates/albums/index.html:10
#, python-format
msgid "Bonjour %(user_name)s !"
msgstr "Hi %(user_name)s !"
#: partitioncloud/templates/albums/index.html:11
msgid "Aucun album sélectionné"
msgstr "No album selected"
#: partitioncloud/templates/auth/login.html:5
msgid "Connexion"
msgstr "Log in"
#: partitioncloud/templates/auth/login.html:8
#: partitioncloud/templates/auth/register.html:18
msgid "Nom d'utilisateur"
msgstr "Username"
#: partitioncloud/templates/auth/login.html:9
#: partitioncloud/templates/auth/register.html:19
msgid "Mot de passe"
msgstr "Password"
#: partitioncloud/templates/auth/register.html:10
msgid "Ajouter à un album:"
msgstr "Add to album:"
#: partitioncloud/templates/auth/register.html:12
msgid "Aucun"
msgstr "None"
#: partitioncloud/templates/components/add_partition.html:1
#, python-format
msgid "Ajouter une partition à %(name)s"
msgstr "Add a score to %(name)s"
#: partitioncloud/templates/components/add_partition.html:4
msgid "titre"
msgstr "title"
#: partitioncloud/templates/components/add_partition.html:5
msgid "auteur"
msgstr "author"
#: partitioncloud/templates/components/add_partition.html:6
msgid "paroles"
msgstr "lyrics"
#: partitioncloud/templates/components/add_partition.html:10
#: partitioncloud/templates/groupe/index.html:11
#: partitioncloud/templates/partition/attachments.html:13
msgid "Ajouter"
msgstr "Add"
#: partitioncloud/templates/groupe/index.html:8
#, python-format
msgid "Ajouter un album au groupe %(name)s"
msgstr "Add an album to group %(name)s"
#: partitioncloud/templates/groupe/index.html:16
msgid "Supprimer le groupe"
msgstr "Delete group"
#: partitioncloud/templates/groupe/index.html:17
msgid ""
"Êtes vous sûr de vouloir supprimer ce groupe ? Cela supprimera les albums"
"\n"
" sous-jacents et leurs partitions si personne ne les a rejoints "
"(indépendamment du groupe)."
msgstr "Do you really want to delete this group and the albums it contains?"
#: partitioncloud/templates/groupe/index.html:53
msgid "Ajouter un album"
msgstr "Add an album"
#: partitioncloud/templates/groupe/index.html:75
msgid "En créer un"
msgstr "Create one"
#: partitioncloud/templates/groupe/index.html:78
#, python-format
msgid "Aucun album disponible. %(create)s"
msgstr "No available album. %(create)s"
#: partitioncloud/templates/partition/attachments.html:5
#, python-format
msgid "Attachments de %(name)s"
msgstr "Attachments of %(name)s"
#: partitioncloud/templates/partition/attachments.html:9
#, python-format
msgid "Ajouter un attachment à %(name)s"
msgstr "Add an attachment to %(name)s"
#: partitioncloud/templates/partition/attachments.html:22
msgid ""
"Impossible d'afficher le pdf dans ce navigateur.\n"
" Il est conseillé d'utiliser Firefox sur Android."
msgstr ""
"No pdf viewer available in this browser.\n"
" You can use Firefox on Android."
#: partitioncloud/templates/partition/attachments.html:46
msgid "JavaScript est nécessaire pour lire les fichiers MIDI"
msgstr "JavaScript is mandatory to read MIDI files"
#: partitioncloud/templates/partition/attachments.html:60
msgid "Ajouter un attachment"
msgstr "Add an attachment"
#: partitioncloud/templates/partition/delete.html:8
msgid "Êtes vous sûr de vouloir supprimer cette partition ?"
msgstr "Do you really want to delete this score?"
#: partitioncloud/templates/partition/details.html:4
#, python-format
msgid "Détails de \"%(name)s\""
msgstr "Details of \"%(name)s\""
#: partitioncloud/templates/partition/details.html:12
msgid "Responsable de l'ajout"
msgstr "Added by"
#: partitioncloud/templates/partition/details.html:23
msgid "Inconnu"
msgstr "Unknown"
#: partitioncloud/templates/partition/details.html:29
msgid "Type d'ajout"
msgstr "Type"
#: partitioncloud/templates/partition/details.html:52
#: partitioncloud/templates/partition/edit.html:13
msgid "Fichier"
msgstr "File"
#: partitioncloud/templates/partition/details.html:58
#: partitioncloud/templates/partition/details.html:59
#: partitioncloud/templates/partition/edit.html:29
#: partitioncloud/templates/partition/edit.html:30
msgid "Titre"
msgstr "Title"
#: partitioncloud/templates/partition/details.html:62
#: partitioncloud/templates/partition/details.html:63
#: partitioncloud/templates/partition/edit.html:33
#: partitioncloud/templates/partition/edit.html:34
msgid "Auteur"
msgstr "Author"
#: partitioncloud/templates/partition/details.html:66
#: partitioncloud/templates/partition/details.html:67
#: partitioncloud/templates/partition/edit.html:37
#: partitioncloud/templates/partition/edit.html:38
msgid "Paroles"
msgstr "Lyrics"
#: partitioncloud/templates/partition/details.html:70
#: partitioncloud/templates/partition/edit.html:41
msgid "Pièces jointes"
msgstr "Attachments"
#: partitioncloud/templates/partition/details.html:75
#: partitioncloud/templates/partition/edit.html:46
#, python-format
msgid "Oui, %(number)s"
msgstr "Yes, %(number)s"
#: partitioncloud/templates/partition/details.html:77
#: partitioncloud/templates/partition/edit.html:48
msgid "En rajouter"
msgstr "Add one"
#: partitioncloud/templates/partition/details.html:83
#: partitioncloud/templates/partition/edit.html:54
msgid "Mettre à jour"
msgstr "Update"
#: partitioncloud/templates/partition/edit.html:6
#, python-format
msgid "Modifier \"%(name)s\""
msgstr "Modify \"%(name)s\""
#: partitioncloud/templates/partition/edit.html:21
msgid "Source"
msgstr "Source"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-01-22 16:04+0100\n" "POT-Creation-Date: 2024-01-25 16:19+0100\n"
"PO-Revision-Date: 2024-01-22 15:24+0100\n" "PO-Revision-Date: 2024-01-22 15:24+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: fr\n" "Language: fr\n"
@ -16,15 +16,15 @@ msgstr ""
"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"
"Generated-By: Babel 2.12.1\n" "Generated-By: Babel 2.14.0\n"
#: partitioncloud/__init__.py:136 #: partitioncloud/__init__.py:136
#, fuzzy, python-format #, python-format
msgid "Utilisateur %(username)s créé" msgid "Utilisateur %(username)s créé"
msgstr "Utilisateur %(username)s créé" msgstr "Utilisateur %(username)s créé"
#: partitioncloud/__init__.py:139 #: partitioncloud/__init__.py:139
#, fuzzy, python-format #, python-format
msgid "Cet album n'existe pas. L'utilisateur %(username)s a été créé" msgid "Cet album n'existe pas. L'utilisateur %(username)s a été créé"
msgstr "Cet album n'existe pas. L'utilisateur %(username)s a été créé" msgstr "Cet album n'existe pas. L'utilisateur %(username)s a été créé"
@ -83,7 +83,7 @@ msgid "Les résultats de la recherche ont expiré."
msgstr "Les résultats de la recherche ont expiré." msgstr "Les résultats de la recherche ont expiré."
#: partitioncloud/modules/albums.py:326 #: partitioncloud/modules/albums.py:326
#, fuzzy, python-format #, python-format
msgid "Partition %(partition_name)s ajoutée" msgid "Partition %(partition_name)s ajoutée"
msgstr "Partition %(partition_name)s ajoutée" msgstr "Partition %(partition_name)s ajoutée"
@ -128,7 +128,7 @@ msgid "Un mot de passe est requis."
msgstr "Un mot de passe est requis." msgstr "Un mot de passe est requis."
#: partitioncloud/modules/auth.py:100 #: partitioncloud/modules/auth.py:100
#, fuzzy, python-format #, python-format
msgid "Le nom d'utilisateur %(username)s est déjà pris." msgid "Le nom d'utilisateur %(username)s est déjà pris."
msgstr "Le nom d'utilisateur %(username)s est déjà pris." msgstr "Le nom d'utilisateur %(username)s est déjà pris."
@ -212,7 +212,7 @@ msgstr "Des paroles sont requises (à minima nulles)"
#: partitioncloud/modules/partition.py:169 #: partitioncloud/modules/partition.py:169
#: partitioncloud/modules/partition.py:215 #: partitioncloud/modules/partition.py:215
#, fuzzy, python-format #, python-format
msgid "Partition %(name)s modifiée avec succès." msgid "Partition %(name)s modifiée avec succès."
msgstr "Partition %(name)s modifiée avec succès." msgstr "Partition %(name)s modifiée avec succès."
@ -224,3 +224,368 @@ msgstr "Vous n'êtes pas autorisé à supprimer cette partition."
msgid "Partition supprimée." msgid "Partition supprimée."
msgstr "Partition supprimée." msgstr "Partition supprimée."
#: partitioncloud/templates/base.html:23
msgid "Créer un nouvel album"
msgstr "Créer un nouvel album"
#: partitioncloud/templates/base.html:25 partitioncloud/templates/base.html:36
#: partitioncloud/templates/groupe/index.html:10
#: partitioncloud/templates/partition/attachments.html:11
msgid "Nom"
msgstr "Nom"
#: partitioncloud/templates/base.html:26 partitioncloud/templates/base.html:37
msgid "Créer"
msgstr "Créer"
#: partitioncloud/templates/base.html:30
msgid ""
"Je souhaite créer plusieurs albums et pouvoir tous les partager avec un "
"seul lien."
msgstr ""
"Je souhaite créer plusieurs albums et pouvoir tous les partager avec un "
"seul lien."
#: partitioncloud/templates/base.html:30
msgid "Créer un groupe"
msgstr "Créer un groupe"
#: partitioncloud/templates/base.html:34
msgid "Créer un nouveau groupe"
msgstr "Créer un nouveau groupe"
#: partitioncloud/templates/base.html:61
msgid "Rechercher"
msgstr "Rechercher"
#: partitioncloud/templates/base.html:63
msgid "Nombre de recherches en ligne"
msgstr "Nombre de recherches en ligne"
#: partitioncloud/templates/admin/index.html:23
#: partitioncloud/templates/base.html:71
#: partitioncloud/templates/partition/details.html:41
msgid "Albums"
msgstr "Albums"
#: partitioncloud/templates/base.html:75
msgid "Créer un album"
msgstr "Créer un album"
#: partitioncloud/templates/base.html:111
msgid "Aucun album disponible"
msgstr "Aucun album disponible"
#: partitioncloud/templates/base.html:125
msgid "Connectez vous pour avoir accès à vos albums"
msgstr "Connectez vous pour avoir accès à vos albums"
#: partitioncloud/templates/base.html:139
msgid "Déconnexion"
msgstr "Déconnexion"
#: partitioncloud/templates/base.html:154
msgid "Panneau admin"
msgstr "Panneau admin"
#: partitioncloud/templates/auth/register.html:5
#: partitioncloud/templates/auth/register.html:20
#: partitioncloud/templates/base.html:166
msgid "Créer un compte"
msgstr "Créer un compte"
#: partitioncloud/templates/auth/login.html:10
#: partitioncloud/templates/base.html:168
msgid "Se connecter"
msgstr "Se connecter"
#: partitioncloud/templates/admin/index.html:5
msgid "Panneau d'administration"
msgstr "Panneau d'administration"
#: partitioncloud/templates/admin/index.html:9
msgid "Nouvel utilisateur"
msgstr "Nouvel utilisateur"
#: partitioncloud/templates/admin/index.html:12
msgid "Voir les partitions"
msgstr "Voir les partitions"
#: partitioncloud/templates/admin/index.html:15
msgid "Voir les logs"
msgstr "Voir les logs"
#: partitioncloud/templates/admin/index.html:22
msgid "Utilisateur"
msgstr "Utilisateur"
#: partitioncloud/templates/admin/index.html:24
msgid "Partitions"
msgstr "Partitions"
#: partitioncloud/templates/admin/index.html:25
msgid "Privilèges"
msgstr "Privilèges"
#: partitioncloud/templates/admin/logs.html:5
msgid "Logs"
msgstr "Logs"
#: partitioncloud/templates/admin/partitions.html:4
msgid "Liste des partitions"
msgstr "Liste des partitions"
#: partitioncloud/templates/admin/partitions.html:31
#: partitioncloud/templates/albums/album.html:94
msgid "Aucune partition disponible"
msgstr "Aucune partition disponible"
#: partitioncloud/templates/albums/add-partition.html:3
msgid "Ajout de partition"
msgstr "Ajout de partition"
#: partitioncloud/templates/albums/album.html:12
msgid "Supprimer l'album"
msgstr "Supprimer l'album"
#: partitioncloud/templates/albums/album.html:13
#: partitioncloud/templates/albums/delete-album.html:6
msgid "Êtes vous sûr de vouloir supprimer cet album ?"
msgstr "Êtes vous sûr de vouloir supprimer cet album ?"
#: partitioncloud/templates/albums/album.html:16
#: partitioncloud/templates/albums/album.html:60
#: partitioncloud/templates/albums/delete-album.html:8
#: partitioncloud/templates/groupe/index.html:21
#: partitioncloud/templates/groupe/index.html:54
#: partitioncloud/templates/partition/delete.html:10
#: partitioncloud/templates/partition/details.html:86
#: partitioncloud/templates/partition/edit.html:57
msgid "Supprimer"
msgstr "Supprimer"
#: partitioncloud/templates/albums/album.html:51
msgid "Ajouter une partition"
msgstr "Ajouter une partition"
#: partitioncloud/templates/albums/album.html:54
#: partitioncloud/templates/groupe/index.html:47
msgid "Rejoindre"
msgstr "Rejoindre"
#: partitioncloud/templates/albums/album.html:56
#: partitioncloud/templates/groupe/index.html:49
msgid "Quitter"
msgstr "Quitter"
#: partitioncloud/templates/albums/album.html:58
#: partitioncloud/templates/groupe/index.html:51
msgid "Partager"
msgstr "Partager"
#: partitioncloud/templates/albums/delete-album.html:3
#: partitioncloud/templates/partition/delete.html:4
#, python-format
msgid "Supprimer %(name)s"
msgstr "Supprimer %(name)s"
#: partitioncloud/templates/albums/delete-album.html:11
#: partitioncloud/templates/partition/delete.html:13
msgid "Annuler"
msgstr "Annuler"
#: partitioncloud/templates/albums/index.html:3
msgid "Home"
msgstr "Accueil"
#: partitioncloud/templates/albums/index.html:10
#, python-format
msgid "Bonjour %(user_name)s !"
msgstr "Bonjour %(user_name)s !"
#: partitioncloud/templates/albums/index.html:11
msgid "Aucun album sélectionné"
msgstr "Aucun album sélectionné"
#: partitioncloud/templates/auth/login.html:5
msgid "Connexion"
msgstr "Connexion"
#: partitioncloud/templates/auth/login.html:8
#: partitioncloud/templates/auth/register.html:18
msgid "Nom d'utilisateur"
msgstr "Nom d'utilisateur"
#: partitioncloud/templates/auth/login.html:9
#: partitioncloud/templates/auth/register.html:19
msgid "Mot de passe"
msgstr "Mot de passe"
#: partitioncloud/templates/auth/register.html:10
msgid "Ajouter à un album:"
msgstr "Ajouter à un album:"
#: partitioncloud/templates/auth/register.html:12
msgid "Aucun"
msgstr "Aucun"
#: partitioncloud/templates/components/add_partition.html:1
#, python-format
msgid "Ajouter une partition à %(name)s"
msgstr "Ajouter une partition à %(name)s"
#: partitioncloud/templates/components/add_partition.html:4
msgid "titre"
msgstr "titre"
#: partitioncloud/templates/components/add_partition.html:5
msgid "auteur"
msgstr "auteur"
#: partitioncloud/templates/components/add_partition.html:6
msgid "paroles"
msgstr "paroles"
#: partitioncloud/templates/components/add_partition.html:10
#: partitioncloud/templates/groupe/index.html:11
#: partitioncloud/templates/partition/attachments.html:13
msgid "Ajouter"
msgstr "Ajouter"
#: partitioncloud/templates/groupe/index.html:8
#, python-format
msgid "Ajouter un album au groupe %(name)s"
msgstr "Ajouter un album au groupe %(name)s"
#: partitioncloud/templates/groupe/index.html:16
msgid "Supprimer le groupe"
msgstr "Supprimer le groupe"
#: partitioncloud/templates/groupe/index.html:17
msgid ""
"Êtes vous sûr de vouloir supprimer ce groupe ? Cela supprimera les albums"
"\n"
" sous-jacents et leurs partitions si personne ne les a rejoints "
"(indépendamment du groupe)."
msgstr ""
"Êtes vous sûr de vouloir supprimer ce groupe ? Cela supprimera les albums"
"\n"
" sous-jacents et leurs partitions si personne ne les a rejoints "
"(indépendamment du groupe)."
#: partitioncloud/templates/groupe/index.html:53
msgid "Ajouter un album"
msgstr "Ajouter un album"
#: partitioncloud/templates/groupe/index.html:75
msgid "En créer un"
msgstr "En créer un"
#: partitioncloud/templates/groupe/index.html:78
#, python-format
msgid "Aucun album disponible. %(create)s"
msgstr "Aucun album disponible. %(create)s"
#: partitioncloud/templates/partition/attachments.html:5
#, python-format
msgid "Attachments de %(name)s"
msgstr "Attachments de %(name)s"
#: partitioncloud/templates/partition/attachments.html:9
#, python-format
msgid "Ajouter un attachment à %(name)s"
msgstr "Ajouter un attachment à %(name)s"
#: partitioncloud/templates/partition/attachments.html:22
msgid ""
"Impossible d'afficher le pdf dans ce navigateur.\n"
" Il est conseillé d'utiliser Firefox sur Android."
msgstr ""
"Impossible d'afficher le pdf dans ce navigateur.\n"
" Il est conseillé d'utiliser Firefox sur Android."
#: partitioncloud/templates/partition/attachments.html:46
msgid "JavaScript est nécessaire pour lire les fichiers MIDI"
msgstr "JavaScript est nécessaire pour lire les fichiers MIDI"
#: partitioncloud/templates/partition/attachments.html:60
msgid "Ajouter un attachment"
msgstr "Ajouter un attachment"
#: partitioncloud/templates/partition/delete.html:8
msgid "Êtes vous sûr de vouloir supprimer cette partition ?"
msgstr "Êtes vous sûr de vouloir supprimer cette partition ?"
#: partitioncloud/templates/partition/details.html:4
#, python-format
msgid "Détails de \"%(name)s\""
msgstr "Détails de \"%(name)s\""
#: partitioncloud/templates/partition/details.html:12
msgid "Responsable de l'ajout"
msgstr "Responsable de l'ajout"
#: partitioncloud/templates/partition/details.html:23
msgid "Inconnu"
msgstr "Inconnu"
#: partitioncloud/templates/partition/details.html:29
msgid "Type d'ajout"
msgstr "Type d'ajout"
#: partitioncloud/templates/partition/details.html:52
#: partitioncloud/templates/partition/edit.html:13
msgid "Fichier"
msgstr "Fichier"
#: partitioncloud/templates/partition/details.html:58
#: partitioncloud/templates/partition/details.html:59
#: partitioncloud/templates/partition/edit.html:29
#: partitioncloud/templates/partition/edit.html:30
msgid "Titre"
msgstr "Titre"
#: partitioncloud/templates/partition/details.html:62
#: partitioncloud/templates/partition/details.html:63
#: partitioncloud/templates/partition/edit.html:33
#: partitioncloud/templates/partition/edit.html:34
msgid "Auteur"
msgstr "Auteur"
#: partitioncloud/templates/partition/details.html:66
#: partitioncloud/templates/partition/details.html:67
#: partitioncloud/templates/partition/edit.html:37
#: partitioncloud/templates/partition/edit.html:38
msgid "Paroles"
msgstr "Paroles"
#: partitioncloud/templates/partition/details.html:70
#: partitioncloud/templates/partition/edit.html:41
msgid "Pièces jointes"
msgstr "Pièces jointes"
#: partitioncloud/templates/partition/details.html:75
#: partitioncloud/templates/partition/edit.html:46
#, python-format
msgid "Oui, %(number)s"
msgstr "Oui, %(number)s"
#: partitioncloud/templates/partition/details.html:77
#: partitioncloud/templates/partition/edit.html:48
msgid "En rajouter"
msgstr "En rajouter"
#: partitioncloud/templates/partition/details.html:83
#: partitioncloud/templates/partition/edit.html:54
msgid "Mettre à jour"
msgstr "Mettre à jour"
#: partitioncloud/templates/partition/edit.html:6
#, python-format
msgid "Modifier \"%(name)s\""
msgstr "Modifier \"%(name)s\""
#: partitioncloud/templates/partition/edit.html:21
msgid "Source"
msgstr "Source"