This commit is contained in:
bkfox 2024-04-28 20:58:45 +02:00
parent 87692c860b
commit 8208554c4b
10 changed files with 812 additions and 2205 deletions

File diff suppressed because it is too large Load Diff

View File

@ -128,8 +128,8 @@ class EpisodeSound(models.Model):
objects = EpisodeSoundQuerySet.as_manager() objects = EpisodeSoundQuerySet.as_manager()
class Meta: class Meta:
verbose_name = _("Episode Sound") verbose_name = _("Podcast")
verbose_name_plural = _("Episode Sounds") verbose_name_plural = _("Podcasts")
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
if self.broadcast is None: if self.broadcast is None:

View File

@ -98,7 +98,7 @@ class Log(Renderable, models.Model):
blank=True, blank=True,
null=True, null=True,
verbose_name=_("source"), verbose_name=_("source"),
help_text=_("identifier of the source related to this log"), help_text=_("Identifier of the log's source."),
) )
comment = models.CharField( comment = models.CharField(
max_length=512, max_length=512,

View File

@ -52,7 +52,7 @@ class Sound(File):
) )
is_downloadable = models.BooleanField( is_downloadable = models.BooleanField(
_("downloadable"), _("downloadable"),
help_text=_("sound can be downloaded by visitors"), help_text=_("Sound can be downloaded by website visitors."),
default=False, default=False,
) )
broadcast = models.BooleanField( broadcast = models.BooleanField(

View File

@ -99,7 +99,7 @@ urls = [
path(_("programs/"), views.program.ProgramListView.as_view(), name="program-list"), path(_("programs/"), views.program.ProgramListView.as_view(), name="program-list"),
path(_("programs/c/<slug:category_slug>/"), views.program.ProgramListView.as_view(), name="program-list"), path(_("programs/c/<slug:category_slug>/"), views.program.ProgramListView.as_view(), name="program-list"),
path( path(
_("programs/<slug:slug>"), _("programs/<slug:slug>/"),
views.program.ProgramDetailView.as_view(), views.program.ProgramDetailView.as_view(),
name="program-detail", name="program-detail",
), ),
@ -132,5 +132,5 @@ urls = [
path(_("dashboard/statistics/<date:date>/"), views.dashboard.StatisticsView.as_view(), name="dashboard-statistics"), path(_("dashboard/statistics/<date:date>/"), views.dashboard.StatisticsView.as_view(), name="dashboard-statistics"),
path(_("dashboard/users/"), views.auth.UserListView.as_view(), name="user-list"), path(_("dashboard/users/"), views.auth.UserListView.as_view(), name="user-list"),
# ---- others # ---- others
path("errors/no-station/", views.errors.NoStationErrorView.as_view(), name="errors-no-station"), path(_("errors/no-station/"), views.errors.NoStationErrorView.as_view(), name="errors-no-station"),
] ]

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-09-12 18:48+0000\n" "POT-Creation-Date: 2024-04-28 18:19+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,85 +18,85 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: aircox_streamer/templates/aircox_streamer/source_item.html:18 #: templates/aircox/widgets/nav.html:7 views.py:10
msgid "Edit related program" msgid "Streamer"
msgstr "Éditer le programme correspondant" msgstr "Streamer"
#: aircox_streamer/templates/aircox_streamer/source_item.html:27 #: templates/aircox_streamer/source_item.html:19
msgid "Synchronize source with Liquidsoap" msgid "Edit program"
msgstr "Synchroniser la source avec Liquidsoap" msgstr "Éditer l'émission"
#: aircox_streamer/templates/aircox_streamer/source_item.html:31 #: templates/aircox_streamer/source_item.html:29
msgid "Synchronise"
msgstr "Synchroniser"
#: aircox_streamer/templates/aircox_streamer/source_item.html:34
msgid "Restart current track"
msgstr "Rejouer le morceau en cours"
#: aircox_streamer/templates/aircox_streamer/source_item.html:38
msgid "Restart"
msgstr "Rejouer"
#: aircox_streamer/templates/aircox_streamer/source_item.html:41
msgid "Skip current file"
msgstr "Passer le fichier actuel"
#: aircox_streamer/templates/aircox_streamer/source_item.html:42
msgid "Skip"
msgstr "Passer"
#: aircox_streamer/templates/aircox_streamer/source_item.html:51
msgid "Add sound"
msgstr "Ajouter un son"
#: aircox_streamer/templates/aircox_streamer/source_item.html:58
msgid "Select a sound"
msgstr "Sélectionner un son"
#: aircox_streamer/templates/aircox_streamer/source_item.html:69
msgid "Add"
msgstr "Ajouter"
#: aircox_streamer/templates/aircox_streamer/source_item.html:74
msgid "Add a sound to the queue (queue may start playing)"
msgstr "Ajouter un son à la file de lecture (la file de lecture peut démarer)"
#: aircox_streamer/templates/aircox_streamer/source_item.html:80
msgid "Sounds in queue"
msgstr "Sons dans la file de lecture"
#: aircox_streamer/templates/aircox_streamer/source_item.html:98
msgid "Status" msgid "Status"
msgstr "Statut" msgstr "Statut"
#: aircox_streamer/templates/aircox_streamer/source_item.html:108 #: templates/aircox_streamer/source_item.html:39
msgid "Air time" msgid "Air time"
msgstr "En antenne depuis" msgstr "Temps d'antenne"
#: aircox_streamer/templates/aircox_streamer/source_item.html:118 #: templates/aircox_streamer/source_item.html:49
msgid "Time left" msgid "Time left"
msgstr "Temps restant" msgstr "Temps restant"
#: aircox_streamer/templates/aircox_streamer/source_item.html:126 #: templates/aircox_streamer/source_item.html:57
msgid "Data source" msgid "Source"
msgstr "Source de donnée" msgstr "Source"
#: aircox_streamer/templates/aircox_streamer/streamer.html:23 #: templates/aircox_streamer/source_item.html:70
msgid "Restart current track"
msgstr "Rejouer le morceau en cours"
#: templates/aircox_streamer/source_item.html:74
msgid "Restart"
msgstr "Rejouer"
#: templates/aircox_streamer/source_item.html:77
msgid "Skip current file"
msgstr "Passer le fichier actuel"
#: templates/aircox_streamer/source_item.html:78
msgid "Skip"
msgstr "Passer"
#: templates/aircox_streamer/source_item.html:84
msgid "Synchronize source with Liquidsoap"
msgstr "Synchroniser la source avec Liquidsoap"
#: templates/aircox_streamer/source_item.html:88
msgid "Synchronise"
msgstr "Synchroniser"
#: templates/aircox_streamer/source_item.html:94
msgid "Add sound"
msgstr "Ajouter un son"
#: templates/aircox_streamer/source_item.html:101
msgid "Select a sound"
msgstr "Sélectionner un son"
#: templates/aircox_streamer/source_item.html:112
msgid "Add"
msgstr "Ajouter"
#: templates/aircox_streamer/source_item.html:117
msgid "Add a sound to the queue (queue may start playing)"
msgstr "Ajouter un son à la file de lecture (la file de lecture peut démarer)"
#: templates/aircox_streamer/source_item.html:123
msgid "Sounds in queue"
msgstr "Sons dans la file de lecture"
#: templates/aircox_streamer/streamer.html:19
msgid "Reload" msgid "Reload"
msgstr "Recharger" msgstr "Recharger"
#: aircox_streamer/templates/aircox_streamer/streamer.html:30 #: templates/aircox_streamer/streamer.html:26
#: aircox_streamer/templates/aircox_streamer/streamer.html:31 #: templates/aircox_streamer/streamer.html:27
msgid "Select a station" msgid "Select a station"
msgstr "Sélectionner une station" msgstr "Sélectionner une station"
#: aircox_streamer/urls.py:13 aircox_streamer/views.py:10
msgid "Streamer Monitor"
msgstr "Moniteur de stream"
#~ msgid "playing" #~ msgid "playing"
#~ msgstr "en cours de lecture" #~ msgstr "lecture"
#~ msgid "paused" #~ msgid "paused"
#~ msgstr "pause" #~ msgstr "pause"

View File

@ -14,8 +14,8 @@
<small v-if="source.isPaused || source.isPlaying">([[ source.remainingString ]])</small> <small v-if="source.isPaused || source.isPlaying">([[ source.remainingString ]])</small>
<a v-if="source.data.program !== undefined" <a v-if="source.data.program !== undefined"
:href="'{% url 'admin:aircox_program_change' "$$" %}'.replace('$$', source.data.program)" :href="'{% url 'aircox:program_edit' "$$" %}'.replace('$$', source.data.program)"
title="{% translate "Edit related program" %}"> title="{% translate "Edit program" %}">
<span class="icon"> <span class="icon">
<span class="fas fa-edit"></span> <span class="fas fa-edit"></span>
</span> </span>
@ -53,7 +53,7 @@
</tr> </tr>
<tr v-if="source.data.uri"> <tr v-if="source.data.uri">
<th class="has-text-right ws-nowrap"> <th class="has-text-right ws-nowrap">
{% translate "Data source" %} {% translate "Source" %}
</th><td> </th><td>
<span class="far fa-play-circle"></span> <span class="far fa-play-circle"></span>
<template v-if="source.data.uri.length > 64">...</template>[[ (source.data.uri && source.data.uri.slice(-64)) || '&mdash;' ]] <template v-if="source.data.uri.length > 64">...</template>[[ (source.data.uri && source.data.uri.slice(-64)) || '&mdash;' ]]

View File

@ -2,7 +2,7 @@
{% load i18n static %} {% load i18n static %}
{% block title %}{% translate "Streamer monitor" %}{% endblock %} {% block title %}{% translate "Streamer" %}{% endblock %}
{% block content-container %} {% block content-container %}
{{ block.super }} {{ block.super }}