summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS17
-rw-r--r--HISTORY24
-rw-r--r--INSTALL9
-rw-r--r--MANUAL8
-rw-r--r--PLUGINS/src/sky/channels.conf.sky2
-rw-r--r--channels.c26
-rw-r--r--channels.conf14
-rw-r--r--config.h6
-rw-r--r--dvbdevice.c24
-rw-r--r--dvbdevice.h4
-rw-r--r--dvbspu.c73
-rw-r--r--dvbspu.h4
-rw-r--r--epg.c3
-rw-r--r--i18n.c249
-rw-r--r--i18n.h4
-rw-r--r--menuitems.c32
-rw-r--r--skins.c8
-rw-r--r--timers.c6
-rw-r--r--timers.h6
-rw-r--r--vdr.c13
20 files changed, 454 insertions, 78 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index b869c6b..000ed46 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -187,6 +187,7 @@ Stefan Huelswitt <huels@iname.com>
available to plugins, and to add a SetText() function
for reporting a bug in setting the title in the replay display of the "Classic VDR"
skin in case a shorter title is set after a longer one
+ for fixing handling of pmAudioOnlyBlack
Ulrich Röder <roeder@efr-net.de>
for pointing out that there are channels that have a symbol rate higher than
@@ -732,6 +733,8 @@ Sascha Volkenandt <sascha@akv-soft.de>
some broken graphics tools
for fixing a memory leak in theme description handling
for pointing out a "near miss" condition in cCondVar
+ for reporting a bug in cChannel::SetName() in case only the ShortName or Provider
+ has changed
Malcolm Caldwell <malcolm.caldwell@ntu.edu.au>
for modifying LOF handling to allow for C-band reception
@@ -997,6 +1000,8 @@ Andreas Regel <andreas.regel@gmx.de>
for fixing handling bitmap indexes for 256 color mode
for reporting a bug in removing the "scanning recordings..." message in case the
video directory is empty
+ for pointing out a missing call to cStatus::MsgOsdtatusMessage(NULL) in
+ cSkins::Message()
Thomas Bergwinkl <Thomas.Bergwinkl@t-online.de>
for fixing the validity check for channel IDs, because some providers use TIDs
@@ -1071,6 +1076,9 @@ Marco Schlüßler <marco@lordzodiac.de>
for reporting a problem with initialization of the main program loop variables
with older compiler versions
for adding the 'portal name' to cChannels
+ for fixing the cDvbSpuDecoder
+ for fixing a short glitch when starting a recording on the primary device while
+ in replay or transfer mode
Jürgen Schmitz <j.schmitz@web.de>
for reporting a bug in displaying the current channel when switching via the SVDRP
@@ -1132,3 +1140,12 @@ Mattias Grönlund <Mattias@Gronlund.net>
Uwe Hanke <uhanke@gmx.de>
for fixing some typos in the Makefile's 'font' target
+
+Mogens Elneff <mogens@elneff.dk>
+ for translating OSD texts to the Danish language
+
+Joachim Wilke <vdr@joachim-wilke.de>
+ for reporting missing calls to cStatus::MsgOsdClear() in cSkins::Message()
+
+Sascha Klek <sklek@gmx.de>
+ for reporting a problem with the '0' key in the "Day" item of the "Timers" menu
diff --git a/HISTORY b/HISTORY
index d2c33d0..07534fb 100644
--- a/HISTORY
+++ b/HISTORY
@@ -359,7 +359,7 @@ Video Disk Recorder Revision History
the EPG scanner).
- The EPG scanner now starts with the first channel (it used to start with the
second channel).
-- Reacitvated setting the PNR.
+- Reactivated setting the PNR.
- Adapted the frame scanning to the new muxing of the driver.
- The new compile time option REMOTE=NONE can be used to compile VDR without
any remote control support (for applications where it shall be controlled
@@ -3116,3 +3116,25 @@ Video Disk Recorder Revision History
- Now displaying the name of the remote control for which the keys are being
learned inside the menu to avoid overwriting the date/time in the 'classic'
skin (thanks to Oliver Endriss for reporting this one).
+
+2004-11-14: Version 1.3.16
+
+- Fixed cChannel::SetName() in case only the ShortName or Provider has changed
+ (thanks to Sascha Volkenandt for reporting this one).
+- Added Danish language texts (thanks to Mogens Elneff).
+- Reactivated the NPTL check at startup because there appear to be still
+ unsolved problems when running on NPTL systems.
+- Added missing calls to cStatus::MsgOsdClear() in cSkins::Message() (thanks
+ to Joachim Wilke for reporting this one, and Andreas Regel for additional
+ input).
+- Fixed the cDvbSpuDecoder (thanks to Marco Schlüßler).
+- Fixed handling of pmAudioOnlyBlack (thanks to Stefan Huelswitt).
+- Fixed a short glitch when starting a recording on the primary device while
+ in replay or transfer mode (thanks to Marco Schlüßler).
+- Added missing initialization of cEvent::seen.
+- Checking PID language codes for ISO 639 compliance to avoid problems with
+ funny characters. Invalid language codes will be stored as "???".
+- The '0' key now toggles the "Day" item in the "Timers" menu between "single
+ shot" and "repeating". The keys '1'...'7' can be used to toggle the individual
+ days ('1' is monday). Thanks to Sascha Klek for reporting a problem with the
+ '0' key in the "Day" item of the "Timers" menu.
diff --git a/INSTALL b/INSTALL
index 2b363d4..f054d7a 100644
--- a/INSTALL
+++ b/INSTALL
@@ -7,7 +7,14 @@ Version 1.3
IMPORTANT NOTES:
----------------
-Please make sure your environment is NOT set to use UTF-8 or
+VDR currently doesn't work with NPTL ("Native Posix Thread Library").
+Either don't use NPTL, or set the environment variable
+
+ LD_ASSUME_KERNEL=2.4.1
+
+before running VDR.
+
+Also, please make sure your environment is NOT set to use UTF-8 or
any other multibyte character representation. Check the value of your
$LANG or $LC_CTYPE environment variable, and if it contains something
like "de_DE.UTF-8", make sure you set it to something like "de_DE.iso8859-1"
diff --git a/MANUAL b/MANUAL
index cc89252..f5a1814 100644
--- a/MANUAL
+++ b/MANUAL
@@ -24,7 +24,7 @@ Version 1.2
Green - Language New New Ins/Ovr Rewind Skip -60s
Yellow - Pause live Delete Delete Delete Delete Skip +60s
Blue - Stop/Resume Mark On/Off(1) - Summary Stop
- 0..9 Ch select - Sort(3) - Numeric inp. Exec cmd(2) Editing
+ 0..9 Ch select - Sort(3) Day(4) Numeric inp. Exec cmd(2) Editing
In a numerical input field (like the response to a CAM enquiry) the keys 0..9
are used to enter the data, and the Left key can be used to delete the last
@@ -73,6 +73,9 @@ Version 1.2
(2) See "Processing Recordings" below.
(3) In the "Channels" menu the '0' key switches the sort mode through "by number",
"by name" and "by provider".
+ (4) In the "Timers" menu, when on the "Day" item, the '0' key toggles between
+ a single shot and a repeating timer. If "Day" indicates a repeating timer,
+ the keys '1'...'7' can be used to toggle the individual days ('1' is monday).
* Navigating through the On Screen Menus
@@ -369,6 +372,9 @@ Version 1.2
by listing the days of the week on which they shall record.
For example, a timer that shall record every monday and wednesday
would have a Day setting of "M-W----".
+ The '0' key toggles between a single shot and a repeating timer.
+ If "Day" indicates a repeating timer, the keys '1'...'7' can be
+ used to toggle the individual days ('1' is monday).
Start: The start time of the timer in hh:mm as 24 hour ("military") time.
Stop: The stop time of the timer.
VPS: Defines whether the timer shall use VPS (if available). If this
diff --git a/PLUGINS/src/sky/channels.conf.sky b/PLUGINS/src/sky/channels.conf.sky
index 4b6e1af..d40837f 100644
--- a/PLUGINS/src/sky/channels.conf.sky
+++ b/PLUGINS/src/sky/channels.conf.sky
@@ -18,7 +18,7 @@
#
S28.2E-2-2027-4705:106:sky_one
S28.2E-2-2027-5104:107:sky_one_mix
-S28.2E-2-2054-10240:175:itv2
+S28.2E-2-2054-10240:118:itv2
S28.2E-2-2023-4905:130:scifi
S28.2E-2-2025-5904:127:paramount
S28.2E-2-2009-6201:551:discovery
diff --git a/channels.c b/channels.c
index 57986e3..5d500ec 100644
--- a/channels.c
+++ b/channels.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: channels.c 1.30 2004/10/31 12:54:06 kls Exp $
+ * $Id: channels.c 1.31 2004/11/02 18:07:05 kls Exp $
*/
#include "channels.h"
@@ -358,15 +358,23 @@ void cChannel::SetId(int Nid, int Tid, int Sid, int Rid)
void cChannel::SetName(const char *Name, const char *ShortName, const char *Provider)
{
- if (!isempty(Name) && strcmp(name, Name) != 0) {
- if (Number()) {
- dsyslog("changing name of channel %d from '%s,%s;%s' to '%s,%s;%s'", Number(), name, shortName, provider, Name, ShortName, Provider);
- modification |= CHANNELMOD_NAME;
- Channels.SetModified();
+ if (!isempty(Name)) {
+ bool nn = strcmp(name, Name) != 0;
+ bool ns = strcmp(shortName, ShortName) != 0;
+ bool np = strcmp(provider, Provider) != 0;
+ if (nn || ns || np) {
+ if (Number()) {
+ dsyslog("changing name of channel %d from '%s,%s;%s' to '%s,%s;%s'", Number(), name, shortName, provider, Name, ShortName, Provider);
+ modification |= CHANNELMOD_NAME;
+ Channels.SetModified();
+ }
+ if (nn)
+ name = strcpyrealloc(name, Name);
+ if (ns)
+ shortName = strcpyrealloc(shortName, ShortName);
+ if (np)
+ provider = strcpyrealloc(provider, Provider);
}
- name = strcpyrealloc(name, Name);
- shortName = strcpyrealloc(shortName, ShortName);
- provider = strcpyrealloc(provider, Provider);
}
}
diff --git a/channels.conf b/channels.conf
index acb25d5..95ccdf1 100644
--- a/channels.conf
+++ b/channels.conf
@@ -24,7 +24,7 @@ VOX;RTL World:12187:hC34:S19.2E:27500:167:136=deu:71:0:12060:1:1089:0
KABEL1;ProSiebenSat.1:12480:vC34:S19.2E:27500:511:512=deu:33:0:899:133:33:0
NEUN LIVE Television,NEUN LIVE;BetaDigital:12480:vC34:S19.2E:27500:767:768=deu:35:0:897:133:33:0
DSF;BetaDigital:12480:vC34:S19.2E:27500:1023:1024=deu:0:0:900:133:33:0
-HSE24;BetaDigital:12480:vC34:S19.2E:27500:1279:1280=deu:37:0:40:133:33:0
+HSE24,HSE24;BetaDigital:12480:vC34:S19.2E:27500:1279:1280=deu:37:0:40:133:33:0
Bloomberg TV Germany;Bloomberg:12551:vC56:S19.2E:22000:162:99=deu:0:0:12160:1:1108:0
EURONEWS;CSAT:11817:vC34:S19.2E:27500:163:92=fra,93=eng,94=ita,95=esl,91=rus,98=por,99=deu:0:0:8004:1:1070:0
rbb Brandenburg;ARD:12109:hC34:S19.2E:27500:501:502=deu:504:0:28205:1:1073:0
@@ -48,8 +48,8 @@ PREMIERE START,START;PREMIERE:11797:hC34:S19.2E:27500:255:256=deu:32:1702,1801,1
PREMIERE 1,PREM 1;PREMIERE:11797:hC34:S19.2E:27500:511:512=deu,513=deu;515=deu:32:1702,1801,1722:10:133:2:0
PREMIERE 2,PREM 2;PREMIERE:11797:hC34:S19.2E:27500:1791:1792=deu,1793=deu;1795=deu:32:1702,1722,1801:11:133:2:0
PREMIERE 3,PREM 3;PREMIERE:11797:hC34:S19.2E:27500:2303:2304=deu,2305=deu:32:1722,1801,1702:43:133:2:0
-PREMIERE 4,PREM 4;PREMIERE:11797:hC34:S19.2E:27500:767:768=deu,769=deu:32:1801,1722,1702:9:133:2:0
-PREMIERE 5,PREM 5;PREMIERE:11797:hC34:S19.2E:27500:1279:1280=deu,1281=deu:32:1722,1702,1801:29:133:2:0
+PREMIERE 4,PREM 4;PREMIERE:11797:hC34:S19.2E:27500:767:768=deu:32:1801,1722,1702:9:133:2:0
+PREMIERE 5,PREM 5;PREMIERE:11797:hC34:S19.2E:27500:1279:1280=deu:32:1722,1702,1801:29:133:2:0
PREMIERE 6,PREM 6;PREMIERE:11797:hC34:S19.2E:27500:1535:1536=deu:32:1702,1722,1801:41:133:2:0
PREMIERE 7,PREM 7;PREMIERE:11797:hC34:S19.2E:27500:1023:1024=deu:32:1722,1702,1801:20:133:2:0
DISNEY CHANNEL,DISNEY;PREMIERE:11758:hC34:S19.2E:27500:2559:2560=deu:0:1722,1702,1801:34:133:17:0
@@ -59,7 +59,7 @@ PREMIERE DIREKT,DIREKT;PREMIERE:12031:hC34:S19.2E:27500:2815:2816=deu,2817=deu;2
BEATE-UHSE.TV,B-UHSE;PREMIERE:12070:hC34:S19.2E:27500:1023:1024=deu:32:1801,1702,1722:21:133:1:0
DIREKT EROTIK,EROTIK;PREMIERE:12031:hC34:S19.2E:27500:1279:0:0:1722,1702,1801:513:133:4:0
:Sportsworld
-PREMIERE SPORT 1,SPORT 1;PREMIERE:11719:hC34:S19.2E:27500:255:256=deu,257=deu:32:1801,1702,1722:17:133:3:0
+Konferenz:11719:hC34:S19.2E:27500:255:256=deu,257=deu:32:1801,1702,1722:17:133:3:0
PREMIERE SPORT 2,SPORT 2;PREMIERE:12031:hC34:S19.2E:27500:3839:3840=deu,3841=deu:32:1722,1702,1801:27:133:4:0
:Beta Digital
N24;ProSiebenSat.1:12480:vC34:S19.2E:27500:2047:2048=deu:36:0:47:133:33:0
@@ -82,10 +82,10 @@ Chamber TV;Chambre des Députées:12551:vC56:S19.2E:22000:55:56=ltz:0:0:12180:1:11
RTL TELE Letzebuerg:12551:vC56:S19.2E:22000:168:144=eng,146=fra,151=ltz:74:0:3994:1:1108:0
Yorin;CANAL+:12574:hC56:S19.2E:22000:512+8190:84=dut:33:622,602,100:5010:53:1109:0
MTV2 Pop Channel;MTV Networks:12226:hC34:S19.2E:27500:513+8190:661=deu:577:0:28640:1:1091:0
+MTV Central;MTV Networks:11739:vC34:S19.2E:27500:3031:3032:3034:0:28653:1:1066:0
Via 1 - Schöner Reisen:12148:h:S19.2E:27500:511:512:0:0:44:0:0:0
VIVA;VIVA Fernsehen GmbH & Co. KG:12669:vC56:S19.2E:22000:309:310=deu:311:0:12732:1:1116:0
VIVA PLUS;VIVA Fernsehen GmbH & Co. KG:12551:vC56:S19.2E:22000:171:172=deu:173:0:12120:1:1108:0
-MTV Central;MTV Networks:11739:vC34:S19.2E:27500:3031:3032:3034:0:28653:1:1066:0
QVC Deutschland;QVC:12551:vC56:S19.2E:22000:165:166:167:0:12100:1:1108:0
TELE 5;BetaDigital:12480:vC34:S19.2E:27500:1535:1536=deu:38:0:51:133:33:0
:@201 Sky
@@ -94,7 +94,7 @@ Sky Mix;BSkyB:12226:hC23:S28.2E:27500:2314+2304:2315=eng,2316=NAR:2317:960,961:5
ITV2;BSkyB:10906:vC56:S28.2E:22000:2350:2351=eng,2352=eng:2353:960,961:10240:2:2054:0
Sci-Fi;BSkyB:12148:hC23:S28.2E:27500:2314+2304:2315=eng:2316:960,961:4905:2:2023:0
Paramount;BSkyB:12187:hC23:S28.2E:27500:2313+2304:2314=eng:2315:960,961:5904:2:2025:0
-Discovery;BSkyB:11875:hC23:S28.2E:27500:2304:2306=eng,2307=NAR:2305:960,961:6201:2:2009:0
+Discovery;BSkyB:11875:hC23:S28.2E:27500:2304:2306=eng,2307:2305:960,961:6201:2:2009:0
Sky Movies 1;BSkyB:11836:hC23:S28.2E:27500:2310+2304:2311=eng,2312=NAR;2314=eng:2313:960,961:4303:2:2007:0
Sky Movies 2;BSkyB:11836:hC23:S28.2E:27500:2305+2304:2306=eng,2307=NAR;2309=eng:2308:960,961:4302:2:2007:0
Sky Movies 3;BSkyB:11836:hC23:S28.2E:27500:2315+2304:2316=eng,2317=NAR;2319=eng:2318:960,961:4403:2:2007:0
@@ -114,7 +114,7 @@ Animal Plnt+;BSkyB:12070:hC23:S28.2E:27500:2314+2307:2315=eng:0:960,961:50002:2:
S1T;BSkyB:12285:vC23:S28.2E:27500:2311+2304:2312=eng,2313=NAR:2307:960,961:4409:2:2030:0
CNN;BSkyB:12051:vC23:S28.2E:27500:2313:2315=eng:2314:0:7140:2:2018:0
BBC PARL'MNT:12129:vC23:S28.2E:27500:2304:2306=eng,2307=eng:2305:0:7300:2:2022:0
-Olisat;T-Systems/MTI:11200:vC56:S13.0E:27500:413:414=ita:0:0:4733:318:13400:0
+Olisat / Telefe;T-Systems/MTI:11200:vC56:S13.0E:27500:413:414=ita:0:0:4733:318:13400:0
EURO1080:12168:vC34:S19.2E:27500:308:256:0:FF:21100:1:1088:0
Astra HD:12441:vC34:S19.2E:27500:133+80:134:0:FF:29700:0:0:0
:@1000 New channels
diff --git a/config.h b/config.h
index bc9052a..955eb9f 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 1.203 2004/10/31 16:17:02 kls Exp $
+ * $Id: config.h 1.204 2004/11/02 17:20:27 kls Exp $
*/
#ifndef __CONFIG_H
@@ -20,8 +20,8 @@
#include "i18n.h"
#include "tools.h"
-#define VDRVERSION "1.3.15"
-#define VDRVERSNUM 10315 // Version * 10000 + Major * 100 + Minor
+#define VDRVERSION "1.3.16"
+#define VDRVERSNUM 10316 // Version * 10000 + Major * 100 + Minor
#define MAXPRIORITY 99
#define MAXLIFETIME 99
diff --git a/dvbdevice.c b/dvbdevice.c
index fb87ae4..2702f95 100644
--- a/dvbdevice.c
+++ b/dvbdevice.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbdevice.c 1.102 2004/10/30 14:53:30 kls Exp $
+ * $Id: dvbdevice.c 1.104 2004/11/07 10:27:19 kls Exp $
*/
#include "dvbdevice.h"
@@ -681,14 +681,15 @@ int cDvbDevice::OpenFilter(u_short Pid, u_char Tid, u_char Mask)
return -1;
}
-void cDvbDevice::TurnOffLiveMode(void)
+void cDvbDevice::TurnOffLiveMode(bool LiveView)
{
- // Avoid noise while switching:
-
- CHECK(ioctl(fd_audio, AUDIO_SET_MUTE, true));
- CHECK(ioctl(fd_video, VIDEO_SET_BLANK, true));
- CHECK(ioctl(fd_audio, AUDIO_CLEAR_BUFFER));
- CHECK(ioctl(fd_video, VIDEO_CLEAR_BUFFER));
+ if (LiveView) {
+ // Avoid noise while switching:
+ CHECK(ioctl(fd_audio, AUDIO_SET_MUTE, true));
+ CHECK(ioctl(fd_video, VIDEO_SET_BLANK, true));
+ CHECK(ioctl(fd_audio, AUDIO_CLEAR_BUFFER));
+ CHECK(ioctl(fd_video, VIDEO_CLEAR_BUFFER));
+ }
// Turn off live PIDs:
@@ -781,7 +782,7 @@ bool cDvbDevice::SetChannelDevice(const cChannel *Channel, bool LiveView)
// Turn off live PIDs if necessary:
if (TurnOffLivePIDs)
- TurnOffLiveMode();
+ TurnOffLiveMode(LiveView);
// Set the tuner:
@@ -897,10 +898,9 @@ bool cDvbDevice::SetPlayMode(ePlayMode PlayMode)
CHECK(ioctl(fd_audio, AUDIO_SET_MUTE, false));
break;
case pmAudioVideo:
- if (playMode == pmNone)
- TurnOffLiveMode();
- // continue with next...
case pmAudioOnlyBlack:
+ if (playMode == pmNone)
+ TurnOffLiveMode(true);
CHECK(ioctl(fd_video, VIDEO_SET_BLANK, true));
CHECK(ioctl(fd_audio, AUDIO_SELECT_SOURCE, AUDIO_SOURCE_MEMORY));
CHECK(ioctl(fd_audio, AUDIO_SET_AV_SYNC, PlayMode == pmAudioVideo));
diff --git a/dvbdevice.h b/dvbdevice.h
index 7dd6174..1817f37 100644
--- a/dvbdevice.h
+++ b/dvbdevice.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbdevice.h 1.29 2004/10/30 14:48:27 kls Exp $
+ * $Id: dvbdevice.h 1.30 2004/11/07 10:25:16 kls Exp $
*/
#ifndef __DVBDEVICE_H
@@ -56,7 +56,7 @@ public:
private:
cDvbTuner *dvbTuner;
- void TurnOffLiveMode(void);
+ void TurnOffLiveMode(bool LiveView);
public:
virtual bool ProvidesSource(int Source) const;
virtual bool ProvidesTransponder(const cChannel *Channel) const;
diff --git a/dvbspu.c b/dvbspu.c
index 184e686..6961139 100644
--- a/dvbspu.c
+++ b/dvbspu.c
@@ -8,7 +8,7 @@
*
* parts of this file are derived from the OMS program.
*
- * $Id: dvbspu.c 1.7 2004/05/22 14:02:32 kls Exp $
+ * $Id: dvbspu.c 1.8 2004/11/06 11:50:13 kls Exp $
*/
#include <assert.h>
@@ -319,25 +319,42 @@ int cDvbSpuDecoder::ScaleYres(int value)
return value;
}
-void cDvbSpuDecoder::DrawBmp(sDvbSpuRect & size, cBitmap * bmp)
+sDvbSpuRect cDvbSpuDecoder::CalcAreaSize(sDvbSpuRect fgsize, cBitmap *fgbmp, sDvbSpuRect bgsize, cBitmap *bgbmp)
{
- int x2 = size.x2;
- while ((x2 - size.x1 + 1) & 0x03)
- x2++;
- tArea Area = { size.x1, size.y1, x2, size.y2, 2 };
- osd->SetAreas(&Area, 1);
- if (x2 > size.x2)
- osd->DrawRectangle(size.x2 + 1, size.y1, x2, size.y2, clrTransparent);
- osd->DrawBitmap(size.x1, size.y1, *bmp);
- delete bmp;
+ sDvbSpuRect size;
+ if (fgbmp && bgbmp) {
+ size.x1 = min(fgsize.x1, bgsize.x1);
+ size.y1 = min(fgsize.y1, bgsize.y1);
+ size.x2 = max(fgsize.x2, bgsize.x2);
+ size.y2 = max(fgsize.y2, bgsize.y2);
+ }
+ else if (fgbmp) {
+ size.x1 = fgsize.x1;
+ size.y1 = fgsize.y1;
+ size.x2 = fgsize.x2;
+ size.y2 = fgsize.y2;
+ }
+ else if (bgbmp) {
+ size.x1 = bgsize.x1;
+ size.y1 = bgsize.y1;
+ size.x2 = bgsize.x2;
+ size.y2 = bgsize.y2;
+ }
+ else {
+ size.x1 = 0;
+ size.y1 = 0;
+ size.x2 = 0;
+ size.y2 = 0;
+ }
+ return size;
}
void cDvbSpuDecoder::Draw(void)
{
- Hide();
-
- if (!spubmp)
+ if (!spubmp) {
+ Hide();
return;
+ }
cBitmap *fg = NULL;
cBitmap *bg = NULL;
@@ -362,18 +379,28 @@ void cDvbSpuDecoder::Draw(void)
}
}
- if (bg || fg) {
- if (osd == NULL)
- if ((osd = cOsdProvider::NewOsd(0, 0)) == NULL) {
- dsyslog("NewOsd failed\n");
- return;
- }
+ sDvbSpuRect areaSize = CalcAreaSize(hlsize, fg, bgsize, bg);
- if (fg)
- DrawBmp(hlsize, fg);
+ if (!fg || !bg || !osd) {
+ Hide();
+ }
+
+ if (bg || fg) {
+ if (osd == NULL) {
+ osd = cOsdProvider::NewOsd(0, 0);
+ int x2 = areaSize.x2;
+ while ((x2 - areaSize.x1 + 1) & 0x03)
+ x2++;
+ tArea Area = { areaSize.x1, areaSize.y1, x2, areaSize.y2, (fg && bg) ? 4 : 2 };
+ osd->SetAreas(&Area, 1);
+ }
if (bg)
- DrawBmp(bgsize, bg);
+ osd->DrawBitmap(bgsize.x1, bgsize.y1, *bg);
+ if (fg)
+ osd->DrawBitmap(hlsize.x1, hlsize.y1, *fg);
+ delete fg;
+ delete bg;
osd->Flush();
}
diff --git a/dvbspu.h b/dvbspu.h
index e0f3d0c..078f432 100644
--- a/dvbspu.h
+++ b/dvbspu.h
@@ -8,7 +8,7 @@
*
* parts of this file are derived from the OMS program.
*
- * $Id: dvbspu.h 1.5 2004/06/12 12:57:55 kls Exp $
+ * $Id: dvbspu.h 1.6 2004/11/06 11:42:37 kls Exp $
*/
#ifndef __DVBSPU_H
@@ -130,7 +130,7 @@ class cDvbSpuDecoder:public cSpuDecoder {
int ScaleYcoord(int value);
int ScaleYres(int value);
- void DrawBmp(sDvbSpuRect & size, cBitmap * bmp);
+ sDvbSpuRect CalcAreaSize(sDvbSpuRect fgsize, cBitmap *fgbmp, sDvbSpuRect bgsize, cBitmap *bgbmp);
public:
cDvbSpuDecoder();
diff --git a/epg.c b/epg.c
index ffd61a4..877ce24 100644
--- a/epg.c
+++ b/epg.c
@@ -7,7 +7,7 @@
* Original version (as used in VDR before 1.3.0) written by
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
*
- * $Id: epg.c 1.21 2004/10/31 16:12:36 kls Exp $
+ * $Id: epg.c 1.22 2004/11/07 10:43:30 kls Exp $
*/
#include "epg.h"
@@ -31,6 +31,7 @@ cEvent::cEvent(tChannelID ChannelID, u_int16_t EventID)
startTime = 0;
duration = 0;
vps = 0;
+ SetSeen();
}
cEvent::~cEvent()
diff --git a/i18n.c b/i18n.c
index eeece52..7575604 100644
--- a/i18n.c
+++ b/i18n.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: i18n.c 1.161 2004/11/01 14:18:48 kls Exp $
+ * $Id: i18n.c 1.163 2004/11/14 14:28:29 kls Exp $
*
* Translations provided by:
*
@@ -25,6 +25,7 @@
* Russian Vyacheslav Dikonov <sdiconov@mail.ru>
* Croatian Drazen Dupor <drazen.dupor@dupor.com>
* Estonian Arthur Konovalov <kasjas@hot.ee>
+ * Danish Mogens Elneff <mogens@elneff.dk>
*
*/
@@ -74,6 +75,7 @@
*/
#include "i18n.h"
+#include <ctype.h>
#include "config.h"
#include "tools.h"
@@ -98,6 +100,7 @@ const tI18nPhrase Phrases[] = {
"ÀãááÚØÙ", // Russian
"Hrvatski",
"Eesti",
+ "Dansk",
},
// The character set needed for this language (this MUST be the second phrase!):
{ "iso8859-1",
@@ -119,6 +122,7 @@ const tI18nPhrase Phrases[] = {
"iso8859-5",
"iso8859-2",
"iso8859-15", // or iso8859-1 as alternative
+ "iso8859-1",
},
// The 3-letter names of the language (this MUST be the third phrase!):
{ "eng,dos",
@@ -140,6 +144,7 @@ const tI18nPhrase Phrases[] = {
"rus",
"hrv",
"est",
+ "dan",
},
// Menu titles:
{ "VDR",
@@ -161,6 +166,7 @@ const tI18nPhrase Phrases[] = {
"VDR",
"VDR",
"VDR",
+ "VDR",
},
{ "Schedule",
"Programm",
@@ -181,6 +187,7 @@ const tI18nPhrase Phrases[] = {
"ÂÕÛÕÓØÔ",
"Raspored",
"Kava",
+ "Programoversigt",
},
{ "Channels",
"Kanäle",
@@ -201,6 +208,7 @@ const tI18nPhrase Phrases[] = {
"ºÐÝÐÛë",
"Programi",
"Kanalid",
+ "Kanaler",
},
{ "Timers",
"Timer",
@@ -221,6 +229,7 @@ const tI18nPhrase Phrases[] = {
"ÂÐÙÜÕàë",
"Termini",
"Taimer",
+ "Timere",
},
{ "Recordings",
"Aufzeichnungen",
@@ -241,6 +250,7 @@ const tI18nPhrase Phrases[] = {
"·ÐßØáØ",
"Snimke",
"Salvestused",
+ "Optagelser",
},
{ "Setup",
"Einstellungen",
@@ -261,6 +271,7 @@ const tI18nPhrase Phrases[] = {
"½ÐáâàÞÙÚÐ",
"Konfiguracija",
"Sätted",
+ "Indstillinger",
},
{ "Commands",
"Befehle",
@@ -281,6 +292,7 @@ const tI18nPhrase Phrases[] = {
"ºÞÜÐÝÔë",
"Naredbe",
"Käsud",
+ "Kommandoer",
},
{ "Recording commands",
"Befehle für Aufzeichnungen",
@@ -301,6 +313,7 @@ const tI18nPhrase Phrases[] = {
"ºÞÜÐÝÔë ×ÐßØáØ",
"Naredbe za snimanje",
"Salvestuse käsud",
+ "Optage kommandoer",
},
{ "Edit channel",
"Kanal editieren",
@@ -321,6 +334,7 @@ const tI18nPhrase Phrases[] = {
"ÀÕÔÐÚâØàÞÒÐÝØÕ ÚÐÝÐÛÐ",
"Ureðivanje programa",
"Kanali muutmine",
+ "Rediger kanal",
},
{ "Edit timer",
"Timer editieren",
@@ -341,6 +355,7 @@ const tI18nPhrase Phrases[] = {
"ÃáâÐÝÞÒÚÐ âÐÙÜÕàÐ",
"Ureðivanje termina",
"Taimeri muutmine",
+ "Rediger timer",
},
{ "Event",
"Sendung",
@@ -361,6 +376,7 @@ const tI18nPhrase Phrases[] = {
"¿ÕàÕÔÐçÐ",
"Emisija",
"Sündmus",
+ "Udsendelse",
},
{ "Summary",
"Inhalt",
@@ -381,6 +397,7 @@ const tI18nPhrase Phrases[] = {
"¾ßØáÐÝØÕ",
"Sadr¾aj",
"Kokkuvõte",
+ "Omtale",
},
{ "Schedule - %s",
"Programm - %s",
@@ -401,6 +418,7 @@ const tI18nPhrase Phrases[] = {
"¿àÞÓàÐÜÜÐ - %s",
"Raspored - %s",
"Programm - %s",
+ "Program - %s",
},
{ "What's on now?",
"Was läuft jetzt?",
@@ -421,6 +439,7 @@ const tI18nPhrase Phrases[] = {
"ÁÕÙçÐá Ò íäØàÕ:",
"©to je trenutno na programu?",
"Hetkel eetris",
+ "Hvilket program vises nu?",
},
{ "What's on next?",
"Was läuft als nächstes?",
@@ -441,6 +460,7 @@ const tI18nPhrase Phrases[] = {
"´ÐÛÕÕ Ò ßàÞÓàÐÜÜÕ:",
"©to slijedi?",
"Järgmisena eetris",
+ "Hvilket næste program vises?",
},
// Button texts (should not be more than 10 characters!):
{ "Edit",
@@ -462,6 +482,7 @@ const tI18nPhrase Phrases[] = {
"ÀÕÔÐÚâØàÞÒÐâì",
"Promjeni",
"Muuda",
+ "Rediger",
},
{ "New",
"Neu",
@@ -482,6 +503,7 @@ const tI18nPhrase Phrases[] = {
"´ÞÑÐÒØâì",
"Novi",
"Uus",
+ "Ny",
},
{ "Delete",
"Löschen",
@@ -502,6 +524,7 @@ const tI18nPhrase Phrases[] = {
"ÃÔÐÛØâì",
"Obri¹i",
"Kustuta",
+ "Slet",
},
{ "Mark",
"Markieren",
@@ -522,6 +545,7 @@ const tI18nPhrase Phrases[] = {
"¿ÕàÕÜÕáâØâì",
"Oznaèi",
"Siirda",
+ "Markér",
},
{ "On/Off",
"Ein/Aus",
@@ -542,6 +566,7 @@ const tI18nPhrase Phrases[] = {
"²ÚÛ/²ëÚÛ",
"De-/Aktiviraj",
"Sees/Väljas",
+ "Til/Fra",
},
{ "Record",
"Aufnehmen",
@@ -562,6 +587,7 @@ const tI18nPhrase Phrases[] = {
"·ÐßØáì",
"Snimi",
"Salvesta",
+ "Optag",
},
{ "Play",
"Wiedergabe",
@@ -582,6 +608,7 @@ const tI18nPhrase Phrases[] = {
"²ÞáßàÞØ×ÒÕáâØ",
"Start",
"Start",
+ "Afspil",
},
{ "Rewind",
"Anfang",
@@ -602,6 +629,7 @@ const tI18nPhrase Phrases[] = {
"½Ð×ÐÔ",
"Na poèetak",
"Algusesse",
+ "Forfra",
},
{ "Button$Stop",
"Beenden",
@@ -622,6 +650,7 @@ const tI18nPhrase Phrases[] = {
"ÁâÞß",
"Stop",
"Stopp",
+ "Stop",
},
{ "Resume",
"Weiter",
@@ -642,6 +671,7 @@ const tI18nPhrase Phrases[] = {
"¿àÞÔÞÛÖØâì",
"Nastavi",
"Jätka",
+ "Fortsæt",
},
{ "Summary",
"Inhalt",
@@ -662,6 +692,7 @@ const tI18nPhrase Phrases[] = {
"¾ßØáÐÝØÕ",
"Sadr¾aj",
"Kokkuvõte",
+ "Omtale",
},
{ "Open",
"Öffnen",
@@ -682,6 +713,7 @@ const tI18nPhrase Phrases[] = {
"¾âÚàëâì",
"Otvori",
"Ava",
+ "Åbn",
},
{ "Switch",
"Umschalten",
@@ -702,6 +734,7 @@ const tI18nPhrase Phrases[] = {
"¿ÕàÕÚÛîçØâì",
"Prebaci",
"Vali",
+ "Skift",
},
{ "Now",
"Jetzt",
@@ -722,6 +755,7 @@ const tI18nPhrase Phrases[] = {
"ÁÕÙçÐá",
"Trenutno",
"Nüüd",
+ "Nu",
},
{ "Next",
"Nächste",
@@ -742,6 +776,7 @@ const tI18nPhrase Phrases[] = {
"´ÐÛÕÕ",
"Slijedi",
"Järgmine",
+ "Næste",
},
{ "Button$Schedule",
"Programm",
@@ -762,6 +797,7 @@ const tI18nPhrase Phrases[] = {
"¿àÞÓàÐÜÜÐ",
"Raspored",
"Kava",
+ "Program",
},
{ "Language",
"Sprache",
@@ -782,6 +818,7 @@ const tI18nPhrase Phrases[] = {
"Ï×ëÚ",
"Jezik",
"Keel",
+ "Sprog",
},
{ "Eject",
"Auswerfen",
@@ -802,6 +839,7 @@ const tI18nPhrase Phrases[] = {
"¸×ÒÛÕçì",
"Izbaci",
"Ava",
+ "Skub ud",
},
{ "ABC/abc",
"ABC/abc",
@@ -822,6 +860,7 @@ const tI18nPhrase Phrases[] = {
"°±²/ÐÑÒ",
"ABC/abc",
"ABC/abc",
+ "ABC/abc",
},
{ "Insert",
"Einfügen",
@@ -842,6 +881,7 @@ const tI18nPhrase Phrases[] = {
"²áâÐÒÚÐ",
"Umetni",
"Lisa (INS)",
+ "Indsæt",
},
{ "Overwrite",
"Überschreiben",
@@ -862,6 +902,7 @@ const tI18nPhrase Phrases[] = {
"·ÐÜÕÝÐ",
"Prepi¹i",
"Asenda (OVR)",
+ "Overskriv",
},
{ "Menu",
"Menü",
@@ -882,6 +923,7 @@ const tI18nPhrase Phrases[] = {
"¼ÕÝî",
"Izbor",
"Menüü",
+ "Menu",
},
{ "Reset",
"Reset",
@@ -902,6 +944,7 @@ const tI18nPhrase Phrases[] = {
"ÁÑàÞá",
"Reset",
"Reset",
+ "Nulstille",
},
{ "Scan",
"Scan",
@@ -922,6 +965,7 @@ const tI18nPhrase Phrases[] = {
"ÁÚÐÝØàÞÒÐâì",
"Pretra¾i",
"Uuenda",
+ "Skan",
},
// Confirmations:
{ "Delete channel?",
@@ -943,6 +987,7 @@ const tI18nPhrase Phrases[] = {
"ÃÔÐÛØâì ÚÐÝÐÛ?",
"Obrisati program?",
"Kustutan kanali?",
+ "Slet kanal?",
},
{ "Delete timer?",
"Timer löschen?",
@@ -963,6 +1008,7 @@ const tI18nPhrase Phrases[] = {
"ÃÔÐÛØâì âÐÙÜÕà?",
"Obrisati termin?",
"Kustutan taimeri?",
+ "Slet timer?",
},
{ "Delete recording?",
"Aufzeichnung löschen?",
@@ -983,6 +1029,7 @@ const tI18nPhrase Phrases[] = {
"ÁâÕàÕâì ×ÐßØáì?",
"Obrisati snimku?",
"Kustutan salvestuse?",
+ "Slet optagelse",
},
{ "Timer still recording - really delete?",
"Timer zeichnet auf - trotzdem löschen?",
@@ -1003,6 +1050,7 @@ const tI18nPhrase Phrases[] = {
"¸Ôñâ ×ÐßØáì ßÞ âÐÙÜÕàã - ÔÕÙáâÒØâÕÛìÝÞ ãÔÐÛØâì?",
"Jo¹ snimam - zaista obrisati?",
"Salvestus aktiivne - kustutan?",
+ "Timerstyret optagelse i gang - slet alligevel?",
},
{ "Stop recording?",
"Aufzeichnung beenden?",
@@ -1023,6 +1071,7 @@ const tI18nPhrase Phrases[] = {
"¿àÕÚàÐâØâì ×ÐßØáì?",
"Zaustaviti snimanje?",
"Lõpetan salvestamise?",
+ "Stop optagelse?",
},
{ "on primary interface",
"auf dem primären Interface",
@@ -1043,6 +1092,7 @@ const tI18nPhrase Phrases[] = {
"ÝÐ ÞáÝÞÒÝÞÜ ãáâàÞÙáâÒÕ",
"na primarnom ureðaju",
"peavastuvõtjal",
+ "på primær enhed",
},
{ "Cancel editing?",
"Schneiden abbrechen?",
@@ -1063,6 +1113,7 @@ const tI18nPhrase Phrases[] = {
"¿àÕàÒÐâì àÕÔÐÚâØàÞÒÐÝØÕ?",
"Otkazati ureðivanje?",
"Tühistan muudatuse?",
+ "Afbryd redigering?",
},
{ "Really restart?",
"Wirklich neu starten?",
@@ -1083,6 +1134,7 @@ const tI18nPhrase Phrases[] = {
"´ÕÙáâÒØâÕÛìÝÞ ßÕàÕ×ÐßãáâØâì?",
"Zaista ponovo pokrenuti?",
"Restart?",
+ "Vil du virkelig genstarte?",
},
{ "Recording - restart anyway?",
"Aufnahme läuft - trotzdem neu starten?",
@@ -1103,6 +1155,7 @@ const tI18nPhrase Phrases[] = {
"¸Ôñâ ×ÐßØáì - ÔÕÙáâÒØâÕÛìÝÞ ßÕàÕ×ÐßãáâØâì?",
"Snimanje traje - svejedno restart sistema?",
"Salvestamine aktiivne - restart?",
+ "Optagelse igang - genstart alligevel?",
},
{ "Recording - shut down anyway?",
"Aufnahme läuft - trotzdem ausschalten?",
@@ -1123,6 +1176,7 @@ const tI18nPhrase Phrases[] = {
"¸Ôñâ ×ÐßØáì - ÔÕÙáâÒØâÕÛìÝÞ ÒëÚÛîçØâì?",
"Snimanje traje - svejedno iskljuèiti?",
"Salvestamine aktiivne - lülitan välja?",
+ "Optagelse igang - sluk alligevel?",
},
{ "Recording in %d minutes, shut down anyway?",
"Aufnahme in %d Minuten - trotzdem ausschalten?",
@@ -1143,6 +1197,7 @@ const tI18nPhrase Phrases[] = {
"ÇÕàÕ× %d ÜØÝãâ ÝÐçÝñâáï ×ÐßØáì - ÔÕÙáâÒØâÕÛìÝÞ ÒëÚÛîçØâì?",
"Snimanje za %d minuta - svejedno iskljuèiti?",
"Salvestamine algab %d minuti pärast - lülitan välja?",
+ "Optagelse om %d minutter - sluk alligevel?",
},
{ "Press any key to cancel shutdown",
"Taste drücken um Shutdown abzubrechen",
@@ -1163,6 +1218,7 @@ const tI18nPhrase Phrases[] = {
"½ÐÖÜØâÕ ÛîÑãî ÚÝÞßÚã çâÞÑë ÞâÜÕÝØâì ÒëÚÛîçÕÝØÕ.",
"Pritisnite tipku ako ne ¾elite ugasiti sistem",
"Vajuta suvalist klahvi väljalülitamise tühistamiseks",
+ "Tryk vilkårlig tast for at annullere sluk",
},
// Channel parameters:
{ "Name",
@@ -1184,6 +1240,7 @@ const tI18nPhrase Phrases[] = {
"½Ð×ÒÐÝØÕ",
"Naziv",
"Nimi",
+ "Navn",
},
{ "Frequency",
"Frequenz",
@@ -1204,6 +1261,7 @@ const tI18nPhrase Phrases[] = {
"ÇÐáâÞâÐ",
"Frekvencija",
"Sagedus",
+ "Frekvens",
},
{ "Polarization",
"Polarisation",
@@ -1224,6 +1282,7 @@ const tI18nPhrase Phrases[] = {
"¿ÞÛïàØ×ÐæØï",
"Polarizacija",
"Polarisatsioon",
+ "Polarisation",
},
{ "Source",
"Quelle",
@@ -1244,6 +1303,7 @@ const tI18nPhrase Phrases[] = {
"¸áâÞçÝØÚ",
"Izvor",
"Allikas",
+ "Kilde",
},
{ "Srate",
"Srate",
@@ -1264,6 +1324,7 @@ const tI18nPhrase Phrases[] = {
"ÁØÜÒ. áÚÞàÞáâì",
"Srate", // hrv
"Srate",
+ "Srate",
},
{ "Vpid",
"Vpid",
@@ -1284,6 +1345,7 @@ const tI18nPhrase Phrases[] = {
"Vpid (ÒØÔÕÞ)",
"Vpid",
"Vpid",
+ "Vpid",
},
{ "Ppid",
"Ppid",
@@ -1304,6 +1366,7 @@ const tI18nPhrase Phrases[] = {
"Ppid",
"Ppid",
"Ppid",
+ "Ppid",
},
{ "Apid1",
"Apid1",
@@ -1324,6 +1387,7 @@ const tI18nPhrase Phrases[] = {
"Apid1 (ÐãÔØÞ 1)",
"Apid1", // hrv
"Apid1",
+ "Apid1",
},
{ "Apid2",
"Apid2",
@@ -1344,6 +1408,7 @@ const tI18nPhrase Phrases[] = {
"Apid2 (ÐãÔØÞ 2)",
"Apid2", // hrv
"Apid2",
+ "Apid2",
},
{ "Dpid1",
"Dpid1",
@@ -1364,6 +1429,7 @@ const tI18nPhrase Phrases[] = {
"Dpid1 (AC3 1)",
"Dpid1", // hrv
"Dpid1",
+ "Dpid1",
},
{ "Dpid2",
"Dpid2",
@@ -1384,6 +1450,7 @@ const tI18nPhrase Phrases[] = {
"Dpid2 (AC3 2)",
"Dpid2", // hrv
"Dpid2",
+ "Dpid2",
},
{ "Tpid",
"Tpid",
@@ -1404,6 +1471,7 @@ const tI18nPhrase Phrases[] = {
"Tpid (âÕÛÕâÕÚáâ)",
"Tpid", // hrv
"Tpid",
+ "Tpid",
},
{ "CA",
"CA",
@@ -1424,6 +1492,7 @@ const tI18nPhrase Phrases[] = {
"CA (ÔÕÚÞÔÕà)",
"Kodiranje (CA)",
"CA",
+ "CA",
},
{ "Sid",
"Sid",
@@ -1444,6 +1513,7 @@ const tI18nPhrase Phrases[] = {
"Sid",
"Sid", // hrv
"Sid",
+ "Sid",
},
{ "Inversion",
"Inversion",
@@ -1464,6 +1534,7 @@ const tI18nPhrase Phrases[] = {
"¸ÝÒÕàáØï",
"Inverzija",
"Inversioon",
+ "Inversion",
},
{ "Bandwidth",
"Bandwidth",
@@ -1484,6 +1555,7 @@ const tI18nPhrase Phrases[] = {
"´ØÐßÐ×ÞÝ",
"Bandwidth", // hrv "Pojasna ¹irina",
"Ribalaius",
+ "Båndbredde",
},
{ "CoderateH",
"CoderateH",
@@ -1504,6 +1576,7 @@ const tI18nPhrase Phrases[] = {
"CoderateH",
"CoderateH", // hrv
"CoderateH",
+ "CoderateH",
},
{ "CoderateL",
"CoderateL",
@@ -1524,6 +1597,7 @@ const tI18nPhrase Phrases[] = {
"CoderateL",
"CoderateL", // hrv
"CoderateL",
+ "CoderateL",
},
{ "Modulation",
"Modulation",
@@ -1544,6 +1618,7 @@ const tI18nPhrase Phrases[] = {
"¼ÞÔãÛïæØï",
"Modulacija",
"Modulatsioon",
+ "Modulation",
},
{ "Transmission",
"Transmission",
@@ -1564,6 +1639,7 @@ const tI18nPhrase Phrases[] = {
"¿ÕàÕÔÐçÐ",
"Prijenos",
"Transmissioon",
+ "Transmission",
},
{ "Guard",
"Guard",
@@ -1584,6 +1660,7 @@ const tI18nPhrase Phrases[] = {
"·ÐéØâÐ",
"Za¹tita",
"Guard",
+ "Guard",
},
{ "Hierarchy",
"Hierarchy",
@@ -1604,6 +1681,7 @@ const tI18nPhrase Phrases[] = {
"¸ÕàÐàåØï",
"Hijerarhija",
"Hierarhia",
+ "Hierarki",
},
// Timer parameters:
{ "Active",
@@ -1625,6 +1703,7 @@ const tI18nPhrase Phrases[] = {
"°ÚâØÒØàÞÒÐÝ",
"Aktivan",
"Aktiivne",
+ "Aktiv",
},
{ "Channel",
"Kanal",
@@ -1645,6 +1724,7 @@ const tI18nPhrase Phrases[] = {
"ºÐÝÐÛ",
"Program",
"Kanal",
+ "Kanal",
},
{ "Day",
"Tag",
@@ -1665,6 +1745,7 @@ const tI18nPhrase Phrases[] = {
"´ÕÝì",
"Dan",
"Päev",
+ "Dag",
},
{ "Start",
"Anfang",
@@ -1685,6 +1766,7 @@ const tI18nPhrase Phrases[] = {
"½ÐçÐÛÞ",
"Poèetak",
"Start",
+ "Start",
},
{ "Stop",
"Ende",
@@ -1705,6 +1787,7 @@ const tI18nPhrase Phrases[] = {
"ºÞÝÕæ",
"Kraj",
"Stopp",
+ "Stop",
},
{ "VPS",
"VPS",
@@ -1725,6 +1808,7 @@ const tI18nPhrase Phrases[] = {
"VPS ßÞßàÐÒÚÐ",
"VPS", // hrv
"VPS",
+ "VPS",
},
{ "Priority",
"Priorität",
@@ -1745,6 +1829,7 @@ const tI18nPhrase Phrases[] = {
"¿àØÞàØâÕâ",
"Prioritet",
"Prioriteet",
+ "Prioritet",
},
{ "Lifetime",
"Lebensdauer",
@@ -1765,6 +1850,7 @@ const tI18nPhrase Phrases[] = {
"ÁàÞÚ åàÐÝÕÝØï",
"Trajanje",
"Eluiga",
+ "Levetid",
},
{ "File",
"Datei",
@@ -1785,6 +1871,7 @@ const tI18nPhrase Phrases[] = {
"ÄÐÙÛ",
"Datoteka",
"Fail",
+ "Fil",
},
{ "First day",
"Erster Tag",
@@ -1805,6 +1892,7 @@ const tI18nPhrase Phrases[] = {
"¿ÕàÒëÙ ÔÕÝì",
"Prvi dan",
"Esimene päev",
+ "Første dag",
},
// Error messages:
{ "Channel is being used by a timer!",
@@ -1826,6 +1914,7 @@ const tI18nPhrase Phrases[] = {
"ºÐÝÐÛ ×ÐÝïâ âÐÙÜÕàÞÜ!",
"Program je trenutno zauzet terminom za snimanje",
"Kanal on taimeri kasutuses!",
+ "Kanal anvendes af en timer!",
},
{ "Can't switch channel!",
"Kanal kann nicht umgeschaltet werden!",
@@ -1846,6 +1935,7 @@ const tI18nPhrase Phrases[] = {
"½ÕÒÞ×ÜÞÖÝÞ ßÕàÕÚÛîçØâì ÚÐÝÐÛ!",
"Ne mogu prebaciti program!",
"Kanali vahetus ei ole võimalik!",
+ "Kan ikke skifte kanal!",
},
{ "Timer is recording!",
"Timer zeichnet gerade auf!",
@@ -1866,6 +1956,7 @@ const tI18nPhrase Phrases[] = {
"¸Ôñâ ×ÐßØáì ßÞ âÐÙÜÕàã!",
"Snimanje po definiranom terminu!",
"Taimeri salvestamine!",
+ "Timer optager nu!",
},
{ "Error while accessing recording!",
"Fehler beim Ansprechen der Aufzeichnung!",
@@ -1886,6 +1977,7 @@ const tI18nPhrase Phrases[] = {
"¾èØÑÚÐ ÔÞáâãßÐ Ú ×ÐßØáØ!",
"Gre¹ka pri pristupanju snimke!",
"Salvestuse taasesitus ebaõnnestus!",
+ "Fejl ved læsning af optagelse!",
},
{ "Error while deleting recording!",
"Fehler beim Löschen der Aufzeichnung!",
@@ -1906,6 +1998,7 @@ const tI18nPhrase Phrases[] = {
"¾èØÑÚÐ ãÔÐÛÕÝØï ×ÐßØáØ!",
"Gre¹ka pri brisanju snimke!",
"Salvestuse kustutamine ebaõnnestus!",
+ "Fejl ved sletning af optagelse!",
},
{ "*** Invalid Channel ***",
"*** Ungültiger Kanal ***",
@@ -1926,6 +2019,7 @@ const tI18nPhrase Phrases[] = {
"*** ½ÕßàÐÒØÛìÝëÙ ÚÐÝÐÛ ***",
"*** Neispravan program ***",
"*** Vigane kanal ***",
+ "*** Ugyldig kanal! ***",
},
{ "No free DVB device to record!",
"Keine freie DVB-Karte zum Aufnehmen!",
@@ -1946,6 +2040,7 @@ const tI18nPhrase Phrases[] = {
"½Õâ áÒÞÑÞÔÝÞÓÞ DVB-ãáâàÞÙáâÒÐ ÔÛï ×ÐßØáØ!",
"Nema slobodnog DVB ureðaja za snimanje!",
"Puudub vaba DVB seade salvestamiseks!",
+ "Ingen fri DVB enhed til optagelse!",
},
{ "Channel not available!",
"Kanal nicht verfügbar!",
@@ -1966,6 +2061,7 @@ const tI18nPhrase Phrases[] = {
"ºÐÝÐÛ ÝÕÔÞáâãßÕÝ!",
"Program nije dostupan!",
"Kanal ei ole kättesaadav!",
+ "Kanal er ikke tilgængelig!",
},
{ "Channel settings are not unique!",
"Kanaleinstellungen sind nicht eindeutig!",
@@ -1986,6 +2082,7 @@ const tI18nPhrase Phrases[] = {
"½ÐáâàÞÙÚØ ÚÐÝÐÛÐ ÝÕ ãÝØÚÐÛìÝë!",
"Parametri programa nisu jednoznaèni!",
"Kanaliseaded ei ole unikaalsed!",
+ "Kanalindstillinger er ikke entydige!",
},
{ "Channel locked (recording)!",
"Kanal blockiert (zeichnet auf)!",
@@ -2006,6 +2103,7 @@ const tI18nPhrase Phrases[] = {
"ºÐÝÐÛ ×ÐÑÛÞÚØàÞÒÐÝ (ØÔñâ ×ÐßØáì)!",
"Program blokiran (snimanje)!",
"Kanal lukus (salvestamine aktiivne)!",
+ "Kanal blokeret (optagelse i gang)",
},
{ "Can't start Transfer Mode!",
"Transfer-Mode kann nicht gestartet werden!",
@@ -2026,6 +2124,7 @@ const tI18nPhrase Phrases[] = {
"½ÕÒÞ×ÜÞÖÝÞ ÒÚÛîçØâì àÕÖØÜ ßàÞßãáÚÐ!", // ???
"Ne mogu zapoèeti 'prijenosni' naèin!",
"Siirdemooduse start ebaõnnestus!",
+ "Kan ikke starte Transfer Mode!",
},
{ "No editing marks defined!",
"Keine Schnittmarken gesetzt!",
@@ -2046,6 +2145,7 @@ const tI18nPhrase Phrases[] = {
"½Õ ×ÐÔÐÝë ÜÕâÚØ ÔÛï ÜÞÝâÐÖÐ!",
"Nijedna prekidna toèka nije postavljena!",
"Redigeerimise markerid puuduvad!",
+ "Der er ikke sat nogen redigeringsmærker!",
},
{ "Can't start editing process!",
"Schnitt kann nicht gestartet werden!",
@@ -2066,6 +2166,7 @@ const tI18nPhrase Phrases[] = {
"½ÕÒÞ×ÜÞÖÝÞ ÝÐçÐâì ÜÞÝâÐÖ ×ÐßØáØ!",
"Ne mogu zapoèeti ureðivanje!",
"Redigeerimise start ebaõnnestus!",
+ "Kan ikke starte redigeringsprocessen!",
},
{ "Editing process already active!",
"Schnitt bereits aktiv!",
@@ -2086,6 +2187,7 @@ const tI18nPhrase Phrases[] = {
"¿àÞæÕáá ÒØÔÕÞÜÞÝâÐÖÐ ãÖÕ ×ÐßãéÕÝ!",
"Ureðivanje je veæ aktivirano!",
"Redigeerimine on juba aktiivne!",
+ "Redigeringsproces er allerede aktiv!",
},
{ "Can't shutdown - option '-s' not given!",
"Shutdown unmöglich - Option '-s' fehlt!",
@@ -2106,6 +2208,7 @@ const tI18nPhrase Phrases[] = {
"²ëÚÛîçÕÝØÕ ÝÕÒÞ×ÜÞÖÝÞ - ÝÕ ×ÐÔÐÝ ßÐàÐÜÕâà '-s'!",
"Ga¹enje nemoguæe - nedostaje opcija '-s'!",
"Väljalülitamine ebaõnnestus - '-s' parameeter puudub!",
+ "Kan ikke slukke - parameter '-s' ikke angivet!",
},
{ "Low disk space!",
"Platte beinahe voll!",
@@ -2126,6 +2229,7 @@ const tI18nPhrase Phrases[] = {
"½ÕÔÞáâÐâÞçÝÞ ÜÕáâÐ ÝÐ ÔØáÚÕ!",
"Nedovoljno prostora na disku",
"Kõvaketas peaaegu täis!",
+ "Kun lidt diskplads tilbage!",
},
{ "Can't open CAM menu!",
"CAM-Menü kann nicht geöffnet werden!",
@@ -2146,6 +2250,7 @@ const tI18nPhrase Phrases[] = {
"¼ÕÝî CAM-ÜÞÔãÛï ÝÕÔÞáâãßÝÞ!",
"Ne mogu otvoriti CAM izbor!",
"Ei saa avada CAM menüüd!",
+ "Kan ikke åbne CAM menuen!",
},
{ "Can't reset CAM!",
"CAM-Reset fehlgeschlagen!",
@@ -2166,6 +2271,7 @@ const tI18nPhrase Phrases[] = {
"¾èØÑÚÐ ßÕàÕ×ÐßãáÚÐ CAM-ÜÞÔãÛï!",
"Ne mogu resetirati CAM",
"CAM mooduli taaskäivitus ebaõnnestus!",
+ "Kan ikke nulstille CAM!",
},
{ "CAM has been reset",
"CAM wurde zurückgesetzt!",
@@ -2186,6 +2292,7 @@ const tI18nPhrase Phrases[] = {
"CAM-ÜÞÔãÛì ßÕàÕ×ÐßãéÕÝ!",
"CAM je resetiran!",
"CAM mooduli taaskäivitus tehtud",
+ "CAM er blevet nulstillet",
},
// Setup pages:
{ "OSD",
@@ -2207,6 +2314,7 @@ const tI18nPhrase Phrases[] = {
"¼ÕÝî",
"OSD",
"Ekraanimenüü",
+ "OSD",
},
{ "EPG",
"EPG",
@@ -2227,6 +2335,7 @@ const tI18nPhrase Phrases[] = {
"ÂÕÛÕÓØÔ",
"Pregled emisija (EPG)",
"EPG",
+ "EPG",
},
{ "DVB",
"DVB",
@@ -2247,6 +2356,7 @@ const tI18nPhrase Phrases[] = {
"DVB",
"DVB",
"DVB",
+ "DVB",
},
{ "LNB",
"LNB",
@@ -2267,6 +2377,7 @@ const tI18nPhrase Phrases[] = {
"ºÞÝÒÕàâÕà",
"LNB",
"LNB",
+ "LNB",
},
{ "CICAM",
"CICAM",
@@ -2287,6 +2398,7 @@ const tI18nPhrase Phrases[] = {
"ÃáÛÞÒÝëÙ ÔÞáâãß",
"CICAM",
"CICAM",
+ "CICAM",
},
{ "Recording",
"Aufnahme",
@@ -2307,6 +2419,7 @@ const tI18nPhrase Phrases[] = {
"·ÐßØáì",
"Snimanje",
"Salvestamine",
+ "Optagelse",
},
{ "Replay",
"Wiedergabe",
@@ -2327,6 +2440,7 @@ const tI18nPhrase Phrases[] = {
"²ÞáßàÞØ×ÒÕÔÕÝØÕ",
"Reprodukcija",
"Taasesitus",
+ "Afspilning",
},
{ "Miscellaneous",
"Sonstiges",
@@ -2347,6 +2461,7 @@ const tI18nPhrase Phrases[] = {
"¿àÞçÕÕ",
"Ostalo",
"Muud sätted",
+ "Diverse",
},
{ "Plugins",
"Plugins",
@@ -2367,6 +2482,7 @@ const tI18nPhrase Phrases[] = {
"¼ÞÔãÛØ àÐáèØàÕÝØï",
"Dodaci (Plugins)",
"Laiendusmoodulid",
+ "Plugins",
},
{ "Plugin",
"Plugin",
@@ -2387,6 +2503,7 @@ const tI18nPhrase Phrases[] = {
"¼ÞÔãÛì",
"Plugin",
"Laiendusmoodul",
+ "Plugin",
},
{ "Restart",
"Neustart",
@@ -2407,6 +2524,7 @@ const tI18nPhrase Phrases[] = {
"¿ÕàÕ×ÐßãáâØâì",
"Restart sistema",
"Restart",
+ "Genstart",
},
// Setup parameters:
{ "Setup.OSD$Language",
@@ -2428,6 +2546,7 @@ const tI18nPhrase Phrases[] = {
"Ï×ëÚ",
"Jezik",
"Keel",
+ "Sprog",
},
{ "Setup.OSD$Skin",
"Oberfläche",
@@ -2448,6 +2567,7 @@ const tI18nPhrase Phrases[] = {
"ÁâØÛì",
"Povr¹ina",
"Kest",
+ "Skin",
},
{ "Setup.OSD$Theme",
"Thema",
@@ -2468,6 +2588,7 @@ const tI18nPhrase Phrases[] = {
"¿ÐÛØâàÐ",
"Tema",
"Teema",
+ "Tema",
},
{ "Setup.OSD$Left",
"Links",
@@ -2488,6 +2609,7 @@ const tI18nPhrase Phrases[] = {
"¾âáâãß áÛÕÒÐ",
"Lijevo",
"Vasakule",
+ "Venstre",
},
{ "Setup.OSD$Top",
"Oben",
@@ -2508,6 +2630,7 @@ const tI18nPhrase Phrases[] = {
"¾âáâãß áÒÕàåã",
"Gore",
"Ülesse",
+ "Top",
},
{ "Setup.OSD$Width",
"Breite",
@@ -2528,6 +2651,7 @@ const tI18nPhrase Phrases[] = {
"ÈØàØÝÐ",
"©irina",
"Laius",
+ "Bredde",
},
{ "Setup.OSD$Height",
"Höhe",
@@ -2548,6 +2672,7 @@ const tI18nPhrase Phrases[] = {
"²ëáÞâÐ",
"Visina",
"Kõrgus",
+ "Højde",
},
{ "Setup.OSD$Message time (s)",
"Anzeigedauer für Nachrichten (s)",
@@ -2568,6 +2693,7 @@ const tI18nPhrase Phrases[] = {
"´ÛØâÕÛìÝÞáâì ßÞÚÐ×Ð áÞÞÑéÕÝØÙ (áÕÚ)",
"Vrijeme prikaza poruka (s)",
"Kanaliteate esitusaeg (s)",
+ "Tid beskeder skal vises (s)",
},
{ "Setup.OSD$Use small font",
"Kleine Schrift benutzen",
@@ -2588,6 +2714,7 @@ const tI18nPhrase Phrases[] = {
"¸áßÞÛì×ÞÒÐâì ÜÕÛÚØÙ èàØäâ",
"Koristi mala slova",
"Väikese fondi kasutamine",
+ "Anvend lille skrift",
},
{ "never",
"nie",
@@ -2608,6 +2735,7 @@ const tI18nPhrase Phrases[] = {
"ÝØÚÞÓÔÐ",
"nikada",
"mitte kunagi",
+ "aldrig",
},
{ "skin dependent",
"je nach Oberfläche",
@@ -2628,6 +2756,7 @@ const tI18nPhrase Phrases[] = {
"áÞÓÛÐáÝÞ âÕÜÕ",
"ovisno o povr¹ini",
"kestast sõltuv",
+ "skin afhængig",
},
{ "always",
"immer",
@@ -2648,6 +2777,7 @@ const tI18nPhrase Phrases[] = {
"ÒáÕÓÔÐ",
"uvijek",
"alati",
+ "altid",
},
{ "Setup.OSD$Channel info position",
"Kanal-Info Position",
@@ -2668,6 +2798,7 @@ const tI18nPhrase Phrases[] = {
"¿ÞÛÞÖÕÝØÕ ÞÚÝÐ ØÝäÞàÜÐæØØ Þ ÚÐÝÐÛÕ",
"Pozicija informacije o programu",
"Kanaliinfo asukoht",
+ "Placering af kanalinfo",
},
{ "Setup.OSD$Info on channel switch",
"Info beim Kanalwechsel",
@@ -2688,6 +2819,7 @@ const tI18nPhrase Phrases[] = {
"¿ÞÚÐ×ëÒÐâì ØÝäÞàÜÐæØî Þ ÚÐÝÐÛÕ",
"Informacije kod promjene kanala",
"Näita kanaliteadet",
+ "Info ved kanalskift",
},
{ "Setup.OSD$Scroll pages",
"Seitenweise scrollen",
@@ -2708,6 +2840,7 @@ const tI18nPhrase Phrases[] = {
"¿àÞÚàãâÚÐ áâàÐÝØæ ÜÕÝî",
"Listaj po stranicama",
"Lehekülje kerimine",
+ "Rul sider",
},
{ "Setup.OSD$Sort timers",
"Timer sortieren",
@@ -2728,6 +2861,7 @@ const tI18nPhrase Phrases[] = {
"ÁÞàâØàÞÒÚÐ âÐÙÜÕàÞÒ",
"Sortiraj termine",
"Taimeri sorteerimine",
+ "Sorter timere",
},
{ "Setup.OSD$Recording directories",
"Aufnahmeverzeichnisse",
@@ -2748,6 +2882,7 @@ const tI18nPhrase Phrases[] = {
"ºÐâÐÛÞÓØ åàÐÝÕÝØï ×ÐßØáÕÙ",
"Imenik za snimke",
"Salvesta kausta nime",
+ "Optagelser i foldere",
},
{ "Setup.EPG$EPG scan timeout (h)",
"Zeit bis EPG Scan (h)",
@@ -2768,6 +2903,7 @@ const tI18nPhrase Phrases[] = {
"·ÐÔÕàÖÚÐ áÚÐÝØàÞÒÐÝØï âÕÛÕÓØÔÐ (ç)",
"Vrijeme do EPG pregleda (h)",
"EPG skaneerimise viide (h)",
+ "Tid før EPG skanning (t)",
},
{ "Setup.EPG$EPG bugfix level",
"EPG Fehlerbereinigung",
@@ -2788,6 +2924,7 @@ const tI18nPhrase Phrases[] = {
"ÃàÞÒÕÝì ÚÞààÕÚæØØ ÞèØÑÞÚ",
"Nivo popravka EPG gre¹aka",
"EPG veaparanduse tase",
+ "Niveau for EPG fejlrettelse",
},
{ "Setup.EPG$EPG linger time (min)",
"Alte EPG-Daten anzeigen (min)",// TODO
@@ -2808,6 +2945,7 @@ const tI18nPhrase Phrases[] = {
"ÅàÐÝÕÝØÕ ãáâÐàÕÒèØå ÔÐÝÝëå (ÜØÝ)",
"Prika¾i stare EPG podatke (min)",
"Vana EPG viide (min)",
+ "Vise gammel EPG info (min)",
},
{ "Setup.EPG$Set system time",
"Systemzeit stellen",
@@ -2828,6 +2966,7 @@ const tI18nPhrase Phrases[] = {
"ÃáâÐÝÞÒØâì áØáâÕÜÝÞÕ ÒàÕÜï",
"Podesi vrijeme sistema",
"Kella sünkroniseerimine",
+ "Indstil system tid",
},
{ "Setup.EPG$Use time from transponder",
"Transponder für Systemzeit",
@@ -2848,6 +2987,7 @@ const tI18nPhrase Phrases[] = {
"¸áßÞÛì×ÞÒÐâì ÒàÕÜï âàÐÝáßÞÝÔÕàÐ",
"Transponder za pode¹avanje sata",
"Kella sünkroniseerimise transponder",
+ "Anvend tid fra transponder",
},
{ "Setup.EPG$Preferred languages", // note the plural
"Bevorzugte Sprachen",
@@ -2868,6 +3008,7 @@ const tI18nPhrase Phrases[] = {
"¿àÕÔßÞçØâÐÕÜëÕ ï×ëÚØ",
"Preferirani jezici",
"Eelistatuid keeli",
+ "Foretrukne sprog",
},
{ "Setup.EPG$Preferred language", // note the singular
"Bevorzugte Sprache",
@@ -2888,6 +3029,7 @@ const tI18nPhrase Phrases[] = {
"²ëÑàÐÝ",
"Preferirani jezik",
"Eelistatud keel",
+ "Foretrukket sprog",
},
{ "Setup.DVB$Primary DVB interface",
"Primäres DVB Interface",
@@ -2908,6 +3050,7 @@ const tI18nPhrase Phrases[] = {
"¾áÝÞÒÝÞÕ DVB-ãáâàÞÙáâÒÞ",
"Primarni DVB ureðaj",
"Esmane DVB seade",
+ "Primær DVB enhed",
},
{ "Setup.DVB$Video format",
"Video Format",
@@ -2928,6 +3071,7 @@ const tI18nPhrase Phrases[] = {
"ÄÞàÜÐâ ÒØÔÕÞ",
"Video format",
"TV külgsuhe",
+ "Video format",
},
{ "Setup.DVB$Update channels",
"Kanäle aktualisieren",
@@ -2948,6 +3092,7 @@ const tI18nPhrase Phrases[] = {
"¾ÑÝÞÒÛïâì ÝÐáâàÞÙÚØ ÚÐÝÐÛÞÒ",
"Aktualiziraj programe",
"Kanalite uuendamine",
+ "Opdatér kanaler",
},
{ "names only",
"nur Namen",
@@ -2968,6 +3113,7 @@ const tI18nPhrase Phrases[] = {
"âÞÛìÚÞ ÝÐ×ÒÐÝØï",
"samo imena",
"ainult nimed",
+ "kun navne",
},
{ "names and PIDs",
"Namen und PIDs",
@@ -2988,6 +3134,7 @@ const tI18nPhrase Phrases[] = {
"ÝÐ×ÒÐÝØï Ø PIDë",
"imena i identifikatore (PIDs)",
"nimed ja PID-id",
+ "navne og PIDs",
},
{ "add new channels",
"neue Kanäle hinzufügen",
@@ -3008,6 +3155,7 @@ const tI18nPhrase Phrases[] = {
"ÝÞÒëÕ ÚÐÝÐÛë",
"dodaj nove programe",
"lisa uued kanalid",
+ "tilf. ny kanaler",
},
{ "add new transponders",
"neue Transponder hinzufügen",
@@ -3028,6 +3176,7 @@ const tI18nPhrase Phrases[] = {
"ÝÞÒ. âàÐÝáßÞÝÔÕàë",
"dodaj nove transpondere", // hrv TODO transponderi == odasiljaèi?
"lisa uued transponderid",
+ "tilf. ny transp.",
},
{ "Setup.LNB$SLOF (MHz)",
"SLOF (MHz)",
@@ -3048,6 +3197,7 @@ const tI18nPhrase Phrases[] = {
"ÇÐáâÞâÐ ßÕàÕÚÛîçÕÝØï (SLOF) (¼³æ)",
"Frekv. preklopa SLOF (MHz)",
"SLOF (MHz)",
+ "SLOF (MHz)",
},
{ "Setup.LNB$Low LNB frequency (MHz)",
"Untere LNB-Frequenz (MHz)",
@@ -3068,6 +3218,7 @@ const tI18nPhrase Phrases[] = {
"½ØÖÝïï çÐáâÞâÐ ÚÞÝÒÕàâÕàÐ (¼³æ)",
"Donja LNB frekv. (MHz)",
"Alumine (LO) LNB sagedus (MHz)",
+ "Nedre LNB frekvens (MHz)",
},
{ "Setup.LNB$High LNB frequency (MHz)",
"Obere LNB-Frequenz (MHz)",
@@ -3088,6 +3239,7 @@ const tI18nPhrase Phrases[] = {
"²ÕàåÝïï çÐáâÞâÐ ÚÞÝÒÕàâÕàÐ (¼³æ)",
"Gornja LNB frekv. (MHz)",
"Ülemine (HI) LNB sagedus (MHz)",
+ "Øvre LNB frekvens (MHz)",
},
{ "Setup.LNB$Use DiSEqC",
"DiSEqC benutzen",
@@ -3108,6 +3260,7 @@ const tI18nPhrase Phrases[] = {
"¸áßÞÛì×ÞÒÐâì DiSEqC",
"Koristi DiSEqC",
"DiSEqC kasutamine",
+ "Anvend DiSEqC",
},
{ "Setup.CICAM$CICAM DVB",
"CICAM DVB",
@@ -3128,6 +3281,7 @@ const tI18nPhrase Phrases[] = {
"CAM-ÜÞÔãÛì DVB",
"CICAM DVB",
"CICAM DVB",
+ "CICAM DVB",
},
{ "Setup.Recording$Margin at start (min)",
"Zeitpuffer bei Anfang (min)",
@@ -3148,6 +3302,7 @@ const tI18nPhrase Phrases[] = {
"¾ßÕàÕÖÕÝØÕ ÝÐçÐÛÐ ×ÐßØáØ (ÜØÝ)",
"Rezerva na poèetku snimanja (min)",
"Salvestamise algusvaru (min)",
+ "Margin ved start (min)",
},
{ "Setup.Recording$Margin at stop (min)",
"Zeitpuffer bei Ende (min)",
@@ -3168,6 +3323,7 @@ const tI18nPhrase Phrases[] = {
"·ÐßÐ×ÔëÒÐÝØÕ ÞáâÐÝÞÒÚØ ×ÐßØáØ (ÜØÝ)",
"Rezerva na kraju (min)",
"Salvestamise lõpuvaru (min)",
+ "Margin ved stop (min)",
},
{ "Setup.Recording$Primary limit",
"Primär-Limit",
@@ -3188,6 +3344,7 @@ const tI18nPhrase Phrases[] = {
"¼ØÝ. ßàØÞàØâÕâ ×ÐåÒÐâÐ ÞáÝ. ãáâàÞÙáâÒÐ",
"Standardno ogranièenje",
"Esmase seadme prioriteet",
+ "Primær grænse",
},
{ "Setup.Recording$Default priority",
"Default Priorität",
@@ -3208,6 +3365,7 @@ const tI18nPhrase Phrases[] = {
"¿àØÞàØâÕâ âÐÙÜÕàÐ ßÞ ãÜÞÛçÐÝØî",
"Standardni prioritet",
"Vaikimisi prioriteet",
+ "Standard prioritet",
},
{ "Setup.Recording$Default lifetime (d)",
"Default Lebensdauer (d)",
@@ -3228,6 +3386,7 @@ const tI18nPhrase Phrases[] = {
"ÁàÞÚ åàÐÝÕÝØï ×ÐßØáØ ßÞ ãÜÞÛçÐÝØî (Ô)",
"Standardno trajanje (d)",
"Salvestuse eluiga (päevi)",
+ "Standard levetid (d)",
},
{ "Setup.Recording$Pause priority",
"Pause Priorität",
@@ -3248,6 +3407,7 @@ const tI18nPhrase Phrases[] = {
"¿àØÞàØâÕâ ÞâÛÞÖÕÝÝÞÓÞ ßàÞáÜÞâàÐ",
"Prioritet pauze",
"Pausi prioriteet",
+ "Pause prioritet",
},
{ "Setup.Recording$Pause lifetime (d)",
"Pause Lebensdauer (d)",
@@ -3268,6 +3428,7 @@ const tI18nPhrase Phrases[] = {
"ÅàÐÝÕÝØÕ ÞâÛÞÖÕÝÝÞÓÞ ßàÞáÜÞâàÐ (Ô)",
"Trajanje pauze (d)",
"Pausi eluiga (päevi)",
+ "Pause levetid (d)",
},
{ "Setup.Recording$Use episode name",
"Episodenname verwenden",
@@ -3288,6 +3449,7 @@ const tI18nPhrase Phrases[] = {
"³àãßßØàÞÒÐâì äÐÙÛë ßÞ íßØ×ÞÔÐÜ",
"Koristi ime epizode",
"Kasuta episoodi nime",
+ "Anvend udsendelsesnavn",
},
{ "Setup.Recording$Use VPS",
"VPS benutzen",
@@ -3308,6 +3470,7 @@ const tI18nPhrase Phrases[] = {
"¸áßÞÛì×ÞÒÐâì áØÓÝÐÛë VPS",
"Koristi VPS",
"Kasuta VPS-i",
+ "Anvend VPS",
},
{ "Setup.Recording$VPS margin (s)",
"Zeitpuffer bei VPS (s)",
@@ -3328,6 +3491,7 @@ const tI18nPhrase Phrases[] = {
"±ãäÕàÝÞÕ ÒàÕÜï VPS (áÕÚ)",
"Vremenska rezerva kod VPS (s)",
"VPS-i algusvaru (s)",
+ "VPS margin (s)",
},
{ "Setup.Recording$Mark instant recording",
"Direktaufzeichnung markieren",
@@ -3348,6 +3512,7 @@ const tI18nPhrase Phrases[] = {
"¾âÜÕçÐâì áÔÕÛÐÝÝëÕ ÒàãçÝãî ×ÐßØáØ",
"Oznaèi direktno snimanje",
"Märgista otsesalvestusi",
+ "Markér direkte optagelse",
},
{ "Setup.Recording$Name instant recording",
"Direktaufzeichnung benennen",
@@ -3368,6 +3533,7 @@ const tI18nPhrase Phrases[] = {
"ÁåÕÜÐ ØÜÕÝÞÒÐÝØï àãçÝëå ×ÐßØáÕÙ",
"Imenuj direktno snimanje",
"Otsesalvestuse nimi",
+ "Navngiv direkte optagelse",
},
{ "Setup.Recording$Instant rec. time (min)",
"Dauer der Direktaufzeichnung (min)",
@@ -3388,6 +3554,7 @@ const tI18nPhrase Phrases[] = {
"´ÛØâÕÛìÝÞáâì àãçÝÞÙ ×ÐßØáØ (ÜØÝ)",
"Trajanje direktnog snimanja (min)",
"Otsesalvestuse kestus (min)",
+ "Længde af direkte optagelse (min)",
},
{ "Setup.Recording$Record Dolby Digital",
"Dolby Digital Ton aufzeichnen",
@@ -3408,6 +3575,7 @@ const tI18nPhrase Phrases[] = {
"·ÐßØáëÒÐâì ×ÒãÚ Dolby Digital",
"Snimi 'Dolby digital' ton",
"Dolby Digital salvestamine",
+ "Optag Dolby Digital lyd",
},
{ "Setup.Recording$Max. video file size (MB)",
"Max. Video Dateigröße (MB)",
@@ -3428,6 +3596,7 @@ const tI18nPhrase Phrases[] = {
"¼ÐÚá. àÐ×ÜÕà ÒØÔÕÞäÐÙÛÐ (¼Ñ)",
"Maksimalna velièina datoteke (MB)",
"Maksimaalne failisuurus (MB)",
+ "Max. video filstørrelse (MB)",
},
{ "Setup.Recording$Split edited files",
"Editierte Dateien aufteilen",
@@ -3448,6 +3617,7 @@ const tI18nPhrase Phrases[] = {
"´ÕÛØâì ÞâàÕÔÐÚâØàÞÒÐÝÝëÕ äÐÙÛë",
"Podijeli ureðene datoteke",
"Tükelda redigeeritud faile",
+ "Opdel redigerede filer",
},
{ "Setup.Replay$Multi speed mode",
"MultiSpeed Modus",
@@ -3468,6 +3638,7 @@ const tI18nPhrase Phrases[] = {
"¼ÝÞÓÞáÚÞàÞáâÝÞÙ àÕÖØÜ",
"MultiSpeed naèin",
"Multi-kiiruse moodus",
+ "Multi hastighedsmodus",
},
{ "Setup.Replay$Show replay mode",
"Wiedergabestatus anzeigen",
@@ -3488,6 +3659,7 @@ const tI18nPhrase Phrases[] = {
"¾âÞÑàÐÖÐâì àÕÖØÜ ÒÞáßàÞØ×ÒÕÔÕÝØï", // ???
"Prika¾i naèin prikazivanja",
"Korduse moodus",
+ "Vis afspilningsmodus",
},
{ "Setup.Replay$Resume ID",
"Wiedergabe ID",
@@ -3508,6 +3680,7 @@ const tI18nPhrase Phrases[] = {
"ID ÒÞáßàÞØ×ÒÕÔÕÝØï", // ???
"ID nastavka",
"Jätkamise ID",
+ "Genoptagelses ID",
},
{ "Setup.Miscellaneous$Min. event timeout (min)",
"Mindest Event Pause (min)",
@@ -3528,6 +3701,7 @@ const tI18nPhrase Phrases[] = {
"¼ØÝ. ÒàÕÜï ÞÖØÔÐÝØï áÞÑëâØï (ÜØÝ)",
"Najmanje vrijeme pauze",
"Min. sündmuse kestus (min)",
+ "Mindste hændelsespause (min)",
},
{ "Setup.Miscellaneous$Min. user inactivity (min)",
"Mindest Benutzer-Inaktivität (min)",
@@ -3548,6 +3722,7 @@ const tI18nPhrase Phrases[] = {
"¼ØÝ. ÒàÕÜï ÞÖØÔÐÝØï ÒÒÞÔÐ (ÜØÝ)",
"Najmanje vrijeme neaktivnosti (min)",
"Min. kasutaja tegevusetus (min)",
+ "Min. bruger inaktivitet (min)",
},
{ "Setup.Miscellaneous$SVDRP timeout (s)",
"SVDRP Timeout (s)",
@@ -3568,6 +3743,7 @@ const tI18nPhrase Phrases[] = {
"·ÐÔÕàÖÚÐ ÞÑàëÒÐ áÞÕÔ. SVDRP (áÕÚ)",
"SVDRP vrijeme neaktivnosti",
"SVDRP ooteaeg (s)",
+ "SVDRP timeout (s)",
},
{ "Setup.Miscellaneous$Zap timeout (s)",
"Zap Timeout (s)",
@@ -3588,6 +3764,7 @@ const tI18nPhrase Phrases[] = {
"·ÐÔÕàÖÚÐ ßÕàÕÚÛîçÕÝØï ÚÐÝÐÛÐ (áÕÚ)",
"",// hrv TODO
"Kanalivahetuse ooteaeg (s)",
+ "Zap timeout (s)",
},
// The days of the week:
{ "MTWTFSS",
@@ -3609,6 +3786,7 @@ const tI18nPhrase Phrases[] = {
"¿²ÁÇ¿²Á",
"PUSÈPSN", // hrv
"ETKNRLP",
+ "MTOTFLS",
},
{ "MonTueWedThuFriSatSun", // must all be 3 letters!
"MonDieMitDonFreSamSon",
@@ -3629,6 +3807,7 @@ const tI18nPhrase Phrases[] = {
"¿ÞݲâàÁàÔÇâÒ¿âÝÁãѲáÚ",
"PonUtoSriÈetPetSubNed", // hrv
" E T K N R L P ",
+ "ManTirOnsTorFreLørSøn",
},
// The allowed characters in strings:
{ " abcdefghijklmnopqrstuvwxyz0123456789-.#~",
@@ -3650,6 +3829,7 @@ const tI18nPhrase Phrases[] = {
" abcdefghijklmnopqrstuvwxyzÐÑÒÓÔÕñÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìîï0123456789-.#~",
" abcèædðefghijklmnopqrs¹tuvwxyz¾0123456789-.#~", // hrv
" abcdefghijklmnopqrsðzþtuvwõäöüxyå0123456789-.#~",
+ " abcdefghijklmnopqrstuvwxyzæøå0123456789-.#~",
},
// Learning keys:
{ "Learning Remote Control Keys",
@@ -3671,6 +3851,7 @@ const tI18nPhrase Phrases[] = {
"²ÒÞÔ ÚÞÔÞÒ ÚÝÞßÞÚ ßãÛìâÐ",
"Uèenje kôda daljinskog upravljaèa",
"Kaugjuhtimispuldi õpetamine",
+ "Lærer fjernbetjeningstaster",
},
{ "Phase 1: Detecting RC code type",
"Phase 1: FB Code feststellen",
@@ -3691,6 +3872,7 @@ const tI18nPhrase Phrases[] = {
"ÈÐÓ 1: ¾ßàÕÔÕÛÕÝØÕ âØßÐ ÚÞÔÐ ßãÛìâÐ",
"Faza 1: detektiranje kôda daljinskog upravljaèa.",
"Aste 1: Koodeerimissüsteemi tuvastamine",
+ "Fase 1: Detekterer fjernbetjenings-kodetype",
},
{ "Press any key on the RC unit",
"Eine Taste auf der FB drücken",
@@ -3711,6 +3893,7 @@ const tI18nPhrase Phrases[] = {
"½ÐÖÜØâÕ ÛîÑãî ÚÝÞßÚã ÝÐ ßãÛìâÕ",
"Pritisnite tipku na daljinskom upravljaèu",
"Vajuta puldil suvalist klahvi",
+ "Tryk vilkårlig tast på fjernbetjeningen",
},
{ "RC code detected!",
"FB Code erkannt!",
@@ -3731,6 +3914,7 @@ const tI18nPhrase Phrases[] = {
"¾ÑÝÐàãÖÕÝ ÚÞÔ ßãÛìâÐ!",
"Kôd daljinskog upravljaèa je prepoznat!",
"Koodeerimissüsteem tuvastatud!",
+ "Fjernbetjenings-kodetype fundet!",
},
{ "Do not press any key...",
"Keine Taste drücken...",
@@ -3751,6 +3935,7 @@ const tI18nPhrase Phrases[] = {
"½Õ ÝÐÖØÜÐÙâÕ ÚÝÞßÚØ...",
"Ne pritiskajte tipku...",
"Ära vajuta puldil ühtki klahvi...",
+ "Tryk ikke på nogen tast...",
},
{ "Phase 2: Learning specific key codes",
"Phase 2: Einzelne Tastencodes lernen",
@@ -3771,6 +3956,7 @@ const tI18nPhrase Phrases[] = {
"ÈÐÓ 2: ·ÐÔÐÝØÕ ÚÞÔÞÒ ÞâÔÕÛìÝëå ÚÝÞßÞÚ",
"Faza 2: Uèenje posebnih kôdova",
"Aste 2: Klahvide õpetamine",
+ "Fase 2: Lær individuelle tast koder",
},
{ "Press key for '%s'",
"Taste für '%s' drücken",
@@ -3791,6 +3977,7 @@ const tI18nPhrase Phrases[] = {
"½ÐÖÜØâÕ ÚÝÞßÚã '%s'",
"Pritisnite tipku za '%s'",
"Vajuta klahvile '%s'",
+ "Tryk tasten for '%s'",
},
{ "Press 'Up' to confirm",
"'Auf' drücken zum Bestätigen",
@@ -3811,6 +3998,7 @@ const tI18nPhrase Phrases[] = {
"½ÐÖÜØâÕ '²ÒÕàå' çâÞÑë ßÞÔâÒÕàÔØâì",
"Pritisnite 'Gore' za potvrdu",
"Kinnitamiseks vajuta 'Üles'",
+ "Tryk 'Op' for at bekræfte",
},
{ "Press 'Down' to continue",
"'Ab' drücken zum Weitermachen",
@@ -3831,6 +4019,7 @@ const tI18nPhrase Phrases[] = {
"½ÐÖÜØâÕ '²ÝØ×' çâÞÑë ßàÞÔÞÛÖØâì",
"Pritisnite 'Dolje' za nastavak",
"Jätkamiseks vajuta 'Alla'",
+ "Tryk 'Ned' for at fortsætte",
},
{ "(press 'Up' to go back)",
"('Auf' drücken um zurückzugehen)",
@@ -3851,6 +4040,7 @@ const tI18nPhrase Phrases[] = {
"(½ÐÖÜØâÕ '²ÒÕàå' çâÞÑë ÒÕàÝãâìáï)",
"(pritisnite 'Gore' za nazad)",
"(tagasiminekuks vajuta 'Üles')",
+ "(tryk 'Op' for at gå tilbage)",
},
{ "(press 'Down' to end key definition)",
"('Ab' drücken zum Beenden)",
@@ -3871,6 +4061,7 @@ const tI18nPhrase Phrases[] = {
"(½ÐÖÜØâÕ '²ÝØ×' çâÞÑë ×ÐÚÞÝçØâì ÝÐáâàÞÙÚã ßãÛìâÐ)",
"(pritisnite 'Dolje' za kraj)",
"(lõpetamiseks vajuta 'Alla')",
+ "(tryk 'Ned' for at afslutte indlæringen)",
},
{ "(press 'Menu' to skip this key)",
"('Menü' drücken zum Überspringen)",
@@ -3891,6 +4082,7 @@ const tI18nPhrase Phrases[] = {
"(½ÐÖÜØâÕ '¼ÕÝî' çâÞÑë ßàÞßãáâØâì ÚÝÞßÚã)",
"pritisnite 'Izbor' da preskoèite ovu tipku",
"(selle klahvi vahelejätmiseks vajuta 'Menüü')",
+ "(tryk 'Menu' for at springe denne tast over)",
},
{ "Phase 3: Saving key codes",
"Phase 3: Codes abspeichern",
@@ -3911,6 +4103,7 @@ const tI18nPhrase Phrases[] = {
"ÈÐÓ 3: ·ÐßÞÜØÝÐÝØÕ ÚÞÔÞÒ ÚÝÞßÞÚ",
"Faza 3: Spremanje kôdova tipki",
"Aste 3: Klavhikoodide salvestamine",
+ "Fase 3: Gemmer tast koder",
},
{ "Press 'Up' to save, 'Down' to cancel",
"'Auf' speichert, 'Ab' bricht ab",
@@ -3931,6 +4124,7 @@ const tI18nPhrase Phrases[] = {
"½ÐÖÜØâÕ '²ÒÕàå' çâÞÑë ×ÐßÞÜÝØâì, '²ÝØ×' çâÞÑë ÞâÚÐ×Ðâìáï",
"'Gore' za potvrdu, 'Dolje' za prekid",
"Salvestamiseks vajuta 'Üles' ja katkestamiseks 'Alla'",
+ "Tryk 'Op' for at gemme, 'Ned' for at annullere",
},
// Key names:
{ "Up",
@@ -3952,6 +4146,7 @@ const tI18nPhrase Phrases[] = {
"²ÒÕàå",
"Gore",
"Üles",
+ "Op",
},
{ "Down",
"Ab",
@@ -3972,6 +4167,7 @@ const tI18nPhrase Phrases[] = {
"²ÝØ×",
"Dolje",
"Alla",
+ "Ned",
},
{ "Menu",
"Menü",
@@ -3992,6 +4188,7 @@ const tI18nPhrase Phrases[] = {
"¼ÕÝî",
"Izbor",
"Menüü",
+ "Menu",
},
{ "Ok",
"Ok",
@@ -4012,6 +4209,7 @@ const tI18nPhrase Phrases[] = {
"Ok",
"Ok",
"Ok",
+ "Ok",
},
{ "Back",
"Zurück",
@@ -4032,6 +4230,7 @@ const tI18nPhrase Phrases[] = {
"½Ð×ÐÔ",
"Nazad",
"Tagasi",
+ "Tilbage",
},
{ "Left",
"Links",
@@ -4052,6 +4251,7 @@ const tI18nPhrase Phrases[] = {
"½ÐÛÕÒÞ",
"Lijevo",
"Vasakule",
+ "Venstre",
},
{ "Right",
"Rechts",
@@ -4072,6 +4272,7 @@ const tI18nPhrase Phrases[] = {
"½ÐßàÐÒÞ",
"Desno",
"Paremale",
+ "Højre",
},
{ "Red",
"Rot",
@@ -4092,6 +4293,7 @@ const tI18nPhrase Phrases[] = {
"ºàÐáÝëÙ",
"Crveno",
"Punane",
+ "Rød",
},
{ "Green",
"Grün",
@@ -4112,6 +4314,7 @@ const tI18nPhrase Phrases[] = {
"·ÕÛñÝëÙ",
"Zeleno",
"Roheline",
+ "Grøn",
},
{ "Yellow",
"Gelb",
@@ -4132,6 +4335,7 @@ const tI18nPhrase Phrases[] = {
"¶ñÛâëÙ",
"®uto",
"Kollane",
+ "Gul",
},
{ "Blue",
"Blau",
@@ -4152,6 +4356,7 @@ const tI18nPhrase Phrases[] = {
"ÁØÝØÙ",
"Plavo",
"Sinine",
+ "Blå",
},
{ "Play",
"Wiedergabe",
@@ -4172,6 +4377,7 @@ const tI18nPhrase Phrases[] = {
"²ÞáßàÞØ×ÒÕÔÕÝØÕ",
"Start",
"Start",
+ "Afspil",
},
{ "Pause",
"Pause",
@@ -4192,6 +4398,7 @@ const tI18nPhrase Phrases[] = {
"¿Ðã×Ð",
"Pauza",
"Paus",
+ "Pause",
},
{ "Stop",
"Stop",
@@ -4212,6 +4419,7 @@ const tI18nPhrase Phrases[] = {
"ÁâÞß",
"Stop",
"Stopp",
+ "Stop",
},
{ "Record",
"Aufnehmen",
@@ -4232,6 +4440,7 @@ const tI18nPhrase Phrases[] = {
"·ÐßØáì",
"Snimaj",
"Salvestamine",
+ "Optag",
},
{ "FastFwd",
"Vorlauf",
@@ -4252,6 +4461,7 @@ const tI18nPhrase Phrases[] = {
"²ßÕàñÔ",
"Naprijed",
"Edasikerimine",
+ "Spol fremad",
},
{ "FastRew",
"Rücklauf",
@@ -4272,6 +4482,7 @@ const tI18nPhrase Phrases[] = {
"½Ð×ÐÔ",
"Nazad",
"Tagasikerimine",
+ "Spol tilbage",
},
{ "Power",
"Ausschalten",
@@ -4292,6 +4503,7 @@ const tI18nPhrase Phrases[] = {
"²ëÚÛîçØâì",
"Iskljuèi",
"Toide",
+ "Sluk",
},
{ "Channel+",
"Kanal+",
@@ -4312,6 +4524,7 @@ const tI18nPhrase Phrases[] = {
"ºÐÝÐÛ +",
"Program +",
"Kanal+",
+ "Kanal+",
},
{ "Channel-",
"Kanal-",
@@ -4332,6 +4545,7 @@ const tI18nPhrase Phrases[] = {
"ºÐÝÐÛ -",
"Program -",
"Kanal-",
+ "Kanal-",
},
{ "Volume+",
"Lautstärke+",
@@ -4352,6 +4566,7 @@ const tI18nPhrase Phrases[] = {
"³àÞÜÚÞáâì +",
"Glasnije", // hrv "Glasnocca +"
"Helitugevus+",
+ "Lydstyrke+",
},
{ "Volume-",
"Lautstärke-",
@@ -4372,6 +4587,7 @@ const tI18nPhrase Phrases[] = {
"³àÞÜÚÞáâì -",
"Ti¹e", // hrv Glasnocca -"
"Helitugevus-",
+ "Lydstyrke-",
},
{ "Mute",
"Stumm",
@@ -4392,6 +4608,7 @@ const tI18nPhrase Phrases[] = {
"²ëÚÛîçØâì ×ÒãÚ",
"Bez zvuka",
"Hääletu",
+ "Sluk lyd",
},
// Miscellaneous:
{ "yes",
@@ -4413,6 +4630,7 @@ const tI18nPhrase Phrases[] = {
"ÔÐ",
"da",
"jah",
+ "ja",
},
{ "no",
"nein",
@@ -4433,6 +4651,7 @@ const tI18nPhrase Phrases[] = {
"ÝÕâ",
"ne",
"ei",
+ "nej",
},
{ "off",
"aus",
@@ -4453,6 +4672,7 @@ const tI18nPhrase Phrases[] = {
"ÒëÚÛ",
"ugasi",
"välja",
+ "fra",
},
{ "none",
"keine",
@@ -4473,6 +4693,7 @@ const tI18nPhrase Phrases[] = {
"ÝØçÕÓÞ",
"nijedan",
"tühi",
+ "ingen",
},
{ "auto",
"auto",
@@ -4493,6 +4714,7 @@ const tI18nPhrase Phrases[] = {
"ÐÒâÞ",
"automatski",
"automaatne",
+ "automatisk",
},
{ "top",
"oben",
@@ -4513,6 +4735,7 @@ const tI18nPhrase Phrases[] = {
"áÒÕàåã",
"gore",
"üleval",
+ "top",
},
{ "bottom",
"unten",
@@ -4533,6 +4756,7 @@ const tI18nPhrase Phrases[] = {
"áÝØ×ã",
"dolje",
"all",
+ "bund",
},
{ "Disk",
"Disk",
@@ -4553,6 +4777,7 @@ const tI18nPhrase Phrases[] = {
"´ØáÚ",
"Disk",
"Ketas",
+ "Disk",
},
{ "free",
"frei",
@@ -4573,6 +4798,7 @@ const tI18nPhrase Phrases[] = {
"áÒÞÑÞÔÝÞ",
"slobodno",
"vaba",
+ "fri",
},
{ "Jump: ", // note the trailing blank
"Springen: ",
@@ -4593,6 +4819,7 @@ const tI18nPhrase Phrases[] = {
"¿ÕàÕÙâØ: ",
"Skoèi: ",
"Hüpe: ",
+ "Hop: ",
},
{ "Volume ", // note the trailing blank
"Lautstärke ",
@@ -4613,6 +4840,7 @@ const tI18nPhrase Phrases[] = {
"³àÞÜÚÞáâì ",
"Glasnoæa ",
"Helitugevus ",
+ "Lydstyrke ",
},
{ " Stop replaying", // note the leading blank!
" Wiedergabe beenden",
@@ -4633,6 +4861,7 @@ const tI18nPhrase Phrases[] = {
" ¿àÕÚàÐâØâì ÒÞáßàÞØ×ÒÕÔÕÝØÕ",
" Prekini reprodukciju",
" Lõpeta kordus",
+ " Stop afspilning",
},
{ " Stop recording ", // note the leading and trailing blanks!
" Aufzeichnung beenden ",
@@ -4653,6 +4882,7 @@ const tI18nPhrase Phrases[] = {
" ¿àÕÚàÐâØâì ×ÐßØáì ",
" Prekini snimanje ",
" Lõpeta salvestamine ",
+ " Stop optagelse ",
},
{ " Cancel editing", // note the leading blank!
" Schneiden abbrechen",
@@ -4673,6 +4903,7 @@ const tI18nPhrase Phrases[] = {
" ¿àÕàÒÐâì ÜÞÝâÐÖ ×ÐßØáØ",
" Prekini ureðivanje",
" Katkesta monteerimine",
+ " Afbryd redigering",
},
{ "Switching primary DVB...",
"Primäres Interface wird umgeschaltet...",
@@ -4693,6 +4924,7 @@ const tI18nPhrase Phrases[] = {
"ÁÜÕÝÐ ÞáÝÞÒÝÞÓÞ DVB-ãáâàÞÙáâÒÐ...",
"Preklapanje primarnog DVB ureðaja...",
"Esmase DVB seadme ümberlülitus...",
+ "Skifter primær DVB enhed...",
},
{ "Up/Dn for new location - OK to move",
"Auf/Ab für neue Position - dann OK",
@@ -4713,6 +4945,7 @@ const tI18nPhrase Phrases[] = {
"½ÐÖØÜÐÙâÕ \"²ÒÕàå\"/\"²ÝØ×\" ÔÛï ÒëÑÞàÐ ßÞ×ØæØØ, Ð ×ÐâÕÜ \"OK\"",
"Gore/Dolje na novu poziciju - zatim OK",
"'Üles/Alla' uus asukoht - 'OK' kinnitus",
+ "Op/Ned for ny placering - OK for at flytte",
},
{ "Editing process started",
"Schnitt gestartet",
@@ -4733,6 +4966,7 @@ const tI18nPhrase Phrases[] = {
"½ÐçÐâ ÜÞÝâÐÖ ×ÐßØáØ",
"Rezanje je zapoèeto",
"Redigeerimine algas",
+ "Redigeringsproces startet",
},
{ "Editing process finished",
"Schnitt beendet",
@@ -4753,6 +4987,7 @@ const tI18nPhrase Phrases[] = {
"¼ÞÝâÐÖ ÞÚÞÝçÕÝ",
"Rezanje zavr¹eno",
"Redigeerimine on lõpetatud",
+ "Redigeringsproces afsluttet",
},
{ "Editing process failed!",
"Schnitt gescheitert!",
@@ -4773,6 +5008,7 @@ const tI18nPhrase Phrases[] = {
"¾èØÑÚÐ ÒÞ ÒàÕÜï ÜÞÝâÐÖÐ ×ÐßØáØ!",
"Rezanje neuspje¹no!",
"Redigeerimine ebaõnnestus",
+ "Redigeringsproces fejlede!",
},
{ "scanning recordings...",
"Aufzeichnungen werden durchsucht...",
@@ -4793,6 +5029,7 @@ const tI18nPhrase Phrases[] = {
"ÁÚÐÝØàÞÒÐÝØÕ ×ÐßØáÕÙ...",
"pretra¾ivanje snimljenog...",
"salvestuste skaneerimine...",
+ "skanner optagelser...",
},
{ "Pausing live video...",
"Live-Signal wird angehalten...",
@@ -4813,6 +5050,7 @@ const tI18nPhrase Phrases[] = {
"ÀÕÖØÜ ÞâÛÞÖÕÝÝÞÓÞ ßàÞáÜÞâàÐ...",
"Zaustavljanje ¾ivog signala...",
"Saate edastamise peatamine...",
+ "Pausere live udsendelse...",
},
{ "This plugin has no setup parameters!",
"Dieses Plugin hat keine Setup-Parameter!",
@@ -4833,6 +5071,7 @@ const tI18nPhrase Phrases[] = {
"¼ÞÔãÛì ÝÕ ØÜÕÕâ ßÐàÐÜÕâàÞÒ ÝÐáâàÞÙÚØ!",
"Ovaj dodatak (Plugin) nema parametara!",
"Sellel laienudusmoodulil ei ole seadeid!",
+ "Denne plugin har ingen parametre",
},
{ "Classic VDR",
"Klassischer VDR",
@@ -4853,6 +5092,7 @@ const tI18nPhrase Phrases[] = {
"ºÛÐááØçÕáÚØÙ",
"Klasiècni VDR",
"Klassikaline VDR",
+ "Klassisk VDR",
},
{ "ST:TNG Panels",
"ST:TNG Konsolen",
@@ -4873,6 +5113,7 @@ const tI18nPhrase Phrases[] = {
"ST:TNG ßÐÝÕÛØ",
"ST:TNG Konzole",
"ST:TNG konsool",
+ "ST:TNG konsol",
},
{ NULL }
};
@@ -4982,6 +5223,12 @@ int I18nLanguageIndex(const char *Code)
const char *I18nNormalizeLanguageCode(const char *Code)
{
+ if (Code[0] && !isalnum(Code[0]) || Code[1] && !isalnum(Code[1]) || Code[2] && !isalnum(Code[2])) {
+ // ISO 639 language codes are defined as alphabetical characters, but digits are apparently
+ // also used, for instance for "2ch"
+ //dsyslog("invalid language code: '%s'", Code);
+ return "???";
+ }
int n = I18nLanguageIndex(Code);
return n >= 0 ? I18nLanguageCode(n) : Code;
}
diff --git a/i18n.h b/i18n.h
index b28511a..7198445 100644
--- a/i18n.h
+++ b/i18n.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: i18n.h 1.13 2004/10/16 11:50:41 kls Exp $
+ * $Id: i18n.h 1.14 2004/11/02 17:21:19 kls Exp $
*/
#ifndef __I18N_H
@@ -12,7 +12,7 @@
#include <stdio.h>
-const int I18nNumLanguages = 19;
+const int I18nNumLanguages = 20;
typedef const char *tI18nPhrase[I18nNumLanguages];
diff --git a/menuitems.c b/menuitems.c
index ee92dc9..dea2029 100644
--- a/menuitems.c
+++ b/menuitems.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: menuitems.c 1.19 2004/06/19 09:45:45 kls Exp $
+ * $Id: menuitems.c 1.20 2004/11/14 16:16:21 kls Exp $
*/
#include "menuitems.h"
@@ -495,7 +495,7 @@ eOSState cMenuEditChanItem::ProcessKey(eKeys Key)
}
}
break;
- default : return cMenuEditIntItem::ProcessKey(Key);
+ default: return cMenuEditIntItem::ProcessKey(Key);
}
return osContinue;
}
@@ -606,7 +606,33 @@ eOSState cMenuEditDayItem::ProcessKey(eKeys Key)
return cMenuEditIntItem::ProcessKey(Key);
Set();
break;
- default : return cMenuEditIntItem::ProcessKey(Key);
+ default: {
+ if (d >= 0) {
+ if (k1 <= Key && Key <= k7) {
+ int v = *value ^ (1 << (Key - k1));
+ if ((v & 0xFF) != 0) {
+ *value = v; // can't let this become all 0
+ Set();
+ }
+ break;
+ }
+ }
+ int v = *value;
+ eOSState result = cMenuEditIntItem::ProcessKey(Key);
+ if (result == osContinue && Key == k0) {
+ if (d >= 0) {
+ *value = cTimer::GetMDay(time(NULL));
+ d = -1;
+ Set();
+ }
+ else if (*value == 0 || *value == v) {
+ d = cTimer::GetWDay(time(NULL));
+ *value = days[d];
+ Set();
+ }
+ }
+ return result;
+ }
}
return osContinue;
}
diff --git a/skins.c b/skins.c
index 6872a94..5770bd4 100644
--- a/skins.c
+++ b/skins.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: skins.c 1.1 2004/05/15 12:34:38 kls Exp $
+ * $Id: skins.c 1.3 2004/11/07 09:46:46 kls Exp $
*/
#include "skins.h"
@@ -183,13 +183,17 @@ eKeys cSkins::Message(eMessageType Type, const char *s, int Seconds)
if (displayMessage) {
delete displayMessage;
displayMessage = NULL;
+ cStatus::MsgOsdClear();
}
- else
+ else {
cSkinDisplay::Current()->SetMessage(Type, NULL);
+ cStatus::MsgOsdStatusMessage(NULL);
+ }
}
else if (!s && displayMessage) {
delete displayMessage;
displayMessage = NULL;
+ cStatus::MsgOsdClear();
}
return k;
}
diff --git a/timers.c b/timers.c
index 38fbf39..501396e 100644
--- a/timers.c
+++ b/timers.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: timers.c 1.16 2004/10/31 16:41:30 kls Exp $
+ * $Id: timers.c 1.17 2004/11/14 16:02:42 kls Exp $
*/
#include "timers.h"
@@ -256,13 +256,13 @@ bool cTimer::IsSingleEvent(void) const
return (day & 0x80000000) == 0;
}
-int cTimer::GetMDay(time_t t) const
+int cTimer::GetMDay(time_t t)
{
struct tm tm_r;
return localtime_r(&t, &tm_r)->tm_mday;
}
-int cTimer::GetWDay(time_t t) const
+int cTimer::GetWDay(time_t t)
{
struct tm tm_r;
int weekday = localtime_r(&t, &tm_r)->tm_wday;
diff --git a/timers.h b/timers.h
index 24f54ad..bdf1b0d 100644
--- a/timers.h
+++ b/timers.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: timers.h 1.10 2004/10/31 16:41:17 kls Exp $
+ * $Id: timers.h 1.11 2004/11/14 16:02:28 kls Exp $
*/
#ifndef __TIMERS_H
@@ -64,8 +64,8 @@ public:
bool Parse(const char *s);
bool Save(FILE *f);
bool IsSingleEvent(void) const;
- int GetMDay(time_t t) const;
- int GetWDay(time_t t) const;
+ static int GetMDay(time_t t);
+ static int GetWDay(time_t t);
bool DayMatches(time_t t) const;
static time_t IncDay(time_t t, int Days);
static time_t SetTime(time_t t, int SecondsFromMidnight);
diff --git a/vdr.c b/vdr.c
index d91308f..c82f2b4 100644
--- a/vdr.c
+++ b/vdr.c
@@ -22,7 +22,7 @@
*
* The project's page is at http://www.cadsoft.de/vdr
*
- * $Id: vdr.c 1.192 2004/10/31 10:17:23 kls Exp $
+ * $Id: vdr.c 1.193 2004/11/06 10:30:30 kls Exp $
*/
#include <getopt.h>
@@ -87,6 +87,17 @@ static void Watchdog(int signum)
int main(int argc, char *argv[])
{
+#ifdef _CS_GNU_LIBPTHREAD_VERSION
+ // Check for NPTL and exit if present - VDR apparently doesn't run well with NPTL:
+ char LibPthreadVersion[128];
+ if (confstr(_CS_GNU_LIBPTHREAD_VERSION, LibPthreadVersion, sizeof(LibPthreadVersion)) > 0) {
+ if (strstr(LibPthreadVersion, "NPTL")) {
+ fprintf(stderr, "vdr: please turn off NPTL by setting 'export LD_ASSUME_KERNEL=2.4.1' before starting VDR\n");
+ return 2;
+ }
+ }
+#endif
+
// Check for UTF-8 and exit if present - asprintf() will fail if it encounters 8 bit ASCII codes
char *LangEnv;
if ((LangEnv = getenv("LANG")) != NULL && strcasestr(LangEnv, "utf") ||