Compare commits

..

No commits in common. "c219f28a37583f17625b99bc00f42be8e9ec9303" and "7acb44683748a4b3289f890d7e238dc455c76eab" have entirely different histories.

23 changed files with 468 additions and 500 deletions

View File

@ -132,10 +132,10 @@ def add_user():
try:
if album_uuid != "":
user.join_album(album_uuid)
flash(_("Created user %(username)s", username=username))
flash(_("Utilisateur %(username)s créé", username=username))
return redirect("/albums")
except LookupError:
flash(_("This album does not exists, but user %(username)s has been created", username=username))
flash(_("Cet album n'existe pas. L'utilisateur %(username)s a été créé", username=username))
return redirect("/albums")
flash(error)

View File

@ -38,7 +38,7 @@ def search_page():
Résultats de recherche
"""
if "query" not in request.form or request.form["query"] == "":
flash(_("Missing search query"))
flash(_("Aucun terme de recherche spécifié."))
return redirect("/albums")
query = request.form["query"]
@ -120,7 +120,7 @@ def create_album_req():
user = User(user_id=session["user_id"])
if not name or name.strip() == "":
error = _("Missing name.")
error = _("Un nom est requis. L'album n'a pas été créé")
if error is None:
uuid = utils.create_album(name)
@ -157,10 +157,10 @@ def join_album(uuid):
try:
user.join_album(uuid)
except LookupError:
flash(_("This album does not exist."))
flash(_("Cet album n'existe pas."))
return redirect(request.referrer)
flash(_("Album added to collection."))
flash(_("Album ajouté à la collection."))
return redirect(request.referrer)
@ -174,15 +174,15 @@ def quit_album(uuid):
album = Album(uuid=uuid)
users = album.get_users()
if user.id not in [u["id"] for u in users]:
flash(_("You are not a member of this album"))
flash(_("Vous ne faites pas partie de cet album"))
return redirect(request.referrer)
if len(users) == 1:
flash(_("You are alone here, quitting means deleting this album."))
flash(_("Vous êtes seul dans cet album, le quitter entraînera sa suppression."))
return redirect(f"/albums/{uuid}#delete")
user.quit_album(uuid)
flash(_("Album quitted."))
flash(_("Album quitté."))
return redirect("/albums")
@ -201,9 +201,9 @@ def delete_album(uuid):
error = None
users = album.get_users()
if len(users) > 1:
error = _("You are not alone in this album.")
error = _("Vous n'êtes pas seul dans cet album.")
elif len(users) == 1 and users[0]["id"] != user.id:
error = _("You don't own this album.")
error = _("Vous ne possédez pas cet album.")
if user.access_level == 1:
error = None
@ -214,7 +214,7 @@ def delete_album(uuid):
album.delete(current_app.instance_path)
flash(_("Album deleted."))
flash(_("Album supprimé."))
return redirect("/albums")
@ -237,15 +237,15 @@ def add_partition(album_uuid):
source = "upload" # source type: upload, unknown or url
if (not user.is_participant(album.uuid)) and (user.access_level != 1):
flash(_("You are not a member of this album"))
flash(_("Vous ne faites pas partie de cet album"))
return redirect(request.referrer)
error = None
if "name" not in request.form:
error = _("Missing title")
error = _("Un titre est requis.")
elif "file" not in request.files and "partition-uuid" not in request.form:
error = _("Missing file")
error = _("Aucun fichier n'a été fourni.")
elif "file" not in request.files:
partition_type = "uuid"
search_uuid = request.form["partition-uuid"]
@ -257,7 +257,7 @@ def add_partition(album_uuid):
(search_uuid,)
).fetchone()
if data is None:
error = _("Search results expired")
error = _("Les résultats de la recherche ont expiré.")
else:
source = data["url"]
else:
@ -323,7 +323,7 @@ def add_partition(album_uuid):
"status": "ok",
"uuid": partition_uuid
}
flash(_("Score %(partition_name)s added", partition_name=request.form['name']))
flash(_("Partition %(partition_name)s ajoutée", partition_name=request.form['name']))
return redirect(f"/albums/{album.uuid}")
@ -337,13 +337,13 @@ def add_partition_from_search():
error = None
if "album-uuid" not in request.form:
error = _("Selecting an album is mandatory.")
error = _("Il est nécessaire de sélectionner un album.")
elif "partition-uuid" not in request.form:
error = _("Selecting a score is mandatory.")
error = _("Il est nécessaire de sélectionner une partition.")
elif "partition-type" not in request.form:
error = _("Please specify a score type.")
error = _("Il est nécessaire de spécifier un type de partition.")
elif (not user.is_participant(request.form["album-uuid"])) and (user.access_level != 1):
error = _("You are not a member of this album")
error = _("Vous ne faites pas partie de cet album")
if error is not None:
flash(error)
@ -363,9 +363,9 @@ def add_partition_from_search():
if data is None:
album.add_partition(request.form["partition-uuid"])
flash(_("Score added"))
flash(_("Partition ajoutée."))
else:
flash(_("Score is already in the album."))
flash(_("Partition déjà dans l'album."))
return redirect(f"/albums/{album.uuid}")
@ -377,5 +377,5 @@ def add_partition_from_search():
user=user
)
flash(_("Unknown score type."))
flash(_("Type de partition inconnu."))
return redirect("/albums")

View File

@ -24,7 +24,7 @@ def login_required(view):
@functools.wraps(view)
def wrapped_view(**kwargs):
if g.user is None:
flash(_("You need to login to access this resource."))
flash(_("Vous devez être connecté pour accéder à cette page."))
return redirect(url_for("auth.login"))
return view(**kwargs)
@ -51,12 +51,12 @@ def admin_required(view):
@functools.wraps(view)
def wrapped_view(**kwargs):
if g.user is None:
flash(_("You need to login to access this resource."))
flash(_("Vous devez être connecté pour accéder à cette page."))
return redirect(url_for("auth.login"))
user = User(user_id=session.get("user_id"))
if user.access_level != 1:
flash(_("Missing rights."))
flash(_("Droits insuffisants."))
return redirect("/albums")
return view(**kwargs)
@ -82,9 +82,9 @@ def create_user(username: str, password: str) -> Optional[str]:
"""Adds a new user to the database"""
error = None
if not username:
error = _("Missing username.")
error = _("Un nom d'utilisateur est requis.")
elif not password:
error = _("Missing password.")
error = _("Un mot de passe est requis.")
try:
db = get_db()
@ -97,7 +97,7 @@ def create_user(username: str, password: str) -> Optional[str]:
except db.IntegrityError:
# The username was already taken, which caused the
# commit to fail. Show a validation error.
error = _("Username %(username)s is not available.", username=username)
error = _("Le nom d'utilisateur %(username)s est déjà pris.", username=username)
return error # may be None
@ -110,7 +110,7 @@ def register():
password for security.
"""
if current_app.config["DISABLE_REGISTER"]:
flash(_("New users registration is disabled by owner."))
flash(_("L'enregistrement de nouveaux utilisateurs a été désactivé par l'administrateur."))
return redirect(url_for("auth.login"))
if request.method == "POST":
@ -124,7 +124,7 @@ def register():
else:
user = User(name=username)
flash(_("Successfully created new user. You can log in."))
flash(_("Utilisateur créé avec succès. Vous pouvez vous connecter."))
logging.log(
[user.username, user.id, False],
@ -149,7 +149,7 @@ def login():
if (user is None) or not check_password_hash(user["password"], password):
logging.log([username], logging.LogEntry.FAILED_LOGIN)
error = _("Incorrect username or password")
error = _("Nom d'utilisateur ou mot de passe incorrect.")
if error is None:
# store the user id in a new session and return to the index

View File

@ -68,7 +68,7 @@ def create_groupe():
user = User(user_id=session["user_id"])
if not name or name.strip() == "":
error = _("Missing name.")
error = _("Un nom est requis. Le groupe n'a pas été créé")
if error is None:
while True:
@ -117,10 +117,10 @@ def join_groupe(uuid):
try:
user.join_groupe(uuid)
except LookupError:
flash(_("Unknown group."))
flash(_("Ce groupe n'existe pas."))
return redirect(f"/groupe/{uuid}")
flash(_("Group added to collection."))
flash(_("Groupe ajouté à la collection."))
return redirect(f"/groupe/{uuid}")
@ -131,15 +131,15 @@ def quit_groupe(uuid):
groupe = Groupe(uuid=uuid)
users = groupe.get_users()
if user.id not in [u["id"] for u in users]:
flash(_("You are not a member of this group."))
flash(_("Vous ne faites pas partie de ce groupe"))
return redirect(f"/groupe/{uuid}")
if len(users) == 1:
flash(_("You are alone here, quitting means deleting this group."))
flash(_("Vous êtes seul dans ce groupe, le quitter entraînera sa suppression."))
return redirect(f"/groupe/{uuid}#delete")
user.quit_groupe(groupe.uuid)
flash(_("Group quitted."))
flash(_("Groupe quitté."))
return redirect("/albums")
@ -152,7 +152,7 @@ def delete_groupe(uuid):
error = None
users = groupe.get_users()
if len(users) > 1:
error = _("You are not alone in this group.")
error = _("Vous n'êtes pas seul dans ce groupe.")
if user.access_level == 1 or user.id not in groupe.get_admins():
error = None
@ -163,7 +163,7 @@ def delete_groupe(uuid):
groupe.delete(current_app.instance_path)
flash(_("Group deleted."))
flash(_("Groupe supprimé."))
return redirect("/albums")
@ -182,10 +182,10 @@ def create_album_req(groupe_uuid):
error = None
if not name or name.strip() == "":
error = _("Missing name.")
error = _("Un nom est requis. L'album n'a pas été créé")
if user.id not in groupe.get_admins():
error = _("You are not admin of this group.")
error = _("Vous n'êtes pas administrateur de ce groupe")
if error is None:
uuid = utils.create_album(name)

View File

@ -55,12 +55,12 @@ def add_attachment(uuid):
user = User(user_id=session.get("user_id"))
if user.id != partition.user_id and user.access_level != 1:
flash(_("You don't own this score."))
flash(_("Cette partition ne vous appartient pas"))
return redirect(request.referrer)
error = None # À mettre au propre
if "file" not in request.files:
error = _("Missing file")
error = _("Aucun fichier n'a été fourni.")
else:
if "name" not in request.form or request.form["name"] == "":
name = ".".join(request.files["file"].filename.split(".")[:-1])
@ -68,12 +68,12 @@ def add_attachment(uuid):
name = request.form["name"]
if name == "":
error = _("Missing filename.")
error = _("Pas de nom de fichier")
else:
filename = request.files["file"].filename
ext = filename.split(".")[-1]
if ext not in ["mid", "mp3"]:
error = _("Unsupported file type.")
error = _("Extension de fichier non supportée")
if error is not None:
flash(error)
@ -141,7 +141,7 @@ def edit(uuid):
user = User(user_id=session.get("user_id"))
if user.access_level != 1 and partition.user_id != user.id:
flash(_("You are not allowed to edit this file."))
flash(_("Vous n'êtes pas autorisé à modifier cette partition."))
return redirect("/albums")
if request.method == "GET":
@ -150,11 +150,11 @@ def edit(uuid):
error = None
if "name" not in request.form or request.form["name"].strip() == "":
error = _("Missing title")
error = _("Un titre est requis.")
elif "author" not in request.form:
error = _("Missing author in request body (can be null).")
error = _("Un nom d'auteur est requis (à minima nul)")
elif "body" not in request.form:
error = _("Missing lyrics (can be null).")
error = _("Des paroles sont requises (à minima nulles)")
if error is not None:
flash(error)
@ -166,7 +166,7 @@ def edit(uuid):
body=request.form["body"]
)
flash(_("Successfully modified %(name)s", name=request.form['name']))
flash(_("Partition %(name)s modifiée avec succès.", name=request.form['name']))
return redirect("/albums")
@ -196,11 +196,11 @@ def details(uuid):
error = None
if "name" not in request.form or request.form["name"].strip() == "":
error = _("Missing title")
error = _("Un titre est requis.")
elif "author" not in request.form:
error = _("Missing author in request body (can be null).")
error = _("Un nom d'auteur est requis (à minima nul)")
elif "body" not in request.form:
error = _("Missing lyrics (can be null).")
error = _("Des paroles sont requises (à minima nulles)")
if error is not None:
flash(error)
@ -212,7 +212,7 @@ def details(uuid):
body=request.form["body"]
)
flash(_("Successfully modified %(name)s", name=request.form['name']))
flash(_("Partition %(name)s modifiée avec succès.", name=request.form['name']))
return redirect("/albums")
@ -227,7 +227,7 @@ def delete(uuid):
user = User(user_id=session.get("user_id"))
if user.access_level != 1 and partition.user_id != user.id:
flash(_("You are not allowed to delete this score."))
flash(_("Vous n'êtes pas autorisé à supprimer cette partition."))
return redirect("/albums")
if request.method == "GET":
@ -235,7 +235,7 @@ def delete(uuid):
partition.delete(current_app.instance_path)
flash(_("Score deleted."))
flash(_("Partition supprimée."))
return redirect("/albums")

View File

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

View File

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

View File

@ -1,6 +1,6 @@
{% extends 'base.html' %}
{% block title %}{{ _("New score") }}{% endblock %}
{% block title %}{{ _("Ajout de partition") }}{% endblock %}
{% block content %}
{% include 'components/add_partition.html' %}

View File

@ -9,11 +9,11 @@
<a href="#!" class="close-dialog">Close</a>
</dialog>
<dialog id="delete">
<h2>{{ _("Delete l'album") }}</h2>
{{ _("Do you really want to delete this album?") }}
<h2>{{ _("Supprimer l'album") }}</h2>
{{ _("Êtes vous sûr de vouloir supprimer cet album ?") }}
<br/><br/>
<form method="post" action="/albums/{{ album.uuid }}/delete">
<input type="submit" style="background-color: var(--color-red);" value="{{ _('Delete') }}">
<input type="submit" style="background-color: var(--color-red);" value="{{ _('Supprimer') }}">
</form>
<a href="#!" class="close-dialog">Close</a>
</dialog>
@ -48,16 +48,16 @@
+
<div class="dropdown-content dp1">
{% if g.user %}
<a href="#add-partition">{{ _("Add a score") }}</a>
<a href="#add-partition">{{ _("Ajouter une partition") }}</a>
{% endif %}
{% if not_participant %}
<a href="/albums/{{ album.uuid }}/join">{{ _("Join") }}</a>
<a href="/albums/{{ album.uuid }}/join">{{ _("Rejoindre") }}</a>
{% elif album.users | length > 1 %}
<a href="/albums/{{ album.uuid }}/quit">{{ _("Quit") }}</a>
<a href="/albums/{{ album.uuid }}/quit">{{ _("Quitter") }}</a>
{% endif %}
<a href="#share">{{ _("Share") }}</a>
<a href="#share">{{ _("Partager") }}</a>
{% if g.user.access_level == 1 or (not not_participant and album.users | length == 1) %}
<a id="delete-album" href="#delete">{{ _("Delete") }}</a>
<a id="delete-album" href="#delete">{{ _("Supprimer") }}</a>
{% endif %}
</div>
</div>
@ -91,6 +91,6 @@
</section>
{% else %}
<br/>
<section id="partitions-grid" style="display: inline;">{{ _("No available scores") }}</section>
<section id="partitions-grid" style="display: inline;">{{ _("Aucune partition disponible") }}</section>
{% endif %}
{% endblock %}

View File

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

View File

@ -7,7 +7,7 @@
{% set user_name %}
<i><b>{{ user.username }}</b></i>
{% endset %}
{{ _("Hi %(user_name)s !", user_name=user_name) }}<br/>
{{ _("No album selected") }}
{{ _("Bonjour %(user_name)s !", user_name=user_name) }}<br/>
{{ _("Aucun album sélectionné") }}
</div>
{% endblock %}

View File

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

View File

@ -2,11 +2,11 @@
{% block content %}
<h2>{% block title %}{{ _("Log in") }}{% endblock %}</h2>
<h2>{% block title %}{{ _("Connexion") }}{% endblock %}</h2>
<form method="post">
<input type="text" name="username" id="username" placeholder="{{ _('Username') }}" required><br/>
<input type="password" name="password" id="password" placeholder="{{ _('Password') }}" required><br/>
<input type="submit" value="{{ _('Log in') }}">
<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="submit" value="{{ _('Se connecter') }}">
</form>
{% endblock %}

View File

@ -2,21 +2,21 @@
{% block content %}
<h2>{% block title %}{{ _("Create account") }}{% endblock %}</h2>
<h2>{% block title %}{{ _("Créer un compte") }}{% endblock %}</h2>
<form method="post" id="add-user-form">
{% if g.user.access_level == 1 %}
<!-- Uniquement pour /add-user -->
<label for="album_uuid">{{ _("Add to 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;">
<option value="">{{ _("None") }}</option>
<option value="">{{ _("Aucun") }}</option>
{% for album in albums %}
<option value="{{ album['uuid'] }}">{{ album["name"] }}</option>
{% endfor %}
</select><br/>
{% endif %}
<input type="text" name="username" id="username" placeholder="{{ _('Username') }}" required><br/>
<input type="password" name="password" id="password" placeholder="{{ _('Password') }}" required><br/>
<input type="submit" value="{{ _('Create account') }}">
<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="submit" value="{{ _('Créer un compte') }}">
</form>
{% endblock %}

View File

@ -20,21 +20,21 @@
{% block dialogs %}{% endblock %}
{% if g.user %}
<dialog id="create-album">
<h2>{{ _("New Album") }}</h2>
<h2>{{ _("Créer un nouvel album") }}</h2>
<form action="/albums/create-album" method="post">
<input type="text" name="name" id="name" placeholder="{{ _('Name') }}" required><br/>
<input type="submit" value="{{ _('Create') }}">
<input type="text" name="name" id="name" placeholder="{{ _('Nom') }}" required><br/>
<input type="submit" value="{{ _('Créer') }}">
</form>
<br/>
<br/>
{{ _("I want to create a collection of albums.") }} <a href="#create-groupe">{{ _("Create group") }}</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>
</dialog>
<dialog id="create-groupe">
<h2>{{ _("Create new group") }}</h2>
<h2>{{ _("Créer un nouveau groupe") }}</h2>
<form action="/groupe/create-groupe" method="post">
<input type="text" name="name" id="name" placeholder="{{ _('Name') }}" required><br/>
<input type="submit" value="{{ _('Create') }}">
<input type="text" name="name" id="name" placeholder="{{ _('Nom') }}" required><br/>
<input type="submit" value="{{ _('Créer') }}">
</form>
<a href="#!" class="close-dialog">Close</a>
</dialog>
@ -58,9 +58,9 @@
<div id="sidebar">
{% if g.user %}
<form id="search-form" action="/albums/search" method="post">
<input type="search" id="search-bar" required="" placeholder="{{ _('Search') }}" name="query">
<input type="search" id="search-bar" required="" placeholder="{{ _('Rechercher') }}" name="query">
<br>
<select id="nb-queries" name="nb-queries" title="{{ _('Number of online searches') }}">
<select id="nb-queries" name="nb-queries" title="{{ _('Nombre de recherches en ligne') }}">
{% for i in range(0, user.max_queries+1) %}
<option value="{{ i }}">{{ i }}</option>
{% endfor %}
@ -72,7 +72,7 @@
{% if g.user %}
<a href="#create-album">
<div class="create-button">
{{ _("New album") }}
{{ _("Créer un album") }}
</div>
</a>
{% endif %}
@ -89,7 +89,7 @@
</summary>
<div class="groupe-albums-cover">
{% if groupe.get_albums() | length == 0 %}
{{ _("No albums") }}
Aucun album
{% else %}
{% for album in groupe.get_albums() %}
<a href="/groupe/{{ groupe.uuid }}/{{ album['uuid'] }}">
@ -108,7 +108,7 @@
<section id="albums">
{% if user.get_albums() | length == 0 %}
<div style="text-align: center;"><i>{{ _("No album available") }}</i></div>
<div style="text-align: center;"><i>{{ _("Aucun album disponible") }}</i></div>
{% else %}
{% for album in user.albums %}
<a href="/albums/{{ album['uuid'] }}">
@ -122,7 +122,7 @@
</section>
{% else %}
<section id="sidebar-navigation">
<div style="text-align: center;"><i>{{ _("Log in to see your albums") }}</i></div>
<div style="text-align: center;"><i>{{ _("Connectez vous pour avoir accès à vos albums") }}</i></div>
</section>
{% endif %}
@ -136,7 +136,7 @@
<path d="M9 12h12l-3 -3"></path>
<path d="M18 15l3 -3"></path>
</svg>
{{ _("Log out") }}
{{ _("Déconnexion") }}
</button>
</a><br/>
{% if g.user.access_level == 1 %}
@ -151,7 +151,7 @@
<path d="M17.27 20l-1.3 .75"></path>
<path d="M15.97 17.25l1.3 .75"></path>
<path d="M20.733 20l1.3 .75"></path>
</svg>{{ _("Admin Panel") }}
</svg>{{ _("Panneau admin") }}
</button></a><br/>
{% endif %}
<div class="user">
@ -163,9 +163,9 @@
</div>
{% else %}
{% if not config.DISABLE_REGISTER %}
<a href="{{ url_for('auth.register') }}"><button>{{ _("Create account") }}</button></a>
<a href="{{ url_for('auth.register') }}"><button>{{ _("Créer un compte") }}</button></a>
{% endif %}
<a href="{{ url_for('auth.login') }}"><button>{{ _("Log in") }}</button></a>
<a href="{{ url_for('auth.login') }}"><button>{{ _("Se connecter") }}</button></a>
{% endif %}
</div>
</div>

View File

@ -1,13 +1,11 @@
<h2>{{ _("Add a score to %(name)s", name=album.name) }}</h2>
<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="{{ _('title') }}" required/><br/>
<input name="author" type="text" placeholder="{{ _('author') }}"/><br/>
<textarea id="lyrics" name="body" type="text" placeholder="{{ _('lyrics') }}"></textarea><br/>
<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">
{% else %}
<input name="file" type="file" accept=".pdf" required=""><br/>
{% endif %}
<input type="submit" value="{{ _('Add') }}" />
<input type="submit" value="{{ _('Ajouter') }}" />
</form>

View File

@ -5,19 +5,20 @@
{% block dialogs %}
<dialog id="create-groupe-album">
<h2>{{ _("Add an album to group %(name)s", name=groupe.name) }}</h2>
<h2>{{ _("Ajouter un album au groupe %(name)s", name=groupe.name) }}</h2>
<form action="/groupe/{{ groupe.uuid }}/create-album" method="post">
<input type="text" name="name" id="name" placeholder="{{ _('Name') }}" required><br/>
<input type="submit" value="{{ _('Add') }}">
<input type="text" name="name" id="name" placeholder="{{ _('Nom') }}" required><br/>
<input type="submit" value="{{ _('Ajouter') }}">
</form>
<a href="#!" class="close-dialog">Close</a>
</dialog>
<dialog id="delete">
<h2>{{ _("Delete group") }}</h2>
{{ _("Do you really want to delete this group and the albums it contains?") }}
<h2>{{ _("Supprimer le groupe") }}</h2>
{{ _("Ê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).") }}
<br/><br/>
<form method="post" action="/groupe/{{ groupe.uuid }}/delete">
<input type="submit" style="background-color: var(--color-red);" value="{{ _('Delete') }}">
<input type="submit" style="background-color: var(--color-red);" value="{{ _('Supprimer') }}">
</form>
<a href="#!" class="close-dialog">Close</a>
</dialog>
@ -43,14 +44,14 @@
+
<div class="dropdown-content dp1">
{% if not_participant %}
<a href="/groupe/{{ groupe.uuid }}/join">{{ _("Join") }}</a>
<a href="/groupe/{{ groupe.uuid }}/join">{{ _("Rejoindre") }}</a>
{% elif groupe.users | length > 1 %}
<a href="/groupe/{{ groupe.uuid }}/quit">{{ _("Quit") }}</a>
<a href="/groupe/{{ groupe.uuid }}/quit">{{ _("Quitter") }}</a>
{% endif %}
<a href="#share">{{ _("Share") }}</a>
<a href="#share">{{ _("Partager") }}</a>
{% if g.user.access_level == 1 or user.id in groupe.get_admins() %}
<a href="#create-groupe-album">{{ _("Add an album") }}</a>
<a id="delete-album" href="#delete">{{ _("Delete") }}</a>
<a href="#create-groupe-album">{{ _("Ajouter un album") }}</a>
<a id="delete-album" href="#delete">{{ _("Supprimer") }}</a>
{% endif %}
</div>
</div>
@ -71,10 +72,10 @@
{% else %}
<br/>
{% set create %}
<a href="#create-groupe-album">{{ _("Create one") }}</a>
<a href="#create-groupe-album">{{ _("En créer un") }}</a>
{% endset %}
<div id="albums-grid" style="display: inline;">
{{ _("No available album. %(create)s", create=create) }}
{{ _("Aucun album disponible. %(create)s", create=create) }}
</div>
{% endif %}
{% endblock %}

View File

@ -2,15 +2,15 @@
{% extends 'base.html' %}
{% block title %}{{ _("Attachments of %(name)s", name=partition.name) }}{% endblock %}
{% block title %}{{ _("Attachments de %(name)s", name=partition.name) }}{% endblock %}
{% block dialogs %}
<dialog id="create-attachment">
<h2>{{ _("Add an attachment to %(name)s", name=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">
<input type="text" name="name" id="name" placeholder="{{ _('Name') }}"><br/>
<input type="text" name="name" id="name" placeholder="{{ _('Nom') }}"><br/>
<input name="file" type="file" accept=".mp3,.mid" required=""><br/>
<input type="submit" value="{{ _('Add') }}">
<input type="submit" value="{{ _('Ajouter') }}">
</form>
<a href="#!" class="close-dialog">Close</a>
</dialog>
@ -19,8 +19,8 @@
{% block content %}
<object id="pdf-embed" width="400" height="500" type="application/pdf" data="/partition/{{ partition.uuid }}">
<p>
{{ _("No pdf viewer available in this browser.
You can use Firefox on Android.") }}
{{ _("Impossible d'afficher le pdf dans ce navigateur.
Il est conseillé d'utiliser Firefox sur Android.") }}
</p>
</object>
@ -43,7 +43,7 @@
src="/partition/attachment/{{ attachment.uuid }}.mid"
sound-font visualizer="#midi-visualizer" data-js-focus-visible>
</midi-player>
<noscript>{{ _("JavaScript is mandatory to read MIDI files") }}</noscript>
<noscript>{{ _("JavaScript est nécessaire pour lire les fichiers MIDI") }}</noscript>
</td>
<td>🎵 {{ attachment.name }}</td>
{% endif %}
@ -57,7 +57,7 @@
<br/>
{% if user %}
<div class="centered">
<a href="#create-attachment"><button>{{ _("Add an attachment") }}</button></a>
<a href="#create-attachment"><button>{{ _("Ajouter un attachment") }}</button></a>
</div>
{% endif %}
{% endblock %}

View File

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

View File

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

View File

@ -3,14 +3,14 @@
{% block content %}
<h2>{% block title %}{{ _("Modify \"%(name)s\"", name=partition.name) }}{% endblock %}</h2>
<h2>{% block title %}{{ _("Modifier \"%(name)s\"", name=partition.name) }}{% endblock %}</h2>
<br/>
<form action="/partition/{{ partition.uuid }}/edit" method="post" enctype="multipart/form-data">
<table>
<tbody>
<tr>
<td>{{ _("File") }}</td>
<td>{{ _("Fichier") }}</td>
<td><a href="/partition/{{ partition.uuid }}">
<img class="partition-thumbnail" src="/thumbnails/{{ partition.uuid }}.jpg" loading="lazy">
</a></td>
@ -26,35 +26,35 @@
</tr>
{% endif %}
<tr>
<td>{{ _("Title") }}</td>
<td><input name="name" type="text" value="{{ partition.name }}" placeholder="{{ _('Title') }}" required /><br/></td>
<td>{{ _("Titre") }}</td>
<td><input name="name" type="text" value="{{ partition.name }}" placeholder="{{ _('Titre') }}" required /><br/></td>
</tr>
<tr>
<td>{{ _("Author") }}</td>
<td><input name="author" type="text" value="{{ partition.author }}" placeholder="{{ _('Author') }}" /><br/></td>
<td>{{ _("Auteur") }}</td>
<td><input name="author" type="text" value="{{ partition.author }}" placeholder="{{ _('Auteur') }}" /><br/></td>
</tr>
<tr>
<td>{{ _("Lyrics") }}</td>
<td><textarea id="lyrics" name="body" type="text" placeholder="{{ _('Lyrics') }}">{{ partition.body }}</textarea><br/></td>
<td>{{ _("Paroles") }}</td>
<td><textarea id="paroles" name="body" type="text" placeholder="{{ _('Paroles') }}">{{ partition.body }}</textarea><br/></td>
</tr>
<tr>
<td>{{ _("Attachments") }}</td>
{{ partition.load_attachments() }}
<td>{{ _("Pièces jointes") }}</td>
{% set _ = partition.load_attachments() %}
<td><a href="/partition/{{ partition.uuid }}/attachments">
{% if partition.attachments %}
{% set number=partition.attachments | length %}
{{ _("Yes, %(number)s", number=number) }}
{{ _("Oui, %(number)s", number=number) }}
{% else %}
{{ _("Add one") }}
{{ _("En rajouter") }}
{% endif %}
</a></td>
</tr>
</tbody>
</table>
<input type="submit" value="{{ _('Update') }}" />
<input type="submit" value="{{ _('Mettre à jour') }}" />
</form>
<a href="/partition/{{ partition.uuid }}/delete">
<button id="delete-partition">{{ _("Delete") }}</button>
<button id="delete-partition">{{ _("Supprimer") }}</button>
</a>
{% endblock %}

View File

@ -18,237 +18,244 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.14.0\n"
#: partitioncloud/__init__.py:135
#: partitioncloud/__init__.py:136
#, python-format
msgid "Created user %(username)s"
msgid "Utilisateur %(username)s créé"
msgstr "Created user %(username)s"
#: partitioncloud/__init__.py:138
#: partitioncloud/__init__.py:139
#, python-format
msgid "This album does not exists, but user %(username)s has been created"
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"
#: partitioncloud/modules/albums.py:41
msgid "Missing search query"
msgid "Aucun terme de recherche spécifié."
msgstr "Missing search query"
#: partitioncloud/modules/albums.py:123 partitioncloud/modules/groupe.py:71
#: partitioncloud/modules/groupe.py:185
msgid "Missing name."
#: partitioncloud/modules/albums.py:123 partitioncloud/modules/groupe.py:185
msgid "Un nom est requis. L'album n'a pas été créé"
msgstr "Missing name."
#: partitioncloud/modules/albums.py:160
msgid "This album does not exist."
msgid "Cet album n'existe pas."
msgstr "This album does not exist."
#: partitioncloud/modules/albums.py:163
msgid "Album added to collection."
msgid "Album ajouté à la collection."
msgstr "Album added to collection."
#: partitioncloud/modules/albums.py:177 partitioncloud/modules/albums.py:240
#: partitioncloud/modules/albums.py:346
msgid "You are not a member of this album"
msgid "Vous ne faites pas partie de cet album"
msgstr "You are not a member of this album"
#: partitioncloud/modules/albums.py:181
msgid "You are alone here, quitting means deleting this album."
msgid "Vous êtes seul dans cet album, le quitter entraînera sa suppression."
msgstr "You are alone here, quitting means deleting this album."
#: partitioncloud/modules/albums.py:185
msgid "Album quitted."
msgid "Album quitté."
msgstr "Album quitted."
#: partitioncloud/modules/albums.py:204
msgid "You are not alone in this album."
msgid "Vous n'êtes pas seul dans cet album."
msgstr "You are not alone in this album."
#: partitioncloud/modules/albums.py:206
msgid "You don't own this album."
msgid "Vous ne possédez pas cet album."
msgstr "You don't own this album."
#: partitioncloud/modules/albums.py:217
msgid "Album deleted."
msgid "Album supprimé."
msgstr "Album deleted."
#: partitioncloud/modules/albums.py:246 partitioncloud/modules/partition.py:153
#: partitioncloud/modules/partition.py:199
msgid "Missing title"
msgid "Un titre est requis."
msgstr "Missing title"
#: partitioncloud/modules/albums.py:248 partitioncloud/modules/partition.py:63
msgid "Missing file"
msgid "Aucun fichier n'a été fourni."
msgstr "Missing file"
#: partitioncloud/modules/albums.py:260
msgid "Search results expired"
msgid "Les résultats de la recherche ont expiré."
msgstr "Search results expired"
#: partitioncloud/modules/albums.py:326
#, python-format
msgid "Score %(partition_name)s added"
msgid "Partition %(partition_name)s ajoutée"
msgstr "Score %(partition_name)s added"
#: partitioncloud/modules/albums.py:340
msgid "Selecting an album is mandatory."
msgid "Il est nécessaire de sélectionner un album."
msgstr "Selecting an album is mandatory."
#: partitioncloud/modules/albums.py:342
msgid "Selecting a score is mandatory."
msgid "Il est nécessaire de sélectionner une partition."
msgstr "Selecting a score is mandatory."
#: partitioncloud/modules/albums.py:344
msgid "Please specify a score type."
msgid "Il est nécessaire de spécifier un type de partition."
msgstr "Please specify a score type."
#: partitioncloud/modules/albums.py:366
msgid "Score added"
msgid "Partition ajoutée."
msgstr "Score added"
#: partitioncloud/modules/albums.py:368
msgid "Score is already in the album."
msgid "Partition déjà dans l'album."
msgstr "Score is already in the album."
#: partitioncloud/modules/albums.py:380
msgid "Unknown score type."
msgid "Type de partition inconnu."
msgstr "Unknown score type."
#: partitioncloud/modules/auth.py:27 partitioncloud/modules/auth.py:54
msgid "You need to login to access this resource."
msgid "Vous devez être connecté pour accéder à cette page."
msgstr "You need to login to access this resource."
#: partitioncloud/modules/auth.py:59
msgid "Missing rights."
msgid "Droits insuffisants."
msgstr "Missing rights."
#: partitioncloud/modules/auth.py:85
msgid "Missing username."
msgid "Un nom d'utilisateur est requis."
msgstr "Missing username."
#: partitioncloud/modules/auth.py:87
msgid "Missing password."
msgid "Un mot de passe est requis."
msgstr "Missing password."
#: partitioncloud/modules/auth.py:100
#, python-format
msgid "Username %(username)s is not available."
msgid "Le nom d'utilisateur %(username)s est déjà pris."
msgstr "Username %(username)s is not available."
#: partitioncloud/modules/auth.py:113
msgid "New users registration is disabled by owner."
msgid ""
"L'enregistrement de nouveaux utilisateurs a été désactivé par "
"l'administrateur."
msgstr "New users registration is disabled by owner."
#: partitioncloud/modules/auth.py:127
msgid "Successfully created new user. You can log in."
msgid "Utilisateur créé avec succès. Vous pouvez vous connecter."
msgstr "Successfully created new user. You can log in."
#: partitioncloud/modules/auth.py:152
msgid "Incorrect username or password"
msgid "Nom d'utilisateur ou mot de passe incorrect."
msgstr "Incorrect username or password"
#: partitioncloud/modules/groupe.py:71
msgid "Un nom est requis. Le groupe n'a pas été créé"
msgstr "Missing name."
#: partitioncloud/modules/groupe.py:120
msgid "Unknown group."
msgid "Ce groupe n'existe pas."
msgstr "Unknown group."
#: partitioncloud/modules/groupe.py:123
msgid "Group added to collection."
msgid "Groupe ajouté à la collection."
msgstr "Group added to collection."
#: partitioncloud/modules/groupe.py:134
msgid "You are not a member of this group."
msgid "Vous ne faites pas partie de ce groupe"
msgstr "You are not a member of this group."
#: partitioncloud/modules/groupe.py:138
msgid "You are alone here, quitting means deleting this group."
msgid "Vous êtes seul dans ce groupe, le quitter entraînera sa suppression."
msgstr "You are alone here, quitting means deleting this group."
#: partitioncloud/modules/groupe.py:142
msgid "Group quitted."
msgid "Groupe quitté."
msgstr "Group quitted."
#: partitioncloud/modules/groupe.py:155
msgid "You are not alone in this group."
msgid "Vous n'êtes pas seul dans ce groupe."
msgstr "You are not alone in this group."
#: partitioncloud/modules/groupe.py:166
msgid "Group deleted."
msgid "Groupe supprimé."
msgstr "Group deleted."
#: partitioncloud/modules/groupe.py:188
msgid "You are not admin of this group."
msgid "Vous n'êtes pas administrateur de ce groupe"
msgstr "You are not admin of this group."
#: partitioncloud/modules/partition.py:58
msgid "You don't own this score."
msgid "Cette partition ne vous appartient pas"
msgstr "You don't own this score."
#: partitioncloud/modules/partition.py:71
msgid "Missing filename."
msgid "Pas de nom de fichier"
msgstr "Missing filename."
#: partitioncloud/modules/partition.py:76
msgid "Unsupported file type."
msgid "Extension de fichier non supportée"
msgstr "Unsupported file type."
#: partitioncloud/modules/partition.py:144
msgid "You are not allowed to edit this file."
msgid "Vous n'êtes pas autorisé à modifier cette partition."
msgstr "You are not allowed to edit this file."
#: partitioncloud/modules/partition.py:155
#: partitioncloud/modules/partition.py:201
msgid "Missing author in request body (can be null)."
msgid "Un nom d'auteur est requis (à minima nul)"
msgstr "Missing author in request body (can be null)."
#: partitioncloud/modules/partition.py:157
#: partitioncloud/modules/partition.py:203
msgid "Missing lyrics (can be null)."
msgid "Des paroles sont requises (à minima nulles)"
msgstr "Missing lyrics (can be null)."
#: partitioncloud/modules/partition.py:169
#: partitioncloud/modules/partition.py:215
#, python-format
msgid "Successfully modified %(name)s"
msgid "Partition %(name)s modifiée avec succès."
msgstr "Successfully modified %(name)s"
#: partitioncloud/modules/partition.py:230
msgid "You are not allowed to delete this score."
msgid "Vous n'êtes pas autorisé à supprimer cette partition."
msgstr "You are not allowed to delete this score."
#: partitioncloud/modules/partition.py:238
msgid "Score deleted."
msgid "Partition supprimée."
msgstr "Score deleted."
#: partitioncloud/templates/base.html:23
msgid "New Album"
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 "Name"
msgid "Nom"
msgstr "Name"
#: partitioncloud/templates/base.html:26 partitioncloud/templates/base.html:37
msgid "Create"
msgid "Créer"
msgstr "Create"
#: partitioncloud/templates/base.html:30
msgid "I want to create a collection of albums."
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 "Create group"
msgid "Créer un groupe"
msgstr "Create group"
#: partitioncloud/templates/base.html:34
msgid "Create new group"
msgid "Créer un nouveau groupe"
msgstr "Create new group"
#: partitioncloud/templates/base.html:61
msgid "Search"
msgid "Rechercher"
msgstr "Search"
#: partitioncloud/templates/base.html:63
msgid "Number of online searches"
msgid "Nombre de recherches en ligne"
msgstr "Number of online searches"
#: partitioncloud/templates/admin/index.html:23
@ -258,67 +265,62 @@ msgid "Albums"
msgstr "Albums"
#: partitioncloud/templates/base.html:75
msgid "New album"
msgid "Créer un album"
msgstr "New album"
#: partitioncloud/templates/base.html:92
msgid "No albums"
msgstr "No albums"
#: partitioncloud/templates/base.html:111
msgid "No album available"
msgid "Aucun album disponible"
msgstr "No album available"
#: partitioncloud/templates/base.html:125
msgid "Log in to see your albums"
msgid "Connectez vous pour avoir accès à vos albums"
msgstr "Log in to see your albums"
#: partitioncloud/templates/base.html:139
msgid "Log out"
msgid "Déconnexion"
msgstr "Log out"
#: partitioncloud/templates/base.html:154
msgid "Admin Panel"
msgid "Panneau admin"
msgstr "Admin Panel"
#: partitioncloud/templates/auth/register.html:5
#: partitioncloud/templates/auth/register.html:20
#: partitioncloud/templates/base.html:166
msgid "Create account"
msgid "Créer un compte"
msgstr "Create account"
#: partitioncloud/templates/auth/login.html:5
#: partitioncloud/templates/auth/login.html:10
#: partitioncloud/templates/base.html:168
msgid "Log in"
msgid "Se connecter"
msgstr "Log in"
#: partitioncloud/templates/admin/index.html:5
msgid "Administration Panel"
msgid "Panneau d'administration"
msgstr "Administration Panel"
#: partitioncloud/templates/admin/index.html:9
msgid "New user"
msgid "Nouvel utilisateur"
msgstr "New user"
#: partitioncloud/templates/admin/index.html:12
msgid "See scores"
msgid "Voir les partitions"
msgstr "See scores"
#: partitioncloud/templates/admin/index.html:15
msgid "See logs"
msgid "Voir les logs"
msgstr "See logs"
#: partitioncloud/templates/admin/index.html:22
msgid "User"
msgid "Utilisateur"
msgstr "User"
#: partitioncloud/templates/admin/index.html:24
msgid "Scores"
msgid "Partitions"
msgstr "Scores"
#: partitioncloud/templates/admin/index.html:25
msgid "Admin privileges"
msgid "Privilèges"
msgstr "Admin privileges"
#: partitioncloud/templates/admin/logs.html:5
@ -326,66 +328,66 @@ msgid "Logs"
msgstr "Logs"
#: partitioncloud/templates/admin/partitions.html:4
msgid "Scores list"
msgid "Liste des partitions"
msgstr "Scores list"
#: partitioncloud/templates/admin/partitions.html:31
#: partitioncloud/templates/albums/album.html:94
msgid "No available scores"
msgid "Aucune partition disponible"
msgstr "No available scores"
#: partitioncloud/templates/albums/add-partition.html:3
msgid "New score"
msgid "Ajout de partition"
msgstr "New score"
#: partitioncloud/templates/albums/album.html:12
msgid "Delete l'album"
msgid "Supprimer l'album"
msgstr "Delete album"
#: partitioncloud/templates/albums/album.html:13
#: partitioncloud/templates/albums/delete-album.html:6
msgid "Do you really want to delete this album?"
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:20
#: partitioncloud/templates/groupe/index.html:53
#: 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 "Delete"
msgid "Supprimer"
msgstr "Delete"
#: partitioncloud/templates/albums/album.html:51
msgid "Add a score"
msgid "Ajouter une partition"
msgstr "Add a score"
#: partitioncloud/templates/albums/album.html:54
#: partitioncloud/templates/groupe/index.html:46
msgid "Join"
#: partitioncloud/templates/groupe/index.html:47
msgid "Rejoindre"
msgstr "Join"
#: partitioncloud/templates/albums/album.html:56
#: partitioncloud/templates/groupe/index.html:48
msgid "Quit"
#: partitioncloud/templates/groupe/index.html:49
msgid "Quitter"
msgstr "Quit"
#: partitioncloud/templates/albums/album.html:58
#: partitioncloud/templates/groupe/index.html:50
msgid "Share"
#: 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 "Delete %(name)s"
msgid "Supprimer %(name)s"
msgstr "Delete %(name)s"
#: partitioncloud/templates/albums/delete-album.html:11
#: partitioncloud/templates/partition/delete.html:13
msgid "Cancel"
msgid "Annuler"
msgstr "Cancel"
#: partitioncloud/templates/albums/index.html:3
@ -394,203 +396,185 @@ msgstr "Home"
#: partitioncloud/templates/albums/index.html:10
#, python-format
msgid "Hi %(user_name)s !"
msgid "Bonjour %(user_name)s !"
msgstr "Hi %(user_name)s !"
#: partitioncloud/templates/albums/index.html:11
msgid "No album selected"
msgid "Aucun album sélectionné"
msgstr "No album selected"
#: partitioncloud/templates/albums/search.html:5
#, python-format
msgid "Search results for \"%(query)s\""
msgstr "Search results for \"%(query)s\""
#: partitioncloud/templates/albums/search.html:7
msgid "Results in current database"
msgstr "Results in current database"
#: partitioncloud/templates/albums/search.html:38
#: partitioncloud/templates/albums/search.html:70
msgid "Add to album"
msgstr "Add to album"
#: partitioncloud/templates/albums/search.html:45
msgid "Online search results"
msgstr ""
#: partitioncloud/templates/albums/search.html:77
msgid ""
"No results available. Try to tweak your query or increase the amount of "
"online searches."
msgstr ""
"No results available. Try to tweak your query or increase the amount of "
"online searches."
#: partitioncloud/templates/auth/login.html:5
msgid "Connexion"
msgstr "Log in"
#: partitioncloud/templates/auth/login.html:8
#: partitioncloud/templates/auth/register.html:18
msgid "Username"
msgid "Nom d'utilisateur"
msgstr "Username"
#: partitioncloud/templates/auth/login.html:9
#: partitioncloud/templates/auth/register.html:19
msgid "Password"
msgid "Mot de passe"
msgstr "Password"
#: partitioncloud/templates/auth/register.html:10
msgid "Add to album:"
msgid "Ajouter à un album:"
msgstr "Add to album:"
#: partitioncloud/templates/auth/register.html:12
msgid "None"
msgid "Aucun"
msgstr "None"
#: partitioncloud/templates/components/add_partition.html:1
#, python-format
msgid "Add a score to %(name)s"
msgid "Ajouter une partition à %(name)s"
msgstr "Add a score to %(name)s"
#: partitioncloud/templates/components/add_partition.html:4
msgid "title"
msgid "titre"
msgstr "title"
#: partitioncloud/templates/components/add_partition.html:5
msgid "author"
msgid "auteur"
msgstr "author"
#: partitioncloud/templates/components/add_partition.html:6
msgid "lyrics"
msgid "paroles"
msgstr "lyrics"
#: partitioncloud/templates/components/add_partition.html:10
#: partitioncloud/templates/groupe/index.html:11
#: partitioncloud/templates/partition/attachments.html:13
msgid "Add"
msgid "Ajouter"
msgstr "Add"
#: partitioncloud/templates/groupe/index.html:8
#, python-format
msgid "Add an album to group %(name)s"
msgid "Ajouter un album au groupe %(name)s"
msgstr "Add an album to group %(name)s"
#: partitioncloud/templates/groupe/index.html:16
msgid "Delete group"
msgid "Supprimer le groupe"
msgstr "Delete group"
#: partitioncloud/templates/groupe/index.html:17
msgid "Do you really want to delete this group and the albums it contains?"
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:52
msgid "Add an album"
#: partitioncloud/templates/groupe/index.html:53
msgid "Ajouter un album"
msgstr "Add an album"
#: partitioncloud/templates/groupe/index.html:74
msgid "Create one"
#: partitioncloud/templates/groupe/index.html:75
msgid "En créer un"
msgstr "Create one"
#: partitioncloud/templates/groupe/index.html:77
#: partitioncloud/templates/groupe/index.html:78
#, python-format
msgid "No available album. %(create)s"
msgid "Aucun album disponible. %(create)s"
msgstr "No available album. %(create)s"
#: partitioncloud/templates/partition/attachments.html:5
#, python-format
msgid "Attachments of %(name)s"
msgid "Attachments de %(name)s"
msgstr "Attachments of %(name)s"
#: partitioncloud/templates/partition/attachments.html:9
#, python-format
msgid "Add an attachment to %(name)s"
msgid "Ajouter un attachment à %(name)s"
msgstr "Add an attachment to %(name)s"
#: partitioncloud/templates/partition/attachments.html:22
msgid ""
"No pdf viewer available in this browser.\n"
" You can use Firefox on Android."
"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 is mandatory to read MIDI files"
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 "Add an attachment"
msgid "Ajouter un attachment"
msgstr "Add an attachment"
#: partitioncloud/templates/partition/delete.html:8
msgid "Do you really want to delete this score?"
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 "Details of \"%(name)s\""
msgid "Détails de \"%(name)s\""
msgstr "Details of \"%(name)s\""
#: partitioncloud/templates/partition/details.html:12
msgid "Added by"
msgid "Responsable de l'ajout"
msgstr "Added by"
#: partitioncloud/templates/partition/details.html:23
msgid "Unknown"
msgid "Inconnu"
msgstr "Unknown"
#: partitioncloud/templates/partition/details.html:29
msgid "Type"
msgid "Type d'ajout"
msgstr "Type"
#: partitioncloud/templates/partition/details.html:52
#: partitioncloud/templates/partition/edit.html:13
msgid "File"
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 "Title"
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 "Author"
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 "Lyrics"
msgid "Paroles"
msgstr "Lyrics"
#: partitioncloud/templates/partition/details.html:70
#: partitioncloud/templates/partition/edit.html:41
msgid "Attachments"
msgid "Pièces jointes"
msgstr "Attachments"
#: partitioncloud/templates/partition/details.html:75
#: partitioncloud/templates/partition/edit.html:46
#, python-format
msgid "Yes, %(number)s"
msgid "Oui, %(number)s"
msgstr "Yes, %(number)s"
#: partitioncloud/templates/partition/details.html:77
#: partitioncloud/templates/partition/edit.html:48
msgid "Add one"
msgid "En rajouter"
msgstr "Add one"
#: partitioncloud/templates/partition/details.html:83
#: partitioncloud/templates/partition/edit.html:54
msgid "Update"
msgid "Mettre à jour"
msgstr "Update"
#: partitioncloud/templates/partition/edit.html:6
#, python-format
msgid "Modify \"%(name)s\""
msgid "Modifier \"%(name)s\""
msgstr "Modify \"%(name)s\""
#: partitioncloud/templates/partition/edit.html:21

View File

@ -18,241 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.14.0\n"
#: partitioncloud/__init__.py:135
#: partitioncloud/__init__.py:136
#, python-format
msgid "Created user %(username)s"
msgid "Utilisateur %(username)s créé"
msgstr "Utilisateur %(username)s créé"
#: partitioncloud/__init__.py:138
#: partitioncloud/__init__.py:139
#, python-format
msgid "This album does not exists, but user %(username)s has been created"
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éé"
#: partitioncloud/modules/albums.py:41
msgid "Missing search query"
msgid "Aucun terme de recherche spécifié."
msgstr "Aucun terme de recherche spécifié."
#: partitioncloud/modules/albums.py:123 partitioncloud/modules/groupe.py:71
#: partitioncloud/modules/groupe.py:185
msgid "Missing name."
msgstr "Un nom est requis."
#: partitioncloud/modules/albums.py:123 partitioncloud/modules/groupe.py:185
msgid "Un nom est requis. L'album n'a pas été créé"
msgstr "Un nom est requis. L'album n'a pas été créé"
#: partitioncloud/modules/albums.py:160
msgid "This album does not exist."
msgid "Cet album n'existe pas."
msgstr "Cet album n'existe pas."
#: partitioncloud/modules/albums.py:163
msgid "Album added to collection."
msgid "Album ajouté à la collection."
msgstr "Album ajouté à la collection."
#: partitioncloud/modules/albums.py:177 partitioncloud/modules/albums.py:240
#: partitioncloud/modules/albums.py:346
msgid "You are not a member of this album"
msgid "Vous ne faites pas partie de cet album"
msgstr "Vous ne faites pas partie de cet album"
#: partitioncloud/modules/albums.py:181
msgid "You are alone here, quitting means deleting this album."
msgid "Vous êtes seul dans cet album, le quitter entraînera sa suppression."
msgstr "Vous êtes seul dans cet album, le quitter entraînera sa suppression."
#: partitioncloud/modules/albums.py:185
msgid "Album quitted."
msgid "Album quitté."
msgstr "Album quitté."
#: partitioncloud/modules/albums.py:204
msgid "You are not alone in this album."
msgid "Vous n'êtes pas seul dans cet album."
msgstr "Vous n'êtes pas seul dans cet album."
#: partitioncloud/modules/albums.py:206
msgid "You don't own this album."
msgid "Vous ne possédez pas cet album."
msgstr "Vous ne possédez pas cet album."
#: partitioncloud/modules/albums.py:217
msgid "Album deleted."
msgid "Album supprimé."
msgstr "Album supprimé."
#: partitioncloud/modules/albums.py:246 partitioncloud/modules/partition.py:153
#: partitioncloud/modules/partition.py:199
msgid "Missing title"
msgid "Un titre est requis."
msgstr "Un titre est requis."
#: partitioncloud/modules/albums.py:248 partitioncloud/modules/partition.py:63
msgid "Missing file"
msgid "Aucun fichier n'a été fourni."
msgstr "Aucun fichier n'a été fourni."
#: partitioncloud/modules/albums.py:260
msgid "Search results expired"
msgid "Les résultats de la recherche ont expiré."
msgstr "Les résultats de la recherche ont expiré."
#: partitioncloud/modules/albums.py:326
#, python-format
msgid "Score %(partition_name)s added"
msgid "Partition %(partition_name)s ajoutée"
msgstr "Partition %(partition_name)s ajoutée"
#: partitioncloud/modules/albums.py:340
msgid "Selecting an album is mandatory."
msgid "Il est nécessaire de sélectionner un album."
msgstr "Il est nécessaire de sélectionner un album."
#: partitioncloud/modules/albums.py:342
msgid "Selecting a score is mandatory."
msgid "Il est nécessaire de sélectionner une partition."
msgstr "Il est nécessaire de sélectionner une partition."
#: partitioncloud/modules/albums.py:344
msgid "Please specify a score type."
msgid "Il est nécessaire de spécifier un type de partition."
msgstr "Il est nécessaire de spécifier un type de partition."
#: partitioncloud/modules/albums.py:366
msgid "Score added"
msgid "Partition ajoutée."
msgstr "Partition ajoutée."
#: partitioncloud/modules/albums.py:368
msgid "Score is already in the album."
msgid "Partition déjà dans l'album."
msgstr "Partition déjà dans l'album."
#: partitioncloud/modules/albums.py:380
msgid "Unknown score type."
msgid "Type de partition inconnu."
msgstr "Type de partition inconnu."
#: partitioncloud/modules/auth.py:27 partitioncloud/modules/auth.py:54
msgid "You need to login to access this resource."
msgid "Vous devez être connecté pour accéder à cette page."
msgstr "Vous devez être connecté pour accéder à cette page."
#: partitioncloud/modules/auth.py:59
msgid "Missing rights."
msgid "Droits insuffisants."
msgstr "Droits insuffisants."
#: partitioncloud/modules/auth.py:85
msgid "Missing username."
msgid "Un nom d'utilisateur est requis."
msgstr "Un nom d'utilisateur est requis."
#: partitioncloud/modules/auth.py:87
msgid "Missing password."
msgid "Un mot de passe est requis."
msgstr "Un mot de passe est requis."
#: partitioncloud/modules/auth.py:100
#, python-format
msgid "Username %(username)s is not available."
msgid "Le nom d'utilisateur %(username)s est déjà pris."
msgstr "Le nom d'utilisateur %(username)s est déjà pris."
#: partitioncloud/modules/auth.py:113
msgid "New users registration is disabled by owner."
msgid ""
"L'enregistrement de nouveaux utilisateurs a été désactivé par "
"l'administrateur."
msgstr ""
"L'enregistrement de nouveaux utilisateurs a été désactivé par "
"l'administrateur."
#: partitioncloud/modules/auth.py:127
msgid "Successfully created new user. You can log in."
msgid "Utilisateur créé avec succès. Vous pouvez vous connecter."
msgstr "Utilisateur créé avec succès. Vous pouvez vous connecter."
#: partitioncloud/modules/auth.py:152
msgid "Incorrect username or password"
msgid "Nom d'utilisateur ou mot de passe incorrect."
msgstr "Nom d'utilisateur ou mot de passe incorrect."
#: partitioncloud/modules/groupe.py:71
msgid "Un nom est requis. Le groupe n'a pas été créé"
msgstr "Un nom est requis. Le groupe n'a pas été créé"
#: partitioncloud/modules/groupe.py:120
msgid "Unknown group."
msgid "Ce groupe n'existe pas."
msgstr "Ce groupe n'existe pas."
#: partitioncloud/modules/groupe.py:123
msgid "Group added to collection."
msgid "Groupe ajouté à la collection."
msgstr "Groupe ajouté à la collection."
#: partitioncloud/modules/groupe.py:134
msgid "You are not a member of this group."
msgid "Vous ne faites pas partie de ce groupe"
msgstr "Vous ne faites pas partie de ce groupe"
#: partitioncloud/modules/groupe.py:138
msgid "You are alone here, quitting means deleting this group."
msgid "Vous êtes seul dans ce groupe, le quitter entraînera sa suppression."
msgstr "Vous êtes seul dans ce groupe, le quitter entraînera sa suppression."
#: partitioncloud/modules/groupe.py:142
msgid "Group quitted."
msgid "Groupe quitté."
msgstr "Groupe quitté."
#: partitioncloud/modules/groupe.py:155
msgid "You are not alone in this group."
msgid "Vous n'êtes pas seul dans ce groupe."
msgstr "Vous n'êtes pas seul dans ce groupe."
#: partitioncloud/modules/groupe.py:166
msgid "Group deleted."
msgid "Groupe supprimé."
msgstr "Groupe supprimé."
#: partitioncloud/modules/groupe.py:188
msgid "You are not admin of this group."
msgid "Vous n'êtes pas administrateur de ce groupe"
msgstr "Vous n'êtes pas administrateur de ce groupe"
#: partitioncloud/modules/partition.py:58
msgid "You don't own this score."
msgid "Cette partition ne vous appartient pas"
msgstr "Cette partition ne vous appartient pas"
#: partitioncloud/modules/partition.py:71
msgid "Missing filename."
msgid "Pas de nom de fichier"
msgstr "Pas de nom de fichier"
#: partitioncloud/modules/partition.py:76
msgid "Unsupported file type."
msgid "Extension de fichier non supportée"
msgstr "Extension de fichier non supportée"
#: partitioncloud/modules/partition.py:144
msgid "You are not allowed to edit this file."
msgid "Vous n'êtes pas autorisé à modifier cette partition."
msgstr "Vous n'êtes pas autorisé à modifier cette partition."
#: partitioncloud/modules/partition.py:155
#: partitioncloud/modules/partition.py:201
msgid "Missing author in request body (can be null)."
msgid "Un nom d'auteur est requis (à minima nul)"
msgstr "Un nom d'auteur est requis (à minima nul)"
#: partitioncloud/modules/partition.py:157
#: partitioncloud/modules/partition.py:203
msgid "Missing lyrics (can be null)."
msgid "Des paroles sont requises (à minima nulles)"
msgstr "Des paroles sont requises (à minima nulles)"
#: partitioncloud/modules/partition.py:169
#: partitioncloud/modules/partition.py:215
#, python-format
msgid "Successfully modified %(name)s"
msgid "Partition %(name)s modifiée avec succès."
msgstr "Partition %(name)s modifiée avec succès."
#: partitioncloud/modules/partition.py:230
msgid "You are not allowed to delete this score."
msgid "Vous n'êtes pas autorisé à supprimer cette partition."
msgstr "Vous n'êtes pas autorisé à supprimer cette partition."
#: partitioncloud/modules/partition.py:238
msgid "Score deleted."
msgid "Partition supprimée."
msgstr "Partition supprimée."
#: partitioncloud/templates/base.html:23
msgid "New Album"
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 "Name"
msgid "Nom"
msgstr "Nom"
#: partitioncloud/templates/base.html:26 partitioncloud/templates/base.html:37
msgid "Create"
msgid "Créer"
msgstr "Créer"
#: partitioncloud/templates/base.html:30
msgid "I want to create a collection of albums."
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 "Create group"
msgid "Créer un groupe"
msgstr "Créer un groupe"
#: partitioncloud/templates/base.html:34
msgid "Create new group"
msgid "Créer un nouveau groupe"
msgstr "Créer un nouveau groupe"
#: partitioncloud/templates/base.html:61
msgid "Search"
msgid "Rechercher"
msgstr "Rechercher"
#: partitioncloud/templates/base.html:63
msgid "Number of online searches"
msgid "Nombre de recherches en ligne"
msgstr "Nombre de recherches en ligne"
#: partitioncloud/templates/admin/index.html:23
@ -262,67 +269,62 @@ msgid "Albums"
msgstr "Albums"
#: partitioncloud/templates/base.html:75
msgid "New album"
msgid "Créer un album"
msgstr "Créer un album"
#: partitioncloud/templates/base.html:92
msgid "No albums"
msgstr "Aucun album disponible"
#: partitioncloud/templates/base.html:111
msgid "No album available"
msgid "Aucun album disponible"
msgstr "Aucun album disponible"
#: partitioncloud/templates/base.html:125
msgid "Log in to see your albums"
msgid "Connectez vous pour avoir accès à vos albums"
msgstr "Connectez vous pour avoir accès à vos albums"
#: partitioncloud/templates/base.html:139
msgid "Log out"
msgid "Déconnexion"
msgstr "Déconnexion"
#: partitioncloud/templates/base.html:154
msgid "Admin Panel"
msgid "Panneau admin"
msgstr "Panneau admin"
#: partitioncloud/templates/auth/register.html:5
#: partitioncloud/templates/auth/register.html:20
#: partitioncloud/templates/base.html:166
msgid "Create account"
msgid "Créer un compte"
msgstr "Créer un compte"
#: partitioncloud/templates/auth/login.html:5
#: partitioncloud/templates/auth/login.html:10
#: partitioncloud/templates/base.html:168
msgid "Log in"
msgid "Se connecter"
msgstr "Se connecter"
#: partitioncloud/templates/admin/index.html:5
msgid "Administration Panel"
msgid "Panneau d'administration"
msgstr "Panneau d'administration"
#: partitioncloud/templates/admin/index.html:9
msgid "New user"
msgid "Nouvel utilisateur"
msgstr "Nouvel utilisateur"
#: partitioncloud/templates/admin/index.html:12
msgid "See scores"
msgid "Voir les partitions"
msgstr "Voir les partitions"
#: partitioncloud/templates/admin/index.html:15
msgid "See logs"
msgid "Voir les logs"
msgstr "Voir les logs"
#: partitioncloud/templates/admin/index.html:22
msgid "User"
msgid "Utilisateur"
msgstr "Utilisateur"
#: partitioncloud/templates/admin/index.html:24
msgid "Scores"
msgid "Partitions"
msgstr "Partitions"
#: partitioncloud/templates/admin/index.html:25
msgid "Admin privileges"
msgid "Privilèges"
msgstr "Privilèges"
#: partitioncloud/templates/admin/logs.html:5
@ -330,66 +332,66 @@ msgid "Logs"
msgstr "Logs"
#: partitioncloud/templates/admin/partitions.html:4
msgid "Scores list"
msgid "Liste des partitions"
msgstr "Liste des partitions"
#: partitioncloud/templates/admin/partitions.html:31
#: partitioncloud/templates/albums/album.html:94
msgid "No available scores"
msgid "Aucune partition disponible"
msgstr "Aucune partition disponible"
#: partitioncloud/templates/albums/add-partition.html:3
msgid "New score"
msgid "Ajout de partition"
msgstr "Ajout de partition"
#: partitioncloud/templates/albums/album.html:12
msgid "Delete l'album"
msgid "Supprimer l'album"
msgstr "Supprimer l'album"
#: partitioncloud/templates/albums/album.html:13
#: partitioncloud/templates/albums/delete-album.html:6
msgid "Do you really want to delete this album?"
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:20
#: partitioncloud/templates/groupe/index.html:53
#: 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 "Delete"
msgid "Supprimer"
msgstr "Supprimer"
#: partitioncloud/templates/albums/album.html:51
msgid "Add a score"
msgid "Ajouter une partition"
msgstr "Ajouter une partition"
#: partitioncloud/templates/albums/album.html:54
#: partitioncloud/templates/groupe/index.html:46
msgid "Join"
#: partitioncloud/templates/groupe/index.html:47
msgid "Rejoindre"
msgstr "Rejoindre"
#: partitioncloud/templates/albums/album.html:56
#: partitioncloud/templates/groupe/index.html:48
msgid "Quit"
#: partitioncloud/templates/groupe/index.html:49
msgid "Quitter"
msgstr "Quitter"
#: partitioncloud/templates/albums/album.html:58
#: partitioncloud/templates/groupe/index.html:50
msgid "Share"
#: 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 "Delete %(name)s"
msgid "Supprimer %(name)s"
msgstr "Supprimer %(name)s"
#: partitioncloud/templates/albums/delete-album.html:11
#: partitioncloud/templates/partition/delete.html:13
msgid "Cancel"
msgid "Annuler"
msgstr "Annuler"
#: partitioncloud/templates/albums/index.html:3
@ -398,206 +400,189 @@ msgstr "Accueil"
#: partitioncloud/templates/albums/index.html:10
#, python-format
msgid "Hi %(user_name)s !"
msgid "Bonjour %(user_name)s !"
msgstr "Bonjour %(user_name)s !"
#: partitioncloud/templates/albums/index.html:11
msgid "No album selected"
msgid "Aucun album sélectionné"
msgstr "Aucun album sélectionné"
#: partitioncloud/templates/albums/search.html:5
#, python-format
msgid "Search results for \"%(query)s\""
msgstr "Résultats de la recherche pour \"%(query)s\""
#: partitioncloud/templates/albums/search.html:7
msgid "Results in current database"
msgstr "Résultats dans la recherche locale"
#: partitioncloud/templates/albums/search.html:38
#: partitioncloud/templates/albums/search.html:70
msgid "Add to album"
msgstr "Ajouter à un album"
#: partitioncloud/templates/albums/search.html:45
msgid "Online search results"
msgstr "Résultats de la recherche en ligne"
#: partitioncloud/templates/albums/search.html:77
msgid ""
"No results available. Try to tweak your query or increase the amount of "
"online searches."
msgstr ""
"Aucun résultat disponible. Essayez d'affiner votre recherche ou "
"d'augmenter le nombre de résultats en ligne"
#: partitioncloud/templates/auth/login.html:5
msgid "Connexion"
msgstr "Connexion"
#: partitioncloud/templates/auth/login.html:8
#: partitioncloud/templates/auth/register.html:18
msgid "Username"
msgid "Nom d'utilisateur"
msgstr "Nom d'utilisateur"
#: partitioncloud/templates/auth/login.html:9
#: partitioncloud/templates/auth/register.html:19
msgid "Password"
msgid "Mot de passe"
msgstr "Mot de passe"
#: partitioncloud/templates/auth/register.html:10
msgid "Add to album:"
msgid "Ajouter à un album:"
msgstr "Ajouter à un album:"
#: partitioncloud/templates/auth/register.html:12
msgid "None"
msgid "Aucun"
msgstr "Aucun"
#: partitioncloud/templates/components/add_partition.html:1
#, python-format
msgid "Add a score to %(name)s"
msgid "Ajouter une partition à %(name)s"
msgstr "Ajouter une partition à %(name)s"
#: partitioncloud/templates/components/add_partition.html:4
msgid "title"
msgid "titre"
msgstr "titre"
#: partitioncloud/templates/components/add_partition.html:5
msgid "author"
msgid "auteur"
msgstr "auteur"
#: partitioncloud/templates/components/add_partition.html:6
msgid "lyrics"
msgid "paroles"
msgstr "paroles"
#: partitioncloud/templates/components/add_partition.html:10
#: partitioncloud/templates/groupe/index.html:11
#: partitioncloud/templates/partition/attachments.html:13
msgid "Add"
msgid "Ajouter"
msgstr "Ajouter"
#: partitioncloud/templates/groupe/index.html:8
#, python-format
msgid "Add an album to group %(name)s"
msgid "Ajouter un album au groupe %(name)s"
msgstr "Ajouter un album au groupe %(name)s"
#: partitioncloud/templates/groupe/index.html:16
msgid "Delete group"
msgid "Supprimer le groupe"
msgstr "Supprimer le groupe"
#: partitioncloud/templates/groupe/index.html:17
msgid "Do you really want to delete this group and the albums it contains?"
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:52
msgid "Add an album"
#: partitioncloud/templates/groupe/index.html:53
msgid "Ajouter un album"
msgstr "Ajouter un album"
#: partitioncloud/templates/groupe/index.html:74
msgid "Create one"
#: partitioncloud/templates/groupe/index.html:75
msgid "En créer un"
msgstr "En créer un"
#: partitioncloud/templates/groupe/index.html:77
#: partitioncloud/templates/groupe/index.html:78
#, python-format
msgid "No available album. %(create)s"
msgid "Aucun album disponible. %(create)s"
msgstr "Aucun album disponible. %(create)s"
#: partitioncloud/templates/partition/attachments.html:5
#, python-format
msgid "Attachments of %(name)s"
msgid "Attachments de %(name)s"
msgstr "Attachments de %(name)s"
#: partitioncloud/templates/partition/attachments.html:9
#, python-format
msgid "Add an attachment to %(name)s"
msgid "Ajouter un attachment à %(name)s"
msgstr "Ajouter un attachment à %(name)s"
#: partitioncloud/templates/partition/attachments.html:22
msgid ""
"No pdf viewer available in this browser.\n"
" You can use Firefox on Android."
"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 is mandatory to read MIDI files"
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 "Add an attachment"
msgid "Ajouter un attachment"
msgstr "Ajouter un attachment"
#: partitioncloud/templates/partition/delete.html:8
msgid "Do you really want to delete this score?"
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 "Details of \"%(name)s\""
msgid "Détails de \"%(name)s\""
msgstr "Détails de \"%(name)s\""
#: partitioncloud/templates/partition/details.html:12
msgid "Added by"
msgid "Responsable de l'ajout"
msgstr "Responsable de l'ajout"
#: partitioncloud/templates/partition/details.html:23
msgid "Unknown"
msgid "Inconnu"
msgstr "Inconnu"
#: partitioncloud/templates/partition/details.html:29
msgid "Type"
msgid "Type d'ajout"
msgstr "Type d'ajout"
#: partitioncloud/templates/partition/details.html:52
#: partitioncloud/templates/partition/edit.html:13
msgid "File"
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 "Title"
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 "Author"
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 "Lyrics"
msgid "Paroles"
msgstr "Paroles"
#: partitioncloud/templates/partition/details.html:70
#: partitioncloud/templates/partition/edit.html:41
msgid "Attachments"
msgid "Pièces jointes"
msgstr "Pièces jointes"
#: partitioncloud/templates/partition/details.html:75
#: partitioncloud/templates/partition/edit.html:46
#, python-format
msgid "Yes, %(number)s"
msgid "Oui, %(number)s"
msgstr "Oui, %(number)s"
#: partitioncloud/templates/partition/details.html:77
#: partitioncloud/templates/partition/edit.html:48
msgid "Add one"
msgid "En rajouter"
msgstr "En rajouter"
#: partitioncloud/templates/partition/details.html:83
#: partitioncloud/templates/partition/edit.html:54
msgid "Update"
msgid "Mettre à jour"
msgstr "Mettre à jour"
#: partitioncloud/templates/partition/edit.html:6
#, python-format
msgid "Modify \"%(name)s\""
msgid "Modifier \"%(name)s\""
msgstr "Modifier \"%(name)s\""
#: partitioncloud/templates/partition/edit.html:21