diff options
-rw-r--r-- | doc/ChangeLog | 4 | ||||
-rw-r--r-- | epgsearch.cpp | 59 | ||||
-rw-r--r-- | epgsearch.h | 53 | ||||
-rw-r--r-- | epgsearch/services.h | 2 | ||||
-rw-r--r-- | live/img/timerconflict.gif | bin | 0 -> 2962 bytes | |||
-rw-r--r-- | livefeatures.h | 2 | ||||
-rw-r--r-- | pages/Makefile | 2 | ||||
-rw-r--r-- | pages/menu.ecpp | 1 | ||||
-rw-r--r-- | pages/timerconflicts.ecpp | 127 | ||||
-rw-r--r-- | po/ca_ES.po | 14 | ||||
-rw-r--r-- | po/cs_CZ.po | 14 | ||||
-rw-r--r-- | po/da_DK.po | 14 | ||||
-rw-r--r-- | po/de_DE.po | 17 | ||||
-rw-r--r-- | po/el_GR.po | 14 | ||||
-rw-r--r-- | po/es_ES.po | 14 | ||||
-rw-r--r-- | po/et_EE.po | 14 | ||||
-rw-r--r-- | po/fi_FI.po | 22 | ||||
-rw-r--r-- | po/fr_FR.po | 22 | ||||
-rw-r--r-- | po/hr_HR.po | 14 | ||||
-rw-r--r-- | po/hu_HU.po | 14 | ||||
-rw-r--r-- | po/it_IT.po | 22 | ||||
-rw-r--r-- | po/nl_NL.po | 16 | ||||
-rw-r--r-- | po/nn_NO.po | 14 | ||||
-rw-r--r-- | po/pl_PL.po | 14 | ||||
-rw-r--r-- | po/pt_PT.po | 14 | ||||
-rw-r--r-- | po/ro_RO.po | 14 | ||||
-rw-r--r-- | po/ru_RU.po | 14 | ||||
-rw-r--r-- | po/sl_SI.po | 14 | ||||
-rw-r--r-- | po/sv_SE.po | 14 | ||||
-rw-r--r-- | po/tr_TR.po | 14 |
30 files changed, 483 insertions, 90 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 9fe02c2..aefb395 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +2008-02-07 Christian Wieninger <cwieninger at gmx dot de> + + * new menu with timer conflicts + 2008-02-07 Dieter Hametner <dh+vdr at gekrumbel dot de> * buildutil/version-util: Further posix-ified the script. diff --git a/epgsearch.cpp b/epgsearch.cpp index d22c636..5a91c28 100644 --- a/epgsearch.cpp +++ b/epgsearch.cpp @@ -641,4 +641,63 @@ bool EPGSearchSetupValues::WriteValue(const std::string& entry, const std::strin return service.handler->WriteSetupValue(entry, value); } +bool operator<( TimerConflict const& left, TimerConflict const& right ) +{ + return left.conflictTime < right.conflictTime; +} + +TimerConflict::TimerConflict() +{ + Init(); +} + +void TimerConflict::Init() +{ + conflictTime = 0; +} + +TimerConflict::TimerConflict( string const& data ) +{ + Init(); + vector< string > parts = StringSplit( data, ':' ); + try { + vector< string >::const_iterator part = parts.begin(); + if (parts.size() > 0) { + conflictTime = lexical_cast< time_t >( *part++ ); + for ( int i = 1; part != parts.end(); ++i, ++part ) { + vector< string > timerparts = StringSplit( *part, '|' ); + vector< string >::const_iterator timerpart = timerparts.begin(); + TimerInConflict timer; + for ( int j = 0; timerpart != timerparts.end(); ++j, ++timerpart ) + switch(j) { + case 0: timer.timerIndex = lexical_cast< int >( *timerpart ); break; + case 1: timer.percentage = lexical_cast< int >( *timerpart ); break; + case 2: + { + vector< string > conctimerparts = StringSplit( *timerpart, '#' ); + vector< string >::const_iterator conctimerpart = conctimerparts.begin(); + for ( int k = 0; conctimerpart != conctimerparts.end(); ++k, ++conctimerpart ) + timer.concurrentTimerIndices.push_back(lexical_cast< int >( *conctimerpart )); + break; + } + } + conflictingTimers.push_back(timer); + } + } + } + catch ( bad_lexical_cast const& ex ) { + } +} + +TimerConflicts::TimerConflicts() +{ + Epgsearch_services_v1_0 service; + if ( !CheckEpgsearchVersion() || cPluginManager::CallFirstService(ServiceInterface, &service) == 0 ) + throw HtmlError( tr("EPGSearch version outdated! Please update.") ); + + list< string > conflicts = service.handler->TimerConflictList(); + m_conflicts.assign( conflicts.begin(), conflicts.end() ); + m_conflicts.sort(); +} + } // namespace vdrlive diff --git a/epgsearch.h b/epgsearch.h index b63f109..39d3837 100644 --- a/epgsearch.h +++ b/epgsearch.h @@ -7,6 +7,7 @@ #include <string> #include <vdr/channels.h> #include <vdr/epg.h> +#include "tools.h" namespace vdrlive { @@ -410,6 +411,58 @@ public: static bool WriteValue(const std::string& entry, const std::string& value); }; +// classes for timer conflict interface + +// conflicting timer +class TimerInConflict +{ +public: + int timerIndex; // it's index in VDR + int percentage; // percentage of recording + std::list<int> concurrentTimerIndices; // concurrent timer indices + + TimerInConflict(int TimerIndex=-1, int Percentage=0) : timerIndex(TimerIndex), percentage(Percentage) {} +}; + +class TimerConflict; + +bool operator<( TimerConflict const& left, TimerConflict const& right ); + +// one timer conflict time +class TimerConflict +{ + time_t conflictTime; // time of conflict + std::list< TimerInConflict > conflictingTimers; // conflicting timers at this time +public: + friend bool operator<( TimerConflict const& left, TimerConflict const& right ); + + TimerConflict( std::string const& data ); + TimerConflict(); + void Init(); + + time_t ConflictTime() { return conflictTime; } + const std::list< TimerInConflict >& ConflictingTimers() { return conflictingTimers; } +}; + +class TimerConflicts +{ +public: + typedef std::list< TimerConflict > ConflictList; + typedef ConflictList::size_type size_type; + typedef ConflictList::iterator iterator; + typedef ConflictList::const_iterator const_iterator; + + TimerConflicts(); + + size_type size() const { return m_conflicts.size(); } + iterator begin() { return m_conflicts.begin(); } + const_iterator begin() const { return m_conflicts.begin(); } + iterator end() { return m_conflicts.end(); } + const_iterator end() const { return m_conflicts.end(); } +private: + ConflictList m_conflicts; +}; + } // namespace vdrlive diff --git a/epgsearch/services.h b/epgsearch/services.h index c6a973e..f64b094 100644 --- a/epgsearch/services.h +++ b/epgsearch/services.h @@ -129,6 +129,8 @@ class cServiceHandler virtual std::string ReadSetupValue(const std::string& entry) = 0; // Write a setup value virtual bool WriteSetupValue(const std::string& entry, const std::string& value) = 0; + // Get timer conflicts + virtual std::list<std::string> TimerConflictList(bool relOnly=false) = 0; }; struct Epgsearch_services_v1_0 diff --git a/live/img/timerconflict.gif b/live/img/timerconflict.gif Binary files differnew file mode 100644 index 0000000..115520e --- /dev/null +++ b/live/img/timerconflict.gif diff --git a/livefeatures.h b/livefeatures.h index c7251d6..93bd514 100644 --- a/livefeatures.h +++ b/livefeatures.h @@ -60,7 +60,7 @@ namespace features struct epgsearch { static const char* Plugin() { return "epgsearch"; } - static const char* MinVersion() { return "0.9.23.beta10"; } + static const char* MinVersion() { return "0.9.24.beta19"; } }; struct streamdev_server diff --git a/pages/Makefile b/pages/Makefile index 8f718fe..2a8b8be 100644 --- a/pages/Makefile +++ b/pages/Makefile @@ -21,7 +21,7 @@ OBJS = menu.o recordings.o schedule.o screenshot.o timers.o \ vlc.o searchtimers.o edit_searchtimer.o searchresults.o \ searchepg.o login.o ibox.o xmlresponse.o play_recording.o \ pause_recording.o stop_recording.o ffw_recording.o \ - rwd_recording.o setup.o content.o epginfo.o + rwd_recording.o setup.o content.o epginfo.o timerconflicts.o ### Default rules: diff --git a/pages/menu.ecpp b/pages/menu.ecpp index e9b5faf..a8eba86 100644 --- a/pages/menu.ecpp +++ b/pages/menu.ecpp @@ -39,6 +39,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html"); % if ( LiveFeatures< features::epgsearch >().Recent() ) { | <a href="searchepg.html" <& menu.setactive current=("searchepg") &>><$ tr("Search") $></a> | <a href="searchtimers.html" <& menu.setactive current=("searchtimers") &>><$ tr("Searchtimers") $></a> + | <a href="timerconflicts.html" <& menu.setactive current=("timerconflicts") &>><$ tr("Timer conflicts") $></a> % } | <a href="recordings.html" <& menu.setactive current=("recordings") &>><$ tr("Recordings") $></a> | <a href="remote.html" <& menu.setactive current=("remote") &>><$ tr("Remote Control") $></a> diff --git a/pages/timerconflicts.ecpp b/pages/timerconflicts.ecpp new file mode 100644 index 0000000..c69394f --- /dev/null +++ b/pages/timerconflicts.ecpp @@ -0,0 +1,127 @@ +<%pre> +#include <vdr/channels.h> +#include <vdr/i18n.h> +#include "epgsearch.h" +#include "tools.h" +#include "setup.h" +#include "epg_events.h" +#include "timers.h" + +using namespace vdrlive; +using namespace std; + +static const size_t maximumDescriptionLength = 300; + +</%pre> +<%args> + // input parameters +</%args> +<%session scope="global"> +bool logged_in(false); +</%session> +<%include>page_init.eh</%include> +<%cpp> +if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html"); +</%cpp> +<%cpp> + pageTitle = tr("Timer conflicts"); + TimerConflicts timerConflicts; + cMutexLock timersLock( &LiveTimerManager() ); + SortedTimers& timers = LiveTimerManager().GetTimers(); +</%cpp> +<& pageelems.doc_type &> +<html> + <head> + <title>VDR-Live - <$ pageTitle $></title> + <& pageelems.stylesheets &> + <& pageelems.ajax_js &> + </head> + <body> + <& pageelems.logo &> + <& menu active=("timersconflicts")> + <div class="inhalt"> + <table class="listing" cellspacing="0" cellpadding="0"> +<%cpp> + for (TimerConflicts::iterator conflict = timerConflicts.begin(); conflict != timerConflicts.end(); ++conflict) { + const std::list< TimerInConflict >& conflTimers = conflict->ConflictingTimers(); + for (std::list< TimerInConflict >::const_iterator confltimer = conflTimers.begin(); confltimer != conflTimers.end(); ++confltimer) { +</%cpp> + <tr class="head"> + <td colspan="9"> + <div class="boxheader"><div><div><$ FormatDateTime(tr("%A, %x"), conflict->ConflictTime()) + " " + FormatDateTime(tr("%I:%M %p"), conflict->ConflictTime()) + " - " + lexical_cast<string, int>(confltimer->percentage) + "%" $></div></div></div> + </td> + </tr> + <tr class="description"> + <td class="leftcol"><img src="/img/transparent.png" alt="" width="16px" height="16px" /></td> + <td><div class="withmargin"><$ trVDR("Channel") $></div></td> + <td><div class="withmargin"><$ trVDR("Start") $></div></td> + <td><div class="withmargin"><$ trVDR("Stop") $></div></td> + <td><div class="withmargin"><$ trVDR("File") $></div></td> + <td class="action"><img src="/img/transparent.png" alt="" width="16px" height="16px" /></td> + <td class="action"><img src="/img/transparent.png" alt="" width="16px" height="16px" /></td> + <td class="action"><img src="/img/transparent.png" alt="" width="16px" height="16px" /></td> + <td class="action rightcol"><img src="/img/transparent.png" alt="" width="16px" height="16px" /></td> + </tr> +<%cpp> + for (std::list<int>::const_iterator timerIndex = confltimer->concurrentTimerIndices.begin(); timerIndex != confltimer->concurrentTimerIndices.end(); ++timerIndex) { + cTimer* timer = Timers.Get(*timerIndex-1); + if (!timer) continue; + + std::list< int >::const_iterator nexttimerIndex = timerIndex; + ++nexttimerIndex; + bool bottom = (nexttimerIndex == confltimer->concurrentTimerIndices.end()); + + std::string timerStateImg = "transparent.png"; + std::string timerStateHint; + if (timer->Index() == confltimer->timerIndex-1) { + timerStateImg = "timerconflict.gif"; + timerStateHint = tr("Timer has a conflict."); + } + else if (timer->Flags() & tfActive) { + timerStateImg = "arrow.png"; + timerStateHint = tr("Timer is active."); + } + + EpgInfoPtr epgEvent; + string longDescription; + string title; + if (!timer->Event()) timer->SetEventFromSchedule(); + if (timer->Event()) { + epgEvent = EpgEvents::CreateEpgInfo(timer->Channel(), timer->Event()); + longDescription = StringEscapeAndBreak(SortedTimers::GetTimerInfo(*timer)) + "<hr>" + + StringEscapeAndBreak(StringWordTruncate(epgEvent->LongDescr(), maximumDescriptionLength)) + + "<br/><br/>" + tr("Click to view details."); + title = epgEvent->Title(); + } +</%cpp> + <tr> + <td class="leftcol <? bottom ? "bottomrow" ?>"><img src="<$ LiveSetup().GetThemedLink("img", timerStateImg) $>" alt="" <%cpp> if (!timerStateHint.empty()) { </%cpp><& tooltip.hint text=(timerStateHint) &><%cpp> } </%cpp>></img></td> + <td class="<? bottom ? "bottomrow" ?>"><div class="withmargin"><a href="schedule.html?channel=<$ timer->Channel()->Number()$>"><$ timer->Channel()->Name() $></a></div></td> + <td class="<? bottom ? "bottomrow" ?>"><div class="withmargin"><$ FormatDateTime(tr("%I:%M %p"), timer->StartTime()) $></div></td> + <td class="<? bottom ? "bottomrow" ?>"><div class="withmargin"><$ FormatDateTime(tr("%I:%M %p"), timer->StopTime()) $></div></td> + <td class="<? bottom ? "bottomrow" ?>"><div class="withmargin"><a +% if (!longDescription.empty()) { + <& tooltip.hint text=(longDescription) &><& tooltip.display domId=(epgEvent->Id()) &> +% } + ><$ timer->File() $></a></div></td> + <td class="action <? bottom ? "bottomrow" ?>"><a href="searchresults.html?searchplain=<$ StringEscapeAndBreak(title) $>"><img src="<$ LiveSetup().GetThemedLink("img", "search.png") $>" alt="" <& tooltip.hint text=(tr("Search for repeats.")) &>></img></a></td> + <td class="action <? bottom ? "bottomrow" ?>"><a href="timers.html?timerid=<$ timers.GetTimerId(*timer) $>&action=toggle"><img src="<$ LiveSetup().GetThemedLink("img", (timer->Flags() & tfActive) ? "active.png" : "inactive.png") $>" alt="" <& tooltip.hint text=(tr("Toggle timer active/inactive")) &>></img></a></td> + <td class="action <? bottom ? "bottomrow" ?>"><a href="edit_timer.html?timerid=<$ timers.GetTimerId(*timer) $>"><img src="<$ LiveSetup().GetThemedLink("img", "edit.png") $>" alt="" <& tooltip.hint text=(tr("Edit timer")) &>></img></a></td> + <td class="action rightcol <? bottom ? "bottomrow" ?>"><a href="timers.html?timerid=<$ timers.GetTimerId(*timer) $>&action=delete"><img src="<$ LiveSetup().GetThemedLink("img", "del.png") $>" alt="" <& tooltip.hint text=(tr("Delete timer")) &>></img></a></td> + </tr> +% } +</%cpp> + <tr class="spacer"> + <td colspan="9"/> + </tr> +<%cpp> + } + } +</%cpp> + </table> + </div> + </body> +</html> +<%include>page_exit.eh</%include> + + diff --git a/po/ca_ES.po b/po/ca_ES.po index 3fb8738..656f8f6 100644 --- a/po/ca_ES.po +++ b/po/ca_ES.po @@ -416,6 +416,9 @@ msgstr "" msgid "Searchtimers" msgstr "" +msgid "Timer conflicts" +msgstr "" + msgid "Recordings" msgstr "" @@ -686,10 +689,7 @@ msgstr "" msgid "Theme" msgstr "" -msgid "No timer defined" -msgstr "" - -msgid "Timer is recording." +msgid "Timer has a conflict." msgstr "" msgid "Timer is active." @@ -701,6 +701,12 @@ msgstr "" msgid "Delete timer" msgstr "" +msgid "No timer defined" +msgstr "" + +msgid "Timer is recording." +msgstr "" + msgid "VLC: live video stream" msgstr "" diff --git a/po/cs_CZ.po b/po/cs_CZ.po index d241bce..970af1b 100644 --- a/po/cs_CZ.po +++ b/po/cs_CZ.po @@ -414,6 +414,9 @@ msgstr "" msgid "Searchtimers" msgstr "" +msgid "Timer conflicts" +msgstr "" + msgid "Recordings" msgstr "" @@ -684,10 +687,7 @@ msgstr "" msgid "Theme" msgstr "" -msgid "No timer defined" -msgstr "" - -msgid "Timer is recording." +msgid "Timer has a conflict." msgstr "" msgid "Timer is active." @@ -699,6 +699,12 @@ msgstr "" msgid "Delete timer" msgstr "" +msgid "No timer defined" +msgstr "" + +msgid "Timer is recording." +msgstr "" + msgid "VLC: live video stream" msgstr "" diff --git a/po/da_DK.po b/po/da_DK.po index 1c6b18c..f8198a5 100644 --- a/po/da_DK.po +++ b/po/da_DK.po @@ -414,6 +414,9 @@ msgstr "" msgid "Searchtimers" msgstr "" +msgid "Timer conflicts" +msgstr "" + msgid "Recordings" msgstr "" @@ -684,10 +687,7 @@ msgstr "" msgid "Theme" msgstr "" -msgid "No timer defined" -msgstr "" - -msgid "Timer is recording." +msgid "Timer has a conflict." msgstr "" msgid "Timer is active." @@ -699,6 +699,12 @@ msgstr "" msgid "Delete timer" msgstr "" +msgid "No timer defined" +msgstr "" + +msgid "Timer is recording." +msgstr "" + msgid "VLC: live video stream" msgstr "" diff --git a/po/de_DE.po b/po/de_DE.po index 10373d3..8023dda 100644 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -416,6 +416,9 @@ msgstr "Suchen" msgid "Searchtimers" msgstr "Suchtimer" +msgid "Timer conflicts" +msgstr "Timer-Konflikte" + msgid "Recordings" msgstr "Aufnahmen" @@ -686,11 +689,8 @@ msgstr "Startseite" msgid "Theme" msgstr "Thema" -msgid "No timer defined" -msgstr "Keine Timer vorhanden" - -msgid "Timer is recording." -msgstr "Timer zeichnet auf." +msgid "Timer has a conflict." +msgstr "Timer hat einen Konflikt." msgid "Timer is active." msgstr "Timer ist aktiv." @@ -701,6 +701,12 @@ msgstr "Timer aktiv/inaktiv schalten" msgid "Delete timer" msgstr "Timer löschen" +msgid "No timer defined" +msgstr "Keine Timer vorhanden" + +msgid "Timer is recording." +msgstr "Timer zeichnet auf." + msgid "VLC: live video stream" msgstr "VLC: Video Stream" @@ -760,3 +766,4 @@ msgstr "Ausführliche Ansicht" msgid "List view" msgstr "Listenansicht" + diff --git a/po/el_GR.po b/po/el_GR.po index e554e28..52fdc0e 100644 --- a/po/el_GR.po +++ b/po/el_GR.po @@ -414,6 +414,9 @@ msgstr "" msgid "Searchtimers" msgstr "" +msgid "Timer conflicts" +msgstr "" + msgid "Recordings" msgstr "" @@ -684,10 +687,7 @@ msgstr "" msgid "Theme" msgstr "" -msgid "No timer defined" -msgstr "" - -msgid "Timer is recording." +msgid "Timer has a conflict." msgstr "" msgid "Timer is active." @@ -699,6 +699,12 @@ msgstr "" msgid "Delete timer" msgstr "" +msgid "No timer defined" +msgstr "" + +msgid "Timer is recording." +msgstr "" + msgid "VLC: live video stream" msgstr "" diff --git a/po/es_ES.po b/po/es_ES.po index 89d6e51..eb97533 100644 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -414,6 +414,9 @@ msgstr "" msgid "Searchtimers" msgstr "" +msgid "Timer conflicts" +msgstr "" + msgid "Recordings" msgstr "" @@ -684,10 +687,7 @@ msgstr "" msgid "Theme" msgstr "" -msgid "No timer defined" -msgstr "" - -msgid "Timer is recording." +msgid "Timer has a conflict." msgstr "" msgid "Timer is active." @@ -699,6 +699,12 @@ msgstr "" msgid "Delete timer" msgstr "" +msgid "No timer defined" +msgstr "" + +msgid "Timer is recording." +msgstr "" + msgid "VLC: live video stream" msgstr "" diff --git a/po/et_EE.po b/po/et_EE.po index d228a6c..f722a6e 100644 --- a/po/et_EE.po +++ b/po/et_EE.po @@ -414,6 +414,9 @@ msgstr "" msgid "Searchtimers" msgstr "" +msgid "Timer conflicts" +msgstr "" + msgid "Recordings" msgstr "" @@ -684,10 +687,7 @@ msgstr "" msgid "Theme" msgstr "" -msgid "No timer defined" -msgstr "" - -msgid "Timer is recording." +msgid "Timer has a conflict." msgstr "" msgid "Timer is active." @@ -699,6 +699,12 @@ msgstr "" msgid "Delete timer" msgstr "" +msgid "No timer defined" +msgstr "" + +msgid "Timer is recording." +msgstr "" + msgid "VLC: live video stream" msgstr "" diff --git a/po/fi_FI.po b/po/fi_FI.po index 4368f34..091b1ad 100644 --- a/po/fi_FI.po +++ b/po/fi_FI.po @@ -414,6 +414,10 @@ msgstr "Etsi" msgid "Searchtimers" msgstr "Hakuajastimet" +#, fuzzy +msgid "Timer conflicts" +msgstr "Aktiivinen ajastin" + msgid "Recordings" msgstr "Tallenteet" @@ -686,11 +690,9 @@ msgstr "Aloitussivu" msgid "Theme" msgstr "Ulkoasu" -msgid "No timer defined" -msgstr "Ajastinta ei ole määritelty" - -msgid "Timer is recording." -msgstr "Ajastinta tallennetaan" +#, fuzzy +msgid "Timer has a conflict." +msgstr "Aktiivinen ajastin" msgid "Timer is active." msgstr "Aktiivinen ajastin" @@ -701,6 +703,12 @@ msgstr "Aseta ajastin päälle/pois" msgid "Delete timer" msgstr "Poista ajastin" +msgid "No timer defined" +msgstr "Ajastinta ei ole määritelty" + +msgid "Timer is recording." +msgstr "Ajastinta tallennetaan" + msgid "VLC: live video stream" msgstr "VLC: live-lähetyksen suoratoisto" @@ -761,5 +769,9 @@ msgstr "Ruudukkonäkymä" msgid "List view" msgstr "Listanäkymä" +#, fuzzy +#~ msgid "%A, %B %d %Y" +#~ msgstr "%A, %d.%m.%Y" + #~ msgid "channels" #~ msgstr "kanavat" diff --git a/po/fr_FR.po b/po/fr_FR.po index 73b2992..80520cc 100644 --- a/po/fr_FR.po +++ b/po/fr_FR.po @@ -417,6 +417,10 @@ msgstr "Recherche" msgid "Searchtimers" msgstr "Recherche de programmation" +#, fuzzy +msgid "Timer conflicts" +msgstr "Programmation est active." + msgid "Recordings" msgstr "Enregistrements" @@ -687,11 +691,9 @@ msgstr "Page de départ" msgid "Theme" msgstr "Thème" -msgid "No timer defined" -msgstr "Aucune programmation définie" - -msgid "Timer is recording." -msgstr "Enregistrement de série" +#, fuzzy +msgid "Timer has a conflict." +msgstr "Programmation est active." msgid "Timer is active." msgstr "Programmation est active." @@ -702,6 +704,12 @@ msgstr "Programmation basculer actif/inactif" msgid "Delete timer" msgstr "Effacer la programmation" +msgid "No timer defined" +msgstr "Aucune programmation définie" + +msgid "Timer is recording." +msgstr "Enregistrement de série" + msgid "VLC: live video stream" msgstr "VLC: live vidéo stream" @@ -761,3 +769,7 @@ msgstr "Vue détailée" msgid "List view" msgstr "Vue en liste" + +#, fuzzy +#~ msgid "%A, %B %d %Y" +#~ msgstr "%A, %d.%m.%Y" diff --git a/po/hr_HR.po b/po/hr_HR.po index 952adab..b872c5a 100644 --- a/po/hr_HR.po +++ b/po/hr_HR.po @@ -415,6 +415,9 @@ msgstr "" msgid "Searchtimers" msgstr "" +msgid "Timer conflicts" +msgstr "" + msgid "Recordings" msgstr "" @@ -685,10 +688,7 @@ msgstr "" msgid "Theme" msgstr "" -msgid "No timer defined" -msgstr "" - -msgid "Timer is recording." +msgid "Timer has a conflict." msgstr "" msgid "Timer is active." @@ -700,6 +700,12 @@ msgstr "" msgid "Delete timer" msgstr "" +msgid "No timer defined" +msgstr "" + +msgid "Timer is recording." +msgstr "" + msgid "VLC: live video stream" msgstr "" diff --git a/po/hu_HU.po b/po/hu_HU.po index 4395b9a..23c320c 100644 --- a/po/hu_HU.po +++ b/po/hu_HU.po @@ -415,6 +415,9 @@ msgstr "" msgid "Searchtimers" msgstr "" +msgid "Timer conflicts" +msgstr "" + msgid "Recordings" msgstr "" @@ -685,10 +688,7 @@ msgstr "" msgid "Theme" msgstr "" -msgid "No timer defined" -msgstr "" - -msgid "Timer is recording." +msgid "Timer has a conflict." msgstr "" msgid "Timer is active." @@ -700,6 +700,12 @@ msgstr "" msgid "Delete timer" msgstr "" +msgid "No timer defined" +msgstr "" + +msgid "Timer is recording." +msgstr "" + msgid "VLC: live video stream" msgstr "" diff --git a/po/it_IT.po b/po/it_IT.po index a1f6328..e621ff4 100644 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -416,6 +416,10 @@ msgstr "Cerca" msgid "Searchtimers" msgstr "Cerca timer" +#, fuzzy +msgid "Timer conflicts" +msgstr "Timer attivo." + msgid "Recordings" msgstr "Registrazioni" @@ -688,11 +692,9 @@ msgstr "Pagina iniziale" msgid "Theme" msgstr "Tema" -msgid "No timer defined" -msgstr "Nessun timer definito" - -msgid "Timer is recording." -msgstr "Timer in registrazione." +#, fuzzy +msgid "Timer has a conflict." +msgstr "Timer attivo." msgid "Timer is active." msgstr "Timer attivo." @@ -703,6 +705,12 @@ msgstr "Attiva/disattiva timer" msgid "Delete timer" msgstr "Cancella timer" +msgid "No timer defined" +msgstr "Nessun timer definito" + +msgid "Timer is recording." +msgstr "Timer in registrazione." + msgid "VLC: live video stream" msgstr "VLC: trasmissione video Live" @@ -762,3 +770,7 @@ msgstr "Vedi come dettagli" msgid "List view" msgstr "Vedi come elenco" + +#, fuzzy +#~ msgid "%A, %B %d %Y" +#~ msgstr "%A, %b %d %Y" diff --git a/po/nl_NL.po b/po/nl_NL.po index f8ffd58..c2baccc 100644 --- a/po/nl_NL.po +++ b/po/nl_NL.po @@ -417,6 +417,10 @@ msgstr "" msgid "Searchtimers" msgstr "" +#, fuzzy +msgid "Timer conflicts" +msgstr "Serie's opnemen" + msgid "Recordings" msgstr "" @@ -688,11 +692,8 @@ msgstr "" msgid "Theme" msgstr "" -msgid "No timer defined" -msgstr "" - #, fuzzy -msgid "Timer is recording." +msgid "Timer has a conflict." msgstr "Serie's opnemen" msgid "Timer is active." @@ -704,6 +705,13 @@ msgstr "" msgid "Delete timer" msgstr "" +msgid "No timer defined" +msgstr "" + +#, fuzzy +msgid "Timer is recording." +msgstr "Serie's opnemen" + msgid "VLC: live video stream" msgstr "" diff --git a/po/nn_NO.po b/po/nn_NO.po index 399bf83..35f301e 100644 --- a/po/nn_NO.po +++ b/po/nn_NO.po @@ -415,6 +415,9 @@ msgstr "" msgid "Searchtimers" msgstr "" +msgid "Timer conflicts" +msgstr "" + msgid "Recordings" msgstr "" @@ -685,10 +688,7 @@ msgstr "" msgid "Theme" msgstr "" -msgid "No timer defined" -msgstr "" - -msgid "Timer is recording." +msgid "Timer has a conflict." msgstr "" msgid "Timer is active." @@ -700,6 +700,12 @@ msgstr "" msgid "Delete timer" msgstr "" +msgid "No timer defined" +msgstr "" + +msgid "Timer is recording." +msgstr "" + msgid "VLC: live video stream" msgstr "" diff --git a/po/pl_PL.po b/po/pl_PL.po index 1e65b2d..591dc8b 100644 --- a/po/pl_PL.po +++ b/po/pl_PL.po @@ -414,6 +414,9 @@ msgstr "" msgid "Searchtimers" msgstr "" +msgid "Timer conflicts" +msgstr "" + msgid "Recordings" msgstr "" @@ -684,10 +687,7 @@ msgstr "" msgid "Theme" msgstr "" -msgid "No timer defined" -msgstr "" - -msgid "Timer is recording." +msgid "Timer has a conflict." msgstr "" msgid "Timer is active." @@ -699,6 +699,12 @@ msgstr "" msgid "Delete timer" msgstr "" +msgid "No timer defined" +msgstr "" + +msgid "Timer is recording." +msgstr "" + msgid "VLC: live video stream" msgstr "" diff --git a/po/pt_PT.po b/po/pt_PT.po index 21f07c0..afea87e 100644 --- a/po/pt_PT.po +++ b/po/pt_PT.po @@ -414,6 +414,9 @@ msgstr "" msgid "Searchtimers" msgstr "" +msgid "Timer conflicts" +msgstr "" + msgid "Recordings" msgstr "" @@ -684,10 +687,7 @@ msgstr "" msgid "Theme" msgstr "" -msgid "No timer defined" -msgstr "" - -msgid "Timer is recording." +msgid "Timer has a conflict." msgstr "" msgid "Timer is active." @@ -699,6 +699,12 @@ msgstr "" msgid "Delete timer" msgstr "" +msgid "No timer defined" +msgstr "" + +msgid "Timer is recording." +msgstr "" + msgid "VLC: live video stream" msgstr "" diff --git a/po/ro_RO.po b/po/ro_RO.po index 8201ce1..93f8edc 100644 --- a/po/ro_RO.po +++ b/po/ro_RO.po @@ -415,6 +415,9 @@ msgstr "" msgid "Searchtimers" msgstr "" +msgid "Timer conflicts" +msgstr "" + msgid "Recordings" msgstr "" @@ -685,10 +688,7 @@ msgstr "" msgid "Theme" msgstr "" -msgid "No timer defined" -msgstr "" - -msgid "Timer is recording." +msgid "Timer has a conflict." msgstr "" msgid "Timer is active." @@ -700,6 +700,12 @@ msgstr "" msgid "Delete timer" msgstr "" +msgid "No timer defined" +msgstr "" + +msgid "Timer is recording." +msgstr "" + msgid "VLC: live video stream" msgstr "" diff --git a/po/ru_RU.po b/po/ru_RU.po index 1936684..88c2715 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -414,6 +414,9 @@ msgstr "" msgid "Searchtimers" msgstr "" +msgid "Timer conflicts" +msgstr "" + msgid "Recordings" msgstr "" @@ -684,10 +687,7 @@ msgstr "" msgid "Theme" msgstr "" -msgid "No timer defined" -msgstr "" - -msgid "Timer is recording." +msgid "Timer has a conflict." msgstr "" msgid "Timer is active." @@ -699,6 +699,12 @@ msgstr "" msgid "Delete timer" msgstr "" +msgid "No timer defined" +msgstr "" + +msgid "Timer is recording." +msgstr "" + msgid "VLC: live video stream" msgstr "" diff --git a/po/sl_SI.po b/po/sl_SI.po index 1ed3282..639d6f5 100644 --- a/po/sl_SI.po +++ b/po/sl_SI.po @@ -415,6 +415,9 @@ msgstr "" msgid "Searchtimers" msgstr "" +msgid "Timer conflicts" +msgstr "" + msgid "Recordings" msgstr "" @@ -685,10 +688,7 @@ msgstr "" msgid "Theme" msgstr "" -msgid "No timer defined" -msgstr "" - -msgid "Timer is recording." +msgid "Timer has a conflict." msgstr "" msgid "Timer is active." @@ -700,6 +700,12 @@ msgstr "" msgid "Delete timer" msgstr "" +msgid "No timer defined" +msgstr "" + +msgid "Timer is recording." +msgstr "" + msgid "VLC: live video stream" msgstr "" diff --git a/po/sv_SE.po b/po/sv_SE.po index 95b7e80..ce37c91 100644 --- a/po/sv_SE.po +++ b/po/sv_SE.po @@ -415,6 +415,9 @@ msgstr "" msgid "Searchtimers" msgstr "" +msgid "Timer conflicts" +msgstr "" + msgid "Recordings" msgstr "" @@ -685,10 +688,7 @@ msgstr "" msgid "Theme" msgstr "" -msgid "No timer defined" -msgstr "" - -msgid "Timer is recording." +msgid "Timer has a conflict." msgstr "" msgid "Timer is active." @@ -700,6 +700,12 @@ msgstr "" msgid "Delete timer" msgstr "" +msgid "No timer defined" +msgstr "" + +msgid "Timer is recording." +msgstr "" + msgid "VLC: live video stream" msgstr "" diff --git a/po/tr_TR.po b/po/tr_TR.po index de0c029..9435747 100644 --- a/po/tr_TR.po +++ b/po/tr_TR.po @@ -415,6 +415,9 @@ msgstr "" msgid "Searchtimers" msgstr "" +msgid "Timer conflicts" +msgstr "" + msgid "Recordings" msgstr "" @@ -685,10 +688,7 @@ msgstr "" msgid "Theme" msgstr "" -msgid "No timer defined" -msgstr "" - -msgid "Timer is recording." +msgid "Timer has a conflict." msgstr "" msgid "Timer is active." @@ -700,6 +700,12 @@ msgstr "" msgid "Delete timer" msgstr "" +msgid "No timer defined" +msgstr "" + +msgid "Timer is recording." +msgstr "" + msgid "VLC: live video stream" msgstr "" |