From a10e987f35d099bf3872d2232b1509a8def5e9a6 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Fri, 28 Mar 2025 22:49:17 +0100 Subject: [PATCH] Subtitles can now be temporarily displayed after a fast rewind --- HISTORY | 4 ++++ MANUAL | 7 +++++-- config.c | 4 ++-- config.h | 8 +++++++- device.c | 34 +++++++++++++++++++++++++++------- device.h | 4 +++- dvbplayer.c | 3 ++- dvbsubtitle.c | 37 ++++++++++++++++++++++++++++++------- dvbsubtitle.h | 6 +++++- menu.c | 14 +++++++++----- player.h | 3 ++- po/ar.po | 5 ++++- po/ca_ES.po | 5 ++++- po/cs_CZ.po | 5 ++++- po/da_DK.po | 5 ++++- po/de_DE.po | 5 ++++- po/el_GR.po | 5 ++++- po/es_ES.po | 5 ++++- po/et_EE.po | 5 ++++- po/fi_FI.po | 5 ++++- po/fr_FR.po | 5 ++++- po/hr_HR.po | 5 ++++- po/hu_HU.po | 5 ++++- po/it_IT.po | 5 ++++- po/lt_LT.po | 5 ++++- po/mk_MK.po | 5 ++++- po/nl_NL.po | 5 ++++- po/nn_NO.po | 5 ++++- po/pl_PL.po | 5 ++++- po/pt_PT.po | 5 ++++- po/ro_RO.po | 5 ++++- po/ru_RU.po | 5 ++++- po/sk_SK.po | 5 ++++- po/sl_SI.po | 5 ++++- po/sr_RS.po | 5 ++++- po/sv_SE.po | 5 ++++- po/tr_TR.po | 5 ++++- po/uk_UA.po | 5 ++++- po/zh_CN.po | 5 ++++- 39 files changed, 208 insertions(+), 56 deletions(-) diff --git a/HISTORY b/HISTORY index ff09beb2..3b37b970 100644 --- a/HISTORY +++ b/HISTORY @@ -10108,3 +10108,7 @@ Video Disk Recorder Revision History + Subtitles now disappear as signaled in the data stream. + Subtitles are now kept in memory for at least 120 seconds, to have them readily available after a short rewind during replay. +- Subtitles can now be temporarily displayed after a fast rewind: + + The setup option "DVB/Display subtitles" now has three settings: "no" and "always" + behave like before, the new "after rewind" turns on subtitles after a fast rewind + during replay, and off again when the point where the rewind was started is reached. diff --git a/MANUAL b/MANUAL index 4233e54b..a64c048f 100644 --- a/MANUAL +++ b/MANUAL @@ -949,9 +949,12 @@ VDR version 2.6.6 added '/' to this list. many "Audio language" options which allow you to select the individual preferred languages. - Display subtitles = no If set to 'yes', the first available subtitles in the list + Display subtitles = no If set to 'always', the first available subtitles in the list of preferred subtitle languages will be turned on when - switching to a channel that provides subtitles. + switching to a channel or playing a recording that provides + subtitles. 'after rewind' turns on subtitles after a fast + rewind during replay, and off again when the point where the + rewind was started is reached. Subtitle languages = 0 Some tv stations broadcast various subtitle tracks in different languages. This option allows you to define which language(s) diff --git a/config.c b/config.c index 23d9e1ee..f76634d9 100644 --- a/config.c +++ b/config.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.c 5.1 2024/03/04 21:13:58 kls Exp $ + * $Id: config.c 5.2 2025/03/28 22:49:17 kls Exp $ */ #include "config.h" @@ -402,7 +402,7 @@ cSetup::cSetup(void) MarginStart = 2; MarginStop = 10; AudioLanguages[0] = -1; - DisplaySubtitles = 0; + DisplaySubtitles = SUBTITLES_NO; SubtitleLanguages[0] = -1; SubtitleOffset = 0; SubtitleFgTransparency = 0; diff --git a/config.h b/config.h index 9bf8af66..c5495e59 100644 --- a/config.h +++ b/config.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.h 5.28 2025/03/04 15:54:07 kls Exp $ + * $Id: config.h 5.29 2025/03/28 22:49:17 kls Exp $ */ #ifndef __CONFIG_H @@ -76,6 +76,12 @@ #define STANDARD_ANSISCTE 1 #define STANDARD_NORDIG 2 +// Automatic subtitles: + +#define SUBTITLES_NO 0 +#define SUBTITLES_ALWAYS 1 +#define SUBTITLES_REWIND 2 + typedef uint32_t in_addr_t; //XXX from /usr/include/netinet/in.h (apparently this is not defined on systems with glibc < 2.2) class cSVDRPhost : public cListObject { diff --git a/device.c b/device.c index 6473d2d0..9e7f51e9 100644 --- a/device.c +++ b/device.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.c 5.15 2025/03/02 11:03:35 kls Exp $ + * $Id: device.c 5.16 2025/03/28 22:49:17 kls Exp $ */ #include "device.h" @@ -1190,9 +1190,17 @@ bool cDevice::SetCurrentSubtitleTrack(eTrackType Type, bool Manual) autoSelectPreferredSubtitleLanguage = !Manual; if (dvbSubtitleConverter) dvbSubtitleConverter->Reset(); - if (Type == ttNone && dvbSubtitleConverter) { - cMutexLock MutexLock(&mutexCurrentSubtitleTrack); - DELETENULL(dvbSubtitleConverter); + if (dvbSubtitleConverter) { + if (Type == ttNone) { + if (Replaying() && !Transferring() && Setup.DisplaySubtitles == SUBTITLES_REWIND) + dvbSubtitleConverter->SetVisible(false); + else { + cMutexLock MutexLock(&mutexCurrentSubtitleTrack); + DELETENULL(dvbSubtitleConverter); + } + } + else if (Replaying() && !Transferring() && Setup.DisplaySubtitles == SUBTITLES_REWIND) + dvbSubtitleConverter->SetVisible(true); } DELETENULL(liveSubtitle); if (player) @@ -1211,6 +1219,12 @@ bool cDevice::SetCurrentSubtitleTrack(eTrackType Type, bool Manual) return false; } +void cDevice::SetTempSubtitles(void) +{ + if (dvbSubtitleConverter) + dvbSubtitleConverter->SetTempVisible(); +} + void cDevice::EnsureAudioTrack(bool Force) { if (keepTracks) @@ -1248,7 +1262,7 @@ void cDevice::EnsureSubtitleTrack(void) { if (keepTracks) return; - if (Setup.DisplaySubtitles) { + if (Setup.DisplaySubtitles == SUBTITLES_ALWAYS || Setup.DisplaySubtitles == SUBTITLES_REWIND && Replaying() && !Transferring()) { eTrackType PreferredTrack = ttNone; int LanguagePreference = INT_MAX; // higher than the maximum possible value for (int i = ttSubtitleFirst; i <= ttSubtitleLast; i++) { @@ -1449,8 +1463,11 @@ int cDevice::PlayAudio(const uchar *Data, int Length, uchar Id) int cDevice::PlaySubtitle(const uchar *Data, int Length) { - if (!dvbSubtitleConverter) + if (!dvbSubtitleConverter) { dvbSubtitleConverter = new cDvbSubtitleConverter; + if (Replaying() && !Transferring()) + dvbSubtitleConverter->SetVisible(Setup.DisplaySubtitles != SUBTITLES_REWIND); + } return dvbSubtitleConverter->ConvertFragments(Data, Length); } @@ -1618,8 +1635,11 @@ int cDevice::PlayTsAudio(const uchar *Data, int Length) int cDevice::PlayTsSubtitle(const uchar *Data, int Length) { - if (!dvbSubtitleConverter) + if (!dvbSubtitleConverter) { dvbSubtitleConverter = new cDvbSubtitleConverter; + if (Replaying() && !Transferring()) + dvbSubtitleConverter->SetVisible(Setup.DisplaySubtitles != SUBTITLES_REWIND); + } tsToPesSubtitle.PutTs(Data, Length); int l; if (const uchar *p = tsToPesSubtitle.GetPes(l)) { diff --git a/device.h b/device.h index 9cf24905..f2ac887e 100644 --- a/device.h +++ b/device.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.h 5.7 2025/03/02 11:03:35 kls Exp $ + * $Id: device.h 5.8 2025/03/28 22:49:17 kls Exp $ */ #ifndef __DEVICE_H @@ -601,6 +601,8 @@ public: ///< will be done for the rest of the current replay session, or until ///< the channel is changed. ///< Returns true if Type is a valid subtitle track, false otherwise. + void SetTempSubtitles(void); + ///< Temporarily turn on subtitles after a fast rewind during reply. void EnsureAudioTrack(bool Force = false); ///< Makes sure an audio track is selected that is actually available. ///< If Force is true, the language and Dolby Digital settings will diff --git a/dvbplayer.c b/dvbplayer.c index c9639bac..59356076 100644 --- a/dvbplayer.c +++ b/dvbplayer.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbplayer.c 5.8 2025/03/02 11:03:35 kls Exp $ + * $Id: dvbplayer.c 5.9 2025/03/28 22:49:17 kls Exp $ */ #include "dvbplayer.h" @@ -826,6 +826,7 @@ void cDvbPlayer::Backward(void) // run into pmPlay case pmPlay: { LOCK_THREAD; + DeviceSetTempSubtitles(); Empty(); if (DeviceIsPlayingVideo()) DeviceMute(); diff --git a/dvbsubtitle.c b/dvbsubtitle.c index 49de924c..0152dadc 100644 --- a/dvbsubtitle.c +++ b/dvbsubtitle.c @@ -7,7 +7,7 @@ * Original author: Marco Schluessler * With some input from the "subtitles plugin" by Pekka Virtanen * - * $Id: dvbsubtitle.c 5.4 2025/03/28 21:55:03 kls Exp $ + * $Id: dvbsubtitle.c 5.5 2025/03/28 22:49:17 kls Exp $ */ #include "dvbsubtitle.h" @@ -1369,6 +1369,8 @@ cDvbSubtitleConverter::cDvbSubtitleConverter(void) osdDeltaX = osdDeltaY = 0; osdFactorX = osdFactorY = 1.0; retention = SUBTITLE_RETENTION; + visible = true; + endVisible = -1; pages = new cList; bitmaps = new cList; current = NULL; @@ -1385,6 +1387,24 @@ cDvbSubtitleConverter::~cDvbSubtitleConverter() delete pages; } +void cDvbSubtitleConverter::SetVisible(bool Visible) +{ + LOCK_THREAD; + visible = Visible; + if (!visible) + DELETENULL(osd); + endVisible = -1; +} + +void cDvbSubtitleConverter::SetTempVisible(void) +{ + LOCK_THREAD; + if (!visible) { + endVisible = cDevice::PrimaryDevice()->GetSTC(); + visible = true; + } +} + void cDvbSubtitleConverter::SetupChanged(void) { setupLevel++; @@ -1400,10 +1420,6 @@ void cDvbSubtitleConverter::Reset(void) DELETENULL(osd); frozen = false; ddsVersionNumber = -1; - displayWidth = windowWidth = 720; - displayHeight = windowHeight = 576; - windowHorizontalOffset = 0; - windowVerticalOffset = 0; Unlock(); } @@ -1496,6 +1512,8 @@ static int PtsDeltaMs(int64_t a, int64_t b) return (LimitTo32Bit(a) - LimitTo32Bit(b)) / 90; // some devices only deliver 32 bits, PTS are in 1/90000s } +#define TEMPSUBTITLETAIL 1000 // ms + void cDvbSubtitleConverter::Action(void) { int LastSetupLevel = setupLevel; @@ -1529,9 +1547,14 @@ void cDvbSubtitleConverter::Action(void) This = sb; if (This && This != current) { current = This; - if (!current->HasBitmaps() || current->Timeout() * 1000 - PtsDeltaMs(STC, current->Pts()) <= 0) + if (endVisible >= 0 && PtsDeltaMs(STC, endVisible) > TEMPSUBTITLETAIL) { + visible = false; + endVisible = -1; DELETENULL(osd); - else if (AssertOsd()) { + } + else if (!current->HasBitmaps() || current->Timeout() * 1000 - PtsDeltaMs(STC, current->Pts()) <= 0) + DELETENULL(osd); + else if (visible && AssertOsd()) { dbgoutput("showing bitmap #%d of %d
\n", current->Index() + 1, bitmaps->Count()); current->Draw(osd); dbgconverter("PTS: %" PRId64 " STC: %" PRId64 " (%" PRId64 ") timeout: %d
\n", current->Pts(), STC, Delta, current->Timeout()); diff --git a/dvbsubtitle.h b/dvbsubtitle.h index 97362c41..59d6bb41 100644 --- a/dvbsubtitle.h +++ b/dvbsubtitle.h @@ -6,7 +6,7 @@ * * Original author: Marco Schluessler * - * $Id: dvbsubtitle.h 5.2 2025/03/28 21:55:03 kls Exp $ + * $Id: dvbsubtitle.h 5.3 2025/03/28 22:49:17 kls Exp $ */ #ifndef __DVBSUBTITLE_H @@ -38,6 +38,8 @@ private: double osdFactorX; double osdFactorY; int retention; + bool visible; + uint64_t endVisible; cList *pages; cList *bitmaps; cDvbSubtitleBitmaps *current; @@ -51,6 +53,8 @@ public: cDvbSubtitleConverter(void); virtual ~cDvbSubtitleConverter() override; virtual void Action(void) override; + void SetVisible(bool Visible); + void SetTempVisible(void); void Reset(void); void Freeze(bool Status) { frozen = Status; } int ConvertFragments(const uchar *Data, int Length); // for legacy PES recordings diff --git a/menu.c b/menu.c index 591ce4ab..414d8390 100644 --- a/menu.c +++ b/menu.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 5.25 2025/03/03 11:05:23 kls Exp $ + * $Id: menu.c 5.26 2025/03/28 22:49:17 kls Exp $ */ #include "menu.h" @@ -3735,6 +3735,7 @@ private: void Setup(void); const char *videoDisplayFormatTexts[3]; const char *updateChannelsTexts[6]; + const char *displaySubtitlesTexts[3]; const char *standardComplianceTexts[3]; public: cMenuSetupDVB(void); @@ -3759,6 +3760,9 @@ cMenuSetupDVB::cMenuSetupDVB(void) updateChannelsTexts[3] = tr("names and PIDs"); updateChannelsTexts[4] = tr("add new channels"); updateChannelsTexts[5] = tr("add new transponders"); + displaySubtitlesTexts[0] = tr("no"); + displaySubtitlesTexts[1] = tr("always"); + displaySubtitlesTexts[2] = tr("after rewind"); standardComplianceTexts[0] = "DVB"; standardComplianceTexts[1] = "ANSI/SCTE"; standardComplianceTexts[2] = "NORDIG"; @@ -3784,8 +3788,8 @@ void cMenuSetupDVB::Setup(void) Add(new cMenuEditIntItem( tr("Setup.DVB$Audio languages"), &numAudioLanguages, 0, I18nLanguages()->Size())); for (int i = 0; i < numAudioLanguages; i++) Add(new cMenuEditStraItem(tr("Setup.DVB$Audio language"), &data.AudioLanguages[i], I18nLanguages()->Size(), &I18nLanguages()->At(0))); - Add(new cMenuEditBoolItem(tr("Setup.DVB$Display subtitles"), &data.DisplaySubtitles)); - if (data.DisplaySubtitles) { + Add(new cMenuEditStraItem(tr("Setup.DVB$Display subtitles"), &data.DisplaySubtitles, 3, displaySubtitlesTexts)); + if (data.DisplaySubtitles != SUBTITLES_NO) { Add(new cMenuEditIntItem( tr("Setup.DVB$Subtitle languages"), &numSubtitleLanguages, 0, I18nLanguages()->Size())); for (int i = 0; i < numSubtitleLanguages; i++) Add(new cMenuEditStraItem(tr("Setup.DVB$Subtitle language"), &data.SubtitleLanguages[i], I18nLanguages()->Size(), &I18nLanguages()->At(0))); @@ -3803,8 +3807,8 @@ eOSState cMenuSetupDVB::ProcessKey(eKeys Key) int oldVideoDisplayFormat = ::Setup.VideoDisplayFormat; bool oldVideoFormat = ::Setup.VideoFormat; bool newVideoFormat = data.VideoFormat; - bool oldDisplaySubtitles = ::Setup.DisplaySubtitles; - bool newDisplaySubtitles = data.DisplaySubtitles; + int oldDisplaySubtitles = ::Setup.DisplaySubtitles; + int newDisplaySubtitles = data.DisplaySubtitles; int oldnumAudioLanguages = numAudioLanguages; int oldnumSubtitleLanguages = numSubtitleLanguages; eOSState state = cMenuSetupBase::ProcessKey(Key); diff --git a/player.h b/player.h index e6b5ae29..13f3236a 100644 --- a/player.h +++ b/player.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: player.h 5.7 2025/03/02 11:03:35 kls Exp $ + * $Id: player.h 5.8 2025/03/28 22:49:17 kls Exp $ */ #ifndef __PLAYER_H @@ -34,6 +34,7 @@ protected: void DeviceMute(void) { if (device) device->Mute(); } void DeviceSetVideoDisplayFormat(eVideoDisplayFormat VideoDisplayFormat) { if (device) device->SetVideoDisplayFormat(VideoDisplayFormat); } void DeviceStillPicture(const uchar *Data, int Length) { if (device) device->StillPicture(Data, Length); } + void DeviceSetTempSubtitles(void) { if (device) device->SetTempSubtitles(); } uint64_t DeviceGetSTC(void) { return device ? device->GetSTC() : -1; } void Detach(void); virtual void Activate(bool On) {} diff --git a/po/ar.po b/po/ar.po index b2c895cd..ed61e4cc 100644 --- a/po/ar.po +++ b/po/ar.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2008-10-16 11:16-0400\n" "Last-Translator: Osama Alrawab \n" "Language-Team: Arabic \n" @@ -1084,6 +1084,9 @@ msgstr "اضافة قناة جديدة" msgid "add new transponders" msgstr "اضافة مصدر قنوات جديد" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "الدى فى بى" diff --git a/po/ca_ES.po b/po/ca_ES.po index 3b50678d..dbf519f7 100644 --- a/po/ca_ES.po +++ b/po/ca_ES.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2008-03-02 19:02+0100\n" "Last-Translator: Luca Olivetti \n" "Language-Team: Catalan \n" @@ -1083,6 +1083,9 @@ msgstr "afegir nous canals" msgid "add new transponders" msgstr "afegir nous transponders" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "Tarja DVB" diff --git a/po/cs_CZ.po b/po/cs_CZ.po index d47184d6..4b9b280d 100644 --- a/po/cs_CZ.po +++ b/po/cs_CZ.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2010-05-06 11:00+0200\n" "Last-Translator: Aleš Juřík \n" "Language-Team: Czech \n" @@ -1083,6 +1083,9 @@ msgstr "přidat nové kanály" msgid "add new transponders" msgstr "přidat nové transpondéry" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB" diff --git a/po/da_DK.po b/po/da_DK.po index 28668424..f26c86d2 100644 --- a/po/da_DK.po +++ b/po/da_DK.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n" "Last-Translator: Mogens Elneff \n" "Language-Team: Danish \n" @@ -1080,6 +1080,9 @@ msgstr "tilf. ny kanaler" msgid "add new transponders" msgstr "tilf. ny transp." +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB" diff --git a/po/de_DE.po b/po/de_DE.po index 8eb32321..e0ef6702 100644 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2015-02-10 13:45+0100\n" "Last-Translator: Klaus Schmidinger \n" "Language-Team: German \n" @@ -1082,6 +1082,9 @@ msgstr "neue Kan msgid "add new transponders" msgstr "neue Transponder hinzufgen" +msgid "after rewind" +msgstr "nach Rcklauf" + msgid "DVB" msgstr "DVB" diff --git a/po/el_GR.po b/po/el_GR.po index 1cb1898a..a62ce763 100644 --- a/po/el_GR.po +++ b/po/el_GR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n" "Last-Translator: Dimitrios Dimitrakos \n" "Language-Team: Greek \n" @@ -1080,6 +1080,9 @@ msgstr " msgid "add new transponders" msgstr " " +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB" diff --git a/po/es_ES.po b/po/es_ES.po index c639daf1..88dbaaba 100644 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2015-02-19 23:00+0100\n" "Last-Translator: Gabriel Bonich \n" "Language-Team: Spanish \n" @@ -1081,6 +1081,9 @@ msgstr "a msgid "add new transponders" msgstr "aadir transponders" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB" diff --git a/po/et_EE.po b/po/et_EE.po index c761de9b..59a86de2 100644 --- a/po/et_EE.po +++ b/po/et_EE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n" "Last-Translator: Arthur Konovalov \n" "Language-Team: Estonian \n" @@ -1080,6 +1080,9 @@ msgstr "uued kanalid" msgid "add new transponders" msgstr "uued transponderid" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB" diff --git a/po/fi_FI.po b/po/fi_FI.po index 6a3260f9..f87fc64c 100644 --- a/po/fi_FI.po +++ b/po/fi_FI.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2007-08-15 15:52+0200\n" "Last-Translator: Matti Lehtimäki \n" "Language-Team: Finnish \n" @@ -1084,6 +1084,9 @@ msgstr "uudet kanavat" msgid "add new transponders" msgstr "uudet transponderit" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB" diff --git a/po/fr_FR.po b/po/fr_FR.po index 00abfb79..a5b638d9 100644 --- a/po/fr_FR.po +++ b/po/fr_FR.po @@ -18,7 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2018-04-14 10:16+0100\n" "Last-Translator: Bernard Jaulin \n" "Language-Team: French \n" @@ -1091,6 +1091,9 @@ msgstr "ajouter les nouvelles chaînes" msgid "add new transponders" msgstr "ajouter les nouveaux transpondeurs" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB" diff --git a/po/hr_HR.po b/po/hr_HR.po index 8ef842e2..91bf4df8 100644 --- a/po/hr_HR.po +++ b/po/hr_HR.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2008-03-17 19:00+0100\n" "Last-Translator: Adrian Caval \n" "Language-Team: Croatian \n" @@ -1082,6 +1082,9 @@ msgstr "dodaj nove programe" msgid "add new transponders" msgstr "dodaj nove transpondere" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB" diff --git a/po/hu_HU.po b/po/hu_HU.po index 1a5209fe..bebb1772 100644 --- a/po/hu_HU.po +++ b/po/hu_HU.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2024-02-09 06:29+0000\n" "Last-Translator: István Füley \n" "Language-Team: Hungarian\n" @@ -1088,6 +1088,9 @@ msgstr "új csatornák hozzáadása" msgid "add new transponders" msgstr "új transponderek hozzáadása" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB" diff --git a/po/it_IT.po b/po/it_IT.po index fb42a931..46a77a34 100644 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2024-10-15 00:35+0200\n" "Last-Translator: Gringo \n" "Language-Team: Italian \n" @@ -1086,6 +1086,9 @@ msgstr "nuovi canali" msgid "add new transponders" msgstr "nuovi transponder" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "Scheda DVB" diff --git a/po/lt_LT.po b/po/lt_LT.po index c210b3b7..10887204 100644 --- a/po/lt_LT.po +++ b/po/lt_LT.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2015-02-11 14:02+0200\n" "Last-Translator: Valdemaras Pipiras \n" "Language-Team: Lithuanian \n" @@ -1080,6 +1080,9 @@ msgstr "pridėti naujus kanalus" msgid "add new transponders" msgstr "pridėti naujus siųstuvus" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB" diff --git a/po/mk_MK.po b/po/mk_MK.po index a8f6438d..497fce9e 100644 --- a/po/mk_MK.po +++ b/po/mk_MK.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2018-03-31 21:47+0100\n" "Last-Translator: Dimitar Petrovski \n" "Language-Team: Macedonian \n" @@ -1082,6 +1082,9 @@ msgstr "додај нови канали" msgid "add new transponders" msgstr "додај нови транспондери" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB" diff --git a/po/nl_NL.po b/po/nl_NL.po index 47e8b64f..5a5f9f5c 100644 --- a/po/nl_NL.po +++ b/po/nl_NL.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2015-02-10 19:43+0100\n" "Last-Translator: Erik Oomen \n" "Language-Team: Dutch \n" @@ -1086,6 +1086,9 @@ msgstr "nieuwe kanalen toevoegen" msgid "add new transponders" msgstr "nieuwe transponders toevoegen" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB" diff --git a/po/nn_NO.po b/po/nn_NO.po index 557a4418..f96dcc24 100644 --- a/po/nn_NO.po +++ b/po/nn_NO.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n" "Last-Translator: Truls Slevigen \n" "Language-Team: Norwegian Nynorsk \n" @@ -1081,6 +1081,9 @@ msgstr "" msgid "add new transponders" msgstr "" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB-enheter" diff --git a/po/pl_PL.po b/po/pl_PL.po index 64b82384..a896a5d0 100644 --- a/po/pl_PL.po +++ b/po/pl_PL.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2018-02-19 00:42+0100\n" "Last-Translator: Tomasz Maciej Nowak \n" "Language-Team: Polish \n" @@ -1085,6 +1085,9 @@ msgstr "dodawaj nowe kanały" msgid "add new transponders" msgstr "dodawaj nowe transpondery" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB" diff --git a/po/pt_PT.po b/po/pt_PT.po index a65bbeff..8b0a16d1 100644 --- a/po/pt_PT.po +++ b/po/pt_PT.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2010-03-28 22:49+0100\n" "Last-Translator: Cris Silva \n" "Language-Team: Portuguese \n" @@ -1081,6 +1081,9 @@ msgstr "adicionar novos canais" msgid "add new transponders" msgstr "adicionar novos transponders" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "Placa DVB" diff --git a/po/ro_RO.po b/po/ro_RO.po index d0e3e193..ce1aa10f 100644 --- a/po/ro_RO.po +++ b/po/ro_RO.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2015-02-11 22:26+0100\n" "Last-Translator: Lucian Muresan \n" "Language-Team: Romanian \n" @@ -1082,6 +1082,9 @@ msgstr "adăugare canale noi" msgid "add new transponders" msgstr "adăugare transpondere noi" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "Dispozitiv DVB" diff --git a/po/ru_RU.po b/po/ru_RU.po index 58ab0398..b0baa995 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2016-12-27 17:13+0100\n" "Last-Translator: Pridvorov Andrey \n" "Language-Team: Russian \n" @@ -1081,6 +1081,9 @@ msgstr "новые каналы" msgid "add new transponders" msgstr "нов. транспондеры" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB" diff --git a/po/sk_SK.po b/po/sk_SK.po index f57ce990..07111785 100644 --- a/po/sk_SK.po +++ b/po/sk_SK.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2015-02-17 18:59+0100\n" "Last-Translator: Milan Hrala \n" "Language-Team: Slovak \n" @@ -1081,6 +1081,9 @@ msgstr "prida msgid "add new transponders" msgstr "prida nov transpondry" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB (digitlne televzne vysielanie)" diff --git a/po/sl_SI.po b/po/sl_SI.po index 00ec314f..a2bc5d27 100644 --- a/po/sl_SI.po +++ b/po/sl_SI.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2013-03-04 12:46+0100\n" "Last-Translator: Matjaz Thaler \n" "Language-Team: Slovenian \n" @@ -1081,6 +1081,9 @@ msgstr "dodaj nove programe" msgid "add new transponders" msgstr "dodaj nove oddajnike" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB" diff --git a/po/sr_RS.po b/po/sr_RS.po index 214e76f3..85cd9bd7 100644 --- a/po/sr_RS.po +++ b/po/sr_RS.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2013-03-16 15:05+0100\n" "Last-Translator: Zoran Turalija \n" "Language-Team: Serbian \n" @@ -1081,6 +1081,9 @@ msgstr "dodaj nove kanale" msgid "add new transponders" msgstr "dodaj nove transpondere" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB" diff --git a/po/sv_SE.po b/po/sv_SE.po index 5d86163b..411415c5 100644 --- a/po/sv_SE.po +++ b/po/sv_SE.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2015-02-12 21:58+0100\n" "Last-Translator: Magnus Sirvi \n" "Language-Team: Swedish \n" @@ -1085,6 +1085,9 @@ msgstr "l msgid "add new transponders" msgstr "lgg till nya transponders" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB" diff --git a/po/tr_TR.po b/po/tr_TR.po index 26be5249..ec4d3e6c 100644 --- a/po/tr_TR.po +++ b/po/tr_TR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2008-02-28 00:33+0100\n" "Last-Translator: Oktay Yolgeen \n" "Language-Team: Turkish \n" @@ -1080,6 +1080,9 @@ msgstr "yeni kanallar ekle" msgid "add new transponders" msgstr "yeni uydu alc-verici ekle" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB" diff --git a/po/uk_UA.po b/po/uk_UA.po index 5a72c6a0..4a835aab 100644 --- a/po/uk_UA.po +++ b/po/uk_UA.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2018-03-18 20:00+0100\n" "Last-Translator: Yarema aka Knedlyk \n" "Language-Team: Ukrainian \n" @@ -1081,6 +1081,9 @@ msgstr "додати нові канали" msgid "add new transponders" msgstr "додати нові транспондери" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "DVB" diff --git a/po/zh_CN.po b/po/zh_CN.po index c4e41739..151235c6 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 12:45+0200\n" +"POT-Creation-Date: 2025-03-28 22:45+0100\n" "PO-Revision-Date: 2013-03-04 14:52+0800\n" "Last-Translator: NFVDR \n" "Language-Team: Chinese (simplified) \n" @@ -1082,6 +1082,9 @@ msgstr "添加新频道" msgid "add new transponders" msgstr "添加新转发器" +msgid "after rewind" +msgstr "" + msgid "DVB" msgstr "卫星卡设置"