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: try:
if album_uuid != "": if album_uuid != "":
user.join_album(album_uuid) user.join_album(album_uuid)
flash(_("Created user %(username)s", username=username)) flash(_("Utilisateur %(username)s créé", username=username))
return redirect("/albums") return redirect("/albums")
except LookupError: 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") return redirect("/albums")
flash(error) flash(error)

View File

@ -38,7 +38,7 @@ def search_page():
Résultats de recherche Résultats de recherche
""" """
if "query" not in request.form or request.form["query"] == "": if "query" not in request.form or request.form["query"] == "":
flash(_("Missing search query")) flash(_("Aucun terme de recherche spécifié."))
return redirect("/albums") return redirect("/albums")
query = request.form["query"] query = request.form["query"]
@ -120,7 +120,7 @@ def create_album_req():
user = User(user_id=session["user_id"]) user = User(user_id=session["user_id"])
if not name or name.strip() == "": 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: if error is None:
uuid = utils.create_album(name) uuid = utils.create_album(name)
@ -157,10 +157,10 @@ def join_album(uuid):
try: try:
user.join_album(uuid) user.join_album(uuid)
except LookupError: except LookupError:
flash(_("This album does not exist.")) flash(_("Cet album n'existe pas."))
return redirect(request.referrer) return redirect(request.referrer)
flash(_("Album added to collection.")) flash(_("Album ajouté à la collection."))
return redirect(request.referrer) return redirect(request.referrer)
@ -174,15 +174,15 @@ def quit_album(uuid):
album = Album(uuid=uuid) album = Album(uuid=uuid)
users = album.get_users() users = album.get_users()
if user.id not in [u["id"] for u in 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) return redirect(request.referrer)
if len(users) == 1: 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") return redirect(f"/albums/{uuid}#delete")
user.quit_album(uuid) user.quit_album(uuid)
flash(_("Album quitted.")) flash(_("Album quitté."))
return redirect("/albums") return redirect("/albums")
@ -201,9 +201,9 @@ def delete_album(uuid):
error = None error = None
users = album.get_users() users = album.get_users()
if len(users) > 1: 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: 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: if user.access_level == 1:
error = None error = None
@ -214,7 +214,7 @@ def delete_album(uuid):
album.delete(current_app.instance_path) album.delete(current_app.instance_path)
flash(_("Album deleted.")) flash(_("Album supprimé."))
return redirect("/albums") return redirect("/albums")
@ -237,15 +237,15 @@ def add_partition(album_uuid):
source = "upload" # source type: upload, unknown or url source = "upload" # source type: upload, unknown or url
if (not user.is_participant(album.uuid)) and (user.access_level != 1): 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) return redirect(request.referrer)
error = None error = None
if "name" not in request.form: 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: 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: elif "file" not in request.files:
partition_type = "uuid" partition_type = "uuid"
search_uuid = request.form["partition-uuid"] search_uuid = request.form["partition-uuid"]
@ -257,7 +257,7 @@ def add_partition(album_uuid):
(search_uuid,) (search_uuid,)
).fetchone() ).fetchone()
if data is None: if data is None:
error = _("Search results expired") error = _("Les résultats de la recherche ont expiré.")
else: else:
source = data["url"] source = data["url"]
else: else:
@ -323,7 +323,7 @@ def add_partition(album_uuid):
"status": "ok", "status": "ok",
"uuid": partition_uuid "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}") return redirect(f"/albums/{album.uuid}")
@ -337,13 +337,13 @@ def add_partition_from_search():
error = None error = None
if "album-uuid" not in request.form: 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: 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: 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): 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: if error is not None:
flash(error) flash(error)
@ -363,9 +363,9 @@ def add_partition_from_search():
if data is None: if data is None:
album.add_partition(request.form["partition-uuid"]) album.add_partition(request.form["partition-uuid"])
flash(_("Score added")) flash(_("Partition ajoutée."))
else: else:
flash(_("Score is already in the album.")) flash(_("Partition déjà dans l'album."))
return redirect(f"/albums/{album.uuid}") return redirect(f"/albums/{album.uuid}")
@ -377,5 +377,5 @@ def add_partition_from_search():
user=user user=user
) )
flash(_("Unknown score type.")) flash(_("Type de partition inconnu."))
return redirect("/albums") return redirect("/albums")

View File

@ -24,7 +24,7 @@ def login_required(view):
@functools.wraps(view) @functools.wraps(view)
def wrapped_view(**kwargs): def wrapped_view(**kwargs):
if g.user is None: 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 redirect(url_for("auth.login"))
return view(**kwargs) return view(**kwargs)
@ -51,12 +51,12 @@ def admin_required(view):
@functools.wraps(view) @functools.wraps(view)
def wrapped_view(**kwargs): def wrapped_view(**kwargs):
if g.user is None: 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 redirect(url_for("auth.login"))
user = User(user_id=session.get("user_id")) user = User(user_id=session.get("user_id"))
if user.access_level != 1: if user.access_level != 1:
flash(_("Missing rights.")) flash(_("Droits insuffisants."))
return redirect("/albums") return redirect("/albums")
return view(**kwargs) return view(**kwargs)
@ -82,9 +82,9 @@ def create_user(username: str, password: str) -> Optional[str]:
"""Adds a new user to the database""" """Adds a new user to the database"""
error = None error = None
if not username: if not username:
error = _("Missing username.") error = _("Un nom d'utilisateur est requis.")
elif not password: elif not password:
error = _("Missing password.") error = _("Un mot de passe est requis.")
try: try:
db = get_db() db = get_db()
@ -97,7 +97,7 @@ def create_user(username: str, password: str) -> Optional[str]:
except db.IntegrityError: except db.IntegrityError:
# The username was already taken, which caused the # The username was already taken, which caused the
# commit to fail. Show a validation error. # 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 return error # may be None
@ -110,7 +110,7 @@ def register():
password for security. password for security.
""" """
if current_app.config["DISABLE_REGISTER"]: 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")) return redirect(url_for("auth.login"))
if request.method == "POST": if request.method == "POST":
@ -124,7 +124,7 @@ def register():
else: else:
user = User(name=username) 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( logging.log(
[user.username, user.id, False], [user.username, user.id, False],
@ -149,7 +149,7 @@ def login():
if (user is None) or not check_password_hash(user["password"], password): if (user is None) or not check_password_hash(user["password"], password):
logging.log([username], logging.LogEntry.FAILED_LOGIN) 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: if error is None:
# store the user id in a new session and return to the index # 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"]) user = User(user_id=session["user_id"])
if not name or name.strip() == "": 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: if error is None:
while True: while True:
@ -117,10 +117,10 @@ def join_groupe(uuid):
try: try:
user.join_groupe(uuid) user.join_groupe(uuid)
except LookupError: except LookupError:
flash(_("Unknown group.")) flash(_("Ce groupe n'existe pas."))
return redirect(f"/groupe/{uuid}") return redirect(f"/groupe/{uuid}")
flash(_("Group added to collection.")) flash(_("Groupe ajouté à la collection."))
return redirect(f"/groupe/{uuid}") return redirect(f"/groupe/{uuid}")
@ -131,15 +131,15 @@ def quit_groupe(uuid):
groupe = Groupe(uuid=uuid) groupe = Groupe(uuid=uuid)
users = groupe.get_users() users = groupe.get_users()
if user.id not in [u["id"] for u in 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}") return redirect(f"/groupe/{uuid}")
if len(users) == 1: 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") return redirect(f"/groupe/{uuid}#delete")
user.quit_groupe(groupe.uuid) user.quit_groupe(groupe.uuid)
flash(_("Group quitted.")) flash(_("Groupe quitté."))
return redirect("/albums") return redirect("/albums")
@ -152,7 +152,7 @@ def delete_groupe(uuid):
error = None error = None
users = groupe.get_users() users = groupe.get_users()
if len(users) > 1: 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(): if user.access_level == 1 or user.id not in groupe.get_admins():
error = None error = None
@ -163,7 +163,7 @@ def delete_groupe(uuid):
groupe.delete(current_app.instance_path) groupe.delete(current_app.instance_path)
flash(_("Group deleted.")) flash(_("Groupe supprimé."))
return redirect("/albums") return redirect("/albums")
@ -182,10 +182,10 @@ def create_album_req(groupe_uuid):
error = None error = None
if not name or name.strip() == "": 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(): 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: if error is None:
uuid = utils.create_album(name) uuid = utils.create_album(name)

View File

@ -55,12 +55,12 @@ def add_attachment(uuid):
user = User(user_id=session.get("user_id")) user = User(user_id=session.get("user_id"))
if user.id != partition.user_id and user.access_level != 1: 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) return redirect(request.referrer)
error = None # À mettre au propre error = None # À mettre au propre
if "file" not in request.files: if "file" not in request.files:
error = _("Missing file") error = _("Aucun fichier n'a été fourni.")
else: else:
if "name" not in request.form or request.form["name"] == "": if "name" not in request.form or request.form["name"] == "":
name = ".".join(request.files["file"].filename.split(".")[:-1]) name = ".".join(request.files["file"].filename.split(".")[:-1])
@ -68,12 +68,12 @@ def add_attachment(uuid):
name = request.form["name"] name = request.form["name"]
if name == "": if name == "":
error = _("Missing filename.") error = _("Pas de nom de fichier")
else: else:
filename = request.files["file"].filename filename = request.files["file"].filename
ext = filename.split(".")[-1] ext = filename.split(".")[-1]
if ext not in ["mid", "mp3"]: if ext not in ["mid", "mp3"]:
error = _("Unsupported file type.") error = _("Extension de fichier non supportée")
if error is not None: if error is not None:
flash(error) flash(error)
@ -141,7 +141,7 @@ def edit(uuid):
user = User(user_id=session.get("user_id")) user = User(user_id=session.get("user_id"))
if user.access_level != 1 and partition.user_id != 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") return redirect("/albums")
if request.method == "GET": if request.method == "GET":
@ -150,11 +150,11 @@ def edit(uuid):
error = None error = None
if "name" not in request.form or request.form["name"].strip() == "": 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: 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: elif "body" not in request.form:
error = _("Missing lyrics (can be null).") error = _("Des paroles sont requises (à minima nulles)")
if error is not None: if error is not None:
flash(error) flash(error)
@ -166,7 +166,7 @@ def edit(uuid):
body=request.form["body"] 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") return redirect("/albums")
@ -196,11 +196,11 @@ def details(uuid):
error = None error = None
if "name" not in request.form or request.form["name"].strip() == "": 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: 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: elif "body" not in request.form:
error = _("Missing lyrics (can be null).") error = _("Des paroles sont requises (à minima nulles)")
if error is not None: if error is not None:
flash(error) flash(error)
@ -212,7 +212,7 @@ def details(uuid):
body=request.form["body"] 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") return redirect("/albums")
@ -227,7 +227,7 @@ def delete(uuid):
user = User(user_id=session.get("user_id")) user = User(user_id=session.get("user_id"))
if user.access_level != 1 and partition.user_id != 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") return redirect("/albums")
if request.method == "GET": if request.method == "GET":
@ -235,7 +235,7 @@ def delete(uuid):
partition.delete(current_app.instance_path) partition.delete(current_app.instance_path)
flash(_("Score deleted.")) flash(_("Partition supprimée."))
return redirect("/albums") return redirect("/albums")

View File

@ -2,27 +2,27 @@
{% block content %} {% block content %}
<h2>{% block title %}{{ _("Administration Panel") }}{% 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">{{ _("New user") }}</div> <div class="button">{{ _("Nouvel utilisateur") }}</div>
</a> </a>
<a href="/partition"> <a href="/partition">
<div class="button">{{ _("See scores") }}</div> <div class="button">{{ _("Voir les partitions") }}</div>
</a> </a>
<a href="/admin/logs"> <a href="/admin/logs">
<div class="button">{{ _("See 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">{{ _("User") }}</th> <th scope="col">{{ _("Utilisateur") }}</th>
<th scope="col">{{ _("Albums") }}</th> <th scope="col">{{ _("Albums") }}</th>
<th scope="col">{{ _("Scores") }}</th> <th scope="col">{{ _("Partitions") }}</th>
<th scope="col">{{ _("Admin privileges") }}</th> <th scope="col">{{ _("Privilèges") }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>

View File

@ -1,7 +1,7 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% block header %} {% block header %}
<h1>{% block title %}{{ _("Scores list") }}{% 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>{{ _("No available scores") }}</div> <div>{{ _("Aucune partition disponible") }}</div>
{% endif %} {% endif %}
{% endblock %} {% endblock %}

View File

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

View File

@ -9,11 +9,11 @@
<a href="#!" class="close-dialog">Close</a> <a href="#!" class="close-dialog">Close</a>
</dialog> </dialog>
<dialog id="delete"> <dialog id="delete">
<h2>{{ _("Delete l'album") }}</h2> <h2>{{ _("Supprimer l'album") }}</h2>
{{ _("Do you really want to delete this 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="{{ _('Delete') }}"> <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>
@ -48,16 +48,16 @@
+ +
<div class="dropdown-content dp1"> <div class="dropdown-content dp1">
{% if g.user %} {% if g.user %}
<a href="#add-partition">{{ _("Add a score") }}</a> <a href="#add-partition">{{ _("Ajouter une partition") }}</a>
{% endif %} {% endif %}
{% if not_participant %} {% if not_participant %}
<a href="/albums/{{ album.uuid }}/join">{{ _("Join") }}</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">{{ _("Quit") }}</a> <a href="/albums/{{ album.uuid }}/quit">{{ _("Quitter") }}</a>
{% endif %} {% 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) %} {% 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 %} {% endif %}
</div> </div>
</div> </div>
@ -91,6 +91,6 @@
</section> </section>
{% else %} {% else %}
<br/> <br/>
<section id="partitions-grid" style="display: inline;">{{ _("No available scores") }}</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 %}{{ _("Delete %(name)s", name=album.name) }}{% endblock %} {% block title %}{{ _("Supprimer %(name)s", name=album.name) }}{% endblock %}
{% block content %} {% block content %}
{{ _("Do you really want to delete this album?") }} {{ _("Êtes vous sûr de vouloir supprimer cet album ?") }}
<form method="post"> <form method="post">
<input type="submit" value="{{ _('Delete') }}"> <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">{{ _("Cancel") }}</button> <button id="cancel-deletion">{{ _("Annuler") }}</button>
</a> </a>
{% endblock %} {% endblock %}

View File

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

View File

@ -2,9 +2,9 @@
{% block content %} {% 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 %} {% if partitions|length != 0 %}
<h3>{{ _("Results in current database") }}</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="{{ _('Add to 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>{{ _("Online search results") }}</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="{{ _('Add to 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 %}
{{ _("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 %} {% endif %}
{% endblock %} {% endblock %}

View File

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

View File

@ -2,21 +2,21 @@
{% block content %} {% 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"> <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">{{ _("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;"> <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 %} {% 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="{{ _('Username') }}" required><br/> <input type="text" name="username" id="username" placeholder="{{ _('Nom d\'utilisateur') }}" required><br/>
<input type="password" name="password" id="password" placeholder="{{ _('Password') }}" required><br/> <input type="password" name="password" id="password" placeholder="{{ _('Mot de passe') }}" required><br/>
<input type="submit" value="{{ _('Create account') }}"> <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>{{ _("New 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="{{ _('Name') }}" required><br/> <input type="text" name="name" id="name" placeholder="{{ _('Nom') }}" required><br/>
<input type="submit" value="{{ _('Create') }}"> <input type="submit" value="{{ _('Créer') }}">
</form> </form>
<br/> <br/>
<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> <a href="#!" class="close-dialog">Close</a>
</dialog> </dialog>
<dialog id="create-groupe"> <dialog id="create-groupe">
<h2>{{ _("Create new group") }}</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="{{ _('Name') }}" required><br/> <input type="text" name="name" id="name" placeholder="{{ _('Nom') }}" required><br/>
<input type="submit" value="{{ _('Create') }}"> <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="{{ _('Search') }}" name="query"> <input type="search" id="search-bar" required="" placeholder="{{ _('Rechercher') }}" name="query">
<br> <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) %} {% for i in range(0, user.max_queries+1) %}
<option value="{{ i }}">{{ i }}</option> <option value="{{ i }}">{{ i }}</option>
{% endfor %} {% endfor %}
@ -72,7 +72,7 @@
{% if g.user %} {% if g.user %}
<a href="#create-album"> <a href="#create-album">
<div class="create-button"> <div class="create-button">
{{ _("New album") }} {{ _("Créer un album") }}
</div> </div>
</a> </a>
{% endif %} {% endif %}
@ -89,7 +89,7 @@
</summary> </summary>
<div class="groupe-albums-cover"> <div class="groupe-albums-cover">
{% if groupe.get_albums() | length == 0 %} {% if groupe.get_albums() | length == 0 %}
{{ _("No albums") }} Aucun album
{% else %} {% else %}
{% for album in groupe.get_albums() %} {% for album in groupe.get_albums() %}
<a href="/groupe/{{ groupe.uuid }}/{{ album['uuid'] }}"> <a href="/groupe/{{ groupe.uuid }}/{{ album['uuid'] }}">
@ -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>{{ _("No album available") }}</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>{{ _("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> </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>
{{ _("Log out") }} {{ _("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>{{ _("Admin Panel") }} </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>{{ _("Create account") }}</button></a> <a href="{{ url_for('auth.register') }}"><button>{{ _("Créer un compte") }}</button></a>
{% endif %} {% endif %}
<a href="{{ url_for('auth.login') }}"><button>{{ _("Log in") }}</button></a> <a href="{{ url_for('auth.login') }}"><button>{{ _("Se connecter") }}</button></a>
{% endif %} {% endif %}
</div> </div>
</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"> <form action="/albums/{{ album.uuid }}/add-partition" method="post" enctype="multipart/form-data">
<input name="name" type="text" placeholder="{{ _('title') }}" required/><br/> <input name="name" type="text" placeholder="{{ _('titre') }}" required/><br/>
<input name="author" type="text" placeholder="{{ _('author') }}"/><br/> <input name="author" type="text" placeholder="{{ _('auteur') }}"/><br/>
<textarea id="lyrics" name="body" type="text" placeholder="{{ _('lyrics') }}"></textarea><br/> <textarea id="paroles" name="body" type="text" placeholder="{{ _('paroles') }}"></textarea><br/>
{% if partition_uuid %} {% if partition_uuid %}
<input name="partition-uuid" value="{{ partition_uuid }}" type="hidden"> <input name="partition-uuid" value="{{ partition_uuid }}" type="hidden">
{% else %}
<input name="file" type="file" accept=".pdf" required=""><br/>
{% endif %} {% endif %}
<input type="submit" value="{{ _('Add') }}" /> <input type="submit" value="{{ _('Ajouter') }}" />
</form> </form>

View File

@ -5,19 +5,20 @@
{% block dialogs %} {% block dialogs %}
<dialog id="create-groupe-album"> <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"> <form action="/groupe/{{ groupe.uuid }}/create-album" method="post">
<input type="text" name="name" id="name" placeholder="{{ _('Name') }}" required><br/> <input type="text" name="name" id="name" placeholder="{{ _('Nom') }}" required><br/>
<input type="submit" value="{{ _('Add') }}"> <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>{{ _("Delete group") }}</h2> <h2>{{ _("Supprimer le groupe") }}</h2>
{{ _("Do you really want to delete this group and the albums it contains?") }} {{ _("Ê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/> <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="{{ _('Delete') }}"> <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>
@ -43,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">{{ _("Join") }}</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">{{ _("Quit") }}</a> <a href="/groupe/{{ groupe.uuid }}/quit">{{ _("Quitter") }}</a>
{% endif %} {% endif %}
<a href="#share">{{ _("Share") }}</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">{{ _("Add an album") }}</a> <a href="#create-groupe-album">{{ _("Ajouter un album") }}</a>
<a id="delete-album" href="#delete">{{ _("Delete") }}</a> <a id="delete-album" href="#delete">{{ _("Supprimer") }}</a>
{% endif %} {% endif %}
</div> </div>
</div> </div>
@ -71,10 +72,10 @@
{% else %} {% else %}
<br/> <br/>
{% set create %} {% set create %}
<a href="#create-groupe-album">{{ _("Create one") }}</a> <a href="#create-groupe-album">{{ _("En créer un") }}</a>
{% endset %} {% endset %}
<div id="albums-grid" style="display: inline;"> <div id="albums-grid" style="display: inline;">
{{ _("No available album. %(create)s", create=create) }} {{ _("Aucun album disponible. %(create)s", create=create) }}
</div> </div>
{% endif %} {% endif %}
{% endblock %} {% endblock %}

View File

@ -2,15 +2,15 @@
{% extends 'base.html' %} {% 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 %} {% block dialogs %}
<dialog id="create-attachment"> <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"> <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 name="file" type="file" accept=".mp3,.mid" required=""><br/>
<input type="submit" value="{{ _('Add') }}"> <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>
{{ _("No pdf viewer available in this browser. {{ _("Impossible d'afficher le pdf dans ce navigateur.
You can use Firefox on 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>{{ _("JavaScript is mandatory to read MIDI files") }}</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>{{ _("Add an 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 %}{{ _("Delete %(name)s", name=partition.name) }}{% endblock %}</h1> <h1>{% block title %}{{ _("Supprimer %(name)s", name=partition.name) }}{% endblock %}</h1>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{{ _("Do you really want to delete this score?") }} {{ _("Êtes vous sûr de vouloir supprimer cette partition ?") }}
<form method="post"> <form method="post">
<input type="submit" id="delete-partition" value="{{ _('Delete') }}"> <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">{{ _("Cancel") }}</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 %}{{ _('Details of "%(name)s"', name=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>
{{ _("Added by") }} {{ _("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 %}
{{ _("Unknown") }} {{ _("Inconnu") }}
{% endif %} {% endif %}
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
{{ _("Type") }} {{ _("Type d'ajout") }}
</td> </td>
<td> <td>
{% if partition.source == "unknown" or partition.source == "upload" %} {% if partition.source == "unknown" or partition.source == "upload" %}
@ -49,41 +49,41 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>{{ _("File") }}</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>{{ _("Title") }}</td> <td>{{ _("Titre") }}</td>
<td><input name="name" type="text" value="{{ partition.name }}" placeholder="{{ _('Title') }}" required /><br/></td> <td><input name="name" type="text" value="{{ partition.name }}" placeholder="{{ _('Titre') }}" required /><br/></td>
</tr> </tr>
<tr> <tr>
<td>{{ _("Author") }}</td> <td>{{ _("Auteur") }}</td>
<td><input name="author" type="text" value="{{ partition.author }}" placeholder="{{ _('Author') }}" /><br/></td> <td><input name="author" type="text" value="{{ partition.author }}" placeholder="{{ _('Auteur') }}" /><br/></td>
</tr> </tr>
<tr> <tr>
<td>{{ _("Lyrics") }}</td> <td>{{ _("Paroles") }}</td>
<td><textarea id="lyrics" name="body" type="text" placeholder="{{ _('Lyrics') }}">{{ 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>{{ _("Attachments") }}</td> <td>{{ _("Pièces jointes") }}</td>
{{ 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 %}
{% set number=partition.attachments | length %} {% set number=partition.attachments | length %}
{{ _("Yes, %(number)s", number=number) }} {{ _("Oui, %(number)s", number=number) }}
{% else %} {% else %}
{{ _("Add one") }} {{ _("En rajouter") }}
{% endif %} {% endif %}
</a></td> </a></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<input type="submit" value="{{ _('Update') }}" /> <input type="submit" value="{{ _('Mettre à jour') }}" />
</form> </form>
<a href="/partition/{{ partition.uuid }}/delete"> <a href="/partition/{{ partition.uuid }}/delete">
<button id="delete-partition">{{ _("Delete") }}</button> <button id="delete-partition">{{ _("Supprimer") }}</button>
</a> </a>
{% endblock %} {% endblock %}

View File

@ -3,14 +3,14 @@
{% block content %} {% 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/> <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>{{ _("File") }}</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>
@ -26,35 +26,35 @@
</tr> </tr>
{% endif %} {% endif %}
<tr> <tr>
<td>{{ _("Title") }}</td> <td>{{ _("Titre") }}</td>
<td><input name="name" type="text" value="{{ partition.name }}" placeholder="{{ _('Title') }}" required /><br/></td> <td><input name="name" type="text" value="{{ partition.name }}" placeholder="{{ _('Titre') }}" required /><br/></td>
</tr> </tr>
<tr> <tr>
<td>{{ _("Author") }}</td> <td>{{ _("Auteur") }}</td>
<td><input name="author" type="text" value="{{ partition.author }}" placeholder="{{ _('Author') }}" /><br/></td> <td><input name="author" type="text" value="{{ partition.author }}" placeholder="{{ _('Auteur') }}" /><br/></td>
</tr> </tr>
<tr> <tr>
<td>{{ _("Lyrics") }}</td> <td>{{ _("Paroles") }}</td>
<td><textarea id="lyrics" name="body" type="text" placeholder="{{ _('Lyrics') }}">{{ 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>{{ _("Attachments") }}</td> <td>{{ _("Pièces jointes") }}</td>
{{ 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 %}
{% set number=partition.attachments | length %} {% set number=partition.attachments | length %}
{{ _("Yes, %(number)s", number=number) }} {{ _("Oui, %(number)s", number=number) }}
{% else %} {% else %}
{{ _("Add one") }} {{ _("En rajouter") }}
{% endif %} {% endif %}
</a></td> </a></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<input type="submit" value="{{ _('Update') }}" /> <input type="submit" value="{{ _('Mettre à jour') }}" />
</form> </form>
<a href="/partition/{{ partition.uuid }}/delete"> <a href="/partition/{{ partition.uuid }}/delete">
<button id="delete-partition">{{ _("Delete") }}</button> <button id="delete-partition">{{ _("Supprimer") }}</button>
</a> </a>
{% endblock %} {% endblock %}

View File

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

View File

@ -18,241 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.14.0\n" "Generated-By: Babel 2.14.0\n"
#: partitioncloud/__init__.py:135 #: partitioncloud/__init__.py:136
#, python-format #, python-format
msgid "Created user %(username)s" msgid "Utilisateur %(username)s créé"
msgstr "Utilisateur %(username)s créé" msgstr "Utilisateur %(username)s créé"
#: partitioncloud/__init__.py:138 #: partitioncloud/__init__.py:139
#, python-format #, 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éé" msgstr "Cet album n'existe pas. L'utilisateur %(username)s a été créé"
#: partitioncloud/modules/albums.py:41 #: partitioncloud/modules/albums.py:41
msgid "Missing search query" msgid "Aucun terme de recherche spécifié."
msgstr "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/albums.py:123 partitioncloud/modules/groupe.py:185
#: partitioncloud/modules/groupe.py:185 msgid "Un nom est requis. L'album n'a pas été créé"
msgid "Missing name." msgstr "Un nom est requis. L'album n'a pas été créé"
msgstr "Un nom est requis."
#: partitioncloud/modules/albums.py:160 #: partitioncloud/modules/albums.py:160
msgid "This album does not exist." msgid "Cet album n'existe pas."
msgstr "Cet album n'existe pas." msgstr "Cet album n'existe pas."
#: partitioncloud/modules/albums.py:163 #: partitioncloud/modules/albums.py:163
msgid "Album added to collection." msgid "Album ajouté à la collection."
msgstr "Album ajouté à la collection." msgstr "Album ajouté à la collection."
#: partitioncloud/modules/albums.py:177 partitioncloud/modules/albums.py:240 #: partitioncloud/modules/albums.py:177 partitioncloud/modules/albums.py:240
#: partitioncloud/modules/albums.py:346 #: 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" msgstr "Vous ne faites pas partie de cet album"
#: partitioncloud/modules/albums.py:181 #: 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." msgstr "Vous êtes seul dans cet album, le quitter entraînera sa suppression."
#: partitioncloud/modules/albums.py:185 #: partitioncloud/modules/albums.py:185
msgid "Album quitted." msgid "Album quitté."
msgstr "Album quitté." msgstr "Album quitté."
#: partitioncloud/modules/albums.py:204 #: 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." msgstr "Vous n'êtes pas seul dans cet album."
#: partitioncloud/modules/albums.py:206 #: 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." msgstr "Vous ne possédez pas cet album."
#: partitioncloud/modules/albums.py:217 #: partitioncloud/modules/albums.py:217
msgid "Album deleted." msgid "Album supprimé."
msgstr "Album supprimé." msgstr "Album supprimé."
#: partitioncloud/modules/albums.py:246 partitioncloud/modules/partition.py:153 #: partitioncloud/modules/albums.py:246 partitioncloud/modules/partition.py:153
#: partitioncloud/modules/partition.py:199 #: partitioncloud/modules/partition.py:199
msgid "Missing title" msgid "Un titre est requis."
msgstr "Un titre est requis." msgstr "Un titre est requis."
#: partitioncloud/modules/albums.py:248 partitioncloud/modules/partition.py:63 #: 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." msgstr "Aucun fichier n'a été fourni."
#: partitioncloud/modules/albums.py:260 #: 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é." msgstr "Les résultats de la recherche ont expiré."
#: partitioncloud/modules/albums.py:326 #: partitioncloud/modules/albums.py:326
#, python-format #, python-format
msgid "Score %(partition_name)s added" msgid "Partition %(partition_name)s ajoutée"
msgstr "Partition %(partition_name)s ajoutée" msgstr "Partition %(partition_name)s ajoutée"
#: partitioncloud/modules/albums.py:340 #: 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." msgstr "Il est nécessaire de sélectionner un album."
#: partitioncloud/modules/albums.py:342 #: 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." msgstr "Il est nécessaire de sélectionner une partition."
#: partitioncloud/modules/albums.py:344 #: 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." msgstr "Il est nécessaire de spécifier un type de partition."
#: partitioncloud/modules/albums.py:366 #: partitioncloud/modules/albums.py:366
msgid "Score added" msgid "Partition ajoutée."
msgstr "Partition ajoutée." msgstr "Partition ajoutée."
#: partitioncloud/modules/albums.py:368 #: 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." msgstr "Partition déjà dans l'album."
#: partitioncloud/modules/albums.py:380 #: partitioncloud/modules/albums.py:380
msgid "Unknown score type." msgid "Type de partition inconnu."
msgstr "Type de partition inconnu." msgstr "Type de partition inconnu."
#: partitioncloud/modules/auth.py:27 partitioncloud/modules/auth.py:54 #: 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." msgstr "Vous devez être connecté pour accéder à cette page."
#: partitioncloud/modules/auth.py:59 #: partitioncloud/modules/auth.py:59
msgid "Missing rights." msgid "Droits insuffisants."
msgstr "Droits insuffisants." msgstr "Droits insuffisants."
#: partitioncloud/modules/auth.py:85 #: partitioncloud/modules/auth.py:85
msgid "Missing username." msgid "Un nom d'utilisateur est requis."
msgstr "Un nom d'utilisateur est requis." msgstr "Un nom d'utilisateur est requis."
#: partitioncloud/modules/auth.py:87 #: partitioncloud/modules/auth.py:87
msgid "Missing password." 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
#, python-format #, 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." msgstr "Le nom d'utilisateur %(username)s est déjà pris."
#: partitioncloud/modules/auth.py:113 #: 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 "" msgstr ""
"L'enregistrement de nouveaux utilisateurs a été désactivé par " "L'enregistrement de nouveaux utilisateurs a été désactivé par "
"l'administrateur." "l'administrateur."
#: partitioncloud/modules/auth.py:127 #: 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." msgstr "Utilisateur créé avec succès. Vous pouvez vous connecter."
#: partitioncloud/modules/auth.py:152 #: 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." 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 #: partitioncloud/modules/groupe.py:120
msgid "Unknown group." msgid "Ce groupe n'existe pas."
msgstr "Ce groupe n'existe pas." msgstr "Ce groupe n'existe pas."
#: partitioncloud/modules/groupe.py:123 #: partitioncloud/modules/groupe.py:123
msgid "Group added to collection." msgid "Groupe ajouté à la collection."
msgstr "Groupe ajouté à la collection." msgstr "Groupe ajouté à la collection."
#: partitioncloud/modules/groupe.py:134 #: 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" msgstr "Vous ne faites pas partie de ce groupe"
#: partitioncloud/modules/groupe.py:138 #: 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." msgstr "Vous êtes seul dans ce groupe, le quitter entraînera sa suppression."
#: partitioncloud/modules/groupe.py:142 #: partitioncloud/modules/groupe.py:142
msgid "Group quitted." msgid "Groupe quitté."
msgstr "Groupe quitté." msgstr "Groupe quitté."
#: partitioncloud/modules/groupe.py:155 #: 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." msgstr "Vous n'êtes pas seul dans ce groupe."
#: partitioncloud/modules/groupe.py:166 #: partitioncloud/modules/groupe.py:166
msgid "Group deleted." msgid "Groupe supprimé."
msgstr "Groupe supprimé." msgstr "Groupe supprimé."
#: partitioncloud/modules/groupe.py:188 #: 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" msgstr "Vous n'êtes pas administrateur de ce groupe"
#: partitioncloud/modules/partition.py:58 #: 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" msgstr "Cette partition ne vous appartient pas"
#: partitioncloud/modules/partition.py:71 #: partitioncloud/modules/partition.py:71
msgid "Missing filename." msgid "Pas de nom de fichier"
msgstr "Pas de nom de fichier" msgstr "Pas de nom de fichier"
#: partitioncloud/modules/partition.py:76 #: partitioncloud/modules/partition.py:76
msgid "Unsupported file type." msgid "Extension de fichier non supportée"
msgstr "Extension de fichier non supportée" msgstr "Extension de fichier non supportée"
#: partitioncloud/modules/partition.py:144 #: 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." msgstr "Vous n'êtes pas autorisé à modifier cette partition."
#: partitioncloud/modules/partition.py:155 #: partitioncloud/modules/partition.py:155
#: partitioncloud/modules/partition.py:201 #: 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)" msgstr "Un nom d'auteur est requis (à minima nul)"
#: partitioncloud/modules/partition.py:157 #: partitioncloud/modules/partition.py:157
#: partitioncloud/modules/partition.py:203 #: 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)" 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
#, python-format #, 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." msgstr "Partition %(name)s modifiée avec succès."
#: partitioncloud/modules/partition.py:230 #: 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." msgstr "Vous n'êtes pas autorisé à supprimer cette partition."
#: partitioncloud/modules/partition.py:238 #: partitioncloud/modules/partition.py:238
msgid "Score deleted." msgid "Partition supprimée."
msgstr "Partition supprimée." msgstr "Partition supprimée."
#: partitioncloud/templates/base.html:23 #: partitioncloud/templates/base.html:23
msgid "New Album" msgid "Créer un nouvel album"
msgstr "Créer un nouvel album" msgstr "Créer un nouvel album"
#: partitioncloud/templates/base.html:25 partitioncloud/templates/base.html:36 #: partitioncloud/templates/base.html:25 partitioncloud/templates/base.html:36
#: partitioncloud/templates/groupe/index.html:10 #: partitioncloud/templates/groupe/index.html:10
#: partitioncloud/templates/partition/attachments.html:11 #: partitioncloud/templates/partition/attachments.html:11
msgid "Name" msgid "Nom"
msgstr "Nom" msgstr "Nom"
#: partitioncloud/templates/base.html:26 partitioncloud/templates/base.html:37 #: partitioncloud/templates/base.html:26 partitioncloud/templates/base.html:37
msgid "Create" msgid "Créer"
msgstr "Créer" msgstr "Créer"
#: partitioncloud/templates/base.html:30 #: 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 "" msgstr ""
"Je souhaite créer plusieurs albums et pouvoir tous les partager avec un " "Je souhaite créer plusieurs albums et pouvoir tous les partager avec un "
"seul lien." "seul lien."
#: partitioncloud/templates/base.html:30 #: partitioncloud/templates/base.html:30
msgid "Create group" msgid "Créer un groupe"
msgstr "Créer un groupe" msgstr "Créer un groupe"
#: partitioncloud/templates/base.html:34 #: partitioncloud/templates/base.html:34
msgid "Create new group" msgid "Créer un nouveau groupe"
msgstr "Créer un nouveau groupe" msgstr "Créer un nouveau groupe"
#: partitioncloud/templates/base.html:61 #: partitioncloud/templates/base.html:61
msgid "Search" msgid "Rechercher"
msgstr "Rechercher" msgstr "Rechercher"
#: partitioncloud/templates/base.html:63 #: partitioncloud/templates/base.html:63
msgid "Number of online searches" msgid "Nombre de recherches en ligne"
msgstr "Nombre de recherches en ligne" msgstr "Nombre de recherches en ligne"
#: partitioncloud/templates/admin/index.html:23 #: partitioncloud/templates/admin/index.html:23
@ -262,67 +269,62 @@ msgid "Albums"
msgstr "Albums" msgstr "Albums"
#: partitioncloud/templates/base.html:75 #: partitioncloud/templates/base.html:75
msgid "New album" msgid "Créer un album"
msgstr "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 #: partitioncloud/templates/base.html:111
msgid "No album available" msgid "Aucun album disponible"
msgstr "Aucun album disponible" msgstr "Aucun album disponible"
#: partitioncloud/templates/base.html:125 #: 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" msgstr "Connectez vous pour avoir accès à vos albums"
#: partitioncloud/templates/base.html:139 #: partitioncloud/templates/base.html:139
msgid "Log out" msgid "Déconnexion"
msgstr "Déconnexion" msgstr "Déconnexion"
#: partitioncloud/templates/base.html:154 #: partitioncloud/templates/base.html:154
msgid "Admin Panel" msgid "Panneau admin"
msgstr "Panneau admin" msgstr "Panneau admin"
#: partitioncloud/templates/auth/register.html:5 #: partitioncloud/templates/auth/register.html:5
#: partitioncloud/templates/auth/register.html:20 #: partitioncloud/templates/auth/register.html:20
#: partitioncloud/templates/base.html:166 #: partitioncloud/templates/base.html:166
msgid "Create account" msgid "Créer un compte"
msgstr "Créer un compte" msgstr "Créer un compte"
#: partitioncloud/templates/auth/login.html:5
#: partitioncloud/templates/auth/login.html:10 #: partitioncloud/templates/auth/login.html:10
#: partitioncloud/templates/base.html:168 #: partitioncloud/templates/base.html:168
msgid "Log in" msgid "Se connecter"
msgstr "Se connecter" msgstr "Se connecter"
#: partitioncloud/templates/admin/index.html:5 #: partitioncloud/templates/admin/index.html:5
msgid "Administration Panel" msgid "Panneau d'administration"
msgstr "Panneau d'administration" msgstr "Panneau d'administration"
#: partitioncloud/templates/admin/index.html:9 #: partitioncloud/templates/admin/index.html:9
msgid "New user" msgid "Nouvel utilisateur"
msgstr "Nouvel utilisateur" msgstr "Nouvel utilisateur"
#: partitioncloud/templates/admin/index.html:12 #: partitioncloud/templates/admin/index.html:12
msgid "See scores" msgid "Voir les partitions"
msgstr "Voir les partitions" msgstr "Voir les partitions"
#: partitioncloud/templates/admin/index.html:15 #: partitioncloud/templates/admin/index.html:15
msgid "See logs" msgid "Voir les logs"
msgstr "Voir les logs" msgstr "Voir les logs"
#: partitioncloud/templates/admin/index.html:22 #: partitioncloud/templates/admin/index.html:22
msgid "User" msgid "Utilisateur"
msgstr "Utilisateur" msgstr "Utilisateur"
#: partitioncloud/templates/admin/index.html:24 #: partitioncloud/templates/admin/index.html:24
msgid "Scores" msgid "Partitions"
msgstr "Partitions" msgstr "Partitions"
#: partitioncloud/templates/admin/index.html:25 #: partitioncloud/templates/admin/index.html:25
msgid "Admin privileges" msgid "Privilèges"
msgstr "Privilèges" msgstr "Privilèges"
#: partitioncloud/templates/admin/logs.html:5 #: partitioncloud/templates/admin/logs.html:5
@ -330,66 +332,66 @@ msgid "Logs"
msgstr "Logs" msgstr "Logs"
#: partitioncloud/templates/admin/partitions.html:4 #: partitioncloud/templates/admin/partitions.html:4
msgid "Scores list" msgid "Liste des partitions"
msgstr "Liste des partitions" msgstr "Liste des partitions"
#: partitioncloud/templates/admin/partitions.html:31 #: partitioncloud/templates/admin/partitions.html:31
#: partitioncloud/templates/albums/album.html:94 #: partitioncloud/templates/albums/album.html:94
msgid "No available scores" msgid "Aucune partition disponible"
msgstr "Aucune partition disponible" msgstr "Aucune partition disponible"
#: partitioncloud/templates/albums/add-partition.html:3 #: partitioncloud/templates/albums/add-partition.html:3
msgid "New score" msgid "Ajout de partition"
msgstr "Ajout de partition" msgstr "Ajout de partition"
#: partitioncloud/templates/albums/album.html:12 #: partitioncloud/templates/albums/album.html:12
msgid "Delete l'album" msgid "Supprimer l'album"
msgstr "Supprimer l'album" msgstr "Supprimer l'album"
#: partitioncloud/templates/albums/album.html:13 #: partitioncloud/templates/albums/album.html:13
#: partitioncloud/templates/albums/delete-album.html:6 #: 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 ?" msgstr "Êtes vous sûr de vouloir supprimer cet album ?"
#: partitioncloud/templates/albums/album.html:16 #: partitioncloud/templates/albums/album.html:16
#: partitioncloud/templates/albums/album.html:60 #: partitioncloud/templates/albums/album.html:60
#: partitioncloud/templates/albums/delete-album.html:8 #: partitioncloud/templates/albums/delete-album.html:8
#: partitioncloud/templates/groupe/index.html:20 #: partitioncloud/templates/groupe/index.html:21
#: partitioncloud/templates/groupe/index.html:53 #: partitioncloud/templates/groupe/index.html:54
#: partitioncloud/templates/partition/delete.html:10 #: partitioncloud/templates/partition/delete.html:10
#: partitioncloud/templates/partition/details.html:86 #: partitioncloud/templates/partition/details.html:86
#: partitioncloud/templates/partition/edit.html:57 #: partitioncloud/templates/partition/edit.html:57
msgid "Delete" msgid "Supprimer"
msgstr "Supprimer" msgstr "Supprimer"
#: partitioncloud/templates/albums/album.html:51 #: partitioncloud/templates/albums/album.html:51
msgid "Add a score" msgid "Ajouter une partition"
msgstr "Ajouter une partition" msgstr "Ajouter une partition"
#: partitioncloud/templates/albums/album.html:54 #: partitioncloud/templates/albums/album.html:54
#: partitioncloud/templates/groupe/index.html:46 #: partitioncloud/templates/groupe/index.html:47
msgid "Join" msgid "Rejoindre"
msgstr "Rejoindre" msgstr "Rejoindre"
#: partitioncloud/templates/albums/album.html:56 #: partitioncloud/templates/albums/album.html:56
#: partitioncloud/templates/groupe/index.html:48 #: partitioncloud/templates/groupe/index.html:49
msgid "Quit" msgid "Quitter"
msgstr "Quitter" msgstr "Quitter"
#: partitioncloud/templates/albums/album.html:58 #: partitioncloud/templates/albums/album.html:58
#: partitioncloud/templates/groupe/index.html:50 #: partitioncloud/templates/groupe/index.html:51
msgid "Share" msgid "Partager"
msgstr "Partager" msgstr "Partager"
#: partitioncloud/templates/albums/delete-album.html:3 #: partitioncloud/templates/albums/delete-album.html:3
#: partitioncloud/templates/partition/delete.html:4 #: partitioncloud/templates/partition/delete.html:4
#, python-format #, python-format
msgid "Delete %(name)s" msgid "Supprimer %(name)s"
msgstr "Supprimer %(name)s" msgstr "Supprimer %(name)s"
#: partitioncloud/templates/albums/delete-album.html:11 #: partitioncloud/templates/albums/delete-album.html:11
#: partitioncloud/templates/partition/delete.html:13 #: partitioncloud/templates/partition/delete.html:13
msgid "Cancel" msgid "Annuler"
msgstr "Annuler" msgstr "Annuler"
#: partitioncloud/templates/albums/index.html:3 #: partitioncloud/templates/albums/index.html:3
@ -398,206 +400,189 @@ msgstr "Accueil"
#: partitioncloud/templates/albums/index.html:10 #: partitioncloud/templates/albums/index.html:10
#, python-format #, python-format
msgid "Hi %(user_name)s !" msgid "Bonjour %(user_name)s !"
msgstr "Bonjour %(user_name)s !" msgstr "Bonjour %(user_name)s !"
#: partitioncloud/templates/albums/index.html:11 #: partitioncloud/templates/albums/index.html:11
msgid "No album selected" msgid "Aucun album sélectionné"
msgstr "Aucun album sélectionné" msgstr "Aucun album sélectionné"
#: partitioncloud/templates/albums/search.html:5 #: partitioncloud/templates/auth/login.html:5
#, python-format msgid "Connexion"
msgid "Search results for \"%(query)s\"" msgstr "Connexion"
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:8 #: partitioncloud/templates/auth/login.html:8
#: partitioncloud/templates/auth/register.html:18 #: partitioncloud/templates/auth/register.html:18
msgid "Username" msgid "Nom d'utilisateur"
msgstr "Nom d'utilisateur" msgstr "Nom d'utilisateur"
#: partitioncloud/templates/auth/login.html:9 #: partitioncloud/templates/auth/login.html:9
#: partitioncloud/templates/auth/register.html:19 #: partitioncloud/templates/auth/register.html:19
msgid "Password" msgid "Mot de passe"
msgstr "Mot de passe" msgstr "Mot de passe"
#: partitioncloud/templates/auth/register.html:10 #: partitioncloud/templates/auth/register.html:10
msgid "Add to album:" msgid "Ajouter à un album:"
msgstr "Ajouter à un album:" msgstr "Ajouter à un album:"
#: partitioncloud/templates/auth/register.html:12 #: partitioncloud/templates/auth/register.html:12
msgid "None" msgid "Aucun"
msgstr "Aucun" msgstr "Aucun"
#: partitioncloud/templates/components/add_partition.html:1 #: partitioncloud/templates/components/add_partition.html:1
#, python-format #, python-format
msgid "Add a score to %(name)s" msgid "Ajouter une partition à %(name)s"
msgstr "Ajouter une partition à %(name)s" msgstr "Ajouter une partition à %(name)s"
#: partitioncloud/templates/components/add_partition.html:4 #: partitioncloud/templates/components/add_partition.html:4
msgid "title" msgid "titre"
msgstr "titre" msgstr "titre"
#: partitioncloud/templates/components/add_partition.html:5 #: partitioncloud/templates/components/add_partition.html:5
msgid "author" msgid "auteur"
msgstr "auteur" msgstr "auteur"
#: partitioncloud/templates/components/add_partition.html:6 #: partitioncloud/templates/components/add_partition.html:6
msgid "lyrics" msgid "paroles"
msgstr "paroles" msgstr "paroles"
#: partitioncloud/templates/components/add_partition.html:10 #: partitioncloud/templates/components/add_partition.html:10
#: partitioncloud/templates/groupe/index.html:11 #: partitioncloud/templates/groupe/index.html:11
#: partitioncloud/templates/partition/attachments.html:13 #: partitioncloud/templates/partition/attachments.html:13
msgid "Add" msgid "Ajouter"
msgstr "Ajouter" msgstr "Ajouter"
#: partitioncloud/templates/groupe/index.html:8 #: partitioncloud/templates/groupe/index.html:8
#, python-format #, 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" msgstr "Ajouter un album au groupe %(name)s"
#: partitioncloud/templates/groupe/index.html:16 #: partitioncloud/templates/groupe/index.html:16
msgid "Delete group" msgid "Supprimer le groupe"
msgstr "Supprimer le groupe" msgstr "Supprimer le groupe"
#: partitioncloud/templates/groupe/index.html:17 #: 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 "" msgstr ""
"Ê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"
"\n"
" sous-jacents et leurs partitions si personne ne les a rejoints " " sous-jacents et leurs partitions si personne ne les a rejoints "
"(indépendamment du groupe)." "(indépendamment du groupe)."
#: partitioncloud/templates/groupe/index.html:52 #: partitioncloud/templates/groupe/index.html:53
msgid "Add an album" msgid "Ajouter un album"
msgstr "Ajouter un album" msgstr "Ajouter un album"
#: partitioncloud/templates/groupe/index.html:74 #: partitioncloud/templates/groupe/index.html:75
msgid "Create one" msgid "En créer un"
msgstr "En créer un" msgstr "En créer un"
#: partitioncloud/templates/groupe/index.html:77 #: partitioncloud/templates/groupe/index.html:78
#, python-format #, python-format
msgid "No available album. %(create)s" msgid "Aucun album disponible. %(create)s"
msgstr "Aucun album disponible. %(create)s" msgstr "Aucun album disponible. %(create)s"
#: partitioncloud/templates/partition/attachments.html:5 #: partitioncloud/templates/partition/attachments.html:5
#, python-format #, python-format
msgid "Attachments of %(name)s" msgid "Attachments de %(name)s"
msgstr "Attachments de %(name)s" msgstr "Attachments de %(name)s"
#: partitioncloud/templates/partition/attachments.html:9 #: partitioncloud/templates/partition/attachments.html:9
#, python-format #, python-format
msgid "Add an attachment to %(name)s" msgid "Ajouter un attachment à %(name)s"
msgstr "Ajouter un attachment à %(name)s" msgstr "Ajouter un attachment à %(name)s"
#: partitioncloud/templates/partition/attachments.html:22 #: partitioncloud/templates/partition/attachments.html:22
msgid "" msgid ""
"No pdf viewer available in this browser.\n" "Impossible d'afficher le pdf dans ce navigateur.\n"
" You can use Firefox on Android." " Il est conseillé d'utiliser Firefox sur Android."
msgstr "" msgstr ""
"Impossible d'afficher le pdf dans ce navigateur.\n" "Impossible d'afficher le pdf dans ce navigateur.\n"
" Il est conseillé d'utiliser Firefox sur Android." " Il est conseillé d'utiliser Firefox sur Android."
#: partitioncloud/templates/partition/attachments.html:46 #: 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" msgstr "JavaScript est nécessaire pour lire les fichiers MIDI"
#: partitioncloud/templates/partition/attachments.html:60 #: partitioncloud/templates/partition/attachments.html:60
msgid "Add an attachment" msgid "Ajouter un attachment"
msgstr "Ajouter un attachment" msgstr "Ajouter un attachment"
#: partitioncloud/templates/partition/delete.html:8 #: 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 ?" msgstr "Êtes vous sûr de vouloir supprimer cette partition ?"
#: partitioncloud/templates/partition/details.html:4 #: partitioncloud/templates/partition/details.html:4
#, python-format #, python-format
msgid "Details of \"%(name)s\"" msgid "Détails de \"%(name)s\""
msgstr "Détails de \"%(name)s\"" msgstr "Détails de \"%(name)s\""
#: partitioncloud/templates/partition/details.html:12 #: partitioncloud/templates/partition/details.html:12
msgid "Added by" msgid "Responsable de l'ajout"
msgstr "Responsable de l'ajout" msgstr "Responsable de l'ajout"
#: partitioncloud/templates/partition/details.html:23 #: partitioncloud/templates/partition/details.html:23
msgid "Unknown" msgid "Inconnu"
msgstr "Inconnu" msgstr "Inconnu"
#: partitioncloud/templates/partition/details.html:29 #: partitioncloud/templates/partition/details.html:29
msgid "Type" msgid "Type d'ajout"
msgstr "Type d'ajout" msgstr "Type d'ajout"
#: partitioncloud/templates/partition/details.html:52 #: partitioncloud/templates/partition/details.html:52
#: partitioncloud/templates/partition/edit.html:13 #: partitioncloud/templates/partition/edit.html:13
msgid "File" msgid "Fichier"
msgstr "Fichier" msgstr "Fichier"
#: partitioncloud/templates/partition/details.html:58 #: partitioncloud/templates/partition/details.html:58
#: partitioncloud/templates/partition/details.html:59 #: partitioncloud/templates/partition/details.html:59
#: partitioncloud/templates/partition/edit.html:29 #: partitioncloud/templates/partition/edit.html:29
#: partitioncloud/templates/partition/edit.html:30 #: partitioncloud/templates/partition/edit.html:30
msgid "Title" msgid "Titre"
msgstr "Titre" msgstr "Titre"
#: partitioncloud/templates/partition/details.html:62 #: partitioncloud/templates/partition/details.html:62
#: partitioncloud/templates/partition/details.html:63 #: partitioncloud/templates/partition/details.html:63
#: partitioncloud/templates/partition/edit.html:33 #: partitioncloud/templates/partition/edit.html:33
#: partitioncloud/templates/partition/edit.html:34 #: partitioncloud/templates/partition/edit.html:34
msgid "Author" msgid "Auteur"
msgstr "Auteur" msgstr "Auteur"
#: partitioncloud/templates/partition/details.html:66 #: partitioncloud/templates/partition/details.html:66
#: partitioncloud/templates/partition/details.html:67 #: partitioncloud/templates/partition/details.html:67
#: partitioncloud/templates/partition/edit.html:37 #: partitioncloud/templates/partition/edit.html:37
#: partitioncloud/templates/partition/edit.html:38 #: partitioncloud/templates/partition/edit.html:38
msgid "Lyrics" msgid "Paroles"
msgstr "Paroles" msgstr "Paroles"
#: partitioncloud/templates/partition/details.html:70 #: partitioncloud/templates/partition/details.html:70
#: partitioncloud/templates/partition/edit.html:41 #: partitioncloud/templates/partition/edit.html:41
msgid "Attachments" msgid "Pièces jointes"
msgstr "Pièces jointes" msgstr "Pièces jointes"
#: partitioncloud/templates/partition/details.html:75 #: partitioncloud/templates/partition/details.html:75
#: partitioncloud/templates/partition/edit.html:46 #: partitioncloud/templates/partition/edit.html:46
#, python-format #, python-format
msgid "Yes, %(number)s" msgid "Oui, %(number)s"
msgstr "Oui, %(number)s" msgstr "Oui, %(number)s"
#: partitioncloud/templates/partition/details.html:77 #: partitioncloud/templates/partition/details.html:77
#: partitioncloud/templates/partition/edit.html:48 #: partitioncloud/templates/partition/edit.html:48
msgid "Add one" msgid "En rajouter"
msgstr "En rajouter" msgstr "En rajouter"
#: partitioncloud/templates/partition/details.html:83 #: partitioncloud/templates/partition/details.html:83
#: partitioncloud/templates/partition/edit.html:54 #: partitioncloud/templates/partition/edit.html:54
msgid "Update" msgid "Mettre à jour"
msgstr "Mettre à jour" msgstr "Mettre à jour"
#: partitioncloud/templates/partition/edit.html:6 #: partitioncloud/templates/partition/edit.html:6
#, python-format #, python-format
msgid "Modify \"%(name)s\"" msgid "Modifier \"%(name)s\""
msgstr "Modifier \"%(name)s\"" msgstr "Modifier \"%(name)s\""
#: partitioncloud/templates/partition/edit.html:21 #: partitioncloud/templates/partition/edit.html:21