document translations
This commit is contained in:
parent
253045e976
commit
078a90f09a
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Aircox 0.1\n"
|
"Project-Id-Version: Aircox 0.1\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-01-04 19:33+0100\n"
|
"POT-Creation-Date: 2020-01-06 14:14+0100\n"
|
||||||
"PO-Revision-Date: 2016-10-10 16:00+02\n"
|
"PO-Revision-Date: 2016-10-10 16:00+02\n"
|
||||||
"Last-Translator: Aarys\n"
|
"Last-Translator: Aarys\n"
|
||||||
"Language-Team: Aircox's translators team\n"
|
"Language-Team: Aircox's translators team\n"
|
||||||
|
@ -52,7 +52,7 @@ msgstr "Jour"
|
||||||
msgid "file"
|
msgid "file"
|
||||||
msgstr "fichier"
|
msgstr "fichier"
|
||||||
|
|
||||||
#: admin/sound.py:61 templates/aircox/episode_detail.html:36
|
#: admin/sound.py:61 templates/aircox/episode_detail.html:38
|
||||||
msgid "Playlist"
|
msgid "Playlist"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ msgid "Article"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: models/article.py:22 templates/admin/base.html:46
|
#: models/article.py:22 templates/admin/base.html:46
|
||||||
#: templates/aircox/program_detail.html:17
|
#: templates/aircox/program_detail.html:19
|
||||||
msgid "Articles"
|
msgid "Articles"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -106,7 +106,7 @@ msgid "cancelled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: models/episode.py:147 models/sound.py:90 models/sound.py:280
|
#: models/episode.py:147 models/sound.py:90 models/sound.py:280
|
||||||
#: templates/admin/aircox/statistics.html:21
|
#: templates/admin/aircox/statistics.html:23
|
||||||
msgid "episode"
|
msgid "episode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -119,7 +119,7 @@ msgstr "type"
|
||||||
msgid "Diffusion"
|
msgid "Diffusion"
|
||||||
msgstr "Diffusion"
|
msgstr "Diffusion"
|
||||||
|
|
||||||
#: models/episode.py:166 templates/aircox/controllers/monitor.html:151
|
#: models/episode.py:166
|
||||||
msgid "Diffusions"
|
msgid "Diffusions"
|
||||||
msgstr "Diffusions"
|
msgstr "Diffusions"
|
||||||
|
|
||||||
|
@ -127,8 +127,8 @@ msgstr "Diffusions"
|
||||||
msgid "edit the diffusion's planification"
|
msgid "edit the diffusion's planification"
|
||||||
msgstr "éditer la planification de la diffusion"
|
msgstr "éditer la planification de la diffusion"
|
||||||
|
|
||||||
#: models/episode.py:177 templates/aircox/episode_detail.html:20
|
#: models/episode.py:177 templates/aircox/episode_detail.html:22
|
||||||
#: templates/aircox/program_header.html:16
|
#: templates/aircox/program_header.html:21
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Rerun"
|
#| msgid "Rerun"
|
||||||
msgid "rerun"
|
msgid "rerun"
|
||||||
|
@ -172,7 +172,6 @@ msgid "Sound"
|
||||||
msgstr "Son"
|
msgstr "Son"
|
||||||
|
|
||||||
#: models/log.py:210 models/sound.py:306
|
#: models/log.py:210 models/sound.py:306
|
||||||
#: templates/aircox/controllers/stats.html:58
|
|
||||||
msgid "Track"
|
msgid "Track"
|
||||||
msgstr "Morceau"
|
msgstr "Morceau"
|
||||||
|
|
||||||
|
@ -188,7 +187,7 @@ msgstr ""
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: models/page.py:33 templates/aircox/page_list.html:23
|
#: models/page.py:33 templates/aircox/page_list.html:28
|
||||||
msgid "Categories"
|
msgid "Categories"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -303,7 +302,7 @@ msgstr ""
|
||||||
msgid "date of the first diffusion"
|
msgid "date of the first diffusion"
|
||||||
msgstr "date de la première diffusion"
|
msgstr "date de la première diffusion"
|
||||||
|
|
||||||
#: models/program.py:256 templates/admin/aircox/statistics.html:20
|
#: models/program.py:256 templates/admin/aircox/statistics.html:22
|
||||||
msgid "time"
|
msgid "time"
|
||||||
msgstr "heure"
|
msgstr "heure"
|
||||||
|
|
||||||
|
@ -508,7 +507,7 @@ msgstr "en secondes"
|
||||||
msgid "artist"
|
msgid "artist"
|
||||||
msgstr "artiste"
|
msgstr "artiste"
|
||||||
|
|
||||||
#: models/sound.py:296 templates/admin/aircox/statistics.html:23
|
#: models/sound.py:296 templates/admin/aircox/statistics.html:25
|
||||||
msgid "tags"
|
msgid "tags"
|
||||||
msgstr "tags"
|
msgstr "tags"
|
||||||
|
|
||||||
|
@ -604,35 +603,35 @@ msgstr ""
|
||||||
"liste des paramètres disponibles séparés par des virgules; placé dans le "
|
"liste des paramètres disponibles séparés par des virgules; placé dans le "
|
||||||
"fichier de configuration en tant que code brut; relatif au plugin utilisé"
|
"fichier de configuration en tant que code brut; relatif au plugin utilisé"
|
||||||
|
|
||||||
#: templates/admin/aircox/page_change_form.html:9
|
#: templates/admin/aircox/page_change_form.html:11
|
||||||
msgid "Move to trash"
|
msgid "Move to trash"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/admin/aircox/page_change_form.html:12
|
#: templates/admin/aircox/page_change_form.html:14
|
||||||
msgid "Mark as draft"
|
msgid "Mark as draft"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/admin/aircox/page_change_form.html:17
|
#: templates/admin/aircox/page_change_form.html:19
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/admin/aircox/page_change_form.html:18
|
#: templates/admin/aircox/page_change_form.html:20
|
||||||
msgid "Save and continue"
|
msgid "Save and continue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/admin/aircox/page_change_form.html:20
|
#: templates/admin/aircox/page_change_form.html:22
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "public"
|
#| msgid "public"
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "public"
|
msgstr "public"
|
||||||
|
|
||||||
#: templates/admin/aircox/statistics.html:22
|
#: templates/admin/aircox/statistics.html:24
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Track"
|
#| msgid "Track"
|
||||||
msgid "track"
|
msgid "track"
|
||||||
msgstr "Morceau"
|
msgstr "Morceau"
|
||||||
|
|
||||||
#: templates/admin/aircox/statistics.html:65
|
#: templates/admin/aircox/statistics.html:67
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Total"
|
#| msgid "Total"
|
||||||
msgid "Totals"
|
msgid "Totals"
|
||||||
|
@ -667,7 +666,7 @@ msgid "Log out"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/admin/base.html:111 templates/admin/change_list.html:30
|
#: templates/admin/base.html:111 templates/admin/change_list.html:30
|
||||||
#: templates/aircox/base.html:54
|
#: templates/aircox/base.html:58
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -683,181 +682,43 @@ msgstr ""
|
||||||
msgid "Filter"
|
msgid "Filter"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/article_detail.html:9
|
#. Translators: in page detail sidebar
|
||||||
|
#: templates/aircox/article_detail.html:12
|
||||||
msgid "Latest news"
|
msgid "Latest news"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/article_detail.html:20
|
#: templates/aircox/article_detail.html:23
|
||||||
msgid "Show all news"
|
msgid "Show all news"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/article_detail.html:21
|
#: templates/aircox/article_detail.html:24
|
||||||
msgid "More news"
|
msgid "More news"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/article_list.html:7
|
#: templates/aircox/base.html:102
|
||||||
#, python-format
|
|
||||||
msgid "Articles of %(parent)s"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: templates/aircox/base.html:97
|
|
||||||
msgid "list filters"
|
msgid "list filters"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/base.html:120
|
#: templates/aircox/base.html:126
|
||||||
msgid "Recently"
|
msgid "Recently"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/controllers/monitor.html:6
|
#: templates/aircox/diffusion_list.html:8
|
||||||
#: templates/aircox/controllers/monitor.html:112
|
|
||||||
msgid "Streamer monitor"
|
|
||||||
msgstr "Streamer"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/monitor.html:115
|
|
||||||
msgid "refresh"
|
|
||||||
msgstr "rafraîchir"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/monitor.html:129
|
|
||||||
#, python-format
|
|
||||||
msgid ""
|
|
||||||
"\n"
|
|
||||||
" Current source: %(current_source)s\n"
|
|
||||||
" "
|
|
||||||
msgstr ""
|
|
||||||
"\n"
|
|
||||||
" Source courante: %(current_source)s\n"
|
|
||||||
" "
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/monitor.html:136
|
|
||||||
#: templates/aircox/controllers/monitor.html:175
|
|
||||||
msgid "restart"
|
|
||||||
msgstr "redémarrer"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/monitor.html:138
|
|
||||||
#: templates/aircox/controllers/monitor.html:177
|
|
||||||
msgid "skip"
|
|
||||||
msgstr "passer"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/monitor.html:143
|
|
||||||
msgid "Source"
|
|
||||||
msgstr "Source"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/monitor.html:144
|
|
||||||
msgid "File"
|
|
||||||
msgstr "Fichier"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/monitor.html:145
|
|
||||||
msgid "Actions*"
|
|
||||||
msgstr "Actions"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/monitor.html:158
|
|
||||||
msgid "current"
|
|
||||||
msgstr "courant"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/monitor.html:161
|
|
||||||
msgid "diffusions"
|
|
||||||
msgstr "diffusions"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/monitor.html:163
|
|
||||||
msgid "stream"
|
|
||||||
msgstr "stream"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/monitor.html:186
|
|
||||||
msgid ""
|
|
||||||
"\n"
|
|
||||||
" *: Due to some technical issues, it might take up to 30 seconds to "
|
|
||||||
"execute the given action.\n"
|
|
||||||
" "
|
|
||||||
msgstr ""
|
|
||||||
"\n"
|
|
||||||
" *: Pour des raisons technique, cela peut prendre 30 secondes ou plus "
|
|
||||||
"pour exécuter une action."
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/stats.html:9
|
|
||||||
#: templates/aircox/controllers/stats.html:14
|
|
||||||
msgid "Statistics of the stations"
|
|
||||||
msgstr "Statistiques des stations"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/stats.html:18
|
|
||||||
msgid "Go to this date:"
|
|
||||||
msgstr "Aller à cette date:"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/stats.html:19
|
|
||||||
msgid "day"
|
|
||||||
msgstr "jour"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/stats.html:21
|
|
||||||
msgid "month"
|
|
||||||
msgstr "mois"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/stats.html:23
|
|
||||||
msgid "year"
|
|
||||||
msgstr "année"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/stats.html:25
|
|
||||||
msgid "Show"
|
|
||||||
msgstr "Montrer"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/stats.html:38
|
|
||||||
msgid "Date"
|
|
||||||
msgstr "Date"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/stats.html:39
|
|
||||||
msgid "Type"
|
|
||||||
msgstr "Type"
|
|
||||||
|
|
||||||
#. Translators "Header for statistics view"
|
|
||||||
#: templates/aircox/controllers/stats.html:41
|
|
||||||
msgid "Diffusion or sound played"
|
|
||||||
msgstr "Diffusion ou son joué"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/stats.html:42
|
|
||||||
msgid "Tags"
|
|
||||||
msgstr "Tags"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/stats.html:67
|
|
||||||
msgid "Total"
|
|
||||||
msgstr "Total"
|
|
||||||
|
|
||||||
#: templates/aircox/controllers/stats.html:71
|
|
||||||
#, fuzzy, python-format
|
|
||||||
#| msgid ""
|
|
||||||
#| "\n"
|
|
||||||
#| " %(items_count)s items, with a total of %(tracks_count)s "
|
|
||||||
#| "tracks\n"
|
|
||||||
#| " "
|
|
||||||
msgid ""
|
|
||||||
"\n"
|
|
||||||
" %(items_count)s items, with a total of %(tracks_count)s "
|
|
||||||
"tracks\n"
|
|
||||||
" "
|
|
||||||
msgstr ""
|
|
||||||
"\n"
|
|
||||||
" %(items_counts)s items, avec un total de %(tracks_count)s "
|
|
||||||
"pistes\n"
|
|
||||||
" "
|
|
||||||
|
|
||||||
#: templates/aircox/diffusion_list.html:6
|
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Today on %(station)s"
|
msgid "Today on %(station)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/episode_detail.html:19
|
#: templates/aircox/episode_detail.html:21
|
||||||
#: templates/aircox/program_header.html:15
|
#: templates/aircox/program_header.html:20
|
||||||
#: templates/aircox/widgets/episode_item.html:32
|
#: templates/aircox/widgets/episode_item.html:34
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Rerun of %(date)s"
|
msgid "Rerun of %(date)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/episode_detail.html:51
|
#: templates/aircox/episode_detail.html:53
|
||||||
msgid "Podcasts"
|
msgid "Podcasts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/episode_list.html:7
|
|
||||||
#, python-format
|
|
||||||
msgid "Episodes of %(parent)s"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: templates/aircox/home.html:24
|
#: templates/aircox/home.html:24
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "current"
|
#| msgid "current"
|
||||||
|
@ -884,70 +745,73 @@ msgstr ""
|
||||||
msgid "Today"
|
msgid "Today"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/log_list.html:6
|
#: templates/aircox/log_list.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "That happened on %(station)s"
|
msgid "That happened on %(station)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/page_detail.html:25
|
#: templates/aircox/page_detail.html:27
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "comment"
|
#| msgid "comment"
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr "commentaire"
|
msgstr "commentaire"
|
||||||
|
|
||||||
#: templates/aircox/page_detail.html:46
|
#: templates/aircox/page_detail.html:48
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "comment"
|
#| msgid "comment"
|
||||||
msgid "Post a comment"
|
msgid "Post a comment"
|
||||||
msgstr "commentaire"
|
msgstr "commentaire"
|
||||||
|
|
||||||
#: templates/aircox/page_detail.html:71 templates/aircox/page_list.html:50
|
#: templates/aircox/page_detail.html:73 templates/aircox/page_list.html:55
|
||||||
msgid "Reset"
|
msgid "Reset"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/page_detail.html:72
|
#: templates/aircox/page_detail.html:74
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "comment"
|
#| msgid "comment"
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "commentaire"
|
msgstr "commentaire"
|
||||||
|
|
||||||
#: templates/aircox/page_list.html:8
|
#. Translators: title when pages are filtered for a specific parent page, e.g.: Articles of My Incredible Show
|
||||||
|
#: templates/aircox/page_list.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Publications of %(title)s"
|
msgid "%(model)s of %(title)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/page_list.html:15
|
#: templates/aircox/page_list.html:20
|
||||||
msgid "Filters"
|
msgid "Filters"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/page_list.html:47
|
#: templates/aircox/page_list.html:52
|
||||||
msgid "Apply"
|
msgid "Apply"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/page_list.html:74
|
#: templates/aircox/page_list.html:79
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "information"
|
#| msgid "information"
|
||||||
msgid "pagination"
|
msgid "pagination"
|
||||||
msgstr "information"
|
msgstr "information"
|
||||||
|
|
||||||
#: templates/aircox/page_list.html:81
|
#. Translators: Bottom of the list, "previous page"
|
||||||
|
#: templates/aircox/page_list.html:87
|
||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/page_list.html:88
|
#. Translators: Bottom of the list, "Nextpage"
|
||||||
|
#: templates/aircox/page_list.html:95
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/program_base.html:6
|
#: templates/aircox/program_base.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Recently on %(program)s"
|
msgid "Recently on %(program)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/program_detail.html:29
|
#: templates/aircox/program_detail.html:31
|
||||||
msgid "Show all program's articles"
|
msgid "Show all program's articles"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/program_detail.html:30
|
#: templates/aircox/program_detail.html:32
|
||||||
msgid "More articles"
|
msgid "More articles"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -959,11 +823,12 @@ msgstr ""
|
||||||
msgid "Jump to date"
|
msgid "Jump to date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/widgets/dates_menu.html:35
|
#. Translators: form button to select a date
|
||||||
|
#: templates/aircox/widgets/dates_menu.html:36
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/widgets/episode_item.html:33
|
#: templates/aircox/widgets/episode_item.html:35
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Rerun"
|
#| msgid "Rerun"
|
||||||
msgid "(rerun)"
|
msgid "(rerun)"
|
||||||
|
@ -979,15 +844,15 @@ msgstr ""
|
||||||
msgid "Show more"
|
msgid "Show more"
|
||||||
msgstr "Montrer"
|
msgstr "Montrer"
|
||||||
|
|
||||||
#: templates/aircox/widgets/player.html:7
|
#: templates/aircox/widgets/player.html:10
|
||||||
msgid "player"
|
msgid "player"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/widgets/player.html:8
|
#: templates/aircox/widgets/player.html:11
|
||||||
msgid "audio player used to listen to the radio"
|
msgid "Audio player used to listen to the radio and podcasts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/aircox/widgets/player.html:20
|
#: templates/aircox/widgets/player.html:23
|
||||||
msgid "Play or pause audio"
|
msgid "Play or pause audio"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1057,6 +922,106 @@ msgstr ""
|
||||||
msgid "comments are not allowed"
|
msgid "comments are not allowed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#~ msgid "Streamer monitor"
|
||||||
|
#~ msgstr "Streamer"
|
||||||
|
|
||||||
|
#~ msgid "refresh"
|
||||||
|
#~ msgstr "rafraîchir"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "\n"
|
||||||
|
#~ " Current source: %(current_source)s\n"
|
||||||
|
#~ " "
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "\n"
|
||||||
|
#~ " Source courante: %(current_source)s\n"
|
||||||
|
#~ " "
|
||||||
|
|
||||||
|
#~ msgid "restart"
|
||||||
|
#~ msgstr "redémarrer"
|
||||||
|
|
||||||
|
#~ msgid "skip"
|
||||||
|
#~ msgstr "passer"
|
||||||
|
|
||||||
|
#~ msgid "Source"
|
||||||
|
#~ msgstr "Source"
|
||||||
|
|
||||||
|
#~ msgid "File"
|
||||||
|
#~ msgstr "Fichier"
|
||||||
|
|
||||||
|
#~ msgid "Actions*"
|
||||||
|
#~ msgstr "Actions"
|
||||||
|
|
||||||
|
#~ msgid "current"
|
||||||
|
#~ msgstr "courant"
|
||||||
|
|
||||||
|
#~ msgid "diffusions"
|
||||||
|
#~ msgstr "diffusions"
|
||||||
|
|
||||||
|
#~ msgid "stream"
|
||||||
|
#~ msgstr "stream"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "\n"
|
||||||
|
#~ " *: Due to some technical issues, it might take up to 30 seconds to "
|
||||||
|
#~ "execute the given action.\n"
|
||||||
|
#~ " "
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "\n"
|
||||||
|
#~ " *: Pour des raisons technique, cela peut prendre 30 secondes ou plus "
|
||||||
|
#~ "pour exécuter une action."
|
||||||
|
|
||||||
|
#~ msgid "Statistics of the stations"
|
||||||
|
#~ msgstr "Statistiques des stations"
|
||||||
|
|
||||||
|
#~ msgid "Go to this date:"
|
||||||
|
#~ msgstr "Aller à cette date:"
|
||||||
|
|
||||||
|
#~ msgid "day"
|
||||||
|
#~ msgstr "jour"
|
||||||
|
|
||||||
|
#~ msgid "month"
|
||||||
|
#~ msgstr "mois"
|
||||||
|
|
||||||
|
#~ msgid "year"
|
||||||
|
#~ msgstr "année"
|
||||||
|
|
||||||
|
#~ msgid "Show"
|
||||||
|
#~ msgstr "Montrer"
|
||||||
|
|
||||||
|
#~ msgid "Date"
|
||||||
|
#~ msgstr "Date"
|
||||||
|
|
||||||
|
#~ msgid "Type"
|
||||||
|
#~ msgstr "Type"
|
||||||
|
|
||||||
|
#~ msgid "Diffusion or sound played"
|
||||||
|
#~ msgstr "Diffusion ou son joué"
|
||||||
|
|
||||||
|
#~ msgid "Tags"
|
||||||
|
#~ msgstr "Tags"
|
||||||
|
|
||||||
|
#~ msgid "Total"
|
||||||
|
#~ msgstr "Total"
|
||||||
|
|
||||||
|
#, fuzzy, python-format
|
||||||
|
#~| msgid ""
|
||||||
|
#~| "\n"
|
||||||
|
#~| " %(items_count)s items, with a total of %(tracks_count)s "
|
||||||
|
#~| "tracks\n"
|
||||||
|
#~| " "
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "\n"
|
||||||
|
#~ " %(items_count)s items, with a total of %(tracks_count)s "
|
||||||
|
#~ "tracks\n"
|
||||||
|
#~ " "
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "\n"
|
||||||
|
#~ " %(items_counts)s items, avec un total de %(tracks_count)s "
|
||||||
|
#~ "pistes\n"
|
||||||
|
#~ " "
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#~| msgid "syncronise"
|
#~| msgid "syncronise"
|
||||||
#~ msgid "Synchronise"
|
#~ msgid "Synchronise"
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{% extends "admin/change_form.html" %}
|
{% extends "admin/change_form.html" %}
|
||||||
|
{% comment %}Admin edit template to edit pages.{% endcomment %}
|
||||||
{% load i18n static %}
|
{% load i18n static %}
|
||||||
|
|
||||||
{% block submit_buttons_bottom %}
|
{% block submit_buttons_bottom %}
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
{% comment %}Inline block to edit playlists{% endcomment %}
|
||||||
{% load static i18n %}
|
{% load static i18n %}
|
||||||
|
|
||||||
{% with inline_admin_formset.formset.instance as playlist %}
|
{% with inline_admin_formset.formset.instance as playlist %}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{% extends "admin/base_site.html" %}
|
{% extends "admin/base_site.html" %}
|
||||||
|
{% comment %}Admin tool displaying logs statistics{% endcomment %}
|
||||||
{% load i18n aircox %}
|
{% load i18n aircox %}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{% extends "aircox/page_detail.html" %}
|
{% extends "aircox/page_detail.html" %}
|
||||||
|
{% comment %}Detail page for regular articles{% endcomment %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% block sidebar %}
|
{% block sidebar %}
|
||||||
|
@ -6,6 +7,7 @@
|
||||||
|
|
||||||
{% if sidebar_object_list %}
|
{% if sidebar_object_list %}
|
||||||
<section>
|
<section>
|
||||||
|
{% comment %}Translators: in page detail sidebar{% endcomment %}
|
||||||
<h4 class="title is-4">{% trans "Latest news" %}</h4>
|
<h4 class="title is-4">{% trans "Latest news" %}</h4>
|
||||||
|
|
||||||
{% for object in sidebar_object_list %}
|
{% for object in sidebar_object_list %}
|
||||||
|
|
|
@ -1,12 +1,3 @@
|
||||||
{% extends "aircox/page_list.html" %}
|
{% extends "aircox/page_list.html" %}
|
||||||
{% load i18n aircox %}
|
{% comment %}List of articles{% endcomment %}
|
||||||
|
|
||||||
{% block title %}
|
|
||||||
{% if parent %}
|
|
||||||
{% with parent.title as parent %}
|
|
||||||
{% blocktrans %}Articles of {{ parent }}{% endblocktrans %}
|
|
||||||
{% endwith %}
|
|
||||||
{% else %}{{ block.super }}{% endif %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
{% comment %}
|
{% comment %}
|
||||||
Context:
|
Base website template. It displays various elements depending on context
|
||||||
|
variables.
|
||||||
|
|
||||||
|
Usefull context:
|
||||||
- cover: image cover
|
- cover: image cover
|
||||||
- site: current website
|
- site: current website
|
||||||
- has_filters: display filter bar (using block "filters")
|
- has_filters: display filter bar (using block "filters")
|
||||||
|
- model: view model or displayed `object`'s
|
||||||
- sidebar_object_list: item to display in sidebar
|
- sidebar_object_list: item to display in sidebar
|
||||||
- sidebar_url_name: url name sidebar item complete list
|
- sidebar_url_name: url name sidebar item complete list
|
||||||
- sidebar_url_parent: parent page for sidebar items complete list
|
- sidebar_url_parent: parent page for sidebar items complete list
|
||||||
|
@ -93,6 +97,7 @@ Blocks:
|
||||||
|
|
||||||
{% block main %}
|
{% block main %}
|
||||||
{% if has_filters %}
|
{% if has_filters %}
|
||||||
|
{% comment %}Translators: extra toolbar displayed on the top of page lists {% endcomment %}
|
||||||
<nav class="navbar toolbar"
|
<nav class="navbar toolbar"
|
||||||
aria-label="{% trans "list filters" %}">
|
aria-label="{% trans "list filters" %}">
|
||||||
{% block filters %}{% endblock %}
|
{% block filters %}{% endblock %}
|
||||||
|
@ -102,6 +107,7 @@ Blocks:
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
{% if has_sidebar %}
|
{% if has_sidebar %}
|
||||||
|
{% comment %}Translators: main sidebar {% endcomment %}
|
||||||
<aside class="column is-one-third-desktop">
|
<aside class="column is-one-third-desktop">
|
||||||
{# FIXME: block cover into sidebar one #}
|
{# FIXME: block cover into sidebar one #}
|
||||||
{% block cover %}
|
{% block cover %}
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
{% load static %}
|
|
||||||
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Aircox</title>
|
|
||||||
<link rel="stylesheet" href="{% static 'aircox/css/layout.css' %}" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<sidebar class="sidebar main-sidebar">
|
|
||||||
</sidebar>
|
|
||||||
|
|
||||||
<main>
|
|
||||||
{% block title %}
|
|
||||||
<h1>{{ title|default:"Aircox" }}</h1>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
<div class="content">
|
|
||||||
{% block content %}
|
|
||||||
|
|
||||||
{% endblock %}
|
|
||||||
</div>
|
|
||||||
</main>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,193 +0,0 @@
|
||||||
{% extends "admin/base_site.html" %}
|
|
||||||
{% load i18n %}
|
|
||||||
{% load static %}
|
|
||||||
|
|
||||||
{% block title %}
|
|
||||||
{% trans "Streamer monitor" %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
<style>
|
|
||||||
.actions button {
|
|
||||||
padding: 0em;
|
|
||||||
margin: 0.2em;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.actions button img {
|
|
||||||
max-width: 2em;
|
|
||||||
max-height: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sources img {
|
|
||||||
max-width: 2.5em;
|
|
||||||
max-height: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.float_right {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table_section_header {
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
|
|
||||||
section.station {
|
|
||||||
padding: 0.4em;
|
|
||||||
font-size: 0.9em;
|
|
||||||
}
|
|
||||||
|
|
||||||
section.station .sources {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
section.station .name {
|
|
||||||
width: 15em;
|
|
||||||
}
|
|
||||||
|
|
||||||
section.station .file {
|
|
||||||
color: #007EDF;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
section.station .actions {
|
|
||||||
width: 4em;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
section.station .sources .current:before {
|
|
||||||
content: '▶';
|
|
||||||
color: red;
|
|
||||||
margin: 0em 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
<script>
|
|
||||||
var Monitor = {
|
|
||||||
get_token: function () {
|
|
||||||
return document.cookie.replace(/.*csrftoken=([^;]+)(;.*|$)/, '$1');
|
|
||||||
},
|
|
||||||
|
|
||||||
run: function(action, station, source) {
|
|
||||||
var params = 'station=' + station + '&&action=' + action;
|
|
||||||
if(source)
|
|
||||||
params += '&&source=' + source;
|
|
||||||
|
|
||||||
var req = new XMLHttpRequest()
|
|
||||||
req.open('POST', '{% url 'aircox.monitor' %}', false);
|
|
||||||
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
|
||||||
req.setRequestHeader("Content-length", params.length);
|
|
||||||
req.setRequestHeader("Connection", "close");
|
|
||||||
req.setRequestHeader("X-CSRFToken", this.get_token());
|
|
||||||
req.send(params);
|
|
||||||
this.update();
|
|
||||||
},
|
|
||||||
|
|
||||||
update: function(timeout) {
|
|
||||||
var req = new XMLHttpRequest()
|
|
||||||
req.open('GET', '{% url 'aircox.monitor' %}', true);
|
|
||||||
req.onreadystatechange = function() {
|
|
||||||
if(req.readyState != 4 || (req.status != 200 && req.status != 0))
|
|
||||||
return;
|
|
||||||
|
|
||||||
var doc = document.implementation.createHTMLDocument('xhr')
|
|
||||||
.documentElement;
|
|
||||||
doc.innerHTML = req.responseText;
|
|
||||||
|
|
||||||
document.getElementById('stations').innerHTML =
|
|
||||||
doc.querySelector('#stations').innerHTML;
|
|
||||||
|
|
||||||
if(timeout)
|
|
||||||
window.setTimeout(
|
|
||||||
function() { Monitor.update(timeout);}, timeout
|
|
||||||
);
|
|
||||||
};
|
|
||||||
req.send();
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
Monitor.update(50000);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<header>
|
|
||||||
<h1>{% trans "Streamer monitor" %}</h1>
|
|
||||||
|
|
||||||
<input type="button" onclick="Monitor.update();"
|
|
||||||
value="{% trans "refresh" %}">
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<div id='stations'>
|
|
||||||
{% for station in stations %}
|
|
||||||
<section class="station">
|
|
||||||
<header>
|
|
||||||
<h2>{{ station.name }}</h2>
|
|
||||||
</header>
|
|
||||||
<table cellspacing="0" cellpadding="0" class="sources object">
|
|
||||||
<tr>
|
|
||||||
<th class="name" colspan=2>{{ station.name }}</th>
|
|
||||||
<td>
|
|
||||||
{% with station.streamer.source.name as current_source %}
|
|
||||||
{% blocktrans %}
|
|
||||||
Current source: {{ current_source }}
|
|
||||||
{% endblocktrans %}
|
|
||||||
{% endwith %}
|
|
||||||
</td>
|
|
||||||
<td class="actions">
|
|
||||||
<button onclick="Monitor.run('restart', '{{ station.name }}');">
|
|
||||||
<img src="{% static "aircox/images/redo.png" %}" alt="{% trans "restart" %}"></button>
|
|
||||||
<button onclick="Monitor.run('skip', '{{ station.name }}');">
|
|
||||||
<img src="{% static "aircox/images/playback_next.png" %}" alt="{% trans "skip" %}"></button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr class="table_section_header">
|
|
||||||
<td colspan=2>{% trans "Source" %}</td>
|
|
||||||
<td>{% trans "File" %}</td>
|
|
||||||
<td>{% trans "Actions*" %}</td>
|
|
||||||
</tr>
|
|
||||||
{% for source in station.sources %}
|
|
||||||
<tr class="source">
|
|
||||||
<td class="name">
|
|
||||||
{% if source.is_dealer %}
|
|
||||||
{% trans "Diffusions" %}
|
|
||||||
{% else %}
|
|
||||||
{{ source.name }}
|
|
||||||
{% endif %}
|
|
||||||
</td>
|
|
||||||
<td class="source_info">
|
|
||||||
{% if source.name == station.streamer.source.name %}
|
|
||||||
<img src="{% static "aircox/images/play.png" %}" alt="{% trans "current" %}">
|
|
||||||
{% endif %}
|
|
||||||
{% if source.is_dealer %}
|
|
||||||
<img src="{% static "aircox/images/calendar_month.png" %}" alt="{% trans "diffusions" %}">
|
|
||||||
{% elif not source.program.is_show %}
|
|
||||||
<img src="{% static "aircox/images/schuffle.png" %}" alt="{% trans "stream" %}">
|
|
||||||
{% endif %}
|
|
||||||
</td>
|
|
||||||
<td class="file">
|
|
||||||
{% if source.is_dealer %}
|
|
||||||
{{ source.playlist|join:"<br>" }}
|
|
||||||
{% else %}
|
|
||||||
{{ source.sound }}
|
|
||||||
{% endif %}
|
|
||||||
</td>
|
|
||||||
<td class="actions">
|
|
||||||
<button onclick="Monitor.run('restart', '{{ station.name }}', '{{ source.name }}');">
|
|
||||||
<img src="{% static "aircox/images/redo.png" %}" alt="{% trans "restart" %}"></button>
|
|
||||||
<button onclick="Monitor.run('skip', '{{ station.name }}', '{{ source.name }}');">
|
|
||||||
<img src="{% static "aircox/images/playback_next.png" %}" alt="{% trans "skip" %}"></button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</table>
|
|
||||||
</section>
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
<div class="info small">
|
|
||||||
{% blocktrans %}
|
|
||||||
*: Due to some technical issues, it might take up to 30 seconds to execute the given action.
|
|
||||||
{% endblocktrans %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
|
|
|
@ -1,106 +0,0 @@
|
||||||
{% extends "admin/base_site.html" %}
|
|
||||||
{# {% extends "aircox/controllers/base_site.html" %} #}
|
|
||||||
{% load i18n %}
|
|
||||||
{% load tz %}
|
|
||||||
{% localtime on %}
|
|
||||||
|
|
||||||
|
|
||||||
{% block title %}
|
|
||||||
{% trans "Statistics of the stations" %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
<header>
|
|
||||||
<h1>{% trans "Statistics of the stations" %}</h1>
|
|
||||||
|
|
||||||
{# TODO here #}
|
|
||||||
<form action="?" method="GET">
|
|
||||||
{% trans "Go to this date:" %}
|
|
||||||
<input name="day" type="number" placeholder="{% trans "day" %}"
|
|
||||||
value="{{ statistics.0.date.day }}"></input>
|
|
||||||
<input name="month" type="number" placeholder="{% trans "month" %}"
|
|
||||||
value="{{ statistics.0.date.month }}"></input>
|
|
||||||
<input name="year" type="number" placeholder="{% trans "year" %}"
|
|
||||||
value="{{ statistics.0.date.year }}"></input>
|
|
||||||
<input type="submit" value="{% trans "Show" %}">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
{% for stats in statistics %}
|
|
||||||
<section class="station">
|
|
||||||
<header>
|
|
||||||
<h2>{{ stats.station.name }},
|
|
||||||
{{ stats.date|date:'l d F Y' }}</h2>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<table cellspacing="0" cellpadding="0" class="object">
|
|
||||||
<tr class="header">
|
|
||||||
<th>{% trans "Date" %}</th>
|
|
||||||
<th width="10%">{% trans "Type" %}
|
|
||||||
{# Translators "Header for statistics view" #}
|
|
||||||
<th width="50%">{% trans "Diffusion or sound played" %}
|
|
||||||
<th width="30%">{% trans "Tags" %}</th>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
{% for item in stats.items %}
|
|
||||||
<tr>
|
|
||||||
<th>{{ item.date|time:"H:i" }}</th>
|
|
||||||
<th>{{ item.type }}</th>
|
|
||||||
<th>{{ item.name }}</th>
|
|
||||||
<th>{% for tag,count in item.tags.items %}
|
|
||||||
{{ tag }}: {{ count }};
|
|
||||||
{% endfor %}</th>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
{% for track in item.tracks %}
|
|
||||||
<tr class="subdata" tags="{{ track.tags.all|join:', '}}">
|
|
||||||
<td>{{ track.date|time:"H:i" }}</td>
|
|
||||||
<td>{% trans "Track" %}</td>
|
|
||||||
<td>{{ track.artist }} -- <emph>{{ track.title }}</emph> {{ track.version }}</td>
|
|
||||||
<td>{{ track.tags.all|join:', ' }}</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
<tr class="bottom">
|
|
||||||
<th>{{ stats.date|date:'d/m/Y' }}</th>
|
|
||||||
<th>{% trans "Total" %}</th>
|
|
||||||
<th>
|
|
||||||
{% with stats.items|length as items_count %}
|
|
||||||
{% with stats.count as tracks_count %}
|
|
||||||
{% blocktrans %}
|
|
||||||
{{ items_count }} items, with a total of {{ tracks_count }} tracks
|
|
||||||
{% endblocktrans %}
|
|
||||||
{% endwith %}
|
|
||||||
{% endwith %}
|
|
||||||
</th>
|
|
||||||
<th>
|
|
||||||
<script>
|
|
||||||
var tracks = document.querySelectorAll('.subdata[tags]');
|
|
||||||
var tags = {}
|
|
||||||
for(var i = 0; i < tracks.length; i++) {
|
|
||||||
var tags_ = tracks[i].getAttribute('tags').split(', ');
|
|
||||||
for(var j = 0; j < tags_.length; j++) {
|
|
||||||
var tag = tags_[j];
|
|
||||||
tags[tag] = (tags[tag] || 0) + 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for(var tag in tags) {
|
|
||||||
document.write('<span>' + tag + ': <b>' + tags[tag] + '</b><br>');
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
</th>
|
|
||||||
<th>{% for tag, count, average in stats.tags %}
|
|
||||||
<span>{{ tag }}: <b>{{ average|floatformat }}%</b> ({{ count }})<br>
|
|
||||||
{% endfor %}
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</section>
|
|
||||||
{% endfor %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
|
|
||||||
{% endlocaltime %}
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{% extends "aircox/page.html" %}
|
{% extends "aircox/page.html" %}
|
||||||
|
{% comment %}List of diffusions as a timetable{% endcomment %}
|
||||||
{% load i18n aircox humanize %}
|
{% load i18n aircox humanize %}
|
||||||
|
|
||||||
{% block title %}
|
{% block title %}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{% extends "aircox/program_base.html" %}
|
{% extends "aircox/program_base.html" %}
|
||||||
|
{% comment %}List of a show's episodes for a specific{% endcomment %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% block header %}{{ block.super }}
|
{% block header %}{{ block.super }}
|
||||||
|
|
|
@ -1,12 +1,3 @@
|
||||||
{% extends "aircox/page_list.html" %}
|
{% extends "aircox/page_list.html" %}
|
||||||
{% load i18n aircox %}
|
{% comment %}List of episodes pages{% endcomment %}
|
||||||
|
|
||||||
{% block title %}
|
|
||||||
{% if parent %}
|
|
||||||
{% with parent.title as parent %}
|
|
||||||
{% blocktrans %}Episodes of {{ parent }}{% endblocktrans %}
|
|
||||||
{% endwith %}
|
|
||||||
{% else %}{{ block.super }}{% endif %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{% extends "aircox/page.html" %}
|
{% extends "aircox/page.html" %}
|
||||||
|
{% comment %}List of logs for a specific date{% endcomment %}
|
||||||
{% load i18n humanize aircox %}
|
{% load i18n humanize aircox %}
|
||||||
|
|
||||||
{% block title %}
|
{% block title %}
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
{% extends "aircox/base.html" %}
|
{% extends "aircox/base.html" %}
|
||||||
{% load static i18n thumbnail %}
|
{% load static i18n thumbnail %}
|
||||||
{% comment %}
|
{% comment %}
|
||||||
|
Base template to display pages (list, detail, whatever). By default extend to
|
||||||
|
this one instead of "base.html"
|
||||||
|
|
||||||
Context:
|
Context:
|
||||||
- cover: cover image
|
- cover: cover image
|
||||||
- title: title
|
- title: title
|
||||||
|
@ -8,6 +11,7 @@ Context:
|
||||||
{% endcomment %}
|
{% endcomment %}
|
||||||
|
|
||||||
{% block head_title %}
|
{% block head_title %}
|
||||||
|
{% comment %}Hack to include the page title into the <title> tag.{% endcomment %}
|
||||||
{% block title %}{{ title }}{% endblock %}
|
{% block title %}{{ title }}{% endblock %}
|
||||||
—
|
—
|
||||||
{{ station.name }}
|
{{ station.name }}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
{% extends "aircox/page.html" %}
|
{% extends "aircox/page.html" %}
|
||||||
{% load static i18n humanize honeypot %}
|
{% load static i18n humanize honeypot %}
|
||||||
{% comment %}
|
{% comment %}
|
||||||
|
Base template used to display a page
|
||||||
|
|
||||||
Context:
|
Context:
|
||||||
- title: title
|
- title: title
|
||||||
- page: page
|
- page: page
|
||||||
|
|
|
@ -1,11 +1,15 @@
|
||||||
{% extends "aircox/page.html" %}
|
{% extends "aircox/page.html" %}
|
||||||
|
{% comment %}Display a list of pages{% endcomment %}
|
||||||
{% load i18n aircox %}
|
{% load i18n aircox %}
|
||||||
|
|
||||||
{% block title %}
|
{% block title %}
|
||||||
{% if not parent %}{{ view.model|verbose_name:True|title }}
|
{% if not parent %}{{ view.model|verbose_name:True|title }}
|
||||||
{% else %}
|
{% else %}
|
||||||
{% with parent.title as title %}
|
{% with parent.title as title %}
|
||||||
{% blocktrans %}Publications of {{ title }}{% endblocktrans %}
|
{% with model|default:"Publications"|verbose_name:true|capfirst as model %}
|
||||||
|
{% comment %}Translators: title when pages are filtered for a specific parent page, e.g.: Articles of My Incredible Show{% endcomment %}
|
||||||
|
{% blocktrans %}{{ model }} of {{ title }}{% endblocktrans %}
|
||||||
|
{% endwith %}
|
||||||
{% endwith %}
|
{% endwith %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -78,6 +82,7 @@
|
||||||
{% else %}
|
{% else %}
|
||||||
<a class="pagination-previous" disabled>
|
<a class="pagination-previous" disabled>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% comment %}Translators: Bottom of the list, "previous page"{% endcomment %}
|
||||||
{% trans "Previous" %}</a>
|
{% trans "Previous" %}</a>
|
||||||
|
|
||||||
{% if page_obj.has_next %}
|
{% if page_obj.has_next %}
|
||||||
|
@ -85,6 +90,7 @@
|
||||||
{% else %}
|
{% else %}
|
||||||
<a class="pagination-next" disabled>
|
<a class="pagination-next" disabled>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% comment %}Translators: Bottom of the list, "Nextpage"{% endcomment %}
|
||||||
{% trans "Next" %}</a>
|
{% trans "Next" %}</a>
|
||||||
|
|
||||||
<ul class="pagination-list">
|
<ul class="pagination-list">
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{% extends "aircox/page_detail.html" %}
|
{% extends "aircox/page_detail.html" %}
|
||||||
|
{% comment %}Base template used to display informations of a specific show{% endcomment %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% block sidebar_title %}
|
{% block sidebar_title %}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{% extends "aircox/program_base.html" %}
|
{% extends "aircox/program_base.html" %}
|
||||||
|
{% comment %}Detail page of a show{% endcomment %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% block header %}
|
{% block header %}
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
{% comment %}
|
||||||
|
Header displaying informations of a program.
|
||||||
|
|
||||||
|
FIXME: consider moving into the "widgets" directory.
|
||||||
|
{% endcomment %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
<section class="is-size-5 has-text-weight-bold">
|
<section class="is-size-5 has-text-weight-bold">
|
||||||
{% for schedule in program.schedule_set.all %}
|
{% for schedule in program.schedule_set.all %}
|
||||||
|
|
|
@ -32,6 +32,7 @@ An empty date results to a title or a separator
|
||||||
name="date" value="{{ date|date:"Y-m-d" }}">
|
name="date" value="{{ date|date:"Y-m-d" }}">
|
||||||
</div>
|
</div>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
|
{% comment %}Translators: form button to select a date{% endcomment %}
|
||||||
<button class="button is-primary">{% trans "Go" %}</button>
|
<button class="button is-primary">{% trans "Go" %}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,13 +1,15 @@
|
||||||
{% extends "aircox/widgets/page_item.html" %}
|
{% extends "aircox/widgets/page_item.html" %}
|
||||||
{% load i18n easy_thumbnails_tags aircox %}
|
|
||||||
|
|
||||||
{% comment %}
|
{% comment %}
|
||||||
|
List item for an episode.
|
||||||
|
|
||||||
Context variables:
|
Context variables:
|
||||||
- object: episode
|
- object: episode
|
||||||
- diffusion: episode's diffusion
|
- diffusion: episode's diffusion
|
||||||
- hide_schedule: if True, do not display start time
|
- hide_schedule: if True, do not display start time
|
||||||
{% endcomment %}
|
{% endcomment %}
|
||||||
|
|
||||||
|
{% load i18n easy_thumbnails_tags aircox %}
|
||||||
|
|
||||||
{% block title %}
|
{% block title %}
|
||||||
{% if not object.is_published and object.program.is_published %}
|
{% if not object.is_published and object.program.is_published %}
|
||||||
<a href="{{ object.program.get_absolute_url }}">{{ object.title }}</a>
|
<a href="{{ object.program.get_absolute_url }}">{{ object.title }}</a>
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{% load i18n aircox %}
|
{% load i18n aircox %}
|
||||||
{% comment %}
|
{% comment %}
|
||||||
|
List item for a log, either for a logged track or diffusion (as diffusion).
|
||||||
|
|
||||||
Context objects:
|
Context objects:
|
||||||
- object: object to render
|
- object: object to render
|
||||||
- hide_schedule: if true, hide the schedule
|
- hide_schedule: if true, hide the schedule
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{% load i18n easy_thumbnails_tags aircox %}
|
{% load i18n easy_thumbnails_tags aircox %}
|
||||||
{% comment %}
|
{% comment %}
|
||||||
|
List item for a page
|
||||||
|
|
||||||
Context variables:
|
Context variables:
|
||||||
- object: the object to render
|
- object: the object to render
|
||||||
- render_card: render as card
|
- render_card: render as card
|
||||||
|
|
|
@ -1,11 +1,14 @@
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
{% comment %}
|
||||||
|
The audio player
|
||||||
|
{% endcomment %}
|
||||||
|
|
||||||
{% if audio_streams %}
|
{% if audio_streams %}
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="box is-fullwidth is-fixed-bottom is-paddingless player"
|
<div class="box is-fullwidth is-fixed-bottom is-paddingless player"
|
||||||
role="{% trans "player" %}"
|
role="{% trans "player" %}"
|
||||||
aria-description="{% trans "audio player used to listen to the radio" %}">
|
aria-description="{% trans "Audio player used to listen to the radio and podcasts" %}">
|
||||||
<noscript>
|
<noscript>
|
||||||
<audio src="{{ audio_streams.0 }}" controls>
|
<audio src="{{ audio_streams.0 }}" controls>
|
||||||
{% for stream in audio_streams %}
|
{% for stream in audio_streams %}
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
{% comment %}
|
||||||
|
List item for a podcast.
|
||||||
|
|
||||||
|
{% endcomment %}
|
||||||
<div class="podcast">
|
<div class="podcast">
|
||||||
{% if object.embed %}
|
{% if object.embed %}
|
||||||
{{ object.embed|safe }}
|
{{ object.embed|safe }}
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{% comment %}
|
{% comment %}
|
||||||
|
List item for a track
|
||||||
|
|
||||||
Context:
|
Context:
|
||||||
- object: track to render
|
- object: track to render
|
||||||
{% endcomment %}
|
{% endcomment %}
|
||||||
|
|
|
@ -10,8 +10,12 @@ register = template.Library()
|
||||||
|
|
||||||
@register.filter(name='verbose_name')
|
@register.filter(name='verbose_name')
|
||||||
def do_verbose_name(obj, plural=False):
|
def do_verbose_name(obj, plural=False):
|
||||||
""" Return model's verbose name (singular or plural) """
|
"""
|
||||||
return obj._meta.verbose_name_plural if plural else \
|
Return model's verbose name (singular or plural) or `obj` if it is a
|
||||||
|
string (can act for default values).
|
||||||
|
"""
|
||||||
|
return obj if isinstance(obj, str) else \
|
||||||
|
obj._meta.verbose_name_plural if plural else \
|
||||||
obj._meta.verbose_name
|
obj._meta.verbose_name
|
||||||
|
|
||||||
@register.simple_tag(name='update_query')
|
@register.simple_tag(name='update_query')
|
||||||
|
|
|
@ -56,6 +56,12 @@ class BaseView(TemplateResponseMixin, ContextMixin):
|
||||||
streams = streams and streams.split('\n')
|
streams = streams and streams.split('\n')
|
||||||
kwargs['audio_streams'] = streams
|
kwargs['audio_streams'] = streams
|
||||||
|
|
||||||
|
if 'model' not in kwargs:
|
||||||
|
model = getattr(self, 'model', None) or hasattr(self, 'object') and \
|
||||||
|
type(self.object)
|
||||||
|
kwargs['model'] = model
|
||||||
|
|
||||||
|
|
||||||
return super().get_context_data(**kwargs)
|
return super().get_context_data(**kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
|
130
aircox_streamer/locale/fr/LC_MESSAGES/django.po
Normal file
130
aircox_streamer/locale/fr/LC_MESSAGES/django.po
Normal file
|
@ -0,0 +1,130 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2020-01-06 14:15+0100\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"Language: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||||
|
|
||||||
|
#: models.py:37
|
||||||
|
msgid "input"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: models.py:38
|
||||||
|
msgid "output"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: models.py:56
|
||||||
|
msgid "station"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: models.py:58
|
||||||
|
msgid "direction"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: models.py:59
|
||||||
|
msgid "type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: models.py:61
|
||||||
|
msgid "active"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: models.py:62
|
||||||
|
msgid "this port is active"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: models.py:65
|
||||||
|
msgid "port settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: models.py:66
|
||||||
|
msgid ""
|
||||||
|
"list of comma separated params available; this is put in the output config "
|
||||||
|
"file as raw code; plugin related"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/aircox_streamer/source_item.html:19
|
||||||
|
msgid "Synchronize source with Liquidsoap"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/aircox_streamer/source_item.html:23
|
||||||
|
msgid "Synchronise"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/aircox_streamer/source_item.html:26
|
||||||
|
msgid "Restart current track"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/aircox_streamer/source_item.html:30
|
||||||
|
msgid "Restart"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/aircox_streamer/source_item.html:33
|
||||||
|
msgid "Skip current file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/aircox_streamer/source_item.html:34
|
||||||
|
msgid "Skip"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/aircox_streamer/source_item.html:43
|
||||||
|
msgid "Add sound"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/aircox_streamer/source_item.html:51
|
||||||
|
msgid "Select a sound"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/aircox_streamer/source_item.html:53
|
||||||
|
msgid "Add a sound to the queue (queue may start playing)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/aircox_streamer/source_item.html:62
|
||||||
|
msgid "Add"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/aircox_streamer/source_item.html:68
|
||||||
|
msgid "Sounds in queue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/aircox_streamer/source_item.html:86
|
||||||
|
msgid "Status"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/aircox_streamer/source_item.html:96
|
||||||
|
msgid "Air time"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/aircox_streamer/source_item.html:106
|
||||||
|
msgid "Time left"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/aircox_streamer/source_item.html:114
|
||||||
|
msgid "Data source"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/aircox_streamer/streamer.html:19
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/aircox_streamer/streamer.html:26
|
||||||
|
#: templates/aircox_streamer/streamer.html:27
|
||||||
|
msgid "Select a station"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: urls.py:9 views.py:9
|
||||||
|
msgid "Streamer Monitor"
|
||||||
|
msgstr ""
|
|
@ -1,3 +1,4 @@
|
||||||
|
{% comment %}List item for a source.{% endcomment %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
<section class="box"><div class="columns is-desktop">
|
<section class="box"><div class="columns is-desktop">
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{% extends "admin/base_site.html" %}
|
{% extends "admin/base_site.html" %}
|
||||||
|
{% comment %}Admin tools used to manage the streamer.{% endcomment %}
|
||||||
{% load i18n static %}
|
{% load i18n static %}
|
||||||
|
|
||||||
{% block extrastyle %}{{ block.super }}
|
{% block extrastyle %}{{ block.super }}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
Django>=2.2.0
|
Django>=2.2.0,<3.0.0
|
||||||
djangorestframework>=3.9.4
|
djangorestframework>=3.9.4
|
||||||
django-model-utils>=3.2.0
|
django-model-utils>=3.2.0
|
||||||
django-filter>=2.2.0
|
django-filter>=2.2.0
|
||||||
|
|
Loading…
Reference in New Issue
Block a user